Ultralytics Android App: Echtzeit-Objekterkennung mit YOLO-Modellen
Die Ultralytics Android App ist ein leistungsstarkes Tool, mit dem Sie YOLO-Modelle direkt auf Ihrem Android-Gerät für die Echtzeit-Objekterkennung ausführen können. Diese App verwendet TensorFlow Lite zur Modelloptimierung und verschiedene Hardware-Delegierte zur Beschleunigung, was eine schnelle und effiziente Objekterkennung ermöglicht.
Ansehen: Erste Schritte mit der Ultralytics HUB App (IOS & Android)
Quantisierung und Beschleunigung
Um eine Echtzeitleistung auf Ihrem Android-Gerät zu erzielen, werden YOLO-Modelle entweder auf FP16- oder INT8-Genauigkeit quantisiert. Quantisierung ist ein Prozess, der die numerische Präzision der Gewichte und Verzerrungen des Modells reduziert, wodurch die Größe des Modells und der erforderliche Rechenaufwand verringert werden. Dies führt zu schnelleren Inferenzzeiten, ohne die Genauigkeit des Modells wesentlich zu beeinträchtigen.
FP16-Quantisierung
Die FP16- (oder Halbpräzisions-) Quantisierung konvertiert die 32-Bit-Gleitkommazahlen des Modells in 16-Bit-Gleitkommazahlen. Dies reduziert die Größe des Modells um die Hälfte und beschleunigt den Inferenzprozess, während ein gutes Gleichgewicht zwischen Genauigkeit und Leistung erhalten bleibt.
INT8-Quantisierung
Die INT8-Quantisierung (oder 8-Bit-Integer-Quantisierung) reduziert die Größe des Modells und die Rechenanforderungen weiter, indem die 32-Bit-Gleitkommazahlen in 8-Bit-Integerzahlen umgewandelt werden. Diese Quantisierungsmethode kann zu einer deutlichen Beschleunigung führen, kann aber aufgrund der geringeren numerischen Präzision zu einer leichten Verringerung der mittleren durchschnittlichen Präzision (mAP) führen.
mAP-Reduktion in INT8-Modellen
Die reduzierte numerische Präzision in INT8-Modellen kann zu einem gewissen Informationsverlust während des Quantisierungsprozesses führen, was zu einer leichten Verringerung der mAP führen kann. Dieser Kompromiss ist jedoch oft akzeptabel, wenn man die erheblichen Leistungsgewinne berücksichtigt, die die INT8-Quantisierung bietet.
Delegierte und Leistungsvariabilität
Auf Android-Geräten sind verschiedene Delegates verfügbar, um die Modellinferenz zu beschleunigen. Zu diesen Delegates gehören CPU, GPU, Hexagon und NNAPI. Die Leistung dieser Delegates variiert je nach Hardwarehersteller des Geräts, Produktlinie und den spezifischen Chipsätzen, die im Gerät verwendet werden.
- CPU: Die Standardoption mit angemessener Leistung auf den meisten Geräten.
- GPU: Nutzt die GPU des Geräts für eine schnellere Inferenz. Dies kann die Leistung von Geräten mit leistungsstarken GPUs erheblich steigern.
- Hexagon: Nutzt den Hexagon DSP von Qualcomm für eine schnellere und effizientere Verarbeitung. Diese Option ist auf Geräten mit Qualcomm Snapdragon-Prozessoren verfügbar.
- NNAPI: Die Android Neural Networks API (NNAPI) dient als Abstraktionsschicht für die Ausführung von ML-Modellen auf Android-Geräten. NNAPI kann verschiedene Hardwarebeschleuniger nutzen, wie z. B. CPU, GPU und dedizierte KI-Chips (z. B. Googles Edge TPU oder der Pixel Neural Core).
Hier ist eine Tabelle mit den wichtigsten Anbietern, ihren Produktlinien, gängigen Geräten und unterstützten Delegates:
Anbieter | Produktlinien | Beliebte Geräte | Unterstützte Delegates |
---|---|---|---|
Qualcomm | Snapdragon (z. B. 800er Serie) | Samsung Galaxy S21, OnePlus 9, Google Pixel 6 | CPU, GPU, Hexagon, NNAPI |
Samsung | Exynos (z. B. Exynos 2100) | Samsung Galaxy S21 (Globale Version) | CPU, GPU, NNAPI |
MediaTek | Dimensity (z. B. Dimensity 1200) | Realme GT, Xiaomi Redmi Note | CPU, GPU, NNAPI |
HiSilicon | Kirin (z. B. Kirin 990) | Huawei P40 Pro, Huawei Mate 30 Pro | CPU, GPU, NNAPI |
NVIDIA | Tegra (z. B. Tegra X1) | NVIDIA Shield TV, Nintendo Switch | CPU, GPU, NNAPI |
Bitte beachten Sie, dass die Liste der genannten Geräte nicht vollständig ist und je nach spezifischem Chipsatz und Gerätemodell variieren kann. Testen Sie Ihre Modelle immer auf Ihren Zielgeräten, um Kompatibilität und optimale Leistung sicherzustellen.
Beachten Sie, dass die Wahl des Delegates die Leistung und Modellkompatibilität beeinflussen kann. Beispielsweise funktionieren einige Modelle möglicherweise nicht mit bestimmten Delegates, oder ein Delegate ist auf einem bestimmten Gerät möglicherweise nicht verfügbar. Daher ist es wichtig, Ihr Modell und den gewählten Delegate auf Ihren Zielgeräten zu testen, um die besten Ergebnisse zu erzielen.
Erste Schritte mit der Ultralytics Android App
Um mit der Ultralytics Android App zu beginnen, folgen Sie diesen Schritten:
-
Laden Sie die Ultralytics App aus dem Google Play Store herunter.
-
Starte die App auf deinem Android-Gerät und melde dich mit deinem Ultralytics-Konto an. Wenn du noch kein Konto hast, erstelle eines unter https://hub.ultralytics.com/.
-
Nach der Anmeldung sehen Sie eine Liste Ihrer trainierten YOLO-Modelle. Wählen Sie ein Modell aus, das Sie für die Objekterkennung verwenden möchten.
-
Erteilen Sie der App die Berechtigung, auf die Kamera Ihres Geräts zuzugreifen.
-
Richten Sie die Kamera Ihres Geräts auf Objekte, die Sie erkennen möchten. Die App zeigt Begrenzungsrahmen und Klassenbezeichnungen in Echtzeit an, während sie Objekte erkennt.
-
Entdecken Sie die App-Einstellungen, um den Erkennungsschwellenwert anzupassen, bestimmte Objektklassen zu aktivieren oder zu deaktivieren und vieles mehr.
Mit der Ultralytics Android App haben Sie jetzt die Leistungsfähigkeit der Echtzeit-Objekterkennung mit YOLO-Modellen direkt zur Hand. Viel Spaß beim Erkunden der Funktionen der App und beim Optimieren ihrer Einstellungen für Ihre spezifischen Anwendungsfälle.