본문으로 건너뛰기
Roboflow Blog조회 1

Jetson Orin NX에서 NVIDIA DeepStream으로 RF-DETR 실행하기

Jetson Orin NX에서 DeepStream과 TensorRT를 사용해 RF‑DETR Nano ONNX를 TensorRT 엔진으로 빌드하고 RTSP 스트림에서 추론해 클래스별 박스 색상을 적용하는 절차가 포함되어 있다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Jetson Orin NX 기준의 실전 안내로서 DeepStream의 nvstreammux, nvinfer, nvdsosd 같은 GStreamer 기반 구성 요소를 사용해 RF‑DETR Nano ONNX 모델을 GPU 메모리 상에서 배칭부터 시각화까지 연결하는 절차가 포함되어 있다. RF‑DETR Nano는 384×384 RGB 입력에 대해 300개의 학습된 쿼리를 통해 정규화된 중심형 박스와 300×91 클래스 점수 텐서를 출력하며 클래스 점수에 sigmoid를 적용해 후처리한다. ONNX 내보내기는 rfdetr 패키지로 자동화되며 trtexec를 이용한 FP16 TensorRT 엔진 생성은 Orin NX에서 약 두 분이 소요된다는 측정치가 제공되었다. 전체 파이프라인은 RTSP 스트림 실시간 추론과 클래스별 박스 색상 적용을 가능하게 하지만 모델 출력 형식에 맞춘 정확한 파서 구현이 배포 성능과 시각화 정확성에 결정적이다.

섹션별 상세

01
DeepStream은 GStreamer 기반의 비디오 분석 SDK로 GPU 메모리 상에서 디코딩부터 배칭, TensorRT 추론, 온스크린 표시, 인코딩까지 하드웨어 가속 파이프라인을 제공한다. 본문에서 핵심적으로 사용된 요소는 nvstreammux가 여러 디코딩된 스트림을 하나의 GPU 버퍼로 배칭하고 nvinfer가 TensorRT 엔진을 실행해 각 프레임에 감지 메타데이터를 첨부하며 nvdsosd가 그 메타데이터로부터 박스와 레이블을 그리는 흐름이다. 이 파이프라인은 프레임을 GPU 메모리에 유지하므로 CPU↔GPU 전송을 최소화해 임베디드 환경에서 처리량과 지연 측면의 이점을 확보한다. 다만 DeepStream은 모델 출력의 바이트 배열을 해석하지 않으므로 모델별 출력 형식에 맞춘 파서 함수 구현이 배포 성능과 정확성에 결정적이다.
DeepStream 파이프라인과 하드웨어 자원 매핑을 보여주는 아키텍처 다이어그램이 배경에 겹쳐진 배너 이미지이다.
Diagram이미지에 흐릿하게 배치된 다이어그램은 nvstreammux, TensorRT 추론, 트래킹, IOT 메시지 브로커, 컴포지팅 등 파이프라인 단계와 각 단계에서 주로 사용하는 하드웨어 자원(GPU, DLA, CPU 등)의 매핑을 전달하고 있다. 이 시각적 요소는 본문에서 설명한 DeepStream 구성 요소의 역할과 데이터 흐름을 한눈에 확인하게 하며, DeepStream 기반 비디오 분석이 어떻게 GPU 자원을 활용하는지에 대한 직관을 제공한다.
02
RF-DETR은 Roboflow가 공개한 DETR 계열 검출기로 300개의 학습된 쿼리를 사용해 이미지 특징을 읽고 각 쿼리가 독립적으로 하나의 박스를 예측한다는 설계적 특징을 가진다. RF-DETR Nano는 입력으로 384x384 RGB 이미지를 받아 300개의 중심형(center-form) 박스(정규화된 cx, cy, w, h)와 300×91 크기의 클래스 점수 텐서를 출력하며 클래스 점수는 sigmoid를 통해 확률로 해석된다. 이 구조는 앵커 그리드와 후처리 NMS를 필요로 하지 않아 출력 파싱이 간단한 대신 각 쿼리별 점수를 적절히 후처리해 최종 감지를 결정해야 한다. rfdetr 패키지는 처음 사용 시 COCO 사전학습 가중치를 다운로드하고 ONNX로 내보내는 기능을 제공해 임베디드 배포 준비를 단순화했다.
bash
pip install rfdetr

rfdetr 패키지를 설치하는 쉘 명령어로, 이후 Python API로 사전학습 가중치를 다운로드하고 ONNX로 내보내는 과정이 이어진다.

python
from rfdetr import RFDETRNano
model = RFDETRNano()  # downloads pretrained weights
model.export(  # writes an ONNX file
    output_dir=".",
    batch_size=1,  # static batch, baked into the graph
)

RFDETRNano 모델을 생성해 사전학습 가중치를 다운받고 배치 크기 1로 고정된 ONNX 파일을 생성하는 Python 예시 코드이다.

03
ONNX로 내보낸 모델을 Jetson 환경에서 운영하려면 TensorRT 엔진으로 컴파일해야 하고 본문에서는 trtexec 명령을 사용해 FP16 엔진을 생성하는 절차가 제시되었다. 제공된 trtexec 명령은 --onnx 옵션으로 ONNX 파일을 지정하고 --fp16으로 정밀도를 낮추며 --saveEngine로 엔진 파일을 저장하는 형태였고 Orin NX에서 엔진 빌드는 약 두 분 정도 소요된다는 측정치가 함께 보고되었다. DeepStream에선 모델 출력 텐서를 감지 구조체로 변환하는 파서가 필수이며 RF-DETR에 적용된 후처리 단계는 클래스 점수에 sigmoid를 적용하고 각 쿼리에서 최고 점수인 클래스를 선택한 뒤 중심형 박스를 픽셀 단위의 코너형 박스(left, top, width, height)로 변환하는 절차로 구성된다. 이 통합 과정을 통해 ONNX→TensorRT→DeepStream 파이프라인으로 RTSP 스트림에서 실시간 추론과 클래스별 박스 색상 지정이 가능해지지만 파서 구현 오류가 시각화와 감지 정확성에 직접적인 영향을 미친다.
bash
/usr/src/tensorrt/bin/trtexec \
 --onnx=rfdetr-nano.onnx \
 --fp16 \
 --saveEngine=rfdetr_nano_b1.engine

trtexec를 사용해 ONNX를 FP16으로 컴파일하고 TensorRT 엔진 파일(.engine)을 생성하는 명령으로, Orin NX에서 약 두 분 정도 소요된다고 본문에 명시되어 있다.

용어 해설

DeepStream
NVIDIA가 제공하는 비디오 분석용 SDK로 GStreamer를 기반으로 하며 하드웨어 가속 디코딩, 배칭, TensorRT 추론, 온스크린 표시, 인코딩 등을 GPU 메모리 상에서 연속적으로 처리하도록 구성된 파이프라인 구성 요소를 제공한다. 이 글에서는 nvstreammux가 여러 스트림을 배칭하고 nvinfer가 TensorRT 엔진을 실행하며 nvdsosd가 메타데이터로부터 박스와 레이블을 그리는 역할을 맡는 점이 핵심이다. DeepStream은 모델 출력 바이트를 해석하지 않으므로 모델별 출력 파싱 로직을 직접 구현해야 하는 점이 중요하다.
TensorRT
NVIDIA의 추론 최적화 런타임으로 ONNX 등으로 표현된 모델을 FP16 등으로 최적화해 실행 가능한 엔진 파일로 변환하고 런타임에서 고속 추론을 수행한다. 본문에서는 trtexec를 사용해 ONNX 파일을 FP16으로 컴파일하여 .engine 파일을 생성하는 과정이 소개되며 Orin NX에서 빌드 시간이 약 두 분이라는 측정치가 제시되어 있다. TensorRT 엔진은 DeepStream의 nvinfer에서 직접 로드되어 GPU 상에서 추론을 수행한다.
DETR
DETR 계열의 객체 검출 접근법으로 학습된 쿼리(query)를 사용해 이미지 특징을 직접 읽어 각 쿼리가 하나의 박스를 예측하며 전통적 앵커 그리드와 후처리 NMS를 사용하지 않는다. RF-DETR은 이 접근법을 채택해 300개의 학습된 쿼리를 활용하며 각 쿼리가 독립적으로 박스를 예측한다는 점이 핵심적이다. DETR 계열은 쿼리 기반 설계로 복잡한 앵커 튜닝이 필요 없고 엔드투엔드 학습이 가능하다는 점에서 의미가 있다.
ONNX
다양한 프레임워크에서 학습된 모델을 교환 가능한 형식으로 저장하기 위한 표준 포맷으로, 본문에서는 rfdetr 패키지가 사전학습된 COCO 가중치를 다운로드하고 배포 가능한 ONNX 파일을 생성하는 용도로 사용되었다. ONNX 파일은 이후 trtexec로 TensorRT 엔진을 빌드하는 입력으로 사용되며 배치 크기를 고정해서 내보내는 것이 Jetson 환경에서 중요했다. ONNX는 플랫폼 간 포팅과 추론 최적화 파이프라인을 연결하는 매개 역할을 한다.

기술

  • DeepStream
  • TensorRT
  • ONNX
  • RF-DETR
  • GStreamer
  • JetPack 6.2

활용 사례

  • RTSP 스트림에서 실시간 객체 검출
  • 임베디드 장치에서의 경량화된 DETR 계열 배포
  • 클래스별 시각적 강조를 포함한 비디오 분석 대시보드
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 23.수집 2026. 07. 23.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.