Zum Inhalt springen

Ultralytics Android App: Objekterkennung in Echtzeit mit YOLO Modellen

Ultralytics HUB-Vorschaubild

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

Google Play Store 

Die Ultralytics Android App ist ein leistungsstarkes Tool, mit dem du YOLO Modelle direkt auf deinem Android-GerĂ€t ausfĂŒhren kannst, um Objekte in Echtzeit zu erkennen. Diese App nutzt TensorFlow Lite zur Modelloptimierung und verschiedene Hardware-Delegierte zur Beschleunigung, um eine schnelle und effiziente Objekterkennung zu ermöglichen.



Pass auf: Erste Schritte mit der Ultralytics HUB App (IOS & Android)

Quantisierung und Beschleunigung

Um eine Echtzeitleistung auf deinem Android-GerĂ€t zu erreichen, werden die YOLO Modelle entweder auf FP16- oder INT8-Genauigkeit quantisiert. Bei der Quantisierung wird die numerische Genauigkeit des Modells weights and biases reduziert, wodurch die GrĂ¶ĂŸe des Modells und der erforderliche Rechenaufwand verringert werden. Dies fĂŒhrt zu schnelleren Schlussfolgerungen, ohne die Genauigkeit des Modells wesentlich zu beeintrĂ€chtigen.

FP16 Quantisierung

Die FP16-Quantisierung (oder HalbprĂ€zisionsquantisierung) wandelt die 32-Bit-Gleitkommazahlen des Modells in 16-Bit-Gleitkommazahlen um. Dadurch wird die GrĂ¶ĂŸe des Modells um die HĂ€lfte reduziert und der Schlussfolgerungsprozess beschleunigt, wĂ€hrend gleichzeitig 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 Berechnungsanforderungen weiter, indem die 32-Bit-Gleitkommazahlen in 8-Bit-Ganzzahlen umgewandelt werden. Diese Quantisierungsmethode kann zu einer erheblichen Beschleunigung fĂŒhren, aber aufgrund der geringeren numerischen Genauigkeit kann es zu einer leichten Verringerung der durchschnittlichen Genauigkeit (mAP) kommen.

mAP-Reduktion in INT8-Modellen

Die geringere numerische Genauigkeit in INT8-Modellen kann zu einem gewissen Informationsverlust wĂ€hrend des Quantisierungsprozesses fĂŒhren, was einen leichten RĂŒckgang der mAP zur Folge haben kann. Dieser Kompromiss ist jedoch oft akzeptabel, wenn man die erheblichen Leistungsgewinne bedenkt, die die INT8-Quantisierung bietet.

Delegierte und LeistungsvariabilitÀt

Auf Android-GerĂ€ten sind verschiedene Delegierte verfĂŒgbar, um die Modellinferenz zu beschleunigen. Zu diesen Delegaten gehören CPU, GPU, Hexagon und NNAPI. Die Leistung dieser Delegaten variiert je nach Hardwarehersteller, Produktlinie und den spezifischen ChipsĂ€tzen des GerĂ€ts.

  1. CPU: Die Standardoption, die auf den meisten GerÀten eine angemessene Leistung bietet.
  2. GPU: Nutzt den Grafikprozessor des GerĂ€ts fĂŒr schnellere Inferenzen. Auf GerĂ€ten mit leistungsstarken GPUs kann dies zu einem erheblichen Leistungsschub fĂŒhren.
  3. Hexagon: Nutzt den Hexagon DSP von Qualcomm fĂŒr eine schnellere und effizientere Verarbeitung. Diese Option ist fĂŒr GerĂ€te 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 Hardware-Beschleuniger nutzen, wie CPU, GPU und spezielle KI-Chips (z. B. Googles Edge TPU oder den Pixel Neural Core).

Hier ist eine Tabelle mit den wichtigsten Anbietern, ihren Produktlinien, beliebten GerĂ€ten und unterstĂŒtzten Delegierten:

Anbieter Produktlinien Beliebte GerĂ€te UnterstĂŒtzte Delegierte
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 beachte, dass die Liste der genannten GerÀte nicht vollstÀndig ist und je nach Chipsatz und GerÀtemodell variieren kann. Teste deine Modelle immer auf deinen ZielgerÀten, um KompatibilitÀt und optimale Leistung sicherzustellen.

Denke daran, dass die Wahl des Delegierten die Leistung und die KompatibilitĂ€t der Modelle beeinflussen kann. Manche Modelle funktionieren zum Beispiel nicht mit bestimmten Delegaten oder ein Delegat ist auf einem bestimmten GerĂ€t nicht verfĂŒgbar. Deshalb ist es wichtig, dass du dein Modell und den gewĂ€hlten Delegaten auf deinen ZielgerĂ€ten testest, um die besten Ergebnisse zu erzielen.

Erste Schritte mit der Ultralytics Android App

Um mit der Ultralytics Android App zu starten, befolge diese Schritte:

  1. Lade 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, kannst du es hier erstellen.

  3. Sobald du dich angemeldet hast, siehst du eine Liste deiner trainierten YOLO Modelle. WĂ€hle ein Modell aus, das du fĂŒr die Objekterkennung verwenden möchtest.

  4. Erteile der App die Erlaubnis, auf die Kamera deines GerÀts zuzugreifen.

  5. Richte die Kamera deines GerÀts auf die Objekte, die du erkennen willst. Die App zeigt die Begrenzungsrahmen und Klassenbeschriftungen in Echtzeit an, wÀhrend sie die Objekte erkennt.

  6. In den Einstellungen der App kannst du die Erkennungsschwelle anpassen, bestimmte Objektklassen aktivieren oder deaktivieren und vieles mehr.

Mit der Ultralytics Android App hast du jetzt die Möglichkeit, Objekte in Echtzeit anhand von YOLO Modellen zu erkennen. Erkunde die Funktionen der App und optimiere ihre Einstellungen fĂŒr deine speziellen AnwendungsfĂ€lle.



Erstellt am 2023-11-12, Aktualisiert am 2024-03-01
Autoren: RizwanMunawar (1), glenn-jocher (3)

Kommentare