宋冠軍,張樹東,衛飛高
首都師范大學 信息工程學院,北京100048
人工智能的興起促使人機交互領域成為當前研究的重點領域,而情感識別在模式識別中具有廣闊的應用前景,同時也是實現人機交互的關鍵技術之一[1]。對于單模態的情感識別研究,例如單一地對語音信號、心電信號、人臉表情、身體姿勢等其他生理信號的研究都已經取得了一定的進展。但是人腦情感信息源的多樣性和單模態情感識別的不確定性等原因決定了單模態情感識別準確率不高。因此,結合多種模態構建多模態情感識別框架就成為了提高情感識別框架性能的有效手段[2]。多模態情感識別研究中多模態融合策略在充分利用了語音、面部表情等多個模態的互補信息的同時也消除了單模態的不穩定性,從而在一定程度上提高了情感識別的準確率。在人類眾多的情感信號中語音信號和面部表情信號含有絕大多數的情感信息,故而大多數多模態情感識別研究集中于語音面部表情雙模態情感識別[3-6]。
2011年德國慕尼黑工業大學舉辦了第一屆多模態情感識別的競賽(Audio/Visual Emotion Challenge,AVEC),該競賽針對音視頻通過機器學習方法進行情緒分析[7],之后該會議以每年一次的頻率召開,推進了多模態情感識別研究的進展[8-13]。而隨著計算機硬件計算能力的提高,使得深度學習方法應用在多模態情感識別研究上成為了可能,例如卷積神經網絡(Convolution Neural Network,CNN)[14]、長短時記憶網絡(Long Short-Term Memory,LSTM)[15]等多種深度學習模型,被廣泛應用在情緒識別當中。而在多模態情感識別研究中,根據融合不同模態的數據時所處階段,目前多模態特征融合策略主要分為特征層融合[16-17]和決策層融合[18-19]兩種,深度學習模型在這兩種融合策略中都有應用。其中決策層融合的方法優點在于不需要語音信號和面部表情信號之間嚴格的時序同步,而且解決了不同模態的特征可靠性不同等問題。例如,Sahoo 等人在文獻[18]中提出一種基于決策規則的音視頻雙模態決策層融合的情感識別算法,文中首先單獨進行語音和面部表情的單模態識別并進行測試,然后設置決策規則,用以在決策層融合視聽信息以識別情緒。文獻[20]采用核熵成分分析(Ker‐nel Entropy Component Analysis,KECA)方法和決策層融合方法研究人臉表情和語音雙模態情感識別,在兩個常用的情感庫上都取得了較高的雙模態情感識別率。文獻[21]中采用通用背景模型加上最大后驗概率法再結合openSMILE 特征提取方法對音視頻信息進行特征提取并進行了決策層融合,然后在eNTERFACE 數據庫上進行驗證,取得了77.50%的識別率。但是決策層融合往往在訓練過程中數據損失量大,這就對識別準確率造成了影響。于是在保證語音信號與面部表情信號時序的絕對同步之下一些特征層融合的方法被提出。例如,在文獻[22]中,提出采用CNN 加上openSMILE 工具的方法對音視頻以及一些文本進行了特征提取,并在特征層進行了融合,在IEMOCAP 數據庫上進行驗證取得了76.85%的識別率。Tzirakis 等人在文獻[23]中提出了一種端到端的雙模態特征層融合算法,其中語音和面部表情模態分別使用CNN 和50 層的ResNet 網絡提取情感特征,然后對雙模態特征進行直接級聯,最后使用兩層LSTM 模型進行時序建模,然后以端到端的方式訓練系統。
然而,特征層融合的框架仍然有一些不足。首先,Sayedelahl 在文獻[24]中證明如果訓練樣本的數量相對較少,增加特征的集合可能導致情感識別準確率的降低。另外直接級聯后可能產生特征高維災難、不同模態的特征可靠性不同等問題。以上都是在雙模態特征直接級聯之后會導致情感識別準確率降低的可能因素。其次,語音片段或面部表情信號包含有大量時序信息,而單向LSTM 選擇性地記憶先前的時序信息,這就不能更有效地學習全局信息。
針對上述問題,本文以音視頻雙模態情感識別為對象設計了一種針對特征層融合的情感識別框架,如圖1所示。

圖1 音視頻雙模態特征層融合框架流程圖
在對語音信號和視頻信號分別進行簡單預處理之后,采用基于先驗知識的特征提取方法對語音信號進行語音特征提取,而在面部表情特征提取方面,本文采用VGGNet-19 網絡代替傳統的ResNet 網絡提取面部表情特征。隨后對所得到的音視頻特征都進行基于零均值標準化的特征歸一化處理以減少訓練時間。然后在特征層將經過時序絕對同步之后的音視頻特征進行直接級聯,完成雙模態特征融合。為了避免由于直接級聯融合特征可能產生的高維災難,本文采用PCA 對融合之后的特征進行降維處理。為了在對時序信息建模的同時考慮上下文信息,本文采用BLSTM替代傳統的LSTM進行建模,得到最終的情感識別結果。
首先因為設備采集到的語音信號為模擬信號,所以在特征提取之前要將其轉化為數字信號,這樣才能繼續進行后續處理。其次采集所得語音信號中混雜的環境和錄音設備帶來的無關噪聲會降低情感識別準確率,為提高情感識別準確率以及模型泛化能力,在情感特征提取之前,先對語音信號進行預處理操作,然后再進行特征提取。
步驟1將語音樣本下采樣到16 kHz,量化位數16 bit。這樣使得降低噪音干擾和保留有效情感信息兩方面要求都得到了滿足。
步驟2通過高通濾波器中一階數字濾波器進行語音預加重處理達到抑制低頻信號提升高頻信號的目的。傳遞函數及濾波函數如式(1)和式(2)所示:

其中,α 為預加重系數(0.9 ≤α ≤1),本文設置α 為0.94。X(n)為第n時刻的語音采樣值,Y(n)為處理后的信號。
步驟3為了保障信號的平穩性,使用窗口函數對語音信號進行分割,分割后的片段為語音幀。為了保證語音信號的平滑過渡,相鄰語音幀之間有一定的重疊。這里采用avec2014競賽[10]中的標準,幀長為3 s,幀移為1 s。
語音信號使用滑動窗口與窗口函數加權的方式進行分幀,常用的滑動窗口函數有矩形窗和漢明窗兩種,矩形窗和漢明窗的窗函數的表達式如式(3)和式(4)所示:

在窗函數的表達式中,n代表第n個采樣點,N 為語音幀內采樣點的數量。通過對兩個窗函數進行對比,發現漢明窗的主瓣寬度比矩形窗更寬。而主瓣較寬,語音信號起始和結束端的坡度較緩,窗口里信號將更加平穩,故選取漢明窗口函數進行語音信號的分幀操作。
步驟4為避免受語音樣本中無聲片段影響而訓練時間增長,使用雙門限端點檢測法對語音信號的起點與終點進行判斷,從而對語音樣本無聲片段進行剝離。其中使用基于短時能量的端點檢測法用來確定語音的起止點,其表達式如式(5):

其中,X(n為)語音信號,h(n)=ω2(n),ω(n)為窗函數。
使用基于過零率的端點檢測法[25]用來確定清輔音與無聲信號的分界點,其表達式如式(6):

其中,sgn[]為符號函數。
步驟5語音信號預處理之后,通過對預處理之后的語音信號中的特征參數進行提取和分析,得到語音信號特征。特征提取時,采用基于先驗知識的特征提取方法提取特征需要借助專家先驗知識經驗選取含有情感信息的韻律學、譜和聲音質量等聲學情感特征集合[26]。本文首先采用基于先驗知識的特征提取方法對韻律學、譜和聲音質量等低層次特征進行特征提取,再借助openS‐MILE[27]進行全特征提取。參照avec2014 競賽[10]中的特征集合作為參考進行情感特征提取,該特征集合具體特征種類參數見表1。
對語音幀序列進行特征提取之后,得到不同維度的語音情感特征。因為當不同特征參數取值范圍不同時情感模型訓練將花費大量時間,所以對特征進行基于零均值標準化的特征歸一化,其表達式如式(7):

其中,X 為樣本的特征矩陣,μ為均值向量,σ 為均方誤差。

表1 特征種類
因為視頻中部分圖像存在人臉遮擋現象會對模型訓練產生一定的干擾,其次因為視頻中部分人臉圖像轉動幅度大會使人臉特征提取速度變慢。針對這些問題,需要在情感特征提取之前,先對視頻幀進行預處理操作,然后再進行特征提取。
步驟1對數據庫中視頻流使用OpenCV[28]工具將其轉變為視頻幀序列,之后剔除對人臉被遮擋的圖像。
步驟2面部表情情感識別需對人臉面部的紋理特征進行特征提取與分析,但是實際采集的視頻流不僅包含面部而且包含人肩部以上圖像,所以直接對視頻幀操作時識別準確率不高而且花費大量訓練時間。為解決上述問題,同時也為了方便后續視頻幀的特征提取,使用Dlib[29]工具進行面部圖像尺寸歸一化處理,如圖2所示。

圖2 視頻幀面部圖像歸一化處理
步驟3對采集過程中人臉位置不正的圖片進行人臉對齊操作。這里使用68 個landmark 點(人臉關鍵特征點)對人臉進行標記,然后利用標記進行人臉對齊操作,如圖3所示。

圖3 landmark點標記人臉圖片
對所有標記landmark 點取均值得到頭部標準姿勢模板,其他圖像以該圖像為模板進行對齊操作。這里以兩個外眼角點(36,45)和鼻尖點(30)為基準,對所有圖像做仿射變換。這樣轉正后人臉特征點位置相近,方便后續進行特征提取操作。
步驟4預處理之后對面部表情特征進行提取。深度卷積神經網絡VGGNet[30]泛化性好常用來提取圖像特征,并有使用較小卷積核、增加網絡深度可以提升分類與識別效果的特性。這里使用VGGNet-19[30]提取面部表情的情感特征,使用常規參數進行網絡結構初始化,其結構如圖4所示。
VGGNet-19有5段卷積,每段卷積有2~3個卷積層,每段卷積后邊會緊跟最大池化層(maxpool)。其中卷積核也稱濾波器,作用是提取局部特征,每個卷積核都會映射出一張新的2D 圖像。池化用來保留最顯著的特征,具有提升模型畸變容忍的能力。得到不同維度的面部表情情感特征。同樣對提取后特征使用零均值標準化的方法進行特征矩陣歸一化處理,其表達式同式(7)。
步驟1為進行音視頻雙模態特征層融合,需要滿足語音信號和面部表情視頻幀時序的絕對同步。對于語音模態,語音信號被使用窗口函數分割后,每個3 s的語音片段對應一個語音特征向量,片段間1 s 的重疊。面部表情視頻流30 幀/s,每一幀對應一個面部表情的特征向量。以語音片段的時間窗口為基準,對時間間隔里所有視頻幀的特征向量取均值作為時間片段內所有幀的特征向量。這即滿足了語音信號和視頻幀信號的時序同步,同時也對所有幀的視頻幀的信息進行了充分利用。然后對語音信號特征和視頻信號特征進行直接級聯,級聯之后每個3 s 的音視頻片段對應3 s 語音片段維度數加上90 幀面部表情維度數的維度總數的特征向量。
步驟2當訓練集合的樣本不是足夠大時,特征參數過多會降低情感識別精度,所以選擇對特征進行降維操作[24]。PCA[31]算法將可能相關的特征向量進行正交變換,并將變換后的特征向量按照方差遞減的順序進行排序,選取方差較大的特征向量作為降維后的特征參數。雖然特征降維后特征有一定的數據損失,但特征之間的冗余得到了降低,從而抽取出最有代表性的情感特征。同時,PCA 降維避免了訓練集合的樣本數量不充足時,增加特征集合可能降低情感識別的準確率的問題。使用PCA 無監督學習的方法進行特征降維,以90%作為特征向量方差的閾值。
步驟3當人類情感發生變化時,臉部的眉毛、鼻子、嘴等器官周圍的運動單元也會隨之運動,這種變化具有連續性,所以面部表情信號和語音信號具有時序性。而且雙模態識別過程中,樣本信息既包括先前的語音信號和視頻幀又包括后續的語音信號和視頻幀,而且使用上下文信息有助于更好地學習全局信息。LSTM 只捕獲了上文信息,文獻[32]提出的雙向RNN模型同時考慮了歷史信息和未來信息。文獻[33]用LSTM記憶單元替代BRNN 中的隱藏層神經元,構建了BLSTM 模型,該模型有效地利用了序列數據的上文信息和下文信息,因此采用能選擇性記憶上下文時序信息的BLSTM進行模型構建。其結構如圖5所示。

圖4 VGGNet各級網絡圖結構

圖5 BLSTM結構圖
圖5 中包含兩層隱含層單元,第一層傳播方向為從前往后傳播,用來學習上文信息;第二層傳播方向為從后往前傳播,用來學習下文信息。在t 時刻,當前時刻的輸入值、上文信息、下文信息共同作為輸入值,對三者的信息進行判斷可以得到第t 時刻的輸出結果。
經過BLSTM建模之后,特征層融合框架構造完畢。
情感識別研究要建立在情感數據庫之上,情感識別框架性能也要通過情感數據庫來體現。為了評估設計的音視頻雙模態情感識別融合框架的性能,本文在AViD-Corpus 數據庫和SEMAINE 數據庫上進行實驗,并與幾種不同的雙模態特征層融合框架進行性能對比。
AViD-Corpus 數據庫是由PPT 引導的人機交互任務,交互內容包括兩部分:Northwind 和Freeform。數據采集設備為網絡攝像頭和智能手機,總共采集了340 個音視頻文件。該庫收集自292 個說話人,總時長240 h。其中音視頻片段時長20~50 min,平均時長25 min。說話人年齡分布在18~63 周歲,平均年齡31.5 周歲,年齡標準方差12.3。本文使用Northwind 部分進行實驗。其中,音視頻文件總共150 段,每段時長35~45 s 不等。語音采樣頻率41 kHz,量化位數16位;視頻采樣幀率為30幀/s,像素為640×480。avec2013競賽對該庫的Arousal和Valence維度進行了標注,avec2014競賽對Dominance維度進行了補充標注,標注范圍[-1,1]。
SEMAINE數據庫是由貝爾法斯特女王大學采集的英文音視頻維度情感數據庫。該庫由四種性格的(溫和、外向、生氣、悲傷)工作人員模擬機器工作的環境與20位被測者(8男,12女)進行交互的方式收集。SEMAINE數據庫在專業錄音棚內采集,采集時長約7 h,音視頻文件時長為3~5 min。其中,語音信號采樣頻率48 kHz、量化位數24 bit;視頻幀采樣頻率50幀/s、像素值為580×780。該庫含有95 個音視頻文件,在avec2011 和avec2012 競賽中該庫Valence、Arousal、Power、Expectation 和Intensity維度被進行了標注,標注范圍[-1,1]。
本文實驗硬件環境為PC機,有8塊8 GB內存,操作系統為Ubuntu14.04.5,搭載Linux 內核,同時借助GeForce GTX 1080 GPU進行加速處理。
將音視頻文件按照7∶1∶2 比例劃分為訓練集合、驗證集合、測試集合三部分。其中AViD-Corpus 數據庫數據分為訓練集合105個,驗證集合15個,測試集合30個。SEMAINE 數據庫數據隨機選取90 個音視頻文件分為訓練集合63 個,驗證集合9 個,測試集合18 個。選取Valence和Arousal維度情感進行識別。
使用設計的音視頻雙模態情感識別特征層融合框架對AViD-Corpus數據庫和SEMAINE數據庫的Valence和Arousal 維度情感進行識別,之后使用兩個維度情感識別的RMSE和PCC的均值對識別結果進行衡量。
為了驗證本文提出的基于特征層融合的雙模態情感識別框架的有效性,將本文方法(方法(5))與文獻[23]提出的雙模態情感識別方法(方法(1))進行了對比,并設計了幾種不同的對照方法(方法(2)、方法(3)、方法(4)),以下為幾種不同方法的具體細節及實驗結果分析。
方法(1)ResNet+LSTM:參照文獻[23]提出的情感識別框架,面部表情特征采用ResNet 網絡提取,而語音特征使用工具包openSMILE 提取,然后對雙模態特征進行直接級聯,最后使用兩層LSTM模型進行時序建模。
方法(2)ResNet+LSTM+PCA:在方法(1)中傳統的情感識別框架基礎引入PCA 降維,語音和面部表情模態分別使用工具包openSMILE 和ResNet 網絡提取情感特征,然后對雙模態特征進行直接級聯并采用PCA 降維,最后使用兩層LSTM模型進行時序建模。
方法(3)VGGNet-19+LSTM+PCA:語音和面部表情模態分別使用工具包openSMILE 和VGGNet-19 網絡提取情感特征,然后對雙模態特征進行直接級聯并采用PCA降維,最后使用兩層LSTM模型進行時序建模。
方法(4)ResNet+BLSTM+PCA:語音和面部表情模態分別使用工具包openSMILE 和ResNet 網絡提取情感特征,然后對雙模態特征進行直接級聯并采用PCA 降維,最后使用BLSTM模型進行時序建模。
方法(5)VGGNet-19+BLSTM+PCA:本文方法,即語音和面部表情模態分別使用工具包openSMILE 和VGGNet-19網絡提取情感特征,然后對雙模態特征進行直接級聯并采用PCA 降維,最后使用BLSTM 模型進行時序建模。
不同方案下實驗結果如表2和表3所示。

表2 AViD-corpus數據庫實驗結果

表3 SEMAINE數據庫實驗結果
在表2 和表3 兩個不同數據庫的對比實驗中,通過對比ResNet+LSTM 和ResNet+LSTM+PCA 的實驗結果發現加入PCA 降維之后實驗結果中RMSE 得到一定降低,PCC 得到一定提高。這證明了,PCA 降維在此兩個數據庫上對實驗結果有一定改善。
通過對比ResNet+LSTM+PCA和VGGNet-19+LSTM+PCA 以及對比ResNet+BLSTM+PCA 和VGGNet-19+BLSTM+PCA 可以看出使用VGGNet-19 對面部表情進行特征提取的RMSE要低于使用ResNet,使用VGGNet-19 進行面部表情進行特征提取的PCC 要高于使用ResNet。
通過對比ResNet+LSTM+PCA 和ResNet+BLSTM+PCA以及對比VGGNet-19+LSTM+PCA和VGGNet-19+BLSTM+PCA 可以看出使用BLSTM 進行時序建模的RMSE 要低于使用使用兩層LSTM,使用BLSTM 進行時序建模的PCC要高于使用兩層LSTM。
這證明了,在使用PCA 降維的四個實驗中,三種基于VGGNet-19 或者BLSTM 的框架有效性和準確性均優于傳統的ResNet+LSTM框架。
綜上所述,本文設計的語音和面部表情雙模態情感識別融合框架在RMSE 和PCC 兩個評估指標上均優于其他對比方法。因此本文實驗結果驗證了本文提出的音視頻雙模態情感識別融合框架的有效性和準確性。
為了解決音視頻雙模態情感識別框架準確率低可靠性差的問題,本文基于傳統的情感識別方法,在面部表情特征提取中采用了VGGNet-19 的方法,并在音視頻特征級聯之后融入PCA 降維,最后結合BLSTM 網絡以同時考慮上下文信息,構建情感識別特征層融合框架,使用AViD-Corpus 數據庫和SEMAINE 數據庫對該算法進行驗證。結果顯示,本文提出框架對比現有框架,RMSE 得到下降,PCC 得到提升,有效提升了情感識別框架的準確性和可靠性。