人臉(2) | 人臉關鍵點檢測彙總(文末有相關文章連接) - 知乎

https://zhuanlan.zhihu.com/p/106659141算法


今天應該是「計算機視覺戰隊」人臉專集的第2期,咱們主要涉及目標檢測與識別,主要在人臉領域作更多的詳解。安全

接下來,咱們針對人臉配準該領域詳細講解一次,今日主要涉及的就是人臉關鍵點檢測,這個基礎是人臉分析的基礎,也是最重要的步驟之一。機器學習

往期回顧:函數

簡 要性能

在人臉部分和輪廓周圍的基準人臉關鍵點位置捕獲了因爲頭部移動和麪部表情形成的剛性和非剛性面部變形。學習

所以,它們對於各類面部分析任務很是重要。多年來,許多人臉關鍵點檢測算法都是爲了自動檢測這些關鍵點而發展起來的,今天,咱們對它們進行了普遍的綜述。測試

今天所要講解的,將人臉關鍵點檢測算法分爲三大類:總體方法約束局部模型(CLM)方法基於迴歸的方法。他們利用面部外觀和形狀信息的方式不一樣,總體方法顯式地創建模型來表示全局的面部外觀和形狀信息;CLMs顯式地利用全局形狀模型,但構建局部外觀模型;基於迴歸的方法隱式捕獲人臉形狀和外觀信息。3d

對於每一類算法,咱們今天就討論它們的基本理論以及它們的不一樣之處。在不一樣的面部表情、頭部姿式和遮擋狀況下,還比較了它們在受控數據集和基準數據集上的性能。根據這些評價,咱們指出了它們各自的優缺點,最後還單獨回顧最新的基於深度學習的算法。視頻

背 景對象

人臉在視覺傳達中起着重要的做用。經過觀察臉部,人類能夠自動提取許多非語言信息,如人類的身份、意圖和情感。

在計算機視覺中,爲了自動提取這些人臉信息,基準的人臉關鍵點(下圖)的定位一般是一個關鍵步驟,許多面部分析方法都是創建在對這些關鍵點的準確檢測的基礎上的。

例如,面部表情識別和頭部姿態估計算法可能嚴重依賴於關鍵點位置提供的面部形狀信息。眼睛周圍的面部關鍵點能夠提供瞳孔中心位置的初步猜想,用於眼睛檢測和眼睛凝視跟蹤。對於人臉識別,二維圖像上的關鍵點位置一般與三維頭部模型相結合,以「正面化」人臉,並幫助減小顯着的變化,以提升識別精度。經過面部關鍵點位置獲取的面部信息能夠爲人機交互、娛樂、安全監視和醫療應用提供重要信息。

人臉關鍵點檢測算法的目的是自動識別面部關鍵點在面部圖像或視頻中的位置。這些關鍵點要麼是描述人臉部件的獨特位置(例如眼角)的優點點,要麼是將這些優點點與人臉部件和輪廓鏈接起來的插值點。形式上,給定一個以i表示的面部圖像,一個檢測算法預測d的關鍵點:x={x1,y1,x2,y2,...,xd,yd}的位置,其中x和y是面部圖像關鍵點的座標。

Holistic methods

總體方法顯式地利用總體面部外觀信息以及全局面部形狀進行面部關鍵點檢測(下圖)。接下來,我先介紹經典的總體方法:主動外觀模型(AAM);而後,介紹它的幾個擴展。

AAM

由Taylor和Cootes引入了主動外觀模型(AAM)。它是一種統計模型,用少許的係數擬合人臉圖像,控制人臉的外觀和形狀的變化。在建模過程當中,AAM創建了基於主成分分析(PCA)的全局人臉形狀模型和總體人臉外觀模型。

在檢測過程當中,它經過將學習到的外觀和形狀模型與測試圖像進行擬合來識別關鍵點位置。

圖A 學習形狀變化 圖B 學習外觀變化

基於學習的擬合方法的分析擬合方法

相比於解析擬合方法,用梯度降低算法求解Hissian矩陣和Jacobian矩陣,基於學習的擬合方法採用常量線性或非線性迴歸函數逼近最陡降低方向。所以,基於學習的擬合方法一般是快速的,但它們可能不許確。

分析方法不須要訓練圖像,而擬合方法須要訓練圖像。基於學習的擬合方法一般使用第三PCA來學習形狀係數和外觀係數之間的聯合相關性,從而進一步減小未知係數的數量,而解析擬合方法一般不這樣作。可是,對於解析擬合方法,外形係數和形狀係數之間的相互做用能夠嵌入到聯合擬合目標函數中。形狀係數與外觀係數之間的相關性能夠減小參數的個數,這種學到的相關性可能不能很好地推廣到不一樣的圖像。用聯合擬合目標函數進行形狀係數和外觀係數聯合估計能夠獲得更準確的結果。

其餘拓展

  • 特徵表示

傳統的AAM方法還有其餘擴展。一個特別的方向是改進特徵表示。衆所周知,AAM模型泛化能力有限,難以擬合不可見的人臉變化(如:跨對象、光照、部分遮擋等)。

這一限制部分是因爲使用原始像素強度做爲特徵。爲了解決這個問題,一些算法使用了更魯棒的圖像特徵。例如,不使用原始像素強度,而是使用小波特徵來建模面部外觀。另外,僅利用局部外觀信息來提升對局部遮擋和光照的魯棒性;採用高斯混合模型的Gabor小波對局部圖像進行建模,實現了局部點的快速搜索。這兩種方法都提升了傳統AAM方法的性能。

Constrained local methods

以下圖所示,約束局部模型(CLM)方法根據全局面部形狀模式以及每一個關鍵點周圍獨立的局部外觀信息推斷出關鍵點位置x,與總體外觀相比,該方法更容易捕獲,而且對光照和遮擋更有魯棒性。

局部外觀模型

與局部外觀模型相關的問題有幾個。首先,存在準確性-魯棒性權衡。例如,大的局部塊更魯棒,而對於精確的關鍵點定位則不太準確。一個小塊,更獨特的外觀信息,將致使更準確的檢測結果。

爲了解決這個問題,一些算法(Ren, S., Cao, X., Wei, Y., Sun, J.: Face alignment at 3000 fps via regressing local binary features. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1685–1692 (2014))將大塊和小塊結合起來進行估計,並在迭代過程當中調整塊的大小或搜索區域。其次,在基於分類器的方法和基於迴歸的方法之間,還不清楚應該遵循哪一種方法?

基於迴歸的方法的一個優勢是,它只須要計算特徵和預測幾個樣本塊在測試中的位移向量。它比基於分類的掃描感興趣區域內全部像素位置的方法更有效。經驗代表,GentleBoost迴歸模型做爲基於迴歸的外觀模型優於GentleBoost分類器做爲基於分類器的局部外觀模型。

Regression-based methods

基於迴歸的方法直接從圖像外觀到關鍵點位置的映射學習。與總體方法和約束局部模型方法不一樣的是,它們一般不顯式地創建任何全局人臉模型。相反,面部形狀約束能夠隱式嵌入。一般,基於迴歸的方法可分爲直接回歸法、級聯迴歸法和深度學習迴歸法。直接回歸方法在沒有初始化的狀況下,在一次迭代中對關鍵點進行預測,而級聯迴歸方法則進行級聯預測,一般須要初始的關鍵點位置。基於深度學習的方法要麼遵循直接回歸,要麼遵循級聯迴歸。因爲它們使用了獨特的深度學習方法,咱們以後會分別討論。

級聯迴歸方法

與執行一步預測的直接回歸方法相比,級聯迴歸方法從對面部關鍵點位置(例如均值臉)的初始猜想開始,並經過不一樣階段學習的不一樣迴歸函數逐步更新關鍵點位置(如上圖)。

具體而言,在訓練中,在每一個階段,應用迴歸模型來學習形狀索引圖像外觀(例如,根據當前估計的關鍵點位置提取的局部外觀)到形狀更新之間的映射。從早期開始的學習模型將用於更新下一階段的訓練數據。在測試期間,學習到的迴歸模型依次應用於跨迭代更新形狀。

今天就先到這裏,下次咱們繼續接着"人臉關鍵點"相關知識進行展開講解。接下來給你們展現一些比較成功的案例。

若是想加入咱們「計算機視覺戰隊」,請掃二維碼加入學習羣。計算機視覺戰隊主要涉及機器學習、深度學習等領域,由來自於各校的碩博研究生組成的團隊,主要致力於人臉檢測、人臉識別,多目標檢測、目標跟蹤、圖像分割等研究方向。

相關文章
相關標籤/搜索