杜光景,謝俊,張玉彬,曹國智,薛濤,徐光華
(西安交通大學機械工程學院,710049,西安)
腦-機接口(BCI)是一種不依賴于大腦正常輸出通路(外周神經和肌肉組織)而直接實現大腦與計算機等外部設備進行通信的技術[1]。該技術為重度癱瘓病人提供了通過大腦意念操控輪椅[2]、進行假肢控制[3]等全新的與外界環境進行交流和控制的手段,腦-機接口技術還被應用于虛擬現實[4]、軍事[5]、航天[6]等領域。穩態視覺誘發電位(SSVEP)是大腦視覺系統對外部周期性視覺刺激的響應,由于其具有穩定性強、操作簡單等優勢,成為一種被廣泛應用的腦-機接口信號類型[7-8]。但是,由于SSVEP屬于微弱信號,容易受到肌電、自發腦電等背景噪聲的影響,導致其識別困難。
傳統的SSVEP信號分類一般通過手工提取腦電信號的頻域或時頻域特征信息,然后對特征向量進行有監督分類的方式來實現的。吳平東等運用疊加平均與快速傅里葉變換結合的方法,在頻域上對SSVEP進行分類,該方法需要對多次視覺刺激下的腦電信號進行平均,限制了其實用性[9]。徐光華等設計了一種高頻組合編碼SSVEP范式,并針對組合編碼刺激產生的變頻腦電信號,提出基于改進希爾伯特-黃變換的變頻腦電信號特征提取與局部頻譜極值目標識別方法[2]。該方法雖然可以利用高頻組合編碼呈現更多的刺激目標,但其刺激時間及識別正確率仍有待優化。高小榕等利用典型相關分析(CCA)方法,對多通道時域腦電信號與正、余弦波形組成的模板信號進行相關分析,有效地提高了識別正確率[10],但是其模板信號相對固定,未考慮到使用者的個體差異性。
相比于傳統方法,深度學習不需要手工提取特征,能夠直接從原始數據中自動學習特征,可有效避免人工特征提取過程中導致的信息丟失。深度學習已經在語音識別[11]、圖像識別[12]等領域展現出了巨大優勢。安秀等使用深度置信網絡(DBN)對左右手運動想象進行了分類,其分類精度要明顯高于支持向量機(SVM)等傳統方法[13];Tabra等利用卷積神經網絡(CNN)對運動想象腦電信號的時頻圖進行識別,并使用BCI競賽公開數據集進行了分類研究,結果表明相比于競賽獲勝算法,該方法具有更好的分類表現[14]。基于SSVEP的腦-機接口具有刺激目標多、信號時空域特征不明顯等特點,因此分類過程也有較大差別,目前應用于SSVEP目標識別的深度學習方法較為有限。
為了解決因SSVEP信號信噪比低、非平穩、個體差異性強等因素引起的腦-機接口系統應用中目標識別困難等問題,本文引入深度學習中的卷積神經網絡,提出了基于卷積神經網絡的SSVEP信號識別分類方法。該方法以多通道原始腦電信號為輸入,根據SSVEP信號兼具時、頻、空域特征的特點,提出先時域后空域卷積的時空分離卷積操作,首先應用一維卷積核對各通道進行時域卷積,然后將卷積后的各通道信息融合,進行空域卷積,隨后采用多尺度卷積Inception模塊[15]來提取融合后不同尺度的特征信息。分類結果表明,本文所提方法對SSVEP信號分類的準確率和速度均有明顯提升。
CNN是深度學習應用最為廣泛的神經網絡之一,在人臉識別、車牌號識別、文檔分析等領域得到了成功的應用。CNN最早由Fukushima提出,由Lecun等對其進一步完善,典型的CNN網絡結構一般包括卷積層、降采樣層、全連接層等[16]。
卷積操作使用濾波器(卷積核)對上一層輸入進行卷積變換,采用局部感受野和權值共享思想,大大降低了網絡參數的數量。l層卷積層上的第j個節點Xl,j可以通過如下卷積操作得到
(1)
式中:l為卷積所在層數;Mj為輸入的第j特征圖;K為卷積核;B為l層的偏置;f為激活函數;*表示卷積操作。
降采樣可降低輸入維度,從而降低網絡復雜度,同時可降低過擬合的風險。降采樣層上節點X的計算公式為
Xl,j=f(βl,jdown(Xl-1,j)+Bl)
(2)
式中:β為下采樣系數;down為下采樣函數。
輸出層對前面各層提取的特征進行分類,利用softmax函數計算最后輸出被分到每個類的概率,計算方法為
(3)
式中:ZY為輸出層前級輸出單元的輸出;Y為類別索引;c為總的類別數;P(Y|X)表示輸入X屬于類別Y的概率。

圖1 卷積神經網絡結構示意圖
針對SSVEP原始信號兼具時、頻、空域特征的特點,本文設計了一種先時域后空域卷積的時空分離卷積的CNN結構來對SSVEP信號進行識別。本文采用的CNN網絡結構如圖1所示,整個網絡由7層網絡組成:第1層為輸入層,第2層、3層為卷積層,第4層為降采樣層,第5層為Inception層,第6層為降采樣層,第7層為輸出層。各網絡層具體如下。
(1)輸入層l1。該層為網絡的輸入層,輸入原始的多通道SSVEP信號,具體輸入樣本矩陣大小為通道數×數據采樣長度,在圖1中,輸入樣本為6×1 200,表示輸入數據為6個通道,1 200個采樣點,即采樣率為1 200 Hz下的1 s數據。
(2)卷積層l2。該層有6個一維卷積核,主要用來對輸入的SSVEP信號進行時域濾波。卷積核大小為1×300,6個卷積核對輸入矩陣進行時域卷積,可以得到6個特征圖。卷積操作時,步長為1,進行邊界補零操作,因此每個特征圖的大小為6×1 200。
(3)卷積層l3。該層有12個一維卷積核,主要用來對上一層的輸出進行空域卷積。卷積核大小為6×1,輸出為12個特征圖。卷積操作時,步長為1,無邊界補零操作,輸出的特征圖大小為1×1200。使用線性整流函數(ReLU)作為激活函數,不使用偏置。
(4)降采樣層l4。該層采用12個大小為1×4的卷積核對卷積層l3的輸出進行降采樣處理。降采樣采用平均池化方法,步長與卷積核大小一致,因此輸出12個特征圖,大小為1×300。
(5)Inception層l5。該層同時使用1×16、1×8等不同大小的卷積核進行多尺度卷積,以提取不同尺度的特征,在1×16、1×8的卷積核前以及1×8的最大池化卷積核后分別使用一個1×1的卷積核,用來降低維度,減少參數和計算量。每種卷積核的數量都為4個,因此最后特征連接后的大小為12個1×300的特征圖。
(6)降采樣層l6。該層采用12個大小為1×6的卷積核對Inception層的輸出進行降采樣處理。降采樣采用平均池化方法,步長與卷積核大小一致,因此輸出12個1×50的特征圖。同時使用dropout方法防止過擬合。最后將降采樣后的數據進行扁平化處理,使多維數據變為一維向量。
(7)輸出層l7。該層有4個節點,代表四分類問題(對應4個不同的SSVEP刺激頻率)。將池化層輸出的一維向量與輸出層節點全連接,使用softmax函數計算輸入對應分類標簽的概率分布。
同時,為了加快訓練收斂速度,對網絡中每個卷積操作后的數據均進行批標準化處理。
CNN的訓練過程主要采用誤差反向傳播算法,即先計算訓練數據在網絡中前向輸出的值與期望輸出值之間的誤差,然后將誤差反向傳播,對誤差求各個權值和偏置的梯度,由此來調整各權值和偏置,進行網絡學習。
本文網絡的訓練過程采用小批量訓練,每次訓練輸入批量數據大小為32個樣本。權值的優化調整采用Adam隨機梯度下降法[17],學習率設置為0.001,一階矩估計的指數衰減率設置為0.9,二階矩估計的指數衰減率設置為0.999。網絡的初始化權值服從均值為0,標準差為1的高斯分布。為防止網絡過擬合,訓練過程中加入dropout方法,即每次更新權值時隨機使一些節點失效,不進行權值更新。本文設置dropout比率為0.5。最大迭代次數設置為400,通過訓練過程的驗證集損失曲線來判斷模型是否訓練終止。
基于CNN的SSVEP目標識別分為如下4個步驟:
(1)采集被試者在不同目標刺激下的SSVEP多通道信號,作為網絡輸入;
(2)為采集到的數據制作標簽,并將數據集隨機劃分,其中數據集的60%為訓練集,20%為驗證集,20%為測試集;
(3)進行模型訓練,將訓練集、驗證集數據輸入網絡,訓練集進行網絡訓練,驗證數據集用來進行模型最優參數選擇;
(4)將訓練好的模型用來對測試集的數據進行分類,得到SSVEP目標識別的準確率。
SSVEP分類流程圖如圖2所示。

圖2 基于CNN的SSVEP分類流程圖
為了驗證本文提出的方法對SSVEP腦-機接口目標識別的實際效果,設計了周期運動的棋盤格刺激范式[18],如圖3所示,圖中共4個刺激目標,分別以頻率為6、7、8、9 Hz進行收縮與擴展運動以誘發SSVEP信號。實驗中刺激目標呈現在顯示器上,顯示器分辨率為1 920×1 080像素,刷新率為144 Hz。該刺激的制作與呈現控制均由基于Matlab環境的Psychophysics Toolbox工具箱實現。

圖3 基于運動翻轉棋盤格的刺激范式
實驗招募了7名身體健康、正常視力或矯正視力正常的被試者(S1~S7)進行實驗,被試者中有5名男性,2名女性。實驗在安靜的房間中進行,被試者端坐在離顯示器約80 cm處,在每輪實驗中,被試者被要求注視顯示器上的特定目標,避免身體的移動。每名被試者依次注視以6、7、8、9 Hz運動的刺激目標,每個刺激目標呈現80次,每連續20次為一輪,每輪實驗后給予被試者一定的休息時間。每輪實驗的時序安排如圖4所示,每輪刺激中,單次刺激目標呈現的時間為5 s,隨后顯示器灰屏1 s,然后進行下一次刺激呈現。

圖4 刺激時序圖
腦電信號的采集使用奧地利的g.USBamp腦電信號采集系統,采樣率為1 200 Hz。根據國際標準10/20系統法采集視覺區的PO3、POz、PO4、O1、Oz、O2共6個通道的腦電信號。接地電極在前額的Fpz處,參考電極在右耳乳突A1處。單次采集的腦電數據如圖5所示,數據大小為6×6 000,6為采集的6個通道,6 000為1 200 Hz采樣率下5 s數據,即1 200×5=6 000。

圖5 6通道腦電數據波形圖
為了驗證該方法的有效性,本文還采用了下列方法對相同的數據集進行分類作為對比。
(1)CCA方法[8]。將原始信號直接使用CCA方法進行分類,由于原始信號SSVEP的頻譜只在基頻處有明顯波峰,因此設置CCA方法中的諧波個數為1。
(2)CCA結合SVM方法[19]。將用CCA方法對訓練集得到的相關系數輸入到SVM中訓練,然后用測試集進行測試。分類器選用徑向基核函數,參數尋優采用LIBSVM工具箱[20]的網格搜索算法。
此外,除了使用識別準確率來評價腦-機接口的性能,本文還引進信息傳輸率(ITR)評價方法。每分鐘平均傳輸的信息量定義為
(4)
式中:K為可選目標數;T為識別一次刺激所需時間;A為識別準確率。
在CNN訓練階段,對每個被試單獨訓練。為了得到被試者在較短時間刺激下的識別準確率,取單次刺激的前3 s數據,并將數據截取為前0.5 s、前1 s、前1.5 s、前2 s、前2.5 s以及前3 s的數據長度進行分析,即輸入樣本矩陣大小分別為6×600、6×1 200、6×1 800、6×2 400、6×3 000、6×3 600。網絡訓練使用Keras深度學習框架,所用計算機CPU為Intel(R) Xeon(R) E5-2630 v4 @ 2.20 GHz,內存為64 GB,GPU為 NVIDIA GTX 1080Ti。6種不同輸入數據長度的訓練時間分別約為130、152、183、229、275、293 s。

(a)S1 (b)S2

(c)S3 (d)S4

(e)S5 (f)S6

(g)S7 (h)平均識別準確率圖6 采用3種方法對7位被試者的識別準確率比較
被試者S1~S7在不同時間窗長度時,分別采用CNN方法、CCA方法以及CCA結合SVM方法的單被試識別準確率以及多被試平均識別準確率如圖6所示。對比本文所提方法與另外兩種方法在不同時間窗長度的平均識別率實驗結果,可知在各個不同的時間窗長度時,本文方法表現優異,尤其在0.5~2 s這種時間窗較短且頻率特征不明顯的情況下,本文方法要明顯優于另外兩種方法。在時間窗長大于2 s時,此時頻率特征已比較明顯,對被試者S1、S2、S3,3種方法識別準確率均能達到96%以上,并無較大差異。在時間窗為1 s時,相較于另外兩種方法,本文方法對多被試平均識別準確率的提升分別為48.73%和41.21%,且此時采用本文方法的多被試平均識別準確率為93.3%~5.16%,已達到較高的識別準確度,可較好滿足實際工程應用要求。結果表明,本文方法對于較短刺激時間的目標識別具有明顯的提升效果,可提高腦-機接口系統的識別效率。
對于不同被試者,本文方法均能在短時間窗時提高其識別準確率,并無明顯的個體差異性。對于被試者S1、S2、S3、S5、S6、S7,本方法對其在0.5、1 s時的準確率提升均達到了30%以上。對于本身SSVEP響應特征較為明顯的被試者S4,本文方法對其識別率提升有限,但是在1 s長度的時間窗時,本文方法的識別準確率已達到100%。圖7為被試者S1在1 s時間窗長度時用本文方法分類的混淆矩陣??芍獙Ω黝l率的識別率均較好,尤其對6、9 Hz的刺激目標識別率均達到了100%。
不同被試者采用本方法在1 s時間窗長度時的識別準確率及信息傳輸率如表1所示。本文方法在1 s時間窗長度時平均正確識別率為93.3%,平均信息傳輸率為94.17 b/min。實驗結果表明,本文方法對基于SSVEP腦-機接口系統的目標識別有較高準確率與信息傳輸率,增強了腦-機接口的應用性能。

圖7 被試者S1識別準確率混淆矩陣

表1 采用3種識別方法對被試者在1 s時間窗長度時識別準確率及信息傳輸率
針對SSVEP信號存在信噪比低、非平穩、個體差異性強等特點導致腦-機接口目標識別準確率低等問題,本文提出了一種基于CNN的單次SSVEP信號識別方法。該方法具有自適應提取信號特征的特點,不需要人工預處理,同時可以通過對數據的學習,更好地適應個體差異性。實驗結果表明,該方法對于運動翻轉棋盤格刺激的目標識別準確率及信息傳輸率均要明顯高于無訓練CCA方法和有訓練CCA結合SVM方法。對于不同被試者,本方法在1 s時間窗長度時識別準確率均在80%以上,信息傳輸率在65 b/min以上,表明本方法對于較短時間刺激,具有明顯的識別優勢,同時具有較高的魯棒性。該方法可實現SSVEP信號的精確識別,同時具有較高的信息傳輸率,提高了腦-機接口系統的應用性能。
后續的研究將在現有工作基礎上,嘗試使用遷移學習對未訓練被試者進行目標識別,提高網絡模型在不同被試者之間的泛化能力;同時增加分類的數目,對更復雜的多分類SSVEP進行研究,將該方法應用于在線目標識別,提高其工程實用價值。