馬 田 吳 陳 喬雯雯 王元甲 沙陽陽
(江蘇科技大學計算機學院 鎮江 212000)
人臉識別是一種借助于計算機對人臉圖像進行特征提取和識別的模式識別技術[1],是生物識別技術的研究熱點,具有非接觸、便捷可靠等優點,正日益應用于金融安全、交通通行、信息安全等領域,目前已經成為模式識別及人工智能領域的研究熱點[2~5]。但是人臉容易受到光照、姿勢、年齡、毛發等因素影響,在實際條件下通常不能采集到大量人臉圖像樣本,這決定了人臉識別存在小樣本、非線性、高維數等問題。
支持向量機(Support Vector Machine)產生于統計學習理論,更廣泛地被認為是一種用核函數替代地學習方法,能有效解決輸入空間存在的樣本線性不可分、維數過高等問題,克服了神經網絡中存在大樣本學習方法的缺陷,在模式識別和機器學習領域引起了廣泛的關注并取得了諸多的成果,目前已經成為人臉識別的首選分類器[6~7]。通常,向量集在低維輸入空間難以劃分,解決地方法是將訓練樣本映射到高維空間,在高維空間中引入核函數得到分類函數。在實際應用中,支持向量機分類器的性能很大程度上取決于核函數的選擇[7~8],選取不同的核函數使得分類的效果也存在差異。本文在分析了幾種常見核函數存在的優缺點,提出了一種混合核函數的SVM 分類器,在參數尋優階段使用改進的網格搜索法,將該算法應用在ORL 人臉庫中,驗證了改進算法的可行性。
支持向量機基于結構風險最小化原則,具有良好的泛化能力[8]。支持向量機的優點是可以有效地解決輸入空間線性不可分問題,通過引入核函數,將輸入空間中的樣本映射到高維空間進行內積運算,而不需要知道非線性變換地形式,大大減少了計算地復雜度。SVM 的分類思想[9~10]是構造一個最優分類超平面,使得兩類樣本能準確地分開,最初是在解決二分類問題時提出的,經過長期的發展,SVM的研究范圍已經推廣到多分類問題。
SVM 算法的輸入是一個集合:{(xi,yi)|xi∈Rd,yi∈{-1,+1}},d 是樣本的維數,在d 維空間中分類線可以表示為

符號“.”表示內積,w是分類面法向量,b是偏移量。將求解最優分類線轉化為求二次規劃問題:

分類超平面滿足:

引入拉格朗日乘數ai,構造方程:

約束條件:

對ai求解Q(a)的最大值:

求得SVM的最優分類函數為

其中:b*為分類的閾值,sgn(.)是符號函數。
對于線性不可分的訓練樣本,需要引入松弛因子ξi≥0,i=1,…,n,式(3)變為

最優線性分類面問題的求解變為

其中:C 為懲罰因子,它控制分類偏差與泛化能力的平衡,為常數。應用拉格朗日法構造方程:

將原問題轉化為對偶問題的約束條件變為

由此得到的最優分類面即為廣義最優分類面[10]。
核方法kernel methods(KMs)是一類模式識別的算法[11]。核函數是解決非線性模式分析問題的一種有效途徑,其核心思想是:首先,通過某種非線性映射將原始數據嵌入到合適的高維特征空間,利用通用的線性學習器在這個新的空間中分析和設計線性學習算法,如果算法中各模式矢量間的相互作用僅限于內積運算,不需要知道非線性變換的具體形式,只要用滿足Mercer條件的核函數替換線性算法中的內積,就能得到原輸入空間中對應的非線性算法這種稱為“核技巧”的方法[12~14],即用Mercer核函數來簡化運算,有效解決非線性問題和高維數災難問題。
假設輸入空間的樣本xk∈R,K=1,2…l,被某種非線性映射映射? 到某一特征空間H 得到φ(x1),φ(x2),…φ(xN)那么輸入空間的點積形式,在特征空間H就可以用Mercer核來表示為
下面給出一些常用的Mercer核函數:
線性核函數:K(x,y)=x·y;
多項式(Poly)核函數:K(x,y)=(x·y+1)d,其中d是整數,可以自定義的參數;
徑 向 基 (RBF) 核 函 數 :K(x,y)=exp(-||x-y||2/2σ2);
sigmoidal 核函數:K(x,y)=tanh(-b(x·y)-c) ,其中b,c是自定義的參數。
在這四種核函數中,徑向基函數具有較寬得收斂域,適用于高維、低維、大樣本和小樣本下的訓練樣本,是較為理想的分類函數[15],徑向基函數(RBF)是某種沿徑向對稱的標量函數。最常用的徑向基函數就是高斯核函數。RBF 核函數可以將一個樣本映射到一個更高維的空間,而且線性核函數是RBF 的一個特例,與多項式核函數相比,RBF需要確定的參數要少,核函數參數的多少直接影響函數的復雜程度。其中多項式核函數具有全局性核函數的范化能力,而徑向基函數具有局部性核函數的學習能力[16~18]。結合兩者的優勢,本文提出了一種混合核函數的方法,使得分類器具有更好的推廣功能。
任何一種核函數,具有優點也存在著局限性,目前用于SVM 分類的核函數主要有局部核函數和全局核函數。局部核函數的局限性是只有離輸入數據距離較近的點對函數的值才有影響,但是插值能力較強,善于提取樣本的局部屬性[19]。高斯徑向基核函數是一個典型的局部核函數。全局函數中相距很遠的數據點對核函數都有影響,泛化能力較強,善于提取樣本數據的全局屬性,其中典型的全局函數是多項式核函數。
考慮到采用單一的核函數不能全面地表示樣本數據的特點,局部核函數具有較強的學習能力,而全局性核函數具有較強的泛化能力,結合兩者的優勢,避開兩者的弱勢,因此現在將高斯核函數和多項式核函數結合起來,創建一個更加全面的混合核函數,其表達式為
K(x,xi)=pKpoly(x,xi)+(1-p)Krbf(x,xi)=p(x+xi+1)q+(1-p)exp(-||x-xi||2)/2σ2其中p∈(0,1),p 和1-p 分別表示混合核函數中多項式核和徑向基核所占比重。
在實際應用支持向量機時,對分類精度有重要影響的參數:懲罰因子C,核函數及其核參數。本文所選用的組合核函數表達式為
K(x,xi)=p1(x+xi+1)q+p2exp(-||x-xi||2)/2σ2其中p1,p2為核函數的權重,是介于0 到1 之間的任意一個值。對于組合核函數的參數選擇,現在仍然是個待解決的問題,本文在對于單核的網格搜羅法[20]的基礎上,將其推廣至組合核函數中,選擇網格搜索法來統一確定全部核參數及其權重。具體算法如下:
1)網格搜索首先要選取合適的懲罰因子集C,核參數集合q,σ,以及權重區間。
2)然后以固定的步長,沿著四個參數的方向生成四維網格,網格中的節點即為初始給定范圍內所有可能的懲罰因子參數與核參數組成的參數對。
3)對2)步選擇出最優的核參數以及組合核權重后,再在該最優核參數附近小范圍內進行步長較小的網格搜索法。
4)用較小步長得到的參數與最優參數對做比較。如果較小步長得到的參數對優于第一次搜羅法得到的參數,則選擇第二次最優參數,在第二次最優參數對周圍繼續選用更小的步長,直到選擇最優參數為止。
為了驗證所提出的組合函數的性能,我們利用此組合核函數進行了人臉識別實驗,并分別與多項式函數、徑向基函數進行了比較。
實驗步驟:
1)采用了ORL人臉庫,該人臉庫有40個人,每人有10 幅圖像,一共有400 幅圖像。實驗中,分別選擇每個人前5幅圖像作為訓練樣本,計200張,其他五幅圖像作為測試集,計200張。對ORL人臉庫中的圖像進行歸一化處理。圖像的灰度值歸一化為[0,1]區間。
2)采用PCA算法對訓練樣本進行特征提取,將測試樣本投影到特征空間中,建立人臉特征向量訓練樣本。
3)將2)中獲得的人臉特征向量集作為混合核函數的SVM分類器的輸入,構造分類器進行訓練。
4)使用改進的網格搜索算法進行混合核函數的參數尋優。
5)將待測試的樣本作為先前建立好的SVM 分類器的輸入進行分類識別。

表1 三種分類器對應的最優參數和識別率
從實驗數據中可以看出,高斯核函數的訓練速度和識別率明顯優于多項式核函數。混合核函數插值能力較強,并善于提取樣本的全局特性,使得其在人臉識別中的取得了更高的識別率,證明了混合核函數比其他單核函數具有優越性。
本文主要采用單核和混合核函數SVM 方法進行人臉識別研究,將學習能力強、泛化能力弱的局部性核函數與泛化能力強、學習能力弱的全局性核函數結合起來構成了混合核函數,并將SVM 推廣到人臉識別中這一典型的多分類問題中,通過仿真實驗證明了混合核函數支持向量機在解決小樣本及多分類問題上的優越性。