李永康,方安成,陳婭南,謝子奇,潘帆,何培宇
(四川大學(xué) 電子信息學(xué)院,成都 610065)
情緒可以理解為人對周邊環(huán)境所產(chǎn)生的生理反應(yīng)[1]。積極的情緒對人的生理、心理以及社會活動(dòng)等方面有著重要作用,比如愉悅感可以提升免疫系統(tǒng)的功能,而負(fù)面情緒則會影響身心健康[2]。對情緒的有效識別能讓人及時(shí)了解自身情緒狀態(tài)并做出調(diào)整,以減少不良情緒帶來的影響。同時(shí),有效的情緒識別對生理、心理等相關(guān)疾病的治療也具有一定預(yù)防和促進(jìn)作用。比如在耳鳴治療中,正確識別患者情緒可以加快治療進(jìn)程[3]。因此,快速有效地識別人類情緒狀態(tài)具有重要的研究意義。情緒可以通過非生理信號或生理信號進(jìn)行識別?;诜巧硇盘柕淖R別即通過人的外在行為表現(xiàn),如語言、動(dòng)作來實(shí)現(xiàn)[4],但這些外在行為表現(xiàn)可被刻意偽裝,不易反應(yīng)真實(shí)的情感狀態(tài),增加了情緒識別難度[5]。而人體的心電信號等不可見的內(nèi)在生理信號無法進(jìn)行偽裝[6],能客觀地反應(yīng)人的情緒狀態(tài)。因此,基于生理信號進(jìn)行情緒識別的方式開始獲得大量關(guān)注[7]。
當(dāng)前,針對心電信號的情緒識別方法多種多樣。從特征提取角度主要可分為:基于個(gè)人經(jīng)驗(yàn)的特征提取和基于深度學(xué)習(xí)的特征提取兩種方法。其中,基于個(gè)人經(jīng)驗(yàn)的特征提取方法是研究者根據(jù)自身知識和經(jīng)驗(yàn),通過設(shè)定特定算法或規(guī)則提取信號特征,利用支持向量機(jī)、K近鄰等方法對提取的特征進(jìn)行分類。如易慧等[8]提取了心電信號的9個(gè)時(shí)域特征和7個(gè)頻域特征,采用支持向量機(jī)進(jìn)行情緒分類,對不同情緒的識別精度達(dá)到了60%~75%。Sun等[9]采用離散余弦變換從心電信號中提取特征,采用支持向量機(jī)進(jìn)行分類,分類準(zhǔn)確率達(dá)到了90%。Sepúlveda等[10]采用小波散射算法處理心電信號,提取了時(shí)域特征、頻域特征和小波散射特征,采用Ensemble和KNN分類器進(jìn)行分類,喚醒度和效價(jià)的二分類準(zhǔn)確率為88.8%和90.2%。朱毅[11]提取了心電信號的心率變異性、離散小波分解和心拍形態(tài)三個(gè)維度的情緒特征,并利用XGBoost算法進(jìn)行分類,喚醒度和效價(jià)二分類結(jié)果為84.8%和84.1%。
上述方法均需基于個(gè)人經(jīng)驗(yàn)來設(shè)計(jì)和選擇分類特征,選取特征的質(zhì)量會直接影響識別的準(zhǔn)確度和泛化性能。相較之下,基于深度學(xué)習(xí)的特征提取方法可通過神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)深層特征[12],準(zhǔn)確率較高,且擁有優(yōu)秀的自適應(yīng)能力,能在未知數(shù)據(jù)上進(jìn)行泛化。因此,越來越多的深度學(xué)習(xí)方法被用于情緒識別任務(wù)。Sarkar等[13]提出了基于自監(jiān)督學(xué)習(xí)的心電信號情緒識別模型,該模型由信號轉(zhuǎn)換識別網(wǎng)絡(luò)和情感識別網(wǎng)絡(luò)組成,喚醒度和效價(jià)的準(zhǔn)確率為85.8%和84%。Vazquez-Rodriguez等[14]采用能結(jié)合上下文信息的Transformer模型進(jìn)行情緒識別,利用心電信號識別,喚醒度和效價(jià)的二分類準(zhǔn)確率為88%和83%。Harper等[15]提出了基于貝葉斯深度學(xué)習(xí)的情緒預(yù)測模型,高價(jià)態(tài)和低價(jià)態(tài)進(jìn)行二分類的準(zhǔn)確率為90%。Nita等[16]設(shè)計(jì)了基于數(shù)據(jù)增強(qiáng)的7層CNN分類器用于情緒識別,效價(jià)、喚醒度和優(yōu)勢度的準(zhǔn)確率分別為95.16%、85.56%和77.54%。
上述深度學(xué)習(xí)方法均直接將心電信號送入卷積神經(jīng)網(wǎng)絡(luò)提取特征。而卷積神經(jīng)網(wǎng)絡(luò)最初提出的目的是處理圖像數(shù)據(jù),其在提取圖像特征和分類準(zhǔn)確性方面表現(xiàn)出色[17]。研究表明,以圖像數(shù)據(jù)表示一維時(shí)序數(shù)據(jù)在一些深度學(xué)習(xí)任務(wù)上具有更好的效果[18-19]。同時(shí),對于一維心電信號,將其轉(zhuǎn)化為圖像,可更好地利用時(shí)序信息和對噪聲的魯棒性,能擁有更豐富的特征信息。時(shí)頻圖不僅能通過不同的顏色或灰度來表現(xiàn),還能利用各種先進(jìn)的圖像分類網(wǎng)絡(luò)和圖像預(yù)處理技術(shù),從而提高數(shù)據(jù)的表示能力和豐富度。由于心電信號的時(shí)域和頻域都含有可用于情緒識別的特征[20],所以,可將一維心電信號轉(zhuǎn)為時(shí)域波形圖和時(shí)頻圖,用于識別。另外,將時(shí)域波形圖和時(shí)頻圖中的特征進(jìn)行融合,可以提高分類準(zhǔn)確率。一種方法是將兩種圖片拼接為一種圖片送入卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)特征融合,另一種是采用雙輸入神經(jīng)網(wǎng)絡(luò),每個(gè)輸入單獨(dú)提取圖片的特征,再將特征拼接實(shí)現(xiàn)特征融合。
為避免基于個(gè)人經(jīng)驗(yàn)設(shè)計(jì)和選擇分類特征的局限性,拓展深度學(xué)習(xí)自動(dòng)提取特征的維度,本研究提出了一種基于心電信號圖像特征及卷積神經(jīng)網(wǎng)絡(luò)的情緒識別方法。首先,利用小波變換和帶阻濾波器對心電信號進(jìn)行預(yù)處理,旨在去除各種干擾和噪聲成分,提取有效的生理特征。然后將一維信號轉(zhuǎn)為時(shí)域波形圖和時(shí)頻圖,捕捉信號中的時(shí)間和頻率特征。最后,利用遷移學(xué)習(xí)和雙輸入卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征并進(jìn)行分類。
心電信號在采集過程中易受到各種噪聲的干擾。在利用心電信號進(jìn)行情緒分類前,需要對其進(jìn)行相應(yīng)的去噪。正常人的心電信號頻率通常為0.05~100 Hz,常見的干擾主要是工頻干擾、基線漂移和肌電干擾等[21]。其中,工頻干擾由設(shè)備周圍環(huán)境的交流電引起,其頻率固定為50或60 Hz;肌電干擾是一種高頻干擾,由貼片電極受到肌肉刺激引起,其頻率為5~2 000 Hz;基線漂移是采集心電信號時(shí),人體的呼吸運(yùn)動(dòng)所造成的微弱低頻干擾,其噪聲頻率通常在0.05~2 Hz之間。根據(jù)上述噪聲的頻率特點(diǎn),本研究采用固定頻率的帶阻濾波器去除工頻干擾,采用小波變換對心電信號進(jìn)行分解和重構(gòu),去除基線漂移和高頻干擾。對于時(shí)域信號x(t)的小波變換定義為:
(1)
其中,a為尺度因子,b為位移因子,Ψ(t)是小波基。
本研究利用bior2.6小波基函數(shù)對心電信號進(jìn)行多尺度分解,得到每一層的低頻近似分量和高頻細(xì)節(jié)分量,然后將基線漂移和高頻干擾所對應(yīng)的頻率分量置零,最后重構(gòu)得到濾波后的信號。
通過上述預(yù)處理得到較為純凈的心電信號后,本研究將其轉(zhuǎn)為時(shí)域波形圖和時(shí)頻圖,利用卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征,并進(jìn)行情緒分類。其中,時(shí)域波形圖以時(shí)間為橫軸,心電信號幅值為縱軸,用連續(xù)的曲線表示心電信號在時(shí)間上的變化。圖1為濾波前后的心電信號時(shí)域波形,可見心電信號的低頻噪聲和高頻噪聲均被有效濾除。因?yàn)樾碾娦盘柺欠瞧椒€(wěn)信號,所以,本研究利用短時(shí)傅里葉變換得到描述心電信號時(shí)頻特性的時(shí)頻圖。時(shí)頻圖以時(shí)間為橫軸,頻率為縱軸,用顏色或灰度表示對應(yīng)的幅值。短時(shí)傅里葉變換將心電信號切分為若干個(gè)短時(shí)段,在各短時(shí)段內(nèi)加窗函數(shù)并進(jìn)行傅里葉變換,得到該時(shí)段的頻域信息,然后將所有時(shí)段的頻域信息進(jìn)行疊加,可得到整個(gè)心電信號的頻域信息,即時(shí)頻圖。本研究采用漢明窗,窗的長度為1 s,得到的時(shí)頻圖見圖2。
圖1 濾波前后的心電信號時(shí)域波形對比圖
圖2 濾波后的心電信號時(shí)頻圖
時(shí)域波形圖反應(yīng)信號在時(shí)間上的變化信息,時(shí)頻圖則結(jié)合了時(shí)間和頻率信息,兩種圖像均含有可用于情緒分類的特征,因此本研究利用雙輸入卷積神經(jīng)網(wǎng)絡(luò),同時(shí)訓(xùn)練這兩種圖像,融合其關(guān)鍵特征,提高情緒分類準(zhǔn)確率。
計(jì)算機(jī)進(jìn)行情緒識別依賴于心理學(xué)中離散情緒模型和連續(xù)情緒模型。其中,離散情緒模型將情緒分為多個(gè)基本情緒,如Ekman[22]定義了人類的6種基本情緒:快樂、恐懼、憤怒、悲傷、厭惡和驚訝,而其它情緒則是從這些基本情緒中組合形成,如失望可以由悲傷和驚訝組成。連續(xù)情緒模型又稱情緒維度模型,該模型認(rèn)為情緒都包含在多維空間中,如Mehrabian[23]認(rèn)為情緒可以用效價(jià)(valence)、喚醒度(arousal)、優(yōu)勢度(dominance)三個(gè)維度進(jìn)行表示,效價(jià)指的是情緒積極或消極的程度,喚醒指的是情緒平靜或興奮的程度,優(yōu)勢度是指人在某種情緒中的控制能力。不同的情緒可在三維情緒空間中區(qū)分開,圖3中的高興可認(rèn)為是一種高效價(jià)、高喚醒度和高優(yōu)勢度的情緒;憤怒可認(rèn)為是低效價(jià)、高喚醒度和高優(yōu)勢度的情緒;冷漠則可認(rèn)為是一種低效價(jià)、低喚醒度和中間優(yōu)勢度的情緒。本研究所采用的模型是連續(xù)情感模型。
圖3 三維情緒空間模型
本研究使用的卷積神經(jīng)網(wǎng)絡(luò)為EfficientNetV2[24],該模型是Google團(tuán)隊(duì)對EfficientNetV1模型的升級版本。相較于EfficientNetV1,EfficientNetV2降低了網(wǎng)絡(luò)參數(shù)量,減少了訓(xùn)練耗時(shí),提升了網(wǎng)絡(luò)性能。EfficientNetV2的主要網(wǎng)絡(luò)結(jié)構(gòu)有EfficientNetV2-s、EfficientNetV2-l和EfficientNetV2-m,其主要區(qū)別是輸入圖像的尺寸和網(wǎng)絡(luò)的層數(shù)不同??紤]到計(jì)算機(jī)性能和訓(xùn)練速度,本研究采用輸入圖片尺寸較小的EfficientNetV2-s模型,其網(wǎng)絡(luò)結(jié)構(gòu)見圖4。該模型結(jié)構(gòu)由輸入、Conv 3*3、block、Conv1*1&Pooling&FC、輸出5個(gè)主要模塊組成。其中,Conv 3*3模塊利用3*3卷積提取圖像的低層特征,block模塊是該網(wǎng)絡(luò)的核心模塊,由多個(gè)Fused-MBConv和MBConv組成,用來提取深層特征,Conv 1*1&Pooling&FC模塊通過卷積、池化和全連接得到情緒分類器。
圖4 EfficientNetV2-s網(wǎng)絡(luò)結(jié)構(gòu)
為融合時(shí)域波形圖和時(shí)頻圖特征,本研究基于Fu等[25]提出的雙分支DenseNet網(wǎng)絡(luò),提出了一種雙輸入的EfficientNetV2網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)見圖5,該網(wǎng)絡(luò)使用時(shí)域波形圖和時(shí)頻圖作為輸入,每個(gè)輸入都由Conv 3*3和block分別提取特征,然后將提取的特征送入Conv 1*1&Pooling&FC,得到輸出。因?yàn)樘崛〉氖请p輸入特征,所以將Conv 1*1&Pooling&FC的輸入通道數(shù)改為單輸入模型的兩倍。
圖5 雙輸入EfficientNetV2-s網(wǎng)絡(luò)結(jié)構(gòu)
大多數(shù)深度學(xué)習(xí)方法聚焦于如何改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),而遷移學(xué)習(xí)是在已有網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,研究各領(lǐng)域之間遷移的效果。即遷移學(xué)習(xí)是將已有模型的參數(shù)和權(quán)重應(yīng)用到相似任務(wù)中,可避免重新訓(xùn)練一個(gè)全新的神經(jīng)網(wǎng)絡(luò)模型。因?yàn)榭梢越柚渌I(lǐng)域豐富的數(shù)據(jù)進(jìn)行訓(xùn)練,遷移學(xué)習(xí)可在目標(biāo)領(lǐng)域數(shù)據(jù)較少的情況下獲得良好的性能,因此,采用遷移學(xué)習(xí)不僅可以減少參數(shù)訓(xùn)練時(shí)間,也能提高模型的泛化能力,其過程可表示為:
D={χ,P(X)}
(2)
T={y,f·}
(3)
其中,D為源域,T為目標(biāo)域,χ是特征空間,y是標(biāo)簽空間,P(X)表示邊際概率分布,其中X={x1,…,xn}∈χ,目標(biāo)的預(yù)測函數(shù)為f(·)。本研究將EfficientNetV2卷積神經(jīng)網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集中的預(yù)訓(xùn)練參數(shù)遷移為本模型的初始參數(shù),然后利用Amigos數(shù)據(jù)集對模型進(jìn)一步訓(xùn)練。
本研究使用Amigos公開數(shù)據(jù)集[26]。該數(shù)據(jù)集主要用于情感識別和計(jì)算,通過播放視頻刺激受試者情緒,包含短視頻和長視頻情緒刺激兩個(gè)實(shí)驗(yàn)。短視頻情緒刺激實(shí)驗(yàn)中,40名受試者單獨(dú)觀看了16個(gè)短視頻;長視頻情緒刺激實(shí)驗(yàn)中,受試者單獨(dú)或組隊(duì)觀看了4個(gè)長視頻。實(shí)驗(yàn)過程中,利用攝像頭錄制受試者的面部表情變化;利用可穿戴式傳感器記錄受試者的腦電圖、心電圖和皮膚電三種生理信號。其中,心電信號的采樣頻率為256 Hz,有LA和RA兩個(gè)通道的信號。數(shù)據(jù)集的情緒標(biāo)簽有自我評估(包括效價(jià)、喚醒度、優(yōu)勢度、喜歡性、熟悉性等7種基本情緒)和外部專家評估(效價(jià)和喚醒度)兩類。
本研究的訓(xùn)練和測試數(shù)據(jù)是短視頻刺激實(shí)驗(yàn)中采集的心電信號,由于9號受試者的實(shí)驗(yàn)數(shù)據(jù)不完整,故將其舍棄,最后得到1 248份實(shí)驗(yàn)數(shù)據(jù)。此外,由于16個(gè)短視頻的長度大小不一,本研究統(tǒng)一截取每個(gè)短視頻中間50 s的心電信號作為訓(xùn)練和測試數(shù)據(jù)。訓(xùn)練標(biāo)簽采用自我評估中的效價(jià)、喚醒度和優(yōu)勢度三種情緒維度標(biāo)簽,但是這三種標(biāo)簽都是1到9的連續(xù)標(biāo)簽,不利于情緒分類,因此,本研究采用二分類方式,以中間評分5為界限,大于5的為高效價(jià)、高喚醒度、高優(yōu)勢度;小于5的為低效價(jià)、低喚醒度和低優(yōu)勢度;得分為5的標(biāo)簽直接舍棄,具體數(shù)量見表1。
表1 各標(biāo)簽二分類后的數(shù)量
本研究模型基于python語言和PyTorch 1.10框架實(shí)現(xiàn),操作系統(tǒng)為Windows 10,硬件配置為AMD Ryzen 7 5800 8-Core Processor 3.40 GHz和GeForce RTX 3060。首先,對Amigos數(shù)據(jù)集中的心電信號進(jìn)行預(yù)處理,去除噪聲和干擾成分。同時(shí),針對Amigos數(shù)據(jù)集中1~9的連續(xù)標(biāo)簽,按照中間值5進(jìn)行劃分,形成兩類標(biāo)簽。然后,將經(jīng)過預(yù)處理的心電信號轉(zhuǎn)換為時(shí)域波形圖和時(shí)頻圖。最后,采用單輸入和雙輸入的卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行二分類,得到分類準(zhǔn)確率。
根據(jù)2.2的實(shí)驗(yàn)方案,時(shí)域波形圖與時(shí)頻圖單輸入和雙輸入模型的分類結(jié)果見表2。同時(shí),圖6為雙輸入模型在三個(gè)情緒維度的混淆矩陣。
表2 分類準(zhǔn)確率
圖6 混淆矩陣
由表2可知,三種模型在三個(gè)情緒標(biāo)簽上均取得90%以上的分類正確率,表明基于心電信號圖像特征的情緒識別方法有效。同時(shí),雙輸入模型在喚醒度、效價(jià)和優(yōu)勢度三個(gè)方面的準(zhǔn)確率均高于兩種單輸入模型。尤其在優(yōu)勢度和效價(jià)方面,準(zhǔn)確率提升了1%以上。
從實(shí)驗(yàn)結(jié)果可知,在喚醒度上,單輸入模型對評分接近5的數(shù)據(jù)識別效果較差,多個(gè)喚醒度為6~7之間的高喚醒度數(shù)據(jù)被錯(cuò)誤地識別為低喚醒度。若兩種單輸入模型中一種識別錯(cuò)誤,另一種識別正確,雙輸入模型也可以正確識別。對于單輸入模型在時(shí)域波形圖上,第34個(gè)志愿者觀看ID為34的視頻的喚醒度為6.18,判定為高喚醒度,但識別結(jié)果為低喚醒度,而在時(shí)頻圖上,該志愿者被正確識別為高喚醒度;在雙輸入模型中,也被正確識別為高喚醒度。但是,若兩種單輸入模型都識別錯(cuò)誤,那么雙輸入模型識別結(jié)果也是錯(cuò)誤的,比如數(shù)據(jù)集中第25個(gè)志愿者觀看ID為58的視頻的喚醒度是2.98,低于5為低喚醒度,單輸入模型和雙輸入模型都錯(cuò)誤的識別為高喚醒度。對于效價(jià)和優(yōu)勢度兩個(gè)情緒維度也有類似的規(guī)律。總的來說,時(shí)域波形圖包含了信號幅值隨時(shí)間演化的特征,時(shí)頻圖則包含了時(shí)間和頻率信息結(jié)合的特征,采用雙輸入模型可融合兩者特征,減輕單一圖像類型所帶來的信息不完整性,更有效地捕捉相關(guān)的情緒特征,提高分類的準(zhǔn)確率。
為驗(yàn)證本研究方法的有效性,將其與其它利用Amigos數(shù)據(jù)集進(jìn)行情緒二分類實(shí)驗(yàn)的結(jié)果進(jìn)行對比,結(jié)果見表3。Sepúlveda等[10]采用Ensemble分類器進(jìn)行分類,在Amigos上喚醒度和效價(jià)的二分類正確率分別為88.8%和90.2%;Sarkar等[13]將Amigos的心電信號劃分為10 s的片段進(jìn)行情緒識別,喚醒度和效價(jià)的二分類準(zhǔn)確率分別為85.8%和84%;Vazquez-Rodriguez等[14]利用Transformer模型,在Amigos數(shù)據(jù)集上喚醒度和效價(jià)的二分類準(zhǔn)確率分別為88%和83%。Harper等[15]對Amigos數(shù)據(jù)集中自我評價(jià)里的效價(jià)進(jìn)行二分類,準(zhǔn)確率為90%。由表3可知,本研究提出的基于心電信號圖像特征和卷積神經(jīng)網(wǎng)絡(luò)的情緒識別方法在喚醒度和效價(jià)的分類準(zhǔn)確率方面均優(yōu)于其它幾種方法。表明本研究方法在Amigos數(shù)據(jù)集上的情緒識別效果更好。
表3 不同方法識別準(zhǔn)確率對比
本研究提出的基于心電信號圖像特征及卷積神經(jīng)網(wǎng)絡(luò)的情緒識別方法。首先,對心電信號進(jìn)行預(yù)處理,去除噪聲和干擾成分。隨后,將心電信號的時(shí)域和頻域轉(zhuǎn)換為時(shí)域波形圖和時(shí)頻圖。最后,采用遷移學(xué)習(xí)和雙輸入的卷積神經(jīng)網(wǎng)絡(luò)作為特征提取器和情緒分類器,綜合利用時(shí)域波形圖和時(shí)頻圖的特征進(jìn)行分類識別。通過對比實(shí)驗(yàn),驗(yàn)證了單輸入模型和雙輸入模型的識別準(zhǔn)確率。結(jié)果顯示,雙輸入模型的識別準(zhǔn)確率明顯優(yōu)于單輸入模型,證明了本研究方法的可行性和有效性。此外,本研究還將所提方法與其它情緒識別方法在Amigos數(shù)據(jù)集上進(jìn)行了對比。結(jié)果表明,本研究在情緒識別方面取得了更高的準(zhǔn)確率。