陳港,張石清,趙小明*
1.臺(tái)州學(xué)院智能信息處理研究所,臺(tái)州 318000;2.浙江理工大學(xué)機(jī)械與自動(dòng)控制學(xué)院,杭州 310018
人臉表情在人際交往中是不可忽視的重要信息載體,表情使人與人之間的溝通更加自然。人臉表情識(shí)別技術(shù)的進(jìn)步促進(jìn)著人機(jī)交互技術(shù)的發(fā)展。如何提升人臉表情識(shí)別性能是智慧醫(yī)療、聊天機(jī)器人和學(xué)生專注度監(jiān)測(cè)等人機(jī)交互系統(tǒng)中一個(gè)重要的熱點(diǎn)研究課題。目前已有的人臉表情識(shí)別技術(shù)(李珊和鄧偉洪,2020)可以分為基于靜態(tài)圖像的表情識(shí)別和基于動(dòng)態(tài)視頻序列圖像的表情識(shí)別兩類?;陟o態(tài)圖像表情識(shí)別的方法大多考慮如何提取有效的空間特征(王善敏 等,2020)以及通過(guò)注意力機(jī)制關(guān)注各局部區(qū)域關(guān)鍵信息(Li等,2019)和互相關(guān)性(Li等,2020)來(lái)提高模型的識(shí)別性能。劉帥師等人(2011)采用Gabor濾波器從圖像中提取不同尺度的多方向特征,再將多個(gè)多方向Gabor特征進(jìn)行融合,并分塊計(jì)算每塊的直方圖用于人臉表情識(shí)別。相比于靜態(tài)圖像,視頻序列是由若干幀靜態(tài)圖像組成的,并且每幀圖像的人臉表情強(qiáng)度具有一定的差異。因此,基于視頻序列的人臉表情識(shí)別方法不僅要考慮每幀人臉表情圖像的空間維度信息,還要關(guān)注視頻序列包含的時(shí)間維度信息以及每幀圖像對(duì)于整個(gè)視頻表情識(shí)別的重要性的不同。在當(dāng)前短視頻流行背景下,視頻包含的人臉表情信息相比靜態(tài)圖像更加豐富,視頻序列的人臉表情識(shí)別比靜態(tài)圖像更具有挑戰(zhàn)性。De Silva和Ng(2000)對(duì)每個(gè)視頻序列特征采用一對(duì)速度和位移特征向量表示,并采用光流算法(Anandan,1989)跟蹤視頻序列中的特征運(yùn)動(dòng),實(shí)現(xiàn)了基于視頻序列的表情識(shí)別。為了從每幀圖像中提取有效的人臉表情特征,付曉峰等人(2015)對(duì)局部二值模式(local binary pattern,LBP)進(jìn)行方向編碼,形成局部方向角模式(local oriented pattern,LOP),再擴(kuò)展到3維空間,提出時(shí)空局部方向角模式,以提取視頻的全局表示特征進(jìn)行視頻人臉表情識(shí)別。然而,上述方法采用的手工特征是低層次的,可靠性不夠,導(dǎo)致訓(xùn)練出的模型泛化能力不強(qiáng)。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,提出了一系列可用于提取視頻人臉表情特征的深度神經(jīng)網(wǎng)絡(luò),代表性的有卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)(李彥冬 等,2016)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(long short-term memory network,LSTM)(Sun等,2016)。王曉華等人(2020)采用堆疊LSTM的方式學(xué)習(xí)視頻序列數(shù)據(jù)的分層表示,使用注意力機(jī)制進(jìn)行相應(yīng)的權(quán)重分配,構(gòu)建出有效的情感層次特征表示,提高了模型的識(shí)別準(zhǔn)確率。Hu等人(2019)提出一個(gè)基于級(jí)聯(lián)的局部增強(qiáng)運(yùn)動(dòng)歷史圖像(Ahad等,2012)和CNN-LSTM網(wǎng)絡(luò)集成結(jié)構(gòu)的視頻表情識(shí)別方法。其中,CNN用于提取每幀圖像的空間特征,LSTM用于學(xué)習(xí)視頻圖像幀之間的時(shí)間維度信息表示。該集成框架用于提取視頻人臉表情的全局特征,較大程度地改善了識(shí)別模型的性能。Fan等人(2016)提出一個(gè)混合網(wǎng)絡(luò)框架,分別采用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)和3D卷積神經(jīng)網(wǎng)絡(luò)對(duì)外觀和運(yùn)動(dòng)信息進(jìn)行編碼。其中RNN的輸入為CNN從每幀圖像學(xué)習(xí)到的特征,然后將RNN和3D卷積神經(jīng)網(wǎng)絡(luò)輸出的特征進(jìn)行級(jí)聯(lián),用于實(shí)現(xiàn)視頻情感分類。
現(xiàn)有基于深度學(xué)習(xí)方法的視頻表情識(shí)別模型大多具有較強(qiáng)的特征提取能力,同時(shí)也考慮了視頻序列的時(shí)間維度信息,但很少關(guān)注視頻序列中每幀圖像對(duì)視頻表情識(shí)別的重要性。對(duì)此,以自注意力機(jī)制(self-attention)為核心的Transformer(Bahdanau等,2016;Brown等,2020;Dosovitskiy等,2021)方法提出了解決方案。Transformer模型將注意力機(jī)制作為編解碼器的核心執(zhí)行翻譯操作,并成功應(yīng)用于自然語(yǔ)言處理領(lǐng)域,取得了很好的機(jī)器翻譯性能。Dosovitskiy等人(2021)提出一個(gè)視覺(jué)Transformer模型,將處理文本序列的Transformer模型成功應(yīng)用在圖像識(shí)別領(lǐng)域,取得了不錯(cuò)的圖像識(shí)別性能。考慮到Transformer強(qiáng)大的注意力特征的學(xué)習(xí)能力,本文提出一種基于Transformer的視頻表情識(shí)別方法。首先采用在ImageNet數(shù)據(jù)集(Deng 等,2009)預(yù)訓(xùn)練好的深度殘差網(wǎng)絡(luò)(residual network,ResNet)學(xué)習(xí)出視頻片段序列中每幀圖像的人臉表情特征,并將其作為后續(xù)LSTM模塊和Transformer模塊的輸入。然后將LSTM學(xué)習(xí)到的時(shí)間維度特征和Transformer輸出的注意力特征進(jìn)行級(jí)聯(lián),構(gòu)建出一個(gè)視頻片段注意力特征,輸入到softmax層,得到每個(gè)片段的分類分?jǐn)?shù)值。最后將一個(gè)視頻中所有片段的表情分類分?jǐn)?shù)值(classification scores)進(jìn)行最大池化,得到視頻樣本的表情類別。該方法融合Transformer機(jī)制對(duì)視頻序列中的每幀表情圖像進(jìn)行加權(quán)特征學(xué)習(xí),學(xué)習(xí)出不同幀圖像對(duì)視頻表情識(shí)別的作用力差異性,提取到判別力強(qiáng)的視頻表情注意力特征。在兩個(gè)公開(kāi)視頻表情數(shù)據(jù)集BAUM-1s(Bahcesehir University multimodal)(Zhalehpour等,2017)和RML(Ryerson Multimedia Lab)(Wang等,2012)的實(shí)驗(yàn)結(jié)果表明,本文方法能取得較好的識(shí)別準(zhǔn)確率。
本文提出的端到端的CNN+LSTM+Transformer的視頻人臉表情識(shí)別模型結(jié)構(gòu)如圖1所示,具體包括以下步驟:1)片段空間特征提取。將視頻分成若干包含16幀的片段,通過(guò)深度殘差網(wǎng)絡(luò)學(xué)習(xí)出一個(gè)片段特征G∈RN×d并進(jìn)行歸一化處理。2)片段時(shí)間維度特征提取。將視頻片段特征輸入到LSTM模塊中,學(xué)習(xí)出視頻片段的時(shí)間維度特征信息e∈R1×d。3)片段幀注意力特征提取。將視頻片段特征輸入到Transformer模塊中,學(xué)習(xí)得到一個(gè)片段幀注意力特征Zclass∈R1×d。4)視頻表情分類。將時(shí)間維度特征和幀注意力特征進(jìn)行級(jí)聯(lián)后,輸入到全連接層中,輸出一個(gè)1×6維的片段分類分?jǐn)?shù)值,然后采用最大池化操作,輸出視頻人臉表情的類別。
圖1 CNN+LSTM+Transformer模型框架示意圖
綜上所述,本文方法不僅考慮了視頻中每幀圖像的空間特征,還考慮了時(shí)間維度特征。根據(jù)視頻序列每幀圖像中人臉表情強(qiáng)度的差異性,提出采用Transformer提取片段幀注意力特征,提高了模型的表情識(shí)別率。此外,采用交叉熵?fù)p失函數(shù)以端到端的方式訓(xùn)練情感識(shí)別模型,有助于模型學(xué)習(xí)到更有效的人臉表情特征。該損失函數(shù)定義為
(1)
式中,xi表示輸入的第i個(gè)片段序列;yi表示第i個(gè)片段的表情標(biāo)簽;P(xi)表示模型預(yù)測(cè)值。
為了有效提取視頻片段中每幀的特征,采用在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練好的ResNet-18提取每幀圖像的人臉表情特征。給定一個(gè)視頻的幀為si∈RN×W×3,其中,H和W分別為每幀圖像的高和寬,生成的特征為Gi∈R1×d,其中,d=1 024為片段特征的維度,殘差網(wǎng)絡(luò)表示為E(·),特征學(xué)習(xí)表示過(guò)程為
Gi=E(WResnet,si),i∈[1,N]
(2)
式中,WResnet為殘差網(wǎng)絡(luò)的可學(xué)習(xí)權(quán)重參數(shù);N=16為片段包含的幀數(shù);后文的N和d表示同一個(gè)含義。這樣,每幀圖像生成的特征是1 024維,一個(gè)片段含有16幀圖像,因此,一個(gè)片段特征G的維度為16×1 024維。
相比于靜態(tài)的圖像,視頻片段中的時(shí)間維度特征信息有助于視頻表情分類。因此,將LSTM網(wǎng)絡(luò)用于視頻片段中幀與幀之間的時(shí)間動(dòng)態(tài)信息建模,以學(xué)習(xí)出視頻片段的時(shí)間維度特征信息。給定輸入一個(gè)視頻片段圖像序列N(G1,G2,…,GN),時(shí)間步長(zhǎng)t∈[1,N],LSTM中的細(xì)胞(cell)單元處理序列數(shù)據(jù)過(guò)程為
It=fsigmoid(WI[Gt,Ht-1,Ct-1]+bI)
(3)
Ft=fsigmoid(WF[Gt,Ht-1,Ct-1]+bF)
(4)
Ot=fsigmoid(WO[Gt,Ht-1,Ct-1]+bO)
(5)
Ct=FtCt-1+Ittanh(WC[Gt,Ht-1]+bC)
(6)
Ht=Ottanh(Ct)
(7)
式中,It,Ft和Ot分別表示LSTM單元中的輸入門(mén)、遺忘門(mén)和輸出門(mén)。Gt表示當(dāng)前LSTM單元當(dāng)前時(shí)刻的輸入;Ht-1和Ht分別表示LSTM單元的上個(gè)時(shí)刻和當(dāng)前時(shí)刻的隱藏狀態(tài);Ct-1和Ct分別表示上個(gè)時(shí)刻和當(dāng)前時(shí)刻的輸出狀態(tài)。W和b表示可學(xué)習(xí)的門(mén)權(quán)重參數(shù)和偏置項(xiàng)(下標(biāo)表示對(duì)應(yīng)的門(mén));sigmoid和tanh表示sigmoid激活函數(shù)和tanh函數(shù)。
給定輸入序列G,將其輸入到LSTM網(wǎng)絡(luò),相應(yīng)的學(xué)習(xí)過(guò)程為
e=L(WLSTM,G)
(8)
式中,時(shí)間維度特征e∈R1×d由函數(shù)L(·)計(jì)算得到;WLSTM為L(zhǎng)STM的可學(xué)習(xí)網(wǎng)絡(luò)權(quán)重參數(shù)??紤]到LSTM的輸入是N×d維的片段特征,所以選擇1層結(jié)構(gòu)的LSTM就可以提取出相關(guān)的時(shí)間維度特征信息。
1.3.1 位置嵌入編碼
相比LSTM網(wǎng)絡(luò)結(jié)構(gòu)自身存在輸入的位置信息,Transformer無(wú)法主動(dòng)為片段中的每幀圖像添加相應(yīng)的位置信息。因此,本文采用位置嵌入(position embedding)編碼方法為輸入的每幀圖像特征添加對(duì)應(yīng)的位置信息。給定片段特征G∈RN×d,隨機(jī)生成一個(gè)位置矩陣M∈RN×d,具體的位置編碼過(guò)程為
Xi,j=Gi,j⊕Mi,j
(9)
式中,i∈[1,N],j∈[1,d];位置矩陣Mi,j隨訓(xùn)練過(guò)程更新;X∈RN×d為帶有位置信息的片段特征;⊕代表按元素相加。
1.3.2 Transformer模塊設(shè)計(jì)
Transformer模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。本文方法采用類似Dosovitskiy等人(2021)方法中的Transformer模塊。該模塊主要由1個(gè)線性映射層,1個(gè)可迭代的MHA(multi-head attention)層,1個(gè)由2個(gè)全連接層和2個(gè)GELU(Gaussian error linear unit)激活函數(shù)組成的多層感知器(multilayer perceptron, MLP),最后輸出一個(gè)片段幀注意力特征Zclass∈R1×d,具體計(jì)算為
圖2 Transformer模塊結(jié)構(gòu)示意圖
(10)
Xl=MHA(LP(Xl-1))+Xl-1,l∈[1,L]
(11)
Zclass=LN(MLP(XL(0))+XL(0))
(12)
1.3.3 多頭注意力機(jī)制
圖3 多頭注意力機(jī)制計(jì)算原理圖
(13)
(14)
(15)
(16)
(17)
Z=hall·Wout
(18)
分別表示注意力矩陣對(duì)應(yīng)的查詢量(query)、鍵(key)和值(value);hi表示注意力矩陣;z表示注意力頭數(shù);Wout表示可學(xué)習(xí)的權(quán)重參數(shù);fsoftmax(·)表示softmax函數(shù)。
實(shí)驗(yàn)平臺(tái)為顯存24 GB的NVIDIA GPU。識(shí)別模型訓(xùn)練時(shí),batch設(shè)為4,學(xué)習(xí)速率開(kāi)始設(shè)為5×10-5,最大循環(huán)次數(shù)設(shè)為80。實(shí)驗(yàn)測(cè)試采用與測(cè)試對(duì)象無(wú)關(guān)的交叉驗(yàn)證方法。對(duì)超過(guò)10個(gè)人的BAUM-1s數(shù)據(jù)集平均分成5組,進(jìn)行5次交叉驗(yàn)證,對(duì)包含8個(gè)人的RML數(shù)據(jù)集采用8次交叉驗(yàn)證,最后取所有交叉驗(yàn)證結(jié)果的平均準(zhǔn)確率作為實(shí)驗(yàn)的最終結(jié)果。
實(shí)驗(yàn)在視頻表情數(shù)據(jù)集BAUM-1s(Zhalehpour等,2017)和RML(Wang等,2012)上進(jìn)行。BAUM-1s是一個(gè)自然情感數(shù)據(jù)集,由31個(gè)人的8種基本表情組成,共1 222個(gè)視頻片段。實(shí)驗(yàn)只采用其中6種基本表情,分別為生氣(anger)、厭惡(disgust)、害怕(fear)、高興(joy)、悲傷(sadness)和驚奇(surprise),共520個(gè)視頻片段。視頻中每幀圖像的原始分辨率為720×576×3。圖4為BAUM-1s數(shù)據(jù)集中的人臉圖像樣例。RML是一個(gè)模擬情感數(shù)據(jù)集,由不同國(guó)家的8個(gè)人組成,共720個(gè)視頻片段,包含生氣、厭惡、害怕、高興、悲傷和驚奇6種基本表情,視頻中每幀圖像的分辨率為720×480×3。圖5是RML數(shù)據(jù)集中的人臉圖像樣例。
圖4 BAUM-1s數(shù)據(jù)集中的人臉圖像樣例
圖5 RML數(shù)據(jù)集中的人臉圖像樣例
由于視頻數(shù)據(jù)集的每個(gè)視頻時(shí)長(zhǎng)不一致,所以需要對(duì)數(shù)據(jù)集中的每個(gè)視頻進(jìn)行片段化處理。對(duì)每個(gè)視頻樣本采用MTCNN(multi-task convolutional neural network)網(wǎng)絡(luò)模型(Zhang等,2016)進(jìn)行人臉檢測(cè),首先將輸入的圖像進(jìn)行不同尺寸的縮放,形成一個(gè)圖像金字塔。圖像中小的人臉通過(guò)放大進(jìn)行檢測(cè),大的人臉通過(guò)縮小進(jìn)行檢測(cè),從而對(duì)統(tǒng)一大小的人臉圖像進(jìn)行檢測(cè)。然后將所有檢測(cè)到的人臉圖像的維度采樣為112×112×3,再將視頻的所有幀按間隔數(shù)φ提取到片段中,形成φ個(gè)包含16幀的片段。間隔數(shù)φ計(jì)算為
φ=[n/16]
(19)
式中,[]為取整函數(shù);n表示一個(gè)視頻的所有幀數(shù)。
本文模型主要由CNN、LSTM和Transformer 3個(gè)模塊組成。為了驗(yàn)證各模塊的有效性,在BAUM-1s和RML數(shù)據(jù)集上按CNN與LSTM組合、CNN與Transformer組合及CNN與LSTM和Transformer組合進(jìn)行3組實(shí)驗(yàn),消融實(shí)驗(yàn)結(jié)果如表1所示??梢钥闯?,CNN+LSTM模型在BAUM-1s和RML數(shù)據(jù)集上分別取得了57.73%和70.20%的表情識(shí)別準(zhǔn)確率,CNN + Transformer模型在BAUM-1s和RML數(shù)據(jù)集上分別取得59.04%和74.96%的準(zhǔn)確率,明顯優(yōu)于CNN + LSTM。由此可知,結(jié)合Transformer模型學(xué)習(xí)到的幀注意力特征的重要性大于時(shí)間維度特征。結(jié)合CNN + LSTM + Transformer模型表現(xiàn)最好,在BAUM-1s和RML數(shù)據(jù)集上分別取得60.72%和75.44%的準(zhǔn)確率。說(shuō)明CNN學(xué)習(xí)到的片段空間特征、LSTM學(xué)習(xí)到的時(shí)間維度特征與Transformer學(xué)習(xí)到的注意力特征三者存在一定互補(bǔ)性,三者結(jié)合能有效改善視頻表情識(shí)別的性能。
表1 消融實(shí)驗(yàn)對(duì)比結(jié)果
為了驗(yàn)證本文方法的性能,與其他方法進(jìn)行對(duì)比,結(jié)果如表2所示,其中對(duì)比方法結(jié)果為文獻(xiàn)數(shù)據(jù)。Zhang等人(2018)采用深度3D-CNN提取人臉表情特征用于人臉表表情識(shí)別,在BAUM-1s和RML數(shù)據(jù)集上分別取得50.11%和68.09%的識(shí)別準(zhǔn)確率。Kansizoglou等人(2019)采用CNN與LSTM組合進(jìn)行人臉表情特征提取,在BAUM-1s和RML上分別取得55.36%和70.55%的準(zhǔn)確率。Cornejo和Pedrini(2019)首先采用局部約束的立體匹配算法對(duì)人臉圖像進(jìn)行處理,即census變換,用于減少光照差異引起的誤匹配,然后采用基于CNN的census變換方法提取人臉表情特征,最后使用邏輯回歸分類器進(jìn)行人臉表情識(shí)別,在BAUM-1s和RML數(shù)據(jù)集上分別取得59.52%和75%的準(zhǔn)確率。Ma等人(2019)首先利用3D-CNN從面部表情序列中提取特征,最后使用支持向量機(jī)(support vector machine,SVM)進(jìn)行表情分類,在BAUM-1s和RML數(shù)據(jù)集上分別獲得54.69%和73.88%的準(zhǔn)確率。本文方法在BAUM-1s和RML數(shù)據(jù)集上分別獲得60.72%和75.44%的平均準(zhǔn)確率,優(yōu)于現(xiàn)有其他方法。實(shí)驗(yàn)結(jié)果表明,本文提出的模型能有效進(jìn)行視頻人臉表情識(shí)別。
表2 不同方法在BAUM-1s和RML數(shù)據(jù)集上的準(zhǔn)確率對(duì)比
為了更直觀地觀察本文方法對(duì)各類表情的識(shí)別情況,圖6和圖7分別給出了本文方法在BAUM-1s和RML數(shù)據(jù)集上獲得最佳識(shí)別結(jié)果的混淆矩陣。由圖6可見(jiàn),高興和悲傷的識(shí)別效果比較好,正確識(shí)別率分別為85.47%和78.36%,而生氣和害怕的識(shí)別準(zhǔn)確率較低,分別為8.93%和13.51%,這兩種表情容易誤判為悲傷,原因可能是這3種表情的區(qū)分度不高,造成網(wǎng)絡(luò)模型誤判。由圖7可以看出,害怕的識(shí)別性能最低,正確識(shí)別率為37.5%,生氣的正確識(shí)別率為65%,其他表情的識(shí)別效果較好,正確識(shí)別率超過(guò)70%。原因可能是RML數(shù)據(jù)集中害怕表情的樣本數(shù)目比其他表情樣本數(shù)目少很多,致使網(wǎng)絡(luò)模型無(wú)法較好地識(shí)別此類表情。
圖6 BAUM-1s數(shù)據(jù)集中CNN + LSTM + Transformer模型的識(shí)別結(jié)果混淆矩陣
圖7 RML數(shù)據(jù)集中CNN + LSTM + Transformer模型的識(shí)別結(jié)果混淆矩陣
本文提出一種基于Transformer的視頻序列表情識(shí)別模型,用于實(shí)現(xiàn)視頻人臉表情識(shí)別。該方法集成了CNN、LSTM和Transformer模型,分別用于學(xué)習(xí)高層次的視頻片段空間特征、視頻片段時(shí)間特征以及視頻片段幀注意力特征。在BAUM-1s和RML兩個(gè)視頻情感數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文方法能有效改善視頻人臉表情識(shí)別模型的性能。與對(duì)比方法相比,本文方法的整體性能占優(yōu),但識(shí)別某些數(shù)據(jù)樣本數(shù)量較少的表情類別依然表現(xiàn)欠佳,并且在面對(duì)難以區(qū)分的兩種表情時(shí),如害怕和悲傷兩種表情,本文方法表現(xiàn)一般。在以后的工作中,將嘗試通過(guò)采用有效的數(shù)據(jù)增強(qiáng)技術(shù)擴(kuò)大數(shù)據(jù)集,建立更具魯棒性的深度注意力機(jī)制模型。同時(shí),根據(jù)各類人臉表情存在的差異性,構(gòu)建一個(gè)區(qū)分表情注意力模塊,以進(jìn)一步提高區(qū)分度不高的表情識(shí)別性能。