基於約束的面向單個測試樣本的人臉識別方法
2023-10-18 00:19:24 2
基於約束的面向單個測試樣本的人臉識別方法
【專利摘要】本發明提供了一種基於約束的面向單個測試樣本的人臉識別方法,步驟1,對訓練樣本集合和測試樣本進行預處理;步驟2,算法的第一階段,設計測試樣本與訓練樣本之間的函數關係,利用訓練樣本線性表示測試樣本的方法建立它們間的函數關係,步驟3,設計字典的類標嵌入項,步驟4,算法的第二階段,利用訓練樣本集合來學習字典,並且該字典同時也是測試樣本的最優表示,步驟5、分類方法:採用線性分類方法對測試樣本進行分類。試驗結果表明提出的算法具有計算複雜度低,重構性能、鑑別性和緊湊性強的等特點,能進一步提高人臉識別效率。
【專利說明】基於約束的面向單個測試樣本的人臉識別方法
【技術領域】
[0001]本發明涉及人臉識別方法,尤其涉及基於約束的面向單個測試樣本的字典學習方法。
【背景技術】
[0002]基於約束的字典學習理論為探索數據中的特徵和增強字典的鑑別性等方面開闢了一個全新的研究方向,但其理論與方法存在著易受訓練樣本噪聲的影響、測試樣本的稀疏表示與字典學習分開處理等一系列尚未解決的問題。為此,本發明提出基於原子類標約束的面向單個測試樣本的字典學習算法試圖解決該類算法在人臉識別中存在的部分問題。通過設計原子類標約束項,使得字典具有更強的鑑別性能,進而設計測試樣本的稀疏表示與字典學習一體化人臉識別系統模型,為每個測試樣本學習一個特定的字典來提高人臉識別性能。
【發明內容】
[0003]為了解決現有技術中問題,本發明提供了一種基於約束的面向單個測試樣本的人臉識別方法,
[0004]假設訓練樣本集合為F =' N是訓練樣本的個數,η是訓練樣本的維數,yt是一個測試樣本,面向單個測試樣本的人臉識別步驟如下:
[0005]步驟I,對訓練樣本集合和測試樣本進行預處理;
[0006]步驟2,算法的第一階段,設計測試樣本與訓練樣本之間的函數關係,利用訓練樣本線性表示測試樣本的方法建立它們間的函數關係,
[0007]yt = aiyi+...+ aNyN(I)
[0008]其中,A = [a1; -aN]是訓練樣本集合Y對測試樣本yt的表示係數,公式⑴可以採用A= (ΥΤΥ+Π I) 進行求解,其中η是參數,I是單位矩陣,因此,第i個訓練樣本對測試樣本yt的貢獻可以表示為|>>|,選取K個最大貢獻值所對應的訓練樣本,並假設他們為? =f是PCA降維後的訓練樣本的維數;
[0009]步驟3,設計字典的類標嵌入項,假設字典£--,...,OR/xm,其中m是字典個數,共包含有C類原子,每個原子分配一個類標4 =[0,-..,1,...0]εΕγ,非零位置為原子Cli的類標,字典D的類標矩陣定義為β = ,…EiRmxi'其變換矩陣G定義為:
[0010]
G = B(B' By =[^,...,gm J e Rfflxc C 2)
[0011]其中,gi是原子Cli的類標轉換矩陣,設計字典原子的類標嵌入項如下:
[0012]Tr (XtGGtX) = Tr (XtUX)(3)
[0013]其中,是編碼係數矩陣,U是字典原子的擴展類標矩陣,U = GGt ;
[0014]步驟4,算法的第二階段,利用訓練樣本集合?未學習字典D,並且該字典同時也是測試樣本It的最優表示,面向單個測試樣本的字典學>」算法的目標函數如下:
[0015]min ψ — Οχζ + ||v, -DF||; + aTr(XTUX) + β||x|f + γ\\ν\ζ (4)
[0016]其中,Fe Rmxl是測試樣本的表示係數,α,β和Y是調整參數,第一項是對訓練樣本子集f的重構項,第二項是測試樣本yt的表示項,第三項是字典原子的類標約束項,第四和第五分別是編碼係數和表示係數的約束項;
[0017]步驟5、分類方法:採用線性分類方法對測試樣本進行分類。
[0018]作為本發明的進一步改進,步驟I中,預處理的方法是利用PCA對訓練樣本和測試樣本進行降維。其中,PCA:principal component analysis,主成份分析。
[0019]作為本發明的進一步改進,第四步中目標函數的求解採取梯度下降方法求解,具體如下:
[0020]3)字典D的求解,
[0021]假設編碼係數X和表示係數V是固定的,則公式(4)可以變為:
[0022]mjn|f-£)x|【+|Cg (5)
[0023]為了求得最優的字典,求解公式(5)的一階導數並令其等於0,
[0024]DXrX-YXr + DV1Vr -ytVT =0 (6)
[0025]於是最優的字典為:
[0026]D = (YXr + ytVT){xTX + VrVf1 (7);
[0027]4)編碼係數X和表示係數V的求解,
[0028]首先假設字典D和表示係數V是固定的,則公式(4)可以變為:
[0029]min ψ - ?χζ + aTr[XTUX) + β\\χζ(8)
[0030]為了求得最優的編碼係數X,求解公式(8)的一階導數並令其等於0,
[0031 ] D1 DX + aUX + βΧ- D1 K-O C 9 )
[0032]於是最優的編碼係數為:
[0033]X = [DTD + aU + pl) ' D Y (10)
[0034]同樣,假設字典D和編碼係數X是固定的,則公式(4)可以變為:
[0035]min I V,X Il^lli (11)
[0036]為了求得最優的表示係數V,求解公式(11)的一階導數並令其等於0,
[0037]DtDV+ Y V-DTyt = O (12)
[0038]於是最優的表不係數為:
[0039]V = (DTD+ Y I)_1DTyt (13)。
[0040]作為本發明的進一步改進,步驟5、分類方法:採用線性分類方法對測試樣本進行分類,具體如下:首先,利用字典的編碼係數X和訓練樣本的類標矩陣H來計算分類參數W如下:
[0041]W = HXT(XXT+I)_1(14)
[0042]其中,"=[/ν.Α>Κ?Χ.Υ(/?,=[0,...,1,.」0]£]^,非零位置表示訓練樣本3^ 的類標。第二步,利用測試樣本yt的最優稀疏表示係數V計算類標矢量如下:
[0043]L = WV (15)
[0044]第三步,求類標矢量L的最大值,然後測試樣本yt的類標為類標矢量L的最大值對應的索引。
[0045]本發明的有益效果是:
[0046]針對基於字典學習的人臉識別方法,字典學習過程不涉及到測試樣本的稀疏表示,導致學習的字典並不一定是測試樣本的最優表示,降低了字典的分類性能。將測試樣本的稀疏表示引入到字典學習過程中,提出面向單個測試樣本的判別字典學習算法;其次,將原子類標約束加入到字典學習過程中,建立一個基於原子約束的判別字典學習算法,進一步增強了字典的鑑別性能;試驗結果表明提出的算法具有計算複雜度低,重構性能、鑑別性和緊湊性強的等特點,能進一步提聞人臉識別效率。
【專利附圖】
【附圖說明】
[0047]圖1是本發明基於約束的面向單個測試樣本的字典學習方法流程圖。
【具體實施方式】
[0048]下面結合附圖對本發明做進一步說明。
[0049]如圖1所示,針對目前基於字典學習的模式分類算法中,字典學習與測試樣本稀疏表示是分開處理的情況。本發明把測試樣本的稀疏表示加入到字典學習過程中,結合原子類標約束設計面向單個測試樣本的判別字典學習算法,使得每個測試樣本學習一個特定的字典,同時利用該字典對測試樣本進行分類。針對算法計算複雜度高的問題,提出面向單個測試樣本的兩階段判別字典學習框架和人臉識別系統。假設訓練樣本集合為
F = JivJeMnxjv, N是訓練樣本的個數,η是訓練樣本的維數。yt是一個測試樣本。面向單個測試樣本的人臉識別方法的詳細步驟如下:
[0050]首先,對訓練樣本集合和測試樣本進行預處理。採取的方法是利用PCA對訓練樣本和測試樣本進行降維。
[0051]第二步,算法的第一階段,設計測試樣本與訓練樣本之間的函數關係。利用訓練樣本線性表示測試樣本的方法建立它們間的函數關係。
[0052]yt = αιΥι+...+ aNyN(I)
[0053]其中,A = [a1;…aN]是訓練樣本集合Y對測試樣本yt的表示係數。公式(I)可以採用A= (YTY+n IrYyt進行求解,其中η是參數,I是單位矩陣。因此,第i個訓練樣本對測試樣本yt的貢獻可以表示為β,I。如果貢獻值越大,表明該訓練樣本對測試樣本的重構有較大的貢獻。因此,選取K個最大貢獻值所對應的訓練樣本,並假設他們為Γ = [Λ,...,^]εΕ? " (f是PCA降維後的訓練樣本的維數)。
[0054]第三步,設計字典的類標嵌入項,假設字典D =其中m是字典個數。共包含有C類原子,每個原子分配一個類標4 = [O,…,I, ■..] e Ke,非零位置為原子Cli的類標。因此,字典D的類標矩陣可以定義為β = [/ν_Α,;Γ其變換矩陣G可以定義為:
[0055]
—iT
G = B(B1B) - =[g\...,/H] eRwxc
[0056]其中,gi是原子Cli的類標轉換矩陣。為了讓同類的訓練樣本有相似的編碼係數,設計字典原子的類標嵌入項如下:
[0057]Tr (XtGGtX) = Tr (XtUX)(3)
[0058]其中,是編碼係數矩陣,U是字典原子的擴展類標矩陣,U = GGT。
[0059]第四步,算法的第二階段,利用訓練樣本集合f來學習字典D,並且該字典同時也是測試樣本yt的最優表示。此外,為了讓字典具有更強的鑑別性,增加了字典原子的類標嵌入項。因此,面向單個測試樣本的字典學習算法的目標函數如下:
[0060]^』?-叫丨:+ 丨卜,-DV^+aTr{XTUX) + p\X^ + r\vf2 ⑷
[0061]其中,FeITixl是測試樣本的表示係數,α,β和Y是調整參數。第一項是對訓練樣本子集f的重構項,第二項是測試樣本yt的表示項,第三項是字典原子的類標約束項,第四和第五分別是編碼係數和表示係數的約束項。該目標函數能較好的達到既能重構訓練樣本,同時又能表示測試樣本的目的。字典原子的類標約束能進一步的增強字典的鑑別性。
[0062]第四步中目標函數的求解如下:
[0063]通常字典原子的求解可以採用逐個原子更新的方式,比如K-SVD算法。但是由於涉及到Itl和I1範數,該類算法的計算量較大。我們提出的目標函數可以直接採取梯度下降方法求解,可以在一定程度上減少算法的複雜度。
[0064]5)字典D的求解。
[0065]假設編碼係數X和表示係數V是固定的,則公式(4)可以變為:
[0066]ιη?η|7-Ζ)Χ|"+|Λ-Ζ)Ρ||; (5)
[0067]為了求得最優的字典,求解公式(5)的一階導數並令其等於O。
[0068]DXtX - YXr + DVtVt - ι V =0 (6)
[0069]於是最優的字典為:
[0070]D = (YX1 + v,V1)(J1 X + V7 V\l (7)
[0071]6)編碼係數X和表示係數V的求解
[0072]首先假設字典D和表示係數V是固定的,則公式(4)可以變為:
[0073]min ψ - Οχζ + aTr[XTUX) + β ||χ||;C8)
[0074]為了求得最優的編碼係數X,求解公式(8)的一階導數並令其等於O。
[0075]D1DX + CdJX + βΧ - D1 Y - O (9)
[0076]於是最優的編碼係數為:
[0077]X = [D' D + aU + β?) ' D丨 Y (1
[0078]同樣,假設字典D和編碼係數X是固定的,則公式(4)可以變為:
[0079]njjn|.v,—(11)
[0080]為了求得最優的表示係數V,求解公式(11)的一階導數並令其等於O。
[0081]DtDV+ Y V-DTyt = O (12)
[0082]於是最優的表示係數為:
[0083]V= (DTD+y I)_1DTyt (13)
[0084]第五步、分類方法:
[0085]由於我們的目標函數可以同時得到字典的編碼係數和測試樣本的稀疏表示係數,因此,可以採用一種簡單的線性分類方法對測試樣本進行分類。
[0086]首先,利用字典的編碼係數X和訓練樣本的類標矩陣H來計算分類參數W如下:
[0087]W = HXt (XXt+I)(14)
[0088]其中,=虻χλ_ Ui =[,■..,1,...0]£?Τ,非零位置表示訓練樣本力的類標。第二步,利用測試樣本yt的最優稀疏表示係數V計算類標矢量如下:
[0089]L = WV (15)
[0090]第三步,求類標矢量L的最大值,然後測試樣本yt的類標為類標矢量L的最大值對應的索引。
[0091]以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限於這些說明。對於本發明所屬【技術領域】的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬於本發明的保護範圍。
【權利要求】
1.一種基於約束的面向單個測試樣本的人臉識別方法,其特徵在於: 假設訓練樣本集合為F = Ln,…,Xv]eK"XlV,N是訓練樣本的個數,η是訓練樣本的維數,Yt是一個測試樣本,面向單個測試樣本的人臉識別步驟如下: 步驟I,對訓練樣本集合和測試樣本進行預處理; 步驟2,算法的第一階段,設計測試樣本與訓練樣本之間的函數關係,利用訓練樣本線性表示測試樣本的方法建立它們間的函數關係,yt = α ιΥι+—+ aNyN⑴ 其中,A = [a1;…aN]是訓練樣本集合Y對測試樣本yt的表示係數,公式⑴可以採用A= (ΥΤΥ+Π Ir1YTyt進行求解,其中η是參數,I是單位矩陣,因此,第i個訓練樣本對測試樣本yt的貢獻可以表示為hi,選取K個最大貢獻值所對應的訓練樣本,並假設他們為?=卜」.,瓜f是PCA降維後的訓練樣本的維數; 步驟3,設計字典的類標嵌入項,假設字典其中m是字典個數,共包含有(:類原子,每個原子分配一個類標^.二[0,_-,1,一0]£脫(:,非零位置為原子屯的類標,字典D的類標矩陣定義為5 = 丸其變換矩陣G定義為:
Iτβ=Β(Β? B) -e Emxc (2) 其中,gi是原子Cli的類標轉換矩陣,設計字典原子的類標嵌入項如下: Tr (XtGGtX) = Tr (XtUX)(3) 其中,是編碼係數矩陣,U是字典原子的擴展類標矩陣,U = GGt ; 步驟4,算法的第二階段,利用訓練樣本集合P來學習字典D,並且該字典同時也是測試樣本yt的最優表示,面向單個測試樣本的字典學習算法的目標函數如下: S P - dxI + Il-V1-評K + -(XtUX) + 率β + r Irt (4 ) 其中,re ITixl是測試樣本的表示係數,α,β和Y是調整參數,第一項是對訓練樣本子隼P的重構項,第二項是測試樣本yt的表示項,第三項是字典原子的類標約束項, 第四和第五分別是編碼係數和表示係數的約束項; 步驟5、分類方法:採用線性分類方法對測試樣本進行分類。
2.根據權利要求1所述的基於約束的面向單個測試樣本的人臉識別方法,其特徵在於: 步驟I中,預處理的方法是利用PCA對訓練樣本和測試樣本進行降維。
3.根據權利要求1所述的基於約束的面向單個測試樣本的人臉識別方法,其特徵在於: 第四步中目標函數的求解採取梯度下降方法求解,具體如下: I)字典D的求解, 假設編碼係數X和表示係數V是固定的,則公式(4)可以變為: mmllF-DxlJ+l^-DFlf (5) 為了求得最優的字典,求解公式(5)的一階導數並令其等於O, DXrX- YXt + DVtVt -ytVT = O U)) 於是最優的字典為:
D = (YXr +.v;V1^X1 X + VtV\l i ) 2)編碼係數X和表示係數V的求解, 首先假設字典D和表示係數V是固定的,則公式(4)可以變為: min||F - Οχζ + aTr (XTUX) + β ||χ||;C 8 ) 為了求得最優的編碼係數X,求解公式(8)的一階導數並令其等於O,
D1 DX + aUX + βΧ- D1 Y - O (9) 於是最優的編碼係數為:
X - (D1 D + α? + β?)_1 DtY (10) 同樣,假設字典D和編碼芊數X是固定的,則公式(4)可以變為: mm\\yt-DVf1 + Y\vl CU) 為了求得最優的表示係數V,求解公式(11)的一階導數並令其等於0,
DtDV+ Y V-DTyt = O (12) 於是最優的表示係數為:
V= (DTD+y I)_1DTyt (13)。
4.根據權利要求1所述的基於約束的面向單個測試樣本的人臉識別方法,其特徵在於: 步驟5、分類方法:採用線性分類方法對測試樣本進行分類,具體如下:首先,利用字典的編碼係數X和訓練樣本的類標矩陣H來計算分類參數W如下: W = HXT(XXT+I)_1(14)其中,=(Hi =[0,...,I5--OjeEi,非零位置表示訓練樣本Yi的類標。 第二步,利用測試樣本yt的最優稀疏表示係數V計算類標矢量如下: L = WV (15) 第三步,求類標矢量L的最大值,然後測試樣本yt的類標為類標矢量L的最大值對應的索引。
【文檔編號】G06K9/66GK104166860SQ201410359737
【公開日】2014年11月26日 申請日期:2014年7月25日 優先權日:2014年7月25日
【發明者】李爭名, 徐勇 申請人:哈爾濱工業大學深圳研究生院