Link to this sectionUltralytics 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
Link to this sectionCos'è 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
Link to this sectionPrerequisiti#
Prima di iniziare, assicurati che quanto segue sia installato e configurato sul tuo sistema Intel:
-
Ubuntu 24.04 con driver GPU/NPU Intel installati (controlla la guida all'installazione)
-
docker engine (controlla la guida all'installazione)
Link to this sectionPreparazione 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.
Link to this sectionPrecisione 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).
Link to this sectionEsecuzione 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:latestLink to this sectionPrecisione 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.
Link to this sectionEsegui 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
Link to this sectionEsegui 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.mp4Link to this sectionEsegui 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
Link to this sectionConfigurazione 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.
Link to this sectionEsecuzione 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
Link to this sectionFAQ#
Link to this sectionCome 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 utilizzando download_ultralytics_models.sh. Quindi, esegui l'inferenza con l'applicazione di esempio di DL Streamer yolo_detect.sh, che fornisce uno script pronto all'uso per eseguire pipeline di inferenza YOLO26. Consulta il breve tutorial su come eseguirlo.
Link to this sectionQual è 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.
Link to this sectionPosso 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.
Link to this sectionCome 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.
Link to this sectionQuali 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)
Link to this sectionCome 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.