人脸特征点定位之Explicit Shape Regression
人臉特征點定位之Explicit Shape Regression
人臉關鍵點定位是在人臉檢測基礎上,進一步定位人臉的眼睛眉毛鼻子嘴巴輪廓等。主要思想就利用關鍵點附近的信息以及各個關鍵點之間的相互關系來定位。方法大致分為兩類,一個是基于模型的方法,一個是基于回歸的方法。這里主要介紹的第二種方法。?
?
基于模型的方法以cootes在1995年提出的asm方法最為代表,asm方法將數十個臉部特征點的紋理和位置關系約束一起考慮來進行計算出一個參數模型。從局部特征中檢測到所求的關鍵點,但是這種方法對噪聲非常敏感。asm也是開先河的經典之作,也是后面被follow最多方法。也是cootes等人提出的aam方法,對外觀變化和初始化也非常敏感,以上的這些包括他們的改進都是用的PCA參數模型。
基于回歸的方法是ASM相關改進的另外一個方向,就是對形狀模型本身的改進。CVPR2012,MSRA孫劍組的Face Alignment by Explicit Shape Regression,取得了非常不錯的效果(下文簡稱ESR)。這篇文章沒有用PCA去約束形狀模型,而是基于訓練樣本的線性組合來約束形狀。而且,其在alignment的效果(LFPW測試集)上是目前看到最好的,此外,這個方法的速度非常快。
?Esr使用的是一個cascade regression的框架,是P. Dollár在CVPR2010的Cascaded Pose Regression?中提出的一種方法,用來解決對齊問題。曹旭東的esr方法在此基礎上做了幾個擴展,使他更為適合做人臉關鍵點定位,下面且聽我詳細道來。
?
一.Two-level boosted regression
ESR使用了一個兩級的boosted regressor。作者是使用了第一級10級,第二層500級。在這個二級結構中,第一級中每個節點都是500個弱分類器的級聯,也就是一個第二層的regressor。這里肯定會有人不明白,這不就是相當于一層,其實不是。因為,在第二層regressor中,特征是保持不變的,而在第一層中,特征是變化的。所以,這事實上是一個兩層的結構。在第一層,每一個節點的輸出都是上一個節點的輸入。都是在上一級估計的關鍵點上在取的特征。
?
二.Primitive regressor
? ?在這里,作者用fern作為原始regressor。fern是N個特征和閾值的組合,將訓練樣本劃分為2的F次冪個bins。每一個bin對應一個輸出,即
?這里是過擬合系數,是當前bin中樣本總數。這樣,最后的輸出就是一個所有訓練樣本的線性組合。
?
三.Feature
?? CPR中提出了 pose indexd feature,這種特征保持了對形狀的不變性,從而增加了算法的魯棒性。在曹旭東esr方法中,將這種feature變成了shape indexd feature,所謂的shape index feature,就是根據關鍵點的位置和一個偏移量,取得該位置的像素值,然后計算兩個這樣的像素的差值,從而得到了形狀索引特征。該方法中采用的是局部坐標而非全局坐標系,極大的增強了特征的魯棒性。
?
?
?
四.Correlation-based feature selection
這一步,我們需要在提取的400x400個特征中,選擇出f個特征作為fern分類器的輸入。這里,作者采用了一種Correlation-based的方法。先將要回歸的目標映射到一個方向,然后在這個方向上分別計算與不同的特征向量的相關系數,選擇最大的f個。在計算時,可以提前計算好不同的特征間的協方差,這樣可以極大的降低計算復雜度。
?
這里,將對這篇文章的理解與大家分享
?
總結
以上是生活随笔為你收集整理的人脸特征点定位之Explicit Shape Regression的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编程开发中最浪费时间和资源的7个错误
- 下一篇: 谢百三:救市后股民应牢记教训?