iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
AI/ ML & Data

AI 到底是怎麼換臉的?系列 第 12

2024 Day 11:人臉關鍵點檢測與對齊

  • 分享至 

  • xImage
  •  

在人臉檢測之後,為了進一步進行人臉識別、表情分析、換臉等任務,人臉關鍵點檢測與對齊是非常重要的步驟。人臉關鍵點(Facial Landmarks)提供了人臉的幾何結構信息,對齊則是將人臉標準化,方便後續處理。今天,我們將學習如何檢測人臉的關鍵點,並進行對齊處理,為後續的任務做好準備。


今日學習目標

理解人臉關鍵點檢測的重要性和應用
掌握常用的人臉關鍵點檢測算法
學習如何對人臉進行對齊處理
實踐人臉關鍵點檢測和對齊的方法


人臉關鍵點檢測概述

什麼是人臉關鍵點

**人臉關鍵點(Facial Landmarks)**是指在人臉上具有特殊含義的位置點,如眼角、嘴角、鼻尖等。這些點可以描述人臉的幾何結構,捕捉人臉的姿態和表情。

人臉關鍵點檢測的應用

  • 人臉識別:對齊人臉,提高識別精度。
  • 表情分析:通過關鍵點的變化,分析面部表情。
  • 換臉與美顏:進行人臉的變形和特效處理。
  • 人機交互:捕捉用戶的面部動作,實現自然交互。

人臉關鍵點檢測算法

活動外觀模型(AAM)

**活動外觀模型(Active Appearance Model, AAM)**結合了形狀模型和紋理模型,通過統計學習的方法,建立人臉的形狀和外觀變化模型。

  • 形狀模型:使用主成分分析(PCA)捕捉關鍵點位置的變化。
  • 紋理模型:捕捉對齊後人臉圖像的灰度值變化。
  • 優點:能夠同時考慮形狀和紋理,適應性強。
  • 缺點:對初始位置敏感,計算複雜度較高。

活動形狀模型(ASM)

**活動形狀模型(Active Shape Model, ASM)**僅關注形狀的變化,利用統計模型和圖像灰度資訊,迭代地調整關鍵點位置。

  • 形狀模型:使用 PCA 建立關鍵點的形狀變化模型。
  • 搜尋策略:在關鍵點附近的正交方向上,尋找灰度變化最明顯的位置。
  • 優點:計算速度較快,對初始位置要求較低。
  • 缺點:僅考慮形狀,對光照和表情變化敏感。

回歸樹模型

**增強回歸樹(Ensemble of Regression Trees)**方法將關鍵點定位問題轉化為迭代回歸問題。

  • 特徵提取:從圖像中提取局部特徵(如像素差值)。
  • 回歸模型:使用隨機森林或梯度提升回歸樹,預測關鍵點位置的增量。
  • 優點:計算速度快,精度高。
  • 缺點:需要大量訓練數據。

深度學習方法

**卷積神經網絡(CNN)和深度殘差網絡(ResNet)**等深度學習模型被廣泛應用於人臉關鍵點檢測。

  • 直接回歸:使用 CNN 直接預測關鍵點的座標。
  • 熱力圖方法:預測每個關鍵點的概率熱力圖,定位關鍵點位置。
  • 優點:精度高,對複雜情況具有魯棒性。
  • 缺點:需要大量標註數據和計算資源。

人臉對齊

為什麼需要人臉對齊

**人臉對齊(Face Alignment)**是將人臉圖像進行幾何變換,使其符合統一的坐標系統。這有助於:

  • 減少姿態差異:消除人臉的旋轉、平移和尺度變化。
  • 提高模型性能:對齊後的人臉更容易被模型處理,提高識別和分析的準確度。
  • 標準化處理:方便後續的特徵提取和比較。

對齊方法

  • 仿射變換
    • 定義:使用線性變換和位移,將原圖像映射到目標圖像。
      實現:根據至少三對對應點,計算仿射變換矩陣,對圖像進行變換。
  • 相似變換
    • 定義:保持圖像的形狀和角度,包括旋轉、縮放和平移。
    • 實現:根據兩對對應點,計算相似變換矩陣。
  • Dlib 庫中的對齊
    • 使用方法:Dlib 提供了人臉對齊的函數,根據關鍵點自動進行對齊。
    • 步驟:
      • 檢測人臉關鍵點。
      • 計算變換矩陣。
      • 應用變換,獲得對齊後的人臉圖像。

使用 Dlib 進行人臉關鍵點檢測

由於課程進度安排,今天也暫時不教學程式操作。


優化與挑戰

優化方法

  • 數據增強:增加訓練數據的多樣性,提高模型的泛化能力。
  • 多尺度特徵:結合不同尺度的特徵,提高對細節的捕捉能力。
  • 模型融合:結合多個模型的預測結果,提升精度。

挑戰

  • 姿態變化:大角度的側臉可能導致關鍵點檢測困難。
  • 表情和遮擋:誇張的表情和面部遮擋會影響檢測效果。
  • 光照和環境:極端光照條件下,檢測的魯棒性下降。

本日總結

今天我們學習了人臉關鍵點檢測與對齊的重要性和基本方法。從傳統的 AAM、ASM 方法,到基於回歸樹和深度學習的先進算法,了解了各自的優缺點和適用場景。我們還學習了如何對人臉進行對齊處理,為後續的人臉識別、表情分析等任務奠定了基礎。在實踐中,根據具體應用需求選擇合適的算法,並不斷優化模型,以應對各種挑戰。

本來課程設計這幾天都有程式教學,但是思考過後覺得由於文章觀看的人不一定會寫程式或打開軟體,所以日後決定推出特別篇的方式來進行教學,從安裝程式到寫程式一步步慢慢來!
那我們就明天見了~ 掰掰~~~~


上一篇
2024 Day 10:人臉檢測技術
下一篇
2024 Day 12:人臉識別技術
系列文
AI 到底是怎麼換臉的?31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言