YOLO Vision 2026 :

Ultralytics YOLO26 sur Intel Core Ultra Series 3 utilisant le framework de pipeline DL Streamer et OpenVINO™#

Ce guide complet fournit une description détaillée pour déployer Ultralytics YOLO26 sur les plateformes Intel Core Ultra Series 3 en utilisant le DL Streamer Pipeline Framework et la OpenVINO™ toolkit. Ici, nous utilisons OpenVINO™ pour maximiser les performances d'inférence sur les CPU Intel, les GPU intégrés et discrets, ainsi que les NPU.

Intel DL Streamer

Sommaire : What is Intel DL Streamer?PrerequisitesYOLO26 Model PreparationRunning Inference with YOLO26Multi-Stream SetupFAQ

Qu'est-ce qu'Intel DL Streamer ?#

Le Deep Learning Streamer (DL Streamer) Pipeline Framework est un framework d'analyse de flux multimédias open-source basé sur le framework multimédia GStreamer, conçu pour créer des pipelines d'analyse multimédia complexes pour le Cloud ou la périphérie (Edge).

DL Streamer permet l'analyse de flux audio et vidéo pour détecter, classifier, suivre, identifier et compter des objets, des événements et des personnes. Il est optimisé pour le matériel Intel et assure l'interopérabilité entre les plugins GStreamer construits sur diverses bibliothèques backend :

  • Inférence : Moteur d'inférence OpenVINO™, optimisé pour les CPU, GPU et NPU Intel
  • Encodage/Décodage vidéo : Accélération GPU via VA-API
  • Traitement d'image : Accélération GPU via VA-API
  • Métadonnées : GStreamer Analytics pour des résultats d'inférence structurés
  • Écosystème : Des centaines de plugins GStreamer pour les entrées/sorties média, le multiplexage/démultiplexage, le support de codecs, et bien plus

DL Streamer prend en charge de nombreux modèles IA, y compris la famille complète Ultralytics YOLO (de YOLOv5 à YOLO26), tous au format OpenVINO™.

DL Streamer est régulièrement validé avec les systèmes fournis sur la System Requirements — Open Edge Platform Documentation

Prérequis#

Avant de commencer, assure-toi que les éléments suivants sont installés et configurés sur ton système Intel :

Préparation du modèle YOLO26#

DL Streamer utilise des modèles au OpenVINO™ IR format. Les modèles Ultralytics YOLO26 sont exportés de PyTorch vers OpenVINO™ IR à l'aide de l'exportateur Ultralytics. DL Streamer tire parti de l'officielle Ultralytics OpenVINO™ integration, qui offre des capacités d'exportation et d'inférence optimisées pour le matériel Intel.

  1. Crée le dossier ~/intel/dlstreamer_demo et installe OpenVINO™ et Ultralytics dans un environnement virtuel
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. Télécharge le modèle PyTorch YOLO26s depuis Ultralytics, convertis-le au format OpenVINO™ IR et génère une variante de précision INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

Le modèle doit être téléchargé dans le dossier ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.

Précision du modèle#

DL Streamer prend en charge les modèles de précision FP32, FP16 et INT8. Chacun nécessite une étape d'exportation distincte :

# 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

Les exemples ci-dessous utilisent le modèle INT8 exporté lors de l'étape de préparation. Pour utiliser des modèles FP32 ou FP16, remplace le chemin du modèle en conséquence (par exemple, yolo26s_openvino_model/yolo26s.xml).

Exécution de l'inférence avec YOLO26#

Avant d'exécuter le pipeline de détection d'inférence YOLO26 de DL Streamer, lance l'image docker DL Streamer en mode interactif. Assure-toi d'avoir suivi l'étape YOLO26 Model Preparation et télécharge le fichier vidéo suivant depuis la base de données Pexels.

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

Exécute l'image docker DL Streamer en mode interactif.

Remarque

Cette commande est destinée aux systèmes équipés de processeurs Intel Core Ultra Series 3 avec GPU intégré (iGPU) et NPU embarqués.

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

Précision INT8 (Performances maximales)#

La quantification INT8 offre le débit le plus élevé en réduisant les poids du modèle à des entiers 8 bits. L'exportateur Ultralytics gère le calibrage automatiquement.

Exécute YOLO26s avec INT8 sur GPU#

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

Exécute YOLO26s avec INT8 sur GPU, enregistre la sortie dans un fichier vidéo (~/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

Exécute YOLO26s avec INT8 sur NPU#

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

Configuration multi-flux#

DL Streamer prend en charge le traitement multi-flux, où plusieurs sources vidéo sont décodées et analysées simultanément. Tu peux lancer plusieurs pipelines en parallèle en utilisant l'élément vacompositor de GStreamer pour combiner plusieurs flux.

Exécution de plusieurs pipelines (4 flux) en parallèle (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

Ressources supplémentaires#

FAQ#

  • Installe DL Streamer en suivant le guide d'installation, configure l'environnement avec source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, installe Ultralytics et OpenVINO™, et télécharge les modèles à l'aide de download_ultralytics_models.sh. Exécute ensuite l'inférence avec l'application d'exemple DL Streamer yolo_detect.sh qui fournit un script prêt à l'emploi pour exécuter les pipelines d'inférence YOLO26. Consulte le court tutoriel pour savoir comment l'exécuter.

  • OpenVINO™ optimise spécifiquement le modèle YOLO26 pour le matériel Intel grâce à des techniques telles que l'optimisation des graphes, la fusion de couches et le réglage de noyaux spécifiques au matériel. Combiné au décodage accéléré par VA-API de DL Streamer et au prétraitement sans copie va-surface-sharing, le pipeline complet d'analyse vidéo atteint un débit nettement supérieur à celui des frameworks non optimisés.

  • Oui. DL Streamer prend en charge l'inférence sur les CPU Intel (Core, Core Ultra, Xeon), les GPU intégrés (Iris Xe, Arc), les GPU discrets (Arc séries A, séries B) et les NPU (AI Boost) sur plusieurs générations de plateformes Intel. Modifie simplement le paramètre DEVICE par CPU, GPU ou NPU.

    • FP16 est recommandé par défaut pour l'inférence GPU — il offre une précision proche du FP32 avec une amélioration du débit d'environ 2x.
    • INT8 offre les meilleures performances (2 à 3x supérieures au FP32) avec un léger compromis sur la précision, et est idéal lorsque la priorité est le débit maximal. Les modèles INT8 sont automatiquement calibrés lors de l'exportation Ultralytics.
  • DL Streamer prend en charge toutes les variantes de tâches YOLO26 : - Détection : yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - Boîte englobante orientée (OBB) : yolo26s-obb (et toutes les variantes de taille) - Segmentation d'instance : yolo26s-seg (et toutes les variantes de taille) - Estimation de pose : yolo26s-pose (et toutes les variantes de taille) - Classification : yolo26s-cls (pipeline composite avec détection)

  • Utilise l'option de sortie json pour écrire les résultats de détection sous forme de lignes JSON dans un fichier :

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

    Tu peux également utiliser l'élément gvametapublish dans des pipelines personnalisés pour publier des métadonnées vers des fichiers, MQTT ou Kafka.

Commentaires