Ultralytics YOLO26 su Intel Core Ultra Series 3 con DL Streamer Pipeline Framework e OpenVINO™
Questa guida illustra la distribuzione di Ultralytics YOLO26 sulle piattaforme Intel Core Ultra Series 3 usando DL Streamer Pipeline Framework e OpenVINO™ toolkit. Qui usiamo OpenVINO™ per massimizzare le prestazioni di inferenza su CPU, GPU integrate e discrete e NPU Intel.
Contenuti: Cos'è Intel DL Streamer? • Prerequisiti • Preparazione del modello YOLO26 • Esecuzione dell'inferenza con YOLO26 • Configurazione multi-stream • FAQ
Cos'è Intel DL Streamer?#
Deep Learning Streamer (DL Streamer) Pipeline Framework è un framework open source per l'analisi di contenuti multimediali in streaming, basato sul framework multimediale GStreamer, progettato per creare pipeline complesse di analisi multimediale nel cloud o all'edge.
DL Streamer consente di analizzare flussi audio e video per rilevare, classificare, tracciare, identificare e contare oggetti, eventi e persone. È ottimizzato per l'hardware Intel e garantisce l'interoperabilità tra i plugin GStreamer basati su diverse librerie backend:
- Inferenza: motore di inferenza OpenVINO™, ottimizzato per CPU, GPU e NPU Intel
- Codifica/decodifica video: accelerazione tramite GPU via VA-API
- Elaborazione delle immagini: accelerazione tramite GPU via VA-API
- Metadati: GStreamer Analytics per risultati di inferenza strutturati
- Ecosistema: centinaia di plugin GStreamer per I/O multimediale, multiplexing/demultiplexing, supporto dei codec e altro
DL Streamer supporta molti modelli AI, inclusa l'intera famiglia Ultralytics YOLO (da YOLOv5 a YOLO26), tutti in formato OpenVINO™.
DL Streamer viene convalidato regolarmente sui sistemi elencati nei requisiti di sistema di DL Streamer.
Prerequisiti#
Prima di iniziare, assicurati che sul tuo sistema Intel siano installati e configurati i seguenti componenti:
-
Ubuntu 24.04 con i driver Intel per GPU/NPU installati
Preparazione del modello YOLO26#
DL Streamer usa modelli nel formato OpenVINO™ IR. I modelli Ultralytics YOLO26 vengono esportati da PyTorch al formato OpenVINO™ IR tramite l'esportatore Ultralytics. DL Streamer usa l'integrazione ufficiale Ultralytics OpenVINO™, che offre funzionalità ottimizzate di esportazione e inferenza per l'hardware Intel.
- Crea la cartella
~/intel/dlstreamer_demoe installa OpenVINO™ e Ultralytics in un ambiente virtuale
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- Scarica da Ultralytics il modello YOLO26s di PyTorch, convertilo nel formato IR di OpenVINO™ e genera una variante con precisione INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlIl modello viene esportato nella cartella ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.
Precisione del modello#
DL Streamer supporta modelli con precisione FP32, FP16 e INT8. Per ciascuno è necessario un passaggio di esportazione separato:
# 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.yamlGli esempi seguenti usano il modello INT8 esportato nel passaggio di preparazione. Per usare modelli FP32 o FP16, sostituisci il percorso del modello di conseguenza (ad es. yolo26s_openvino_model/yolo26s.xml).
Esecuzione dell'inferenza con YOLO26#
Prima di eseguire la pipeline di rilevamento YOLO26 di DL Streamer, completa il passaggio Preparazione del modello YOLO26 e scarica il seguente video di esempio da Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Quindi esegui l'immagine Docker di DL Streamer in modalità interattiva.
Questo comando è pensato per i sistemi dotati di processori Intel Core Ultra Series 3 con GPU integrata (iGPU) e NPU a bordo.
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:latestPrecisione INT8 (prestazioni massime)#
La quantizzazione INT8 offre il throughput più elevato riducendo i pesi del modello a interi a 8 bit. L'esportatore Ultralytics gestisce automaticamente la calibrazione.
Esecuzione di YOLO26s con INT8 su GPU#
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
Esecuzione di YOLO26s con INT8 su GPU e salvataggio dell'output in un file video#
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.mp4Esecuzione di YOLO26s con INT8 su NPU#
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
Configurazione multi-stream#
DL Streamer supporta l'elaborazione multi-stream, che decodifica e analizza simultaneamente più sorgenti video. Puoi avviare più pipeline in parallelo usando l'elemento GStreamer vacompositor per combinare più stream.
Esecuzione parallela di più pipeline (4 stream) (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
Risorse aggiuntive#
- Repository GitHub di DL Streamer
- Documentazione di DL Streamer
- Elementi di DL Streamer
- Toolkit OpenVINO™
- Ultralytics YOLO26
- Framework GStreamer
- Tabella dei modelli supportati
Domande frequenti#
Installa DL Streamer seguendo la Guida all'installazione, configura l'ambiente con
source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, installa Ultralytics e OpenVINO™ e scarica i modelli usandodownload_ultralytics_models.sh. Quindi esegui l'inferenza con l'applicazione di esempio di DL Streameryolo_detect.sh, che fornisce uno script pronto all'uso per eseguire pipeline di inferenza YOLO26.OpenVINO™ ottimizza il modello YOLO26 appositamente per l'hardware Intel tramite tecniche come l'ottimizzazione del grafo, la fusione dei layer e la messa a punto dei kernel specifici per l'hardware. In combinazione con la decodifica accelerata VA-API di DL Streamer e la pre-elaborazione
va-surface-sharingsenza copie, l'intera pipeline di analisi video raggiunge un throughput significativamente superiore rispetto ai framework non ottimizzati.Sì. DL Streamer supporta l'inferenza su CPU Intel (Core, Core Ultra, Xeon), GPU integrate (Iris Xe, Arc), GPU discrete (Arc serie A, serie B) e NPU (AI Boost) su più generazioni di piattaforme Intel. Modifica la proprietà
devicedigvadetectimpostandola suCPU,GPUoNPU.- FP16 è consigliato come impostazione predefinita per l'inferenza su GPU: offre un'accuratezza vicina a FP32 con un throughput più elevato.
- INT8 offre le prestazioni più elevate con una lieve riduzione dell'accuratezza ed è ideale quando la priorità è il throughput massimo. I modelli INT8 vengono calibrati automaticamente durante l'esportazione con Ultralytics.
DL Streamer supporta queste varianti di attività YOLO26:
- Rilevamento: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Segmentazione di istanze: yolo26s-seg (e tutte le varianti di dimensione)
- Classificazione: yolo26s-cls (pipeline composita con rilevamento)
- Stima della posa: yolo26s-pose (e tutte le varianti di dimensione)
- Rettangolo di delimitazione orientato (OBB): yolo26s-obb (e tutte le varianti di dimensione)
Usa l'opzione di output
jsonper scrivere i risultati dei rilevamenti in un file in formato JSON Lines:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8In alternativa, usa l'elemento
gvametapublishnelle pipeline personalizzate per pubblicare metadati su file, MQTT o Kafka.
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.