(西安工程大學電子信息學院 陜西 西安 710048)
傳統的人臉識別方法一般通過人工來提取特征,常用的人臉識別方法主要分為基于先驗知識的關鍵特征點檢測但、模板匹配法和膚色模型法,以及基于統計的特征子空間和隱馬爾科夫模型[1]。是對于圖像的識辨率最高只達到0.7423,而且各種算子都有很大的局限性。相對于人工提取圖像特征的種種不足,神經網絡利用計算機強大的運算力自動提取到的圖像特征更加全面。Geoffrey E.Hinton[2,3]教授和他的學生Alex Krizhevsky首次采用卷積神經網絡的方法進行人臉識別準確率就達到0.83578。而后來的香港中文大學湯曉鷗教授提出的ResNet網絡在LFW數據集上識別率達到0.96433,但ResNet網絡一共有152層網絡結構。越深的網絡結構,網絡的參數就越多,學習難度和優化難度就越高。合理的神經網絡構架對于神經網絡的研究非常重要[4-7]。本文就以經典卷積神經lenet-5網絡為基礎,提出一種改進卷積神經網絡對圖像識別問題進行研究。
人工神經網絡(Artificial Neural Network,ANN)算法的思想來源于生物學中神經網絡的基本原理,類似于人類大腦神經元對外界信號的抽象和理解能力,人工神經網絡就是仿照這一過程,將輸入的圖片或者語音等信息,運用權重鏈接的思想,將每一個神經元都看作是一個小型分類器,從而對輸入信息進行分類、抽象和識別的一種數學模型。
卷積神經網絡是神經網絡中的一種特殊網絡結構,它由加拿大YannLe Cun教授于1989年提出。傳統的神經網絡在圖像處理領域并不適用。表征一張圖像信息的像素點往往以百萬計,更何況成千上萬張圖像,所需的參數太多,不論從計算資源、調整參數難度和識別效果等方面訓練難度都太大,而卷積神經網絡卻可以很好地處理圖像領域參數太多等問題。卷積神經網絡(Convolutional Neural Network,CNN)是神經網絡中處理圖像領域問題的常用的網絡模型之一。它主要由輸入層、卷積層、池化層、全連接層和輸出層組成。
1.卷積層(Convolutional layer)
卷積層l的計算公式為:
(1)

2.池化層(pooling layer)
池化層又叫下采樣層(sub-sampling),計算公式為:
(2)
式中,f(·)表示激活函數,D(·)為池化函數,wl為可訓練參數,bl為該層各神經元偏置。一般常用的池化方式有最值池化(Max Pooling)和均值池化(Mean Pooling)??臻g池化旨在縮減訓練樣本的大小,從而進一步大幅度減少算法所需的計算量。池化又叫下采樣,顧名思義,就是根據圖像的放縮不變性,對訓練樣本進行采樣,進而減少訓練的樣本數,達到減少計算量的效果。
3.全連接(Fully-Connected layer,FC)
全連接層的計算公式為:
(3)

lenet-5網絡對手寫數字圖像有著很高的識別率,但是與手寫數字圖像相比,人臉圖像更加復雜,就需要對lenet-5網絡進行改進,是改進后的lenet-5網絡具有更加優秀的圖像特征提取能力和識別能力。圖1是lenet-5網絡的結構示意圖。

圖1 lenet5神經網絡結構圖
lenet-5網絡一共由8層網絡構成,其中包括輸入層,2層卷積層,2層池化層和3層全連接層,每層都包含不同數量的訓練參數,具體如表1所示。
兩層卷積層分別為C1和C3,它們都采用5×5的卷積核,卷積核每次滑動一個像素點(stride=1),并且每一張特征圖譜共用同一個卷積核提取圖像的特征。C3層前6個特征圖與S2層前3個特征圖譜相連接,后面6個特征圖譜與S2層中間4個特征圖譜相連接,后面3個特征圖譜與S2層部分不相連的4個特征圖譜相連接,最后一個特征圖與S2層的所有特征圖譜相連。這種不對稱的組合連接方式更加有利于提取到圖像的組合特征。

表1 lenet-5網絡的具體參數
池化層S2和S4使用的都是2×2的計算核,計算核的數量與圖譜數量相對應。池化層對網絡中的特征圖譜的數量沒有影響,針對的是特征圖譜的大小,主要作用是使特征圖譜大小縮減為原來的1/4,從而減少網絡訓練的計算量。FC5、是lenet-5中的三層全連接層。再經過全連接層FC6,最后由全連接層FC7輸出最終的識別結果。FC7全連接層即為最終的輸出層,共有10個節點,在手寫數字識別中分別代表數字0到9,采用徑向基函數(Radial Basis Function,RBF)作為損失函數確定最終的識別結果。
為了實現復雜人臉圖像的特征提取,首先增加lenet-5網絡提取圖像特征的卷積層,接著通過增加池化層、L2正則化以及dropout等方法來減少計算成本和網絡的參數,防止過擬合。而最后的損失函數則采用基于信息論的交叉熵(Cross Entropy),它可以有效的評估改進后lenet-5網絡訓練輸出的概率分布與測試集概率分布之間的差異。改進后的lenet-5網絡結構具體參數如表2所示。

表2 改進lenet5網絡的具體參數
改進后的網絡共由11層網絡層組成,分別由4個卷積層(C1,C3,C5,C7)、4個池化層(S2,S4,S6,S8)以及3個全連接層(FC9,FC10,FC11)組成。前兩個卷積層C1、C3采用5×5的卷積核且步長為2,后兩個卷積層C5、C7采用3×3的卷積核且步長為1,不同大小的卷積核可以更加全面地提取圖像的特征。各個卷積層的激活函數為Rule函數,用以向網絡中添加非線性的元素,同時避免如sigmoid激活函數引起的梯度彌散或者消失問題。池化層統一使用最大池化,步長設為1,降低網絡訓練的計算成本。最后的三個全連接層FC9、FC10、FC11回歸到傳統的神經網絡全連接方式,將前面卷積提取的圖像特征進行進一步的組合與分類,最后由FC11層Softmax分類器對圖像特征統一進行概率分類輸出。
在神經網絡領域中,數據集遠比算法要重要。上個世紀神經網絡發展緩慢的一個重要原因就是缺乏有效的數據集,當然現如今已經有相當多公開的人臉識別數據集可供選擇。這里選擇的是CASIA-Webfaces數據集和LFW數據集。

圖2 CASIA-Webfaces數據集

圖3 LFW數據集
CASIA-Webfaces數據集中包含10575個對象的455594幅圖像,圖像涵蓋各種姿勢、年齡和種族,這使它在人臉識別研究領域頗具盛名。本文將使用CASIA-Webfaces數據集對改進的lenet-5網絡進行訓練和測試。LFW(Labeled Faces in the Wild)人臉數據庫是由美國馬薩諸塞州立大學阿默斯特分校計算機視覺實驗室整理完成。其中包含13000張人臉圖像,每張圖像都有對應的名字標簽,其中1680人對應不只一張圖像。本文采用LFW數據集作為對比實驗中的測試集,再此數據集上進一步驗證本文改進后lenet-5網絡的有效性。
將神經網絡的卷積層數增加到4層,以增強網絡對圖像的特征提取能力,采用不同大小的卷積核更進一步徹底全面的提取圖像的特征;在前兩層卷積層C1和C3之間采用lenet-5網絡的連接方式,而在后三層卷積層C3、C5和C7之間采用概率為40%的dropout函數,來添加足夠的隨機性,確保卷積層可以提取到更有效的圖像特征并且防止過擬合現象的發生;通過對loss損失函數的L2正則化,使訓練后的網絡更加平滑,避免過擬合現象,使其測試集上得到更高的準確率。采用隨機梯度下降法(Stochastic Gradient Descent,SGD)高效計算求解網絡中的微分運算,避免傳統梯度下降法易出現的梯度彌散和局部最小值現象;損失函數則采用基于信息論的交叉熵(Cross Entropy),用來對網絡訓練時更新權值和評估改進后lenet-5網絡訓練輸出的概率分布與測試集概率分布之間的差異。
將改進后lenet-5網絡在CASIA-Webfaces數據集上進行訓練和測試,取得了良好的訓練和測試結果。圖4為訓練和測試的準確率隨訓練過程中mini-batch增加的曲線圖,圖5為訓練和測試的loss損失函數隨訓練過程mini-batch增加而變化的曲線圖。如圖4所示,最終改進后的lenet-5網絡在訓練集上的準確率達到0.9435,測試集上的準確率為0.9449。測試集上的準確率結果不比在訓練集上的低,而且沒有出現過擬合現象。

圖4 訓練與測試準確值率曲線圖

圖5 訓練與測試Loss曲線圖
在圖5中,中loss損失函數而言,訓練集上的最終平均損失值為0.1231,測試集上損失函數為0.1364。由圖4中Training Accuracy上升曲線和圖5中Training Loss曲線下降趨勢可知,訓練過程總體而言是滿足我們的需求的,中間沒有出現太大的突變情況,而且下降和上升的趨勢和速度也相當快速。
為了進一步驗證改進后lenet-5的有效性,本文進行了與lenet-5網絡在CASIA-Webfaces數據集和LFW數據集的對照實驗,如表3所示,實驗結果表明,改進后的lenet-5網絡在CASIA-Webfaces數據集上比lenet-5網絡識別率高出0.1189,而在LFW數據集上的識別準確率比lenet-5網絡高出0.0753。相比于lenet-5網絡,改進后的lenet-5網絡比原lenet-5網絡擁有更高的準確率,比起lenet-5網絡更能夠全面地提取人臉圖像的抽象特征,具有更加優異的識別性能。

表3 人臉檢測算法測試結果
本文以數據集CASIA-Webfaces為訓練和測試集對lenet-5網絡進行了改進,將卷積層和池化層增加到4層增強網絡模型的圖像特征提取能力,并采用dropput和L2正則化進一步防止過擬合現象,最終以交叉熵為損失函數更新各個神經元之間的權值。實驗結果表明,改進后的網絡圖像特征提取能力明顯增強,在原lenet-5基礎上,準確率提高了0.1189,達到0.9435,在LFW標準測試集也上達到了較高的識別率。這表明改進后網絡的人臉識別能力大大優于原lenet-5網絡,但還是存在一些問題,改進后的lenet-5網絡在LFW數據集上的識別準確率雖然也高于原lenet-5網絡,但識別率并沒有CASIA-Webfaces數據集那么高,未來可以對網絡進一步優化,期望能在更多數據集上達到更穩定,更高的識別率。