DL Streamer 파이프라인 프레임워크 및 OpenVINO™를 사용하는 Intel Core Ultra Series 3 기반 Ultralytics YOLO26#
본 종합 가이드는 DL Streamer Pipeline Framework 및 OpenVINO™ toolkit을 사용하여 Intel Core Ultra Series 3 플랫폼에 Ultralytics YOLO26을 배포하기 위한 상세한 단계별 안내를 제공합니다. 여기서는 OpenVINO™를 활용하여 Intel CPU, 내장 및 외장 GPU, NPU에서 추론 성능을 극대화합니다.
목차: What is Intel DL Streamer? • Prerequisites • YOLO26 Model Preparation • Running Inference with YOLO26 • Multi-Stream Setup • 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 분석
- 생태계: 미디어 I/O, 먹싱/디먹싱(muxing/demuxing), 코덱 지원 등을 위한 수백 개의 GStreamer 플러그인
DL Streamer는 OpenVINO™ 형식의 전체 Ultralytics YOLO 제품군(YOLOv5부터 YOLO26까지)을 포함한 다양한 AI 모델을 지원합니다.
DL Streamer는 System Requirements — Open Edge Platform Documentation에 제공된 시스템에서 정기적으로 검증을 거치고 있습니다.
사전 요구 사항#
시작하기 전에 Intel 시스템에 다음 항목이 설치 및 구성되어 있는지 확인하십시오:
YOLO26 모델 준비#
DL Streamer는 OpenVINO™ IR format의 모델을 사용합니다. Ultralytics YOLO26 모델은 Ultralytics 내보내기 도구를 사용하여 PyTorch에서 OpenVINO™ IR로 내보내집니다. DL Streamer는 Intel 하드웨어에 최적화된 내보내기 및 추론 기능을 제공하는 공식 Ultralytics OpenVINO™ integration을 활용합니다.
~/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 도커 이미지를 실행하십시오. YOLO26 Model Preparation 단계를 따랐는지 확인하고 Pexels 데이터베이스에서 다음 비디오 파일을 다운로드하십시오.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4대화형 모드에서 DL Streamer 도커 이미지를 실행하십시오.
이 명령어는 내장 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를 실행하고 결과를 비디오 파일(~/intel/dlstreamer_demo/yolo_video1_yolo26s_INT8_GPU.mp4)로 저장하십시오.#
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
FAQ#
Intel 플랫폼에서 DL Streamer를 사용하여 Ultralytics YOLO26을 설정하려면 어떻게 해야 하나요?#
Installation Guide에 따라 DL Streamer를 설치하고, source /opt/intel/dlstreamer/scripts/setup_dls_env.sh로 환경을 설정하며, Ultralytics 및 OpenVINO™를 설치하고, download_ultralytics_models.sh를 사용하여 모델을 다운로드합니다. 그런 다음 YOLO26 추론 파이프라인을 실행하기 위한 즉시 사용 가능한 스크립트를 제공하는 DL Streamer 샘플 응용 프로그램 yolo_detect.sh으로 추론을 실행합니다. 실행 방법에 대한 간단한 튜토리얼을 확인하십시오.
Intel 하드웨어에서 YOLO26과 함께 OpenVINO™를 사용할 때의 이점은 무엇인가요?#
OpenVINO™는 그래프 최적화, 레이어 융합, 하드웨어별 커널 튜닝 등의 기술을 통해 Intel 하드웨어에 맞게 YOLO26 모델을 구체적으로 최적화합니다. DL Streamer의 VA-API 가속 디코딩 및 제로 복사 va-surface-sharing 전처리가 결합되어, 전체 비디오 분석 파이프라인은 최적화되지 않은 프레임워크보다 훨씬 더 높은 처리량을 달성합니다.
다양한 Intel 장치에서 DL Streamer와 함께 YOLO26을 실행할 수 있나요?#
네. DL Streamer는 여러 Intel 플랫폼 세대에 걸쳐 Intel CPU(Core, Core Ultra, Xeon), 내장 GPU(Iris Xe, Arc), 외장 GPU(Arc A-Series, B-Series), NPU(AI Boost)에서의 추론을 지원합니다. DEVICE 파라미터를 CPU, GPU 또는 NPU으로 변경하기만 하면 됩니다.
FP16과 INT8 정밀도 중 무엇을 선택해야 하나요?#
- FP16은 GPU 추론의 기본값으로 권장됩니다. 이는 거의 FP32에 가까운 정확도를 제공하면서 약 2배의 처리량 향상을 가져옵니다.
- INT8은 약간의 정확도 손실을 감수하고 최고 성능(FP32 대비 2~3배)을 제공하므로 최대 처리량이 우선일 때 이상적입니다. INT8 모델은 Ultralytics 내보내기 과정에서 자동으로 보정됩니다.
어떤 YOLO26 작업이 지원되나요?#
DL Streamer는 모든 YOLO26 작업 변형을 지원합니다: - 감지(Detection): yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - 지향성 경계 상자(OBB): yolo26s-obb (모든 크기 변형 포함) - 인스턴스 분할(Instance Segmentation): yolo26s-seg (모든 크기 변형 포함) - 자세 추정(Pose Estimation): yolo26s-pose (모든 크기 변형 포함) - 분류(Classification): yolo26s-cls (감지 기능이 포함된 복합 파이프라인)
감지 결과를 구조화된 데이터로 내보내려면 어떻게 해야 하나요?#
탐지 결과를 파일에 JSON-lines 형식으로 기록하려면 json 출력 옵션을 사용하십시오:
./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8또는 사용자 정의 파이프라인에서 gvametapublish 요소를 사용하여 메타데이터를 파일, MQTT 또는 Kafka에 게시할 수 있습니다.