趙遠東 ,劉振宇 ,柯 麗 ,陳香敏
(1.沈陽工業大學 信息科學與工程學院,遼寧 沈陽 110870;2.沈陽工業大學 電氣工程學院,遼寧 沈陽 110870)
人臉識別作為一種生物特征識別技術具有遼闊的應用[1],尤其集中體現在身份認證、安防監控和人機交互等方面。
常見的人臉識別算法包括基于特征臉(PCA)的方法[2]、基于線性分析(LDA)的方法[3]、基于局部二值模式(LBP)的方法[4]、基于神經網絡(NN)[5]的方法等等。其中卷積神經網絡(Convolutional Neural Network, CNN)模型中,其超參數通過傳統的梯度下降法和自帶的網絡模型進行學習。AlexNet[6]網絡主要突出在圖像的分類上;R-CNN(Regions with CNN)[7]成功獲得對目標檢測區域的特征提取。圖像的端到端語義分割在全卷積網絡(Fully Convolutional Network,FCN)[8]上得到了廣泛的應用,提高了傳統的語義分割算法的準確性。AlexNet網絡有8層,其中,conv層有5個,FC層有3個,FC8層也稱為分類層,參數量大于60 M。分類層的輸出具備1 000個輸出的歸一化指數函數回歸模型。
本文設計了一種7層卷積神經網絡模型結構,應用于ORL人臉數據庫的人臉識別。7層卷積神經網絡采用整流線性單元激活函數(以下稱為ReLU)和固定學習速率。
Alexnet網絡利用ReLU激活功能作用于每個卷積層和完全連接層,并且局部響應歸一化層連接在第一個卷積層和第二個卷積層之后。卷積1層,卷積2層和卷積5層的輸出上均與最大池化層相連接。AlexNet(后文稱為原網絡)的基本架構如圖1所示。

圖1 AlexNet結構圖
本設計使用ORL人臉數據庫的新卷積神經網絡結構模型進行訓練;對于訓練過程中發生的過擬合問題,Hinton提出了“Dropout”方法,即在網絡學習的時候以固定的(概率p(0≤p≤1),通常設置為0.5,再把輸入層或者隱藏層的神經元輸出設置為0,這個神經元沒法連續正向傳播和誤差反向傳播,但在測試時,p乘以輸入層或者隱層的神經元輸出作為該層的輸出。由于網絡中每個輸入圖像神經元被隨機設置為0,因此需要要求圖像中最基本的特征是由隱藏層神經元提取,采用“Dropout”解決過擬合問題。
本文網絡的模型結構如圖2所示。

圖2 本文網絡的結構圖
(1)用 7×7 和 5×5 的兩個小卷積核替代原來的11×11的大卷積核,為了保證原結構maxpool1(第一最大池化層)的輸出不發生變化,Conv1-1(第一卷積層的第一卷積核)、Conv1-2(第一卷積層的第二卷積核)個數保持不變,并對其進行補充操作。后面的模型結構圖和原網絡相同,原來的FC8層變為FC7層,具體參數如表1所示。

表 1 Conv1-1 和 Conv1-2 具體參數
(2)在激活函數與池化層之間刪除 LRN 層。
(3)本文網絡模型減少了1層(FC7層),第一層變為兩個小卷積模塊形式。其中改進層具體參數變化如表2所示。

表2 原網絡和本文網絡參數對比
人臉原圖片的尺寸是112×92,標準化變為256×256的人臉,就可以隨機在標準化后的圖片上裁剪一個227×227的圖像來訓練,并橫向的進行翻轉、平移等一系列的操作來拓展數據集大小。ORL人臉數據庫的樣例如圖3所示。

圖3 ORL人臉數據庫的樣例
對ORL數據庫做以下處理:
(1)將數據庫中的訓練集、驗證集、測試集的比例設置為3:1:1,然后再把ORL中圖片標準化大小,如圖4所示,經cvResize函數將原圖112×92標準化 256×256。

圖4 人臉標準化過程
(2)將訓練集、驗證集、測試集的40個人分別分為40類制作標簽,放到40個編號0~39的文件夾內。
(3)制作標簽txt文件。
(4)轉換lmdb格式的數據集。
(5)訓練集均值文件。
至此,人臉圖像的預處理結束。
本文利用批量隨機梯度下降的方式,準確率提升得更快。對于ORL人臉數據庫原網絡和本文網絡的網絡訓練,最大迭代次數均為10 000,批處理圖片大小分別為4個和8個,動量均為0.9,常數因子均為0.1(本實驗由于最大迭代次數和步長設置相同,所以此參數可以忽略),初始權值均為0.000 5,步長均為10 000,初始學習速率均為0.000 1,均為訓練1次測試一次,訓練1 000次存儲一個模型。每次訓練網絡,更新的參數都會遍歷它的批處理量。更新公式為:

其中:wi表示更新前的權值,wi+1表示更新后的權值,ξ表示動量,η表示初始學習速率,L表示步長,表示第i批圖像Di的誤差對wi偏導的平均值。
AlexNet網絡和本文網絡通過迭代次數找到最適合ORL人臉數據庫的網絡模型。本設計的測試集的識別率只是通過網絡模型測試人臉數據的優劣性,最終的識別率是全部樣本的識別率。同時通過比較各個集合的損失值得出網絡模型在保留盡可能多的人臉信息的前提下保證其識別率的準確性。
AlexNet網絡的迭代次數取為1 000~10 000),本文網絡的迭代次數取為(1 000~10 000)用這些模型進行人臉識別的測試來比較它們的損失值和識別率。
圖5表示出對應于ORL中的原網絡和本文網絡的迭代次數的訓練集成本函數損失。

圖5 原網絡和本文網絡訓練集損失曲線
由圖5可以看出本文網絡只有在迭代2 000、3 000、3 500、4 000、4 500、4 800、9 400、9 600次的時候訓練集損失的值要比改進前的網絡高,其余的時候遠遠低于原網絡,最后趨于零達到平穩。
圖6顯示于ORL中原網絡和本文網絡的迭代次數的驗證集成本函數損失。

圖6 原網絡和本文網絡驗證集損失曲線
由圖6可以看出驗證集本文網絡在迭代1 000次、2 200次、9 500次、9 700次的時候損失值比原網絡損失值高,其余的時候均比原網絡損失值低,最后趨于零達到平穩。
圖7顯示了對應于ORL中原網絡和本文網絡的迭代次數的測試集成本函數損失。

圖7 原網絡和本文網絡測試集損失曲線
由圖7可以看出本文網絡下降的速度比原網絡下降的快,在迭代5 000次之后,基本趨于穩定,雖然在迭代8 000~9 500次的時候損失值略高于原網絡,但是原網絡的損失值一直在上下震蕩,最后本文網絡的損失值收斂在0.1附近。
圖8顯示了ORL中原網絡和本文網絡的迭代次數樣本集成本函數損失。

圖8 原網絡和本文網絡樣本集損失曲線
圖8 和圖7的曲線類似,不同的是圖8的樣本集損失值一直處在原網絡的下方,最后樣本集的損失值也收斂在0.1附近。
圖9顯示了ORL人臉數據庫中原網絡和本文網絡迭代次數訓練集的準確率。

圖9 原網絡和本文網絡驗證集對訓練集測試的準確率曲線
由圖9可以看出本文網絡驗證集對訓練集的準確率的上升速度比原網絡快,并且在迭代6 000次之前都是穩步上升的,而迭代6 000次之后原網絡上下強烈震蕩,本文網絡減小了震蕩,在97.5%的時候趨于平穩。
圖10顯示了ORL人臉數據庫原網絡和本文網絡迭代次數中每次迭代的測試集識別率。

圖10 原網絡和本文網絡測試集識別率曲線
由圖10可以看出在迭代6 000次之前,原網絡和本文網絡對測試集的識別率均穩步上升,其中原網絡識別率最高為97.5%,而本文網絡識別率最高為98.75%。但在迭代6 000次之后原網絡發生強烈震蕩,本文網絡也略微下降,在迭代8 000~9 200次的時候略低于原網絡測試集的識別率,本文網絡隨后繼續上升直到識別率為96.25%的時候趨于穩定。
圖11顯示了ORL原網絡和本文網絡迭代次數的樣本集識別率。

圖11 原網絡和本文網絡樣本集識別率曲線
圖11 和圖10基本相似,不同的本文網絡的樣本集識別率幾乎一直在原網絡樣本集識別率之上(除了迭代9 000~10 000次)。其中,原網絡對樣本集的最高識別率為98.75%,本文網絡對樣本集的最高識別率為99%。原網絡和本文網絡對全部樣本的識別率分別在98.5%和98.75%達到平穩。
綜上所述,本文網絡損失曲線和識別率曲線要比原網絡損失曲線和識別率曲線震蕩減小趨于平穩,達到的實踐效果更好。
測量對于相應的人臉數據庫訓練集和測試集的每個模型的正確識別率,結果如表3、表4所示。
由上述表格的數據得到,原網絡最佳的網絡模型AlexNet網絡的_iter_9000;本文最佳的網絡模型本文網絡的_iter_6000;本文人臉的識別率是以測試集的識別率為準,本文網絡的人臉識別率比原網絡高1.25%,在一定程度內能提高識別率的收斂速度。

表3 AlexNet網絡ORL人臉數據庫的正確識別率 (%)

表4 本文網絡ORL人臉數據庫的正確識別率 (%)
傳統人臉識別算法的識別率如表5所示。

表5 傳統算法ORL人臉數據庫的正確識別率(%)

表6 AlexNet網絡和本文網絡與用于ORL庫的其他算法的比較
AlexNet網絡結構模型對ORL人臉數據庫的識別率是97.5%,樣本識別率是98.75%。而本文網絡結構模型對ORL人臉數據庫的識別率達到98.75%,樣本識別率是99%。表6是本文設計的網絡與傳統算法在ORL人臉數據庫識別率的對比。從中可以得出結論,本文所設計的網絡對ORL人臉數據庫中的識別率提高1.25%,樣本識別率提升0.25%。
本文提出了一個7層網絡應用于ORL人臉數據庫的人臉識別,提高了AlexNet網絡中的超參數的批處理量,在迭代次數很小的時候就達到飽和程度,發現訓練的收斂程度更快,驗證的準確率更高。從訓練集、驗證集、測試集的損失曲線可以看出本文網絡損失更少,并且訓練出的模型測試人臉的識別率為98.75%(比原網絡提高1.25%),所有樣本的識別率可以達到99%(比原網絡提高0.25%),人臉識別的準確率相對有所加強。同時對人臉數據的損失值和識別率曲線的振蕩問題進行了改進,結果趨于穩定。
隨著深度學習的熱潮和人工智能的推進,人臉識別的應用已經進入各行各業,而對人臉識別的準確性也將成為一個探究的課題。本文針對AlexNet網絡方法的參數訓練過程提出了新型網絡算法,經試驗證明有優良的性能,它逐層的準確度匹配程度也得以逐漸加快,從而達到識別結果精確。