臉部地標偵測指南

臉部地標偵測工作

MediaPipe Face Landmarker 工作可讓你偵測圖片和影片中的臉部特徵點和臉部表情。您可以使用這項工作識別人類臉部表情、套用臉部濾鏡和效果,以及建立虛擬分身。這項工作會使用機器學習 (ML) 模型,可處理單張圖片或連續圖片串流。這項工作會輸出 3D 臉部地標、混合形狀分數 (代表臉部表情的係數),即時推斷詳細的臉部表面,以及執行效果算繪所需轉換的轉換矩陣。

立即試用!

開始使用

如要開始使用這項工作,請按照目標平台的其中一個導入指南操作。這些平台專屬指南會逐步說明這項工作的基本實作方式,包括建議使用的模型,以及包含建議設定選項的程式碼範例:

任務詳細資料

本節說明這項工作的能力、輸入內容、輸出內容和設定選項。

功能

  • 輸入圖片處理 - 處理包括圖片旋轉、調整大小、正規化和色彩空間轉換。
  • 分數門檻:根據預測分數篩選結果。
工作輸入內容 工作輸出
臉部地標辨識器接受下列其中一種資料類型做為輸入:
  • 靜態圖片
  • 解碼的影片影格
  • 即時視訊畫面
Face Landmarker 會輸出下列結果:
  • 系統會為偵測到的每個臉孔提供完整的臉部網格,以及表示臉部表情的混合形狀分數和臉部特徵的座標。
  • 臉部 Blendshape 和臉部轉換矩陣

設定選項

這項工作提供下列設定選項:

選項名稱 說明 值範圍 預設值
running_mode 設定工作執行模式。共有三種模式:

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 會使用矩陣,將標準臉部模型中的臉部地標轉換為偵測到的臉部,讓使用者在偵測到的地標上套用特效。 Boolean False
result_callback 設定結果事件監聽器,以便在 FaceLandmarker 處於即時串流模式時,以非同步方式接收地標結果。只有在執行模式設為 LIVE_STREAM 時才能使用 ResultListener N/A

模型

臉部地標偵測器會使用一系列模型預測臉部地標。 第一個模型會偵測臉部,第二個模型會在偵測到的臉部上找出地標,第三個模型則會使用這些地標辨識臉部特徵和表情。

下列模型會封裝成可下載的模型套件:

  • 臉部偵測模型:偵測臉部是否存在,並找出幾個重要的臉部特徵點。
  • 臉部網格模型:新增臉部的完整對應。模型會輸出 478 個 3D 臉部特徵點的估計值。
  • 混合形狀預測模型:接收臉部網格模型輸出內容,預測 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
最新