2
雷鋒網按:本文作者張杰,中科院計算技術研究所VIPL課題組博士生,專注于深度學習技術及其在人臉識別領域的應用。相關研究成果發(fā)表在計算機視覺國際頂級學術會議ICCV, CVPR和ECCV,并擔任國際頂級期刊TIP和TNNLS審稿人。
面部特征點定位任務即根據輸入的人臉圖像,自動定位出面部關鍵特征點,如眼睛、鼻尖、嘴角點、眉毛以及人臉各部件輪廓點等,如下圖所示。
這項技術的應用很廣泛,比如自動人臉識別,表情識別以及人臉動畫自動合成等。由于不同的姿態(tài)、表情、光照以及遮擋等因素的影響,準確地定位出各個關鍵特征點看似很困難。我們簡單地分析一下這個問題,不難發(fā)現這個任務其實可以拆分出三個子問題:
如何對人臉表觀圖像(輸入)建模
如何對人臉形狀(輸出)建模
如何建立人臉表觀圖像(模型)與人臉形狀(模型)的關聯(lián)
以往的研究工作也離不開這三個方面。人臉形狀建模典型的方法有可變形模板(Deformable Template)、點分布模型(主動形狀模型Active Shape Model)、圖模型等。
人臉表觀建模又可分為全局表觀建模和局部表觀建模。全局表觀建模簡單的說就是考慮如何建模整張人臉的表觀信息,典型的方法有主動表觀模型Active Appearance Model(產生式模型)和Boosted Appearance Model(判別式模型)。對應的局部表觀建模則是對局部區(qū)域的表觀信息建模,包括顏色模型、投影模型、側剖線模型等。
近來,級聯(lián)形狀回歸模型在特征點定位任務上取得了重大突破,該方法使用回歸模型,直接學習從人臉表觀到人臉形狀(或者人臉形狀模型的參數)的映射函數,進而建立從表觀到形狀的對應關系。此類方法不需要復雜的人臉形狀和表觀建模,簡單高效,在可控場景(實驗室條件下采集的人臉)和非可控場景(網絡人臉圖像等)均取得不錯的定位效果。此外,基于深度學習的面部特征點定位方法也取得令人矚目的結果。深度學習結合形狀回歸框架可以進一步提升定位模型的精度,成為當前特征定位的主流方法之一。下面我將具體介紹級聯(lián)形狀回歸和深度學習這兩大類方法的研究進展。
面部特征點定位問題可以看作是學習一個回歸函數F,以圖象I作為輸入,輸出θ為特征點的位置(人臉形狀):θ = F(I)。 簡單的說,級聯(lián)回歸模型可以統(tǒng)一為以下框架:學習多個回歸函數{f1 ,…, fn-1, fn}來逼近函數F:
θ = F(I)= fn (fn-1 (…f1(θ0, I) ,I) , I)
θi= fi (θi-1, I), i=1,…,n
所謂的級聯(lián),即當前函數fi的輸入依賴于上一級函數fi-1的輸出θi-1,而每一個fi的學習目標都是逼近特征點的真實位置θ,θ0為初始形狀。通常情況,fi不是直接回歸真實位置θ,而回歸當前形狀θi-1與真實位置θ之間的差:Δθi = θ - θi-1。
接下來我將詳細介紹幾個典型的形狀回歸方法,他們根本的不同點在于函數fi的設計不同以及輸入特征不同。
在加州理工學院從事博士后研究的Piotr Dollár于2010年首次提出級聯(lián)形狀回歸模型CascadedPose Regression(CPR),來預測物體的形狀,該工作發(fā)表在國際計算機視覺與模式識別會議CVPR上。如下圖所示,如下圖所示,給定初始形狀θ0,通常為平均形狀,根據初始形狀θ0提取特征(兩個像素點的差值)作為函數f1的輸入。每個函數fi建模成Random Fern回歸器,來預測當前形狀θi-1與目標形狀θ的差Δθi,并根據Δ?i預測結果更新當前形狀得θ i = θi-1+Δ?i,作為下一級函數fi+1的輸入。
該方法在人臉、老鼠和魚三個數據集上取得不錯的實驗結果,通用的算法框架亦可用于其他形狀估計任務,比如人體姿態(tài)估計等。該方法的不足之處在于對初始化形狀θ0比較敏感,使用不同的初始化做多次測試并融合多次預測結果可以一定程度上緩解初始化對于算法的影響,但并不能完全解決該問題,且多次測試會帶來額外的運算開銷。當目標物體被遮擋時,性能也會變差。
與上一個工作來自同一課題組的Xavier P. Burgos-Artizzu,針對CPR方法的不足,進一步提出Robust Cascaded Pose Regression(RCPR)方法,并發(fā)表在2013年國際計算視覺會議ICCV上。為了解決遮擋問題,Piotr Dollár提出同時預測人臉形狀和特征點是否被遮擋的狀態(tài),即fi的輸出包含Δθi和每個特征點是否被遮擋的狀態(tài)pi:
{Δθi , pi }= fi(θi-1, I), i=1,…,n
當某些特征點被遮擋時,則不選取該特征點所在區(qū)域的特征作為輸入,從而避免遮擋對定位的干擾。此外,作者提出智能重啟技術來解決形狀初始化敏感的問題:隨機初始化一組形狀,運行{f1 ,…,fn-1, fn}的前10%的函數,統(tǒng)計形狀預測的方差,如果方差小于一定閾值,說明這組初始化不錯,則跑完剩下的90%的級聯(lián)函數,得到最終的預測結果;如果方差大于一定閾值,則說明初始化不理想,選擇重新初始化一組形狀。該策略想法直接,但效果很不錯。
另外一個很有趣的工作Supervised Descent Method(SDM),從另一個角度思考問題,即考慮如何使用監(jiān)督梯度下降的方法來求解非線性最小二乘問題,并成功地應用在面部特征點定位任務上。不難發(fā)現,該方法最終的算法框架也是一個級聯(lián)回歸模型。
與CPR和RCPR不同的地方在于:fi建模成了線性回歸模型;fi的輸入為與人臉形狀相關的SIFT特征。該特征的提取也很簡單,即在當前人臉形狀θi-1的每個特征點上提取一個128維的SIFT特征,并將所有SIFT特征串聯(lián)到一起作為fi的輸入。
該方法在LFPW和LFW-A&C數據集上取得不錯的定位結果。同時期的另一個工作DRMF則是使用支持向量回歸SVR來建模回歸函數fi,并使用形狀相關的HOG特征(提取方式與形狀相關的SIFT類似)作為fi輸入,來級聯(lián)預測人臉形狀。與SDM最大的不同在于,DRMF對于人臉形狀做了參數化的建模。fi的目標變?yōu)轭A測這些形狀參數而不再是直接的人臉形狀。這兩個工作同時發(fā)表在CVPR 2013上。由于人臉形狀參數化模型很難完美地刻畫所有形狀變化,SDM的實測效果要優(yōu)于DRMF。
微軟亞洲研究院孫劍研究員的團隊在CVPR 2014上提出更加高效的級聯(lián)形狀回歸方法Regressing LocalBinary Features(LBF)。和SDM類似,fi也是建模成線性回歸模型;不同的地方在于,SDM直接使用SIFT特征,LBF則基于隨機森林回歸模型在局部區(qū)域學習稀疏二值化特征。通過學習稀疏二值化特征,大大減少了運算開銷,比CRP、RCPR、SDM、DRMF等方法具有更高的運行效率(LBF可以在手機上跑到300FPS),并且在IBUG公開評測集上取得優(yōu)于SDM、RCPR的性能。
級聯(lián)形狀回歸模型成功的關鍵在于:
1. 使用了形狀相關特征,即函數fi的輸入和當前的人臉形狀θi-1緊密相關;
2. 函數fi的目標也與當前的人臉形狀θi-1相關,即fi的優(yōu)化目標為當前形狀θi-1與真實位置θ之間的差Δθi。
此類方法在可控和非可控的場景下均取得良好的定位效果,且具有很好的實時性。
深度模型
以上介紹的級聯(lián)形狀回歸方法每一個回歸函數fi都是淺層模型(線性回歸模型、Random Fern等)。深度網絡模型,比如卷積神經網絡(CNN)、深度自編碼器(DAE)和受限玻爾茲曼機(RBM)在計算機視覺的諸多問題,如場景分類,目標跟蹤,圖像分割等任務中有著廣泛的應用,當然也包括特征定位問題。具體的方法可以分為兩大類:使用深度模型建模人臉形狀和表觀的變化和基于深度網絡學習從人臉表觀到形狀的非線性映射函數。
主動形狀模型ASM和主動表觀模型AAM使用主成分分析(PCA)來建模人臉形狀的變化。由于姿態(tài)表情等因素的影響,線性PCA模型很難完美地刻畫不同表情和姿態(tài)下的人臉形狀變化。來自倫斯勒理工學院JiQiang教授的課題組在CVPR2013提出使用深度置信網絡(DBN)來刻畫不同表情下人臉形狀的復雜非線性變化。此外,為了處理不同姿態(tài)的特征點定位問題,進一步使用3向RBM網絡建模從正面到非正面的人臉形狀變化。最終該方法在表情數據庫CK+上取得比線性模型AAM更好的定位結果。該方法在同時具備多姿態(tài)多表情的數據庫
ISL上也取得較好的定位效果,但對同時出現極端姿態(tài)和夸張表情變化的情況還不夠理想。
下圖是深度置信網絡(DBN):建模不同表情下的人臉形狀變化的示意圖。
香港中文大學湯曉鷗教授的課題組在CVPR 2013上提出3級卷積神經網絡DCNN來實現面部特征點定位的方法。該方法也可以統(tǒng)一在級聯(lián)形狀回歸模型的大框架下,和CPR、RCPR、SDM、LBF等方法不一樣的是,DCNN使用深度模型-卷積神經網絡,來實現fi。第一級f1使用人臉圖像的三塊不同區(qū)域(整張人臉,眼睛和鼻子區(qū)域,鼻子和嘴唇區(qū)域)作為輸入,分別訓練3個卷積神經網絡來預測特征點的位置,網絡結構包含4個卷積層,3個Pooling層和2個全連接層,并融合三個網絡的預測來得到更加穩(wěn)定的定位結果。
后面兩級f2, f3在每個特征點附近抽取特征,針對每個特征點單獨訓練一個卷積神經網絡(2個卷積層,2個Pooling層和1個全連接層)來修正定位的結果。該方法在LFPW數據集上取得當時最好的定位結果。
借此機會也介紹本人發(fā)表在歐洲視覺會議ECCV2014的一個工作:即提出一種由粗到精的自編碼器網絡(CFAN)來描述從人臉表觀到人臉形狀的復雜非線性映射過程。該方法級聯(lián)了多個棧式自編碼器網絡fi,每一個fi刻畫從人臉表觀到人臉形狀的部分非線性映射。
具體來說,輸入一個低分辨率的人臉圖像I,第一層自編碼器網絡f1可以快速地估計大致的人臉形狀,記作基于全局特征的棧式自編碼網絡。網絡f1包含三個隱層,隱層節(jié)點數分別為1600,900,400。然后提高人臉圖像的分辨率,并根據f1得到的初始人臉形狀θ1,抽取聯(lián)合局部特征,輸入到下一層自編碼器網絡f2來同時優(yōu)化、調整所有特征點的位置,記作基于局部特征的棧式自編碼網絡。該方法級聯(lián)了3個局部棧式自編碼網絡{f2 , f3, f4}直到在訓練集上收斂。每一個局部棧式自編碼網絡包含三個隱層,隱層節(jié)點數分別為1296,784,400。得益于深度模型強大的非線性刻畫能力,該方法在XM2VTS,LFPW,HELEN數據集上取得比DRMF、SDM更好的結果。此外,CFAN可以實時地完成人臉面部特征點定位(在I7的臺式機上達到23毫秒/張),比DCNN(120毫秒/張)具有更快的處理速度。
下圖是CFAN:基于由粗到精自編碼器網絡的實時面部特征點定位方法的示意圖。
以上基于級聯(lián)形狀回歸和深度學習的方法對于大姿態(tài)(左右旋轉-60°~+60°)、各種表情變化都能得到較好的定位結果,處理速度快,具備很好的產品應用前景。針對純側面(±90°)、部分遮擋以及人臉檢測與特征定位聯(lián)合估計等問題的解決仍是目前的研究熱點。
另外,關于人臉檢測:人臉檢測發(fā)展:從VJ到深度學習(上) ,人臉檢測發(fā)展:從VJ到深度學習(下)。
雷鋒網注:本文由深度學習大講堂授權雷鋒網發(fā)布,轉載請聯(lián)系授權,并保留出處和作者,不得刪減內容。
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。