劉 寧, 孫 萍, 馮宇平*, 鞠伯倫
(1.青島科技大學 自動化與電子工程學院, 山東 青島 266061;2.青島海灣化學股份有限公司,山東 青島 266409;3.中國船舶集團有限公司第七一六研究所,江蘇 連云港 222006)
二十世紀七十年代初,著名心理學家EKMAN[1]提出人類6 種基本情感的概念,分別是開心、驚訝、悲傷、生氣、恐懼、憎惡,后來又加入中性表情,構(gòu)成人臉表情識別的7種基本表情。人臉表情識別可以分為兩類:傳統(tǒng)方法[2-3]和基于深度學習[4-13]的方法。由于傳統(tǒng)方法無法提取到人臉面部表情圖片的深層特征,因此目前人臉表情識別主要是基于深度學習方法的研究。文獻[7]針對實際場景中人臉表情多為復合表情的問題,提出一種深度位置保留(DLP-CNN)的人臉表情識別方法解決這種模糊性情感問題;文獻[9]提出一種paCNN 方法,根據(jù)相關人臉位置標記,從最后的卷積特征圖中裁剪出感興趣的部分,學習并專注于局部具有區(qū)別性和代表性的部分;文獻[10]提出一種PAT-CNN方法,是以分層的方式學習和表達相關特征,從而減輕面部表情識別中由特定的人屬性引入的變化。雖然CNN 在很多方面都展現(xiàn)出它強大的性能,但也存在弊端,比如CNN 中的池化層會丟失圖片的部分特征,這限制了人臉表情識別技術(shù)的發(fā)展。2017年,HINTON 提出膠囊網(wǎng)絡[14],完美保留了卷積模塊提取到的圖片特征。文獻[12]將VGGNet16 網(wǎng)絡和膠囊網(wǎng)絡進行結(jié)合,并添加AU(Action Unit)單元,在RAF-db數(shù)據(jù)集(圖片大小為224×224)上進行實驗,識別率達到85.24%;文獻[13]將DenseNet網(wǎng)絡與膠囊網(wǎng)絡結(jié)合,針對多視角人臉表情進行識別,在數(shù)據(jù)集FER2017 達到了平均值為53.9%的F1值。本研究將殘差網(wǎng)絡和膠囊網(wǎng)絡結(jié)合進行人臉表情識別,并將所提到的方法在CK+、RAF-db和FER+[15]數(shù)據(jù)集上進行了實驗分析。
ResNet18網(wǎng)絡的主要結(jié)構(gòu)是4個堆疊的殘差塊,殘差塊結(jié)構(gòu)如圖1所示,它將輸入的特征信息通過一個1×1的卷積連接到殘差塊的輸出端,緩解了深層網(wǎng)絡在訓練的梯度消失和爆炸的情況。在實驗過程中,通過對比ResNet18 與膠囊網(wǎng)絡結(jié)合和ResNet34與膠囊網(wǎng)絡結(jié)合的實驗結(jié)果,發(fā)現(xiàn)網(wǎng)絡更深的ResNet34與膠囊網(wǎng)絡結(jié)合后的優(yōu)勢并不大。分析這是由于本研究所采用的數(shù)據(jù)集尺寸較小,淺層的卷積神經(jīng)網(wǎng)絡就可以提取到豐富的特征信息,且在融入CBAM 注意力機制[16]后特征提取能力進一步提高。
圖1 殘差塊結(jié)構(gòu)圖Fig.1 Residual block structure diagram
膠囊的概念最早在2011年被HINTON 提出,在文獻[17]中,HINTON 團隊展示了神經(jīng)網(wǎng)絡如何被用來學習特征,輸出整個矢量的實例化參數(shù),并且認為該方法在旋轉(zhuǎn)不變性、尺度不變性和光照變化等方面比目前神經(jīng)網(wǎng)絡中使用的方法更有優(yōu)勢。2017年,HINTON 提出膠囊網(wǎng)絡,并在MNIST 手寫體數(shù)據(jù)集上進行了測試,獲得業(yè)界最佳的效果,隨后研究者證明膠囊網(wǎng)絡在圖像分類方面具有廣泛的應用前景。
1.2.1 膠囊網(wǎng)絡的結(jié)構(gòu)
膠囊網(wǎng)絡框架是一個淺層的框架,主要有3部分:卷積層、初級膠囊層、數(shù)字膠囊層,如圖2所示。
圖2 膠囊網(wǎng)絡結(jié)構(gòu)圖Fig.2 Capsule network structure diagram
其中,卷積層主要用來提取輸入數(shù)據(jù)的特征,它是一個通道數(shù)為256,卷積核大小為9×9,步長為1的單卷積層,激活函數(shù)采用ReLU 激活函數(shù)。初級膠囊層主要分為兩個部分:第一部分是一個通道數(shù)為256,卷積核大小為9×9,步長為2的單卷積層;第二部分是一個reshape操作,將提取到的特征封裝為32個膠囊,每個膠囊含有8個卷積單元。數(shù)字膠囊層是初級膠囊層經(jīng)過路由機制得到的,數(shù)字膠囊層有7個膠囊,即將人臉面部表情分為7類。
1.2.2 路由機制
路由機制是膠囊網(wǎng)絡的核心,低層特征與高層特征之間是通過路由機制來更新權(quán)重系數(shù)的,在Hinton提出的膠囊網(wǎng)絡中采用的是動態(tài)路由機制(dynamic routing),其原理圖如圖3所示,圖3是以路由機制迭代3次,任意個膠囊為例,展示膠囊網(wǎng)絡的動態(tài)路由機制原理。其中V1~Vi是輸入膠囊,W1~Wi是權(quán)重矩陣,C11~Ci3是耦合系數(shù),V是輸出膠囊,U1~Ui、S1~Si和A1~Ai是中間值,Squashing是一個非線性的“擠壓”操作,目的是為了在保持膠囊方向不變的前提下,將膠囊的長度收縮在0~1之間,其公式為
圖3 動態(tài)路由機制Fig.3 Dynamic routing mechanism
其中‖Si‖是向量Si的模,當‖Si‖2比較大時,Vi的值趨向于1,當‖Si‖2比較小時,Vi的值趨向于0。
當人進入到一個新場景或者看到某張圖片時會有一個重點關注的區(qū)域,也就是注意力焦點,人們會分配更多的注意力在這些區(qū)域以獲得更多的細節(jié),這就是人類所具有的選擇性注意力機制。深度學習的注意力機制[18-19]借鑒了人類的注意力機制,使得計算機可以像人類一樣可以重點關注圖片中的關鍵信息。目前,注意力機制從關注域方面可以分為3類:空間域注意力機制、通道域注意力機制和混合域注意力機制。
空間域注意力機制如圖4(a)所示,它是將輸入的數(shù)據(jù)經(jīng)過一個空間轉(zhuǎn)換器(spatial transformer)模型,該模型能夠?qū)斎雸D像中的空間域信息進行空間轉(zhuǎn)換,從而提取出關鍵的特征信息,并賦予不同的權(quán)重。通道域注意力機制如圖4(b)所示,它是先進行Squeeze操作,將空間維度進行特征壓縮,即每個二維的特征圖變成一個實數(shù),也就是該通道的權(quán)重,這相當于具有全局感受野的池化操作,特征通道數(shù)不變。混合域注意力機制是將空間域和通道域注意力機制結(jié)合起來,這樣就可以同時擁有這兩種注意力機制的特性。
圖4 注意力機制Fig.4 Attention mechanism
雖然Hinton提出的膠囊網(wǎng)絡在手寫體識別上取得業(yè)界最高的識別率,但是由于膠囊網(wǎng)絡前面特征提取部分只有兩個單卷積層,在對人臉面部表情特征提取時,特征提取不全,因此,本研究對膠囊網(wǎng)絡前的卷積模塊進行網(wǎng)絡加深。首先對Res Net18進行改進,然后用改進后的ResNet18 替換膠囊網(wǎng)絡的單卷積模塊,得到本研究的ResCaps Net網(wǎng)絡。具體的網(wǎng)絡結(jié)構(gòu)如下。
首先,因人臉表情分類工作由膠囊網(wǎng)絡中的數(shù)字膠囊層來完成,所以去掉ResNet18的全連接層;然后為不損失卷積模塊提取到的特征,剔除全局平均池化層;另外還調(diào)整原ResNet18 第1 個卷積層的卷積核大小,原3×3的卷積核改為5×5 的;最后,對殘差模塊(Basic Block)進行改進,其中第1個殘差塊保持不變,將第2、第3個殘差塊的步長調(diào)整為1,第4個殘差塊的步長保持不變,但將其通道數(shù)改為256。
除此之外,為進一步提升網(wǎng)絡性能,在4個殘差塊中加入CBAM 注意力機制,他是一種混合域的注意力機制,包含空間域和通道域兩種注意力模塊,其總體結(jié)構(gòu),如圖5所示。
圖5 CBAM 注意力機制Fig.5 CBAM attention mechanism
其中,通道域注意力模塊如圖6所示,它是在輸入特征F1上分別進行全局最大池化和全局平均池化得到兩個一維向量,經(jīng)過共享的MLP層,然后相加再經(jīng)過Sigmoid激活函數(shù),得到通道注意力權(quán)重Mc(F1),Mc(F1)與輸入特征F1相乘后得到特征F2。
圖6 通道域注意力模塊Fig.6 Channel domain attention mechanism
空間域注意力模塊如圖7所示,它是在特征F2上進行最大池化和平均池化,得到兩個特征圖,然后經(jīng)過一個7×7的卷積,得到一個新的特征圖,再經(jīng)過BN層和Sigmoid激活函數(shù),得到空間注意力權(quán)重Mc(F2),Mc(F2)與特征F2相乘后得到輸出特征F3。
圖7 空間域注意力模塊Fig.7 Spatial domain attention mechanism
最后將上述搭建的網(wǎng)絡與膠囊網(wǎng)絡進行結(jié)合。由改進后的ResNet18 來提取人臉面部表情的特征,再將提取到的特征圖送入膠囊網(wǎng)絡進行訓練和分類,具體網(wǎng)絡結(jié)構(gòu)如圖8所示。
圖8 改進的網(wǎng)絡結(jié)構(gòu)圖Fig.8 Improved network structure diagram
本研究所用到的數(shù)據(jù)集有:CK+、RAF-db 和FER+。
CK+:該數(shù)據(jù)集是在實驗室條件下建立的數(shù)據(jù)集,發(fā)布于2010 年,共有981 張48×48 大小的圖片,該數(shù)據(jù)集共分為7類表情。
RAF-db:該數(shù)據(jù)集制作是目前最嚴苛的人臉表情數(shù)據(jù)集,該數(shù)據(jù)集中的每張圖片都是通過40個標注者投票,然后取最高票數(shù)的那一類表情作為該圖片的標簽,圖片大小是100×100。
FER+:該數(shù)據(jù)集是英特爾公司在2017年時對FER2013數(shù)據(jù)集重新標注而來,圖片大小是48×48。它將數(shù)據(jù)分為10類,實驗僅使用其中7類表情。
為驗證本研究所提出的人臉表情識別方法的可行性和有效性,在CK+、RAF-db和FER+數(shù)據(jù)集上進行一系列實驗。其中在使用FER+數(shù)據(jù)集時,采用兩種方法:一種是單標簽,即選用最大概率的表情作為該圖片的標簽;二是考慮到數(shù)據(jù)集存在兩種等概率表情的圖片,如一張圖片中性和悲傷表情的概率均為40%等,因此采用雙標簽來對數(shù)據(jù)進行標注。測試時,選擇分類概率最高的作為識別結(jié)果,然后與標簽進行對比,所有識別正確的圖片數(shù)與總數(shù)相比算出識別率。
表1是3個數(shù)據(jù)集在不同網(wǎng)絡下的識別率,從中可以看出在CK+數(shù)據(jù)集上,單獨的CapsNet對于人臉表情識別的準確率是非常低的。這是因為CapsNet只有單卷積層,對復雜的人臉表情特征提取不足,再加上該網(wǎng)絡的魯棒性要比卷積神經(jīng)網(wǎng)絡差一些,導致其在人臉表情識別方面比Res Net18差很多,但是Caps Net在訓練時收斂比較快,訓練50代左右就可以達到最高準確率,而ResNet18需要訓練200代左右才能達到最高準確率。本研究將二者進行結(jié)合使其優(yōu)勢互補,ResCapsNet網(wǎng)絡僅需訓練50 代左右就可以達到最高準確率,而且在CK+、RAF-db和FER+3個數(shù)據(jù)集上識別率分別提升了3.03%、6.30%、3.35%。
表1 3個數(shù)據(jù)集在不同網(wǎng)絡下的識別率Table 1 The recognition rate of three data sets in different networks
為進一步提高網(wǎng)絡性能,本研究在ResCapsNet中采用兩種方式添加不同的注意力機制,如圖9所示,并在RAF-db、FER+數(shù)據(jù)集上進行對比實驗,具體實驗結(jié)果如表2、3所示。
表2 RAF-db數(shù)據(jù)集上的實驗結(jié)果Table 2 Experimental results of RAF-db data set
表3 FER+(單標簽)數(shù)據(jù)集上的實驗結(jié)果Table 3 Experimental results of FER+(single label)data set
圖9 兩種注意力機制添加方式Fig.9 Add attention mechanism with two ways
ResCaps Net中共有4個殘差塊,圖9中展示的是在一個殘差塊中如何添加CBAM 注意力機制。從表2、3中的實驗結(jié)果不難看出方式二的準確率普遍比方式一高,而且在3 種注意力機制中,添加CBAM 的效果最好。從表4中可以看出ResCaps-Net在采用方式二添加CBAM 注意力機制后,比未添加時,CK+數(shù)據(jù)集識別準確率提升1.01%,RAF-db數(shù)據(jù)集提升1.24%,FER+數(shù)據(jù)集識別提升1.28%,由此可以說明在殘差塊中添加CBAM注意力機制是非常有效的。
表4 有無CBAM 注意力機制實驗結(jié)果對比Table 4 Comparison of experimental results with or without CBAM attention mechanism
表5、6是加入CBAM 注意力機制的ResCaps-Net網(wǎng)絡在RAF-db和FER+數(shù)據(jù)集上與其他文獻中方法的實驗結(jié)果對比。從2個表中可以看出與目前人臉表情識別方法相比,本研究所提出的方法是具有一定優(yōu)勢的。并且從表6 中可以明顯看出,FER+ 數(shù)據(jù)集采用雙標簽識別準確率達到94.14%,遠高于單標簽準確率,由此在一定程度上說明生活中人臉面部表情并不是單一表情,而是多種表情復合而成。
表5 RAF-db數(shù)據(jù)集在不同方法下的實驗結(jié)果Table 5 Experimental results of RAF-db data set under different methods
表6 FER+數(shù)據(jù)集在不同方法下的實驗結(jié)果Table 6 Experimental results of FER+data set under different method
提出一種改進的Res Net18與膠囊網(wǎng)絡結(jié)合的方法,并應用于人臉表情識別。改進的方法與僅用卷積神經(jīng)網(wǎng)絡提取人臉表情特征相比,提取到的圖像特征更豐富,并且訓練迭代次數(shù)少,僅需要迭代五十幾次就可以擬合,要遠少于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡。在CK+、RAF-db和FER+數(shù)據(jù)集上進行實驗后,實驗結(jié)果表明該網(wǎng)絡在人臉表情識別方面具有較高的準確率。本研究后續(xù)的工作將從如何優(yōu)化網(wǎng)絡模型,減少網(wǎng)絡參數(shù)量,提高識別速度方面進行研究。