傅 杰,黃樹成
(江蘇科技大學 計算機學院, 鎮(zhèn)江 212000)
人臉對齊任務(wù)就是根據(jù)輸入的人臉圖像,自動運用算法,檢測出面部特征點位置,如眼睛、臉部輪廓、嘴巴、眉毛和鼻尖等.該項技術(shù)應(yīng)用十分廣泛,如人臉識別[1-3]、人臉表情識別[4]和面部動作捕捉[5]等方面.隨著深度學習技術(shù)的飛速發(fā)展,基于深度神經(jīng)網(wǎng)絡(luò)的人臉關(guān)鍵點檢測算法[6-8]與傳統(tǒng)的人臉關(guān)鍵點檢測算法相比,已經(jīng)展現(xiàn)出巨大優(yōu)勢,主要原因就是大量訓練數(shù)據(jù)集開放以及深度神經(jīng)網(wǎng)絡(luò)對于大規(guī)模訓練數(shù)據(jù)中蘊含的特征具有很強的提取和擬合能力.目前基于深度學習的人臉關(guān)鍵點檢測算法[9-10]大多都是對輸入圖像的全局表觀特征進行一系列計算和處理實現(xiàn)的,還有部分模型方法是提取人臉多個局部區(qū)域的特征[11],再分別進行關(guān)鍵點檢測,最后得到整張人臉圖像的關(guān)鍵點位置.這些方法雖然在人臉關(guān)鍵點檢測任務(wù)上都取得了一定效果,但是也給模型留下了一定的提升空間[12-13],主要原因就是這些方法都沒有特別考慮到人臉各部位間的結(jié)構(gòu)化信息.為了表征這一信息,借用了前人在PRN[14]中提到的思想,將兩兩關(guān)鍵點對應(yīng)的人臉局部特征對之間的結(jié)構(gòu)關(guān)系加入到模型訓練中,以此來優(yōu)化模型性能,并且結(jié)合人臉圖像全局表觀特征和DAN[15]模型中提出的熱圖特征來實現(xiàn)多特征融合的級聯(lián)回歸人臉關(guān)鍵點檢測算法.實驗證明,該模型與最新的人臉對齊算法相比,進一步降低了人臉測試數(shù)據(jù)集上的錯誤率.
為了訓練多特征融合的級聯(lián)回歸人臉關(guān)鍵點檢測模型,進行對比實驗驗證模型效果,選擇了大多數(shù)相關(guān)領(lǐng)域研究者使用的通用數(shù)據(jù)集,該數(shù)據(jù)集是國際人臉關(guān)鍵點檢測比賽中用到的300W公開測試數(shù)據(jù)集,數(shù)據(jù)集的構(gòu)成主要有AFW[16]、LFPW[17]、HELEN[11]和IBUG[18]4個子數(shù)據(jù)集,每個數(shù)據(jù)集中的每張人臉圖像都有其相對應(yīng)的68個關(guān)鍵點標注信息和人臉bounding box的坐標信息.實驗中將該數(shù)據(jù)集分成了訓練數(shù)據(jù)和測試數(shù)據(jù)兩個部分,其中訓練數(shù)據(jù)包括AFW數(shù)據(jù)集、LFPW數(shù)據(jù)集中的訓練集和HELEN數(shù)據(jù)集中的訓練集部分,總共3 148張人臉數(shù)據(jù).模型的測試數(shù)據(jù)部分則按照通用方法,處理成3個不同的測試數(shù)據(jù)集:① Common數(shù)據(jù)集,該測試數(shù)據(jù)集由LFPW數(shù)據(jù)集和HELEN數(shù)據(jù)集中的測試集組成,總共554張人臉圖像;② Challenging數(shù)據(jù)集,該數(shù)據(jù)集是由IBUG數(shù)據(jù)集構(gòu)成,總共135張人臉圖片;③ 300W公開測試數(shù)據(jù)集,該測試數(shù)據(jù)集由LFPW數(shù)據(jù)集中的測試集、HELEN數(shù)據(jù)集中的測試集和IBUG數(shù)據(jù)集構(gòu)成,總共689張人臉圖片.
深度學習算法之所以能在人臉關(guān)鍵點檢測領(lǐng)域獲得重大突破,主要原因就是有大量的訓練數(shù)據(jù)來對網(wǎng)絡(luò)進行訓練,只有通過海量數(shù)據(jù)對網(wǎng)絡(luò)參數(shù)進行調(diào)節(jié)和優(yōu)化才能使模型能夠有較好的特征提取和數(shù)據(jù)擬合能力,而從訓練數(shù)據(jù)的介紹來看,這個級別的數(shù)據(jù)量對于神經(jīng)網(wǎng)絡(luò)是遠遠不夠的.所以為了緩解數(shù)據(jù)量不夠充足而帶來的問題,對訓練數(shù)據(jù)集進行了數(shù)據(jù)增強處理,將訓練數(shù)據(jù)集中每一張人臉圖片通過圍繞y軸鏡像、隨機平移、旋轉(zhuǎn)和縮放操作生成對應(yīng)的10張圖片,這樣不但增加了訓練數(shù)據(jù)量而且使訓練出來的模型能夠獲取到同一張人臉在不同角度、不同姿勢下的特征信息.通過數(shù)據(jù)增強操作后的人臉圖像如圖1.
圖1 人臉增強數(shù)據(jù)樣例Fig.1 Examples of enhanced face images
如圖2,整個模型結(jié)構(gòu)類似DAN中的框架,采用級聯(lián)回歸的結(jié)構(gòu),整個模型由多個回歸階段組成,每個階段包含一個前向傳播模塊和一個多特征轉(zhuǎn)化模塊,其中前向傳播模塊主要實現(xiàn)人臉圖像深度特征的提取和人臉關(guān)鍵點坐標偏移量的計算.多特征轉(zhuǎn)化模塊則為下一個階段生成神經(jīng)網(wǎng)絡(luò)需要的人臉特征信息.
從框架圖中可知,模型第1個回歸階段的輸入為人臉圖像I和初始化關(guān)鍵點位置坐標S0,而S0是初始化在人臉檢測框的正中間的.除了第1個階段,模型的其他階段都有轉(zhuǎn)換成標準姿勢形態(tài)的人臉圖像T(I)、對應(yīng)于關(guān)鍵點的人臉熱力圖H、兩兩關(guān)鍵點對應(yīng)的局部人臉特征對關(guān)系特征P和上一階段神經(jīng)網(wǎng)絡(luò)提取的人臉全局特征F4個特征數(shù)據(jù)輸入.模型每一個階段輸出關(guān)鍵點位置坐標的偏移量,由于每個階段開始的時候都對圖像進行了標準姿勢形態(tài)的轉(zhuǎn)化,所以每次計算得到的關(guān)鍵點位置都要經(jīng)過標準化轉(zhuǎn)換的逆變換才能得到原始人臉圖像上的關(guān)鍵點位置,具體轉(zhuǎn)換公式為:
St=Tt-1(Tt(St-1)+ΔSt)
(1)
式中:t為第t個回歸階段;ΔSt為該階段網(wǎng)絡(luò)輸出的關(guān)鍵點位置偏移量;T()為人臉圖像轉(zhuǎn)換成標準姿態(tài)的轉(zhuǎn)換函數(shù);T-1()為標準姿態(tài)轉(zhuǎn)換的逆變換;St為原人臉圖像中的關(guān)鍵點坐標.
2.1.1 前向傳播模塊
前向傳播模塊由一個神經(jīng)網(wǎng)絡(luò)構(gòu)成,其主要實現(xiàn)對人臉圖像的特征提取和關(guān)鍵點坐標偏移量的計算,主要結(jié)構(gòu)如表1.除了表格中展示的結(jié)構(gòu),網(wǎng)絡(luò)中每一層都采用了批歸一化操作來加快模型收斂速度,網(wǎng)絡(luò)采用Relu函數(shù)作為激活函數(shù).每個階段的網(wǎng)絡(luò)結(jié)構(gòu)中在fc1層之前采用了dropout層來防止模型過擬合.
圖2 模型框架圖Fig.2 Framework of model
表1 前向傳播模塊網(wǎng)絡(luò)結(jié)構(gòu)Table 1 structure of feed forward network
2.1.2 多特征轉(zhuǎn)換模塊
圖3為模型框架中的多特征轉(zhuǎn)換模塊,主要由1個參數(shù)求解函數(shù)和5個特征轉(zhuǎn)換函數(shù)構(gòu)成.圖像標準化變換參數(shù)求解模塊函數(shù)實現(xiàn)圖像標準化變換函數(shù)的參數(shù)求解,圖像標準化姿勢轉(zhuǎn)換模塊函數(shù)實現(xiàn)圖像的標準化姿勢轉(zhuǎn)換,人臉關(guān)鍵點逆標準化轉(zhuǎn)換模塊函數(shù)實現(xiàn)標準化人臉圖像上關(guān)鍵點坐標到原人臉圖像上的關(guān)鍵點坐標轉(zhuǎn)化,人臉熱圖特征生成模塊函數(shù)實現(xiàn)根據(jù)關(guān)鍵點預(yù)測生成對應(yīng)的熱圖特征,人臉全局特征提取模塊函數(shù)實現(xiàn)人臉全局特征的獲取,人臉兩兩關(guān)鍵點對之間結(jié)構(gòu)特征提取模塊函數(shù)實現(xiàn)兩兩關(guān)鍵點對應(yīng)的人臉局部圖像對之間的結(jié)構(gòu)特征提取.具體的模塊內(nèi)部各函數(shù)之間的數(shù)據(jù)流轉(zhuǎn)如圖3.
圖3 多特征轉(zhuǎn)換模塊Fig.3 Transform module for multiple features
圖像標準化變換參數(shù)求解模塊函數(shù)的功能是得到人臉標準化轉(zhuǎn)換的函數(shù)參數(shù),也就是上文中函數(shù)T()的參數(shù)求解,其原理為:
M=St×Tt+1
(2)
(3)
式中:St為原人臉圖像中的關(guān)鍵點坐標;M為標準化處理之后的關(guān)鍵點坐標;T()為標準化處理函數(shù).
人臉熱圖特征生成模塊函數(shù)具體實現(xiàn)原理是通過上一個回歸階段得到的標準化的人臉關(guān)鍵點的坐標,按照一定的熱圖構(gòu)建規(guī)則生成關(guān)鍵點坐標對應(yīng)的熱圖信息,而熱圖可以將上一個回歸階段得到的人臉關(guān)鍵點信息傳遞到下一個回歸階段,具體構(gòu)建規(guī)則如下:
(4)
式中:si為標準化后的68個人臉關(guān)鍵點坐標中的第i個關(guān)鍵點坐標;H(x,y)為關(guān)鍵點坐標(x,y)對應(yīng)的熱圖中的熱值.熱圖值的計算只在以關(guān)鍵點為中心,以16為半徑的圓的范圍內(nèi).
人臉全局特征提取模塊模塊的實現(xiàn)原理是根據(jù)上個階段網(wǎng)絡(luò)中第一個全連接層提取到的人臉一維特征重新調(diào)整為56×56的二維特征矩陣,然后再上采樣為112×112的特征矩陣作為人臉全局特征參與人臉關(guān)鍵點檢測任務(wù).
人臉兩兩關(guān)鍵點對之間結(jié)構(gòu)特征提取模塊函數(shù)的具體實現(xiàn)如圖4.首先,根據(jù)上一個回歸階段得到的人臉關(guān)鍵點坐標,利用ROI映射,獲取到各個關(guān)鍵點對應(yīng)的人臉局部特征向量Fl={f1,f2,…,fN},其中N表示人臉關(guān)鍵點的個數(shù),然后將這些向量兩兩組合作為關(guān)鍵點對應(yīng)的人臉局部對之間的結(jié)構(gòu)向量,將所有這樣的局部對之間的結(jié)構(gòu)向量組合到一起作為整張人臉的結(jié)構(gòu)特征向量,最后經(jīng)過一個神經(jīng)網(wǎng)絡(luò)的全連接層得到最終整個人臉圖像的局部對之間的結(jié)構(gòu)化關(guān)系特征PR.對應(yīng)于圖4,PR計算規(guī)則如下:
PR(I)=Fφ(A(Cat(fi,fj)))
(5)
式中:fi,fj分別為第i,j個人臉關(guān)鍵點在人臉圖像的卷積特征圖上對應(yīng)的ROI映射向量;Cat()函數(shù)表示連接操作;函數(shù)A()表示對這些局部人臉映射向量連接后的組合和歸一化操作;函數(shù)Fφ表示對最終得到的關(guān)系向量進行全連接層的特征提取操作;最終提取到的特征就是PR.
圖4 成對關(guān)系結(jié)構(gòu)特征生成模塊Fig.4 Pairwise structural feature generation module
整個模型的優(yōu)化目標函數(shù)是使模型預(yù)測得到的關(guān)鍵點位置坐標和實際關(guān)鍵點坐標之間的差異最小化,具體的優(yōu)化函數(shù)為:
(6)
式中:S*為人臉原圖像中的人臉關(guān)鍵點位置坐標.相比較于其他模型的模型優(yōu)化目標函數(shù),采用人臉圖像中眼睛中心之間的距離作為分母,文中對于分母歸一化項的選擇有所不同,這里的D為人臉圖像對應(yīng)的邊界框?qū)蔷€的長度,這種優(yōu)化函數(shù)可以一定程度上減小部分側(cè)臉圖像中人眼之間距離過小而導(dǎo)致的損失變化較大的問題,可以減小訓練過程中的損失波動,使訓練更加平穩(wěn).關(guān)于模型的訓練,采用一個階段接著一個階段的訓練模式,當前一個階段的模型預(yù)測得到的關(guān)鍵點坐標的錯誤率不再下降時便開始下一個階段回歸模型的訓練,訓練下一個階段時固定前一個階段的模型參數(shù).采用此模式直到整個模型的關(guān)鍵點檢測錯誤率不再降低,完成模型訓練,實驗表明當模型經(jīng)過一共兩個回歸階段時可以達到最優(yōu)效果.
為了全面驗證上述改進方法的有效性,實驗使用了3種關(guān)鍵點坐標預(yù)測錯誤率計算方法,計算方法為式(6),這3種計算方法的區(qū)別主要是分母的計算方式不同,3種分母歸一化項:① 人臉圖像中兩個眼睛中心之間距離;② 人臉圖像中兩個眼睛外眼角之間距離;③ 人臉圖像中人臉檢測框?qū)蔷€長度.
文中利用包含2個階段的多特征人臉關(guān)鍵點回歸檢測模型來做人臉關(guān)鍵點標注測試,并且將結(jié)果與目前效果較好的一些人臉關(guān)鍵點檢測算法進行了對比,實驗采用了3種指標對模型效果進行測評,這3種指標分別是人臉關(guān)鍵點坐標預(yù)測的平均錯誤、AUC值和預(yù)測失敗率.其中當采用上述②中分母歸一化計算方式來計算模型失敗率時,模型失敗閾值被設(shè)置為0.08,<0.08為預(yù)測成功,>0.08為預(yù)測失敗.對于AUC值計算,實驗采用相同閾值,實驗具體結(jié)果和數(shù)據(jù)如表2、3.
表2 模型關(guān)鍵點檢測平均誤差Table 2 Mean errors of the model key points %
表3 模型關(guān)鍵點檢測的AUC0.08值和失敗率Table 3 AUC0.08 and failure rate of the model key points
注:實驗數(shù)據(jù)來自人臉圖像中眼睛外眼角之間的距離.
表2是各個模型在3種不同的關(guān)鍵點錯誤率計算方法下模型對關(guān)鍵點坐標預(yù)測的平均錯誤率,其中Heatmap-DAN模型表示只用熱圖特征和人臉全局表觀特征來做關(guān)鍵點檢測,MF-DAN表示在Heatmap-DAN基礎(chǔ)上加入兩兩人臉關(guān)鍵點對應(yīng)的局部人臉對之間的關(guān)系特征后的多特征級聯(lián)回歸人臉關(guān)鍵點檢測模型,也就是文中提出的模型.從表2可以看出該模型在兩個測試集上的效果都取得提升,尤其是在Challenging測試集上.使用兩個眼睛中心之間的距離作為誤差計算歸一化項時得到的失敗率是8.90%.使用兩個眼睛外眼角之間的距離作為誤差計算歸一化項時得到的錯誤率是6.03%.使用人臉檢測框?qū)蔷€的長度作為誤差計算歸一化項時得到的錯誤率是2.26%.而在Common測試數(shù)據(jù)集上,除了使用兩個眼睛中心之間的距離作為誤差計算歸一化項時沒有獲得最低的錯誤率,提出的模型在其他兩種錯誤率計算方法中分別得到了3.31%和1.41%的失敗率,相比較于未使用多特征融合的人臉關(guān)鍵點檢測的Heatmap-DAN模型得到的檢測錯誤率,分別降低了0.11%和0.16%,結(jié)果都顯示多特征融合的模型效果優(yōu)于大多數(shù)其他的人臉關(guān)鍵點檢測模型,說明了多特征融合對于提升人臉關(guān)鍵點檢測效果是有效的.特別是當采用人臉檢測框?qū)蔷€作為歸一化項來計算關(guān)鍵點預(yù)測平均錯誤時,MF-DAN在平均錯誤率上較Heatmap-DAN降低了9.6%,由此證明了融合特征的有效性,也說明了多特征融合后的模型在性能上取得了不錯的提升.
表3是模型的人臉關(guān)鍵點檢測的失敗率和AUC值,實驗數(shù)據(jù)是在選用人臉圖像中眼睛外眼角之間的距離作為錯誤率計算公式中的歸一化項得到的.從表中可以看出,模型相比較于MDM和Heatmap-DAN,AUC0.08值分別提升了1.64%和1.08%.除此之外,MF-DAN在MDM模型的基礎(chǔ)上將預(yù)測的錯誤率降低了30.17%,達到了1.27%.
綜上所述,兩兩人臉關(guān)鍵點對應(yīng)的局部人臉對之間的關(guān)系特征對于模型性能提升起到了不錯的效果,實驗結(jié)果表明多特征融合的級聯(lián)回歸人臉關(guān)鍵點檢測模型的效果優(yōu)于大多數(shù)現(xiàn)有的人臉關(guān)鍵點檢測模型,結(jié)果符合預(yù)期設(shè)想.模型在Common和Challenging測試集上的預(yù)測結(jié)果如圖5、6.
圖5 Common數(shù)據(jù)集中樣本及其對應(yīng)預(yù)測結(jié)果Fig.5 Examples and their correspondingresults in the Common test set
圖6 Challenging數(shù)據(jù)集中樣本及其對應(yīng)預(yù)測結(jié)果Fig.6 Examples and their correspondingresults in the Challenging test set
將兩兩關(guān)鍵點對應(yīng)的人臉局部特征對之間的結(jié)構(gòu)關(guān)系、整張人臉圖像的全局表觀和關(guān)鍵點對應(yīng)的局部熱圖這3種人臉特征結(jié)合,在以往模型的基礎(chǔ)上構(gòu)建了多特征的基于級聯(lián)回歸方法的人臉關(guān)鍵點檢測模型,并且以300W公開數(shù)據(jù)集為數(shù)據(jù)進行模型訓練和測試.
實驗結(jié)果證明改進的多特征融合的級聯(lián)回歸人臉關(guān)鍵點檢測模型的檢測效果優(yōu)于大多數(shù)現(xiàn)有的人臉關(guān)鍵點檢測模型.但該研究采用的數(shù)據(jù)集樣本數(shù)量少,雖然使用了數(shù)據(jù)增強方法來緩解這一問題,但是增強數(shù)據(jù)遠沒有原始數(shù)據(jù)效果好,在未來的工作中將探索合適的方法來克服這一缺點,并且將致力于大姿態(tài)、有遮擋的人臉圖像關(guān)鍵點檢測研究.