Android での ML Kit モデルのインストール パス

ML Kit のすべての機能は、デフォルトで Google のトレーニング済み ML モデル(ベースモデル)を使用します。このガイドは、ベースモデルにのみ適用されます。カスタムモデルに関するガイダンスについては、こちらをご覧ください。

ML Kit API のモデルは、次の 3 つの方法のいずれかでインストールできます。

  1. バンドルなし: モデルは Google Play 開発者サービスを介してダウンロード、管理されます。
  2. バンドル: モデルは、ビルド時にアプリに静的にリンクされます。
  3. 動的にダウンロード: モデルをオンデマンドでダウンロードします。

各 API でサポートされているインストール パス

次の表に、ML Kit の各機能でサポートされているモデルのインストール パスを示します。

バンドルなし バンドル 動的にダウンロードされる
テキスト認識 v2
顔検出
顔メッシュ検出
姿勢検出
自撮り写真の分割
バーコード スキャン
画像のラベル付け
オブジェクトの検出とトラッキング
デジタルインク認識
ドキュメント スキャナ
被写体の分類
Google コードスキャナ
言語識別
翻訳
スマート リプライ
エンティティ抽出

API 固有のガイドでは、特定の API で使用できるインストール オプションを確認できます。

インストール オプションの主な違い

バンドルなし バンドル 動的にダウンロードされる
モデルはどこに保存されますか? Google Play 開発者サービス内にあり、このアプリで使用されるストレージにはカウントされません。 インストール後にアプリ固有のストレージに保存する モデルのダウンロード後にアプリ固有のストレージに保存される
モデルサイズがアプリのサイズに与える影響 アプリのサイズに影響しない アプリのサイズに直接影響する アプリのサイズに影響しないが、アプリ固有のストレージを増やす
モデルはいつ更新されますか? 新しいバージョンがリリースされると自動的に更新されます モデルを更新するためにアプリを更新する必要がある モデルを更新するためにアプリを更新する必要がある
モデルはいつダウンロードされますか? モデルの使用前にダウンロードする必要がある アプリのインストール時にすべてのモデルと機能が含まれるため、すぐに使用できる モデルのダウンロード、更新、削除は、RemoteModelManager API を使用して手動で管理する必要があります。
モデルはいつデバイスから削除されますか? Google Play 開発者サービスは、そのモデルに依存するすべてのアプリをアンインストールした場合にのみ、モデルをストレージから削除します。 モデルは、アプリをアンインストールすると、アプリ固有のストレージから削除されます ダウンロードしたモデルは、アプリをアンインストールすると、アプリ固有のストレージから削除されます。

バンドル版とバンドルなしの選択方法

API がバンドル版と非バンドル版の両方のインストール オプションをサポートしている場合:

  • 以下を優先する場合はバンドル オプションを使用してください。

    • アプリのインストール後すぐにすべての機能を利用できるようにする
    • アプリのインストール後にネットワーク接続を必要としない機能
  • 以下を優先する場合は、バンドルされていないオプションを使用してください。

    • アプリサイズの削減
    • Google Play 開発者サービスによるモデルの自動更新

モデルのダウンロード方法

バンドルされていないモデル オプションを使用する場合は、モデルをデバイスにダウンロードする方法を指定できます。

  • インストール時のモデルのダウンロードを有効にするには、アプリの AndroidManifest.xml ファイルに宣言を追加します。たとえば、以下のコード スニペットは、アプリが Google Play ストアからインストールされた後にバーコード スキャン モデルを自動的にダウンロードするようにアプリを構成する方法を示しています。

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Google Play 開発者サービスの ModuleInstallClient API を使用して、明示的なダウンロードをリクエストできます。

  • インストール時のモデルのダウンロードを有効にしない場合、または明示的なダウンロードをリクエストしない場合、モデルは機能の初回実行時にダウンロードされます。ダウンロードが完了するまで、推論リクエストは失敗します。

モデルを更新する方法

バンドルされたモデルまたは動的にダウンロードされたモデル オプションを使用してモデルを更新するには:

  1. 最新の ML Kit 機能クライアント ライブラリを使用するように、アプリの Gradle ファイルを更新します。

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.2.0' // The latest version number of the API
    }
    
  2. アプリを再ビルドします。

一部の API で動的にダウンロードされたモデルが提供される理由

一部の ML Kit API では、バンドルするモデル オプションが多すぎます。たとえば、デジタルインク認識300 以上の言語をサポートしており、インストール時にすべての言語をこの機能に含めることができます。そのため、3 番目のインストール オプションが用意されています。このオプションでは、インストール後にモデルをオンデマンドでダウンロードできます。現在、このオプションを利用できるのは、デジタルインク認識翻訳エンティティ抽出のみです。