封 睿,李小霞
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)
自動人臉識別技術(shù)一直是計(jì)算機(jī)視覺、機(jī)器學(xué)習(xí)和生物識別領(lǐng)域中具有挑戰(zhàn)性的研究課題。2009 年Wright 等[1]提出將稀疏表示理論應(yīng)用到人臉識別技術(shù)中,該方法對光照、遮擋、偽裝有較好的魯棒性?;谙∈璞硎镜膱D像分類(sparse representation classification,SRC)首先用訓(xùn)練樣本構(gòu)造一個超完備字典,將待測樣本用字典原子的稀疏線性組合來表示,然后通過待測樣本的稀疏編碼系數(shù)實(shí)現(xiàn)分類。
稀疏編碼的效果取決于字典的質(zhì)量。Wright 等用整個訓(xùn)練樣本集構(gòu)造字典,在實(shí)踐中為了獲得好的分類效果通常需要大規(guī)模的訓(xùn)練樣本集,導(dǎo)致計(jì)算量很大。近年來,國內(nèi)外學(xué)者基于字典學(xué)習(xí)的思想,提出許多能夠表示給定信號的更加緊湊的小型字典學(xué)習(xí)算法,取得了較好的分類效果。2006 年Aharon 等[2]提出K-SVD 字典學(xué)習(xí)算法,得到的新字典能夠很好地表示訓(xùn)練樣本,但是沒有考慮字典的判別性。文獻(xiàn)[3-6]將稀疏系數(shù)作為圖像的特征,在字典學(xué)習(xí)的基礎(chǔ)上訓(xùn)練分類器,這些方法將字典學(xué)習(xí)和分類器設(shè)計(jì)分開進(jìn)行,得到的新字典對于分類不是最優(yōu)的。另外,一些學(xué)者通過增加字典的約束條件,得到判別性字典和分類器。2008 年P(guān)ham 等[7]在K-SVD 算法中增加了分類誤差約束條件,該算法將字典更新和預(yù)測分類器設(shè)計(jì)過程交替迭代,得到了更利于分類的新字典,但是只能得到一個局部最優(yōu)解。2010 年張等[8]提出判別性KSVD(DKSVD)算法,同時(shí)得到全局最優(yōu)的判別性字典和線性預(yù)測分類器,但是在字典較小的情況下不能保證稀疏系數(shù)的判別性。2010 年楊等[9]對每一個類別分別進(jìn)行字典學(xué)習(xí)和分類器設(shè)計(jì),但是該算法在類別多的情況下十分耗時(shí)。2013 年胡等[10]通過Fisher 判別準(zhǔn)則約束稀疏系數(shù),得到具有判別性的新字典,但是不適于類別多的情況。
為了減小稀疏編碼的計(jì)算量,通常需要通過特征提取對原始圖像進(jìn)行降維,常采用下采樣、Eigenface、Fisherface 及隨機(jī)投影等方法來提取圖像的整體特征。文獻(xiàn)[1]表明在特征維數(shù)足夠高的情況下,SRC 算法對整體特征不敏感,即使是隨機(jī)投影都能達(dá)到較好的識別效果,但是實(shí)踐中訓(xùn)練樣本的數(shù)量往往是有限的,而整體特征容易受到光照、表情、姿態(tài)、局部變形等影響,不能很好的表示樣本。Gabor 濾波器能夠有效地提取圖像在多個方向、多個尺度上的局部特征,并被成功的應(yīng)用到人臉識別技術(shù)中[11-14],從圖像的局部區(qū)域提取的Gabor 特征對光照、表情和姿態(tài)等都有更強(qiáng)的魯棒性。
考慮字典學(xué)習(xí)在稀疏表示圖像識別中的作用以及Gabor特征對光照、表情和姿態(tài)的魯棒性,本文提出一種基于Gabor特征和標(biāo)簽一致字典學(xué)習(xí)的GLC-KSVD 稀疏表示人臉識別算法。首先提取樣本多尺度多方向的Gabor 特征,將訓(xùn)練樣本的Gabor 特征矩陣作為初始特征字典,然后通過字典學(xué)習(xí)同時(shí)得到全局最優(yōu)的判別性字典和線性分類器。學(xué)習(xí)到的新字典能夠很好的對信號進(jìn)行稀疏表示,并且對于任意大小的字典,編碼系數(shù)都具有很強(qiáng)的判別性,來自同一類別的樣本具有相似的稀疏系數(shù),通過一個簡單的線性分類器就能達(dá)到較好的識別性能,同時(shí)也減小了計(jì)算代價(jià)。
字典學(xué)習(xí)是為了從樣本中學(xué)習(xí)一個能夠更好地表示或編碼給定信號的一組基。令Y=[y1…yN]∈Rn×N表示N 個n維輸入信號,則字典學(xué)習(xí)模型表示為:
式(1)中,D =[d1,d2,…,dk]∈Rn×k是學(xué)習(xí)到的字典,X =[x1,x2,…,xN]∈Rk×N是輸入信號Y 的稀疏系數(shù)矩陣,T 是稀疏約束因子,‖Y-DX‖表示重構(gòu)誤差。
K-SVD 算法通過迭代求解式(1),同時(shí)得到重構(gòu)字典D和稀疏系數(shù)矩陣X,但是僅考慮了對給定信號的重構(gòu)性,不利于分類。
Gabor 核函數(shù)表示為
式(2)中,μ 和ν 分別是濾波器的方向和尺度因子,z =(x,y)表示像素,kμ,ν=kνeiφμ,kν=kmax/fν,φμ=πμ/8,kmax是最大采樣頻率,f 是采樣步長,σ 是高斯函數(shù)方差。
選取5 個尺度和8 個方向構(gòu)造Gabor 濾波器組,然后分別與人臉圖像進(jìn)行卷積提取Gabor 特征。令I(lǐng)(x,y)表示人臉圖像,將其與Gabor 核函數(shù)進(jìn)行卷積可得:
式(3)中,Gu,v(z)是復(fù)數(shù),其幅值包含了圖像局部能量的變化,用來描述圖像的特征。每幅圖像分別與40 個Gabor 濾波器進(jìn)行卷積,然后對每個幅值矩陣進(jìn)行下采樣、向量化,最后將這40 個列向量連接起來,構(gòu)成增廣Gabor 紋理特征向量:
基于GLC-KSVD 的人臉識別算法用訓(xùn)練樣本的Gabor特征向量χ 代替公式(1)中的原始訓(xùn)練樣本Y,構(gòu)成Gabor 紋理特征集G=χ(Y)=[χ(y1),χ(y2),…,χ(yN)]。GLC-KSVD算法在字典學(xué)習(xí)模型中加入標(biāo)簽一致約束條件,再通過KSVD 算法得到一個同時(shí)具有重構(gòu)性和判別性的字典。下面分別在式(1)中加入標(biāo)簽一致正則項(xiàng)(GLC-KSVD1)及結(jié)合標(biāo)簽一致和分類誤差的正則項(xiàng)(GLC-KSVD2)。
2.2.1 GLC-KSVD1 算法
一個線性分類器的性能取決于輸入的稀疏系數(shù)的判別性。為了在字典D 上得到具有判別性的稀疏系數(shù),在式(1)中加入標(biāo)簽一致正則項(xiàng),GLC-KSVD1 字典學(xué)習(xí)模型為
式(5)中,α 是正則化參數(shù),Q=[q1,q2,…,qN]∈RK×N是輸入信號G 的判別式稀疏系數(shù)矩陣,A 是線性變換矩陣,‖Q-AX‖表示判別式稀疏編碼誤差。假設(shè)G =[χ1,χ2,…,χ6],D =[d1,d2,…,d4],其中χ1、χ2、χ3、d1、d2屬于類別1,χ4、χ5、χ6、d3、d4屬于類別2,那么
稀疏編碼誤差項(xiàng)使編碼系數(shù)在任意字典大小下都具有很強(qiáng)的判別性,來自同一類別的信號具有相似的稀疏表示,不需要對每個類別進(jìn)行分類器學(xué)習(xí),只需要一個簡單的線性分類器就能達(dá)到良好的分類性能,同時(shí)減小了計(jì)算成本。
2.2.2 GLC-KSVD2 算法
為了得到更好的分類性能,在式(5)中加入分類誤差項(xiàng),GLC-KSVD2 字典學(xué)習(xí)模型為
式(6)中,α、β 是正則化參數(shù),H 是輸入信號G 的類別矩陣,W 是線性分類器參數(shù),‖H-WX‖22 表示分類誤差,它使分類器更利于分類。
2.2.3 GLC-KSVD 最優(yōu)化問題
下面介紹GLC-KSVD2 的最優(yōu)化求解方法,GLC-KSVD1可以使用相似的方法,GLC-KSVD2 最優(yōu)化求解模型表示為
然后,通過K-SVD 算法求得Dnew和X,從而得到D、A、W。GLC-KSVD 算法同時(shí)求得D、A、W 的值,解決了局部最優(yōu)的問題,適用于小字典、類別多的情況,也便于加入其他的判別項(xiàng)。
圖1 顯示了兩個不同的人臉庫中,某一類測試樣本在不同字典上的稀疏系數(shù),X 軸表示稀疏系數(shù)的維度,Y 軸表示這類測試樣本的稀疏系數(shù)的絕對值之和。第一列曲線對應(yīng)Extended YaleB 人臉庫的第2 個人(含32 個測試樣本),第二列曲線對應(yīng)AR 人臉庫的第89 個人(含6 個測試樣本)。圖1(f)和(g)顏色條中的每種顏色代表字典原子的一個類。
不同于K-SVD 和DKSVD,在GLC-KSVD 和SRC、SRC*算法中字典原子和類別標(biāo)簽相對應(yīng),由圖1(f)和圖1(g)可以看出GLC-KSVD 使來自同一類別的樣本具有相似的稀疏表示,與測試樣本同一類別的字典原子對其稀疏編碼的貢獻(xiàn)顯著高于其他的字典原子。稀疏系數(shù)的這種判別性對于提高線性分類器的性能十分重要。
在GLC-KSVD 算法中,首先需要初始化參數(shù)D0、A0和W0。對每一類別分別進(jìn)行K-SVD 字典學(xué)習(xí),然后合并所有學(xué)習(xí)到的字典來初始化D0,其中每一類字典原子的數(shù)目是一致的,每個原子dk的類別標(biāo)簽被初始化為相應(yīng)的類別號,且在整個算法中保持不變。初始化D0后,求解G 的稀疏系數(shù)矩陣X,然后通過多元回歸模型來初始化A0和W0,計(jì)算公式為
圖1 采用不同稀疏編碼方法的稀疏系數(shù)示例
通過K-SVD 算法求得Dnew,從而得到D = {d1,d2,…,dK}、A={a1,a2,…,aK}、W={w1,w2,…,wK},因?yàn)镈new的每一列是歸一化的,所以在測試過程中需要對D、A、W 進(jìn)行轉(zhuǎn)化:
對于測試圖像yi,首先計(jì)算出χ(yi)相應(yīng)的稀疏系數(shù)xi:
然后通過線性預(yù)測分類器來估計(jì)yi的類別:
為了檢驗(yàn)本文算法的有效性,在Extended YaleB 人臉庫和AR 人臉庫上分別進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)平臺為酷睿2 雙核處理器,主頻2.93 GHz,2 GB 內(nèi)存。為了保證結(jié)果的準(zhǔn)確性,實(shí)驗(yàn)結(jié)果為獨(dú)立運(yùn)行10 次后的平均識別率和運(yùn)行時(shí)間。
Extended YaleB 人臉庫共有38 個人,每個人有64 幅正面人臉圖像,包括光照和表情變化。對于每個人,隨機(jī)選擇32 幅用于訓(xùn)練,其余的用于測試。所有圖像的尺寸歸一化到192 ×168 像素,經(jīng)隨機(jī)投影后特征維數(shù)降到504 維,學(xué)習(xí)到的字典包含570 個原子,每人15 個。不同于K-SVD 和DKSVD,GLC-KSVD 和SRC 一樣,其字典原子和類別標(biāo)簽相對應(yīng),對于SRC 實(shí)驗(yàn)選擇全體訓(xùn)練樣本和每人15 幅圖像兩種不同的字典,所有的方法使用相同的學(xué)習(xí)參數(shù)。
表1 列出了本文算法和K-SVD、DKSVD、SRC 及采用相同字典大小的SRC* 的識別率。大多數(shù)的錯誤識別是因?yàn)閳D片的光線太暗,參照文獻(xiàn)[11]剔除質(zhì)量很差的圖片(每人約10 幅),進(jìn)行了另外一組實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果列在表1 第3 行。
表1 Extended YaleB 上不同方法的識別率 %
由表1 可以看出本文算法的識別率高于K-SVD、DKSVD,且明顯高于采用相同字典大小的SRC* ,GLC-KSVD2 的識別率高于GLC-KSVD1。在原圖庫上GLC-KSVD 達(dá)到了96.3%的最高識別率,略低于SRC 的識別率。剔除質(zhì)量很差的圖片后,GLC-KSVD 達(dá)到了99.2%的最高識別率,略高于SRC 的識別率。
表2 列出了本文算法和SRC、SRC*識別一個樣本的平均運(yùn)行時(shí)間,可以看出采用小字典的SRC*、GLC-KSVD1 及GLC-KSVD2 的運(yùn)行速度比SRC 快,并且本文算法的運(yùn)行速度比SRC 提高11.9 倍,比選擇相同字典大小的SRC*提高6 倍。
表2 Extended YaleB 上不同方法的平均運(yùn)行時(shí)間 ms
AR 人臉庫共有126 個人,每個人有26 幅正面人臉圖像,包括光照、表情和偽裝變化。從中選取50 名男性和50名女性的2 600 幅圖像用于實(shí)驗(yàn),對于每個人,隨機(jī)選擇20幅用于訓(xùn)練,另外6 幅用于測試。所有圖像的尺寸歸一化到165 ×120 像素,經(jīng)隨機(jī)投影后特征維數(shù)降到540 維,學(xué)習(xí)到的字典包含500 個原子,每人5 個。對于SRC 實(shí)驗(yàn)選擇兩種不同大小的字典。
表3 列出了本文算法和K-SVD、DKSVD、SRC 及采用相同字典大小的SRC* 的識別率。由表3 可以看出本文算法的識別率明顯高于K-SVD、DKSVD 及SRC* ,并且由于AR庫中人臉圖像存在光照、表情、偽裝等變化,GLC-KSVD 的識別率高于單純采用隨機(jī)投影的SRC,達(dá)到了97.7%。
表3 AR 庫上不同方法的識別率 %
表4 列出了本文算法和SRC、SRC* 識別一個樣本的平均運(yùn)行時(shí)間,可以看出SRC*、GLC-KSVD1 及GLC-KSVD2 的運(yùn)行速度比SRC 快,并且本文算法的運(yùn)行速度比SRC 提高41.9 倍,比采用相同字典大小的SRC*提高11.4 倍。
表4 AR 庫上不同方法的平均運(yùn)行時(shí)間 ms
由實(shí)驗(yàn)結(jié)果看出對于一個包含大量訓(xùn)練樣本的數(shù)據(jù)庫,與用整個訓(xùn)練樣本集作字典相比,學(xué)習(xí)一個小字典可以節(jié)省很多時(shí)間。GLC-KSVD 算法使稀疏系數(shù)具有判別性,只用一個簡單的線性分類器就達(dá)到了最好的識別率,同時(shí)大大提高了運(yùn)行速度,尤其是在類別多的情況下,運(yùn)行速度提高更多。
本文提出基于Gabor 特征和標(biāo)簽一致字典學(xué)習(xí)的GLCKSVD 稀疏表示人臉識別算法,提取訓(xùn)練樣本的Gabor 特征來構(gòu)建初始特征字典,對光照、表情、姿態(tài)、偽裝等有更強(qiáng)的魯棒性。GLC-KSVD1 通過綜合重建誤差、稀疏編碼誤差,使編碼系數(shù)在任意字典大小下都具有很強(qiáng)的判別性,來自同一類別的信號具有相似的稀疏表示,不需要對每個類別分別進(jìn)行復(fù)雜的分類器學(xué)習(xí),通過一個簡單的線性分類器就達(dá)到了良好的分類性能,也減小了計(jì)算成本。GLC-KSVD2 通過綜合重建誤差、稀疏編碼誤差和分類誤差,使稀疏系數(shù)更利于分類。GLC-KSVD 還通過最優(yōu)化求解方法,得到了全局最優(yōu)的判別性字典和線性分類器,也便于加入其他的判別項(xiàng)。實(shí)驗(yàn)結(jié)果表明,本文算法達(dá)到了較好的識別效果,適用于小字典,對表情、偽裝、姿態(tài)變化等有更強(qiáng)的魯棒性,且運(yùn)行速度大大提高,尤其是在類別多的情況下,運(yùn)行速度提高更多。
[1]WRIGHT J,YANG A Y,GANESH A,et al. Robust face recognition via sparse representation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(2):210-227.
[2]AHARON M,ELAD M,BRUCKSTEIN A.K-SVD:An algorithm for designing overcomplete dictionaries for sparse representation[J]. IEEE Transactions on Signal Processing,2006,54(1):4311-4322.
[3]MAIRAL M,LEORDEANU M,BACH F,et al.Discriminative sparse image models for class-specific edge detection and image interpretation[C]//Proceedings of the 10th European Conference on Computer Vision. Marseille,F(xiàn)rance:Springer,2008:43-56.
[4]ZHANG W,SURVE A,F(xiàn)EM X,et al.Learning non-redundant codebooks for classifying complex objects[C]//Proceedings of the 26th Annual International Conference on Machine Learning. New York,USA: ACM,2009: 1241-1248.
[5]BOUREAU Y L,BACH F,LECUM Y,et al.Learning midlevel features for recognition[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco,CA,USA: IEEE Computer Society,2010:2559-2566.
[6]MAIRAL J,BACH F,PONCE J,et al.Discriminative learned dictionaries for local image analysis[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Anchorage,AK,USA: IEEE Computer Society,2008:1-8.
[7]PHAM D,VENKATESH S. Joint learning and dictionary construction for pattern recognition[C]//proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Anchorage,AK,USA: IEEE Computer Society,2008:1-8.
[8]ZHANG Q,LI B X. Discriminative K-SVD for dictionary learning in face recognition[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco,CA,USA: IEEE Computer Society,2010:2691-2698.
[9]YANG J,YU K,HUANG T.Supervised translation-invariant sparse coding[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.San Francisco,CA,USA: IEEE Computer Society,2010:3517-3524.
[10]胡正平,徐波,白洋.Gabor 特征集結(jié)合判別式字典學(xué)習(xí)的稀疏表示圖像識別[J].中國圖象圖形學(xué)報(bào),2013,18(2):189-194.
[11]JIANG Z L,LIN Z,DAVIS L S.Learning a discriminative dictionary for sparse coding via label consistent K-SVD[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Providence,RI,USA:IEEE Computer Society,2011:1697-1704.
[12]張文超,山世光,張洪明,等.基于局部Gabor 變化直方圖序列的人臉描述與識別[J].軟件學(xué)報(bào),2006,17(12):2508-2517.
[13]YANG M,ZHANG L.Gabor feature based sparse representation for face recognition with Gabor occlusion dictionary[C]//Proceedings of the 11th European Conference on Computer Vision.Crete,Greece:Springer,2010:448-461.
[14]張娟,占永照,毛啟容,等.基于Gabor 小波和稀疏表示的人臉表情識別[J]. 計(jì)算機(jī)工程,2012,38(6): 207-212.