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.
Sommaire : What is Intel DL Streamer? • Prerequisites • YOLO26 Model Preparation • Running Inference with YOLO26 • Multi-Stream Setup • FAQ
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 :
-
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 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.
- 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 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 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.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 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.mp4Exécute 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 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: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 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
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.mp4Exé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
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
Ressources supplémentaires#
- DL Streamer GitHub Repository
- DL Streamer Documentation
- DL Streamer Elements
- OpenVINO™ Toolkit
- Ultralytics YOLO26
- GStreamer Framework
- Supported Models Table
FAQ#
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
DEVICEparCPU,GPUouNPU.- 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
jsonpour é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 INT8Tu peux également utiliser l'élément
gvametapublishdans des pipelines personnalisés pour publier des métadonnées vers des fichiers, MQTT ou 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™, et 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.shqui 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.