NVIDIA DeepStream 소프트웨어 개발 키트 (SDK)는 지능형 비디오 분석 (IVA) 파이프 라인을 구축하기위한 가속 AI 프레임워크입니다. DeepStream은 NVIDIA T4 및 NVIDIA Jetson Nano, NVIDIA Jetson AGX Xavier, NVIDIA Jetson Xavier NX, NVIDIA Jetson TX1 및 TX2와 같은 플랫폼에서 실행됩니다. DeepStream Example 에 관한 본 문서는 NVIDIA 도큐먼트를 참조하였습니다.
Prerequisite
먼저 DeepStream SDK를 설치하기 전에 Jetson 장치를 준비하는 방법에 대해 설명합니다. Jetson TX2 설치 방법을 참조하여 초기 설치를 진행합니다.
DeepStream 사전 설치
DeepStream SDK 설치를 위해 미리 아래의 패키지를 설치합니다.
$ sudo apt install \
libssl1.0.0 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-0 \
libjansson4=2.11-1
Jetson TX2 장치에서 apt install을 실행하여 librdkafka를 설치합니다.
$ sudo apt install librdkafka1=0.11.3-1build1
V4L2 GStreamer plugin 최신 버전 설치
$ sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
적절한 편집기를 이용해 nvidia-l4t-apt-source.list 파일을 아래와 같이 수정합니다.
deb https://repo.download.nvidia.com/jetson/common r32.4 main
deb https://repo.download.nvidia.com/jetson/<platform> r32.4 main
<platform> 부분은 Jetson TX2의 경우 t186으로 수정합니다. AGX Javier 또는 Javier NX의 경우 t194, Jetson nano 또
- <platform> 부분은 Jetson TX2의 경우 t186으로 수정합니다.
- AGX Javier 또는 Javier NX의 경우 t194로 수정합니다.
- Jetson nano, Jetson TX1의 경우 t210으로 수정합니다.
Jetson TX2의 경우 아래와 같이 작성하면 됩니다.
deb https://repo.download.nvidia.com/jetson/common r32.4 main
deb https://repo.download.nvidia.com/jetson/t186 r32.4 main
저장했다면 apt install을 통해 plugin을 설치합니다.
$ sudo apt update
$ sudo apt install --reinstall nvidia-l4t-gstreamer
DeepStream Example SDK 설치
SDK Manager에서 설치시 Additional SDKs 에서 DeepStream SDK를 선택합니다.
DeepStream tar 패키지를 이용해 설치하는 경우 아래와 같이 설치합니다. 설치 바이너리는 DeepStream Getting Started 페이지에서 다운로드 할 수 있습니다.
$ sudo tar -xvpf deepstream_sdk_v5.0.0_jetson.tbz2 -C /
$ cd /opt/nvidia/deepstream/deepstream-5.0
$ sudo ./install.sh
$ sudo ldconfig
DeepStream 데비안 패키지를 이용해 설치할 수도 있습니다. 데비안 패키지를 이용해 설치하는 경우 아래의 패키지가 사전에 설치되어 있어야 합니다.
$ sudo apt install libgstrtspserver-1.0-0 libgstreamer-plugins-base1.0-dev
DeepStream 5.0 debian 패키지를 TX2에 다운로드 하여 아래와 같이 설치합니다.
$ sudo apt-get install ./deepstream-5.0_5.0.0-1_arm64.deb
DeepStream Example 실행하기
DeepStream시험을 위해 보드의 성능 제한을 해제 하겠습니다. 앞서 Jetson TX2 Power mode에서 살펴보았던 전원 관리 모드를 MAXN으로 설정하고 clock을 부스팅합니다.
$ sudo nvpmodel -m 0
$ sudo jetson_clocks
NVIDIA Jetson TX2 보드에서 샘플 디렉토리로 이동하여 실행합니다.
$ cd /opt/nvidia/deepstream/deepstream-5.0/samples
$ deepstream-app -c <path_to_config_file>
<path_to_config_file>은 샘플 디렉토리의 configs/deepstream-app/ 에 있는 레퍼런스 어플리케이션의 설정파일 중 하나를 지정합니다.
다음의 예제를 실행해 보겠습니다.
$ deepstream-app -c configs/deepstream-app/source1_csi_dec_infer_resnet_int8.txt
이와 같이 NVIDIA TX2에서 deepstream을 이용해 추론을 실행하는 것을 확인할 수 있습니다.
Deepstream app을 실행할 때 터미널을 보면 Runtime command를 확인할 수 있습니다.
$ deepstream-app -c samples/configs/deepstream-app/source1_csi_dec_infer_resnet_int8.txt
(deepstream-app:8991): GLib-GObject-WARNING **: 17:41:53.957: g_object_set_is_valid_property: object class 'GstNvArgusCameraSrc' has no property named 'maxperf'
...
Runtime commands:
h: Print this help
q: Quit
p: Pause
r: Resume
NOTE: To expand a source in the 2D tiled display and view object details, left-click on the source.
To go back to the tiled display, right-click anywhere on the window.
...
Ctrl+c 또는 ESC 등을 눌러도 종료가 안되지만, q를 누르면 deepstream app을 종료할 수 있습니다.
5개의 댓글
runo · 2021-10-25 15:17
안녕하세요 Jetson에서 Deepstream을 통해 Yolo-v3를 실행해서 parse된 출력 값을 자동으로 터미널에 출력하고 싶은데 nvdsparsebbox_Yolo.cpp의 어느 부분을 수정해야할지 모르겠어서 질문드려도될까요?
Jay · 2021-11-25 14:04
제가 지금은 nvidia 장비를 갖고 있지 않아서 테스트를 해볼 수는 없습니다만, gstreamer를 사용하고 콘솔에 gstreamer log가 출력되는 것으로 보아 아마 GLib의 g_print 류나 g_warning, g_error 같은 커맨드로 메시지를 출력할 수 있을 것 같습니다. 한번 시도해 보세요 🙂
NVIDIA DeepStream Config Overview - Short Notes · 2020-07-22 22:09
[…] 살펴본 NVIDIA Jetson TX2 DeepStream Example 에서 deepstream-app -c <CONFIG> 와 같은 형태로 DeepStream app 예제를 실행하는 […]
DeepStream Yolo-v3 Inference 예제 - DeepStream · 2020-08-02 17:35
[…] DeepStream 기본 예제에서 Jetson TX2 내장 카메라인 CSI 의 영상 입력으로부터 ResNet 을 이용한 객체 […]
DeepStream 설치 파일 다운로드 - voidint.com · 2020-08-15 09:12
[…] DeepStream Example 을 구동할 때 약간 불편했던 사항이 공식문서에도 DeepStream 설치 파일 을 어디에서 다운로드 하는지 알려주지 않는 점이었던 것 같습니다. […]