程時(shí)偉,周桃春,唐智川,范 菁,孫凌云,朱安杰
1(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
2(浙江工業(yè)大學(xué) 設(shè)計(jì)藝術(shù)學(xué)院,浙江 杭州 310023)
3(計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室(浙江大學(xué)),浙江 杭州 310058)
腦機(jī)接口(brain computer interface,簡(jiǎn)稱(chēng) BCI)通過(guò)采集與提取大腦產(chǎn)生的腦電圖信號(hào)(electroencephalogram,簡(jiǎn)稱(chēng)EEG)來(lái)識(shí)別人的意圖,基于EEG 信號(hào)完成大腦與外部設(shè)備的信息傳遞與控制任務(wù),進(jìn)而恢復(fù)甚至增強(qiáng)人的身體運(yùn)動(dòng)和感知、認(rèn)知能力[1].近年來(lái),BCI 的相關(guān)研究得到了快速發(fā)展,但是,由于EEG 信號(hào)具有非平穩(wěn)、非線性、低信噪比等特點(diǎn)[2],在預(yù)處理、特征提取、多模式分類(lèi)等方面尚有諸多難題有待解決,從而導(dǎo)致可實(shí)際應(yīng)用的BCI 系統(tǒng)較少.
通常,EEG 數(shù)據(jù)的處理和分析方法主要包括3 個(gè)步驟:(1)對(duì)EEG 數(shù)據(jù)進(jìn)行預(yù)處理;(2)對(duì)預(yù)處理后的EEG數(shù)據(jù)進(jìn)行特征提取;(3)最后對(duì)提取的特征向量進(jìn)行分類(lèi).這類(lèi)方法的主要局限在于,需要依靠研究人員的先驗(yàn)知識(shí)進(jìn)行復(fù)雜的數(shù)據(jù)預(yù)處理和特征提取,但在預(yù)處理過(guò)程中容易剔除可能隱含著有用特征的數(shù)據(jù),而在特征提取過(guò)程中又容易忽略不同通道腦電信號(hào)間的關(guān)聯(lián)特性[2],這些都會(huì)降低分類(lèi)結(jié)果的準(zhǔn)確性和可靠性.而卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,簡(jiǎn)稱(chēng)CNN)融合了無(wú)監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)的優(yōu)點(diǎn),對(duì)高維特征向量具有較強(qiáng)的分類(lèi)能力,能從原始數(shù)據(jù)中學(xué)習(xí)到有利于分類(lèi)的特征,減少了人為因素對(duì)特征選擇造成的主觀性和不完備性.
因此,為了針對(duì)EEG 信號(hào)進(jìn)行便捷、精確的特征提取和分類(lèi),本文設(shè)計(jì)運(yùn)動(dòng)想象實(shí)驗(yàn),在大幅減少腦電電極數(shù)量(傳統(tǒng)方法需要64 個(gè)或更多電極,本文只采用14 個(gè)電極)、同時(shí)增加運(yùn)動(dòng)想象分類(lèi)任務(wù)(傳統(tǒng)方法多數(shù)只支持2 或3 分類(lèi),本文支持左手、右手、腳和靜息態(tài)的4 分類(lèi))的情況下,提取被試用戶(hù)的EEG 數(shù)據(jù),并采用CNN方法進(jìn)行數(shù)據(jù)的特征學(xué)習(xí)與分類(lèi),結(jié)果表明,本文方法比已有運(yùn)動(dòng)想象分類(lèi)算法具有更高的識(shí)別率.進(jìn)而,基于本文方法設(shè)計(jì)與開(kāi)發(fā)了一個(gè)基于BCI 的人-機(jī)器人交互系統(tǒng),實(shí)驗(yàn)結(jié)果表明,該原型系統(tǒng)能快速且準(zhǔn)確地判斷出用戶(hù)的運(yùn)動(dòng)想象指令,控制機(jī)器人完成相應(yīng)的動(dòng)作,進(jìn)一步驗(yàn)證了本文方法的實(shí)用性.
近年來(lái),國(guó)內(nèi)外學(xué)者提出的EEG 信號(hào)特征提取方法主要包括3 類(lèi):(1)基于時(shí)域分析的方法,如采用均值、方差、概率密度函數(shù)等[1];(2)基于頻域分析的方法,如Pfurtscheller[3,4]提出的基于mu 節(jié)律的頻域分析方法并應(yīng)用在運(yùn)動(dòng)想象任務(wù)中、Zhou 等人[4]將小波包分解(wavelet packet decomposition,簡(jiǎn)稱(chēng)WPT)和獨(dú)立成分分析(independent component analysis,簡(jiǎn)稱(chēng)ICA)應(yīng)用在運(yùn)動(dòng)想象數(shù)據(jù)特征提取中;(3)基于空域分析的方法,如Samek等人[5]提出將共空間模式(common spatial pattern,簡(jiǎn)稱(chēng)CSP)應(yīng)用在腦機(jī)接口中.另一方面,也可采用機(jī)器學(xué)習(xí)的方法,如孫會(huì)文等人[6]使用支持向量機(jī)(support vector machine,簡(jiǎn)稱(chēng)SVM)方法對(duì)經(jīng)過(guò)希爾伯特黃變換(Hilbert-Huang transform,簡(jiǎn)稱(chēng)HHT)的EEG 數(shù)據(jù)進(jìn)行分類(lèi);張毅等人[7]使用自回歸模型(autoregressive model,簡(jiǎn)稱(chēng)AR)對(duì)特征提取后的EEG 信號(hào)進(jìn)行分類(lèi);劉伯強(qiáng)等人[8]使用神經(jīng)網(wǎng)絡(luò)的反向傳播(back propagation,簡(jiǎn)稱(chēng)BP)算法進(jìn)行EEG 數(shù)據(jù)分類(lèi).
CNN 是一種帶有卷積結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò),卷積結(jié)構(gòu)可以利用空間結(jié)構(gòu)關(guān)系,減少需要學(xué)習(xí)的參數(shù)數(shù)量,從而提高反向傳播算法的訓(xùn)練效率,不僅可以防止過(guò)擬合,還能降低神經(jīng)網(wǎng)絡(luò)的復(fù)雜度[9].LeCun 等人[10]采用神經(jīng)網(wǎng)絡(luò)誤差反向傳播算法進(jìn)行手寫(xiě)數(shù)字的識(shí)別,在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)中加入下采樣與權(quán)值共享,大幅減少了神經(jīng)網(wǎng)絡(luò)的參數(shù)量.此外,為了盡量保證數(shù)據(jù)的平移、尺度、畸變不變性,LeCun 等人[11]設(shè)計(jì)了局部感受野和共享權(quán)重,提出用于字符識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)LeNet-5,在銀行的手寫(xiě)數(shù)字識(shí)別系統(tǒng)中取得了較好的結(jié)果.近年來(lái),CNN 也被應(yīng)用于EEG 信號(hào)的特征提取和分析.例如,Hubert 等人[12]基于CNN 對(duì)腦電事件相關(guān)電位(event-related potential,簡(jiǎn)稱(chēng)ERP)中的 P300 成分進(jìn)行分類(lèi)識(shí)別,實(shí)現(xiàn)字符拼寫(xiě),并在 BCI 競(jìng)賽的公共數(shù)據(jù)集(http://www.bbci.de/competition/iii/)上進(jìn)行實(shí)驗(yàn),結(jié)果表明,其識(shí)別率最高可以達(dá)到95.5%;蔡邦宇[13]使用CNN 模型對(duì)視覺(jué)誘發(fā)電位(visual evoked potential,簡(jiǎn)稱(chēng)VEP)進(jìn)行時(shí)域和空域特征分析,結(jié)果表明,平均受試者工作特征(receiver operating characteristic,簡(jiǎn)稱(chēng)ROC)曲線面積比SVM 方法提高了4.4%;唐智川等人[14]基于CNN 對(duì)左手和腳的運(yùn)動(dòng)想象腦電信號(hào)進(jìn)行分類(lèi)識(shí)別,平均識(shí)別率為88.75%±3.42%,并將其應(yīng)用到基于BCI 的外骨骼應(yīng)用原型系統(tǒng)中;王衛(wèi)星等人[15]基于CNN 進(jìn)行左、右手二分類(lèi)動(dòng)作和單手的3 分類(lèi)動(dòng)作識(shí)別,識(shí)別精度比原有方法分別提高了4%和8%.
上述相關(guān)研究驗(yàn)證了CNN 方法在腦電信號(hào)處理中應(yīng)用的可行性,但鮮有研究能在有效減少腦電電極數(shù)目的同時(shí),還能對(duì)4 個(gè)及以上的運(yùn)動(dòng)想象分類(lèi)問(wèn)題進(jìn)行精確的識(shí)別,并最終設(shè)計(jì)與開(kāi)發(fā)出相應(yīng)的BCI 原型應(yīng)用系統(tǒng),實(shí)現(xiàn)精確的人-機(jī)器人實(shí)時(shí)交互.
腦電信號(hào)的采集采用10-20 國(guó)際標(biāo)準(zhǔn)導(dǎo)聯(lián)放置[1],將鼻根和枕外粗隆相連接,在冠狀位把鼻根、外耳孔和枕狀粗隆相連接,中點(diǎn)為頭頂(即Cz).通過(guò)Cz 將兩個(gè)連線各分為2 個(gè)10%和4 個(gè)20%的距離.本文采用Emotiv System 公司(http://www.pstnet.com/eprime.cfm)的Emotiv EPOC 腦電儀,其包含14 個(gè)電極(如圖1 所示),采樣頻率為128Hz.
Fig.1 Electrodes configuration of Emotiv EPOC圖1 Emotiv EPOC 腦電儀的電極位置分布
在實(shí)驗(yàn)過(guò)程中采用如圖2 所示的實(shí)驗(yàn)范式[16].
本文招募了7 名被試用戶(hù)(5 男2 女,年齡在24 歲~27 歲之間)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)對(duì)象均是右利手,并且均是第1次參加本文中的腦電實(shí)驗(yàn).每個(gè)被試用戶(hù)需要完成560 次基于提示的實(shí)驗(yàn),每次實(shí)驗(yàn)持續(xù)9s 時(shí)間,前2s 屏幕顯示“rest”字,用戶(hù)休息放松,之后在屏幕中央出現(xiàn)一個(gè)“十”字,提示被試用戶(hù)實(shí)驗(yàn)即將開(kāi)始;從4s~8s,屏幕上的“十”字變?yōu)殡S機(jī)產(chǎn)生的想象左手、想象右手、想象腳和靜息狀態(tài)的提示.為了保持提示呈現(xiàn)后同步獲得相應(yīng)的腦電信號(hào),實(shí)驗(yàn)范式程序采用Eprime 實(shí)現(xiàn),在每次實(shí)驗(yàn)開(kāi)始時(shí),向腦電儀發(fā)送一個(gè)marker 標(biāo)記信號(hào),并在實(shí)驗(yàn)結(jié)束后進(jìn)行離線數(shù)據(jù)分析時(shí),根據(jù)marker 來(lái)分割相關(guān)腦電數(shù)據(jù).此外,為了防止被試用戶(hù)產(chǎn)生疲勞,影響運(yùn)動(dòng)想象腦電實(shí)驗(yàn)的效果,被試用戶(hù)每進(jìn)行20 次實(shí)驗(yàn)后就休息3 分鐘.此外,為了防止被試用戶(hù)在運(yùn)動(dòng)想象過(guò)程中產(chǎn)生實(shí)際的肢體動(dòng)作,影響腦電數(shù)據(jù)質(zhì)量,在正式實(shí)驗(yàn)之前對(duì)被試用戶(hù)進(jìn)行了運(yùn)動(dòng)想象訓(xùn)練,并在正式實(shí)驗(yàn)過(guò)程中剔除了產(chǎn)生實(shí)際肢體動(dòng)作的實(shí)驗(yàn)數(shù)據(jù).
Fig.2 MI experimental paradigm圖2 運(yùn)動(dòng)想象實(shí)驗(yàn)范式
本文設(shè)計(jì)的用于運(yùn)動(dòng)想象腦電數(shù)據(jù)處理的卷積神經(jīng)網(wǎng)絡(luò)如圖3 所示,包括1 個(gè)輸入層(input 層)、3 個(gè)卷積層(C1、C2、C3 層)、3 個(gè)池化層(S1、S2、S3 層)和1 個(gè)輸出層(output 層).
Fig.3 CNN structure for MI EEG data analysis圖3 用于運(yùn)動(dòng)想象腦電數(shù)據(jù)分析的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
2.3.1 卷積層構(gòu)造
卷積層主要進(jìn)行特征提取,采用線性濾波器和非線性激活函數(shù).具體地,對(duì)輸入數(shù)據(jù)應(yīng)用多個(gè)濾波器,并用一個(gè)輸入?yún)?shù)進(jìn)行多個(gè)類(lèi)型的特征提取.基于上一層的輸入,采用以下公式來(lái)提取下一層的特征:
在本文中,輸入數(shù)據(jù)為F3、F4、FC5 和FC6 通道的腦電數(shù)據(jù),數(shù)據(jù)維度為4×512.通常,CNN 模型處理腦電數(shù)據(jù)的輸入數(shù)據(jù)格式為通道數(shù)×?xí)r間點(diǎn),本文初期研究通過(guò)上述數(shù)據(jù)格式進(jìn)行神經(jīng)網(wǎng)絡(luò)構(gòu)建與優(yōu)化,但效果不佳,見(jiàn)表1,平均分類(lèi)識(shí)別率只能達(dá)到50%左右.為此,本文作了進(jìn)一步改進(jìn),考慮到卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像數(shù)據(jù)分析具有較好的識(shí)別效果,并在處理塊狀數(shù)據(jù)時(shí)具有更大優(yōu)勢(shì),所以本文對(duì)運(yùn)動(dòng)想象數(shù)據(jù)也采用類(lèi)似圖像的分塊處理.表1 所示,對(duì)不同的數(shù)據(jù)輸入維度進(jìn)行實(shí)驗(yàn),結(jié)果表明,在4 種分類(lèi)狀態(tài)下,32×64 的分塊輸入方式的平均分類(lèi)識(shí)別率最高.因此,本文將原輸入數(shù)據(jù)的維度設(shè)置為32×64.
進(jìn)一步地,建立起本文的卷積層結(jié)構(gòu):C1 層,輸入3 個(gè)通道,輸入維度為32×64,輸出32 個(gè)通道;C2 層,輸入32個(gè)通道,輸入維度為16×32,輸出64 個(gè)通道;C3 層,輸入64 個(gè)通道,輸入維度為8×16,輸出128 個(gè)通道.在卷積層中,步長(zhǎng)為1,為了保證數(shù)據(jù)是完整、有效的信息,使用寬卷積,所以,卷積層的輸出維度不變,并使用dropout 防止數(shù)據(jù)的過(guò)擬合,同時(shí)采用ReLu 代替?zhèn)鹘y(tǒng)神經(jīng)網(wǎng)絡(luò)中的tanh 和sigmod 函數(shù),加快網(wǎng)絡(luò)訓(xùn)練速度.
Table 1 Average accuracy of classification under different input dimensions (%)表1 不同腦電輸入維度的平均分類(lèi)識(shí)別率對(duì)比(%)
2.3.2 池化層構(gòu)造
池化層(pooling layer)也稱(chēng)為子采樣層(subsample layer),用于縮減數(shù)據(jù)的規(guī)模,同時(shí)保持特征的局部不變性.實(shí)現(xiàn)子采樣的方法有很多種,最常見(jiàn)的是最大值合并、平均值合并及隨機(jī)合并.本文使用平均值合并進(jìn)行子采樣,公式如下:
在本文中,池化層的輸入是同一網(wǎng)絡(luò)層中卷積層的輸出:S1 層,輸入維度為32×64,輸出維度為16×32;S2 層,輸入維度為16×32,輸出維度為8×16;S3 層,輸入維度為8×16,輸出維度為4×8.在上述池化層中,步長(zhǎng)為2,子采樣為2×2,所以,輸出的兩個(gè)維度同時(shí)減半.為了保證數(shù)據(jù)的完整、有效性,使用寬卷積,同時(shí)采用ReLu加快網(wǎng)絡(luò)訓(xùn)練速度.
2.3.3 全連接層構(gòu)造
將經(jīng)過(guò)多層卷積和池化的運(yùn)動(dòng)想象EEG 二維數(shù)據(jù)的特征圖拼接為一維特征作為全連接網(wǎng)絡(luò)的輸入.全連接層l的輸出可通過(guò)對(duì)輸入加權(quán)求和并通過(guò)激活函數(shù)的響應(yīng)得到,公式如下:
參數(shù)設(shè)置對(duì)CNN 模型的效果影響很大.下面對(duì)本文CNN 模型的參數(shù)設(shè)置進(jìn)行詳細(xì)闡述.
(1)批大小(batchsize):在深度學(xué)習(xí)中,一般采用隨機(jī)梯度下降(stochastic gradient descent,簡(jiǎn)稱(chēng)SGD),即每次在訓(xùn)練集中獲取batchsize 個(gè)樣本進(jìn)行訓(xùn)練.當(dāng)數(shù)據(jù)集和計(jì)算量不大時(shí),batchsize 采用全數(shù)據(jù)集,其有兩個(gè)優(yōu)點(diǎn):第一,由全數(shù)據(jù)集確定的方向能夠更好地代表樣本總體,從而更準(zhǔn)確地朝向極值所在的方向;第二,全數(shù)據(jù)集可以使用彈性傳播(resilient propagation,簡(jiǎn)稱(chēng)Rprop)算法[17],基于梯度符號(hào)并且有針對(duì)性的單獨(dú)更新各權(quán)值,解決了多批次模型訓(xùn)練中,各批次訓(xùn)練權(quán)重的梯度值差別較大,選取一個(gè)全局的學(xué)習(xí)速率困難的問(wèn)題.但是,對(duì)于較大的數(shù)據(jù)集合,上述優(yōu)點(diǎn)卻變成了缺點(diǎn):第一,隨著數(shù)據(jù)集和計(jì)算量的增大以及內(nèi)存的限制,一次載入所有數(shù)據(jù)的可行性較低;第二,如果以Rprop 方式迭代,由于各個(gè)batch 之間的采樣差異性,各批次梯度修正值將相互抵消,無(wú)法實(shí)現(xiàn)修正效果,所以需要采用均方根傳播(root mean square propagation,簡(jiǎn)稱(chēng)RMSProp)算法[18].考慮內(nèi)存的利用率和訓(xùn)練完一次全數(shù)據(jù)集的迭代次數(shù)[19],結(jié)合實(shí)驗(yàn)經(jīng)驗(yàn),本文的batch size 取值為8,即每次取8 個(gè)樣本進(jìn)行訓(xùn)練.
(2)學(xué)習(xí)速率:運(yùn)用梯度下降算法進(jìn)行優(yōu)化,在權(quán)重更新時(shí),學(xué)習(xí)速率就是梯度項(xiàng)前的系數(shù).根據(jù)Bengio[20]對(duì)梯度訓(xùn)練的總結(jié),如果學(xué)習(xí)速率太小,則收斂過(guò)慢;如果學(xué)習(xí)速率太大,則會(huì)導(dǎo)致代價(jià)函數(shù)震蕩.本文基于Bengio提出的方法,對(duì)學(xué)習(xí)速率賦一個(gè)缺省值,取0.01,結(jié)果發(fā)現(xiàn),代價(jià)函數(shù)產(chǎn)生震蕩,所以對(duì)學(xué)習(xí)速率進(jìn)行調(diào)整,設(shè)為0.001,最終提高了識(shí)別率.
(3)權(quán)重和偏置:根據(jù)LeCun 等人[21]提出的權(quán)重和偏置參數(shù)調(diào)試建議,初始化時(shí)使用截?cái)嗾龖B(tài)分布,加入輕微噪聲,打破對(duì)稱(chēng)性,防止零梯度問(wèn)題,本文中設(shè)置正態(tài)分布標(biāo)準(zhǔn)差為0.1.
(4)dropout:這是指在深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,對(duì)于神經(jīng)網(wǎng)絡(luò)單元,按照一定概率將其暫時(shí)從網(wǎng)絡(luò)中丟棄.Hintion 提出dropout 方法[22],在訓(xùn)練模型時(shí)隨機(jī)地讓某些隱含節(jié)點(diǎn)的權(quán)重不工作,這些節(jié)點(diǎn)暫時(shí)可以認(rèn)為不是網(wǎng)絡(luò)結(jié)構(gòu)的一部分,但是它們的權(quán)重得以保留下來(lái)(暫時(shí)不更新),下次樣本輸入時(shí)可能重新工作.由于本文的數(shù)據(jù)樣本相對(duì)較少,為了防止在訓(xùn)練模型時(shí)出現(xiàn)過(guò)擬合,采用dropout 方法.本文在訓(xùn)練時(shí)卷積層和池化層的dropout 采用0.8,全連接層的dropout 采用0.5;在測(cè)試時(shí),dropout 都為1,更新所有權(quán)重.實(shí)驗(yàn)發(fā)現(xiàn),在同樣迭代次數(shù)下,采用dropout 測(cè)試樣本的錯(cuò)誤率明顯低于沒(méi)采用dropout 的測(cè)試樣本.
實(shí)驗(yàn)采集了7 個(gè)被試用戶(hù)(用P1~P7 表示)的腦電數(shù)據(jù),每個(gè)被試采集560 次數(shù)據(jù),為了得到可靠穩(wěn)定的模型,通過(guò)交叉驗(yàn)證(cross-validation)方法分離出50%的訓(xùn)練樣本和50%的測(cè)試樣本.權(quán)重使用截?cái)嗾龖B(tài)分布,標(biāo)準(zhǔn)差為0.1,學(xué)習(xí)率為0.001.訓(xùn)練時(shí)卷積層和池化層的dropout 采用0.8,全連接層的dropout 采用0.5,在測(cè)試時(shí),dropout都為1,腦電數(shù)據(jù)的輸入層維度為32×64.
分類(lèi)問(wèn)題需要對(duì)分類(lèi)結(jié)果進(jìn)行評(píng)價(jià),評(píng)價(jià)指標(biāo)一般包括識(shí)別率(accuracy)、精確率(precision)、召回率(recall rate)和F-score,通過(guò)這些評(píng)價(jià)指標(biāo)對(duì)分類(lèi)模型的效果進(jìn)行評(píng)估[14].4 個(gè)評(píng)價(jià)指標(biāo)的定義分別如下.
(1)識(shí)別率:對(duì)于總的測(cè)試數(shù)據(jù)集,通過(guò)訓(xùn)練數(shù)據(jù)訓(xùn)練的最優(yōu)分類(lèi)器對(duì)測(cè)試數(shù)據(jù)正確分類(lèi)的樣本數(shù)與總樣本數(shù)之比:
其中,TP為真陽(yáng)性,TN為真陰性,FP為假陽(yáng)性,FN為假陰性.
(2)精確率:測(cè)試數(shù)據(jù)集中分類(lèi)為真實(shí)正例樣本數(shù)與分類(lèi)為正例樣本數(shù)之比:
(3)召回率:分類(lèi)為真實(shí)正例的樣本數(shù)與所有真實(shí)正例的樣本數(shù)之比:
(4)F-score:這是識(shí)別率的延伸,結(jié)合了精確率和召回率,具體計(jì)算如下:
本文從網(wǎng)絡(luò)層數(shù)和時(shí)間序列兩個(gè)方面對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,具體闡述如下.
(1)基于網(wǎng)絡(luò)結(jié)構(gòu)層數(shù)的結(jié)果分析
針對(duì)每個(gè)被試用戶(hù),分別構(gòu)建不同層數(shù)的卷積神經(jīng)網(wǎng)絡(luò),從而找到最好分類(lèi)效果的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).受篇幅限制,這里沒(méi)有列出所有不同層數(shù)的分類(lèi)結(jié)果.表2 是在相同條件下(4 種分類(lèi)),分別構(gòu)建2~5 層卷積和池化結(jié)構(gòu)的訓(xùn)練測(cè)試結(jié)果.可見(jiàn),3 層的實(shí)驗(yàn)結(jié)果比其他層數(shù)的平均分類(lèi)識(shí)別率更高,因此本文采用3 層卷積和池化網(wǎng)絡(luò)結(jié)構(gòu).
Table 2 Average accuracy of classification with different convolution and pooling layers (%)表2 不同卷積層和池化層CNN 模型的平均分類(lèi)識(shí)別率對(duì)比(%)
(2)基于時(shí)間序列的結(jié)果分析
將運(yùn)動(dòng)想象的腦電實(shí)驗(yàn)數(shù)據(jù)按時(shí)間段劃分,每段時(shí)長(zhǎng)2s,作為輸入數(shù)據(jù).圖4 顯示了在0~6s 的3 個(gè)時(shí)間段中,被試用戶(hù)的平均分類(lèi)識(shí)別率.
Fig.4 Classification results analysis based on temporal sequence圖4 基于時(shí)間序列的分類(lèi)結(jié)果分析
從圖4 可以看出,前2s(第0~第2s)腦電數(shù)據(jù)的平均分類(lèi)識(shí)別率達(dá)到最高,而最后4s(第2s~第6s)腦電的數(shù)據(jù)平均分類(lèi)識(shí)別率較低,說(shuō)明在實(shí)驗(yàn)開(kāi)始時(shí),被試用戶(hù)專(zhuān)注于運(yùn)動(dòng)想象實(shí)驗(yàn),但是隨著時(shí)間的推移,被試用戶(hù)精神集中度降低,影響了腦電數(shù)據(jù)的質(zhì)量,最終導(dǎo)致識(shí)別率降低.
因此,根據(jù)上述分析結(jié)果,選擇原始輸入數(shù)據(jù)維度為32×64,卷積和池化3 層網(wǎng)絡(luò),選擇運(yùn)動(dòng)想象開(kāi)始后0~2s的腦電數(shù)據(jù)進(jìn)行分類(lèi)預(yù)測(cè).相關(guān)分類(lèi)結(jié)果見(jiàn)表3,對(duì)角線單元格內(nèi)數(shù)值表示所有被試想象左手、右手、腳運(yùn)動(dòng)和靜息狀態(tài)時(shí),其EEG 信號(hào)被正確識(shí)別為相應(yīng)類(lèi)別的平均識(shí)別率(precision)和標(biāo)準(zhǔn)差.另外,非對(duì)角線單元格內(nèi)的數(shù)值表示EEG 信號(hào)被錯(cuò)誤識(shí)別為其他類(lèi)別的平均識(shí)別率和標(biāo)準(zhǔn)差.
Table 3 Confusion matrix of EEG classification results表3 腦電分類(lèi)平均預(yù)測(cè)結(jié)果的混淆矩陣
此外,為了進(jìn)一步驗(yàn)證本文方法的先進(jìn)性,使用相同的實(shí)驗(yàn)數(shù)據(jù),采用4 種已有方法(SAE、CSP+SVM、softmax 和WPT+SVM)與本文方法進(jìn)行對(duì)比.這4 種方法都需要先對(duì)腦電數(shù)據(jù)進(jìn)行預(yù)處理,包括去除眼電偽跡、濾波等,再經(jīng)過(guò)特征提取,最后用分類(lèi)器進(jìn)行分類(lèi).與已有方法相比,本文基于CNN 方法的平均分類(lèi)識(shí)別率最高,結(jié)果見(jiàn)表4.
Table 4 Average accuracy of classification with different approaches表4 各種分類(lèi)方法的平均識(shí)別率對(duì)比
本文基于運(yùn)動(dòng)想象的人-機(jī)器人交互應(yīng)用場(chǎng)景如圖5 所示,被試用戶(hù)要求坐在屏幕前,左、右手和身體保持自然的放松姿勢(shì),并且佩戴好Emotiv 腦電儀,固定好電極位置(參考電極為P3 和P4,采樣頻率為128Hz),確保能夠正常采集腦電信號(hào).本文使用NAO(https://www.softbankrobotics.com/emea/en/robots/nao)仿人機(jī)器人,放在被試用戶(hù)正前方位置.
每個(gè)被試用戶(hù)需要完成560 次基于方向箭頭和文字等視覺(jué)提示(cue)的實(shí)驗(yàn),其中,想象左手運(yùn)動(dòng)、右手運(yùn)動(dòng)、腳運(yùn)動(dòng)和靜息狀態(tài)(不作任何運(yùn)動(dòng)想象)各140 次,每次實(shí)驗(yàn)之間有3s 的時(shí)間間隔,每完成20 次實(shí)驗(yàn)之后休息5 分鐘,防止被試用戶(hù)過(guò)于疲勞影響實(shí)驗(yàn)結(jié)果.如圖6 所示,在單次運(yùn)動(dòng)想象結(jié)束后,采用本文前述訓(xùn)練出來(lái)的分類(lèi)模型進(jìn)行實(shí)時(shí)分類(lèi),NAO 機(jī)器人根據(jù)分類(lèi)結(jié)果產(chǎn)生相應(yīng)的動(dòng)作.例如,用戶(hù)進(jìn)行左手運(yùn)動(dòng)想象,如果分類(lèi)算法正確識(shí)別為左手運(yùn)動(dòng),NAO 機(jī)器人則抬起左手.類(lèi)似地,右手的運(yùn)動(dòng)想象對(duì)應(yīng)于NAO 機(jī)器人抬起右手;腳的運(yùn)動(dòng)想象對(duì)應(yīng)于NAO 機(jī)器人向前走動(dòng);靜息態(tài)對(duì)應(yīng)于NAO 機(jī)器人保持靜止,且播放語(yǔ)音“你現(xiàn)在很安靜”.此外,為了防止被試用戶(hù)在運(yùn)動(dòng)想象過(guò)程中產(chǎn)生實(shí)際的肢體動(dòng)作,影響腦電數(shù)據(jù)質(zhì)量,與第2.2 節(jié)的處理方法一樣,對(duì)被試用戶(hù)進(jìn)行了訓(xùn)練,并剔除了無(wú)效數(shù)據(jù).
Fig.6 The mapping bettwen MI classification results and robot actions圖6 運(yùn)動(dòng)想象分類(lèi)結(jié)果與機(jī)器人交互動(dòng)作的映射關(guān)系
該系統(tǒng)的框架如圖7 所示,被試用戶(hù)根據(jù)屏幕上隨機(jī)出現(xiàn)的向左、向右箭頭,以及“腳”和“靜息”的文字開(kāi)始進(jìn)行運(yùn)動(dòng)想象.當(dāng)被試用戶(hù)開(kāi)始進(jìn)行運(yùn)動(dòng)想象時(shí),Emotiv 開(kāi)始采集腦電數(shù)據(jù),通過(guò)TCP/IP 協(xié)議將獲取的腦電數(shù)據(jù)發(fā)送給系統(tǒng)主機(jī)進(jìn)行預(yù)處理,然后利用前文訓(xùn)練的分類(lèi)模型對(duì)腦電數(shù)據(jù)進(jìn)行分類(lèi),再將分類(lèi)結(jié)果轉(zhuǎn)換為控制命令,并通過(guò)TCP/IP 發(fā)送給NAO 機(jī)器人,驅(qū)動(dòng)機(jī)器人的電機(jī)和揚(yáng)聲器等組件完成相應(yīng)的操作.同時(shí),在屏幕上給出分類(lèi)結(jié)果的視覺(jué)反饋(如“向左”這樣的文字).
Fig.7 Framework of the prototype system圖7 原型系統(tǒng)框架
4.2.1 系統(tǒng)功能
原型系統(tǒng)主要包括腦電數(shù)據(jù)采集、腦電數(shù)據(jù)分析和機(jī)器人控制這3 個(gè)主要功能模塊,采用Python 編程語(yǔ)言實(shí)現(xiàn).(1)腦電數(shù)據(jù)采集模塊:主要采集和分發(fā)系統(tǒng)所需的腦電數(shù)據(jù),基于 socket 實(shí)現(xiàn),開(kāi)發(fā)工具包采用pycharm;(2)數(shù)據(jù)分析模塊:主要進(jìn)行原始數(shù)據(jù)的預(yù)處理、數(shù)據(jù)訓(xùn)練以及分類(lèi)模型的求解和存儲(chǔ),其中的數(shù)值分析采用Python 的科學(xué)計(jì)算工具包numpy,并采用了keras 和Tensorflow 框架進(jìn)行分類(lèi)算法的開(kāi)發(fā);(3)機(jī)器人控制模塊:主要接收數(shù)據(jù)分析模塊輸出的分類(lèi)結(jié)果,并對(duì)NAO 機(jī)器人進(jìn)行相應(yīng)的控制,具體開(kāi)發(fā)采用NAO 的pynaoqi-python SDK 開(kāi)發(fā)包.此外,系統(tǒng)圖形用戶(hù)界面的開(kāi)發(fā)基于Python GUI 的Tkiner 編程工具,它可以良好地運(yùn)行在絕大多數(shù)平臺(tái)上,實(shí)現(xiàn)跨平臺(tái)的效果.
4.2.2 實(shí)驗(yàn)結(jié)果分析
在用戶(hù)與機(jī)器人的交互過(guò)程中,針對(duì)4 類(lèi)運(yùn)動(dòng)想象的精確率、召回率和F-score 這3 個(gè)評(píng)估指標(biāo)進(jìn)行分析和對(duì)比,見(jiàn)表5.采用分類(lèi)方法×運(yùn)動(dòng)想象類(lèi)別的方差分析(ANOVA)評(píng)估兩者對(duì)分類(lèi)結(jié)果的影響.置信水平為95%.ANOVA 結(jié)果顯示,分類(lèi)方法對(duì)分類(lèi)結(jié)果具有顯著影響(p<0.05),而運(yùn)動(dòng)想象的類(lèi)別則對(duì)分類(lèi)結(jié)果不具有顯著影響(p>0.05).進(jìn)一步地,采用Tukey Post Hoc 檢驗(yàn)對(duì)分類(lèi)方法進(jìn)行兩兩比較,本文基于CNN 模型分類(lèi)方法的3 個(gè)指標(biāo)(精確率、召回率和F-score)與其他4 種方法相比均具有顯著差異性(p<0.05),且本文3 個(gè)指標(biāo)的值更大,因此,本文方法具有更好的指標(biāo)性能,進(jìn)一步驗(yàn)證了其在實(shí)際交互應(yīng)用中的有效性和先進(jìn)性.
4.2.3 討 論
如表6 所示,進(jìn)一步將本文方法與已有文獻(xiàn)的方法進(jìn)行了對(duì)比(由于已有文獻(xiàn)沒(méi)有進(jìn)行與機(jī)器人交互等應(yīng)用的在線測(cè)試,故此處只取本文第3 節(jié)的結(jié)果進(jìn)行對(duì)比).分析發(fā)現(xiàn),參考文獻(xiàn)[18]采用了64 通道、1 000Hz 采樣頻率的Active Two 腦電儀采集腦電信號(hào),并使用CNN 對(duì)想象左手和想象腳進(jìn)行分類(lèi),最終所有被試用戶(hù)的平均識(shí)別率(accuracy)達(dá)到89.51%±2.95%;參考文獻(xiàn)[24]采用60 通道、采樣頻率為250Hz 的Neuroscan 腦電儀,使用CNN 方法對(duì)4 類(lèi)運(yùn)動(dòng)想象信號(hào)進(jìn)行分類(lèi),最終分類(lèi)識(shí)別率達(dá)到85.04%±4.26%.雖然這兩項(xiàng)研究比本文的平均識(shí)別率稍高,但腦電信號(hào)采集通道數(shù)目是本文的4 倍左右(本文通道數(shù)只有14 通道),而本文實(shí)驗(yàn)操作方便且設(shè)備價(jià)格便宜.此外,參考文獻(xiàn)[18]的分類(lèi)數(shù)目只有2 類(lèi),而本文有4 類(lèi).類(lèi)似地,參考文獻(xiàn)[23]采用了64 通道、160Hz采樣頻率的Biosemi 腦電儀,使用CNN 對(duì)9 類(lèi)運(yùn)動(dòng)想象進(jìn)行分類(lèi),但效果不佳,平均分類(lèi)識(shí)別率只有45%.
基于上述分析,從肢體障礙患者使用的便攜性、運(yùn)動(dòng)想象分類(lèi)數(shù)目、分類(lèi)識(shí)別率、設(shè)備價(jià)格和實(shí)驗(yàn)過(guò)程復(fù)雜度等方面進(jìn)行了綜合考慮,分析結(jié)果表明,本文方法具有更好的實(shí)用性和可行性.
Table 5 Precision,recall rate and F-score of MI classification with different approaches across all subjects表5 所有被試用戶(hù)在不同方法下運(yùn)動(dòng)想象分類(lèi)的精確率、召回率和F-score
Table 6 Comparison between proposed approach of this paper and others表6 本文方法與已有文獻(xiàn)的對(duì)比
進(jìn)一步地,與其他分類(lèi)方法(SAE、CSP+SVM、softmax 和WPT+SVM)相比較,本文采用的CNN 方法雖然在識(shí)別率上具有一定的優(yōu)勢(shì),但也存在一些不足:(1)由于CNN 網(wǎng)絡(luò)的復(fù)雜性以及需要調(diào)用較多的參數(shù),需要使用較大的數(shù)據(jù)集進(jìn)行訓(xùn)練,否則容易導(dǎo)致過(guò)擬合,因此本文對(duì)每個(gè)被試用戶(hù)進(jìn)行了560 次實(shí)驗(yàn),而這容易導(dǎo)致被試用戶(hù)產(chǎn)生疲勞,從而會(huì)影響實(shí)驗(yàn)效果.(2)計(jì)算成本較高,因?yàn)槟P陀?xùn)練需要耗費(fèi)較多時(shí)間、調(diào)參過(guò)程較復(fù)雜等.所以,本文方法在實(shí)際應(yīng)用中還應(yīng)該進(jìn)一步提高模型訓(xùn)練效率,簡(jiǎn)化計(jì)算過(guò)程,改善用戶(hù)體驗(yàn)感受.
本文將CNN 用于運(yùn)動(dòng)想象腦電信號(hào)的分類(lèi)識(shí)別,相關(guān)實(shí)驗(yàn)結(jié)果表明了本文方法能夠從原始腦電數(shù)據(jù)中自動(dòng)學(xué)習(xí)特征,并能對(duì)4 種運(yùn)動(dòng)想象狀態(tài)進(jìn)行較精確的分類(lèi),平均分類(lèi)識(shí)別率達(dá)到了82.81%.
此外,本文也存在一定的局限性,下一步將從以下幾個(gè)方面繼續(xù)開(kāi)展研究:(1)完善腦電實(shí)驗(yàn)范式,采集更復(fù)雜的腦電數(shù)據(jù),將CNN 模型用于識(shí)別更復(fù)雜的腦電信號(hào);(2)進(jìn)一步優(yōu)化CNN 的網(wǎng)絡(luò)結(jié)構(gòu),調(diào)整合適參數(shù),并結(jié)合其他深度學(xué)習(xí)方法,如深度置信網(wǎng)絡(luò)(deep belief network,簡(jiǎn)稱(chēng)DBN)來(lái)進(jìn)一步提高分類(lèi)識(shí)別率;(3)面對(duì)實(shí)際應(yīng)用中日益涌現(xiàn)的海量、復(fù)雜腦電數(shù)據(jù),考慮使用spark 架構(gòu)實(shí)現(xiàn)分布式處理,進(jìn)一步提高腦機(jī)交互應(yīng)用的實(shí)時(shí)性.