Ultralytics YOLO26 sur Intel Core Ultra Series 3 avec DL Streamer Pipeline Framework et OpenVINO™#
Ce guide complet fournit une présentation détaillée du déploiement de Ultralytics YOLO26 sur les plateformes Intel Core Ultra Series 3 à l’aide de DL Streamer Pipeline Framework et de la OpenVINO™ toolkit. Nous utilisons ici OpenVINO™ pour maximiser les performances d’inférence sur les CPU, GPU intégrés et discrets, ainsi que les NPU Intel.
Sommaire : Qu’est-ce qu’Intel DL Streamer ? • Prérequis • Préparation du modèle YOLO26 • Exécution de l’inférence avec YOLO26 • Configuration multistream • FAQ
Qu’est-ce qu’Intel DL Streamer ?#
Deep Learning Streamer (DL Streamer) Pipeline Framework est un framework open source d’analyse de médias en streaming basé sur le framework multimédia GStreamer, conçu pour créer des pipelines complexes d’analyse de médias dans le Cloud ou à l’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 de bas niveau :
- Inférence : moteur d’inférence OpenVINO™, optimisé pour les CPU, GPU et NPU Intel
- Encodage/décodage vidéo : accélération par GPU via VA-API
- Traitement d’image : accélération par GPU via VA-API
- Métadonnées : GStreamer Analytics pour les résultats d’inférence structurés
- Écosystème : des centaines de plugins GStreamer pour les entrées/sorties multimédias, le multiplexage/démultiplexage, la prise en charge des codecs, etc.
DL Streamer prend en charge de nombreux modèles d’IA, notamment toute la famille Ultralytics YOLO (de YOLOv5 à YOLO26), tous au format OpenVINO™.
DL Streamer est régulièrement validé avec les systèmes fournis sur System Requirements — Open Edge Platform Documentation
Prérequis#
Avant de commencer, vérifie que les éléments suivants sont installés et configurés sur ton système Intel :
-
Ubuntu 24.04 avec les pilotes GPU/NPU Intel installés (consulte le guide d’installation)
-
docker engine (consulte le guide d’installation)
Préparation du modèle YOLO26#
DL Streamer utilise des modèles au format OpenVINO™ IR. Les modèles Ultralytics YOLO26 sont exportés de PyTorch vers OpenVINO™ IR à l’aide de l’exportateur Ultralytics. DL Streamer s’appuie sur l’intégration officielle Ultralytics OpenVINO™, qui fournit des fonctionnalités d’exportation et d’inférence optimisées pour le matériel Intel.
- Crée le dossier
~/intel/dlstreamer_demoet 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- Télécharge le modèle YOLO26s PyTorch 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.yamlLe modèle est exporté vers le dossier ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.
Précision du modèle#
DL Streamer prend en charge les modèles avec une précision FP32, FP16 et INT8. Chacune 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.yamlLes 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 par inférence YOLO26 avec DL Streamer, lance l'image Docker de 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.mp4Lance l’image Docker DL Streamer en mode interactif.
Cette commande est destinée aux systèmes équipés de processeurs Intel Core Ultra Series 3 avec un GPU intégré (iGPU) et un NPU intégré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:latestPrécision INT8 (performances maximales)#
La quantification INT8 offre le débit le plus élevé en réduisant les poids du modèle à des entiers de 8 bits. L’exportateur Ultralytics gère automatiquement l’étalonnage.
Exécuter 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
Exécuter YOLO26s avec INT8 sur GPU et enregistrer 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.mp4Exécuter 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
Configuration multistream#
DL Streamer prend en charge le traitement multi-flux, où plusieurs sources vidéo sont décodées et inféré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 parallèle de plusieurs pipelines (4 flux) (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
Ressources supplémentaires#
- Dépôt GitHub de DL Streamer
- Documentation de DL Streamer
- Éléments de DL Streamer
- OpenVINO™ Toolkit
- Ultralytics YOLO26
- Framework GStreamer
- Tableau des modèles pris en charge
FAQ#
OpenVINO™ optimise le modèle YOLO26 spécifiquement pour le matériel Intel grâce à des techniques telles que l'optimisation de 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 processeurs Intel (Core, Core Ultra, Xeon), les GPU intégrés (Iris Xe, Arc), les GPU discrets (Arc A-Series, B-Series) et les NPU (AI Boost) sur plusieurs générations de plates-formes Intel. Modifie simplement la propriété
devicedegvadetectparCPU,GPUouNPU.- FP16 est recommandé par défaut pour l’inférence sur GPU : il offre une précision proche de FP32 avec une amélioration du débit d’environ 2 fois.
- INT8 offre les meilleures performances (2 à 3 fois supérieures à FP32), avec un léger compromis sur la précision, et convient parfaitement lorsque le débit maximal est prioritaire. Les modèles INT8 sont automatiquement étalonné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'instances : 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
jsonpour écrire les résultats de détection au format JSON Lines dans un fichier :./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8Tu peux également utiliser l’élément
gvametapublishdans des pipelines personnalisés pour publier les métadonnées dans des fichiers, via MQTT ou via Kafka.
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™, puis télécharge les modèles à l’aide dedownload_ultralytics_models.sh. Exécute ensuite l’inférence avec l’application d’exemple DL Streameryolo_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.