Ultralytics YOLO26 sur Intel Core Ultra Series 3 avec DL Streamer Pipeline Framework et OpenVINO™
Ce guide explique comment déployer Ultralytics YOLO26 sur les plateformes Intel Core Ultra Series 3 avec DL Streamer Pipeline Framework et la boîte à outils OpenVINO™. Nous utilisons OpenVINO™ pour optimiser les performances d’inférence sur les CPU Intel, les GPU intégrés et discrets, ainsi que les NPU.
Sommaire : Qu’est-ce qu’Intel DL Streamer ? • Prérequis • Préparation du modèle YOLO26 • Exécuter l’inférence avec YOLO26 • Configuration multistream • FAQ
Qu’est-ce qu’Intel DL Streamer ?#
Le framework de pipeline Deep Learning Streamer (DL Streamer) est un framework open source d’analyse de médias en continu basé sur le framework multimédia GStreamer. Il est conçu pour créer des pipelines complexes d’analyse de médias dans le cloud ou à la périphérie.
DL Streamer permet d’analyser des flux audio et vidéo pour détecter, classifier, suivre, identifier et compter des objets, des événements et des personnes. Optimisé pour le matériel Intel, il assure l’interopérabilité entre les plugins GStreamer reposant sur différentes 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 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 et bien plus encore
DL Streamer prend en charge de nombreux modèles d’IA, y compris toute la famille Ultralytics YOLO (de YOLOv5 à YOLO26), au format OpenVINO™.
DL Streamer est régulièrement validé sur les systèmes répertoriés dans les exigences système de DL Streamer.
Prérequis#
Avant de commencer, assure-toi que les éléments suivants sont installés et configurés sur ton système Intel :
-
Ubuntu 24.04 avec les pilotes Intel pour GPU/NPU installés
Préparation du modèle YOLO26#
DL Streamer utilise des modèles au format IR d’OpenVINO™. Les modèles Ultralytics YOLO26 sont exportés de PyTorch vers OpenVINO™ IR avec l’exportateur Ultralytics. DL Streamer utilise l’intégration Ultralytics OpenVINO™ officielle, qui fournit des fonctionnalités optimisées d’export et d’inférence 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 PyTorch YOLO26s depuis Ultralytics, convertis-le au format IR OpenVINO™ 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é dans 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’export 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é à l’étape de préparation. Pour utiliser des modèles FP32 ou FP16, remplace le chemin du modèle en conséquence (par ex. yolo26s_openvino_model/yolo26s.xml).
Exécuter l’inférence avec YOLO26#
Avant d’exécuter le pipeline de détection YOLO26 de DL Streamer, termine l’étape Préparation du modèle YOLO26 et télécharge la vidéo d’exemple suivante depuis Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Exécute ensuite 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 GPU intégré (iGPU) et 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 en 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 en INT8 sur GPU et enregistrer la sortie dans un fichier vidéo#
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 en 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 multi-flux#
DL Streamer prend en charge le traitement multi-flux, où plusieurs sources vidéo sont décodées et traitées par inférence simultanément. Tu peux lancer plusieurs pipelines en parallèle à l’aide de l’élément GStreamer vacompositor pour combiner plusieurs flux.
Exécuter 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
Ressources supplémentaires#
- Dépôt GitHub de DL Streamer
- Documentation de DL Streamer
- Éléments DL Streamer
- Kit d’outils OpenVINO™
- Ultralytics YOLO26
- Framework GStreamer
- Tableau des modèles pris en charge
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™, 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 des pipelines d’inférence YOLO26.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 adaptés au matériel. Associé au décodage accéléré 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 dédiés (Arc des séries A et B) et les NPU (AI Boost), sur plusieurs générations de plateformes Intel. Modifie la propriété
devicedegvadetectenCPU,GPUouNPU.- FP16 est recommandé par défaut pour l’inférence sur GPU : il offre une précision proche de FP32 avec un débit supérieur.
- INT8 offre les meilleures performances au prix d’une légère baisse de précision ; c’est le choix idéal lorsque le débit maximal est prioritaire. Les modèles INT8 sont automatiquement étalonnés lors de l’export Ultralytics.
DL Streamer prend en charge les variantes de tâches YOLO26 suivantes :
- Détection : yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Segmentation d’instances : yolo26s-seg (et toutes les variantes de taille)
- Classification : yolo26s-cls (pipeline composite avec détection)
- Estimation de pose : yolo26s-pose (et toutes les variantes de taille)
- Boîte englobante orientée (OBB) : yolo26s-obb (et toutes les variantes de taille)
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 des métadonnées dans des fichiers, sur MQTT ou sur Kafka.
Commentaires
Pose une question, partage tes résultats ou aide quelqu’un d’autre.