MediaPipe 顔ランドマーク タスクを使用すると、画像や動画内の顔のランドマークと表情を検出できます。このタスクを使用して、人間の顔の表情を識別し、顔のフィルタとエフェクトを適用して、仮想アバターを作成できます。このタスクでは、単一の画像または画像の連続ストリームを使用できる機械学習(ML)モデルを使用します。このタスクは、3 次元の顔のランドマーク、詳細な顔の表面をリアルタイムで推測するためのブレンドシェイプ スコア(顔の表情を表す係数)、エフェクトのレンダリングに必要な変換を行うための変換行列を出力します。
使ってみる
ターゲット プラットフォームの実装ガイドのいずれかに沿って、このタスクの使用を開始する。以下のプラットフォーム固有のガイドでは、推奨モデルや推奨構成オプションを含むコードサンプルなど、このタスクの基本的な実装について説明します。
タスクの詳細
このセクションでは、このタスクの機能、入力、出力、構成オプションについて説明します。
機能
- 入力画像処理 - 画像の回転、サイズ変更、正規化、色空間変換などを行います。
 - スコアしきい値 - 予測スコアに基づいて結果をフィルタリングします。
 
| タスクの入力 | タスクの出力 | 
|---|---|
Face Landscapeer は、次のいずれかのデータ型の入力を受け入れます。
 
 
  | 
      顔のランドマーク ツールは、次のような結果を出力します。
 
  | 
    
構成オプション
このタスクには、次の構成オプションがあります。
| オプション名 | 説明 | 値の範囲 | デフォルト値 | 
|---|---|---|---|
running_mode | 
      タスクの実行モードを設定します。モードは 3 つあります。 IMAGE: 単一の画像入力のモード。 VIDEO: 動画のデコードされたフレームのモード。 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 | 
      顔のランドマークャーが顔のブレンドシェイプを出力するかどうか。顔のブレンドシェイプは、3D 顔モデルのレンダリングに使用されます。 | Boolean | 
      False | 
    
output_facial_transformation_matrixes | 
      FaceLandscapeer が顔変換行列を出力するかどうか。FaceDescriptorer は、このマトリックスを使用して、顔のランドマークを正規の顔モデルから検出された顔に変換します。これにより、ユーザーは検出されたランドマークにエフェクトを適用できます。 | Boolean | 
      False | 
    
result_callback | 
      FaceLandscapeer がライブ ストリーム モードのときに、ランドマーク マーキングの結果を非同期で受け取るように結果リスナーを設定します。
実行モードが LIVE_STREAM に設定されている場合にのみ使用できます | 
      ResultListener | 
      N/A | 
    
モデル
顔のランドマーク機能は、一連のモデルを使用して顔のランドマークを予測します。1 つ目のモデルは顔を検出し、2 つ目のモデルは検出された顔のランドマークを特定します。3 つ目のモデルはこれらのランドマークを使用して顔の特徴と表情を識別します。
次のモデルは、ダウンロード可能なモデルバンドルにパッケージ化されています。
- 顔検出モデル: いくつかの重要な顔のランドマークがある顔の存在を検出します。
 - 顔メッシュモデル: 顔の完全なマッピングを追加します。このモデルは、478 個の 3 次元顔ランドマークの推定を出力します。
 - ブレンドシェイプ予測モデル: 顔メッシュモデルからの出力を受け取り、顔の異なる表情を表す係数である 52 のブレンドシェイプ スコアを予測します。
 
顔検出モデルは、BlazeFace 短距離モデルです。これは、モバイル GPU 推論向けに最適化された軽量で正確な顔検出器です。詳細については、顔検出タスクをご覧ください。
以下の画像は、モデルバンドル出力からの顔のランドマークの完全なマッピングを示しています。
 
顔のランドマークの詳細ビューについては、フルサイズの画像をご覧ください。
| モデルバンドル | 入力シェイプ | データの種類 | モデルカード | バージョン | 
|---|---|---|---|---|
| FaceLandscapeer | FaceDetector: 192 x 192 FaceMesh-V2: 256 x 256 ブレンドシェイプ: 1 x 146 x 2  | 
    浮動小数点数 16 | 
     
     FaceDetector FaceMesh-V2 Blendshape  | 
    最新 |