馮文祥,文 暢,謝 凱,賀建飚
(1.長江大學(xué) 電子信息學(xué)院,湖北 荊州 434023;2.長江大學(xué) 計算機科學(xué)學(xué)院,湖北 荊州 434023;3.中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410083)
近年來,人臉對齊技術(shù)取得了巨大的進(jìn)步,然而由于姿態(tài)、光照、表情、遮擋等眾多問題影響人臉對齊的效果,尤其在人臉對齊系統(tǒng)中經(jīng)常遇到的部分遮擋問題,使人臉對齊技術(shù)仍然面臨巨大的挑戰(zhàn)。
目前,深度學(xué)習(xí)的方法在圖像識別領(lǐng)域中取得很好的效果,被得到廣泛應(yīng)用,例如圖片分類[1]和特征提取[2]等,將深度學(xué)習(xí)用在人臉對齊,通過深度學(xué)習(xí)的方法尋求一系列非線性映射函數(shù)來描述人臉圖像到人臉形狀的非線性關(guān)系。Zhang等[3]使用多任務(wù)CNN,利用多個卷積神經(jīng)網(wǎng)絡(luò)共同學(xué)習(xí)來提高人臉對齊的精確度,Zhang等[4]提出由粗到精的自編碼網(wǎng)絡(luò)(coarse-to-fine auto-encoder networks,CFAN),級聯(lián)多級自編碼網(wǎng)絡(luò)來實現(xiàn)人臉對齊,但這兩種方法都無法應(yīng)對大規(guī)模姿態(tài)變化和遮擋。Yang等[5]提出了頭部姿態(tài)估計輔助面部對齊(head pose estimation assistant,HPEA)方法,其通過利用卷積神經(jīng)網(wǎng)絡(luò)估計頭部姿態(tài)輔助人臉對齊,來提高系統(tǒng)對姿態(tài)變化的魯棒性,但其對遮擋的人臉效果較差。卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中,容易出現(xiàn)與實際值偏差較大的異常值而產(chǎn)生訓(xùn)練過程錯亂,導(dǎo)致收斂速度慢,不能實現(xiàn)高效的人臉對齊。
針對以上問題,本文提出了深度回歸網(wǎng)絡(luò)下的人臉對齊方法,該方法通過改進(jìn)GoogLeNet[6]構(gòu)造一個深度回歸網(wǎng)絡(luò),引入圖基的雙權(quán)重函數(shù)(Tukey’s biweight fuction)[7]作為訓(xùn)練網(wǎng)絡(luò)的損失函數(shù),減小訓(xùn)練過程中異常值的影響,提高網(wǎng)絡(luò)的收斂速度。在進(jìn)行頭部姿態(tài)估計并初始化人臉形狀后在深度回歸網(wǎng)絡(luò)下結(jié)合全局信息進(jìn)行局部回歸微調(diào),避免大規(guī)模姿態(tài)變化和遮擋造成的對齊精度損失問題,實現(xiàn)復(fù)雜環(huán)境下的人臉精確對齊。
頭部姿態(tài)估計是指使用頭部二維圖像估計三維頭部姿態(tài)信息的過程,目前基于回歸的方法取得較好的效果,將頭部姿態(tài)估計問題看作是一個回歸問題,通過訓(xùn)練一個回歸器R={RL,…,RT}, 對輸入的二維人臉圖像給定一個初始頭部姿態(tài)θ0,通過式(1)不斷地迭代和更新當(dāng)前姿態(tài)
θt=θt-1+Rt(h(θt-1,I))
(1)
式中:I為輸入的人臉圖像,h為姿態(tài)索引特征函數(shù),θt表示第t次迭代之后的頭部姿態(tài),t=1…T,最后輸出準(zhǔn)確的姿態(tài)參數(shù)θT。
在使用基于回歸的方法解決頭部姿態(tài)估計問題時,Ratsch等[8]使用支持向量回歸(support vector regression,SVR)來訓(xùn)練回歸函數(shù),Liu等[9]使用隨機森林作為回歸器,由于深度學(xué)習(xí)在解決回歸問題時具有很多優(yōu)勢,本文將使用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練回歸函數(shù)。
在進(jìn)行人臉對齊時,由于頭部大規(guī)模姿態(tài)變化給人臉對齊帶來影響,可以通過頭部的三維姿態(tài)信息和三維平均人臉形狀對二維人臉圖像進(jìn)行人臉對齊,從而減少姿態(tài)對對齊造成的影響。
(2)
s0表示初始人臉形狀,λ表示邊框,θ表示頭部姿態(tài)信息,這一步并不能得到精確的人臉對齊效果,還需要進(jìn)行更進(jìn)一步的處理才能得到更加精確的對齊效果。
如圖1為本文提出的人臉對齊方法流程,第一步根據(jù)人臉圖片獲得頭部姿態(tài)估計和5個關(guān)鍵點坐標(biāo),第二步根據(jù)頭部姿態(tài)和5個關(guān)鍵點設(shè)定人臉初始形狀,第三步利用深度回歸網(wǎng)絡(luò)結(jié)合人臉初始形狀進(jìn)行局部微調(diào)。
圖1 本文方法流程
考慮到人臉圖像中人臉的旋轉(zhuǎn)角度、尺度和面部朝向等頭部姿態(tài)會對人臉對齊造成影響,首先利用卷積神經(jīng)網(wǎng)絡(luò)對頭部姿勢進(jìn)行估計。
圖2為本文用于頭部姿勢估計的網(wǎng)絡(luò)模型,其輸入為96×96的RGB二維人臉圖像,通過得到面部5個關(guān)鍵點(左眼,右眼,鼻尖,和左右嘴角),并根據(jù)5個關(guān)鍵點來估計三維頭部姿態(tài)θ=(θx,θy,θz), 包括滾動角、轉(zhuǎn)動角和平動角[10]。網(wǎng)絡(luò)由3個卷積層、3個最大值池化層、兩個全連接層和一個softmax回歸層組成,3個卷積層用于提取特征,每個卷積層有一個大小為5×5像素步長為1的內(nèi)核組成,最大值池化層用于提高低分辨率圖片的性能,卷積之后是兩個有300個隱藏單元的全連接層,每一層網(wǎng)絡(luò)使用dropout來防止過度擬合,卷積層和全連接層由線性變換后接一個非線性變換組成,在輸出層中使用softmax函數(shù)對頭部姿態(tài)進(jìn)行分類。
圖2 頭部姿態(tài)估計網(wǎng)絡(luò)模型
進(jìn)行卷積時,利用卷積核提取人臉圖片特征,通過卷積逐漸將特征抽象化,降低特征的維度使其具有高度可分的特征,便于判斷其頭部姿態(tài)。為了能夠預(yù)測輸入人臉圖片頭部偏轉(zhuǎn)角度的多個特征,使用卷積核進(jìn)行操作
(3)
(4)
池化層通過下采樣來降低網(wǎng)絡(luò)的空間分辨率,本文使用最大值池化對特征圖進(jìn)行采樣處理,并使用整流線性單元作為激活函數(shù),通過池化有效降低計算的復(fù)雜度,提高網(wǎng)絡(luò)對低分辨輸入圖像分類的容忍度,其數(shù)學(xué)表達(dá)式如下
(5)
β為權(quán)重,down為下采樣函數(shù)。全連接層通常容易過度擬合,dropout層可以避免過度擬合,softmax層被用作卷積神經(jīng)網(wǎng)絡(luò)最后一層的線性分類器,用來區(qū)分輸入人臉圖片的角度,其表達(dá)式如下
(6)
式中:I是輸入向量,Ci是第i個神經(jīng)元的相應(yīng)核向量。Q是Q類對應(yīng)的神經(jīng)元總數(shù)。輸出φ是第i個輸入類的概率,預(yù)測類包含最高概率值。
利用頭部姿態(tài)信息獲得若干個初始形狀來提高系統(tǒng)的魯棒性,頭部姿態(tài)信息和面部初始形狀,將會作為全局信息用于局部對齊,提高局部對齊的性能。將由L個點構(gòu)成的三維平均人臉形狀D映射到二維平面上,用一組向量s={p1,…,pl,…,pL} 表示人臉形狀,其中pl=(xl,yl) 表示第l個關(guān)鍵點的二維坐標(biāo),生成初始形狀
(7)
s0包含頭部姿態(tài)估計網(wǎng)絡(luò)中得到5個關(guān)鍵點,R是旋轉(zhuǎn)矩陣,P是正交投影矩陣,θ為頭部姿態(tài),U(i,j)是來自均勻分布的采樣值,其代表unif(i-j,i+j),εθ和εs表示均勻分布的擾動值,取值分別為εs=0.05s0,εθx=εθy=10°,εθz=5°。由于頭部姿態(tài)估計網(wǎng)絡(luò)的初始預(yù)測可能包含錯誤,從均勻分布獲得多個初始形狀可能有助于增強估計的魯棒性,通過平均多個初始形狀的結(jié)果來獲得最終估計
(8)
圖3 深度回歸網(wǎng)絡(luò)模型
網(wǎng)絡(luò)的輸入為250×250像素的RGB人臉圖像,在局部特征提取之前不會減少數(shù)據(jù)塊的長度和寬度,卷積過程中使用線性整流函數(shù)作為激活函數(shù)來加速收斂。在第二個卷積層采用局部響應(yīng)歸一化(local response normalization,LRN)[1]提高網(wǎng)絡(luò)的泛化能力。
利用頭部姿勢信息和面部初始形狀來進(jìn)行局部特征提取,提取局部特征之后經(jīng)過均值池化層得到特征圖,并由全連接層得到面部特征向量,回歸層的回歸過程相當(dāng)于最小化下列函數(shù)
(9)
F(x)=xW+b
(10)
W為回歸矩陣,b為偏執(zhí)矩陣,網(wǎng)絡(luò)訓(xùn)練的過程就是求取回歸矩陣W的過程,使用圖基的雙權(quán)重函數(shù)作為損失函數(shù),其表達(dá)式如下
(11)
式中:a是調(diào)諧常數(shù),在訓(xùn)練樣本時得到更可靠的調(diào)諧常數(shù),通過計算中值絕對偏差(median absolute deviation,MAD)[11]來縮放殘差Δp,MAD測量訓(xùn)練樣本的可變性
(12)
i∈{1,……,L},L為關(guān)鍵點的個數(shù),M為訓(xùn)練樣本的總數(shù),下標(biāo)j和k對訓(xùn)練樣本進(jìn)行索引,MAD估計用于獲得單位方差的殘差的比例參數(shù)。通過將MAD 與殘差進(jìn)行整合得到
(13)
在這里將MAD 放大1.4826倍,使MAD成為漸近一致的估計量,用于估計標(biāo)準(zhǔn)偏差,并利用MAD縮放來修正調(diào)諧常數(shù),所以損失函數(shù)中沒有參數(shù)。局部微調(diào)網(wǎng)絡(luò)的參數(shù)最終通過最小化下列目標(biāo)函數(shù)求得
(14)
為驗證本文提出的人臉對齊方法在復(fù)雜環(huán)境下人臉對齊的效果,在操作系統(tǒng)為Windows10 x64,CPU為i7-6300H,內(nèi)存為16 G下使用MATLAB 2017編程環(huán)境進(jìn)行實驗。
選擇300W[12]和COFW數(shù)據(jù)集,300W數(shù)據(jù)集包含有AFW、LFPW、HELEN和IBUG共3148個訓(xùn)練樣本和689個測試樣本,LFPW和HELEN數(shù)據(jù)集作為普通集(common subset),IBUG數(shù)據(jù)集作為挑戰(zhàn)集(challenging subset),挑戰(zhàn)集相比普通集包含更多受遮擋、光照、姿態(tài)影響的人臉,COFW中包括500張訓(xùn)練樣本和507張測試樣本。
使用300W和COFW訓(xùn)練集的3648個樣本中已標(biāo)定的68個關(guān)鍵點創(chuàng)建一個包含頭部姿態(tài)的數(shù)據(jù)集,對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。使訓(xùn)練集產(chǎn)生10個不同方向的抖動,進(jìn)行鏡像翻轉(zhuǎn)后共得到72 960張人臉圖片作為訓(xùn)練樣本,訓(xùn)練得到最優(yōu)網(wǎng)絡(luò)模型,再使用300W和COFW測試集進(jìn)行實驗。
使用平均速度、平均誤差和失敗率作為本次實驗的評估指標(biāo),平均速度以每秒定位的人臉圖像數(shù)目評估,歸一化歐式距離誤差得到平均誤差error,計算公式如下
(15)
(16)
通過絕對平均誤差對頭部姿態(tài)進(jìn)行評估,頭部姿態(tài)有3個方向:滾動角、轉(zhuǎn)動角和平動角用θ表示,定義平均誤差如下
(17)
選擇傳統(tǒng)的SVR方法和隨機森林方法與本文的卷積神經(jīng)網(wǎng)絡(luò)方法在300W測試集下對頭部姿態(tài)估計作對比,使用HoG特征分別對隨機森林和支持向量回歸訓(xùn)練模型,隨機森林設(shè)置為100棵樹,HoG提取器的單元大小設(shè)置為8×8,實驗結(jié)果見表1。
表1 頭部姿態(tài)估計的平均誤差(e×100)比較
從1表可以看出,相比傳統(tǒng)的隨機森林回歸,卷積神經(jīng)網(wǎng)絡(luò)方法下的準(zhǔn)確度在3個方向上分別提高了25%、41%和 47%,優(yōu)于傳統(tǒng)方法。
使用ESR[14]、TCDCN[3]、HPEA[5]和DRN(本文提出的方法),在300W數(shù)據(jù)集下的普通集和挑戰(zhàn)集的累積誤差曲線分別如圖4、圖5所示。
圖4 普通測試集下的累積誤差曲線
圖5 挑戰(zhàn)測試集下的累積誤差曲線
圖4和圖5表明DRN方法相比其它幾種方法具有明顯的優(yōu)勢,尤其在大規(guī)模姿態(tài)變化和遮擋較多的挑戰(zhàn)集下。HPEA方法引入了頭部姿勢估計輔助對齊,其在普通集中的效果相比另外兩種有較好的效果,而在挑戰(zhàn)集的效果相對較差,可能是由于挑戰(zhàn)集中的人臉大面積遮擋造成的。
選擇300W和COFW數(shù)據(jù)集,使用不同的方法進(jìn)行測試,實驗結(jié)果見表2、表3(error×100)。
表2 300W數(shù)據(jù)集下的測試結(jié)果
表3 COFW數(shù)據(jù)集下的測試結(jié)果
表2的實驗結(jié)果表明DRN方法無論在300W中的普通集,還是復(fù)雜情況較多的挑戰(zhàn)集上其平均誤差均低于3,速度可達(dá)到167 fps,相比HPEA方法平均誤差降低了38.40%~48%,速度提高了35.77%,相比RCPR、TCDCN和CFAN方法有著明顯的優(yōu)勢,而CFAN方法由于級聯(lián)次數(shù)較多造成速度較慢。
表3的實驗結(jié)果表明在COFW數(shù)據(jù)集下DRN方法的失敗率為2%,速度為178 fps,相比HPEA失敗率降低了3.8,速度提升了41.27%。雖然TCDCN的失敗率也較低,但其速度要遠(yuǎn)差于其它方法,且平均誤差相對較高。ESR方法的算法較為簡單所以其速度相對較快,平均誤差較高。可以看出DRN方法可以實現(xiàn)復(fù)雜環(huán)境下的人臉對齊,對面部遮擋、復(fù)雜光照、復(fù)雜表情和多變的姿態(tài)有很強的魯棒性。
為了進(jìn)一步將本文提出的方法與已有的方法作對比,從測試數(shù)據(jù)集挑選了姿態(tài)、表情、光照和遮擋等較為嚴(yán)重下的人臉圖片,選擇ESR、CFAN、HPEA和本文提出的DRN方法進(jìn)行測試,測試結(jié)果如圖6所示。
圖6 對比測試效果
由圖6可以看出,ESR人臉對齊方法,在人臉受到遮擋的情況下對齊效果明顯降低,且極易受到人臉姿態(tài)的影響。CFAN人臉對齊方法,在復(fù)雜的環(huán)境下能實現(xiàn)基本的人臉對齊,然而對齊的準(zhǔn)確度較低,非常容易受到面部表情的影響。HPEA人臉對齊方法與ESR和CFAN方法相比有較好的對齊效果,但與本文提出的DRN方法比較,在對面部姿態(tài)和復(fù)雜表情下的人臉進(jìn)行對齊時,DRN有明顯的優(yōu)勢。與ESR、CFAN、HPEA人臉對齊方法相比,本文提出的DRN方法相對較穩(wěn)定,在復(fù)雜環(huán)境下也能實現(xiàn)精確的對齊效果,具有較強的魯棒性。
圖7為利用DRN方法對IBUG數(shù)據(jù)集進(jìn)行測試的效果圖,其中還包括頭部姿態(tài)信息,從圖中可以進(jìn)一步看出DRN方法能夠?qū)崿F(xiàn)精確的人臉對齊。
圖7 對齊效果
本文針對復(fù)雜環(huán)境下的人臉對齊,提出了一種使用深度回歸網(wǎng)絡(luò)實現(xiàn)人臉對齊的方法,通過使用卷積神經(jīng)網(wǎng)絡(luò)得到頭部姿態(tài)的信息進(jìn)而預(yù)測到面部的大致形狀,減小了頭部姿態(tài)造成的影響,利用初始人臉形狀在深度回歸網(wǎng)絡(luò)下結(jié)合全局信息進(jìn)行回歸微調(diào),減少面部遮擋的影響,實現(xiàn)了復(fù)雜環(huán)境下的人臉對齊,使用圖基的雙權(quán)重函數(shù)作為訓(xùn)練網(wǎng)絡(luò)的損失函數(shù)提升了網(wǎng)絡(luò)的性能。實驗結(jié)果表明,該方法相比現(xiàn)有的人臉對齊方法,在速度和精度上有明顯的優(yōu)勢,具有很強的抗干擾能力,但本文提出的方法對復(fù)雜光照下的人臉難以實現(xiàn)精確對齊,后續(xù)將會對該問題進(jìn)行深入研究。