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