馮澤安,王 鵬
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710021)
對無約束面部圖像的微笑檢測是一個具有挑戰(zhàn)性的問題。作為最具信息含義的表達(dá)之一[1],微笑表達(dá)了一些基本情緒,如快樂和滿意度,于是在不同領(lǐng)域有多種應(yīng)用,如人類行為分析[2]、照片選擇[3]、患者監(jiān)護[4]等。近年來,局部二進(jìn)制模式[5](LBP)常用于微笑檢測,在Viola-Jones級聯(lián)分類器的微笑檢測器[6]的分類準(zhǔn)確率可達(dá)到96.1%。雖然分類準(zhǔn)確性很高,但對所采用的圖像樣本要求同樣非常高,比如必須使用面部正面照。還有使用AdaBoost來選擇和組合弱分類器[7],并在GENKI-4K圖像數(shù)據(jù)集上達(dá)到了88%的微笑檢測率。一般用于微笑檢測的面部信息[8]可以分為兩大類:(I)幾何信息和(II)紋理(或外觀)信息。幾何信息一般包含面部特征或頭骨的形狀,而紋理信息主要考慮面部圖像像素強度或由像素構(gòu)成的圖案(像素圖)。但在面部微笑檢測的文獻(xiàn)中,通常將幾何信息與紋理信息相結(jié)合,而不是單獨使用。最新的微笑檢測算法是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的算法,該算法可以對低級特征組成的高級特征的層次表示[9]進(jìn)行學(xué)習(xí),CNN實現(xiàn)的高分類精度使這種算法成為微笑檢測領(lǐng)域中的先進(jìn)技術(shù),但需要更多的樣本來訓(xùn)練網(wǎng)絡(luò)。例如,對一個由4個卷積層和1個完全連接層組成的CNN架構(gòu)[10]進(jìn)行微笑檢測,其準(zhǔn)確率達(dá)到94.6%,這比先前在GENKI-4K數(shù)據(jù)集上使用的任何檢測方法所獲得的準(zhǔn)確度都要高。文中應(yīng)用了一種基于多分類模型加權(quán)投票的方法來進(jìn)行人臉微笑檢測。
多分類模型加權(quán)投票法主要由3部分組成,即預(yù)處理,四種分類模型和最后加權(quán)投票,其總體結(jié)構(gòu)如圖1所示。其中Ri(i=1,2,3,4)分別表示各模型的分類結(jié)果。
圖1 總體結(jié)構(gòu)
預(yù)處理階段包括對面部圖像進(jìn)行灰度縮放和直方圖均衡化,特征檢測,并裁剪出面部的中心,最后按照30×30的均勻網(wǎng)格(1格等于1像素點)對其進(jìn)行重采樣。
(1)灰度和直方圖均衡化:在圖像處理算法中,為了加快處理速度(可減小后期的計算量),需將彩色圖像灰度化,但為了獲得更好的對比度[11],需將灰度圖像進(jìn)行直方圖均衡化。這在此次檢測中很重要,因為該方法可獲得更多的面部圖像細(xì)節(jié)。
(2)特征檢測:特征檢測方法ASM[12](active shape model)或CLNF[13](constrained local neural field)在人臉識別中應(yīng)用廣泛,文中選擇CLNF方法;一張完整的面部圖片上總共68個特征點(17個面部側(cè)輪廓點,嘴唇有20個標(biāo)記點,每只眼睛上6個點,鼻子9個點和每個眉毛上5個點)。圖2為在幾個面部樣本上檢測到的面部特征點。
圖2 面部樣本上的特征點
(3)截取面部中心圖和重采樣:文中檢測的圖像僅考慮臉部中心部位,以防止額外的信息被利用,從而影響檢測結(jié)果。因此,得對圖像進(jìn)行裁剪?,F(xiàn)今,對人臉進(jìn)行檢測和分割的方法有很多,例如Viola-Jones人臉檢測器[14];同時還有利用膚色來對圖像進(jìn)行分割而得到臉部中心圖。文中方法是根據(jù)面部側(cè)面特征點形成的輪廓對人臉進(jìn)行裁剪。
分類模型F1包括Uniform LBP,PCA和神經(jīng)網(wǎng)絡(luò)。
(1)Uniform LBP模式:LBP(local binary pattern,局部二值模式)是一種用來描述圖像局部紋理特征的算子[15],具有旋轉(zhuǎn)不變性和灰度不變性等顯著的優(yōu)點,廣泛用于圖像局部紋理特征提取。其基本思想為:在3×3的窗口(以像素點為基準(zhǔn))內(nèi),以窗口中心像素為閾值,將相鄰的8個像素的灰度值與其進(jìn)行比較,若周圍像素值大于中心像素值,則該像素點的位置被標(biāo)記為1,否則為0。從而,3×3鄰域內(nèi)的8個點經(jīng)比較可產(chǎn)生8位二進(jìn)制數(shù)(通常轉(zhuǎn)換為十進(jìn)制數(shù)即LBP碼,共256種),即得到該窗口中心像素點的LBP值,并用這個值來反映該區(qū)域的紋理信息。在像素3×3的鄰域內(nèi),對于中心像素(強度為ic)和相鄰的P個元素(強度為ip,p={0,1,…,P-1}),計算公式為:
(1)
其中,s(x)為符號函數(shù),有:
(2)
但由于圖像的旋轉(zhuǎn)會產(chǎn)生不同的LBP值,同時絕大多數(shù)LBP模式得到的二進(jìn)制數(shù)大多只包含兩次從1到0或從0到1的跳變,為了盡可能降低圖像特征的維數(shù),于是引入LBP的等價模式(Uniform LBP),計算方法為:
(3)
其中,U(LBP)表示二進(jìn)制數(shù)從0到1或從1到0的跳變次數(shù)。
由于Uniform LBP比傳統(tǒng)LBP效果更好[16];因此,在第一個分類模型中,使用Uniform LBP方法在30×30的面部圖像上進(jìn)行特征提取。
(2)主成分分析(principal components analysis,PCA):PCA是最重要的降維方法之一。在數(shù)據(jù)壓縮消除冗余和數(shù)據(jù)噪音消除等領(lǐng)域都有廣泛的應(yīng)用,顧名思義,就是找出數(shù)據(jù)里最主要的方面代替原始數(shù)據(jù)。由于圖像數(shù)據(jù)一般都具有很高的維度,因此可以使用PCA進(jìn)行特征提取和縮減。其降維方法為:
如果有m個面部樣本,且每個訓(xùn)練樣本i對應(yīng)的LBPu被轉(zhuǎn)換為一個向量x(i),n(n=28×28=784)維樣本集D=(x(1),x(2),…,x(m))降維后為n'(n'=149)維樣本集D'=(z(1),z(2),…,z(m)));樣本的協(xié)方差矩陣為:
(4)
CPn'=λn'Pn'
(5)
其中,λn'為C的特征值。
取出最大的n'個特征值對應(yīng)的特征向量(ω1,ω2,…,ωn'),將所有的特征向量標(biāo)準(zhǔn)化后,組成特征向量矩陣W;對樣本集中的每一個樣本x(i),轉(zhuǎn)化為新的樣本z(i)=WTx(i);最后得到輸出樣本集D'。于是n'個特征值對應(yīng)的特征向量將原始樣本轉(zhuǎn)換到n'個特征向量構(gòu)建的新空間中。在測試階段,將轉(zhuǎn)換后的LBPu投影到新的特征向量空間中,可以使圖像的維度降得很低。
(3)反向傳播神經(jīng)網(wǎng)絡(luò):卷積神經(jīng)網(wǎng)絡(luò)廣泛用于人臉識別,并且檢測率非常高。但在該模型中,樣本圖像經(jīng)PCA降維后輸出為149×1的灰度值,因此,使用普通的反向傳播神經(jīng)網(wǎng)絡(luò)即可完成分類。如圖3所示,該神經(jīng)網(wǎng)絡(luò)由輸入層149個神經(jīng)元,隱藏層10個神經(jīng)元和1個輸出神經(jīng)元所構(gòu)成。微笑樣本圖像輸出標(biāo)簽用1表示,而非微笑用-1表示,其他三種分類模型的標(biāo)簽表示方法與此一致。
分類模型F2由Gabor濾波,PCA和SVM組成。
(1)Gabor小波變換:對預(yù)處理后的圖像進(jìn)行Gabor小波變換,由于Gabor函數(shù)形成的二維Gabor小波變換具有在空間域和頻率域同時取得最優(yōu)局部化的特性,能充分對物體紋理特征進(jìn)行提?。黄鋵儆诩哟案道锶~變換,是Gabor理論和小波理論結(jié)合的產(chǎn)物。受其啟發(fā),Gabor小波變換在此模型中以4種尺度(7,12,17和21)同時從六個方向(角度分別為0°,30°,60°,90°,120°和150°)對灰度圖像進(jìn)行變換。二維的Gabor小波變換[17]的計算公式為:
x'=xcosθ+ysinθ
(7)
其中,λ,θ,φ和σ分別為波長(比例),方向,相位偏移和高斯標(biāo)準(zhǔn)差。
圖3 反向傳播神經(jīng)網(wǎng)絡(luò)
在該分類模型中,Gabor小波變換具有非常重要的作用。圖4為對一個樣本面部圖像應(yīng)用24個小波核卷積的結(jié)果;人臉的某些部分在特定的尺度和方向上呈現(xiàn)劇烈的變化趨勢,通過Gabor小波變換之后,這些變化可以很直觀地表現(xiàn)出來。
圖4 圖像卷積結(jié)果
(2)主成分分析:在進(jìn)行Gabor濾波時使用了24個小波核,同時每個核的尺寸為30×30,因此,將濾波器結(jié)果連接起來并將其整合成一個矢量之后,該矢量維數(shù)將達(dá)到21 600(30×30×24);為了避免出現(xiàn)維度危機,與第一個模型中所述的一樣,再次使用PCA進(jìn)行降維。
(3)支持向量機(SVM):SVM基本模型為特征空間上間隔最大的線性分類器,即學(xué)習(xí)策略為間隔最大化,最終通過轉(zhuǎn)化為一個凸二次優(yōu)化問題的求解,或者是在高維空間中尋找一個合理的超平面將數(shù)據(jù)點分隔開來,其中涉及到非線性數(shù)據(jù)到高維的映射以達(dá)到數(shù)據(jù)線性可分的目的。在此模型中,經(jīng)PCA降維后,其維數(shù)仍有146×m,屬于高維空間。非線性SVM的決策函數(shù)[18]可以表示為:
(8)
其中,xi和xt分別表示訓(xùn)練和測試樣本;b為偏差;αi為拉格朗日乘數(shù);N為所有訓(xùn)練樣本的總量;yi∈{+1,-1}為訓(xùn)練樣本的標(biāo)簽。
支持向量機通過映射函數(shù)φ(x),將輸入空間中的樣本特征映射到高維特征空間,從而降低計算量;式8中K(x(i),x(t))為SVM的核函數(shù),與映射函數(shù)的關(guān)系為K(x(i),x(t))=φ(x(i))φ(x(t))。在此模型中,選取徑向基函數(shù)作為核函數(shù):
K(x(i),x(t))=e-‖x(i)-x(t)‖2
(9)
分類模型F3主要包括提取面部的下半部分,對裁剪后的圖像進(jìn)行重采樣,然后使用AdaBoost進(jìn)行分類。
(1)提取臉部的下半部分:臉部的下半部分[19],即從鼻尖到下巴,包含影響檢測結(jié)果的關(guān)鍵信息。換言之,從紋理圖案的平滑度或粗糙度的差異出發(fā),僅臉部的下部就可用于微笑檢測。該模型提取下半臉,鼻尖,下巴和兩個側(cè)面輪廓特征信息。
(2)重采樣:為了減少數(shù)據(jù)樣本維數(shù)和保持維數(shù)均衡,將提取的部分使用30×30均勻網(wǎng)格進(jìn)行重采樣。然后,將重采樣后的數(shù)據(jù)重新調(diào)整為900×1維的矢量。
(3)AdaBoost:AdaBoost是一種迭代(集成學(xué)習(xí))方法[20],既可以用于分類,也可以用于回歸,其核心思想是針對不同的訓(xùn)練集訓(xùn)練同一個弱分類器,然后把在不同訓(xùn)練集上得到的弱分類器集合起來,構(gòu)成一個最終的強分類器。該分類模型將用AdaBoost級聯(lián)結(jié)構(gòu)分類器(建立在弱分類器單層決策樹之上)并對900×m維的樣本進(jìn)行二元分類,其流程為:
輸入:樣本集D=(x(1),x(2),…,x(m)),輸出標(biāo)簽yi∈{-1,+1},弱分類器迭代次數(shù)K
過程:
2.fork=1,2,…,Kdo:
3:使用具有權(quán)重W(k)的樣本集來訓(xùn)練數(shù)據(jù),得到弱分類器Gk(x)
5:ifek>0.5 then break
8:end for
分類模型F4直接使用線性判別分析(LDA)對面部的側(cè)輪廓特征進(jìn)行分類。
(1)側(cè)面輪廓特征點:在預(yù)處理階段已經(jīng)對面部側(cè)面輪廓特征進(jìn)行了檢測。而人類生物學(xué)[21]顯示,人在微笑和非微笑時,面部的幾何特征有著明顯的差異,表現(xiàn)在臉部,眼睛,眉毛,下巴,眶上脊,顴骨,下頜骨,腭部,眼睛和鼻尖、眼睛和嘴唇中心之間的垂直距離,或者鼻子寬度,嘴唇寬度,臉部高度和臉部陰影的側(cè)面輪廓。但是這些特征可能會受到外界因素的影響,如人的肥胖程度,同時面部側(cè)面輪廓的上半部分可能會被頭發(fā)覆蓋,因此,在此模型中僅考慮從左耳到右耳的下側(cè)輪廓。然后,將所有特征標(biāo)記點的坐標(biāo)整合成一個列向量送入分類器進(jìn)行分類。
(2)線性判別分析:LDA(linear discriminant analysis)不但是一種監(jiān)督學(xué)習(xí)的降維技術(shù),同時也是一個強大的分類器[22],也就是說它的數(shù)據(jù)集的每個樣本是有類別輸出的。其思想可以用一句話概括,就是“投影后類內(nèi)方差最小,類間方差最大”。就是要將樣本數(shù)據(jù)在低維度上進(jìn)行投影,投影后希望每一種類別數(shù)據(jù)的投影點盡可能接近,而不同類別的數(shù)據(jù)的類別中心之間的距離盡可能大。其二分類原理和流程為:
數(shù)據(jù)集D=(x(1),x(2),…,x(m)),其中任意樣本x(i)為n(本模型中n=68)維向量,y(i)∈{-1,1};定義Nj(j=-1,1)為第j類樣本的個數(shù),Xj(j=-1,1)為第j類樣本的集合,而μj(j=-1,1)為第j類樣本的均值向量,定義∑j(j=-1,1)為第j類樣本的協(xié)方差矩陣(嚴(yán)格說是缺少分母部分的協(xié)方差矩陣)。
μj的表達(dá)式為:
(10)
∑j的表達(dá)式為:
(11)
綜上所述,最終的優(yōu)化目標(biāo)為:
(12)
一般定義類內(nèi)散度矩陣Sw為:
(13)
同時定義類間散度矩陣為Sb:
Sb=(μ-1-μ1)(μ-1-μ1)T
(14)
然后優(yōu)化目標(biāo)重寫為:
(15)
加權(quán)投票是集成學(xué)習(xí)的一種方法,是一種很直觀的方法,其給分類性能高的分類器賦予一個高的權(quán)值,投票結(jié)果往往能利用單分類模型間的互補功能來減少單個分類器的誤差,提高預(yù)測性能和分類精度。其集成四個分類模型的加權(quán)投票流程[23]如下:
(1)計算每個分類模型的正確率:
(16)
其中,i=1,2,3,4;s=Smile,Non-Smile。
(2)計算每個模型的權(quán)值wi為:
(17)
(3)將各模型得到的檢測結(jié)果分別與所對應(yīng)的權(quán)值wi相乘,得到sumi。
(4)將各結(jié)果的sumi相加,得到sum,然后將sum與閾值0相比,即根據(jù)式18得到最終的檢測結(jié)果。
(18)
每個分類模型的權(quán)重可以認(rèn)為是在一個訓(xùn)練子集上的檢測率。換句話說,權(quán)重可以展現(xiàn)其相應(yīng)模型的檢測的準(zhǔn)確度。加權(quán)投票步驟如圖1所示。
實驗在GENKI-4K[24]人臉數(shù)據(jù)集上進(jìn)行,該數(shù)據(jù)集中圖片是在不同的成像條件下拍攝的,無論室內(nèi)還是室外,姿勢(大部分的頭部的偏轉(zhuǎn),俯仰和滾動參數(shù)圖像距離正面位置在20°以內(nèi)),年齡,性別,或是否戴帽子或眼鏡;而且所有圖像都是手動標(biāo)記。GENKI-4K分別包含的微笑和非微笑面部圖像分別為2 162和1 838個。文中在數(shù)據(jù)集中隨機選用了200張圖片進(jìn)行實驗,100張微笑的,100張非微笑的。75%的圖片用于訓(xùn)練,其余的用于后期測試驗證。在訓(xùn)練和測試階段,微笑與非微笑照片的比例一樣。
從表1可得四個分類模型對微笑,非微笑和整體的檢測率,以及最終經(jīng)過加權(quán)投票后的檢測率。可以看出,表現(xiàn)最好的和最差的分別為模型F3和模型F1。此外,一些模型對微笑的檢測率更好,一些對非微笑的檢測率更為準(zhǔn)確。最后表明不同模型的加權(quán)投票可以產(chǎn)生一個完全適用于微笑和非微笑檢測的整體模型(見表1的最后一列,其中對微笑和非微笑的檢測都非常好且非常接近)。對于GENKI-4K人臉數(shù)據(jù)集,基于加權(quán)投票的方法的整體識別率為95.8%。表2為文中所用方法與GENKI-4K數(shù)據(jù)集中的其他微笑檢測方法進(jìn)行比較的結(jié)果。
表1 微笑檢測率 %
表2 比較結(jié)果
注:?表示沒有相關(guān)的檢測率。
應(yīng)用了一種基于多分類模型加權(quán)投票的方法對面部微笑進(jìn)行檢測識別,這些分類模型分別受現(xiàn)今最流行的人臉識別或性別檢測方法的啟發(fā);首先對面部圖像進(jìn)行預(yù)處理,使之規(guī)范化并增強其對比度,然后利用各分類模型優(yōu)勢對圖像進(jìn)行檢測分類,最后對各模型的結(jié)果進(jìn)行加權(quán)投票。
顯而易見,該方法包含了不同的分類檢測方法,即神經(jīng)網(wǎng)絡(luò),SVM,AdaBoost和LDA,使總體的分類能力明顯提高。此外,運用不同的特征提取方法,如LBP,Gabor,PCA,面部下半部和特征標(biāo)記檢測,把基本能用于微笑檢測所需的重要特征都使用了。文中紋理和幾何信息均被用于面部微笑檢測。第一和第二種模型使用紋理信息,第三和第四種模型使用幾何信息。利用這兩種類型的信息以及不同的分類模型使得運用的方法具有很強的分類檢測能力。