何 穎,陳淑鑫,王 豐
(1.天津大學(xué)仁愛學(xué)院,天津 301636;2.哈爾濱工程大學(xué)理學(xué)院,哈爾濱 黑龍江 150001)
隨著人工智能的快速發(fā)展,人臉表情識(shí)別已經(jīng)成為研究的熱點(diǎn)之一。在人機(jī)交互、認(rèn)知心理學(xué)、計(jì)算神經(jīng)科學(xué)和醫(yī)療保健領(lǐng)域具有廣泛的應(yīng)用潛力[1]。
在提高表情識(shí)別率上,學(xué)者們進(jìn)行了諸多改進(jìn),但大多數(shù)算法的實(shí)驗(yàn)數(shù)據(jù)中,訓(xùn)練數(shù)據(jù)包含或等于測試數(shù)據(jù),代表以前見過相同人的相同表情。而當(dāng)訓(xùn)練數(shù)據(jù)相異于測試數(shù)據(jù)時(shí),即非特定人臉表情識(shí)別,識(shí)別率就會(huì)大幅降低。針對(duì)非特定人臉表情識(shí)別方法,大致可分為兩類:基于特征分解和基于特征增強(qiáng)的方法?;谔卣鞣纸獾姆椒ㄖ饕欠蛛x表情特征與外觀特征,從而減少人臉外觀對(duì)表情特征的影響;基于特征增強(qiáng)的方法是優(yōu)化表情特征提取方法,增強(qiáng)表情特征的鑒別力。文獻(xiàn)[2]提出用高階張量分析的方法對(duì)人臉表情圖像進(jìn)行分解,提取出與人臉外觀無關(guān)的表情特征。文獻(xiàn)[3]針對(duì)人臉局部區(qū)域特征建立三維張量模型,從而分離出人臉表情特征,同時(shí)結(jié)合表情子空間多分類器集成的分類方法進(jìn)行分類。文獻(xiàn)[4]提出一種基于動(dòng)態(tài)序列特征的人臉表情識(shí)別方法,該方法通過光流和幀間灰度差兩類方法提取表情序列動(dòng)態(tài)特征,更好地表征了表情運(yùn)動(dòng)的形變過程。文獻(xiàn)[5]利用二維主成分分法析法(2DPCA)以及主成分分析法(PCA)改進(jìn)表情特征提取算法,從而提取出更豐富的表情特征。
由于人臉外觀、自發(fā)情緒、頭部姿勢變化、光照變化等導(dǎo)致表情特征無法準(zhǔn)確獲取[1],使得大多數(shù)非特定人臉表情算法識(shí)別率較低。因此要識(shí)別出正確的人臉表情,重要的是提取出具有高鑒別力的表情本質(zhì)特征。因此本文結(jié)合特征增強(qiáng)和特征分解的兩類方法,利用改進(jìn)的LBP[6]算子獲得人臉表情圖像的全臉特征以及眉毛、眼睛、嘴巴區(qū)域的局部特征,從而增強(qiáng)表情特征的顯著性和穩(wěn)健性,并通過張量分析方法將獲取的人臉表情特征分解到人臉外觀子空間和表情子空間,從而減少人臉外觀對(duì)表情特征的影響。同時(shí)在相似度匹配時(shí),利用高階奇異值分解將人臉表情特征從圖像域轉(zhuǎn)換到變換域,通過計(jì)算區(qū)域能量獲得表情特征的相似度,從而實(shí)現(xiàn)精準(zhǔn)的匹配分類。
由于人臉表情圖像中通常包含與表情無關(guān)的信息(例如耳朵,額頭等),因此需要去除與表情無關(guān)的信息,提取面部表情感興趣區(qū)域;另外不同的人在表達(dá)同一種表情時(shí),其表現(xiàn)方式的差異主要集中在眉毛、眼睛和嘴巴區(qū)域,而在其它區(qū)域基本相同[3]。
Viola-Jones[7]算法在2001年IEEE的CVPR上提出的.該算法因?yàn)槠涓咝Ф焖俚臋z測被廣泛應(yīng)用于人臉檢測中,同樣也可用于人臉五官的檢測。本文采用Viola-Jones算法來獲得人臉、眼睛、眉毛和嘴巴區(qū)域。
該算法提出使用類Haar特征描述人臉灰度變化情況,從而對(duì)人臉區(qū)域檢測。類Haar特征通過特征模板(共五種基本特征模板,如圖1所示)計(jì)算得到。特征模板包含黑色和白色兩種矩形塊,類Haar特征值定義為白色矩形區(qū)域像素和減去黑色矩形區(qū)域像素和的差值。
圖1 5種基本 Haar特征模板
在人臉檢測過程中,將特征模板放置于人臉圖像的不同位置,不斷地改變特征模板的大小和位置,可在圖像窗口中窮舉出大量的類Haar特征。龐大的計(jì)算量會(huì)導(dǎo)致后續(xù)人臉檢測速度降低。為了快速計(jì)算類Haar特征,Viola等引入積分圖的概念。積分圖的構(gòu)造方式如式(1)所示.位置處的積分圖像值I(x,y)是原圖像位置左上角方向所有像素f(x′,y′)的和
(1)
如圖2所示,積分圖中(x1,y1)的值為矩形A的像素和,(x2,y2)的值為矩形A和矩形B的像素和,(x3,y3)的值為矩形A、B、C的像素和,矩形C的像素和表示為
圖2 積分圖示例
sumc=I(x3,y3)-I(x2,y2)
(2)
從式(2)可以看出,通過積分圖的方式,可以快速得到類Haar特征值。
Viola-Jones算法利用Adaboost 算法構(gòu)建級(jí)聯(lián)分類器,遍歷整幅圖像進(jìn)行人臉檢測。級(jí)聯(lián)分類器的思路為將若干個(gè)強(qiáng)分類器由簡單到復(fù)雜排列,級(jí)聯(lián)起來。整個(gè)過程好比一個(gè)退化的決策樹,以人臉區(qū)域?yàn)槔麄€(gè)過程會(huì)拒絕非人臉,然后將人臉傳到下一個(gè)強(qiáng)分類器中。這樣會(huì)使得簡單的強(qiáng)分類器篩選拒絕了大多數(shù)的非人臉圖像,復(fù)雜的強(qiáng)分類器的工作量會(huì)變小。這樣就提高了檢測效率,保證了檢測的實(shí)時(shí)性。
非特定人臉表情識(shí)別的難點(diǎn)在于難以提取人臉表情中隱藏較深的表情特征[8],因此重點(diǎn)是提取出豐富的、具有鑒別力的人臉表情特征。
人臉表情的特征一般分為全臉表情特征和眼睛、眉毛和嘴巴局部表情特征。但由于表情特征具有典型的局部性[2],因此全臉表情特征不能反映表情細(xì)節(jié)差異;而局部表情特征在區(qū)分不同表情之間的整體差異時(shí)效果欠佳。基于兩種特征可以優(yōu)勢互補(bǔ),本文融合了LDP提取全臉表情特征以及CBP提取的眉毛、眼睛、嘴巴區(qū)域的局部表情特征,從而增強(qiáng)表情特征的穩(wěn)健性,提高表情識(shí)別率。
通常在提取人臉表情紋理特征時(shí)都會(huì)選擇LBP(Local Binary Pattern)[9-11]算子,因?yàn)樗軐?duì)灰度圖像中局部的紋理信息進(jìn)行度量和提取。為了提高LBP的抗噪能力,Jabid[12]等人提出了一種基于局部方向模式(LDP)算子的新特征提取方法。LDP算子不僅繼承了局部二值模式的所有優(yōu)點(diǎn),并對(duì)光照、噪聲等表現(xiàn)更為魯棒,因此適合用LDP來提取全臉表情特征。
LDP的基本思路是對(duì)于圖像中的某個(gè)像素x,其周圍有一個(gè)局部3×3鄰域,周邊的八個(gè)方向的像素位置分別為mi(i=0,1,2,…,7)。該像素與八個(gè)Kirsch 算子M0~M7(如圖3所示)進(jìn)行卷積運(yùn)算,然后得到對(duì)應(yīng)8個(gè)方向的卷積值,將卷積值的絕對(duì)值進(jìn)行從大到小排序,取k(k<8)個(gè)最大絕對(duì)值作為其主要特征,對(duì)應(yīng)這k個(gè)像素位置賦值為1,其余8-k個(gè)位賦值為0,按像素位置m7到m0進(jìn)行排列,從而得到LDP二進(jìn)制編碼,再轉(zhuǎn)化為十進(jìn)制編碼,即為LDP值。
圖3 8個(gè)方向的kirsch算子
LDP具體計(jì)算公式如下:
M={m0,m1,…,m7}
(3)
(4)
(5)
其中,mk表示第k大的邊緣返回值,M為8個(gè)方向邊緣返回值集合,LDPk為計(jì)算得到的LDP編碼值。
本文通過上述方法獲取人臉表情圖像的全臉LDP值,即獲取人臉表情圖像的LDP編碼圖,文獻(xiàn)[13]驗(yàn)證了當(dāng)k=3時(shí)可獲得最好的表情識(shí)別率,因此本文中k取值為3。然后根據(jù)Viola-Jones算法獲得的人臉區(qū)域?qū)υ璍DP編碼圖像進(jìn)行裁剪,得到人臉區(qū)域的LDP編碼圖。最后計(jì)算LDP特征直方圖。該LDP特征直方圖的維數(shù)為56維。
LDP 表情特征提取過程如圖4所示。
圖4 LDP 特征提取過程
人臉表情信息主要集中在眉毛、眼睛、嘴巴部分,因此準(zhǔn)確提取這些區(qū)域的紋理特征非常重要。為了進(jìn)一步提高現(xiàn)有LBP算子的鑒別力,付[14]等提出中心化二值模式(CBP)算子。CBP算子考慮中心像素點(diǎn)的作用并賦予其最高權(quán)重,實(shí)現(xiàn)鑒別力的提高;并且由于改變了現(xiàn)有LBP算子的符號(hào)函數(shù),因此對(duì)白噪聲反應(yīng)不敏感。因此CBP算子更適合來提取細(xì)微的局部表情特征。
CBP碼值的計(jì)算方法如下
(6)
符號(hào)函數(shù)s(x)的定義如下
(7)
其中:M,R分別指鄰域數(shù)、半徑,gc是中心像素點(diǎn),gm(m=1,2,3,…,7)為鄰域像素點(diǎn)像素值,D為閾值常數(shù)。
本文首先按照式(6)和式(7)獲取人臉表情圖像的CBP編碼圖,然后通過Viola-Jones算法獲取人臉的眼睛(包括眉毛)和嘴巴區(qū)域,并對(duì)原LDP編碼圖像進(jìn)行裁剪,得到眼睛(包括眉毛)和嘴巴區(qū)域相應(yīng)的 CBP 編碼圖像。最后計(jì)算兩塊區(qū)域的CBP特征直方圖,每塊直方圖的特征都為32維,并把兩塊區(qū)域的直方圖按順序串接起來,形成 CBP 表情局部特征,共64維。如圖5所示。
圖5 CBP表情特征提取過程
本文最終獲得代表人臉表情圖像的全臉LDP特征,共56維,和代表人臉表情圖像的局部CBP特征,共64維,將兩部分特征串聯(lián)在一起,最終得到一個(gè)120維的人臉表情特征。
在多線性代數(shù)中,張量用多維數(shù)組表示。比如一維數(shù)組稱為向量,二維數(shù)據(jù)稱為矩陣,三維以及三維以上的數(shù)組稱為張量[15]。N階張量可以表示為A∈RI1×I2×I3…×IN,張量的每一個(gè)維度稱為一個(gè)模態(tài)。
張量的模n矩陣化:將張量按照第n模態(tài)進(jìn)行展開變成矩陣的過程。將張量A∈RI1×I2×I3…×IN進(jìn)行模n矩陣化其中,張量元素(i1,i2,i3,…in)映射為元素(in,j)。
(8)
張量模n乘積:指張量在第n模態(tài)下與矩陣相乘,乘積仍為一個(gè)張量。A∈RI1×I2×I3…×IN與U∈RJn×In的模n乘積表示為
(A×nU)i1,i2,…,in-1,jn,in+1,…iN
(9)
其中要求第n階維度與矩陣的行數(shù)相等。
HOSVD(高階奇異值分解)是矩陣奇異值分解的高階推廣形式??梢园褟埩糠纸獬梢粋€(gè)核張量和幾個(gè)正交矩陣模n積的形式,例如對(duì)任意一個(gè)張量A∈RI1×I2×I3…×IN可以進(jìn)行高階奇異值分解為
A=S×1U1×2U2…×iUi…×NUN
(10)
其中S∈RI1×I2×I3…×IN核心張量,Ui為第n模態(tài)Ii×Ii的正交子空間矩陣。
4.2.1 基于表情子空間的分類
設(shè)表情圖像數(shù)據(jù)庫里共有p個(gè)人,每個(gè)人拍攝了e種不同的表情的面部圖像。按照第2節(jié)中全臉LDP特征和局部CBP特征獲得代表人臉表情總體特征的一維向量i,構(gòu)建人臉張量模型Ti×e×p。張量Ti×e×p進(jìn)行高階奇異值分解為:
T=S×1I×2E×3P
(11)
其中S∈Rni×ne×np代表核張量,I∈Rni×ni的正交矩陣,E∈Rne×ne的正交矩陣,P∈Rnp×np的正交矩陣。I代表分離出的人臉特征子空間,E代表分離出的表情子空間,P代表分離出人物子空間。
如圖6所示,張量Ti×e×p的第p個(gè)橫向切面為矩陣Tp,代表與第p個(gè)人相關(guān)的表情特征,第e個(gè)豎向切面為矩陣Te,代表第e種表情的特征。那么可以認(rèn)為,矩陣Tp的所有列向量共同組成了第p個(gè)人的一組表情坐標(biāo)系,即第p個(gè)人的所有表情都存在于這組表情坐標(biāo)系中。那么,對(duì)于某個(gè)表情e,在該組坐標(biāo)系中都存在一個(gè)坐標(biāo)he,而且對(duì)于所有人都有這樣一組表情坐標(biāo)系,表情e在這些表情坐標(biāo)系中也都會(huì)對(duì)應(yīng)這樣一個(gè)坐標(biāo)he,那么he就是與人物無關(guān)的表情特征信息。
圖6 表情張量T
對(duì)于被測試人臉表情圖片,只需要提取出與人物無關(guān)的表情特征,并將其與表情數(shù)據(jù)庫中的已知表情進(jìn)行相似度對(duì)比,即可實(shí)現(xiàn)表情識(shí)別。
4.2.2 基于張量的表情圖像相似度匹配
HOSVD(高階奇異值分解)可以將圖像從圖像域轉(zhuǎn)換到變換域,從而更準(zhǔn)確地提取到圖像中的結(jié)構(gòu)特征。本文利用HOSVD在圖像領(lǐng)域的優(yōu)勢,提出一種基于HOSVD分類的非特定人臉表情識(shí)別算法。
1)表情子張量的構(gòu)建
記兩幅表情圖像為G,待識(shí)別圖像為F,圖像大小均為W×H。分別提取G和F的眼眉嘴局部區(qū)域的LDP編碼特征,記為圖像G′和F′。
為了避免像素的不連續(xù)性,采用滑動(dòng)窗口技術(shù)把G′和F′分成I個(gè)相互對(duì)應(yīng)的M×N圖像子塊,滑動(dòng)步長設(shè)為r,r≤M且r≤N,則
(12)
其中,floor(x)是指不超過x的最大整數(shù)。然后將I個(gè)相互對(duì)應(yīng)的M×N源圖像子塊構(gòu)成I個(gè)M×N×2子張量Ti(i=1,2,…,I),如圖7所示。
圖7 表情子張量的構(gòu)建
2)高階奇異值分解提取圖像特征
HOSVD(高階奇異值分解)可以將圖像從圖像域轉(zhuǎn)換到變換域,從而更準(zhǔn)確地提取到圖像中的結(jié)構(gòu)特征。本文利用HOSVD在圖像領(lǐng)域的優(yōu)勢,提出一種基于HOSVD分類的非特定人臉表情識(shí)別算法。
Ti=Si×1Ui×2Vi×3Qi
(13)
(14)
3)基于區(qū)域能量的相似度計(jì)算
(15)
若兩個(gè)系數(shù)的區(qū)域能量值越接近,表明兩個(gè)圖像塊之間冗余信息越多,圖像越相似。
因此根據(jù)區(qū)域能量,可得到兩幅圖像的相似度值m:
(16)
顯然,m的值越接近0,說明兩幅圖像的相似度越高。
本節(jié)對(duì)JAFFE人臉表情庫進(jìn)行實(shí)驗(yàn)驗(yàn)證。JAFFE人臉表情庫由10個(gè)人,共213幅圖像 組成,每人都包含憤怒、厭惡、恐懼、高興、悲傷、驚訝和中性7種表情,每人每種表情2~4幅,每種表情共有27幅。該數(shù)據(jù)集部分人臉表情圖像如圖8所示。本文驗(yàn)證了憤怒、厭惡、恐懼、高興、悲傷、驚訝六種表情。實(shí)驗(yàn)采用 Leave-one-out的 方式,取一個(gè)人的所有表情圖像作為測試集,其余9人作為訓(xùn)練集圖像,交叉實(shí)驗(yàn)10次,識(shí)別率取10次平均值。該數(shù)據(jù)集中在進(jìn)行HOSVD相似度匹配時(shí),將眼睛和眉毛區(qū)域縮放到44×110,嘴巴區(qū)域縮放到44×54。水平進(jìn)行拼接為44×164的表情圖像后,分為4(44/11)×4(164/41)個(gè)圖像子塊。
圖8 JAFFE數(shù)據(jù)集部分人臉表情圖像
本文通過Viola-Jones算法獲取的人臉、眼睛、眉毛和嘴巴的區(qū)域,如圖9所示。
圖9 通過Viola-Jones算法獲取的人臉、眼睛和嘴巴的區(qū)域
本文首先采用第三節(jié)中CBP+LDP的特征提取方法,對(duì)傳統(tǒng)最近鄰的方式分類算法與第4.2節(jié)中基于HOSVD的分類算法進(jìn)行對(duì)比,在JAFFE數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果如圖10所示。
圖10 JAFFE數(shù)據(jù)集部分人臉表情圖像
由圖10可以看出,在JAFFE數(shù)據(jù)集上,本文提出的LDP及CBP特征提取+HOSVD分類識(shí)別算法,相比傳統(tǒng)的LDP及CBP特征提取+最近鄰算法進(jìn)行分類識(shí)別,平均識(shí)別率從大約57%提高到大約75%,說明本文提出的基于HOSVD方法在排除人臉外觀對(duì)表情特征提取的同時(shí),利用HOSVD作為分解工具還能有效提取LDP編碼圖像的結(jié)構(gòu)特征,更準(zhǔn)確地找到兩幅圖像的相似性。另外在JAFFE數(shù)據(jù)集,驚訝、開心和害怕三種表情的識(shí)別率都相對(duì)較高,這是因?yàn)檫@三種表情的表現(xiàn)程度相對(duì)比較夸張,更容易識(shí)別。
為了進(jìn)一步說明特征選取對(duì)表情識(shí)別的影響,本文將在特征提取階段選取三種方式:只選取CBP提取眼眉嘴的局部特征,只選取LDP提取眼眉嘴的局部特征,選取CBP提取眼眉嘴的局部特征和LDP提取全臉特征。比較結(jié)果如表1所示。
表1 特征提取算法表情識(shí)別率比較
從表1可以看出,在JAFFE表情庫上,選取CBP提取眼眉嘴的局部特征比LDP提取眼眉嘴的局部特征的識(shí)別效果更好,說明CBP能更好地提取局部特征,鑒別能力更高。當(dāng)使用選取CBP提取眼眉嘴的局部特征和LDP提取全臉特征時(shí),相比只提取眼眉嘴的局部特征,識(shí)別率更高,說明在進(jìn)行表情識(shí)別時(shí),全臉特征和局部特征都會(huì)影響識(shí)別率,利用全臉表情特征和局部表情特征融合能獲得更高的識(shí)別率。
為了比較本文方法與其它方法在非特定人臉表情識(shí)別率的性能,因此本文在JAFFE數(shù)據(jù)集與常用的LBP,HOSVD,AAM等方法進(jìn)行了比較,見表2所示。
表2 表情識(shí)別算法識(shí)別率對(duì)比
由表2可以看出,非特定人臉表情的識(shí)別率普遍不高,但本文方法在平均識(shí)別率上要優(yōu)于其它的表情識(shí)別方法,主要是由于局部區(qū)域特征分解與整體區(qū)域特征分解相融合,不僅利用了整體表情特征,而且突出了局部表情特征。此外,采用HOSVD建立表情子空間,有效地減少了人臉外觀的影響,同時(shí)結(jié)合HOSVD優(yōu)秀的特征提取能力來提高識(shí)別性能,從而獲得了較高的表情識(shí)別率和較好的系統(tǒng)魯棒性。
由于非特定人臉的表情識(shí)別一直是表情識(shí)別領(lǐng)域的一個(gè)難題,因此本文對(duì)此進(jìn)行了研究。提出了一種基于HOSVD的非特定人臉的表情識(shí)別算法。該算法有以下特點(diǎn):
1)對(duì)比CBP與LDP在表情特征提取的特點(diǎn),采用局部區(qū)域CBP特征與全臉LDP特征相融合,不僅利用了全臉表情特征,而且突出了局部表情特征;
2)利用HOSVD分解工具結(jié)合人臉表情子空間和區(qū)域能量進(jìn)行相似度對(duì)比,從而有效提高表情識(shí)別率。