李歡歡
【摘 要】主成分分析(PCA)是人臉識(shí)別中特征提取的主要方法,支持向量機(jī)(SVM)具有適合處理小樣本、非線(xiàn)性和高維數(shù)問(wèn)題,利用核函數(shù)且泛化能力強(qiáng)等多方面的優(yōu)點(diǎn)。文章將兩者結(jié)合,先用快速PCA算法進(jìn)行人臉圖像特征提取和選擇,用所選擇的人臉特征向量訓(xùn)練多個(gè)支持向量機(jī)(SVM),最后用訓(xùn)練好的支持向量機(jī)(SVM)進(jìn)行人臉識(shí)別的分類(lèi)。在ORL人臉數(shù)據(jù)庫(kù)上進(jìn)行了實(shí)驗(yàn),取得了滿(mǎn)意的識(shí)別效果。
【關(guān)鍵詞】人臉識(shí)別;主成分分析(PCA);奇異值分解(SVD);支持向量機(jī)(SVM)
0.引言
人臉識(shí)別[1]是計(jì)算機(jī)視覺(jué)和圖像模式識(shí)別領(lǐng)域的一個(gè)重要研究課題,它在生物領(lǐng)域、安全領(lǐng)域、商貿(mào)領(lǐng)域及經(jīng)濟(jì)領(lǐng)域都有著廣泛的應(yīng)用前景,諸如身份驗(yàn)證、指紋識(shí)別、監(jiān)控系統(tǒng)等。但由于人臉表情豐富,人臉隨年齡增長(zhǎng)而不斷變化,人臉受光照、成像角度及成像距離等影響,這諸多因素使得人臉識(shí)別成為一項(xiàng)極富挑戰(zhàn)性的課題。
人臉識(shí)別技術(shù)主要包括人臉檢測(cè)階段、特征提取階段和人臉識(shí)別階段,特征提取和人臉識(shí)別是研究的重中之重,當(dāng)前主要的特征提取方法有主成分分析、小波分析、奇異值特征向量等,這些提取方法都是在光照變化不大的前提下才能取得良好的效果,但是光照變化比較大時(shí),計(jì)算就會(huì)比較復(fù)雜,容易獲得帶噪聲的人臉特征向量,導(dǎo)致人臉識(shí)別的精度低。人臉?lè)诸?lèi)器主要有:判別分析、貝葉斯分類(lèi)器、最近鄰分類(lèi)器和K近鄰分類(lèi)器等,這些方法是基于線(xiàn)性的分類(lèi)器,對(duì)于人臉這種高維的特征向量的分類(lèi)識(shí)別率不高,由于面部表情之間差別比較大,因此識(shí)別率比較低。神經(jīng)網(wǎng)絡(luò)分類(lèi)識(shí)別能力強(qiáng),但由于其是一種大樣本方法,且存在過(guò)擬合和局部最優(yōu)的缺陷等也不是一種非常理想的分類(lèi)器。支持向量機(jī)是一種專(zhuān)門(mén)針對(duì)小樣本、非線(xiàn)性高維的模式識(shí)別問(wèn)題,解決了神經(jīng)網(wǎng)絡(luò)的存在的缺陷,因此備受研究人士的親睞[2]-[5]。
1.人臉特征提取
圖像識(shí)別中,常常用矩陣來(lái)表示人臉圖像。然而,高維圖像數(shù)據(jù)對(duì)整個(gè)識(shí)別系統(tǒng)的識(shí)別速度有限的,也不利于實(shí)時(shí)識(shí)別系統(tǒng)的實(shí)現(xiàn)。降維技術(shù)是解決這一問(wèn)題的常用方法,使數(shù)據(jù)從原始圖像高維空間轉(zhuǎn)化為維數(shù)大大減小的特征空間,同時(shí),又保留原始圖像數(shù)據(jù)的絕大部分信息。
主成分分析利用K-L變換得到高維圖像空間的一組正交基,保留其中較大的特征值對(duì)應(yīng)的正交基,組成特征臉空間。將PCA用于人臉圖像的最優(yōu)表示,應(yīng)用主分量重構(gòu)人臉,提出特征臉(Eigenface)的概念,用PCA實(shí)現(xiàn)人臉圖像的緊致表示,認(rèn)為任何一幅圖像都可以用一組特征臉的線(xiàn)性加權(quán)和來(lái)近似重構(gòu),其權(quán)重系數(shù)可以通過(guò)將人臉圖像在本征臉空間投影得到,然后用投影到低維空間中基函數(shù)上的系數(shù)來(lái)表示人臉并進(jìn)行識(shí)別,并采用奇異值分解(SVD)算法簡(jiǎn)化了特征臉的計(jì)算。
對(duì)于一幅M×N的人臉圖像,將其每列相連構(gòu)成一個(gè) D=M×N維的列向量。D就是人臉圖像即圖像空間的維數(shù),設(shè)n是訓(xùn)練樣本的數(shù)目,xi為第i幅人臉圖像形成的人臉向量,則樣本協(xié)方差矩陣為:
Σ=(x-u)(x-u)=XX,其中u是訓(xùn)練樣本的平均圖像向量:
u=x,且X=(x-u,x-u,…,x-u),維數(shù)為D×D。
奇異值分解定理(SVD):設(shè)矩陣A∈R,rank(A)=r則存在兩個(gè)正交矩陣U和V,以及對(duì)角陣Λ,使得A=UΛVT,其中Λ=;
D=diag(,,…,),λ(i=1,2,…,r)為矩陣XX和矩陣XX的特征值,Ui和Vi分別是XX和XX對(duì)應(yīng)于λ的特征向量。上述分解被稱(chēng)為矩陣A的奇異值分解,為A的奇異值。
依據(jù)SVD定理,令λ(i=1,2,…,r) 為矩陣XX的r個(gè)非零特征值,νi為XX對(duì)應(yīng)于λ的特征向量,則XX的正交歸一特征向量ui為:u=Xν(i=1,2,…,r)。
通過(guò)求解維數(shù)較低的矩陣XX的特征值和特征向量實(shí)現(xiàn)了對(duì)樣本集的K-L變換。當(dāng)然這樣得到的特征向量的維數(shù)比較高,為了減少維數(shù),把特征值從大到小排列,選取前k個(gè),構(gòu)成新的特征空間。由于這些特征向量對(duì)應(yīng)的圖像很象人臉,所以被稱(chēng)為“特征臉”。任何一幅圖像都可以向特征臉子空間投影并獲得一組坐標(biāo)系數(shù),這組坐標(biāo)系數(shù)表明了該圖像在特征臉子空間的位置,從而作為人臉識(shí)別的依據(jù)。
2.支持向量機(jī)
支持向量機(jī)SVM(Support Vector Machines)是Vapnike等人在上世紀(jì)九十年代初建立的一種新型的學(xué)習(xí)機(jī)器,它是在以解決小樣本機(jī)器學(xué)習(xí)問(wèn)題為目標(biāo)的統(tǒng)計(jì)學(xué)習(xí)理論(SLT)的基礎(chǔ)上發(fā)展起來(lái)的。SVM建立在SLT的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理的基礎(chǔ)上,根據(jù)有限的樣本信息在模型的復(fù)雜度和學(xué)習(xí)能力之間尋求最佳折中,獲得最好的推廣能力。與傳統(tǒng)方法相比,SVM能夠有效地避免過(guò)學(xué)習(xí)、欠學(xué)習(xí)、維數(shù)災(zāi)難以及陷入局部極小值等問(wèn)題,所以它成為機(jī)器學(xué)習(xí)的一個(gè)新研究熱點(diǎn)。支持向量機(jī)作為統(tǒng)計(jì)學(xué)習(xí)理論的杰出代表,在分類(lèi)和模式識(shí)別等方面取得了很好的效果,將其應(yīng)用到人臉識(shí)別系統(tǒng)中,可以提高其成功率和準(zhǔn)確率。
2.1支持向量機(jī)分類(lèi)
線(xiàn)性支持向量機(jī)是從線(xiàn)性可分情況下的最優(yōu)分類(lèi)超平面發(fā)展而來(lái),由于最優(yōu)超平面的解最終完全是由支持向量決定的,所以這種方法后來(lái)被稱(chēng)為支持向量機(jī)(support vector machines)。線(xiàn)性支持向量機(jī)分為線(xiàn)性可分和線(xiàn)性不可分兩種情況。
在實(shí)際問(wèn)題中,分類(lèi)問(wèn)題往往是非線(xiàn)性問(wèn)題,因此我們需要而最優(yōu)分類(lèi)面也應(yīng)該是非線(xiàn)性的。支持向量機(jī)是通過(guò)引入特征變換來(lái)將原空間的非線(xiàn)性問(wèn)題轉(zhuǎn)化為新空間的線(xiàn)性問(wèn)題,同時(shí)利用核函數(shù)來(lái)解決非線(xiàn)性分類(lèi)問(wèn)題。記K(x,x)(φ(x)·φ(x)),稱(chēng)其為核函數(shù),通過(guò)核函數(shù)將輸入空間的樣本通過(guò)某種非線(xiàn)性變換映射到高維特征空間,使其線(xiàn)性可分,并尋找樣本在此特征空間中的最優(yōu)線(xiàn)性分類(lèi)超平面。
理論上只要選取一個(gè)滿(mǎn)足Mercer條件的核函數(shù),就可以構(gòu)造非線(xiàn)性的支持向量機(jī)。
常用的核函數(shù)有:
線(xiàn)性核函數(shù)(linear function)K(x,x′)=(x·x′)
多項(xiàng)式核函數(shù)(polynomial function)K(x,x′)=(x·x′+1)
徑向基核函數(shù)(radial basis function)K(x,x′)=exp(-g‖x-x′‖)
Sigmoid核函數(shù)(Sigmoid function)K(x,x)=tanh(ν(x·x′)+c)
2.2支持向量機(jī)分類(lèi)器
SVM最初是為兩類(lèi)問(wèn)題設(shè)計(jì)的,當(dāng)處理多類(lèi)問(wèn)題時(shí),就需要構(gòu)造合適的多類(lèi)分類(lèi)器。構(gòu)造SVM多類(lèi)分類(lèi)器的方法主要有兩種:一是直接法,直接在目標(biāo)函數(shù)上修改,將多個(gè)分類(lèi)面的參數(shù)求解合并到一個(gè)最優(yōu)化問(wèn)題中,通過(guò)求解該最優(yōu)化問(wèn)題“一次性”的實(shí)現(xiàn)多類(lèi)分類(lèi)(但計(jì)算復(fù)雜度高,只適合小型問(wèn)題);二是間接法,主要是通過(guò)組合多個(gè)二分類(lèi)器來(lái)實(shí)現(xiàn)多分類(lèi)器的構(gòu)造。常見(jiàn)的方法有:k個(gè)類(lèi)別需要個(gè)支持向量機(jī),當(dāng)對(duì)某個(gè)未知類(lèi)別的樣本進(jìn)行分類(lèi)時(shí),最后得票最多的類(lèi)別即為該未知樣本的類(lèi)別。
3.實(shí)驗(yàn)結(jié)果
3.1實(shí)驗(yàn)環(huán)境
該實(shí)驗(yàn)采用的是ORL人臉數(shù)據(jù)庫(kù)。該人臉數(shù)據(jù)庫(kù)包含了英國(guó)劍橋大學(xué)從1992到1994年間在實(shí)驗(yàn)室采集到的人臉圖像數(shù)據(jù),由40個(gè)人,每人10幅,共400幅圖像組成。每幅圖像的分辨率為112×92=10304,灰度級(jí)為256。將數(shù)據(jù)集中每個(gè)人的10張人臉圖像分成兩組,前5張作為訓(xùn)練集,后5張作為測(cè)試集。訓(xùn)練集和測(cè)試機(jī)各有200個(gè)人臉圖像樣本。
3.2實(shí)驗(yàn)過(guò)程
3.2.1 PCA人臉特征提取
(1)圖像預(yù)處理。
將每個(gè)人的照片進(jìn)行類(lèi)別編號(hào),編號(hào)即為每個(gè)人的所屬類(lèi)別,將每個(gè)人前5張照片放在訓(xùn)練圖片庫(kù),組成訓(xùn)練樣本集,后5張照片放在測(cè)試圖片庫(kù),組成測(cè)試樣本集,先將92×102維的圖像進(jìn)行預(yù)處理,將維數(shù)降為28×32。降維前后的圖像比較如下圖所示:
(2)特征提取。
利用快速PCA降維方法去除像素之間的相關(guān)性,從中提取出主成分,將28×32維降為20維,則該人臉樣本都以這20維的特征向量來(lái)代表。下圖為訓(xùn)練集20個(gè)人的特征臉。
下圖從左到右分別是原始圖像、重構(gòu)特征臉、帶貢獻(xiàn)值的重構(gòu)特征臉。
3.2.2構(gòu)造多類(lèi)SVM分類(lèi)及核函數(shù)的選擇
在多類(lèi)SVM訓(xùn)練階段,由40類(lèi)樣本產(chǎn)生780個(gè)分類(lèi)器。在分類(lèi)階段,讓測(cè)試樣本依次經(jīng)過(guò)這些二類(lèi)分類(lèi)器分類(lèi),最終通過(guò)投票機(jī)制來(lái)確定類(lèi)別數(shù)。
通常采用徑向基核函數(shù)(RBF),當(dāng)g=0.01,C=100,在200個(gè)測(cè)試集中進(jìn)行分類(lèi)的正確識(shí)別率為92%,當(dāng)g=0.01,C=130時(shí),取得的正確識(shí)別率為93.9%,當(dāng)g=0.01,C=130時(shí),分類(lèi)的正確率為94.1%。
3.2.3不同分類(lèi)器之間關(guān)系的比較
前面步驟全部一致,下面分別利用三階近鄰、最近鄰和SVM對(duì)測(cè)試樣本進(jìn)行識(shí)別,所得識(shí)別率如下圖所示:
3.2.4實(shí)驗(yàn)結(jié)果分析
(1)快速PCA算法可有效地降低人臉圖像樣本的維數(shù),簡(jiǎn)化分類(lèi)計(jì)算率。
(2)方差貢獻(xiàn)率高達(dá)90%時(shí),由主成分向量重構(gòu)的特征臉與原始的重構(gòu)特征臉區(qū)別很小。
(3)SVM核函數(shù)的選擇很重要,參數(shù)的選擇與識(shí)別率之間的關(guān)系很大,優(yōu)化參數(shù)的選擇非常重要,當(dāng)前如何選擇參數(shù)仍然是研究者探討的熱點(diǎn)。
(4)在相同主成分貢獻(xiàn)率的前提下,比較SVM、最近鄰和三近鄰分類(lèi)器的分類(lèi)效果。結(jié)果顯示:當(dāng)貢獻(xiàn)率較高時(shí),SVM的識(shí)別率由于其它兩種分類(lèi)器,即SVM是相對(duì)比較理想的多類(lèi)分類(lèi)器。
4.結(jié)論
本文結(jié)合PCA算法與SVM的特點(diǎn),提出了用于人臉識(shí)別的PCA—SVM方法??焖貾CA算法將原始圖像投影到特征空間中,去掉了圖像大量的冗余信息,同時(shí),保留了圖像的有用信息。該算法既實(shí)現(xiàn)了PCA算法的特征壓縮和提取。然后用SVM訓(xùn)練多個(gè)分類(lèi)器解決多分類(lèi)器問(wèn)題,與傳統(tǒng)方法相比識(shí)別率較高。然而如何有效地實(shí)現(xiàn)PCA算法與SVM、如何有效地選擇SVM核函數(shù)的參數(shù),從而進(jìn)一步提高識(shí)別率是下一步有待深入探討的問(wèn)題。
【參考文獻(xiàn)】
[1]Chellappa R,etal Human and Machine Recognition of Faces:A Survey[J].Proceedings of IEEE,1995,83(05):705-740.
[2]齊興敏.基于PCA的人臉識(shí)別技術(shù)的研究[D].武漢.武漢理工大學(xué),2007.
[3]于真.基于支持向量機(jī)的人臉識(shí)別技術(shù)研究[J].計(jì)算機(jī)仿真,2011,28(12):296-297.
[4]孟繁特.人臉識(shí)別關(guān)鍵技術(shù)的研究[D].哈爾濱.哈爾濱工業(yè)大學(xué)模式識(shí)別與智能系統(tǒng)專(zhuān)業(yè),2011.