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 Example - NVIDIA Jetson TX2
NVIDIA 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
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을 종료할 수 있습니다.


Jay

Jay

S/W Engineer!!

5개의 댓글

runo · 2021-10-25 15:17

안녕하세요 Jetson에서 Deepstream을 통해 Yolo-v3를 실행해서 parse된 출력 값을 자동으로 터미널에 출력하고 싶은데 nvdsparsebbox_Yolo.cpp의 어느 부분을 수정해야할지 모르겠어서 질문드려도될까요?

    Jay

    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 설치 파일 을 어디에서 다운로드 하는지 알려주지 않는 점이었던 것 같습니다. […]

답글 남기기

아바타 플레이스홀더