Ultralytics Android App: Real-time Object Detection with YOLO Models
The Ultralytics Android App is a powerful tool that allows you to run YOLO models directly on your Android device for real-time object detection. This app utilizes TensorFlow Lite for model optimization and various hardware delegates for acceleration, enabling fast and efficient object detection.
見るんだ: Ultralytics HUBアプリを使い始める (IOS &Android)
量子化と加速
To achieve real-time performance on your Android device, YOLO models are quantized to either FP16 or INT8 precision. Quantization is a process that reduces the numerical precision of the model's weights and biases, thus reducing the model's size and the amount of computation required. This results in faster inference times without significantly affecting the model's accuracy.
FP16量子化
FP16(または半精度)量子化は、モデルの 32 ビット浮動小数点数を 16 ビット浮動小数点数に変換します。これにより、精度と性能のバランスを保ちながら、モデルのサイズを半分に縮小し、推論プロセスを高速化します。
INT8 量子化
INT8 (or 8-bit integer) quantization further reduces the model's size and computation requirements by converting its 32-bit floating-point numbers to 8-bit integers. This quantization method can result in a significant speedup, but it may lead to a slight reduction in mean average precision (mAP) due to the lower numerical precision.
INT8モデルにおけるmAPの削減
INT8モデルでは数値精度が低下するため、量子化処理中に情報が失われる可能性があり、その結果mAPがわずかに低下することがある。しかし、INT8量子化による大幅な性能向上を考慮すると、このトレードオフはしばしば許容できるものです。
代議員とパフォーマンスのばらつき
Android 、モデル推論を高速化するために、さまざまなデリゲートが利用できる。これらのデリゲートには、CPU 、 GPUHexagon、NNAPIなどがある。これらのデリゲートの性能は、デバイスのハードウェア・ベンダー、製品ライン、およびデバイスで使用されている特定のチップセットによって異なります。
- CPU:デフォルトのオプションで、ほとんどのデバイスで妥当なパフォーマンスが得られます。
- GPU:より高速な推論のためにデバイスのGPU 。強力なGPUを搭載したデバイスでは、大幅なパフォーマンス向上が期待できる。
- ヘキサゴン:クアルコムのHexagon DSPを活用して、より高速で効率的な処理を実現します。このオプションは、クアルコムのSnapdragonプロセッサを搭載したデバイスで使用できます。
- NNAPI: The Android Neural Networks API (NNAPI) serves as an abstraction layer for running ML models on Android devices. NNAPI can utilize various hardware accelerators, such as CPU, GPU, and dedicated AI chips (e.g., Google's Edge TPU, or the Pixel Neural Core).
主なベンダーとその製品ライン、人気のあるデバイス、サポートされているデリゲートを表にまとめた:
ベンダー | 製品ライン | 人気のデバイス | サポートされる代議員 |
---|---|---|---|
クアルコム | スナップドラゴン(800シリーズなど) | サムスン・ギャラクシーS21、OnePlus 9、Google Pixel 6 | CPU,GPU, ヘキサゴン, NNAPI |
サムスン | エクシノス(例:エクシノス2100) | サムスン・ギャラクシーS21(グローバル版) | CPU GPU, NNAPI |
メディアテック | 輝度(例:輝度1200) | Realme GT、シャオミ・レドミ・ノート | CPU GPU, NNAPI |
ハイシリコン | キリン | ファーウェイP40 Pro、ファーウェイMate 30 Pro | CPU GPU, NNAPI |
NVIDIA | Tegra(例:Tegra X1) | NVIDIA シールドTV,ニンテンドースイッチ | CPU GPU, NNAPI |
記載されているデバイスのリストは完全なものではなく、特定のチップセットやデバイスモデルによって異なる可能性があることにご注意ください。互換性と最適なパフォーマンスを確保するため、必ず対象デバイスでモデルをテストしてください。
デリゲートの選択は、パフォーマンスやモデルの互換性に影響を与える可能性があることに留意してください。例えば、モデルによっては特定のデリゲートでは動作しなかったり、特定のデバイスではデリゲートが利用できなかったりします。そのため、最良の結果を得るためには、あなたのモデルと選択したデリゲートをターゲット・デバイスでテストすることが不可欠です。
Ultralytics Android アプリを使い始める
Ultralytics Android アプリを使い始めるには、以下の手順に従ってください:
-
Google PlayストアからUltralytics アプリをダウンロードしてください。
-
Android デバイスでアプリを起動し、Ultralytics アカウントでサインインします。アカウントをまだお持ちでない場合は、こちらからアカウントを作成してください。
-
サインインすると、学習済みのYOLO モデルのリストが表示されます。オブジェクト検出に使用するモデルを選択します。
-
アプリにデバイスのカメラへのアクセス許可を与えます。
-
検出したいオブジェクトにデバイスのカメラを向けます。アプリはオブジェクトを検出すると、バウンディングボックスとクラスラベルをリアルタイムで表示します。
-
検出しきい値の調整、特定のオブジェクトクラスの有効化・無効化など、アプリの設定をご覧ください。
Ultralytics Android アプリで、YOLO モデルを使用したリアルタイムの物体検出のパワーを、すぐにご利用いただけます。アプリの機能を探索し、特定のユースケースに合わせて設定を最適化することをお楽しみください。