嚴(yán)培宏,李 雷
(南京郵電大學(xué) 理學(xué)院,江蘇 南京 210023)
近年來在神經(jīng)網(wǎng)絡(luò)、圖像處理、機(jī)器視覺、模式識別等領(lǐng)域,人臉識別作為一種利用生物特征的識別技術(shù)稱為研究熱點(diǎn)課題之一。同時,因人臉識別技術(shù)具有穩(wěn)定性高的優(yōu)點(diǎn),被廣泛的應(yīng)用于安保系統(tǒng)和“考勤”系統(tǒng)中、以及在移動支付和交友APP系統(tǒng)等。目前人臉識別算法主要可分為:基于幾何特征方法[1]、基于子空間方法[1]和基于局部特征方法[1]三大類。其中基于幾何特征方法是人臉識別最早提出的方法之一。
雖然人臉識別已經(jīng)發(fā)展到了一個很成熟的地步。但是,對于現(xiàn)實(shí)中的人臉識別,仍然存在著很多還未得到有效解決的問題,這些問題主要來源于所需識別的人臉圖像受到外界因素的影響,如人臉圖像受光照、表情、姿態(tài)、遮擋的影響等。而這些情況會導(dǎo)致訓(xùn)練圖像和需識別圖像之間的數(shù)據(jù)發(fā)生嚴(yán)重的誤差。本文重點(diǎn)研究受光照因素影響的人臉識別問題。
針對主成分分析(Principal Component Analysis ,PCA)[2]和魯棒主成分分析[3-6](RPCA)存在的優(yōu)缺點(diǎn),提出了基于RPCA和卷積神經(jīng)網(wǎng)絡(luò)[7-8]的人臉識別算法,首先對于人臉庫中的人臉圖像進(jìn)行魯棒主成分分析去除光照人臉的噪聲影響,得到人臉圖像的稀疏矩陣和低秩矩陣,然后再利用卷積神經(jīng)網(wǎng)絡(luò)對于得到的低秩圖像進(jìn)行識別分類,實(shí)驗(yàn)表明本文提出的基于RPCA和卷積神經(jīng)網(wǎng)絡(luò)的人臉識別提高了對于有光照影響的人臉識別率。
本文首先利用RPCA對樣本數(shù)據(jù)中的光照噪聲進(jìn)行處理,得到樣本數(shù)據(jù)的低秩圖像和稀疏圖像。對樣本數(shù)據(jù)進(jìn)行人臉識別過程中,訓(xùn)練樣本有K類,設(shè)第i類有ni幅人臉樣本圖像,如果,vi,ni表示每一個訓(xùn)練樣本的列矢量,則它們組成一個列向量
Di=[vi,1,vi,2,…,vi,ni]∈Rm×ni,
其中m表示訓(xùn)練樣本的特征維數(shù),那么全部人臉的訓(xùn)練樣本矢量可以描述為:
為訓(xùn)練樣本的總數(shù)量。在理想的子空間中,D一般是低秩的,但是在受到外界條件如光照、陰影、遮擋等因素的影響而存在誤差項,通常D為滿秩的結(jié)構(gòu),其中誤差矩陣為:E∈Rm×N,人臉圖像的訓(xùn)練樣本D可以表示為
D=A+E
其中A∈Rm×N為訓(xùn)練樣本的低秩矩陣。
當(dāng)誤差項矩陣E中元素服從高斯分布時,那么求解最優(yōu)的矩陣A可以轉(zhuǎn)化為求解如下優(yōu)化問題:
(1)
其中r表示低秩矩陣A的秩。
然而在實(shí)際應(yīng)用中,E中元素并不符合高斯分布條件,因此在求解時不能夠采用主成分分析的方法。事實(shí)上,(1)式可以轉(zhuǎn)化為求解雙目標(biāo)的優(yōu)化問題,因?yàn)樗蠼獾恼`差矩陣具有稀疏性,故誤差矩陣也是稀疏矩陣。因此有:
(2)
為了降低求解(2)式的復(fù)雜度,將(2)式中對兩個目標(biāo)同時進(jìn)行優(yōu)化的問題,引入一個權(quán)衡參數(shù)λ,轉(zhuǎn)化為一個更簡單求解的優(yōu)化問題,如(3)式所示:
(3)
然而(3)式是一個難以求解的問題,因此將目標(biāo)函數(shù)l0范數(shù)松弛為l1范數(shù),將矩陣的秩轉(zhuǎn)化為核范數(shù),(3)式變?yōu)榻魄蠼馊缦碌耐箖?yōu)化問題:
(4)
其中‖·‖*代表核范數(shù),‖·‖1代表l1范數(shù)。
式(4)的最優(yōu)化問題的求解方法有:迭代閾值法(Iteration Thresholding, IT)[9]、加速近端梯度法(Accelerated Proximal Gradient, APG)[10]、對偶方法(DUAL)[12]、增廣拉格朗日乘子法(Augmented Lagrange Multipliers, ALM)[11-12]等, ALM算法可分為精確ALM算法和非精確ALM算法兩種,精確ALM算法使用交替方向法更新迭代A和E,直至出現(xiàn)停止迭代的條件為止;本文采用精確拉格朗日乘子法來求解魯棒主成分分析。
下面來介紹求解精確ALM算法:
首先,式(4)的拉格朗日函數(shù)定義如下:
L(A,E,Y,μ)=‖A‖*
(5)
μ為懲罰參數(shù),用來確保收斂性,Y為拉格朗日乘子。
最小化式(5)時,先固定E和Y,得到使L最小化的A:
(6)
然后固定A和Y,得到使L最小化的E:
(7)
對矩陣Y進(jìn)行更新:
Yk+1=Yk+μ(D-Ak+1-Ek+1)
(8)
對參數(shù)μ進(jìn)行更新:
μk+1=ρμk
(9)
其中ρ為大于1的常數(shù)。
卷積神經(jīng)網(wǎng)絡(luò)是一個多層的神經(jīng)網(wǎng)絡(luò),一般是由輸入層、隱藏層、全連接層和輸出層構(gòu)成。其中,卷積神經(jīng)網(wǎng)絡(luò)的隱藏層是由卷積層和池化層交替構(gòu)成的。
卷積層是由多個特征面構(gòu)成,每個特征面由多個神經(jīng)元組成;卷積層通過卷積核后加上偏置,在激活函數(shù)的作用下可以得到下一層輸入的特征圖[13],表達(dá)式:
(10)
池化層又稱下采樣層,多位于卷積層之后,用于對上一層輸出的特征圖進(jìn)行池化處理。常用的池化處理方法有:均值池化(Average Pooling)和最大值池化(Max Pooling)。其中Average Pooling是取局部區(qū)域的采樣點(diǎn)的均值,Max Pooling是取局部區(qū)域的采樣點(diǎn)的最大值,適用于分離非常稀疏的特征。下采樣表達(dá)式:
(11)
本文采用最大值池化的方法來對特征圖進(jìn)行處理。
在卷積神經(jīng)網(wǎng)絡(luò)中,經(jīng)過多個卷積層和池化層之后會連接一個或幾個全連接層,用于整理卷積層和池化層中具有可區(qū)分類別的信息。數(shù)學(xué)表達(dá)式為:
(12)
對于全連接層的輸出會接邏輯回歸進(jìn)行分類,通常采用Softmax邏輯回歸進(jìn)行分類。
本文采用的RPCA是利用非精確增廣拉格朗日乘子算法求解得到的低秩圖像和稀疏圖像;低秩圖像較原圖像較好地去除了不同條件下光照陰影的影響,得到了較原圖像更清晰的低秩圖像。
本文采用的CNN模型類似于LeNet5[7]的模型,本文的模型包括1個輸入層、2個卷積層,2個池化層,1個全連接層和1個輸出層。卷積層采用5×5的卷積核,池化測層采用2×2的卷積核進(jìn)行最大值池化,卷積層和全連接的激活函數(shù)均采用Relu函數(shù)。網(wǎng)絡(luò)最后一層采用非線性分類能力強(qiáng)的Softmax回歸作為分類器。算法流程如圖1所示。
圖1 算法流程圖
本文將由RPCA算法提取出人臉圖像的低秩圖像作為卷積輸入圖像,通過卷積層可以得到若干個特征圖,再經(jīng)過池化層通過加權(quán)加偏置以及激活函數(shù),產(chǎn)生了一個更小的特征映射圖,最后通過全連接層輸出一組特征向量用于Softmax分類。
為了驗(yàn)證本章方法的有效性,在YaleB人臉庫進(jìn)行了實(shí)驗(yàn)。該人臉庫共有10人,每人576幅人臉圖像,其中包括9種姿態(tài)、64種光照條件。本文實(shí)驗(yàn)只選取了正面姿態(tài)的圖像,而且將64種光照條件的人臉圖像按照光照的角度α劃分為5個子集,分別為:子集1 (α<12°),子集2(20°<α<25°),子集3(30°<α<35°),子集4(60°<α<77°),子集5(α>78°)。YaleB數(shù)據(jù)庫的部分樣本如圖2所示。
圖2 YaleB人臉庫不同光照的人臉樣本
在本文實(shí)驗(yàn)中,首先利用魯棒主成分分析將YaleB數(shù)據(jù)庫中10個人臉在不同光照條件下的光照人臉圖像去除光照噪聲,得到每個子集的低秩圖像和稀疏圖像。如圖3所示。
圖3 從左到右依次為原始圖像、低秩圖像、稀疏圖像
由圖2可以很明顯看出,低秩圖像比原始圖像更加清晰,更具有代表性。因而更有利于人臉識別。
將所得到的低秩圖像用于卷積神經(jīng)網(wǎng)絡(luò)的輸入。在所得的10人的人臉低秩圖像的每個子集中,隨機(jī)選取每個子集80%的人臉圖像作為訓(xùn)練集,余下的20%樣本作為測試集。學(xué)習(xí)率為0.01。得到的實(shí)驗(yàn)結(jié)果如表1所示。
表1 在YaleB數(shù)據(jù)庫中的識別率/%
由表1可知,本文算法具有較好的識別效果,較卷積神經(jīng)網(wǎng)絡(luò)與魯棒主成分分析具有較好的魯棒性。
有光照影響的人臉識別的研究一直是人臉識別研究的重要方向之一,本文針對于當(dāng)前對較強(qiáng)光照的人臉識別的不足,提出了基于魯棒主成分分析和卷積神經(jīng)網(wǎng)絡(luò)的光照人臉識別算法的研究,并且主要在YaleB數(shù)據(jù)庫中在Matlab2007中進(jìn)行了仿真實(shí)驗(yàn),結(jié)果表明本文算法具有較好的識別結(jié)果。