本發(fā)明屬于數(shù)字圖像處理及模式識別技術領域,特別是一種基于改進LDP的人臉識別方法。
背景技術:
人臉識別技術指的是利用計算機檢測目標圖像,定位人臉,提取出有效的識別信息,匹配既有標準人臉庫,獲取人臉身份的一門技術,現(xiàn)已成為人們工作和生活中常用的身份鑒別手段之一。人臉識別技術應用的日益廣泛與深入對具體方法解決光照、姿態(tài)、表情變化的能力提出了更高要求,因此對人臉識別方法的繼續(xù)研究是有必要的。
人臉識別技術主要包括人臉特征提取、維數(shù)約簡和特征分類三個步驟。一般我們以提取有效的人臉特征作為關鍵步驟,其有效性將直接影響到人臉識別的結果。人臉特征可以分為全局特征和局部特征兩類:全局特征方法反映的是人臉的整體屬性,主流的全局特征方法包括主成分分析法(PCA),線性判別分析法(LDA)及獨立分量分析法(ICA)等。局部特征方法側重于提取人臉的細節(jié)特征,基于局部特征的識別方法包括局部特征表示(LFA)、局部二值模式(LBP)、局部方向模式(LDP)等。局部特征對人臉的光照、表情和遮擋等變化不敏感,因此基于局部特征的提取方法相對于基于全局特征的提取方法具有更好的魯棒性,在近些年來得到了更多的關注與研究。
局部二值模式(LBP)是一種能夠有效描述圖像局部信息的紋理特征的算子,由T.Ojala等人于1996年提出。LBP算法實現(xiàn)簡單,對于一致性光照變化不敏感,但是對隨機噪聲與非一致性光照變化的圖像表示效果不理想。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種計算速度快、魯棒性好的基于改進LDP的人臉識別方法,以提高人臉識別成功率。
實現(xiàn)本發(fā)明目的的技術解決方案為:一種基于改進LDP的人臉識別方法,包括如下步驟:
步驟1,將待識別人臉圖像轉換為相同大小規(guī)格的灰度圖像;
步驟2,將步驟1所得人臉灰度圖像切割成相同大小的子區(qū)域;
步驟3,采用改進LDP方法,提取人臉灰度圖像切割出來的所有子區(qū)域的改進LDP特征值,得到改進LDP分塊圖像;
步驟4,對各個改進LDP分塊圖像,融入結構對比信息進行分塊加權;
步驟5,根據(jù)每一個子區(qū)域的加權LDP特征值,抽取該子區(qū)域的改進LDP直方圖特征;
步驟6,將各個子區(qū)域的改進LDP直方圖特征,整合為一個整體用以表示人臉圖像;
步驟7,對已知人臉庫中的所有人臉圖像進行上述步驟1~6的處理,得出已知人臉庫中的所有人臉整體的改進LDP直方圖特征;
步驟8,抽取待識別人臉圖像的改進LDP直方圖特征向量,與所有候選圖像的特征向量作比較,計算卡方距離,選取最小值所在的人臉圖像作為匹配人臉。
進一步地,步驟3所述采用改進LDP方法,提取人臉灰度圖像切割出來的所有子區(qū)域的改進LDP特征值,得到改進LDP分塊圖像,具體如下:
在初始處理階段將以目標像素點為中心的3×3矩陣塊與Kirsch算子進行運算,將得到的八個值作為周圍鄰接點的灰度值,用mi表示,i=0,1,...,7,然后將該8個值中最大k個值賦值為1,其余8-k個值賦值為0,從而得到一個八位二進制數(shù),轉換為十進制數(shù)后表示中心像素點的灰度值,作為改進LDP特征值,該過程可以用如下公式表示:
其中,xLDP′(k)為目標像素點的改進LDP特征值,mk為mi中最大的k個值;
對切割出的各個子區(qū)域分別進行上述操作,作為各個子區(qū)域中每一個像素點的改進LDP特征值。
進一步地,步驟4所述對各個改進LDP分塊圖像,融入結構對比信息進行分塊加權,具體如下:
對每一個子區(qū)域以像素點為單位首先進行如下操作:
其中,mi指對于以每一個像素點為中心的3×3矩陣,該像素點的8個鄰接點經(jīng)過Kirsch算子運算后得到的灰度值;指mi的平均值;
根據(jù)每個子區(qū)域中所有的像素點,得到各個分割后的子區(qū)域的結構對比信息,公式如下:
對于一個子區(qū)域,認為每一像素點為一最小單位,xLDP′(r,c)表示第r行第c列的像素點的改進LDP特征值;src指的是一個像素點的改進LDP編碼的結構對比信息;si為考慮了該子區(qū)域中所有像素點的結構對比信息后,該子區(qū)域的整體權重值;M、N為子區(qū)域像素的行數(shù)與列數(shù)。
進一步地,步驟5所述根據(jù)每一個子區(qū)域的加權LDP特征值,抽取該子區(qū)域的改進LDP直方圖特征,公式如下:
其中,H(τ)表示灰度值為τ時在直方圖上的柱高,從而用該直方圖表示出一個子區(qū)域中所有像素點的改進LDP特征值;xLDP′(r,c)表示第r行第c列的像素點的改進LDP特征值;M、N為子區(qū)域像素的行數(shù)與列數(shù)。
進一步地,步驟8所述抽取待識別人臉圖像的改進LDP直方圖特征向量,與所有候選圖像的特征向量作比較,計算卡方距離,選取最小值所在的人臉圖像作為匹配人臉,公式如下:
其中,H1、H2分別是訓練樣本改進LDP直方圖和測試樣本改進LDP直方圖,i表示圖像子區(qū)域編號,j表示子區(qū)域中包含的特征直方圖數(shù)目,為訓練樣本中第i個子區(qū)域的第j個改進LDP直方圖,為測試樣本中第i個子區(qū)域的第j個改進LDP直方圖,si為考慮了該子區(qū)域中所有像素點的結構對比信息后,該子區(qū)域的整體權重值。
本發(fā)明與現(xiàn)有技術相比,其顯著優(yōu)點為:(1)基于結構對比信息的加權處理,人臉識別成功率高;(2)利用直方圖進行計算與判斷,識別速度快;(3)對噪聲的魯棒性更好,可以更有效地應用于人臉識別領域。
附圖說明
圖1是本發(fā)明基于改進LDP的人臉識別方法的流程示意圖。
圖2是8個Kirsch算子示意圖。
圖3是LDP算法編碼過程演示圖。
圖4是改進LDP算法編碼過程演示圖。
具體實施方式
下面結合附圖與具體實施方式對本發(fā)明作進一步詳細描述。
結合圖1,本發(fā)明基于改進LDP的人臉識別方法,其特征在于,包括如下步驟:
步驟1,將待識別人臉圖像轉換為相同大小規(guī)格的灰度圖像;
步驟2,將步驟1所得人臉灰度圖像切割成相同大小的子區(qū)域;
步驟3,采用改進LDP方法,提取人臉灰度圖像切割出來的所有子區(qū)域的改進LDP特征值,得到改進LDP分塊圖像,具體如下:
在初始處理階段將以目標像素點為中心的3×3矩陣塊與Kirsch算子進行運算,將得到的八個值作為周圍鄰接點的灰度值,用mi表示,i=0,1,...,7,然后將該8個值中最大k個值賦值為1,其余8-k個值賦值為0,從而得到一個八位二進制數(shù),轉換為十進制數(shù)后表示中心像素點的灰度值,作為改進LDP特征值,該過程可以用如下公式表示:
其中,xLDP′(k)為目標像素點的改進LDP特征值,mk為mi中最大的k個值;
對切割出的各個子區(qū)域分別進行上述操作,作為各個子區(qū)域中每一個像素點的改進LDP特征值。
步驟4,對各個改進LDP分塊圖像,融入結構對比信息進行分塊加權,具體如下:
對每一個子區(qū)域以像素點為單位首先進行如下操作:
其中,mi指對于以每一個像素點為中心的3×3矩陣,該像素點的8個鄰接點經(jīng)過Kirsch算子運算后得到的灰度值;指mi的平均值;
根據(jù)每個子區(qū)域中所有的像素點,得到各個分割后的子區(qū)域的結構對比信息,公式如下:
對于一個子區(qū)域,認為每一像素點為一最小單位,xLDP′(r,c)表示第r行第c列的像素點的改進LDP特征值;src指的是一個像素點的改進LDP編碼的結構對比信息;si為考慮了該子區(qū)域中所有像素點的結構對比信息后,該子區(qū)域的整體權重值;M、N為子區(qū)域像素的行數(shù)與列數(shù)。
步驟5,根據(jù)每一個子區(qū)域的加權LDP特征值,抽取該子區(qū)域的改進LDP直方圖特征,公式如下:
其中,H(τ)表示灰度值為τ時在直方圖上的柱高,從而用該直方圖表示出一個子區(qū)域中所有像素點的改進LDP特征值;xLDP′(r,c)表示第r行第c列的像素點的改進LDP特征值;M、N為子區(qū)域像素的行數(shù)與列數(shù)。
步驟6,將各個子區(qū)域的改進LDP直方圖特征,整合為一個整體用以表示人臉圖像;
步驟7,對已知人臉庫中的所有人臉圖像進行上述步驟1~6的處理,得出已知人臉庫中的所有人臉整體的改進LDP直方圖特征;
步驟8,抽取待識別人臉圖像的改進LDP直方圖特征向量,與所有候選圖像的特征向量作比較,計算卡方距離,選取最小值所在的人臉圖像作為匹配人臉,公式如下:
其中,H1、H2分別是訓練樣本改進LDP直方圖和測試樣本改進LDP直方圖,i表示圖像子區(qū)域編號,j表示子區(qū)域中包含的特征直方圖數(shù)目,為訓練樣本中第i個子區(qū)域的第j個改進LDP直方圖,為測試樣本中第i個子區(qū)域的第j個改進LDP直方圖,si為考慮了該子區(qū)域中所有像素點的結構對比信息后,該子區(qū)域的整體權重值。
實施例1
本發(fā)明提出的基于改進LDP的人臉識別方法,基于以下步驟:
1、將待識別人臉圖像轉換為相同大小規(guī)格的灰度圖像;
按照一般人臉庫的標準,將所有的人臉圖像調整到100×100的大小。
2、將人臉圖像切割成相同大小的子區(qū)域;
人臉圖像會被切割成4×4相同大小的子區(qū)域。
3、采用改進LDP方法提取人臉圖像所切割出來的所有子區(qū)域的改進LDP特征值;
局部二值模式(LBP)算法以目標像素點為圓心,R為半徑,提取出目標點的P個鄰接點,再以該點像素值為閾值,通過式(1)和式(2)計算得到該點的P位二進制編碼:
這里gc表示中心點的像素值,gp表示以gc為圓心、R為半徑的P鄰接值。在本方法中選取P=8,R=1,即3×3模塊LBP作為后續(xù)算法改進的前提條件。
局部方向模式(LDP)算法參照LBP編碼方式,通過對比像素點在不同方向上的邊緣返回值計算得到八位二進制編碼,通常選取Krisch掩模來計算像素點的八方向邊緣返回值,八方向Krisch掩模集合{G0~G7}如圖2所示。
獲取目標像素為中心的八個鄰接像素值,分別與八方向Kirsch掩模運算得到新的八鄰接像素值,稱為八方向邊緣返回值|mi|(i=0,1,...,7)。然后選取k個最大絕對值數(shù)作為主要特征,并且將這k位賦值為1,其余(8-k)位賦值為0,最后將這8個數(shù)按照一定順序組成一個八位二進制數(shù),再將其轉換為十進制數(shù)。如圖3所示。該過程可以用如下公式表示(其中|mk|為|mi|中最大的k個值):
本發(fā)明中所使用的改進LDP算法,在初始處理階段將以目標像素點為中心的3×3矩陣塊與Kirsch算子進行運算,將得到的八個值作為周圍鄰接點的灰度值,用mi(i=0,1,...,7)表示然后將該8個值中最大k個值賦值為1,其余(8-k)個值賦值為0,從而得到一個八位二進制數(shù),將其轉換為十進制數(shù)后以此表示中心像素點的灰度值,作為其改進LDP特征值,如圖4所示。該過程可以用如下公式表示:
在本方法中取k=3時得出的結果作為所需要的改進LDP特征值。xLDP′(k)指目標像素點的改進LDP特征值(此時為二進制),mk為mi中最大的k個值。
對切割出的各個子分塊分別進行上述操作,作為各個子區(qū)域中每一個像素點的改進LDP特征值。
4、對各個改進LDP分塊圖像,融入結構對比信息來進行分塊加權;
在編碼時,LDP編碼包含了局部結構分布信息,將低對比結構和高對比結構的像素點分布同等對待。為了突出不同的人臉區(qū)域對于人臉識別結果的影響,對原人臉圖像分割出的這4×4個分塊圖像融入結構對比信息來進行分塊加權。分割后得到的4×4分塊,對每一個子區(qū)域以像素點為單位首先進行如下操作:
其中mi指對于以每一個像素點為中心的3×3矩陣,該像素點的8個鄰接點經(jīng)過Kirsch算子運算后得到的灰度值。
利用如下計算公式由每個子區(qū)域中所有的像素點來得到各個分割后的子區(qū)域的結構對比信息:
對于一個子區(qū)域,認為每一像素點為一最小單位,xLDP′(r,c)表示第r行第c列的像素點的改進LDP特征值。src指的是一個像素點的改進LDP編碼的結構對比信息,si對應考慮了該分塊中所有像素點的結構對比信息后,該分塊的整體權重值,由于取4×4分割,在本方法中M=25,N=25。
5、利用經(jīng)過步驟3)與步驟4)后得到的每一個分塊的加權LDP特征值抽取該分塊的改進LDP直方圖特征;
具體操作方式可以表示為下面的公式:
H(τ)表示灰度值為τ時在直方圖上的柱高,從而用該直方圖表示出一個字分塊中所有像素點的改進LDP特征值。
6、整合(拼接)各個分塊的改進LDP直方圖特征為一個整體用以表示人臉圖像;
7、對已知人臉庫中的所有人臉圖像進行上述步驟1)-6),得出已知人臉庫中的所有人臉的整體的改進LDP直方圖特征;
8、抽取待識別人臉圖像的改進LDP直方圖特征向量與所有候選圖像的特征向量作比較,計算卡方距離,選取最小值所在的人臉圖像作為匹配人臉;
本文選取卡方距離來計算兩兩圖像之間的相似度。進行人臉匹配識別時,抽取測試圖像的LDP直方圖特征向量與所有候選圖像的特征向量作比較,計算卡方距離,選取最小值所在的人臉圖像作為匹配人臉,該操作過程可以表示為下面的公式:
其中H1、H2分別是訓練樣本改進LDP直方圖和測試樣本改進LDP直方圖,i表示圖像分塊號,j表示分塊區(qū)域中包含的特征直方圖數(shù)目(本方法中j=1)。
本發(fā)明基于C++語言,分別利用YALE標準人臉庫、ORL標準人臉庫進行測試,正確識別率分別為92.59%及81.42%。