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 exporter et déployer les modèles Ultralytics YOLO11 avec l'intégration MNN pour une inférence rapide sur les plateformes mobiles, embarquées et à faible consommation d'énergie.
De nos jours, les innovations en matière d'IA se sont étendues au-delà des environnements de serveurs distants. Les solutions d'IA sont intégrées dans des appareils périphériques tels que les capteurs et les smartphones. Grâce à cette évolution technologique, les données peuvent désormais être traitées directement là où elles sont générées, ce qui permet des réponses plus rapides, une meilleure confidentialité et une dépendance réduite à une connectivité cloud constante.
Par conséquent, l'IA en périphérie gagne du terrain dans de nombreux secteurs. Le marché des logiciels d'IA en périphérie devrait atteindre 8,88 milliards de dollars d'ici 2031, à mesure que de plus en plus de systèmes évoluent vers un traitement plus rapide et plus local.
En particulier, la vision par ordinateur, une branche de l'IA qui se concentre sur la compréhension des images et des vidéos, est rapidement adoptée en périphérie. Du comptage des produits alimentaires lors de leur emballage à l'aide aux véhicules pour détecter les piétons, la vision par ordinateur prend en charge d'innombrables applications pratiques dans différents secteurs.
Ceci est rendu possible grâce aux modèles de vision par ordinateur. Par exemple, Ultralytics YOLO11 est un modèle qui prend en charge diverses tâches d'IA de vision telles que la détection d'objets, la segmentation d'instances, le suivi d'objets et l'estimation de pose. Il est conçu pour être rapide et efficace et fonctionne bien sur les appareils dotés de ressources matérielles limitées.
Fig. 1. Détection et suivi des aliments en cours de conditionnement à l'aide de YOLO11 (Source).
En plus d'être adapté au déploiement en périphérie, grâce aux diverses intégrations prises en charge par Ultralytics, YOLO11 peut être exporté vers différents formats adaptés à divers environnements matériels.
L'une des options les plus efficaces est MNN (Mobile Neural Network), un moteur d'inférence léger conçu pour les appareils à faibles ressources. L'exportation de YOLO11 vers MNN lui permet de fonctionner directement sur les téléphones mobiles, les systèmes embarqués et autres plateformes périphériques où un traitement rapide sur l'appareil est essentiel.
Dans cet article, nous allons explorer le fonctionnement de l'intégration MNN, souligner les cas d'utilisation courants et expliquer comment démarrer l'exécution d'inférences à l'aide d'un modèle YOLO11 exporté. Commençons !
Aperçu de MNN : un framework de deep learning
L'exécution de modèles de vision artificielle sur des appareils plus petits comme les téléphones portables, les capteurs industriels et les systèmes portables n'est pas toujours simple. Ces appareils ont souvent une mémoire limitée, des processeurs plus lents et des limites de puissance strictes.
Le Mobile Neural Network, ou MNN, est un moteur d'inférence léger et performant développé par Alibaba pour permettre aux modèles d'IA de fonctionner efficacement sur du matériel à faibles ressources tout en maintenant des performances en temps réel. MNN prend en charge une large gamme de plateformes, notamment Android, iOS et Linux, et fonctionne sur différents types de matériel tels que les unités centrales de traitement (CPU) et les unités de traitement graphique (GPU).
L'intégration de MNN prise en charge par Ultralytics permet d'exporter facilement les modèles YOLO11 au format MNN. En termes simples, cela signifie que les modèles peuvent être convertis du format YOLO au format MNN.
Une fois convertis, ils peuvent être déployés sur des appareils qui prennent en charge le framework MNN pour une inférence efficace sur l'appareil. Un avantage clé de l'utilisation du format MNN est qu'il simplifie le déploiement de YOLO11 dans les scénarios où la taille, la vitesse et l'efficacité des ressources sont essentielles.
Principales caractéristiques du backend d'inférence MNN
Avant de nous pencher sur l'utilisation de l'intégration MNN, examinons ce qui fait du framework MNN un excellent choix pour l'exécution de modèles d'IA sur des appareils du monde réel. Il est conçu pour gérer les contraintes uniques des environnements périphériques tout en offrant des performances rapides et fiables.
Il est intéressant de noter que MNN est utilisé en interne chez Alibaba dans plus de 30 applications, notamment Taobao, Tmall, Youku, DingTalk et Xianyu, dans un large éventail de scénarios tels que la vidéo en direct, le contenu de courte durée, la recherche d'images et les contrôles de sécurité sur l'appareil. Il prend en charge le déploiement à grande échelle et exécute des millions d'inférences par jour dans des environnements de production.
Voici quelques-unes des principales caractéristiques du framework MNN :
Sélection automatique du backend : MNN peut choisir automatiquement le backend d'exécution le plus approprié, tel que le CPU ou le GPU, en fonction du matériel sur lequel il s'exécute.
Exécution multithread : Il prend en charge le multithreading, ce qui lui permet de tirer pleinement parti des processeurs multicœurs pour une inférence plus rapide.
Prise en charge de la quantification de modèles : Elle vous permet de réduire considérablement la taille du modèle en utilisant la quantification FP16 ou INT8, ce qui contribue à améliorer la vitesse d'inférence tout en utilisant moins de mémoire.
Léger et rapide : MNN a une très faible empreinte, avec la bibliothèque de base d'environ 400 Ko sur Android et d'environ 5 Mo sur iOS, ce qui le rend idéal pour les appareils mobiles et embarqués.
Comprendre le fonctionnement de l'intégration MNN
Ensuite, voyons comment exporter les modèles YOLO11 au format MNN.
La première étape consiste à installer le package Python Ultralytics, qui fournit tout le nécessaire pour exporter les modèles YOLO11 au format MNN. Pour ce faire, exécutez « pip install ultralytics » dans votre terminal ou utilisez l'invite de commande. Si vous utilisez un Jupyter Notebook ou Google Colab, ajoutez un point d'exclamation avant la commande.
Si vous rencontrez des problèmes lors de l'installation, consultez le guide des problèmes courants pour obtenir des conseils de dépannage.
Une fois votre environnement configuré, vous pouvez charger un modèle YOLO11 pré-entraîné tel que « yolo11n.pt » et l'exporter au format MNN comme indiqué dans l'extrait de code ci-dessous. Si vous avez entraîné votre propre modèle YOLO11 personnalisé, vous pouvez l'exporter simplement en remplaçant le nom de fichier par le chemin d'accès à votre modèle.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")
Après avoir converti votre modèle en MNN, vous pouvez l'utiliser sur différentes plateformes mobiles et embarquées en fonction des besoins de votre application.
Par exemple, supposons que vous souhaitiez tester le modèle exporté sur une vidéo de trafic. Dans ce cas, vous pouvez charger le modèle YOLO11 au format MNN pour détecter des objets tels que des véhicules, des piétons et des panneaux de signalisation directement sur l'appareil, comme indiqué dans l'exemple ci-dessous.
Une fois l'inférence terminée, la vidéo de sortie avec les objets détectés est automatiquement enregistrée dans le dossier 'runs/detect/predict'. De plus, si vous souhaitez exécuter l'inférence directement à l'aide du package MNN Python, vous pouvez consulter la documentation officielle d'Ultralytics pour plus de détails et d'exemples.
Fig 3. Analyse du trafic à l'aide d'un modèle YOLO11 exporté au format MNN. Image par l'auteur.
Cas d'utilisation du déploiement de modèles Edge AI activé par YOLO11 et MNN
Le déploiement de YOLO11 avec MNN permet de réaliser des tâches de vision par ordinateur rapides et efficaces, telles que la détection d'objets, dans des environnements où le traitement basé sur le cloud n'est ni pratique ni possible. Voyons comment cette intégration peut être particulièrement utile dans des scénarios réels.
IA mobile en périphérie pour l'identification des maladies des plantes
Les applications d'identification des maladies des plantes qui utilisent la classification d'images gagnent en popularité auprès des jardiniers, des chercheurs et des passionnés de la nature. Avec juste une photo, les utilisateurs peuvent rapidement identifier les premiers signes de maladie, tels que des taches sur les feuilles ou une décoloration. Comme ces applications sont souvent utilisées dans des zones extérieures où l'accès à Internet peut être limité ou indisponible, le fait de s'appuyer sur le traitement dans le cloud peut ne pas être fiable.
Après l'entraînement, un modèle YOLO11 peut être exporté au format MNN et exécuté directement sur des appareils mobiles. Le modèle peut alors classer les espèces de plantes et détecter les symptômes visibles de maladies localement, sans envoyer de données à un serveur.
Fig. 4. Exemple d'utilisation de YOLO11 pour détecter des signes de rouille (une maladie des plantes) sur une feuille (Source).
Inférences efficaces sur les appareils dans le secteur manufacturier
Un suivi précis des colis est essentiel sur les chaînes de production chargées dans les installations de fabrication. YOLO11 peut être utilisé pour suivre et compter chaque article lorsqu'il se déplace à travers les points de contrôle clés, en mettant à jour les comptes en temps réel et en signalant toute anomalie. Cela permet de réduire les expéditions manquées ou non comptabilisées et favorise des opérations plus fluides et plus fiables.
Fig 5. Suivi et comptage des colis à l'aide de YOLO11 (Source).
L'intégration de MNN peut être particulièrement efficace dans ce contexte. Une fois que le modèle YOLO11 est exporté au format MNN, il peut fonctionner directement sur des appareils compacts et à faible consommation d'énergie installés le long du convoyeur.
Comme tout le traitement se fait localement, le système peut fournir un retour d'information instantané et ne nécessite aucune connexion internet. Cela garantit des performances rapides et fiables sur le site de production, permettant de maintenir une production efficace tout en conservant une précision et un contrôle élevés.
Avantages de l'exportation de YOLO11 au format de modèle MNN
Voici quelques avantages clés de l'intégration de MNN fournie par Ultralytics :
Temps de réponse plus rapides : comme l’inférence s’exécute sur l’appareil, les prédictions se font en temps réel avec une latence minimale.
Amélioration de la confidentialité des données : Les données restent sur l'appareil, ce qui réduit la nécessité d'envoyer des images ou des vidéos sensibles au cloud.
Open source et activement maintenu : Soutenu par Alibaba et bénéficiant d'une communauté active, MNN est fiable et régulièrement mis à jour avec des améliorations de performance.
Facteurs à prendre en compte lors de l'utilisation du framework MNN
Avant de choisir MNN comme framework de déploiement, il est également important d'évaluer dans quelle mesure il correspond aux exigences de votre projet, aux cibles de déploiement et aux limitations techniques. Voici quelques facteurs clés à prendre en compte :
Compatibilité continue : Les mises à jour du framework ou les modifications apportées à vos plateformes cibles peuvent nécessiter de nouveaux tests ou des ajustements pour que tout continue de fonctionner correctement.
Moins d’outils de débogage : comparativement aux frameworks plus grands, MNN dispose d’outils plus limités pour le débogage et l’inspection du comportement du modèle, ce qui peut rendre le dépannage plus difficile.
Les performances dépendent du matériel : La vitesse et l'efficacité de votre modèle varieront en fonction de l'appareil. Testez votre matériel cible pour vous assurer qu'il répond à vos objectifs de performance.
Principaux points à retenir
La prise en charge de l'intégration MNN par Ultralytics facilite l'exportation des modèles YOLO11 pour une utilisation sur les appareils mobiles et embarqués. C'est une option pratique pour les applications qui nécessitent une détection rapide et fiable sans dépendre de l'accès au cloud ou d'une connectivité constante.
Cette configuration permet de rationaliser le déploiement tout en maintenant les performances et en limitant les besoins en ressources. Que vous construisiez des systèmes de maison intelligente, des outils de terrain ou des appareils industriels compacts, l'exportation de YOLO11 vers MNN offre un moyen flexible et efficace d'exécuter des tâches de vision par ordinateur directement sur les appareils en périphérie.