李 巧,陳花竹,楊春雨,李 丹
西安電子科技大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,西安710126
在計(jì)算機(jī)視覺(jué)中,SR 可以很好地揭示高維數(shù)據(jù)集的固有低維結(jié)構(gòu),其已被廣泛地應(yīng)用于模式分類[1-16]、特征學(xué)習(xí)[17]、圖像去噪[18-19]和子空間聚類[20-23]等方面。
基于SR 的模式分類方法可大致分為兩類:無(wú)訓(xùn)練的方法和基于訓(xùn)練的方法。第一類包括基于SR的分類(Sparse Representation and Classification,SRC)[1]及其擴(kuò)展,如基于協(xié)同表示的分類與正則化最小二乘(Collaborative Representation based Classification with Regularized Least Square,CRC-RLS)[3]、魯棒稀疏編碼(Robust Sparse Coding,RSC)[4]、未 對(duì) 準(zhǔn)-魯 棒 表 示(Mis-alignment Robust Representation,MRR)[5]和線性近似SRC(Linearly Approximated Sparse Representation based Classification,LASRC)[6]。這些方法首先將測(cè)試樣本表示為所有訓(xùn)練樣本的稀疏或協(xié)同線性組合,然后根據(jù)對(duì)應(yīng)于每個(gè)類的表示殘差對(duì)測(cè)試樣本進(jìn)行分類。表示中引入的稀疏性旨在強(qiáng)制表示的判別能力:每個(gè)測(cè)試樣本可以僅由類內(nèi)訓(xùn)練樣本表示,而與類外訓(xùn)練樣本相關(guān)聯(lián)系數(shù)為零。這些方法很簡(jiǎn)單,因?yàn)樗鼈儾恍枰?xùn)練。然而,它們沒(méi)利用訓(xùn)練集的標(biāo)簽信息來(lái)保證SR 的判別性,并且計(jì)算與每個(gè)類相關(guān)聯(lián)的殘差表示時(shí)成本很高。
第二類方法通常從訓(xùn)練集中學(xué)習(xí)一個(gè)或多個(gè)字典,以通過(guò)利用訓(xùn)練集中的先驗(yàn)信息來(lái)增強(qiáng)分類或識(shí)別性能。他們中的一些人也學(xué)習(xí)了分類器。例如,費(fèi)希爾判別字典學(xué)習(xí)(Fisher Discrimination Dictionary Learning,F(xiàn)DDL)[7-8]和投影字典學(xué)習(xí)(Projective Dictionary Pair Learning,DPL)[9]。根據(jù)經(jīng)驗(yàn),學(xué)習(xí)的結(jié)構(gòu)化字典可以提高SR 的辨別能力,從而提高分類性能。但是這些方法在學(xué)習(xí)每類的特定字典和每類的特定殘差時(shí)計(jì)算成本很高。判別式廣義K 均值算法(Discriminative K-SVD,DKSVD)[10],和標(biāo)簽一致性K-SVD(Label Consistent KSVD,LC-KSVD2)[11]學(xué)習(xí)綜合字典和線性分類器,因此不需要計(jì)算每類特定殘差。它們的基本思想是,對(duì)訓(xùn)練樣本學(xué)習(xí)一個(gè)綜合字典來(lái)進(jìn)行SR,并且這些SR 系數(shù)可以作為新的特征來(lái)學(xué)習(xí)線性分類器。一旦學(xué)習(xí)了字典和分類器,就使用字典來(lái)計(jì)算測(cè)試樣本的SR,并且通過(guò)將分類器應(yīng)用于SR 來(lái)預(yù)測(cè)測(cè)試樣本的類標(biāo)簽。LCKSVD2 進(jìn)一步明確地增加了標(biāo)簽一致性約束,以同時(shí)增強(qiáng)表示和分類性能。然而,在測(cè)試階段,要計(jì)算測(cè)試樣本的SR,其涉及優(yōu)化并且計(jì)算成本高。為了克服這個(gè)問(wèn)題,DPL和聯(lián)合標(biāo)簽一致嵌入和字典學(xué)習(xí)(Joint la‐bel consistent Embedding and Dictionary Learning,JEDL)[12]都學(xué)習(xí)了雙字典(也稱為解析字典),利用它可以很容易地計(jì)算出測(cè)試樣本的SR。但是,JEDL 的訓(xùn)練模型變量太多,且字典沒(méi)有類信息。
在這項(xiàng)工作中,提出使用訓(xùn)練集作為訓(xùn)練樣本的SR 的綜合字典。訓(xùn)練集實(shí)際上為每類數(shù)據(jù)提供了最自然的特定字典。通過(guò)使用字典原子的先驗(yàn)類,可以更好地增強(qiáng)SR 的判別性,而不會(huì)有字典學(xué)習(xí)帶來(lái)的額外計(jì)算。為了使測(cè)試階段更容易,通過(guò)在訓(xùn)練階段學(xué)習(xí)解析字典和線性分類器來(lái)保持JEDL的優(yōu)勢(shì)。一旦學(xué)習(xí)了解析字典和分類器,測(cè)試階段就非常簡(jiǎn)單并且計(jì)算效率高,因?yàn)榭梢酝ㄟ^(guò)將測(cè)試樣本與分類器和解析字典相乘來(lái)計(jì)算測(cè)試樣本的類標(biāo)簽,稱該方法為DADCL。與以前的字典學(xué)習(xí)方法相比,所提出的方法只學(xué)習(xí)一個(gè)解析字典和分類器,而JEDL 學(xué)習(xí)兩個(gè)字典,F(xiàn)DDL 和PDL 學(xué)習(xí)更多的字典。此外,F(xiàn)DDL 和PDL 的測(cè)試階段計(jì)算成本很高。DKSVD 和LC-DKSVD 學(xué)習(xí)一個(gè)綜合字典和一個(gè)分類器,但是,它們的綜合字典沒(méi)有類判別能力。與沒(méi)有學(xué)習(xí)的方法相比,雖然本文的方法需要訓(xùn)練,但在測(cè)試階段計(jì)算效率更高,實(shí)驗(yàn)結(jié)果表明該方法可以獲得更好的分類性能。
在本章中,定義了一些符號(hào)并概述了一些最相關(guān)的工作。
H 的第j 列hj通過(guò)非零項(xiàng)的下標(biāo)定義樣本數(shù)據(jù)xj的標(biāo)簽。SRC[1]首先通過(guò)解決以下問(wèn)題來(lái)計(jì)算具有給定字典D的測(cè)試數(shù)據(jù)x 的SR:
然后它計(jì)算每類的特定殘差:
其中δi(s)表示一個(gè)向量,其中非零元為s 中與類別i ∈{1,2,…,c}有關(guān)的非零元。將測(cè)試數(shù)據(jù)x 分配給殘差最小的類,即
請(qǐng)注意,原始SRC使用整個(gè)訓(xùn)練集作為字典。
給定訓(xùn)練集X 和標(biāo)簽矩陣H,LC-KSVD2 學(xué)習(xí)字典D,X 的稀疏編碼S,線性變換A通過(guò)求解以下最小化問(wèn)題,將原始稀疏碼S轉(zhuǎn)換為稀疏特征空間中最具判別性的線性變換,以及訓(xùn)練階段中的分類器W:
為了減少測(cè)試階段的計(jì)算負(fù)擔(dān),JEDL 模型在LC-KSVD2 訓(xùn)練模型中引入了稀疏碼自動(dòng)分類器P,具體模型定義如下:
它主要使用PX 來(lái)近似稀疏表示S。當(dāng)獲得最優(yōu)稀疏稀疏編碼自動(dòng)提取器P*和分類器W*時(shí)后,就可以容易高效地進(jìn)行分類了,這是因?yàn)橹苯佑肞*作用在測(cè)試樣本上就可以得到它的稀疏表示。具體而言,對(duì)于給定的測(cè)試樣本x,可以通過(guò)s ≈P*x 來(lái)近似其稀疏系數(shù)s。然后,分類器可以將測(cè)試信號(hào)x 的軟標(biāo)簽f ∈Rc×1估計(jì)為:
測(cè)試數(shù)據(jù)x 的標(biāo)簽可以由f 的最大元素的下標(biāo)確定,如arg maxi(f)i,其中(f)i表示估計(jì)的向量f 的第i 個(gè)分量。字典D和JEDL中的稀疏代碼自動(dòng)分類器P 可以被視為字典對(duì),其中D 通常被稱為綜合字典,因?yàn)镈S 重建信號(hào),而P 被稱為解析字典,因?yàn)镻x 給出了信號(hào)x 的稀疏編碼。LC-KSVD2和JEDL的一個(gè)缺點(diǎn)是字典D和P 沒(méi)有類信息。
稀疏子空間聚類(Sparse Subspace Clustering,SSC)[20]利用數(shù)據(jù)的稀疏表示模型,尋找一個(gè)稀疏的自表示矩陣:
其中,Z=(Zij)=[Z:,1,Z:,2,…,Z:,n]∈Rn×n表示數(shù)據(jù)的自表示矩陣,第j列Z:,j表示數(shù)據(jù)X:,j的表示系數(shù),|Zij|反映了數(shù)據(jù)X:,i和X:,j的相關(guān)程度,具體而言,Zij越大,X:,i和X:,j的相關(guān)性就越大,是同一類的概率就越大,當(dāng)X:,i和X:,j不屬于同一類的時(shí)候,則Zij=0。SSC 能夠獲得塊對(duì)角表示矩陣,即
Z?表示子空間S?中的數(shù)據(jù)對(duì)應(yīng)的表示系數(shù)矩陣,矩陣的零元素對(duì)應(yīng)于來(lái)自不同子空間的數(shù)據(jù)對(duì)。反之,若矩陣Z 具有塊對(duì)角結(jié)構(gòu),則這種結(jié)構(gòu)揭示子空間的結(jié)構(gòu)。
在訓(xùn)練階段,要達(dá)到訓(xùn)練數(shù)據(jù)的SR 的判別性和一致性,這在數(shù)據(jù)聚類中已被證明是有效的[20,22]。通過(guò)在訓(xùn)練集的表示上施加精確的塊對(duì)角線結(jié)構(gòu)來(lái)強(qiáng)制SR的判別性,這意味著訓(xùn)練數(shù)據(jù)可以僅由與它同一類的數(shù)據(jù)線性地表示,保證類內(nèi)的一致性。此性質(zhì)的作用類似于將不同類的數(shù)據(jù)分開。通過(guò)標(biāo)簽矩陣H 的定義,顯然H′H 滿足:
因此,如果(H′H)ij=0,則訓(xùn)練集表示的精確塊對(duì)角結(jié)構(gòu)可以表示為Sij=0。為了強(qiáng)化類內(nèi)表示系數(shù)的一致性,使用l2范數(shù)作為懲罰項(xiàng)。在JEDL 中采用解析字典和分類器學(xué)習(xí),給出以下模型:
其中,H ∈Rd×N是訓(xùn)練數(shù)據(jù)矩陣,S ∈RN×N是自表示矩陣,H ∈Rc×N是訓(xùn)練數(shù)據(jù)的給定標(biāo)簽矩陣,P ∈RN×d是解析字典,將數(shù)據(jù)矩陣X 線性映射到其自表示矩陣S,W ∈Rc×N是線性分類器,將近似結(jié)構(gòu)化表示S ≈PX映射到標(biāo)簽矩陣H。若xi和xj屬于不同類,則Sij=0。上述模型成為判別性解析字典和分類器學(xué)習(xí)(DADCL)。
在模型(11)中,第一項(xiàng)是數(shù)據(jù)擬合項(xiàng),使得每個(gè)數(shù)據(jù)可以近似表示為類內(nèi)數(shù)據(jù)的線性組合。第二項(xiàng)保證結(jié)構(gòu)化SR 可以通過(guò)將數(shù)據(jù)投影到解析字典域中來(lái)近似,這可以容易地獲得測(cè)試數(shù)據(jù)的SR。第三項(xiàng)強(qiáng)制分類器可以一定精度的預(yù)測(cè)訓(xùn)練數(shù)據(jù)的標(biāo)簽。第四項(xiàng)是光滑項(xiàng),強(qiáng)制了類內(nèi)表示的一致性。約束確保了較好的判別性:表示矩陣S 的精確塊對(duì)角結(jié)構(gòu),保證了每個(gè)數(shù)據(jù)只由與它同一類的數(shù)據(jù)來(lái)線性表示。然后,自表示矩陣S 的理想判別性引導(dǎo)解析字典P 和分類器W 對(duì)測(cè)試數(shù)據(jù)具有更好的分類性能。
在測(cè)試階段,使用方程(7)計(jì)算測(cè)試數(shù)據(jù)x 的標(biāo)簽。標(biāo)簽由f 的最大元素的下標(biāo)確定為arg maxi(f)i,其中(f)i表示估計(jì)的向量f 的第i個(gè)分量。
模型(11)不是凸優(yōu)化問(wèn)題,不能直接進(jìn)行求解,為了得到最優(yōu)解,可以通過(guò)交替方向最小化方法來(lái)解決。具體來(lái)說(shuō),可以通過(guò)在每個(gè)迭代步驟中固定其他變量來(lái)求解一個(gè)變量,將模型(11)轉(zhuǎn)變成多個(gè)子問(wèn)題來(lái)求解。下面對(duì)交替方向最小化方法進(jìn)行詳細(xì)分析,該過(guò)程在算法1中概述。
(1)通過(guò)固定W 和P,來(lái)更新S。更新S 的子問(wèn)題是:
問(wèn)題(12)是一個(gè)光滑的凸問(wèn)題。將目標(biāo)函對(duì)S 求導(dǎo),令導(dǎo)數(shù)為零,有:
可以通過(guò)簡(jiǎn)單操作來(lái)處理約束條件:
其中,⊙代表點(diǎn)積。
(2)通過(guò)固定S 和P,來(lái)更新W。更新W 的子問(wèn)題是:
這是一個(gè)光滑的凸問(wèn)題。將目標(biāo)函數(shù)對(duì)W 求導(dǎo),令導(dǎo)數(shù)為零:
其中,λ1是一個(gè)小的正標(biāo)量,而以避免PtXX′( )Pt′矩陣的奇異性。
(3)通過(guò)固定S和W,更新P,并求解子問(wèn)題:
將目標(biāo)函數(shù)對(duì)P 求導(dǎo),令導(dǎo)數(shù)為零,有:
其中λ2是用于求解正則化的小正數(shù)。
算法1DADCL
輸入:訓(xùn)練數(shù)據(jù)矩陣X,標(biāo)簽矩陣H,模型的參數(shù)α,β和γ
初始化:t=0,W0=0,P0=0,S0=I,ε=10-5
當(dāng):不收斂時(shí)
1.固定W 和P,通過(guò)方程(13)和(14)更新S
2.固定S和P,通過(guò)方程(16)更新W
3.固定W 和S,通過(guò)方程(18)更新P
4.驗(yàn)證收斂條件
5.t=t+1
結(jié)束
輸出:分類器W 和解析字典P
在5個(gè)公開可用的數(shù)據(jù)集上評(píng)估所提出的方法,包括3 個(gè) 人 臉 數(shù) 據(jù) 集:AR[23]、CMU PIE[24]和Extended Yale B[25],一個(gè)口語(yǔ)字母數(shù)據(jù)集Isolet spoken letter[26]和一個(gè)自然場(chǎng)景數(shù)據(jù)集15 Scene Category[27],圖1 列出了實(shí)驗(yàn)數(shù)據(jù)集的樣本圖。將本文方法與一些較先進(jìn)的方法進(jìn)行比較:KSVD、DKSVD、LC-KSVD2、FDDL、DPL 和JEDL。對(duì)于所有對(duì)比方法,調(diào)整其參數(shù)以獲得最好的性能。以分類精度accuracy=(Ntotal-Nerror)/Ntotal來(lái)評(píng)判上述所有方法的分類性能。
圖1 實(shí)驗(yàn)樣本圖
在實(shí)驗(yàn)中,為了公平,上述所有方法的參數(shù)都選取能使分類結(jié)果最好的那個(gè)值,對(duì)每個(gè)數(shù)據(jù)庫(kù),在隨機(jī)選擇的訓(xùn)練樣本和測(cè)試樣本上重復(fù)實(shí)驗(yàn)10 次,并取平均精確度。而DADCL中有三個(gè)參數(shù),α、β 和γ所有參數(shù)的選擇遵循一個(gè)原則,即:固定其他兩個(gè)參數(shù)來(lái)調(diào)整另一個(gè)參數(shù),使其達(dá)到最好的分類結(jié)果。
首先在三個(gè)面部數(shù)據(jù)集上評(píng)估本文的算法:AR、CMU PIE 和Extended Yale B。AR 面部數(shù)據(jù)庫(kù)包含超過(guò)4 000個(gè)彩色圖像,包括126個(gè)人,其中70個(gè)男性和56個(gè)女性,采用多種變化,如照明,表情和太陽(yáng)鏡和圍巾遮擋。遵循LC-KSVD2 中的數(shù)據(jù)設(shè)置:提取一組50 個(gè)女性和50 個(gè)男性受試者的2 600 張圖像,其中每個(gè)受試者的20張圖像用于訓(xùn)練,剩下的6張圖像用于測(cè)試。隨機(jī)面特征的維數(shù)為d=540。實(shí)驗(yàn)表明,本文模型在α=1,β=0.01和γ=0.1時(shí)性能較好。
CMU PIE 數(shù)據(jù)庫(kù)包含68 個(gè)受試者的41 368 個(gè)面部圖像,圖像是在不同的姿勢(shì)、光照和表情下捕獲。遵循LC-KSVD2 中的數(shù)據(jù)設(shè)置:每人使用170 個(gè)近前面部圖像進(jìn)行評(píng)估,每個(gè)受試者使用20 個(gè)圖像進(jìn)行訓(xùn)練,并使用剩余圖像進(jìn)行測(cè)試。實(shí)驗(yàn)表明,本文的模型在α=3,β=0.1和γ=1時(shí)性能較好。
Extended Yale B 數(shù)據(jù)庫(kù)包含38 個(gè)人類受試者的2 414 張正面圖像。每個(gè)受試者具有大約64 張圖像,并且原始圖像被裁剪為192×168 像素。在本文中,使用LC-KSVD2 提供的特征來(lái)表示人臉圖像:特征維度為504。每個(gè)受試者的一半圖像隨機(jī)選擇用于訓(xùn)練,另一半用于測(cè)試。實(shí)驗(yàn)表明,本文的方法在α=100,β=0.1和γ=10時(shí)性能較好。
表1 列出了不同方法對(duì)AR、CMU PIE 和Extended Yale B 的準(zhǔn)確度。在AR、CMU PIE 和Extended Yale B 上,本文的方法將先前的最佳準(zhǔn)確度提高了1.6%、4.33%、0.25%。這表明通過(guò)使用訓(xùn)練數(shù)據(jù)的標(biāo)簽信息和精確的塊對(duì)角線結(jié)構(gòu)和SR的光滑約束有助于學(xué)習(xí)判別解析字典和分類器。
表1 人臉數(shù)據(jù)集的精度比較 %
為了進(jìn)一步說(shuō)明DADCL 模型的作用,圖2 顯示了隨機(jī)選取的6類數(shù)據(jù)的自表示矩陣S,為了可視化,都取其絕對(duì)值并且乘以800。從圖中可以看出S具有精確的塊對(duì)角結(jié)構(gòu),即每個(gè)數(shù)據(jù)都由與它同一類的數(shù)據(jù)來(lái)線性表示。主要是因?yàn)榫_的塊對(duì)角線結(jié)構(gòu)和SR的光滑效果可以真正提高解析字典和分類器的判別能力。
Isolet spoken letter識(shí)別數(shù)據(jù)庫(kù)有150名受試者,他們兩次說(shuō)出每個(gè)字母的名稱。所描述的特征包括譜系數(shù)、輪廓特征,響音特征,前響音特征和后響音特征。受試者被分成5 組,每組30 個(gè)人,分別命名為Isolet1 到Isolet5。在本研究中,使用Isolet2至Isolet5評(píng)估DADCL模型與SRC、KSVD、DKSVD、LC-KSVD2 和JEDL 的性能。對(duì)于每一組,通過(guò)改變3到30的標(biāo)記口語(yǔ)字母的數(shù)量來(lái)檢查性能,間隔為3,其余的用于測(cè)試。實(shí)驗(yàn)表明,本文的模型在α=10,β=0.01和γ=1時(shí)性能較訓(xùn)練和測(cè)試階段的平均運(yùn)行時(shí)間。從表2 得到以下觀察結(jié)果:(1)可以看出算法具有性能優(yōu)勢(shì),即DADCL 可以得到比其他更好的結(jié)果;(2)對(duì)于運(yùn)行時(shí)間,最小化分類殘差的SRC 和KSVD 都比使用SR 的方法慢。盡管DADCL需要從訓(xùn)練階段獲得分類器,DADCL 的實(shí)際運(yùn)行時(shí)間仍與LCKSVD2 和JEDL 的實(shí)際運(yùn)行時(shí)間相當(dāng),因?yàn)橥ㄟ^(guò)使用DADCL的解析字典P進(jìn)行的測(cè)試過(guò)程非常高效。
表2 Isolet數(shù)據(jù)集的精度比較
便于更清楚地對(duì)比各個(gè)方法的分類性能,圖3 給出了各種方法的訓(xùn)練集在每類選擇3,6,…,30 個(gè)樣本時(shí)的分類精度曲線圖,可以看出隨著測(cè)試樣本數(shù)目增多,可以明顯提高DADCL方法的分類性能。
15 Scene Category 分類數(shù)據(jù)庫(kù)包括15 個(gè)自然場(chǎng)景。每個(gè)類別有200 到400 個(gè)圖像,平均大小約為250×300 像素。本文遵循常見(jiàn)的實(shí)驗(yàn)設(shè)置:每個(gè)類別100 張圖像被隨機(jī)選為訓(xùn)練數(shù)據(jù),其余為測(cè)試數(shù)據(jù)。實(shí)驗(yàn)表 明,本文的方法在α=5,β=0.1 和γ=1 時(shí)性能較好。表3列出了平均精度。
表3 15 Scene Category數(shù)據(jù)集的精度比較
圖2 自表示矩陣S
圖3 平均準(zhǔn)確度與Isolet數(shù)據(jù)集上標(biāo)記的數(shù)量
從表3 中可以看出:(1)算法具有性能優(yōu)勢(shì),即DADCL可以得到比其他更好的結(jié)果;(2)對(duì)于測(cè)試時(shí)間,本文方法的測(cè)試時(shí)間和PDL相當(dāng),比利用殘差的測(cè)試階段快很多,和PDL的測(cè)試時(shí)間相當(dāng)。測(cè)試階段可以用學(xué)到的解析字典P 很快的計(jì)算測(cè)試樣本的稀疏編碼。
在Isolet2 到Isolet5 和15 Scene Category 分類中,本文方法將先前的最佳精確度提高了1.77%、0.34%、0.56%、0.48%和1.1%。這再次表明本文的方法優(yōu)于現(xiàn)有方法。主要是因?yàn)榫_的塊對(duì)角線結(jié)構(gòu)和SR的光滑效果可以真正提高解析字典和分類器的判別能力。此外,通過(guò)學(xué)習(xí)解析字典和分類器,本文方法的測(cè)試階段是計(jì)算有效的。
提出了一種新的分類模型,稱為判別解析字典和分類器學(xué)習(xí)(DADCL)。所提出的模型具有幾個(gè)優(yōu)點(diǎn)。首先,使用訓(xùn)練集作為訓(xùn)練樣本的SR的綜合字典,可以保證SR的理想判別屬性:精確的塊對(duì)角線結(jié)構(gòu),這意味著每個(gè)數(shù)據(jù)只能由與它屬于同一類中的數(shù)據(jù)表示。其次,除了判別屬性之外,還引入了一個(gè)光滑項(xiàng)來(lái)保證類內(nèi)一致性。判別屬性的作用為將數(shù)據(jù)從不同的類中分離出來(lái),而光滑項(xiàng)的作用為將來(lái)自相同類的數(shù)據(jù)分為同一類。第三,還在訓(xùn)練階段學(xué)習(xí)分析字典和線性分類器,這使得測(cè)試過(guò)程非常容易。大量實(shí)驗(yàn)表明,本文方法優(yōu)于現(xiàn)有的最先進(jìn)方法。