本站小編為你精心準備了卷積神經網絡的人臉識別算法參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:光照、表情變化等復雜環境下,傳統人臉識別算法的性能下降較大,為此,提出一種基于LeNet-5改進的多層卷積神經網絡人臉識別算法。首先,通過卷積層和池化層的融合來自動提取人臉特征并進行分類,然后,采用隨機梯度下降法訓練網絡,使用Softmax分類器對人臉進行識別。在全連接層中采用”Dropout”方法減少訓練過程中存在的過擬合問題。實驗結果表明,提出的方法在AR人臉庫上的識別率達到了98.65%,優于傳統人臉識別方法,其訓練速度也明顯快于普通的卷積神經網絡,驗證了改進方法的有效性。
關鍵詞:人臉識別;深度學習;卷積神經網絡;Dropout技術
0引言
近年來,人臉識別技術發展迅速,在身份識別認證、視頻監控、金融支付等領域取得了良好的效果。傳統的人臉識別方法一般通過人工來提取特征,然后由支持向量機(SupportVectorMachine,SVM)或者淺層神經網絡進行分類。其中,主成分析(PrincipalComponentAnalysis,PCA)算法[1]具有很強的識別能力,但是,在光照、表情變化等外界環境變化較大時,其識別性能下降明顯。在這些復雜情況下,Gabor小波具有良好的適應性和魯棒性,于是,ShenL.L.[2]提出了采用Gabor小波與SVM相結合的方法對人臉進行識別。但是,在樣本數量和計算單元有限時,不能有效提取人臉特征,具有一定的局限性。卷積神經網絡(ConvolutionalNeuralNetwork,CNN)在圖像處理、語音識別方面具有特有的優勢,其中,LeNet-5網絡作為經典卷積神經網絡已成功運用于手寫數字識別。為此,本文通過對LeNet-5網絡的研究,提出了一種既能快速進行網絡訓練又能保持良好識別性能的卷積神經網絡模型。
1卷積神經網絡的原理
卷積神經網絡最早起源于人們對貓的大腦視覺層細胞的研究,研究發現,在貓的視覺皮層中存在一系列構造復雜的細胞,這些細胞對眼睛視覺的某些局部區域非常敏感,于是,提出了感受野的概念。十九世紀八十年代初,日本學者FuKushima等通過對感受野的研究,進一步發展出神經認知機的概念,從而初步形成卷積神經網絡的結構。卷積神經網絡的主要核心思想是局部感受野、權值共享、空間池化。局部感受野是輸出特征圖上的某個點映射在輸入圖像的局部區域大小。權值共享理論主要基于圖像的空間聯系局部性的特點,由于圖像具有局部關系性,所以每個圖像的神經元只需要感受到圖像的局部區域。空間池化具有顯著減少參數和保持某種旋轉、平移、伸縮等不變性的特點。卷積神經網絡的結構主要由輸入層、卷積層、池化層、全連接層以及輸出層等組成。
1.1卷積層卷積層通過卷積操作來提取特征,計算圖像的每一個像素以及其領域像素和濾波器矩陣對應元素的乘積和[3],在卷積過程中,卷積核滑動到輸入圖像的所有位置,對圖像的任意一個點進行卷積運算,經過多次運算,獲得圖像的特征。卷積層的意義在于權值共享與局部感受,是卷積神經網絡性能的來源。
1.2池化層池化層一般在卷積層后面,它能聚合圖像中不同位置的特征,從而有效減少圖像的特征數以及權值參數,從而降低數據維度和特征圖分辨率,起到二次特征提取的作用。經典的池化技術主要有均值池化、最大池化、隨機池化。
1.3全連接層多層卷積后便是全連接層,其作用是將經過前面卷積層提取的圖像特征進行分類。全連接層的每一個神經元與上一層所有神經元互相連接。
2卷積神經網絡的改進
2.1卷積神經網絡1998年,Y.Lecun等[5]提出了一種識別率很高的卷積神經網絡LeNet-5,已經廣泛應用于手寫數字識別領域,但不能直接應用于人臉識別。將應用于手寫字符的Mnist數據集和人臉數據集對比,人臉數據集由于其人臉特點具有更大的復雜性,基于LeNet-5模型的網絡不能很好地識別人臉。所以,本文對LeNet-5卷積神經網絡進行了改進。(1)增加卷積核的數量。由于人臉數據集比Mnist數據集復雜,而LeNet-5的卷積核數量較少,無法獲取更多的特征信息。所以通過增加卷積核的數量來獲取更多的特征信息。(2)改進卷積神經網絡結構。在網絡結構上,采用卷積層和池化層相融合[6]的方法,通過改變窗口滑動步長來取代池化層的作用,即將卷積層的步長由原來的1增大為2。將原來LeNet-5網絡層中的卷積層和池化層簡化為一層網絡,減少了訓練時間。在卷積神經網絡中,卷積層的步長設定越小,窗口滑動重疊的部分就越多,也就是說提取的信息就越多。而設定的步長越大,窗口滑動重疊的部分就越少,提取的特征信息就越少。增大卷積層步長雖然會損失部分特征信息,但由于圖像在局部區域中具有相互關聯的特點,提取局部特征信息也能實現對人臉的識別。(3)防止卷積神經網絡出現過擬合現象。由于卷積神經網絡的全連接層容易出現過擬合的問題,本文在全連接層采用Dropout技術來防止網絡出現過擬合。Dropout技術是一種訓練網絡權值的有效方法,本文將Dropout值設置為0.5,即隨機輸出50%的神經元。(4)提升網絡的泛化能力。將原來網絡的激活函數改為非線性能力更強的Relu函數。
2.2改進的卷積神經網絡結構改進后的卷積神經網絡如圖3所示。第一層為輸入層,輸入像素規格為32×32的人臉圖像。第二層為卷積層,為了充分提取人臉圖片特征,采用20個濾波器,其中濾波器的大小設置為5×5,步長設為2。通過計算得出下一層的特征圖大小為14×14,該層有20個不同的特征圖。第三層為卷積層,卷積核大小設置為5×5,步長設置為2×2,經過這一層融合后大小變為5×5,這一層的特征圖數目為45個。第四層為全連接層F1,該層設計有240個神經元。第五層為全連接層F2,這一層需根據具體情況進行調整。
3實驗結果與分析
3.1實驗數據及預處理為了驗證本文算法的有效性,采用AR人臉庫作為人臉數據集。AR人臉庫由西班牙巴塞羅那計算視覺中心建立,包含有116人的3288幅人臉圖像,人臉有不同的表情,有正常、光照、表情變化、遮擋等多種情況。每張圖片的像素大小為120×165。實驗前,先對AR人臉庫的人臉圖像進行預處理,圖像大小為32×32,灰度值為[0,1]。
3.2構建人臉識別模型從AR人臉數據庫中隨機抽取100人,男女各50人,每人有26張圖片,組成一個數據集。在訓練過程中,每人隨機選取其中的21張圖片作為訓練集,剩下的圖片作為測試集。訓練集共有圖片2100張,測試集圖片500張。設置學習率為0.015,動量設置為0.9,由于該數據集有100人,所以將全連接層F2設置為100。
3.3實驗分析通過表1的實驗結果可以看出,由于卷積核的步長為1,模型1的窗口滑動時重疊的部分最多,所以獲得的數據信息最豐富,識別率最高,但同時存在著訓練時間過長的問題。模型2為普通CNN,卷積核的步長為1,由于池化操作起到了降低數據維度的作用,所以訓練速度快于模型1,但人臉識別準確度降低。模型3沒有池化層,但卷積核的滑動窗口和池化層的步長大小均為2。模型3的窗口滑動時重疊的部分不如模型1多,在識別率上低于模型1,但是識別準確率和訓練速度優于模型2。模型4時的卷積核步長選為3,不加入池化操作。由于滑動時重疊的部分最少,所以提取到的特征信息最少,識別率也最低,在窗口停留的次數也是最少,所以訓練速度最快。綜上分析可以看出,當卷積神經網絡為模型3時為最佳選擇。
3.4本文算法與傳統算法的比較為了驗證本文算法的識別效果,分別選擇3種傳統算法PCA[7],PCA+LBP[8],Gabor+SVM[9]在AR人臉庫上進行實驗。
4結束語
本文針對傳統人臉識別算法的局限性,提出了一種六層全卷積層神網絡人臉識別算法,為設計卷積神經網絡提供一個新的思路。為了進一步提高識別率,后續將通過增加網絡層數和選擇合適的卷積核類別對卷積神經網絡進行優化,進一步提高識別性能。
作者:董洛丞;陳張平 單位:杭州電子科技大學自動化學院