宋夢媛
(上海工藝美術職業(yè)學院,上海 201800)
計算機、網(wǎng)絡、大數(shù)據(jù)、物聯(lián)網(wǎng)和通信等技術[1-2]的不斷發(fā)展為人機交互領域[3]的發(fā)展帶來了契機,特別是為情緒識別[4]的發(fā)展奠定了基礎.通過捕捉多模態(tài)數(shù)據(jù)之間的互補信息,可進一步提高情緒識別的魯棒性和準確率;為了處理來自面部表情圖像和語音的多模態(tài)情感識別問題,許多學者對此進行了研究;早期的多模態(tài)情感識別主要基于人工特征提取[5],但在精度和效率方面欠佳,存在較大提升空間[6].隨著深度神經網(wǎng)絡的出現(xiàn),人們更傾向于探索一些深層特征并開發(fā)出一些新的識別方法[7-10],這些方法屬于特征級融合,主要是將語音和面部表情特征直接結合起來,簡單直觀,但不能靈活表達每個特征的影響系數(shù),導致特征維數(shù)過大,模型準確率較低;為改善這一問題,本文提出了一種基于多任務CNN的多模態(tài)情感識別模型,在視覺和聽覺模態(tài)數(shù)據(jù)中分別提取語音特征和人臉圖像特征,用于提高不同情感的泛化能力和識別精度.
使用OPENSMILE提取音頻特征,并組成音頻特征集.該特征集包含幀級聲學特征的各種統(tǒng)計信息,如響度、Mel頻率倒譜系數(shù)(Mel-frequency cepstrum coefficients,MFCC)、線譜對(line spectral pairs,LSP)、基頻(fundamental frequency,F(xiàn)F)、聲音、微光和抖動等.由于不同語音特征的維數(shù)不一致,采用z-分數(shù)歸一化方法對特征進行歸一化,從而得到歸一化的N×M特征矩陣,其中N為樣本數(shù)據(jù)的數(shù)量,M為特征個數(shù).
語音特征在語音情感識別中有很好的應用,然而缺乏時域信息.為了獲得時域和頻域信息的特征,可通過生成Mel譜圖[11],使得不同頻率下的信號隨時間的強度或“響度”呈現(xiàn)在特定波形中.
首先對視頻進行幀處理,從而獲得一系列面部表情圖像[12].考慮到實際情境中的情緒是一個漸進的過程,對于每個情感視頻剪輯,選擇視頻中間的五個連續(xù)圖像,一方面可以獲得更豐富的情感信息,另一方面可以擴展訓練數(shù)據(jù)的樣本數(shù),增強模型訓練數(shù)據(jù)多樣性.
1.2.1 基于空間注意CNN的像素級特征提取
像素級特征提取網(wǎng)絡主要基于CNN[13]結構和VGG[14]網(wǎng)絡,并使用空間注意模塊作為VGG網(wǎng)絡的像素特征提取器.網(wǎng)絡具體結構如圖1所示,網(wǎng)絡各層詳細配置如表1所示.可以看出,網(wǎng)絡輸入圖像的大小為44×44.Conv(ks×ks×cin×cout)表示卷積核大小為ks×ks的卷積層,其中cin和cout分別表示輸入通道和輸出通道的數(shù)量.MaxPool(k×k)表示卷積核為k×k的最大池化層.此外,在每個卷積層后跟隨批量歸一化層從而減少變量遷移,并使用校正線性單元(Rectified Linear Unit,ReLU)進行激活.空間注意層通過估計表示相應像素組重要性權重,從而減少不相關信息.具體原則為:與人臉圖像不相關區(qū)域將賦予低重要性權重.進一步,將提取的CNN特征輸入注意網(wǎng)絡,且該網(wǎng)絡輸出一個注意掩碼,從而量化特征圖中每個位置的重要性.接著,提取的特征通過注意掩碼進行加權.一般情況下,將提取的特征映射表示為hc,注意掩碼表示為Mc.因此,一維卷積模型下獲得注意掩??捎嬎闳缦拢?/p>
Mc=fa(Wc×hc+Bc);
(1)
式中,Wc和Bc分別是卷積層的權重和偏置,且Bc隨機初始化;fa(·)為tanh激活函數(shù).此外,注意掩碼的值限制在(1,1)范圍內,其中權重為正
表1 基于像素級特征提取的空間注意CNN網(wǎng)絡配置
的特征將視為與表達相關的特征;權重為負的特征將視為冗余特征,后期可過濾.通過對相應像素的重要性進行加權,可得到加權后的像素級特征映射hp,具體計算如下:
hp=Mc·hc.
(2)
1.2.2 人臉標志點檢測與分組策略
令每個人臉標志點都由二維笛卡爾坐標表示為(x,y).考慮到面部表情由面部行為的變化引起,與某些特定區(qū)域密切相關,將面部標志點按其在面部的不同位置分為七組,包括左眉、右眉、左眼、右眼、鼻子、嘴巴和下巴.
1.2.3 基于幾何級特征提取的LSTM注意網(wǎng)絡
利用基于幾何級特征提取的長短時記憶(Long and short term memory,LSTM)注意網(wǎng)絡捕捉隱藏在不同面部區(qū)域標志點中的潛在信息,從而在分組的面部標志點的笛卡爾坐標中提取深層幾何層次的表示.具體而言,通過七個LSTM獲取相應的七個面部標志點序列vk(k=1,2,…,7),進而獲取標志點相對位置相關性.因此,提取幾何特征的過程可由以下公式遞歸表示:
it=σ(Wvivt+Whiht-1+Wcict-1+bi),
(3)
ft=σ(Wvfvt+Whfht-1+Wcfct-1+bf),
(4)
ct=ftct-1+ittanh(Wvcvt+Whcht-1+bc),
(5)
ot=σ(Wxovt+Whoht-1+Wcoct+bo),
(6)
ht=tanh(ct),
(7)
(8)
式中,it、ft、ct和ot分別是LSTM模型中輸入門、遺忘門、存儲單元和輸出門的激活向量;vt和ht分別是第t個時間步的輸入向量和隱藏向量;W表示權重矩陣;b為偏置;σ(·)為sigmoid函數(shù).需注意,每個LSTM的單元數(shù)等于輸入的面部標志點數(shù).通過連接所有七個面部區(qū)域的所有單獨學習的特征hi,從而獲得整個面部的整體深層幾何特征hl,具體描述如下:
hl=[h1,h2,…,h7].
(9)
考慮到不同的面部區(qū)域對表情識別的貢獻是不平等的,因此需要區(qū)別對待不同面部區(qū)域中的標志點對分類的重要性程度,為此使用注意模塊用于突出與表情相關的標志點中學習到的特征,將提取的所有七個LSTM的局部深層幾何特征輸入注意掩碼網(wǎng)絡,從而量化幾何特征的重要性程度,同時對提取的特征進行加權.令提取的特征表示為hl,注意掩碼為Ml,則卷積模型在注意掩碼下獲取的特征可計算如下:
hg=Ml·hl,
(10)
式中hg為面部整體幾何特征.
針對獲得的Mel譜特征和面部表情特征,設計多任務CNN網(wǎng)絡模型,從而提高單模態(tài)識別模型對用戶情緒的敏感性.
多任務CNN網(wǎng)絡模型的結構如圖2所示.該結構由五個卷積層和三個采樣層組成,每層的參數(shù)和輸出圖像大小如表2所示.在CNN網(wǎng)絡的頂部,使用Softmax函數(shù)計算訓練過程的損失,并預測分類過程中的分類概率.Softmax的輸入和輸出分別表示分類的特征和類別.假設樣本數(shù)據(jù)為{(x1,y1),(x2,y2),…,(xm,ym)},其中m為輸入樣本數(shù)據(jù)的數(shù)量.對于每個樣本數(shù)據(jù),首先執(zhí)行分數(shù)線性映射:
表2 多任務CNN網(wǎng)絡配置
(11)
式中θj為輸出節(jié)點j的權重參數(shù).進一步,對上式執(zhí)行歸一化操作,則每個類別分類的概率
(12)
式中,K為輸出類別的數(shù)量;P(y=j|x)為每個類別分類的概率,且有P(y=j|x)∈[0,1].最終,輸出類別是分類概率最高的類別,即
(13)
式中f(x)為輸出.
考慮到網(wǎng)絡執(zhí)行兩個任務,且不同任務可能不會同時收斂,為此,設計的損失函數(shù)為
Lt=α1Le+α2Lg,
(14)
(15)
(16)
式中Le和Lg分別為情緒和語音分類任務損失;α1和α2為不同任務權重;K1和K2分別表示兩個任務分類的數(shù)量;y表示樣本;P為預測概率.
考慮到語音和面部表情中基本分類器的多樣性,建立了一個集成學習模型,使用多種算法對模型進行融合[15].模型主要由兩層組成:第一層為傳統(tǒng)訓練層,包括許多基本分類器;第二層是將基本分類器的輸出重新組合到新的訓練集中,從而訓練更高級別的分類器.在訓練第二層分類器時,將基礎分類器的輸出作為輸入,對基礎分類器的輸出進行集成.集成學習過程如圖3所示,其中C1,C2,…,Cm為第一層的分類器,E1,E2,…,Ej為第二層分類器,并采用logistic回歸輸出最終分類.
圖3 集成學習過程
首先,將原始訓練數(shù)據(jù)集按一定比例劃分為訓練數(shù)據(jù)集和測試數(shù)據(jù)集,其中訓練數(shù)據(jù)集的比例約為60%-80%.然后,基于基礎分類器C1,C2,…,Cm對訓練集進行學習.模型訓練后,預測結果為P1,P2,…,Pm.然后將每個預測結果序列視為一個新的特征,將其作為輸入代入第二層集成學習模型.最后,利用logistic回歸構造一個新的分類器對這些新特征進行訓練,得到最終的識別結果.
使用的數(shù)據(jù)集為eNTERFACE視聽情感數(shù)據(jù)集,該數(shù)據(jù)集包含來自14個不同國籍的42個受試者(81%的受訪者為男性,19%為女性;31%戴眼鏡,17%的受試者留胡子)總共1 166個視頻序列,實驗者要求在用英語表達選定的句子時表現(xiàn)出六種基本情緒,即:憤怒、厭惡、恐懼、快樂、悲傷和驚訝.
模型使用python3.7編寫主程序,并基于PyTorch搭建深度學習網(wǎng)絡;深度學習網(wǎng)絡運行在操作系統(tǒng)為ubuntu 18.04的聯(lián)想服務器,CPU為英特爾i7-12700F,2.1 GHz,內存32 GB,顯卡為NVIDIA RTX1080Ti,11 G.網(wǎng)絡訓練時,權重更新優(yōu)化方法采用隨機梯度下降(Stochastic Gradient Descent,SGD)算法,且初始學習率設置為0.001.此外,動量、權重衰減和批處理大小分別設置為0.9、0.000 5和32.同時,為了避免過度擬合,網(wǎng)絡中采用了dropout策略,概率設置為0.2.面部特征提取網(wǎng)絡中,LSTM的隱藏層和隱藏層節(jié)點數(shù)分別設置為2和128.
表3所示為所提多任務CNN網(wǎng)絡模型準確率、召回率和F1分數(shù)的實驗結果.從表中可以看出,“快樂”和“驚訝”的識別準確率最高,分別為0.986 3和0.975 6;“恐懼”和“厭惡”相對難以區(qū)分,而且很容易錯誤分類,識別準確率較低,主要是因為缺乏這些典型面部表情的訓練樣本.圖4所示為所提網(wǎng)絡的受試者工作特征(Receive Operating Characteristic,ROC)曲線,從中可以看出所提模型取得了良好的性能,平均ROC曲線下面積(Area Under Curve,AUC)為0.973 9.
表3 多任務CNN網(wǎng)絡準確率、召回率和F1分數(shù)的實驗結果
將所提多任務CNN網(wǎng)絡模型與其他主流方法進行對比實驗,平均準確率比較結果如表4所示.SVM和神經網(wǎng)絡為傳統(tǒng)計算智能方法,準確率最低.深度學習網(wǎng)絡模型中,ResNet、VGG19和集成學習模型性能有所提升.多任務CNN模型性能最高,平均識別準確率為0.965 2,較ResNet、VGG19和集成學習模型分別提升10.14%、9.09%和4.89%.實驗結果表明,所提模型可以有效地提高多模態(tài)情緒識別的性能.
表4 平均準確率比較結果
基于神經網(wǎng)絡模型對音視頻情緒識別進行了研究與分析,提出了一種多任務CNN網(wǎng)絡模型,從而提高單模態(tài)識別模型對用戶情緒的敏感性.通過實驗驗證,所提多任務CNN網(wǎng)絡可以有效提升多模態(tài)情緒識別的性能.