宋 杰,姚家振
(安徽大學 計算機科學與技術學院,安徽 合肥 230601)
基于PCA和SVM的人臉識別系統(tǒng)研究
宋 杰,姚家振
(安徽大學 計算機科學與技術學院,安徽 合肥 230601)
本文采用了圖像的RGB特征進行人臉識別,所用的是ORL頭像數(shù)據(jù)庫.先對其進行圖像預處理來增強圖像特征,然后采用PCA方法將其降維,取出其主特征信息.用這個主特征向量空間進行SVM訓練得到支持向量機模型.識別的時候先將要識別的頭像進行相同的預處理,之后映射到樣本空間再進行識別.同時使用了SVM的默認多分類,也采用了一種基于二叉樹方法的多分類,并比較其異同.
人臉識別;PCA;SVM;樣本空間
隨著社會的不斷進步以及各行業(yè)對于快速有效的自動身份驗證的迫切要求,生物特征識別技術在近幾十年中得到了飛速的發(fā)展.作為人的一種內在屬性,并且具有很強的自身穩(wěn)定性及個體差異性,生物特征成為了自動身份驗證的最理想依據(jù).當前的生物特征識別技術主要包括:指紋識別,視網(wǎng)膜識別,虹膜識別,步態(tài)識別,靜脈識別,人臉識別等.
與其他識別方法相比,人臉識別由于具有直接,友好,方便的特點,使用者無任何心理障礙,易于為用戶所接受,從而得到了廣泛的研究與應用.人臉分析主要包括人臉檢測(Face Detection)和人臉識別(Face Recognition)兩方面.從20世紀70年代開始,人臉識別已經(jīng)引起了一些研究人員的強烈興趣,到了20世紀90年代,隨著模式識別、圖像處理、計算機視覺、生理學、心理學及認知學等諸多學科的發(fā)展,人臉識別技術獲得了突破性的進展.
主成分分析(Principal Component Analysis,簡稱PCA)是一種常用的基于變量協(xié)方差矩陣對信息進行處理、壓縮和抽提的有效方法.PCA方法由于其在降維和特征提取方面的有效性,在人臉識別領域得到了廣泛的應用.PCA方法的基本原理是利用K-L變換抽取人臉的主要成分,構成特征臉空間,識別時將測試圖像投影到此空間,得到一組投影系數(shù),通過與各個人臉圖像比較進行識別.
2.1 SVM簡介
支持向量機(Support Vector Machine,簡稱SVM),是統(tǒng)計學理論中最年輕的內容,也是最實用的部分.本方案采用了C-SVC模型,其模型優(yōu)化函數(shù)(C為懲罰系數(shù))為:
決策函數(shù)如下(K(xi,x)為核函數(shù)):
此設計中核函數(shù)使用的是RBF核函數(shù):
同時使用了臺灣大學林智仁副教授開發(fā)的一個運行于matlab的工具箱(libsvm-mat)來實現(xiàn)svm分類,
參數(shù)說明:model即為支持向量積模型,svmtrain用來訓練樣本,第一個參數(shù)是標簽參數(shù),是n*l維矩陣代表第二個樣本參數(shù)的標簽,第三個參數(shù)是模型以及核函數(shù)及其函數(shù)參數(shù)的選擇.svmpredict是用來預測分類的,返回其分類的準確率.
2.2 SVM多分類的實現(xiàn)方案
由于SVM只能處理二分類問題,其內部的多分類實現(xiàn)是兩兩配對然后進行投票分類.
本方案設計了一種完全二叉樹的方法,即先將數(shù)據(jù)按照某種方法分成分,將其作為SVM的兩個分類數(shù)據(jù),同理遞歸的對這兩個數(shù)據(jù)進行同樣的操作,即分成四份,以此類推.本方案為了實現(xiàn)方便,將訓練樣本和測試樣本各占50%,共400張頭像,40個分類,每個人十個頭像.這種多分類明顯的缺點是不如每種數(shù)據(jù)兩兩分類再投票的正確率來得高,但是效率要比這種默認的多分類高,因為二叉樹的分類方法比較次數(shù)要遠遠小于兩兩分類的比較次數(shù).
本方案為了方便比較,選取了兩種預分類方案:
i將原數(shù)據(jù)按照特征的方差進行排序,將同一類的數(shù)據(jù)方差取平均數(shù)操作,然后按照這個平均數(shù)進行排序,將前面的50%分為第一類,將靠后的50%分為第二類.同理依次類推,直到分到第四次的時候使用默認的分類方法.
其索引和特征值見表1:
表1 按照方差進行排序的索引和特征值
ii用Kmeans聚類方法將數(shù)據(jù)預分類為兩類,再將分類數(shù)據(jù)進行SVM訓練,遞歸這兩類數(shù)據(jù),將其每個數(shù)據(jù)再次Kmeans聚類成兩類,直到第三層停止,然后使用默認分類方法.
其索引和特征值見表2:
表2 Kmeans聚類方法的索引和特征值
上面已經(jīng)介紹過如何用SVM進行數(shù)據(jù)預測分類,可以直接調用svmtrain進行多樣本分類,由于本設計自行設計了二叉樹實現(xiàn)的多分類,其為完全二叉樹存放在數(shù)組中,所以在進行測試數(shù)據(jù)樣本分類時使用了遞歸的算法.
測試第i(i 表3 數(shù)據(jù)表 使用原圖像和圖像增強處理后進行SVM分類,最后的匹配效果見圖1: 圖1 增強圖像匹配效果 原圖像匹配效果見圖2 圖2 原圖像匹配效果 比較可知,圖像預處理是必要的,預處理后特征向量的區(qū)分度明顯高于處理前,三種SVM的最終識別率如表4所示: 表4 三種SVM的最終的識別率 上述結果可能因實驗環(huán)境的不同而出現(xiàn)略微的差異,結果的誤差在2%左右. 因為本方案最終有三個學習機,所以可以按照一定的策略進行組合預測,比如提供如下策略:采用投票加信賴機制,如果兩個以上的學習機預測到了同一個結果,那么結果就毫無疑問,當三個分別預測了不同方案時,選取一個比較信賴的學習機的結果.按照這種方案進行了組合預測,其實驗結果如表5: 表5 預測結果 用二叉樹分類比libsvm自帶的多分類的88%識別率要低,說明上述用方差或者Kmeans來分類是有所欠缺的,錯誤多數(shù)是發(fā)生在第一次樣本分類上,說明用很多樣本進行一次訓練的時候,樣本之間的交叉程度很高,這也說明了一點,SVM在多分類方面確實有所欠缺,默認的多分類要進行次數(shù)太多,而采用二叉樹分類,雖然在比較次數(shù)上有所減少,但是很難找到一個正確率無限接近默認多分類的預分類方案,本方案的兩種預分類都比默認多分類正確率低6% -8%左右,所以在今后應努力找到一種好的預分類方案,能用最少的次數(shù)預測出和默認一樣的正確率,即在對預測影響不大的情況下,找到一種比較次數(shù)最少的也就是效率最高的方法. 〔1〕Mathias Eitz,Kristian Hildebrand.A descriptor for large scale image retrieval based on sketched feature lines[J]. EUROGRAPHICS Symposium on Sketch-Based Interfaces and Modeling,2009. 〔2〕Pang Ying Han,Fazly Salleh Abas,Hiew Fu San. Kernelization of regularized feature extractor in face recognition[J].International Conference on Electronics, Information and Communication Engineering Lecture Notes in Information Technology,Vol.11,2012. 〔3〕Josef Sivic,Andrew Zisserman.Video Google:A text retrieval approach to object matching in videos[J]. Proceedings of the Ninth IEEE International Conference on Computer Vision(ICCV’03),2003. 〔4〕焦斌亮,陳爽.基于PCA算法的人臉識別[J].計算機工程與應用,2011,47(18). 〔5〕胡斌斌,姚明海.基于SVM的圖像分類[J].微計算機信息,2010,26(1-1). 〔6〕宋暉,薛云,張良均.基于SVM分類問題的核函數(shù)選擇仿真研究[J].計算機與現(xiàn)代化,2011(8). 〔7〕黃昉,張寶昌,劉金琨.PCA在人臉識別中的改進算法[J].中國科技論文在線,2011,6(1). 〔8〕劉學勝.基于PCA和SVM算法的人臉識別[J].計算機與數(shù)字工程,2011(7). TP391 A 1673-260X(2014)10-0031-024 結論