Ultralytics YOLO27 :

Exportation Intel OpenVINO#

OpenVINO Intel AI inference toolkit

Dans ce guide, nous couvrons l’exportation des modèles YOLO26 au format OpenVINO, qui peut offrir jusqu’à 3× d’accélération sur CPU, ainsi qu’accélérer l’inférence YOLO sur le GPU et le NPU des appareils Intel.

OpenVINO, abréviation de boîte à outils d’optimisation de l’inférence visuelle et des réseaux de neurones, est une boîte à outils complète pour optimiser et déployer des modèles d’inférence IA. Même si son nom contient « Visual », OpenVINO prend également en charge diverses tâches supplémentaires, notamment le langage, l’audio, les séries temporelles, etc.



Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀

Tâches prises en charge#

L’exportation OpenVINO prend en charge les sept tâches Ultralytics. La segmentation sémantique et l’estimation de profondeur sont disponibles uniquement avec YOLO26, la seule famille à fournir ces têtes.

TâcheYOLOv8YOLO11YOLO26
Détection
Segmentation
Sémantique
Profondeur
Classification
Pose
OBB

Installation#

Installe les dépendances d'exportation OpenVINO avec :

pip install "ultralytics[export-openvino]"

Ces dépendances sont également incluses dans ultralytics[export] et sont installées automatiquement lorsqu'une exportation en a besoin.

Exemples d’utilisation#

Le format OpenVINO prend en charge les modes Export, Predict et Validate. Exporte ton modèle, puis charge le modèle exporté pour exécuter l’inférence ou valider sa précision sur un CPU Intel, un GPU intégré ou discret, ou un NPU.

Exportation
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to OpenVINO format
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'
Prédiction
from ultralytics import YOLO

# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")

# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")
Valider
from ultralytics import YOLO

# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Arguments d'exportation#

ArgumentTypeValeur par défautDescription
formatstr'openvino'Format cible du modèle exporté, définissant sa compatibilité avec différents environnements de déploiement.
imgszint ou tuple640Taille d’image souhaitée pour l’entrée du modèle. Peut être un entier pour les images carrées ou un tuple (height, width) pour des dimensions spécifiques.
quantizeint ou strNonePrécision de quantification : 16 (FP16) ou 8 (INT8/PTQ ; nécessite une data/fraction de calibration) ; 32/non défini correspond à FP32. Remplace les indicateurs obsolètes half/int8.
dynamicboolFalseAutorise les tailles d’entrée dynamiques, ce qui améliore la flexibilité pour gérer différentes dimensions d’image.
nmsbool, optionnelNoneSélectionne la sortie brute (None, par défaut), la NMS intégrée (True) ou la tête sans NMS (False).
batchint1Indique la taille du lot d'inférence du modèle exporté ou le nombre maximal d'images que le modèle exporté traitera simultanément en mode predict.
datastrNoneChemin vers le fichier YAML du jeu de données, essentiel pour la quantification ; la classification accepte plutôt un répertoire de jeu de données ou le nom d’un jeu de données intégré. Si ce chemin est omis avec quantize=8, Ultralytics sélectionne le jeu de données de calibration par défaut pour la tâche du modèle.
fractionfloat, int ou list1.0Sous-ensemble de calibration sous forme de ratio, de nombre d’images ou de ratios/nombres [train, val, test]. Les listes de deux éléments laissent test complet, tandis que 0 l’ignore.

Pour plus de détails sur le processus d’exportation, consulte la page de la documentation Ultralytics consacrée à l’exportation.

Avertissement

OpenVINO™ est compatible avec la plupart des processeurs Intel®, mais pour garantir des performances optimales :

  1. Vérifie la prise en charge d’OpenVINO™ Vérifie si ta puce Intel® est officiellement prise en charge par OpenVINO™ à l’aide de la liste de compatibilité d’Intel.

  2. Identifie ton accélérateur Détermine si ton processeur intègre un NPU (unité de traitement neuronal) ou un GPU (GPU intégré) en consultant le guide matériel d’Intel.

  3. Installe les derniers pilotes Si ta puce prend en charge un NPU ou un GPU, mais qu’OpenVINO™ ne le détecte pas, tu devras peut-être installer ou mettre à jour les pilotes associés. Suis les instructions d’installation des pilotes pour activer l’accélération complète.

En suivant ces trois étapes, tu peux garantir qu’OpenVINO™ fonctionne de manière optimale sur ton matériel Intel®.

Avantages d’OpenVINO#

  1. Performances : OpenVINO offre une inférence haute performance en exploitant la puissance des CPU Intel, des GPU intégrés et discrets, ainsi que des FPGA.
  2. Prise en charge de l’exécution hétérogène : OpenVINO fournit une API permettant d’écrire une seule fois et de déployer sur tout matériel Intel pris en charge (CPU, GPU, FPGA, VPU, etc.).
  3. Optimiseur de modèles : OpenVINO fournit un optimiseur de modèles qui importe, convertit et optimise les modèles issus de frameworks populaires de deep learning tels que PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle et Caffe.
  4. Facilité d’utilisation : la boîte à outils comprend une vaste collection de notebooks de tutoriels (dont un sur l’optimisation de YOLO26) qui enseignent différents aspects de la boîte à outils.

Structure de l’exportation OpenVINO#

Lorsque tu exportes un modèle au format OpenVINO, cela produit un répertoire contenant les éléments suivants :

  1. Fichier XML : décrit la topologie du réseau.
  2. Fichier BIN : contient les données binaires des poids et des biais.
  3. Fichier de correspondance : contient la correspondance entre les tenseurs de sortie du modèle d’origine et les noms des tenseurs OpenVINO.

Tu peux utiliser ces fichiers pour exécuter l’inférence avec le moteur d’inférence OpenVINO.

Utilisation de l’exportation OpenVINO lors du déploiement#

Une fois ton modèle exporté avec succès au format OpenVINO, tu disposes de deux options principales pour exécuter l’inférence :

  1. Utilise le paquet ultralytics, qui fournit une API de haut niveau et encapsule le runtime OpenVINO.

  2. Utilise le paquet natif openvino pour un contrôle plus avancé ou personnalisé du comportement de l’inférence.

Inférence avec Ultralytics#

Le paquet ultralytics te permet d’exécuter facilement l’inférence à l’aide du modèle OpenVINO exporté via la méthode predict. Tu peux également spécifier l’appareil cible (par exemple, intel:gpu, intel:npu, intel:cpu) à l’aide de l’argument device.

from ultralytics import YOLO

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")  # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu")  # specify the device you want to run inference on

Cette approche est idéale pour le prototypage rapide ou le déploiement lorsque tu n’as pas besoin d’un contrôle total du pipeline d’inférence.

Inférence avec le runtime OpenVINO#

Le runtime OpenVINO fournit une API unifiée pour l’inférence sur tout le matériel Intel pris en charge. Il offre également des fonctionnalités avancées, comme l’équilibrage de charge entre les composants matériels Intel et l’exécution asynchrone. Pour plus d’informations sur l’exécution de l’inférence, consulte les notebooks YOLO26.

N’oublie pas que tu auras besoin des fichiers XML et BIN ainsi que des paramètres propres à l’application, comme la taille d’entrée, le facteur d’échelle pour la normalisation, etc., afin de configurer et d’utiliser correctement le modèle avec le runtime.

Dans ton application de déploiement, tu effectuerais généralement les étapes suivantes :

  1. Initialise OpenVINO en créant core = Core().
  2. Charge le modèle à l’aide de la méthode core.read_model().
  3. Compile le modèle à l’aide de la fonction core.compile_model().
  4. Prépare l’entrée (image, texte, audio, etc.).
  5. Exécute l’inférence à l’aide de compiled_model(input_data).

Pour obtenir des étapes et des extraits de code plus détaillés, consulte la documentation OpenVINO ou le tutoriel de l’API.

Benchmarks OpenVINO de YOLO26#

L’équipe Ultralytics a évalué YOLO26 sur différents formats de modèles et niveaux de précision, en mesurant la vitesse et la précision sur divers appareils Intel compatibles avec OpenVINO.

Remarque
  • Les résultats de benchmark ci-dessous sont fournis à titre indicatif et peuvent varier en fonction de la configuration matérielle et logicielle exacte d’un système, ainsi que de sa charge au moment de l’exécution des benchmarks.

  • Tous les benchmarks ont été exécutés avec la version 2026.2.1 du paquet Python openvino.

  • Les modèles YOLO26 sur NPU sont pris en charge uniquement sur les systèmes Intel® Core™ Ultra™ des séries 2xxV et 3xx ou ultérieures.

Intel® Core™ Ultra#

La série Intel® Core™ Ultra™ représente une nouvelle référence en matière de calcul haute performance, conçue pour répondre aux exigences changeantes des utilisateurs modernes, des joueurs et créateurs aux professionnels exploitant l’IA. Cette gamme de nouvelle génération est plus qu’une série de CPU traditionnelle : elle combine de puissants cœurs CPU, des capacités GPU haute performance intégrées et une unité de traitement neuronal (NPU) dédiée au sein d’une seule puce, offrant une solution unifiée pour des charges de calcul variées et intensives.

Au cœur de l’architecture Intel® Core Ultra™ se trouve une conception hybride qui permet d’obtenir des performances exceptionnelles pour les tâches de traitement traditionnelles, les charges de travail accélérées par GPU et les opérations pilotées par l’IA. L’intégration du NPU améliore l’inférence IA sur l’appareil, permettant un apprentissage automatique et un traitement des données plus rapides et plus efficaces dans un large éventail d’applications.

La famille Core Ultra™ comprend différents modèles adaptés à divers besoins de performance, avec des options allant de conceptions économes en énergie à des variantes haute puissance identifiées par la lettre « H », idéales pour les ordinateurs portables et les formats compacts nécessitant une puissance de calcul importante. Dans toute la gamme, les utilisateurs bénéficient de la synergie entre l’intégration du CPU, du GPU et du NPU, offrant une efficacité, une réactivité et des capacités multitâches remarquables.

Dans le cadre de l’innovation continue d’Intel, la série Core Ultra™ établit une nouvelle norme pour l’informatique prête pour l’avenir. Avec plusieurs modèles disponibles et d’autres à venir, cette série souligne l’engagement d’Intel à fournir des solutions de pointe pour la prochaine génération d’appareils intelligents enrichis par l’IA.

Les benchmarks ci-dessous sont exécutés sur les Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V et Intel® Core™ Ultra™ 7 155H avec des précisions FP32, FP16 et INT8.

Intel® Core™ Ultra™ X7 358H#

Benchmarks
Intel Core Ultra GPU benchmarks
Résultats détaillés des benchmarks
ModèleFormatPrécisionStatutTaille (Mo)metrics/mAP50-95(B)Temps d’inférence (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476529.28
YOLO26nOpenVINOFP329.70.47624.09
YOLO26nOpenVINOFP165.10.47624.03
YOLO26nOpenVINOINT83.20.46344.24
YOLO26sPyTorch (CPU)FP3219.50.570359.32
YOLO26sOpenVINOFP3236.70.56165.08
YOLO26sOpenVINOFP1618.70.56165.14
YOLO26sOpenVINOINT810.00.54624.47
YOLO26mPyTorch (CPU)FP3242.20.6196143.21
YOLO26mOpenVINOFP3278.40.61667.1
YOLO26mOpenVINOFP1639.50.61667.06
YOLO26mOpenVINOINT820.60.60555.61
YOLO26lPyTorch (CPU)FP3250.70.6215181.16
YOLO26lOpenVINOFP3295.30.62058.45
YOLO26lOpenVINOFP1648.10.62058.49
YOLO26lOpenVINOINT825.20.59386.25
YOLO26xPyTorch (CPU)FP32113.20.6512379.75
YOLO26xOpenVINOFP32213.30.656813.03
YOLO26xOpenVINOFP16107.10.656812.98
YOLO26xOpenVINOINT854.80.63858.74

Intel® Core™ Ultra™ 7 258V#

Benchmarks
Intel Core Ultra GPU benchmarks
Résultats détaillés des benchmarks
ModèleFormatPrécisionStatutTaille (Mo)metrics/mAP50-95(B)Temps d’inférence (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476527.33
YOLO26nOpenVINOFP329.60.47643.33
YOLO26nOpenVINOFP165.10.47643.34
YOLO26nOpenVINOINT83.20.46343.46
YOLO26sPyTorch (CPU)FP3219.50.570360.2
YOLO26sOpenVINOFP3236.70.56164.66
YOLO26sOpenVINOFP1618.60.56164.65
YOLO26sOpenVINOINT810.00.54623.99
YOLO26mPyTorch (CPU)FP3242.20.6196152.87
YOLO26mOpenVINOFP3278.40.61689.03
YOLO26mOpenVINOFP1639.50.61688.98
YOLO26mOpenVINOINT820.60.60555.7
YOLO26lPyTorch (CPU)FP3250.70.6215201.57
YOLO26lOpenVINOFP3295.30.620311.32
YOLO26lOpenVINOFP1648.10.620311.36
YOLO26lOpenVINOINT825.20.59387.45
YOLO26xPyTorch (CPU)FP32113.20.6512431.04
YOLO26xOpenVINOFP32213.20.656819.08
YOLO26xOpenVINOFP16107.10.656819.63
YOLO26xOpenVINOINT854.80.638513.69

Intel® Core™ Ultra™ 7 155H#

Benchmarks
Intel Core Ultra GPU benchmarks
Résultats détaillés des benchmarks
ModèleFormatPrécisionStatutTaille (Mo)metrics/mAP50-95(B)Temps d’inférence (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476533.19
YOLO26nOpenVINOFP329.60.47589.13
YOLO26nOpenVINOFP165.10.47589.07
YOLO26nOpenVINOINT83.20.45735.79
YOLO26sPyTorch (CPU)FP3219.50.570370.92
YOLO26sOpenVINOFP3236.70.561616.37
YOLO26sOpenVINOFP1618.60.561616.65
YOLO26sOpenVINOINT810.00.5459.27
YOLO26mPyTorch (CPU)FP3242.20.6196192.45
YOLO26mOpenVINOFP3278.40.616734.47
YOLO26mOpenVINOFP1639.50.616735.71
YOLO26mOpenVINOINT820.60.603915.46
YOLO26lPyTorch (CPU)FP3250.70.6215239.19
YOLO26lOpenVINOFP3295.30.62143.24
YOLO26lOpenVINOFP1648.10.62143.4
YOLO26lOpenVINOINT825.20.599919.72
YOLO26xPyTorch (CPU)FP32113.20.6512511.89
YOLO26xOpenVINOFP32213.20.655279.49
YOLO26xOpenVINOFP16107.10.655279.45
YOLO26xOpenVINOINT854.80.64234.66

Reproduire nos résultats#

Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d’exportation, exécute ce code :

Exemple
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")

Note que les résultats de benchmark peuvent varier en fonction de la configuration matérielle et logicielle exacte d’un système, ainsi que de sa charge au moment de l’exécution des benchmarks. Pour obtenir les résultats les plus fiables, utilise un jeu de données contenant un grand nombre d’images, c’est-à-dire data='coco.yaml' (5000 images de validation).

Conclusion#

Les résultats des benchmarks démontrent clairement les avantages de l’exportation du modèle YOLO26 au format OpenVINO. Sur différents modèles et plateformes matérielles, le format OpenVINO surpasse systématiquement les autres formats en matière de vitesse d’inférence tout en conservant une précision comparable.

Les benchmarks soulignent l’efficacité d’OpenVINO comme outil de déploiement de modèles de deep learning. En convertissant les modèles au format OpenVINO, les développeurs peuvent obtenir des améliorations significatives des performances, ce qui facilite le déploiement de ces modèles dans des applications réelles.

Pour plus d’informations et d’instructions détaillées sur l’utilisation d’OpenVINO, consulte la documentation officielle d’OpenVINO.

FAQ#

  • L’exportation des modèles YOLO26 au format OpenVINO peut améliorer considérablement la vitesse du CPU et permettre l’accélération par GPU et NPU sur le matériel Intel. Pour exporter, tu peux utiliser Python ou la CLI, comme indiqué ci-dessous :

    Exemple
    from ultralytics import YOLO
    
    # Load a YOLO26n PyTorch model
    model = YOLO("yolo26n.pt")
    
    # Export the model
    model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

    Pour plus d’informations, consulte la documentation sur les formats d’exportation.

  • L’utilisation de la boîte à outils OpenVINO d’Intel avec les modèles YOLO26 offre plusieurs avantages :

    1. Performances : obtiens jusqu’à 3× d’accélération lors de l’inférence sur CPU et exploite les GPU et NPU Intel pour l’accélération.
    2. Optimiseur de modèles : convertis, optimise et exécute des modèles issus de frameworks populaires comme PyTorch, TensorFlow et ONNX.
    3. Facilité d’utilisation : une vaste collection de notebooks de tutoriels est disponible pour aider les utilisateurs à démarrer, notamment des notebooks consacrés à YOLO26.
    4. Exécution hétérogène : déploie des modèles sur différents matériels Intel avec une API unifiée.

    Pour des comparaisons détaillées des performances, consulte notre section consacrée aux benchmarks.

  • Après avoir exporté un modèle YOLO26n au format OpenVINO, tu peux exécuter l’inférence à l’aide de Python ou de la CLI :

    Exemple
    from ultralytics import YOLO
    
    # Load the exported OpenVINO model
    ov_model = YOLO("yolo26n_openvino_model/")
    
    # Run inference
    results = ov_model("https://ultralytics.com/images/bus.jpg")

    Consulte notre documentation sur le mode predict pour plus de détails.

  • Ultralytics YOLO26 est optimisé pour la détection d’objets en temps réel, avec une grande précision et une vitesse élevée. Plus précisément, associé à OpenVINO, YOLO26 offre :

    • Jusqu’à 3× d’accélération sur les CPU Intel
    • Un déploiement fluide sur les GPU et NPU Intel
    • Une précision cohérente et comparable entre différents formats d’exportation

    Pour une analyse approfondie des performances, consulte nos benchmarks détaillés de YOLO26 sur différents matériels.

  • Oui, tu peux évaluer les modèles YOLO26 dans différents formats, notamment PyTorch, TorchScript, ONNX et OpenVINO. Utilise l’extrait de code suivant pour exécuter les benchmarks sur le jeu de données de ton choix :

    Exemple
    from ultralytics import YOLO
    
    # Load a YOLO26n PyTorch model
    model = YOLO("yolo26n.pt")
    
    # Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats
    results = model.benchmark(data="coco8.yaml")

    Pour consulter les résultats détaillés des benchmarks, reporte-toi à notre section consacrée aux benchmarks et à notre documentation sur les formats d’exportation.

Commentaires