Zum Inhalt springen

Ultralytics Android App: Echtzeit-Objekterkennung mit YOLO-Modellen

Ultralytics HUB Vorschaubild

Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord

Google Play Store 

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.

  1. CPU: Die Standardoption mit angemessener Leistung auf den meisten Geräten.
  2. GPU: Nutzt die GPU des Geräts für eine schnellere Inferenz. Dies kann die Leistung von Geräten mit leistungsstarken GPUs erheblich steigern.
  3. 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.
  4. 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:

  1. Laden Sie die Ultralytics App aus dem Google Play Store herunter.

  2. 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/.

  3. 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.

  4. Erteilen Sie der App die Berechtigung, auf die Kamera Ihres Geräts zuzugreifen.

  5. 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.

  6. 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.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 4 Monaten

Kommentare