胡章芳,劉鵬飛,蔣 勤,羅 飛,王明麗
1.重慶郵電大學(xué) 光電工程學(xué)院,重慶 400065
2.重慶郵電大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,重慶 400065
情感計算在醫(yī)學(xué)領(lǐng)域、教育領(lǐng)域、道路安全領(lǐng)域都有著非常重要的作用[1-3]。當(dāng)前情感識別主要圍繞人臉表情、語音、手勢等非生理信號進行。而基于腦電信號(Electroencephalogram,EEG)這種生理信號的情感識別由于能夠避免情感的偽裝性以及主觀性,能更好地評價人的情感狀態(tài),正逐漸成為情緒識別領(lǐng)域的研究重點[4]。
傳統(tǒng)的基于腦電信號模式識別是將特征提取和特征分類分開進行的。常用的特征提取方法主要是基于時域、頻域、時頻域和空域特征?;跁r域的特征主要有能量特征[5]和幅值特征[6];基于頻域的特征主要有功率譜密度(Power Spectral Density,PSD)[7]和自回歸系數(shù)(Auto Regressive,AR)[8];基于時頻域的特征提取方法主要有小波變換(Wavelet Transform,WT)[9]、小波包變換(Wavelet Packet Transform,WPT)[10]和經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)[11];基于空域特征的提取方法主要是共空間模式(Common Spatial Patterns,CSP)[12]。此外,也有學(xué)者對非線性動力學(xué)特征進行了研究,孫穎等[13]將非線性全局特征和譜特征融合對腦電情感識別,提高了分類準(zhǔn)確率。但是,以上這些傳統(tǒng)的特征提取方法都是根據(jù)經(jīng)驗設(shè)計的手動特征提取方法,易造成特征遺失,不能保證特征質(zhì)量,且計算復(fù)雜。傳統(tǒng)的特征分類方法有支持向量機(Support Vector Machine,SVM)[14]、K最近鄰(K-Nearest Neighbor,KNN)[15]和隱馬爾可夫模型(Hidden Markov Model,HMM)[16],這些算法比較依賴于特征質(zhì)量,且自適應(yīng)能力不強。因此,設(shè)計一種腦電特征的自動提取和分類模型是提高腦電信號識別率的關(guān)鍵。
深度學(xué)習(xí)是在神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上提出的一種機器學(xué)習(xí)模型,能將底層特征組合為更加抽象的高層特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示[17],能夠?qū)斎敫呔S數(shù)據(jù)進行特征自動提取和分類,因此,比較適合對腦電信號進行分析。Zheng 等[18]用深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)代替?zhèn)鹘y(tǒng)的分類器對腦電情感進行分類,識別率達到了86.08%,但是隨著訓(xùn)練參數(shù)的增加,DBN 訓(xùn)練變得困難,分類效果變差。隨后Li 等[19]采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)作為分類器對腦電情感進行分類,相比于DBN而言,平均識別率提高了1.12%。但是文獻[18-19]都是將微分熵(Differential Entropy,DE)作為特征,未能很好地利用腦電信號的特征。此后,Moon 等[20]將原始腦電信號直接輸入CNN 模型進行情緒識別。Zhang 等[21]設(shè)計了多層2DCNN結(jié)構(gòu)對腦電信號的時頻域信息進行特征提取和分類。這兩種CNN模型雖然都達到了不錯的分類效果,但是都沒有考慮到腦電信號各個通道之間的空間特征。另外,研究發(fā)現(xiàn),長短時記憶(Long Short Term Memory,LSTM)、門控循環(huán)單元(Gated Recurrent Unit,GRU)等循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)能很好地處理序列信息,學(xué)習(xí)序列的動態(tài)信息。Wang 等[22]采用LSTM 對腦電特征進行提取和分類,證實了此方法良好的分類性能。Roy 等[23]將GRU 應(yīng)用到癲癇檢測中,得到了很好的分類效果,并且實驗結(jié)果表明,GRU 在處理腦電信號這種小樣本數(shù)據(jù)時優(yōu)于LSTM。進一步研究發(fā)現(xiàn)CNN 提取的深層空間特征是一種序列形式,直接進行分類會給分類器的學(xué)習(xí)帶來困難,而GRU能很好地處理序列信息,學(xué)習(xí)到特征序列的動態(tài)信息,卻忽略了信號的空間特征,并且雙向門控循環(huán)單元(Bidirectional Gated Recurrent Unit,BGRU)的性能優(yōu)于GRU。
結(jié)合上面的分析,本文提出了一種基于3DC-BGRU的腦電特征自動提取及情感識別方法。首先采用短時傅里葉變換(Short Time Fourier Transform,STFT)對腦電信號進行處理,將多通道腦電信號構(gòu)建為一種全新的時間-頻率-通道的三維數(shù)據(jù)形式,然后引入三維卷積核,設(shè)計了一種新穎的卷積神經(jīng)網(wǎng)絡(luò)來提取三維數(shù)據(jù)的深層特征,最后在卷積神經(jīng)網(wǎng)絡(luò)之后設(shè)計了BGRU對深層特征序列信息進行處理并配合Softmax進行分類。相比于傳統(tǒng)的腦電識別,該算法可以自動提取腦電特征,確保了特征質(zhì)量,且自適應(yīng)能力強;相比于當(dāng)前先進的深度學(xué)習(xí)算法,該算法用時間-頻率-通道的三維信息取代原來的一維或者二維信息的輸入,避免了特征信息的遺漏,并且BGRU 能夠?qū)W習(xí)深層特征的動態(tài)信息,從而提高識別的準(zhǔn)確性。
腦電信號由多通道采集設(shè)備獲得,具有多通道特點,每個通道的輸出信號又具有豐富的時頻信息,如何充分利用這些信息是提高識別率的關(guān)鍵。本文充分考慮腦電信號的時頻信息以及各個通道之間的空間信息,提出了一種基于3DC-BGRU 的腦電情感識別方法,其模型框架如圖1所示。該模型主要包括3個模塊,即:信號預(yù)處理模塊、3DCNN模塊和BGRU模塊。
圖1 3DC-BGRU框架
信號預(yù)處理模塊:其主要作用是對腦電信號進行變換,將輸入的腦電信號轉(zhuǎn)化成一種全新的三維數(shù)據(jù)類型,作為下一個模塊的輸入。
3DCNN模塊:本文引入三維卷積核,設(shè)計了一種新穎的多層卷積神經(jīng)網(wǎng)絡(luò)模型,其主要作用是對輸入的數(shù)據(jù)進行深層特征提取。
BGRU模塊:該模塊的作用是對上一個模塊提取的深層特征序列進行處理,對上下文信息進行學(xué)習(xí),并配合Softmax進行分類。
信號預(yù)處理模塊是結(jié)合腦電信號豐富的時頻性以及多通道的特點,將多通道腦電信號轉(zhuǎn)換成一種全新的三維數(shù)據(jù)形式。首先,采用STFT 將每一個道的腦電信號轉(zhuǎn)化成時頻圖,如圖2所示。本文設(shè)置漢明窗的大小為128,步長為20,F(xiàn)FT 點數(shù)為256,采樣率與本文所用數(shù)據(jù)集的采樣率保持一致為200 Hz。經(jīng)過STFT,得到了大小為129×34 的時頻圖,其中129 和34 分別表示沿頻率軸和時間軸上的樣本數(shù)。
圖2 單通道時頻圖
文獻[18]表明與情感狀態(tài)相關(guān)的腦電信號主要分布在 beta(14~30 Hz)頻段和 gamma(31~50 Hz)頻段。進一步從每一個通道的時頻圖中提取出14~50 Hz頻段所組成的二維時頻圖,這兩個頻段的時頻圖大小為48×34,如圖3所示。
圖3 14~50 Hz頻段時頻圖
考慮到腦電信號是多通道腦電采集設(shè)備獲得,進一步將腦電信號按照時間、頻率和通道的形式處理成一種全新的三維數(shù)據(jù)形式,如圖4 所示。因此,經(jīng)過預(yù)處理得到的數(shù)據(jù)形式為48×34×C,其中48×34表示單通道時頻圖的大小,C代表腦電通道數(shù),本文中C=62。
圖4 時間-頻率-通道三維數(shù)據(jù)形式
CNN能很好地處理腦電信號這種非線性非穩(wěn)定性的高維數(shù)據(jù),CNN一般有卷積層和池化層組成,卷積層的作用是對輸入的數(shù)據(jù)進行卷積操作,通過卷積計算,原始數(shù)據(jù)的特征得到增強。池化層對來自卷積層的特征圖進行壓縮處理,降低特征維度,使網(wǎng)絡(luò)計算復(fù)雜度降低。
本文沒有采用傳統(tǒng)的CNN 直接將腦電信號作為CNN的輸入進行一維或者二維卷積,而是將時間-頻率-通道三維數(shù)據(jù)作為本文CNN 模型的輸入,并引入三維卷積核,設(shè)計了一種新穎的3DCNN模型,對腦電信號的深層特征進行充分提取。本文的3DCNN模型包括8個卷積層,2個池化層和8個批規(guī)范化(Batch Normalization,BN)層。卷積核的個數(shù)采用逐漸增加的方式,這樣設(shè)計是為了盡可能避免高層特征的丟失。本文設(shè)計的3DCNN模型結(jié)構(gòu)如圖5所示。
圖5 3DCNN模型框架圖
圖5中,前2個卷積層,每個卷積層均設(shè)置了大小為3×3×3的3維卷積核,可以對腦電信號時間、頻率和通道上進行卷積,提取深層特征。前2個卷積層的卷積核個數(shù)設(shè)置為16 個,第3 和第4 個卷積核個數(shù)設(shè)置為32 個。其中前3 個卷積層的步長設(shè)置為1×1×1,第4 個步長設(shè)置為1×1×2。并且每一個卷積層后面都加入了BN 層,對數(shù)據(jù)分布做規(guī)范化處理,使梯度更具有預(yù)測性和穩(wěn)定性,能夠避免梯度消失或者爆炸的問題,同時能夠加快訓(xùn)練速度。然后,設(shè)置了池化層,池化大小設(shè)置為2×2×1,步長為2×2×1,這樣設(shè)置的目的是只在時間和頻率進行池化,沒有對腦電通道進行池化,避免了在通道上進行下采樣,以便盡可能地保留通道信息。
第5和第6個卷積層設(shè)置了64個大小為3×3×5的卷積核,步長設(shè)置為1×1×1。第7 和第8 個卷積層分別設(shè)置128個大小為3×3×5的卷積核,其中第7個步長為1×1×1,第8卷積層步長為1×1×2。每個卷積層后面同樣設(shè)置了BN層。卷積之后再經(jīng)過池化,這里的池化也只對時間和頻率進行池化,最終輸出腦電信號的深層特征。
經(jīng)過上述3DCNN模塊得到的腦電信號深層特征是一種序列的形式。因此,需要對這些特征序列進行進一步的處理。RNN 能夠很好地對序列信息進行處理,但是RNN易陷入梯度消失問題,為了解決這個問題,提出了 LSTM[24]和 GRU[25],而 GRU 相比于 LSTM 而言,能夠處理較小的數(shù)據(jù)量,計算速度更快,能夠更好地解決梯度消失問題。因此,本文采用GRU 對深層特征序列信息進行處理。GRU的結(jié)構(gòu)如圖6所示。
圖6 門控循環(huán)單元
GRU是通過重置門rt和更新門zt對序列信息進行處理,其參數(shù)更新公式如式(1)~(4)所示:
式(1)~(4)中的h?t代表t時刻候選激活單元,ht代表t時刻的隱藏單元,σ代表激活函數(shù),W,Wz,Wh,Ur,Uz,Uh代表網(wǎng)絡(luò)的權(quán)重參數(shù),⊙代表逐元素相乘,tanh(x)代表雙曲線激活函數(shù)。
GRU 可以很好地對深層特征序列信息進行處理,但是只能夠?qū)W習(xí)上文信息,無法兼顧對下文信息學(xué)習(xí),為了更好地學(xué)習(xí)上下文信息,提高識別率,本文設(shè)計了BGRU 模塊。BGRU 的基本原理與GRU 相同,通過兩個方向相反的GRU 對輸入數(shù)據(jù)的序列信息進行處理,實現(xiàn)對上下文信息的學(xué)習(xí),再通過正向和反向傳播之后,將這兩個方向的輸出信息進行融合并傳送到下一個隱藏層,克服了GRU 只能對上文信息進行學(xué)習(xí)的缺點。本文構(gòu)建的BGRU模塊如圖7所示。
圖7 BGRU模塊
在圖7 中,首先將3DCNN 提取的深層特征經(jīng)過Reshape層,轉(zhuǎn)換成適合BGRU輸入的序列形式,然后考慮到整個模型的計算復(fù)雜度,設(shè)計了兩層BGRU對深層特征序列進行處理,接著設(shè)計了全連接層(FC),它起到橋梁作用,連接BGRU和分類器Softmax,實現(xiàn)對腦電信號的最終分類識別。
本文所提出的算法在SEED[18]公開數(shù)據(jù)集進行驗證(http://bcmi.sjtu.edu.cn/~seed/seed.html)。SEED數(shù)據(jù)集是上海交大建立的一個針對腦電情緒識別的數(shù)據(jù)集,它采集了15位(7名男生和8名女生)健康受試者的腦電信號。每個受試者做3 次實驗,每次實驗間隔一周左右,每次實驗做15 組實驗(積極、消極和中性3 種情緒狀態(tài)各做5 組)。實驗過程采用電影片段進行刺激,誘發(fā)相應(yīng)的情緒狀態(tài),這些影片都是經(jīng)過精心剪輯的,以確保情緒狀態(tài)連貫誘發(fā),每個電影片段剪輯的時長約4 min。在觀影的同時,采用62 通道的腦電采集設(shè)備對受試者腦電信號進行采集。該數(shù)據(jù)集的數(shù)據(jù)由兩部分組成,一部分是去除眼電、肌電偽跡,降采樣為200 Hz的預(yù)處理之后的腦電數(shù)據(jù);一部分是提取了6 種特征的腦電數(shù)據(jù)。本文采用SEED數(shù)據(jù)集中前一部分?jǐn)?shù)據(jù)。
為了保證所選用腦電信號的質(zhì)量,本文對每一次實驗大約4 min 時長的腦電信號進行截取,每次實驗保留30~50 s 的腦電信號數(shù)據(jù),這樣既能避免剛開始觀影情緒沒有處于穩(wěn)定狀態(tài),又能夠避免長時間觀影造成疲勞,對情緒狀態(tài)產(chǎn)生影響。為了增加樣本數(shù)量,本文采用4 s無重疊時間窗對20 s數(shù)據(jù)進行分段處理,每4 s代表一個樣本,共計3 375個干凈樣本,3種情緒狀態(tài)各有1 125個樣本。
本文探索了情緒狀態(tài)的二分類和三分類問題,用平均識別率作為衡量指標(biāo),三分類的計算指標(biāo)如式(5)所示:
式中,TP、TNg和TNu分別代表積極、消極和中性3種情緒的正確識別率,P、Ng和Nu分別代表3種情緒的樣本數(shù)。兩分類衡量指標(biāo)與式(5)相似,不再羅列。
本文選用ReLU做3DCNN的激活函數(shù),采用Adam作為優(yōu)化器(初始學(xué)習(xí)率設(shè)置為0.01,β1=0.9,β2=0.999,?=10E-8。全連接層的節(jié)點數(shù)設(shè)置為4 096,分類器的損失函數(shù)選用交叉損失函數(shù)。
本文中腦電信號的三維數(shù)據(jù)轉(zhuǎn)換在Windows7系統(tǒng)(64 bit)上通過Matlab2016b 軟件實現(xiàn)。深度學(xué)習(xí)中神經(jīng)網(wǎng)絡(luò)框架訓(xùn)練和測試采用Caffe;深度學(xué)習(xí)硬件平臺:Ubantu 16.04(64 bit),內(nèi)存為 16 GB,GPU 設(shè)備為 4 臺GXT1080ti。
本文提出的模型是將3DCNN 與BGRU 相結(jié)合,為了驗證組合模型的使用優(yōu)于單一模型的使用,以及BGRU 的使用優(yōu)于GRU,證實本文模型的優(yōu)越性,另外設(shè)計了GRU、3DCNN、3DC-GRU 三種全新模型與本文提出的3DC-BGRU模型進行實驗對比。其中本文所設(shè)計的另外三種對比模型的結(jié)構(gòu)如表1所示。
表1 不同模型的結(jié)構(gòu)
表1 中,GRU 輸入為 62 × 800 的腦電序列,62 表示通道數(shù),800 表示4 s 數(shù)據(jù)的采樣點數(shù)。另3DCNN 和3DC-GRU 的輸入與本文提出模型輸入一致,卷積核參數(shù)設(shè)置也一致,目的是確保實驗更具有可比性。不同模型的識別率如圖8所示。
圖8 單一模型和組合模型對比
由圖8的實驗結(jié)果可知,組合模型的識別率高于單一模型,這是因為本文提出的3DC-BGRU 模型不僅能夠提取信號的時-頻-通道三維數(shù)據(jù)的深層特征,而且能夠?qū)W習(xí)到這些深層特征序列的動態(tài)信息。另外,3DCBGRU 模型的識別率高于3DC-GRU,是因為BGRU 可以對上下文信息進行學(xué)習(xí),而GRU 只能對上文信息進行學(xué)習(xí)。圖8 也表明二分類的識別率高于三分類的識別率,這是因為隨著所分類別的增加,分類器誤判的概率會增加,導(dǎo)致分類效果有所下降。在兩兩分類中發(fā)現(xiàn)積極和消極兩種情緒狀態(tài)的分類效果最好,其次是積極和中性,然后是中性和消極。因為人在處于積極和消極兩個狀態(tài)時,腦電信號有著非常明顯的差別,所以易于區(qū)分。而處于消極和中性兩種情緒狀態(tài)時腦電信號的差別略低于前者的差別,所以識別率有所下降。
考慮到GRU型循環(huán)神經(jīng)網(wǎng)絡(luò)在處理小樣本時優(yōu)于LSTM 型循環(huán)神經(jīng)網(wǎng)絡(luò)[23]。本文所提出的模型在對3DCNN模塊提取的深度特征序列處理時,采用了BGRU而不是BLSTM。為了驗證本文模型中選用BGRU的優(yōu)越性,進一步設(shè)計了3DC-BLSTM模型與本文提出的模型進行實驗對比。對比實驗3DC-BLSTM 模型與本文所提出的3DC-BGRU的模型結(jié)構(gòu)如表2所示。
表2 3DC-BLSTM與3DC-BGRU模型結(jié)構(gòu)
由表2可知,本文所設(shè)計的對比模型與本文提出的模型在輸入和網(wǎng)絡(luò)結(jié)構(gòu)上基本相同,在對比實驗?zāi)P驮O(shè)計時,將3DC-BGRU 模型中的兩層BGRU 替換成兩層BLSTM,其他參數(shù)保持一致,目的是確保實驗更具有可比性。實驗結(jié)果如圖9 和圖10 所示。圖9 為兩種模型進行二分類和三分類的識別率對比,圖10 為兩種模型三分類時的迭代次數(shù)對比。
圖9 3DC-BLSTM和3DC-BGRU識別率對比
圖10 兩種模型的迭代次數(shù)對比
由圖9 可知,3DC-BGRU 模型的識別率略高于3DC-BLSTM 模型的識別率,這是因為本文采用的樣本量較小,GRU在處理小樣本方面的性能優(yōu)于LSTM。由圖10 可知,對3 種情緒狀態(tài)進行三分類實驗,3DC-BGRU模型訓(xùn)練時,迭代次數(shù)為10 000次左右達到最高識別率并逐漸趨于穩(wěn)定,3DC-BLSM 模型迭代次數(shù)為14 000 次左右才達到最高識別率并逐漸趨于穩(wěn)定。結(jié)果表明3DC-BGRU 模型的收斂性更好。這是因為BLSTM 在對深層特征序列進行處理時需要對輸入門、輸出門和遺忘門三個門進行參數(shù)更新,而BGRU是對更新門和重置門兩個門進行參數(shù)更新。因此,BLSTM 需要學(xué)習(xí)的參數(shù)更多,收斂更慢。
為了驗證本文算法的優(yōu)越性,將本文算法與DE+DBN[18]、DE+CNN[19]、DE+GRLS[26]、非線性全局特征和譜特征融合+SVM[13]和2DCNN[21]等算法進行實驗對比。幾種方法在SEED 數(shù)據(jù)集上進行驗證對三種情緒狀態(tài)的識別結(jié)果如表3 所示,對一組腦電信號進行測試時,幾種方法的耗時如圖11所示。
表3 不同方法識別率
圖11 一組腦電信號測試耗時對比
根據(jù)表3和圖11的實驗結(jié)果可知,前三種算法由于只采用了DE 作為特征,特征較單一,故識別率偏低,但測試耗時相應(yīng)較少。非線性全局特征和譜特征進行融合,采用SVM 進行分類相對于幾種單一特征的方法雖然識別率有所提高,但是特征計算復(fù)雜,SVM分類器也比較耗時,所以整體算法比較耗時。2DCNN 算法,對時-頻域特征進行自動提取,提取特征較為全面,故識別率得到進一步提升,但是該方法沒有考慮到腦電通道之間的空間特征,并且忽略了深層特征序列的動態(tài)信息,故識別率有待提高。本文提出的3DC-BGRU算法不僅充分考慮到腦電信號的時域、頻域和各個通道之間的特征,而且進一步學(xué)習(xí)到深層特征序列的動態(tài)信息,所以識別率最高,達到了91.82%,但是對一組信號的識別耗時較長,因為在進行識別前,本文算法有一個預(yù)處理過程,將一維的腦電信號轉(zhuǎn)化為三維數(shù)據(jù)。
本文針對腦電信號情感識別率低的問題,提出了一種基于3DC-BGRU 的算法,對單通道腦電信號進行STFT,提取相關(guān)頻帶的二維時頻圖,將多個通道二維時頻圖轉(zhuǎn)成一種全新的三維數(shù)據(jù)形式。然后創(chuàng)新性地引入三維卷積核,設(shè)計了全新的卷積神經(jīng)網(wǎng)絡(luò)對三維腦電數(shù)據(jù)進行深層特征提取,并通過雙向GRU 對深層特征序列信息進行處理和分類。由表3和圖11可知,本文算法的識別率均高于其他幾種算法,但是,對一組腦電信號進行測試時,本文方法需要110.5 s,較為耗時。此后,將通過選擇最優(yōu)腦電通道來減少通道數(shù),減少耗時。另外,本文在進行三維數(shù)據(jù)轉(zhuǎn)換時,只是將腦電通道按順序進行簡單排列,此后也將進一步研究各個通道之間的關(guān)聯(lián)性,通過通道重排的方式進行數(shù)據(jù)轉(zhuǎn)換,提高識別率。