林國軍,蔣行國,楊明中,李兆飛*,解 梅
(1.四川輕化工大學 自動化與信息工程學院,四川 自貢 643000;2. 成都工業(yè)學院 電子工程學院,四川 成都 611730;3. 電子科技大學 電子工程學院,四川 成都 611731)
由于來源豐富、采集方便、具有非侵犯性等特點,人臉識別作為身份識別與人體生物認證技術在政府、工業(yè)和商業(yè)中得到了廣泛應用[1-5]。最近,Wright等[6]將稀疏編碼應用于人臉識別,提出了基于稀疏表示的分類(SRC)方法,在人臉受控和每類多樣本的條件下取得了很好的識別效果。Deng等[7-8]提出了基于疊加稀疏表示分類(SSRC)的人臉識別,是對SRC的一種改進,在人臉非受控和每類只有一個樣本的條件下也能取得比較好的識別效果。SRC和SSRC都采用L1范數(shù)稀疏約束,導致計算復雜度較大。Zhang等[9]采用協(xié)同表示而不是L1范數(shù)稀疏約束使SRC成功適用于人臉識別,并提出了基于協(xié)同表示的分類(CRC)方法用于人臉識別,獲得了相似于SRC的識別率,但計算復雜度低很多。Yang等[10-11]提出了魯棒稀疏編碼(RSC)方法,尋求稀疏編碼問題的最大似然估計解,對受遮擋的人臉識別具有比SRC更強的魯棒性。針對RSC計算復雜度較大的問題,Lin等[12]提出了魯棒協(xié)同表示(RCR)方法,擁有 RSC相似的識別率,但計算復雜度低很多。Yang等[13]提出了一種基于低秩特征臉與協(xié)同表示的人臉識別算法,識別率和識別速度都得到了有效提高。
受到協(xié)同表示而不是L1范數(shù)稀疏約束使SRC成功適用于人臉識別的啟發(fā),本文提出了基于疊加協(xié)同表示分類(SCRC)的人臉識別。與SSRC相似,SCRC也將測試樣本表示為類質心和樣本與質心的差異的稀疏線性組合。實驗結果表明,利用基于原型和變化的表示模型,協(xié)同表示在人臉識別中能起作用,甚至字典基在非受控和每類只有一個樣本的條件下被匯集,協(xié)同表示也具有很好的性能。SCRC擁有SSRC相似的識別率,但計算復雜度低很多。
假定一個人臉庫有k類訓練樣本,記為矩陣A=[A1,A2,…,Ak]∈Rd×n,Ai∈Rd×ni是第i類的訓練樣本。一個測試樣本y可以用所有訓練樣本的線性組合來表示:
y=Ax0+z
,
(1)
x0是一個稀疏解,x0中除對應于和測試樣本同類的訓練樣本的系數(shù)不是0外,其余系數(shù)幾乎都為0。z∈Rd是噪聲項,其能量約束是‖z‖2<ε,ε>0是一個常數(shù)。為了用A來協(xié)同表示測試樣本y,我們提出正則化最小二乘方法:
,
(2)
,
(3)
當訓練圖像被腐蝕和每類訓練樣本數(shù)量不充足時,基于協(xié)同表示的人臉識別具有局限性。本節(jié)將介紹基于原型和變化的模型,提出疊加協(xié)同表示分類來解決CRC的局限性。
假定受觀察的信號是兩種不同子信號yp、yv和噪聲z的疊加,即y=yp+yv+z。yp可以使用模型中的原型字典P=[P1,P2,…,Pk]∈Rd×m來稀疏產生,Pi∈Rd×mi表示第i類的mi個原型基。同理,yv可以使用模型中的變化字典V∈Rd×q來稀疏產生,變化字典表示通用類內變化基,例如不平衡的光照變化、夸張的表情或者遮擋,這些都不能被小密度噪聲z模擬。一個測試樣本y的線性組合表示可以被重寫為:
y=Px0+Vβ0+z
,
(4)
假定測試樣本y來自第i類,那么x0中除對應于Pi的系數(shù)不是0外,其余系數(shù)幾乎都為0。如果V中存在冗余的和過完備的人臉變化基,那么β0是稀疏解。
P=[c1,…,ci,…,ck]∈Rd×k
,
(5)
,
(6)
圖1闡明了原型和變化矩陣的典型例子。當每類的樣本數(shù)量不足,特別是每類只有一個樣本時,類內變化矩陣將崩潰。為了解決這個困難,可以從模板庫之外的普通對象中獲得變化基,因為P+V模型假定不同對象的類內變化是可以共享的。
基于式(4)的P+V模型,我們提出基于疊加協(xié)同表示分類(SCRC)的人臉識別,把測試圖像作為類質心和類內差異的疊加,非零系數(shù)將集中于與測試樣本同類的質心和相關的類內差異上。
疊加協(xié)同表示分類(SCRC)算法步驟:
(1)輸入:擁有k類訓練樣本的矩陣A=[A1,A2,…,Ak]∈Rd×n,和正數(shù)型參數(shù)λ>0。根據(jù)式(5)計算原型矩陣P,根據(jù)式(6)計算變化矩陣V。當每類樣本數(shù)量不充分時,矩陣V可以通過模板庫之外的普通樣本集計算得到。
(a)
(b)
(2)通過把PCA應用在訓練樣本上,可以推導出投影矩陣Φ∈Rd×p,把原型矩陣和變化矩陣投影到p維空間:
ΦTP→P,ΦTV→V
,
(7)
(3)歸一化P和V的列向量,使每個列向量具有單位l2范數(shù),計算y在[P,V]上的系數(shù)向量:
,
(8)
(4)計算殘差:
,
(9)
(5)輸出y的類別:
identity(y)=argminiri(y)
.
(10)
為了檢驗SCRC算法的有效性,將它與SRC、CRC和SSRC在AR和FERET人臉庫上進行實驗比較。SRC和SSRC使用Homotopy方法來解決L1范數(shù)最小化問題。實驗平臺為MATLAB2013a,主頻是3.3 GHz,內存是4 G。
選擇AR人臉庫的一個子集用于實驗,該子集包含100個人,其中男性50人、女性50人,每個人有26幅圖像,是在2個不同時期獲得的。該人臉庫的人臉包含光照變化、表情變化和受遮擋(即戴墨鏡和圍圍巾)。對于每個人,從第1期中選擇7幅中性圖像和2幅受遮擋的圖像(1幅戴墨鏡和另1幅圍圍巾)作為訓練樣本,第2期的13幅圖像作為測試樣本。特征空間維數(shù)分別是200,500,800,表1顯示了正數(shù)型參數(shù)λ為0.01的情況下不同算法在AR人臉庫上的識別率和識別時間括號內為識別時間比較。識別時間是指對1幅測試圖像的識別時間(括號內為識別時間)。從表1可以看出,除特征空間維數(shù)為200時,SCRC的識別率稍低于SSRC外,SCRC的識別率是最高的。SCRC的運行速度比較快,和CRC差不多快。SCRC的運行速度比SRC和SSRC快14倍以上。圖2顯示了特征空間維數(shù)是500時的識別率與λ之間的關系。從圖2可以看出,λ從0.01開始,SCRC的識別率高于SSRC。
表1 不同算法在AR人臉庫上的識別率(%)和識別時間(s)比較
圖2 特征空間位數(shù)為500時識別率與λ之間的關系
在FERET人臉庫中,模板訓練集包含1 196個人的1 196幅圖像,fc測試集包含不同光照情況下的194幅圖像。該人臉庫還包含fb、dup 1和dup 2測試集。在實驗中,模板訓練集用來訓練,fc測試集用來測試。首先使用相似變換歸一化圖像,即兩眼要成水平線,且間隔70個像素,兩眼的中心位于(64,34),然后把圖像裁剪成128×128大小。圖3顯示了一些用于本實驗的圖像,圖像具有復雜的類內變化。在模板庫中,因為每類只有一個樣本,所以使用FRGC V2人臉庫的訓練圖像來構造類內變化矩陣,類內變化矩陣用式(6)計算得到。FRGC V2人臉庫包含在非受控條件下的222個人的12 766幅正面圖像。圖4顯示了FRGC V2人臉庫的一些圖像。表2顯示了正數(shù)型參數(shù)λ為0.01的情況下不同算法在fc上的識別率和識別時間比較。識別時間是指對1幅測試圖像的識別時間(括號內為識別時間)。從表2可以看出,除了特征空間維數(shù)是300時,SCRC的識別率稍低于SSRC外,SCRC的識別率是最高的。SCRC的運行速度比較快,和CRC差不多快。SCRC的運行速度比SRC和SSRC快10倍以上。圖5顯示了特征空間維數(shù)是600時的識別率與λ之間的關系。從圖5可以看出,λ從0.01開始,SCRC的識別率高于SSRC。
圖3 第1行是FERET人臉庫中的一些模板圖像,第2行是相應的測試圖像。
圖4 FRGC V2人臉庫中的一些圖像
圖5 特征空間維數(shù)是600時識別率與λ之間的關系
表2 不同算法在FERET人臉庫上的識別率(%)和識別時間(s)比較
本文提出了一種基于疊加協(xié)同表示分類(SCRC)的人臉識別算法。在本算法中,基于原型和變化的表示模型能解決非受控的人臉識別問題。在AR和FERET人臉庫上的實驗結果表明,與其他算法相比,SCRC在大幅降低計算復雜度的同時很好地保證了識別率。可以說,SCRC是一種比較優(yōu)秀的算法。