賴 玲,鄭筆耕,譚云蘭
(1.荊楚理工學(xué)院 計(jì)算機(jī)工程學(xué)院,湖北 荊門 448000;2.荊楚理工學(xué)院 電子信息工程學(xué)院,湖北 荊門 448000;3.井岡山大學(xué) 電子與信息工程學(xué)院,江西 吉安 343009)
人臉識別(face recognition,F(xiàn)R)是指使用計(jì)算機(jī)從給定一組屬于不同人群的照片中識別出一個人[1]。目前,F(xiàn)R是一些商業(yè)或執(zhí)法應(yīng)用中的一項(xiàng)關(guān)鍵任務(wù),如監(jiān)視通緝犯、限制區(qū)域的訪問控制以及照片共享應(yīng)用程序中的自動標(biāo)注。然而,該技術(shù)在復(fù)雜環(huán)境中,其識別準(zhǔn)確度明顯較低[2]。
近年來,學(xué)術(shù)界出現(xiàn)了許多相關(guān)的FR技術(shù),如毋立芳等[3]設(shè)計(jì)了一種全姿態(tài)二值SIFT的人臉識別技術(shù),該方法在標(biāo)準(zhǔn)人臉庫中取得一定的成績。但在二值化過程易損失部分有效信息,降低了識別率。此外,算法的性能主要依賴臉部圖像的質(zhì)量,因此,對光線變化、遮擋等環(huán)境下識別效果還有待提高。魏月納等[4]將Gabor臉部特征融合,再根據(jù)信息的重要性劃分子塊。然后定義一種改進(jìn)的隸屬函數(shù)完成分類訓(xùn)練,可以彌補(bǔ)訓(xùn)練樣本不足時導(dǎo)致的準(zhǔn)確率不穩(wěn)定。但是該技術(shù)在光照變化、視角變換等復(fù)雜環(huán)境中,所提算法穩(wěn)定性較差,識別率不理想。此外,Gabor使用過程易出現(xiàn)維數(shù)災(zāi)難,降低效率。Chen等[5]通過結(jié)合類內(nèi)信息,建立了一種新的目標(biāo)函數(shù)。該算法是利用塊策略和核理論推導(dǎo)出來的。實(shí)驗(yàn)結(jié)果表明所提系統(tǒng)在標(biāo)準(zhǔn)人臉庫有效。但是,KNMF無法處理非線性可分離的數(shù)據(jù)點(diǎn),無法有效判別特征非線性關(guān)系,對于復(fù)雜背景以及遮擋時識別效果不佳。
考慮到復(fù)雜環(huán)境對人臉識別的影響,引入多種方法來量化每種識別中所涉及的不確定性,對許多AFR應(yīng)用都是非常有益的。因此,在本文算法中,引入了RPOEM與SIFT兩種特征。RPOEM能夠提取快速臉部關(guān)鍵點(diǎn)并進(jìn)行聚類,剔除無效雜點(diǎn)。然后將RPOEM離散化,采用局部二值模式編碼(local binary pattern,LBP)編碼,構(gòu)建了LBP直方圖特征,消除了像素零值對臉部特征提取的影響,并且考慮相鄰像素的相關(guān)性,能夠準(zhǔn)確提取臉部信息,對光照、遮擋等效果明顯。另外,本文通過共形預(yù)測(conformal prediction,CP)來分類識別。在特定的情況下,CP可以提供一個置信度測量,以表明每個識別正確的可能性,從而縮小每張照片的可能候選范圍。最后,通過兩個常用的數(shù)據(jù)庫來驗(yàn)證所提技術(shù)的有效性。
共形預(yù)測(conformal prediction,CP)是一種預(yù)測分類模型,它利用校準(zhǔn)集(經(jīng)驗(yàn))建立新預(yù)測的精確置信水平,提供了一種在適用于分類和回歸上下文的在線設(shè)置中獲得誤差校準(zhǔn)的方法[6]。CP允許用戶設(shè)置可接受錯誤的百分比,滿足了數(shù)據(jù)集的可交換性條件。CP的一個主要優(yōu)點(diǎn)是,如果數(shù)據(jù)是可交換的,即新數(shù)據(jù)的行為類似于舊(訓(xùn)練)數(shù)據(jù),則該方法能產(chǎn)生有效的預(yù)測。
設(shè)A={(xi,yi)|i=1,…,N} 表示訓(xùn)練集,其中,xi是以輸入向量形式的對象。R={t1,t2,…,tc} 為輸入向量,yi∈R。 令B={Xk|k=1,2,…,M} 為測試集。其中,Xk是測試樣本。定義Ck,l=A∪{(Xk,tl)},其中,tl∈R。 通過置信度度量來評估預(yù)測這些集合,并在給定期望的置信度水平的情況下,為測試實(shí)例Xk找到候選標(biāo)簽。
對于每個測試樣本k,有c個NCS序列,表示為Hk,l。 給定一個NCS的序列Hk,l,計(jì)算測試樣本 (Xk,tl) 的可能性,表示如下
(1)
計(jì)算完所有p值后,它們可用于生成滿足預(yù)設(shè)置信水平1-δ(δ稱為顯著性水平)的預(yù)測集。考慮到顯著性水平δ,CP將輸出預(yù)測集
{tl|pk(tl)>δ}
(2)
希望預(yù)測集盡可能小,預(yù)測集的大小取決于p值的質(zhì)量,也取決于所使用的非一致測量(nonconformity mea-sure,NCM)[8]。因此,CP將輸出標(biāo)簽tr,表示如下
r=argmaxl=1,2,…,cpk(tl)
(3)
換句話說,tl對應(yīng)最高的p值。這一預(yù)測與可信度指標(biāo)相輔相成。低可信度意味著要么數(shù)據(jù)違反了互換性假設(shè),要么特定的測試示例與訓(xùn)練集示例差異巨大。
通常,每張人臉圖像在識別前需構(gòu)造為一組特征向量。對于人臉識別而言,首先需要自動檢測人臉圖像中的關(guān)鍵點(diǎn)。然后,使用RPOEM和SIFT兩種特征來計(jì)算這些點(diǎn)的人臉表示。如果圖庫包含一個人的更多圖像,使用所謂的“組合模型”,將從屬于給定人的所有圖像中提取的特征放在一起,并創(chuàng)建一個組合表示。最后,將人臉表示與圖庫圖像進(jìn)行比較,以完成人臉的判斷識別,整個過程如圖1所示。
圖1 所提人臉識別算法的過程
方向邊緣幅值模式(POEM)通過測量梯度來獲取人臉的方向和幅值,再利用LBP累加幅值[9]。將一組不同方向和波長的Gabor應(yīng)用于圖像,然后根據(jù)濾波器響應(yīng)確定關(guān)鍵點(diǎn)。使用w×w大小的方形滑動窗口W過濾后,窗口中心 (r0,c0) 被認(rèn)為是關(guān)鍵點(diǎn)
(4)
(5)
其中,Rj是濾波器j的響應(yīng)(使用濾波器j過濾圖像的結(jié)果),j=1,2,…,NG(NG為Gabor數(shù)量)。wi*hi分別為圖像寬度和高度。對于臉部關(guān)鍵點(diǎn),Rj值必須大于定義鄰域中的所有點(diǎn),同時高于響應(yīng)j中所有像素的平均值。
確定的關(guān)鍵點(diǎn)數(shù)量通常太高(數(shù)百個),并且這些點(diǎn)數(shù)通常集中在重要的面部附近。此外,大量的點(diǎn)顯著增加了計(jì)算的復(fù)雜性,因此,利用K-均值對關(guān)鍵點(diǎn)聚類,識別出最重要的點(diǎn)[10]。
在POEM過程中,一般先計(jì)算輸入圖像中每個像素的梯度,設(shè)圖像I(x,y),在特定光線下,I(x,y)的質(zhì)量由光照分量L(x,y) 和反射分量R(x,y) 組成,表示如下
I(x,y)=L(x,y)·R(x,y)
(6)
R(x,y) 描述了臉部變化特征。I(x,y) 的梯度大小和方向可表示如下
(7)
梯度方向表示為
(8)
(9)
如果I(x,y) 中光照分量L(x,y) 緩慢變化,可看作為L(x+1,y)≈L(x,y),所以
(10)
圖2 不同光照梯度計(jì)算
RPOEM={H1,H2,…,Hm}
(11)
SIFT可看作為局部特征,具有尺度不變性,并且對光線同樣有良好處理效果[11]。SIFT主要有:①極值點(diǎn)檢測;②不穩(wěn)定點(diǎn)去除;③方向分配;④特征點(diǎn)描述等4個步驟組成。分別介紹如下:
(1)極值點(diǎn)檢測
SIFT特征點(diǎn)通過Gaussian差分(DoG)空間的局部極值點(diǎn)生成[12]。將某個中心點(diǎn)與其周圍的26個點(diǎn)比較,如圖3 所示。如果這個點(diǎn)在DoG尺度中大于或者小于所有26個點(diǎn),則將其選作極值點(diǎn)。
圖3 極值點(diǎn)檢測
(2)不穩(wěn)定點(diǎn)去除
由于尺度采樣的存在,SIFT檢測的極值點(diǎn)處于像素點(diǎn)上,但如果通過空間曲面進(jìn)行擬合時,大部分極值點(diǎn)都處于像素點(diǎn)附近,出現(xiàn)了偏移。為了精準(zhǔn)獲得極值點(diǎn)的位置,設(shè)DoG區(qū)域是連續(xù)的,通過二階Taylor展開式進(jìn)行擬合與測量DoG的響應(yīng)值。如果該點(diǎn)的響應(yīng)值超過0.03,那么保留該點(diǎn);反之,將該點(diǎn)看作為低對比度的點(diǎn)去除[13]。
對于不穩(wěn)定邊緣點(diǎn),通過計(jì)算DoG的2階導(dǎo)數(shù),獲得主梯度方向和其它方向比率,將比率小于某個值的特征點(diǎn)保留下來。過程描述如下:①分別估計(jì)每個極值點(diǎn)在x,y方向的2階導(dǎo)數(shù)和xy方向的導(dǎo)數(shù)。②通過①可生成極值點(diǎn)的Hessian矩陣,表示如下
(12)
式中:Ixx,Ixy,Iyy分別表示x,xy,y的二階導(dǎo)數(shù)。③計(jì)算Hessian矩陣的跡和行列式;④計(jì)算矩陣跡的平方與行列式的平方的比值,若該比值小于閾值(通常取10),那么該點(diǎn)可認(rèn)為是真正的極值點(diǎn)。
(3)方向分配
然后,計(jì)算基于像素附近的局部梯度方向,建立局部梯度方向的平滑直方圖,然后對直方圖中的峰值進(jìn)行分配。為關(guān)鍵點(diǎn)指定一個方向,確保其保持旋轉(zhuǎn)不變性。
(4)特征點(diǎn)描述
最后一步是為局部圖像區(qū)域創(chuàng)建描述符,計(jì)算涉及關(guān)鍵點(diǎn)位置的16×16鄰域,在鄰域的每個點(diǎn)上計(jì)算梯度大小和方向。它們的值由Gaussian窗口加權(quán),對于大小為4*4(16個區(qū)域)的每個子區(qū)域,創(chuàng)建方向直方圖。最后,生成一個包含128(16×8)值的向量。得到特征后,為消除光照變化的影響,對其實(shí)施歸一化
(13)
式中:hi為區(qū)域的梯度幅值。
在這項(xiàng)工作中,分別將兩個不同特征進(jìn)行相似性度量。其中,SIFT特征通過定義的余弦相似性進(jìn)行比較,表示如下[14]
(14)
式中:qm,Qn分別為測試集和訓(xùn)練集的特征向量。
RPOEM特征通常使用直方圖交叉(histogram intersection,HI)進(jìn)行比較,定義如下[14]
(15)
(16)
式中:sim相似性度量。對相似性進(jìn)行累加,得到相似性的總和,計(jì)算如下
(17)
(18)
式中:ω為權(quán)重因子。
CP框架通過不一致性分?jǐn)?shù)的定義將假設(shè)檢驗(yàn)的原理和傳統(tǒng)的機(jī)器學(xué)習(xí)算法結(jié)合在一起,非一致性分?jǐn)?shù)是一種量化數(shù)據(jù)點(diǎn)與特定類標(biāo)簽的非一致性的度量,并且適用于每個分類器,定義為
(19)
假設(shè)有一個新的測試元素sn+1,系統(tǒng)中所有元素s1,s2,…,sn+1的非一致性度量,計(jì)算p值函數(shù)
(20)
很明顯,當(dāng)yj訓(xùn)練集的非一致度量值高于新的測試點(diǎn)時,p值最高,sn+1最符合yj。 重復(fù)這個過程,并使用p值的最高值來確定分配給sn+1的實(shí)際類型,從而為分類提供一個轉(zhuǎn)換推理過程。如果pj為最高的p值,pk為第二高的p值,那么pj為決策可信度,1-pk為分類器的置信度。設(shè)給定用戶的置信度為δ,輸出共形預(yù)測區(qū)域F,包含p值大于1-δ的所有類標(biāo)簽。
為驗(yàn)證所提算法的性能,選取常見的FERET與LFW人臉庫中實(shí)驗(yàn)[15,16]。實(shí)驗(yàn)硬件為:Intel i5,3.4 GHz CPU,8 G RAM,Windows10,利用C++的Caffc工具進(jìn)行處理與分析。為使實(shí)驗(yàn)更具說服力,選取文獻(xiàn)[3]~文獻(xiàn)[5]進(jìn)行對比。參數(shù)設(shè)置如下:窗口大小w×w=3×3,置信水平=0.02,分解數(shù)m=6,子塊n×n=5×5,權(quán)重ω=0.6。
FERET人臉庫包含14 051張多姿態(tài),大小為512×768。人臉具有光照、表情等差異,是人臉識別中應(yīng)用最廣泛的數(shù)據(jù)庫之一。本文中選擇了200人的1000幅正面不同光照條件構(gòu)建了一個新的子集進(jìn)行實(shí)驗(yàn),圖像大小變換為92×112,部分FERET子集如圖4所示。
圖4 FERET部分人臉實(shí)例
Labeled Faccs in the Wild(LFW)含有1680個人的 13 000 張臉部圖,大小均為250×250,這個數(shù)據(jù)集是人臉評估常用的一個數(shù)據(jù)集。LFW數(shù)據(jù)庫既有正面照,也有側(cè)面照,并且同一張圖種可能含有多張人臉,包含了多種背景、光照變化、遮擋等因素,有的人只對應(yīng)一幅人臉圖,有的人同時保存了多種人臉圖。因此,LFW數(shù)據(jù)庫包含的信息復(fù)雜,比較隨機(jī),具有很強(qiáng)的代表性。實(shí)驗(yàn)過程隨機(jī)選擇3000張圖像,其中有1500張屬于同一人的2張圖,另外1500張是不同人的1張圖,部分LFW子集如圖5所示。
圖5 LFW部分人臉實(shí)例
根據(jù)第2節(jié)看出,RPOEM的性能與分解數(shù)量m和子塊n有直接關(guān)系,為確定m和n的最優(yōu)值。實(shí)驗(yàn)過程中,從FERET子集中選擇每個2張人臉,形成一個容量為400的訓(xùn)練集,其余600張人臉構(gòu)成測試集。首先,假定分解數(shù)m在固定情況下,改變不同的n值測試人臉識別率。圖6(a) 為當(dāng)m=4時,在不同的n值下得到的識別率曲線。從圖6(a)看出,隨著n的增加,識別率也隨之增大。當(dāng)n=5時,識別率趨于穩(wěn)定,n的增加對識別效果無促進(jìn)作用了,并且考慮到n的增加會導(dǎo)致特征數(shù)加大,增加計(jì)算復(fù)雜性,因此,本文中取n=5。
確定n=4之后,通過改變m值來測試不同的識別率。圖6(b)顯示了不同m下的識別率曲線,可觀察出,隨著m的增加,識別率走勢是先增加,后降低。當(dāng)m=6時,識別效果最佳,因此,本文取m=6。
為驗(yàn)證提出算法的識別性能,分別在FERET子集、LFW子集中實(shí)驗(yàn)。在FERET與LFW子集中,每次隨機(jī)選取不同數(shù)量作為訓(xùn)練集,其余作為測試集。在每個子集中,進(jìn)行6次相互獨(dú)立測試,然后取其平均值作為統(tǒng)計(jì)數(shù)據(jù),結(jié)果如圖7所示。圖7(a)為FERET子集測試結(jié)果,圖7(b)為LFW子集結(jié)果。從圖7看出,F(xiàn)ERET子集、LFW子集中,本文算法識別率優(yōu)于其它3種對照組算法,隨著特征維數(shù)的增加,得到的識別率逐漸提高,從這4條曲線看出,所提算法曲線變化平穩(wěn),表明算法的健壯性良好,而其它曲線波動較大。
表1與表2分別為不同訓(xùn)練樣本下(1-6個),在FERET子集、LFW子集的識別率數(shù)據(jù)結(jié)果。依據(jù)表1與表2得知,在FERET子集中,當(dāng)訓(xùn)練樣本數(shù)為6時,識別率高達(dá)99.56%。在LFW子集中,當(dāng)當(dāng)訓(xùn)練樣本數(shù)為6時,識別率高達(dá)96.52%。
圖6 參數(shù)確定實(shí)驗(yàn)
圖7 FERET與LFW不同特征維數(shù)下的識別率
表1 FERET子集中不同樣本下識別率/%
表2 LFW子集中不同樣本下識別率/%
從實(shí)驗(yàn)結(jié)果得出,在FERET子集中,由于人臉圖像比較單一,光照變化不大,4種算法取得了較好的識別率。在LFW子集中,由于人臉種類繁多、背景多樣、光照變化、臉部遮擋等多種因素的干擾,在圖7(b)中,本文算法仍然取得了優(yōu)異的識別率,而對照組算法得到的曲線波動較大,識別率下降。從表1與表2數(shù)據(jù)可看出,相同條件下,在FERET子集、LFW子集中,本文算法的識別率均最佳,且在FERET子集中的識別率優(yōu)于LFW子集。從實(shí)驗(yàn)結(jié)果得出,所提算法具有良好的人臉識別效果,對多種背景,光照變化、遮擋等因素干擾下能夠正確識別出人臉圖像,魯棒性強(qiáng)。本文算法取得如此優(yōu)異的成績主要是結(jié)合了RPOEM與SIFT特征用于人臉識別。通過提取RPOEM與SIFT特征,提高人臉特征的表征能力,為后續(xù)匹配識別提供保證。此外,定義一種相對梯度幅值,對相對梯度幅值分解,對分解后的相對梯度幅值進(jìn)行Gaussian濾波,消除光照變化與遮擋的影響,還考慮了相鄰像素的相關(guān)性,從而提高了算法識別率和魯棒性。而文獻(xiàn)[3]中采用了全姿態(tài)二值SIFT的人臉識別技術(shù),但在二值化過程易損失部分有效信息,降低了識別率。此外,算法的性能主要依賴臉部圖像的質(zhì)量,因此,對光線變化、遮擋等環(huán)境下識別效果欠佳。文獻(xiàn)[4]設(shè)計(jì)了一種Gabor與分塊處理的人臉識別方案,該算法在正面姿態(tài)、光照穩(wěn)定時,具有較好識別效率。但是在光照變化、視角變換等復(fù)雜環(huán)境中,所提算法穩(wěn)定性較差,識別率不理想。文獻(xiàn)[5]設(shè)計(jì)了一種Kernel-非負(fù)矩陣分解人臉識別系統(tǒng),其通過結(jié)合類內(nèi)信息,建立了一種新的目標(biāo)函數(shù)。該算法對標(biāo)準(zhǔn)人臉庫有良好的識別效果,當(dāng)其無法處理非線性可分離的數(shù)據(jù)點(diǎn),無法有效判別特征非線性關(guān)系,對于復(fù)雜背景以及遮擋時識別效果不佳。
為進(jìn)一步測試算法的性能,對在LFW子集中,分別統(tǒng)計(jì)訓(xùn)練樣本為2和5時,算法運(yùn)行時間,見表3。依據(jù)表3中看出,在LFW子集中,當(dāng)訓(xùn)練樣本分別為2和5時,本文算法的運(yùn)行時間為0.92 s、2.15 s。本文算法運(yùn)行時間比文獻(xiàn)[3]要長,但是比文獻(xiàn)[4]、文獻(xiàn)[5]要短,與對照組算法比較,所提算法效率能夠滿足當(dāng)前使用要求,效率較高。主要原因是分別提取了人臉RPOEM與SIFT特征并進(jìn)行加權(quán)融合,過程簡單,復(fù)雜性低。而文獻(xiàn)[3]采用了二值SIFT,算法簡單,效率高。文獻(xiàn)[4]采用了Gabor與分塊處理,在Gabor使用過程易出現(xiàn)維數(shù)災(zāi)難,降低效率。文獻(xiàn)[5]采用了Kernel-非負(fù)矩陣分解,通過結(jié)合類內(nèi)信息,建立了一種新的目標(biāo)函數(shù),NMF可降維,但目標(biāo)函數(shù)的計(jì)算需要花費(fèi)較多時間,影響了效率。
表3 算法效率測試
為提高人臉識別在光照變化、遮擋等條件下的識別精度,提出了相對邊緣方向幅值模式RPOEM耦合SIFT的人臉識別算法。在方向邊緣幅值模式的基礎(chǔ)上,定義了一種相對方向邊緣幅值模式,有效避免了光照變化的影響。此外,為了消除像素零值的影響,將相對梯度幅值分解并采用LBP編碼,生成臉部RPOEM特征。同時,為提高人臉特征的表示能力,將具有尺度和旋轉(zhuǎn)不變性的SIFT引入到人臉特征提取中,通過將RPOEM與SIFT加權(quán)組合,提高了對人臉特征的表示。在FERET、LFW人臉庫中驗(yàn)證了所提算法的有效性,結(jié)果顯示該算法有效提高了人臉識別在光照變化、復(fù)雜背景、遮擋等因素干擾下的識別精度。