(西安工程大學(xué)電子信息學(xué)院 陜西 西安 710048)
傳統(tǒng)的人臉識別方法一般通過人工來提取特征,常用的人臉識別方法主要分為基于先驗(yàn)知識的關(guān)鍵特征點(diǎn)檢測但、模板匹配法和膚色模型法,以及基于統(tǒng)計(jì)的特征子空間和隱馬爾科夫模型[1]。是對于圖像的識辨率最高只達(dá)到0.7423,而且各種算子都有很大的局限性。相對于人工提取圖像特征的種種不足,神經(jīng)網(wǎng)絡(luò)利用計(jì)算機(jī)強(qiáng)大的運(yùn)算力自動提取到的圖像特征更加全面。Geoffrey E.Hinton[2,3]教授和他的學(xué)生Alex Krizhevsky首次采用卷積神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行人臉識別準(zhǔn)確率就達(dá)到0.83578。而后來的香港中文大學(xué)湯曉鷗教授提出的ResNet網(wǎng)絡(luò)在LFW數(shù)據(jù)集上識別率達(dá)到0.96433,但ResNet網(wǎng)絡(luò)一共有152層網(wǎng)絡(luò)結(jié)構(gòu)。越深的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)的參數(shù)就越多,學(xué)習(xí)難度和優(yōu)化難度就越高。合理的神經(jīng)網(wǎng)絡(luò)構(gòu)架對于神經(jīng)網(wǎng)絡(luò)的研究非常重要[4-7]。本文就以經(jīng)典卷積神經(jīng)lenet-5網(wǎng)絡(luò)為基礎(chǔ),提出一種改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)對圖像識別問題進(jìn)行研究。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)算法的思想來源于生物學(xué)中神經(jīng)網(wǎng)絡(luò)的基本原理,類似于人類大腦神經(jīng)元對外界信號的抽象和理解能力,人工神經(jīng)網(wǎng)絡(luò)就是仿照這一過程,將輸入的圖片或者語音等信息,運(yùn)用權(quán)重鏈接的思想,將每一個神經(jīng)元都看作是一個小型分類器,從而對輸入信息進(jìn)行分類、抽象和識別的一種數(shù)學(xué)模型。
卷積神經(jīng)網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)中的一種特殊網(wǎng)絡(luò)結(jié)構(gòu),它由加拿大YannLe Cun教授于1989年提出。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)在圖像處理領(lǐng)域并不適用。表征一張圖像信息的像素點(diǎn)往往以百萬計(jì),更何況成千上萬張圖像,所需的參數(shù)太多,不論從計(jì)算資源、調(diào)整參數(shù)難度和識別效果等方面訓(xùn)練難度都太大,而卷積神經(jīng)網(wǎng)絡(luò)卻可以很好地處理圖像領(lǐng)域參數(shù)太多等問題。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是神經(jīng)網(wǎng)絡(luò)中處理圖像領(lǐng)域問題的常用的網(wǎng)絡(luò)模型之一。它主要由輸入層、卷積層、池化層、全連接層和輸出層組成。
1.卷積層(Convolutional layer)
卷積層l的計(jì)算公式為:
(1)
2.池化層(pooling layer)
池化層又叫下采樣層(sub-sampling),計(jì)算公式為:
(2)
式中,f(·)表示激活函數(shù),D(·)為池化函數(shù),wl為可訓(xùn)練參數(shù),bl為該層各神經(jīng)元偏置。一般常用的池化方式有最值池化(Max Pooling)和均值池化(Mean Pooling)。空間池化旨在縮減訓(xùn)練樣本的大小,從而進(jìn)一步大幅度減少算法所需的計(jì)算量。池化又叫下采樣,顧名思義,就是根據(jù)圖像的放縮不變性,對訓(xùn)練樣本進(jìn)行采樣,進(jìn)而減少訓(xùn)練的樣本數(shù),達(dá)到減少計(jì)算量的效果。
3.全連接(Fully-Connected layer,F(xiàn)C)
全連接層的計(jì)算公式為:
(3)
lenet-5網(wǎng)絡(luò)對手寫數(shù)字圖像有著很高的識別率,但是與手寫數(shù)字圖像相比,人臉圖像更加復(fù)雜,就需要對lenet-5網(wǎng)絡(luò)進(jìn)行改進(jìn),是改進(jìn)后的lenet-5網(wǎng)絡(luò)具有更加優(yōu)秀的圖像特征提取能力和識別能力。圖1是lenet-5網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。
圖1 lenet5神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
lenet-5網(wǎng)絡(luò)一共由8層網(wǎng)絡(luò)構(gòu)成,其中包括輸入層,2層卷積層,2層池化層和3層全連接層,每層都包含不同數(shù)量的訓(xùn)練參數(shù),具體如表1所示。
兩層卷積層分別為C1和C3,它們都采用5×5的卷積核,卷積核每次滑動一個像素點(diǎn)(stride=1),并且每一張?zhí)卣鲌D譜共用同一個卷積核提取圖像的特征。C3層前6個特征圖與S2層前3個特征圖譜相連接,后面6個特征圖譜與S2層中間4個特征圖譜相連接,后面3個特征圖譜與S2層部分不相連的4個特征圖譜相連接,最后一個特征圖與S2層的所有特征圖譜相連。這種不對稱的組合連接方式更加有利于提取到圖像的組合特征。
表1 lenet-5網(wǎng)絡(luò)的具體參數(shù)
池化層S2和S4使用的都是2×2的計(jì)算核,計(jì)算核的數(shù)量與圖譜數(shù)量相對應(yīng)。池化層對網(wǎng)絡(luò)中的特征圖譜的數(shù)量沒有影響,針對的是特征圖譜的大小,主要作用是使特征圖譜大小縮減為原來的1/4,從而減少網(wǎng)絡(luò)訓(xùn)練的計(jì)算量。FC5、是lenet-5中的三層全連接層。再經(jīng)過全連接層FC6,最后由全連接層FC7輸出最終的識別結(jié)果。FC7全連接層即為最終的輸出層,共有10個節(jié)點(diǎn),在手寫數(shù)字識別中分別代表數(shù)字0到9,采用徑向基函數(shù)(Radial Basis Function,RBF)作為損失函數(shù)確定最終的識別結(jié)果。
為了實(shí)現(xiàn)復(fù)雜人臉圖像的特征提取,首先增加lenet-5網(wǎng)絡(luò)提取圖像特征的卷積層,接著通過增加池化層、L2正則化以及dropout等方法來減少計(jì)算成本和網(wǎng)絡(luò)的參數(shù),防止過擬合。而最后的損失函數(shù)則采用基于信息論的交叉熵(Cross Entropy),它可以有效的評估改進(jìn)后lenet-5網(wǎng)絡(luò)訓(xùn)練輸出的概率分布與測試集概率分布之間的差異。改進(jìn)后的lenet-5網(wǎng)絡(luò)結(jié)構(gòu)具體參數(shù)如表2所示。
表2 改進(jìn)lenet5網(wǎng)絡(luò)的具體參數(shù)
改進(jìn)后的網(wǎng)絡(luò)共由11層網(wǎng)絡(luò)層組成,分別由4個卷積層(C1,C3,C5,C7)、4個池化層(S2,S4,S6,S8)以及3個全連接層(FC9,F(xiàn)C10,F(xiàn)C11)組成。前兩個卷積層C1、C3采用5×5的卷積核且步長為2,后兩個卷積層C5、C7采用3×3的卷積核且步長為1,不同大小的卷積核可以更加全面地提取圖像的特征。各個卷積層的激活函數(shù)為Rule函數(shù),用以向網(wǎng)絡(luò)中添加非線性的元素,同時(shí)避免如sigmoid激活函數(shù)引起的梯度彌散或者消失問題。池化層統(tǒng)一使用最大池化,步長設(shè)為1,降低網(wǎng)絡(luò)訓(xùn)練的計(jì)算成本。最后的三個全連接層FC9、FC10、FC11回歸到傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)全連接方式,將前面卷積提取的圖像特征進(jìn)行進(jìn)一步的組合與分類,最后由FC11層Softmax分類器對圖像特征統(tǒng)一進(jìn)行概率分類輸出。
在神經(jīng)網(wǎng)絡(luò)領(lǐng)域中,數(shù)據(jù)集遠(yuǎn)比算法要重要。上個世紀(jì)神經(jīng)網(wǎng)絡(luò)發(fā)展緩慢的一個重要原因就是缺乏有效的數(shù)據(jù)集,當(dāng)然現(xiàn)如今已經(jīng)有相當(dāng)多公開的人臉識別數(shù)據(jù)集可供選擇。這里選擇的是CASIA-Webfaces數(shù)據(jù)集和LFW數(shù)據(jù)集。
圖2 CASIA-Webfaces數(shù)據(jù)集
圖3 LFW數(shù)據(jù)集
CASIA-Webfaces數(shù)據(jù)集中包含10575個對象的455594幅圖像,圖像涵蓋各種姿勢、年齡和種族,這使它在人臉識別研究領(lǐng)域頗具盛名。本文將使用CASIA-Webfaces數(shù)據(jù)集對改進(jìn)的lenet-5網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測試。LFW(Labeled Faces in the Wild)人臉數(shù)據(jù)庫是由美國馬薩諸塞州立大學(xué)阿默斯特分校計(jì)算機(jī)視覺實(shí)驗(yàn)室整理完成。其中包含13000張人臉圖像,每張圖像都有對應(yīng)的名字標(biāo)簽,其中1680人對應(yīng)不只一張圖像。本文采用LFW數(shù)據(jù)集作為對比實(shí)驗(yàn)中的測試集,再此數(shù)據(jù)集上進(jìn)一步驗(yàn)證本文改進(jìn)后lenet-5網(wǎng)絡(luò)的有效性。
將神經(jīng)網(wǎng)絡(luò)的卷積層數(shù)增加到4層,以增強(qiáng)網(wǎng)絡(luò)對圖像的特征提取能力,采用不同大小的卷積核更進(jìn)一步徹底全面的提取圖像的特征;在前兩層卷積層C1和C3之間采用lenet-5網(wǎng)絡(luò)的連接方式,而在后三層卷積層C3、C5和C7之間采用概率為40%的dropout函數(shù),來添加足夠的隨機(jī)性,確保卷積層可以提取到更有效的圖像特征并且防止過擬合現(xiàn)象的發(fā)生;通過對loss損失函數(shù)的L2正則化,使訓(xùn)練后的網(wǎng)絡(luò)更加平滑,避免過擬合現(xiàn)象,使其測試集上得到更高的準(zhǔn)確率。采用隨機(jī)梯度下降法(Stochastic Gradient Descent,SGD)高效計(jì)算求解網(wǎng)絡(luò)中的微分運(yùn)算,避免傳統(tǒng)梯度下降法易出現(xiàn)的梯度彌散和局部最小值現(xiàn)象;損失函數(shù)則采用基于信息論的交叉熵(Cross Entropy),用來對網(wǎng)絡(luò)訓(xùn)練時(shí)更新權(quán)值和評估改進(jìn)后lenet-5網(wǎng)絡(luò)訓(xùn)練輸出的概率分布與測試集概率分布之間的差異。
將改進(jìn)后lenet-5網(wǎng)絡(luò)在CASIA-Webfaces數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試,取得了良好的訓(xùn)練和測試結(jié)果。圖4為訓(xùn)練和測試的準(zhǔn)確率隨訓(xùn)練過程中mini-batch增加的曲線圖,圖5為訓(xùn)練和測試的loss損失函數(shù)隨訓(xùn)練過程mini-batch增加而變化的曲線圖。如圖4所示,最終改進(jìn)后的lenet-5網(wǎng)絡(luò)在訓(xùn)練集上的準(zhǔn)確率達(dá)到0.9435,測試集上的準(zhǔn)確率為0.9449。測試集上的準(zhǔn)確率結(jié)果不比在訓(xùn)練集上的低,而且沒有出現(xiàn)過擬合現(xiàn)象。
圖4 訓(xùn)練與測試準(zhǔn)確值率曲線圖
圖5 訓(xùn)練與測試Loss曲線圖
在圖5中,中l(wèi)oss損失函數(shù)而言,訓(xùn)練集上的最終平均損失值為0.1231,測試集上損失函數(shù)為0.1364。由圖4中Training Accuracy上升曲線和圖5中Training Loss曲線下降趨勢可知,訓(xùn)練過程總體而言是滿足我們的需求的,中間沒有出現(xiàn)太大的突變情況,而且下降和上升的趨勢和速度也相當(dāng)快速。
為了進(jìn)一步驗(yàn)證改進(jìn)后lenet-5的有效性,本文進(jìn)行了與lenet-5網(wǎng)絡(luò)在CASIA-Webfaces數(shù)據(jù)集和LFW數(shù)據(jù)集的對照實(shí)驗(yàn),如表3所示,實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的lenet-5網(wǎng)絡(luò)在CASIA-Webfaces數(shù)據(jù)集上比lenet-5網(wǎng)絡(luò)識別率高出0.1189,而在LFW數(shù)據(jù)集上的識別準(zhǔn)確率比lenet-5網(wǎng)絡(luò)高出0.0753。相比于lenet-5網(wǎng)絡(luò),改進(jìn)后的lenet-5網(wǎng)絡(luò)比原lenet-5網(wǎng)絡(luò)擁有更高的準(zhǔn)確率,比起lenet-5網(wǎng)絡(luò)更能夠全面地提取人臉圖像的抽象特征,具有更加優(yōu)異的識別性能。
表3 人臉檢測算法測試結(jié)果
本文以數(shù)據(jù)集CASIA-Webfaces為訓(xùn)練和測試集對lenet-5網(wǎng)絡(luò)進(jìn)行了改進(jìn),將卷積層和池化層增加到4層增強(qiáng)網(wǎng)絡(luò)模型的圖像特征提取能力,并采用dropput和L2正則化進(jìn)一步防止過擬合現(xiàn)象,最終以交叉熵為損失函數(shù)更新各個神經(jīng)元之間的權(quán)值。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的網(wǎng)絡(luò)圖像特征提取能力明顯增強(qiáng),在原lenet-5基礎(chǔ)上,準(zhǔn)確率提高了0.1189,達(dá)到0.9435,在LFW標(biāo)準(zhǔn)測試集也上達(dá)到了較高的識別率。這表明改進(jìn)后網(wǎng)絡(luò)的人臉識別能力大大優(yōu)于原lenet-5網(wǎng)絡(luò),但還是存在一些問題,改進(jìn)后的lenet-5網(wǎng)絡(luò)在LFW數(shù)據(jù)集上的識別準(zhǔn)確率雖然也高于原lenet-5網(wǎng)絡(luò),但識別率并沒有CASIA-Webfaces數(shù)據(jù)集那么高,未來可以對網(wǎng)絡(luò)進(jìn)一步優(yōu)化,期望能在更多數(shù)據(jù)集上達(dá)到更穩(wěn)定,更高的識別率。