Ultralytics YOLO27:

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.

Intel DL Streamer

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:

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.

  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, 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.yaml

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

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

Hinweis

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:latest

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

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

Weitere Ressourcen#

Häufig gestellte Fragen#

  • 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 die Modelle mit download_ultralytics_models.sh herunter. Führe dann die Inferenz mit der Beispielanwendung yolo_detect.sh von 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-sharing erzielt 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 device von gvadetect in CPU, GPU oder NPU.

    • 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 INT8

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

Kommentare