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 Videostreams, 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 ermöglicht die 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 in der Dokumentation zu den Systemanforderungen der Open Edge Platform 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 erstelle eine Variante mit INT8-Präzision.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

Das Modell sollte in den Ordner ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model heruntergeladen werden.

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-Inferenzpipeline zur YOLO26-Erkennung ausführst, starte das DL-Streamer-Docker-Image im interaktiven Modus. Stelle sicher, dass du den Schritt YOLO26-Modellvorbereitung 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 verarbeitet werden. Du kannst mehrere Pipelines parallel starten und dabei das GStreamer-Element vacompositor verwenden, 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 gezielt für Intel-Hardware, unter anderem durch Graphoptimierung, Layer-Fusion und hardwarespezifische Kernel-Optimierung. Zusammen mit der durch VA-API beschleunigten Dekodierung und der Zero-Copy-Vorverarbeitung va-surface-sharing von DL Streamer erzielt die vollständige Videoanalysepipeline 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), dedizierten GPUs (Arc A-Series, B-Series) und NPUs (AI Boost) über mehrere Intel-Plattformgenerationen hinweg. Ändere einfach den Parameter DEVICE 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: - Erkennung: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - Orientierte Begrenzungsbox (OBB): yolo26s-obb (und alle Größenvarianten) - Instanzsegmentierung: yolo26s-seg (und alle Größenvarianten) - Posenschätzung: yolo26s-pose (und alle Größenvarianten) - Klassifizierung: 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