Ultralytics YOLO26 su Intel Core Ultra Series 3 utilizzando il framework di pipeline DL Streamer e OpenVINO™#
Questa guida completa fornisce una procedura dettagliata per implementare Ultralytics YOLO26 su piattaforme Intel Core Ultra Series 3 utilizzando il framework di pipeline DL Streamer e il toolkit OpenVINO™. Qui utilizziamo OpenVINO™ per massimizzare le prestazioni di inferenza su CPU Intel, GPU integrate e discrete, e NPU.
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 di analisi di streaming multimediale open-source basato sul framework multimediale GStreamer, progettato per creare pipeline complesse di analisi multimediale per il Cloud o l'Edge.
DL Streamer consente l'analisi di flussi audio e video per rilevare, classificare, tracciare, identificare e contare oggetti, eventi e persone. È ottimizzato per l'hardware Intel e fornisce interoperabilità tra i plugin GStreamer basati su diverse librerie di backend:
- Inferenza: motore di inferenza OpenVINO™, ottimizzato per CPU, GPU e NPU Intel
- Codifica/Decodifica video: accelerazione GPU tramite VA-API
- Elaborazione immagini: accelerazione GPU tramite VA-API
- Metadati: GStreamer Analytics per risultati di inferenza strutturati
- Ecosistema: centinaia di plugin GStreamer per I/O multimediale, muxing/demuxing, supporto codec e altro
DL Streamer supporta molti modelli IA, inclusa l'intera famiglia Ultralytics YOLO (da YOLOv5 a YOLO26), tutti in formato OpenVINO™.
DL Streamer viene regolarmente convalidato con i sistemi forniti su Requisiti di sistema — Documentazione Open Edge Platform
Prerequisiti#
Prima di iniziare, assicurati che quanto segue sia installato e configurato sul tuo sistema Intel:
-
Ubuntu 24.04 con driver Intel GPU/NPU installati (controlla la guida all'installazione)
-
docker engine (controlla la guida all'installazione)
Preparazione del modello YOLO26#
DL Streamer utilizza modelli in formato OpenVINO™ IR. I modelli Ultralytics YOLO26 vengono esportati da PyTorch a OpenVINO™ IR utilizzando l'esportatore Ultralytics. DL Streamer sfrutta l'integrazione ufficiale Ultralytics OpenVINO™, che fornisce capacità 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 il modello PyTorch YOLO26s da Ultralytics, convertilo nel formato OpenVINO™ IR e genera una variante di precisione INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlIl modello deve essere scaricato nella cartella ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.
Precisione del modello#
DL Streamer supporta modelli con precisione FP32, FP16 e INT8. Ognuno richiede 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 utilizzano il modello INT8 esportato nel passaggio di preparazione. Per utilizzare modelli FP32 o FP16, sostituisci il percorso del modello di conseguenza (ad esempio yolo26s_openvino_model/yolo26s.xml).
Esecuzione dell'inferenza con YOLO26#
Prima di eseguire la pipeline di rilevamento dell'inferenza DL Streamer YOLO26, avvia l'immagine Docker di DL Streamer in modalità interattiva. Assicurati di aver seguito il passaggio Preparazione del modello YOLO26 e scarica il seguente file video dal database Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Avvia l'immagine Docker di DL Streamer in modalità interattiva.
Questo comando è destinato ai 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 (Massime prestazioni)#
La quantizzazione INT8 offre il throughput più elevato riducendo i pesi del modello a interi a 8 bit. L'esportatore Ultralytics gestisce la calibrazione automaticamente.
Esegui 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
Esegui YOLO26s con INT8 su GPU, salva l'output in un file video (~/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.mp4Esegui 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, in cui più sorgenti video vengono decodificate e analizzate simultaneamente. Puoi avviare più pipeline in parallelo utilizzando l'elemento vacompositor di GStreamer per combinare più flussi.
Esecuzione di più pipeline (4 stream) in parallelo (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#
Come posso configurare Ultralytics YOLO26 su una piattaforma Intel con DL Streamer?#
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™, scarica i modelli usando download_ultralytics_models.sh. Quindi esegui l'inferenza con l'applicazione di esempio DL Streamer yolo_detect.sh che fornisce uno script pronto all'uso per eseguire le pipeline di inferenza YOLO26. Controlla il breve tutorial su come eseguirlo.
Qual è il vantaggio dell'utilizzo di OpenVINO™ con YOLO26 su hardware Intel?#
OpenVINO™ ottimizza il modello YOLO26 specificamente per l'hardware Intel attraverso tecniche come l'ottimizzazione del grafo, la fusione dei layer e il tuning del kernel specifico per l'hardware. In combinazione con la decodifica accelerata VA-API di DL Streamer e la pre-elaborazione va-surface-sharing a copia zero, l'intera pipeline di analisi video raggiunge un throughput significativamente più elevato rispetto ai framework non ottimizzati.
Posso eseguire YOLO26 con DL Streamer su diversi dispositivi Intel?#
Sì. DL Streamer supporta l'inferenza su CPU Intel (Core, Core Ultra, Xeon), GPU integrate (Iris Xe, Arc), GPU discrete (Arc A-Series, B-Series) e NPU (AI Boost) su più generazioni di piattaforme Intel. Basta modificare il parametro DEVICE in CPU, GPU o NPU.
Come scelgo tra la precisione FP16 e INT8?#
- FP16 è raccomandato come impostazione predefinita per l'inferenza su GPU: fornisce una precisione vicina a FP32 con un miglioramento del throughput di circa 2 volte.
- INT8 offre le massime prestazioni (2–3 volte superiori rispetto a FP32) con un piccolo compromesso in termini di precisione ed è ideale quando la priorità è il throughput massimo. I modelli INT8 vengono calibrati automaticamente durante l'esportazione con Ultralytics.
Quali attività YOLO26 sono supportate?#
DL Streamer supporta tutte le varianti delle attività di YOLO26: - Rilevamento: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - Oriented Bounding Box (OBB): yolo26s-obb (e tutte le varianti di dimensione) - Segmentazione di istanze: yolo26s-seg (e tutte le varianti di dimensione) - Stima della posa: yolo26s-pose (e tutte le varianti di dimensione) - Classificazione: yolo26s-cls (pipeline composta con rilevamento)
Come posso esportare i rilevamenti come dati strutturati?#
Usa l'opzione di output json per scrivere i risultati del rilevamento come JSON-lines su un file:
./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8In alternativa, usa l'elemento gvametapublish nelle pipeline personalizzate per pubblicare i metadati su file, MQTT o Kafka.