MediaPipe Face Landmarker タスクを使用すると、画像や動画内の顔のランドマークと表情を検出できます。このタスクを使用して、人間の顔の表情を特定したり、顔のフィルタやエフェクトを適用したり、仮想アバターを作成したりできます。このタスクでは、単一の画像または連続した画像ストリームを処理できる ML モデルを使用します。このタスクは、3 次元の顔のランドマーク、ブレンドシェイプ スコア(表情を表す係数)を出力して、詳細な顔の表面をリアルタイムで推測し、エフェクトのレンダリングに必要な変換を行うための変換行列を出力します。
使ってみる
このタスクの使用を開始するには、対象プラットフォームの実装ガイドのいずれかに沿って操作します。これらのプラットフォーム固有のガイドでは、推奨モデルや、推奨構成オプションを含むコード例など、このタスクの基本的な実装について説明します。
タスクの詳細
このセクションでは、このタスクの機能、入力、出力、構成オプションについて説明します。
機能
- 入力画像処理 - 処理には、画像の回転、サイズ変更、正規化、色空間変換が含まれます。
- スコアのしきい値 - 予測スコアに基づいて結果をフィルタします。
| タスク入力 | タスク出力 |
|---|---|
顔ランドマーカーは、次のデータ型のいずれかの入力を受け入れます。
|
Face Landmarker は次の結果を出力します。
|
構成オプション
このタスクには、次の構成オプションがあります。
| オプション名 | 説明 | 値の範囲 | デフォルト値 |
|---|---|---|---|
running_mode |
タスクの実行モードを設定します。モードは 3 つあります。 IMAGE: 単一の画像入力用のモード。 動画: 動画のデコードされたフレームのモード。 LIVE_STREAM: カメラなどの入力データのライブ ストリームのモード。このモードでは、結果を非同期で受け取るリスナーを設定するために、resultListener を呼び出す必要があります。 |
{IMAGE, VIDEO, LIVE_STREAM} |
IMAGE |
num_faces |
FaceLandmarker で検出できる顔の最大数。平滑化は、num_faces が 1 に設定されている場合にのみ適用されます。 |
Integer > 0 |
1 |
min_face_detection_confidence |
顔検出が成功とみなされるための最小信頼スコア。 | Float [0.0,1.0] |
0.5 |
min_face_presence_confidence |
顔のランドマーク検出における顔の存在スコアの最小信頼度スコア。 | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
顔追跡が成功とみなされるための最小信頼スコア。 | Float [0.0,1.0] |
0.5 |
output_face_blendshapes |
Face Landmarker が顔のブレンドシェイプを出力するかどうか。顔のブレンドシェイプは、3D 顔モデルのレンダリングに使用されます。 | Boolean |
False |
output_facial_transformation_matrixes |
FaceLandmarker が顔の変換行列を出力するかどうか。FaceLandmarker は、この行列を使用して、標準の顔モデルから検出された顔に顔のランドマークを変換します。これにより、ユーザーは検出されたランドマークにエフェクトを適用できます。 | Boolean |
False |
result_callback |
FaceLandmarker がライブ ストリーム モードの場合に、ランドマーク検出の結果を非同期で受け取る結果リスナーを設定します。実行モードが LIVE_STREAM に設定されている場合にのみ使用できます |
ResultListener |
N/A |
モデル
顔のランドマーク検出器は、一連のモデルを使用して顔のランドマークを予測します。1 つ目のモデルで顔を検出し、2 つ目のモデルで検出された顔のランドマークを特定し、3 つ目のモデルでそれらのランドマークを使用して顔の特徴と表情を識別します。
次のモデルは、ダウンロード可能なモデル バンドルにまとめてパッケージ化されています。
- 顔検出モデル: 重要な顔のランドマークをいくつか使用して、顔の有無を検出します。
- 顔メッシュモデル: 顔の完全なマッピングを追加します。モデルは、478 個の 3 次元顔ランドマークの推定値を出力します。
- ブレンドシェイプ予測モデル: フェイス メッシュモデルから出力を受け取り、顔のさまざまな表情を表す係数である 52 個のブレンドシェイプ スコアを予測します。
顔検出モデルは BlazeFace 短距離モデルです。これは、モバイル GPU 推論用に最適化された軽量で正確な顔検出器です。詳しくは、顔検出器タスクをご覧ください。
下の図は、モデルバンドル出力からの顔のランドマークの完全なマッピングを示しています。
顔のランドマークの詳細については、フルサイズの画像をご覧ください。
| モデル バンドル | 入力シェイプ | データ型 | モデルカード | バージョン |
|---|---|---|---|---|
| FaceLandmarker | FaceDetector: 192 x 192 FaceMesh-V2: 256 x 256 Blendshape: 1 x 146 x 2 |
float 16 |
FaceDetector FaceMesh-V2 Blendshape |
最新 |