房夢(mèng)玉,馬明棟
(1.南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003;2.南京郵電大學(xué) 地理與生物信息學(xué)院,江蘇 南京 210003)
自20世紀(jì)90年代以來(lái),人臉識(shí)別逐漸成為模式識(shí)別和人工智能領(lǐng)域的研究熱點(diǎn)[1],例如身份驗(yàn)證、門(mén)禁系統(tǒng)、刑偵破案以及醫(yī)學(xué)圖像等方面[2],對(duì)于社會(huì)經(jīng)濟(jì)具有廣泛的應(yīng)用價(jià)值。主成分分析和線(xiàn)性鑒別分析是人臉識(shí)別中常用的兩種經(jīng)典算法。
主成分分析(principal component analysis,PCA)[2-3]是線(xiàn)性變換,一般是先把樣本矩陣變成一維向量,然后將多個(gè)樣本的向量組成一個(gè)矩陣。向量通過(guò)線(xiàn)性變換是線(xiàn)性獨(dú)立的,并且變換后的向量用于提取特征[4-5]。PCA算法存在處理后維數(shù)高的問(wèn)題,使得特征提取困難,特征計(jì)算復(fù)雜。但是,二維主成分分析(two-dimensional principal component analysis,2DPCA)算法[6]不需要將矩陣轉(zhuǎn)換為矢量,而是直接將圖像矩陣構(gòu)建為圖像離散矩陣。由于2DPCA方法用于直接計(jì)算人臉圖像,因此它保留了更多的結(jié)構(gòu)信息,并且計(jì)算協(xié)方差的準(zhǔn)確性更高。
線(xiàn)性鑒別分析(linear discriminant analysis,LDA)[7]是高維圖像投影到最能識(shí)別向量空間的基本思想,即將高維空間投影中的數(shù)據(jù)點(diǎn)投影到一條直線(xiàn)上,將維數(shù)縮小為一維,確保在投影空間之后,每個(gè)樣本還可以具有類(lèi)間的最大散布距離和類(lèi)內(nèi)最小的散布距離。
然而,傳統(tǒng)的LDA算法存在“小樣本”和“邊緣類(lèi)”的問(wèn)題[8],這是由于類(lèi)間樣本在投影時(shí)發(fā)生重疊所造成的。而存在這些問(wèn)題的主要原因是因?yàn)樵撍惴ㄟ^(guò)分強(qiáng)調(diào)了類(lèi)間距離的大小。并且傳統(tǒng)的LDA算法下的Fisher準(zhǔn)則會(huì)導(dǎo)致“小樣本”問(wèn)題的出現(xiàn),因?yàn)楹茈y找到充足的訓(xùn)練樣本,以此來(lái)保證類(lèi)內(nèi)散布矩陣的可逆性,所以就會(huì)丟失很多有用的辨別信息。這些問(wèn)題使識(shí)別率在一定的空間維數(shù)下達(dá)會(huì)到最大值,然后再當(dāng)維數(shù)升高時(shí),識(shí)別率會(huì)逐漸降低。基于以上出現(xiàn)的問(wèn)題,“PCA+LDA”算法[3,9-10]解決了這個(gè)問(wèn)題,它不僅會(huì)保持LDA算法的優(yōu)勢(shì),也會(huì)通過(guò)PCA算法改善LDA的缺陷。首先利用PCA算法實(shí)現(xiàn)降維,然后通過(guò)LDA算法投影到最佳方向,使Fisher準(zhǔn)則最大,根據(jù)鄰近原則實(shí)現(xiàn)識(shí)別,也使得識(shí)別率隨著維數(shù)升高逐漸增加。由于PCA算法實(shí)現(xiàn)的降維損失是由樣本類(lèi)間及樣本類(lèi)內(nèi)的離散矩陣的零空間來(lái)交換的,但是有用的分類(lèi)信息存在于類(lèi)內(nèi)離散矩陣零空間中,如果它丟失了,就會(huì)失去一些有效信息。
為了保存“最有辨識(shí)力”的信息,該文提出了2DPCA融合改進(jìn)的LDA算法,該算法將一維主成分分析優(yōu)化為二維主成分分析,對(duì)LDA算法中的類(lèi)間離散度矩陣和Fisher準(zhǔn)則進(jìn)行修改,使得該算法在提取特征時(shí)更快更好,也保存了“最有辨識(shí)力”的信息。
主成分分析方法是由M.Turk和A.Pentland提出來(lái)的[2],是一種可以對(duì)信息進(jìn)行處理、壓縮和抽取的有效方法,并且在降維和特征提取上效率較高。實(shí)質(zhì)上PCA方法是基于K-L變換原理[11],對(duì)數(shù)據(jù)進(jìn)行特征抽取,構(gòu)成特征空間,然后將測(cè)試集投影到特征空間,得到投影系數(shù),從而對(duì)人臉圖像比對(duì),進(jìn)行識(shí)別。
如果人臉庫(kù)有N個(gè)人臉圖像,用M1,M2,…,MN表示人臉特征向量,由下式得到人臉庫(kù)中人臉圖像的平均臉:
(1)
人臉庫(kù)中人臉圖像與平均臉的均差為:
σi=Mi-Mave
(2)
PCA的構(gòu)造協(xié)方差矩陣為:
(3)
求出矩陣的特征值λi和特征向量yi來(lái)構(gòu)造特征臉空間,由于其維數(shù)較大,一般采用奇異值分解(singular value decomposition,SVD)[12]的方法求矩陣的特征值和特征向量。
特征值λi及其正交歸一化特征向量xi,當(dāng)e的值超過(guò)90%,即認(rèn)為所選的t個(gè)特征值的貢獻(xiàn)率已經(jīng)包含了大部分信息。貢獻(xiàn)率指選取的特征值的與總的特征值的和的比值,即:

(4)
求出原協(xié)方差矩陣的特征向量:

(5)
特征空間:
I=(x1,x2,…,xt)
(6)
將各樣本與平均值做差投影到特征空間,即:
Ωi=ITσi,i=1,2,…,N
(7)
PCA算法訓(xùn)練以及識(shí)別流程如圖1所示。

圖1 PCA算法訓(xùn)練及識(shí)別流程
LDA算法是首先對(duì)特征進(jìn)行提取,利用提取的特征區(qū)分不同類(lèi)別,聚集相同的類(lèi)別。也就是求類(lèi)間和類(lèi)內(nèi)離散度比值最大的特征,即Fisher準(zhǔn)則函數(shù)[13]。類(lèi)間離散度越大越好,類(lèi)內(nèi)離散度越小越好。這就要求提取的特征最具有判斷力。
傳統(tǒng)的LDA算法具體定義如下:

(8)

(9)
其中,SW為類(lèi)內(nèi)離散度矩陣,SN為類(lèi)間離散度矩陣,I為包含的類(lèi)數(shù),M為樣本總數(shù),Mi(i=1,2,…,I)表示第i類(lèi)的樣本數(shù)量,mi為各個(gè)類(lèi)模式的平均值。
I類(lèi)的模式可以表示為:
xi={xi1,xi2,…,xiMi}
xij(i=1,2,…,I;j=1,2,…,Mi)
(10)
LDA的目標(biāo)是要尋找變換V,當(dāng)SW非奇異時(shí),使得Fisher準(zhǔn)則最大:
(11)
由下式得到Vi(i=1,2,…,m)的解:
SNVi=λSWVi
(12)
其中,Vi(i=1,2,…,m)就是前m個(gè)較大的特征值λ所對(duì)應(yīng)的特征向量組成的矩陣。
將PCA算法與LDA算法構(gòu)造的特征子空間進(jìn)行融合,然后將訓(xùn)練樣本與測(cè)試樣本分別朝該融合特征空間投影,獲得識(shí)別特征。圖2為PCA與LDA算法融合的原理過(guò)程。

圖2 PCA-LDA算法的原理過(guò)程
二維主成分分析和PCA相似,都可以對(duì)特征進(jìn)行有效的提取,但是不同于PCA方法的是2DPCA不需要將圖像矩陣轉(zhuǎn)換成向量[14],直接由原始樣本的圖像矩陣得到圖像協(xié)方差矩陣,從而得到特征值和特征向量[15]。
訓(xùn)練樣本的平均圖像為:

(13)
計(jì)算樣本的協(xié)方差矩陣:

(14)
求P矩陣的特征值,對(duì)特征值排序,選取m個(gè)最大的特征值x1,x2,…,xm對(duì)應(yīng)的特征向量X1,X2,…,Xm,對(duì)特征向量做正交化,求得的向量作為投影空間X。
在2DPCA中,求得的投影空間矩陣Y用來(lái)衡量準(zhǔn)則函數(shù)F(W)中W的優(yōu)劣:
F(W)=tr(CW)
(15)
其中,CW是投影矩陣Y的協(xié)方差矩陣,tr(CW)是CW的跡,且
CW=WTE{[x-E(x)]T[x-E(x)]}W
(16)
選取的特征向量為:
i≠j;i,j=1,2,…,m
(17)


(18)
2DPCA不像PCA需要將原始圖像轉(zhuǎn)成一維向量,直接利用原始圖像矩陣得到協(xié)方差矩陣,避免了圖像拉伸時(shí),破壞圖像的結(jié)構(gòu)。所以2DPCA比PCA算法保留了更多的結(jié)構(gòu)信息,計(jì)算協(xié)方差更為準(zhǔn)確。
傳統(tǒng)的LDA存在兩個(gè)突出問(wèn)題:(1)當(dāng)樣本維數(shù)大大超過(guò)訓(xùn)練樣本的個(gè)數(shù)時(shí),就會(huì)產(chǎn)生“小樣本”問(wèn)題;(2)由“小樣本”問(wèn)題導(dǎo)致的邊緣類(lèi)的特征空間解問(wèn)題[16]。
針對(duì)傳統(tǒng)LDA所固有的問(wèn)題,該文提出了兩種改進(jìn)方法:
(1)對(duì)類(lèi)間離散度矩陣和Fisher準(zhǔn)則做出修改[17]。

(19)

(20)
其中,dij是兩個(gè)類(lèi)別之間的歐氏距離,wdij是加權(quán)函數(shù)。
新的Fisher準(zhǔn)則:

(21)

(22)

(2)采用Direct-LDA(D-LDA)算法去掉SN的零空間來(lái)降維[17-18]。
(23)

對(duì)于任意矩陣,LTL矩陣的特征向量為x,特征值為λ,那么可得LTLx=λx[16]。LTL特征向量到LLT特征向量為x→Lx。那么可以推導(dǎo)出,LLTLx=λLx。
2DPCA算法比PCA算法識(shí)別率高,特征抽取時(shí)間短;改進(jìn)的LDA算法改善了傳統(tǒng)的LDA算法的“小樣本問(wèn)題”和“邊緣類(lèi)問(wèn)題”。因此,針對(duì)這兩種方法的優(yōu)點(diǎn),將兩種算法進(jìn)行融合。文中算法第一步將訓(xùn)練樣本進(jìn)行2DPCA操作,產(chǎn)生新的特征空間矩陣,第二步使用改進(jìn)的Fisher準(zhǔn)則選擇投影軸。圖3為算法的整體流程。

圖3 算法的原理過(guò)程
實(shí)驗(yàn)直接采用ORL[19]人臉庫(kù)中的圖像。
圖4是PCA-LDA算法、2DPCA算法、改進(jìn)的LDA算法、2DPCA-改進(jìn)的LDA算法的識(shí)別率對(duì)比結(jié)果。
傳統(tǒng)的PCA算法識(shí)別率較低,而傳統(tǒng)的LDA算法在一定的空間維度下,識(shí)別率較高,但是會(huì)出現(xiàn)最大值,只適用于特定維數(shù)空間。由圖4可以清楚地看到,PCA-LDA算法在15~55維數(shù)間,保持上升趨勢(shì),顯然克服了LDA存在的缺陷, 與2DPCA達(dá)到的識(shí)別率差不多。而改進(jìn)的LDA算法的識(shí)別率比PCA-LDA算法的識(shí)別率要高,所以組合2DPCA與改進(jìn)算法的LDA,融合改進(jìn)后算法的優(yōu)點(diǎn),使得文中算法識(shí)別率在任何維數(shù),比其中任何一種算法的識(shí)別率都要高。

圖4 各算法識(shí)別率對(duì)比
提出了2DPCA融合改進(jìn)的LDA算法。該算法首先將一維主成分分析優(yōu)化為二維主成分分析,對(duì)訓(xùn)練樣本做二維主成分分析,然后對(duì)LDA算法中的類(lèi)間離散度矩陣和Fisher準(zhǔn)則做出修改,根據(jù)改進(jìn)的線(xiàn)性鑒別分析,按照新的Fisher準(zhǔn)則比的大小選擇特征向量作為投影軸。該算法基于PCA-LDA算法加以改進(jìn),克服了PCA-LDA算法存在的缺陷,保存了“最有辨識(shí)力”的信息,同時(shí)還使得在特征提取時(shí)更快更好。
計(jì)算機(jī)技術(shù)與發(fā)展2021年2期