Ultralytics YOLO26 auf Intel Core Ultra Series 3 mit DL Streamer Pipeline Framework und OpenVINO™#
Diese umfassende Anleitung führt dich ausführlich durch die Bereitstellung von Ultralytics YOLO26 auf Intel Core Ultra Series 3-Plattformen mit DL Streamer Pipeline Framework und dem OpenVINO™-Toolkit. Wir verwenden OpenVINO™, um die Inferenzleistung auf Intel-CPUs, integrierten und dedizierten GPUs sowie NPUs zu maximieren.
Inhalt: Was ist Intel DL Streamer? • Voraussetzungen • Vorbereitung des YOLO26-Modells • Inferenz mit YOLO26 ausführen • Einrichtung mehrerer Streams • FAQ
Was ist Intel DL Streamer?#
Deep Learning Streamer (DL Streamer) Pipeline Framework ist ein Open-Source-Framework für Streaming-Medienanalysen, das auf dem Multimedia-Framework GStreamer basiert. Es dient dazu, komplexe Medienanalyse-Pipelines für die Cloud oder den Edge-Bereich zu erstellen.
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. DL Streamer ist für Intel-Hardware optimiert und ermöglicht die Zusammenarbeit von 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 GStreamer-Plugins für Medien-Ein- und -Ausgabe, Muxing/Demuxing, Codec-Unterstützung und mehr
DL Streamer unterstützt viele KI-Modelle, darunter die gesamte Ultralytics-YOLO-Familie (YOLOv5 bis YOLO26) im OpenVINO™-Format.
DL Streamer wird regelmäßig mit Systemen validiert, die unter Systemanforderungen – Open Edge Platform-Dokumentation aufgeführt sind.
Voraussetzungen#
Stelle vor dem Start sicher, dass Folgendes auf deinem Intel-System installiert und konfiguriert ist:
-
Ubuntu 24.04 mit installierten Intel-GPU/NPU-Treibern (siehe Installationsanleitung)
-
docker engine (siehe Installationsanleitung)
Vorbereitung des YOLO26-Modells#
DL Streamer verwendet Modelle im OpenVINO™-IR-Format. Ultralytics YOLO26-Modelle werden mit dem Ultralytics-Exporter 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 bietet.
- Erstelle den Ordner
~/intel/dlstreamer_demound 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- Lade das PyTorch-YOLO26s-Modell von Ultralytics herunter, wandle es in das OpenVINO™-IR-Format um und erstelle eine INT8-Genauigkeitsvariante.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlDas Modell wird in den Ordner ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model exportiert.
Modellgenauigkeit#
DL Streamer unterstützt Modelle mit FP32-, FP16- und INT8-Genauigkeit. Für jede Genauigkeit 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.yamlDie 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 YOLO26-Inferenzpipeline zur Objekterkennung mit DL Streamer ausführst, starte das DL-Streamer-Docker-Image im interaktiven Modus. Vergewissere dich, dass du den Schritt YOLO26-Modellvorbereitung ausgeführt hast, und lade die folgende Videodatei aus der Pexels-Datenbank herunter.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Starte das DL-Streamer-Docker-Image im interaktiven Modus.
Dieser Befehl ist für Systeme mit Intel Core Ultra Series 3-Prozessoren mit integrierter GPU (iGPU) und 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:latestINT8-Genauigkeit (maximale Leistung)#
Die INT8-Quantisierung erzielt den höchsten Durchsatz, indem die Modellgewichte auf 8-Bit-Ganzzahlen reduziert werden. 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
YOLO26s mit INT8 auf der GPU ausführen und die Ausgabe in einer Videodatei speichern#
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.mp4YOLO26s 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
Einrichtung mehrerer Streams#
DL Streamer unterstützt die Verarbeitung mehrerer Streams, bei der mehrere Videoquellen gleichzeitig decodiert und verarbeitet werden. Du kannst mit dem GStreamer-Element vacompositor mehrere Pipelines parallel starten, um mehrere Streams zusammenzuführen.
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
Weitere Ressourcen#
- DL-Streamer-GitHub-Repository
- DL-Streamer-Dokumentation
- DL-Streamer-Elemente
- OpenVINO™ Toolkit
- Ultralytics YOLO26
- GStreamer-Framework
- Tabelle der unterstützten Modelle
Häufig gestellte Fragen#
Installiere DL Streamer gemäß der Installationsanleitung, richte die Umgebung mit
source /opt/intel/dlstreamer/scripts/setup_dls_env.shein, installiere Ultralytics und OpenVINO™ und lade die Modelle mitdownload_ultralytics_models.shherunter. Führe dann die Inferenz mit der Beispielanwendungyolo_detect.shvon DL Streamer aus, die ein sofort einsatzbereites Skript zum Ausführen von YOLO26-Inferenzpipelines bereitstellt. In der kurzen Anleitung erfährst du, wie du sie ausführst.OpenVINO™ optimiert das YOLO26-Modell speziell für Intel-Hardware mithilfe von Techniken wie Graphoptimierung, Layer-Fusion und hardwarespezifischer Kernel-Optimierung. In Kombination mit der VA-API-beschleunigten Decodierung von DL Streamer und der Zero-Copy-Vorverarbeitung
va-surface-sharingerzielt die gesamte Videoanalyse-Pipeline einen deutlich höheren Durchsatz als nicht optimierte Frameworks.Ja. DL Streamer unterstützt Inferenz auf Intel-CPUs (Core, Core Ultra, Xeon), integrierten GPUs (Iris Xe, Arc), separaten GPUs (Arc A-Series, B-Series) und NPUs (AI Boost) über mehrere Generationen von Intel-Plattformen hinweg. Ändere einfach die Eigenschaft
devicevongvadetectinCPU,GPUoderNPU.- FP16 wird standardmäßig für GPU-Inferenz empfohlen – es bietet eine nahezu mit FP32 vergleichbare Genauigkeit bei etwa 2-fach höherem Durchsatz.
- INT8 bietet die höchste Leistung (2- bis 3-fach höher als FP32) bei geringfügig geringerer Genauigkeit und eignet sich ideal, wenn maximaler Durchsatz Priorität hat. INT8-Modelle werden beim Ultralytics-Export automatisch kalibriert.
DL Streamer unterstützt alle Varianten der YOLO26-Aufgaben:
- Objekterkennung: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Orientierte Bounding Box (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 Objekterkennung)
Verwende die Ausgabeoption
json, um Erkennungsergebnisse im JSON-Lines-Format in eine Datei zu schreiben:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8Alternativ kannst du das Element
gvametapublishin benutzerdefinierten Pipelines verwenden, um Metadaten in Dateien, an MQTT oder an Kafka zu veröffentlichen.