,
(過完備字典),
是輸入信號Y的稀疏編碼。T是稀疏約束項,(每個信號在分解后都少於T個原子),||
Y-
DX||
2
2表示
重建誤差。通過最小化重構誤差和滿足稀疏約束來實現D的構造。K-SVD算法是一種最小化方程1能量的迭代方法,學習一個用於信號稀疏表示的重建字典。該方法效率高,適用於圖像復原和壓縮等領域。根據D,Y的稀疏編碼X:
2.2 字典學習用於分類
稀疏編碼x可以直接的作為特征進行分類。通過模型參數W∈Rm×K,可以得到一個好的分類器。
:分類損失函數,hi是yi的標簽,λ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]∈Rm 是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;
計算一張測試圖片所用時間。
