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

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

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.3.0' // The latest version number of the API
    }
    
  2. アプリを再ビルドします。

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

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