Skip to content

Ultralytics Application Android : Détection d'objets en temps réel avec les modèles YOLO

Ultralytics HUB image de prévisualisation

Ultralytics GitHub espace Ultralytics LinkedIn espace Ultralytics Twitter espace Ultralytics YouTube espace Ultralytics TikTok espace Ultralytics Instagram espace Ultralytics Discorde

Google Play store 

L'application Android Ultralytics est un outil puissant qui te permet d'exécuter les modèles YOLO directement sur ton appareil Android pour la détection d'objets en temps réel. Cette application utilise TensorFlow Lite pour l'optimisation des modèles et divers délégués matériels pour l'accélération, ce qui permet une détection rapide et efficace des objets.

Quantification et accélération

Pour obtenir des performances en temps réel sur ton appareil Android, les modèles YOLO sont quantifiés avec une précision FP16 ou INT8. La quantification est un processus qui réduit la précision numérique du modèle weights and biases, réduisant ainsi la taille du modèle et la quantité de calcul nécessaire. Cela permet d'accélérer les temps d'inférence sans affecter de manière significative la précision du modèle.

Quantification FP16

La quantification FP16 (ou demi-précision) convertit les nombres à virgule flottante de 32 bits du modèle en nombres à virgule flottante de 16 bits. Cela permet de réduire de moitié la taille du modèle et d'accélérer le processus d'inférence, tout en maintenant un bon équilibre entre précision et performance.

INT8 Quantification

La quantification INT8 (ou entier 8 bits) réduit encore la taille du modèle et les besoins de calcul en convertissant ses nombres à virgule flottante de 32 bits en entiers de 8 bits. Cette méthode de quantification peut entraîner une accélération significative, mais elle peut conduire à une légère réduction de la précision moyenne (mAP) en raison de la précision numérique plus faible.

Réduction de mAP dans les modèles INT8

La précision numérique réduite des modèles INT8 peut entraîner une certaine perte d'informations au cours du processus de quantification, ce qui peut se traduire par une légère diminution de mAP. Cependant, ce compromis est souvent acceptable si l'on considère les gains de performance substantiels offerts par la quantification INT8.

Délégués et variabilité des performances

Différents délégués sont disponibles sur les appareils Android pour accélérer l'inférence des modèles. Ces délégués comprennent le CPU, le GPU, Hexagon et NNAPI. Les performances de ces délégués varient en fonction du fournisseur de matériel de l'appareil, de la gamme de produits et des chipsets spécifiques utilisés dans l'appareil.

  1. CPU: L'option par défaut, avec des performances raisonnables sur la plupart des appareils.
  2. GPU: Utilise le GPU de l'appareil pour une inférence plus rapide. Il peut fournir une augmentation significative des performances sur les appareils dotés d'un puissant GPU.
  3. Hexagon: Exploite le DSP Hexagon de Qualcomm pour un traitement plus rapide et plus efficace. Cette option est disponible sur les appareils équipés de processeurs Qualcomm Snapdragon.
  4. NNAPI: L'API Android Neural Networks (NNAPI) sert de couche d'abstraction pour l'exécution de modèles ML sur les appareils Android. La NNAPI peut utiliser divers accélérateurs matériels, tels que le CPU, le GPU et les puces d'IA dédiées (par exemple, Edge TPU de Google ou Pixel Neural Core).

Voici un tableau présentant les principaux fournisseurs, leurs gammes de produits, les appareils les plus populaires et les délégués pris en charge :

Vendeur Lignes de produits Appareils populaires Délégués soutenus
Qualcomm Snapdragon (par exemple, série 800) Samsung Galaxy S21, OnePlus 9, Google Pixel 6 CPU, GPU, Hexagone, NNAPI
Samsung Exynos (par exemple, Exynos 2100) Samsung Galaxy S21 (version mondiale) CPU, GPU, NNAPI
MediaTek Dimensité (par exemple, Dimensity 1200) Realme GT, Xiaomi Redmi Note CPU, GPU, NNAPI
HiSilicon Kirin (par exemple, Kirin 990) Huawei P40 Pro, Huawei Mate 30 Pro CPU, GPU, NNAPI
NVIDIA Tegra (par exemple, Tegra X1) NVIDIA Shield TV, Nintendo Switch CPU, GPU, NNAPI

Note que la liste des appareils mentionnés n'est pas exhaustive et peut varier en fonction des chipsets et des modèles d'appareils spécifiques. Teste toujours tes modèles sur les appareils que tu vises pour t'assurer de leur compatibilité et de leurs performances optimales.

Garde à l'esprit que le choix du délégué peut affecter les performances et la compatibilité des modèles. Par exemple, certains modèles peuvent ne pas fonctionner avec certains délégués, ou un délégué peut ne pas être disponible sur un appareil spécifique. Ainsi, il est essentiel de tester ton modèle et le délégué choisi sur tes appareils cibles pour obtenir les meilleurs résultats.

DĂ©marrer avec l'application Android Ultralytics

Pour commencer Ă  utiliser l'application Android Ultralytics , suis les Ă©tapes suivantes :

  1. Télécharge l'application Ultralytics sur le Google Play Store.

  2. Lance l'application sur ton appareil Android et connecte-toi avec ton compte Ultralytics . Si tu n'as pas encore de compte, crée-en un ici.

  3. Une fois connecté, tu verras une liste de tes modèles formés sur YOLO . Sélectionne un modèle à utiliser pour la détection des objets.

  4. Accorde à l'appli la permission d'accéder à l'appareil photo de ton appareil.

  5. Pointe la caméra de ton appareil vers les objets que tu veux détecter. L'appli affichera les boîtes de délimitation et les étiquettes de classe en temps réel au fur et à mesure qu'elle détecte les objets.

  6. Explore les paramètres de l'appli pour ajuster le seuil de détection, activer ou désactiver des classes d'objets spécifiques, et plus encore.

Avec l'application Android Ultralytics , tu as maintenant à portée de main la puissance de la détection d'objets en temps réel à l'aide des modèles YOLO . Profite de l'exploration des fonctionnalités de l'appli et de l'optimisation de ses paramètres pour répondre à tes cas d'utilisation spécifiques.



Créé le 2023-11-12, Mis à jour le 2023-11-27
Auteurs : glenn-jocher (3)

Commentaires