湯宇豪,毛啟容,高利劍
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮(zhèn)江 212013)
情感是人類行為和思考的一種狀態(tài),隨著人工智能技術(shù)的不斷發(fā)展,人們更多地希望改變智能機器客觀、冷靜的特性,并進行深度開發(fā)使其具備人類一樣的情感與思維,提供更人性化的服務。美國麻省理工學院PICARD教授根據(jù)情感在人類認知、決策、行動選擇和語言學習等方面所起到的關(guān)鍵作用,于1997年提出了“情感計算”[1]的概念,其目的是通過賦予計算機識別、理解、表達和適應人的情感的能力來建立和諧人機環(huán)境,并使計算機具有更高更全面的智能。
隨著情感計算需求的不斷增加,需要識別的情感種類越來越多。傳統(tǒng)的離散情感識別模型因為情感種類的局限性,在準確率和魯棒性上達到了瓶頸。連續(xù)維度情感描述的是持續(xù)不斷的情感狀態(tài),主要利用維度情感空間對情感狀態(tài)進行建模和描述。這種方法采用空間中連續(xù)的數(shù)值來描述情感狀態(tài),每個情感狀態(tài)對應多維空間中的一個點,每個維度對應情感的心理學屬性,將描述情感階段變化的離散情感轉(zhuǎn)換為描述情感連續(xù)變化的維度情感。
本文提出一種層次注意力機制(Hierarchical Attention Mechanism,HAM)來學習音頻模態(tài)中的頻域信息和視頻模態(tài)中的人臉位置信息,并將兩者融合進行維度情感識別。該模型分為視頻特征學習和層次注意力機制學習兩個部分,通過頻率注意力機制,計算音頻不同頻域?qū)η楦斜磉_的貢獻值并增強凸顯情感流露部分特征的影響力,根據(jù)多模態(tài)注意力機制,分別計算兩種模態(tài)對情感識別的貢獻值并進行融合,以彌補單一模態(tài)信息表達不完整的缺陷。
二維(arousal-valence)情感空間如圖1所示,其中,橫軸valence代表效價度,表示情感的積極與消極程度,縱軸arousal代表喚醒度,表示情感的激昂與低迷程度。通過設置效價度和喚醒度,可以表示出各種復雜細微的情感并加以區(qū)分,如欣喜若狂和怡然自樂描述了不同程度的愉悅之情,眉飛色舞和洋洋得意表達了兩個褒貶不同的喜悅。二維情感空間因為其較簡單的結(jié)構(gòu)和豐富的情感表達能力,成為目前維度情感識別主要采用的維度空間。
圖1 二維arousal-valence情感狀態(tài)空間示意圖
早期的連續(xù)維度情感識別方法主要采用手工特征結(jié)合傳統(tǒng)機器學習算法進行識別。文獻[2]采用手工方法提取人臉表情特征,結(jié)合最大似然分類、似然空間估計等概率空間分類方法以及隱馬爾科夫模型(Hidden Markov Models,HMM)實現(xiàn)維度情感識別。文獻[3]采用支持向量機(SVM)算法和k-近鄰(KNN)算法對比維度情感識別效果。
隨著深度學習的不斷發(fā)展,卷積神經(jīng)網(wǎng)絡(CNN)和長短時記憶網(wǎng)絡(LSTM)在維度情感識別領域得到應用。文獻[4]使用手工方法和深度學習方法相結(jié)合的方式,首先將維度情感分為簡單和復雜兩個等級,使用隱馬爾科夫模型對情感進行初步識別,然后在此基礎上采用雙向長短時記憶網(wǎng)絡(BLSTM)學習時間上下文信息,識別效果優(yōu)于傳統(tǒng)機器學習方法。文獻[5]采用時間池化的方式將多模態(tài)特征串在一起進行特征層融合并使用LSTM進行維度情感識別。文獻[6]對音頻和視頻模態(tài)分別使用BLSTM進行識別,再運用線性支持向量回歸(SVR)對識別結(jié)果進行決策層融合。文獻[7]使用3D卷積神經(jīng)網(wǎng)絡學習特征上下文信息。雖然上述方法都取得了較好的效果,但是存在如下問題:
1)未考慮到人臉區(qū)域凸顯情感表達的部分并不相同,如說話人微笑時,嘴部和眼部等凸顯情感的部分較人臉邊緣區(qū)域(頭發(fā)、耳朵等)對情感識別影響更大[8]。此外,音頻不同頻域之間對情感識別的效果也有差異,同等處理高頻和低頻的特征并不合理,如激動時,高頻域的特征相比于低頻域的特征更能凸顯此時的情感狀態(tài)。
2)不同模態(tài)對于情感狀態(tài)的影響程度是不同的,如說話人沮喪時,低沉的語調(diào)相比“面無表情”更能表征當前的情感狀態(tài)。
3)已有模型所取得的高精確度主要源于數(shù)據(jù)庫提供的手工特征以及在訓練和測試模型時投入了高額計算成本。因此,如何采用更合理的方法進行多模態(tài)連續(xù)維度情感識別,成為當前的一個挑戰(zhàn)。
近年來,注意力模型在自然語言處理、計算機視覺、語音識別等領域得到了廣泛應用。文獻[9]基于注意力模型構(gòu)建了根據(jù)圖像生成主題的模型。文獻[10]提出基于CRNN與注意力機制相結(jié)合的語音識別模型。文獻[11]提出將雙向長短時記憶網(wǎng)絡和注意力模型相結(jié)合的視頻描述與語義分析的模型。其實注意力模型本質(zhì)上是一種資源分配模型,主要目的是從眾多信息中選擇出對當前任務更關(guān)鍵的信息,提高模型的性能。以計算機視覺中的注意力模型為例,特征學習的瓶頸在于需要對整體圖像處理[12],但是人類視覺只需要將視覺焦點集中在當前感興趣的區(qū)域上,這一特點能夠有效地減少人類視覺系統(tǒng)的帶寬。因此,通過保留編碼器(CNN、LSTM等)對輸入序列的中間輸出結(jié)果,然后訓練一個模型來對這些輸入進行選擇性的學習并且在模型輸出時將輸出序列與之進行關(guān)聯(lián)。相比于采用多層網(wǎng)絡疊加或者決策層進行多模態(tài)融合的方式提高模型準確率,注意力模型使用更加簡潔的結(jié)構(gòu)學習對目標有利的特征,并將結(jié)果傳遞到下一層網(wǎng)絡中進一步學習,簡化了模型的復雜度,提升識別效果。
基于層次注意力機制(HAM)的多模態(tài)維度情感識別模型結(jié)構(gòu)如圖2所示,該模型主要分為視頻模態(tài)特征學習和層次注意力機制兩個階段。在模型訓練階段,將訓練視頻輸入到HAM模型中學習情感顯著特征,將訓練音頻輸入到頻率注意力機制學習顯著頻域信息,然后利用多模態(tài)注意力機制將人臉特征和音頻特征融合。在模型測試階段,將測試視頻輸入到訓練充分的HAM中,先提取人臉情感顯著特征,再進行最終情感預測。本節(jié)首先對所提出的基于層次注意力機制維度情感識別模型進行概述,然后詳細描述各個階段的學習過程。
圖2 基于層次注意力機制的多模態(tài)維度情感識別模型結(jié)構(gòu)
首先通過視頻預處理,將視頻按照每0.04 s為一幀進行截取,采用數(shù)據(jù)庫官方提供的人臉坐標對每幀圖像中的人臉進行截取,再將所有人臉圖片歸一化到相同尺寸。然后采用深度卷積神經(jīng)網(wǎng)絡,包括VGG、ResNet和Inception對人臉圖片序列進行特征學習。將深度卷積神經(jīng)網(wǎng)絡中的全連接層結(jié)構(gòu),改為三層全連接層,第1層包含1 024個節(jié)點,第2層包含512個節(jié)點,第3層包含64個節(jié)點。其中第1層、第2層全連接采用relu作為激活函數(shù),第3層全連接采用sigmoid作為激活函數(shù),主要目的是學習人臉特征中的高層特征,將特征中影響力較大的維度壓縮到接近1,影響力較小的維度壓縮到0.5,降低低層特征中的不穩(wěn)定性。
相比傳統(tǒng)方法中選取最后一層全連接層作為特征[13],本文采用最后一次卷積模塊所得到的特征圖作為人臉特征。全連接層是將池化后的特征拉直并進行壓縮的過程,圖像的位置信息和通道信息都被打亂,使用注意力模型學習到的特征貢獻值只是形式化的參數(shù),缺乏理論實際意義。而特征圖則完整地保留了人臉的紋理和層次信息,如圖2人臉特征所示,注意力模型更容易根據(jù)標簽學習到人臉中的情感顯著特征。特征圖可以更直觀地可視化出來,隨著網(wǎng)絡深度的增加,特征圖會越來越稀疏,實驗過程中相比于觀察最后的識別準確率的變化,情感狀態(tài)遷移給特征圖帶來的變化更明顯。
本節(jié)首先通過音頻預處理,按照每0.04 s為一幀提取音頻頻譜圖。因為單幀語音頻譜圖展現(xiàn)的信息量較少,且缺乏上下文聯(lián)系[14],所以以當前幀為基準,設置一個長度為n的滑動窗口,將前n-1幀音頻頻譜圖與當前幀頻譜圖進行拼接,作為當前幀的特征輸入。然后滑動窗口以步長為1繼續(xù)向后滑動采樣。假設當前幀數(shù)少于n幀,比如第一幀,那么復制n-1次第一幀進行補齊。由于前后幀與幀之間的變化較小,并且一般n取值小于10,因此不會對實驗產(chǎn)生波動性影響。
2.2.1 頻率注意力機制
如圖2所示,將提取好的單幀頻譜圖序列和整體頻譜圖分別輸入到兩個并行的三層卷積池化模塊中學習局部頻率信息和整體頻率信息。局部頻率信息模塊的輸出激活函數(shù)為sigmoid,把單幀頻譜圖特征值映射0~1之間,實際上這里的局部頻率學習過程就是注意力矩陣的學習過程,主要學習的是不同頻率之間特征的差異對整體頻率信息帶來的影響。將輸出的局部頻率特征進行拼接,與整體頻率特征進行對應元素相乘,根據(jù)情感標簽反向傳播,來對整體頻率特征中的各個維度進行選擇性加強或者削弱。相比于只采用單幀音頻頻譜圖作為輸入,加入多幀頻譜圖可以使模型在特征學習階段學習時間上下文信息,同時學習到幀與幀之間在頻率上的差異,而不僅僅依賴于LSTM在后期進行時序構(gòu)建。此外,傳統(tǒng)的注意力模型往往需要在原有網(wǎng)絡基礎上增加一個分支來提取注意力權(quán)重,并進行單獨訓練,本文中的頻率注意力機制在前向傳播的過程中利用頻率之間的差異性學習注意力矩陣,使得模型訓練更加簡單。
2.2.2 多模態(tài)注意力機制
將經(jīng)過頻率注意力機制處理過的音頻特征經(jīng)過全連接層輸入到LSTM中學習時間上下文信息。假設t時刻音頻特征為xt,前一時刻LSTM隱藏層輸出為ht-1,LSTM門控函數(shù)為f(),那么t時刻的隱藏層輸出定義為:
ht=f(ht-1,xt)
(1)
假設t時刻人臉特征為V,以vgg19為例,提取的特征是第5次卷積模塊的輸出,特征大小為196×512,因此V的特征維數(shù)為196,每個特征深度為512,那么每維特征的注意力權(quán)重計算過程如下:
(2)
(3)
將LSTM中的音頻上下文信息和人臉特征融合,計算過程如下:
(4)
其中,λt為t時刻音頻特征的權(quán)重,1-λt為t時刻視頻特征的權(quán)重。
2.2.3 模態(tài)比例優(yōu)化函數(shù)
在實驗過程中發(fā)現(xiàn),當說話人在說話時,鏡頭中并沒有出現(xiàn)人臉,此時只有環(huán)境背景,如電腦儀器、桌子等,多模態(tài)注意力模型無法準確判斷視頻中是否存在人臉,只會根據(jù)特征中各維度大小依靠情感標簽來反向傳播分配相應的注意力權(quán)重,因此有可能在沒出現(xiàn)人臉時依然給人臉特征分配了較大的貢獻值。同理,鏡頭中出現(xiàn)了人臉,但是說話人并沒有說話,而有可能是遠處的錄制視頻人員發(fā)出的聲音,但是仍然有可能給音頻特征分配了較大的注意力權(quán)重,這樣對情感識別造成了誤導。在深度學習梯度下降過程中,會在原損失函數(shù)中增加L2正則化[15]函數(shù)來防止過擬合,其原理主要是通過增加輔助函數(shù)來限制原損失函數(shù)中無關(guān)參數(shù)的影響力,引導總損失函數(shù)反向求導的方向。因此,受L2正則化啟發(fā),本文采用增加輔助標簽和輔助損失函數(shù)的方式在反向傳播的過程中引導總損失函數(shù)梯度下降的方向,在出現(xiàn)極端情況(有人臉無聲音,有聲音無人臉)時,限制多模態(tài)融合比例的取值范圍。針對音頻模態(tài),短時能量衡量了語音在某個時刻聲音能量的強弱,由于遠處錄制人員和說話人距離較遠,能量強度差異很大,因而通過設置能量閾值,低于閾值以下的能量強度設為0,以此來規(guī)避掉遠處錄制人員聲音的干擾。因此,提取音頻短時能量并歸一化到[0,1]作為音頻輔助標簽。針對視頻模態(tài),利用opencv中非常成熟的人臉檢測庫對人臉圖片進行檢測,檢測到人臉則輔助標簽置為1,沒檢測到則置為0。構(gòu)造的輔助損失函數(shù)如下:
(5)
其中,m為短時能量,是屬于0~1之間的實數(shù),n為集合{0,1},表示是否檢測到人臉。L1在t時刻對λ的梯度為:
(6)
(7)
圖3 模態(tài)比例優(yōu)化函數(shù)梯度示意圖
為驗證模型的識別效果,本文選用了AVEC2016(International Audio/Visual Emotion Challenge and Workshop)挑戰(zhàn)賽提供的數(shù)據(jù)庫進行實驗。AVEC2016數(shù)據(jù)庫是RECOLA(Remote Collaboration and Affective Interaction)數(shù)據(jù)庫的一個子集。數(shù)據(jù)庫提供自然型的數(shù)據(jù),是對參與視頻會議的人進行錄制得到的。數(shù)據(jù)庫提供了訓練集、驗證集和測試集一共27個長度時間為5 min的視頻,由6個法國研究人員在arousal和valence兩個情感維度上進行了標注,每隔40 ms進行一次標注,標注范圍為-1~1。每個視頻長達7 500 frame,最終每幀標簽為6名研究人員標注結(jié)果取平均值。數(shù)據(jù)庫官方強調(diào)了數(shù)據(jù)庫構(gòu)建的工作量并鼓勵使用數(shù)據(jù)庫的研究人員可以采用更合理的方法去提取特征。
在視頻特征學習階段,本文采用R平方系數(shù)[16]作為特征學習的評估指標,其通過計算數(shù)據(jù)的變化來表征回歸任務中預測值和標簽值的擬合程度。R平方系數(shù)越大,代表擬合程度越高,特征提取效果越好。R平方系數(shù)函數(shù)如下:
(8)
其中,Y_actual是情感真實標簽序列,Y_predict是情感預測值序列,Y_mean是情感真實標簽序列的平均值。
在層次注意力機制訓練與測試階段,本文采用數(shù)據(jù)庫官方提供的一致性相關(guān)系數(shù)(Concordance Correlation Coefficient,CCC)作為情感識別的評估指標,計算公式如下:
(9)
其中,μx和μy分別是情感預測值序列和情感真實標簽序列的平均值,σx和σy分別是情感預測值序列和情感真實標簽序列的標準差,ρ是2個序列之間的皮爾遜相關(guān)系數(shù)[17],計算公式如下:
(10)
在整個實驗中,采用均方根誤差(Root Mean Square Error,RMSE)作為損失函數(shù),其定義如下:
(11)
其中,xi代表第i幀的情感預測值,yi代表第i幀的情感真實標簽。
在視頻特征學習階段,選取12組視頻作為訓練集,6組視頻作為測試集。對于人臉特征學習,分別采用Vgg19、ResNet34、ResNet50、InceptionV3 4種經(jīng)典深度CNN進行對比實驗。由于以上4種深度CNN對圖片大小要求基本都是224×224或者299×299,因此批量訓練數(shù)量設置為150。在頻率注意力機制模型中,使用三層卷積三層池化的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)作為音頻上下文特征學習模型,每幀音頻頻譜圖大小為24×120,輸入窗口為5幀音頻信息,因此輸入頻譜圖大小為120×120。第1層卷積核大小為2×2,卷積核數(shù)量為8。第2層卷積核大小為3×3,卷積核數(shù)量為16。第3層卷積核大小為3×3,卷積核數(shù)量為32。為了保證整體頻率學習與頻率局部學習特征圖輸出大小一致,卷積過程中采用全0填充,保持兩者尺寸一致。池化尺寸全部設置尺寸為2×2的最大池化,步長為1。
在驗證HAM模型識別效果階段,設置了3組對比實驗:1)僅使用單幀音頻頻譜信息作為模型輸入,在不使用頻率注意力機制的前提下與視頻特征在特征層融合,對比完整的HAM模型,比較CCC相關(guān)度系數(shù);2)在使用頻率注意力機制的情況下,與視頻特征在特征層融合而沒有在模態(tài)間使用注意力機制,對比完整的HAM模型,比較CCC相關(guān)度系數(shù);3)在使用頻率注意力機制和多模態(tài)注意力機制的情況下,對使用和未使用模態(tài)比例調(diào)整函數(shù)的實驗效果進行對比。
實驗操作系統(tǒng)為ubuntu18.04,開發(fā)語言為python3.6.2,深度學習框架為tensorflow1.8、keras2.1和theano1.0.0,CPU為英特爾至強E5-2630V4 10核20線程,內(nèi)存為三星ddr4 2400 16 GB×8(128 GHz),GPU為英偉達特斯拉P100×2 16 GB顯存,加速版本為CUDA 9.0。在前期多次實驗對比的情況下,為了保證訓練充分,將epoch次數(shù)設置為1 000。梯度下降優(yōu)化算法從SGD、Adam和RMSProp三者中選擇。初始學習率設置為0.000 5。為了更直觀地對比訓練和測試結(jié)果之間的差異,每訓練一個epoch并在相應數(shù)據(jù)集上測試一次。
3.3.1 人臉情感顯著特征學習效果對比
在人臉特征學習階段,分別在arousal和valence 2個維度上采用4種深度卷積神經(jīng)網(wǎng)絡進行對比實驗。特征學習結(jié)果分別如圖4和圖5所示,在arousal維度上,InceptionV3和ResNet50在訓練充分的情況下,R平方系數(shù)都非常接近0.73,兩者損失幾乎沒有差異,但是InceptionV3相比ResNet50網(wǎng)絡參數(shù)多達24 734 048個,單次epoch訓練時間54 s,而ResNet50單次epoch訓練時間為37 s,因此在arousal維度上采用ResNet50學習人臉特征。在valence維度上,ResNet34的R平方系數(shù)達到了0.62,損失也非常接近最低的VGG19,而且網(wǎng)絡結(jié)構(gòu)相比于其他幾種也更簡單,單次epoch訓練時間31 s,因此在valence維度上采用ResNet34學習人臉特征。
圖4 arousal維度視頻情感顯著特征學習結(jié)果
圖5 valence維度視頻情感顯著特征學習結(jié)果
3.3.2 層次注意力機制可視化
為更直觀地展現(xiàn)層次注意力機制的識別效果,在測試模型階段保存頻率注意力機制和多模態(tài)注意力機制所計算出的注意力權(quán)重,疊加到原始人臉圖片和頻譜圖上,生成熱力成像圖,并展示多模態(tài)注意力機制人臉特征權(quán)重分布圖,如圖6所示。
圖6 層次注意力機制可視化結(jié)果
從圖6可以看出,加入了層次注意力機制之后,人臉凸顯情感表達的部位比如眼睛和嘴巴都被賦予了更大的權(quán)重,而邊緣區(qū)域比如頭發(fā)、耳朵等噪音的影響被削弱,語音信號中與當前情感流露更相關(guān)的頻率得到了加強,如圖6所示說話人微笑時,高頻域音頻特征更加顯著。通過注意力權(quán)重分布圖可以看出,突出情感表達的特征往往集中在少數(shù)部分的幾個特征中,這樣有選擇地加強這部分特征的影響力,減少了模型對其他無關(guān)特征或者影響力較小特征的關(guān)注,在面對維度更多的特征時,模型只需關(guān)注對當前識別貢獻較多的特征。
3.3.3 層次注意力機制效果對比
在層次注意力機制學習階段,分別對比了不使用層次注意力機制、僅使用層次注意力機制中的頻率注意力機制而不使用多模態(tài)注意力機制、使用層次注意力機制和使用模態(tài)比例優(yōu)化的層次注意力機制4種方法進行對比。實驗中保存了4種方法在測試集上的最佳結(jié)果,并隨機選取測試視頻逐幀展開繪制預測曲線。在不使用層次注意力機制的情況下,預測曲線非常抖動,與標簽曲線差異較大。使用了頻率注意力機制的預測曲線,整體走向偏向標簽曲線的發(fā)展趨勢,相對穩(wěn)定。使用了層次注意力機制的預測曲線,相比只采用頻率注意力機制,預測曲線和標簽擬合程度有了大幅提升,更加穩(wěn)定。而加入了模態(tài)比例優(yōu)化函數(shù)的預測曲線,在原有的結(jié)果上進一步優(yōu)化,相對情感標簽的擬合程度更高。
優(yōu)化過的層次注意力機制在arousal和valence兩個維度上的訓練測試過程分別如圖7和圖8所示。在arousal維度上,當訓練epoch達到800次時,此時訓練集CCC已經(jīng)超過0.9,測試集也達到了0.75左右,模型訓練已充分,隨著訓練的繼續(xù),模型開始過擬合,測試效果下降。在valence維度上,訓練和測試過程都較為抖動,訓練epoch達到700次時,模型基本訓練充分,但是測試結(jié)果并不穩(wěn)定。無論是在arousal還是在valence維度上,RMSE損失都有一定的波動。因此,在模型訓練充分后,取測試階段的50個epoch結(jié)果的平均值作為最終識別結(jié)果,最終在arousal維度上CCC為0.732,在valence維度上CCC為0.679。
圖7 arousal維度優(yōu)化層次注意力機制訓練測試過程
圖8 valence維度優(yōu)化層次注意力機制訓練測試過程
具體對比實驗結(jié)果如表1所示,相比于當前維度情感識別中的其他方法,層次注意力機制雖然在損失上遜色于最優(yōu)結(jié)果,但是CCC相關(guān)度系數(shù)更能反映情感預測值和情感標簽值的擬合程度。從表1可以看出,使用了頻率注意力機制在CCC上已經(jīng)超越了大多方法的結(jié)果,在此基礎上構(gòu)建的層次注意力機制的CCC表現(xiàn)最佳。最后對損失進行優(yōu)化,CCC在2個維度上分別達到了0.732和0.679,說明經(jīng)過優(yōu)化的HAM模型可以更有效地提取音頻和視頻中的情感顯著特征進行融合。
表1 層次注意力機制與其他方法的維度情感識別結(jié)果對比
基于連續(xù)維度情感識別,本文提出基于層次注意力機制的維度情感識別方法。利用大量實驗環(huán)境下的數(shù)據(jù)進行人臉情感顯著特征和層次注意力機制兩個部分的學習。實驗結(jié)果表明,與目前的主流方法相比,本文方法使用注意力機制對所學習的特征利用上下文信息進行有選擇的加強,簡化了特征預處理的過程,降低了情感無關(guān)因素的干擾,在連續(xù)視頻與音頻模態(tài)上的維度情感識別任務中取得了良好的效果。由于采用深度卷積神經(jīng)網(wǎng)絡學習人臉特征,且沒有和層次注意力機制融合成一個模型,導致模型損失優(yōu)化困難與特征學習不徹底,因此下一步將采用更合理的網(wǎng)絡結(jié)構(gòu)學習人臉特征,將特征學習和模型預測融為一體,并引入音頻手工特征豐富音頻信息與人臉特征融合,進一步提高模型識別準確率。