徐然然,吳小俊,尹賀峰
江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫214122
近年來,隨著各種社交軟件的迅速普及以及網(wǎng)絡(luò)速度的快速提升,在線分享的照片越來越多。如何對這些圖像數(shù)據(jù)進(jìn)行分類識別,成為圖像處理領(lǐng)域中的研究熱點。圖像像素的增加,使得通過圖像生成的空間維數(shù)成倍增加,容易導(dǎo)致維數(shù)災(zāi)難。為了解決維數(shù)災(zāi)難問題,通常對圖像進(jìn)行特征提取。在特征提取階段,將圖像轉(zhuǎn)換成特征空間中的低維向量,經(jīng)典的基于子空間學(xué)習(xí)的人臉識別方法有主成分分析(Principal Component Analysis,PCA)[1-2]、線性判別分析(Linear Discriminant Analysis,LDA)[3-6]等方法。
近年來,稀疏表示在很多領(lǐng)域得到廣泛的研究和應(yīng)用。Wright 等[7]首先提出了稀疏表示分類算法(Sparse Representation based Classification,SRC)用于人臉識別,將訓(xùn)練樣本組成一個過完備的字典,使用這個字典對測試樣本稀疏線性表示,然后計算相應(yīng)的重構(gòu)誤差,將測試樣本劃分在最小重構(gòu)誤差對應(yīng)的類別中。SRC使用L1 范數(shù)對表示向量進(jìn)行稀疏約束,但當(dāng)SRC 中樣本過多時,訓(xùn)練樣本生成的字典規(guī)模增大,導(dǎo)致后續(xù)樣本的稀疏分解過程變慢。
針對這個問題,Zhang 等人[8]提出了協(xié)同表示分類算法(Collaborative Representation based Classification,CRC),CRC強調(diào)了協(xié)同機(jī)制在模式分類中的作用,利用L2 范數(shù)對表示向量進(jìn)行有限的稀疏約束,由于引入L2范數(shù),CRC可以得到閉式解。實驗證明,CRC能取得和SRC 相當(dāng)?shù)淖R別性能,同時計算復(fù)雜度明顯低于SRC。另外,Cai等人[9]從概率的角度解釋了協(xié)同表示機(jī)制,并且提出了概率協(xié)同表示分類算法(Probabilistic CRC,ProCRC),CRC 可以看作是ProCRC 的一種特殊形式。受稀疏表示在不同領(lǐng)域成功應(yīng)用的啟發(fā),Yin 等人[10]提出一種基于局部二值模式和稀疏表示的特征融合方法,在該方法中特征以串行方式進(jìn)行融合。為了處理訓(xùn)練和測試樣本都受到污損的情形,Yin 等人[11]提出一種低秩矩陣恢復(fù)算法,該方法通過低秩投影矩陣可以對污損的測試樣本進(jìn)行恢復(fù)。Chen 等人[12]將稀疏表示與基于核范數(shù)的誤差矩陣回歸相結(jié)合,可以有效地將樣本中的連續(xù)遮擋移除。
考慮到不同類別之間的鑒別信息,Xu 等人[13]提出了鑒別稀疏表示分類算法(Discriminative Sparse Representation based classification,DSR),由于引入了去相關(guān)性正則項,使得圖像分類的性能得到提升,同時DSR能得到解析解,可降低計算復(fù)雜度。
無論是SRC、CRC還是他們的拓展算法[14-15],都無法避免編碼系數(shù)中的負(fù)數(shù)表示。受非負(fù)矩陣分解(Nonnegative Matrix Factorization,NMF)[16]的啟發(fā),Xu 等人[17]提出了非負(fù)表示分類器(Non-negative Representation based Classification,NRC),NRC 去掉不利于分類的信息,提高同類樣本的貢獻(xiàn)比重,同時限制異類樣本貢獻(xiàn)比重。
雖然NRC 取得了優(yōu)異的識別效果,但是NRC 沒有考慮到樣本之間的相關(guān)性,本文提出的方法在NRC 的基礎(chǔ)上添加鑒別項,減少相似樣本類別之間的相關(guān)性。
為了說明本文方法Discriminative Non-negative Representation based Classification(DNRC)正則項的有效性,下面給出一個例子,從Extended Yale B[18]數(shù)據(jù)集中取一個測試樣本y,該樣本的真實類別是第13類,對比DNRC 和NRC 算法在Extended Yale B 數(shù)據(jù)集上的編碼系數(shù)。
圖1(a)是用DNRC 算法得到的測試樣本的編碼系數(shù),圖1(b)是用NRC 算法得到的測試樣本的編碼系數(shù),圖1(a)和(b)中紅色標(biāo)記是真實類別所對應(yīng)的編碼系數(shù),圖1(b)中綠色區(qū)域是NRC 錯誤分類對應(yīng)的編碼系數(shù)。
圖1 分別用DNRC和NRC算法計算的編碼系數(shù)
用柱狀圖表示出測試樣本y在訓(xùn)練字典上對應(yīng)的殘差,該測試樣本的真實類別是第13 類,由圖2(a)看出,DNRC計算出來的最小殘差屬于第13類,因此DNRC正確地將該測試樣本分類,由圖2(b)看出,用NRC計算出來的最小殘差對應(yīng)第7類,與測試樣本的真實類別不符。其中,DNRC 算法的最小殘差比為1∶1.09,NRC 算法的最小殘差比接近1∶1。
圖2 分別用DNRC和NRC算法計算的殘差
由此看來,雖然NRC 的最大編碼系數(shù)位于正確的類別,但是最大編碼系數(shù)得到的殘差并不是最小的,導(dǎo)致測試樣本誤分,但是本文方法在NRC 的基礎(chǔ)上添加去相關(guān)正則項,能夠有效地減少錯誤分類情況,提升識別率。在4 個公開數(shù)據(jù)集上的實驗表明本文方法有著突出的表現(xiàn)。
假設(shè)訓(xùn)練集一共有L類樣本,用Xi表示第i類樣本集,訓(xùn)練樣本集可以表示為X=X1,X2,…,XL,其中第i類共有m個樣本,每個樣本排列成一個列向量,表示為Xi=[xi,1,xi,2,…,xi,m],維數(shù)為d,總樣本的個數(shù)是n(n=m×L)。對于一個測試樣本y∈Rd,尋找一個稀疏系數(shù)c∈Rn,使與y不同類別樣本對應(yīng)的系數(shù)較小,趨近于0。構(gòu)建模型y=Xc∈Rd,使得編碼系數(shù)c稀疏。SRC的目標(biāo)函數(shù)如下:
其中,λ>0 是平衡參數(shù)。求解L1 范數(shù)優(yōu)化問題有很多方法,通過L1 正則化最小二乘法[19],快速迭代收縮[20]和閾值算法[21],同倫算法[22]等算法均可求解得到稀疏編碼系數(shù),計算最小重構(gòu)誤差r,第k類重構(gòu)誤差如下所示:
其中ck(k=1,2,…,L)為第k類樣本對應(yīng)的編碼系數(shù),測試樣本的類別為最小重構(gòu)誤差所對應(yīng)的類別,如下所示:
SRC在圖像分類問題上有廣泛的應(yīng)用和研究,雖然SRC 在識別性能上表現(xiàn)優(yōu)異,但是SRC 以及SRC 的拓展算法都沒有考慮到系數(shù)編碼中負(fù)數(shù)對識別的影響。NRC 表明,編碼系數(shù)中的負(fù)元素來自訓(xùn)練樣本中與測試樣本不同類別的樣本,對樣本正確的分類有不利的影響。受非負(fù)矩陣分解的啟發(fā),NRC 對編碼系數(shù)進(jìn)行非負(fù)約束,構(gòu)建如下模型:
通過交替方向乘子法[23]對式(4)迭代優(yōu)化,引入輔助變量z,得到如下等價形式:
構(gòu)建拉格朗日函數(shù)如下:
其中,δ是拉格朗日乘子,μ是懲罰參數(shù),依次對參數(shù)進(jìn)行迭代求解,具體算法過程可以參考算法1。
DSR通過引入去相關(guān)正則項,使不同的類別更具區(qū)分性,有助于表示分類方法獲得有鑒別性的類別殘差,更好地識別測試樣本。
DSR的目標(biāo)函數(shù)如下:
經(jīng)過推導(dǎo)可以得到編碼系數(shù)c的解析解。具體算法流程如算法2所示。
本文提出的基于鑒別性非負(fù)表示的人臉識別算法(DNRC),主要在非負(fù)表示的基礎(chǔ)上添加鑒別性信息。第一步,采用了基于非負(fù)表示的分類器,NRC的研究表明同類的訓(xùn)練樣本對于重構(gòu)表示的貢獻(xiàn)是正的數(shù)值,異類的訓(xùn)練樣本對于重構(gòu)表示的貢獻(xiàn)是負(fù)的數(shù)值,非負(fù)表示約束可以減少其他類別對測試樣本重構(gòu)表示的影響;第二步,添加正則項,減少類別之間的相關(guān)性。本文方法使用的是L2 范數(shù),不是L1 范數(shù)或者L2,1 范數(shù),通過推導(dǎo)能夠得到閉式解,比SRC的運行速度快。
本文算法的模型如下:
第i類訓(xùn)練樣本對應(yīng)的表示系數(shù)用ci表示,測試樣本的估計向量就可以寫成Xici,本文方法加入鑒別信息項將該項展開來看,可以寫成由此看來,為了最小化該正則項,等價于同時最小化其中i,j={1,2,…,L}。
引入輔助變量z,式(8)可以寫成如下的等價形式:
其中,λ>0 為平衡因子,平衡式(9)中的各項大小。本文利用交替方向乘子法來對式(9)進(jìn)行優(yōu)化求解,具體過程在下一節(jié)中詳細(xì)介紹。
將式(9)轉(zhuǎn)換成拉格朗日函數(shù),利用交替方向乘子法進(jìn)行推導(dǎo)優(yōu)化。構(gòu)建拉格朗日函數(shù)如下式所示:
首先,對式(10)的第一項求偏導(dǎo),結(jié)果如下所示:
然后,對式(10)的第二、三項合并求偏導(dǎo),結(jié)果下式所示:
接著,將式(10)的最后一項用f表示,即:
對式(10)的最后一項關(guān)于c求偏導(dǎo),結(jié)果如下所示:
經(jīng)過化簡求導(dǎo),整理得到各個變量的迭代形式:
由于λ(LP+XTX)與系數(shù)編碼無關(guān),可以事先計算,以便減少計算復(fù)雜度。通過將式(16)、(17)、(18)交替更新,重復(fù)進(jìn)行,直到達(dá)到收斂條件,或者達(dá)到最大迭代次數(shù)。算法的收斂條件:當(dāng)設(shè)定的誤差tolerance>0是一個足夠小的值時,同時滿足條件還有
具體算法流程如算法3所示。
通過交叉驗證法得到最優(yōu)參數(shù)λ,利用算法3得到測試樣本y的表示系數(shù),接著利用編碼系數(shù)計算重構(gòu)誤差,對測試樣本y進(jìn)行分類,本文算法流程如算法4所示。
為了驗證本文算法的有效性,分別在AR[24]、GT[25]、Extended Yale B 和LFW[26]這4 個公開數(shù)據(jù)集上進(jìn)行實驗。在實驗中,通過與其他分類識別算法SRC、CRC、ProCRC、LRC、DSR、NRC進(jìn)行對比,比較人臉識別正確率以及運行時間。在GT 數(shù)據(jù)集上研究不同維數(shù),以及不同訓(xùn)練樣本個數(shù)對識別率的影響。
AR數(shù)據(jù)集。采集了126名人員(其中男性70名,女性56 名)的彩色正面照片,對于每一個實驗人員的圖像,采集條件不同,包含光照差別、表情變化,以及是否有遮擋。本文實驗取AR數(shù)據(jù)集的子集,包括50名男性和50名女性的圖像,每個實驗對象有14張圖像,取其中7 張作為訓(xùn)練樣本,另外7 張作為測試樣本。每張圖像縮放為60×43大小,通過PCA降維到600維。
GT數(shù)據(jù)集。Georgia Tech數(shù)據(jù)集采集了50名人員的彩色正面照片,每一個實驗對象有15張圖像,分別在不同姿態(tài)、表情、光照以及背景的情況下拍攝。整體像素為680×480 像素,其中人臉的平均大小為150×150 像素。經(jīng)過裁剪之后是正面和稍有傾斜的人臉數(shù)據(jù)集,部分示例圖像如圖3(b)所示。實驗中對每個實驗對象隨機(jī)取8 張圖像作為訓(xùn)練樣本,剩下的7 張作為測試樣本。重復(fù)10 次實驗取識別率的平均值,每張圖像縮放為125×125大小,通過PCA降維到700維。
圖3 4個數(shù)據(jù)集的部分示例圖像
Extended Yale B數(shù)據(jù)集。Extended Yale B數(shù)據(jù)集采集了38 名人員的2 414 張正面彩色圖像。每一個實驗對象最多有64 張圖像,最少有59 張圖像。裁剪后的平均像素是192×168像素,實驗環(huán)境嚴(yán)格控制不同的光照條件,部分示例圖像如圖3(c)所示。實驗中將圖像降采樣為54×48像素通過PCA將維數(shù)降到540維。
LFW數(shù)據(jù)集取8張人臉圖片作為訓(xùn)練樣本,剩下的作為測試樣本,實驗結(jié)果取10 次實驗的平均識別率。包含了非限制環(huán)境下的人臉圖像。一共有1 680名人員的13 000多張人臉圖像。本文實驗使用LFW數(shù)據(jù)集的子集,使用86 名人員的1 251 張人臉圖片,每個實驗人員最少有10張人臉圖片,最多有20張人臉圖片,因此實驗中對每個實驗人員隨機(jī)選平均值。將每張圖像縮放為32×32大小。
表1 給出各種對比算法在4 個數(shù)據(jù)集上的識別率,本文算法在AR、GT、Extended Yale B、LFW上的參數(shù)λ取值分別為0.000 01、0.001、0.000 1、0.000 01 時取得最優(yōu)實驗結(jié)果。
表1 各算法在4個數(shù)據(jù)集上的識別率%
從表1 看出,在4 個數(shù)據(jù)集上,本文提出算法的識別率要優(yōu)于其他方法。在AR 數(shù)據(jù)集上,本文方法比DSR 高出6.15%,比NRC 高出0.43%,顯然,在AR 數(shù)據(jù)集上,本文算法比其他算法有優(yōu)勢。在GT 數(shù)據(jù)集上,本文提出方法比SRC 高2.46%,比DSR 高出5.89%,比NRC 高出3.38%,并且高于其他對比算法。在Extended Yale B 數(shù)據(jù)集上的實驗結(jié)果顯示,本文提出方法比DSR 的識別率高出2.15%,比NRC 高出0.82%。LFW 數(shù)據(jù)集中的圖片是在非限制條件下收集的,識別比較困難,各種方法在LFW 數(shù)據(jù)集上的識別率都不是很高。但是本文提出方法的表現(xiàn)突出,比CRC 的識別結(jié)果提高了17.94%,比DSR 高出了6.93%,比NRC 高出0.48%。
算法的測試時間主要來自計算訓(xùn)練樣本對應(yīng)的重構(gòu)誤差,由于不同的算法的編碼系數(shù)的計算方式不同,所以在運行時間上的差異很大。為了驗證本文算法效率,表2 列出了在AR、GT、Extended Yale B、LFW 這4個數(shù)據(jù)集上的總的測試時間。
表2 不同算法的測試時間對比 s
由表2可知,不同方法的測試時間與數(shù)據(jù)集的大小有關(guān)系,GT 數(shù)據(jù)集的測試時間相比其他數(shù)據(jù)集短。相同數(shù)據(jù)集下,不同識別方法的測試時間也有很大的區(qū)別。由于SRC 使用的是L1 范數(shù)計算,雖然在有些數(shù)據(jù)集上的識別結(jié)果比其他方法優(yōu)異,但是SRC需要迭代優(yōu)化。CRC和ProCRC可以得到解析解,大大降低測試時間,在4 個數(shù)據(jù)集上的測試時間顯示,本文算法在測試時間上很有優(yōu)勢。本文提出方法的測試時間比CRC多,但是相比SRC有了很大的提升。
實驗中訓(xùn)練樣本通過PCA降維的維數(shù)對實驗結(jié)果有一定影響,為此在GT 數(shù)據(jù)集上進(jìn)行實驗。將樣本分別投影到到54、84、120、150、200一共5種維度的子空間中,不同維數(shù)下的識別結(jié)果如表3所示。
表3中的λ是正則項參數(shù)的取值,其中識別率最高的數(shù)值用黑體表示。為了更加直觀地研究不同維數(shù)對于實驗結(jié)果的影響,用折線圖表示識別率如圖4 所示。從圖4 可以看出,當(dāng)λ取0.1 時,在5 種維數(shù)上的識別率都比其他λ取值識別率高,當(dāng)PCA 的維數(shù)增加時,識別率隨之增加,但是當(dāng)維數(shù)增大到150時就沒有很大的提升,降維過低時會損失信息,對識別結(jié)果不利。當(dāng)維數(shù)過大時,對于識別結(jié)果沒有太大的影響,反而增加計算時間。
圖4 在GT數(shù)據(jù)集上不同維數(shù)下的識別率
表3 不同維度下本文算法的識別率 %
數(shù)據(jù)集中訓(xùn)練樣本的個數(shù)對實驗結(jié)果有很大的影響,為了研究不同訓(xùn)練樣本數(shù)對實驗的影響,在GT數(shù)據(jù)集上控制不同的訓(xùn)練樣本個數(shù),隨機(jī)選擇N(N=2,4,6,8,10,12)幅圖像作為訓(xùn)練樣本,重復(fù)10 次實驗取實驗結(jié)果的平均值,實驗結(jié)果如表4 所示,λ作為平衡參數(shù),識別率最好的用黑體表示。
表4 不同樣本數(shù)時本文算法的識別率 %
當(dāng)訓(xùn)練樣本數(shù)不同時,實驗結(jié)果最好時參數(shù)λ的取值并不相同,取值變化比較大。
在GT 數(shù)據(jù)集中,隨著訓(xùn)練樣本數(shù)增加,識別率升高,從圖5直觀地看出,在所有λ的取值上,訓(xùn)練樣本數(shù)為2 時,識別率很低,當(dāng)訓(xùn)練樣本增加時,識別率隨之增加。
圖5 在GT數(shù)據(jù)集上不同訓(xùn)練樣本數(shù)的識別率
本文提出一種基于鑒別性非負(fù)表示的分類算法,利用交替方向乘子法對提出的模型進(jìn)行優(yōu)化。在4 個公開數(shù)據(jù)集上都取得了較好的識別效果,說明本文算法的優(yōu)越性。本文算法使用的是傳統(tǒng)特征,近年來深度學(xué)習(xí)在各個領(lǐng)域取得了優(yōu)異的性能,今后可在深度特征上驗證本文算法的性能。此外,本文使用的訓(xùn)練樣本是干凈的(沒有遮擋和像素破壞),為了處理實際應(yīng)用中的圖像,可以考慮利用低秩矩陣恢復(fù)算法對樣本進(jìn)行處理,進(jìn)一步提高算法的識別率。