楊恢先,劉建,張孟娟,周彤彤
如何充分提取圖像紋理特征是人臉識別技術(shù)的核心[1-2]。一般,人們習(xí)慣將紋理特征分成全局特征[3-5]與局部特征兩大類。全局特征由于描述的是整個人臉圖像特征,包括顏色、紋理和形狀特征,會有大量的冗余信息。局部特征是指用一些特征點來簡單有效地表示人臉特征信息,具有對遮擋情況良好的穩(wěn)定性和對背景與前景的可區(qū)分性。局部二值模式 (local binary pattern,LBP)[6]是最常見和最有效的人臉特征提取方法之一,但對光照和噪聲變化比較敏感,識別效果還不理想,之后涌現(xiàn)出很多新的改進方法[7-11]。Jabid等[12]于2010年提出了局部方向模式算法,即LDP(local directional pattern)算法,是在LBP特征圖的基礎(chǔ)上,與Kirsch算子卷積得到的人臉特征信息,表現(xiàn)出對光照和噪聲較強的魯棒性,由于特征模式數(shù)還比較大,加上卷積所耗費的時間,LDP算法識別時間會很長。之后不斷出現(xiàn)一些新的改進算法[13-22],比如:2105年朱明旱[16]提出的改進局部方向數(shù)字模式(improved local directional number pattern,ILDN)的算法,是一種采用16鄰域和24鄰域兩種邊緣模板的局部方向模式,雖然識別效果有所改善,但多尺度多半徑特征提取,卷積次數(shù)明顯增加,大量增加了訓(xùn)練時間;吳迪等[17-18]提出顯著型局部方向模式(significance local directional pattern,SLDP)和顯著型局部方向差值模式(significance difference local directional pattern,SDLDP)算法,需要對兩組編碼進行求和取平均,這樣會造成區(qū)分度降低;2015年Rivera等[19]提出LDTP(local directional texture pattern)算法,將原始空間采用中心對稱方式提取方向信息,在強度空間提取最大邊緣響應(yīng)值,雖然人臉特征信息會增加,但原始空間的方向會導(dǎo)致算法的不穩(wěn)定性增加;2015年李照奎等[20]在LDP基礎(chǔ)上提出差值局部方向模式 (DLDP)算法,來提取相鄰卷積后的人臉灰度值之間的特征信息,引出了差值空間的新思路,相比LDP的強度空間,表現(xiàn)出對光照、噪聲、遮擋更強的魯棒性;但按照LDP編碼方式,不僅特征模式數(shù)較高,而且只單一地考慮近鄰邊緣響應(yīng)值之間的強度變化,會造成特征提取不充分;2018年Khadiri[21]提出3值模式LDTP (local directional ternary pattern)的算法,由于會選擇一個固定的閾值,不同情況下,閾值會有波動,算子的適用性不強;王曉華等[22]于2016年提出梯度中心對稱局部方向模式(GCS-LDP)算法,采用的方式是提取方向信息和人臉強度信息,但在強度空間上編碼時,采取中心對稱作差的方式,提取的方向信息會造成編碼不穩(wěn)定。
本文提出一種雙差值局部方向模式(DDLDP)人臉表示方法。首先,利用作差運算減少光照和噪聲等外界影響因素對像素值產(chǎn)生的影響,因為影響因子對相鄰像素點的影響是連續(xù)的,相鄰之間像素值作差正好可以相互抵消一部分外界因素的影響,但還不夠。通過不同半徑領(lǐng)域像素值之間的差值和同一半徑領(lǐng)域像素值之間的差值運算,選取兩個運算差值中的最大值,外界因素造成兩個最大差值的變化相比兩個最大差值本身固有的變化,基本可忽略不計,從而達到減少噪聲和光照對其的影響。其次,雙差值運算不僅提取了相鄰卷積后的人臉灰度值之間的內(nèi)在梯度信息,而且提取了相鄰不同半徑人臉灰度響應(yīng)值之間的外在方向信息,內(nèi)在梯度信息和外在方向信息的結(jié)合使提取的人臉特征更加豐富。最后,由于編碼值是2位8進制數(shù),模式數(shù)為64,相比DLDP算法,特征維度將會減少。
為了提取更多細(xì)節(jié)的人臉信息,DLDP算法是在LDP算法基礎(chǔ)上,通過計算近領(lǐng)邊緣響應(yīng)值之間的強度變化,揭示了圖像潛在的結(jié)構(gòu)信息,本質(zhì)上是強度空間到梯度空間人臉信息的一種跨越,使人臉特征信息得到更充分的提取。具體步驟如下。
1)將圖像3×3子領(lǐng)域I與8個Kirsch算子卷積,得到相應(yīng)8個方向的邊緣響應(yīng)(i=0, 1, ···, 7),表達式為
4)圖1給出了k=3時,計算DLDP碼的一個實例。
圖1 DLDP碼計算例子(k=3)Fig. 1 An example of calculating DLDP code(k=3)
DLDP算法是對LDP算法存在問題的一種改進算法,本質(zhì)上揭示了像素塊之間內(nèi)在關(guān)系,雖然相鄰像素值之間作差可以減少對光照、噪聲的影響,但作用有限,人臉特征提取本質(zhì)沒有很大的變化,人臉特征提取還不夠充分,識別效果還不夠好,模式數(shù)較大。本文提出的DDLDP算法,考慮了不同半徑邊緣響應(yīng)值之間的外在方向關(guān)系,把邊緣響應(yīng)值之間內(nèi)在關(guān)系和外在關(guān)系結(jié)合,使人臉特征得到更加充分的提取,并且減少了人臉的特征維度,縮短了識別時間,降低了光照和噪聲對人臉的影響。DDLDP算法原理如圖2所示。
圖2 DDLDP算法原理Fig. 2 DDLDP algorithm principle diagram
DDLDP算法具體步驟:首先,將半徑為1的3×3領(lǐng)域人臉灰度值與同樣大小半徑的Kirsch算子進行卷積。同理,將半徑為2的5×5領(lǐng)域人臉灰度值與卷積,分別得到兩組人臉灰度卷積值和(i, j=0, 1, ···, 7)。如圖3所示列舉了其中正東方向不同半徑的Kirsch算子。
圖3 正東方向的不同大小的Kirsch模板算子Fig. 3 East of different sizes of Kirsch template operator
計算方法見式(5)、(6)
可得,DDLDP碼模式數(shù)為64。圖4所示詳細(xì)地展示了DDLDP算法編碼流程。
圖4 DDLDP碼計算Fig. 4 Example of calculating DLDP cod
DDLDP是對DLDP算法的一種改進算法,其采用的雙差值運算不僅表現(xiàn)對光照和噪聲更強的魯棒性,而且人臉特征得到更加充分的提取。證明過程如下。首先,假設(shè),,;由式(7)、(8)得:,;外界因素對其影響:,,;同理,由式(7)、(8)得:,。
雙差值運算既提取了相鄰人臉灰度響應(yīng)值之間的內(nèi)在梯度信息,也提取了相鄰不同半徑人臉灰度響應(yīng)值之間的外在方向信息。圖5具體展示了特征提取圖和人臉直方圖。由圖5可知,DDLDP算法的特征提取圖紋理輪廓更加清晰,人臉提取更加充分;DDLDP算法直方圖數(shù)據(jù)分布波動更小,表現(xiàn)出對噪聲和光照等外界因素的魯棒性;并且DDLDP算法的特征模式數(shù)為64,相比DLDP和LDP算法,特征維度更小。
圖5 LDP、DLDP、DDLDP算法特征提取圖Fig. 5 Feature extraction of LDP, DLDP and DDLDP algorithm
DDLDP人臉識別算法流程圖見圖6,具體步驟描述如下。
1)對人臉庫進行預(yù)處理,最主要是對人臉以眼部為中心進行裁剪,以提取有效的人臉部分I。
2)對預(yù)處理后的人臉圖像采用DDLDP算法進行特征提取。DDLDP算法具體編碼方式見1.2節(jié)。
3)因為不同的分塊有不同的識別效果,所以對每一張圖像進行分塊處理。本文對人臉圖像進行從塊行大小1~13、塊列大小1~13的循環(huán)分塊,并從中選擇最佳分塊方式。每一個子塊用符號表示,其中,x,y[1,13]。
4)考慮到人臉不同部位的特征信息不同,計算出圖像每個子塊各像素點的局部信息熵,計算方法見公式(12)。
式中:Pi表示第i個灰度級出現(xiàn)的概率,i[0,63]。
圖6 DDLDP算法流程圖Fig. 6 DDLDP algorithm flow chart
5)根據(jù)分塊后每個像素點的局部信息熵的熵值,計算出分塊子圖的貢獻度即權(quán)值。計算方法見式(13):
6)將所有分塊的統(tǒng)計直方圖特征信息串接,融合成一個直方圖。計算方法見式(14):
7)再通過PCA[4]對特征向量進行降維處理。
8)最后,通過Chi平方統(tǒng)計[23]分類識別,求得識別率。計算方法見式(15):
式中:j表示對應(yīng)第幾個子塊;SH*和MH*分別代表測試與訓(xùn)練樣本待比較的特征向量。對于卡方而言,匹配度越高,距離越小,則卡方值越低,同理,反之。
對YALE人臉庫、ORL人臉庫和AR人臉庫進行相關(guān)實驗。耶魯大學(xué)創(chuàng)建的YALE人臉庫有15個志愿者,共165張圖像,圖片大小為100×100。選擇的人臉情況為不同的光照、不同的表情和不同遮擋等。ORL人臉庫有40個人,每個人10幅圖像,共400幅人臉圖像,其人臉表情、細(xì)節(jié)、姿態(tài)、年齡、性別、種族等均有變化,圖片的大小為112×92。美國普渡大學(xué)的AR人臉庫來自126個人,該人臉庫分為姿態(tài)(不同笑的程度)、光照(不同光照方向和大小)、遮擋A(戴眼鏡)和遮擋B(帶圍巾)等4種變化。具體人臉庫圖片如圖7所示。
圖7 部分 YALE、ORL、AR人臉庫Fig. 7 Partial YALE, ORL, AR face database
因為人臉特征信息分布不均勻,所以對人臉進行不同的分塊會有不同的識別效果,分塊數(shù)太少會有大量的信息冗余,分塊數(shù)太多會丟失人臉特征的空間信息,這都會導(dǎo)致人臉識別效果不佳。所以對圖像進行處理后,為了選擇出最佳識別率,本文對人臉圖像進行從塊行大小1~13、塊列大小1~13的循環(huán)分塊。其中,在YALE和ORL庫上隨機抽取每個人3張圖片構(gòu)成訓(xùn)練集,在AR庫上都選第1張構(gòu)成訓(xùn)練集,剩下的構(gòu)成測試集。最終識別率由重復(fù)實驗50次的平均值來表示,再選擇最合適的分塊方式,具體實驗結(jié)果如圖8所示。由圖8可知,在YALE庫中,當(dāng)行分塊固定不變,列分塊3~10時,識別效果最佳,呈現(xiàn)中間高,兩端低的變化情況;當(dāng)列分塊固定不變,行數(shù)7~13時,識別率最好,呈現(xiàn)前段低,后端高的情況,獲得最高識別率的分塊大小為11×10(行分塊數(shù)為 11,列分塊數(shù)為10)。在ORL庫中,當(dāng)行分塊固定不變,列分塊1~4時,基本上識別率快速增加,列分塊5~13時識別率緩慢下降;當(dāng)列分塊固定不變時,除行分塊數(shù)為1時,識別率較差外,其他分塊識別效果呈波動變化,ORL人臉庫上獲得最高識別率的分塊方式為7×4;同理,AR表情集、光照集、遮擋A和遮擋B獲得最高識別率的分塊方式分別為4×11、6×8、7×5 和 13×10。
圖8 YALE、ORL和AR人臉庫識別率Fig. 8 YALE, ORL and AR face database recognition rates
為了體現(xiàn)DDLDP算法的優(yōu)勢,選擇如下算法進行對比:LDP[12]、LDN[14]、CSLDP[15]、SDLDP[18]、 LDTP[19]、 DLDP[20]、GCSLDP[22]。在YALE庫上訓(xùn)練樣本為4時,LDP、DLDP和SDLDP對應(yīng)最佳分塊為13×13,GCSLDP和LDN對應(yīng)的最佳分塊為12×13,LDTP對應(yīng)最佳分塊為13×12,CSLDP對應(yīng)最佳分塊為11×11。在ORL庫上訓(xùn)練樣本為4時,LDP、DLDP、GCSLDP、SDLDP對應(yīng)最佳分塊為6×3,LDTP對應(yīng)最佳分塊為7×3,LDN對應(yīng)最佳分塊為5×3,CSLDP對應(yīng)最佳分塊為7×2;同樣在AR人臉庫中各算法都取對應(yīng)最佳分塊情況下的實驗結(jié)果,YALE和ORL人臉庫訓(xùn)練樣本數(shù)為2~4,分別如表1~3所示。
表1 各種算法在YALE庫識別率的對比Table 1 Contrast in YALE library identification algorithm %
表2 各種算法在ORL庫識別率的對比Table 2 Contrast in ORL library identification algorithm %
表3 各種算法在AR庫識別率的對比Table 3 Contrast in AR library identification algorithm %
由表 1~3可得,在 YALE、ORL、AR 人臉庫上,對比 LDP、LDN、CSLDP、DLDP、SDLDP、LDTP和GCSLDP算法,DDLDP算法識別率最高。特別是在AR庫遮擋情況下,DDLDP算法明顯高于其他算法。所以在姿態(tài)、光照、表情和遮擋情況下,所提方法具有更強的識別能力。LDP、LDN和CSLDP算法,利用與8個Kirsch算子卷積,得到8個方向的邊緣響應(yīng)值,只是編碼方式不同,在提取人臉信息方面,單一地利用了梯度空間原始信息。DLDP算法利用與8個Kirsch算子卷積,得到8個方向的邊緣響應(yīng)值,然后,將近鄰邊緣響應(yīng)值之間相應(yīng)作差,在提取人臉信息方面,單一地利用了相鄰邊緣鄰域梯度差空間信息。SDLDP算法利用DLDP差值運算的思想對井型領(lǐng)域的特征提取方式進行改進,但對兩組梯度值取平均,編碼區(qū)分度會降低。LDTP算法是原始灰度空間采用中心對稱方式提取方向信息,在強度空間提取最大邊緣響應(yīng)值,雖然人臉特征信息會增加,但原始空間的方向會導(dǎo)致算法的不穩(wěn)定性因素增加。GCSLDP算法先對8個邊緣響應(yīng)值采用CSLDP算法編碼方式,再選取邊緣響應(yīng)值中最大值,雖然利用了梯度空間信息和梯度差空間信息,但只是考慮像素鄰域內(nèi)在的空間信息,沒有考慮不同鄰域半徑像素值之間的外在空間信息。DDLDP算法既考慮卷積后相鄰人臉灰度響應(yīng)值之間的內(nèi)在空間梯度信息,又考慮不同半徑相鄰人臉灰度值響應(yīng)之間的外在空間方向信息,使人臉特征信息得到進一步的提取,所以在人臉識別效果上高于其他算法。
為了驗證DDLDP 算法的抗噪性,選擇在ORL人臉庫進行噪聲實驗,選擇均值為0的高斯白噪聲作為噪聲模型。其實驗噪聲的大小從0開始每次增加0.000 1,增加5次,對比實驗效果。噪聲ORL人臉庫具體操作同3.2節(jié)。為了直觀體現(xiàn)DDLDP算法的抗噪性,本文引入式(16)來表示算法識別率下降速度。
式中:x表示原本的識別率;y表示加噪聲后的識別率;α表示加入噪聲后,各算法識別率的下降比例。α越小,表示抗噪能力越強;反之,α越大,表示抗噪能力越弱。加噪聲后,各算法識別率結(jié)果見表4所示。由表4可得,在噪聲實驗中,隨著高斯白噪聲歸一化方差逐漸增大,當(dāng)高斯白噪聲歸一化方差增大到0.000 5時,對比LDP、LDN、CSLDP、DLDP、SDLDP、LDTP、GCSLDP、DDLDP算法,DDLDP算法的δ值最小,體現(xiàn)本文算法對噪聲更強的魯棒性。且在噪聲條件下,相比其他算法,DDLDP算法的識別率一直最高,具有更強的抗噪性。
表4 各種算法在ORL庫實驗結(jié)果的對比Table 4 Contrast in ORL library identification algorithm %
針對差值局部方向模式(DLDP)特征提取不夠充分和對光照、噪聲敏感的問題,本文提出的雙差值局部方向模式人臉識別方法相比其他算法,DDLDP算法通過雙作差運算不僅提取了相鄰卷積后的人臉灰度值之間的內(nèi)在空間梯度信息,而且提取了相鄰不同半徑人臉像素點之間的外在方向信息,邊緣響應(yīng)值之間內(nèi)在關(guān)系與外在關(guān)系的結(jié)合使人臉特征得到了更充分的提取。在YALE、ORL、AR人臉庫上,DDLDP算法均取得了較高的識別效果。在噪聲實驗中,DDLDP算法也表現(xiàn)出更強的魯棒性,證明了該算法的有效性。接下來的工作是研究不相鄰邊緣響應(yīng)值對識別率的影響。