石敏
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,山東青島 266590)
人類表達(dá)自身情感有諸多方式,包括面部表情、語言、身體姿態(tài)等,其中較為重要的方式就是面部表情,其可以直觀準(zhǔn)確地反映人們在某一時(shí)刻的情緒和心理狀態(tài)。目前,人臉表情識別已經(jīng)成為計(jì)算機(jī)視覺領(lǐng)域的一個(gè)研究熱點(diǎn),而且應(yīng)用廣泛,涉及人機(jī)交互、心理學(xué)、醫(yī)療等多個(gè)領(lǐng)域。
傳統(tǒng)人臉表情識別通過特征提取和分類兩個(gè)步驟完成,其中表情特征提取主要依賴人工設(shè)計(jì)提取方法,例如幾何特征和局部二值模式(Local Binary Pattern,LBP)等非機(jī)器學(xué)習(xí)算法;表情分類多采用支持向量機(jī)和貝葉斯分類等機(jī)器學(xué)習(xí)算法,但計(jì)算效率低,且魯棒性不強(qiáng),效果不甚理想。
與傳統(tǒng)表情識別方法相比,深度學(xué)習(xí)方法的識別效率和效果均有所提升。例如其代表性算法深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolution Neural Network,DCNN)將面部表情的特征提取與分類融為一體,使用大量數(shù)據(jù)集進(jìn)行訓(xùn)練,通過反向傳播學(xué)習(xí)網(wǎng)絡(luò)參數(shù),最終得到一個(gè)同時(shí)具備特征提取與分類功能的模型。因此,越來越多的研究者開始采用深度學(xué)習(xí)方法解決表情識別問題。例如,Liliana等通過提取人臉幾何特征進(jìn)行表情識別,在CK+數(shù)據(jù)集上取得了93.67%的識別準(zhǔn)確率,但沒有考慮表情的全局特征對識別任務(wù)的重要影響;Verma等設(shè)計(jì)了一種人臉檢測算法Viola-Jones,通過Gabor提取多個(gè)方向和尺度的特征,并輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行表情識別,在JAFFE數(shù)據(jù)集上取得了較好的魯棒性;Kim等使用LBP提取人臉紋理特征,基于幾何特征的網(wǎng)絡(luò)學(xué)習(xí)動(dòng)作單元地標(biāo)變化完成表情識別,但沒有考慮全局特征的重要性;Luan等提出一種基于深度殘差網(wǎng)絡(luò)(Residual Network,ResNet)和Unetlike架構(gòu)的殘差掩蔽網(wǎng)絡(luò),使用注意力機(jī)制學(xué)習(xí)面部重要特征,取得了較好的識別效果;Murtaza等使用面部表情六邊形模型檢測面部表情,該模型提供了六邊形6個(gè)邊上6種面部表情的一般表示,但僅從形態(tài)學(xué)的角度提取到的特征十分單一。以上文獻(xiàn)從不同角度研究了影響識別任務(wù)的重要特征,但沒有從多角度綜合考慮重要特征對識別任務(wù)的影響。若要獲得更加精準(zhǔn)的分類效果,對多方面特征進(jìn)行融合是一種有效解決方法。
針對表情特征提取困難且效果單一,以及易受光照條件影響等問題,本文提出一種將ResNet與幾何特征相融合的表情識別方法,主要研究內(nèi)容包括:①基于ResNet進(jìn)行改進(jìn),使用連續(xù)小卷積代替大卷積,并在各個(gè)殘差塊中嵌入卷積注意模塊以增加模型的表現(xiàn)能力。將相同的兩個(gè)改進(jìn)殘差網(wǎng)絡(luò)作為分支網(wǎng)絡(luò),將同一張人臉表情圖片分別輸入這兩個(gè)分支網(wǎng)絡(luò)中,以加和平均的方式將各自提取到的特征進(jìn)行聚合,實(shí)現(xiàn)特征互補(bǔ),最終得到人臉全局特征;②使用Dlib定位人臉關(guān)鍵點(diǎn),從中提取幾何特征,通過主成分分析法進(jìn)行去除冗余信息,與全局特征進(jìn)行融合,作為最終表情分類特征。
ResNet是一種將殘差模塊的相同拓?fù)浣Y(jié)構(gòu)以跳躍連接的方式進(jìn)行堆疊而構(gòu)建的深度網(wǎng)絡(luò)結(jié)構(gòu),其能有效解決隨著網(wǎng)絡(luò)深度的增加而導(dǎo)致的梯度消失和爆炸等問題,本文將其作為基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)提取人臉表情的全局特征。由于本文選擇的用于網(wǎng)絡(luò)模型訓(xùn)練的數(shù)據(jù)集較小,在較深的網(wǎng)絡(luò)上容易產(chǎn)生過擬合,導(dǎo)致模型泛化能力弱,因此選用網(wǎng)絡(luò)結(jié)構(gòu)簡單、參數(shù)量少、訓(xùn)練速度快的ResNet-18,結(jié)構(gòu)如圖1所示。對其進(jìn)行改進(jìn),保留原網(wǎng)絡(luò)中的9個(gè)卷積層和池化層,在保證感受野的同時(shí),為使網(wǎng)模型學(xué)習(xí)到更細(xì)節(jié)的特征,將網(wǎng)絡(luò)的7×7卷積替換成5×5和3×3等連續(xù)小卷積,以更好地適配表情識別任務(wù),改進(jìn)的ResNet網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
Fig.1 ResNet-18 network structure圖1 ResNet-18網(wǎng)絡(luò)結(jié)構(gòu)
Fig.2 Improved ResNet-18 network structure圖2 改進(jìn)的ResNet-18網(wǎng)絡(luò)結(jié)構(gòu)
注意力機(jī)制是從眾多信息中選擇對當(dāng)前任務(wù)更為關(guān)鍵的信息,從而提高視覺信息處理效率和準(zhǔn)確性的一種方法。本文目標(biāo)是通過引入注意力機(jī)制進(jìn)一步增加網(wǎng)絡(luò)模型的表現(xiàn)能力,以關(guān)注重要特征,抑制不必要特征。
作為SENet(Squeeze-and-Excitation Networks)的擴(kuò)展,卷積注意力模塊(Convolutional Block Attention Module,CBAM)被提出,其包括兩個(gè)子模塊,分別為通道注意力模塊和空間注意力模塊。對于神經(jīng)網(wǎng)絡(luò)產(chǎn)生的特征圖,卷積注意力模塊會沿著通道和空間依次推斷注意力圖并與特征圖相乘以進(jìn)行自適應(yīng)特征細(xì)化。以一個(gè)殘差模塊為例,將CBAM塊嵌入其中,得到的殘差塊如圖3所示。
Fig.3 Residual moduleembedded in CBAM圖3嵌入CBAM的殘差模塊
圖3中,F(xiàn)表示卷積層產(chǎn)生的特征圖,M(F)表示生成的通道注意力圖,F(xiàn)′
表示F與M(F)通道注意力圖相乘后產(chǎn)生的特征圖,M(F′
)表示生成的空間注意力圖,F(xiàn)″
表示F′
與M(F′
)相乘后產(chǎn)生的特征圖。計(jì)算公式如下:為提取更加充分的全局特征,使網(wǎng)絡(luò)具有更好的識別效果,將相同的兩個(gè)改進(jìn)后的ResNet作為分支網(wǎng)絡(luò),分別對輸入的人臉表情圖片提取全局特征。由于兩個(gè)分支對于識別任務(wù)的重要性是等同的,因此可通過加和平均實(shí)現(xiàn)全局特征的互補(bǔ),從而得到更詳細(xì)的人臉全局特征。提取全局特征的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
Fig.4 Network structureextracting global features圖4 提取全局特征的網(wǎng)絡(luò)結(jié)構(gòu)
表情是人臉特征變化的直接反映,不同表情下人臉特征的幾何形態(tài)不盡相同,圖5為某人7種表情下的人臉幾何形態(tài)。
可以看出,不同表情下眼睛的張開程度、眉毛是否上揚(yáng)、嘴巴是否閉合、鼻子是否向上抬起等情況是不同的,且不受光照條件的影響。與自然表情相比,其余表情的主要特征如表1所示。
使用Dlib在表情圖像上標(biāo)注人臉關(guān)鍵點(diǎn),序號為0~67,共68個(gè),見圖6。本文根據(jù)關(guān)鍵點(diǎn)構(gòu)建了26個(gè)特征刻畫人臉表情,具體如表2所示。
Fig.5 Face geometry under different expressions圖5 不同表情下的人臉幾何形態(tài)
Table1 Main features of other kinds of expressions compared with natural expressions表1 與自然表情相比下其余各類表情的主要特征
Fig.6 Using Dlib to mark facekey points圖6 使用Dlib標(biāo)注人臉關(guān)鍵點(diǎn)
表2中,K
={k
,k
,...,k
}為68個(gè)關(guān)鍵點(diǎn);k
=(r
,c
)∈K
表示其中第i
個(gè)關(guān)鍵點(diǎn);r
和c
分別為點(diǎn)k
的橫坐標(biāo)和縱坐標(biāo);d
(k
,k
)(k
,k
∈K
)表示兩個(gè)點(diǎn)之間的距離;∠(k
,k
,k
)(k
,k
,k
∈K
)表示3個(gè)點(diǎn)間的角度;c
(k
,k
)為k
和k
的中心坐標(biāo);square
(k
,...,k
)表示以k
為起點(diǎn),k
為終點(diǎn),按標(biāo)記的關(guān)鍵點(diǎn)次序圍成區(qū)域的面積。計(jì)算公式如下:V
=(v
,v
,...v
)。部分特征計(jì)算的是面積,數(shù)據(jù)較大,而數(shù)據(jù)范圍大的特征往往會起決定性作用,數(shù)據(jù)范圍小的特征其作用可能會被忽略。為消除特征之間數(shù)據(jù)范圍差異帶來的影響,對每個(gè)特征同等看待,需要對特征進(jìn)行標(biāo)準(zhǔn)化處理。所提取特征中,眼睛高度與眼睛面積之間、嘴巴面積與鼻峰、兩嘴角組成的夾角之間是從不同角度表達(dá)的語義,信息重合度較高,針對這種現(xiàn)象,采用主成分分析法去冗余,在保證方差貢獻(xiàn)率為95%的情況下,對不同數(shù)據(jù)集上提取的幾何特征進(jìn)行數(shù)據(jù)壓縮,壓縮后的特征表示為W
=(w
,w
,...w
),這樣既減少了模型參數(shù)量,也發(fā)揮了幾何特征對表情識別的作用。Table2 Facial expression features and semantics表2 人臉表情特征及語義
通過ResNet提取人臉表情的全局特征,采用人臉關(guān)鍵點(diǎn)計(jì)算并提取人臉幾何特征,將二者進(jìn)行拼接,作為最終表情特征進(jìn)行分類,完成表情識別。人臉表情識別的整體網(wǎng)絡(luò)模型流程如圖7所示。
Fig.7 Face expression recognition model flow based on ResNet and geometric features圖7 基于ResNet與幾何特征的人臉表情識別模型流程
結(jié)合ResNet與幾何特征的人臉表情識別算法具體步驟為:
輸入:表情圖像訓(xùn)練集和測試集,以及表情所屬類別。
輸出:人臉表情識別模型。
數(shù)據(jù)預(yù)處理:人臉檢測、數(shù)據(jù)增強(qiáng)、歸一化。
初始化模型參數(shù)。
參數(shù)設(shè)置。//表4
for i=1 to N do:
for xi∈X:
提取全局特征。//公式(1)-(3)
定位人臉關(guān)鍵點(diǎn)計(jì)算并提取幾何特征。//公式(4)-(6)
全局特征與幾何特征進(jìn)行融合,通過全連接分類。
計(jì)算前向傳播梯度。
使用隨機(jī)梯度下降優(yōu)化網(wǎng)絡(luò)參數(shù)。
end
The Extended Cohn-Kanade Dataset(CK+)數(shù)據(jù)集是在Cohn-Kanade Dataset的基礎(chǔ)上擴(kuò)展而來,包含123個(gè)參與人員生成的593張人臉序列圖片,并且所有圖片都是從自然表情到峰值表情。該數(shù)據(jù)集共包含8類表情,分別為中性、憤怒、蔑視、厭惡、恐懼、快樂、悲傷、驚訝。本文選取7種基本表情進(jìn)行實(shí)驗(yàn),不包含蔑視表情。
The Japanese Female Facial Expression Database(JAFFE)是由Lyons等建立的一個(gè)日本女性表情數(shù)據(jù)集,共213張圖像,包含10名日本女性在同一背景下各自做出的7種表情,包括中性、憤怒、厭惡、恐懼、高興、悲傷、驚訝。圖像尺寸相同,僅光照強(qiáng)度有所差異。
使用CK+和JAFFE數(shù)據(jù)集評估所提模型的表情識別性能,兩個(gè)數(shù)據(jù)集樣例如圖8所示,數(shù)據(jù)集中每個(gè)表情類別的數(shù)量分布如表3所示。
Table 3 CK+,JAFFE dataset expression catagory distribution表3 CK+、JAFFE數(shù)據(jù)集表情類別數(shù)量分布
Fig.8 Samplediagram of CK+and JAFFE datasets圖8 CK+和JAFFE數(shù)據(jù)集樣例圖
由于表情識別重點(diǎn)關(guān)注的是人臉,為減少數(shù)據(jù)集中人臉之外區(qū)域?qū)ψR別任務(wù)的影響,使用OpenCV進(jìn)行人臉檢測。考慮到所選數(shù)據(jù)集的數(shù)據(jù)量有限,采用數(shù)據(jù)增強(qiáng)方法擴(kuò)充訓(xùn)練數(shù)據(jù)量,以提高模型的泛化能力。對數(shù)據(jù)集進(jìn)行水平翻轉(zhuǎn),在-6~6角度范圍內(nèi)隨機(jī)旋轉(zhuǎn),并采用在原圖像的10%范圍內(nèi)隨機(jī)放縮等方法進(jìn)行兩倍的數(shù)據(jù)增強(qiáng)。所有圖像尺寸縮放至224×224的固定大小,轉(zhuǎn)化為灰度圖。通過計(jì)算均值和方差對圖片進(jìn)行歸一化處理,作為本文網(wǎng)絡(luò)模型的輸入數(shù)據(jù)。
實(shí)驗(yàn)硬件配置為Intel(R)Core(TM)i7-7700HQCPU,內(nèi)存16G,主頻2.80GHz,1060顯卡1塊,深度學(xué)習(xí)框架為Pytorch0.4.1。訓(xùn)練模型的實(shí)驗(yàn)參數(shù)設(shè)置如表4所示。模型的訓(xùn)練與測試采用十折交叉驗(yàn)證,即將預(yù)處理后的數(shù)據(jù)集分成10份,每次取其中的9份作為訓(xùn)練集用于訓(xùn)練模型,1份作為測試集用于測試模型,最終模型的檢測精度為10次測試結(jié)果取平均。
Table 4 Settings of model parameters表4 模型參數(shù)設(shè)置
4.4.1 與其他識別方法比較
將本文方法與一些常用識別方法進(jìn)行比較,其中GNN(Graph Neural Network)是將圖卷積神經(jīng)網(wǎng)絡(luò)用于特征提取和表情識別分類的方法;FTMS(Fourier Transform Mass Spectrometry)是一種融合變換多級特征與改進(jìn)加權(quán)投票支持向量機(jī)的表情識別方法;IACNN(Identityaware Convolutional Neural Network)通 過一種身份敏感的對比損失從身份標(biāo)簽中學(xué)習(xí)相關(guān)信息,以實(shí)現(xiàn)身份不變的表達(dá)識別;IL-CNN(Island Loss Convolutional Neural Network)通過孤島損失增強(qiáng)深度學(xué)習(xí)特征的判別能力;RPCA(Robust Principal Component Analysis)使用改進(jìn)的主成分分析法從圖像中去除噪聲,并將其轉(zhuǎn)換為較低維的子空間后再提取特征進(jìn)行識別;WMDNN(Weight Mixture Deep Neural Network)是一種基于雙通道人臉圖像的加權(quán)混合深度神經(jīng)網(wǎng)絡(luò)表情識別方法。以上方法在CK+和JAFFE兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表5和表6所示,可以看出,本文方法在兩個(gè)數(shù)據(jù)集上的平均識別準(zhǔn)確率分別為98.05%和95.29%,優(yōu)于其他識別方法。
Table 5 Accuracy comparison of different recognition methods on CK+dataset表5 CK+數(shù)據(jù)集上不同識別方法準(zhǔn)確率比較
Table 6 Accuracy comparison of different recognition methods on JAFFE dataset表6 JAFFE數(shù)據(jù)集上不同識別方法準(zhǔn)確率比較
4.4.2 本文模型性能分析
在CK+和JAFFE數(shù)據(jù)集上,對10次實(shí)驗(yàn)得到的10組混淆矩陣求平均得到最終混淆矩陣,結(jié)果如表7和表8所示。通過混淆矩陣可以發(fā)現(xiàn),對于CK+數(shù)據(jù)集,自然和憤怒表情很容易與悲傷混淆;而對于JAFFE數(shù)據(jù)庫,厭惡和憤怒容易被混淆,高興、悲傷與憤怒容易被混淆。
采用本文模型在CK+和JAFFE數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并進(jìn)行性能分析,結(jié)果如表9和表10所示。表中精確率(Accuracy)表示每一類表情中被預(yù)測為該類且實(shí)際也為該類表情的準(zhǔn)確率;召回率(Recall)表示每一類表情中被預(yù)測正確的準(zhǔn)確率;F1值為精確率與召回率的調(diào)和平均。結(jié)果表明,對于CK+數(shù)據(jù)庫,高興表情的精度、召回率和F1值最高;而對于JAFFE數(shù)據(jù)庫,自然和驚訝表情的精度、召回率和F1值最高。
Table 7 Confusion matrix based on improved model(CK+dataset)表7 基于改進(jìn)模型的混淆矩陣(CK+數(shù)據(jù)集)
Table 8 Confusion matrix based on improved model(JAFFE dataset)表8 基于改進(jìn)模型的混淆矩陣(JAFFE數(shù)據(jù)集)
Table9 Each index of the proposed model(CK+dataset)表9 本文模型各項(xiàng)指標(biāo)(CK+數(shù)據(jù)集)
Table10 Each index of theproposed model(JAFFE dataset)表10 本文模型各項(xiàng)指標(biāo)(JAFFE+數(shù)據(jù)集)
本文模型在CK+和JAFFE數(shù)據(jù)集上的訓(xùn)練與驗(yàn)證精度曲線圖和損失曲線圖如圖9所示??梢钥闯?,隨著訓(xùn)練次數(shù)的增加,驗(yàn)證精度和驗(yàn)證損失均隨著訓(xùn)練精度和訓(xùn)練損失值相對平緩地變化,整個(gè)過程中并未出現(xiàn)欠擬合和過擬合現(xiàn)象,表明了本文模型具有較好的泛化能力和學(xué)習(xí)能力。這是由于本文選用的ResNet隨著網(wǎng)絡(luò)深度的增加,淺層特征沒有被忽略,而是與深層特征融合在一起,而且加入注意力機(jī)制使得模型可以學(xué)習(xí)到對表情分類更加重要的特征。此外,通過對人臉關(guān)鍵點(diǎn)進(jìn)行分析,可獲得表達(dá)表情語義的幾何特征,其不受光照和圖片傾斜的影響。將二者融合得到能夠代表各類表情的關(guān)鍵特征信息,因而獲得了較好的表情識別效果。
Fig.9 Changing trend of precision and loss in the process of training and verification on CK+,JAFFE datasets圖9 CK+、JAFFE數(shù)據(jù)集上訓(xùn)練和驗(yàn)證過程中精度與損失變化趨勢
針對表情識別任務(wù),本文提出一種將ResNet與幾何特征相融合的表情識別方法。該方法分別通過殘差網(wǎng)絡(luò)和人臉關(guān)鍵點(diǎn)提取全局特征和幾何特征,將二者進(jìn)行融合,在兩個(gè)公共數(shù)據(jù)集上均取得了較好的識別效果,驗(yàn)證了該方法的有效性。但本文僅使用公共數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),沒有將該方法應(yīng)用于實(shí)際場景中,今后可嘗試在真實(shí)場景下對其性能進(jìn)行研究,或?qū)⒃摲椒☉?yīng)用到視頻中進(jìn)行實(shí)時(shí)表情識別。