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 ファイルに宣言を追加します。たとえば、以下のコード スニペットは、アプリが 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 以上の言語をサポートしているため、インストール時にすべての言語を機能に含める必要はありません。この目的のために、Google では 3 つ目のインストール オプションを用意しています。このオプションでは、インストール後にモデルがオンデマンドでダウンロードされます。現在、このオプションを利用できるのは、デジタルインク認識翻訳エンティティ抽出のみです。