Ultralytics Android App : Détection d'objets en temps réel avec les modèles YOLO
L'application Ultralytics Android est un outil puissant qui vous permet d'exécuter des modèles YOLO directement sur votre appareil Android pour la détection d'objets en temps réel. Cette application utilise TensorFlow Lite pour l'optimisation du modèle et divers délégués matériels pour l'accélération, permettant une détection rapide et efficace des objets.
Regarder : DĂ©marrer avec l'application Ultralytics HUB (IOS & Android)
Quantification et accélération
Pour obtenir des performances en temps réel sur votre 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. Il en résulte des temps d'inférence plus rapides sans que la précision du modèle ne soit affectée de manière significative.
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 perte d'informations au cours du processus de quantification, ce qui peut se traduire par une légère diminution de mAP. Toutefois, ce compromis est souvent acceptable compte tenu des 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 CPU, GPUHexagon et NNAPI. Les performances de ces délégués varient en fonction du fournisseur de matériel de l'appareil, de la ligne de produits et des chipsets spécifiques utilisés dans l'appareil.
- CPU: L'option par défaut, avec des performances raisonnables sur la plupart des appareils.
- GPU: Utilise le site GPU de l'appareil pour une inférence plus rapide. Il peut améliorer considérablement les performances des appareils dotés d'un puissant processeur graphique (GPU).
- 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.
- NNAPI: L'API deréseaux neuronaux Android (NNAPI) sert de couche d'abstraction pour l'exécution de modèles de ML sur les appareils Android . La NNAPI peut utiliser divers accélérateurs matériels, tels que CPU, GPU, et des puces d'IA dédiées (par exemple, Google's Edge TPU, ou le Pixel Neural Core).
Voici un tableau présentant les principaux fournisseurs, leurs gammes de produits, les appareils les plus courants 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 |
Veuillez noter 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. Testez toujours vos modèles sur vos appareils cibles pour vous assurer de leur compatibilité et de leurs performances optimales.
N'oubliez pas que le choix du délégué peut avoir une incidence sur 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. Il est donc essentiel de tester votre modèle et le délégué choisi sur vos appareils cibles pour obtenir les meilleurs résultats.
Premiers pas avec l'application Ultralytics Android
Pour commencer Ă utiliser l'application Ultralytics Android , suivez les Ă©tapes suivantes :
-
Téléchargez l'application Ultralytics sur le Play StoreGoogle .
-
Lancez l'application sur votre appareil Android et connectez-vous avec votre compte Ultralytics . Si vous n'avez pas encore de compte, créez-en un ici.
-
Une fois connecté, vous verrez une liste de vos modèles YOLO formés. Sélectionnez un modèle à utiliser pour la détection d'objets.
-
Autorisez l'application à accéder à l'appareil photo de votre appareil.
-
Pointez l'appareil photo de votre appareil sur les objets que vous souhaitez détecter. L'application affiche en temps réel les boîtes de délimitation et les étiquettes de classe au fur et à mesure qu'elle détecte les objets.
-
Explorez les paramètres de l'application pour ajuster le seuil de détection, activer ou désactiver des classes d'objets spécifiques, etc.
Avec l'application Ultralytics Android , vous avez désormais à portée de main la puissance de la détection d'objets en temps réel à l'aide des modèles YOLO . Découvrez les fonctionnalités de l'application et optimisez ses paramètres pour répondre à vos besoins spécifiques.