臉部偵測指南

三個人,臉部以邊界框醒目顯示

MediaPipe Face Detector 工作可偵測圖片或影片中的臉孔。您可以使用這項工作,在影格中找出臉部和臉部特徵。這項工作會使用機器學習 (ML) 模型,處理單張圖片或連續圖片串流。這項工作會輸出臉部位置,以及下列臉部關鍵點:左眼、右眼、鼻尖、嘴巴、左眼耳屏和右眼耳屏。

立即試用!

開始使用

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

任務詳細資料

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

功能

  • 輸入圖片處理 - 處理包括圖片旋轉、調整大小、正規化和色彩空間轉換。
  • 分數門檻:根據預測分數篩選結果。
工作輸入內容 工作輸出內容
臉部偵測器接受下列其中一種資料類型做為輸入:
  • 靜態圖片
  • 解碼的影片影格
  • 即時視訊畫面
臉部偵測器會輸出下列結果:
  • 圖片影格中偵測到的臉部定界框。
  • 每個偵測到的臉部 6 個臉部地標的座標。

設定選項

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

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

IMAGE:單一圖片輸入模式。

影片:影片解碼影格的模式。

LIVE_STREAM:直播輸入資料的模式,例如來自攝影機的資料。在此模式下,必須呼叫 resultListener 來設定事件監聽器,以非同步方式接收結果。
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
min_detection_confidence 臉部偵測成功所需的最低信賴分數。 Float [0,1] 0.5
min_suppression_threshold 臉部偵測的非最大抑制門檻下限,超過這個門檻即視為重疊。 Float [0,1] 0.3
result_callback 設定結果事件監聽器,在 Face Detector 處於即時串流模式時,非同步接收偵測結果。只有在執行模式設為 LIVE_STREAM 時才能使用。 N/A Not set

模型

臉部偵測模型會因預定用途而異,例如近距離和遠距離偵測。模型通常也會在效能、準確度、解析度和資源需求之間取捨,有時還會包含額外功能。

本節列出的模型是 BlazeFace 的變體,這款輕量級且準確的臉部偵測器經過最佳化,可進行行動 GPU 推論。BlazeFace 模型適用於 3D 臉部關鍵點估算、表情分類和臉部區域分割等應用程式。BlazeFace 使用的輕量型特徵擷取網路與 MobileNetV1/V2 類似。

BlazeFace (短距離)

輕量型模型,可偵測智慧型手機相機或網路攝影機拍攝的自拍式圖片中,是否有一或多張臉孔。這個模型專為近距離拍攝的前置手機鏡頭圖像進行最佳化,模型架構採用 Single Shot Detector (SSD) 卷積網路技術,搭配自訂編碼器。詳情請參閱單次多框偵測器研究論文。

模型名稱 輸入形狀 量化類型 模型資訊卡 版本
BlazeFace (短距離) 128 x 128 浮點數 16 資訊 最新

BlazeFace (全範圍)

這個模型相對輕量,可偵測智慧型手機相機或網路攝影機圖片中的單一或多張臉孔。這個模型已針對全範圍影像進行最佳化,例如使用手機後置鏡頭拍攝的影像。模型架構使用的技術與 CenterNet 卷積網路類似,但採用自訂編碼器。

模型名稱 輸入形狀 量化類型 模型資訊卡 版本
BlazeFace (全範圍) 128 x 128 float 16 資訊 最新

BlazeFace Sparse (全範圍)

這是 BlazeFace 一般全範圍模型的輕量版,大小約縮減 60%。這個模型已針對全範圍圖像進行最佳化,例如使用手機後置鏡頭拍攝的圖像。模型架構使用的技術與 CenterNet 卷積網路類似,但採用自訂編碼器。

模型名稱 輸入形狀 量化類型 模型資訊卡 版本
BlazeFace Sparse (全範圍) 128 x 128 float 16 資訊 最新

工作基準

以下是根據上述預先訓練模型,整個管線的任務基準。延遲時間結果是使用 CPU / GPU 的 Pixel 6 平均延遲時間。

模型名稱 CPU 延遲 GPU 延遲時間
BlazeFace (短距離) 2.94 毫秒 7.41 毫秒