張楊+張仁杰
摘要:由于經典的PCA算法要求樣本滿足高斯分布,然而現(xiàn)實中的樣本往往因為表情、角度、光照等原因不滿足高斯分布,導致算法識別率不高。因此,提出一種基于改進PCA算法的人臉識別方法。首先,將具有相似特征(表情、角度、亮度)的不同樣本通過分塊方式劃分在一個矩陣中,使樣本趨于高斯分布;其次,通過直方圖均衡化樣本的方法,加強樣本對比度,以突出樣本的人臉器官特征;最后采用經典PCA算法進行辨識。通過在ORL人臉庫上的實驗得出,該方法不但耗費總時間少于經典的PCA算法,而且識別率也得到提升,具有一定可行性。
關鍵詞:人臉識別;分塊;直方圖均衡化;改進的PCA算法
DOIDOI:10.11907/rjdk.172191
中圖分類號:TP301
文獻標識碼:A文章編號文章編號:16727800(2018)001003203
Abstract:The classical PCA algorithm requires the sample to satisfy the Gaussian distribution, but the real samples often do not satisfy the Gaussian distribution because of the expression, the angle and the light. So the recognition rate of this algorithm is not high. For this reason, this paper presents a face recognition method based on improved PCA algorithm. Firstly, different samples with similar characteristics (expression, angle, brightness) are divided into a matrix by way of block in order to make samples tend to Gaussian distribution. Secondly, through the method of histogram to equalize the sample, the contrast of the sample is enhanced to highlight the facial features. Finally, the classical PCA algorithm is used to identify the samples. And through the experiment on the ORL face database, this method not only cost less total time than the classic PCA algorithm and recognition rate has also been improved. In a general, this way is feasible.
Key Words:face recognition; block; histogram equalization; improved PCA algorithm
0引言
隨著現(xiàn)代信息化技術的迅速發(fā)展,人臉識別技術也進入快速發(fā)展期。人臉識別技術目前已被應用于各個行業(yè),包括公安的刑偵破案、網(wǎng)絡信息安全、機器人智能化等領域。不僅如此,人臉識別技術具有其它方法所不具備的優(yōu)勢,如非接觸式、自然性。因此,用戶的可接受度高,具有廣闊的發(fā)展前景[13]。
經典PCA(Principle Component Analysis)算法是人臉識別中的常用算法,此方法通過KL變換提取人臉特征構成特征臉空間,在識別時將待識別的樣本投影到此特征臉空間,可得到一組投影向量,再通過與數(shù)據(jù)庫中的每個樣本比較進行識別。經典的PCA算法受人臉表情、角度、光照等因素影響較大[4],為了減少影響,本文改進了經典的PCA算法。本文算法基于被廣泛使用的線性鑒別方法——PCA算法[5],一方面,通過分塊方式將具有相似特征的樣本劃分在同一矩陣,再直方圖均衡化樣本,找到總體最小區(qū)域后,采用經典PCA算法對預處理過的樣本進行特征提取及識別。通過在ORL人臉數(shù)據(jù)庫上的實驗表明,本文方法的識別效率和準確率都高于經典的PCA算法,具有一定可行性。
2改進的PCA算法
本文提出的改進算法采取分塊的方式,將具有相似特征(表情、角度、光照)的樣本劃分到一個矩陣,再直方圖均衡化樣本。最后,找出能夠代表大多數(shù)人臉特征的總體最小區(qū)域,通過經典的PCA算法對預處理過的訓練樣本集進行特征提取及后續(xù)識別。具體包括以下幾個步驟:
2.1分塊處理
經典PCA算法要求樣本滿足高斯分布,但現(xiàn)實中的樣本往往不滿足高斯分布,則噪聲和冗余不能用方差和協(xié)方差恰當?shù)乇硎?,因而無法得到充分反映訓練空間的特征子空間,從而降低PCA算法的識別率[6]。因此,針對這一缺陷,本文提出的改進方法采取分塊的方式,將具有相似特征(表情、角度、光照)的樣本劃分到一個矩陣。由于分塊后的樣本具有相似特征(表情、角度、光照),所以樣本趨于高斯分布,有助于提高算法識別率[7]。
分塊處理的具體流程為:將原來的標準訓練矩陣A=[d11,d12,…,dij]T分成多個子塊A1,A2,…,Am。其中,A1,A2,…,Am表示訓練樣本中具有相同表情、角度、光照的樣本合集。由于這些子塊具有相同屬性,保證了樣本接近高斯分布,可以一定程度上提高識別率。
2.2樣本直方圖均衡化
直方圖均衡化的基本思想是將原始圖的直方圖變換為較原直方圖更加均勻的形式,擴展了像素灰度值的動態(tài)范圍,提高了對比度,突出了樣本特征。endprint
設原始圖像在(x,y)處的灰度為f,轉換后的圖像在(x,y)處灰度為g,則變換過程可以表示為在(x,y)處的灰度由f映射為g,該過程可以定義為:g=EQ(f)。
直方圖均衡化任意子塊中的一個樣本,變化前和變化后的圖像如圖1、圖2所示。
由圖可知,該樣本經過直方圖均衡化變換后,樣本對比度得到加強,突出了人臉器官特征,有助于后續(xù)得到充分反映樣本空間特征的特征臉,提高算法識別率。
2.3找出總體最小區(qū)域
設Bi(j)表示圖像樣本xij中明亮部分與灰色部分的邊界線,設集合{Li(j)}表示圖像樣本xij每行從左往右第一個邊緣點坐標的集合,設集合{Ri(j)}表示圖像樣本xij每行從右往左第一個邊緣點坐標的集合。其中,設集合{Li(j)}中有H(xij)個元素,即該樣本圖像的高度為H(xij),集合{Li(j)}中的第k個元素是圖像樣本xij第k行的第一個邊緣點;設集合{Ri(j)}中有N(xij)個元素,即該樣本圖像高度為N(xij),集合{Ri(j)}中的第k個元素是圖像樣本xij第k行的最后一個邊緣點坐標[8]。
3實驗結果及分析
本次實驗采用ORL人臉數(shù)據(jù)庫,該數(shù)據(jù)庫由40人的樣本圖像組成,每人10個樣本圖像,每個樣本圖像存在角度、表情、光照的差異,一共400幅圖像數(shù)據(jù)。而且,所有樣本背景均是單一顏色,樣本像素大小均為128×128。其中,部分人臉樣本圖像如圖3所示。
實驗使用Matlab R2014a軟件,計算機配置為:Intel Core i53210M,2.50GHz,4GB內存。本文涉及的實驗數(shù)據(jù)均在此配置下計算得出。
本文實驗對比所用的經典PCA算法,是將每個人的前5幅樣本圖像作為訓練樣本,后5幅樣本圖像作為測試樣本,共有200張訓練樣本和200張測試樣本,計算此條件下的識別率、構造特征臉時間以及識別時間。分塊方式分為兩種,第一種方式是按照正臉和側臉方式分為2塊;第二種方式是按照微笑、正常以及其它表情(包括驚訝、沮喪等) 分為3塊。
在不同的訓練樣本數(shù)條件下,計算不同分塊方式下的本文方法和經典PCA算法的識別率、構造特征臉時間以及識別時間。其中,識別率數(shù)據(jù)比較的結果顯示如圖4所示,構造特征臉時間、識別時間結果記錄如表1所示。
由圖4與表1可以看出,本文提出的改進方法在識別率和構造特征臉時間兩方面都比經典PCA算法好。從識別率方面看,隨著樣本數(shù)增加,本文方法的識別率逐步提升,而且整體識別率高于經典的PCA算法。原因是通過直方圖均衡化子塊訓練樣本集,增強了圖像對比度,突出了人臉器官特征,使后續(xù)得到的特征臉更能體現(xiàn)樣本空間特征,有助于實現(xiàn)人臉識別,一定程度上提高了識別準確率;從構造特征臉時間方面看,本文方法的構造特征臉時間少于經典PCA算法,原因是本文方法提取的是預處理后的樣本特征,其樣本空間維數(shù)遠小于經典PCA算法,可以減少計算量,有效提高識別效率。由于本文方法在識別部分的算法利用的是經典PCA算法,所以在識別部分花費的時間和經典PCA算法時間近似,但是本文方法降低了人臉識別耗費的總時間。
4結語
本文提出了一種基于改進PCA算法的人臉識別方法,其最大的優(yōu)點在于通過分塊方式,大大降低了樣本維數(shù)及算法計算量,從而減少了構成特征臉時間,降低了耗費總時間。而且通過直方圖均衡化過程,加強了樣本圖像的對比度以突出人臉器官特征,相比于經典PCA算法,一定程度上提升了識別率。通過在ORL人臉數(shù)據(jù)庫的實驗可以看出,本文提出的改進算法在構造特征臉速度及識別率方面優(yōu)于經典PCA算法,具有可行性。另外,在實驗中發(fā)現(xiàn),分塊方式的不同將影響識別率和耗費總時間。因此,如何選擇更優(yōu)的分塊方式是下一步需要研究的問題。
參考文獻:
[1]趙鑫,汪維家,曾雅云,等.改進的模塊PCA人臉識別新算法[J].計算機工程與應用,2015(2):161164,176.
[2]高曉興,李仁睦,王文佳,等.基于人臉分類和KL變換的人臉識別新方法[J].微計算機信息,2010(7):810.
[3]李榮健,韓其龍,楊鑫華.改進的PCA人臉識別新算法[J].大連交通大學學報,2008(4):4851.
[4]PAUL VIOLA,MICHAEL J ROBUST. Realtime face detection[J]. International Journal of Computer Vision,2004,57(2):137154.
[5]TURK M, PENTLAND A.Face recognition using eigenfaces[C]. IEEE Conference on Computer Vision and Pattern Recognition,Huwaii,1991:586590.
[6]王曉強,劉勇奎.參數(shù)曲線的分段步長生成算法[J].計算機應用研究,2006(1):227229,232.
[7]劉勇奎,周曉敏.逐點生成參數(shù)曲線的雙步算法[J].計算機輔助設計與圖形學學報,2002(7):619623.
[8]周亦敏,袁毅.改進的PCA算法在人臉識別中的應用研究[J].微計算機信息,2012(8):150151.
(責任編輯:黃?。〆ndprint