本發(fā)明涉及一種基于深度學習的多任務(wù)級聯(lián)人臉對齊方法。
背景技術(shù):
人臉對齊應用的領(lǐng)域非常廣泛:一、人臉識別,關(guān)鍵點預測是人臉識別中的一個極其重要的環(huán)節(jié),人臉對齊的魯棒性直接關(guān)系人臉識別的精度;二、人臉器官定位、器官跟蹤。通過人臉對齊,我們能夠定位到人臉的每個部件,提取相應的部件特征做后續(xù)的開發(fā);三、表情識別。通過人臉對齊后,我們能夠利用對齊后的人臉形狀分析人臉的表情狀態(tài);四、人臉漫畫/素描圖像生成。通過人臉對齊后,我們能夠進行人臉漫畫和素描生成;五、虛擬現(xiàn)實和增強現(xiàn)實。通過人臉對齊后,我們能夠做出很多好玩的應用;六、人臉老化、年輕化、年齡推斷。特征融合/圖像增強。通過人臉對齊后,我們能夠有效提取人臉特征,并分析人臉年齡、人臉老化等;七、性別鑒別。通過人臉對齊,能夠?qū)θ四樳M行性別識別,男女之間的人臉形狀有一定的差異性;八、3d卡通。通過人臉對齊能夠進行3d卡通模擬。因此提高人臉對齊的魯棒性具有重大的意義。
現(xiàn)有人臉對齊方法對人臉表情、姿態(tài)、遮擋和性別的魯棒性不高。因此,我們需要設(shè)計一種高效率的、高準確率的人臉對齊方法。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的上述缺點,本發(fā)明提出了一種基于深度學習的多任務(wù)級聯(lián)人臉對齊方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于深度學習的多任務(wù)級聯(lián)人臉對齊方法,包括如下步驟:
步驟一、樣本采集:標記人臉的關(guān)鍵點和人臉的屬性標簽;
步驟二、樣本預處理:對人臉圖像進行灰度化和歸一化處理;
步驟三、采用卷積神經(jīng)網(wǎng)絡(luò)進行人臉對齊模型訓練,其中:主線網(wǎng)絡(luò)包括8層卷積層、4層歸一化層、4層激活層、4層池化層以及一層全連接層,結(jié)構(gòu)是每兩層卷積層之后是歸一化層、激活層和池化層,以此類推;前三層歸一化和最后一層全連接層之后分別由全連接層作為支線網(wǎng)絡(luò)進行預測,分別預測出人臉的關(guān)鍵點和人臉的屬性;
步驟四、實時輸出人臉的關(guān)鍵點和人臉的屬性。
與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:在模型的訓練過程中加入了性別、是否笑、是否帶眼睛、姿態(tài)等輔助信息實現(xiàn)了多任務(wù)學習,在網(wǎng)絡(luò)的每兩層都有預測輸出,實現(xiàn)了由粗到精的級聯(lián)人臉關(guān)鍵點定位檢測。本發(fā)明通過基于深度學習的多任務(wù)級聯(lián)訓練模型實現(xiàn)了一種高效率和高精度的人臉對齊方法,提高了人臉對齊對人臉表情、姿態(tài)、性別和遮擋的魯棒性。
附圖說明
本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1是人臉對齊訓練流程圖;
圖2是人臉關(guān)鍵點原始圖;
圖3是人臉輪廓關(guān)鍵點;
圖4是人臉五官主要關(guān)鍵點;
圖5是人臉五官其余關(guān)鍵點;
圖6是人臉對齊預測流程圖;
圖7是人臉對齊模型結(jié)構(gòu)圖。
具體實施方式
一種基于深度學習的多任務(wù)級聯(lián)人臉對齊方法,如圖1所示,包括如下步驟:
步驟一、樣本采集
(1)人工標記人臉的關(guān)鍵點,如圖2所示;
(2)標記人臉屬性標簽:
性別標簽:男性為0,女性為1;是否笑標簽:笑為1,不笑為0;是否戴眼鏡標簽:戴眼鏡為1,否則為0;姿態(tài)標簽:roll、pitch、yaw都為-90至90的范圍。人臉姿態(tài)為三維空間的右手笛卡爾坐標。pitch是圍繞x軸旋轉(zhuǎn),也叫做俯仰角。yaw是圍繞y軸旋轉(zhuǎn),也叫偏航角。roll是圍繞z軸旋轉(zhuǎn),也叫翻滾角。
步驟二、樣本預處理
(1)人臉圖像灰度化,并做歸一化處理:
人臉圖像采用灰度圖像,并且對圖像做歸一化處理,即減去圖像自身的均值且除以圖像自身的標準差。
(2)人臉關(guān)鍵點拆分并做歸一化處理:
1)人臉關(guān)鍵點拆分:
將人臉關(guān)鍵點拆分為三個部分:人臉輪廓關(guān)鍵點、人臉五官主要關(guān)鍵點、人臉五官外的其余關(guān)鍵點。拆分效果圖如圖3、圖4、圖5所示。
2)人臉關(guān)鍵點歸一化處理:截取人臉圖像部分,重新確定關(guān)鍵點的坐標,將這些坐標的x和y分別除以人臉圖像的寬和高。
步驟三、人臉對齊模型訓練:用于訓練人臉對齊模型。
人臉對齊模型網(wǎng)絡(luò)結(jié)構(gòu)圖如圖7所示。
人臉關(guān)鍵點定位算法采用卷積神經(jīng)網(wǎng)絡(luò),主線網(wǎng)絡(luò)包括8層卷積層、4層batchnormalization層,4層激活函數(shù)層、4層pooling層以及一層全連接層。結(jié)構(gòu)是每兩層卷積層之后是batchnormalization層,激活層,pooling層,以此類推。前三層pooling和最后一層全連接層之后分別由7層全連接層作為支線網(wǎng)絡(luò)進行預測,分別預測面部輪廓關(guān)鍵點(contourpoints),五官的主要關(guān)鍵點(innerprincipalpoints),五官的其余關(guān)鍵點(innerelaboratepoints),姿態(tài)(rollpitchyaw),性別、是否笑、是否戴眼鏡。
人臉關(guān)鍵點的預測和姿態(tài)(rollpitchyaw)預測是屬于回歸問題,而性別、是否笑和是否戴眼鏡屬于二分類問題。
誤差函數(shù)的選擇方法:由于回歸問題的輸出是連續(xù)的,所以誤差計算采用歐式距離;而分類問題的輸出是整數(shù)非連續(xù),所以誤差采用softmax。
將歸一化的圖像(50x50x1)作為整個網(wǎng)絡(luò)的輸入,經(jīng)過兩層卷積層、歸一化層、激活層和池化層之后分別輸入一個34維的全連接層預測人臉輪廓關(guān)鍵點、一個22維的全連層預測人臉五官主要關(guān)鍵點、一個80維的全連層預測人臉其余關(guān)鍵點、一個兩維的全連接層預測性別、一個兩維的全連接層預測是否微笑、一個兩維的全連接層預測是否戴眼鏡和一個三維的全連接層預測姿態(tài),并得到誤差e1,以此類推分別得到誤差e2,e3,e4;e4的誤差通過回饋網(wǎng)絡(luò)到達e3處,假設(shè)此時的誤差為e4',e4'和誤差e3加權(quán)求和得到誤差e3',e3'通過回饋網(wǎng)絡(luò)到達e2處,假設(shè)此時的誤差為e3”,e3”和誤差e2加權(quán)求得到誤差e2’,e2'通過回饋網(wǎng)絡(luò)到達e1處,假設(shè)此時的網(wǎng)絡(luò)誤差為e2”,e2”和誤差e1加權(quán)求和得到誤差e1',e1'通過回饋網(wǎng)絡(luò)到達網(wǎng)絡(luò)的入口,此時整個網(wǎng)絡(luò)的參數(shù)更新一次;繼續(xù)輸入圖像重復上述的過程,直到e4誤差達到一個穩(wěn)定值,即網(wǎng)絡(luò)收斂,停止訓練,得到人臉對齊模型。
步驟四、實時輸出人臉的關(guān)鍵點和人臉的屬性(性別、是否笑、是否戴眼鏡、姿態(tài))。
本發(fā)明的原理為:對姿態(tài)、遮擋、面部表情及性別敏感的問題,設(shè)計一種基于深度學習的多任務(wù)級聯(lián)人臉對齊方法。該方法將人臉中若干個面部關(guān)鍵點分為三個部分,其中一部分為面部輪廓關(guān)鍵點,一部分為五官主要關(guān)鍵點,一部分為五官次要關(guān)鍵點,且每張人臉的屬性標記:性別、是否微笑、是否戴眼鏡、臉部姿態(tài)(rollpitchyaw)。將這些屬性、臉部特征和灰度圖像作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,在網(wǎng)絡(luò)的每兩層都會有相應的預測輸出。這樣通過多個任務(wù)(姿態(tài)、遮擋、面部表情及性別)和級聯(lián)(每兩層都有預測輸出)訓練,模型就會學習到一個對姿態(tài)、遮擋、面部表情及性別魯棒性高的人臉對齊模型。