<ph type="x-smartling-placeholder">
MediaPipe Face Stylizer タスクを使用すると、画像内の顔に顔のスタイルを適用できます。 このタスクでは、さまざまなスタイルの仮想アバターを作成できます。
この手順で説明するコードサンプルは、 GitHub。 機能、モデル、構成オプションの詳細については、 概要をご覧ください。
サンプルコード
MediaPipe Tasks のサンプルコードは、顔スタイライザーの基本的な実装です。 アプリこの例は、 。
独自の Android アプリの出発点としてアプリを使用することも、アプリ自体に言及することもできます。 変更する際の注意点があります。顔スタイライザーのサンプルコードは次の場所でホストされています: GitHub。
コードをダウンロードする
次の手順では、サンプルのローカルコピーを作成する方法を示します。 git コマンドライン ツールを使用してコードを実行します。
サンプルコードをダウンロードするには:
- 次のコマンドを使用して Git リポジトリのクローンを作成します。
git clone https://github.com/google-ai-edge/mediapipe-samples
- 必要に応じて、スパース チェックアウトを使用するように Git インスタンスを構成し、
Face Stylizer サンプルアプリのファイルのみを表示します。
cd mediapipe git sparse-checkout init --cone git sparse-checkout set examples/face_stylization/android
サンプルコードのローカル バージョンを作成したら、プロジェクトをインポートできます。 アプリを実行します。手順については、セットアップ ガイド: Android。
主要コンポーネント
次のファイルには、この顔のスタイル設定の例に不可欠なコードが含まれています。 アプリケーション:
- FaceStylizationHelper.kt: 顔スタイルを初期化し、モデルとデリゲートの選択を処理します。
- MainActivity.kt: 結果と出力が提供され、エラーがあれば処理されます。
セットアップ
このセクションでは、開発環境をセットアップする主な手順と コード プロジェクトを作成することにしました。一般的な情報については、 MediaPipe タスクを使用するための開発環境の設定 プラットフォーム バージョンの要件については、 Android。
依存関係
顔スタイライザー タスクは com.google.mediapipe:tasks-vision
ライブラリを使用します。追加
これを Android アプリの build.gradle
ファイルに追加します。
dependencies {
implementation 'com.google.mediapipe:tasks-vision:latest.release'
}
モデル
MediaPipe Face Stylizer タスクには、以下と互換性のあるトレーニング済みモデルバンドルが必要です。 できます。顔スタイライザーで利用可能なトレーニング済みモデルについて詳しくは、 タスクの概要のモデル セクションをご覧ください。
モデルを選択してダウンロードし、プロジェクト ディレクトリに保存します。
<dev-project-root>/src/main/assets
ModelAssetPath
パラメータ内でモデルのパスを指定します。
val modelName = "https://storage.googleapis.com/mediapipe-models/face_stylizer/blaze_face_stylizer/float32/latest/face_stylizer_color_sketch.task"
baseOptionsBuilder.setModelAssetPath(modelName)
タスクを作成する
MediaPipe Face Stylizer タスクは、createFromOptions()
関数を使用して
タスクを実行します。createFromOptions()
関数は構成の値を受け入れます。
。構成オプションの詳細については、構成
オプションをご覧ください。
val baseOptionsBuilder = BaseOptions.builder().setModelAssetPath(modelName)
val baseOptions = baseOptionBuilder.build()
val optionsBuilder =
FaceStylizer.FaceStylizerOptions.builder()
.setBaseOptions(baseOptionsBuilder.build())
val options = optionsBuilder.build()
FaceStylizer =
FaceStylizer.createFromOptions(context, options)
構成オプション
このタスクには、Android アプリ用に次の構成オプションがあります。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
errorListener |
オプションのエラーリスナーを設定します。 | N/A |
Not set |
データの準備
顔スタイライザーは静止画像に対応しています。タスクはデータ入力を処理し、 これには、サイズ変更、回転、値の正規化などの前処理が含まれます。「 次のコードは、処理のためにデータを引き渡す方法を示しています。
import com.google.mediapipe.framework.image.BitmapImageBuilder
import com.google.mediapipe.framework.image.MPImage
// Convert the input Bitmap object to an MPImage object to run inference
val mpImage = BitmapImageBuilder(image).build()
タスクを実行する
入力画像に対して FaceStylizer.stylize()
メソッドを使用して、スタイルを実行します。
val result = FaceStylizer.stylize(mpImage)
結果の処理と表示
顔スタイライザーは、FaceStylizerResult
オブジェクトを返します。このオブジェクトには、
入力内で最も目立つ顔のスタイルが設定された MPImage
オブジェクト
説明します。
このタスクからの出力データの例を次に示します。
上記の出力は、カラースケッチを適用して作成されました。 次の入力画像にマッピングします。