Utiliser l'intégration ONNX pour exporter les modèles Ultralytics YOLO
Apprends à exporter des modèles Ultralytics YOLO, comme Ultralytics YOLO11, en utilisant l'intégration ONNX pour un déploiement multiplateforme sur divers matériels.

Lorsque les solutions IA ont commencé à attirer l'attention, la plupart des modèles étaient déployés sur des serveurs puissants dans des environnements contrôlés. Cependant, avec les avancées technologiques, le déploiement s'est largement étendu au-delà du centre de données.
Aujourd'hui, les modèles d'IA fonctionnent sur tout, des serveurs cloud et ordinateurs de bureau aux smartphones et périphériques de périphérie (edge). Ce changement favorise un traitement plus rapide, une fonctionnalité hors ligne et des systèmes plus intelligents qui opèrent plus près de l'endroit où les données sont générées.
Un domaine où cela est particulièrement évident est la vision par ordinateur - une branche de l'IA qui permet aux machines d'interpréter des données visuelles. Elle est utilisée pour piloter des applications comme la reconnaissance faciale, la conduite autonome et l'analyse vidéo en temps réel. À mesure que ces cas d'utilisation se multiplient, le besoin de modèles capables de fonctionner de manière fluide sur divers matériels et plateformes augmente également.
Mais déployer des modèles de vision par ordinateur sur diverses cibles de déploiement n'est pas toujours simple. Les appareils diffèrent en termes de matériel, de systèmes d'exploitation et de frameworks pris en charge, ce qui rend la flexibilité et la compatibilité essentielles.
C'est pourquoi avoir la possibilité d'exporter des modèles de vision par ordinateur comme Ultralytics YOLO11 vers différents formats est primordial. Par exemple, l'intégration ONNX (Open Neural Network Exchange) prise en charge par Ultralytics offre un moyen pratique de combler le fossé entre l'entraînement et le déploiement. ONNX est un format ouvert qui rend les modèles agnostiques par rapport aux frameworks et prêts pour le déploiement sur toutes les plateformes.

Fig 1. ONNX t'aide à prendre un modèle entraîné dans un framework et à l'exécuter facilement dans un autre.
Dans cet article, nous examinerons de plus près l'intégration ONNX prise en charge par Ultralytics et nous explorerons comment tu peux exporter ton modèle YOLO11 pour un déploiement flexible et multiplateforme.
Link to this sectionQu'est-ce que ONNX et ONNX Runtime ?#
L'Open Neural Network Exchange est un projet open-source qui définit un format standard pour les modèles d'apprentissage automatique. Initialement développé par Microsoft et Facebook, il permet aux développeurs d'entraîner un modèle dans un framework, comme PyTorch, et de l'exécuter dans un autre, tel que TensorFlow. Cela rend le développement d'IA plus flexible, collaboratif et accessible, notamment dans des domaines comme la vision par ordinateur.
ONNX fournit un ensemble commun d'opérateurs et un format de fichier unifié, facilitant ainsi le transfert de modèles entre différents outils, frameworks, environnements d'exécution et compilateurs. Normalement, un modèle entraîné dans un framework n'est pas facilement compatible avec un autre, mais avec ONNX, tu peux exporter ton modèle une fois et le déployer presque partout : sur des CPU (Central Processing Units), des GPU (Graphics Processing Units), des appareils mobiles ou du matériel en périphérie.
De plus, ONNX Runtime est un moteur d'inférence haute performance développé spécifiquement pour exécuter des modèles au format ONNX. Il est conçu pour rendre les modèles ONNX plus rapides et plus efficaces sur une large gamme de plateformes, y compris les serveurs, les appareils mobiles et le matériel en périphérie. ONNX Runtime est compatible avec des frameworks populaires comme PyTorch, TensorFlow, TensorFlow Lite et scikit-learn, ce qui facilite son intégration dans différents flux de travail et le déploiement de modèles là où ils sont nécessaires.

Fig 2. ONNX et ONNX Runtime permettent un déploiement flexible et multiplateforme des modèles.
Link to this sectionFonctionnalités clés de ONNX#
Avant de discuter de la manière d'exporter YOLO11 vers le format ONNX, regardons quelques fonctionnalités clés du format de modèle ONNX.
Que tu changes d'outils, que tu déploies sur différents appareils ou que tu mettes à niveau des systèmes, ONNX aide à maintenir le bon fonctionnement de tout. Voici ce qui rend le format de modèle ONNX unique :
-
Un format standard : ONNX utilise une manière commune de décrire la construction des modèles, comme les couches et les opérations (pense à eux comme des blocs de construction). Lorsqu'un modèle est converti en ONNX, il suit cette norme afin que tout système prenant en charge ONNX puisse le comprendre et l'exécuter.
-
Compatibilité ascendante : Même si ONNX continue de s'améliorer, il garantit que les anciens modèles fonctionnent toujours avec les nouvelles versions. Cela signifie que tu n'as pas besoin de réentraîner ou de reconstruire tes modèles à chaque fois qu'ONNX reçoit une mise à jour.
-
Conception de modèle basée sur un graphe : Les modèles ONNX sont structurés sous forme de graphes de calcul, où chaque nœud représente une opération (comme une couche ou une fonction mathématique), et les arêtes indiquent le flux de données. Cette conception basée sur les graphes facilite l'intégration avec divers systèmes qui utilisent des structures de graphes de calcul similaires.
-
Outils conviviaux pour les développeurs : Il est accompagné d'une large gamme d'outils qui t'aident à convertir, valider et optimiser tes modèles. Ces outils simplifient le processus de déplacement des modèles entre différents frameworks et peuvent accélérer le déploiement, en particulier pour les applications de vision par ordinateur.
Link to this sectionUn aperçu de l'intégration ONNX#
L'exportation de modèles YOLO d'Ultralytics comme Ultralytics YOLO11 au format ONNX est simple et peut être effectuée en quelques étapes.
Pour commencer, installe le package Python d'Ultralytics en utilisant un gestionnaire de packages comme « pip ». Tu peux le faire en exécutant la commande « pip install ultralytics » dans ton invite de commande ou ton terminal.
Avec le package Ultralytics, tu peux facilement entraîner, tester, affiner, exporter et déployer des modèles pour diverses tâches de vision par ordinateur, rendant tout le processus plus rapide et plus efficace. Lors de l'installation, si tu rencontres des difficultés, tu peux consulter le guide des problèmes courants pour trouver des solutions et des astuces.
Une fois le package Ultralytics installé, tu peux charger et exporter le modèle YOLO11 vers le format ONNX en utilisant le code ci-dessous. Cet exemple charge un modèle YOLO11 pré-entraîné (yolo11n.pt) et l'exporte en tant que fichier ONNX (yolo11n.onnx), le rendant prêt pour un déploiement sur différentes plateformes et appareils.
Après avoir converti ton modèle au format ONNX, tu peux le déployer sur une variété de plateformes.
L'exemple ci-dessous montre comment charger le modèle YOLO11 exporté (yolo11n.onnx) et exécuter une inférence avec lui. L'inférence signifie simplement utiliser le modèle entraîné pour faire des prédictions sur de nouvelles données. Dans ce cas, nous utiliserons l'URL d'une image de bus pour tester le modèle.
Lorsque tu exécutes ce code, l'image de sortie suivante sera enregistrée dans le dossier runs/detect/predict.

Fig 3. Exécution d'une inférence à l'aide du modèle YOLO11 exporté sur une image.
Link to this sectionQuand devrais-tu choisir l'intégration ONNX ?#
Le package Python d'Ultralytics prend en charge l'exportation de modèles vers plusieurs formats, y compris TorchScript, CoreML, TensorRT et ONNX. Alors, pourquoi choisir ONNX ?
Ce qui distingue ONNX, c'est qu'il s'agit d'un format agnostique par rapport aux frameworks. Alors que de nombreux autres formats d'exportation sont liés à des outils ou environnements spécifiques, ONNX utilise un format standardisé et un ensemble partagé d'opérateurs. Cela le rend hautement portable, compatible avec le matériel et idéal pour un déploiement multiplateforme, que tu travailles avec des serveurs cloud, des applications mobiles ou des appareils en périphérie.
Voici quelques raisons pour lesquelles l'intégration ONNX pourrait être le choix idéal pour tes projets YOLO11 :
-
Déploiement portable : Une fois exporté vers ONNX, ton modèle YOLO11 peut être déployé sur diverses plateformes sans changement de code ni réentraînement.
-
Prise en charge à l'échelle de l'industrie : ONNX est pris en charge par les grandes entreprises et les frameworks d'IA, ce qui en fait un format fiable et largement accepté. Il garantit une compatibilité à long terme, un peu comme la façon dont les PDF fonctionnent sur tous les appareils.
-
Développement pérenne : Utiliser ONNX aide à protéger tes investissements dans les modèles. À mesure que les outils évoluent, ONNX maintient tes modèles pertinents et utilisables, même dans des environnements nouveaux ou différents.
-
Pas de verrouillage propriétaire : Certains outils te lient à l'utilisation exclusive de leur système, ce qui peut limiter ce que ton modèle peut faire. ONNX évite cela en te laissant choisir la plateforme qui correspond le mieux à tes besoins, sans être coincé avec une configuration unique.
Link to this sectionApplications de YOLO11 et du format de modèle ONNX#
Ensuite, explorons quelques applications concrètes où YOLO11 peut être déployé avec l'aide de l'intégration ONNX.
Link to this sectionSuivi de l'inventaire dans les entrepôts avec YOLO11#
Dans les entrepôts très fréquentés, il est difficile de garder un œil sur chaque produit et colis en tout temps. Les systèmes de vision par ordinateur peuvent aider les travailleurs à trouver des produits sur les étagères et à obtenir des informations telles que le nombre de produits, le type, etc. De tels systèmes peuvent aider les entreprises à gérer automatiquement leur vaste inventaire et à faire gagner beaucoup de temps aux employés d'entrepôt.
Plus précisément, dans les entrepôts intelligents, les modèles YOLO11 exportés en ONNX peuvent être utilisés pour identifier et compter les articles en temps réel à l'aide de caméras et d'appareils en périphérie. Le modèle exporté peut aider à scanner les étagères ou les palettes pour détecter les niveaux de stock, les articles manquants ou les emplacements vides. Comme l'exportation vers ONNX rend le modèle léger et efficace, il peut s'exécuter directement sur de petits appareils en périphérie, comme des caméras intelligentes, éliminant ainsi le besoin de serveurs coûteux ou d'un accès constant au cloud.

Fig 4. Un exemple d'utilisation de YOLO11 pour détecter et compter des colis.
Link to this sectionGestion des déchets hospitaliers avec YOLO11#
Les hôpitaux du monde entier créent de grandes quantités de déchets chaque jour, des gants et seringues usagés aux équipements utilisés pendant la chirurgie (comme les outils chirurgicaux à usage unique ou contaminés tels que les ciseaux et les scalpels). En fait, la recherche montre que les hôpitaux produisent environ 5 millions de tonnes de déchets chaque année, soit 13 kg (29 livres) de déchets par lit par jour.
Trier correctement ces déchets est essentiel pour l'hygiène, la sécurité et le respect des réglementations. Avec des modèles YOLO11 exportés au format ONNX, les hôpitaux peuvent automatiser et surveiller l'élimination des déchets en temps réel.
Par exemple, des caméras placées près des poubelles dans des zones comme les salles d'opération ou les couloirs peuvent surveiller les articles au fur et à mesure qu'ils sont jetés. Un modèle YOLO11 personnalisé, entraîné pour reconnaître différents types de déchets médicaux, peut analyser les images et identifier ce qui est jeté. Si un article finit dans la mauvaise poubelle, comme une seringue usagée dans les ordures ménagères, le système peut être configuré pour alerter immédiatement le personnel avec une lumière ou un son, aidant ainsi à prévenir la contamination et à assurer la conformité.

Fig 5. Utilisation de YOLO11 pour détecter des instruments médicaux.
Link to this sectionSurveillance des cultures avec YOLO11#
Connaître le bon moment pour récolter les cultures peut avoir un impact majeur à la fois sur la qualité des produits et sur la productivité globale d'une ferme. Traditionnellement, les agriculteurs comptent sur leur expérience et des inspections manuelles, mais avec les récentes avancées technologiques, cela commence à changer.
Désormais, avec des innovations de vision par ordinateur comme YOLO11, exporté au format ONNX, les agriculteurs peuvent apporter automatisation et précision sur le terrain. En utilisant des drones ou des caméras montées sur des tracteurs ou des poteaux, les agriculteurs peuvent capturer des images de leurs cultures (comme des tomates, des pommes ou du blé). YOLO11 peut ensuite être utilisé pour détecter des indicateurs clés comme la couleur, la taille et la distribution des cultures. Sur la base de ces informations, les agriculteurs peuvent déterminer si les cultures sont prêtes à être récoltées, si elles arrivent à maturité ou si elles ont déjà dépassé leur pic.

Fig 6. YOLO11 peut être utilisé pour détecter des cultures dans des images aériennes de drone.
Link to this sectionLimites d'ONNX à prendre en compte#
Bien qu'ONNX offre de nombreux avantages, tels que la portabilité, la compatibilité multiplateforme et l'interopérabilité entre les frameworks, il y a quelques limites à garder à l'esprit :
-
Taille du modèle : La conversion des modèles au format ONNX peut parfois entraîner des tailles de fichiers plus importantes par rapport à leurs formats d'origine. Des techniques comme la quantification et l'élagage peuvent aider à atténuer ce problème en réduisant la taille du modèle sans affecter de manière significative les performances.
-
Compatibilité de l'environnement d'exécution : Bien qu'ONNX Runtime soit conçu pour une compatibilité multiplateforme, les performances et la prise en charge peuvent varier selon le matériel et les systèmes d'exploitation.
-
Défis de débogage : Le débogage des modèles ONNX peut être plus complexe que dans les frameworks natifs comme PyTorch ou TensorFlow. Les messages d'erreur peuvent être moins descriptifs, ce qui rend plus difficile la localisation des problèmes. Cependant, des outils comme Netron pour la visualisation des modèles et les capacités de journalisation d'ONNX Runtime peuvent aider au dépannage.
Link to this sectionPoints clés#
Exporter Ultralytics YOLO11 vers ONNX facilite la prise d'un modèle de vision par ordinateur entraîné pour le déployer presque partout, que ce soit sur un ordinateur portable, un appareil mobile ou même une caméra intelligente compacte. Avec l'intégration ONNX, tu n'es pas lié à un framework ou une plateforme unique, ce qui te donne la flexibilité d'exécuter ton modèle dans l'environnement qui convient le mieux à ton application.
Cela rend la transition de l'entraînement au déploiement réel plus rapide et plus efficace. Que tu suives l'inventaire dans un entrepôt ou que tu t'assures que les déchets hospitaliers sont éliminés correctement, cette configuration aide les systèmes à fonctionner plus facilement, réduit les erreurs et fait gagner un temps précieux.
Envie d'en savoir plus sur la vision par ordinateur et l'IA ? Explore notre dépôt GitHub, connecte-toi avec notre communauté et consulte nos options de licence pour démarrer ton projet de vision par ordinateur. Si tu explores des innovations comme l'IA dans la fabrication et la vision par ordinateur dans l'industrie automobile, visite nos pages de solutions pour en découvrir davantage.






