一種基於聯合稀疏判別分析的人臉識別方法及其系統與流程
2023-05-15 11:14:26 1

本發明屬於計算機視覺技術改進領域,尤其涉及一種基於聯合稀疏判別分析的人臉識別方法及其系統。
背景技術:
近年來,隨著社會經濟的發展,人類生活的水平越來越高。人們在享受高科技產品帶來對傳統生活方式的巨大變革的同時,不斷探索更智能、更人性化的生活方式。「網際網路+」、「智慧城市」等創新概念在科技發展潮流中應運而生,國家、政府、企業等都非常重視人工智慧的建設。目前,計算機視覺領域技術的發展為社會做出了巨大貢獻。如指紋識別、人臉識別等技術在出入境身份驗證、銀行或海關的監控、自動認證系統方面得到了廣泛的應用。
迄今為止,許多人臉識別方法已經出現並在計算機視覺領域中頗見成效。經典的降維方法包括主成分分析(pca)、線性判別分析(lda)等。為了增強特徵提取的能力,提高人臉識別的精度,研究人員們提出了許多稀疏表示的方法,其中尤為著名的有稀疏主成分分析(spca)、稀疏判別分析(sda)等。稀疏表示的核心思想是將待認證樣本圖像表示為訓練樣本圖像的稀疏線性組合,繼而從稀疏的角度獲得對圖像最緊湊的表示。基於l2範數的方法常常對噪點過於敏感,而在稀疏表示中採用l1範數代替l2範數能緩解這個問題。但是,以l1範數作正則項的方法並不具備聯合稀疏特性(jointsparsity)。在特徵提取中,聯合稀疏特性能使求解的最優投影矩陣中的某些行的元素都為0,即通過計算使得投影矩陣中權重較小的整行元素都為0,從而凸顯了權重較大的其他元素。
在實際應用中,用戶期待人臉識別系統具有較好的魯棒性,即系統能夠在非理想情況,包括光照、角度、表情、偽裝及姿態的多變化下,仍能獲得較理想的識別效果。而目前大多數人臉識別方法並不能夠保證系統在複雜情況下的魯棒性。
技術實現要素:
本發明的目的在於提供一種基於聯合稀疏判別分析的人臉識別方法,旨在解決人臉在光照、角度、表情、偽裝及姿態等方面存在多種變化的情況下,人臉識別系統識別率不理想的技術問題。
本發明是這樣實現的,一種基於聯合稀疏判別分析的人臉識別方法,該方法用於處理人臉圖片矩陣x=[x1,x2,...,xn]∈rd×n,其中n為訓練樣本個數,d為每個樣本圖片的尺寸;通過將原始的高維數據投影到低維投影矩陣b∈rd×k(k是降維後的圖像尺寸,k≤d)以實現降維與特徵提取,所述人臉識別方法包括以下步驟:
a、建立存儲已知身份的人臉訓練圖像的資料庫;
b、對待檢測身份的人臉檢測和數據採集並建立帶認證的人臉資料庫;
c、對待認證的人臉數據與訓練數據進行特證提取並構建基於聯合稀疏表示的判別分析模型;
d、利用步驟c中特徵提取後的訓練數據與待認證的數據,並結合對應的標籤信息,使用最近鄰分類器進行判別分析計算人臉識別的結果。
本發明的進一步技術方案是:所述人臉訓練圖像的資料庫的建立包括以下步驟:
a1、從人臉採集器上採集彩色或者黑白圖片;
a2、對人臉資料庫中的所有圖片進行歸一化處理;
a3、將所述圖片按照原來比例轉換成40*40的灰度圖,並將所述灰度圖轉成二維矩陣。
本發明的進一步技術方案是:所述步驟c中構建基於聯合稀疏表示的判別分析模型的函數式為:ata=i,ctc=i,其中,y∈rn×c為標籤矩陣,b∈rd×k為投影矩陣,c∈rc×k、a∈rd×k為正交的輔助矩陣;n為訓練樣本個數,c為所有圖片的類別數,d為每個樣本圖片的尺寸,即每張圖片的特徵個數,k為特徵提取的特徵個數;γ,λ代表預定係數,||·||2,1,||·||分別表示l21範數與l2範數,t表示轉置運算。
本發明的進一步技術方案是:對於所述正交的輔助矩陣c,其函數式:其通過其中表示輔助矩陣c的最優解
對進行svd分解:
輔助矩陣c的最優解為上述svd分解得到的矩陣
本發明的進一步技術方案是:對於所述正交的輔助矩陣a,其函數式:其通過其中表示輔助矩陣a的最優解
對2λxxtb進行svd分解:
輔助矩陣a的最優解為上述svd分解得到的矩陣
本發明的進一步技術方案是:對歸一化處理後的灰度訓練圖像矩陣進行降維,得到較低維矩陣以進行更快速的矩陣運算,所述的降維後的訓練圖像矩陣作為輸入參數x傳遞給步驟c所述的構建基於聯合稀疏表示的判別分析模型,並將標籤矩陣y作為輸入參數,求解最優投影矩陣b的步驟包括:
a、初始化a,b,c為任意隨機矩陣;
b、通過迭代操作,得到最優的投影矩陣b;
c、對迭代求解得到的最優的投影矩陣bt+1進行歸一化處理。
本發明的進一步技術方案是:所述迭代操作步驟包括:
b1、先存儲當前第t次迭代的投影矩陣b為bt,判斷bt是否未收斂而且當前迭代步數t小於或等於最大迭代步數tmax,如是,則執行下面步驟;反之,迭代結束;
b2、更新對角矩陣和對角矩陣其函數分別為:
b3、更新輔助矩陣ct+1,對進行svd分解;其函數為:更新
b4、更新輔助矩陣at+1,對2λxxtbt進行svd分解:其函數為:更新
b5、更新投影矩陣bt+1;其函數為:
b6、計算收斂性,通過比較第t次迭代得到的bt與第t+1次得到的bt+1,通過||bt+1-bt||/||bt+1||<ε計算是否達到收斂,如果未達到收斂則繼續迭代操作,反之迭代結束;其中ε為預定的收斂係數。
本發明的另一目的在於提供一種基於聯合稀疏判別分析的人臉識別系統,該系統用於處理人臉圖片矩陣x=[x1,x2,...,xn]∈rd×n,其中n為訓練樣本個數,d為每個樣本圖片的尺寸;通過將原始的高維數據投影到低維投影矩陣b∈rd×k(k是降維後的圖像尺寸,k≤d)以實現降維與特徵提取,所述人臉識別系統包括:
已知訓練圖像資料庫模塊,用於建立存儲已知身份的人臉訓練圖像的資料庫;
認證資料庫模塊,用於對待檢測身份的人臉檢測和數據採集並建立帶認證的人臉資料庫;
判別分析模塊,用於對待認證的人臉數據與訓練數據進行特證提取並構建基於聯合稀疏表示的判別分析模型;
識別結果模塊,利用判別分析模塊中特徵提取後的訓練數據與待認證的數據,並結合對應的標籤信息,使用最近鄰分類器進行判別分析計算人臉識別的結果。
本發明的進一步技術方案是:所述人臉訓練圖像的資料庫的建立包括:
採集單元,用於從人臉採集器上採集彩色或者黑白圖片;
圖片處理單元,用於對人臉資料庫中的所有圖片進行歸一化處理;
轉換矩陣單元,用於將所述圖片按照原來比例轉換成40*40的灰度圖,並將所述灰度圖轉成二維矩陣。
本發明的進一步技術方案是:所述判別分析模塊中構建基於聯合稀疏表示的判別分析模型的函數式為:ata=i,ctc=i,其中,y∈rn×c為標籤矩陣,b∈rd×k為投影矩陣,c∈rc×k、a∈rd×k為正交的輔助矩陣;n為訓練樣本個數,c為所有圖片的類別數,d為每個樣本圖片的尺寸,即每張圖片的特徵個數,k為特徵提取的特徵個數;γ,λ代表預定係數,||·||2,1,||·||分別表示l21範數與l2範數,t表示轉置運算;
對於所述正交的輔助矩陣c,其函數式:其通過其中表示輔助矩陣c的最優解對進行svd分解:
輔助矩陣c的最優解為上述svd分解得到的矩陣
對於所述正交的輔助矩陣a,其函數式:其通過其中表示輔助矩陣a的最優解對2λxxtb進行svd分解:
輔助矩陣a的最優解為上述svd分解得到的矩陣
對歸一化處理後的灰度訓練圖像矩陣進行降維,得到較低維矩陣以進行更快速的矩陣運算,所述的降維後的訓練圖像矩陣作為輸入參數x傳遞給判別分析模塊所述的構建基於聯合稀疏表示的判別分析模型,並將標籤矩陣y作為輸入參數,求解最優投影矩陣b的包括:
初始化單元,用於初始化a,b,c為任意隨機矩陣;
迭代單元,用於通過迭代操作,得到最優的投影矩陣b;
歸一化單元,用於對迭代求解得到的最優的投影矩陣bt+1進行歸一化處理;
所述迭代單元包括:
判斷模塊,用於先存儲當前第t次迭代的投影矩陣b為bt,判斷bt是否未收斂而且當前迭代步數t小於或等於最大迭代步數tmax,如是,則執行下面步驟;反之,迭代結束;
對角矩陣更新模塊,用於更新對角矩陣和對角矩陣其函數分別為:
輔助矩陣一更新模塊,用於更新輔助矩陣ct+1,對進行svd分解;其函數為:更新
輔助矩陣二更新模塊,用於更新輔助矩陣at+1,對2λxxtbt進行svd分解:其函數為:更新
投影矩陣更新模塊,用於更新投影矩陣bt+1;其函數為:
計算模塊,用於計算收斂性,通過比較第t次迭代得到的bt與第t+1次得到的bt+1,通過||bt+1-bt||/||bt+1||<ε計算是否達到收斂,如果未達到收斂則繼續迭代操作,反之迭代結束;其中ε為預定的收斂係數。
本發明的有益效果是:採用基於聯合稀疏判別分析來對待認證人臉圖片進行識別,提高了認證準確度,有效提高待認證人臉在光照、角度、表情、偽裝及姿態等方面存在多種變化的情況下的識別魯棒性。
附圖說明
圖1是本發明實施例提供的基於聯合稀疏判別分析的人臉識別方法的流程圖。
圖2是本發明實施例提供的基於聯合稀疏判別分析的人臉識別方法的特徵提取算法的流程圖。
圖3是本發明實施例提供的基於聯合稀疏判別分析的人臉識別系統的結構框圖。
具體實施方式
圖1示出了本發明提供的基於聯合稀疏判別分析的人臉識別方法的流程圖,氣象書如下:
下面結合附圖說明及具體實施方式對本發明進一步說明。
假設人臉圖片矩陣x=[x1,x2,...,xn]∈rd×n,其中n為訓練樣本個數,d為每個樣本圖片的尺寸。通過將原始的高維數據投影到低維投影矩陣b∈rd×k(k是降維後的圖像尺寸,k≤d)以實現降維與特徵提取。所述方法包括以下步驟:
步驟s1,建立存儲已知身份的人臉訓練圖像的資料庫;
所述人臉訓練圖像的資料庫的建立包括以下步驟:
s11、從人臉採集器上採集彩色或者黑白圖片;
s12、對人臉資料庫中的所有圖片進行歸一化處理,將所述圖片按照原來比例轉換成40*40的灰度圖,並將所述灰度圖轉成二維矩陣。
步驟s2,人臉檢測與數據採集,建立待認證的人臉資料庫;對待檢測身份的人臉檢測和數據採集並建立帶認證的人臉資料庫;
所述人臉資料庫用於存儲從終端設備採集到的人臉圖像信息;所述人臉圖像信息以矩陣形式存儲x=[x1,x2,...,xn]∈rd×n,矩陣x的每一列為一張圖片。
步驟s3,對待認證的人臉數據與訓練數據進行特徵提取,構建基於聯合稀疏表示的判別分析模型jsda;對待認證的人臉數據與訓練數據進行特證提取並構建基於聯合稀疏表示的判別分析模型;
步驟s4,利用步驟s3中特徵提取後的訓練數據與待認證的數據,並結合對應的標籤信息,使用最近鄰分類器進行判別分析計算人臉識別的結果。
步驟s3所述的構建基於聯合稀疏表示的判別分析模型如下式表示:
其中,y∈rn×c為標籤矩陣,b∈rd×k為投影矩陣,c∈rc×k、a∈rd×k為正交的輔助矩陣。n為訓練樣本個數,c為所有圖片的類別數,d為每個樣本圖片的尺寸,即每張圖片的特徵個數,k為特徵提取的特徵個數。γ,λ代表預定係數,||·||2,1,||·||分別表示l21範數與l2範數,t表示轉置運算。
所述的構建基於聯合稀疏表示的判別分析模型式子具有如下特點:
(1)基於l21範數的性質,所述的構建基於聯合稀疏表示的判別分析模型的式子中,第一項||y-xtbct||2,1可寫成矩陣跡的形式,如下:
其中為對角矩陣,其對角線上第i個元素的值為矩陣y-xtbct的第i行向量的l2範數的倒數,即的對角元素通過下式求得:
其中(y-xtbct)i表示矩陣y-xtbct的第i行
(2)基於l21範數的性質,所述的構建基於聯合稀疏表示的判別分析模型的式子中,第二項γ||b||2,1可寫成矩陣跡的形式,如下:
其中為對角矩陣,其對角線上第i個元素的值為矩陣b的第i行向量的l2範數的倒數,即
其中bi表示矩陣b的第i行
(3)基於l2範數的性質,所述的構建基於聯合稀疏表示的判別分析模型的式子中,第三項λ||x-abtx||2可寫成矩陣跡的形式,如下:
λ||x-abtx||2=λtr(x-abtx)t(x-abtx)
綜合(1)(2)(3),可知:
對於正交的輔助矩陣c,其最優解可通過下式獲得:
其中表示輔助矩陣c的最優解
對進行svd分解:
輔助矩陣c的最優解為上述svd分解得到的矩陣即
對於正交的輔助矩陣a,其最優解可通過下式獲得:
其中表示輔助矩陣a的最優解
對2λxxtb進行svd分解:
輔助矩陣a的最優解為上述svd分解得到的矩陣即
先採用主成分分析pca對歸一化後的灰度訓練圖像矩陣進行降維,得到較低維矩陣以進行更快速的矩陣運算。把所述的降維後的訓練圖像矩陣作為輸入參數x傳遞給步驟c所述的構建基於聯合稀疏表示的判別分析模型,並將標籤矩陣y作為輸入參數,通過如下步驟求解最優投影矩陣b:
(1)初始化
首先初始化a,b,c為任意隨機矩陣;
(2)通過迭代操作,得到最優的投影矩陣b,迭代的具體過程包括:
第一步:先存儲當前第t次迭代的投影矩陣b為bt,判斷bt是否未收斂而且當前迭代步數t小於或等於最大迭代步數tmax,如是,則執行下面步驟;反之,迭代結束;
第二步,更新所述的對角矩陣
第t+1次迭代時,矩陣的對角元素通過下式計算:
第三步,更新所述的對角矩陣
第t+1次迭代時,矩陣的對角元素通過下式計算:
第四步:更新輔助矩陣ct+1,對進行svd分解:
更新
第五步:更新輔助矩陣at+1,對2λxxtbt進行svd分解:
更新
第六步:更新投影矩陣bt+1:
計算第t+1次迭代的投影矩陣b為bt+1,bt+1通過如下式子獲得:
第七步:計算收斂性,通過比較第t次迭代得到的bt與第t+1次得到的bt+1,通過下式計算是否達到收斂,如果未達到收斂則繼續迭代操作,反之迭代結束;
||bt+1-bt||/||bt+1||<ε(其中ε為預定的收斂係數)
(3)對迭代求解得到的最優的投影矩陣bt+1進行歸一化處理:
讓bt+1表示為bt+1=[b1,b2,...,bk],對bt+1的每一列分別進行歸一化處理,如下式:
bi=bi/||bi||(其中bi表示矩陣bt+1的第i列)
計算降維及特徵提取後的人臉特徵矩陣
y=xtbt+1ct+1t
分類
針對特徵提取後的訓練數據集和待認證數據集,使用最近鄰分類器進行判別分類,得出人臉識別結果。
如附圖1所示為本發明的人臉識別方法的流程圖,附圖2是本發明的方法所採用的特徵提取算法的流程圖。按照本發明的方法得到的具體實驗結果如下。
本發明所提供的方法在ar、cmupie人臉庫上進行了實驗驗證。ar人臉資料庫包含了來自126人的4000張彩色圖片。這些圖片在表情、光照、偽裝等方面有諸多變化。本實驗的圖片取自該資料庫的120個人,每個人分別擁有20張圖片,每張圖片歸一化為50×40的灰度圖。對於每一類人臉圖像,隨機選取4張作為訓練樣本,剩下的作為測試樣本,進行10次實驗並計算平均識別率。實驗結果如表1所示。
表1.本發明方法與其他方法的識別率比較
cmupie人臉資料庫總體上包含來自68個人的41368張圖片。本實驗的人臉圖片選取於cmupie的子集(c29),它包含了來自68個人的1632張圖片,這些圖片的區別在於不同的姿勢、光照、表情,每張圖片歸一化為32×32的灰度圖。對於每一類人臉圖像,隨機選取4張作為訓練樣本,剩下的作為測試樣本,進行10次實驗並計算平均識別率。實驗結果如表2所示。
表2.本發明方法與其他方法的識別率比較
由表1與表2的實驗結果可知,本發明的方法比其他方法具有更高的識別性能。由於本發明的方法是基於pca與rr而構造的,故它能保證這兩者方法原本的有效性。另外,與其他方法相比,本發明的方法採用l21範數作正則,能保證投影矩陣的聯合稀疏特性,同時對損失函數採用l21範數約束,使得損失函數在擬合過程中對噪點具有魯棒性,從而提供更好的特徵提取效果。
本發明方法和系統適用於人臉判別分析,除此之外,還可用於步態識別,指紋識別等方面。
本發明的另一目的在於提供一種基於聯合稀疏判別分析的人臉識別系統,該系統用於處理人臉圖片矩陣x=[x1,x2,...,xn]∈rd×n,其中n為訓練樣本個數,d為每個樣本圖片的尺寸;通過將原始的高維數據投影到低維投影矩陣b∈rd×k(k是降維後的圖像尺寸,k≤d)以實現降維與特徵提取,所述人臉識別系統包括:
已知訓練圖像資料庫模塊,用於建立存儲已知身份的人臉訓練圖像的資料庫;
認證資料庫模塊,用於對待檢測身份的人臉檢測和數據採集並建立帶認證的人臉資料庫;
判別分析模塊,用於對待認證的人臉數據與訓練數據進行特證提取並構建基於聯合稀疏表示的判別分析模型;
識別結果模塊,利用判別分析模塊中特徵提取後的訓練數據與待認證的數據,並結合對應的標籤信息,使用最近鄰分類器進行判別分析計算人臉識別的結果。
所述人臉訓練圖像的資料庫的建立包括:
採集單元,用於從人臉採集器上採集彩色或者黑白圖片;
圖片處理單元,用於對人臉資料庫中的所有圖片進行歸一化處理;
轉換矩陣單元,用於將所述圖片按照原來比例轉換成40*40的灰度圖,並將所述灰度圖轉成二維矩陣。
所述判別分析模塊中構建基於聯合稀疏表示的判別分析模型的函數式為:ata=i,ctc=i,其中,y∈rn×c為標籤矩陣,b∈rd×k為投影矩陣,c∈rc×k、a∈rd×k為正交的輔助矩陣;n為訓練樣本個數,c為所有圖片的類別數,d為每個樣本圖片的尺寸,即每張圖片的特徵個數,k為特徵提取的特徵個數;γ,λ代表預定係數,||·||2,1,||·||分別表示l21範數與l2範數,t表示轉置運算;
對於所述正交的輔助矩陣c,其函數式:其通過其中表示輔助矩陣c的最優解對進行svd分解:
輔助矩陣c的最優解為上述svd分解得到的矩陣
對於所述正交的輔助矩陣a,其函數式:其通過其中表示輔助矩陣a的最優解對2λxxtb進行svd分解:
輔助矩陣a的最優解為上述svd分解得到的矩陣
對歸一化處理後的灰度訓練圖像矩陣進行降維,得到較低維矩陣以進行更快速的矩陣運算,所述的降維後的訓練圖像矩陣作為輸入參數x傳遞給判別分析模塊所述的構建基於聯合稀疏表示的判別分析模型,並將標籤矩陣y作為輸入參數,求解最優投影矩陣b的包括:
初始化單元,用於初始化a,b,c為任意隨機矩陣;
迭代單元,用於通過迭代操作,得到最優的投影矩陣b;
歸一化單元,用於對迭代求解得到的最優的投影矩陣bt+1進行歸一化處理;
所述迭代單元包括:
判斷模塊,用於先存儲當前第t次迭代的投影矩陣b為bt,判斷bt是否未收斂而且當前迭代步數t小於或等於最大迭代步數tmax,如是,則執行下面步驟;反之,迭代結束;
對角矩陣更新模塊,用於更新對角矩陣和對角矩陣其函數分別為:
輔助矩陣一更新模塊,用於更新輔助矩陣ct+1,對進行svd分解;其函數為:更新
輔助矩陣二更新模塊,用於更新輔助矩陣at+1,對2λxxtbt進行svd分解:其函數為:更新
投影矩陣更新模塊,用於更新投影矩陣bt+1;其函數為:
計算模塊,用於計算收斂性,通過比較第t次迭代得到的bt與第t+1次得到的bt+1,通過||bt+1-bt||/||bt+1||<ε計算是否達到收斂,如果未達到收斂則繼續迭代操作,反之迭代結束;其中ε為預定的收斂係數。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。