Overslaan naar inhoud

Ultralytics Android-app: Objecten in realtime detecteren met YOLO modellen

Ultralytics HUB voorbeeldafbeelding

Ultralytics GitHub ruimte Ultralytics LinkedIn ruimte Ultralytics Twitter ruimte Ultralytics YouTube ruimte Ultralytics TikTok ruimte Ultralytics Instagram ruimte Ultralytics Discord

Google Play-winkel 

De Ultralytics Android App is een krachtig hulpmiddel waarmee je YOLO modellen direct op je Android apparaat kunt uitvoeren voor real-time objectdetectie. Deze app maakt gebruik van TensorFlow Lite voor modeloptimalisatie en verschillende hardwaredelegaties voor versnelling, waardoor objecten snel en efficiënt kunnen worden gedetecteerd.



Kijken: Aan de slag met de Ultralytics HUB App (IOS & Android)

Kwantisering en versnelling

Om realtime prestaties op je Android apparaat te bereiken, worden YOLO modellen gekwantiseerd naar FP16 of INT8 precisie. Quantisatie is een proces dat de numerieke precisie van het model weights and biases vermindert, waardoor het model kleiner wordt en er minder rekenwerk nodig is. Dit resulteert in snellere inferentietijden zonder significante gevolgen voor de nauwkeurigheid van het model.

FP16 Kwantisering

FP16 (of half-precisie) kwantisatie converteert de 32-bits floating-point getallen van het model naar 16-bits floating-point getallen. Dit halveert de grootte van het model en versnelt het inferentieproces, terwijl er een goede balans blijft tussen nauwkeurigheid en prestaties.

INT8 Kwantisering

INT8 (of 8-bit integer) kwantisatie verkleint de grootte van het model en de rekenvereisten verder door de 32-bit floating-point getallen te converteren naar 8-bit integers. Deze kwantisatiemethode kan resulteren in een aanzienlijke versnelling, maar het kan leiden tot een lichte vermindering van de gemiddelde precisie (mAP) vanwege de lagere numerieke precisie.

mAP-reductie in INT8-modellen

De verminderde numerieke precisie in INT8 modellen kan leiden tot enig verlies van informatie tijdens het kwantiseringsproces, wat kan resulteren in een lichte afname van mAP. Deze afweging is echter vaak acceptabel gezien de aanzienlijke prestatiewinst die INT8 kwantisatie biedt.

Afgevaardigden en prestatievariabiliteit

Er zijn verschillende delegaties beschikbaar op Android-apparaten om modelinferentie te versnellen. Deze delegaties zijn onder andere CPU, GPU, Hexagon en NNAPI. De prestaties van deze delegates variëren afhankelijk van de hardwareleverancier van het apparaat, de productlijn en de specifieke chipsets die in het apparaat worden gebruikt.

  1. CPU: De standaardoptie, met redelijke prestaties op de meeste apparaten.
  2. GPU: Gebruikt de GPU van het apparaat voor snellere inferentie. Dit kan een aanzienlijke prestatieboost opleveren op apparaten met krachtige GPU's.
  3. Hexagon: Maakt gebruik van Qualcomm's Hexagon DSP voor snellere en efficiëntere verwerking. Deze optie is beschikbaar op apparaten met Qualcomm Snapdragon-processors.
  4. NNAPI: De Android Neural Networks API (NNAPI) dient als een abstractielaag voor het uitvoeren van ML-modellen op Android-apparaten. NNAPI kan verschillende hardwareversnellers gebruiken, zoals CPU, GPU en speciale AI-chips (bijvoorbeeld Google's Edge TPU of de Pixel Neural Core).

Hier is een tabel met de belangrijkste leveranciers, hun productlijnen, populaire apparaten en ondersteunde delegaties:

Verkoper Productlijnen Populaire apparaten Afgevaardigden Ondersteund
Qualcomm Snapdragon (bijv. 800-serie) Samsung Galaxy S21, OnePlus 9, Google Pixel 6 CPU, GPU, Hexagon, NNAPI
Samsung Exynos (bijvoorbeeld Exynos 2100) Samsung Galaxy S21 (wereldwijde versie) CPU, GPU, NNAPI
MediaTek Dimensiteit (bijvoorbeeld Dimensiteit 1200) Realme GT, Xiaomi Redmi Note CPU, GPU, NNAPI
HiSilicon Kirin (bijvoorbeeld Kirin 990) Huawei P40 Pro, Huawei Mate 30 Pro CPU, GPU, NNAPI
NVIDIA Tegra (bijvoorbeeld Tegra X1) NVIDIA Shield TV, Nintendo Switch CPU, GPU, NNAPI

Houd er rekening mee dat de lijst met genoemde apparaten niet volledig is en kan variëren afhankelijk van de specifieke chipsets en apparaatmodellen. Test je modellen altijd op je doelapparaten om compatibiliteit en optimale prestaties te garanderen.

Houd er rekening mee dat de keuze van de delegate de prestaties en de compatibiliteit van het model kan beïnvloeden. Het is bijvoorbeeld mogelijk dat sommige modellen niet werken met bepaalde delegates, of dat een delegate niet beschikbaar is op een specifiek apparaat. Daarom is het essentieel om je model en de gekozen delegate te testen op je doelapparaten voor de beste resultaten.

Aan de slag met de Ultralytics Android App

Volg deze stappen om aan de slag te gaan met de Ultralytics Android App:

  1. Download de Ultralytics App uit de Google Play Store.

  2. Start de app op je Android-apparaat en meld je aan met je Ultralytics account. Als je nog geen account hebt, maak er dan hier een aan.

  3. Eenmaal aangemeld zie je een lijst met je getrainde YOLO modellen. Selecteer een model om te gebruiken voor objectdetectie.

  4. Geef de app toestemming om de camera van je apparaat te gebruiken.

  5. Richt de camera van je apparaat op objecten die je wilt detecteren. De app toont de begrenzingskaders en class labels in real-time terwijl het objecten detecteert.

  6. Verken de instellingen van de app om de detectiedrempel aan te passen, specifieke objectklassen in of uit te schakelen en meer.

Met de Ultralytics Android App heb je nu de kracht van realtime objectdetectie met behulp van YOLO modellen binnen handbereik. Ontdek de functies van de app en optimaliseer de instellingen voor jouw specifieke toepassingen.



Gemaakt op 2023-11-12, Bijgewerkt op 2024-03-01
Auteurs: RizwanMunawar (1), glenn-jocher (3)

Reacties