何 穎,陳淑鑫,王 豐
(1.天津大學仁愛學院,天津 301636;2.哈爾濱工程大學理學院,哈爾濱 黑龍江 150001)
隨著人工智能的快速發展,人臉表情識別已經成為研究的熱點之一。在人機交互、認知心理學、計算神經科學和醫療保健領域具有廣泛的應用潛力[1]。
在提高表情識別率上,學者們進行了諸多改進,但大多數算法的實驗數據中,訓練數據包含或等于測試數據,代表以前見過相同人的相同表情。而當訓練數據相異于測試數據時,即非特定人臉表情識別,識別率就會大幅降低。針對非特定人臉表情識別方法,大致可分為兩類:基于特征分解和基于特征增強的方法。基于特征分解的方法主要是分離表情特征與外觀特征,從而減少人臉外觀對表情特征的影響;基于特征增強的方法是優化表情特征提取方法,增強表情特征的鑒別力。文獻[2]提出用高階張量分析的方法對人臉表情圖像進行分解,提取出與人臉外觀無關的表情特征。文獻[3]針對人臉局部區域特征建立三維張量模型,從而分離出人臉表情特征,同時結合表情子空間多分類器集成的分類方法進行分類。文獻[4]提出一種基于動態序列特征的人臉表情識別方法,該方法通過光流和幀間灰度差兩類方法提取表情序列動態特征,更好地表征了表情運動的形變過程。文獻[5]利用二維主成分分法析法(2DPCA)以及主成分分析法(PCA)改進表情特征提取算法,從而提取出更豐富的表情特征。
由于人臉外觀、自發情緒、頭部姿勢變化、光照變化等導致表情特征無法準確獲取[1],使得大多數非特定人臉表情算法識別率較低。因此要識別出正確的人臉表情,重要的是提取出具有高鑒別力的表情本質特征。因此本文結合特征增強和特征分解的兩類方法,利用改進的LBP[6]算子獲得人臉表情圖像的全臉特征以及眉毛、眼睛、嘴巴區域的局部特征,從而增強表情特征的顯著性和穩健性,并通過張量分析方法將獲取的人臉表情特征分解到人臉外觀子空間和表情子空間,從而減少人臉外觀對表情特征的影響。同時在相似度匹配時,利用高階奇異值分解將人臉表情特征從圖像域轉換到變換域,通過計算區域能量獲得表情特征的相似度,從而實現精準的匹配分類。
由于人臉表情圖像中通常包含與表情無關的信息(例如耳朵,額頭等),因此需要去除與表情無關的信息,提取面部表情感興趣區域;另外不同的人在表達同一種表情時,其表現方式的差異主要集中在眉毛、眼睛和嘴巴區域,而在其它區域基本相同[3]。
Viola-Jones[7]算法在2001年IEEE的CVPR上提出的.該算法因為其高效而快速的檢測被廣泛應用于人臉檢測中,同樣也可用于人臉五官的檢測。本文采用Viola-Jones算法來獲得人臉、眼睛、眉毛和嘴巴區域。
該算法提出使用類Haar特征描述人臉灰度變化情況,從而對人臉區域檢測。類Haar特征通過特征模板(共五種基本特征模板,如圖1所示)計算得到。特征模板包含黑色和白色兩種矩形塊,類Haar特征值定義為白色矩形區域像素和減去黑色矩形區域像素和的差值。

圖1 5種基本 Haar特征模板
在人臉檢測過程中,將特征模板放置于人臉圖像的不同位置,不斷地改變特征模板的大小和位置,可在圖像窗口中窮舉出大量的類Haar特征。龐大的計算量會導致后續人臉檢測速度降低。為了快速計算類Haar特征,Viola等引入積分圖的概念。積分圖的構造方式如式(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 算法構建級聯分類器,遍歷整幅圖像進行人臉檢測。級聯分類器的思路為將若干個強分類器由簡單到復雜排列,級聯起來。整個過程好比一個退化的決策樹,以人臉區域為例,整個過程會拒絕非人臉,然后將人臉傳到下一個強分類器中。這樣會使得簡單的強分類器篩選拒絕了大多數的非人臉圖像,復雜的強分類器的工作量會變小。這樣就提高了檢測效率,保證了檢測的實時性。
非特定人臉表情識別的難點在于難以提取人臉表情中隱藏較深的表情特征[8],因此重點是提取出豐富的、具有鑒別力的人臉表情特征。
人臉表情的特征一般分為全臉表情特征和眼睛、眉毛和嘴巴局部表情特征。但由于表情特征具有典型的局部性[2],因此全臉表情特征不能反映表情細節差異;而局部表情特征在區分不同表情之間的整體差異時效果欠佳。基于兩種特征可以優勢互補,本文融合了LDP提取全臉表情特征以及CBP提取的眉毛、眼睛、嘴巴區域的局部表情特征,從而增強表情特征的穩健性,提高表情識別率。
通常在提取人臉表情紋理特征時都會選擇LBP(Local Binary Pattern)[9-11]算子,因為它能對灰度圖像中局部的紋理信息進行度量和提取。為了提高LBP的抗噪能力,Jabid[12]等人提出了一種基于局部方向模式(LDP)算子的新特征提取方法。LDP算子不僅繼承了局部二值模式的所有優點,并對光照、噪聲等表現更為魯棒,因此適合用LDP來提取全臉表情特征。
LDP的基本思路是對于圖像中的某個像素x,其周圍有一個局部3×3鄰域,周邊的八個方向的像素位置分別為mi(i=0,1,2,…,7)。該像素與八個Kirsch 算子M0~M7(如圖3所示)進行卷積運算,然后得到對應8個方向的卷積值,將卷積值的絕對值進行從大到小排序,取k(k<8)個最大絕對值作為其主要特征,對應這k個像素位置賦值為1,其余8-k個位賦值為0,按像素位置m7到m0進行排列,從而得到LDP二進制編碼,再轉化為十進制編碼,即為LDP值。

圖3 8個方向的kirsch算子
LDP具體計算公式如下:
M={m0,m1,…,m7}
(3)
(4)
(5)
其中,mk表示第k大的邊緣返回值,M為8個方向邊緣返回值集合,LDPk為計算得到的LDP編碼值。
本文通過上述方法獲取人臉表情圖像的全臉LDP值,即獲取人臉表情圖像的LDP編碼圖,文獻[13]驗證了當k=3時可獲得最好的表情識別率,因此本文中k取值為3。然后根據Viola-Jones算法獲得的人臉區域對原LDP編碼圖像進行裁剪,得到人臉區域的LDP編碼圖。最后計算LDP特征直方圖。該LDP特征直方圖的維數為56維。
LDP 表情特征提取過程如圖4所示。

圖4 LDP 特征提取過程
人臉表情信息主要集中在眉毛、眼睛、嘴巴部分,因此準確提取這些區域的紋理特征非常重要。為了進一步提高現有LBP算子的鑒別力,付[14]等提出中心化二值模式(CBP)算子。CBP算子考慮中心像素點的作用并賦予其最高權重,實現鑒別力的提高;并且由于改變了現有LBP算子的符號函數,因此對白噪聲反應不敏感。因此CBP算子更適合來提取細微的局部表情特征。
CBP碼值的計算方法如下
(6)
符號函數s(x)的定義如下
(7)
其中:M,R分別指鄰域數、半徑,gc是中心像素點,gm(m=1,2,3,…,7)為鄰域像素點像素值,D為閾值常數。
本文首先按照式(6)和式(7)獲取人臉表情圖像的CBP編碼圖,然后通過Viola-Jones算法獲取人臉的眼睛(包括眉毛)和嘴巴區域,并對原LDP編碼圖像進行裁剪,得到眼睛(包括眉毛)和嘴巴區域相應的 CBP 編碼圖像。最后計算兩塊區域的CBP特征直方圖,每塊直方圖的特征都為32維,并把兩塊區域的直方圖按順序串接起來,形成 CBP 表情局部特征,共64維。如圖5所示。

圖5 CBP表情特征提取過程
本文最終獲得代表人臉表情圖像的全臉LDP特征,共56維,和代表人臉表情圖像的局部CBP特征,共64維,將兩部分特征串聯在一起,最終得到一個120維的人臉表情特征。
在多線性代數中,張量用多維數組表示。比如一維數組稱為向量,二維數據稱為矩陣,三維以及三維以上的數組稱為張量[15]。N階張量可以表示為A∈RI1×I2×I3…×IN,張量的每一個維度稱為一個模態。
張量的模n矩陣化:將張量按照第n模態進行展開變成矩陣的過程。將張量A∈RI1×I2×I3…×IN進行模n矩陣化其中,張量元素(i1,i2,i3,…in)映射為元素(in,j)。
(8)
張量模n乘積:指張量在第n模態下與矩陣相乘,乘積仍為一個張量。A∈RI1×I2×I3…×IN與U∈RJn×In的模n乘積表示為
(A×nU)i1,i2,…,in-1,jn,in+1,…iN
(9)
其中要求第n階維度與矩陣的行數相等。
HOSVD(高階奇異值分解)是矩陣奇異值分解的高階推廣形式。可以把張量分解成一個核張量和幾個正交矩陣模n積的形式,例如對任意一個張量A∈RI1×I2×I3…×IN可以進行高階奇異值分解為
A=S×1U1×2U2…×iUi…×NUN
(10)
其中S∈RI1×I2×I3…×IN核心張量,Ui為第n模態Ii×Ii的正交子空間矩陣。
4.2.1 基于表情子空間的分類
設表情圖像數據庫里共有p個人,每個人拍攝了e種不同的表情的面部圖像。按照第2節中全臉LDP特征和局部CBP特征獲得代表人臉表情總體特征的一維向量i,構建人臉張量模型Ti×e×p。張量Ti×e×p進行高階奇異值分解為:
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個橫向切面為矩陣Tp,代表與第p個人相關的表情特征,第e個豎向切面為矩陣Te,代表第e種表情的特征。那么可以認為,矩陣Tp的所有列向量共同組成了第p個人的一組表情坐標系,即第p個人的所有表情都存在于這組表情坐標系中。那么,對于某個表情e,在該組坐標系中都存在一個坐標he,而且對于所有人都有這樣一組表情坐標系,表情e在這些表情坐標系中也都會對應這樣一個坐標he,那么he就是與人物無關的表情特征信息。

圖6 表情張量T
對于被測試人臉表情圖片,只需要提取出與人物無關的表情特征,并將其與表情數據庫中的已知表情進行相似度對比,即可實現表情識別。
4.2.2 基于張量的表情圖像相似度匹配
HOSVD(高階奇異值分解)可以將圖像從圖像域轉換到變換域,從而更準確地提取到圖像中的結構特征。本文利用HOSVD在圖像領域的優勢,提出一種基于HOSVD分類的非特定人臉表情識別算法。
1)表情子張量的構建
記兩幅表情圖像為G,待識別圖像為F,圖像大小均為W×H。分別提取G和F的眼眉嘴局部區域的LDP編碼特征,記為圖像G′和F′。
為了避免像素的不連續性,采用滑動窗口技術把G′和F′分成I個相互對應的M×N圖像子塊,滑動步長設為r,r≤M且r≤N,則
(12)
其中,floor(x)是指不超過x的最大整數。然后將I個相互對應的M×N源圖像子塊構成I個M×N×2子張量Ti(i=1,2,…,I),如圖7所示。

圖7 表情子張量的構建
2)高階奇異值分解提取圖像特征
HOSVD(高階奇異值分解)可以將圖像從圖像域轉換到變換域,從而更準確地提取到圖像中的結構特征。本文利用HOSVD在圖像領域的優勢,提出一種基于HOSVD分類的非特定人臉表情識別算法。

Ti=Si×1Ui×2Vi×3Qi
(13)

(14)

3)基于區域能量的相似度計算
(15)
若兩個系數的區域能量值越接近,表明兩個圖像塊之間冗余信息越多,圖像越相似。
因此根據區域能量,可得到兩幅圖像的相似度值m:
(16)
顯然,m的值越接近0,說明兩幅圖像的相似度越高。
本節對JAFFE人臉表情庫進行實驗驗證。JAFFE人臉表情庫由10個人,共213幅圖像 組成,每人都包含憤怒、厭惡、恐懼、高興、悲傷、驚訝和中性7種表情,每人每種表情2~4幅,每種表情共有27幅。該數據集部分人臉表情圖像如圖8所示。本文驗證了憤怒、厭惡、恐懼、高興、悲傷、驚訝六種表情。實驗采用 Leave-one-out的 方式,取一個人的所有表情圖像作為測試集,其余9人作為訓練集圖像,交叉實驗10次,識別率取10次平均值。該數據集中在進行HOSVD相似度匹配時,將眼睛和眉毛區域縮放到44×110,嘴巴區域縮放到44×54。水平進行拼接為44×164的表情圖像后,分為4(44/11)×4(164/41)個圖像子塊。

圖8 JAFFE數據集部分人臉表情圖像
本文通過Viola-Jones算法獲取的人臉、眼睛、眉毛和嘴巴的區域,如圖9所示。

圖9 通過Viola-Jones算法獲取的人臉、眼睛和嘴巴的區域
本文首先采用第三節中CBP+LDP的特征提取方法,對傳統最近鄰的方式分類算法與第4.2節中基于HOSVD的分類算法進行對比,在JAFFE數據集上實驗結果如圖10所示。

圖10 JAFFE數據集部分人臉表情圖像
由圖10可以看出,在JAFFE數據集上,本文提出的LDP及CBP特征提取+HOSVD分類識別算法,相比傳統的LDP及CBP特征提取+最近鄰算法進行分類識別,平均識別率從大約57%提高到大約75%,說明本文提出的基于HOSVD方法在排除人臉外觀對表情特征提取的同時,利用HOSVD作為分解工具還能有效提取LDP編碼圖像的結構特征,更準確地找到兩幅圖像的相似性。另外在JAFFE數據集,驚訝、開心和害怕三種表情的識別率都相對較高,這是因為這三種表情的表現程度相對比較夸張,更容易識別。
為了進一步說明特征選取對表情識別的影響,本文將在特征提取階段選取三種方式:只選取CBP提取眼眉嘴的局部特征,只選取LDP提取眼眉嘴的局部特征,選取CBP提取眼眉嘴的局部特征和LDP提取全臉特征。比較結果如表1所示。

表1 特征提取算法表情識別率比較
從表1可以看出,在JAFFE表情庫上,選取CBP提取眼眉嘴的局部特征比LDP提取眼眉嘴的局部特征的識別效果更好,說明CBP能更好地提取局部特征,鑒別能力更高。當使用選取CBP提取眼眉嘴的局部特征和LDP提取全臉特征時,相比只提取眼眉嘴的局部特征,識別率更高,說明在進行表情識別時,全臉特征和局部特征都會影響識別率,利用全臉表情特征和局部表情特征融合能獲得更高的識別率。
為了比較本文方法與其它方法在非特定人臉表情識別率的性能,因此本文在JAFFE數據集與常用的LBP,HOSVD,AAM等方法進行了比較,見表2所示。

表2 表情識別算法識別率對比
由表2可以看出,非特定人臉表情的識別率普遍不高,但本文方法在平均識別率上要優于其它的表情識別方法,主要是由于局部區域特征分解與整體區域特征分解相融合,不僅利用了整體表情特征,而且突出了局部表情特征。此外,采用HOSVD建立表情子空間,有效地減少了人臉外觀的影響,同時結合HOSVD優秀的特征提取能力來提高識別性能,從而獲得了較高的表情識別率和較好的系統魯棒性。
由于非特定人臉的表情識別一直是表情識別領域的一個難題,因此本文對此進行了研究。提出了一種基于HOSVD的非特定人臉的表情識別算法。該算法有以下特點:
1)對比CBP與LDP在表情特征提取的特點,采用局部區域CBP特征與全臉LDP特征相融合,不僅利用了全臉表情特征,而且突出了局部表情特征;
2)利用HOSVD分解工具結合人臉表情子空間和區域能量進行相似度對比,從而有效提高表情識別率。