본문 바로가기

AI/Nvidia

[ NVIDIA ] DeepStream 일반적인 구조와 용도

반응형

NVIDIA DeepStream(정식명칭: NVIDIA DeepStream SDK)은 NVIDIA가 제공하는 실시간 영상 스트리밍 분석(Real-time Video Streaming Analytics) 플랫폼입니다.
간단히 말해, 카메라나 동영상 스트림에서 객체 인식, 추적, 분석 등을 GPU 가속으로 처리하기 위한 SDK입니다.


1. 핵심 목적

DeepStream은 다음과 같은 목적을 위해 만들어졌습니다:

  1. 영상 기반 AI 분석 파이프라인 구축
    • CCTV, 드론, 차량 카메라, IoT 카메라 등에서 들어오는 영상을 실시간으로 분석합니다.
    • 예: 사람, 차량, 얼굴, 번호판 인식 등.
  2. 멀티 카메라 스트리밍 처리
    • 여러 개의 카메라 스트림을 동시에 GPU에서 병렬 처리할 수 있습니다.
    • Jetson Orin 시리즈나 A100, L4 GPU 등을 효율적으로 활용합니다.
  3. 엣지(Edge) 디바이스용 AI 배포
    • Jetson Nano, Orin, Xavier 같은 엣지 장비에서 직접 AI 모델을 실행하도록 최적화되어 있습니다.
    • TensorRT와 통합되어 있어서 CPU 대비 10배 이상의 성능을 낼 수 있습니다.
  4. 클라우드 또는 온프레미스 연동
    • 분석 결과를 클라우드로 전송하거나, Kafka, MQTT, REST API 등을 통해 외부 시스템으로 전달할 수 있습니다.

2. DeepStream의 구조 (Pipeline 개념)

DeepStream은 GStreamer 기반 파이프라인으로 구성되어 있습니다.

[Camera Input]
     ↓
[nvv4l2decoder]  ── GPU 디코딩
     ↓
[nvinfer]        ── TensorRT로 추론 (YOLO, SSD, etc.)
     ↓
[nvtracker]      ── 객체 추적 (DeepSORT, NvDCF 등)
     ↓
[nvosd]          ── 영상에 바운딩박스/텍스트 오버레이
     ↓
[nveglglessink]  ── 화면 출력 (또는 파일 저장, RTSP 송출)

이런 구조 덕분에 C++ 또는 Python에서 쉽게 플러그인 형태로 파이프라인을 설계할 수 있습니다.


3. DeepStream이 주로 사용되는 분야

분야 설명

스마트 시티 CCTV를 통한 차량, 사람, 이상행동 감지
리테일 분석 고객 동선 분석, 체류 시간 분석
교통 관리 교통량 측정, 사고 감지, 번호판 인식
공장/산업 IoT 설비 이상 감지, 안전 모니터링
스마트 캠핑카 / 버스 🚍 탑승객 인식, QR코드 인식, 화면 제어 (← 사용자의 프로젝트에 특히 적합)

4. 지원 모델 및 개발 언어

  • 지원 모델: YOLO, SSD, Faster R-CNN, RetinaNet, CenterNet, custom ONNX/TRT 모델 등
  • 개발 언어: C/C++ / Python (Python 바인딩은 DeepStream Python API)
  • 통합: TensorRT, CUDA, cuDNN, Kafka, MQTT, Triton Inference Server 등과 연동 가능

5. 예시

버스 내부에서 NVIDIA Orin Nano를 사용한다고 가정하면:

  1. DeepStream으로 카메라 영상을 받아 사람 감지를 함
  2. 일정 시간 이상 사람 감지가 없으면 광고 영상 재생
  3. 사람이 다가오면 QR 코드 인식 모드로 전환
  4. 인식 결과에 따라 목적지 안내 영상 송출

이런 식으로 DeepStream은 GStreamer 파이프라인 + TensorRT 추론 + 이벤트 제어를 한 번에 처리할 수 있습니다.

반응형