Ultralytics YOLO26 auf Intel Core Ultra Series 3 mit DL Streamer Pipeline Framework und OpenVINO™
Diese Anleitung führt dich durch die Bereitstellung von Ultralytics YOLO26 auf Intel Core Ultra Series 3-Plattformen mithilfe des DL Streamer Pipeline Framework und des OpenVINO™-Toolkits. Wir verwenden OpenVINO™, um die Inferenzleistung auf Intel-CPUs, integrierten und separaten 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?#
Das Deep Learning Streamer (DL Streamer) Pipeline Framework ist ein Open-Source-Framework zur Analyse von Streaming-Medien auf Basis des Multimedia-Frameworks GStreamer. Es dient zum Erstellen komplexer Medienanalyse-Pipelines in der Cloud oder am Rand des Netzwerks.
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 auf den in den Systemanforderungen für DL Streamer aufgeführten Systemen validiert.
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
Vorbereitung des YOLO26-Modells#
DL Streamer verwendet Modelle im OpenVINO™-IR-Format. Ultralytics-YOLO26-Modelle werden mit dem Ultralytics-Exporter von PyTorch in OpenVINO™ IR 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-Modell YOLO26s von Ultralytics herunter, konvertiere es ins OpenVINO™-IR-Format und erstelle eine INT8-Variante.
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 DL-Streamer-YOLO26-Erkennungspipeline ausführst, schließe den Schritt YOLO26-Modell vorbereiten ab und lade das folgende Beispielvideo von Pexels herunter.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Führe anschließend das DL-Streamer-Docker-Image im interaktiven Modus aus.
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 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
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 Modelle mitdownload_ultralytics_models.shherunter. Führe anschließend die Inferenz mit der DL-Streamer-Beispielanwendungyolo_detect.shaus, die ein sofort einsatzbereites Skript zum Ausführen von YOLO26-Inferenzpipelines bereitstellt.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), dedizierten GPUs (Arc A-Series, B-Series) und NPUs (AI Boost) über mehrere Intel-Plattformgenerationen hinweg. Ändere die Eigenschaft
devicevongvadetectinCPU,GPUoderNPU.- FP16 wird als Standard für die GPU-Inferenz empfohlen – es bietet eine Genauigkeit nahe FP32 bei höherem Durchsatz.
- INT8 bietet die höchste Leistung bei einem geringen Genauigkeitsverlust und eignet sich ideal, wenn maximaler Durchsatz im Vordergrund steht. INT8-Modelle werden beim Export mit Ultralytics automatisch kalibriert.
DL Streamer unterstützt die folgenden YOLO26-Aufgabenvarianten:
- Objekterkennung: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Instanzsegmentierung: yolo26s-seg (und alle Größenvarianten)
- Klassifizierung: yolo26s-cls (zusammengesetzte Pipeline mit Objekterkennung)
- Posenschätzung: yolo26s-pose (und alle Größenvarianten)
- Orientierte Bounding Box (OBB): yolo26s-obb (und alle Größenvarianten)
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.
Kommentare
Stell eine Frage, teile deine Ergebnisse oder hilf jemand anderem.