曹 川, 張紅英
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010;2.特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽(yáng) 621010)
隨著深度學(xué)習(xí)的快速發(fā)展,人臉識(shí)別技術(shù)也在日益提高,如文獻(xiàn)[1~5]提出的方法。但各文獻(xiàn)中的方法采用的數(shù)據(jù)集并沒(méi)有太大姿態(tài)差異,不適于實(shí)際應(yīng)用。為此,有研究創(chuàng)建了包括極端姿態(tài)變化的數(shù)據(jù)集(如CASIA-WebFace數(shù)據(jù)庫(kù))。2016年,楊瑞等人[6]提出了一種基于Gabor特征和深度信念網(wǎng)絡(luò)(deep belief network,DBN)的人臉識(shí)別方法,通過(guò)學(xué)習(xí)高層特征降低特征維數(shù)提高了分類器的分類精度,最終改善了人臉識(shí)別率。同年,張軍等人[7]提出了由多個(gè)卷積層和次采樣層構(gòu)成的改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)提高了對(duì)復(fù)雜特征的提取能力。同年,Masi I等人[8]通過(guò)提出姿態(tài)感知卷積神經(jīng)網(wǎng)絡(luò)模型的方法,改進(jìn)了包括大姿態(tài)變化的數(shù)據(jù)集的識(shí)別結(jié)果。實(shí)際中,需要對(duì)自然條件下含有較大姿態(tài)差異等復(fù)雜因素的人臉進(jìn)行人臉特征提取。2015年,He K M等人[9]提出的新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中包含的殘差單元有效的解決了網(wǎng)絡(luò)由于過(guò)深而出現(xiàn)的退化問(wèn)題。該網(wǎng)絡(luò)結(jié)構(gòu)在ILSVRC(ImageNet large scale visual recognition challenge)—2015[10]中獲得了第一名,具有非常高的特征提取能力,在人臉識(shí)別方面顯得更具潛力。
在已有的殘差神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,結(jié)合Zagoruyko S等人[11]提出的寬的神經(jīng)網(wǎng)絡(luò)也可以有好的網(wǎng)絡(luò)模型性能的思想,本文提出了一種改進(jìn)的殘差神經(jīng)網(wǎng)絡(luò)模型,該模型共14層含有6個(gè)殘差單元,最大的特點(diǎn)是網(wǎng)絡(luò)比較寬而且相對(duì)較淺。 通過(guò)實(shí)驗(yàn),改進(jìn)的網(wǎng)絡(luò)模型具有更加優(yōu)異的網(wǎng)絡(luò)性能,對(duì)含有姿態(tài)等復(fù)雜因素的人臉圖像具有更強(qiáng)的特征提取能力。
受Zagoruyko S等人[11]提出的寬殘差神經(jīng)網(wǎng)絡(luò)的啟發(fā),發(fā)現(xiàn)隨著模型深度不斷加深,梯度在反向傳播過(guò)程中,并不能保證可以流經(jīng)每一個(gè)殘差單元的權(quán)重,以致學(xué)習(xí)效果較差,在整個(gè)訓(xùn)練過(guò)程中,只有比較少的幾個(gè)殘差單元可以學(xué)到有用的特征表達(dá),因此,本文采用一種較淺的,但寬度更寬的模型,使得殘差單元更多的起到作用以更加有效地提升模型性能。該結(jié)構(gòu)主要通過(guò)減少殘差單元的數(shù)量和增加殘差單元中卷積層的特征圖數(shù)量來(lái)實(shí)現(xiàn),經(jīng)過(guò)實(shí)驗(yàn)證明了增加模型的寬度可以提升模型的性能,但不能完全認(rèn)為寬度比深度更好。因此,采用基于ResNet-32的網(wǎng)絡(luò)模型,結(jié)合寬殘差神經(jīng)網(wǎng)絡(luò)的思路,進(jìn)行改進(jìn)得到14層的寬殘差神經(jīng)網(wǎng)絡(luò)模型(稱為W-ResNet-14),網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 W-ResNet-14
首先第一層卷積使用5×5大小的卷積核,步長(zhǎng)為1,Padding大小為1,使得卷積輸入與輸出具有相同的特征圖,然后再經(jīng)過(guò)平均池化,濾波器的大小為2×2,步長(zhǎng)為2,以減小特征圖大小,簡(jiǎn)化網(wǎng)絡(luò)計(jì)算復(fù)雜度,然后輸入第一個(gè)殘差單元。
提出的網(wǎng)絡(luò)模型包括6個(gè)殘差單元,每個(gè)殘差單元使用如圖2所示的結(jié)構(gòu)。其中每一個(gè)殘差單元的輸入Hi-1與輸出Hi的尺寸大小并不改變。首先使用批標(biāo)準(zhǔn)化(batch normalization,BN)[12]算法對(duì)每一次的輸出數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,以達(dá)到以下效果:以有效參數(shù)穩(wěn)定網(wǎng)絡(luò)收斂;適當(dāng)設(shè)置較大的初始學(xué)習(xí)率以加快網(wǎng)絡(luò)收斂;有效防止網(wǎng)絡(luò)出現(xiàn)過(guò)擬合現(xiàn)象。將BN算法處理過(guò)的數(shù)據(jù)通過(guò)Relu激活函數(shù)激活,以增加神經(jīng)網(wǎng)絡(luò)各層之間的非線性關(guān)系,完成需要神經(jīng)網(wǎng)絡(luò)完成的提取復(fù)雜特征的任務(wù);另外還可以保證網(wǎng)絡(luò)的稀疏性,較少參數(shù)間的相互依存關(guān)系,減少過(guò)擬合情況的發(fā)生。將激活后的數(shù)據(jù)輸入一個(gè)卷積層,本文選用大小為3×3的卷積核,步長(zhǎng)為1,Padding設(shè)置為1,以保證輸入Hi-1與輸出Hi具有相同尺寸。通過(guò)BN算法和Relu激活函數(shù)輸入第二個(gè)卷積層,相關(guān)參數(shù)與第一個(gè)卷積層相同。最后將第二個(gè)卷積的輸出與殘差單元的輸入通過(guò)矩陣相加運(yùn)算作為下一個(gè)殘差單元的輸入,最終實(shí)現(xiàn)了殘差思想中的將需要學(xué)習(xí)的特征映射轉(zhuǎn)換為F(x)+x。其中第一個(gè)殘差單元中在卷積層前不使用BN算法和Relu激活函數(shù)。
圖2 殘差單元結(jié)構(gòu)
通過(guò)6個(gè)殘差單元后,連接一個(gè)均值下采樣層,最后網(wǎng)絡(luò)連接一個(gè)與人臉身份類別數(shù)相同的全連接層。相關(guān)層數(shù)的參數(shù)如表1所示,其中,Basis Block為He K M等人[9]提出用于cifar-10實(shí)驗(yàn)的網(wǎng)絡(luò), Improve Block為本文改進(jìn)的網(wǎng)絡(luò)模型相關(guān)參數(shù)。因此使網(wǎng)絡(luò)最底層可以從原始像素學(xué)習(xí)濾波器,刻畫局部的邊緣和紋理特征;然后通過(guò)各種邊緣濾波器的組合,中層濾波器可以描述不同類型的人臉器官;最高層描述的是整個(gè)人臉的全局特征。以此完成對(duì)輸入人臉圖像的特征學(xué)習(xí)。
表1 網(wǎng)絡(luò)層參數(shù)
在人臉識(shí)別任務(wù)上訓(xùn)練神經(jīng)網(wǎng)絡(luò),對(duì)32層的殘差網(wǎng)絡(luò)模型進(jìn)行改進(jìn),主要利用Zagoruyko S等人[11]提出的寬殘差神經(jīng)網(wǎng)絡(luò)的思想,通過(guò)增加原殘差模型中某些卷積輸出通道數(shù),以加寬網(wǎng)絡(luò)模型,同時(shí)通過(guò)減少殘差單元數(shù)量使原來(lái)較深的殘差模型變得更淺,以此將網(wǎng)絡(luò)層數(shù)從32層減少到14層,即為本文提出的W-ResNet-14模型。
為了說(shuō)明所設(shè)計(jì)的殘差神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的特征提取能力,選取了具挑戰(zhàn)性的CASIA-WebFace數(shù)據(jù)庫(kù)和自建數(shù)據(jù)庫(kù)OurFace作為實(shí)驗(yàn)對(duì)象。
在實(shí)驗(yàn)過(guò)程中于CASIA-WebFace數(shù)據(jù)庫(kù)上的數(shù)據(jù)集中隨機(jī)選取同種身份至少包含200張圖片的部分?jǐn)?shù)據(jù)集組成訓(xùn)練和測(cè)試的數(shù)據(jù)集。為了減少計(jì)算量,加速網(wǎng)絡(luò)訓(xùn)練,將所有圖像的分辨率降低到了64×64大小,同時(shí)為了使每個(gè)身份的圖像數(shù)量相等和豐富數(shù)據(jù)集,使用了數(shù)據(jù)增強(qiáng)技術(shù),包含了如旋轉(zhuǎn)、平移等方式。如圖3所示對(duì)圖像進(jìn)行了翻轉(zhuǎn)和平移,最終得到了可以用于進(jìn)行訓(xùn)練和測(cè)試的數(shù)據(jù)集,然后將每個(gè)身份下的數(shù)據(jù)集隨機(jī)獨(dú)立的分為2個(gè)子集:訓(xùn)練集和測(cè)試集,其中80 %作為訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)參數(shù),20 %用于評(píng)估網(wǎng)絡(luò)性能。
圖3 對(duì)圖像進(jìn)行翻轉(zhuǎn)、平移等變換
同樣將OurFace數(shù)據(jù)庫(kù)中采集到圖像數(shù)據(jù)通過(guò)預(yù)處理后劃分為相同比例的訓(xùn)練集和測(cè)試集。
實(shí)驗(yàn)使用Google的開源深度學(xué)習(xí)框架TensorFlow,因其高度的靈活性和真正的可移植性等優(yōu)點(diǎn)成為當(dāng)下應(yīng)用最廣的深度學(xué)習(xí)框架之一。首先通過(guò)批量處理將已經(jīng)收集到的數(shù)據(jù)集調(diào)整為大小為64×64的人臉圖像,然后轉(zhuǎn)換為TensorFlow支持的用于神經(jīng)網(wǎng)絡(luò)高效輸入的二進(jìn)制數(shù)據(jù)格式TFRecord;再通過(guò)隨機(jī)讀取一定批次大小圖像數(shù)據(jù)。實(shí)驗(yàn)平臺(tái)相關(guān)主要配置為:處理器為Intel Xeon E5—2680,運(yùn)行內(nèi)存為64 GB,顯卡為NVIDIA GeForce GTX 1080 8 GB。
使用該平臺(tái)用于加速訓(xùn)練所提出的改進(jìn)模型,采用梯度下降算法優(yōu)化網(wǎng)絡(luò)。實(shí)驗(yàn)中參數(shù)如表2所示。
表2 網(wǎng)絡(luò)超參數(shù)
訓(xùn)練過(guò)程中為了在現(xiàn)有硬件設(shè)備上得到盡量好的實(shí)驗(yàn)結(jié)果,選取的訓(xùn)練批次大小為128,同時(shí)使用隨步數(shù)衰減的學(xué)習(xí)率訓(xùn)練網(wǎng)絡(luò)參數(shù),初始學(xué)習(xí)率為0.1,在40 000步和60 000步分別衰減當(dāng)前步數(shù)的0.1 倍,以盡可能地逼近最優(yōu)解,提高準(zhǔn)確率。在CASIA-WebFace數(shù)據(jù)OurFace數(shù)據(jù)集上分別進(jìn)行訓(xùn)練和測(cè)試,實(shí)驗(yàn)中,沒(méi)有對(duì)原始數(shù)據(jù)集中的人臉進(jìn)行對(duì)齊、裁剪等操作,最終得到的top—1準(zhǔn)確率如表3所示。
表3 2種網(wǎng)絡(luò)結(jié)構(gòu)下top—1 的準(zhǔn)確率 %
可以看出,相較于原來(lái)的殘差神經(jīng)網(wǎng)絡(luò)模型改進(jìn)的殘差神經(jīng)網(wǎng)絡(luò)W-ResNet-14在CASIA-WebFace和OurFace數(shù)據(jù)集上具有更好的性能。主要是因?yàn)楦倪M(jìn)的殘差模型可以提高模型中殘差單元的利用率,從而使得網(wǎng)絡(luò)性能高于原網(wǎng)絡(luò)模型,繼而提高對(duì)人臉特征的提取能力。
提出的W-ResNet-14神經(jīng)網(wǎng)絡(luò)模型,在CASIA-WebFace和OurFace數(shù)據(jù)集上較原網(wǎng)絡(luò)在準(zhǔn)確性上有2 %以上的提高,特別是在CASIA-WebFace數(shù)據(jù)上具有更好的性能,說(shuō)明所提出的改進(jìn)殘差神經(jīng)網(wǎng)絡(luò)對(duì)于復(fù)雜特征的提取能力更強(qiáng)。但由于未對(duì)數(shù)據(jù)集進(jìn)行更加優(yōu)異的預(yù)處理,比如人臉對(duì)齊,裁去過(guò)多的背景信息等,或者可能提出的模型并不是網(wǎng)絡(luò)深度和寬度的最佳平衡點(diǎn)。因此本文模型通過(guò)優(yōu)異數(shù)據(jù)集預(yù)處理和找到寬度和深度最好的平衡點(diǎn),可能會(huì)發(fā)揮殘差神經(jīng)網(wǎng)絡(luò)模型在人臉識(shí)別上更好的網(wǎng)絡(luò)性能,這是下一步研究的工作。