Android の設定ガイド

このページでは、Android アプリで MediaPipe Tasks を使用するための開発環境をセットアップする方法について説明します。

サポートされているデバイスとプラットフォーム

MediaPipe Tasks を使用して Android アプリを作成するには、開発環境に以下が必要です。

  • Android Studio(推奨バージョン 2021.1.1(Bumblebee)以降)または別の互換性のある IDE
  • Android SDK バージョン 24 以降
  • 最小バージョンの SDK がインストールされている Android デバイス。Android Emulator は、すべてのタスクで機能するとは限りません。

開発環境の設定

Android アプリで MediaPipe タスクを実行する前に、ローカルマシンで新しい Android Studio プロジェクトを作成するか、既存のアプリが必要です。MediaPipe は、アプリデータとビジネス ロジックを含むアプリのデータレイヤに適合します。Android アプリのアーキテクチャについて詳しくは、アプリ アーキテクチャ ガイドをご覧ください。

Android デバイスのセットアップ

物理的な Android デバイスを使用してアプリをテストする前に、そのデバイスで開発者向けオプションと USB デバッグを有効にする必要があります。開発者向けオプションを使用してデバイスを設定する手順については、デバイスの開発者向けオプションを設定するをご覧ください。

デバイスのカメラやマイクを必要としないタスクでは、物理的な Android デバイスの代わりに Android デバイス エミュレータを使用できます。Android Emulator の設定手順については、Android Emulator 上でアプリを実行するをご覧ください。

コードのセットアップ例

MediaPipe サンプル リポジトリには、各 MediaPipe タスクの Android アプリのサンプルが含まれています。サンプルコードからプロジェクトを作成し、プロジェクトをビルドして実行できます。

サンプルコード プロジェクトをインポートしてビルドするには:

  1. Android Studio を起動します。
  2. Android Studio で、[File] > [New] > [Import Project] を選択します。
  3. build.gradle ファイルを含むサンプルコードのディレクトリに移動し、そのディレクトリを選択します(例: .../mediapipe/examples/text_classification/android/build.gradle)。
  4. Android Studio から Gradle の同期を求められたら、[OK] を選択します。
  5. Android デバイスがパソコンに接続され、デベロッパー モードが有効になっていることを確認します。緑色の Run 矢印をクリックします。

正しいディレクトリを選択すると、Android Studio によって新しいプロジェクトが作成され、ビルドされます。このプロセスは、パソコンの処理速度や、他のプロジェクトで Android Studio を使用したかどうかによって、数分かかる場合があります。ビルドが完了すると、Android Studio の [Build Output] ステータス パネルに BUILD SUCCESSFUL メッセージが表示されます。

プロジェクトを実行するには:

  1. Android Studio で、[Run] > [Run...] を選択してプロジェクトを実行します。
  2. 接続されている Android デバイス(またはエミュレータ)を選択してアプリをテストします。

MediaPipe タスクの依存関係

MediaPipe Tasks には、ビジョン、テキスト、オーディオ用の 3 つのビルド済みライブラリが用意されています。.tflite モデルファイルは、そのモデルを使用する Android モジュールのアセット ディレクトリに配置する必要があります。アプリで使用する MediaPipe タスクに応じて、ビジョン、テキスト、またはオーディオ ライブラリを build.gradle ファイル内の依存関係のリストに追加します。

生成 AI のタスク

MediaPipe Tasks の生成 AI ライブラリには、画像またはテキストの生成を処理するタスクが含まれています。Android Studio で MediaPipe Tasks の生成 AI ライブラリをインポートするには、依存関係を build.gradle ファイルに追加します。

画像生成ツール

MediaPipe 画像生成タスクは、tasks-vision-image-generator ライブラリに含まれています。build.gradle ファイルに依存関係を追加します。

dependencies {
    implementation 'com.google.mediapipe:tasks-vision-image-generator:latest.release'
}

LLM 推論 API

MediaPipe LLM 推論タスクは、tasks-genai ライブラリに含まれています。build.gradle ファイルに依存関係を追加します。

dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}

視覚タスク

MediaPipe Tasks ビジョン ライブラリには、画像や動画の入力を処理するタスクが含まれています。Android Studio で MediaPipe Tasks ビジョン ライブラリをインポートするには、build.gradle ファイルに次の依存関係を追加します。

dependencies {
    implementation 'com.google.mediapipe:tasks-vision:latest.release'
}

テキストタスク

MediaPipe Tasks テキスト ライブラリには、言語データをテキスト形式で処理するタスクが含まれています。Android Studio で MediaPipe Tasks テキスト ライブラリをインポートするには、build.gradle ファイルに次の依存関係を追加します。

dependencies {
    implementation 'com.google.mediapipe:tasks-text:latest.release'
}

音声タスク

MediaPipe Tasks オーディオ ライブラリには、音声入力を処理するタスクが含まれています。MediaPipe Tasks オーディオ ライブラリを Android Studio にインポートするには、build.gradle ファイルに次の依存関係を追加します。

dependencies {
    implementation 'com.google.mediapipe:tasks-audio:latest.release'
}

BaseOptions 構成

BaseOptions を使用すると、MediaPipe Task API の一般的な構成が可能になります。

オプション名 説明 指定可能な値
modelAssetBuffer 直接の ByteBuffer または MappedByteBuffer としてモデルアセット ファイルの内容。 文字列としての ByteBuffer または MappedByteBuffer
modelAssetPath Android アプリアセット フォルダ内のモデルアセット ファイルへのモデルパス。 文字列としてのファイルパス
modelAssetFileDescriptor モデルアセット ファイルのネイティブ ファイル記述子の整数。 ファイル記述子を指定する整数
Delegate デバイス デリゲートを介したハードウェア アクセラレーションを有効にして、MediaPipe パイプラインを実行します。デフォルト値: CPU [CPU,
GPU]

ハードウェア アクセラレーション

MediaPipe Tasks は、画像処理装置(GPU)を使用して ML モデルを実行できます。Android デバイスでは、デリゲートを使用して GPU による高速モデル実行を有効にできます。デリゲートは MediaPipe のハードウェア ドライバとして機能し、標準の CPU プロセッサではなく GPU プロセッサでモデルを実行できるようにします。

BaseOptions を使用して、タスク オプションで GPU デリゲートを構成します。

BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

トラブルシューティング

MediaPipe に関する技術的な質問については、ディスカッション グループまたは Stack Overflow にアクセスして、コミュニティからサポートを受けてください。バグの報告や機能リクエストを行うには、GitHub で問題を報告してください。

Android 開発環境の設定については、Android デベロッパー向けドキュメントをご覧ください。