汪海波,陳雁翔,李艷秋
(合肥工業(yè)大學(xué) 計算機(jī)與信息學(xué)院,安徽 合肥 230009)
隨著科技的發(fā)展,生物識別技術(shù)已經(jīng)成為身份識別或認(rèn)證技術(shù)的重要方式,相比于指紋識別、虹膜識別等,人臉識別具有非侵犯性、非接觸性、易操作、易實現(xiàn)等優(yōu)勢,在考勤、門禁安防、刑事偵破、平安城市等諸多領(lǐng)域都有廣泛的應(yīng)用。
人臉識別技術(shù)[1-2]是一種通過計算機(jī)來進(jìn)行身份識別驗證的一種生物識別技術(shù),其中特征提取是人臉識別過程中至關(guān)重要的一個環(huán)節(jié),提取特征的好壞將直接影響著識別的準(zhǔn)確性。人臉的特征提取主要有以下幾種方法:① 基于幾何特征[3]的方法;② 基于代數(shù)特征的方法,包括基于特征臉(PCA)[4-5]、基于Fisher線性判別(LDA)[6]的方法等;③ 基于神經(jīng)網(wǎng)絡(luò)的方法[7]等。基于特征臉(PCA)的方法是根據(jù)一組人臉樣本構(gòu)造主成分子空間,再將測試人臉投影到子空間中得到一組投影系數(shù),應(yīng)用此組投影系數(shù)就可以進(jìn)行人臉識別;由于投影系數(shù)較原始樣本維數(shù)大大減少,故分類精度得到大幅提高。本文采用此種方法提取人臉特征。
本文的識別模塊選用Softmax回歸模型,該模型主要用于多分類,適合于人臉識別。將PCA(principal component analysis)提取的人臉特征輸入到Softmax分類器回歸模型中進(jìn)行分類。在以往的特征提取過程中,總是將PCA中得到的特征向量作為固定值,把樣本數(shù)據(jù)變換到特征向量決定的空間。而本文將主成分提取特征看成是一個單層的神經(jīng)網(wǎng)絡(luò),把特征向量決定的主成分子空間看成是神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,把提取到的特征看成是神經(jīng)元的輸出。將PCA與Softmax分類器級聯(lián)成2層神經(jīng)網(wǎng)絡(luò),根據(jù)反向傳播算法[8]訓(xùn)練網(wǎng)絡(luò)權(quán)值,包括調(diào)整特征向量。實驗結(jié)果表明這種改進(jìn)提高了識別精度。
PCA也稱為主元法、主分量分析法,是一種常用、簡單有效的方法,通過K-L變換,可以將高維空間轉(zhuǎn)換到低維空間。
(1)數(shù)據(jù)規(guī)整化。假設(shè)樣本為{x(1),x(2),…,x(m)},m為樣本數(shù),圖片維數(shù)為n,表示第j張圖片中第i個像素的值,則每一個像素的均值為:
每一個原始像素減去均值后的值為:
(2)提取主要成分。首先計算樣本集的協(xié)方差矩陣為:
其中,Σ為樣本x的協(xié)方差矩陣,對Σ計算特征值和特征向量。由于Σ是對稱半正定的矩陣,故可以用Matlab中的SVD函數(shù)進(jìn)行計算,即
可得特征值Λ=[λ1,λ2,…,λn],特征向量U=[u1,u2,…,un],特征值是按遞減方式排列的,λ1最大,λn最小。每一個特征向量對應(yīng)于相應(yīng)的特征值,u1對應(yīng)λ1,u2對應(yīng)λ2,等等。按照(5)式保留前p個PCA主要成分作為輸入,即
(5)式表示保留的能量百分比,即保留的樣本維數(shù)(p維)能量占整個樣本維數(shù)(n維)能量的百分比。一般ρ取95%以上就可以了,在實驗中,取99%。確定p之后,得最終的樣本數(shù)據(jù)為:
其中,xPCA為PCA降維后的樣本數(shù)據(jù),冗余很小。
典型的單層神經(jīng)網(wǎng)絡(luò)模型如圖1所示。
圖1 單層神經(jīng)網(wǎng)絡(luò)模型
圖1中,x1、x2、x3、x4為樣本輸入;W、b為網(wǎng)絡(luò)權(quán)值和截距;a為網(wǎng)絡(luò)輸出;則可得傳遞函數(shù)為:
將(6)式重新表示如下:
其中,權(quán)值W為:
截距b為:
顯然,將PCA降維后的數(shù)據(jù)xPCA通過非線性映射,即與神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù)完全一致了。所以可以把PCA降維后的數(shù)據(jù)再經(jīng)過非線性映射看成是原始數(shù)據(jù)通過單層神經(jīng)網(wǎng)絡(luò)。
在實驗中,本文的非線性映射函數(shù)取為:
(11)式也被看作是一個邏輯回歸(logistic regression)。
Softmax回歸模型是對Logistic回歸模型進(jìn)行擴(kuò)展得到的,主要解決多分類問題。設(shè)m個訓(xùn)練集樣本為{(x(1),y(1)),…,(x(m),y(m))},向量x的維度為n+1,網(wǎng)絡(luò)參數(shù)θ={Wij,bj}。類標(biāo)y可以取k個不同的值,因此,對于訓(xùn)練集{(x(1),y(1)),…,(x(m),y(m))}有y(m)∈{1,2,…,k}。設(shè)概率p(y=j(luò)|x)表示在輸入x的情況下,樣本被判為類別j的概率。哪個概率最大,就判為哪類。所以對于一個k類的分類器,輸出將是一個k維的向量(向量的元素和為1),輸出為:
為了便于表示,令1{·}表示為示性函數(shù),取值規(guī)則如下:1{值為真的表達(dá)式}=1,1{值為假的表達(dá)式}=0。例如1{2+2=4}=1,1{2+2=5}=0。則可以得到回歸模型的代價函數(shù)為:
通過最小化J(θ)來求解參數(shù)θ,對于J(θ)的最小化問題,目前還沒有閉式解法,只能通過迭代算法來求解,J(θ)對每一個參數(shù)θj的偏導(dǎo)為:
在實際使用Softmax算法時,通常會給上述代價函數(shù)增加一個權(quán)重衰減項來修改代價函數(shù),則(14)式變?yōu)椋?/p>
PCA與Softmax回歸分類器級聯(lián)而成的結(jié)構(gòu)模型如圖2所示。
圖2 PCA與Softmax級聯(lián)的結(jié)構(gòu)模型
圖2所示為2層的神經(jīng)網(wǎng)絡(luò)模型,輸入為原始輸入像素值,通過主成分分析算法求出特征值和特征向量,根據(jù)所要保留的能量百分比和(5)式計算出需要保留的特征向量U=[u1,u2,…,un],根據(jù)(8)~(10)式得到網(wǎng)絡(luò)的權(quán)值W和截距b,最后得到隱藏層a為a=f(Wx+b)。
將得到的隱藏層值輸入到Softmax回歸模型中,根據(jù)(12)式得到輸出為:
整個網(wǎng)絡(luò)模型的代價函數(shù)為:
在整個網(wǎng)絡(luò)的訓(xùn)練過程中,可以使用經(jīng)典的反向傳播算法。
首先計算每一層的殘差。輸出層的殘差為:
隱藏層的殘差為:
再計算每一層參數(shù)的偏導(dǎo)數(shù),計算公式如下:
在實際訓(xùn)練過程中,先訓(xùn)練Softmax回歸分類器,大概迭代20次后,再整體訓(xùn)練PCA和Softmax回歸分類器。
為了驗證本文所提方法的有效性,在ORL和FERET人臉數(shù)據(jù)庫上進(jìn)行實驗。所有實驗均在PC機(jī)為Intel Xeon(R)3.2GHz,8GBRAM、Matlab R2009a的平臺上測試。
ORL(Olivetti Research Laboratory)人臉數(shù)據(jù)庫[9]是國際上經(jīng)常被用來做人臉識別的數(shù)據(jù)庫。該庫包含40個人,每人10幅圖,共400張圖像。
每張圖像尺寸為112×92像素,圖像無背景。首先將ORL數(shù)據(jù)庫分為2份,從每一類10張人臉圖片中,間隔抽取5張(例如取1、3、5、7、9),總共40×5張圖片作為訓(xùn)練樣本;余下的(0、2、4、6、8)共40×5張圖片作為測試樣本。為了使結(jié)果更有說服力,本文所有實驗均為獨(dú)立運(yùn)行10次后取平均值。
在實驗中,為了驗證微調(diào)PCA模塊的有效性,設(shè)計了2組實驗:①PCA只拿來降維,將降維后的數(shù)據(jù)輸入進(jìn)Softmax回歸模型中,根據(jù)輸出誤差只微調(diào)Softmax回歸模型參數(shù),最后得到測試樣本的識別率;②PCA模塊提取的主成分通過非線性映射再輸入Softmax回歸模型,根據(jù)輸出誤差調(diào)整整個網(wǎng)絡(luò)的參數(shù),包括Softmax中的參數(shù)和PCA中的參數(shù)W和b,最后得到測試樣本的識別率。
提取主成分得到的圖像和微調(diào)PCA特征向量得到的人臉圖像如圖3所示。
圖3 PCA和微調(diào)PCA提取的人臉圖像
圖3中,第1行表示PCA降維后的人臉圖像,可以看出符合人眼的視覺習(xí)慣;第2行表示將PCA得到的特征向量作為單層神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,之后通過反向傳播算法再微調(diào)神經(jīng)網(wǎng)絡(luò)后得到的人臉圖像,微調(diào)后的人臉雖不符合人眼的習(xí)慣,但是有利于后面分類器的分類。
最后2組測試樣本實驗結(jié)果見表1所列。
表1 在ORL人臉數(shù)據(jù)庫上的識別率
由表1可知,將主成分分析得到的特征通過非線性映射函數(shù),且微調(diào)PCA模塊的神經(jīng)網(wǎng)絡(luò)識別率比未微調(diào)的高??梢奝CA是向著提高整體識別率的方向微調(diào)。
2組實驗的訓(xùn)練時間分別為206.1s和451.5s,而測試時間都是一樣的,只有26.8s。對于每一張人臉圖像,測試所用的時間為26.8/200=0.134s。盡管第1種算法訓(xùn)練時間比第2種方法少,但是在實際應(yīng)用中,只要事先進(jìn)行訓(xùn)練,將訓(xùn)練好的模型應(yīng)用于測試,0.134s還是可以滿足實際應(yīng)用需求的。
本實驗在FERET庫上進(jìn)行實驗,F(xiàn)ERET人臉數(shù)據(jù)庫由美國軍方研究實驗室提供,是一個相對較大的人臉數(shù)據(jù)庫。在1996年6月,該庫就包含了1 199個人的14 126幅人臉圖像數(shù)據(jù)庫,而且逐年增加。首先從FERET數(shù)據(jù)庫中隨機(jī)抽取40類樣本做實驗,將樣本分為2份,從每一類人臉圖片中,隨機(jī)抽取5幅圖像做訓(xùn)練樣本,剩下的部分做測試樣本。
具體實驗過程和4.1的實驗基本相同,得到的實驗結(jié)果見表2所列。
表2 在FERET人臉數(shù)據(jù)庫上的識別率
由表2可知,微調(diào)PCA模塊的神經(jīng)網(wǎng)絡(luò)識別率比未微調(diào)的高。
為了進(jìn)一步驗證本文算法的性能,將之與已有算法進(jìn)行比較,如ICA+FLD方法[10]、ICA+KNN 方法[11]、PCA+KNN 方法[12]、PCA+LLE+SVM 方法[13]、MDP 方法[14]和 RS-SpCCA 方法[15]。各種算法均在ORL數(shù)據(jù)庫(共40類,每類5幅圖像作訓(xùn)練,5幅作測試)中進(jìn)行實驗,比較結(jié)果見表3所列。
表3 不同算法的識別率 %
由實驗結(jié)果可知,本文算法在所有算法中識別率最高,證明了本文算法的有效性。
本文首先系統(tǒng)闡述了PCA的模型結(jié)構(gòu),以及它與單層神經(jīng)網(wǎng)絡(luò)的聯(lián)系,PCA通過一個非線性映射就可以等價于單層神經(jīng)網(wǎng)絡(luò);然后介紹了Softmax回歸模型,以及它的傳遞函數(shù)和訓(xùn)練方法;將PCA模型和Softmax回歸模型級聯(lián)成一個2層的神經(jīng)網(wǎng)絡(luò),通過反向傳播算法訓(xùn)練網(wǎng)絡(luò)權(quán)值;最后在多種人臉數(shù)據(jù)庫的實驗結(jié)果表明,把主成分特征提取得到的權(quán)值參數(shù)W、b當(dāng)成神經(jīng)網(wǎng)絡(luò)的參數(shù)訓(xùn)練整個網(wǎng)絡(luò),比只用PCA來降維效果要高很多,且與已有的一些算法進(jìn)行比較可知,本文算法有更好的識別率。
[1]李小紅,李 寅,張 靜,等.基于AMD度量和類間模塊2DPCA的人臉識別算法[J].合肥工業(yè)大學(xué):自然科學(xué)版,2011,34(7):1015-1018.
[2]聶會星,梁 坤,徐樅巍.基于小波變換和支持向量機(jī)的人臉識別研究[J].合肥工業(yè)大學(xué):自然科學(xué)版,2011,34(2):208-211.
[3]Lee S Y,Ham Y K,Park R H.Recognition of human front faces using knowledge-based feature extraction and neurofuzzy algorithm [J].Pattern Recognition,1996,29(11):1863-1876.
[4]Turk M,Pentland A.Eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991,3(1):71-86.
[5]Zhang B,Zhang C.Lower bounds estimation to KL transform in face representation and recognition[C]//International Conference on Machine Learning and Cybernetics.IEEE,2002:1314-1318.
[6]張燕昆,劉重慶.基于DCT與LDA的人臉識別方法[M]//生物識別研究新進(jìn)展.北京:清華大學(xué)出版社,2001:55-59.
[7]Fleming M K,Cottrell G W.Categorization of faces using unsupervised feature extraction[C]//Proceedings of International Joint Conference on Neural Networks,Vol 2.Paris:IEEE,1990:65-70.
[8]Werbos P J.Beyond regression:new tools for prediction and analysis in the behavioral sciences[D].Boston:Harvard University,1974.
[9]ORL.The ORL face database at the AT&T Research Laboratory[DB/OL].(2006-03-06).http://www.cl.cam.ac.uk/Research/DTG/attarchive/facedatabase.html.
[10]趙明華,游志勝,呂學(xué)斌,等.基于ICA和FLD相結(jié)合的人臉識別[J].計算機(jī)應(yīng)用研究,2005,22(8):255-257.
[11]Bartlett M S,Movellan J R,Sejnowski T J.Face recognition by independent component analysis[J].IEEE Transactions on Neural Networks,2002,13(6):1450-1464.
[12]楊紹華,林 盤,潘 晨.利用小波變換提高基于KPCA方法的人臉識別性能[J].山東大學(xué)學(xué)報:理學(xué)版,2007,42(9):96-100.
[13]談書才,黃景濤.基于LLE和LS-SVM的人臉識別方法[J].微電子學(xué)與計算機(jī),2010,27(7):110-113.
[14]黃 璞,唐振民.最小距離鑒別投影及其在人臉識別中的應(yīng)用[J].中國圖象圖形學(xué)報,2013,18(2):201-206.
[15]朱玉蓮,陳松燦.特征采樣和特征融合的子圖像人臉識別方法[J].軟件學(xué)報,2012,23(12):3209-3220.