費(fèi)經(jīng)泰,程一元,查星星,王冬銀
(1.安徽建筑大學(xué)城市建設(shè)學(xué)院基礎(chǔ)部,安徽 合肥 238076;2.巢湖學(xué)院數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,安徽 巢湖 238000)
人臉識(shí)別是計(jì)算機(jī)模式識(shí)別中的一個(gè)重要領(lǐng)域,其中人臉識(shí)別中的特征提取至今仍然是一個(gè)重要的課題.常用的方法有:基于幾何特征的方法、基于模型的方法、基于統(tǒng)計(jì)代數(shù)特征的方法.基于統(tǒng)計(jì)代數(shù)的方法通常把人臉圖像轉(zhuǎn)換成以像素值為元素的矩陣,并尋找一個(gè)最優(yōu)變換將高維人臉空間矩陣降成低維的特征空間,從而提取人臉特征進(jìn)行識(shí)別.由于易操作,實(shí)現(xiàn)簡單等特點(diǎn)被廣泛應(yīng)用.比如著名的特征臉法(Eigenfaces)[1],線性判別分析法(LDA)[2]等.特征臉法使用了PCA,經(jīng)過PCA處理,從原始的人臉圖像中得到了“本征臉”.LDA也是一種有效的特征提取方法,它的目的在于尋找一個(gè)最優(yōu)判別矩陣,使得類間散度矩陣與類內(nèi)散度矩陣的比值達(dá)到最大,即Fisher準(zhǔn)則函數(shù)達(dá)到最大,并且在多數(shù)情形下,取得了比特征臉法更好的識(shí)別率.
但在實(shí)際應(yīng)用的過程中,LDA經(jīng)常出現(xiàn)“小樣本問題”,即樣本數(shù)n遠(yuǎn)遠(yuǎn)小于維數(shù)m,從而導(dǎo)致類內(nèi)散度矩陣Sw為奇異陣,使得該方法失效.為了克服小樣本問題,許多學(xué)者提出了改進(jìn)方法,Belhumeur提出了Fisherfaces算法[2],通過PCA降維,使得Sw可逆.但在對(duì)樣本數(shù)據(jù)降維的過程中,丟失了部分判別信息.Chen等提出了零空間法(NLDA)[3],發(fā)現(xiàn)Sw的零空間內(nèi)存在大量的判別信息.但由于零空間的維數(shù)過高,從而不易計(jì)算.Yu提出了直接判別分析法(DLDA)[4],同時(shí)對(duì)角化類內(nèi)散度矩陣Sw和類間散度矩陣Sb,并在Sb的秩空間R(Sb)中尋找判別信息.但最終得到的判別信息并不包含Sw的零空間[5].
針對(duì)傳統(tǒng)Fisherfaces算法存在的缺陷,本研究提出一種改進(jìn)的Fisherfaces算法——完全判別信息Fisherfaces算法.通過把PCA降維過程中,全局散度矩陣St內(nèi)被丟棄的特征向量加入到判別矩陣中,從而保證提取樣本信息的完整性,并與上述傳統(tǒng)算法進(jìn)行比較,其識(shí)別率有一定的提高.
(1)
(2)
(3)
則LDA的目標(biāo)是找一個(gè)最優(yōu)判別矩陣Wopt,使得
(4)
易證Wopt是滿足方程SbW=λSwW的解,即由Sw-1Sb的前d個(gè)最大特征值所對(duì)應(yīng)的的特征向量所組成.并且有R(Sb)≤k-1,R(Sw)≤n-k,R(St)≤n-1,其中R(·)表示矩陣的秩.故該方法最多只能得到k-1個(gè)判別特征.
Belhumeur提出的Fisherfaces算法,克服了Sw奇異問題,該算法分為兩步驟:第一步用St的列空間進(jìn)行PCA降維,使得類內(nèi)散度矩陣Sw非奇異,第二步用傳統(tǒng)的LDA方法求解.整個(gè)算法描述如下:
步驟1:PCA階段.對(duì)St作特征值分解:UTStU=Λ,其中U是非零特征值對(duì)應(yīng)的特征向量組成的酉矩陣,滿足UTU=I.Λ為對(duì)角矩陣,對(duì)角線上的元素為St非零特征值,取前t個(gè)最大非零特征值所對(duì)應(yīng)的特征向量組成變換矩陣U1.
則最優(yōu)判別矩陣為
Wopt=U1V
(5)
同樣該算法最多也只能獲得k-1個(gè)判別特征.
步驟1:計(jì)算
(6)
(7)
步驟3:令
(8)
則有
(9)
(10)
(11)
易知Z是可逆陣,且有
(12)
(13)
(14)
為了使判別矩陣Wopt是正交矩陣,對(duì)矩陣V作QR分解V=QR,Q為正交陣,R為上三角矩陣.則U1Q為Fisherfaces算法的OD矩陣,這里把它稱作Fisherfaces(OD)判別矩陣,并記作
(15)
(16)
(17)
(18)
(19)
(20)
(21)
圖1 CDI_Fisherfaces算法流程圖
3.2 CDI_Fisherfaces算法綜上所述,給出完全判別信息Fisherfaces算法(CDI_Fisherfaces)流程圖如圖1所示.
為了驗(yàn)證本文中算法的有效性,分別在ORL人臉庫和YALE人臉庫進(jìn)行測(cè)試,ORL人臉庫包含40個(gè)人400幅圖像,每人10幅圖像,圖像的大小為112×92.YALE人臉庫包含15個(gè)人165幅圖像,每人11幅圖像,圖像的大小為100×100.圖2和圖3分別顯示了ORL和YALE人臉庫中部分圖像.其中每人隨機(jī)選取k(k=2,3,4,…,8)幅圖像作為訓(xùn)練集,剩下的作為測(cè)試集.每次實(shí)驗(yàn)運(yùn)行30次,計(jì)算平均正確識(shí)別率.算法PCA階段中,主成分的個(gè)數(shù)t取min(n-k,R(Sw)).所有算法取最大特征數(shù),即ORL為39,YALE為14.識(shí)別過程采用最近鄰分類器進(jìn)行分類.
圖2 ORL人臉庫部分樣例
表1 不同算法在ORL人臉庫上的識(shí)別率 %
圖3 YALE人臉庫部分樣例
表2 不同算法在YALE人臉庫上的識(shí)別率 %
從表1可以看出在ORL人臉庫上,CDI_Fisherfaces(UD)和CDI_Fisherfaces(OD)識(shí)別率分別高于Fisherfaces(UD)和Fisherfaces(OD),說明傳統(tǒng)Fisherfaces算法在PCA階段丟棄的特征向量包含有用的判別信息.當(dāng)k的取值在3~7之間時(shí),改進(jìn)后Fisherfaces算法(CDI_Fisherfaces(UD)、Fisherfaces(OD)和CDI_Fisherfaces(OD))比傳統(tǒng)的Fisherfaces算法(Fisherfaces(UD))取得了更高的識(shí)別率,其中CDI_Fisherfaces(OD)的識(shí)別率最高,原因在于其判別矩陣滿足正交性,并且識(shí)別率高于直接判別分析法(DLDA),零空間法(NLDA).當(dāng)k=2時(shí),由于訓(xùn)練樣本非常少,所以NLDA算法的識(shí)別率高,當(dāng)k=8時(shí),由于訓(xùn)練樣本比較充足,此時(shí)DLDA算法的識(shí)別率明顯占優(yōu).
從表2可以看出在YALE人臉庫上,同樣可以看到完全判別信息的Fisherfaces算法(CDI_Fisherfaces算法)識(shí)別率要高于傳統(tǒng)的Fisherfaces算法.但當(dāng)判別矩陣滿足正交性時(shí),其識(shí)別率并不是最高.當(dāng)訓(xùn)練樣本數(shù)量較少時(shí)(如k=2和3),NLDA算法的識(shí)別率較高,隨著樣本數(shù)的增加,CDI_Fisherfaces(UD)的識(shí)別率要略高于其他算法.
首先對(duì)傳統(tǒng)的Fisherfaces算法的判別矩陣進(jìn)行了分析,發(fā)現(xiàn)其判別矩陣具有統(tǒng)計(jì)不相關(guān)性,并針對(duì)傳統(tǒng)Fisherfaces算法的缺陷,提出了一種完全判別信息的Fisherfaces算法,同時(shí)給出了CDI_Fisherfaces(UD)判別矩陣和CDI_Fisherfaces(OD)判別矩陣,最后通過在ORL人臉庫和YALE人臉庫上實(shí)驗(yàn),取得了較好的識(shí)別率,說明了本文中提出的算法的有效性.