Ultralytics YOLO27:

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

Questa guida completa illustra nel dettaglio come distribuire Ultralytics YOLO26 sulle piattaforme Intel Core Ultra Series 3 usando DL Streamer Pipeline Framework e il toolkit OpenVINO™. Qui usiamo OpenVINO™ per massimizzare le prestazioni di inferenza su CPU Intel, GPU integrate e discrete e NPU.

Intel DL Streamer

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 di analisi dei contenuti multimediali in streaming basato sul framework multimediale GStreamer, progettato per creare pipeline complesse di analisi dei contenuti multimediali per il cloud o l'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 in Requisiti di sistema — Documentazione Open Edge Platform

Prerequisiti#

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

Preparazione del modello YOLO26#

DL Streamer usa modelli nel formato OpenVINO™ IR. I modelli Ultralytics YOLO26 vengono esportati da PyTorch al formato OpenVINO™ IR usando l'esportatore Ultralytics. DL Streamer sfrutta l'integrazione ufficiale di Ultralytics con OpenVINO™, che offre 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 da Ultralytics il modello PyTorch YOLO26s, 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 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 con DL Streamer e 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 di 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 è 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: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.

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
Intel DL Streamer GPU

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

Esecuzione 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
Intel DL Streamer NPU

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

Risorse aggiuntive#

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 usando download_ultralytics_models.sh. Poi esegui l'inferenza con l'applicazione di esempio di DL Streamer yolo_detect.sh, che include uno script pronto all'uso per eseguire pipeline di inferenza YOLO26. Consulta il breve tutorial per scoprire come eseguirla.

  • 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-sharing senza 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 e serie B) e NPU (AI Boost) su più generazioni di piattaforme Intel. Basta modificare la proprietà device di gvadetect impostandola su CPU, GPU o NPU.

    • FP16 è consigliato come impostazione predefinita per l'inferenza su GPU: offre una precisione simile 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à YOLO26:

    • Rilevamento: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
    • Rettangolo di delimitazione orientato (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 composita con rilevamento)
  • Usa l'opzione di output json per scrivere i risultati dei rilevamenti in un file in formato JSON Lines:

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

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

Commenti