葉學義,錢丁煒,應娜,王濤
(杭州電子科技大學模式識別與信息安全實驗室,浙江 杭州 310018)
人臉識別因其廣泛的應用領域、非侵入式且便利的采集方式[1],一直是被深入研究但又亟待突破的研究熱點。實際應用中廣泛存在的,諸如光照、遮擋、姿態(tài)、表情等因素,依然是造成識別性能劇烈變化的主要原因,這些因素嚴重影響了人臉特征提取和表征的穩(wěn)定性。因此,尋求解決該問題的關鍵在于如何穩(wěn)定、有效地提取并表征人臉特征,提高人臉識別算法的穩(wěn)健性。其中,有效性是描述特征提取效果好壞的重要指標之一,體現(xiàn)了提取的特征信息對于分類的作用大小,最直觀的表現(xiàn)為識別率的高低。
人臉特征提取的研究主要分為全局特征提取和局部特征[2]提取兩大類。全局特征提取著眼于人臉圖像的整體屬性,雖然具有較高的計算效率,但忽視了人臉細節(jié)的刻畫,對局部邊緣特征提取不充分。典型的方法有主成分分析(principal component analysis,PCA)[3]、線性判別分析(linear discriminant analysis,LDA)[4]等;局部特征提取專注于刻畫人臉的局部或者微紋理結構,對原始圖像進行特定模式編碼,獲得對應的特征圖,對于光照、表情、姿態(tài)等干擾的穩(wěn)健性較好。經(jīng)典方法有局部二值模式(local binary pattern,LBP)[5]、局部方向模式(local directional pattern,LDP)[6]等。這類方法識別速度非常快,能在速度與精度上取得一個有效平衡,得到了廣泛的研究。Ojala等[5]提出了局部特征提取經(jīng)典的LBP方法,該方法側重于利用中心像素與鄰域像素的灰度值差異,很好地刻畫了圖像紋理。由于僅利用灰度域二元像素點之間的大小關系編碼,梯度信息缺失,對光照、噪聲敏感。為了解決LBP存在的問題,Jabid等[6]提出了一種基于圖像邊緣響應之間大小關系的局部方向模式,通過將圖像塊與Kirsch模板算子卷積,得到邊緣響應,記錄邊緣響應最大的幾個位置并進行編碼。該方法有效利用了一階梯度信息,對光照和噪聲的穩(wěn)健性有所提高,但識別時間較長,識別效果一般。為了使LDP編碼更加緊湊,Rivera等[7]提出了一種局部方向數(shù)(local directional number,LDN)模式,通過抓取最大和最小的邊緣響應信息進行編碼,減少了編碼位數(shù),提升了識別速度,編碼效率更高。但由于該方法只選取兩個極端邊緣響應位置,特征不穩(wěn)定。在光照情況下,一階梯度信息對識別效果的提升不明顯。為了提取更深層次的梯度信息,李照奎等[8]提出了差值局部方向模式(difference local directional pattern,DLDP)算法,楊恢先等[9]提出了一種基于中心對稱局部方向模式(center- symmetric local directional pattern,CSLDP)的算法。其中,DLDP對鄰域內邊緣響應相鄰作差,找出最大的幾個邊緣響應差值對應的位置進行編碼,利用了二階梯度信息,但編碼較復雜,僅考慮了近鄰邊緣響應之間的強度變化,導致識別時間較長,識別效果不佳。CSLDP比較鄰域內中心對稱邊緣響應之間的強度關系,提升了識別速度,但特征信息太少,編碼穩(wěn)定性一般。王曉華等[10]提出了梯度中心對稱局部模式(gradient center symmetric local directional pattern,GCSLDP),同時利用了相鄰邊緣響應差值信息與中心對稱邊緣響應強度信息,識別率有所提升,但存在信息提取不完全和穩(wěn)定性較差的缺點。基于深度學習的人臉識別方法在大規(guī)模的數(shù)據(jù)庫中達到了很高的識別精度,但這類方法需要大量的訓練成本(包括時間成本和算力成本),對于數(shù)據(jù)庫的樣本數(shù)量要求也很高,適用于樣本數(shù)量充足、硬件算力強大的場景。而手工描述符方法屬于相對靈活的輕量級方法,對樣本數(shù)目和算力基本沒有要求,識別的實時性也很高,適用于大多數(shù)樣本數(shù)量不多、硬件算力一般的場景。
LBP、LDP、LDN等方法均利用一階灰度或梯度信息進行編碼,對姿態(tài)、表情的穩(wěn)健性較高,但特征提取有效性有所欠缺。二階梯度帶來深層次信息的同時,也增大了噪聲的影響。DLDP、CSLDP、GCSLDP等利用二階梯度編碼的方法,編碼穩(wěn)定性不足,對隨機噪聲、表情、姿態(tài)敏感。為了提升上述算法的穩(wěn)定性,Khadiri等[11]提出了基于排斥吸引模式的局部二階梯度輪廓(repulsive- and-attractive local binary gradient contours,RALBGC)算法,采用吸引模式局部微結構編碼,使穩(wěn)定性得到了很大的提升,在抗干擾能力方面表現(xiàn)出優(yōu)異的性能,但人臉識別的有效性有所欠缺。考慮LBP、LDP、LDN等方法對干擾的穩(wěn)健性較高,但特征提取有效性不足[8]。DLDP、CSLDP、GCSLDP等方法提升了特征提取的有效性,但明顯降低了對干擾的穩(wěn)健性[12]。
吸引局部二階梯度輪廓(attractive local second gradient contours,ALSGC)模式引入二階梯度信息提升方法的有效性、提升方法對干擾的穩(wěn)健性,同時滿足有效性和對干擾的穩(wěn)健性要求。首先,將人臉圖像3×3鄰域與Kirsch模板算子卷積,得到對應的邊緣響應圖,再分別對邊緣響應圖進行吸引模式編碼,結合局部平均灰度值、鄰域中心灰度值和全局平均灰度值的吸引模式編碼,生成ALSGC碼。遍歷整個人臉圖像,最終將其轉化為與原圖大小一致的ALSGC人臉圖。然后,對ALSGC人臉圖進行分塊,統(tǒng)計每個分塊中不同模式數(shù)的個數(shù),形成多個統(tǒng)計直方圖。最后,將統(tǒng)計直方圖中所有子塊的模式數(shù)級聯(lián),生成人臉圖像對應的特征向量,用支持向量機分類器進行分類識別。
排斥和吸引模式描述了像素的局部微結構,通過比較相鄰3個元素組成的三元組之間的大小關系,對圖像進行吸引和排斥模式編碼,如圖1所示。一位二進制編碼包含3個元素之間的細節(jié)信息,提取的信息更豐富,特征提取有效性更高;結合局部均值和全局均值,在紋理識別領域取得了不錯的效果,初步證實了吸引排斥模式的理論可行性[11]。

圖1 吸引和排斥的微結構(模式編碼)
圖1中,Ic表示局部鄰域中心像素的灰度值,Ik表示3×3局部鄰域的灰度值(k∈{0,1,…,7})。排斥和吸引算子分別將3×3局部鄰域中圍繞中心像素Ic的所有相鄰三元組劃分為兩類,即排斥與非排斥模式、吸引與非吸引模式。圖1舉例說明了兩個分別代表排斥和吸引模式的三元組,在圖1(a)中,由于I6像素點的灰度值比I5和I7的灰度值都大,三元組[I5,I6,I7]被定義為吸引模式。相反,在圖1(b)中,由于I7像素點的灰度值比I0和I6都小,三元組[I0,I7,I6]被定義為排斥模式。
基于上述排斥和吸引模式的概念,定義排斥和吸引模式的二進制閾值函數(shù)v(?)和υ(?),具體定義如式(1)、式(2)所示。
吸引二元閾值函數(shù)(attractive binary thresholding function,ABTF)υ(?):

排斥二元閾值函數(shù)(the repulsive binary thresholding function,RBTF)v(?):

傳統(tǒng)的LDP特征提取算法對于特征提取的有效性以及對遮擋、表情、光照等干擾的穩(wěn)健性不能取得一個較好的平衡效果[12],基于這兩個方面,提出了ALSGC算法。
(1)對于特征提取的有效性:將人臉灰度圖轉變?yōu)檫吘夗憫獔D,對邊緣響應圖進行吸引模式編碼,得到吸引局部二階梯度輪廓特征圖,充分利用二階梯度空間的圖像細節(jié)信息,同時考慮中心像素灰度值、局部平均灰度值以及全局平均灰度值之間的關系,有效提取并表征圖像特征。
(2)對于干擾的穩(wěn)健性:該方法編碼有著較強的穩(wěn)定性。首先,一位編碼由3個邊緣響應點決定,隨機噪聲與光照較難對編碼造成影響。其次,對相鄰邊緣響應采用不對稱編碼,突出吸引模式編碼,在較大面積遮擋的情況下,該方法編碼受到的影響明顯小于其他對比方法。該方法對遮擋、光照、隨機噪聲等干擾的穩(wěn)健性明顯高于其他對比方法。
由于吸引排斥模式[11]對于局部微結構的表征非常穩(wěn)定,抗干擾能力很強,本文選擇吸引模式,在梯度域借鑒RALBGC在紋理識別中的編碼方式,以提取更深層次且穩(wěn)定的梯度判別特征,改進同樣在梯度域編碼的LDP類人臉識別方法。
ALSGC編碼具體步驟如下。
首先,將人臉圖像3×3鄰域塊I與Kirsch算子[13]卷積Ma(a=0,1,2,3,4,5,6,7),對得到的8個方向的邊緣響應取絕對值,得到ma(a=0,1,2,3,4, 5,6,7)。Kirsch算子如圖2所示。再引入吸引模式對ma進行編碼,沿著中心點mc找出所有相鄰的邊緣響應三元組,對其進行吸引模式編碼,得到一串二進制編碼,描述了二階梯度輪廓信息,提升了特征提取的有效性。為了提升對噪聲和單調灰度變化的穩(wěn)健性,引入局部平均灰度值μ:


圖2 Kirsch算子

其中,S表示以Ic為中心的3×3鄰域像素點數(shù),s表示對應的像素序號,Is表示對應序號像素值。P表示分塊內橫向像素點的個數(shù),Q表示分塊內縱向像素點的個數(shù),I(p,q)表示以分塊左下角像素點為坐標原點,坐標為p和q的像素點灰度值。
其次,結合局部平均灰度值μ、鄰域中心灰度值Ic和全局平均灰度值組成的吸引模式三元組,得到最終的二進制編碼:

最后,將二進制編碼gALSGC轉化為十進制數(shù),即中心像素點x的ALSGC編碼值:

其中,ω9定義為:

如圖3所示,舉例展示了ALSGC的編碼過程。

圖3 ALSGC編碼過程
對應排斥的局部二階梯度輪廓描述(repulsive local second gradient contour,RLSGC)算法的編碼過程將ALSGC的吸引模式編碼改為排斥模式編碼,其他與ALSGC算法相同。
根據(jù)上述編碼過程可知,三元組之間的大小關系一共有6種情況,兩種屬于排斥模式,兩種屬于吸引模式,兩種既不屬于排斥模式又不屬于吸引模式。既不屬于排斥又不屬于吸引的兩種情況,在ALSGC和RLSGC兩種編碼的情況下都為0。因此,在樣本較大的情況下,同一張圖片對應ALSGC的編碼必然存在長度為編碼總長度1/3的編碼為0的子編碼段,RLSGC的編碼也是如此,前后這兩段子編碼數(shù)值均為0,位置完全重合;而ALSGC編碼中剩余的長度為編碼總長度2/3的子編碼段,在零一取反后,則成為了RLSGC對應位置的編碼段,兩種編碼方式之間信息高度冗余。
對于同類的不同樣本,結合ALSGC和RLSGC的編碼方式,相對于ALSGC或RLSGC單一的編碼方式,增加了同類的不同樣本之間的差異,增加了類間距離,降低了識別效果。對于不同類的不同樣本,不一定能增加類間距離。綜合來看,結合ALSGC和RLSGC的編碼方法在人臉特征提取中無法獲得比單獨使用兩種編碼方法更好的識別效果。
ALSGC吸引模式占比為1/3,編碼為1,非吸引模式占比為2/3,編碼為0,隨機噪聲可能會使三元組在不同的非吸引模式間變化,相對于其他對比方法,不易導致ALSGC編碼發(fā)生變化。
在黑塊極限遮擋情況下,白塊同理,人臉圖像前后對比如圖4所示。

圖4 人臉圖像在黑塊極限遮擋情況下對比
為客觀描述不同編碼方法受遮擋影響程度的大小,定義編碼信息損失函數(shù)如下:

其中,M和N分別表示遮擋塊的縱向像素點數(shù)和橫向像素點數(shù);m、n分別表示在遮擋塊內,以遮擋塊左上角像素點為原點,豎直方向與原點相隔的距離和水平方向與原點相隔的距離;L表示當前方法每個像素點編碼串的長度;l表示編碼串中每個編碼的位置;δ(m,n,l)表示坐標為(m,n)的像素點中第l位編碼在遮擋前后的變化情況,具體計算式為:

其中,Code(m,n,l)和Code'(m,n,l)分別表示遮擋前后坐標為(m,n)的像素點中第l位編碼的值。
LBP算法是根據(jù)中心像素點灰度值和3×3鄰域像素點灰度值之間的大小關系進行編碼,在極限遮擋和樣本足夠大的情況下,LBP編碼從0、1各占一半的情況變?yōu)槿?或全1,ΔCLBP=1/2。LDP、LDN、DLDP、CSLDP、GCSLDP等算法根據(jù)3×3鄰域邊緣響應之間的二元組大小關系進行編碼,在極限遮擋的情況下,依靠相鄰邊緣響應或對稱邊緣響應二元組大小關系的編碼幾乎遭到了完全破壞,趨于隨機分布,ΔC≈1在不考慮第一位均值編碼的情況下,ASLGC算法由于不對稱編碼的特性,約1/3的編碼為1,2/3的編碼為0;在遮擋前后,改變的編碼位數(shù)只占編碼總長度的1/3,即ΔC≈1/3。因此,ALSGC編碼與其他對比方法相比,對于較大面積的遮擋有著較強的穩(wěn)定性。
通過圖5例子來驗證ALSGC的穩(wěn)定性。圖5中,將原始圖像塊隨機增減一個數(shù)表示噪聲,將第3行像素值都增加5表示光照變化,將第1行和第1列設置為近似相等的像素值表示遮擋1和遮擋2。
由圖5可知,與原始圖像塊中各種算法的編碼進行對比,在添加噪聲情況下,LDP、LDN、DLDP、CSLDP、GCSLDP編碼值發(fā)生了變化;在光照變化情況下,LBP編碼值發(fā)生了變化;在遮擋1情況下,LBP、LDP、LDN、DLDP、CSLDP、GCSLDP編碼值都發(fā)生了變化;在遮擋2情況下,CSLDP編碼值發(fā)生變化。在所有情況下,只有ALSGC編碼值不發(fā)生變化,穩(wěn)定性較強,體現(xiàn)了ALSGC對遮擋、光照、隨機突變噪聲的穩(wěn)健性。

圖5 算法編碼穩(wěn)定性
人臉識別流程如圖6所示,具體流程如下。

圖6 人臉識別流程
(1)使用Kirsch算子對人臉圖像進行邊緣檢測并通過ALSGC編碼對得到的邊緣響應進行特征提取,獲得對應的特征圖。
(2)對特征圖進行不重疊分塊處理,并對每個分塊逐一統(tǒng)計分塊內不同模式編碼的個數(shù),形成對應子塊的統(tǒng)計直方圖(統(tǒng)計直方圖的橫坐標為不同的模式編碼值,縱坐標為不同模式編碼值在子塊中的出現(xiàn)次數(shù))。
(3)將統(tǒng)計直方圖中所有子塊的模式數(shù)進行級聯(lián),作為該幅人臉圖像的特征向量。
(4)利用支持向量機分類器進行分類,完成識別。
為了驗證本算法的性能,本研究選擇在CAS-PEAL[14]、ORL[15]、GT[16]人臉數(shù)據(jù)庫上進行實驗,這些數(shù)據(jù)庫分別包含了表情、遮擋、光照、姿態(tài)、突變噪聲等干擾。為客觀比較本文算法和其他算法,本實驗均采用10×10的分塊(即將待編碼圖像分為100幅子圖,每幅子圖大小為待編碼圖像大小的1/100)。為驗證算法有效性,本文選擇與LBP、LDP、LDN、DLDP、CSLDP、GCSLDP等進行比較。實驗所用硬件設備為AMD Ryzen 5 4600U,RAM為16 GB,仿真環(huán)境為MATLAB R2018b。
CAS-PEAL人臉庫包含了1 040名中國人共99 450幅頭肩部圖像,包含了姿態(tài)、表情、背景、飾物、光照、距離、時間7個子庫。考慮實際應用中對人臉識別性能影響最明顯的干擾因素,本文選取其中的表情、飾物、光照子庫進行實驗,其中表情子庫包含376人共1 880幅圖像,飾物子庫包含433人共2 598幅圖像,光照子庫包含232人共2 088幅圖像,部分樣本如圖7所示。

圖7 CAS-PEAL人臉庫部分樣本
為保證實驗的準確性,在每類人臉樣本中隨機選取k張圖片作為訓練樣本,剩下的圖片作為測試樣本,取重復計算50次的均值作為最終識別率。實驗結果見表1~表3。

表1 在CAS-PEAL表情子庫上的識別率

表3 在CAS-PEAL光照子庫上的識別率
由表1可知,在表情子庫下,大部分算法識別效果較好,但本文算法有著明顯的優(yōu)勢。LDP、LDN等方法通過比較邊緣響應的大小進行編碼,受到的影響較小,識別效果普遍較高,DLDP、CSLDP、GCSLDP等方法通過對邊緣響應計算差值后進行編碼,容易受到表情、隨機噪聲的影響,編碼不穩(wěn)定,識別效果一般。本文方法依靠三元組不對稱編碼,編碼穩(wěn)定,對表情與隨機噪聲穩(wěn)健性好。
在飾物子庫下,人臉的一些部位被遮擋了,對識別效果造成了不小的影響。此時,降低遮擋對于算法編碼的影響就尤為重要。對于大部分對比算法,遮擋區(qū)域的編碼與該區(qū)域無遮擋時的編碼相差很大,對于分類識別的貢獻大大降低,但對于依靠吸引模式三元組進行不對稱編碼的ALSGC算法,遮擋區(qū)域的編碼與該區(qū)域無遮擋時的編碼相差較小。ALSGC編碼受遮擋的影響更小,與未遮擋時的編碼更接近,因此識別效果更好。由表2可知,在隨機選取2張人臉圖像作為訓練樣本的情況下,ALSGC算法相比LBP、LDP、LDN、DLDP、CSLDP、GCSLDP分別提高了8.7%、8.79%、7.35%、7.01%、7.6%、6.68%。

表2 在CAS-PEAL飾物子庫上的識別率
在光照子庫下,人臉圖像會受到來自不同方向、不同程度的光照影響。LBP在灰度域進行編碼,主要利用圖像灰度值差異,刻畫圖像紋理,側重于描述局部圖像整體信息,表現(xiàn)欠佳。LDP主要利用局部圖像的邊緣響應,抓住邊緣響應絕對值最大的幾個方向進行編碼,效果有所提升,但無法精確定位最主要的紋理方向。LDN在LDP的基礎上,抓住最大和最小的邊緣響應值,相比之下,編碼不容易受到影響。但在人臉圖像的平滑區(qū)域對噪聲比較敏感,會對識別效果產(chǎn)生負面影響。DLDP方法通過對相鄰邊緣響應計算差值進行編碼,提取了更深層次的梯度特征。CSLDP通過對中心對稱方向上的邊緣響應計算差值進行編碼,可以體現(xiàn)邊緣的大致紋理方向,但是由于編碼信息太少,難以大幅提升識別效果。GCSLDP則結合了CSLDP提取的中心對稱差值信息和DLDP提取的相鄰差值信息,提升了識別率。本文算法對相鄰邊緣響應采用了吸引模式三元組不對稱編碼,結合全局均值、中心灰度值與局部均值的三元組編碼,不僅有效利用了梯度信息,還極大提升了編碼的穩(wěn)定性。由表3可知,在隨機選取4張人臉圖像作為訓練樣本的情況下,ALSGC算法相比LBP、LDP、LDN、DLDP、CSLDP、GCSLDP分別提高了39.58%、36.13%、23.58%、23.75%、7.9%、2.3%。
綜合表1、表2、表3可以發(fā)現(xiàn),在CAS-PEAL表情、飾物、光照3個人臉子庫上,隨著訓練樣本與測試樣本比例的增加,所有算法的識別率均不斷增加,但ALSGC算法相對于其他算法,由于特征提取有效性最高,特征編碼最為穩(wěn)定,識別率始終處于領先地位,尤其是在飾物子庫、光照子庫,本文算法的優(yōu)勢更加明顯。實驗數(shù)據(jù)也驗證了第1.3節(jié)中編碼穩(wěn)定性分析,只有ALSGC在噪聲、光照、遮擋1、遮擋2的情況下編碼保持穩(wěn)定不變,體現(xiàn)了ALSGC對于光照和遮擋的穩(wěn)健性。
ORL人臉庫由英國劍橋大學的Olivetti實驗室創(chuàng)建,包含40名志愿者的400張人臉樣本,主要包含姿態(tài)和表情變化,分辨率為112 dpi×92 dpi,實驗中選擇歸一化到100 dpi×100 dpi分辨率下,部分樣本如圖8所示。

圖8 ORL人臉庫部分樣本
為保證實驗的準確性,在每類人臉樣本中隨機選取k張圖片作為訓練樣本,剩下的10?k張圖片作為測試樣本,取重復計算50次的均值作為最終識別率。實驗結果見表4。

表4 各種算法在ORL人臉庫上的識別率
ORL人臉庫中,表情和姿態(tài)的變化考驗算法對于紋理變化的穩(wěn)健性。由表4可以發(fā)現(xiàn),DLDP、CSLDP、GCSLDP通過對邊緣響應計算差值后進行編碼,相當于再次計算了一次梯度,雖然能提取更深層次的信息,但是也放大了噪聲變化帶來的影響。LDP、LDN等方法通過比較邊緣響應的大小進行編碼,受到的影響較小。本文算法利用吸引模式進行編碼,同時利用中心像素的灰度信息,引入局部二階梯度輪廓信息,相較對比方法,可以更好地抓住紋理信息,特征提取更有效,穩(wěn)定性更高,性能更好。在訓練樣本與測試樣本比例為1:1時,本文算法相比LBP、LDP、LDN、DLDP、CSLDP、GCSLDP分別提高了2.83%、3.66%、2.24%、3.53%、4.45%、6.44%。
為進一步驗證ALSGC算法對噪聲的穩(wěn)健性,在GT人臉庫進行了噪聲實驗,GT人臉庫包含50個人的750張不同角度、不同表情的正面照片,部分樣本如圖9所示。

圖9 GT人臉庫部分樣本
本文在每類人的15張樣本中隨機選取5張作為訓練樣本,剩余10張作為測試樣本。隨后對每幅圖像添加椒鹽噪聲,添加噪聲的比例為0~40%。不同百分比噪聲情況下的樣本圖像如圖10所示。

圖10 不同百分比噪聲下的圖像
同時為了客觀描述不同算法識別效果受噪聲影響的程度,定義識別率下降速度函數(shù)[17],計算式為:

其中,r表示未加噪聲的識別率,f表示受到噪聲影響后的識別率,δ表示識別率的下降速度,δ越高表示算法抗噪聲能力越差。各種算法在不同百分比噪聲下的識別率見表5。

表5 GT人臉庫噪聲實驗結果
為了提升人臉特征提取的有效性與特征編碼的穩(wěn)定性,進一步提高人臉識別性能,本文提出了一種基于吸引二階梯度局部輪廓模式(ALSGC)的人臉識別算法。該算法通過吸引模式編碼,更加深入、有效地提取二階梯度輪廓信息,克服了LDP、LDN等算法提取一階梯度信息導致的特征提取有效性不足的缺點,同時ALSGC采用三元組編碼,提升了編碼的穩(wěn)定性,避免了DLDP、CSLDP、GCSLDP等算法由于引入二階梯度帶來的噪聲敏感問題。而且由于ALSGC編碼不對稱性,對遮擋尤其是大面積遮擋,編碼受遮擋的影響程度是上述算法中最小的。實驗數(shù)據(jù)也表明,ALSGC算法既保證了特征提取的有效性,又對干擾有較強的穩(wěn)健性。在光照、隨機噪聲、表情、遮擋、姿態(tài)等變化下,本文算法能夠達到更高的識別率,證明了算法的紋理特征描述能力與穩(wěn)健性。但是三元組編碼帶來穩(wěn)定性的同時,提高了計算復雜度,后續(xù)將針對該問題進行研究。