Ultralytics Androidアプリ:YOLO モデルによるリアルタイム物体検出
Ultralytics Android アプリは、YOLO モデルを Android デバイス上で直接実行し、リアルタイムの物体検出を可能にする強力なツールです。このアプリは、モデルの最適化にTensorFlow Liteを利用し、アクセラレーションに様々なハードウェアデリゲートを利用することで、高速で効率的な物体検出を可能にします。
見るんだ: Ultralytics HUB アプリ(IOS & Android)を使い始める
量子化と加速
Androidデバイスでリアルタイムのパフォーマンスを実現するために、YOLO のモデルはFP16またはINT8の精度に量子化されます。量子化とは、モデルの数値精度を下げる処理のことで、weights and biases 、モデルのサイズと必要な計算量を減らすことができます。その結果、モデルの精度に大きな影響を与えることなく、推論時間を短縮することができます。
FP16量子化
FP16(または半精度)量子化は、モデルの 32 ビット浮動小数点数を 16 ビット浮動小数点数に変換します。これにより、精度と性能のバランスを保ちながら、モデルのサイズを半分に縮小し、推論プロセスを高速化します。
INT8 量子化
INT8(または8ビット整数)量子化は、32ビット浮動小数点数を8ビット整数に変換することで、モデルのサイズと計算要件をさらに削減します。この量子化方法は大幅なスピードアップをもたらしますが、数値精度が低くなるため、平均平均精度(mAP)が若干低下する可能性があります。
INT8モデルにおけるmAPの削減
INT8モデルでは数値精度が低下するため、量子化処理中に情報が失われる可能性があり、その結果mAPがわずかに低下することがある。しかし、INT8量子化による大幅な性能向上を考慮すると、このトレードオフはしばしば許容できるものです。
代議員とパフォーマンスのばらつき
Androidデバイスでは、モデル推論を高速化するためにさまざまなデリゲートが利用できる。これらのデリゲートには、CPU、GPU、Hexagon、NNAPIが含まれる。これらのデリゲートの性能は、デバイスのハードウェアベンダー、製品ライン、デバイスで使用されている特定のチップセットによって異なります。
- CPU:デフォルトのオプションで、ほとんどのデバイスで妥当なパフォーマンスが得られます。
- GPU:デバイスのGPUを利用して推論を高速化。強力なGPUを搭載したデバイスでは、パフォーマンスが大幅に向上します。
- ヘキサゴン:クアルコムのHexagon DSPを活用して、より高速で効率的な処理を実現します。このオプションは、クアルコムのSnapdragonプロセッサを搭載したデバイスで使用できます。
- NNAPI:Android Neural Networks API(NNAPI)は、Androidデバイス上でMLモデルを実行するための抽象化レイヤーの役割を果たす。NNAPIは、CPU、GPU、専用AIチップ(GoogleのEdgeTPU や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 |
エヌビディア | Tegra(例:Tegra X1) | NVIDIA Shield TV、Nintendo Switch | CPU、GPU、NNAPI |
記載されているデバイスのリストは完全なものではなく、特定のチップセットやデバイスモデルによって異なる可能性があることにご注意ください。互換性と最適なパフォーマンスを確保するため、必ず対象デバイスでモデルをテストしてください。
デリゲートの選択は、パフォーマンスやモデルの互換性に影響を与える可能性があることに留意してください。例えば、モデルによっては特定のデリゲートでは動作しなかったり、特定のデバイスではデリゲートが利用できなかったりします。そのため、最良の結果を得るためには、あなたのモデルと選択したデリゲートをターゲット・デバイスでテストすることが不可欠です。
Ultralytics Androidアプリを使い始める
Ultralytics Androidアプリを使い始めるには、以下の手順に従ってください:
-
Google PlayストアからUltralytics アプリをダウンロードしてください。
-
Android端末でアプリを起動し、Ultralytics アカウントでサインインしてください。アカウントをお持ちでない方は、こちらからアカウントを作成してください。
-
サインインすると、学習済みのYOLO モデルのリストが表示されます。オブジェクト検出に使用するモデルを選択します。
-
アプリにデバイスのカメラへのアクセス許可を与えます。
-
検出したいオブジェクトにデバイスのカメラを向けます。アプリはオブジェクトを検出すると、バウンディングボックスとクラスラベルをリアルタイムで表示します。
-
検出しきい値の調整、特定のオブジェクトクラスの有効化・無効化など、アプリの設定をご覧ください。
Ultralytics Android アプリを使えば、YOLO モデルを使ったリアルタイムの物体検出のパワーをすぐに利用できます。アプリの機能を探索し、特定のユースケースに合わせて設定を最適化することをお楽しみください。