YOLO Vision 2026:

Ultralytics YOLO26 auf Intel Core Ultra Series 3 mit dem DL Streamer Pipeline-Framework und OpenVINO™#

Dieser umfassende Leitfaden enthält eine detaillierte Anleitung zur Bereitstellung von Ultralytics YOLO26 auf Plattformen mit Intel Core Ultra Series 3 mithilfe des DL Streamer Pipeline-Frameworks und des OpenVINO™-Toolkits. Hier verwenden wir OpenVINO™, um die Inferenzleistung auf Intel-CPUs, integrierten und dedizierten GPUs sowie NPUs zu maximieren.

Intel DL Streamer

Inhalt: Was ist Intel DL Streamer?VoraussetzungenYOLO26-ModellvorbereitungInferenz mit YOLO26 ausführenEinrichtung mehrerer StreamsFAQ

Was ist Intel DL Streamer?#

Das Deep-Learning-Streamer-Pipeline-Framework (DL Streamer) ist ein Open-Source-Framework für die Analyse von Streaming-Medien auf Basis des GStreamer-Multimedia-Frameworks. Es wurde für die Erstellung komplexer Pipelines zur Medienanalyse in der Cloud oder am Edge entwickelt.

DL Streamer ermöglicht die Analyse von Audio- und Videoströmen, um Objekte, Ereignisse und Personen zu erkennen, zu klassifizieren, zu verfolgen, zu identifizieren und zu zählen. Es ist für Intel-Hardware optimiert und bietet Interoperabilität zwischen GStreamer-Plugins, die auf verschiedenen Backend-Bibliotheken basieren:

  • Inferenz: OpenVINO™-Inferenz-Engine, optimiert für Intel-CPU, GPU und NPU
  • Videokodierung/-dekodierung: GPU-Beschleunigung über VA-API
  • Bildverarbeitung: GPU-Beschleunigung über VA-API
  • Metadaten: GStreamer Analytics für strukturierte Inferenzergebnisse
  • Ökosystem: Hunderte von GStreamer-Plugins für Medien-I/O, Multiplexing/Demultiplexing, Codec-Unterstützung und mehr

DL Streamer unterstützt viele KI-Modelle, darunter die vollständige Ultralytics YOLO-Familie (YOLOv5 bis YOLO26), alle im OpenVINO™-Format.

DL Streamer wird regelmäßig mit Systemen validiert, die unter System Requirements — Open Edge Platform Documentation bereitgestellt werden.

Voraussetzungen#

Stelle vor Beginn sicher, dass Folgendes auf deinem Intel-System installiert und konfiguriert ist:

YOLO26-Modellvorbereitung#

DL Streamer verwendet Modelle im OpenVINO™-IR-Format. Ultralytics YOLO26-Modelle werden mithilfe des Ultralytics-Exporters von PyTorch in das OpenVINO™-IR-Format exportiert. DL Streamer nutzt die offizielle Ultralytics-OpenVINO™-Integration, die optimierte Export- und Inferenzfunktionen für Intel-Hardware bereitstellt.

  1. Erstelle den Ordner ~/intel/dlstreamer_demo und installiere OpenVINO™ und Ultralytics in einer virtuellen Umgebung.
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. Lade das PyTorch-YOLO26s-Modell von Ultralytics herunter, konvertiere es in das OpenVINO™-IR-Format und generiere eine INT8-Präzisionsvariante.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

Das Modell wird in den Ordner ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model exportiert.

Modellpräzision#

DL Streamer unterstützt Modelle mit FP32-, FP16- und INT8-Präzision. Für jedes Modell ist ein separater Export erforderlich:

# 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

Die folgenden Beispiele verwenden das im Vorbereitungsschritt exportierte INT8-Modell. Um FP32- oder FP16-Modelle zu verwenden, passe den Modellpfad entsprechend an (z. B. yolo26s_openvino_model/yolo26s.xml).

Inferenz mit YOLO26 ausführen#

Bevor du die DL-Streamer-YOLO26-Inferenz-Erkennungspipeline ausführst, starte das DL-Streamer-Docker-Image im interaktiven Modus. Stelle sicher, dass du den Schritt YOLO26 Model Preparation befolgt und die folgende Videodatei aus der Pexels-Datenbank heruntergeladen hast.

curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4

Starte das DL-Streamer-Docker-Image im interaktiven Modus.

Hinweis

Dieser Befehl ist für Systeme mit Prozessoren der Serie Intel Core Ultra Series 3 und integrierter GPU (iGPU) sowie integrierter NPU vorgesehen.

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

INT8-Präzision (maximale Leistung)#

Die INT8-Quantisierung erzielt den höchsten Durchsatz, indem sie die Modellgewichte auf 8-Bit-Ganzzahlen reduziert. Der Ultralytics-Exporter übernimmt die Kalibrierung automatisch.

YOLO26s mit INT8 auf der GPU ausführen#

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

YOLO26s mit INT8 auf der GPU ausführen und die Ausgabe in einer Videodatei speichern (~/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

YOLO26s mit INT8 auf der NPU ausführen#

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

Einrichtung mehrerer Streams#

DL Streamer unterstützt die Verarbeitung mehrerer Streams, bei der mehrere Videoquellen gleichzeitig dekodiert und inferenziert werden. Du kannst mehrere Pipelines parallel starten, indem du das Element vacompositor von GStreamer verwendest, um mehrere Streams zu kombinieren.

Mehrere Pipelines (4 Streams) parallel ausführen (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

Weitere Ressourcen#

FAQ#

  • Installiere DL Streamer gemäß der Installationsanleitung, richte die Umgebung mit source /opt/intel/dlstreamer/scripts/setup_dls_env.sh ein, installiere Ultralytics und OpenVINO™ und lade Modelle mit download_ultralytics_models.sh herunter. Führe anschließend die Inferenz mit der DL-Streamer-Beispielanwendung yolo_detect.sh aus, die ein sofort einsatzbereites Skript zum Ausführen von YOLO26-Inferenzpipelines bereitstellt. In der Kurzanleitung erfährst du, wie du sie ausführst.

  • OpenVINO™ optimiert das YOLO26-Modell speziell für Intel-Hardware durch Techniken wie Graphoptimierung, Layer-Fusion und hardwarespezifisches Kernel-Tuning. In Kombination mit der VA-API-beschleunigten Dekodierung und der Zero-Copy-Vorverarbeitung va-surface-sharing von DL Streamer erreicht die gesamte Videoanalyse-Pipeline einen deutlich höheren Durchsatz als nicht optimierte Frameworks.

  • Ja. DL Streamer unterstützt die Inferenz auf Intel-CPUs (Core, Core Ultra, Xeon), integrierten GPUs (Iris Xe, Arc), diskreten GPUs (Arc A-Series, B-Series) und NPUs (AI Boost) über mehrere Intel-Plattformgenerationen hinweg. Ändere einfach die Eigenschaft device von gvadetect in CPU, GPU oder NPU.

    • FP16 wird standardmäßig für die GPU-Inferenz empfohlen – es bietet eine nahezu mit FP32 vergleichbare Genauigkeit bei einer ungefähr zweifachen Durchsatzsteigerung.
    • INT8 bietet die höchste Leistung (2–3x gegenüber FP32) bei geringfügigen Genauigkeitseinbußen und ist ideal, wenn maximaler Durchsatz Priorität hat. INT8-Modelle werden während des Ultralytics-Exports automatisch kalibriert.
  • DL Streamer unterstützt alle YOLO26-Aufgabenvarianten:

    • Detection: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
    • Oriented Bounding Box (OBB): yolo26s-obb (und alle Grössenvarianten)
    • Instance Segmentation: yolo26s-seg (und alle Grössenvarianten)
    • Pose Estimation: yolo26s-pose (und alle Grössenvarianten)
    • Classification: yolo26s-cls (zusammengesetzte Pipeline mit Erkennung)
  • Verwende die Ausgabeoption json, um Erkennungsergebnisse als JSON-Zeilen in eine Datei zu schreiben:

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

    Alternativ kannst du das Element gvametapublish in benutzerdefinierten Pipelines verwenden, um Metadaten in Dateien, MQTT oder Kafka zu veröffentlichen.

Kommentare