高娜+彭亞麗+高佳美+劉侍剛
摘 要: 針對基于局部模式的人臉識別方法特征維數(shù)高、計(jì)算復(fù)雜度高、識別時(shí)間長的問題,提出一種結(jié)合主成分分析和局部導(dǎo)數(shù)模式的人臉識別方法,并針對如何解決光照、人臉表情等方面的問題提出了改進(jìn)的編碼方法。該方法首先將人臉圖像分成很多小的區(qū)域,然后在每一個(gè)小區(qū)域中用改進(jìn)的編碼方法進(jìn)行編碼,并建立該區(qū)域的局部導(dǎo)數(shù)直方圖,然后采用主成分分析法對所有直方圖向量進(jìn)行降維得到特征向量,最后利用最近鄰分類器計(jì)算相似度。實(shí)驗(yàn)表明,這里提出的結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法無論在識別率還是在運(yùn)算速度上都優(yōu)于傳統(tǒng)的識別算法。
關(guān)鍵詞: 人臉識別; 局部導(dǎo)數(shù)模式; 主成分分析法; 相似度計(jì)算
中圖分類號: TN919?34; TP317.4 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)18?0001?05
Face recognition method combining principal component analysis with local derivative pattern
GAO Na1, 2, PENG Ya?li1, 2, GAO Jia?mei2, LIU Shi?gang2
(1. Key Laboratory of Modern Teaching Technology of Ministry of Education, Xian 710062, China;
2. School of Computer Science, Shaanxi Normal University, Xian 710062, China)
Abstract:In order to solve the problems of high feature dimension, high computational complexity and long recognition time caused by the face recognition method based on local pattern, a face recognition method combining principal component analysis and local derivative model is presented in this paper. The improved coding method is introduced to solve the problems of illumination, facial expression and so on. The face image is divided into many small regions, and then each small area is coded by the improved coding method and a LDP histogram of the region is created. The dimension of histogram vectors are reduced by using principal component analysis. Finally, the nearest neighbor classifier is used to calculate the similarity. Experimental results show that the presented method is superior to the traditional method in the recognition rate and the speed.
Keywords: face recognition; local derivative pattern; principal component analysis; similarity calculation
0 引 言
人臉識別是模式識別和圖像處理中最熱門的研究主題之一[1?3], 而特征提取是人臉識別的前期基礎(chǔ),它不僅可以從原始人臉信息中提取最有利于分類的特征,而且可以極大地降低樣本的維數(shù),直接影響后期的識別效率。對于人臉識別,有效的特征提取從某種意義上講是解決問題的關(guān)鍵。目前特征提取的方法主要有兩種:一種是基于全局模式,另一種是基于局部模式。
基于全局模式方法中最具代表性的有主成分分析法(Principal Component Analysis,PCA)[4?6],線性判別分析法(Linear Discriminate Analysis,LDA)[7]。PCA方法對光照和表情發(fā)生變化敏感,當(dāng)圖像發(fā)生變化時(shí),他很難做出準(zhǔn)確的判斷,因此在光照和表情發(fā)生變化的情況下識別率比較低。線性判別分析法是由主成分分析法發(fā)展而來的,具有代表性的是Fisher線性判別分析法。線性判別分析法適用于樣本比較大的情況,對于小樣本,線性判別分析法求解特征向量困難,類內(nèi)和類間離散度不能完全描述人臉的變化,導(dǎo)致識別率的降低。
相對于基于全局模式方法而言,基于局部模式方法在圖像的姿態(tài)和光照變化的問題上顯示了很好的魯棒性,因而成為目前研究的熱點(diǎn)。近年來,研究人員提出了一些基于局部模式的方法局部二值模式(Local Binary Pattern,LBP)[8],Gabor小波[9]和局部非負(fù)矩陣分解(Local Non?negative Matrix Factorization,LNMF)[10]等。LBP方法雖然對光照的魯棒性好,計(jì)算簡單;但表達(dá)人臉特征時(shí)維數(shù)過高而且無法提取人臉細(xì)節(jié)特征。Gabor小波方法雖然具有良好的生物視覺特性,可以捕獲圖像在不同頻率和方向下的局部顯著特征;但特征維數(shù)高,識別時(shí)間長,存儲開銷大。LNMF方法雖然有非負(fù)約束,可以處理大規(guī)模的數(shù)據(jù),提取局部特征;但他分解速度慢并且基空間不適應(yīng)歐氏距離度量。由此可以看出,雖然基于局部模式的方法在圖像的姿態(tài)和光照變化的問題上顯示了很好的魯棒性,但基于局部模式方法得到的人臉表達(dá)通常具有較高的維數(shù),計(jì)算復(fù)雜度高,人臉識別的速度慢。
本文主要針對基于局部模式方法進(jìn)行人臉識別時(shí),特征維數(shù)高、運(yùn)算速度慢的問題,提出了結(jié)合主成分分析法和局部導(dǎo)數(shù)模式的人臉識別方法。該方法是在基于局部導(dǎo)數(shù)模式的特征描述上,采用主成分分析法來降低人臉特征的維數(shù),從而降低了計(jì)算的復(fù)雜性,并使用改進(jìn)的編碼方式來解決光照及表情變化的問題,提高了識別正確率。
1 相關(guān)知識
1.1 基于局部二值模式的人臉識別算法
局部二值模式[11]基本思想是:用其中心像素的灰度值與它的鄰域相比較得到的二進(jìn)制碼來表述局部紋理特征。LBP 算子定義為在3×3的窗口,以窗口中心像素點(diǎn)為關(guān)鍵點(diǎn),將相鄰的8個(gè)像素的灰度值與其進(jìn)行比較,若周圍像素值大于中心點(diǎn)的值,則該像素位置被標(biāo)記1,否則為0。將得到的值按順序連接起來,這樣可產(chǎn)生一個(gè)8位的數(shù),這個(gè)8位的數(shù)就是該中心點(diǎn)的LBP編碼。
LBP算子通過一個(gè)簡單的閾值函數(shù)對圖像進(jìn)行了一階導(dǎo)數(shù)編碼,因而這種方法并不能夠描述出人臉更為詳細(xì)的信息。為了表示出圖像中更詳細(xì)的信息,一些研究者用高階局部模式對人臉進(jìn)行表示,即局部導(dǎo)數(shù)模式(Local Derivative Pattern,LDP)[12]。
1.2 基于局部導(dǎo)數(shù)模式的人臉識別算法
LDP表示高階導(dǎo)數(shù)信息而LBP則表示一階導(dǎo)數(shù)信息,這些高階導(dǎo)數(shù)信息包含了更多的可被識別的特征,而且這些信息在只能表示出一階導(dǎo)數(shù)信息的LBP中是無法得到的。
假設(shè)方向?yàn)閇0°],[45°],[90°]和[135°]的一階導(dǎo)數(shù)分別為[I0°′(z0)],[I45°′(z0)],[I90°′(z0)]和[I135°′(z0)]其中[zi(i=1,2,…,8)]是圍繞著點(diǎn)[z0]的8鄰域點(diǎn)。
[z0]的二階導(dǎo)數(shù)用[LDP2α(z0)]表示為:
[LDP2α(z0)={f(Iα′(z0),Iα′(z1)),…,f(Iα′(z0),Iα′(z8))}]
式中:
[f(Iα′(z0),Iα′(zi))=0, Iα′(z0)×Iα′(zi)>01, Iα′(z0)×Iα′(zi)≤0] (1)
最終,二階LDP即[LDP2(z)]表示為:4個(gè)8位并具有方向的一階LDP的組合:
[LDP2(z)=LDP2α(z)α=0°,45°,90°,135°] (2)
LDP通過對兩個(gè)梯度方向上的兩個(gè)相鄰像素的比較得出取值并連接這些結(jié)果,從而得到一個(gè)32位的二進(jìn)制的字符串。梯度方向的比較由式(1)定義。由此可以看出一個(gè)二階LDP計(jì)算的過程,可以分為3個(gè)點(diǎn)和4個(gè)點(diǎn)的情況,當(dāng)他們?yōu)閱握{(diào)遞增或單調(diào)遞減時(shí),轉(zhuǎn)折點(diǎn)被編碼為0;反之編碼為1。
相對于局部二值模式,局部導(dǎo)數(shù)模式[13]考慮了更多的細(xì)節(jié)特征,局部二值模式只編碼了局部區(qū)域的鄰點(diǎn)之間的關(guān)系,局部導(dǎo)數(shù)模式還編碼了局部區(qū)域上的空間關(guān)系,而不僅僅是鄰點(diǎn)關(guān)系。所以,局部導(dǎo)數(shù)模式比局部二值模式方法在人臉識別時(shí)準(zhǔn)確率更高,但這同時(shí)也增加了他的計(jì)算復(fù)雜度和識別速度。為了得到較好的識別準(zhǔn)確率的同時(shí),解決復(fù)雜度高、識別速度慢的問題,本文引入了主成分分析法。
1.3 主成分分析法
主成分分析(PCA)是用一種較少數(shù)量的特征對樣本進(jìn)行描述以達(dá)到降低特征空間維數(shù)的方法,它的本質(zhì)實(shí)際上是K?L變換,這個(gè)變換把數(shù)據(jù)變換到一個(gè)新的坐標(biāo)系統(tǒng)中,使得任何數(shù)據(jù)投影的第一大方差在第一個(gè)坐標(biāo)(稱為第一主成分)上,第二大方差在第二個(gè)坐標(biāo)(第二主成分)上,依次類推得到數(shù)據(jù)在新坐標(biāo)系下的投影來表示原數(shù)據(jù),從而用較少的數(shù)據(jù)反映了原來的復(fù)雜問題。
基于主成分分析法的一大優(yōu)點(diǎn)是能夠?qū)?shù)據(jù)進(jìn)行降維處理,通過PCA方法求出數(shù)據(jù)集的主元,選取最重要的部分,將其余的維數(shù)省去,從而達(dá)到降維和簡化模型的目的,間接地對數(shù)據(jù)進(jìn)行了壓縮處理,同時(shí)很大程度上保留了原數(shù)據(jù)的信息。所以,可以運(yùn)用PCA方法來解決基于局部模式方法進(jìn)行人臉特征提取維數(shù)高的問題。
2 結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法
局部二值模式只編碼了局部區(qū)域鄰點(diǎn)之間的關(guān)系,而基于局部導(dǎo)數(shù)模式的人臉識別方法同時(shí)還編碼了局部區(qū)域上的空間關(guān)系,因此能夠提取更多的人臉細(xì)節(jié)特征。但基于局部導(dǎo)數(shù)模式的方法包含了更多的人臉信息,導(dǎo)致數(shù)據(jù)維數(shù)過高,識別人臉時(shí)速度過慢,為了解決這一問題,本文提出了結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法。
結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法是將基于局部導(dǎo)數(shù)模式方法和主成分分析法結(jié)合起來,首先利用基于局部導(dǎo)數(shù)模式方法提取人臉特征信息,然后利用主成分分析法對提取的維數(shù)較高的人臉信息進(jìn)行特征提取,得到用少量特征描述的特征臉,最后利用特征臉進(jìn)行人臉識別的方法。
該方法利用主成分分析法降維的效果,將其應(yīng)用到基于局部導(dǎo)數(shù)模式的方法中,以達(dá)到降低維數(shù)、加快識別速度的目的。同時(shí),利用基于局部導(dǎo)數(shù)模式方法提取有效的人臉信息,提高主成分分析法識別的準(zhǔn)確率。因此,結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法能夠充分的提取人臉的全局和局部特征,在保證識別率的基礎(chǔ)上,還大大地降低了計(jì)算的復(fù)雜度,提高了識別速度。但在實(shí)際應(yīng)用過程中發(fā)現(xiàn),雖然局部導(dǎo)數(shù)模式對光照變化具有一定的魯棒性,但在當(dāng)把他用于光照和表情都發(fā)生較大變化的情況下時(shí),他的表現(xiàn)并不能讓人滿意。為了解決這個(gè)問題,在結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法中,本文使用了一種改進(jìn)的閾值編碼規(guī)則。
傳統(tǒng)的局部方法,總是把閾值選擇為0,這在光照條件下并不能很好的表現(xiàn)魯棒性。在結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法法是按照實(shí)驗(yàn)數(shù)據(jù)來選擇閾值,也就是如果光線充足時(shí),閾值就會相對變大;反之閾值就會相對變小。
下面是結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法的閾值編碼規(guī)則的表達(dá)式:
[f'(I(z0),I(zi))=0, |I(zi)-I(z0)| ≤threshold1, |I(zi)-I(z0)| >threshold] (3)
即用鄰近的像素與中心的像素相減,如果結(jié)果等于或者小于閾值,則將結(jié)果設(shè)定為0;倘若結(jié)果大于閾值,那么就將結(jié)果設(shè)定為1。
3 算法實(shí)現(xiàn)
結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法進(jìn)行人臉識別主要分為4個(gè)步驟:
(1) 將人臉圖像分成幾塊比較小的區(qū)域;
(2) 統(tǒng)計(jì)圖像各個(gè)區(qū)域的LDP直方圖,并將各個(gè)局部直方圖連接成一個(gè)增強(qiáng)直方圖向量;
(3) 采用主成分分析法對向量進(jìn)行降維;
(4) 采用最近鄰分類器計(jì)算相似度。
下面給出結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法進(jìn)行人臉識別的詳細(xì)流程。
首先,將一幅人臉圖像被分為[n]個(gè)區(qū)域[(1,2,…,n)],這[n]個(gè)小區(qū)域的LDP直方圖被分別計(jì)算出來。那么這[n]個(gè)直方圖就可以組成空間增強(qiáng)的直方圖,這種直方圖能表示面部區(qū)域的表觀和空間關(guān)系的信息。因此在本文中首先把一副人臉圖像分成幾塊比較小的部分,這些局部圖像的LDP特征被獨(dú)立的提取出來,然后對每一小塊的圖像建立直方圖,如圖1所示。
圖1 基于局部導(dǎo)數(shù)模式的直方圖的建立
通過上述的LDP直方圖,可以得到一個(gè)直方圖向量[xi]。設(shè)一共有[N]個(gè)訓(xùn)練樣本臉,用主成分分析法對樣本臉進(jìn)行降維得到特征臉和人臉數(shù)據(jù)庫的步驟如下:
(1) 計(jì)算訓(xùn)練樣本臉的平均向量:
[u=1Ni=1Nxi]
(2) 計(jì)算每個(gè)樣本臉與平均臉的差值:
[A=[x1-u,x2-u,…,xN]]
(3) 計(jì)算[N]個(gè)樣本臉的協(xié)方差矩陣[S]:
[S=i=1N(xi-u)(xi-u)T=AAT]
(4) 計(jì)算[AAT]的特征值[λi]和特征向量[νi];
(5)計(jì)算[S=AAT]的正交歸一化特征向量[μi=λ-1/2iAvi (i=1,2,…,r)];
(6) 按照特征值[λi]的大小選取前[d]個(gè)特征值對應(yīng)的特征向量構(gòu)成特征臉空間[W=(μ1,μ2,…,μd)];
(7) 將[N]個(gè)樣本臉向特征臉空間[W]做投影,得到人臉識別的數(shù)據(jù)庫[Ω=WTu]。
最后,在識別過程中,先將每一幅待識別的人臉圖像投影到特征子空間[W],再采用最近鄰分類器計(jì)算其與庫[Ω]中人臉的相似度。
4 實(shí)驗(yàn)結(jié)果和分析
為了驗(yàn)證基于結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法的有效性,分別在ORL和YALE人臉庫上進(jìn)行了實(shí)驗(yàn)。
4.1 基于ORL數(shù)據(jù)庫的實(shí)驗(yàn)
為了測試訓(xùn)練樣本的個(gè)數(shù)對算法性能的影響,以及在人臉表情和姿態(tài)發(fā)生變化的情況下,結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法的識別效果,本文選擇在ORL數(shù)據(jù)庫上進(jìn)行測試。數(shù)據(jù)庫ORL包含40個(gè)人的圖像,其中每人有10張互不相同的圖像:包括不同的表情和姿態(tài),如圖2所示。
在實(shí)驗(yàn)中,第一次,從ORL數(shù)據(jù)庫中隨機(jī)選取一個(gè)人的一張圖像做訓(xùn)練樣本,剩余的圖像作為測試樣本。第二次再選取兩張圖像做訓(xùn)練樣本,余下的圖都作為測試樣本;第三次取3張做訓(xùn)練樣本,依此類推逐漸增多訓(xùn)練樣本的數(shù)目,得到的實(shí)驗(yàn)結(jié)果如圖3所示。
圖2 ORL數(shù)據(jù)庫
圖3 本文方法與其他方法在數(shù)據(jù)庫Yale下的實(shí)驗(yàn)結(jié)果
由圖3的實(shí)驗(yàn)結(jié)果可以看出:隨著選取訓(xùn)練圖像數(shù)目的增加,結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法的正確率也在逐漸變大,并且大于其他三種方法。這個(gè)實(shí)驗(yàn)結(jié)果表明,本文提出的方法在人臉的表情和姿態(tài)發(fā)生變化的情況下,表現(xiàn)出很好的魯棒性。同時(shí),也可以看出,基于局部模式的方法(LBP和LDP)的識別率要高于基于全局模式方法(PCA),而基于局部導(dǎo)數(shù)模式方法又比基于局部二值模式方法表現(xiàn)出更好的識別效果。
4.2 基于Yale數(shù)據(jù)庫的實(shí)驗(yàn)
Yale人臉數(shù)據(jù)庫用來比較在不同光照變化和表情變化的情況下,本文提出的結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法與傳統(tǒng)方法LDP,LBP方法的表現(xiàn)情況。此數(shù)據(jù)庫包含15個(gè)人的165張不同的圖片,每一個(gè)人都有在不同光照下的11張圖片。圖4 是Yale人臉數(shù)據(jù)庫中的一個(gè)部分樣本。
圖4 Yale數(shù)據(jù)庫中一個(gè)人的正臉圖像的樣本
與在ORL人臉數(shù)據(jù)庫中進(jìn)行的實(shí)驗(yàn)一樣,在本次實(shí)驗(yàn)中,同樣采取順序增多訓(xùn)練樣本的方法,第一次從Yale人臉庫中隨機(jī)選取一個(gè)人的一張圖像做訓(xùn)練樣本,剩余的圖像作為測試樣本。第二次再選取兩張圖像做訓(xùn)練樣本,余下的都作為測試樣本,依此類推逐漸增多訓(xùn)練樣本的數(shù)目,觀察各種方法識別的準(zhǔn)確度,實(shí)驗(yàn)結(jié)果如圖5所示。同時(shí)記錄結(jié)合主成分分析和局部導(dǎo)數(shù)模式方法與基于梯度導(dǎo)數(shù)模式方法在Yale數(shù)據(jù)庫下運(yùn)行時(shí)間如表1所示。
圖5 本文方法與其他方法在Yale數(shù)據(jù)庫下的實(shí)驗(yàn)結(jié)果
表1 本文方法與其他方法在Yale數(shù)據(jù)庫下運(yùn)行時(shí)間的比較
圖5的實(shí)驗(yàn)結(jié)果清楚的表明,采用改進(jìn)的編碼規(guī)則進(jìn)行編碼的結(jié)合主成成分析和局部導(dǎo)數(shù)模式方法,在光照和表情發(fā)生改變的條件下比其他幾個(gè)傳統(tǒng)的方法表現(xiàn)得更好更有效,也更能從人臉圖像中提取更有辨別性的信息。與圖5的結(jié)論一樣,識別率又高到低排列:結(jié)合主成成分析和局部導(dǎo)數(shù)模式方法、基于局部導(dǎo)數(shù)模式方法、基于局部二值模式方法、基于全局模式方法(PCA)。