YOLO Vision 2026:

Ultralytics YOLO26 su Intel Core Ultra Series 3 utilizzando DL Streamer Pipeline Framework e OpenVINO™#

Questa guida completa fornisce una procedura dettagliata per distribuire Ultralytics YOLO26 sulle piattaforme Intel Core Ultra Series 3 utilizzando DL Streamer Pipeline Framework e il toolkit OpenVINO™. Qui utilizziamo OpenVINO™ per massimizzare le prestazioni dell'inferenza su CPU Intel, GPU integrate e discrete e NPU.

Intel DL Streamer

Contenuti: Che cos'è Intel DL Streamer?PrerequisitiPreparazione del modello YOLO26Esecuzione dell'inferenza con YOLO26Configurazione multi-streamFAQ

Che 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 dei contenuti multimediali nel cloud o all'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 offre interoperabilità tra i plugin GStreamer basati su varie librerie di backend:

  • Inferenza: motore di inferenza OpenVINO™, ottimizzato per CPU, GPU e NPU Intel
  • Codifica/decodifica video: accelerazione GPU tramite VA-API
  • Elaborazione delle immagini: accelerazione GPU tramite VA-API
  • Metadati: GStreamer Analytics per risultati dell'inferenza strutturati
  • Ecosistema: centinaia di plugin GStreamer per I/O multimediale, muxing/demuxing, supporto dei codec e altro

DL Streamer supporta molti modelli di intelligenza artificiale, inclusa l'intera famiglia Ultralytics YOLO (da YOLOv5 a YOLO26), tutti nel formato OpenVINO™.

DL Streamer viene regolarmente convalidato con i sistemi forniti su System Requirements — Open Edge Platform Documentation

Prerequisiti#

Prima di iniziare, assicurati che sul tuo sistema Intel siano installati e configurati i seguenti componenti:

Preparazione del modello YOLO26#

DL Streamer utilizza modelli nel formato IR di OpenVINO™. I modelli Ultralytics YOLO26 vengono esportati da PyTorch nel formato IR di OpenVINO™ utilizzando l'esportatore Ultralytics. DL Streamer sfrutta l'integrazione ufficiale di Ultralytics per OpenVINO™, che fornisce funzionalità ottimizzate di esportazione e inferenza per l'hardware Intel.

  1. Crea la cartella ~/intel/dlstreamer_demo e 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
  1. Scarica il modello PyTorch YOLO26s da Ultralytics, convertilo nel formato OpenVINO™ IR e genera una variante con precisione INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

Il 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.yaml

Gli esempi seguenti utilizzano il modello INT8 esportato nel passaggio di preparazione. Per utilizzare i modelli FP32 o FP16, sostituisci di conseguenza il percorso del modello (ad esempio, yolo26s_openvino_model/yolo26s.xml).

Esecuzione dell'inferenza con YOLO26#

Prima di eseguire la pipeline di rilevamento dell'inferenza YOLO26 con DL Streamer, avvia l'immagine Docker di DL Streamer in modalità interattiva. Assicurati di aver seguito il passaggio YOLO26 Model Preparation e di scaricare 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.mp4

Esegui l'immagine Docker di DL Streamer in modalità interattiva.

Nota

Questo comando è destinato ai sistemi dotati di processori Intel Core Ultra Series 3 con GPU integrata (iGPU) e NPU integrate.

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:latest

Precisione 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.

Esegui YOLO26s con INT8 sulla 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
Intel DL Streamer GPU

Esegui YOLO26s con INT8 sulla GPU e salva l'output nel 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.mp4

Esegui YOLO26s con INT8 sulla 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
Intel DL Streamer NPU

Configurazione multi-stream#

DL Streamer supporta l'elaborazione multi-flusso, in cui più origini video vengono decodificate ed elaborate tramite inferenza simultaneamente. Puoi avviare più pipeline in parallelo utilizzando l'elemento vacompositor di GStreamer per combinare più flussi.

Esecuzione in parallelo 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
Intel DL Streamer Multistream GPU

Risorse aggiuntive#

FAQ#

  • 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 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 le pipeline di inferenza YOLO26. Consulta il breve tutorial per sapere come eseguirla.

  • OpenVINO™ ottimizza il modello YOLO26 in modo specifico per l'hardware Intel tramite tecniche quali l'ottimizzazione del grafo, la fusione dei layer e la sintonizzazione dei kernel specifici per l'hardware. In combinazione con la decodifica accelerata VA-API di DL Streamer e la pre-elaborazione zero-copy va-surface-sharing, l'intera pipeline di analisi video raggiunge un throughput notevolmente 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 A-Series, B-Series) e NPU (AI Boost) su più generazioni di piattaforme Intel. È sufficiente modificare la proprietà device di gvadetect in CPU, GPU o NPU.

    • FP16 è consigliata come impostazione predefinita per l'inferenza sulla GPU: offre una precisione quasi pari a FP32 con un miglioramento del throughput di circa 2x.
    • INT8 offre le prestazioni più elevate (2–3x rispetto a FP32) con una lieve riduzione della precisione ed è ideale quando la priorità è il throughput massimo. I modelli INT8 vengono calibrati automaticamente durante l'esportazione con Ultralytics.
  • DL Streamer supporta tutte le varianti di attività di YOLO26:

    • Rilevamento: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
    • Bounding Box Orientato (OBB): yolo26s-obb (e tutte le varianti di dimensione)
    • Segmentazione d'Istanza: yolo26s-seg (e tutte le varianti di dimensione)
    • Stima della Posa: yolo26s-pose (e tutte le varianti di dimensione)
    • Classificazione: yolo26s-cls (pipeline composita con rilevamento)
  • Utilizza l'opzione di output json per scrivere i risultati dei rilevamenti come righe JSON in un file:

    ./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8

    In alternativa, utilizza l'elemento gvametapublish nelle pipeline personalizzate per pubblicare i metadati su file, MQTT o Kafka.

Commenti