Sécurité prête pour l'entreprise : Conforme ISO 27001 + SOC 2 Type I.

Link to this sectionUltralytics YOLO26 sur Intel Core Ultra Series 3 utilisant le framework de pipeline DL Streamer et OpenVINO™#

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

Intel DL Streamer

Sommaire : Qu'est-ce qu'Intel DL Streamer ?PrérequisPréparation du modèle YOLO26Exécution de l'inférence avec YOLO26Configuration multi-fluxFAQ

Link to this sectionQu'est-ce qu'Intel DL Streamer ?#

Le Deep Learning Streamer (DL Streamer) Pipeline Framework est un framework d'analyse de médias en streaming open source basé sur le framework multimédia GStreamer, conçu pour créer des pipelines complexes d'analyse de médias 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 dans la Documentation de la plateforme Open Edge - Configuration système requise

Link to this sectionPrérequis#

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

Link to this sectionPré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 tire parti de l'intégration officielle Ultralytics OpenVINO™, 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.

Link to this sectionPré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 ex. yolo26s_openvino_model/yolo26s.xml).

Link to this sectionExécution de l'inférence avec YOLO26#

Avant d'exécuter le pipeline de détection d'inférence DL Streamer YOLO26, lance l'image docker DL Streamer en mode interactif. Assure-toi d'avoir suivi l'étape Préparation du modèle YOLO26 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

Link to this sectionPré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.

Link to this sectionExé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

Link to this sectionExé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

Link to this sectionExé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

Link to this sectionConfiguration multi-flux#

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

Link to this sectionExé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

Link to this sectionFAQ#

Link to this sectionComment configurer Ultralytics YOLO26 sur une plateforme Intel avec DL Streamer ?#

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 en utilisant download_ultralytics_models.sh. Ensuite, lance 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.

Link to this sectionQuel est l'avantage d'utiliser OpenVINO™ avec YOLO26 sur le matériel Intel ?#

OpenVINO™ optimise le modèle YOLO26 spécifiquement pour le matériel Intel grâce à des techniques telles que l'optimisation de graphe, la fusion de couches et le réglage de noyau spécifique 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.

Link to this sectionPuis-je exécuter YOLO26 avec DL Streamer sur différents appareils Intel ?#

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érie A, série B) et les NPU (AI Boost) sur plusieurs générations de plateformes Intel. Change simplement le paramètre DEVICE par CPU, GPU ou NPU.

Link to this sectionComment choisir entre la précision FP16 et INT8 ?#

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

Link to this sectionQuelles tâches YOLO26 sont prises en charge ?#

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)

Link to this sectionComment exporter les détections sous forme de données structurées ?#

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

Alternativement, utilise l'élément gvametapublish dans des pipelines personnalisés pour publier des métadonnées vers des fichiers, MQTT ou Kafka.

Link to this sectionRessources supplémentaires#

Contributeurs

Commentaires