李為華,劉宏兵, 楊汝生
(信陽師范學院 計算機與信息技術學院,河南 信陽 464000)
稀疏編碼中字典的選擇無論對圖像重建還是模式分類都有重要影響,胡正平等[1]提出Gabor 特征集結合判別式字典學習的稀疏表示圖像識別算法.朱杰等[2]提出一種基于字典學習方法的核稀疏表示方法,并成功應用于人臉識別.針對稀疏表示人臉識別算法在字典構造時易丟失大量分類信息且l1范數最小化計算量較大的問題,曾凌子等[3]提出一種基于Fisher 準則字典學習和最小二乘法的壓縮感知人臉識別算法.方蔚濤等[4]提出了一種新的二維投影非負矩陣分解人臉識別算法,把非負屬性引入二維主成分分析中,該算法在保持人臉圖像的局部結構情況下, 突破了最小化非負矩陣分解損失函數的約束, 僅需計算投影矩陣 (基矩陣), 從而降低了計算復雜度.
針對傳統人臉識別方法中所提取特征維數高、計算量大等缺點,孔銳等[5]提出一種新的正面人臉識別算法,該算法融合了半邊人臉識別方法、Gabor 濾波器、基于互信息判據的 Gabor 特征篩選來進行人臉識別.馬小虎等[6]對原始的稀疏保持投影算法進行了改進,提出了一種叫作鑒別稀疏保持嵌入的算法.該算法是一個線性的監(jiān)督學習算法,通過引入鑒別信息,能夠有效地對高維數據進行降維.完備鑒別保局投影人臉識別算法將Fisher 鑒別分析和保局投影結合起來,性能優(yōu)于線性鑒別分析、保局投影和鑒別保局投影等現有的子空間人臉識別算法[7].
稀疏表示是從一個字典里選取少量原子的線性組合來表示一個信號.它在圖像分類和目標識別中取得了巨大的成功[8,9],信號表示過程中字典很重要[10].分析字典快速明確的編碼在圖像表示中有較強的優(yōu)勢,但在復雜局部結構的自然圖像建模上,效果并不理想.合成字典的稀疏表示近年來得到廣泛的關注[9,11,12].現有的DL方法大多采用l0、l1范式規(guī)范表示系數,盡管提出了眾多的算法提高稀疏編碼的效率[13],然而l0、l1范式稀疏正則化約束導致了訓練和測試階段的低效率.
因此,本文提出一種新的字典投影學習模型(DPL):學習合成和分析字典,不需要l0、l1范式稀疏正則化,訓練分析字典采用線性投影生成判別碼,同時訓練合成字典得到特定類的重構樣本.實驗表明,DPL有較好的分類精度和穩(wěn)定性,并在訓練、測試時間上有明顯優(yōu)勢.
用X=[X1,…,Xk,…,KK]表示K類p維訓練樣本集.Xk∈Кp×n是類K的訓練樣本,n是每類的樣本數.大多先進的判別DL[12]方法由下面的框架表示:
(1)
假設有分析字典P∈КmK×p,碼表A可由A=PX解析得到,X的表示是非常有效的.基于這個思想,本文提出了分析字典P和合成字典D的學習模型:
Ψ(D,P,X,Y),
(2)
其中Ψ(D,P,X,Y)是判別函數,D和P構成字典對,P用來解析碼X,D用來重建X.DPL模型的分類性能由Ψ(D,P,X,Y)函數決定.
D=[D1,…,Dk,…,DK],
P=[P1,…,Pk,…,PK]
是結構化的合成字典和分析字典,{Dk∈Кp×m,Pk∈Кm×p}是類K的子字典對.子字典Pk是類i(i≠k)的樣本到一個近零空間的投影.
PkXi≈0,?k≠i.
(3)
子字典Dk的投影編碼矩陣PkXk重建數據矩陣Xk,減少了重構誤差.
(4)
基于上面的分析,DPL模型表示如下:
(5)
式(5)的目標函數是非凸的,引入變量矩陣A松弛,轉化為:
(6)
(1)固定D和P,求解A:
(7)
這是一個標準最小二乘問題,得到封閉解:
(8)
(2)固定A,求解D和P:
(9)
得到P的封閉解.
(10)
這里γ=10e-4是一個很小的數,引入變量S優(yōu)化D.
(11)
用ADMM算法得到式(11)最優(yōu)解:
(12)
優(yōu)化的每一步,都得到變量A,P的封閉解,在D的優(yōu)化上ADMM快速收斂.本文提出的DPL模型訓練上較以前的判別DL方法快得多,DPL算法構造如算法1.當兩次誤差小于0.01時迭代停止,輸出分析字典P和合成字典D.
算法1 判別合成分析字典學習DPL
輸入:K類樣本X=[X1,…,Xk,…,KK],參數λ,τ,m;
輸出: 分析字典P, 合成字典D.
1:初始化分析字典和合成字典D(0)和P(0),t=0;
2:whileD不收斂do
3:t=t+ 1;
4:fori=1:Kdo
其實,學生通過這樣的一系列活動,就能夠發(fā)現在現實生活中有那么多的數學的身影,他們的學習積極性就一下子增強了,而教師在教學中要不斷啟發(fā)學生,使他們明白這些數學知識在現實生活中的應用方法,并解決生活中的一些實際問題。這些都能夠讓學生理解學以致用的基本道理,并且這樣的理論和實際相結合的模式,提高了學生的理解能力,讓他們在今后的學習中也能夠保持一種積極主動的狀態(tài)。
8: end for
9:end while
(13)
用Yale人臉數據集來驗證本文算法.Yale人臉庫包含15個人的165張人臉圖像,如圖1顯示人臉的11種不同的表情,如眼鏡摘擋、陰影、高興、緊張等不同表情.圖2顯示了15個人臉的特定表情.采用5折交叉驗證實驗,每個人臉隨機選取8幅圖像用于訓練,其余的用來測試,參數τ=0.05,λ=0.0003,運行50次文中的人臉識別算法,并和KNN算法、DL算法進行比較,各種算法的人臉識別精如表1所示.
表1 DPL和KNN、DL人臉識別算法的識別精度比較
由表1可知,就算法的復雜性而言,DPL平均訓練時間為5.996 s,平均測試時間為0.008 s,KNN算法無須訓練過程,其平均測試時間為0.136 s,高于DPL算法.從識別精度的方差可以看出,DPL比KNN算法穩(wěn)定.所以和KNN算法相比,DPL算法具有較高的識別精度和較好的穩(wěn)定性.從表1可以發(fā)現,文中DPL算法的識別精度和穩(wěn)定性略高于DL算法.
圖1 某個人的不同的人臉表情Fig. 1 A person's different facial expression
本文提出字典投影學習算法,并用于人臉識別問題,不同于傳統的DL方法訓練單一的合成字典,DPL算法合成字典和分析字典,在執(zhí)行表示的同時進行分類.與以前的DL方法比較,DPL模型采用投影編碼減少訓練和測試階段的計算負擔.在Yale人臉數據集上進行了性能的評價,和KNN算法相比,DPL算法有較高的人臉識別精度和較好的穩(wěn)定性,略高于DL算法.