任安虎 王 磊
(西安工業(yè)大學電子信息工程學院 西安 720021)
?
PCA人臉識別算法的優(yōu)化*
任安虎 王 磊
(西安工業(yè)大學電子信息工程學院 西安 720021)
生物識別技術的快速發(fā)展,使得人臉識別技術成為研究熱點。主成分分析算法是人臉識別技術中被使用最多的算法之一,它因識別速度快,識別率高被廣泛認可。針對傳統的PCA算法由于外界的干擾因素會影響它的識別率。基于提高PCA算法的識別率和抗干擾特性,通過對原始圖片的去噪聲,直方圖均衡化,歸一化三種預處理方法,同時結合Adaboost算法,能一定程度地提高識別的成功率和算法的抗干擾性。實驗結果表明優(yōu)化后的PCA算法的識別率相對提高了10%,識別速率比原始算法提高了30%。
生物識別技術; 人臉識別; 主成分分析算法; 識別率
Class Number TN91
伴隨著科技的發(fā)展,人們希望把科學技術應用于生活,通過這種方式來提高生活的舒適度和安全性,比如當下比較熱門的研究課題生物識別技術在門禁系統上的應用,而人臉識別又是智能門禁系統上必不可少的重要環(huán)節(jié)。人臉識別是生物識別技術中的一種,人臉識別作為生物特征識別中的重要的手段,顯示出重要的學術價值[1]。人臉識別的安全性高可靠性強,被廣泛用于身份認證、企業(yè)考勤、安全部門等生活中的方方面面。
在圖像處理領域中,人臉識別技術也是一個非常重要并且熱門的研究課題[2],其主要目的就是從人臉圖像中提取人的面部特征。國外對于人臉識別研究起步較早,從最初的機械識別階段到人機交互階段,直到Karhunen-Loeve變換的提出,為PCA算法在人臉識別上的應用奠定基礎,PCA算法于1991年運用到人臉識別領域,這也使得人臉識別進入了一個全智能自動檢測的階段。國內相對于國外雖然起步晚,但是發(fā)展迅速,國家863計劃、國家科技支撐計劃和自然科學基金眾多基金項目都對人臉識別的相關研究做出了重要支撐。國內的科研院校、機構及公司也在人臉識別技術上都取得了進展。目前人臉識別的算法有很多,主成分分析法[3]是在國內外被使用最多并且識別率相對較高的一種方法。文獻[4]通過使用 PCA算法對圖片進行降維,然后對降維后的特征采用LDA算法,訓練出一個最具判別力的分類器,可以使PCA對光照的魯棒性增強;文獻[5]通過使用快速積分圖提取人臉的Haar特征,然后把閾值設定和Adaboost方法結合,將每次檢測的最優(yōu)弱分類器級聯成強分類器,強弱分類器對Harr特征進行判別,來實現人臉部分的檢測;文獻[6]采用直方圖均衡化來有效地進行增強圖像;文獻[7]通過結合傳統PCA算法,提出一種用類內平均臉對類內樣本進行規(guī)范化的方法,該方法增加類樣本的識別距離來提高人臉正確識別率。然而由于現實生活的外部環(huán)境是復雜多變的,人的面部表情和姿態(tài)、光照強弱、臉部的遮擋物等都可能影響到識別率。本文針對圖像采集設備采集人臉圖像時會出現的部分問題,在人臉的識別之前進行以下預處理: 1) 對采集到的圖像去除隨機噪聲,有效避免圖像一定程度上的失真。 2) 降低因光照不均衡對識別結果造成的影響,可對圖像采取直方圖均衡化處理。 3) 通過對圖像進行歸一化處理,可以為后續(xù)的人臉識別過程提供大小統一的圖像。同時,通過PCA算法和Adaboost算法的相結合,提高人臉識別的速率和降低誤識率。
Adaboost算法是一種迭代方法[8],算法的原理是根據一定的策略,調整各樣本抽樣權重,并按照給定的權重累加這些弱分類器,從而得到具有分類意義的弱分類器組成的強分類器,這樣有利于對檢測精確度的提高。圖1為Adaboost算法的級聯分類模型。
圖1 級聯分類模型
Adaboost方法訓練人臉檢測分類器使用的分類依據是圖像的矩形特征[9]。讓每級分類器對應一個矩形特征,逐級驗證輸入的等待檢測的窗口,由于整個分類器是由許多子分類器級聯組成的,這樣可以有效地排除大量的反例樣本,即非人臉樣本。若經過其中的分類器驗證后結果為分人臉,則予以排除,并且不再進入下一級分類器的驗證。對于給定的一系列訓練樣本圖像(x1,y1),(x2,y2),…,(xi,yi),…,(xn,yn),其中xi表示第i個樣本,yi=0表示其為非人臉樣本,yi=1表示其為人臉樣本,算法的具體步驟為
2) 選取具有最小錯誤率ξt的弱分類器ht;
其中Dt(i)表示在第t次循環(huán)中第i個樣本的權值,H(x)為最終的強分類器,通過使用OpenCV跨平臺計算機視覺庫和其中的人臉人類器,結合Haar級聯臉部檢測器可以檢測到圖像中的正面人臉。
設x為n維的隨機輸入向量,其相關矩陣為Q,則知Q=E[xxT]。λ1,λ2,…,λn為特征值,按降序排列,同時對應的特征向量分別是ω1,ω2,…,ωn。可以得出
Qωj=λjωj,j=1,2,…,n
(1)
(2)
但是由于現實的外部環(huán)境是復雜多變的,人的面部表情和姿態(tài)、光照強弱、臉部的遮擋物等都可能影響到識別率。因此PCA人臉算法識別率過低,需進行優(yōu)化。
分別對圖像中值濾波去除隨機噪聲,對圖像進行直方圖均衡化處理和使用雙線性插值法對圖像進行大小的歸一化來對PCA算法進行優(yōu)化,以降低PCA算法對光照的敏感性和提高PCA算法人臉識別的成功率。
3.1 隨機噪聲去除
根據噪聲特點,對去除隨機噪聲有多種方法,但是大多數是基于中值濾波和均值濾波。其中均值濾波的核心思想即為鄰域平均,通過求得某區(qū)域的平均值來去除某一像素的突出值。其基本原理使用均值代替原圖像的各個像素值。均值濾波能較好地消除圖像上的隨機噪聲,但是,均值濾波會導致圖像中不同顏色的分界線上的像素點變模糊,這成為了均值濾波的一個局限。而中值濾波能相對較好地避免此類問題。中值濾波是一種非線性濾波,其主要思想是取像素周圍點的像素值,將它們按照大小排列,取中間值,若像素個數為奇數個則取中間值,若像素個數為偶數個則取中間兩個像素的平均值,同時由于原始圖像是彩色,所以要分別對RGB三個色彩分量進行中值濾波。即
g(x,y)=Med{f(x-k,y-l)}k,l∈W
其中g(x,y),f(x,y)分別為原始圖像和處理后的圖像,k,l為二維模板W中的像素點。
3.2 直方圖均衡化
空間域圖像增強比較常用的方法即是直方圖均衡化。它是一種常用并且相對容易的光照補償方法,其作用是消除光照變化帶來的影響。通過對圖像的直方圖均衡化,可增強圖像的對比度,同時也使得亮度在直方圖上更好地分布,在增強局部的對比度的同時,并不會對整體的對比度造成影響。
對于一副灰度圖像,灰度級rk出現的概率pr(rk)為
式中,n是圖像中的像素總和,L是圖像中可能的灰度級總數,灰度級為rk的像素個數為nk。
3.3 圖像歸一化處理
圖2 雙線性插值法
對人臉定位后的圖像區(qū)域進行放大或者縮小,使采集到的圖像大小一致,需進行歸一化處理。采用雙線性插值法對圖像進行歸一化處理,如圖2所示。將圖像坐標縮放后可能面對圖中P點坐標為P(x,y)的像素值問題,其中Q11、Q12、Q21、Q22為已知的四個像素點,Q11坐標為(x1,y1),Q12為(x1,y2),Q21為(x2,y1),Q22為(x2,y2)。其中Q22坐標是已經得到的值的像素,一般是原圖像坐標正向變化所得。
在x方向進行線性插值,可得R1,R2的像素值為
在y方向進行線性插值,可得P點的像素值
為了測試改進后的PCA算法在識別率和識別速度上是否有所提高,采用ORL人臉數據庫進行實驗對比。ORL人臉庫是英國劍橋大學的AT&T實驗室制作的,共包含40個人的400幅人臉圖像,其中每人的10幅照片的表情,拍攝照片的時間,光照,臉部的細節(jié)都是不相同的。每幅圖像的分辨率為112×92,其灰度級為256個。圖3為人臉庫中一個人的10幅圖像。
圖3 ORL庫中某一個人的10幅圖像
第一組實驗從每個人的10幅圖像中任選3幅圖像作為實驗的訓練樣本,剩下的7幅圖像作為實驗的測試樣本,記作T3。第二組每人任選4張圖像進行訓練,剩下用于識別,記作T4。以此類推,總共進行五組實驗。每組測試20次,通過計算得出20次識別后的平均識別率,即為最終的識別率,分別測試傳統的PCA算法和改進后的PCA算法。實驗結果如表1和表2所示。
表1 兩種方法識別率對比
表2 兩種方法識別速率對比(單位:ms)
通過表1可以看出相對于傳統型的PCA算法,改進后的算法的識別率得到了提升,說明同樣的實驗條件下,改進后的算法抗干擾性能更好;通過結合Adaboost算法,標記出人臉在圖像中的位置,可以使得PCA算法的檢測速度有所提升,通過表2可以得此結論。對原始圖像進行預處理,并且與Adaboost算法相結合,可以明顯提高人臉識別率,同時識別速度也得到了提升。
1) 通過引入學習PCA算法并在人臉識別上的實現,提出對原始圖像進行去噪聲、直方圖均衡化處理、大小歸一化處理三種預處理方法,來增強PCA算法應用于人臉識別時的抗干擾性能,相對于原始的PCA算法,優(yōu)化后的PCA算法識別率提高了10%。
2) 將Adaboost算法應用于人臉檢測,提出把Adaboost算法和PCA算法相結合,提高了人臉識別的速度,同時降低了誤識率,實驗可以得到,兩種算法結合后,識別速度提高了30%。
由實驗結果可以看出,優(yōu)化后的PCA算法的識別率提高,對光照的敏感性有所降低,識別速度有所提升,可以為用戶提供更可靠的人臉識別服務。
[1] 梁路宏,艾海舟,徐光佑,等.人臉檢測研究綜述[J].計算機學報,2002,25(5):449-458. Liang Luhong, Ai Haizhou, Xu Guangyou et al. A Survey of Human Face Detection[J]. Chinese Journal of Computers,2002,25(5):449-458.
[2] 黃華盛,楊阿慶.基于PCA算法的人臉識別[J].電子科技,2015(8):98-101. HUANG Huasheng, YANG Aqing. Face Recognition Based on PCA Algorithm[J]. Department of Computer Science,Guangdong University of Science & Technology,2015(8):98-101.
[3] 張媛,張燕平.一種PCA算法及其應用[J].微機發(fā)展,2005(2):67-68,72. ZHANG Yuan, ZHANG Yanping. An Algorithm of PCA and Its Application[J]. Microcomputer Development.,2005(2):67-68,72.
[4] 伊力哈木·亞爾買買提.基于改進型PCA和LDA融合算法的人臉圖像識別[J].計算機仿真,2013(1):415-418,426. YILihamu·YAErmaimaiti. Human Face Reconition Based on Improve PCA and LDA Fusion Algroithm[J].Computer Simulation.,2013(1):415-418,426.
[5] 李盛文,鮑蘇蘇.基于PCA+AdaBoost算法的人臉識別技術[J].計算機工程與應用,2010(4):170-173. LI Shengwen, BAO Susu. Recognition based on PCA+AdaBoost algorithm[J].Computer Engineering and Applications,2010(4):170-173.
[6] 趙勇文,修春波.AdaBoost人臉檢測算法在人臉定位時的實現[J].科技致富向導,2010,21:47-48. ZHAO Yongwen, XIU Chunbo. Realization of AdaBoost Algorithmin the Drivers’ Fatigue Inspection System[J].Guide of Sci-tech Magazine,2010,21:47-48.
[7] Phimoltares S,Lursinsap C,Chamnongthai K. Face detection and facial feature localization without considering the appearanceof image context [J]. Image and Vision Computing(S0262-8856),2007,25(5):741-753.
[8] Paul Voila,Michael Jones. Robust real-time face detection [J]. International Journal of Computer Vision(S1573-1405),2004,57(2):137-154.
[9] Ma Yong, Ding Xiaoqing, Wang Zhenger, et al. Robust precise eye location under probabilistic framework[ C]//Seoul, Republic of Korea:[ s. n. ], 2004:339-344.
[10] 趙江,徐魯安.基于AdaBoost算法的目標檢測[J].計算機工程,2004,30(2):78-83. ZHAO Jiang, Xu Luan. Object Detection Based on AdaBoost Algorithm[J].Computer Engineering,2004,30(2):78-83.
Improvement of Human Face Recognition Algorithm Based on PCA
REN Anhu WANG Lei
(Institute of Electronic Information Engineering, Xi’an Technology University, Xi’an 720021)
With the rapid development of biometrics, human face recognition technology has become a research hotspot. PCA algorithm is one of the most adopted algorithms for human face recognition, and has gained wide recognition for its high identification speed and accuracy. Conversely, with external interference factors, traditional PCA algorithm is affected in its identification efficiency. The results of the present experiment indicate that identification accuracy and anti-jamming of algorithm are improved through combining with Adaboost algorithm and adopting three pretreatment methods in original image processing: de-noise processing, histogram equalization and histogram normalization.The experiment result shows that the identification of improved PCA has increased 10% than traditional PCA algorithm, and identification speed has increased 30%.
biometrics, face identification, PCA algorithm, identification efficiency
2016年5月10日,
2016年6月27日
陜西科學技術研究發(fā)展計劃項目(編號:2014K05-19);西安工業(yè)大學校長基金(編號:XAGDXJJ1214)資助。作者簡介:任安虎,男,碩士,副教授,研究方向:通信與信息處理。王磊,男,碩士,研究方向:嵌入式系統與圖像處理。
TN91
10.3969/j.issn.1672-9722.2016.11.002