標簽一致項(LC-KSVD)-全文解讀


  Learning A Discriminative Dictionary for Sparse Coding via Label Consistent K-SVD
  
  1,同步學習判決字典和線性分類器
  2,有監督,將標簽信息和字典項相關聯
  3,標簽一致項,重構誤差和分類誤差結合,形成統一的目標函數
  4,相同的類有相同的稀疏編碼
 
  學習一種為稀疏編碼的判決字典的標簽一致性k-svd算方法。除了使用訓練數據的類標簽外,還將 標簽信息和每一個字典項相關聯,以在字典學習過程中增強稀疏編碼的可辨別能力。具體來說,引入了一個新的標簽一致約束(判別稀疏編碼誤差),並將其與重構誤差和分類誤差相結合,形成一個統一的目標函數。該算法 聯合學習一個過完備字典和一個最優線性分類器。具有相同標簽的特征點具有類似的稀疏編碼。
 
1.引言
 
   稀疏編碼以成功應用於計算機視覺和圖像分析中的各種問題,包括圖像降噪,圖像恢復,圖像分類。稀疏編碼接近於一個輸入信號,Υ是過完備字典D中原子的稀疏編碼線性組合。稀疏編碼的性能依賴於字典D的質量。[28]利用全部的訓練樣本作為判決稀疏編碼的字典,在人臉識別上實現了較好的性能。很多算法提出高效率的學習一個過完備字典以增強判決標准。
  為了擴展到大型訓練集,[28,19,1,24,33,6]發展了小型字典學習。在[28]中手動選擇訓練樣本來構建字典。[19]為每個類學習一個單獨的字典,然后根據重構錯誤執行分類。然而,在有很多類別時,訓練期間的字典重建和測試階段的稀疏編碼是典型的非常耗時。在[1]中, 字典學習算法k-svd,提出了從一組訓練信號中高效的學習過完備字典。該方法已用於填補像素和圖像壓縮。K-SVD側重於已學習到的字典中的表示能力(訓練信號的最佳稀疏表示),沒有考慮字典的判決能力。最優方向方法(mod)與K-SVD有相同的有效稀疏編碼。[24]通過基於線性預測分類器的結果迭代更新字典項來獲得一個判決字典。在[33]中,提出的判決K-SVD算法統一了字典和分類器的學習過程。
  本文提出了一種有監督的算法來學習一個小型的判決字典用於稀疏編碼。明確的將 判決稀疏編碼錯誤准則和最優的分類准則合並到目標函數中,並使用K-SVD算法對其進行優化。學習到的字典與傳統構造字典相比, 具有重構性和判決性,學習的字典提供信號的判決稀疏表示。因此,即使使用多類線性分類器,也能得到在物體分類時得到較好的准確率,現有的其他稀疏編碼方法,對每一類別只學習一個分類器。我們的方法是有效的,並受到k-svd的復雜性限制, 同時學習判決字典和線性分類器。[30,20]迭代的解決子問題以近似一個聯合解,[13,3,19,21]分別學習字典和分類器。
1.1 相關工作
  近年來,用於稀疏編碼的有監督字典學習技術受到了廣泛關注。一些方法學習多個字典或特定於類別的字典。[34,31]將一個增強過程納入字典學習中,學習具有互補能力的多個字典。【19】中一個類學習一個字典,基於相應的重構誤差進行分類,並沒有利用稀疏編碼。
  在訓練階段將判決項納入目標函數已經在【30,20,33,19,21,24,3,13】中提出。 判決標准包括:softmax判決代價函數,Fisher判決准則,線性預測分類錯誤,hinge損失函數。
  大多數以前的方法將字典學習和分類器訓練視為兩個獨立的過程。在這些方法中,常常先學到一個字典,然后基於這個字典訓練分類器。得到分類器后,稀疏表示作為用分類器訓練的圖像特征,例如SVM。更復雜的方法將這兩個過程統一為一個混合的重建和判決公式。我們的方法也屬於這一類。【30,20】同時為 每一類同步學習一個過完備字典和多類分類模型,可能不能很好地擴展到含有大量的類別中,【24】中的方法基於線性分類器的結果迭代更新字典,可能會引起局部最小化問題,因為它在字典重建和分類設計中交替。【33】將分類錯誤納入目標函數,但是並沒有保證利用小型字典時稀疏編碼的判決性。
  本文的方法:同時學習一個單一的小型的判決字典和一個通用的多類線性分類器(為所有的類)學習到的字典具有很好的表示能力(跨越對象類的所有子空間),並對所有類實施更好的識別能力。
 
2 字典學習
 
2.1 字典學習用於重建和稀疏編碼
  Y表示一組N個輸入信號n維 Y = [y 1...y N]∈R n×N,學習一個具有k個原子的重建字典用於Y的稀疏表示:
 , (過完備字典), 是輸入信號Y的稀疏編碼。T是稀疏約束項,(每個信號在分解后都少於T個原子),|| Y- DX|| 2 2表示 重建誤差。通過最小化重構誤差和滿足稀疏約束來實現D的構造。K-SVD算法是一種最小化方程1能量的迭代方法,學習一個用於信號稀疏表示的重建字典。該方法效率高,適用於圖像復原和壓縮等領域。根據D,Y的稀疏編碼X:

 

2.2 字典學習用於分類

  稀疏編碼x可以直接的作為特征進行分類。通過模型參數W∈Rm×K,可以得到一個好的分類器。

 :分類損失函數,hiyi的標簽,λ1:正則參數。字典學習和分類器分離可能使D成為分類的次優選擇,聯合學習字典和分類模型,嘗試優化用於分類任務的學習字典,結合字典D和w的目標函數定義為:

 

  這些方法需要學習相對較大的字典來獲得較好的分類性能,導致計算量較大。當只能基於多個兩兩分類器的分類體系結構來獲得好的分類結果時,這個問題會變得更加嚴重。

·  通過聯合字典和分類器構造的目標函數的簡單擴展,我們將證明僅使用一個小的單一的統一字典來得到良好的分類結果。這個擴展強制了一個標簽一致性約束在字典上-直觀的說,字典元素在分類過程中貢獻的類分布在一個類中達到了頂峰。這個方法時LC-KSVD,利用了原始的K-SVD求解。

3 Label Consistent K-SVD

  目標是利用輸入信號的有監督信息學習一個重建的和判決字典。每個字典項都將被選中,這樣它就代表了訓練信號的一個子集,理想情況下來自單個類,因此,每一個字典項都可以與特征的標簽相關聯。因此,在我們的方法中,字典項和標簽之間有明確的對應關系。

  在方程1的目標函數中加入標簽一致性正則項,聯合分類錯誤誤差和標簽一致性正則項對學習具有更平衡的重構能力和辨別能力的詞典的影響。分別稱他們為 LC-KSVD1和LC-KSVD2.

3.1 LC-KSVD1

  線性分類器的性能依賴於輸入的稀疏編碼x的判別性,對於用D得到的可判別性稀疏編碼x,用於字典構建的目標函數定義為:

 

 其中α是是控制重建和標簽一致正則化之間的相對貢獻。Q = [q1...qN]∈RK×N是用於分類的輸入信號Y的判決稀疏編碼。是和輸入信息yi相對應的稀疏編碼,條件是qi的非零值出現在輸入信號yi和字典項dk共享相同標簽的索引處。A是一個線性轉換矩陣。定義的轉換函數,g(x; A) = Ax,將原始的稀疏編碼x在稀疏特征空間中更具判決性

  

表示判決稀疏編碼誤差,強使稀疏編碼X接近判決稀疏編碼Q。它使來自下相同類的信號有非常相似的稀疏表示,利用簡單分類器就能取得好的分類性能。

 

 3.2 LC-KSVD2

  為了使分類最優,將分類錯誤作為一項添加到目標函數中。在此利用了一個線性預測分類器 f(x;W) = Wx.目標函數用於學習一個具有重建和判別能力的字典D。定義如下:

表示分類誤差,W表示分類器參數。H=[h1...hN ]∈Rm×N是輸入信號Y的類標簽。hi = [0,0..1...0,0]∈R是yi相應的標簽向量,非零位置表示yi的類別,α和β是是控制相應項的相對貢獻。

  假設判決稀疏編碼X' = AX , A∈RK×K,D' = DA-1,W'=WT-1(wx = w'x',W'應該為WA-1公式6重寫為

 

 第一項是重建誤差,第二項是判決稀疏編碼誤差,第三項是分類誤差。

  這種方式學習的字典與訓練數據的底層結構相適應,不管字典的大小,都將生成有區別的稀疏編碼X,這些稀疏編碼可以被分類器直接利用。稀疏編碼x的判別性質對線性分類器的性質非常重要。

  優化過程:LC-KSVD1 ,LC-KSVD2采用相同的方法,LCKSVD1將方程8和14中的H,W分類排除在外。在訓練過程中,首先由公式5計算D,A,X,然后利用公式14對矩陣W進行分類訓練。

3.3 優化

  利用有效的K-SVD算法對所有的參數進行優化。方式6重寫為

xRk:X的第k行,

 

 

 D,A,W同步,避免了局部最小化。

 3.3.1 初始化 LC-KSVD

  對於d0,我們在每個類中使用幾個k-svd迭代,然后合並每個k-svd的所有輸出(即從每個類學習的字典項)。然后,每個字典項dk的標簽根據其對應的類初始化,並且在1700整個字典學習過程1中保持固定,盡管dk在學習過程中被更新。字典元素被統一地分配給每個類,元素的數量與字典的大小成比例。A0采用了多元嶺回歸模型,二次方損失,L2范數正則。

3.4 分類方法

D = {d1,...dk},A = {a1,...ak},

 4.實驗

  擴展YaleB和AR數據集中使用的特征描述符是任意的人臉,將一張人臉投影到一個隨機向量生成的。擴展YaleB是504維,AR是540維。Caltech101數據集,首先從16*16的塊中提取sift描述符,是由步長6像素大小的網格密采樣得到的,然后再提取sift的基礎上,采用1*1,2*2,4*4的網格提取空間金字塔特征。為了訓練金字塔的碼本,我們使用k=1024的標准k-means聚類。最后將空間金字塔降至3000維。

  在空間金字塔的每個空間子區域中,矢量量化碼被匯集在一起以形成匯集特征。這些來自每個子區域的集合特征被連接並規范化為圖像的最終空間金字塔特征。caltech101數據集的稀疏代碼是根據空間金字塔特征計算的。這有兩種池方法:和池化:xout = x1+, ..., +xn,最大池化:xout = max(x1, ..., xn),xi是矢量量化碼。這些特征歸一化:

,我們的實驗評估了不同的組合。按照常用的評價方法,對訓練圖像和測試圖像進行10次不同隨機的重復實驗,以獲得可靠的結果。最終識別率報告為每次運行的平均值。我們所有實驗中使用的稀疏因子是30。

4.1 擴展YaleB數據集

  此數據集包括2414張38個人的圖片,一個人約64張圖像。原始原始被裁剪為192*168。具有光照條件和表達式的不同,此數據集很具有挑戰性。隨機選取每個人32張圖片作為訓練,其他作為測試。每張圖片用隨機生成矩陣投影為504維的向量,該向量具有從零均值正態分布隨機生成的矩陣。矩陣的每一行都是L2標准化的。學習的字典包括570個原子,一個人平均15個原子。字典原子和標簽是對應的。

  α和β設置為16和4,分別計算帶有很強光照的准確率,和除去光照的圖片的准確率,另外,對所有測試圖片的時間求了平均,來計算一張測試圖片的時間

4.2  AR數據集

  126個人的圖像超過4000找種顏色,每個人有26個人臉圖像。相比較擴展YaleB數據集,此數據集包括更多的面部多樣性包括不同的光照條件,不同的表情和不同的‘偽裝’(眼鏡,圍巾)。

 

  數據集包括50個男人和50個女人共2600張圖像,每一個人20張作為訓練,6張作為測試。每張人臉大小165*120,用隨機的生成矩陣投影成540維的向量。

  學習的字典有500個原子,一個人有5個,字典原子和標簽有對應關系。

  比較單張測試圖像時間。

4.3 caltech 101數據集

  102個類,共9144張圖片。每一類圖片數目從31到800不等。每一類將5,10,15,20,25,和30訓練,其余作為測試。

  每一類隨機選取30張圖片作為訓練,利用不同的字典原子,K = 510,1020,1530,2040,3060;

  計算一張測試圖片所用時間。

   

 

 

 

 

 

 

 

  

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM