王曉明,徐 濤,冉 彪
(西華大學(xué) a.計(jì)算機(jī)與軟件工程學(xué)院; b.機(jī)器人研究中心,成都 610039)
稀疏表達(dá)(Spare Representation,SR)利用超完備的基向量有效表示樣本數(shù)據(jù),廣泛應(yīng)用于圖像分類[1-3]、超分辨率[4]、壓縮[5]和去噪[6]等方面。將超完備的基向量稱為字典,其中的每一個(gè)基向量稱為原子。模式分類技術(shù)利用數(shù)據(jù)的鑒別信息,從真實(shí)樣本數(shù)據(jù)中學(xué)習(xí)完備的字典以提高分類效率。此類基于模式分類的字典學(xué)習(xí)算法被稱為鑒別性字典學(xué)習(xí)(Discriminative Dictionary Learning,DDL)。
DDL利用具有信息鑒別能力的訓(xùn)練樣本學(xué)習(xí)超完備字典以提高編碼系數(shù)的鑒別性能,在圖像分類中的廣泛應(yīng)用使其成為當(dāng)前研究的熱點(diǎn)之一。研究人員現(xiàn)已提出一系列DDL算法,其中的一種字典學(xué)習(xí)算法旨在利用字典的重構(gòu)誤差進(jìn)行分類。文獻(xiàn)[7]提出結(jié)構(gòu)不一致和共享特性的聚類字典學(xué)習(xí)算法。文獻(xiàn)[8]提出特定類別的子詞典與細(xì)粒度共享的字典學(xué)習(xí)算法。這兩種字典學(xué)習(xí)算法結(jié)合字典的結(jié)構(gòu)特性,強(qiáng)制性地為字典增加鑒別信息,然而在類別數(shù)量巨大的分類任務(wù)中不能取得理想的分類結(jié)果。另一種字典學(xué)習(xí)算法通過尋找最優(yōu)字典提高字典鑒別能力。文獻(xiàn)[9]通過學(xué)習(xí)字典和分類器對原始KSVD算法[10]進(jìn)行擴(kuò)展,提出鑒別性KSVD算法(Discriminative KSVD,D-KSVD),提高了字典的鑒別能力。文獻(xiàn)[11]在D-KSVD算法的基礎(chǔ)上增加一致性類標(biāo)簽限制條件,提出類標(biāo)簽一致KSVD算法(Label Consistent KSVD,LC-KSVD),提高了編碼系數(shù)的鑒別能力。由于LC-KSVD算法忽略了原子間的相似特征,鑒別性能提高有限,因此文獻(xiàn)[12]提出局部特征和類標(biāo)嵌入約束的字典學(xué)習(xí)算法(Locality Constrained and Label Embedding Dictionary Learning,LCLE-DL),在一定程度上解決了原子相似性對鑒別性能的影響問題。文獻(xiàn)[13]提出有監(jiān)督的邏輯損失函數(shù)字典學(xué)習(xí)策略。文獻(xiàn)[14]闡述了泛化任務(wù)驅(qū)動字典學(xué)習(xí)框架。文獻(xiàn)[15]通過間隔最大化思想研究字典學(xué)習(xí)問題,并采用多類損失函數(shù)進(jìn)行字典學(xué)習(xí)。文獻(xiàn)[16]提出Fisher鑒別字典學(xué)習(xí)算法(Fisher Discrimination Dictionary Learning,FDDL),FDDL兼顧重構(gòu)誤差和編碼系數(shù)的鑒別能力,采用類別特性策略學(xué)習(xí)結(jié)構(gòu)化字典,通過對編碼系數(shù)引入Fisher鑒別準(zhǔn)則提高字典鑒別能力,但是FDDL算法在處理多樣本的問題中時(shí)間開銷較大。文獻(xiàn)[17]提出的大間隔字典學(xué)習(xí)算法將SVM的大間隔原理作用于字典訓(xùn)練過程,提高字典的鑒別能力。文獻(xiàn)[18]提出支持向量引導(dǎo)的字典學(xué)習(xí)算法(Support Vector Guided Dictionary Learning,SVGDL),將標(biāo)準(zhǔn)的SVM[19]作為鑒別項(xiàng)用于編碼系數(shù)向量,在編碼系數(shù)的更新過程中采用二次合頁損失函數(shù)計(jì)算其加權(quán)距離的平方并更新編碼系數(shù)。通過引入固定參變量證明FDDL算法固定的權(quán)值分配策略僅是SVGDL算法的特例,并將范數(shù)作為稀疏控制條件,表明其在時(shí)間效率和識別率上均優(yōu)于FDDL算法。
本文基于SVGDL算法的權(quán)值分配策略,提出最小類內(nèi)方差支持向量引導(dǎo)的字典學(xué)習(xí)算法(Minimum Class Variance Support Vector Guided Dictionary Learning,MCVGDL),將MCVSVM算法作為鑒別項(xiàng)并與協(xié)作表達(dá)(Collaboration Representation,CR)相結(jié)合。MCVSVM是對標(biāo)準(zhǔn)SVM的改進(jìn),其最優(yōu)分類超平面更符合數(shù)據(jù)特征的空間分布情況,也是對標(biāo)準(zhǔn)SVM最優(yōu)超平面的修正。實(shí)驗(yàn)將MCVGDL算法與SVM、CRC、SRC、KSVD、D-KSVD、LC-KSVD、FDDL和SVGDL算法在多個(gè)常用數(shù)據(jù)集上進(jìn)行對比。
鑒于稀疏表達(dá)優(yōu)化l0和l1的時(shí)間開銷問題,文獻(xiàn)[20]提出結(jié)合最小二乘和l2范數(shù)的協(xié)作表達(dá)算法。文獻(xiàn)[21]進(jìn)一步分析了協(xié)作表達(dá)和稀疏表達(dá)在分類問題上的工作原理。
(1)
SVGDL[18]是一種改進(jìn)的鑒別性字典學(xué)習(xí)模型,其將協(xié)作表達(dá)式(1)和標(biāo)準(zhǔn)的SVM相結(jié)合,通過引入固定參變量,證明了FDDL算法固定分配權(quán)值的策略是其自由分配權(quán)值的特例。SVGDL算法模型為:
(2)
其中,w是標(biāo)準(zhǔn)SVM的分類超平面,b是對應(yīng)的偏置,類標(biāo)簽向量y=[y1,y2,…,yn],β是平衡參數(shù),旨在協(xié)調(diào)l2范數(shù)和鑒別項(xiàng)之間的關(guān)系,H(S,y,w,b)定義為:
(3)
SVM[19]是典型的大間隔分類器,廣泛應(yīng)用于模式識別和機(jī)器學(xué)習(xí)中。然而,傳統(tǒng)SVM建立的超平面是基于最大間隔原則[14],從而導(dǎo)致該方法僅考慮每類數(shù)據(jù)邊界上的樣本點(diǎn),而沒有利用數(shù)據(jù)的分布信息,因而在一定程度上制約了其泛化能力的進(jìn)一步提高。針對這一問題,文獻(xiàn)[22]提出最小化類內(nèi)方差支持向量機(jī)。MCVSVM可以看作是一種結(jié)合SVM和Fisher線性鑒別的分類器,與標(biāo)準(zhǔn)SVM不同,MCVSVM建立的決策超平面既考慮了數(shù)據(jù)的邊界信息,又考慮了數(shù)據(jù)的分布信息。因此,其不易受到例外樣本點(diǎn)和噪音的影響,具有更強(qiáng)的魯棒性和更好的泛化性能。MCVSVM的定義為:
s.t.yi(wTsi+b)≥1-ξi,i=1,2,…,n
(4)
其中,ξ=[ξ1,ξ2,…,ξn]是松弛向量,θ是懲罰系數(shù),控制著錯誤分類數(shù)據(jù)的懲罰程度,θ越大,懲罰程度越大,θ越小,懲罰程度越小,Sω是類內(nèi)散度矩陣,其定義為:
(5)
s.t.0≤αi≤θ,i=1,2,…,n,αTy=0
(6)
文獻(xiàn)[23]將二分類MCVSVM擴(kuò)展成多分類問題,并取得了優(yōu)于SVM的分類實(shí)驗(yàn)結(jié)果。由于MCVSVM兼顧大間隔和數(shù)據(jù)分布信息,具有更好的魯棒性和泛化能力。因此,MCVGDL使用MCVSVM對SVGDL算法進(jìn)行改進(jìn)。
SVGDL算法采用標(biāo)準(zhǔn)SVM[19]作為鑒別項(xiàng),通過大間隔編碼系數(shù)引導(dǎo)字典學(xué)習(xí),僅考慮每類編碼系數(shù)邊界上的樣本點(diǎn)表示系數(shù)樣本點(diǎn),而沒有利用編碼系數(shù)的空間分布信息。與SVGDL算法不同,MCVGDL算法采用MCVSVM[22-23]作為編碼系數(shù)的鑒別性條件,同時(shí)兼顧邊界上的編碼系數(shù)及其空間分布信息。
受MCVSVM[22-23]和SVGDL[18]啟發(fā),本文使用MCVSVM替換式(2)中SVGDL算法的鑒別條件,并借鑒文獻(xiàn)[18]的一對多策略建立如式(7)所示的MCVGDL算法目標(biāo)優(yōu)化函數(shù):
(7)
借鑒文獻(xiàn)[18]的求解方法,雖然MCVGDL算法并不是聯(lián)合的凸優(yōu)化問題,但固定其中的多個(gè)變量后,式(7)轉(zhuǎn)化為可交替優(yōu)化的凸優(yōu)化問題。因此,采用交替優(yōu)化策略分別更新字典D、編碼系數(shù)矩陣S和MCVSVM分類器{w,b}。
2.2.1 編碼系數(shù)S更新
借鑒文獻(xiàn)[18,24]的更新方法,固定字典D、w、b和拉普拉斯矩陣Lc。更新每一個(gè)si,目標(biāo)函數(shù)式(7)轉(zhuǎn)換為如下方式求解:
(8)
(9)
si=A-1B
(10)
其中,I是單位矩陣。
(11)
(12)
2.2.2 字典D更新
借鑒文獻(xiàn)[25]的更新方法,固定編碼系數(shù)S、w、b和拉普拉斯矩陣Lc。目標(biāo)函數(shù)式(7)轉(zhuǎn)變?yōu)榍蠼鈪f(xié)作表達(dá)字典D的更新過程。更新的D的目標(biāo)函數(shù)為:
(13)
該目標(biāo)函數(shù)可以通過文獻(xiàn)[25]的拉格朗日對偶問題求得,給出J(D)的Lagrange函數(shù)為:
J(D,λ)=Tr[(X-DS)T(X-DS)]+
s.t.λj>0,?j∈{1,2,…,K}
(14)
其中,λ是Lagrange乘子,可求得其對偶問題為:
Tr(DTD-DST(SST+Λ)-1(DST)T-cΛ)
s.t.λj>0,?j
(15)
其中,Λ=diag(λ),通過求其對偶問題并將所得最優(yōu)解λ代入DT=(SST+Λ)-1(DST)T,可得字典D的最優(yōu)解。
2.2.3 MCVSVM的W、b和L更新
固定字典D和編碼系數(shù)S,式(7)的優(yōu)化問題轉(zhuǎn)變?yōu)榍蠼舛囝怣CVSVM的二次規(guī)劃問題。本文使用二范數(shù)的MCVSVM作為模型式(7)的鑒別條件,同時(shí)采用一對多的策略訓(xùn)練多類模型。二范數(shù)的MCVSVM定義如下:
s.t.yi(wTsi+b)≥1-ξi,i=1,2,…,n
(16)
綜合以上更新過程,MCVGDL算法具體步驟如下:
輸出訓(xùn)練后的字典D、W、b和拉普拉斯矩陣L
1.T=0
2.For i=1 to n
使用式(10)更新si;
else
使用式(12)更新si
end For
3.借鑒分類字典學(xué)習(xí)算法[25]更新字典D;
4.借鑒最小類內(nèi)方差支持向量機(jī)[22]求解二次規(guī)劃問題的方法,更新W、b和拉普拉斯矩陣L;
5.若相鄰兩次迭代后目標(biāo)函數(shù)值之差小于收斂閾值Delta,則迭代終止,否則返回步驟2繼續(xù)執(zhí)行,直到收斂或達(dá)到最大迭代次數(shù)T終止;
6.End
(17)
為保證實(shí)驗(yàn)公平性,本文所有實(shí)驗(yàn)均基于Intel i3-4130 @3.40 GHz的處理器,4 GB內(nèi)存空間,64位Windows 7旗艦版系統(tǒng)軟件和MATLAB R2013b版本應(yīng)用軟件。
MCVGDL算法模型涉及3個(gè)主要參數(shù),分別是平衡參數(shù)α、β和MCVSVM懲罰系數(shù)θ。實(shí)驗(yàn)中為防止過擬合的產(chǎn)生,采用交叉驗(yàn)證方式自由選取參數(shù),并且需綜合多因素以獲得良好的模型性能。對于實(shí)驗(yàn)中涉及的人臉識別數(shù)據(jù)集和物體識別數(shù)據(jù)集的參數(shù)設(shè)置,將在對應(yīng)的實(shí)驗(yàn)與數(shù)據(jù)集中給出模型的參數(shù)設(shè)置。
由于MCVGDL算法是基于協(xié)作表達(dá)和SVM結(jié)合的算法,同時(shí)針對SVGDL使用MCVSVM進(jìn)行改進(jìn),因此將基于協(xié)作表達(dá)的CRC分類算法[20]、基于稀疏表達(dá)的SRC分類算法[26]、SVM算法[19]及SVGDL算法[18]在USPS[27]手寫數(shù)字?jǐn)?shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對比。同時(shí),與KSVD[10]、D-KSVD[9]、LC-KSVD[11]、LCLE-DL[12]、FDDL[16]、BDLRR[28]等學(xué)習(xí)算法在人臉識別(Extended Yale B[29]、Yale[30]、ORL[31]和AR[32])和物體識別(COIL20[33]、COIL100[34]和Caltech101[35])數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對比。LC-KSVD2算法是對LC-KSVD1算法的改進(jìn)且效果更好,本文中的LC-KSVD特指LC-KSVD2。另外,對于人臉識別數(shù)據(jù)集還增加了基于稀疏表示和圖像預(yù)處理的ASF-SRC算法[36]進(jìn)行對比。實(shí)驗(yàn)部分給出MCVGDL和其他8種對比算法在Extended Yale B、Yale、ORL、COIL20、COIL100和Caltech101數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,比較不同訓(xùn)練樣本條件下的識別準(zhǔn)確率。
由于字典大小(即字典所包含原子的個(gè)數(shù))對識別率存在影響,因此為說明字典原子個(gè)數(shù)K對識別率的影響,本文將分別在Yale B、Yale和ORL 3個(gè)人臉數(shù)據(jù)集上隨機(jī)選擇樣本并固定訓(xùn)練樣本,同時(shí)調(diào)整KSVD、D-KSVD、LC-KSVD、FDDL、SVGDL和MCVGDL算法的字典原子個(gè)數(shù),給出調(diào)整字典原子個(gè)數(shù)后的識別率變化曲線,通過其平均識別率的變化曲線對字典原子個(gè)數(shù)進(jìn)行具體分析。
美國郵政的USPS[27]手寫數(shù)字?jǐn)?shù)據(jù)集收集了9 298張0~9數(shù)據(jù)的數(shù)字圖像,每一張圖像大小為16像素×16像素。雖然該手寫數(shù)字?jǐn)?shù)據(jù)集中的類別較少,但是簡單的筆畫構(gòu)成增加了識別難度,使得同類數(shù)字的個(gè)體特征差異較大,字典學(xué)習(xí)方法能有效學(xué)習(xí)其固有特征。對其分別選擇7 291張圖像作為訓(xùn)練數(shù)據(jù),剩余的2 007張作為測試數(shù)據(jù)。MCVGDL參數(shù)設(shè)置為α=1e-3、β=1e-7和θ=10,并固定字典原子個(gè)數(shù)。由于MCVGDL算法采用二范數(shù)的正則項(xiàng)作為(協(xié)作稀疏表達(dá))稀疏控制條件,使用SVM的大間隔分類理論和Fisher線性鑒別分析作為模型的鑒別性條件引導(dǎo)字典學(xué)習(xí),進(jìn)一步探究了結(jié)合SVM的鑒別字典學(xué)習(xí)方法與基于協(xié)作表示和稀疏表示的分類方法的鑒別性能和優(yōu)勢。因此,在USPS手寫數(shù)據(jù)集上將MCVGDL和CRC、SRC、SVM、SVGDL算法進(jìn)行對比。表1是USPS手寫數(shù)字的平均識別率,相比于CRC、SRC、SVM算法,本文算法提高了2%~3%,相比于SVGDL算法提高了1%~2%,說明將SVM作為基于協(xié)作表達(dá)或者基于稀疏表達(dá)的字典學(xué)習(xí)的鑒別條件,可以增強(qiáng)字典模型的鑒別能力,考慮編碼向量的空間分布信息可以有效提高模型的分類性能,在一定程度上增強(qiáng)了模型的泛化性能,使得模型分類能力得到進(jìn)一步提升。
表1 USPS手寫數(shù)字的平均識別率
3.2.1 Extended Yale B數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
由耶魯大學(xué)計(jì)算視覺與控制中心創(chuàng)建的Extend Yale B人臉數(shù)據(jù)庫中共有38個(gè)類別,包含不同光照條件和面部表情的2 414張正臉圖像。每一個(gè)人有64張192像素×168像素的圖像。為保證實(shí)驗(yàn)公平性,采用大小為32像素×32像素的圖像作為實(shí)驗(yàn)數(shù)據(jù),并隨機(jī)為每一類別選擇數(shù)量為5、10、20、30的圖像作為訓(xùn)練數(shù)據(jù),剩余部分作為測試數(shù)據(jù)。MCVGDL的參數(shù)設(shè)置為α=2e-3、β=1e-7和θ=20,固定字典原子個(gè)數(shù)K為190、380、760、1 140,實(shí)驗(yàn)結(jié)果如表2所示。
表2 Extended Yale B數(shù)據(jù)集上的識別率和標(biāo)準(zhǔn)差
3.2.2 Yale數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
由耶魯大學(xué)計(jì)算視覺與控制中心創(chuàng)建的Yale人臉數(shù)據(jù)集中共有15個(gè)類別的165張圖像。每一個(gè)人具有11張不同光照、姿態(tài)、表情的面部圖像。為保證實(shí)驗(yàn)公平性,采用大小為32像素×32像素的圖像作為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),并隨機(jī)為每一類別選擇數(shù)量為2、4、6、8的圖像作為訓(xùn)練集,剩余部分作為測試數(shù)據(jù)。MCVGDL的參數(shù)設(shè)置為α=2e-3、β=1e-7和θ=20,固定字典原子個(gè)數(shù)K為30、60、90、120,實(shí)驗(yàn)結(jié)果如表3所示。
表3 Yale數(shù)據(jù)集上的識別率和標(biāo)準(zhǔn)差
3.2.3 ORL數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
由劍橋大學(xué)AT&T實(shí)驗(yàn)室創(chuàng)建的ORL人臉數(shù)據(jù)集包含40個(gè)人的400張人臉圖像,每一個(gè)類別有10張圖像。該數(shù)據(jù)集包含每一個(gè)人不同時(shí)期、視角、表情和面部細(xì)節(jié)的圖像。為保證實(shí)驗(yàn)公平性,所有實(shí)驗(yàn)采用大小為32像素×32像素的圖像作為訓(xùn)練數(shù)據(jù),并隨機(jī)為每一類別選擇數(shù)量為2、4、6、8的圖像作為訓(xùn)練數(shù)據(jù),剩余部分作為測試數(shù)據(jù)。MCVGDL的參數(shù)設(shè)置為α=2e-3、β=1e-7和θ=20,固定字典原子個(gè)數(shù)K為80、160、240、320,實(shí)驗(yàn)結(jié)果如表4所示。
表4 ORL數(shù)據(jù)集上的識別率和標(biāo)準(zhǔn)差
3.2.4 AR數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
AR人臉數(shù)據(jù)集包含126個(gè)類別且超過4 000張的人臉圖像。與Extended Yale B不同的是,其具有更加豐富的面部表情(微笑、生氣和尖叫等)、光照變化和面部遮擋等。對于AR人臉集,分別選擇50個(gè)男性和50個(gè)女性共2 600張圖像(每人26張)作為實(shí)驗(yàn)數(shù)據(jù),并隨機(jī)為每一類別選擇數(shù)量為3、5、7的圖像作為訓(xùn)練數(shù)據(jù),剩余部分作為測試數(shù)據(jù),參數(shù)設(shè)置為α=2e-3、β=1e-7和θ=20,固定字典原子個(gè)數(shù)K為300、500、700,實(shí)驗(yàn)結(jié)果如表5所示。
表5 AR數(shù)據(jù)集上的識別率和標(biāo)準(zhǔn)差
3.3.1 COIL20和COIL100數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
由哥倫比亞大學(xué)創(chuàng)建的COIL20圖像數(shù)據(jù)集包含20個(gè)類別不同物體從不同角度每隔5秒拍攝的1 440張圖像,每一類別有72張圖像,其大小為32像素×32像素。實(shí)驗(yàn)中隨機(jī)為每一類別選擇數(shù)量為5、10、20、30的圖像作為訓(xùn)練數(shù)據(jù),剩余部分作為測試數(shù)據(jù)。圖1是COIL20數(shù)據(jù)集中的部分樣本圖像。
圖1 COIL20數(shù)據(jù)集示例圖像
MCVGDL模型的參數(shù)設(shè)置為α=2e-3、β=1e-7和θ=10,固定字典原子個(gè)數(shù)K為100、200、400、600,實(shí)驗(yàn)結(jié)果如表6所示。
表6 COIL20數(shù)據(jù)集上的識別率和標(biāo)準(zhǔn)差
COIL100數(shù)據(jù)集包含了100個(gè)類別從不同角度拍攝的7 200張圖像,模型參數(shù)設(shè)置與COIL20一致,選擇數(shù)量為5、10、15、20的圖像作為訓(xùn)練集,剩余部分作為測試數(shù)據(jù),固定字典原子個(gè)數(shù)K為500、1 000、1 500、2 000,實(shí)驗(yàn)結(jié)果如表7所示。
表7 COIL100數(shù)據(jù)集上的識別率和標(biāo)準(zhǔn)差
3.3.2 Caltech101數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
加利福尼亞理工學(xué)院創(chuàng)建的Caltech101圖像數(shù)據(jù)集包含超過29 780張101類的不同物體圖像。由于物體數(shù)據(jù)集的固有特性,借鑒文獻(xiàn)[11]的實(shí)驗(yàn)布局方式,隨機(jī)為每一類別分別選取數(shù)量為5、10、15、20的圖像作為訓(xùn)練數(shù)據(jù),剩余部分作為測試數(shù)據(jù),并固定字典的原子個(gè)數(shù)。MCVGDL模型的參數(shù)設(shè)置為α=2e-3、β=1e-7和θ=10,固定字典原子個(gè)數(shù)K為510、1 020、1 530、2 040,實(shí)驗(yàn)結(jié)果如表8所示。
表8 Caltech101數(shù)據(jù)集上的識別率和標(biāo)準(zhǔn)差
字典在稀疏表達(dá)和協(xié)作表達(dá)的應(yīng)用中具有重要作用,且獲得合適大小的字典也十分重要。字典的大小影響著鑒別性字典的鑒別能力,合適的字典大小有助于提高識別率和降低計(jì)算開銷。在限定訓(xùn)練樣本的前提下,通過字典大小的調(diào)節(jié)可以保證較高的識別率,同時(shí)能降低計(jì)算開銷。
針對Extend Yale B隨機(jī)為每一類別選擇32張圖像作為訓(xùn)練數(shù)據(jù),字典原子個(gè)數(shù)K依次按照78,116,154,…,1 218變化,每一次為每一類別增加一個(gè)字典原子的方式遞增,即每次增加38個(gè)字典原子。每次固定字典原子個(gè)數(shù)K后,Extend Yale B數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果是20次隨機(jī)選擇圖像進(jìn)行訓(xùn)練和測試得到的平均識別率。圖2是Extend Yale B數(shù)據(jù)集上KSVD、D-KSVD、LC-KSVD、FDDL、SVGDL和MCVGDL算法字典原子個(gè)數(shù)K變化后的識別率曲線。
圖2 Extend Yale B數(shù)據(jù)集上字典原子數(shù)變化情況下的算法識別率比較
針對Yale和ORL數(shù)據(jù)集分別為每一類別選擇8張圖像作為訓(xùn)練數(shù)據(jù),并固定訓(xùn)練數(shù)據(jù)。對于Yale數(shù)據(jù)集,字典原子個(gè)數(shù)K依次按照30、45、60、75、90、105、120的大小變化。對于ORL數(shù)據(jù)集,字典原子個(gè)數(shù)K依次按照80、120、160、200、240、280、320的大小變化。每次固定字典原子個(gè)數(shù)K后,Yale和ORL數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果是50次隨機(jī)選擇不同訓(xùn)練和測試樣本得到的平均識別率。圖3和圖4分別給出了Yale和ORL數(shù)據(jù)集上KSVD、D-KSVD、LC-KSVD、FDDL、SVGDL和MCVGDL算法字典原子個(gè)數(shù)K變化后的識別率曲線。
圖3 Yale數(shù)據(jù)集上字典原子數(shù)變化情況下的算法識別率比較
圖4 ORL數(shù)據(jù)集上字典原子數(shù)變化情況下算法識別率比較
由于MCVGDL結(jié)合了SVM和協(xié)作表達(dá),采用MCVSVM對SVGDL算法進(jìn)行改進(jìn),因此本文提出最小類內(nèi)方差支持向量引導(dǎo)的字典學(xué)習(xí)算法。該算法不僅考慮每類數(shù)據(jù)邊界上的樣本點(diǎn),而且利用數(shù)據(jù)的分布信息,同時(shí),其采用的MCVSVM可以看作是SVM和Fisher線性鑒別的分類器,與FDDL采用Fisher鑒別條件所不同的是,MCVSVM利用了SVM大間隔原理最大化數(shù)據(jù)類別間的距離,并自動分配權(quán)值,MCVGDL與SVGDL類似,是對FDDL固定分權(quán)模式的改進(jìn)。
表2~表8列出了KSVD、LC-KSVD、D-KSVD等11種算法與本文提出的MCVGDL算法的平均識別率。在Extended Yale B、Yale、ORL和AR數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文算法在小數(shù)量的樣本條件下識別率相比于SVM和CRC算法有大幅提升,最高提升了12%,相比于SVGDL和FDDL平均提升了1%~2%,最高提升了3%。隨著樣本數(shù)量的增加,MCVGDL算法依然表現(xiàn)出了優(yōu)于其他算法的分類性能。當(dāng)訓(xùn)練樣本數(shù)量增加到一定程度時(shí),所有算法均表現(xiàn)出良好的分類性能,然而在大部分情況下MCVGDL分類性能最好,但是訓(xùn)練樣本的增加必然會增加模型的訓(xùn)練時(shí)間,從而證明MCVGDL算法對于樣本條件的魯棒性,同時(shí)說明了采用MCVSVM對SVGDL進(jìn)行改進(jìn)的合理性,以及大間隔分類器考慮數(shù)據(jù)信息分布的必要性。在COIL20不同數(shù)量訓(xùn)練樣本的情況下,當(dāng)訓(xùn)練樣本為5時(shí),SVM表現(xiàn)出優(yōu)于其他算法的分類性能,但是MCVGDL相比于FDDL、SVGDL仍然提高了1%~2%,相比于FDDL、SVGDL和MCVGDL字典學(xué)習(xí)算法均表現(xiàn)出更好的分類性能。當(dāng)訓(xùn)練樣本增加到10和20時(shí),FDDL、SVGDL、KSVD、D-KSVD、LC-KSVD和MCVGDL在分類性能上非常接近,MCVGDL相比于其他算法仍有不同程度的提高,相比于CRC和SRC平均提高了5%,說明將SVM和協(xié)作表達(dá)相結(jié)合可以提高字典的鑒別能力。在COIL100數(shù)據(jù)集上,訓(xùn)練樣本為5時(shí),SVM表現(xiàn)出優(yōu)于其他算法的分類性能。隨著訓(xùn)練樣本的增加,MCVGDL具有更高的識別率,當(dāng)訓(xùn)練樣本個(gè)數(shù)增加到20時(shí),BDLRR識別率達(dá)到87.4%,優(yōu)于其他算法,但是MCVGDL仍然表現(xiàn)出優(yōu)于SVGDL的識別率和穩(wěn)定性,說明了采用MCVSVM對SVGDL改進(jìn)是有效的。在Caltech101不同訓(xùn)練樣本的條件下,MCVGDL在大部分情況下的識別率均優(yōu)于FDDL、KSVD、D-KSVD、LC-KSVD算法,但是在訓(xùn)練樣本數(shù)為5的條件下BDLRR算法的識別率更高。隨著樣本數(shù)量的增加,MCVGDL表現(xiàn)出優(yōu)于SVGDL算法的識別率,表明融合Fisher準(zhǔn)則的MCVSVM對SVGDL算法的改進(jìn)思路是正確有效的。
圖2~圖4是本文算法和其他典型字典學(xué)習(xí)算法在固定訓(xùn)練樣本條件下,調(diào)整字典原子個(gè)數(shù)K對識別率的影響??梢钥闯?MCVGDL和SVGDL算法在3個(gè)數(shù)據(jù)集上(Extended Yale B、Yale和ORL)均表現(xiàn)出了良好的穩(wěn)定性和識別率。KSVD、D-KSVD、FDDL和LC-KSVD算法在字典原子數(shù)量增加到一定程度時(shí),識別率呈現(xiàn)遞減趨勢,尤其是KSVD算法,其對于字典原子大小的選擇非常敏感。MCVGDL和SVGDL都表現(xiàn)出對字典原子數(shù)K較強(qiáng)的魯棒性,但是MCVGDL展現(xiàn)出更高的識別率,說明了SVGDL和MCVGDL可以在大樣本條件下,兼顧識別性能和運(yùn)算性能,選擇合適大小的字典,降低時(shí)間開銷,同時(shí)保證了良好的識別性能。
不同訓(xùn)練樣本和字典數(shù)量情況下的實(shí)驗(yàn)說明了通過SVM引導(dǎo)字典學(xué)習(xí)可以獲得更好的分類性能。相比于SVGDL采用標(biāo)準(zhǔn)的SVM作為鑒別項(xiàng),MSVGDL采用MCVSVM作為鑒別項(xiàng),既考慮了大間隔原理,也考慮了類內(nèi)散度(數(shù)據(jù)的分布信息)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)類內(nèi)方差的MCVGDL算法可以在一定程度上提高模型的穩(wěn)定性和識別率。
為提高基于字典學(xué)習(xí)算法的分類性能,本文利用MCVSVM算法對SVGDL算法進(jìn)行改進(jìn),通過兼顧最大化間隔原理和數(shù)據(jù)分布信息得到最大化類間間隔和最小化類內(nèi)方差的分類器,并充分考慮編碼向量的分布信息,保障同類樣本編碼向量總體一致,同時(shí)降低向量間對應(yīng)分量的耦合度及修正SVM分類矢量,充分挖掘編碼向量鑒別信息,從而更好地引導(dǎo)字典學(xué)習(xí),提高字典鑒別能力。實(shí)驗(yàn)結(jié)果表明,在不同樣本和字典原子數(shù)量條件下,該算法對于人臉和物體均具有較高的識別率。但本文采用單一合成字典學(xué)習(xí)模型,限制了字典鑒別能力的提高,因此融合解析字典與合成字典的雙字典學(xué)習(xí)算法將是下一步的研究重點(diǎn)。