En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Paramètres des cookies
En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Découvrez comment l'exportation d'Ultralytics YOLO11 vers le format OpenVINO™ permet une inférence rapide comme l'éclair sur le matériel Intel®, améliorant ainsi la vitesse, l'évolutivité et la précision.
L'adoption de l'IA dépend de l'accessibilité des solutions d'IA, et une grande partie de cet objectif consiste à les rendre faciles à déployer sur le matériel dont les gens disposent déjà. L'exécution de modèles d'IA sur des GPU (processeurs graphiques) est une excellente option en termes de performances et de puissance de traitement parallèle.
Cependant, la réalité est que tout le monde n'a pas accès à des GPU haut de gamme, en particulier dans les environnements de pointe ou sur les ordinateurs portables de tous les jours. C'est pourquoi il est si important d'optimiser les modèles pour qu'ils s'exécutent efficacement sur du matériel plus largement disponible, comme les unités centrales de traitement (CPU), les GPU intégrés et les unités de traitement neuronal (NPU).
La vision par ordinateur, par exemple, est une branche de l'IA qui permet aux machines d'analyser et de comprendre les images et les flux vidéo en temps réel. Les modèles de vision artificielle comme Ultralytics YOLO11 prennent en charge des tâches essentielles telles que la détection d'objets et la segmentation d'instances, qui alimentent des applications allant de l'analyse de la vente au détail au diagnostic médical.
Fig. 1. Utilisation de Ultralytics YOLO11 pour détecter et segmenter des objets dans un magasin de détail.
Afin de rendre la vision par ordinateur plus largement accessible, Ultralytics a publié une intégration mise à jour avec la boîte à outils OpenVINO, qui est un projet open-source pour l'optimisation et l'exécution de l'inférence d'IA sur les CPU, GPU et NPU.
Grâce à cette intégration, il est plus facile d'exporter et de déployer des modèles YOLO11 avec une inférence jusqu'à 3× plus rapide sur les CPU et des performances accélérées sur les GPU Intel et les NPU. Dans cet article, nous allons voir comment utiliser le package Ultralytics Python pour exporter les modèles YOLO11 au format OpenVINO et les utiliser pour l'inférence. Commençons par le commencement !
Vue d'ensemble d'Ultralytics YOLO11
Avant de nous plonger dans les détails de l'intégration d'OpenVINO prise en charge par Ultralytics, examinons de plus près ce qui fait de YOLO11 un modèle de vision par ordinateur fiable et efficace. YOLO11 est le dernier modèle de la série YOLO d'Ultralytics, offrant des améliorations significatives en termes de vitesse et de précision.
L'un de ses points forts est l'efficacité. Par exemple, Ultralytics YOLO11m a 22 % de paramètres en moins qu'Ultralytics YOLOv8m, mais il atteint une précision moyenne plus élevée (mAP) sur l'ensemble de données COCO. Cela signifie qu'il s'exécute plus rapidement et qu'il détecte les objets avec plus de précision, ce qui en fait un outil idéal pour les applications en temps réel où les performances et la réactivité sont essentielles.
Fig. 2. Critères de performance d'Ultralytics YOLO11.
Au-delà de la détection d'objets, YOLO11 prend en charge diverses tâches avancées de vision par ordinateur telles que la segmentation d'instances, l'estimation de la pose, la classification d'images, le suivi d'objets et la détection de boîtes de délimitation orientées. YOLO11 est également convivial pour les développeurs, le package Ultralytics Python fournissant une interface simple et cohérente pour l'entraînement, l'évaluation et le déploiement de modèles.
En outre, le package Ultralytics Python prend en charge diverses intégrations et plusieurs formats d'exportation, notamment OpenVINO, ONNX, TorchScript, ce qui vous permet d'intégrer facilement YOLO11 dans divers pipelines de déploiement. Que vous visiez une infrastructure en nuage, des appareils périphériques ou des systèmes intégrés, le processus d'exportation est simple et adaptable à vos besoins matériels.
Qu'est-ce que OpenVINO™ ?
OpenVINO™ (Open Visual Inference and Neural Network Optimization) est une boîte à outils open-source pour l'optimisation et le déploiement de l'inférence IA sur une large gamme de matériel. Il permet aux développeurs d'exécuter efficacement des applications d'inférence sur diverses plateformes Intel, notamment les CPU, les GPU intégrés et discrets, les NPU et les réseaux de portes programmables (FPGA).
OpenVINO fournit une interface d'exécution unifiée qui fait abstraction des différences matérielles grâce à des plugins spécifiques à chaque appareil. Cela signifie que les développeurs peuvent écrire du code une seule fois et le déployer sur plusieurs cibles matérielles Intel à l'aide d'une API cohérente.
Voici quelques-unes des principales caractéristiques qui font d'OpenVINO un excellent choix pour le déploiement :
Convertisseur de modèles: cet outil convertit et prépare les modèles à partir de frameworks populaires tels que PyTorch, ONNX, TensorFlow, PaddlePaddle, et d'autres, afin qu'ils puissent être optimisés pour une inférence efficace sur le matériel Intel.
Exécution hétérogène: Vous n'avez pas besoin de réécrire votre code pour différents matériels Intel. OpenVINO facilite l'exécution du même modèle sur tout matériel supporté, des CPU aux GPU.
Prise en charge de la quantification: La boîte à outils prend en charge les formats de précision réduite tels que FP16 (par défaut) et INT8, ce qui permet de réduire la taille du modèle et d'accélérer l'inférence sans affecter de manière significative la précision.
Fig. 3. OpenVINO permet diverses options de déploiement.
Exploration de l'intégration Ultralytics x OpenVINO
Maintenant que nous avons exploré ce qu'est OpenVINO et son importance, voyons comment exporter les modèles YOLO11 au format OpenVINO et exécuter une inférence efficace sur le matériel Intel.
Etape 1 : Installer le paquetage Ultralytics Python
Pour exporter un modèle au format OpenVINO, vous devez d'abord installer le paquetage Ultralytics Python. Ce paquetage fournit tout ce dont vous avez besoin pour entraîner, évaluer et exporter les modèles YOLO, y compris YOLO11.
Vous pouvez l'installer en exécutant la commande"pip install ultralytics" dans votre terminal ou votre invite de commande. Si vous travaillez dans un environnement interactif comme Jupyter Notebook ou Google Colab, ajoutez simplement un point d'exclamation avant la commande.
De plus, si vous rencontrez des problèmes lors de l'installation ou de l'exportation, la documentation et les guides de dépannage d' Ultralytics sont d'excellentes ressources pour vous aider à revenir sur la bonne voie.
Étape 2 : Exporter votre modèle YOLO11 au format OpenVINO
Une fois le package Ultralytics installé, l'étape suivante consiste à charger votre modèle YOLO11 et à le convertir dans un format compatible avec OpenVINO.
Dans l'exemple ci-dessous, nous utilisons un modèle YOLO11 pré-entraîné ("yolo11n.pt"). La fonctionnalité d'exportation est utilisée pour le convertir au format OpenVINO. Après avoir exécuté ce code, le modèle converti sera enregistré dans un nouveau répertoire nommé "yolo11n_openvino_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="openvino")
Étape 3 : Exécuter l'inférence avec le modèle exporté
Une fois que votre modèle YOLO11 est exporté au format OpenVINO, vous pouvez effectuer des inférences de deux manières : en utilisant le package Ultralytics Python ou le Runtime OpenVINO natif.
Utiliser le paquetage Ultralytics Python
Le modèle YOLO11 exporté peut être facilement déployé à l'aide du paquetage Python Ultralytics, comme le montre l'extrait de code ci-dessous. Cette méthode est idéale pour une expérimentation rapide et un déploiement simplifié sur du matériel Intel.
Vous pouvez également spécifier le périphérique à utiliser pour l'inférence, par exemple "intel:cpu", "intel:gpu" ou "intel:npu", en fonction du matériel Intel disponible sur votre système.
Après avoir exécuté le code ci-dessus, l'image de sortie sera enregistrée dans le répertoire "runs/detect/predict".
Fig. 4. Utilisation du modèle YOLO11 exporté pour détecter des objets dans une image.
Utilisation du moteur d'exécution natif d'OpenVINO
Si vous recherchez un moyen personnalisable d'exécuter l'inférence, en particulier dans les environnements de production, le Runtime OpenVINO vous donne plus de contrôle sur la façon dont votre modèle est exécuté. Il prend en charge des fonctionnalités avancées telles que l'exécution asynchrone (exécution de plusieurs requêtes d'inférence en parallèle) et l'équilibrage de la charge (répartition efficace des charges de travail d'inférence sur le matériel Intel).
Pour utiliser le moteur d'exécution natif, vous aurez besoin des fichiers de modèle exportés : un fichier .xml (qui définit l'architecture du réseau) et un fichier .bin (qui stocke les poids entraînés du modèle). Vous pouvez également configurer des paramètres supplémentaires tels que les dimensions d'entrée ou les étapes de prétraitement en fonction de votre application.
Un flux de déploiement typique comprend l'initialisation du noyau OpenVINO, le chargement et la compilation du modèle pour un appareil cible, la préparation de l'entrée et l'exécution de l'inférence. Pour des exemples détaillés et des conseils étape par étape, consultez la documentation officielle d'Ultralytics OpenVINO.
Pourquoi choisir l'intégration Ultralytics x OpenVINO ?
En explorant les intégrations Ultralytics, vous remarquerez que le package Ultralytics Python prend en charge l'exportation des modèles YOLO11 vers une variété de formats tels que TorchScript, CoreML, TensorRT et ONNX. Alors, pourquoi choisir l'intégration OpenVINO ?
Voici quelques raisons pour lesquelles le format d'exportation OpenVINO est parfaitement adapté au déploiement de modèles sur du matériel Intel :
Gains de performance : L'inférence est jusqu'à 3 fois plus rapide sur les processeurs Intel, avec une accélération supplémentaire disponible sur les GPU intégrés et les NPU.
Aucun recyclage n'est nécessaire: Vous pouvez exporter vos modèles YOLO11 existants directement au format OpenVINO sans avoir à les modifier ou à les entraîner à nouveau.
Conçu pour être mis à l'échelle: Le même modèle exporté peut être déployé sur des appareils périphériques de faible puissance et sur une infrastructure cloud à grande échelle, ce qui simplifie le déploiement évolutif de l'IA.
Vous pouvez également évaluer les benchmarks de performance pour le modèle YOLO11 sur une gamme de plateformes Intel® sur le Hub de modèles OpenVINO™. Le Hub de modèles OpenVINO est une ressource permettant aux développeurs d'évaluer les modèles d'IA sur le matériel Intel et de découvrir l'avantage d'OpenVINO en termes de performances sur les CPU Intel, les GPU intégrés, les NPU et les graphiques discrets.
Fig 5. Hub du modèle OpenVINO™ : Benchmarks de performance pour le modèle YOLO11 sur une gamme de plateformes Intel®.
Applications de YOLO11 et du format d'exportation OpenVINO
Grâce à l'intégration d'OpenVINO, le déploiement des modèles YOLO11 sur du matériel Intel dans des situations réelles devient beaucoup plus simple.
Le commerce de détail intelligent en est un bon exemple : YOLO11 peut aider à détecter les rayons vides en temps réel, à repérer les produits en rupture de stock et à analyser la façon dont les clients se déplacent dans le magasin. Cela permet aux détaillants d'améliorer la gestion des stocks et d'optimiser l'agencement des magasins afin d'améliorer l'engagement des clients.
De même, dans les villes intelligentes, YOLO11 peut être utilisé pour surveiller le trafic en comptant les véhicules, en suivant les piétons et en détectant les infractions aux feux rouges en temps réel. Ces informations peuvent contribuer à l'optimisation de la circulation, à l'amélioration de la sécurité routière et à la mise en place de systèmes de contrôle automatisés.
Un autre cas d'utilisation intéressant est l'inspection industrielle, où YOLO11 peut être déployé sur les lignes de production pour détecter automatiquement les défauts visuels tels que les composants manquants, les défauts d'alignement ou les dommages de surface. Cela permet de renforcer l'efficacité, de réduire les coûts et d'améliorer la qualité des produits.
Facteurs clés à prendre en compte lors de l'utilisation de la boîte à outils OpenVINO
Lors du déploiement des modèles YOLO11 avec OpenVINO, voici quelques points importants à garder à l'esprit pour obtenir les meilleurs résultats :
Vérifier la compatibilité du matériel: Assurez-vous que votre matériel Intel, qu'il s'agisse d'un CPU, d'un GPU intégré ou d'un NPU, est pris en charge par OpenVINO afin que le modèle puisse fonctionner efficacement.
Installez les bons pilotes: Si vous utilisez des GPU ou des NPU Intel, vérifiez que tous les pilotes requis sont correctement installés et à jour.
Comprendre la précision de précision : OpenVINO prend en charge les modèles de précision FP32, FP16 et INT8. Il est donc important de choisir la bonne option en fonction de vos objectifs de performance et du matériel disponible.
Principaux enseignements
L'exportation d'Ultralytics YOLO11 vers le format OpenVINO facilite l'exécution de modèles Vision AI rapides et efficaces sur le matériel Intel. Vous pouvez les déployer sur des CPU, des GPU et des NPU sans avoir à réapprendre ou à modifier votre code. C'est un excellent moyen d'augmenter les performances tout en restant simple et évolutif.
Grâce à la prise en charge intégrée au package Ultralytics Python, l'exportation et l'exécution de l'inférence avec OpenVINO sont très simples. En quelques étapes seulement, vous pouvez optimiser votre modèle et l'exécuter sur une variété de plateformes Intel. Que vous travailliez sur la vente au détail intelligente, la surveillance du trafic ou l'inspection industrielle, ce flux de travail vous aide à passer du développement au déploiement avec rapidité et confiance.
Rejoignez la communauté YOLO et consultez le dépôt GitHub Ultralytics pour en savoir plus sur les intégrations impactantes supportées par Ultralytics. Jetez également un coup d'œil aux options de licence d'Ultralytics pour vous lancer dans la vision par ordinateur dès aujourd'hui !
Inscrivez-vous à notre prochain webinaire pour voir l'intégration Ultralytics × OpenVINO en action, et visitez le site Web d'OpenVINO pour explorer les outils d'optimisation et de déploiement de l'IA à l'échelle.