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