基于PCA和LDA融合算法的性別鑒別
隨著社會(huì)發(fā)展,快速有效的自動(dòng)身份驗(yàn)證應(yīng)用廣泛。生物特征是人類的內(nèi)在屬性,具有很強(qiáng)的自身穩(wěn)定性和個(gè)體差異性,所以它是身份驗(yàn)證最理想的依據(jù)。其中,人臉相比其他的人體生物特征具有直接、方便、友好等特點(diǎn),所以利用人臉特征進(jìn)行身份驗(yàn)證是最自然直接的手段,并易于為用戶所接受。性別鑒別作為其中特殊的一部分,可以加強(qiáng)人機(jī)交互系統(tǒng)的靈活性,而且可以對(duì)特殊環(huán)境下與性別相關(guān)的地方出入進(jìn)行限制,收集有價(jià)值的統(tǒng)計(jì)信息(如每天出入的男性、女性數(shù)量,對(duì)酒吧、商場(chǎng)、零售業(yè)提供有價(jià)值的服務(wù))等。
1 性別分類算法
性別分類是一個(gè)典型的二類問(wèn)題,一般方法是通過(guò)輸入一副人臉圖像X,通過(guò)預(yù)處理,特征提取,分類器等過(guò)程后來(lái)決定X的類別。這里的性別分類算法如圖1所示,它是由預(yù)處理、特征提取、分類器3個(gè)部分組成。
其中預(yù)處理主要是幾何變換和區(qū)域直方圖處理。通過(guò)這些工作保障了人臉幾何(方向,大小)的不變性?;鞠吮尘暗挠绊懞筒糠止庹沼绊懀岣吡俗R(shí)別的精度。然后再預(yù)處理的基礎(chǔ)上進(jìn)行主元分析提取特征,獲得主元分析PAC(Principal components Analysis)主元子空間和線性鑒別分析LDA(Linear Discriminant Analysis)特征子空間,最后利用分離器(人臉樣本訓(xùn)練獲得)進(jìn)行分類。
1.1 預(yù)處理
該性別分類算法主要采用,幾何處理+整體直方圖處理(HG),幾何處理+區(qū)域直方圖處理(RHG)2種方法進(jìn)行預(yù)處理,并進(jìn)行比較。
1.1.1 幾何處理
1)圖像的縮放
MATLAB圖像處理工具箱中的函數(shù)imresize可對(duì)圖像進(jìn)行縮放操作,常用的格式為:
B是縮放后圖片;A是原始圖片;m表示縮放倍數(shù)(m>1時(shí)圖片放大;m<1時(shí)圖片縮小);method是縮放的插值方法(默認(rèn)為最近鄰插值法);[mrows,ncols]指輸出圖片大小為mrowsxncols。
2)圖像的旋轉(zhuǎn)處理
有些待分類的圖像,人臉是歪斜的,這時(shí)要對(duì)圖像進(jìn)行旋轉(zhuǎn)處理如圖2所示。但旋轉(zhuǎn)時(shí)各像素的坐標(biāo)會(huì)發(fā)生變化,使得旋轉(zhuǎn)之后不能正好落在整數(shù)坐標(biāo)處,需要進(jìn)行插值,工具箱中函數(shù)imrotate方法可以對(duì)圖像進(jìn)行插值旋轉(zhuǎn)(默認(rèn)方法是最近鄰插值法)。常用的語(yǔ)法格式為:
其方法中對(duì)應(yīng)的參數(shù)意義為:angle為圖像A按照逆時(shí)針旋轉(zhuǎn)的角度,method是選擇的插值方法。
3)圖像的剪切
當(dāng)只需要圖像中的一部分時(shí),如實(shí)驗(yàn)中只需要人臉圖片,就要對(duì)圖像進(jìn)行剪切處理,在MATLAB圖像處理工具箱中提供函數(shù)imcrop用于剪切圖像中的一個(gè)矩形子圖,用戶可以根據(jù)這個(gè)矩形頂點(diǎn)的坐標(biāo),也可以用鼠標(biāo)指針選取這個(gè)矩形。該函數(shù)常用的格式如下:
其中前3種格式為交互式地對(duì)灰度圖像、索引色圖像和真彩色圖像進(jìn)行剪切。后3種方式是按指定的矩形框rect剪切圖像,rect是一個(gè)四元向量[xmin,ymin width heigth],分別表示矩形的左上角坐標(biāo)、寬度和高度。
1.1. 2 整體直方圖處理(HG)
直方圖方法是建立在概率論的基礎(chǔ)上,是通過(guò)改變直方圖的形狀來(lái)達(dá)到增強(qiáng)圖像對(duì)比度的效果。常用的方法有直方圖均衡化和直方圖規(guī)定化。直方圖均衡化又稱直方圖平坦化,是將一已知灰度概率密度分布的圖像,經(jīng)過(guò)某種變換成一幅具有均勻灰度概率密度分布的新圖像,其結(jié)果是擴(kuò)展了像元取值的動(dòng)態(tài)范圍,從而達(dá)到增強(qiáng)整體對(duì)比度的目的。采用MATLAB工具箱中histeq方法對(duì)圖像進(jìn)行直方圖處理。
常用B=histeq(A)。
1.1.3 區(qū)域直方圖處理(RHG)
直方圖處理是探討了亮度標(biāo)準(zhǔn)化方法的一般計(jì)算模型,為了解決偏光問(wèn)題,又提出了亮度標(biāo)準(zhǔn)化的分塊策略,采用將圖片等分4份,對(duì)偏光嚴(yán)重的人臉圖片進(jìn)行區(qū)域直方圖處理后再合成原始大小圖片。針對(duì)圖像整體直方圖和分塊區(qū)域化后直方圖取得的效果進(jìn)行比較,如圖3所示。
1.2 PCA算法的基本原理
主成分分析法PCA(Principal Component Analysis)其目的是在數(shù)據(jù)空間中找到一組向量以盡可能地解釋數(shù)據(jù)的方差,從而用降維后的低維向量保存原數(shù)據(jù)中的主要信息,使數(shù)據(jù)更易于處理。主要原理就是基于對(duì)原始數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,利用線性變換,對(duì)高維數(shù)據(jù)進(jìn)行分析與壓縮。由于人臉結(jié)構(gòu)的相似性,當(dāng)把人臉圖像樣本進(jìn)行規(guī)一化并抽成一個(gè)高維向量后,這些圖像在高維空間中不是隨機(jī)或散亂地分布的,
而是存在某種規(guī)律。通過(guò)主元變換進(jìn)行人臉識(shí)別的方法被稱為“特征臉”方法。
主成分分析是將分散在一組變量上的信息集中到某幾個(gè)綜合指標(biāo)(主成分)上的探索性統(tǒng)計(jì)分析方法,以便利用主成分描述數(shù)據(jù)集的內(nèi)部結(jié)構(gòu),實(shí)際上起著數(shù)據(jù)降維的作用。
假設(shè)有一幅大小為N1xN2的灰度圖像P(x,y),其中x∈[1,N1],y∈[1,N2],且像素值P(x,y)滿足P(x,y)∈[0,1],x為行索引值,y為列索引值。為了應(yīng)用PCA技術(shù),首先要將該人臉從二維矩陣轉(zhuǎn)化為一維向量,這可以通過(guò)如下操作達(dá)到要求。
將kxl的矩陣C的第1行轉(zhuǎn)置,然后將C的第2行轉(zhuǎn)置拼接于其后,如此類推,直到最后將第k行轉(zhuǎn)置并拼接起來(lái)。例如,矩陣在經(jīng)過(guò)上述操作以后,就變?yōu)?a11 a12 a13 a21 a22 a23)T。一幅大小為N1xN2的灰度圖像可以被轉(zhuǎn)換為N1xN2維的向量,因此可以將一幅人臉圖像視為高維空間中的一個(gè)點(diǎn),并用PCA技術(shù)使用少數(shù)特征來(lái)近似描述人臉圖像在高維空間中的分布。
考慮n(N1xN2)維空間中的m個(gè)向量x1,x2,…,xm為了降低維數(shù),需要用一個(gè)m維的向量x’來(lái)近似模擬,其中m<<n,也就是尋找一個(gè)變換。PCA技術(shù)使用變換:
通常假設(shè)隨機(jī)向量(x-μ)為零均值,即μ取值為隨機(jī)向量x的期望
WT=(w1,w2,…,wm)為一個(gè)mxn的變換矩陣。(x-μ)是一個(gè)(nxl)n維的向量。y是m維的向量。這是一個(gè)線性的變換,式(1)是個(gè)內(nèi)積,引述內(nèi)積的定義:
圖4為式(3)的物理意義。
如果使式(3)具有投影的意義,即z向量是y向量到x向量的方向上的投影,如圖4所示,那么必須使得|x|=1,即z=|y|cosθ。
現(xiàn)在考慮PCA變換矩陣W第一個(gè)向量
如果在條件|w1|=1使ξ1的方差達(dá)到最大,希望最大程度的保持樣本集x原有的差異(Variance)。也就是要的值最大。這成為了一個(gè)優(yōu)化問(wèn)題。目標(biāo)函數(shù)是,條件是,使用拉格朗日乘數(shù)法
因此λ1是協(xié)方差矩陣M的一個(gè)特征值,w1是λ1對(duì)應(yīng)的特征向量。要使其方差最大,就必須使的值最大,因?yàn)?,所以?lambda;1應(yīng)是M矩陣的最大特征值。
現(xiàn)在考慮PCA變換矩陣WT第2到第m個(gè)向量,這里的向量是互不相關(guān)的,代表著不同的投影方向,這樣可以提取出不同的主特征。要滿足這個(gè)條件,考慮協(xié)方差矩陣M,它是對(duì)稱的陣,有多個(gè)特征值λi,i∈(1,n),因此,轉(zhuǎn)換矩陣中w1,w2,…,wm應(yīng)該如下取值:首先求出M的特征向量和對(duì)應(yīng)的特征值,然后依據(jù)特征值排序?yàn)?lambda;1≥λ2≥…≥λn,它們對(duì)應(yīng)的特征向量分別為w1,w2,…,wn,則取最前面的m個(gè)向量w1,w2,…,wm組成PCA變換矩陣。
出于數(shù)值計(jì)算方面的考慮,通常不使用M矩陣求特征值,和特征值對(duì)應(yīng)的特征向量,而使用奇異值分解(SVD,Singular Value Decompo-sition)來(lái)計(jì)算前m個(gè)主方向。
1.3 SVD奇異值分解定理
SVD定理:設(shè)A是秩為r的nxr維的矩陣,則存在兩個(gè)正交矩陣:
由于M=AAT,其中,故構(gòu)造矩陣,M為訓(xùn)練樣本集中的樣本個(gè)數(shù)。容易求出其特征值λi及其相應(yīng)的特征向量vi(i=O,1,…,M-1)。由推論式可知,M的特征向量ui
1.4 LDA方法算法說(shuō)明
LDA(Linear Discriminant Analysis)方法也稱為線性判別分析方法。它選擇與類內(nèi)散布的正交的矢量作為特征臉空間,從而能夠壓制圖像之間的與識(shí)別信息無(wú)關(guān)的差異,對(duì)光照及人臉表情變化都不太敏感。這種方法的最終目的就是找到一些特征使得類間離散度和類內(nèi)離散度的比值最大。
式中,Pi是先驗(yàn)概率,mi是Ci類的均值,m是所有樣本的均值。
如果Sw是非奇異矩陣,在投影以后,各類樣本之間盡可能的分開(kāi)一些,即類間離散度越大越好,同時(shí)各類樣本的內(nèi)部盡量密集起來(lái),即類內(nèi)離散度越小越好。因此可以定義Fisher準(zhǔn)則函數(shù)如下:
如果Sw非奇異,就是求Sw-1Sb的特征值及其特征向量問(wèn)題。其中該矩陣最多只有C-1個(gè)非零特征值,C是類別數(shù)目。
1.5 PCA-LDA算法的融合
將PCA算法與LDA算法構(gòu)造的特征子空間進(jìn)行融合,獲得其融合空間,然后,將訓(xùn)練樣本與測(cè)試樣本分別朝該融合特征空間投影,獲得識(shí)別特征,最后,利用最近鄰準(zhǔn)則完成性別鑒定。
PCA-LDA算法融合是根據(jù)PCA算法和LDA算法的特征子空間W1,W2進(jìn)行融合,即:W1=W1*W2,得到融合特征空間:Ws。其中,其中行數(shù)表示訓(xùn)練樣本維數(shù),列表示LDA算法降維后的特征向量個(gè)數(shù)。在訓(xùn)練過(guò)程中,將訓(xùn)練樣本矩陣X投影到融合特征空間Ws中,使得每一個(gè)向量代表一個(gè)訓(xùn)練樣本的特征,在測(cè)試過(guò)程中,首先將測(cè)試樣本規(guī)范化,即將測(cè)試樣本減去平均值,在轉(zhuǎn)化成列向量向PCA空間和融合空間投影獲得識(shí)別特征,最后將測(cè)試樣本的識(shí)別特征和訓(xùn)練樣本的識(shí)別特征進(jìn)行一一比較,依據(jù)鄰近準(zhǔn)則得到最小距離d所屬樣本的屬性。
2 試驗(yàn)步驟與過(guò)程
2.1 試驗(yàn)步驟
2.1.1 樣本的訓(xùn)練
1)照片的預(yù)處理,照片歸一化;
2)求得訓(xùn)練樣本的平均臉、零均值;
3)提取訓(xùn)練樣本的PCA矩陣;
4)提取訓(xùn)練樣本的LDA矩陣;
5)PCA矩陣和LDA矩陣融合獲得分類器。
2.1.2 待測(cè)試照片的識(shí)別
1)將測(cè)試照片預(yù)處理;
2)測(cè)試照片向融合空間投影,得到低微空間上的點(diǎn);
3)計(jì)算該點(diǎn)與訓(xùn)練樣本的“特征臉”距離比較,輸出距離最近的那張“特征臉”的信息,從而達(dá)到性別識(shí)別目的。
2.2 實(shí)驗(yàn)過(guò)程
本實(shí)驗(yàn)中所用到的圖片來(lái)源于ORL人臉圖像庫(kù)和yale人臉圖像庫(kù),ORL人臉圖像庫(kù)是英國(guó)劍橋大學(xué)從1992到1994年間在實(shí)驗(yàn)室采集到的人臉圖像數(shù)據(jù),由40人,每人10幅,共400幅照片,每幅分辨率為92xll2,主要包括拍攝時(shí)間、光照條件、人臉表情和面部遮掩物的不同。而yale人臉圖像庫(kù)是耶魯大學(xué)提供的,共有15人,每人11張照片,分辨率為100x100,主要包括光照條件的變化表情的變化等。
該試驗(yàn)采用yale圖像庫(kù)中的人臉照片。利用平均臉公式,實(shí)驗(yàn)中所得到的平均臉如圖5和圖6所示。
PCA矩陣提取試驗(yàn)分析,圖7為PCA算法實(shí)現(xiàn)流程圖。
LDA矩陣提取試驗(yàn)分析,圖8為L(zhǎng)DA算法實(shí)現(xiàn)流程圖。
然后再將LDA-PCA矩陣融合;利用歐式距離求出待識(shí)別人臉的特征臉再根據(jù)臨近原則實(shí)現(xiàn)性別識(shí)別;采用直方圖處理的識(shí)別實(shí)驗(yàn)(PCA+L-DA);采用整體直方圖處理的識(shí)別實(shí)驗(yàn)(HG+PCA+LDA);采用直方圖區(qū)域預(yù)處理的識(shí)別實(shí)驗(yàn)(RHG+PCA+LDA)。
3 實(shí)驗(yàn)結(jié)果分析與結(jié)論
實(shí)驗(yàn)結(jié)果如圖9所示,表明:用PCA-LDA融合空間算法的識(shí)別正確率都在80%以上,是比較高的。采用直方圖處理的識(shí)別實(shí)驗(yàn)(PCA+LDA)在3種方法的識(shí)別正確率比較中相對(duì)較低,且波動(dòng)性較大,特別的,在樣本數(shù)量為20,40時(shí),出現(xiàn)了0.83,0.84的正確率,為整個(gè)曲線中的低谷,整體效果相對(duì)來(lái)說(shuō)一般。采用整體直方圖處理的識(shí)別實(shí)驗(yàn)(HG+PCA+LDA)正確率曲線相對(duì)來(lái)說(shuō)較為平滑,隨著樣本數(shù)量的增加,整個(gè)曲線呈現(xiàn)遞增趨勢(shì),但識(shí)別正確率不是特別理想。采用區(qū)域直方圖預(yù)處理的識(shí)別實(shí)驗(yàn)(RHG+PCA+LDA)的正確率整體來(lái)說(shuō)最高,整個(gè)曲線完全凌駕于前2種算法之上,雖然在小樣本數(shù)量空間內(nèi)出現(xiàn)波動(dòng),但波動(dòng)為曲線的相對(duì)波峰,即識(shí)別正確率是提高的。3種方法在整個(gè)樣本空間內(nèi)均為隨著樣本數(shù)量的增加,識(shí)別正確率平穩(wěn)上升,漸趨于完全正確。但采用區(qū)域直方圖預(yù)處理的識(shí)別實(shí)驗(yàn)(RHG+PCA+LDA)后整體識(shí)別正確率最高,為三個(gè)算法中在整個(gè)樣本空間內(nèi)的相對(duì)最優(yōu)算法。
經(jīng)過(guò)以上實(shí)驗(yàn)結(jié)果分析,在進(jìn)行人臉性別識(shí)別時(shí),建議用PCA-LDA融合空間算法,采用區(qū)域直方圖預(yù)處理(RHG+PCA+LDA),這樣會(huì)達(dá)到理想的效果,并且樣本數(shù)量應(yīng)該盡量的多。