任天成,劉 新,崔克彬(.山東電力研究院,山東 濟(jì)南 5000;.華北電力大學(xué),北京 07003)
在高度信息化的現(xiàn)代社會,人們的身份鑒別已經(jīng)滲透到日常生活的各個方面。同時,由于交通、通信和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,人們的活動范圍也越來越大,身份鑒別的難度和重要性也越來越突出。人臉識別在公安部門、安全驗(yàn)證系統(tǒng)、信息卡驗(yàn)證、檔案管理、虛擬現(xiàn)實(shí)、智能人機(jī)接口、視頻會議系統(tǒng)及監(jiān)控系統(tǒng)等方面有著非常重要的理論研究價值和實(shí)用價值。因此,人臉識別也成為當(dāng)前模式識別和人工智能領(lǐng)域研究的熱點(diǎn)問題之一。
人臉如同指紋、虹膜、手形及DNA一樣具有唯一性,同時由于它的無侵害性、成本低和對用戶最自然、最直觀的方式,使人臉識別在眾多的生物測定技術(shù)中倍受青睞。人臉識別的基本方法有兩大類,一種是基于幾何特征參數(shù)[1]的方法,如提取眼、嘴、鼻等人臉主要部位的特點(diǎn)及其構(gòu)成的二維拓?fù)浣Y(jié)構(gòu),再按照某種距離準(zhǔn)則進(jìn)行分類。 但由于在參數(shù)提取、特征匹配這兩方面都仍有許多問題需要解決,因此這種方法的應(yīng)用范圍和識別效果還十分有限。另一種是基于模板匹配[2]的方法。這種方法從人臉圖像的整體出發(fā),通過計(jì)算模板和圖像灰度的自相關(guān)性進(jìn)行分類識別。其中,基于小波特征的彈性匹配方法[3]識別效果是比較理想的,但計(jì)算十分復(fù)雜。 而主成分分析(principle component analysis)方法則以其計(jì)算簡單、識別率較好而在各種方法中獨(dú)具優(yōu)勢。這種方法通過計(jì)算圖像矩陣的本征值及其本征向量提取特征參數(shù),在待識別人臉和訓(xùn)練樣本之間采用歐氏距離來進(jìn)行分類。
近年來,支持向量機(jī)[4-6]由于其出色的學(xué)習(xí)、分類性能,已成為機(jī)器學(xué)習(xí)領(lǐng)域的一個研究熱點(diǎn),并在許多領(lǐng)域中得到應(yīng)用,如人臉檢測與識別、手寫體自動識別、文本自動分類等。支持向量機(jī)分為線性支持向量機(jī)和非線性支持向量機(jī)兩種,其中,非線性支持向量機(jī)其核心是核函數(shù)的選取,本文使用了一種特殊的核函數(shù)—布爾核函數(shù)對人臉進(jìn)行識別。首先采用PCA算法對人臉圖像進(jìn)行特征參數(shù)的提?。蝗缓?,將其特征0-1化,采用基于非線性布爾核的SVM進(jìn)行分類。由于支持向量機(jī)本身是一個兩類問題的判別方法,在處理多類問題時,需要構(gòu)造多個兩類SVM分類器。
PCA即離散K-L變換[7]是模式識別中一種有效的特征提取方法。其目的是用較少數(shù)量的特征對樣本進(jìn)行描述,降低特征空間的維數(shù),同時又能保留所需要的識別信息。下面介紹 PCA應(yīng)用于人臉識別的基本原理。
為了論述的方便,這里先簡單的介紹了非線性SVM,接著介紹了用到MDNF布爾核函數(shù)。在下文中,用符號表示向量;用Xi表示向量X在維i上的分量。
非線性SVM通過非線性變換φ將輸入空間的向量轉(zhuǎn)換成高維特征空間中的向量,并在特征空間中構(gòu)造最優(yōu)超平面:
來分隔正例、負(fù)例樣品數(shù)據(jù)。這里,W是高維的特征空間中的向量,b∈R,“<,>”表示計(jì)算向量之間的內(nèi)積。使得:
成在約束
下求解:
的最大值。求解后,可以得到最優(yōu)分類函數(shù)為:
其中:
這里,sgn()是符號函數(shù)。
以上公式中,在計(jì)算超平面和分類函數(shù)時,需要明確給出在特征空間中計(jì)算向量內(nèi)積的函數(shù)。在高維特征空間中計(jì)算向量點(diǎn)積的函數(shù),稱為核函數(shù)。 只要明確給出了核函數(shù),并不需要顯示的給出從輸入空間到特征空間的非線性變換φ,就可以在特征空間計(jì)算向量的內(nèi)積。
本節(jié)中,討論樣品僅具有離散屬性的情況。對于離散屬性 Ai,如果有|Ai|種不同的取值,則可以用|Ai|個布爾文字分別表示樣品在屬性Ai上的取值是否為其值域中的某個特定值。
定理 1:設(shè) U∈{0,1}n,V∈{0,1}n,σ>0,p∈N,I表示單位向量,則:
是布爾核函數(shù)。
函數(shù)KMDNF(U,V)在特征空間中可以表示多個合取范式的析取范式,稱該函數(shù)為單調(diào)析取范式(Monotone Disjunctive Normal Form,MDNF) 核函數(shù)[8]。
對于多類模式識別問題 ,SVM可通過兩類問題的組合來實(shí)現(xiàn)。 通常有兩種策略[9]:(1)“一對多”策略,即一個分類器將每一類與剩下所有類別區(qū)分開來 ;(2)“一對一”策略,即一個分類器將兩個類別對區(qū)分開來。本文采用“一對多”的策略,假設(shè)分類問題涉及M類,算法如下:
Step1:設(shè)已知訓(xùn)練集 T={(xi,yi),…,(wi,yi)}∈(χ×γ)l。
其中 xij′=(xij-)/δj,xi∈χ=Rn,yi∈γ={1,…,M},i=1,…,l;
Step2:對 j=1,…,M進(jìn)行如下計(jì)算:把第 j類看做正類,把其余的M-1類看做負(fù)類,用支持向量機(jī)(基于MDNF布爾核)求出決策函數(shù):
fj(x)=sgn(gj(x))
Step3:判定輸入x屬于第J類,其中J是g1(x),…,gM(x)中最大者的上標(biāo)。
由于構(gòu)成訓(xùn)練樣本的原始圖像尺寸有多種,因此,首先需要把原始圖像歸一化到一個標(biāo)準(zhǔn)尺寸。 設(shè)歸一化后的訓(xùn)練樣本組成的人臉圖像集合為
每一幅圖像 fi(M,N)可堆疊成M×N 維的向量,
得到訓(xùn)練樣本矩陣 X=(xij)L×MN。
訓(xùn)練模塊的基本步驟如下:
Step1.對訓(xùn)練樣本的大小采用雙線性插值方法做歸一化處理后,再做標(biāo)準(zhǔn)化處理,得到X′=(x′ij)L×MN,其中 xij′=(ij-xj)/δj,j,和 δj分別為第 j個向量的均值和標(biāo)準(zhǔn)差;
Step2.對x做K-L變換,計(jì)算其本征值和本征向量,并選取主分量;
Step3.每一幅人臉圖像都投影到獨(dú)立成分所張成的子空間中,得到該圖像的特征參數(shù);
Step4.將得到的特征0-1化,即使其特征值只能取0和1兩個值;
Step5.基于特征參數(shù)構(gòu)造SVM,這里,采用MDNF布爾核函數(shù)。
識別模塊的基本步驟如下:
Step1.對測試樣本進(jìn)行歸一化處理及標(biāo)準(zhǔn)化處理;
Step2.把測試樣本投影到獨(dú)立分量子空間中,得到其特征參數(shù);
Step3.將得到的特征0-1化,即使其特征值只能取0和1兩個布爾值,以便使用MDNF布爾核函數(shù)。
Step4.按第3.3節(jié)的方法進(jìn)行判別。
實(shí)驗(yàn)所用的圖像為ORL[9]標(biāo)準(zhǔn)人臉庫。該數(shù)據(jù)庫包含40個人的400幅圖像,每個人的臉像為10幅具備不同的光照、表情和視點(diǎn)。圖像分辨率為112×92,為灰度圖像,部分圖像如圖1所示。
圖1(a) 一個人的10幅不同表情的圖像
圖1(b) ORL中部分不同人的圖像
對分類結(jié)果的評價有兩種檢驗(yàn)方法:一種是Jackknife檢驗(yàn)方法;另一種為k-fold cross-validation檢驗(yàn)。這兩種檢驗(yàn)都是較為客觀和嚴(yán)格的方法。 Jackknife檢驗(yàn)方法就是通常所說的 “留一法”,每一個樣本依次從數(shù)據(jù)庫中取出作為測試樣本,而剩余的樣本作為訓(xùn)練集。在k-fold crossvalidation檢驗(yàn)方法中,隨機(jī)將數(shù)據(jù)庫分為k個子集合,依次取出一個子集作為測試樣本集,而其余的k-1個子集合作為訓(xùn)練集此過程循環(huán)k次。針對本文樣本集較小的情況,我們選用“留一法”,即每次選取一個人的9幅圖像作為訓(xùn)練樣本集,剩余1幅圖像作為測試樣本集。
試驗(yàn)1:檢驗(yàn)類別的多少對基于MDNF布爾核函數(shù)的SVM分類性能的影響。
這里對其參數(shù)選用如下設(shè)置:超參數(shù)C=1,σ=0.5。MDNF-SVM表示基于MDNF布爾核函數(shù)的SVM。
從圖2中的變化折線可以看出,在超參數(shù)C和σ固定的情況下,分類類別在類別數(shù)為26的時候分類準(zhǔn)確率最高,隨著分類類別數(shù)的增多,其分類準(zhǔn)確率又有所下降,原因在于本文采用的“一對多”的多分類識別策略本身存在一定的缺陷性。
試驗(yàn)2:參數(shù)σ對分類性能的影響。
這里的超參數(shù)C=1,分類類別選擇類別數(shù)為26。
從圖3中的變化折線可以看出,超參數(shù)的變化可以分為兩個階段,(0,1]和(1,10],在(0,1]這個區(qū)間段中,其分類準(zhǔn)確率隨著超參數(shù)的增大而增大,在 σ=0.8 時最大;而在(1,10]中,分類準(zhǔn)確率隨著超參數(shù)的增大而減小,可以預(yù)測,當(dāng)σ大于10時,分類準(zhǔn)確率會迅速下降。 因此,在選取超參數(shù)σ時,要在區(qū)間段(0,1]間選擇,該試驗(yàn)也為超參數(shù)的選取提供了一個經(jīng)驗(yàn)原則。
試驗(yàn)3:基于MDNF核函數(shù)的SVM與PCA及線性SVM的分類性能比較。
從前面兩個試驗(yàn)結(jié)果可以看出超參數(shù)σ=0.8時其分類準(zhǔn)確率最好,因此該試驗(yàn)的超參數(shù)選取如下:C=1,σ=0.8。
因?yàn)閭鹘y(tǒng)PCA識別算法的分辨率一般均在90%以下,因此這里不再針對PCA算法進(jìn)行比較,只針對識別率較高的線性SVM進(jìn)行比較。從圖4的變化曲線可以看出,線性SVM和MDNF-SVM的分類準(zhǔn)確率變化曲線相似,二者都是在類別數(shù)為26時分類準(zhǔn)確率最高,但其分類準(zhǔn)確率略低。原因在于樣本的特征之間時存在聯(lián)系的,而線性SVM不考慮特征之間的關(guān)聯(lián)性,MDNF-SVM則考慮了特征之間的關(guān)聯(lián)性。
圖2 識別率隨類別數(shù)變化折線
圖3 識別率隨類MDNF-SVM參數(shù)變化折線
圖4 識別率隨類別數(shù)變化比較折線
本文給出了一種新的人臉識別的非線性核函數(shù)——MDNF布爾核函數(shù),在標(biāo)準(zhǔn)人臉數(shù)據(jù)庫ORL上進(jìn)行了多組試驗(yàn),不僅從試驗(yàn)的角度說明了該算法同傳統(tǒng)PCA算法及線性SVM算法的優(yōu)越性,證明了算法的有效性,而且就樣本類別及MDNF核參數(shù)的選取對算法的影響也做了試驗(yàn),為MDNF核參數(shù)的選取及分類類別的設(shè)定有一定的指導(dǎo)作用。針對該方法對于類別數(shù)過多分類準(zhǔn)確率有所下降的情況,我們也正在展開研究,以期找到比較好的解決方案。