熊昆洪,賈貞超,高 峰,文虹茜,卿粼波,高 勵
(1. 四川大學(xué)電子信息學(xué)院,成都 610065;2. 四川大學(xué)望江醫(yī)院,成都 610065;3. 成都市第三人民醫(yī)院神經(jīng)內(nèi)科,成都 610031)
自動情緒識別[1-3]研究旨在基于機(jī)器自動感知和分析人類的情緒,在人機(jī)交互[4]、場景理解[5]、智能監(jiān)測[6]和醫(yī)療養(yǎng)老[7]等很多領(lǐng)域都有潛在的應(yīng)用空間。但與實(shí)驗(yàn)室條件下的數(shù)據(jù)集中光照條件良好、經(jīng)過裁剪和對齊的面部圖像不同,在真實(shí)場景中,受個體活動性強(qiáng)、活動范圍大、角度偏轉(zhuǎn)、移動等問題的影響,較難獲取個體的面部細(xì)節(jié)。如實(shí)驗(yàn)室環(huán)境下的面部表情數(shù)據(jù)集CK+[8]和面部、姿態(tài)雙模態(tài)情緒數(shù)據(jù)集FABO[9],具有清晰的面部信息;而真實(shí)場景數(shù)據(jù)集PLPS[10],由于空間開闊、人流大且活動不受限,面部信息存在缺失,音頻、生理數(shù)據(jù)難以獲取。在這種真實(shí)場景下,即使面部表情作為人機(jī)交互最重要的部分,面部表情特征也迫切需要其它情緒線索的輔助。
其他情緒線索中,心理學(xué)研究揭示了身體姿態(tài)[11]在情緒表達(dá)中的重要性,并且由于個體姿態(tài)信息在真實(shí)場景中更容易獲取,受方向、偏轉(zhuǎn)等因素的干擾也比較小,因此在真實(shí)場景中通過人體骨架[12]及人體姿態(tài)[13]可以進(jìn)行更加穩(wěn)健的個體情緒識別。此外,除了個體特征外,場景中可能包含輔助識別的情緒線索[14]。特別是在真實(shí)場景中,背景復(fù)雜且包含豐富的信息,充分利用背景關(guān)鍵信息可以更好地識別個體情緒。但是場景中還包含很多無效信息,需要對場景信息進(jìn)行篩選和處理。
為此,針對真實(shí)場景中采集的數(shù)據(jù)質(zhì)量偏低、背景復(fù)雜、變化復(fù)雜、人流量大且存在遮擋等問題,本文提出了一種面向真實(shí)場景的多模態(tài)深度融合網(wǎng)絡(luò),通過挖掘真實(shí)場景中面部、姿態(tài)、骨架和場景信息,進(jìn)行深度推理融合,實(shí)現(xiàn)穩(wěn)健的個體情緒識別。該方法設(shè)計了局部-全局面部特征模塊(local-global facial feature block, LGB)、骨架特征模塊(skeleton feature block, SFB)、姿態(tài)特征模塊(pose feature block,PFB)、場景特征模塊(context feature block,CFB)分別提取面部、人體骨架、人體姿態(tài)及場景情緒特征;最后通過設(shè)計的融合模塊(fusion block,FB)進(jìn)行特征深度融合,并進(jìn)一步分類得到情緒結(jié)果。
如圖1 所示,本文模型包含五個模塊:局部-全局面部特征模塊(LGB)、骨架特征模塊(SFB)、姿態(tài)特征模塊(PFB)、場景特征模塊(CFB)、融合模塊(FB)。首先,對視頻數(shù)據(jù)進(jìn)行處理,依次得到所需要的數(shù)據(jù)形式:人臉序列、骨架序列、人體圖像序列,以及圖像幀序列。由LGB、SFB、PFB、CFB 分別提取情緒特征,并由融合模塊FB進(jìn)行特征過濾及深度融合。
在視頻情緒識別分析中,面部表情[15]是情緒表達(dá)的主要途徑,因此設(shè)計了LGB 模塊,通過融合通道注意力(channel attention,CA)[16]、空間注意力(spatial attention, SA)[16]以及多頭注意力機(jī)制(multi-headed self-attention, MHSA)[17]來提取面部局部-全局融合的情緒特征。此外,考慮到在真實(shí)場景中個體活動性較強(qiáng),運(yùn)動與外觀等與個體姿態(tài)相關(guān)的信息更易獲取,本文還設(shè)計了SFB 模塊和PFB 模塊以關(guān)注個體的運(yùn)動、外觀等信息。SFB 對骨架數(shù)據(jù)進(jìn)行時空圖建模,基于雙流時空圖卷積對骨架序列XS和骨架位移差值序列XS?t提取骨架特征。而SFB 以骨架關(guān)鍵點(diǎn)作為輸入,損失了像素視覺信息,因此,PFB基于ViT(vision transformer)[18]設(shè)計了多尺度視覺Transformer,以提取基于視覺的外觀運(yùn)動信息,即姿態(tài)特征。此外,鑒于場景有助于嵌入新的信息層,設(shè)計了CFB 模塊,通過嵌入了注意力機(jī)制的Resnet 網(wǎng)絡(luò),對視頻幀序列提取場景特征。最后,為了過濾冗余或無效的特征,關(guān)注各模態(tài)特征間的聯(lián)系,融合不同模態(tài)情緒特征,設(shè)計了FB 模塊。FB 首先通過門控循環(huán)單元(gated recurrent unit,GRU)[19]捕捉特征間的相關(guān)性,學(xué)習(xí)有效特征并進(jìn)行更新;然后采用低秩矩陣分解(low-rank matrix factorization,LMF)[20]的方法進(jìn)一步通過張量融合來捕獲各模態(tài)之間的交互信息,實(shí)現(xiàn)特征深度融合。
圖1 模型結(jié)構(gòu)
面部表情作為情緒的主要表達(dá)方式,許多研究者不斷推陳出新,獲得了相當(dāng)多的面部表情識別性能[13,19-20]。然而,這些方法對于面部的局部特征和全局特征很少能夠兼顧,導(dǎo)致出現(xiàn)偏差?,F(xiàn)有方法對局部-全局特征的處理大多采用了分離提取的方法,例如雙通道網(wǎng)絡(luò),其忽略了局部特征與全局特征之間的相關(guān)性。因此,本文基于Resnet-18 網(wǎng)絡(luò),利用CA、SA[16]以及MHSA[17]設(shè)計了一個局部-全局信息推理模塊LGB,以提取密切相關(guān)的全局特征與局部特征,其結(jié)構(gòu)見圖1 LGB模塊。
在Resnet-18 中,每一層包含多個卷積核,可以提取不同的局部特征作為多通道特征圖。LGB 模塊在Resnet-18 前三層中嵌入了CA 和SA,以進(jìn)一步增強(qiáng)提取效果。在此基礎(chǔ)上,利用MHSA 的全局信息提取能力,將局部特征整合為全局特征。此外,使用3×3 卷積層代替Transformer中的1×1卷積層,以獲得更大的感受野,最后殘差連接融合了局部和全局特征,并作為LGB輸出的局部-全局面部特征。
作為身體語言之一的骨架數(shù)據(jù),在真實(shí)場景中容易獲取且具有可靠的情緒信息,因此,本文設(shè)計了SFB模塊提供骨架情緒特征。
關(guān)節(jié)之間存在依賴關(guān)系,直接編碼關(guān)節(jié)位置會丟失依賴信息。因此,SFB 基于關(guān)節(jié)之間的自然連接來建模;此外,視頻數(shù)據(jù)在時序上也蘊(yùn)含了個體的運(yùn)動特征。因此,將輸入的骨架序列構(gòu)建成一個具有自然連通性的無向時空圖,骨架時空圖建模如圖2所示。
圖2 骨架時空建模示意圖
骨架數(shù)據(jù)是非歐式結(jié)構(gòu)的圖數(shù)據(jù),常常使用圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional network,GCN)來進(jìn)行特征提取。而由于骨架數(shù)據(jù)還具有時空信息,SFB 采用了能夠挖掘時空信息的ST-GCN(spatio-temporal GCN)[21]來提取特征。而對于挖掘視頻數(shù)據(jù)中的時序信息和運(yùn)動信息,雙流(Two-Stream)類的方法取得了比三維卷積類的方法更好的效果。因此,SFB 模塊構(gòu)建了雙流時空圖卷積來提取骨架序列的運(yùn)動特征,輸入分別為16幀的骨架序列XS和16幀的骨架位移差值序列XS?t,其中,XS是對視頻樣本隨機(jī)抽取的第1 幀到第16 幀,XS?t是與XS一起抽取的第1幀到第17幀的兩幀之間對應(yīng)關(guān)鍵點(diǎn)的位移。
骨架數(shù)據(jù)雖然包含豐富的運(yùn)動特征,但是損失了基于視覺的外觀姿態(tài)信息。因此,本文設(shè)計了基于多尺度視覺Transformer[17]的PFB 模塊(見表1)提取基于視覺的姿態(tài)特征。
表1 多尺度視覺Transformer的結(jié)構(gòu)
本文PFB 設(shè)計的多尺度視覺Transformer 在ViT(vision transformer)[18]的基礎(chǔ)上,拓展了對輸入圖片序列的分塊操作,增加了時間維度上的處理,并且結(jié)合CNN 架構(gòu)中成熟的多尺度分層建模理論關(guān)注低階和高階的視覺信息,充分學(xué)習(xí)并提取個體姿態(tài)序列的情緒特征fP。PFB 模塊包含4階段的多尺度Transformer,多尺度視覺Transformer 和ViT 一樣首先將輸入數(shù)據(jù)進(jìn)行變換。為了降低空間分辨率(patch 數(shù)量減少),多尺度視覺Transformer在Transformer的Multi-Head Attention 模塊中加入了池化操作(multi-head pooling attention, MHPA);為了提高通道數(shù)(patch 體積變大),在每個階段最后一層MLP 中通過全連接對向量維度進(jìn)行映射,從而建立了基于Transformer的多尺度特征模型。
場景信息也能夠反映個體情緒,但真實(shí)場景的背景比較復(fù)雜,存在無關(guān)信息。為了關(guān)注與情緒特征有關(guān)的關(guān)鍵區(qū)域,本文設(shè)計了基于注意力機(jī)制的CFB模塊來提取場景情緒特征。
真實(shí)場景中人流量較大且個體共享相似的場景信息。為了避免過擬合,CFB 使用18 層的殘差網(wǎng)絡(luò)作為特征提取的主干網(wǎng)絡(luò)。為了判別復(fù)雜背景中的有效信息,CFB 引入了視覺注意力機(jī)制Attention Branch Network(ABN)[22]。具體地,如圖1 CFB 所示,特征提取階段獲取的場景情緒特征圖g(X)將與從注意力分支獲取的注意力圖M(X)交互,輸出新的特征圖g'(X)用于預(yù)測最終的情緒結(jié)果。
許多研究表明,結(jié)合多種模態(tài)的特征可以提高情緒識別性能。為了更好地關(guān)聯(lián)多種模態(tài)特征,學(xué)習(xí)特征之間有用的聯(lián)系,本文設(shè)計了一個特征深度融合模塊FB 進(jìn)行特征融合。如圖3 所示,F(xiàn)B 模塊的輸入為來自不同模態(tài)信息的情緒特征fF、fS、fP、fC, 首先以門控循環(huán)單元GRU[19]捕捉這些特征之間的相關(guān)性,學(xué)習(xí)有效特征并進(jìn)行更新,得到更新優(yōu)化后的特征FF、FS、FP、FC。
通過GRU 模塊過濾冗余、無效特征后,采用低秩矩陣分解LMF 方法[20]獲得各模態(tài)的低秩矩陣因子。然后通過特征與因子相乘獲得單模態(tài)特征的類線性變換特征,最后將特征進(jìn)行元素積實(shí)現(xiàn)融合。LMF 融合模塊利用低秩矩陣分解實(shí)現(xiàn)張量融合,捕獲各模態(tài)的交互信息,實(shí)現(xiàn)特征深度融合。
本文采用維度模型進(jìn)行情緒建模。維度模型以連續(xù)坐標(biāo)表示情緒,包括效價(valence,V)、喚醒度(arousal,A)和支配度(dominance,D)等維度。維度空間理論上可以描述無限多的情緒,基本情緒類別也對應(yīng)于維度空間中的一點(diǎn),本文采用5個等級的維度空間。
圖3 FB模塊結(jié)構(gòu)圖
在數(shù)據(jù)處理中,對PLPS-E 數(shù)據(jù)集利用個體邊界框提取個體的圖片序列,并統(tǒng)一尺寸為224×224。對FABE 數(shù)據(jù)集,直接統(tǒng)一尺寸為224×224。此外,使用Dlib 庫進(jìn)行人臉和關(guān)鍵點(diǎn)檢測,以及OpenPose 算法[23]檢測個體,得到包含18個關(guān)鍵點(diǎn)的人體骨架數(shù)據(jù)。
實(shí)驗(yàn)使用Adam 優(yōu)化器,初始的學(xué)習(xí)率為0.0001,學(xué)習(xí)策略為余弦退火。迭代次數(shù)在PLPS-E數(shù)據(jù)集上為150輪,在FABE 數(shù)據(jù)集上為100輪,每批送入數(shù)據(jù)的大小為8。
PLPS(public life in public space)數(shù)據(jù)集[10]是面向公共空間的多任務(wù)數(shù)據(jù)集,包括情緒、行為、社會關(guān)系等關(guān)于人的研究。PLPS-E 是包含個體完整姿態(tài)和環(huán)境背景的情緒數(shù)據(jù)集,一共有253個視頻,每個視頻中有多個個體。數(shù)據(jù)集使用維度情緒模型中的效價(V)、喚醒度(A)、支配度(D)三個維度進(jìn)行標(biāo)注,基于五點(diǎn)標(biāo)記法將每個維度記為-2、-1、0、1、2。評價指標(biāo)為準(zhǔn)確率(accuracy, ACC)。由于數(shù)據(jù)集包含三個維度,為了更好地判斷算法的綜合識別性能,本文增加平均識別準(zhǔn)確率指標(biāo)(average accuracy,Avg.ACC),用三個維度的識別準(zhǔn)確率的平均數(shù)表示。
FABE 數(shù)據(jù)集[24]是真實(shí)場景個體情緒數(shù)據(jù)集,由攝像機(jī)在校園拍攝的人們的運(yùn)動記錄組成,每個視頻片段包含一個個體,總共包括993個序列。數(shù)據(jù)集使用效價(V)維度描述真實(shí)場景中個體的情緒狀態(tài),將V 劃分為積極(1)、中性(0)、消極(-1)三個等級進(jìn)行注釋,評價指標(biāo)為準(zhǔn)確率。
2.2.1 對比實(shí)驗(yàn)
在PLPS-E數(shù)據(jù)集和FABE數(shù)據(jù)集上分別進(jìn)行了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表2、表3。BaseNet[10]關(guān)注動態(tài)信息,同時挖掘個體和場景中的情緒線索,使用預(yù)訓(xùn)練的三維殘差網(wǎng)絡(luò)進(jìn)行特征提取,通過拼接完成模態(tài)的融合。PLPSNet[25]包含個體外觀特征提取和場景特征提取雙支路,基于注意力機(jī)制融合特征,實(shí)現(xiàn)開放空間中的個體情緒識別。BCENet[26]同樣從姿態(tài)和場景中提取情緒特征,使用全連接層直接拼接不同分支的情緒特征并進(jìn)行最終的識別。TSNet[27]通過雙流網(wǎng)絡(luò)深入挖掘個體序列中的相關(guān)特征,使用光流圖對三維卷積網(wǎng)絡(luò)進(jìn)行補(bǔ)充、FABNet[24]通過雙流網(wǎng)絡(luò)提取了面部信息和姿態(tài)信息中的情感特征,MFNet[28]通過三通道網(wǎng)絡(luò)提取了面部信息、骨架信息和姿態(tài)信息中的情感特征。
表2 不同方法在PLPS-E數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果(%)
表3 不同方法在FABE數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果(%)
表2 表明,在PLPS-E 數(shù)據(jù)集上,本文算法在VAD 維度和平均識別準(zhǔn)確率上都取得了最好的結(jié)果,分別為74.62%、79.15%、87.94%和80.57%。BaseNet 和PLPSNet 都沒有考慮骨骼信息,對個體中蘊(yùn)含的情緒特征提取不夠充分,平均識別準(zhǔn)確率分別為59.82% 和71.03%。BCENet 挖掘了骨架信息,并通過五層卷積網(wǎng)絡(luò)挖掘了場景信息,取得了74.87%的平均識別準(zhǔn)確率,但是對于場景中冗余的無用信息沒有進(jìn)行過濾,特征融合方式比較直接。
與本文算法相比,其他方法對于多種信息的特征提取不夠充分和細(xì)致,也沒有進(jìn)一步給出各模態(tài)特征間的相關(guān)性,沒有考慮并處理冗余信息。進(jìn)一步地,因?yàn)榫S度V 是代表個體情緒的極性,與面部表情的聯(lián)系最為緊密,在面部可能存在缺失的情況下,本文算法在維度V的提升效果相對維度A 和維度D 偏低,提升了2.03%。維度A 和維度D 代表了個體的活躍程度和強(qiáng)勢程度,與運(yùn)動時序信息和周圍人境信息更加相關(guān)。本文算法充分提取骨架運(yùn)動特征和姿態(tài)時空特征,并且更加精細(xì)地挖掘場景信息中的有效特征,在維度A、D 上分別提升了8.12%和6.94%的識別準(zhǔn)確率,最終平均識別準(zhǔn)確率提升了5.70%。
在FABE 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果見表3,本文算法達(dá)到了98.39% 的識別準(zhǔn)確率,超過了TSNet 與FABNet,并且與MFNet 相當(dāng)。TSNet 利用光流與三維卷積提取時空信息,取得了不錯的結(jié)果,但個體姿態(tài)中還有其他與外觀無關(guān)的運(yùn)動信息可以進(jìn)一步挖掘。由于FABE數(shù)據(jù)集質(zhì)量更高,個體序列更清晰,MFNet 專門設(shè)計了面部特征通道,單模態(tài)下達(dá)到96.57%的準(zhǔn)確率,并在加權(quán)融合后達(dá)到98.79%的準(zhǔn)確率。然而,本文算法面向真實(shí)場景,面部信息可能缺失,因此不偏向于挖掘面部特征。但本文算法通過有效的特征提取和融合,在不以面部為主導(dǎo)的情況下實(shí)現(xiàn)了與MFNet 可比的識別結(jié)果,證明了其有效性。
2.2.2 消融實(shí)驗(yàn)
為驗(yàn)證本文算法的有效性,進(jìn)一步進(jìn)行了五個模塊的消融實(shí)驗(yàn)。實(shí)驗(yàn)設(shè)置如下:
(1)LGB:僅使用LGB模塊提取人臉序列特征。在PLPS-E 數(shù)據(jù)集中,由于人臉序列存在缺失,準(zhǔn)確率只計算了基于分類準(zhǔn)確樣本數(shù)量與人臉序列檢測到的總量的比值;
(2)LGB+SFB:輸入人臉序列和骨架序列,通過LGB 和SFB 模塊提取特征,并進(jìn)行等比權(quán)重融合;
(3)LGB+SFB+PFB:輸入人臉序列、骨架序列和人體外觀序列,通過LGB、SFB和PFB模塊提取特征,并進(jìn)行等比權(quán)重融合;
(4)LGB+SFB+PFB+CFB:輸入人臉序列、骨架序列、人體外觀序列和視頻幀序列,通過LGB、SFB、PFB 和CFB 模塊提取特征,并進(jìn)行等比權(quán)重融合;
(5)LGB+SFB+PFB+CFB+FB:即本文算法,輸入人臉序列、骨架序列、人體外觀序列和視頻幀序列,通過LGB、SFB、PFB 和CFB 模塊提取特征,并通過FB模塊深度融合特征。
在PLPS-E 數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果見表4。逐步疊加各模塊,VAD 維度準(zhǔn)確率和平均準(zhǔn)確率總體上都逐步提升,并最終達(dá)到最佳性能,說明各個模塊在整個網(wǎng)絡(luò)中都有效。值得注意的是,在LGB 模塊上疊加SFB 模塊后,維度V的識別準(zhǔn)確率下降。這是因?yàn)閱为?dú)使用LGB 模塊時,只計算了分類準(zhǔn)確的樣本數(shù)量與檢測到的人臉序列樣本總量,即計算了部分樣本;而在疊加SFB 模塊后,樣本量變?yōu)樵瓟?shù)據(jù)集的數(shù)據(jù)量,且實(shí)際上以SFB 模塊為主,LGB 提供輔助信息。骨架信息與運(yùn)動特征有關(guān),與情緒維度模型的維度AD 契合,因此維度AD 識別準(zhǔn)確率提高。面部表情能直接表現(xiàn)個體的愉悅程度(維度V),相比之下骨架信息遜色不少,因此維度V 識別準(zhǔn)確率下降。在最終的算法中,使用了FB 模塊后,維度V 準(zhǔn)確率下降了0.75%,但維度AD 的準(zhǔn)確率都有不錯的提升(分別提升了5.79% 與1.51%),平均準(zhǔn)確率也提升至80.57%。因此FB 也是有效的,其帶來的并不僅僅是負(fù)面影響。
在FABE 數(shù)據(jù)集上的消融結(jié)果見表4 最后一列。逐步疊加各模塊,準(zhǔn)確率不斷提高,證明各個模塊有效。由于FABE數(shù)據(jù)集只關(guān)注維度V,且采用三點(diǎn)分值,個體情緒更為粗略,類間差距較大,同時該數(shù)據(jù)集具有清晰的人臉序列及人臉表情,因此整體準(zhǔn)確率較高。由于運(yùn)動趨勢簡單,SFB模塊和PFB模塊提取的運(yùn)動特征相似,疊加SFB 模塊后再疊加PFB 模塊時,準(zhǔn)確率提升不明顯。此外,場景簡單且圖像清晰,在提取場景特征時容易獲取到面部或人體外觀序列上的特征,因此疊加CFB 模塊后,性能提升有限。然而,在疊加融合模塊FB 后,保留了特征間的相關(guān)信息,去除了冗余和無用信息,最終準(zhǔn)確率明顯提升。
表4 在PLPS-E及FABE數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果(%)
本文從真實(shí)場景的實(shí)際情況出發(fā),針對真實(shí)場景的穩(wěn)定情緒識別,提出了深度融合多模態(tài)特征的識別算法,充分挖掘在真實(shí)的環(huán)境中的人臉序列、個體姿態(tài)序列、骨架關(guān)鍵點(diǎn)序列、場景信息等數(shù)據(jù)中的情緒特征,并使用特征級的深度融合方法進(jìn)行個體情緒識別。所提出的算法在PLPS-E 和FABE 數(shù)據(jù)集上進(jìn)行了驗(yàn)證,通過與其他算法的對比以及對網(wǎng)絡(luò)模塊進(jìn)行消融,證明了本文提出算法的有效性。在未來的研究中,將繼續(xù)研究更加精準(zhǔn)的特征提取及融合方式,進(jìn)一步優(yōu)化識別性能。