Connectez-vous à YOLO Vision 2025 !
25 septembre 2025
10:00 — 18:00, heure d'été britannique
Événement hybride
Yolo Vision 2024

Utilisation de l'intégration ONNX​ pour exporter des modèles Ultralytics YOLO

Abirami Vina

4 min de lecture

2 mai 2025

Découvrez comment exporter des modèles Ultralytics YOLO, tels que Ultralytics YOLO11, en utilisant l'intégration ONNX pour un déploiement multiplateforme sur divers matériels.

Lorsque les solutions d'IA ont commencé à gagner en popularité, la plupart des modèles étaient déployés sur des serveurs puissants dans des environnements contrôlés. Cependant, avec les progrès de la technologie, le déploiement s'est étendu bien au-delà du centre de données.

Aujourd'hui, les modèles d'IA fonctionnent sur tous les types de supports, des serveurs cloud et ordinateurs de bureau aux smartphones et appareils périphériques. Cette évolution permet un traitement plus rapide, une fonctionnalité hors ligne et des systèmes plus intelligents qui fonctionnent 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 les données visuelles. Elle est utilisée pour piloter des applications telles que la reconnaissance faciale, la conduite autonome et l'analyse vidéo en temps réel. Au fur et à mesure que ces cas d'utilisation se développent, le besoin de modèles capables de fonctionner de manière fluide sur divers matériels et plateformes augmente également.

Mais le déploiement de modèles de vision par ordinateur sur un éventail de 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 il est essentiel d'avoir la possibilité d'exporter des modèles de vision par ordinateur comme Ultralytics YOLO11 vers différents formats. Par exemple, l'intégration ONNX (Open Neural Network Exchange) prise en charge par Ultralytics offre un moyen pratique de combler le fossé entre la formation et le déploiement. ONNX est un format ouvert qui rend les modèles indépendants du framework et prêts à être déployés sur toutes les plateformes.

Fig 1. ONNX vous 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 explorerons comment vous pouvez exporter votre modèle YOLO11 pour un déploiement flexible et multiplateforme.

Qu'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. Développé à l'origine 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, comme TensorFlow. Cela rend le développement de l'IA plus flexible, collaboratif et accessible, en particulier dans des domaines comme la vision par ordinateur.

ONNX fournit un ensemble commun d'opérateurs et un format de fichier unifié, ce qui facilite 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, vous pouvez exporter votre modèle une fois et le déployer presque partout : sur les CPU (Central Processing Units), les GPU (Graphics Processing Units), les appareils mobiles ou le matériel périphérique.

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 accélérer et améliorer l'efficacité de l'exécution des modèles ONNX sur un large éventail de plateformes, y compris les serveurs, les appareils mobiles et le matériel périphérique. ONNX Runtime est compatible avec les 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 de modèles multiplateformes.

Principales caractéristiques d'ONNX 

Avant de voir comment exporter YOLO11 au format ONNX, examinons quelques caractéristiques clés du format de modèle ONNX. 

Que vous changiez d'outils, que vous déployiez sur différents appareils ou que vous mettiez à niveau des systèmes, ONNX vous aide à assurer le bon fonctionnement de l'ensemble. Voici ce qui rend le format de modèle ONNX unique :

  • Un format standard : ONNX utilise une méthode commune pour décrire la façon dont les modèles sont construits, comme les couches et les opérations (considérez-les comme des éléments de base). 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é descendante : 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 vous n'avez pas à réentraîner ou à reconstruire vos modèles chaque fois qu'ONNX reçoit une mise à jour.
  • Conception de modèle basée sur des graphes : Les modèles ONNX sont structurés sous forme de graphes de calcul, où chaque nœud représente une opération (telle qu'une couche ou une fonction mathématique) et les arêtes indiquent le flux de données. Cette conception basée sur des 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 livré avec une large gamme d'outils qui vous aident à convertir, valider et optimiser vos modèles. Ces outils simplifient le processus de transfert de modèles entre différents frameworks et peuvent accélérer le déploiement - en particulier pour les applications de vision par ordinateur.

Présentation de l'intégration ONNX

L'exportation de modèles Ultralytics YOLO comme Ultralytics YOLO11 au format ONNX est simple et peut être réalisée en quelques étapes. 

Pour commencer, installez le paquet Python Ultralytics à l'aide d'un gestionnaire de paquets tel que ‘pip’. Pour ce faire, exécutez la commande “pip install ultralytics” dans votre invite de commande ou votre terminal.

Avec le paquet Ultralytics, vous pouvez facilement entraîner, tester, affiner, exporter et déployer des modèles pour diverses tâches de vision par ordinateur, ce qui accélère et améliore l'efficacité de l'ensemble du processus. Si vous rencontrez des difficultés lors de l'installation, vous pouvez consulter le guide des problèmes courants pour obtenir des solutions et des conseils.

Une fois le paquet Ultralytics installé, vous pouvez charger et exporter le modèle YOLO11 au 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 à être déployé sur différentes plateformes et différents appareils.

Après avoir converti votre modèle au format ONNX, vous pouvez le déployer sur diverses plateformes. 

L'exemple ci-dessous montre comment charger le modèle YOLO11 exporté (yolo11n.onnx) et exécuter une inférence avec celui-ci. 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 vous exécutez ce code, l'image de sortie suivante est 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.

Quand devriez-vous choisir l'intégration ONNX ?

Le paquet Python Ultralytics prend en charge l'exportation de modèles vers plusieurs formats, notamment TorchScript, CoreML, TensorRT et ONNX. Alors, pourquoi choisir ONNX ?

Ce qui distingue ONNX, c'est qu'il s'agit d'un format indépendant du framework. Alors que de nombreux autres formats d'exportation sont liés à des outils ou des 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 le déploiement multiplateforme, que vous travailliez avec des serveurs cloud, des applications mobiles ou des appareils périphériques. 

Voici quelques raisons pour lesquelles l'intégration ONNX pourrait être le choix idéal pour vos projets YOLO11 :

  • Déploiement portable : Une fois exporté vers ONNX, votre modèle YOLO11 peut être déployé sur diverses plateformes sans modification du code ni réentraînement.
  • Prise en charge à l'échelle de l'industrie : ONNX est pris en charge par les principales entreprises et frameworks d'IA, ce qui en fait un format fiable et largement accepté. Il garantit une compatibilité à long terme, un peu comme le fonctionnement des fichiers PDF sur différents appareils.
  • Développement à l'épreuve du temps : L'utilisation d'ONNX permet de protéger vos investissements dans les modèles. Au fur et à mesure que les outils évoluent, ONNX maintient vos modèles pertinents et utilisables, même dans des environnements nouveaux ou différents.
  • Pas de dépendance vis-à-vis d'un fournisseur : Certains outils vous obligent à utiliser uniquement leur système, ce qui peut limiter ce que votre modèle peut faire. ONNX évite cela en vous permettant de choisir la plateforme qui convient le mieux à vos besoins, sans être bloqué avec une seule configuration.

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

Suivi des stocks dans les entrepôts à l'aide de YOLO11

Dans les entrepôts très fréquentés, il est difficile de garder un œil sur chaque produit et colis à tout moment. 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. Ces systèmes peuvent aider les entreprises à gérer automatiquement leurs vastes stocks et à faire gagner beaucoup de temps aux employés de l'entrepôt.

Plus précisément, dans les entrepôts intelligents, les modèles YOLO11 exportés vers ONNX peuvent être utilisés pour identifier et compter les articles en temps réel à l'aide de caméras et d'appareils périphériques. 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. Étant donné que l'exportation vers ONNX rend le modèle léger et efficace, il peut fonctionner directement sur de petits appareils périphériques, tels que des caméras intelligentes, ce qui élimine 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 les colis.

Gestion des déchets hospitaliers avec YOLO11

Les hôpitaux du monde entier créent chaque jour de grandes quantités de déchets, des gants et seringues usagés aux équipements utilisés pendant la chirurgie (comme les outils chirurgicaux à usage unique ou contaminés comme 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 29 livres de déchets par lit et par jour. 

Le tri approprié de ces déchets est essentiel pour l'hygiène, la sécurité et le respect des réglementations. Grâce aux 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 telles que les salles d'opération ou les couloirs peuvent surveiller les articles au fur et à mesure de leur élimination. 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, contribuant ainsi à prévenir la contamination et à assurer la conformité.

Fig 5. Utilisation de YOLO11 pour détecter les instruments médicaux.

Surveillance des cultures activée par YOLO11

Connaître le bon moment pour récolter les cultures peut avoir un impact important sur la qualité des produits et la productivité globale d'une exploitation agricole. Traditionnellement, les agriculteurs s'appuient sur leur expérience et des inspections manuelles, mais avec les récentes avancées technologiques, cela commence à changer.

Désormais, grâce aux innovations en matière de vision par ordinateur comme YOLO11, exporté au format ONNX, les agriculteurs peuvent apporter automatisation et précision dans leurs champs. En utilisant des drones ou des caméras montées sur des tracteurs ou des poteaux, ils peuvent capturer des images de leurs cultures (telles que des tomates, des pommes ou du blé). YOLO11 peut ensuite être utilisé pour détecter des indicateurs clés tels que 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, encore en maturation ou déjà passées leur pic.

Fig 6. YOLO11 peut être utilisé pour détecter les cultures dans des images aériennes prises par drone. 

Limites d'ONNX à considérer

Bien qu'ONNX offre de nombreux avantages, tels que la portabilité, la compatibilité multiplateforme et l'interopérabilité des frameworks, il existe certaines limitations à garder à l'esprit :​

  • Taille du modèle : La conversion de modèles au format ONNX peut parfois entraîner des fichiers plus volumineux par rapport à leurs formats d'origine. Des techniques telles que 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é d'exécution : Bien qu'ONNX Runtime soit conçu pour une compatibilité multiplateforme, les performances et le support 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 l'identification des problèmes. Cependant, des outils tels que Netron pour la visualisation des modèles et les capacités de journalisation d'ONNX Runtime peuvent aider au dépannage.

Principaux points à retenir

L'exportation d'Ultralytics YOLO11 vers ONNX facilite la prise d'un modèle de vision par ordinateur entraîné et son déploiement presque partout, que ce soit sur un ordinateur portable, un appareil mobile ou même une caméra intelligente compacte. Grâce à l'intégration ONNX, vous n'êtes pas lié à un seul framework ou plateforme, ce qui vous donne la flexibilité d'exécuter votre modèle dans l'environnement qui convient le mieux à votre application. 

Cela rend la transition de l'entraînement au déploiement dans le monde réel plus rapide et plus efficace. Que vous suiviez les stocks dans un entrepôt ou que vous vous assuriez que les déchets hospitaliers sont éliminés correctement, cette configuration aide les systèmes à fonctionner plus facilement, réduit les erreurs et permet de gagner un temps précieux.

Vous voulez en savoir plus sur la vision par ordinateur et l'IA ? Explorez notre dépôt GitHub, connectez-vous avec notre communauté et consultez nos options de licence pour démarrer votre projet de vision par ordinateur. Si vous explorez des innovations telles que l'IA dans la fabrication et la vision par ordinateur dans l'industrie automobile, visitez nos pages de solutions pour en savoir plus. 

Construisons ensemble l'avenir
de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique

Démarrer gratuitement
Lien copié dans le presse-papiers