晉儒龍, 卿粼波, 文虹茜
(四川大學(xué)電子信息學(xué)院, 成都 610065)
情緒識別是計(jì)算機(jī)視覺的一項(xiàng)基本任務(wù),它是情感計(jì)算的一部分,旨在識別出某個(gè)體的感受與狀態(tài),例如高興、悲傷、厭惡和驚喜等.情緒識別技術(shù)用途廣泛,目前已經(jīng)在人機(jī)交互[1]、安防[2]和醫(yī)療健康[3]等領(lǐng)域有所應(yīng)用,然而自然場景中的情緒識別存在識別難度大等問題仍具挑戰(zhàn)性.得益于深度學(xué)習(xí)近幾年的快速發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的方法已經(jīng)成為各種先進(jìn)模型的基礎(chǔ).
情緒表達(dá)的途徑多種多樣,語音、文本、生理電信號以及圖像[4-7]是情緒識別的常見方式.在自然環(huán)境中,語音和文本數(shù)據(jù)難以采集,生理電信號的采集會對研究對象的情緒產(chǎn)生干預(yù),因此基于視覺信息仍是主要的情緒識別方法.關(guān)于面部情緒識別,無論是傳統(tǒng)的手工提取特征,還是深度學(xué)習(xí)方法,多數(shù)都是關(guān)注面部特征,因其能夠提供最明顯直觀的情感狀態(tài).普遍使用的方法是面部動作編碼系統(tǒng)(Facial Action Coding System, FACS)[8],核心思想是將面部定義為多個(gè)運(yùn)動單元(Action Unit),然后根據(jù)不同運(yùn)動單元的組合編碼為6種基本表情(快樂、悲傷、恐懼、驚訝、憤怒和嫉妒).由于深度CNN網(wǎng)絡(luò)的快速發(fā)展,運(yùn)動單元從手工設(shè)計(jì)轉(zhuǎn)變?yōu)樽詣幼R別,例如Jain等[9]提出使用CNN進(jìn)行特征提取和情緒分類.但是人臉在自然場景中存在光照不均勻、遮擋和拍攝角度等問題,導(dǎo)致難以準(zhǔn)確識別其情緒狀態(tài).
關(guān)于姿態(tài)情緒識別,Nicolaou等[10]提出一種面部結(jié)合肩部運(yùn)動信息的情緒識別方法,Schindler等[11]使用身體姿態(tài)在約束條件下識別6種基本情緒.Dael等[12]發(fā)現(xiàn)身體的動作和姿態(tài)不僅能反映情緒強(qiáng)度,還能得到具體的情緒類別.然而,同一種姿態(tài)或行為在不同語境中表達(dá)的可能是不同的情緒狀態(tài).例如,在家中看電腦和在辦公室看電腦是同一種行為,綜合考慮其姿勢,衣著以及環(huán)境會得到情緒狀態(tài)不同的結(jié)論.
最后是基于場景的情緒識別,Mou等[13]通過融合人臉,身體以及場景信息進(jìn)行群體的情緒識別,但基于場景信息的個(gè)體情緒識別很少被研究.為了更好地研究基于場景的情緒識別Kosti等[14]提出了EMOTIC (EMOTions In Context database)數(shù)據(jù)集,并且基于該數(shù)據(jù)集設(shè)計(jì)了一個(gè)雙通道的基準(zhǔn)網(wǎng)絡(luò)結(jié)構(gòu),分別用于提取人物特征和場景特征.在此基礎(chǔ)上,Zhang等[15]利用Region Proposal Network (RPN)網(wǎng)絡(luò)提取場景元素作為節(jié)點(diǎn)構(gòu)建情感圖進(jìn)行情緒識別.Bendjoudi等[16]在雙通道的基準(zhǔn)網(wǎng)絡(luò)上提出多任務(wù)損失函數(shù)改進(jìn)模型的訓(xùn)練過程.雖然上述方法都利用了場景信息,但是自然場景中的情緒線索有大小遠(yuǎn)近之分,簡單地對場景信息提取特征,并不能有效利用場景中的情感線索.
為了改善上述問題,本文提出了一種基于注意力機(jī)制的多尺度情緒識別網(wǎng)絡(luò)模型.此網(wǎng)絡(luò)由人物分支與場景分支組成.針對人物個(gè)體在自然場景中存在的不確定性問題,人物分支設(shè)計(jì)一種身體注意力機(jī)制用來預(yù)判個(gè)體情緒的置信度,并且作用于人物的特征,從而抑制相應(yīng)的不確定性.針對場景情緒線索探索不充分的問題,場景分支設(shè)計(jì)了全局-局部的網(wǎng)絡(luò)結(jié)構(gòu).對于全局信息,利用空間注意力機(jī)制獲取場景中的全局信息.對于局部信息,利用空間金字塔能夠捕獲不同粒度信息的能力,將場景中多種尺度的情感線索進(jìn)行融合增強(qiáng),從而獲得更加豐富的場景特征表示.最后早期融合雙分支的特征向量,得到最終的情緒分類結(jié)果.本文的主要貢獻(xiàn)如下:(1) 提出一種基于注意力機(jī)制與多尺度的網(wǎng)絡(luò),充分捕獲人物與場景各自的情感線索,最后融合二者之間的關(guān)系,推理出人物在自然場景中的情緒類別;(2) 在EMOTIC數(shù)據(jù)集進(jìn)行廣泛的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了提出模型的有效性.
現(xiàn)有方法在探索人物與場景線索時(shí),只是簡單地提取特征,然后進(jìn)行融合并進(jìn)行情緒分類,并未關(guān)注人物在場景中的不確定性,以及場景信息的復(fù)雜性.針對以上問題,設(shè)計(jì)一種基于注意力機(jī)制的多尺度網(wǎng)絡(luò)情緒識別模型,系統(tǒng)框架如圖1所示.對于人物個(gè)體,提取特征的同時(shí)使用注意力機(jī)制學(xué)習(xí)當(dāng)前人物情緒的置信度;對于場景,使用特征金字塔提取不同尺度的特征圖,其中高階語義信息使用空間注意力機(jī)制學(xué)習(xí)場景中的主要信息,最后融合雙分支網(wǎng)絡(luò)獲得情緒分類的結(jié)果.
在圖像中,人物個(gè)體能夠直觀地描述情緒狀態(tài),因此建立基于人體的CNN網(wǎng)絡(luò)結(jié)構(gòu).為避免過擬合以及增強(qiáng)模型泛化性能,使用Image-Net數(shù)據(jù)集下預(yù)訓(xùn)練的ResNet-50模型進(jìn)行微調(diào).根據(jù)Bounding Box裁剪出人物區(qū)域,作為網(wǎng)絡(luò)的輸入IB∈,通過ResNet-50得到的特征向量記作XB∈,其中d表示情緒類別數(shù).其前向傳播如式(1)所示
XB=F(IB;WB)
(1)
其中,WB表示網(wǎng)絡(luò)權(quán)重.考慮到圖像中人物的遮擋以及人物在圖像中是否占主導(dǎo)地位的因素,加入注意力機(jī)制預(yù)判當(dāng)前人物對情緒識別的置信度.該注意力機(jī)制有兩點(diǎn)值得注意:(1) 位置不同于傳統(tǒng)的注意力機(jī)制.不是位于特征圖之后,而是直接置于特征提取之前,這樣可以有效地預(yù)判當(dāng)前人物的情緒置信度;(2)結(jié)構(gòu)不同于Squeeze-and-Excitation[17]模型.首先使用全局平均池化得到11的卷積核,再通過兩個(gè)卷積層得到權(quán)重λ,最后與XB點(diǎn)乘,得到基于人物CNN的分類結(jié)果如式(2)所示.
fB=λ?XB
(2)
其中,?表示按位置相乘.部分判決結(jié)果如圖2a所示.
圖1基于注意力機(jī)制的多尺度網(wǎng)絡(luò)情緒識別框架Fig.1 The framework of attention mechanism and multi-scale network based emotion recognition
文獻(xiàn)[13-15, 18]的研究已表明場景信息能夠很好地輔助情緒識別,因此搭建基于場景的CNN網(wǎng)絡(luò)結(jié)構(gòu).為了防止與人物特征重復(fù)提取,對場景中主要人物增加掩模,如式(3)所示,對于場景圖像IC∈有
(3)
其中,bboxIB表示主要人物所在區(qū)域.使用特征金字塔(Feature Pyramid Networks, FPN)[19]處理場景細(xì)節(jié)信息.FPN常用于多尺度目標(biāo)檢測,它能夠在增加少量計(jì)算量的前提下融合低分辨率語義信息較強(qiáng)的特征圖和高分辨率語義信息較弱但空間信息豐富的特征圖,在下采樣過程中有效地增強(qiáng)局部細(xì)節(jié)特征.FPN分為自底向上和自上而下兩個(gè)過程,在自底向上的過程中,采用預(yù)訓(xùn)練的ResNet-18模型作為特征提取網(wǎng)絡(luò),ResNet擁有4個(gè)殘差塊,為避免內(nèi)存占用以及過擬合問題,使用最后3個(gè)殘差塊的輸出構(gòu)建FPN,記作C={C3,C4,C5},分別對應(yīng)IC的{8,16,32}下采樣倍數(shù);在自頂向下的過程中,采用兩倍最近鄰插值對{C3,C4,C5}上采樣,然后與其下一層的特征圖進(jìn)行對應(yīng)位置的相加,得到對應(yīng)的特征金字塔P={P3,P4,P5},C與P擁有相同的尺寸.由于P共享同一個(gè)分類器,所以在分類前通過11卷積修正所有特征圖的通道為256維,分類器由兩個(gè)卷積層和全局平均池化構(gòu)成,輸出分類結(jié)果為
(4)
由于只關(guān)注場景中對情緒識別有幫助的部分,因此引入空間注意力機(jī)制,對此使用Attention Branch Network[20],與FPN自底向上過程共享網(wǎng)絡(luò)權(quán)重,該網(wǎng)絡(luò)能夠有效地識別定位圖像中主要的區(qū)域,其輸出記作fC2.場景分支的分類結(jié)果由fC1和fC2構(gòu)成.
為融合人物分支和場景分支的特征向量,使用早期融合在通道維數(shù)連接
f=concatnate[fB,fC1,fC2]
(5)
然后通過一個(gè)全連接層對特征向量f∈進(jìn)行分類,再通過Softmax歸一化到[0, 1]區(qū)間.
本文基于EMOTIC數(shù)據(jù)集[14]進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集圖片來源于MSCOCO、Ade20K和網(wǎng)絡(luò)下載等3部分.共包含23 571張圖片,標(biāo)注了34 320個(gè)人物.標(biāo)注信息包含26類情緒,每個(gè)人物至少擁有一種情緒標(biāo)簽.其中70%用于訓(xùn)練,10%用于驗(yàn)證,20%用于測試.
本文在Ubuntu16.04系統(tǒng)使用Pytorch框架進(jìn)行實(shí)驗(yàn),GPU為NVIDIA GeForce GTX2080,內(nèi)存為11 GB,模型參數(shù)的優(yōu)化使用Adam優(yōu)化器,初始學(xué)習(xí)率為1e-4并按照余弦方式下降,訓(xùn)練輪數(shù)為70次,批次為32,使用MultiLabelSoftMarginLoss函數(shù)進(jìn)行誤差反向傳播.IB和IC縮放為224224,使用水平翻轉(zhuǎn),改變對比度、亮度和飽和度進(jìn)行數(shù)據(jù)增強(qiáng).
沿用文獻(xiàn)[14]使用的mAP(mean Average Precision)作為評價(jià)指標(biāo)以便客觀評價(jià)模型性能.實(shí)驗(yàn)對比了EMOTIC數(shù)據(jù)集的基準(zhǔn)方法[18],Bendjoudi等[16]提出的方法以及Zhang等[15]提出的方法.實(shí)驗(yàn)結(jié)果如表1所示,從表1可以發(fā)現(xiàn)自然場景中的復(fù)雜情緒識別任務(wù)挑戰(zhàn)較大.文獻(xiàn)[16]在基準(zhǔn)模型[18]的基礎(chǔ)上對損失函數(shù)進(jìn)行改進(jìn),獲得了一定的性能提升.先進(jìn)模型[15]利用目標(biāo)檢測算法進(jìn)一步提取場景線索,其性能的提升也說明有效利用場景線索可以輔助情緒識別.
表1 EMOTIC測試集下的AP和mAPTab.1 Quantitative evaluation of EMOTIC in comparison on average precision and mean average precision
本文模型利用多尺度信息以及空間注意力機(jī)制探索不同粒度的場景信息,相比單階段方法[16,18]分別提升了2.27%和1.32%.相比于先進(jìn)模型[15]使用雙階段的訓(xùn)練策略(先單獨(dú)檢測自然場景的線索,然后依賴圖神經(jīng)網(wǎng)絡(luò)構(gòu)建情感計(jì)算圖),我們的模型可以實(shí)現(xiàn)端到端的訓(xùn)練以及計(jì)算量的減少,并且mAP提升了1.23%,表明了本文提出模型的優(yōu)越性.
值得注意的是,在數(shù)據(jù)較少的類別Annoyance(2%),Aversion(1%),Disapproval(2%),Pain(1%),Sadness(2%),AP值均優(yōu)于其他方法,其中Disapproval提升最多為4.67%.說明當(dāng)數(shù)據(jù)較少時(shí),本文模型仍能有效學(xué)習(xí)到自然場景中的情緒線索.在數(shù)據(jù)較多的類別Confidence(23%),Engagement(50%),Happiness(26%),相比其他方法,提升幅度有限.主要是因?yàn)閳鼍胺种词褂幂^深層數(shù)的骨干網(wǎng)絡(luò),這使得我們的模型能夠在數(shù)據(jù)少的類別實(shí)現(xiàn)明顯的性能提升.但隨著網(wǎng)絡(luò)的加深,容易導(dǎo)致模型過擬合,進(jìn)而降低泛化性能.詳細(xì)類別分布見文獻(xiàn)[14].整體來說,所提出模型在多數(shù)類別的AP均獲得了提升,mAP也達(dá)到了最優(yōu)結(jié)果.
為了更準(zhǔn)確地衡量本文模型的有效性,設(shè)計(jì)消融實(shí)驗(yàn)對比分析身體注意力機(jī)制(w/BA),空間注意力機(jī)制(w/CA)以及特征金字塔(w/FPN)等3個(gè)組件的性能,實(shí)驗(yàn)結(jié)果如表2所示.可見三者組合使用可以獲得最優(yōu)的性能,三者單獨(dú)使用也優(yōu)于其他方法.其中BA用于預(yù)判人物在場景中的情緒置信度,同時(shí)抑制人物個(gè)體的不確定性,性能相比先進(jìn)方法提升了0.67%.CA用來捕獲全局場景信息,提升最多為1.85%,用來提取局部場景信息的FPN也獲得了可比的性能提升.消融實(shí)驗(yàn)結(jié)果表明該模型使用的3個(gè)模塊能夠充分利用人物信息和場景中的全局-局部信息,從而有效提高情緒識別效果.
表2 基于注意力機(jī)制的多尺度網(wǎng)絡(luò)消融實(shí)驗(yàn)Tab.2 Ablation studies for proposed method
除了實(shí)驗(yàn)數(shù)據(jù)分析,我們也對部分測試集進(jìn)行可視化分析,如圖2所示.一方面是人物分支的情緒權(quán)重λ,如圖2(a)所示,當(dāng)人物在圖片中清晰可見時(shí),其權(quán)重較大;當(dāng)人物受到分辨率,拍攝角度等影響,通過人物本身難以識別其情緒狀態(tài),對應(yīng)的情緒權(quán)重也相應(yīng)減少并弱化人物對情緒識別的影響.另一方面是場景分支的空間注意力分布,如圖2 (c)和(d)所示,對人物增加掩模后,場景分支將注意力從人物本身轉(zhuǎn)移到關(guān)注場景本身,這樣可以有效地避免人物分支與場景分支學(xué)習(xí)到重復(fù)的特征.表3的實(shí)驗(yàn)結(jié)果也表明對人物增加掩模后(w/ masking)性能有所提升.
圖2 情緒識別結(jié)果可視化(a) 原始圖像;(b) 人物情緒標(biāo)簽,其中綠框?yàn)檎嬷担{(lán)框?yàn)轭A(yù)測值;(c)(d) 分別為原始圖像和IC訓(xùn)練得到的空間注意力分布Fig.2 Visualization of emotion recognition results(a) Original image; (b) multi-label,which ground truth in green box and prediction in blue box; (c) and (d) results of without hiding the body and with hiding the body during training respectively
表3 人物增加掩模性能對比Tab.3 Quantitative evaluation of with/without masking.
本文研究了基于人物與場景線索的自然場景情緒識別問題,提出了基于注意力機(jī)制的多尺度情緒識別網(wǎng)絡(luò)結(jié)構(gòu),在完全缺乏人臉信息的真實(shí)場景中,實(shí)現(xiàn)了對26類復(fù)雜情緒的基本識別.網(wǎng)絡(luò)結(jié)構(gòu)由人物分支與場景分支組成,針對人物分支設(shè)計(jì)的身體注意力機(jī)制能夠有效預(yù)判當(dāng)前人物對情緒識別的置信度,針對場景分支,融合空間注意力機(jī)制和特征金字塔可以進(jìn)一步探索場景中的全局-局部情緒線索.在EMOTIC數(shù)據(jù)集上進(jìn)行多個(gè)實(shí)驗(yàn)以評估該方法的識別性能.與相關(guān)方法比較,實(shí)驗(yàn)結(jié)果驗(yàn)證了該模型的有效性.雖然本文方法在識別精度上有較好的結(jié)果,但仍然有進(jìn)一步的提升空間,主要原因是在對人物分支以及數(shù)據(jù)集不平衡的研究有限,在后續(xù)研究中,會考慮融合行為識別和改進(jìn)訓(xùn)練策略等方式,提升算法識別的精度.