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 ファイルに宣言を追加します。たとえば、以下のコード スニペットは、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.0.3' // The latest version number of the API
    }
    
  2. アプリを再ビルドします。

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

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