沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院 魏英姿 張?zhí)旌?TETE Komlan Senyo
基于深度置信網(wǎng)絡(luò)的人臉識(shí)別方法研究
沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院 魏英姿 張?zhí)旌?TETE Komlan Senyo
利用深度學(xué)習(xí)進(jìn)行人臉識(shí)別已成為了當(dāng)今人工智能領(lǐng)域的重要研究方向。本文采用深度學(xué)習(xí)的DBN網(wǎng)絡(luò)進(jìn)行人臉識(shí)別,融合了局部二值模式LBP算子的穩(wěn)定特征,將提取到的局部紋理特征作為DBN輸入特征,有助于DBN對(duì)圖像特征分布的理解,降低網(wǎng)絡(luò)學(xué)習(xí)到不利的特征的。訓(xùn)練時(shí)采用無(wú)監(jiān)督貪婪訓(xùn)練的方法逐層訓(xùn)練限制玻爾茲曼機(jī)(RBM),得到權(quán)重、偏置等參數(shù)并利用訓(xùn)練結(jié)果初始化整個(gè)網(wǎng)絡(luò),計(jì)算出代價(jià)函數(shù),設(shè)置一層誤差反向網(wǎng)絡(luò),進(jìn)行微調(diào)。用ORL人臉數(shù)據(jù)庫(kù),并添加隨機(jī)采樣的人臉數(shù)據(jù)進(jìn)行識(shí)別,識(shí)別正確率是令人滿意的。
限制玻爾茲曼機(jī);深度置信網(wǎng)絡(luò);LBP算子;人臉識(shí)別
人臉識(shí)別是基于人的臉部特征信息進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù)。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)研究中的一個(gè)新的領(lǐng)域,其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機(jī)制來(lái)解釋數(shù)據(jù),分為卷積神經(jīng)網(wǎng)絡(luò)、深度置信網(wǎng)絡(luò)以及稀疏自編碼網(wǎng)絡(luò)三大模塊[1]。
本文實(shí)驗(yàn)將LBP與DBN相結(jié)合,克服了深度置信網(wǎng)絡(luò)不能學(xué)習(xí)到人臉圖像局部結(jié)構(gòu)特征的缺點(diǎn),使得深度置信網(wǎng)絡(luò)學(xué)習(xí)到的抽象特征受光照、微小平移等的影響較小。通過(guò)DBN對(duì)輸入數(shù)據(jù)進(jìn)行訓(xùn)練,并進(jìn)行判別,有效避免了部分因素干預(yù)。并且在網(wǎng)絡(luò)中,沒(méi)有設(shè)置相關(guān)學(xué)習(xí)率,而是通過(guò)誤差網(wǎng)絡(luò)以及代價(jià)函數(shù),讓網(wǎng)絡(luò)得到一個(gè)最優(yōu)解。通過(guò)對(duì)ORL人臉數(shù)據(jù)庫(kù)的實(shí)驗(yàn),我們可以得到結(jié)論,將局部二值模式與DBN網(wǎng)絡(luò)相結(jié)合可以更好的提取人臉特征,展現(xiàn)了其他網(wǎng)絡(luò)不具有的優(yōu)越性。
原始的LBP算子定義為在3*3的窗口內(nèi),其閾值為窗口中心像素,將相鄰的8個(gè)像素的灰度值與閾值進(jìn)行對(duì)比,如果周?chē)袼刂荡笥谥行南袼刂担瑒t這一點(diǎn)的像素位置標(biāo)記為1,否則標(biāo)記為0[2]。這樣,3*3窗口相鄰范圍內(nèi)的8個(gè)點(diǎn)經(jīng)比較就可以產(chǎn)生8位二進(jìn)制數(shù)(通常轉(zhuǎn)換為十進(jìn)制數(shù)即LBP碼,共256種)。原始LBP算子如圖1-1所示。
圖1-1 原始LBP
新的LBP算子LBP(P,R)不僅可以計(jì)算不同半徑鄰域大小的特征值還可以計(jì)算不同像素點(diǎn)數(shù)的特征值,其中P表示周?chē)袼攸c(diǎn)個(gè)數(shù),R表示鄰域半徑,如圖1-2所示,為擴(kuò)展后的LBP[3]。
圖1-2 擴(kuò)展后的兩種LBP
深度置信網(wǎng)絡(luò)是深度學(xué)習(xí)的一個(gè)分支,其目的是模擬人類(lèi)的大腦進(jìn)行分析學(xué)習(xí)。深度置信網(wǎng)絡(luò)是一種概率生成模型,由多個(gè)受限玻爾茲曼機(jī)構(gòu)成,具有強(qiáng)大的非監(jiān)督學(xué)習(xí)能力,與傳統(tǒng)的判別模型的神經(jīng)網(wǎng)絡(luò)相對(duì),用于建立一個(gè)觀察數(shù)據(jù)和標(biāo)簽之間的聯(lián)合分布。
RBM是深度信念網(wǎng)絡(luò)的重要組成部分,具有一個(gè)可見(jiàn)層,一個(gè)隱藏層,層內(nèi)神經(jīng)元無(wú)連接,層間神經(jīng)元全連接。可見(jiàn)層負(fù)責(zé)接收輸入信號(hào),隱藏層的作用是作為輸入信號(hào)的特征提取器。2002年Hinton提出對(duì)比散度算法(CD算法),使限制玻爾茲曼機(jī)具有快速學(xué)習(xí)的能力。我們用v表示RBM的可見(jiàn)單元,用h表示隱藏單元,那么聯(lián)合組態(tài)的能量可以表示為:
其中W為連接可見(jiàn)單元與隱層單元的權(quán)重,b為可見(jiàn)單元偏置,a為隱藏單元的偏置。最重要的部分是如何求出。
我們可以將某個(gè)組態(tài)聯(lián)合概率分布表示為:
因?yàn)殡[藏節(jié)點(diǎn)間是相互獨(dú)立的,所以對(duì)于給定可見(jiàn)層v每個(gè)隱層節(jié)點(diǎn)為0或1的概率可以表示為:
同理,每個(gè)可見(jiàn)層節(jié)點(diǎn)為0或1的概率為:
然后對(duì)以下最大化似然函數(shù)求W,a,b的偏導(dǎo)數(shù),即可得出相關(guān)參數(shù)值。
DBN訓(xùn)練過(guò)程大致分為兩步:
1)讀入數(shù)據(jù)文件,用train_x,train_y訓(xùn)練每一層RBM,將第一隱層輸出作為可見(jiàn)層的輸入,再將可見(jiàn)層的輸出作為下一隱層輸入逐層進(jìn)行無(wú)監(jiān)督訓(xùn)練,每一層單獨(dú)訓(xùn)練可使特征向量能更多的保留特征信息在不同的特征空間中。
2)最后一層設(shè)置BP網(wǎng)絡(luò),接收RBM的輸出作為BP網(wǎng)絡(luò)的輸入,通過(guò)自頂向下進(jìn)行有監(jiān)督的微調(diào),調(diào)整整個(gè)DBN網(wǎng)絡(luò),使整個(gè)DBN的特征向量映射達(dá)到最優(yōu)。
本文結(jié)合LBP與深度信念網(wǎng)絡(luò)的人臉識(shí)別模型圖如圖3-1所示[4]。
圖3-1 人臉識(shí)別模型
該實(shí)驗(yàn)包括以下幾個(gè)步驟:
步驟1:對(duì)人臉數(shù)據(jù)庫(kù)進(jìn)行預(yù)處理,train_x將ORL庫(kù)中每人7張圖片用于訓(xùn)練,3張用于測(cè)試(即test_x),train_y將人臉庫(kù)的每人8張圖片用于訓(xùn)練,2張圖片用于測(cè)試(即test_y),并且將測(cè)試樣本,訓(xùn)練樣本歸一化到[0,0.5];
步驟2:將人臉圖片進(jìn)行4*4分塊,LBP的P設(shè)為8,R設(shè)置為1,分別對(duì)每塊進(jìn)行LBP人臉特征提??;
步驟3:讀取train_x,train_y,逐層訓(xùn)練RBM網(wǎng)絡(luò),再將訓(xùn)練結(jié)果進(jìn)行調(diào)優(yōu),訓(xùn)練整個(gè)DBN網(wǎng)絡(luò),并且在程序中,運(yùn)用了反向傳播算法和代價(jià)函數(shù),使用fmincg函數(shù)去得到最優(yōu)解;
步驟4:統(tǒng)計(jì)識(shí)別錯(cuò)誤的樣本數(shù),得到識(shí)別結(jié)果。
ORL人臉庫(kù)有40個(gè)人,每個(gè)人有10種不同方向,表情的圖片(圖4-1)。本次實(shí)驗(yàn)還添加了隨機(jī)圖片進(jìn)行識(shí)別。將這些圖片進(jìn)行預(yù)處理,并將其分成測(cè)試集與訓(xùn)練集去訓(xùn)練DBN網(wǎng)絡(luò)。
圖4-1 實(shí)驗(yàn)新增部分人臉數(shù)據(jù)
表1顯示了本次實(shí)驗(yàn)的識(shí)別結(jié)果,并列舉了迭代次數(shù)所對(duì)應(yīng)的花費(fèi)時(shí)間及錯(cuò)誤率。從此表可以得到結(jié)論:當(dāng)網(wǎng)絡(luò)迭代3000次時(shí),識(shí)別錯(cuò)誤率為0.025,即正確率可達(dá)97.5%。
表1 識(shí)別結(jié)果
本文融合了LBP算子的DBN網(wǎng)絡(luò)人臉識(shí)別,將ORL人臉庫(kù)分為訓(xùn)練集和測(cè)試集,采用LBP算子4*4分塊模式進(jìn)行特征提取,DBN網(wǎng)絡(luò)設(shè)為4層結(jié)構(gòu)。通過(guò)實(shí)驗(yàn)可以看出訓(xùn)練樣本以及隱層節(jié)點(diǎn)的錯(cuò)誤率都在0.5%以下,通過(guò)識(shí)別結(jié)果可以得出結(jié)論,在迭代次數(shù)3000次時(shí),識(shí)別正確率可達(dá)97.5%。驗(yàn)證了結(jié)合LBP與DBN的人臉識(shí)別具有較好的識(shí)別效果。
[1]Hinton G.E,Osindero S,Yw.T.A Fast Learning Algorithm for Deep Belief Nets[J].Neural Computation 2006,18(7).
[2]梁淑芬,劉銀華,等.基于LBP與深度學(xué)習(xí)的非限制條件下人臉識(shí)別算法[J].通信學(xué)報(bào),2014.
[3]Song K,Yan Y,Chen W,et.Local binary pattern method research and prospects[J].Journal of Automatic Sinica,2013,39(6):730-744.
[4]Luo P,Wang X,Tang X.Hierarchical face parsing via deep learning [C]Computer Vision and Pattern Recognition(CPVR).2012 IEEE Conference on IEEE,2012:2480-2487.