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 、 GPUHexagon、NNAPIなどがある。これらのデリゲートの性能は、デバイスのハードウェア・ベンダー、製品ライン、およびデバイスで使用されている特定のチップセットによって異なります。
- CPU:デフォルトのオプションで、ほとんどのデバイスで妥当なパフォーマンスが得られます。
- GPU:より高速な推論のためにデバイスのGPU 。強力なGPUを搭載したデバイスでは、大幅なパフォーマンス向上が期待できる。
- ヘキサゴン:クアルコムのHexagon DSPを活用して、より高速で効率的な処理を実現します。このオプションは、クアルコムのSnapdragonプロセッサを搭載したデバイスで使用できます。
- NNAPI:Android Neural NetworksAPI(NNAPI)は、Android デバイス上でMLモデルを実行するための抽象化レイヤーの役割を果たす。NNAPIは、CPU 、GPU 、専用AIチップ(例えば、Google's 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 |
NVIDIA | Tegra(例:Tegra X1) | NVIDIA シールドTV,ニンテンドースイッチ | CPU GPU, NNAPI |
記載されているデバイスのリストは完全なものではなく、特定のチップセットやデバイスモデルによって異なる可能性があることにご注意ください。互換性と最適なパフォーマンスを確保するため、必ず対象デバイスでモデルをテストしてください。
デリゲートの選択は、パフォーマンスやモデルの互換性に影響を与える可能性があることに留意してください。例えば、モデルによっては特定のデリゲートでは動作しなかったり、特定のデバイスではデリゲートが利用できなかったりします。そのため、最良の結果を得るためには、あなたのモデルと選択したデリゲートをターゲット・デバイスでテストすることが不可欠です。
Ultralytics Android アプリを使い始める
Ultralytics Android アプリを使い始めるには、以下の手順に従ってください:
Google PlayストアからUltralytics アプリをダウンロードしてください。
Android デバイスでアプリを起動し、Ultralytics アカウントでサインインします。アカウントをまだお持ちでない場合は、こちらからアカウントを作成してください。
サインインすると、学習済みのYOLO モデルのリストが表示されます。オブジェクト検出に使用するモデルを選択します。
アプリにデバイスのカメラへのアクセス許可を与えます。
検出したいオブジェクトにデバイスのカメラを向けます。アプリはオブジェクトを検出すると、バウンディングボックスとクラスラベルをリアルタイムで表示します。
検出しきい値の調整、特定のオブジェクトクラスの有効化・無効化など、アプリの設定をご覧ください。
Ultralytics Android アプリにより、YOLO モデルを使用したリアルタイムの物体検出のパワーを指先ひとつで利用できるようになりました。アプリの機能を探索し、特定のユースケースに合わせて設定を最適化することをお楽しみください。