尹紅敏+葛廣英
摘 要 為降低人臉識別的誤差率,本文采用了快速主成分分析(快速PCA)和支持向量機(SVM)結合的算法。先用快速PCA算法進行人臉圖像降維和特征選擇,提高識別速率;然后用所選擇的人臉特征向量訓練多個SVM;最后用訓練好的SVM進行識別分類。實驗在訓練的人臉庫上進行,在速度和正確的識別率方面都取得了滿意的效果。
關鍵詞 人臉識別 快速PCA SVM
中圖分類號:TP391.9 文獻標識碼:A
0引言
隨著社會的不斷進步以及各行業(yè)對于快速有效的自動身份驗證的迫切要求,生物特征識別技術得到了飛速發(fā)展,人臉識別是當前生物特征識別的主要技術之一。
人臉識別技術與其他識別方法相比,具有直接、友好、方便等特點,易于被用戶接受,從而得到了廣泛的研究與應用。但人臉表情豐富,人臉會隨年齡增長而不斷變化以及受光照、成像角度諸多因素的影響下,人臉識別成為一項極富挑戰(zhàn)性的課題。
主成分分析(PCA)作為經典的特征提取方法被廣泛研究,但樣本維數較大時,使用PCA進行降維和特征選擇需要花費很長時間。為提高識別速率,文本使用了快速PCA算法。支持向量機(SVM)是一種專門針對小樣本、非線性高維的模式識別問題的分類器,可以提高人臉識別的準確率。
1人臉識別系統(tǒng)
人臉識別系統(tǒng)在軟件MATLAB上實現,系統(tǒng)流程如圖1所示。
2 圖像處理
2.1圖像采集
使用小米手機獲取20人,每人不同表情、角度的圖像各10幅,組成200幅人臉庫。
2.2圖像預處理
在MATLAB的腳本文件編輯界面,對圖像進行如下預處理:
(1)對200幅彩色圖像進行灰度轉化。
(2)增加灰度圖像對比度。
(3)把灰度圖像裁剪成112*92統(tǒng)一大小像素的圖像,保存為.pgm格式。
(4)分割數據集。先將圖像進行類別編號,編號即為每個人的所屬類別;然后將每個人的10幅圖像分成訓練集和測試集兩組,前5幅放入訓練集,另外5幅放入測試集。
(5)讀入訓練圖像。將每幅圖像按列存儲為1個10304維行向量,每行1個人臉樣本。
2.3主成分分析(PCA)
2.3.1 PCA原理及目的
PCA的基本原理:利用K-L變換提取人臉的主要成分,構成特征臉空間,識別時將測試圖像投影到特征臉空間,得到一組投影系數,然后與各個人臉圖像比較進行識別。
PCA的目的是通過線性變換找一組最優(yōu)的單位正交向量基,用它們的線性組合重構原樣本,并使重構出來的樣本和原樣本的均方誤差最小。
2.3.2 PCA快速算法
PCA計算中最主要是計算樣本散布矩陣的特征值和特征向量。設樣本矩陣X大小為n€譫(n個d維樣本特征向量),則樣本散布矩陣S將是一個d€譫的方陣。維數d較大時計算很困難,得到散布矩陣的全部特征值可能要用很長時間。針對這種情況,可采用快速PCA算法。
設Zn€譫矩陣為樣本矩陣X中每個樣本減去樣本均值后得到的矩陣,則散布矩陣S為(ZTZ)d€譫。現令矩陣R=(ZTZ)n€譶,一般情況下,樣本n數目遠小于樣本維數d,由線性代數的知識,可得S和R有相同的非零特征值。
式(2)說明散布矩陣S的特征向量是。
因為矩陣R的維數遠遠小于矩陣S的維數,所以相對于傳統(tǒng)PCA算法,快速PCA算法可大大減小計算量,提高運算速度。
2.3.3數據規(guī)格化
數據規(guī)格化指將特征的某個屬性的取值范圍投射到一個特定范圍內,用以消除數值型屬性因大小范圍不一而影響基于距離的分類方法結果的公正性。數據規(guī)格(下轉第157頁)(上接第147頁)化在模式識別問題中占據著舉足輕重的地位,所以在訓練之前,需要對訓練集中的全體樣本進行規(guī)格化。
本文用最大最小規(guī)格化方法對全體樣本進行規(guī)格化,該方法對被初始數據進行一種線性轉換。設minA和maxB分別為屬性A的最大和最小值。該方法將屬性A的一個值v映射為v'且v'∈[new_minA,new_maxA],計算公式為:
2.4 SVM分類器
在人臉識別過程中,分類器對最終類別判斷起著至關重要的作用。支持向量機(SVM)是在以解決小樣本機器學習問題為目標的統(tǒng)計學習理論的基礎上發(fā)展起來的。與傳統(tǒng)方法相比,SVM能夠有效地避免過學習、欠學習、維數災難等問題。其應用到人臉識別系統(tǒng)中,可以提高識別的準確率。
實驗中,SVM分類器用徑向基核函數生成,參數( ,c)采用林智仁博士提出的基于交叉驗證和網格搜索的選擇方法。
3 結論
本文結合快速PCA算法與SVM用于人臉識別??焖貾CA算法將原始圖像投影到特征空間中,去掉圖像大量冗余信息的同時,保留了圖像的有用信息;然后用SVM訓練多個分類器解決多分類器問題,對于100幅人臉樣本的測試集,識別率達到了96%。
參考文獻
[1] 宋杰,姚家振.基于PCA和SVM的人臉識別系統(tǒng)研究[J].赤峰學院學報(自然科學版),2014(20):31-32.
[2] 孟繁特.人臉識別關鍵技術研究[D].哈爾濱工程大學,2012.
[3] 于真.基于支持向量機的人臉識別技術研究[J]. 計算機仿真,2011(12):296-299.
[4] 王國棟.基于MATLAB的人臉識別算法的研究[D].內蒙古大學,2014.
[5] 蔡靜,尹紹宏.基于MATLAB的人臉識別研究[J].電子世界,2012(21):20-21.
[6] 張錚,王艷平,薛桂香,等.數字圖像處理與機器視覺:Visual C++與Matlab實現[M].人民郵電出版社,2010.
[7] 王煜,劉敏.基于支持向量機的規(guī)則零件檢測技術研究[J].電子測量技術,2012(01):80-84.