張 坤,章東平,楊 力
(中國計量大學 信息工程學院,浙江 杭州 310018)
基于深度卷積神經(jīng)網(wǎng)絡的人臉識別算法的性能在最近幾年已經(jīng)得到了很大的提高.這些提高一方面來源于新的以及改進的網(wǎng)絡結構設計,而另一方面則來源于規(guī)模越來越大的人臉數(shù)據(jù)集.
當研究者認識到通過增加訓練數(shù)據(jù)可以為卷積神經(jīng)網(wǎng)絡帶來性能的提升后,很多研究者和研究機構開始收集和標注大量的人臉圖像作為訓練數(shù)據(jù).Facebook的研究人員[1]標注了4.4百萬的人臉去訓練他們的人臉識別模型,牛津大學的研究團隊[2]使用了2.6百萬的人臉圖像,Face++[3]在5百萬標注好的人臉數(shù)據(jù)上訓練他們的模型.值得注意的是,谷歌的FaceNet[4]人臉識別模型則使用了200百萬的有標注人臉圖像.
然而收集并且標注大量的用于訓練的人臉數(shù)據(jù)并不是一件輕松的事情,它需要花費大量的人力物力去下載、處理和標注數(shù)以百萬計的人臉圖像,并且要求在標注時保證很高的可信度.因此,只有較大的商業(yè)公司才有能力收集標注百萬量級的人臉數(shù)據(jù),并且,這些商業(yè)公司標注好的人臉數(shù)據(jù)并不會公開給其他研究團隊使用.就目前的情況來看,CASIA-WebFace[5]是當前公開的最大的免費人臉識別數(shù)據(jù)集.CASIA-WebFace數(shù)據(jù)集包含10 575個人的共約49.5萬的人臉圖像,然而和上文提到的幾個人臉識別數(shù)據(jù)集相比,在規(guī)模上還是有很大差距.并且,對于基于深度學習的人臉識別算法,需要的訓練人臉數(shù)據(jù),不僅要求其類別數(shù)達到一定規(guī)模,而且還要其每個類別中人臉圖片具有多樣性,這對數(shù)據(jù)收集來說又是一個很棘手的問題.
為充分利用有限的人臉識別數(shù)據(jù)資源,本文嘗試通過兩種樣本增強的方式來解決上述提到的樣本不足的問題.一是根據(jù)單張人臉圖像生成該人不同姿態(tài)的人臉圖像,二是為每張人臉圖像戴上不同的眼鏡.
為了通過單張人臉圖像生成其對應的各個姿態(tài)人臉圖像,本文借助Patrik Huber等人[6]在2016年提出的三維可形變人臉模型(3DMM)來實現(xiàn).三維可形變人臉模型基于人臉的三維網(wǎng)格,一張人臉由一個包含形狀的x,y和z分量的向量SεR?N和一個包含每個頂點RGB顏色信息的向量表示TεR?N,N是網(wǎng)格頂點的數(shù)量.三維可形變模型由兩個PCA模型組成,一個用于形狀,另一個用于顏色信息.
構建該三維可形變人臉模型共使用了169個人的三維人臉掃描圖像,其中19歲以下的有9個人,20~29歲的有106個人,30~44歲的有33個人,45~59歲的有13個人,大于60歲的只有8個人.
通過單張人臉圖像重建其三維人臉模型有以下幾個關鍵步驟:1)姿態(tài)估計;2)形狀擬合;3)紋理重建.
1)姿態(tài)估計.這里的姿態(tài)估計也是指求解攝像機矩陣(camera matrix),獲得二維圖像與三維圖像間的對應關系.根據(jù)在二維人臉圖像上檢測到的關鍵點與三維人臉圖像上與其對應的關鍵點的坐標信息,求得攝像機矩陣.求解方法使用Hartley和Zisserman在2004年提出的Gold Standard算法.
2)形狀擬合.為找到PCA形狀模型中最合適的系數(shù),通過最小化E來求解得到
(1)
3)紋理重建.通過1)、2)得到攝像機矩陣和形狀系數(shù)后,則輸入人臉圖像和三維網(wǎng)格間的對應關系可以得到.之后,可將二維人臉圖像重映射到三維人臉模型上,最終得到完整的三維人臉.
應用上節(jié)所述方法,我們對CASIA-WebFace數(shù)據(jù)集進行了姿態(tài)方面的數(shù)據(jù)增強.對于單張人臉圖像,我們分別生成了其偏航角±30°,±45°,俯仰角±30°,±45°的人臉圖像.效果如圖1.
在圖1中,(a)為原始人臉圖像;(b)為與(a)對應偏航角為+30°的人臉圖像;(c)為與(a)對應偏航角為+45°的人臉圖像;(d)為與(a)對應偏航角為-30°的人臉圖像;(e)為與(a)對應偏航角為-45°的人臉圖像;(f)為與(a)對應俯仰角為-30°的人臉圖像;(g)為與(a)對應俯仰角為-45°的人臉圖像;(h)為與(a)對應俯仰角為+30°的人臉圖像;(i)為與(a)對應俯仰角為+45°的人臉圖像原始CASIA-WebFace數(shù)據(jù)集包含494 414張人臉圖像,其中有一些人臉圖像因無法檢測到人臉和人臉關鍵點,無法完成多姿態(tài)人臉的生成.最終,原始數(shù)據(jù)與進行姿態(tài)增強后的數(shù)據(jù)共有1 281 005張人臉圖像.
圖1 多姿態(tài)人臉生成效果圖Figure 1 Multi-pose face generation
根據(jù)原始人臉圖像,生成其對應的“戴眼鏡”人臉圖像,需要使用到人臉檢測,人臉關鍵點定位技術.本文使用開源的MTCNN[7]算法進行人臉檢測和人臉關鍵點定位.下面給出具體的操作步驟.
1)使用MTCNN算法檢測目標人臉在原始圖像中的位置.
2)使用MTCNN算法定位目標人臉的五個關鍵點.這五個關鍵點分別為(左眼中心,右眼中心,鼻尖,左嘴角,右嘴角),設其對應坐標分別為(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5).
5)將4)得到的經(jīng)過縮放旋轉后的眼鏡圖片與原始人臉圖片進行疊加(對齊眼鏡中心位置),即可得到“戴眼鏡”后的人臉圖像.
本文收集了四種眼鏡樣本,對CASIA-WebFace數(shù)據(jù)集進行數(shù)據(jù)增強.效果如圖2.在圖2中,(a)為原始人臉圖像,(b)、(c)、(d)、(e)分別為戴不同眼鏡生成的人臉圖像.
CASIA-WebFace數(shù)據(jù)集[5].CASIA-WebFace數(shù)據(jù)集是由中科院自動化研究所的李子青團隊在2014年收集整理完成的,它包含10 575個人的494 414張人臉圖像.
圖2 戴眼鏡人臉圖像生成效果Figure 2 Face generation with glasses
LFW數(shù)據(jù)集[8].LFW為英文Labeled Faces in the Wild的縮寫,該數(shù)據(jù)集包含5 749個人的13 233張人臉圖像.為了方便公正的在LFW數(shù)據(jù)集上比較不同人臉識別算法的優(yōu)劣,有兩種較為常用的評比規(guī)則.1)標準規(guī)則.5 749個人的13 233張人臉圖像被隨機組成了6 000對人臉圖像對,其中3 000對由相同人組成,剩余3 000對為不同人組成.評測時,計算準確率.2)BLUFR規(guī)則[9],BLUFR為英文Benchmark of Large-scale Unconstrained Face Recognition的縮寫.BLUFR評測準則充分利用了LFW數(shù)據(jù)集的13 233張人臉圖像,將其劃分為了十個部分,每一部分包含156 915對相同人樣本對,46 960 863對不同人樣本對.另外,BLUFR規(guī)則,可以同時提供驗證和開集識別測試指標.為后文行文方便,記標準規(guī)則為準則一,記BLUFR規(guī)則為準則二.
YTF數(shù)據(jù)集[10].YTF為英文YouTube Faces的縮寫.YTF數(shù)據(jù)集包含1 595個人的3 425段視頻,這些視頻全部來自國外視頻網(wǎng)站YouTube,平均每個人有兩段視頻.在這些視頻片段中,最短的只有48幀,最長的為6 070幀,平均每段視頻為181.3幀.為了方便測試,YTF數(shù)據(jù)集將所有數(shù)據(jù)有重疊的劃分為十個部分.每部分由250個正樣本對,250個負樣本對組成.因為存在運動模糊以及高壓縮率的原因,YTF數(shù)據(jù)中的人臉質量低于上述兩個人臉數(shù)據(jù)集中的人臉質量.
本文實驗所采用的網(wǎng)絡模型為開源的Face-ResNet[11],其包含27個卷積層,兩個全連接層,使用PReLU[12]作為激活函數(shù).為了檢測到圖像中的人臉以及準確定位到人臉中的關鍵點,本文使用上MTCNN算法.在一些圖片中,MTCNN算法可能無法成功檢測到人臉.對于這些人臉圖像,我們丟棄不用,但是這種處理方法,僅限于在訓練集中的圖片.如果在LFW或者YTF數(shù)據(jù)集中出現(xiàn)這樣的圖片,則進行人工標定處理.之后,根據(jù)成功定位到的人臉關鍵點,我們使用上文提到的人臉對齊方法將其矯正為144×144大小的灰度圖.最后,在送入網(wǎng)絡進行訓練時,每個像素值先減去127.5,再除以127.5.
我們使用Face-ResNet網(wǎng)絡模型訓練兩個人臉識別模型,分別為Model-Aw,Model-Awp.其區(qū)別在于Model-Aw使用原始CASAI-WebFace數(shù)據(jù)集,Model-Awp使用CASIA-WebFace-pose數(shù)據(jù)集.
表1使用原始CASIA-WebFace數(shù)據(jù)集以及經(jīng)過姿態(tài)增強的CASIA-WebFace數(shù)據(jù)集訓練的Face-ResNet模型在LFW數(shù)據(jù)集上使用測試準則一得到的結果.表2顯示了它們使用測試準則二得到的結果.從表1和表2可以看出,經(jīng)過使用經(jīng)過姿態(tài)增強的訓練數(shù)據(jù)得到的人臉識別模型在LFW數(shù)據(jù)集上的測試結果均高于使用原始CASIA-WebFace訓練的人臉識別模型.
表1 Model-Aw與Model-Awp在LFW上的測試結果(準則一)Table 1 the performance of Model-Aw and Model-Awp on LFW(protocol 1)
表2 Model-Aw與Model-Awp在LFW上的測試結果(準則二)Table 2 the performance of Model-Aw and Model-Awp on LFW(protocol 2) %
表3 Model-Aw與Model-Awp在YTF上的測試結果Table 3 the performance of Model-Aw and Model-Awp on YTF
表3給出了使用不同訓練數(shù)據(jù)訓練的人臉識別模型在YTF數(shù)據(jù)集上的測試結果,可以看出模型Model-Awp在YTF數(shù)據(jù)集上的準確率較Model-Aw高0.48%.
本節(jié)為驗證生成的戴眼鏡人臉圖像對人臉識別模型性能的影響,分別使用不同數(shù)據(jù)集使用Face-ResNet網(wǎng)絡模型訓練出得到不同的人臉識別模型.使用原始CASIA-WebFace訓練得到的人臉識別模型記為Model-Aw,使用經(jīng)過“戴眼鏡”的人臉識別數(shù)據(jù)集訓練得到的人臉識別模型記為Model-Awg.為驗證生成的戴眼鏡人臉圖像對人臉識別模型性能的影響,我們在公開的LFW數(shù)據(jù)集、YTF數(shù)據(jù)集上進行評測.
表4給出了Model-Aw和Model-Awg在LFW測試準則一下的測試結果,表5給出了Model-Aw和Model-Awg在LFW測試準則二下的測試結.表6給出了Model-Aw和Model-Awg在YTF數(shù)據(jù)集上的表現(xiàn).
表4 Model-Aw與Model-Awg在LFW上的測試結果(準則一)Table 4 the performance of Model-Aw and Model-Awg on LFW(protocol 1)
表5 Model-Aw與Model-Awg在LFW上的測試結果(準則二)Table 5 the performance of Model-Aw and Model-Awg on LFW(protocol 2) %
從表4和表5可以看出,對于LFW數(shù)據(jù)集,無論是測試準則一還是測試準則二,使用CASIA-WebFace-glass數(shù)據(jù)集訓練得到的模型均可得到一定程度上性能的提升.
表6 Model-Aw與Model-Awg在YTF上的測試結果Table 6 the performance of Model-Aw and Model-Awg on YTF
從表6中可以看出,使用經(jīng)過姿態(tài)增強的到的CASIA-WebFace-glass數(shù)據(jù)集作為訓練數(shù)據(jù),Model-Awg在YTF上的準確率有1.33%的提高.
本文通過兩種不同的樣本生成方式,擴充了原始CASIA-WebFace數(shù)據(jù)集.通過公開人臉測試集驗證了樣本增強的效果.實驗結果表明,不同的人臉樣本增強方式均會對人臉識別模型的效果有所提升.