En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Paramètres des cookies
En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Découvrez comment il est facile d'intégrer Ultralytics YOLO11 aux appareils Apple avec CoreML et de réaliser des tâches de vision par ordinateur hors ligne pour les applications iOS en temps réel.
Avec l'introduction par Apple de fonctionnalités telles que l 'Apple Intelligence, il est clair que l'IA sur l'appareil est en train de devenir un élément central de la façon dont nous utilisons nos téléphones. Pour les développeurs, cette évolution signifie que les utilisateurs adoptent des applications iOS qui utilisent des capacités telles que la vision par ordinateur pour offrir des expériences plus intelligentes et plus réactives.
La vision par ordinateur est un type d'intelligence artificielle (IA) qui permet aux ordinateurs de comprendre et d'analyser des informations visuelles, telles que des images ou des vidéos. Sur les appareils mobiles, elle peut être utilisée en temps réel pour détecter, classer et interagir avec des objets grâce à l'appareil photo du téléphone. Les modèles d'IA visuelle comme Ultralytics YOLO11 peuvent être formés sur mesure pour reconnaître des objets spécifiques, en fonction des besoins de votre application.
Cependant, YOLO11 n'est pas conçu pour fonctionner sur iOS dès sa sortie de l'emballage. Pour déployer YOLO11 sur les iPhones ou d'autres appareils Apple, en particulier pour une utilisation hors ligne, il doit être converti dans un format optimisé pour l'écosystème d'Apple.
C'est exactement le type de problème que CoreML a été conçu pour résoudre. CoreML est le cadre d'apprentissage automatique d'Apple, conçu pour exécuter des modèles localement et s'intégrer de manière transparente dans les applications iOS et macOS. L'intégration de CoreML, prise en charge par Ultralytics, facilite l'exportation de votre modèle pour un déploiement local sur les iPhones.
Dans cet article, nous verrons de plus près comment exporter votre modèle YOLO11 au format CoreML. Nous explorerons également des cas d'utilisation en temps réel qui montrent les avantages de l'exécution de modèles de vision par ordinateur directement sur les appareils iOS. Commençons par le commencement !
Qu'est-ce que CoreML ?
CoreML est un cadre d'apprentissage machine (ML) développé par Apple qui permet aux développeurs d'intégrer des modèles ML entraînés directement dans les applications de l'écosystème Apple, notamment iOS (iPhone et iPad), macOS (Mac), watchOS (Apple Watch) et tvOS (Apple TV). Il est conçu pour rendre l'apprentissage automatique accessible et efficace sur les appareils Apple en permettant aux modèles de s'exécuter directement sur l'appareil, sans nécessiter de connexion internet.
Au cœur de CoreML se trouve un format de modèle unifié qui prend en charge un large éventail de tâches d'intelligence artificielle telles que la classification d'images, la détection d'objets, la reconnaissance vocale et le traitement du langage naturel. Le cadre est optimisé pour tirer le meilleur parti du matériel Apple, en utilisant le CPU (unité centrale de traitement), le GPU (unité de traitement graphique) et l'ANE (Apple Neural Engine) pour exécuter les modèles rapidement et efficacement.
CoreML prend en charge un grand nombre de types de modèles et est compatible avec les bibliothèques d'apprentissage automatique les plus répandues, notamment TensorFlow, PyTorch, scikit-learn, XGBoost et LibSVM. Il est ainsi plus facile pour les développeurs d'intégrer des fonctionnalités avancées d'apprentissage automatique dans leurs applications quotidiennes, tout en s'assurant qu'elles s'exécutent sans problème sur les appareils Apple.
Fig. 1. CoreML prend en charge les modèles d'autres frameworks d'IA populaires(Source).
Principales caractéristiques de CoreML
Voici quelques-unes des principales caractéristiques qui font de CoreML un outil fiable pour l'intégration de l'IA dans les applications Apple :
Optimisation du modèle: CoreML prend en charge des techniques de compression telles que la quantification et l'élagage afin de réduire la taille du modèle et d'améliorer l'efficacité de l'exécution.
Personnalisation sur l'appareil : Le cadre de ML d'Apple prend en charge la personnalisation sur l'appareil, permettant aux modèles d'être formés et mis à jour localement en fonction des interactions avec l'utilisateur.
Prédictions asynchrones : Ce cadre permet à votre application d'exécuter des prédictions en arrière-plan, ce qui permet à l'interface utilisateur de rester fluide et réactive tout en gérant les tâches d'IA.
Apprentissage multitâche: CoreML prend en charge des modèles capables d'effectuer plusieurs tâches à la fois, comme la détection d'objets et la reconnaissance de texte dans la même image.
Comment exporter YOLO11 au format CoreML ?
Maintenant que nous avons une meilleure compréhension du cadre CoreML, voyons comment utiliser l'intégration CoreML supportée par Ultralytics pour exporter un modèle YOLO11 vers le format CoreML.
Étape 1 : Mise en place de l'environnement
Pour accéder aux fonctionnalités d'intégration fournies par Ultralytics, commencez par installer le package Ultralytics Python. Il s'agit d'une bibliothèque légère et facile à utiliser qui simplifie les tâches telles que l'entraînement, l'évaluation, la prédiction et l'exportation des modèles Ultralytics YOLO.
Vous pouvez installer le paquetage Python Ultralytics en exécutant "pip install ultralytics" dans votre terminal de commande. Si vous utilisez un environnement comme Jupyter Notebook ou Google Colab, ajoutez un point d'exclamation ( !) avant la commande : "!pip install ultralytics".
Si vous rencontrez des problèmes lors de l'installation ou de l'exportation vers CoreML, consultez la documentation officielle d'Ultralytics ou le guide des problèmes communs pour obtenir de l'aide.
Étape 2 : Exporter YOLO11 vers CoreML
Une fois le paquetage installé avec succès, vous êtes prêt à charger un modèle YOLO11 et à le convertir au format CoreML.
Si vous ne savez pas quel modèle YOLO11 pré-entraîné utiliser, vous pouvez explorer la gamme de modèles pris en charge par Ultralytics. Chacun d'entre eux offre un équilibre différent en termes de vitesse, de taille et de précision, et vous pouvez choisir celui qui convient le mieux à votre projet. Vous pouvez également utiliser un modèle YOLO11 personnalisé si vous en avez entraîné un sur votre propre ensemble de données.
Dans l'extrait de code ci-dessous, un fichier de modèle YOLO11 pré-entraîné nommé "yolo11n.pt" est utilisé. Au cours du processus d'exportation, il est converti en un paquet CoreML appelé "yolo11n.mlpackage".
Le modèle "yolo11n" est la version nano, optimisée pour la vitesse et la faible utilisation de ressources. En fonction des besoins de votre projet, vous pouvez également choisir d'autres tailles de modèles telles que "s" pour small (petit), "m" pour medium (moyen), "l" pour large (grand) ou "x" pour extra-large (très grand). Chaque version offre un équilibre différent entre performance et précision.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="coreml")
Étape 3 : Exécution de l'inférence à l'aide du modèle CoreML exporté
Après exportation au format CoreML, YOLO11 peut être facilement intégré dans les applications iOS, ce qui permet d'effectuer des tâches de vision artificielle en temps réel telles que la détection d'objets sur des appareils tels que les iPhones, les iPads et les Macs.
Par exemple, l'extrait de code ci-dessous montre comment charger le modèle CoreML exporté et effectuer l'inférence. L'inférence est le processus qui consiste à utiliser un modèle formé pour faire des prédictions sur de nouvelles données. Dans ce cas, le modèle analyse l'image d'une famille jouant avec un ballon.
Après l'exécution du code, l'image de sortie sera enregistrée dans le dossier "runs/detect/predict".
Fig. 2. Utilisation d'un modèle YOLO11 exporté au format CoreML pour détecter des objets. Image de l'auteur.
Où les modèles CoreML exportés peuvent-ils être utilisés ?
L'exportation de YOLO11 vers CoreML apporte la flexibilité nécessaire pour créer diverses applications de vision par ordinateur qui peuvent fonctionner efficacement sur les iPhones, les iPads et les Macs. Examinons maintenant quelques scénarios réels dans lesquels cette intégration peut s'avérer particulièrement utile.
Réalité augmentée et applications de jeu pilotées par des modèles CoreML
La réalité augmentée (RA) associe le contenu numérique au monde réel en superposant des éléments virtuels à des vues de caméras en direct. Elle est en train de devenir un élément clé des jeux mobiles, créant des expériences plus interactives et immersives.
Avec YOLO11 exporté au format CoreML, les développeurs iOS peuvent créer des jeux de réalité augmentée qui reconnaissent des objets du monde réel tels que des bancs, des arbres ou des panneaux à l'aide de l'appareil photo du téléphone. Le jeu peut ensuite superposer des éléments virtuels, tels que des pièces de monnaie, des indices ou des créatures, sur ces objets afin d'améliorer l'environnement du joueur.
En coulisses, cela fonctionne grâce à la détection et au suivi des objets. YOLO11 détecte et identifie les objets en temps réel, tandis que le suivi permet de garder ces objets en vue lorsque la caméra se déplace, en veillant à ce que les éléments virtuels restent alignés sur le monde réel.
Les joueurs peuvent pointer leur téléphone, explorer leur environnement et interagir avec ce qu'ils voient pour collecter des objets ou relever des défis rapides. Tout cela peut se dérouler directement sur l'appareil, sans connexion internet, ce qui rend l'expérience fluide et attrayante.
Des applications iOS intégrées à des modèles CoreML pour la RNA en temps réel
La reconnaissance automatique des plaques d'immatriculation (RAPI) est une application de vision par ordinateur utilisée pour détecter et lire les plaques d'immatriculation des véhicules. Elle est couramment utilisée dans les systèmes de sécurité, de surveillance du trafic et de contrôle d'accès. Grâce à CoreML et à des modèles tels que YOLO11, la reconnaissance automatique des plaques d'immatriculation peut désormais fonctionner efficacement sur les appareils iOS.
Disposer d'une application de RAPI sur son iPhone peut s'avérer particulièrement utile dans les environnements axés sur la sécurité. Par exemple, elle peut aider les équipes à déterminer rapidement si un véhicule entrant dans une zone restreinte est autorisé ou non.
Une telle application peut utiliser un modèle Vision AI tel que YOLO11, intégré par CoreML, pour détecter les véhicules et localiser leurs plaques d'immatriculation en temps réel à l'aide de la caméra de l'appareil. Une fois la plaque détectée, la technologie de reconnaissance optique de caractères (OCR) peut lire le numéro d'immatriculation. L'application peut alors comparer ce numéro à une base de données locale ou basée sur le cloud pour vérifier l'accès ou signaler les véhicules non autorisés.
Fig. 3. L'IA de la vision peut être utilisée pour détecter et lire les numéros de plaques d'immatriculation.(Source).
Les applications axées sur l'accessibilité peuvent s'appuyer sur les modèles CoreML
L'IA a eu un impact considérable sur l'accessibilité, en contribuant à faire tomber les barrières pour les personnes souffrant de déficiences visuelles. Grâce à des outils tels que CoreML et à des modèles de vision artificielle comme YOLO11, les développeurs peuvent créer des applications iOS qui décrivent en temps réel le monde qui entoure les utilisateurs, ce qui facilite les tâches quotidiennes et les rend plus autonomes.
Par exemple, une personne malvoyante peut pointer l'appareil photo de son iPhone vers son environnement. L'application utilise la détection d'objets pour reconnaître les éléments clés, tels que les véhicules, les personnes ou les panneaux de signalisation, et raconte ce qu'elle voit. Cette fonction peut être utilisée dans des situations telles que la navigation dans une rue très fréquentée ou la compréhension d'une situation d'urgence.
Fig. 4. Exemple d'utilisation de YOLO11 pour détecter des personnes
Principaux enseignements
L'exportation de YOLO11 vers le format CoreML ouvre de nouvelles perspectives pour les applications en temps réel, notamment la détection d'objets hors ligne sur les appareils iOS. De l'agriculture à l'accessibilité en passant par la sécurité, cette combinaison permet aux développeurs de créer des applications intelligentes, efficaces et respectueuses de la vie privée qui fonctionnent entièrement sur l'appareil.
En quelques étapes simples, vous pouvez convertir votre modèle YOLO11 et ajouter des fonctions de vision par ordinateur fiables aux iPhones. Cerise sur le gâteau, ce système fonctionne sans connexion internet. Dans l'ensemble, l'intégration de CoreML apporte la puissance de l'IA avancée aux applications mobiles de tous les jours, les rendant plus rapides, plus réactives et prêtes à fonctionner n'importe où.