En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Paramètres des cookies
En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Découvrez comment l'exportation d'Ultralytics YOLO11 au format OpenVINO™ permet une inférence ultra-rapide 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 cette accessibilité réside dans la facilité de leur déploiement sur le matériel dont les gens disposent déjà. L'exécution de modèles d'IA sur des GPU (unités de traitement graphique) 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 périphériques ou sur les ordinateurs portables courants. C'est pourquoi il est si important d'optimiser les modèles pour qu'ils fonctionnent 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 IA comme Ultralytics YOLO11 prennent en charge des tâches clés telles que la détection d'objets et la segmentation d'instances qui alimentent des applications allant de l'analyse de vente au détail aux diagnostics médicaux.
Fig. 1. Utilisation d'Ultralytics YOLO11 pour détecter et segmenter des objets dans un magasin de détail.
Pour 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 de l'IA sur les CPU, les GPU et les 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 fois plus rapide sur les CPU et des performances accélérées sur les GPU et NPU Intel. Dans cet article, nous allons vous expliquer comment utiliser le package Python Ultralytics pour exporter les modèles YOLO11 au format OpenVINO et l'utiliser pour l'inférence. Commençons !
Présentation de Ultralytics YOLO11
Avant d'entrer dans les détails de l'intégration 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 percutant. YOLO11 est le dernier modèle de la série Ultralytics YOLO, offrant des améliorations significatives en termes de vitesse et de précision.
L'un de ses principaux atouts est son efficacité. Par exemple, Ultralytics YOLO11m a 22 % de paramètres en moins qu'Ultralytics YOLOv8m, tout en atteignant une précision moyenne (mAP) plus élevée sur l'ensemble de données COCO. Cela signifie qu'il fonctionne plus rapidement et détecte également les objets avec plus de précision, ce qui le rend idéal pour les applications en temps réel où la performance et la réactivité sont essentielles.
Fig. 2. Benchmarks de performance d'Ultralytics YOLO11.
Au-delà de la détection d'objets, YOLO11 prend en charge diverses tâches de vision par ordinateur avancées telles que la segmentation d'instances, l'estimation de pose, la classification d'images, le suivi d'objets et la détection de boîtes englobantes orientées. YOLO11 est également convivial pour les développeurs, le package Python Ultralytics fournissant une interface simple et cohérente pour l'entraînement, l'évaluation et le déploiement de modèles.
De plus, le package Python Ultralytics prend en charge diverses intégrations et de multiples formats d'exportation, notamment OpenVINO, ONNX, TorchScript, vous permettant d'intégrer facilement YOLO11 dans divers pipelines de déploiement. Que vous cibliez l'infrastructure cloud, les appareils de périphérie ou les systèmes embarqués, le processus d'exportation est simple et adaptable à vos besoins matériels.
Qu'est-ce qu'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 d'IA sur une large gamme de matériel. Il permet aux développeurs d'exécuter efficacement des applications d'inférence haute performance sur diverses plateformes Intel, notamment les CPU, les GPU intégrés et discrets, les NPU et les réseaux de portes programmables sur le terrain (FPGA).
OpenVINO fournit une interface d'exécution unifiée qui fait abstraction des différences matérielles grâce à des plugins spécifiques aux appareils. Cela signifie que les développeurs peuvent écrire du code une seule fois et le déployer sur plusieurs cibles matérielles Intel en utilisant 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èle : Cet outil convertit et prépare les modèles à partir de frameworks populaires tels que PyTorch, ONNX, TensorFlow, PaddlePaddle, et 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 n'importe quel matériel pris en charge, 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, qui aident à réduire la taille du modèle et à 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, discutons de la manière d'exporter les modèles YOLO11 au format OpenVINO et d'exécuter une inférence efficace sur le matériel Intel.
Étape 1 : Installez le paquet Python Ultralytics
Pour exporter un modèle au format OpenVINO, vous devez d'abord installer le package Python Ultralytics. Ce package fournit tout ce dont vous avez besoin pour entraîner, évaluer et exporter des modèles YOLO, y compris YOLO11.
Vous pouvez l'installer en exécutant la commande "pip install ultralytics" dans votre terminal ou 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 Ultralytics et les guides de dépannage sont d'excellentes ressources pour vous aider à vous remettre sur les rails.
Étape 2 : Exportez votre modèle YOLO11 au format OpenVINO
Une fois le package Ultralytics configuré, 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 votre modèle YOLO11 exporté au format OpenVINO, vous pouvez exécuter des inférences de deux manières : en utilisant le package Python Ultralytics ou l'environnement d'exécution OpenVINO natif.
Utilisation du package Python Ultralytics
Le modèle YOLO11 exporté peut être facilement déployé à l'aide du package 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, tel que "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 de l'environnement d'exécution OpenVINO natif
Si vous recherchez un moyen personnalisable d'exécuter l'inférence, en particulier dans les environnements de production, OpenVINO Runtime vous offre 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 charge (répartition efficace des charges de travail d'inférence sur le matériel Intel).
Pour utiliser le runtime 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 cœur OpenVINO, le chargement et la compilation du modèle pour un dispositif 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 Ultralytics OpenVINO.
Pourquoi choisir l'intégration Ultralytics x OpenVINO ?
Lors de l'exploration des intégrations Ultralytics, vous remarquerez que le package Python Ultralytics prend en charge l'exportation des modèles YOLO11 vers divers 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 : Vous pouvez bénéficier d'une inférence jusqu'à 3 fois plus rapide sur les CPU Intel, avec une accélération supplémentaire disponible sur les GPU intégrés et les NPU.
Aucun réentraînement nécessaire : Vous pouvez exporter vos modèles YOLO11 existants directement au format OpenVINO sans les modifier ni les réentraîner.
Conçu pour l'évolutivité : Le même modèle exporté peut être déployé sur des appareils périphériques à faible consommation d'énergie et sur une infrastructure cloud à grande échelle, ce qui simplifie le déploiement de l'IA évolutive.
Vous pouvez également évaluer les performances du modèle YOLO11 sur différentes plateformes Intel® sur le OpenVINO™ Model Hub. Le OpenVINO Model Hub 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 de performance d'OpenVINO sur les CPU Intel, les GPU intégrés, les NPU et les cartes graphiques discrètes.
Fig 5. OpenVINO™ Model Hub : 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 le matériel Intel dans des situations réelles devient beaucoup plus simple.
Un excellent exemple est le commerce de détail intelligent, où YOLOv8 peut aider à détecter les rayons vides en temps réel, à suivre les produits qui s'épuisent 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 la disposition des magasins pour une meilleure interaction avec les 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 aider à optimiser la circulation, à améliorer la sécurité routière et à assister les 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ésalignements ou les dommages de surface. Cela améliore l'efficacité, réduit les coûts et favorise une meilleure qualité des produits.
Facteurs clés à prendre en compte lors de l'utilisation de la boîte à outils OpenVINO
Lors du déploiement de modèles YOLO11 avec OpenVINO, voici quelques éléments 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 les compromis de précision : OpenVINO prend en charge les précisions de modèle FP32, FP16 et INT8. Chacune d'entre elles implique un compromis entre la vitesse et la précision. Il est donc important de choisir la bonne option en fonction de vos objectifs de performance et du matériel disponible.
Principaux points à retenir
L'exportation d'Ultralytics YOLO11 au format OpenVINO facilite l'exécution de modèles de Vision IA rapides et efficaces sur le matériel Intel. Vous pouvez déployer sur les CPU, les GPU et les NPU sans avoir besoin de réentraîner ou de modifier votre code. C'est un excellent moyen d'améliorer les performances tout en gardant les choses simples et évolutives.
Grâce à la prise en charge intégrée au package Python Ultralytics, l'exportation et l'exécution de l'inférence avec OpenVINO sont simples. En quelques étapes seulement, vous pouvez optimiser votre modèle et l'exécuter sur diverses plateformes Intel. Que vous travailliez sur le commerce de détail intelligent, 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 répertoire GitHub d'Ultralytics pour en savoir plus sur les intégrations importantes prises en charge par Ultralytics. Consultez également les options de licence Ultralytics pour démarrer dès aujourd'hui avec la vision par ordinateur !
Inscrivez-vous à notre prochain webinaire pour voir l'intégration d'Ultralytics × OpenVINO en action, et visitez le site web d'OpenVINO pour découvrir des outils d'optimisation et de déploiement de l'IA à grande échelle.