李 輝,石 波
(1.河南理工大學(xué) 物理與電子信息學(xué)院;2.河南理工大學(xué) 電氣工程與自動化學(xué)院,河南 焦作 454000)
基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別算法
李 輝1,石 波2
(1.河南理工大學(xué) 物理與電子信息學(xué)院;2.河南理工大學(xué) 電氣工程與自動化學(xué)院,河南 焦作 454000)
針對卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在人臉圖像識別中面對訓(xùn)練規(guī)模較大的圖像集數(shù)據(jù)時收斂速度慢、效率低以及在復(fù)雜情況下識別率不高的問題,提出一種優(yōu)化改進(jìn)的CNN圖像識別方法。該方法首先利用不含標(biāo)簽的圖像訓(xùn)練一個稀疏自動編碼器,得到符合數(shù)據(jù)集特性、有較好初始值的濾波器集合,然后對CNN的卷積核初始化賦值,從而大大提高其整體上使用BP算法進(jìn)行訓(xùn)練的收斂速度,其次使用多類別SVM分類器(Multiclass Support Vector Machine)代替?zhèn)鹘y(tǒng)的Softmax分類器,對目標(biāo)圖像進(jìn)行識別,在ORL和FERET等人臉圖像庫上的實驗結(jié)果顯示,所提算法與采用傳統(tǒng)PCA+SVM算法及傳統(tǒng)CNN算法相比,在人臉圖像識別中有更好的識別效果。
深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);稀疏自編碼器;人臉識別;非監(jiān)督預(yù)訓(xùn)練
人臉識別作為一種重要的生物信息鑒別方法,在信息安全領(lǐng)域有著很重要的應(yīng)用價值,是模式識別與計算機視覺領(lǐng)域研究的熱點。幾何特征方法是人臉識別研究中最早提出的方法之一,Carnegie Mellon大學(xué)的Kanade[1]提出基于距離比例的總特征提取方法,該方法使用投影法來確定人臉圖像的局部特征,如眼睛、鼻子、嘴部等區(qū)域,并計算出由不同特征點組成的距離、角度、面積等參數(shù)值,作為目標(biāo)的特征向量,用于人臉圖像的比較,在小樣本人臉庫中識別率達(dá)到了45%~75%。貝爾實驗室的Harmon,Goldst等[2]研究出一個基于特征比較的交互式人臉圖像識別系統(tǒng),該系統(tǒng)所用的參數(shù)向量包含了21個特征值,系統(tǒng)識別效果較好,但特征點的選擇還需人工進(jìn)行。Turk和Pentland等[3]首次將PCA(Principal components analysis)方法用于人臉圖像識別,該方法能夠較快地識別出待識別目標(biāo),但該方法易受光照、尺度、旋轉(zhuǎn)等因素影響,同時當(dāng)待識別人臉圖像出現(xiàn)偏移、圖像背景不同以及表情不同時,其識別準(zhǔn)確率也將降低。
卷積神經(jīng)網(wǎng)絡(luò)[4]對平移、縮放、傾斜和其它形式的形變具有高度的不變性優(yōu)點,并且具有深度學(xué)習(xí)能力,可以通過網(wǎng)絡(luò)訓(xùn)練獲得圖像特征,不需要人工提取特征,在圖像樣本規(guī)模較大的情況下,對圖像有較高的識別率,因此被廣泛用于圖像識別。
本文提出一種基于改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)算法用于人臉圖像識別,該算法首先構(gòu)造一個稀疏自動編碼器[5],利用稀疏自動編碼器對卷積神經(jīng)網(wǎng)絡(luò)的濾波器進(jìn)行非監(jiān)督預(yù)訓(xùn)練,然后對誤差進(jìn)行最小化重構(gòu),獲得待識別圖像的隱層表示,進(jìn)而學(xué)習(xí)得到含有訓(xùn)練數(shù)據(jù)統(tǒng)計特性的濾波器集合,其次采用多類別SVM[6]代替?zhèn)鹘y(tǒng)的Softmax分類器,通過在ORL人臉庫和FERET人臉庫的實驗表明,本文算法比傳統(tǒng)的CNN算法在人臉識別中有更好的識別性能和更高的識別率。
通過構(gòu)建一個稀疏自編碼器模型對原始圖像進(jìn)行特征提取,并將其訓(xùn)練好的濾波器用于卷積神經(jīng)網(wǎng)絡(luò)的卷積核初始化,解決傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)濾波器隨機初始化問題。
稀疏自編碼器是一種無監(jiān)督學(xué)習(xí)模型,通過隱藏層學(xué)習(xí)一個數(shù)據(jù)的表示或?qū)υ紨?shù)據(jù)進(jìn)行有效編碼,從而學(xué)習(xí)得到數(shù)據(jù)的特征,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
L1表示輸入層,L2表示隱藏層,L3表示輸出層,每一個圓圈代表一個神經(jīng)元,X1、X2、X3、X4代表一組數(shù)據(jù)的輸入,通過限制隱藏層神經(jīng)元數(shù)量或加入一些限制條件,迫使自動編碼器隱藏層對輸入數(shù)據(jù)進(jìn)行壓縮,重構(gòu)出輸入數(shù)據(jù)的特征,這些特征就是想要獲得的卷積神經(jīng)網(wǎng)絡(luò)的卷積核,具體過程如下:
圖1 自動編碼器的網(wǎng)絡(luò)結(jié)構(gòu)
首先稀疏自編碼器隱藏層的輸出層由列向量與對應(yīng)權(quán)重加權(quán)融合并加上偏置項后通過一個非線性函數(shù)得到,該過程稱為前向傳播,公式如下:
(1)
為了保證輸出值盡可能等于輸入值,需要對式(1)的權(quán)重和偏置進(jìn)行參數(shù)優(yōu)化,方法是最小化目標(biāo)函數(shù):
(2)
該目標(biāo)函數(shù)是一個方差代價函數(shù),采用梯度下降法[7-8]進(jìn)行優(yōu)化,對于維數(shù)較高的輸入數(shù)據(jù),針對其目標(biāo)函數(shù)收斂慢、計算復(fù)雜度高的問題,在該函數(shù)中引入稀疏約束,構(gòu)成稀疏自動編碼器,為了保證隱藏層的稀疏性,自動編碼器的代價方程加入了一個稀疏性懲罰項:
(3)
其中,后一項是KL距離,具體表達(dá)式為:
(4)
隱含節(jié)點輸出平均值表達(dá)式如下:
(5)
上述表達(dá)式說明,如果隱含層節(jié)點輸出均值接近0.05,則達(dá)到稀疏目的。
最后通過網(wǎng)絡(luò)迭代訓(xùn)練得到網(wǎng)絡(luò)權(quán)值,公式如下:
(6)
其中α是學(xué)習(xí)速率,利用反向傳播算法[9-11]對上述兩個公式后兩項的倒數(shù)項進(jìn)行計算,不停迭代更新直到參數(shù)收斂后整個網(wǎng)絡(luò)訓(xùn)練完畢,得到特征參數(shù)W、b。為了更形象地理解網(wǎng)絡(luò)學(xué)習(xí)的特征,對自編碼器學(xué)到的特征進(jìn)行可視化。
假設(shè)有100張10*10的圖像,這樣就有100個像素,因此輸入層和輸出層的節(jié)點數(shù)就是100,取隱藏層節(jié)點為25,這樣就迫使隱藏層節(jié)點學(xué)習(xí)得到輸入數(shù)據(jù)的壓縮表示方法,用25維數(shù)據(jù)重構(gòu)出100維數(shù)據(jù),這樣就完成了學(xué)習(xí)過程,得到25個8*8的濾波器,可視化后效果如圖2所示。
圖2 濾波器可視化效果
卷積神經(jīng)網(wǎng)絡(luò)是一種非全連接的多層神經(jīng)網(wǎng)絡(luò),一般由卷積層、下采樣層和全連接層組成,原始圖像首先通過卷積層與濾波器進(jìn)行卷積,得到若干特征圖,然后通過下采樣層對特征進(jìn)行模糊,最后通過一個全連接層輸出一組特征向量,用于分類器分類識別,卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 CNN的網(wǎng)絡(luò)結(jié)構(gòu)
2.1 卷積層(Convolution Layers)
卷積過程:輸入圖像與卷積核卷積后加上偏置通過一個激活函數(shù),就得到了第一層輸出的特征圖,表達(dá)式為:
(7)
2.2 下采樣層(Sub-sampling Layers)
下采樣過程:每領(lǐng)域n2個像素求和變?yōu)?個像素,通過標(biāo)量Wx+1加權(quán),再增加偏置bx+1,然后通過一個sigmoid激活函數(shù),產(chǎn)生一個縮小n2倍的特征映射圖,公式如下:
(8)
其中,down(.)表示一個下采樣函數(shù)。
2.3 CNN工作原理
卷積神經(jīng)網(wǎng)絡(luò)的隱藏層是由卷積層和下采樣層交替組成,在上圖中,輸入目標(biāo)圖像通過與N個卷積核進(jìn)行卷積,得到具有N個特征圖的C1層;然后對特征圖中的圖像進(jìn)行池化,池化尺度的大小可根據(jù)不同的需要設(shè)定,于是得到具有N個池化后的特征圖S2層,S2層中的特征圖再經(jīng)過卷積得到C3層,產(chǎn)生S4的方法與產(chǎn)生S2的方法一致;最后,通過全連接層獲得用于識別圖像的特征,用多類別SVM對獲得的特征進(jìn)行分類,最終得到人臉圖像的識別率。
本算法在傳統(tǒng)CNN算法的基礎(chǔ)上作出改進(jìn):①通過稀疏自編碼器預(yù)訓(xùn)練出適合圖像訓(xùn)練集的濾波器,代替?zhèn)鹘y(tǒng)的濾波器隨機初始化問題,提高了網(wǎng)絡(luò)訓(xùn)練效率和識別效果;②通過多類別支持向量機代替?zhèn)鹘y(tǒng)的Softmax分類器,提高了分類性能和識別率。算法流程如圖4所示。
圖4 算法流程
算法步驟如下:①對目標(biāo)圖像進(jìn)行預(yù)處理,使圖像符合網(wǎng)絡(luò)訓(xùn)練的要求;②對①中圖像進(jìn)行隨機采樣,獲得適量的數(shù)據(jù)集,通過稀疏自編碼器非監(jiān)督預(yù)訓(xùn)練得到CNN初始化濾波器的權(quán)值;③將②中獲得的濾波器與①中的訓(xùn)練集圖像進(jìn)行卷積,獲得預(yù)定數(shù)量的特征圖;④將③中獲得的特征圖通過式⑧進(jìn)行最大化采樣,得到泛化后的圖像;⑤用同樣的方法對④中輸出的特征圖進(jìn)行二次卷積,二次下采樣,獲得所需的特征圖;⑥將⑤中的所有特征圖轉(zhuǎn)化為一個列向量,作為全連接層的輸入,計算識別結(jié)果和標(biāo)記的差異,通過反向傳播算法自頂向下調(diào)節(jié)更新網(wǎng)絡(luò)參數(shù);⑦輸入圖像測試集,利用訓(xùn)練得到的網(wǎng)絡(luò)參數(shù)集合和全連接網(wǎng)絡(luò)權(quán)重參數(shù)對測試圖像進(jìn)行分類,通過多類別SVM分類器得到圖像的識別結(jié)果。
為了驗證本算法的優(yōu)越性,本文分別選取ORL人臉庫和FERET人臉庫作為實驗的數(shù)據(jù)集。實驗環(huán)境:計算機處理器主頻3.8GHz內(nèi)存8GMATLAB2012a下仿真。
4.1 數(shù)據(jù)集介紹
ORL人臉庫包括40個不同人臉,每人10幅圖像,共400幅,每幅原始圖像為256個灰度級,分辨率為112*92,它包含了表情變化、微小姿態(tài)變化、10%以內(nèi)的尺度變化,圖5是ORL庫中部分人臉圖像。FERET人臉庫共1 400幅圖像,包括200個人,每人7幅圖像,每幅原始圖像為256個灰度級,分辨率為80*80,對應(yīng)不同的姿態(tài)、表情和光照條件,圖6是FERET人臉庫中部分人臉圖像。
4.2 實驗結(jié)果與分析
根據(jù)圖4步驟進(jìn)行試驗,首先對原始圖像進(jìn)行全局對比度歸一化和ZCA白化預(yù)處理[12-13],去掉數(shù)據(jù)之間的相關(guān)度,消除數(shù)據(jù)冗余性,然后對網(wǎng)絡(luò)參數(shù)進(jìn)行設(shè)置。
實驗1:對ORL數(shù)據(jù)集進(jìn)行試驗,每人分別取5張圖片作為訓(xùn)練集,5張作為測試集,采用傳統(tǒng)CNN算法和本文算法進(jìn)行分組試驗:
圖5 ORL人臉庫中部分人臉圖像
圖6 FERET人臉庫中部分圖像
第一組實驗:從數(shù)據(jù)集中隨機抽取200張圖片,通過稀疏自編碼器訓(xùn)練出六組濾波器,用于卷積神經(jīng)網(wǎng)絡(luò)的卷積核初始化,分類器采用多類別SVM分類器,網(wǎng)絡(luò)參數(shù)設(shè)置為6c-2s-12c-2s,迭代次數(shù)為10次,學(xué)習(xí)率為0.1,通過訓(xùn)練,測試得出結(jié)果。第二組實驗:卷積核采用隨機化賦值,分類器采用softmax分類器,其它參數(shù)和第一組實驗一樣,對網(wǎng)絡(luò)進(jìn)行訓(xùn)練、分類,最后得出結(jié)果,如表1所示。
表1 數(shù)據(jù)集分類結(jié)果
實驗2:對FERET數(shù)據(jù)集進(jìn)行試驗,將子集fa作為訓(xùn)練集,子集fb作為測試集,網(wǎng)絡(luò)結(jié)構(gòu)和實驗1一樣。第一組實驗:從數(shù)據(jù)集中隨機抽取500張圖片,通過稀疏自編碼器訓(xùn)練出16組濾波器,用于卷積神經(jīng)網(wǎng)絡(luò)的卷積核初始化,分類器采用多類別SVM分類器,網(wǎng)絡(luò)參數(shù)設(shè)置為:16c-2s-48c-2s,迭代次數(shù)為20次,學(xué)習(xí)率為0.1,通過訓(xùn)練,測試得出結(jié)果,第二組實驗:卷積核同樣采用隨機化賦值,分類器采用softmax分類器,其它參數(shù)和第一組實驗一樣,對網(wǎng)絡(luò)進(jìn)行訓(xùn)練、分類,最后得出結(jié)果,如表1所示。
從表1可以看出,本文算法要比傳統(tǒng)CNN算法識別率高,同時也可以看出PCA+SVM算法與本文兩種算法相比,在識別效果上有一定的差距,在樣本數(shù)據(jù)較少時,提取的特征分類能力不是太強,當(dāng)訓(xùn)練樣本數(shù)據(jù)增加時,提取的特征分類能力有所增加,識別率有所提高。
為了測試本文算法在效率上的優(yōu)勢,對每次試驗的訓(xùn)練時間和測試時間進(jìn)行統(tǒng)計,如表2所示。
表2 數(shù)據(jù)集訓(xùn)練時間和測試時間
從表2可以看出,本文算法在網(wǎng)絡(luò)訓(xùn)練階段訓(xùn)練時間明顯比傳統(tǒng)CNN算法消耗時間短,因為本文算法在濾波器初始化時采用訓(xùn)練好的濾波器賦值,極大提高了訓(xùn)練效率。綜上述,無論是識別效果還是識別效率,本文算法都要優(yōu)于傳統(tǒng)CNN算法,從而驗證了本文算法的優(yōu)越性。
本文針對卷積神經(jīng)網(wǎng)絡(luò)在人臉識別中的應(yīng)用,提出優(yōu)化改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)算法,該算法通過網(wǎng)絡(luò)訓(xùn)練自動提取圖像特征,并結(jié)合多分類SVM的優(yōu)點對人臉圖像進(jìn)行分類識別,在ORL和FERET人臉數(shù)據(jù)庫上的對比測試實驗表明,該方法有更高的效率和更好的識別率。
[1] T KANDE.Picture processing by computer complex and recognition of human faces[D].Kyoto:Kyoto University,1973.
[2] A J GOLDSTEIN,L D HARMON,ALESK.Identification of human faces[J].Proc.IEEE,1971(59):748-760.
[3] R BRUNELLI,TPOGGI.Face recognition:feature versus templates[J].IEEE Transon Pattern Analysis and Machine Intelligence,1993,15(10):1042-1052.
[4] Y LECUN,L BOTTOU,YI BENGIO,et al.Gradient based learning applied to document recognition[J].Proceedings of the IEEE,2012:2278-2324.
[5] CHANG CHINCHEN,YUTAIXING.Sharing a secret gray images in multiple images[C].Shen Yang:Proceedings of First International Symposium Cyber,2002.
[6] 彭中亞,程國建.基于獨立成分分析和核向量機的人臉識別[J].計算機工程,2010,36(7):193-194.
[7] 曲景影,孫顯,高鑫.基于CNN模型的高分辨率遙感圖像目標(biāo)識別[J].國外電子測量技術(shù),2016(8):45-50.
[8] 張春雨,韓立新,徐守晶.基于棧式自動編碼的圖像哈希算法[J].電子測量技術(shù),2016(3):46-49,69.
[9] GLOROTX,BENGIO Y.Understanding the difficulty of training deep feedforward neural networks[C].International Conference on Artificial Intelligence and Statistics,2010:249-256.
[10] BENGIO Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2(1):1-127.
[11] 楊麗芬,蔡之華.BP神經(jīng)網(wǎng)絡(luò)優(yōu)化算法研究[J].軟件導(dǎo)刊,2007(5):106-108.
[12] 王利卿,黃松杰.基于多尺度卷積神經(jīng)網(wǎng)絡(luò)的圖像檢索算法[J].軟件導(dǎo)刊,2016(2):38-40.
[13] 林妙真.基于深度學(xué)習(xí)的人臉識別研究[J].大連:大連理工大學(xué),2013.
(責(zé)任編輯:孫 娟)
河南省基礎(chǔ)與前沿技術(shù)研究計劃項目(152300410103);河南省教育廳科學(xué)技術(shù)研究重點項目(13A510330)
李輝(1976-),男,河南林州人,博士,河南理工大學(xué)物理與電子信息學(xué)院教授、碩士生導(dǎo)師,研究方向為無線通信、信號處理、模式識別與人工智能;石波(1987-),男,河南林州人,河南理工大學(xué)電氣工程與自動化學(xué)院碩士研究生,研究方向為模式識別與人工智能、機器學(xué)習(xí)與機器視覺。
10.11907/rjdk.162621
TP312
A
1672-7800(2017)003-0026-04