DL Streamer Pipeline Framework 및 OpenVINO™를 사용한 Intel Core Ultra Series 3의 Ultralytics YOLO26#
이 종합 가이드에서는 DL Streamer Pipeline Framework 및 OpenVINO™ 툴킷을 사용하여 Intel Core Ultra Series 3 플랫폼에 Ultralytics YOLO26을 배포하는 방법을 자세히 안내합니다. 여기서는 OpenVINO™를 사용하여 Intel CPU, 통합 GPU 및 외장 GPU, NPU에서 추론 성능을 최대화합니다.
목차: Intel DL Streamer란? • 사전 요구 사항 • YOLO26 모델 준비 • YOLO26으로 추론 실행 • 멀티 스트림 설정 • FAQ
Intel DL Streamer란?#
Deep Learning Streamer(DL Streamer) Pipeline Framework는 GStreamer 멀티미디어 프레임워크를 기반으로 하는 오픈 소스 스트리밍 미디어 분석 프레임워크로, 클라우드 또는 엣지에서 복잡한 미디어 분석 파이프라인을 생성하도록 설계되었습니다.
DL Streamer를 사용하면 오디오 및 비디오 스트림을 분석하여 객체, 이벤트, 사람을 감지, 분류, 추적, 식별하고 계수를 수행할 수 있습니다. Intel 하드웨어에 최적화되어 있으며, 다양한 백엔드 라이브러리를 기반으로 구축된 GStreamer 플러그인 간 상호 운용성을 제공합니다:
- 추론: Intel CPU, GPU, NPU에 최적화된 OpenVINO™ 추론 엔진
- 비디오 인코딩/디코딩: VA-API를 통한 GPU 가속
- 이미지 처리: VA-API를 통한 GPU 가속
- 메타데이터: 구조화된 추론 결과를 위한 GStreamer Analytics
- 에코시스템: 미디어 I/O, 다중화/역다중화, 코덱 지원 등을 위한 수백 개의 GStreamer 플러그인
DL Streamer는 OpenVINO™ 형식의 Ultralytics YOLO 전체 제품군(YOLOv5부터 YOLO26까지)을 비롯한 다양한 AI 모델을 지원합니다.
DL Streamer는 시스템 요구 사항 — Open Edge Platform 문서에 나열된 시스템을 사용하여 정기적으로 검증됩니다.
사전 요구 사항#
시작하기 전에 Intel 시스템에 다음 항목이 설치 및 구성되어 있는지 확인하세요:
YOLO26 모델 준비#
DL Streamer는 OpenVINO™ IR 형식의 모델을 사용합니다. Ultralytics YOLO26 모델은 Ultralytics 내보내기 도구를 사용하여 PyTorch에서 OpenVINO™ IR로 내보냅니다. DL Streamer는 Intel 하드웨어에 최적화된 내보내기 및 추론 기능을 제공하는 공식 Ultralytics OpenVINO™ 통합을 활용합니다.
~/intel/dlstreamer_demo폴더를 만들고 가상 환경에 OpenVINO™ 및 Ultralytics를 설치합니다.
mkdir -p ~/intel/dlstreamer_demo && cd ~/intel/dlstreamer_demo
python3 -m venv .dls-venv && source .dls-venv/bin/activate
pip install openvino==2026.2.0 ultralytics==8.4.92- Ultralytics에서 PyTorch YOLO26s 모델을 다운로드하고 OpenVINO™ IR 형식으로 변환한 다음 INT8 정밀도 버전을 생성합니다.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml모델은 ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model 폴더로 내보내집니다.
모델 정밀도#
DL Streamer는 FP32, FP16, INT8 정밀도 모델을 지원합니다. 각 모델은 별도의 내보내기 단계를 거쳐야 합니다.
# FP32 (default precision, highest accuracy)
yolo export model=yolo26s.pt format=openvino dynamic=True
# FP16 (recommended for GPU inference, good accuracy/performance balance)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=16
# INT8 (maximum performance, requires calibration dataset)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml아래 예제에서는 준비 단계에서 내보낸 INT8 모델을 사용합니다. FP32 또는 FP16 모델을 사용하려면 모델 경로를 적절히 바꾸세요(예: yolo26s_openvino_model/yolo26s.xml).
YOLO26으로 추론 실행하기#
DL Streamer YOLO26 추론 탐지 파이프라인을 실행하기 전에 DL Streamer Docker 이미지를 대화형 모드로 실행하세요. YOLO26 모델 준비 단계를 따랐는지 확인하고, Pexels 데이터베이스에서 다음 동영상 파일을 다운로드하세요.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4DL Streamer Docker 이미지를 대화형 모드로 실행하세요.
이 명령은 통합 GPU(iGPU)와 NPU가 탑재된 Intel Core Ultra Series 3 프로세서를 갖춘 시스템을 대상으로 합니다.
docker run -it --rm \
-v ~/intel/dlstreamer_demo:/home/dlstreamer/demo \
-v "$HOME/.Xauthority:/root/.Xauthority:rw" \
-e DISPLAY=$DISPLAY \
-e XDG_RUNTIME_DIR=/tmp \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--device /dev/dri \
--group-add $(stat -c "%g" /dev/dri/render*) \
--device /dev/accel \
--group-add $(stat -c "%g" /dev/accel/accel*) \
-e ZE_ENABLE_ALT_DRIVERS=libze_intel_npu.so \
intel/dlstreamer:latestINT8 정밀도(최대 성능)#
INT8 양자화는 모델 가중치를 8비트 정수로 줄여 가장 높은 처리량을 제공합니다. Ultralytics 내보내기 기능이 보정을 자동으로 처리합니다.
GPU에서 INT8로 YOLO26s 실행하기#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
GPU에서 INT8로 YOLO26s를 실행하고 출력을 동영상 파일로 저장하기#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! vah264enc ! h264parse ! mp4mux ! filesink location=/home/dlstreamer/demo/yolo_video1_yolo26s_INT8_GPU.mp4NPU에서 INT8로 YOLO26s 실행하기#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=NPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
멀티 스트림 설정#
DL Streamer는 여러 동영상 소스를 동시에 디코딩하고 추론하는 멀티 스트림 처리를 지원합니다. GStreamer의 vacompositor 요소를 사용해 여러 스트림을 결합하면 여러 파이프라인을 병렬로 실행할 수 있습니다.
여러 파이프라인(스트림 4개)을 병렬로 실행(GPU)#
gst-launch-1.0 vacompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=660 sink_1::ypos=0 sink_2::xpos=0 sink_2::ypos=380 sink_3::xpos=660 sink_3::ypos=380 ! autovideosink sync=false \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_0 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_1 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_2 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_3
추가 리소스#
- DL Streamer GitHub 저장소
- DL Streamer 문서
- DL Streamer 요소
- OpenVINO™ Toolkit
- Ultralytics YOLO26
- GStreamer 프레임워크
- 지원 모델 표
자주 묻는 질문#
OpenVINO™는 그래프 최적화, 레이어 융합, 하드웨어별 커널 튜닝 등의 기법을 통해 Intel 하드웨어에 맞게 YOLO26 모델을 최적화합니다. DL Streamer의 VA-API 가속 디코딩과 제로 카피
va-surface-sharing전처리를 결합하면, 전체 비디오 분석 파이프라인에서 최적화되지 않은 프레임워크보다 훨씬 높은 처리량을 달성할 수 있습니다.예. DL Streamer는 여러 세대의 Intel 플랫폼에서 Intel CPU(Core, Core Ultra, Xeon), 통합 GPU(Iris Xe, Arc), 외장 GPU(Arc A-Series, B-Series), NPU(AI Boost)의 추론을 지원합니다.
gvadetect의device속성을CPU,GPU또는NPU로 바꾸면 됩니다.- FP16은 GPU 추론의 기본값으로 권장됩니다. FP32에 가까운 정확도를 제공하면서 처리량을 약 2배 향상합니다.
- INT8은 정확도가 약간 낮아지는 대신 가장 높은 성능(FP32 대비 2~3배)을 제공하므로, 최대 처리량이 중요한 경우에 적합합니다. INT8 모델은 Ultralytics 내보내기 과정에서 자동으로 보정됩니다.
DL Streamer는 모든 YOLO26 작업 변형을 지원합니다.
- 탐지: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- 방향성 바운딩 박스(OBB): yolo26s-obb(모든 크기 변형 포함)
- 인스턴스 분할: yolo26s-seg(모든 크기 변형 포함)
- 자세 추정: yolo26s-pose(모든 크기 변형 포함)
- 분류: yolo26s-cls(탐지를 포함하는 복합 파이프라인)
json출력 옵션을 사용해 탐지 결과를 JSON Lines 형식으로 파일에 기록하세요../yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8또는 사용자 지정 파이프라인에서
gvametapublish요소를 사용해 메타데이터를 파일, MQTT 또는 Kafka로 게시하세요.