[NVIDIA] DeepStream 이해 및 설명

2022. 7. 13. 00:29·AI Engineering/NVIDIA

1. DeepStream이란?

Deepstream은 SDK형태로 제공하며 Vision AI application과 service를 쉽고 빠르게 개발할 수 있게 해줍니다. 그리고 DeepStream은 multi-platform, scaleablity를 제공하며 on-premise, on-edge, cloud환경 모두에서 deploy가능합니다. 

Multi-platform: window, mac, linux 등의 다양한 플랫폼을 의미
Scaleability: 유저수나 트래픽이 많아져도 application이 잘 작동함을 의미

 

흠... 여기까지 들었을때는 그래서 DeepStream이 먼지 모르시겠죠? 쉽게 설명을 위해 NVIDIA 세계관(?)의 End-to-END AI Development는 아래와 같습니다. 빨간색 부분이 DeepStream이며 해당부분(3번)에서 알 수 있듯이 만들어진(training이 끝난) ML 모델을 특정 application이나 service에 deploy하기 위해 사용되는 것이 DeepStream입니다. 

End-to-END AI Development in NVIDIA
End-to-END AI Development in NVIDIA

그래서 DeepStream은 (1)입력 데이터(e.g. 드론이 찍은 항공이미지, 로봇의 카메라, 미디어 동영상)를 받아 (2)ML 모델의 입력 shape이나 특성에 맞게 preprocess를 하고 (3)ML 모델로 inference를 하고 (4)postprocess까지 한 뒤 (5)분석 및 시각화까지 하는 것을 목적으로 합니다. 

DeepStream SDK

2. DeepStream을 왜 써야할까?

DeepStream만의 강점은 다음과 같습니다.

  • Seamless Development
    • C/C++, Python, low-code graphical programming(Graph Composer)와 같이 다양한 development를 제공
    • DeepStream ships은 다양한 hardware accelerated plugins를 제공
    • 다양한 pretrained된 ML model(e.g. SSD, YOLO, MaskRCNN)을 제공
    • Custom function과 libraries과 통합가능
    • TensoRT를 이용하여 multi-GPU, mult-stream, batch support 등 다양한 옵션을 제공하여 극대화된 performance를 제공
  • Low-Code Programming with Graph Composer
    • Graph Composer는 low-code graphical progamming을 제공을 통해 손쉽게 복잡한 pipelines을 만들어 줄 수 있음
    • 위의 pipelining을 docker container builder를 통해 processing 및 deploy 가능

Graph Composer를 통한 pipelining예시

  • Securely Manage Apps & Services
    • DeepStream SDK은 cloud 또는 edge system에 유연하게 실행될 수 있음
    • 안전한 IoT device communication을 위해 two-way TLS authentication(with SSL certificates)을 제공
    • IoT 통합 인터페이스를 Redis, Kafka, MQTT, and AMQP와 함께 제공
    • Containerized apps을 관리하기위해  Kubernetes와 Helm Charts 사용
  • DeepStream SDK plug-ins
    • Stereo Camera 지원
    • H.264, H.265 video decoding
    • JPEG decoding
    • Metadata generation and encoding
    • Metadata serialization/deserialization
    • Stream aggregation and batching
    • Object tracking 지원
    • Accelerated X11/EGL-based rendering
    • Scaling, format conversion, and rotation
    • Filtering based on Region of Interest (ROI)
    • Audio/Video Template Plug-In
    • ...

3. DeepStream의 Performance

DeepStream을 이용했을 때 end-to-end application performance를 측정하였습니다. End-to-end application에는 data ingestion, decoding, image processing이 포함되어있고 1080p/30fps streams을 input으로 사용하였습니다.

Performance of Deepstream
Performance of Deepstream

 

다양한 task의 application과 다양한 모델에 대해 model inference속도(FPS)를 측정한 것을 알 수 있습니다. 이 Performance가 좋은 것은지는 다른 framework/system이랑 비교를 통해 확인해봐야겟지만 그래두 좋다는 거겠죠? ㅋㅋ

 

다음 글에서는 DeepStream을 실제로 사용하는 방법 및 코드를 설명드리도록 하겠습니다. 감사합니다~~

4. Reference 

https://developer.nvidia.com/deepstream-sdk

 

NVIDIA DeepStream SDK

Build and deploy AI-powered Intelligent Video Analytics apps and services. DeepStream offers a multi-platform scalable framework to deploy on the edge or connect to any cloud.

developer.nvidia.com

 

https://www.nvidia.com/en-us/on-demand/session/gtcspring22-s41777/

 

How To Develop and Optimize Edge AI apps with NVIDIA DeepStream | NVIDIA On-Demand

Learn how the latest features of DeepStream are making it easier than ever to achieve real-time performance even for complex video AI applications

www.nvidia.com

 

반응형
저작자표시 (새창열림)

'AI Engineering > NVIDIA' 카테고리의 다른 글

[NVIDIA] DALI multi-GPU 사용법 with PyTorch  (2) 2023.06.22
[NVIDIA] DALI 사용법 with PyTorch  (4) 2023.06.18
[NVIDIA] TensorRT inference 코드 및 예제 (feat. yolov7)  (3) 2022.07.29
[NVIDIA] TensorRT plugin 사용 및 예제 (feat. yolov7)  (6) 2022.07.25
'AI Engineering/NVIDIA' 카테고리의 다른 글
  • [NVIDIA] DALI multi-GPU 사용법 with PyTorch
  • [NVIDIA] DALI 사용법 with PyTorch
  • [NVIDIA] TensorRT inference 코드 및 예제 (feat. yolov7)
  • [NVIDIA] TensorRT plugin 사용 및 예제 (feat. yolov7)
Sin-Han Kang
Sin-Han Kang
Explainable AI (XAI), Model Compression, Image and Video Encoding and NAS
    250x250
  • Sin-Han Kang
    da2so
    Sin-Han Kang
  • 전체
    오늘
    어제
    • 분류 전체보기 (78)
      • AI Engineering (40)
        • TensorFlow (10)
        • PyTorch (6)
        • MLOps (15)
        • NVIDIA (5)
        • OpenVINO (3)
      • AI paper review (6)
        • Explainable AI (5)
        • Model Compression (10)
        • Mobile-friendly (7)
      • Computer Science (6)
      • 일상 (4)
  • 블로그 메뉴

    • Home
    • About me
    • Guest book
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    docker
    TensorFlow.js
    Mediapipe
    Model Compression
    Airflow
    OpenVINO
    Python
    TFLite
    pytorch
    style transfer
    kubernetes
    object detection
    Explainable AI
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Sin-Han Kang
[NVIDIA] DeepStream 이해 및 설명
상단으로

티스토리툴바