摘要:采用了一種通過KPCA提取人臉圖像特征,線性SVM對特征進(jìn)行加權(quán),用最近鄰法分類人臉的識別系統(tǒng)。整個系統(tǒng)實(shí)質(zhì)上構(gòu)成了一個支持向量分類網(wǎng)絡(luò)。為了自動進(jìn)行網(wǎng)絡(luò)訓(xùn)練和參數(shù)尋優(yōu),提出了一套自動相關(guān)反饋訓(xùn)練方法;并采用了圖像灰度的伽馬校正技術(shù)減少光照變化對識別的影響,提高了分類器的性能。基于ORL數(shù)據(jù)庫的相關(guān)實(shí)驗(yàn)表明,在很少樣本訓(xùn)練條件下,這樣的系統(tǒng)能夠獲得較高性能。
關(guān)鍵詞:人臉識別; 核主成分分析; 支持向量機(jī); 相關(guān)反饋
中圖分類號:TP391文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)02-0491-04
人臉識別是模式識別和計算機(jī)視覺領(lǐng)域重要且熱門的研究課題,具有廣闊的應(yīng)用前景。人臉識別是典型的高維數(shù)據(jù)分類問題,利用子空間技術(shù)可以大大降低數(shù)據(jù)的特征維數(shù),節(jié)省存儲和計算資源。迄今為止已經(jīng)出現(xiàn)了許多有效方法,如線性的主成分分析(PCA)#65380;獨(dú)立成分分析(ICA)#65380;非負(fù)矩陣分解(NMF)#65380;非線性的支持向量機(jī)(SVM)#65380;核主成分分析(KPCA)[1~6]#65380;核非負(fù)矩陣分解(KNMF)[7]等。一般來說,非線性人臉識別方法的性能通常高于線性方法。然而,線性方法通常是無監(jiān)督的,而非線性方法通常需要調(diào)整更多的參數(shù),具有更多的主觀性。對于具體應(yīng)用而言,線性方法似乎更便捷,因而應(yīng)用更廣泛。本文著重討論很少樣本訓(xùn)練條件下,利用KPCA和SVM算法提取非線性的特征來識別人臉。為了解決參數(shù)調(diào)整不便的困難,提出一種基于相關(guān)反饋的自動參數(shù)調(diào)整方法,并利用一種簡單的重映射技術(shù)減少照明問題影響,能夠提高識別的精度。相關(guān)對比實(shí)驗(yàn)表明,在小樣本訓(xùn)練下,本文提出的系統(tǒng)能夠得到更好的性能。
1基于核方法的非線性特征提取和識別
許多利用機(jī)器學(xué)習(xí)的數(shù)據(jù)分析任務(wù)中,都需要對數(shù)據(jù)進(jìn)行合適的表示或描述。一個有效的數(shù)據(jù)表示能夠使數(shù)據(jù)的內(nèi)在結(jié)構(gòu)更清晰并減少數(shù)據(jù)的維數(shù),以利于進(jìn)一步計算。PCA#65380;NMF等方法都是線性的,雖然得到廣泛應(yīng)用,但是它們不能揭示數(shù)據(jù)中隱藏的非線性結(jié)構(gòu)。除此以外,線性方法只能處理具有屬性值的數(shù)據(jù)。在很多應(yīng)用中人們可能不知道數(shù)據(jù)的屬性值,而只知道相互關(guān)系(相似或不相似)。線性方法無法直接應(yīng)用于這樣的場合[7]。隨著Vapnik等人提出的統(tǒng)計學(xué)習(xí)理論和支持向量機(jī)方法的深入研究和應(yīng)用,通過核函數(shù)技巧進(jìn)行非線性映射技術(shù)被廣泛應(yīng)用于線性算法。線性算法紛紛被核化成為非線性算法。
1.1核主成分分析
KPCA是PCA的非線性推廣,它用非線性變換x→Φ(x)∈H,將n維空間中的隨機(jī)向量x映射到高維特征空間H,在其中設(shè)計通常的線性PCA,而在原空間中就是一種非線性算法[8,9]。設(shè)H中的樣本像為Φ(xj), j=1,2,…,m,其集中在一起,均值為∑lj=1Φ(xj)=0。m是輸入樣本個數(shù)。KPCA對角化映射數(shù)據(jù)Φ(xj)的協(xié)方差矩陣
2支持向量網(wǎng)絡(luò)的訓(xùn)練
2.1分類器的多分類策略和相關(guān)反饋
人臉識別是多分類問題。本文應(yīng)用了一對多策略[10]SVM來構(gòu)建多類分類器,也就是采用了一個類同所有其他的類相比較的策略。為了區(qū)分n類圖像,需要構(gòu)建n個超平面,每個超平面將某一類從其他類劃分出來。也就是說,在圖1中KPCA提取數(shù)據(jù)特征后,實(shí)際需要構(gòu)建并訓(xùn)練n個并列的SVM分類器實(shí)現(xiàn)n類識別。
分類過程可以用相互比較的方式完成。基于內(nèi)容的圖像檢索(CBIR)技術(shù),就是這樣的比較方法。分類可以通過檢索方式實(shí)現(xiàn)。但CBIR實(shí)用中,會因?yàn)樵诟邔痈拍詈偷蛯犹卣髦g存在巨大差別,圖像檢索的精度常不符合用戶的期望。一種稱為相關(guān)反饋的學(xué)習(xí)機(jī)制因此被提出[11]。其基本思想是根據(jù)相關(guān)信息建立一個模型,由用戶反饋指出哪個圖像同查詢圖像相關(guān),以便再次檢索得到好的結(jié)果。利用相關(guān)反饋技術(shù),有用的信息不僅是特征空間本身,而且包括了由用戶給出的相關(guān)信息。顯然,相關(guān)反饋通過對特征的重新加權(quán)改變了距離矩陣,使得相關(guān)圖像間距離更接近了。
SVM本質(zhì)上是神經(jīng)網(wǎng)絡(luò)。但與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同的是,它在訓(xùn)練中自動選擇網(wǎng)絡(luò)中心并加權(quán)特征。因而SVM還能夠用來對特征加權(quán)。本文的思路是對KPCA算法得到的特征,采用線性SVM自適應(yīng)加權(quán)進(jìn)一步挑選最有效特征,并得到分類模型。為了自動訓(xùn)練產(chǎn)生某類的SVM模型(分類超平面),標(biāo)準(zhǔn)數(shù)據(jù)庫中的圖像被標(biāo)記為相關(guān)和不相關(guān)。本文執(zhí)行兩類SVM學(xué)習(xí)算法來構(gòu)建一個適合表示同類查詢的分類器。根據(jù)圖像到分類超平面的距離來索引它們,在結(jié)果中可以獲得相關(guān)圖像的排列順序。重復(fù)如此過程,直到屬于同一類的所有樣本都集中排序在索引記錄的最前面,即所有同類樣本都被SVM分類。這種方法首先由文獻(xiàn)[12]提出,筆者改進(jìn)并描述如下:
a)標(biāo)記訓(xùn)練集中圖像為兩類子集:相關(guān)集I+和不相關(guān)集I-;
b)為SVM準(zhǔn)備訓(xùn)練數(shù)據(jù)(fi, yi), f表示從圖像hi中由KPCA提取的特征
fi∈I+∪I-,yi=+1, if fi∈I+-1, if fi∈I-(16)
c)利用SVM算法構(gòu)建決策函數(shù)
d(f)=∑iαiyi
d)計算數(shù)據(jù)集中每個圖像Ii的得分
score(Ii)=d(fi)(18)
e)通過得分索引所有圖像,如果前N1個排序包括幾乎全部屬于一類的樣本,則停止訓(xùn)練;否則重復(fù)訓(xùn)練直至達(dá)到一個迭代限制。
N1表示某類訓(xùn)練樣本中的無噪聲樣本的數(shù)量,實(shí)際上控制著外點(diǎn)的數(shù)量。
2.2相似性估計
比較式(13)和(17),筆者忽略了后者的符號函數(shù)sign(·)。因此d(f)是一個從一幅圖像到分類超平面的決策距離,也就是被加權(quán)后的特征形成的一種距離表示。而且,在相關(guān)反饋中,筆者只考慮了同一類樣本而沒有顧及其他所有類樣本,因此用到此處的這個兩類SVM算法更像是單類SVM[13,14]。特征加權(quán)使得分類超平面形成了一個包含球,它在特征空間包含了幾乎所有屬于一類的樣本。因此,能夠利用這樣的分類器,逐個地比較和測試被識圖像,并指定其標(biāo)準(zhǔn)描述向量hi到最小化d(fi)的類中。也就是說,此處用到了最近鄰準(zhǔn)則(NN)[15]分類。
SVM與KNN相結(jié)合構(gòu)造了一種新的分類器。該分類器把每類支持向量構(gòu)造的超平面作為類中心點(diǎn),利用最近鄰準(zhǔn)則(也稱為最鄰近中心準(zhǔn)則)歸類數(shù)據(jù)。由于每類只有一個中心點(diǎn)(即每類的分類超平面),避免了大規(guī)模數(shù)據(jù)條件下傳統(tǒng)KNN方法的反復(fù)計算,速度極快。方法如圖2所示。
2.3線性SVM的參數(shù)調(diào)整
只有一個懲罰因子參數(shù)C控制著線性SVM的性能(見式(11)),即控制著包含球(超平面)的形狀。它實(shí)際決定著包含球的外點(diǎn)數(shù)量。當(dāng)C減少時,外點(diǎn)數(shù)量增加;當(dāng)C增加時,外點(diǎn)數(shù)量減少。而分類超平面的支持向量數(shù)量也依賴于C。當(dāng)C減少時,支持向量數(shù)量減少。外點(diǎn)的增加使得球的形狀平滑,因而更容易用少的支持向量描述。
綜上所述,筆者希望這樣的情形,即每個相關(guān)樣本都能夠進(jìn)入包含球內(nèi)(外點(diǎn)僅僅是噪聲樣本),且包含球能夠被最少的支持向量構(gòu)建。在這種情況下,優(yōu)化的C的值應(yīng)該盡量大,以便能包含所有同類樣本#65380;占據(jù)最大體積的特征空間;同時分類超平面應(yīng)該用盡量少的支持向量構(gòu)建以保持平滑這意味著推廣性最好。
具體算法中的實(shí)際措施為:設(shè)定一個較小的初始C值(如100)。通過相關(guān)反饋實(shí)現(xiàn)所有同類訓(xùn)練樣本進(jìn)入包含球,且異類樣本全部為外點(diǎn);在上述要求下,調(diào)整C逐漸變大,但保持支持向量數(shù)目最小化,從而自動得到最優(yōu)C。
3實(shí)驗(yàn)算法與結(jié)果
3.1實(shí)驗(yàn)環(huán)境
本次實(shí)驗(yàn)是在Celeron 2.66 GHz#65380;內(nèi)存512 MB#65380;Windows XP SP2機(jī)器上利用MATLAB 7.0編程實(shí)現(xiàn)的。使用ORL人臉數(shù)據(jù)庫作為數(shù)據(jù)集,分別以O(shè)RL 數(shù)據(jù)庫中每人的前一個或前兩個圖像作為訓(xùn)練集,剩下的樣本作為測試集。整個支持向量網(wǎng)絡(luò)實(shí)際需要人為控制的參數(shù)只有一個,即KPCA的多項(xiàng)式核的階次。為了說明問題,本文比較了PCA#65380;2DPCA#65380;KPCA+KNN(KPCA提取特征后直接利用K-最近鄰法分類)和KPCA+SVM(本文方法)的性能測試結(jié)果。
3.2利用指數(shù)衰減因子改善光照