肖彬,李澤滔,楊昱翔
(貴州大學(xué)電氣工程學(xué)院,貴州 貴陽550025)
在計算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)挖掘技術(shù)已然成為主流的現(xiàn)代社會,信息安全的重要性不言而喻。而信息安全其中的一個重要組成部分就是人臉識別(Face Recognition ,FR)[1-4],雖然這項技術(shù)已經(jīng)發(fā)展了數(shù)十年,但卻因為其自身獨特的優(yōu)勢,很受關(guān)注,尤其是在商業(yè)界和學(xué)術(shù)界的廣泛關(guān)注[5,6]。本設(shè)計想法是:首先通過對對光照與旋轉(zhuǎn)具有魯棒性的LBP 算法對人臉表情圖片提取他的初次特征,然后對初次的特征進(jìn)行第二次特征提取與分類學(xué)習(xí)使用的是概念深度學(xué)習(xí)模型DBN 網(wǎng)絡(luò)。
系統(tǒng)是由攝像頭對進(jìn)出房屋的人員進(jìn)行人臉抓拍,將得到的數(shù)據(jù)傳到PC 機(jī),由PC 機(jī)進(jìn)行處理并得到進(jìn)出房間的人的具體信息來判斷是否是 屋主還是犯罪人員,圖1 為實物模擬圖。PC 機(jī)的處理流程包括調(diào)用攝像頭拍攝圖像、圖像預(yù)處理、人臉檢測及人員判定等幾個部分。本文的總體的設(shè)計框圖如圖2 所示。
圖1 為實物模擬圖 Fig. 1 Physical simulation diagram
圖2 系統(tǒng)總體框圖 Fig. 2 System block diagram
將不同人的人臉當(dāng)作是一種模式,那么,任一一個人的人臉都有其自己的特定的模式,這也就是所謂的人臉識別。而先建立“自己人”的數(shù)據(jù)庫,將要識別的人的人臉模式,和已有的數(shù)據(jù)庫進(jìn)行比對,對這個人進(jìn)行身份確認(rèn),這個過程即稱之為人臉識別的過程。有很多的性能因素會影響到人臉識別,這些影響主要可以分為以下幾點[7-9]:
1)光照問題。由于長期以來,光照,一直是在生物識別的時候是個非常大的難題,而且,這個問題是一個“頑疾”很難徹底的把問題堅決。一般來說,現(xiàn)階段的算法,都會對光照條件有依賴,同時,一些光照條件如偏光、光照過亮、光照不足等,這些條件會讓人臉的識別的性能飛速下降。就目前情況來說,雖然有很多專家學(xué)者提出算法,但是仍然缺少有效的光照算法。
2)姿態(tài)問題。千變?nèi)f化是人臉的姿態(tài)本生的特點,不同角度的攝像機(jī)拍到的人臉肯定的不一樣的,而這些都是會影響這個人圖像的信息的。攝像機(jī)拍攝的時候,不可能像取證拍照時是正常正面拍攝,而是會有很多的角度偏轉(zhuǎn),所以在實際的應(yīng)用中,這些會對人臉的特征提取造成困難。雖然,這些年來,專家學(xué)者們對多姿態(tài)的研究逐漸深入,但是畢竟這個因素對特征提取的影響非常巨大,是將人臉識別實用化的時候的一道坎,是需要解決的關(guān)鍵問題所在。
3)表情問題。對于我們?nèi)藖碚f,識別人的臉和表情都是毫無問題的,然而,于計算機(jī)來說,識別任何東西,都是需要建立一個模型,而如何建立一個人臉和表情的表情模型是一個非常巨大的難題。因為,人臉表情十分的豐富,而且復(fù)雜多變,所以這也將這個問題推向了更加困難的程度。
提取局部特征是LBP(Local Binary Patterns,局部二值模式)的判別依據(jù)。LBP 算法對光照的不敏感是它的顯著的優(yōu)點,但是對于解決姿態(tài)和表情的問題,它存在很大的問題,即對這兩個因素它的魯棒性比較差[10]。不過,將它和特征臉方法進(jìn)行對比,在識別率上LBP 算法比之特征臉有了巨大的提升。
2.2.1 LBP 特征提取
最開始的LBP 的定義是,有一個3*3 的像素鄰域,在這個領(lǐng)域內(nèi),將它的中心像素灰度值設(shè)置為閾值,然后將它周圍的8 個像素灰度值與中心閾值進(jìn)行一一比對,倘若中心像素值比周圍像素值小,那么這個點的位置的值被設(shè)定為1,反之,則是0。經(jīng)過這樣的比對,會產(chǎn)生一個8 位的二進(jìn)制數(shù)(通常轉(zhuǎn)換為十進(jìn)制數(shù)即LBP 碼,共256 種),數(shù)據(jù)書寫順序是從第一個開始順時針排列即可得到,而這個二進(jìn)制數(shù)轉(zhuǎn)化的十進(jìn)制數(shù)就是這個領(lǐng)域的像素點的LBP 值,即得到該鄰域中心像素點的LBP 值,而這個數(shù)反映了該區(qū)域的紋理信息。如下圖3 所示:
公式定義如下:
其中( xc,yc)代表3*3 鄰域的中心元素,它的像素值為 ic, ip代表鄰域內(nèi)其他像素的值。s(x)是符號函數(shù),定義如下:
圖3 特征提取示意圖 Fig. 3 Feature extraction schematic diagram
2.2.2 圓形LBP 算子
最開始的LBP 算子有一個很大的缺點,這使得當(dāng)要面對不同的尺寸和頻率的紋理的要求的時候,這個算法不能很好的實現(xiàn)它的要求,這個缺點就是原始LBP 算子只是覆蓋固定的,半徑范圍確定的小區(qū)域[1115]-。Ojala 等改進(jìn)了LBP 算子,要求達(dá)到灰度和旋轉(zhuǎn)不變性的要求,適應(yīng)了不同的尺度和紋理特征,將3*3 鄰域擴(kuò)展到任意鄰域,并將正方形鄰域用圓形鄰域來代替,允許在半徑為R 的圓形鄰域內(nèi)有任意多個像素點是改進(jìn)后的LBP 算子的特點。進(jìn)而得到了一個內(nèi)含有P 個采樣點的LBP 算子,該算子是以半徑為R 的圓形區(qū)域。比如下圖4 定了一個5*5 的鄰域:
圖4 圓形LBP 算子示意圖 Fig. 4 Schematic diagram of circular LBP operator
上圖內(nèi)有八個黑色的采樣點,每個采樣點的值可以通過下式計算:
其中( xc,yc)為鄰域中心點,( xp,yp), p ∈ P為某個采樣點。通過上式可以計算任意個采樣點的坐標(biāo),但是計算得到的坐標(biāo)未必完全是整數(shù),所以可以通過雙線性插值來得到該采樣點的像素值:
2.2.3 LBP 等價模式
同一個領(lǐng)域內(nèi),如果增加采樣的點數(shù),那么,它產(chǎn)生的二進(jìn)制數(shù)的個數(shù)也會隨著采樣點的增加而隨指數(shù)增加,這種指數(shù)的增加無疑是極其恐怖的。不同的LBP 算子會有不同的二進(jìn)制數(shù),對于半徑為R 的圓形區(qū)域內(nèi)含有P 個采樣點的LBP 算子將會產(chǎn)生2P種模式。所以為了解決這種二進(jìn)制模式太多的問題,我們需要對該算子進(jìn)行降維,所謂降維即是減少二進(jìn)制模式的個數(shù)。為了解決這個問題,專家提出了一種“等價模式”(Uniform Pattern)。即在實際圖像中,絕大多數(shù)LBP 模式最多只包含兩次從1 到0 或從0 到1 的跳變?!暗葍r模式”定義為:當(dāng)某個LBP 所對應(yīng)的循環(huán)二進(jìn)制數(shù)從0 到1 或從1 到0 最多有兩次跳變時,該LBP所對應(yīng)的二進(jìn)制就稱為一個等價模式類。如00000000(0 次跳變),00000111(只含一次從0到1 的跳變),10001111(先由1 跳到0,再由0跳到1,共兩次跳變)都是等價模式類。除等價模式類以外的模式都?xì)w為另一類,稱為混合模式類,例如10010111(共四次跳變)。比如下圖5 給出了幾種等價模式的示意圖。
圖5 幾種等價模式的示意圖 Fig.5 Schematic diagram of several equivalent patterns
在這中改進(jìn)的算法下,二進(jìn)制的種類將會大大減少,而且,這種改進(jìn)之下不會使該領(lǐng)域內(nèi)的數(shù)據(jù)信息發(fā)生丟失現(xiàn)象。從上面的講解來看,等價模式的模式數(shù)量變成了P(P-1)+2 種較原來的2P種減少巨大,其中P 表示鄰域集內(nèi)的采樣點數(shù)。比如,對于3*3 鄰域內(nèi)來說,我們?nèi)绻O(shè)置8 個采樣點,那么等價模式下二進(jìn)制數(shù)為58 種,而原始的則為256種,這種情況下,特征向量的維數(shù)大大減少,并且還可以減少高頻噪聲帶來的影響。
通過上述方法,每個像素都會根據(jù)鄰域信息得到一個LBP 值,如果以圖像的形式顯示出來可以得到下圖6 所示,明顯LBP 對光照有較強(qiáng)的魯棒性。
圖6 經(jīng)過LBP 算法處理后前后的圖像 Fig.6 After LBP algorithm processing before and after the image
DBN 模型是深度學(xué)習(xí)中唯一一種基于概率統(tǒng)計的模型,其基本組成單元為 RBM(Restricted Boltzmann Machine)機(jī)[15]。由于DBN 模型借助概率統(tǒng)計來對問題進(jìn)行建模,所以對復(fù)雜度較高的問題具有良好的表征性能,特別是在大數(shù)據(jù)條件下,這種優(yōu)勢可以更好的得以體現(xiàn)。因此,隨著大數(shù)據(jù)和互聯(lián)網(wǎng)相關(guān)技術(shù)的不斷發(fā)展,DBN 模型將逐漸成為深度學(xué)習(xí)領(lǐng)域研究的核心[1618]-。
2.3.1 RBM 受限玻爾茲曼模型的定義
RBM 受限玻爾茲曼模型共包含兩層網(wǎng)絡(luò):隱含層和可視層。該模型滿足下述約束條件:
(1)層間節(jié)點全連接,層內(nèi)節(jié)點無連接
(2)模型中所有節(jié)點的取值均為二值化變量(值只能取0 或者1)
(3)隱含層和可視層間的概率約束P(v,h)須滿足玻爾茲曼(Boltzman)分布
經(jīng)典RBM 模型如圖7 所示。圖中,v 表示可視層,節(jié)點個數(shù)為m;h 表示隱含層;節(jié)點個數(shù)為n。因為RBM 模型層內(nèi)無連接,所以,如果可以確定隱含層的情況,則對應(yīng)可視層的節(jié)點均滿足相互獨立的條件,反之亦然[19,20]。因此,在確定了可視層v 的條件下,對應(yīng)隱含層節(jié)點的狀態(tài)滿足如下關(guān)系:
式中, p ( hj= 1丨 v )表示第j 個隱含層節(jié)點處于激活態(tài)(值為1)的概率,f(x)為激勵函數(shù), wij表示第i 個可視層節(jié)點和第j 個隱含層節(jié)點之間的連接權(quán)重,vi為第i 個可視層節(jié)點的值, bj為第j 個隱含層節(jié)點的偏置。
圖7 RBM 受限玻爾茲曼模型示意圖 Fig.7 Schematic diagram of RBM restricted boltzmann model
此時生成一個隨機(jī)數(shù)ε ,如 果ε小于p (hj= 1丨v ),則 hj的值為1;反之,值為O。
同樣的,如果給定了隱含層h,則通過下式能夠獲得對應(yīng)的可視層值 vi′:
式中,ia 為第i 個可視層節(jié)點的偏置。如果通過某種方式調(diào)節(jié)參數(shù)ijw 、ia 和jb ,可以使得可視層的輸入v 與經(jīng)過重構(gòu)得到的結(jié)果v′之間的差別盡可能小(理想情況下是無差別的),就能夠認(rèn)為隱含層h是可視層v 的同等特征描述。
2.3.2 RBM 訓(xùn)練步驟
1)第一層的RBM 是以LBP 紋理特征為輸入,同時對RBM 進(jìn)行無監(jiān)督訓(xùn)練,獲得這一層的最優(yōu)參數(shù);
2)低一層的RBM 輸出數(shù)據(jù)作為高層RBM 輸入,同時對RBM 進(jìn)行無監(jiān)督訓(xùn)練,獲得這一層RBM網(wǎng)絡(luò)最優(yōu)的參數(shù)值;
3)最后需要對各層參數(shù)進(jìn)行微調(diào)利用方法可以選擇如全局訓(xùn)練,這樣可以使得DBN 收斂到全局最優(yōu)。
無監(jiān)督逐層學(xué)習(xí)采用的是貪婪算法,其大致流程如圖8 所示:
圖8 DBN 模型訓(xùn)練示意圖 Fig.8 DBN model training schematic diagram
本實驗中,為了驗證本文的特征提取以及改進(jìn)的算法識別的有效性,需要包含光照以及姿態(tài)的差別,所以我們采用FERET 和ORL 人臉庫,則直接對FERET 庫和ORL 的原始人臉圖像采用CS-LBP結(jié)合DBN 的方法進(jìn)行特征提取并識別。
為了保證實驗的可靠性及有效性,所有實驗均在相同的實驗條件下進(jìn)行。實驗中選取FERET 庫中每個個體的第1 幅圖像作為測試樣本集,其余6幅圖像作為訓(xùn)練樣本集,采用圖像分塊數(shù)為8*8。為了進(jìn)一步驗證本算法的有效性,在實驗中,對比了本文方法和其他幾種算法:LBP 結(jié)合 DBN,MB-LBP 結(jié)合DBN,LBP 結(jié)合PCA 和DBN。在FERET 人臉庫中的實驗結(jié)果如圖9 所示;同樣情況下將FERET 人臉庫更換成ORL 人臉庫,其他步驟一致,實驗結(jié)果如圖10 所示。
圖9 FERET 人臉庫中不同算法識別效果 Fig.9 The recognition effect of different algorithms in FERET face database
據(jù)圖9 可知,本文各算法識別率如下:MB-LBP結(jié)合DBN 方法的首選識別率為93%,LBP 結(jié)合DBN 方法和DBN 方法的首選識別率分別為90%和85%,LBP 結(jié)合PCA 的首選識別率僅為75%。
圖1 0 ORL 人臉庫中不同算法識別效果 Fig.10 The recognition effect of different algorithms in ORL face database
據(jù)圖10 可知,本文各算法識別率如下:MB-LBP結(jié)合DBN 方法的首選識別率為95%,LBP 結(jié)合DBN 方法和DBN 方法的首選識別率分別為87.5%和82.5%,LBP 結(jié)合PCA 的首選識別率僅為80%。
本文在FERET 和ORL 人臉庫即實驗數(shù)據(jù)相同的情況下,并且使用一樣的訓(xùn)練和測試的樣本,選擇了PCA、SVM、LBP、DBN、LBP+DBN 這幾種方法進(jìn)行了比較。驗證了LBP+DBN 模型在分類識別上的有效性。結(jié)果如表1 所示。
表1 不同訓(xùn)練樣本數(shù)的正確識別率 Table 1 The correct recognition rate of different training sample Numbers
本文提出了一種基于LBP 特征和深度學(xué)習(xí)中DBN 模型的表情識別方法。通過對輸入圖片預(yù)處理、提取LBP 特征,去除了光照的影響,將取得的特征作為DBN 的輸入。經(jīng)過DBN 網(wǎng)絡(luò)的訓(xùn)練與學(xué)習(xí),優(yōu)化其在非限制條件下比如受姿態(tài)、光照、表情、遮擋等綜合因素影響。由上述實驗可知,在FERET 和ORL 人臉庫條件下,LBP+DBN 明顯優(yōu)于LBP+PCA 和單獨的DBN 算法的識別率,并且在上述實驗中,實驗對PCA、SVM、LBP、DBN、LBP+DBN 識別率進(jìn)行對比,明顯看出本文提出的LBP+DBN 算法在識別率上有著明顯的優(yōu)勢。