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
Exportez les modèles Ultralytics YOLO11 au format de modèle NCNN pour exécuter des inférences d'IA efficaces et à faible latence sur des appareils périphériques avec une puissance et des ressources informatiques limitées.
Les solutions d'IA deviennent de plus en plus courantes, même dans les secteurs à enjeux élevés comme la gestion des catastrophes, la gestion des déchets et la lutte contre les incendies. À mesure que l'adoption continue de croître, les modèles d'IA sont déployés dans des environnements plus diversifiés - non seulement sur des serveurs ou dans le cloud, mais directement sur des appareils fonctionnant sur le terrain.
Par exemple, les drones et les équipements dotés de composants périphériques alimentés par de petits processeurs peuvent jouer un rôle crucial dans les zones sinistrées. Équipés de caméras thermiques, ces appareils peuvent collecter et analyser des données sur place pour localiser les personnes piégées sous les décombres. Ceci est rendu possible grâce à la vision par ordinateur, une branche de l'intelligence artificielle qui interprète les informations visuelles provenant d'images et de vidéos.
Cependant, le déploiement de modèles de vision IA sur des appareils périphériques n'est pas aussi simple qu'il n'y paraît. Les modèles d'IA doivent être optimisés pour fonctionner efficacement sur du matériel doté d'une puissance de calcul et d'une mémoire limitées. C'est pourquoi les frameworks d'IA comme NCNN sont essentiels. Ils aident à convertir et à optimiser les modèles pour des performances en temps réel sur des appareils à faible consommation d'énergie sans sacrifier la précision.
En particulier, les modèles Ultralytics YOLO comme Ultralytics YOLO11 peuvent être facilement exportés au format de modèle NCNN en utilisant l'intégration NCNN prise en charge par Ultralytics. La conversion de YOLO11 au format de modèle NCNN permet au modèle de fonctionner plus rapidement, d'utiliser moins de mémoire et de fonctionner de manière fluide sur différents appareils sans perdre en précision.
Dans cet article, nous allons explorer l'intégration NCNN prise en charge par Ultralytics et vous expliquer comment exporter votre modèle YOLO11 au format de modèle NCNN. Commençons !
Aperçu de NCNN : un framework de réseau neuronal léger
NCNN est un framework open source d'inférence de réseaux neuronaux développé par Tencent. Il a été spécialement conçu pour les environnements mobiles et périphériques, offrant une inférence haute performance avec un encombrement minimal. Cela le rend idéal pour le déploiement sur des appareils aux ressources limitées tels que les smartphones, les drones et les appareils IoT (Internet des objets).
Le framework NCNN a gagné en popularité dans la communauté de l'IA et de l'apprentissage profond en raison de son efficacité, de sa portabilité et de son optimisation pour les CPU mobiles (Central Processing Units). Il permet aux développeurs d'exécuter des modèles de réseaux neuronaux sur des appareils abordables avec une mémoire et une puissance de traitement limitées. Conçu pour être simple et flexible, NCNN prend en charge une large gamme de modèles de vision par ordinateur et fonctionne sur plusieurs plateformes, notamment Android, Linux, iOS et macOS.
Fig. 1. Les modèles au format NCNN peuvent être déployés sur de nombreuses plateformes.
Principales caractéristiques de l'optimisation des performances de NCNN
Voici quelques-unes des principales caractéristiques qui font de NCNN un framework d'inférence de réseau neuronal percutant et largement utilisé :
Runtime léger et indépendant du matériel : Le framework NCNN est optimisé pour exécuter des modèles sur des CPU standard, et il ne nécessite pas de matériel spécialisé comme les GPU (processeurs graphiques) ou les NPU (unités de traitement neuronal).
Quantification de modèle: Pour les applications où la mémoire et la vitesse sont essentielles, NCNN prend en charge les méthodes de quantification qui réduisent la taille du modèle et améliorent le temps d'inférence. Cela permet d'exécuter les modèles d'IA de manière fluide sur les appareils mobiles et embarqués.
Open source et accessible : En tant que framework open source, NCNN est disponible gratuitement pour tous ceux qui souhaitent l'utiliser, le modifier et l'améliorer. Cela encourage l'innovation et une large adoption dans une variété de cas d'utilisation.
Développement actif et communauté : NCNN est activement maintenu sur GitHub par Tencent et une communauté de développeurs en pleine croissance, avec des mises à jour régulières et des améliorations de la compatibilité des modèles.
Exportation de YOLO11 au format de modèle NCNN : un guide rapide
Maintenant que nous avons expliqué ce qu'est NCNN, examinons de plus près comment exporter des modèles YOLOv8 au format NCNN.
Étape 1 : Installez le paquet Python Ultralytics
Avant d'exporter le modèle, la première étape consiste à installer le package Python Ultralytics à l'aide du gestionnaire de packages, pip. Cela peut être fait en exécutant "pip install ultralytics" dans votre terminal ou invite de commande. Si vous travaillez dans un Jupyter Notebook ou Google Colab, ajoutez un point d'exclamation avant la commande, comme ceci : "!pip install ultralytics".
Le package Ultralytics fournit des outils pour entraîner, tester, affiner et exporter des modèles de Vision IA pour diverses tâches de vision par ordinateur. Si vous rencontrez des problèmes lors de l'installation ou de l'exportation d'un modèle, la documentation officielle d'Ultralytics et le guide des problèmes courants sont d'excellentes ressources pour le dépannage.
Étape 2 : Exportation d'Ultralytics YOLO11
Après avoir installé le paquet Ultralytics, vous pouvez charger votre modèle YOLO11 et l'exporter au format NCNN. L'exemple ci-dessous utilise un modèle pré-entraîné ("yolo11n.pt") et l'exporte au format NCNN, en enregistrant la sortie dans un dossier nommé "/yolo11n_ncnn_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")
Le modèle YOLO11 exporté peut ensuite être déployé sur divers appareils légers tels que les smartphones, les systèmes embarqués ou les plateformes IoT. Le processus de déploiement est également très simplifié.
Par exemple, considérez l'extrait de code ci-dessous, qui montre comment charger le modèle exporté et exécuter l'inférence. L'inférence fait référence au processus d'utilisation d'un modèle entraîné pour faire des prédictions sur de nouvelles données non vues. Dans cet exemple, le modèle est testé sur l'image d'un homme faisant du vélo, extraite d'une URL accessible au public.
Après avoir exécuté le code, vous trouverez l'image de sortie dans le dossier "runs/detect/predict".
Fig. 2. Détection d'objets à l'aide d'un modèle YOLO11 exporté au format NCNN. Image par l'auteur.
Pourquoi choisir la détection en temps réel avec NCNN ?
En explorant les différentes intégrations prises en charge par Ultralytics, vous remarquerez peut-être qu'il existe plusieurs options d'exportation disponibles. Alors, quand devriez-vous choisir le format NCNN ?
Le format d'exportation NCNN est un choix fiable lorsque vous devez déployer des modèles YOLO11 sur des appareils dotés de ressources limitées. Il est particulièrement utile pour les applications en temps réel qui s'exécutent directement sur l'appareil, comme les appareils de périphérie, sans avoir besoin d'une connexion au cloud. Cela signifie que le modèle peut gérer des tâches telles que la détection d'objets directement sur place.
Voici quelques scénarios courants où NCNN est parfaitement adapté :
Déploiement mobile : Le format NCNN est optimisé pour Android et iOS, ce qui facilite l'intégration des modèles dans les applications mobiles pour une inférence rapide sur l'appareil avec une latence minimale.
Systèmes embarqués et appareils IoT : Si vous déployez sur des appareils comme Raspberry Pi ou NVIDIA Jetson, l'exportation vers NCNN peut aider à améliorer les performances et la réactivité.
Déploiement sur ordinateur de bureau et serveur : Bien que NCNN soit idéal pour les appareils à faible consommation d'énergie, il prend également en charge Linux, Windows et macOS pour les environnements de bureau et de serveur. Cela offre aux développeurs des options flexibles pour le déploiement.
Fig 3. Options de déploiement du modèle YOLO11 avec NCNN. Image de l'auteur.
Cas d'utilisation du déploiement du modèle YOLO11 avec NCNN
Ensuite, plongeons dans quelques cas d'utilisation pratiques où l'exportation de modèles YOLO11 vers NCNN peut faire une réelle différence.
Casques d'IA de vision pour la lutte contre les incendies
Les casques de sécurité équipés de caméras et de micro-ordinateurs intégrés peuvent être utilisés dans des domaines tels que la construction et la lutte contre les incendies pour améliorer la sécurité et la sensibilisation. Les modèles de Vision IA en temps réel, comme YOLO11, peuvent être exécutés sur ces appareils pour détecter différents types d'objets et d'équipements. Par exemple, ces casques peuvent aider les pompiers à détecter des personnes, des obstacles ou des dangers dans des conditions de faible visibilité.
Cependant, l'exécution de modèles complets directement sur des appareils portables peut entraîner des performances lentes et décharger rapidement la batterie. Dans ce cas, l'utilisation de l'intégration NCNN est un choix judicieux. Elle permet une inférence à faible latence et économe en énergie.
Classification des déchets et poubelles intelligentes
De même, des poubelles intelligentes peuvent être intégrées à des caméras et à des processeurs d'IA en périphérie compacts pour identifier et trier les matériaux au fur et à mesure qu'ils sont jetés. Les modèles de vision IA tels que YOLO11 peuvent être entraînés sur mesure pour détecter différents types de déchets tels que le papier, le plastique, le caoutchouc, etc.
Une fois les déchets identifiés, ils peuvent être automatiquement triés dans des compartiments séparés en fonction de leur réutilisabilité. En utilisant l'IA en périphérie (edge AI) avec des modèles YOLO11 exportés au format NCNN, ces conteneurs peuvent traiter les données localement, sans nécessiter de connexion Internet. Cela leur permet de fonctionner de manière autonome et de prendre des décisions de tri en temps réel avec un délai minimal.
Fig. 4. Détection des déchets plastiques à l'aide de YOLO11.
Surveillance du bétail à l'aide de drones et de la vision par ordinateur
Parfois, les zones agricoles situées dans des endroits isolés n'ont pas accès à des connexions Internet stables, ni même à une alimentation électrique constante, ce qui limite leur capacité à exécuter des applications d'IA en ligne. Dans ce cas, des appareils périphériques et des drones peuvent être utilisés pour effectuer diverses tâches.
Un bon exemple est la surveillance du bétail tel que les bovins, les ovins et la volaille. Cela peut être fait en utilisant des modèles Vision AI comme YOLOv8, qui peuvent être utilisés pour suivre les mouvements des animaux, détecter les signes de blessure, de maladie ou de comportement anormal, et alerter les agriculteurs lorsque des animaux disparaissent. L'intégration de NCNN permet également d'exécuter et de traiter ces données directement sur des appareils périphériques, ce qui en fait une solution idéale pour l'analyse d'images et de vidéos dans les exploitations agricoles situées dans des zones reculées ou hors réseau.
Fig. 5. Aperçu de l'utilisation de YOLO11 pour surveiller le bétail.
Principaux points à retenir
L'exportation des modèles YOLO11 à l'aide de l'intégration NCNN prise en charge par Ultralytics est un moyen simple d'intégrer la Vision IA dans des environnements à faible consommation d'énergie. Qu'il s'agisse de drones dans les zones sinistrées, de poubelles de tri intelligentes ou de la surveillance du bétail dans les fermes isolées, YOLO et NCNN permettent des inférences d'IA en temps réel qui sont rapides, efficaces et portables. Cette approche contribue à rendre les systèmes d'IA plus accessibles et fiables lorsque cela compte le plus.