LDP 算法是將與Kirsch 算子運(yùn)算后得到的一些負(fù)值的鄰域灰度值作為中心灰度值的編碼因子,這將會(huì)導(dǎo)致中心灰度值不能很好的反映鄰域局部特征信息,從而降低識別率。針對于此,本文提出了一種改進(jìn)的局部定向模式(CLDP)算法。該算法在LDP 的基礎(chǔ)上,去掉鄰域灰度值為負(fù)值的因子,對中心灰度值進(jìn)行重新編碼,由于該編碼值是將與Kirsch 算子運(yùn)算后的正值最大值作為圖像邊緣輸出,使中心灰度值能很好反映鄰域的局部特征信息,從而提高人臉的識別率。本文還將提出的CLDP 算法用在YALE,ORL,JAFFE 等人臉數(shù)據(jù)庫中進(jìn)行人臉識別。從實(shí)驗(yàn)的結(jié)果表明,該方法識別性能較LDP算法,LDN 算法以及ELDP 算法等更好的。
人臉識別系統(tǒng)主要包括四個(gè)模塊:圖像預(yù)處理模塊,圖像特征提取模塊,圖像訓(xùn)練模塊和人臉圖像的識別模塊,其中最主要的核心部分就是圖像特征的提取。好的特征提取算法應(yīng)該滿足不同類別的圖像具有很大差異,同一類別的圖像具有很小差別。到目前為止,特征提取主要包括兩類方法:基于全局特征的提取方法和基于局部特征的提取方法。全局特征是指其特征向量的每一維都包含了人臉圖像上所有部分(甚至所有像素)的信息,它反映的是人臉的整體屬性。基于全局的特征方法主要包括:PCA,LDA,2DPCA,LPP 等 。與全局特征不同的是,局部特征信息的每一維都只對應(yīng)人臉圖像上的一個(gè)局部區(qū)域,它側(cè)重于提取人臉的細(xì)節(jié)特征,基于局部特征的提取方法主要包括:LBP,LGBP,LDP 等 。局部特征對人臉的光照、表情和遮擋等變化不敏感,因此基于局部特征的提取方法相對于基于全局特征的提取方法具有更好的魯棒性,在近些年來得到了更多的研究 。
近年來,LBP 算法因?yàn)槠湓诩y理分析方面的簡單性和優(yōu)越性而得到了越來越多的重視。基本的LBP算子是一種有效的紋理描述符,其通過對中心像素的3×3 鄰域進(jìn)行編碼操作。每個(gè)像素點(diǎn)以其鄰域的中心像素灰度值作為判斷的閾值,將中心像素灰度值與周圍8 鄰域的像素灰度值進(jìn)行比較,如果鄰域像素灰度值大于中心像素灰度值,則將其標(biāo)記為1,否則標(biāo)記為0(對于圖像邊緣的部分,存在一些鄰域點(diǎn)不存在的,編碼時(shí)設(shè)定該鄰域點(diǎn)為0),從而每個(gè)像素點(diǎn)都可以得到一個(gè)8 位的二進(jìn)制數(shù),然后將該8 位二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),該十進(jìn)制數(shù)即為該中心像素點(diǎn)的LBP 值。因?yàn)長BP 編碼的靈活性,LBP 算法可以很容易修改以適應(yīng)其他不同類型問題的需要。為此,文獻(xiàn)[9]提出了幾種改進(jìn)的LBP 算法。LBP 算法對單調(diào)線性的光照有很好的魯棒性,但是其對于隨機(jī)的噪聲和非單調(diào)線性的光照變化非常的敏感。針對此因素,Jabid 等人 提出了魯棒性更好的特征提取方法LDP。LDP 算法和LBP 算法很相似,但它是通過與Kirsch 算子卷積求和后得到了中心像素點(diǎn)的鄰域灰度值 。由于邊緣梯度值比像素灰度值更穩(wěn)定,所以LDP 算法對噪聲的魯棒性更好。基本的LDP 編碼是將最主要的k 個(gè)鄰域灰度值設(shè)為1(即和Kirsch 算子 卷積求和后絕對值的k 個(gè)最大數(shù)),然后將8 個(gè)方向的鄰域值進(jìn)行編碼。這種方法會(huì)將最大的負(fù)數(shù)對應(yīng)的鄰域灰度值設(shè)為1,由于這些負(fù)數(shù)會(huì)干擾局部特征信息的提取,使得編碼后的中心灰度值不能很好反應(yīng)出該位置的局部特征信息,從而會(huì)降低人臉識別率。
針對與LDP 的這個(gè)缺點(diǎn),Zhong Fujin 等人提出一種基于LDP 算法的ELDP(Enhanced Local DirectionalPatterns)算法 ,Adin Ramirez Rivera 等人提出了一種LDN(Local Directional Number Pattern)算法 。ELDP算法是在LDP 算法的基礎(chǔ)之上得到的,首先它將與Kirsch 算子計(jì)算后的八個(gè)方向值進(jìn)行排序,將最大的兩個(gè)正值對應(yīng)的位置設(shè)為1,其他位置設(shè)為0,然后將得到的兩個(gè)位置為1 的序號作為八進(jìn)制的兩位數(shù),再將其轉(zhuǎn)化為十進(jìn)制數(shù)作為該中心點(diǎn)的像素灰度值,即ELDP 值。LDN 算法首先同樣是將與Kirsch 算子運(yùn)算后的8 個(gè)方向值進(jìn)行排序,選取最大的正值和最小的負(fù)值,然后將最大正值對應(yīng)的序號作為八進(jìn)制數(shù)的第1 位,將最小值的序號作為八進(jìn)制數(shù)的第0 位,再將這個(gè)兩位的八進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)作為該中心點(diǎn)的像素灰度值,即LDN 值。
以上對LDP 進(jìn)行改進(jìn)的算法是對8 個(gè)鄰域灰度值的序號進(jìn)行編碼,會(huì)丟失一些特征信息,針對這個(gè)問題,本文提出了一種基于LDP 算法改進(jìn)后的局部定向模式(CLDP)。該算法通過與Kirsch 算子計(jì)算后得到的八個(gè)鄰域灰度值重新進(jìn)行編碼,不對其求絕對值,考慮負(fù)數(shù)的存在,然后將8 個(gè)計(jì)算后的鄰域值進(jìn)行大小判別,將最大的k 個(gè)正值設(shè)為1,其他8-k 個(gè)鄰域值設(shè)為0,再將這8 位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),用該十進(jìn)制數(shù)值作為中心像素點(diǎn)的灰度值,即CLDP 值。CLDP 算法的編碼避免了LDP 算法將運(yùn)算后的鄰域?yàn)樨?fù)值作為編碼因子,同時(shí)也避免了LDN 算法和ELDP 算法將運(yùn)算后的最大鄰域值所對應(yīng)的序號作為編碼因子,這樣CLDP 值能更好的反應(yīng)出該位置的局部特征信息。
本文提出的CLDP 算法用在三個(gè)人臉數(shù)據(jù)庫中分別進(jìn)行識別實(shí)驗(yàn),并和LDP 算法,LDN算法以及ELDP算法進(jìn)行比較。實(shí)驗(yàn)的結(jié)果表明,本文提出的方法具有較其他方法有著更好的識別性能。
1 CLDP 算法
1.1 LDP 算法
基于LBP 算法提出的局部定向模式(LDP),是將一個(gè)3×3 矩陣塊(如下)分別與8 個(gè)Kirsch 算子M0~M7進(jìn)行運(yùn)算后得到的絕對值作為矩形塊周圍的像素灰度值,記為|mi|(i=0,1,…,7),然后選取k 個(gè)最大絕對值數(shù)作為主要特征,并且將這k 位賦值為1,其余(8-k)位賦值為0,如圖1 所示。最后將這8 個(gè)數(shù)按照一定的順序編碼組成一個(gè)八位的二進(jìn)制數(shù),再將其轉(zhuǎn)換為十進(jìn)制數(shù),用這十進(jìn)制數(shù)作為該3×3 矩形塊的中心點(diǎn)的LDP特征值。
2 給出中心點(diǎn)鄰域灰度值具體數(shù)值,用Kirsch 算子對其進(jìn)行LDP 編碼運(yùn)算,當(dāng)k=3 時(shí),如圖所示該中心點(diǎn)x 的LDP 特征值xLDP(k)=(10001001)2=137。
1.2 CLDP 算法
CLDP 算法是基于LDP 算法的一種改進(jìn),其處理的開始部分與LDP 算法相同,也是將3×3 的矩陣塊與Kirsch 算子進(jìn)行運(yùn)算后,將得到的8 個(gè)值作為周圍鄰域的灰度值,然后將這8 個(gè)值中最大k 個(gè)值賦值為1,其余(8-k)個(gè)值賦值為0,從而也可以得到一個(gè)八位的二進(jìn)制數(shù),再將其轉(zhuǎn)換為十進(jìn)制數(shù)用來表示中心像素點(diǎn)的灰度值,即為CLDP 特征值。
,其中mk為mi中最大的k個(gè)值。圖3給出中心點(diǎn)的鄰域灰度值,并對它進(jìn)行CLDP 編碼,則中心點(diǎn)x 的CLDP 值CLDP=(10010001)2=145。
圖4 的原圖像是來自于YALE 人臉庫中的一幅圖片,我們對它分別進(jìn)行LDP 算法和CLDP 算法特征提取,從圖中可以看出CLDP 算法提取特征后的圖像較LDP 算法特征提取后的圖像能更清晰真實(shí)的反映出原圖像的特征信息。
2 基于CLDP 的人臉識別描述
不同的人臉庫對應(yīng)的圖片大小規(guī)格和顏色都不一樣,在進(jìn)行人臉識別時(shí),首先需將人臉庫中的圖片轉(zhuǎn)換成相同大小規(guī)格的灰度圖像。然后再將每一幅灰度圖像轉(zhuǎn)換為一維數(shù)列,這樣一個(gè)人臉庫就可以用一個(gè)二維矩陣數(shù)列來表示,其中每一列代表著一幅圖片。其中CLDP 算法的人臉識別過程如下圖5 所示。
對于同一個(gè)人,我們隨機(jī)選取幾張圖片作為訓(xùn)練圖片,其他的作為測試圖片,這樣可以將原來的人臉數(shù)據(jù)庫的二維矩陣分為一個(gè)訓(xùn)練的二維數(shù)據(jù)庫和測試的二維數(shù)據(jù)庫,然后將這兩個(gè)數(shù)據(jù)庫分別進(jìn)行CLDP算法處理。最后將CLDP 算法處理后訓(xùn)練圖片進(jìn)行PCA 降維處理,將訓(xùn)練圖像和測試圖像的CLDP 特征圖像投影到低維空間中,采用最近鄰方法進(jìn)行分類識別。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 k 值的選取
為了測試不同k 值對識別性能的影響,我們分別在YALE,JAFFE,ORL 人臉數(shù)據(jù)庫中分別進(jìn)行識別實(shí)驗(yàn)。YALE 人臉數(shù)據(jù)庫包含15 個(gè)人,每個(gè)人有11 幅人臉圖像,具有豐富的表情變化。實(shí)驗(yàn)時(shí)我們隨機(jī)選取每個(gè)人的5 幅圖像進(jìn)行訓(xùn)練,另外6 幅進(jìn)行測試;JAFFE 人臉數(shù)據(jù)庫包含有10 個(gè)人,每個(gè)人有7 種表情,每種表情3~4 張圖片,在測試時(shí)我們隨機(jī)選取每個(gè)人20 張圖片進(jìn)行試驗(yàn),試驗(yàn)時(shí)選取每個(gè)人的15張圖片作為測試圖片,另外5 張作為訓(xùn)練圖片;ORL 人臉數(shù)據(jù)庫包含40 個(gè)人,每個(gè)人有10 張不同光照和姿態(tài)下的圖片,在試驗(yàn)時(shí)我們選取每個(gè)人的任意5 張圖像進(jìn)行訓(xùn)練,其余5 張進(jìn)行測試,降維的維數(shù)均選擇為30。由于C81=C87,所以當(dāng)k=1時(shí)和k=7時(shí)識別率是一樣的 ,因此只需要比較k={1,2,3,4}時(shí)分別對應(yīng)的識別率。每一組實(shí)驗(yàn)都是進(jìn)行10 次測試后,選取平均值作為最終的測試數(shù)據(jù)。實(shí)驗(yàn)結(jié)果如表1 所示。由表1 中可以得出三種人臉庫下,當(dāng)k=3 時(shí),CLDP 算法對應(yīng)的人臉識別率最高。
3.2 CLDP 算法和其他算法識別率比較
我們將本文提出的CLDP 算法以及PCA,LDP,LDN,ELDP 算法分別在YALE,JAFFE,ORL 人臉數(shù)據(jù)庫中分別進(jìn)行測試。同實(shí)驗(yàn)3.1 一樣,在YALE 人臉庫中選取測試人數(shù)為6,在JAFFE 中選取測試人數(shù)為15,在ORL 人臉庫中選取測試人數(shù)為5。實(shí)驗(yàn)過程中,設(shè)k 值為3,降維的維數(shù)為30,每一組實(shí)驗(yàn)進(jìn)行10 次,選取平均值作為最終識別結(jié)果。表2 列舉了各種算法在不同的人臉庫下的識別率。
由表2 可以看出不同的人臉庫下,CLDP 算法對人臉的識別率高于其他算法的識別率。
3.3 CLDP 算法魯棒性測試
為了驗(yàn)證CLDP 算法的魯棒性,本文還進(jìn)行了以下兩個(gè)測試,這兩組試驗(yàn)分別都是在YALE,JAFFE和ORL 三個(gè)人臉庫中進(jìn)行的,其k 值都選取為3。第一組測試實(shí)驗(yàn)是在固定降維的維數(shù)為30 的情況下,改變實(shí)驗(yàn)的測試人數(shù)來觀察LDP,ELDP,LDN 和CLDP 四種算法對人臉識別率的影響。在YALE 數(shù)據(jù)庫中將每個(gè)人的測試圖片數(shù)分別選取為5,6,7,8,9;在JAFFE 數(shù)據(jù)庫選擇測試圖片數(shù)為12,13,14,15,16;在ORL 數(shù)據(jù)庫中選取測試圖片數(shù)為4,5,6,7,8。另一組測試實(shí)驗(yàn)是在測試人數(shù)固定的情況下,改變降維的維數(shù)來觀察LDP,ELDP,LDN 和CLDP 算法對人臉識別率的影響。在YALE 人臉庫中,固定測試人數(shù)為7,JAFFE 數(shù)據(jù)庫中固定測試人數(shù)為15,ORL 數(shù)據(jù)庫中測試人數(shù)為5。實(shí)驗(yàn)結(jié)果如圖6,7 所示。
從圖6 中可以看出在降維維數(shù)固定在30 情況下,四種算法的人臉識別率隨著測試人數(shù)的增加而減小,但CLDP 算法的人臉識別雖然在減小,但依然保持著較高的識別率,且減小的幅度也較小。
從圖7 中可以看出在測試人數(shù)固定的情況下,四種算法的人臉識別率隨著維數(shù)的增加而增加,而CLDP算法始終保持著較高的識別率。
由上面的兩圖可以發(fā)現(xiàn),在相同的降維維數(shù)前提下,基于CLDP 算法的人臉識別魯棒性要好于其他算法,同樣,在測試圖像數(shù)相同的前提下,基于CLDP 算法的人臉識別魯棒性也要高于其他算法。
通過以上實(shí)驗(yàn)表明,CLDP 算法對人臉的識別在不同的人臉數(shù)據(jù)庫中都有著很高的識別率,且CLDP算法對人臉的識別率較LDP 算法和改進(jìn)后的LDN 與ELDP 算法都要高,同樣CLDP 算法在測試圖像相同的情況下和在提取特征維數(shù)相同的情況下,魯棒性都高于其他幾種算法。
4 結(jié)論
本文提出了一種基于局部定向模式的CLDP 算法,該算法將與Kirsch 算子運(yùn)算后的正值作為編碼對象,從而提高識別率。實(shí)驗(yàn)表明,該算法在YALE,ORL,JAFFE 等人臉數(shù)據(jù)中都有著很好的識別性能,并且較LDP,LDN 和ELDP 算法有著更高的識別率,同樣CLDP 算法也有著較其他幾種算法更好的魯棒性。
-
編程
+關(guān)注
關(guān)注
88文章
3592瀏覽量
93596 -
人臉識別
+關(guān)注
關(guān)注
76文章
4005瀏覽量
81769 -
LDP
+關(guān)注
關(guān)注
0文章
7瀏覽量
7581
發(fā)布評論請先 登錄
相關(guān)推薦
評論