唐武賓,童 瑩,曹雪虹
(1.南京郵電大學通信與信息工程學院,江蘇南京 210003;2.南京工程學院 信息與通信工程學院,江蘇 南京 211167)
表情一直是人類情緒的直觀體現(xiàn),人們通過表情對事物作出回應。隨著計算機技術(shù)的不斷發(fā)展,表情識別作為人工智能領(lǐng)域重要的一環(huán)備受關(guān)注。表情識別主要分為機器學習和深度學習兩種方法,而在機器學習中,特征提取是最重要的一步,該過程主要是對最終表情識別起作用的特征進行提取壓縮,從而進行識別。傳統(tǒng)的特征提取方法主要包括:局部二值模式(LBP)、Gabor 特征[1]、尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[2],以及線性預測編碼系數(shù)(LPC)等[3]。除特征提取會對最終表情識別起很大一部分作用外,分類器也會影響最后表情識別準確率。如今,分類算法常見的有SVM 分類算法[4]、K-NN分類算法[5]、Adaboost 分類算法[6]等。以上這些方法是使用較多也是較為成熟的一些技術(shù)。
深度學習比機器學習應用得更為普遍,這是因為其有著更好的特征加工能力且能夠適應深層次特征提取網(wǎng)絡(luò),因此成為當前國內(nèi)外學者研究的主流方向之一。對于表情識別研究,也由原先的傳統(tǒng)機器學習方法轉(zhuǎn)向了現(xiàn)在的深度學習技術(shù),因為深度學習相比于傳統(tǒng)機器學習有著諸多優(yōu)點,如:①對特征的提取能力更強;②對于存在諸多干擾因素的場景表現(xiàn)出了更強的魯棒性。深度學習主要有兩種典型網(wǎng)絡(luò)模型,分別為卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),前者趨向于用于靜態(tài)圖像表情識別,而后者趨向于用動態(tài)視頻表情識別。Baccouche 等[7]首次將卷積神經(jīng)網(wǎng)絡(luò)應用于特征提取。2015 年,Yao 等[8]采用深層次卷積級聯(lián)進行特征提取從而將深層特征有效提取出來,最終建立特征與表情識別之間的相關(guān)性。由于卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)越性,Khorrami 等[9]使用深度學習對視頻進行情感識別,但是卷積神經(jīng)網(wǎng)絡(luò)無法將相鄰兩幀之間的信息差異性關(guān)聯(lián)起來,因此他們又采用循環(huán)神經(jīng)網(wǎng)絡(luò),用來將相鄰兩幀之間的信息相關(guān)性提取出來,從而建立連續(xù)特征變換差異性,這一應用比單獨使用卷積神經(jīng)網(wǎng)絡(luò)會產(chǎn)生更好的效果。
Zhang 等[10]提出用生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)自動生成具有表情的人臉圖像,從而擴大訓練集,這是在圖像預處理部分進行特征豐富;Chen 等[11]提出標簽分布學習(Label Distribution Learning,LDL)技術(shù),從而將同一類別標簽特征集中,減小類間間距;Wang 等[12]提出自愈網(wǎng)絡(luò)(Self-Cure Network,SCN)以抑制表情判別不確定性,該網(wǎng)絡(luò)主要運用自注意力機制對樣本進行預處理從而加強樣本的表情特點。這些方法都是從圖像本身出發(fā)進行特征增強,而忽略了網(wǎng)絡(luò)帶來的特征丟失問題。
因此,Khor 等[13]提出一種豐富長期循環(huán)卷積網(wǎng)絡(luò)(Enriched Long-term Recurrent Convolutional Network,ELRCN)用于細微表情識別,其主要通過通道級堆疊和特征級堆疊增強對于人臉面部情感特征的提取。對于ELRCN 網(wǎng)絡(luò),采用CNN+LSTM 進行特征提取及表情識別,從未考慮特征的相關(guān)性及側(cè)重性,從而造成特征無區(qū)別度,同時還存在信息丟失問題。陳樂等[14]在ELRCN 網(wǎng)絡(luò)基礎(chǔ)上提出端到端增強特征神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)從視頻多幀角度出發(fā),通過雙LSTM 級聯(lián)實現(xiàn)信息回溯進行相鄰幀信息提取,但是忽略了視頻單幀也存在信息丟失現(xiàn)象。Zhang 等[15]提出一種多信號卷積神經(jīng)網(wǎng)絡(luò)(Multi-Signal Convolutional Neural Network,MSCNN)從靜止幀中提取“空間特征”,該網(wǎng)絡(luò)主要在單幀上進行特征加強,其利用監(jiān)督學習不同損失函數(shù)達到類內(nèi)差異縮小、類間差異增大效果,但只是在反向傳播更新參數(shù)時利用了多種損失函數(shù),一開始的信息損失仍然存在,只不過是將沒有損失的信息采用多種損失函數(shù)組合凸顯出來,并沒有做到信息保護,同時沒有兼顧到視頻多幀存在相關(guān)性的特點。
以上方法沒有做到單幀和多幀信息的共同保護,而只是在某一方面進行了特征加強。為了解決這些問題,本文從單幀和多幀兩個角度著手進行特征增強。單幀采用淺層特征與深層特征融合,淺層特征即在VGG 網(wǎng)絡(luò)中間層外延卷積模塊,從而提取淺層特征,深層特征即在VGG 網(wǎng)絡(luò)最后融合空洞卷積[16](Dilated Convolution,DC)和通道間注意力機制[17](Squeeze-and-Excitation Networks,SENet);多幀采用幀間注意力機制提取幀與幀之間的相關(guān)性,從而將對于最終表情識別作用較大的幀凸顯,將作用不大的幀加以抑制。該方法在AFEW 動態(tài)視頻(Acted Facial Expressions in the Wild)[18]數(shù)據(jù)集、CK+[19]動態(tài)視頻數(shù)據(jù)集、SFEW[20]靜態(tài)圖像數(shù)據(jù)集、FER2013 靜態(tài)圖像數(shù)據(jù)集上得到了有效驗證。
本文設(shè)計的表情識別模型如圖1 所示,共包括兩個部分,分別為單幀特征增強網(wǎng)絡(luò)和多幀特征增強網(wǎng)絡(luò)。單幀特征增強網(wǎng)絡(luò),主要適用于靜態(tài)圖像數(shù)據(jù)集,同時也可以作為動態(tài)視頻數(shù)據(jù)集的單幀特征提??;多幀特征增強網(wǎng)絡(luò)由于要求相鄰幀存在相關(guān)性,因此只能適應于動態(tài)視頻數(shù)據(jù)集。其中,單幀特征增強網(wǎng)絡(luò)分為深層特征增強和淺層特征增強,網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,多幀特征增強網(wǎng)絡(luò)為幀間注意力機制。
Fig.1 Expression recognition framework based on enhanced convolutional network圖1 基于增強卷積網(wǎng)絡(luò)的表情識別框架
在單幀特征增強部分,主要應用了3 種技術(shù)的融合,分別為空洞卷積(Dilated Convolution,DC)、基于通道間的注意力機制(Squeeze-and-Excitation Networks,SENet)及淺層特征提取模塊。
空洞卷積(Dilated Convolution,DC)又稱擴張卷積,最初是在算法“小波分解小波”中開發(fā),其基本原理是在普通卷積的基礎(chǔ)上,引入一個擴張率(Dilation Rate)的超參數(shù),該超參數(shù)定義了相鄰卷積核各值的間距。卷積核大小為3×3,擴張率為d的空洞卷積如圖3 所示。從圖3(a)可以看出,普通卷積是空洞卷積的一個特例,即為擴張率1的空洞卷積,以圖3(b)為例,擴張率為2,讓原本3×3的卷積核,在參數(shù)不變的前提下感受野增加到5×5。不僅如此,空洞卷積的應用也避免了polling 所帶來的下采樣問題,polling 每次操作都會造成一半信息丟失,這種無條件的一半信息丟失會直接導致重要特征喪失,而使用空洞卷積代替polling操作就能避免這種問題。以圖3(c)為例,3 個相鄰像素點保留1 個,一般而言,相鄰像素點對于最終表情識別的作用是無差的,因此保留其一即可,從而可以保證強弱信息的結(jié)合。因此,空洞卷積的應用有效解決了標準卷積所帶來的內(nèi)部數(shù)據(jù)結(jié)構(gòu)損失以及空間層級化信息丟失問題。本文對于空洞卷積的應用位置及擴張率的大小嘗試過多種可能性,最終在VGG 網(wǎng)絡(luò)最后一層應用擴張率為2的空洞卷積達到了最好的識別率。
Fig.2 Single frame feature enhancement network圖2 單幀特征增強網(wǎng)絡(luò)
Fig.3 Empty convolution圖3 空洞卷積
在實踐過程中,卷積神經(jīng)網(wǎng)絡(luò)認為每一個像素點對于最終表情識別所起的作用都相同,然而從人眼角度看,有些像素點所起的作用更大,而不是平均分配,因此在CNN的基礎(chǔ)上融合了基于通道間的注意力機制(Squeeze-and-Excitation Networks,SENet)。該模塊通過網(wǎng)絡(luò)自動訓練學習從而獲取到每個特征通道的重要程度,然后依照該重要程度去提升有用的深層特征并抑制對當前任務用處不大的深層特征。其結(jié)構(gòu)如圖4 所示,共通過3 個操作重新標定CNN 所輸出的通道特征。首先是Squeeze 操作,將每一個特征通道里的像素點相加,然后除以特征通道大小,從而產(chǎn)生一個實數(shù),該實數(shù)代表這一通道的全部信息,其公式如式(1)所示;其次是Excitation 操作,在該步驟采用網(wǎng)絡(luò)自學習機制生成參數(shù)w,該值代表了每個通道對于最終表情識別所產(chǎn)生的影響因子,該值大小介于0 與1 之間,其公式如式(2)所示;最后是Reweight 操作,該操作就是將各通道的權(quán)重加權(quán)乘到相應特征通道上,從而每個特征通道對最終表情識別結(jié)果作出了不同的貢獻,實現(xiàn)了通道特征的重標定,公式如式(3)所示。
Fig.4 Inter channel based attention mechanism圖4 基于通道間的注意力機制
由于層數(shù)的提高必然會導致部分有用信息丟失,因此在注重深層特征的同時也需要關(guān)注淺層特征。在本文中,所采用的CNN 模塊為VGG-16,此網(wǎng)絡(luò)總共16 層,雖然層數(shù)并不很深,但在VGG-16 最后一層出來的其實就是深層特征,而一些淺層有用特征已經(jīng)丟失。為了彌補這一缺陷,在VGG-16 中某一層外延支路進行淺層特征提取,在嘗試多次之后,最終選取VGG-16 中間層外延支路。同時,在實驗過程中進行了多種嘗試,最終確定以兩層卷積層的級聯(lián)最佳,其結(jié)構(gòu)如圖5 所示。其第一層是一個7×7的卷積層,該卷積層在保留更多表情特征的同時也保證了網(wǎng)絡(luò)的感受野。批量歸一化層是為了防止梯度爆炸和梯度消失,激活層使用Relu 非線性函數(shù)。第二層為1×1的卷積層,主要是為了降維,同時提高網(wǎng)絡(luò)表達能力,從而方便后續(xù)特征融合。該淺層特征增強與深層特征增強互相融合,從而促進特征進一步突出,提高識別率。
Fig.5 Shallow feature enhancement圖5 淺層特征增強
CNN 對于處理單幀圖片十分有效,但對于視頻而言,相鄰幀之間存在運動信息,同時由于表情是一個漸變過程,前一幀的表情將會直接影響到下一幀的表情,因此單獨的CNN 將不適合處理這種關(guān)系,而循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)則更為有效。RNN 模型的循環(huán)特性可以使信息在網(wǎng)絡(luò)中留存一段時間,從而可以建立相鄰幀的表情變化關(guān)系?,F(xiàn)階段,應用最廣的RNN 便是門限RNN(Gated RNN),而LSTM 就是其中最為經(jīng)典的一種。但是由于其每個細胞中都有4 個全連接層(MLP),在LSTM 時間跨度很大的情況下,會導致運算時間呈幾何級數(shù)上升。因此,本文提出采用幀間注意力機制代替LSTM,也能夠?qū)⑾噜弾男畔㈥P(guān)聯(lián)起來。該思想由Fajtl 等[21]首次提出,他指出使用自注意力機制處理相鄰幀,并給每一幀賦予不同的權(quán)重,從而將對表情識別起關(guān)鍵作用的幀凸顯出來,將對表情識別誤導性極高的幀抑制起來,確保最終表情識別率的準確性,其操作性與基于通道間的注意力機制類似。
本文深層特征增強網(wǎng)絡(luò)框架如圖6 所示。根據(jù)幀間注意力機制的結(jié)構(gòu)特點,其要求CNN 網(wǎng)絡(luò)需同時輸出多張連續(xù)人臉特征,因此模型每次應輸入n張人臉圖像,每張人臉圖像能夠共享CNN 網(wǎng)絡(luò)權(quán)重并進行特征提取。由于實驗室條件有限,為了避免內(nèi)存溢出問題,最終n值設(shè)置為10,一次傳入10 張連續(xù)人臉圖像。為了增加相鄰幀的特征共享,因此在實驗過程中同一個視頻中的相鄰子視頻段存在5 幀的重合。
對于整體過程,首先以10 幀為一個單位依次傳入人臉圖像,帶預訓練權(quán)重的VGG-16 網(wǎng)絡(luò)會初步提取人臉圖像中的深度特征,在VGG-16 網(wǎng)絡(luò)中間層會有一個旁支,該旁支的主要作用是淺層特征增強,也即提取淺層特征,從而彌補網(wǎng)絡(luò)過深所帶來的特征丟失問題。淺層特征增強出來的特征通道數(shù)為1 024,為了方便融合,在VGG-16 網(wǎng)絡(luò)上做了優(yōu)化,構(gòu)造了兩層卷積層:第一層卷積層卷積核為3×3,同時融入d=2的空洞卷積,該空洞卷積所起的作用是擴大感受野,同時促進強弱信息的結(jié)合;第二層卷積核為3×3,將輸出通道擴充至1 024 維。該卷積層出來的特征會送入SENet 網(wǎng)絡(luò)中,該網(wǎng)絡(luò)以特征通道為切入點,顯式建立它們之間的關(guān)聯(lián)性,從而將對表情識別結(jié)果重要的特征通道凸顯出來,而將對表情識別結(jié)果不重要的特征通道抑制起來,輸出1 024 維帶有權(quán)重的特征通道。最后將該輸出特征通道與特征增強模塊輸出的1 024 維特征通道融合,從而達到淺層特征與深層特征的有效融合。
Fig.6 Deep feature enhancement圖6 深層特征增強
面部表情自20 世紀便受到研究者的關(guān)注,Ekman 等[22]結(jié)合前人經(jīng)驗對人臉表情識別進行開拓性的創(chuàng)新,將人類表情共分為6 類。之后他們又進行了分類完善,提出基于面部運動單元(44 個運動單元)的面部表情編碼系統(tǒng)(Facial Action Coding System,F(xiàn)ACS)[23]。
2.1.1 AFEW 數(shù)據(jù)集
數(shù)據(jù)集AFEW 為動態(tài)視頻數(shù)據(jù)集,同時作為競賽級數(shù)據(jù)集,相比于實驗室錄制的數(shù)據(jù)集,其增加了一些干擾因素,其中干擾因素主要包括遮擋、像素點過低、背景變化等,因為這些干擾因素的存在,其更具現(xiàn)實性。同時,該數(shù)據(jù)集已經(jīng)將視頻一幀一幀切割形成一張張圖片,每個圖片都有一個標簽。其標簽如圖7 所示,由于某些表情不具有分辨性,因此特地加入中性標簽。與此同時,作為競賽級數(shù)據(jù)集,其測試集并不對大眾開放,因此在實驗中將驗證集當作測試集使用。
Fig.7 7 kinds of emotion in AFEW dataset圖7 AFEW 數(shù)據(jù)集的7 種情緒
2.1.2 CK+數(shù)據(jù)集
CK+數(shù)據(jù)集是表情識別常用的數(shù)據(jù)集之一,其為動態(tài)視頻數(shù)據(jù)集,它通過對視頻進行截幀操作形成圖片數(shù)據(jù)集,因此該數(shù)據(jù)集也是動態(tài)視頻數(shù)據(jù)集,同時每個圖片皆有標簽,但是該數(shù)據(jù)集沒有區(qū)分訓練集、驗證集和測試集,需要實驗者自行劃分。
2.1.3 SFEW 數(shù)據(jù)集
SFEW 數(shù)據(jù)集由AFEW 數(shù)據(jù)集的靜態(tài)幀圖片組成,該數(shù)據(jù)集為靜態(tài)圖像數(shù)據(jù)集,其中分為3 個部分,分別為訓練集、驗證集、測試集,同時每張圖片都具有標簽,標簽總共分為7 種。但是由于是競賽級數(shù)據(jù)集,因此測試集不對外公開,在本實驗中將驗證集作為測試集。
2.1.4 FER2013 數(shù)據(jù)集
FER2013 數(shù)據(jù)集是由大量無關(guān)人臉圖片組成的靜態(tài)圖像數(shù)據(jù)集,按照一定比例分為訓練集、測試集、驗證集,每個圖片都具有標簽,標簽總共為7 類。該數(shù)據(jù)集為靜態(tài)圖像數(shù)據(jù)集。
本文主要為了測試網(wǎng)絡(luò)框架的優(yōu)越性,因此對于數(shù)據(jù)集并不采用任何處理,用官方給出的圖片進行輸入。同時在本文中,最具難度系數(shù)的是AFEW 數(shù)據(jù)集,該數(shù)據(jù)集來自于無約束條件現(xiàn)實場景,因此有一定的干擾因素,如遮擋、光照、背景多變等,這些干擾因素的存在給表情識別帶來了一定的挑戰(zhàn)性。不僅如此,由于測試集不對外公開,因此只能將驗證集作為測試集,從而導致樣本數(shù)量不足,因此這也是一種挑戰(zhàn)。具體如圖8 所示。
Fig.8 AFEW complexity圖8 AFEW 復雜性
2.2.1 評分標準
F1評分是一種常見的用來評判網(wǎng)絡(luò)好壞的標準,經(jīng)常用作競賽排名。它是通過準確率(precision)和召回率(recall)的數(shù)學組合而形成的數(shù)學表達式,介于0 到1 之間。
其中,TP(True Positive)為正確預測的數(shù)目,F(xiàn)P(False Positive)為將其他預測產(chǎn)生錯誤的類預測為本類的數(shù)目,F(xiàn)N(False Negative)為本應預測正確但錯誤的本類數(shù)目,TN(True Negative)為將其他類預測為正確的數(shù)目。
準確率(Accuray):通常也作為網(wǎng)絡(luò)好壞的評判標準。
2.2.2 結(jié)果比較
實驗中,VGG-16 采用預訓練權(quán)重,加載VGG-16-FACE 模型權(quán)重,VGG-16 中間層引出旁支用以提取淺層特征,特征通道數(shù)為1 024。為了方便淺層特征與深層特征融合,在VGG-16 后延伸兩層卷積層,同時在延伸的第一層卷積層融入擴張率為2的空洞卷積,該擴張率的選擇以及空洞卷積應用的位置是經(jīng)過實驗而得出。為了凸顯對預測起重要作用的特征通道,將其送入SENet 網(wǎng)絡(luò),該網(wǎng)絡(luò)是為了凸顯有用特征通道,抑制無用通道。其后淺層特征與深層特征融合為2 048 維并送入至幀間注意力機制,從而實現(xiàn)表情預測??紤]到樣本之間的相關(guān)性,每10 幀作為一個單位,也即n設(shè)置為10,同時下一個輸入的前5 幀為前一個輸入的后5 幀。本網(wǎng)絡(luò)所使用的優(yōu)化算法為隨機梯度下降法(Stochastic Gradient Descent,SGD),動量(Momentum)參數(shù)值設(shè)置為0.9。對于CNN 部分,采用預訓練模型,其中初始學習率(Learning rate)為1e-4,并且在訓練過程中一直迭代下降。對于輸入,采用數(shù)據(jù)集自帶的圖片集,其中每張圖片為224×224 像素。網(wǎng)絡(luò)訓練完畢,將測試集送入模型中,最后得出測試結(jié)果(見表1—表7)。
Table1 Test result comparison of AFEW dataset表1 AFEW 數(shù)據(jù)集測試結(jié)果比較
Table 2 Prediction result comparison of AFEW dataset(single frame enhanced convolutional network)表2 AFEW 數(shù)據(jù)集(單幀增強卷積網(wǎng)絡(luò))預測結(jié)果比較
Table 3 Prediction result comparison of AFEW dataset(multi-frame enhanced convolutional network)表3 AFEW 數(shù)據(jù)集(多幀增強卷積網(wǎng)絡(luò))預測結(jié)果比較
Table 4 Prediction result comparison of AFEW dataset(single frame+multi-frame enhanced convolutional network)表4 AFEW 數(shù)據(jù)集(單幀+多幀增強卷積網(wǎng)絡(luò))預測結(jié)果比較
Table 5 Prediction result comparison of CK+dataset表5 CK+數(shù)據(jù)集測試結(jié)果比較
Table 6 Test result comparison of SFEW dataset表6 SFEW 數(shù)據(jù)集測試結(jié)果比較
2.2.3 結(jié)果分析
實驗中所采用的數(shù)據(jù)集分為靜態(tài)圖像數(shù)據(jù)集和動態(tài)視頻數(shù)據(jù)集。在靜態(tài)圖像數(shù)據(jù)集中,由于圖像與圖像之間沒有相關(guān)性,因此不存在相鄰幀上的信息關(guān)聯(lián),故主要在原有網(wǎng)絡(luò)結(jié)構(gòu)上提出了單幀特征增強模塊。其中,單幀特征增強模塊又分為3 個點的應用,分別為淺層特征增強、空洞卷積應用以及通道間注意力機制。首先是淺層特征增強,在VGG-16 中間層增加外延支路并進行淺層特征保護,避免卷積操作帶來的特征丟失;其次,在CNN 部分pooling層采用空洞卷積進行替代,避免了pooling 操作帶來的無差別一半信息丟失問題,同時空洞卷積選擇性丟失作用相當?shù)南袼攸c以提高識別率;最后是注意力機制引入,在通道間采用注意力機制,給每個通道賦予不同的權(quán)重,突出重要通道,抑制不重要通道,即所提出的通道間注意力機制,這對于最終表情識別起到了一定作用。
Table 7 Test result comparison of FER2013 dataset表7 FER2013 數(shù)據(jù)集測試結(jié)果比較
在動態(tài)視頻數(shù)據(jù)集中,首先在預處理部分將視頻一幀一幀截取,形成具有相關(guān)性的視頻幀,為了增加相鄰幀的信息相關(guān)性,因此在單幀特征增強的基礎(chǔ)上增加了多幀特征增強的應用,也即將相鄰多幀關(guān)聯(lián)起來。在這部分,還是采用注意力機制,將注意力機制應用到幀間,即幀間注意力機制,將對表情識別起關(guān)鍵作用的幀凸顯,將對表情識別不起作用或者作用不大的幀進行抑制,基本操作類似通道間注意力機制。
本文提出一種增強卷積網(wǎng)絡(luò)模型,從單幀和多幀兩個角度進行特征增強,將VGG、空洞卷積、通道間注意力機制和幀間注意力機制進行有效融合,并在AFEW 數(shù)據(jù)集、CK+數(shù)據(jù)集、SFEW 數(shù)據(jù)集和FER2013 數(shù)據(jù)集進行表情識別,比較其在測試集上的F1 分數(shù)和準確率,證明了該網(wǎng)絡(luò)模型對于表情識別的優(yōu)越性。由于AFEW 數(shù)據(jù)集來源于電影片段剪輯,存在諸多干擾因素,因此接下來將會在預處理部分繼續(xù)優(yōu)化模型,從而進一步提高模型實用性。