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 스트림 실시간 추론과 클래스별 박스 색상 적용을 가능하게 하지만 모델 출력 형식에 맞춘 정확한 파서 구현이 배포 성능과 시각화 정확성에 결정적이다.
섹션별 상세

pip install rfdetrrfdetr 패키지를 설치하는 쉘 명령어로, 이후 Python API로 사전학습 가중치를 다운로드하고 ONNX로 내보내는 과정이 이어진다.
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 예시 코드이다.
/usr/src/tensorrt/bin/trtexec \
--onnx=rfdetr-nano.onnx \
--fp16 \
--saveEngine=rfdetr_nano_b1.enginetrtexec를 사용해 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는 플랫폼 간 포팅과 추론 최적화 파이프라인을 연결하는 매개 역할을 한다.
근거 모음
- 모든 수치는 JetPack 6.2, DeepStream 7.1, TensorRT 10.3에서 측정되었으며 TensorRT 엔진 빌드는 Orin NX에서 약 두 분 정도 소요되었다. — 도입부의 측정 환경 표기 및 'Building the TensorRT engine is one command (about two minutes on the Orin NX)' 문단
기술
- DeepStream
- TensorRT
- ONNX
- RF-DETR
- GStreamer
- JetPack 6.2
활용 사례
- RTSP 스트림에서 실시간 객체 검출
- 임베디드 장치에서의 경량화된 DETR 계열 배포
- 클래스별 시각적 강조를 포함한 비디오 분석 대시보드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.