コンテンツにスキップ

Ultralytics Androidアプリ:YOLOモデルによるリアルタイム物体検出

Ultralytics HUB のプレビュー画像

Ultralytics GitHub スペース Ultralytics LinkedIn スペース Ultralytics Twitter スペース Ultralytics YouTube スペース Ultralytics TikTok スペース Ultralytics BiliBili スペース Ultralytics Discord

Google Playストア 

Ultralytics Android Appは、リアルタイムオブジェクト検出のためにAndroidデバイスで直接YOLOモデルを実行できる強力なツールです。このアプリは、モデルの最適化にTensorFlow Liteを使用し、高速かつ効率的なオブジェクト検出を可能にするために、さまざまなハードウェアデリゲートを使用します。



見る: Ultralytics HUBアプリ(IOS & Android)の利用開始

量子化と高速化

Androidデバイスでリアルタイムパフォーマンスを実現するために、YOLOモデルはFP16またはINT8の精度に量子化されます。量子化とは、モデルの重みとバイアスの数値精度を低下させるプロセスであり、モデルのサイズと必要な計算量を削減します。これにより、モデルの精度に大きな影響を与えることなく、推論時間が短縮されます。

FP16量子化

FP16(または半精度)量子化は、モデルの32ビット浮動小数点数を16ビット浮動小数点数に変換します。これにより、モデルのサイズが半分になり、推論プロセスが高速化されると同時に、精度とパフォーマンスのバランスが保たれます。

INT8量子化

INT8(または8ビット整数)量子化は、32ビット浮動小数点数を8ビット整数に変換することにより、モデルのサイズと計算要件をさらに削減します。この量子化方法により、大幅な高速化が実現しますが、数値精度が低いため、平均適合率(mAP)が若干低下する可能性があります。

INT8モデルにおけるmAPの低下

INT8モデルでは数値精度が低下するため、量子化プロセス中に情報が失われる可能性があり、mAPが若干低下する可能性があります。ただし、INT8量子化によって得られる大幅なパフォーマンス向上を考慮すると、このトレードオフは許容できる場合が多くあります。

デリゲートとパフォーマンスの変動性

Androidデバイスでは、モデル推論を高速化するためにさまざまなデリゲートが利用可能です。これらのデリゲートには、CPU、GPUHexagonNNAPIが含まれます。これらのデリゲートのパフォーマンスは、デバイスのハードウェアベンダー、製品ライン、およびデバイスで使用されている特定のチップセットによって異なります。

  1. CPU:デフォルトのオプションで、ほとんどのデバイスで妥当なパフォーマンスが得られます。
  2. GPU: デバイスのGPUを利用して、より高速な推論を実現します。強力なGPUを搭載したデバイスでは、大幅なパフォーマンス向上が期待できます。
  3. Hexagon: QualcommのHexagon DSPを活用して、より高速かつ効率的な処理を実現します。このオプションは、Qualcomm Snapdragonプロセッサを搭載したデバイスで利用できます。
  4. NNAPI: Android Neural Networks API(NNAPI)は、AndroidデバイスでMLモデルを実行するための抽象化レイヤーとして機能します。NNAPIは、CPU、GPU、および専用AIチップ(GoogleのEdge TPUやPixel Neural Coreなど)などのさまざまなハードウェアアクセラレータを利用できます。

主要ベンダー、その製品ライン、一般的なデバイス、およびサポートされているデリゲートを示す表を以下に示します。

ベンダー 製品ライン 人気のあるデバイス サポートされているデリゲート
Qualcomm Snapdragon(例:800シリーズ) Samsung Galaxy S21OnePlus 9Google Pixel 6 CPU、GPU、Hexagon、NNAPI
Samsung Exynos(例:Exynos 2100) Samsung Galaxy S21 (グローバルバージョン) CPU、GPU、NNAPI
MediaTek Dimensity(例:Dimensity 1200) Realme GTXiaomi Redmi Note CPU、GPU、NNAPI
HiSilicon Kirin (例: Kirin 990) Huawei P40 ProHuawei Mate 30 Pro CPU、GPU、NNAPI
NVIDIA Tegra (例: Tegra X1) NVIDIA Shield TVNintendo Switch CPU、GPU、NNAPI

言及されているデバイスのリストは網羅的ではなく、特定のチップセットやデバイスモデルによって異なる場合があることに注意してください。互換性と最適なパフォーマンスを確保するために、常にターゲットデバイスでモデルをテストしてください。

デリゲートの選択は、パフォーマンスとモデルの互換性に影響を与える可能性があることに注意してください。たとえば、一部のモデルは特定のデリゲートでは動作しない場合や、特定のデバイスでデリゲートが利用できない場合があります。そのため、最良の結果を得るには、モデルと選択したデリゲートをターゲットデバイスでテストすることが不可欠です。

Ultralytics Androidアプリの利用開始

Ultralytics Androidアプリの使用を開始するには、以下の手順に従ってください:

  1. Google Play StoreからUltralyticsアプリをダウンロードしてください。

  2. Androidデバイスでアプリを起動し、Ultralyticsアカウントでサインインします。まだアカウントをお持ちでない場合は、https://hub.ultralytics.com/ で作成してください。

  3. サインインすると、トレーニング済みのYOLOモデルのリストが表示されます。オブジェクト検出に使用するモデルを選択します。

  4. デバイスのカメラにアクセスするためのアプリの許可を与えます。

  5. 検出したいオブジェクトにデバイスのカメラを向けてください。オブジェクトを検出すると、バウンディングボックスとクラスラベルがリアルタイムで表示されます。

  6. アプリの設定を調べて、検出閾値を調整したり、特定のオブジェクトクラスを有効または無効にしたりできます。

Ultralytics Androidアプリを使用すると、YOLOモデルを使用したリアルタイムの物体検出をすぐに利用できます。アプリの機能を探索し、特定のユースケースに合わせて設定を最適化してください。



📅 1年前に作成 ✏️ 4か月前に更新

コメント