Ultralytics Android App: Objekterkennung in Echtzeit mit YOLO Modellen
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 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 sind verschiedene Delegierte verfĂŒgbar, um die Modellinferenz zu beschleunigen. Zu diesen Delegierten gehören CPU, GPUHexagon und NNAPI. Die Leistung dieser Delegaten variiert je nach Hardwarehersteller, Produktlinie und den spezifischen ChipsĂ€tzen des GerĂ€ts.
- CPU: Die Standardoption, die auf den meisten GerÀten eine angemessene Leistung bietet.
- GPU: Nutzt die GPU des GerĂ€ts fĂŒr schnellere Inferenzen. Auf GerĂ€ten mit leistungsstarken Grafikprozessoren kann dies zu einer erheblichen Leistungssteigerung fĂŒhren.
- 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.
- NNAPI: Die Android Neural Networks API (NNAPI) dient als Abstraktionsschicht fĂŒr die AusfĂŒhrung von ML-Modellen auf Android GerĂ€ten. Die NNAPI kann verschiedene Hardware-Beschleuniger nutzen, z. B. CPU, GPU und spezielle KI-Chips (z. B. Google's 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:
-
Lade 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, kannst du es hier erstellen.
-
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.
-
Erteile der App die Erlaubnis, auf die Kamera deines GerÀts zuzugreifen.
-
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.
-
In den Einstellungen der App kannst du die Erkennungsschwelle anpassen, bestimmte Objektklassen aktivieren oder deaktivieren und vieles mehr.
Mit der App Ultralytics Android 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.