王浩 馮寶 周和 藍(lán)彥峰 蔣奇航 賓原
(桂林航天工業(yè)學(xué)院 電子信息與自動(dòng)化學(xué)院,廣西 桂林 541004)
腦機(jī)接口(Brain computer interface, BCI)是一種利用腦電信號(Electroencephalogram,EEG)特征建立學(xué)習(xí)人機(jī)交互模型的技術(shù)[1]。P300字符輸入是BCI的一種典型應(yīng)用,主要是根據(jù)不同字符閃爍刺激引起的腦電信號的差異而進(jìn)行字符識別和輸入。
P300信號是一種在事件發(fā)生后約300 ms左右出現(xiàn)的誘發(fā)式腦電信號[2]。在基于P300的腦控機(jī)械手系統(tǒng)中,依靠腦電信號進(jìn)行字符輸入,通過識別出P300信號對應(yīng)的字符來控制機(jī)械手完成特定動(dòng)作。在腦控機(jī)械手系統(tǒng)中,決定系統(tǒng)性能的一個(gè)關(guān)鍵步驟是如何根據(jù)P300信號識別出不同字符。
在利用P300信號的進(jìn)行機(jī)械手控制時(shí),第一步是采集相關(guān)的P300信號。通過計(jì)算機(jī)屏幕向受試者展示了一個(gè)包含40個(gè)不同字符的字符矩陣。受試者關(guān)注其中目標(biāo)字符閃爍,同時(shí)機(jī)器記錄整個(gè)過程的腦電信號。第二步為針對不同字符所引起的P300信號特征建立相應(yīng)的BCI解碼模型,解碼引起P300特征的目標(biāo)字符,完成字符輸入。第二步中如何確定P300相關(guān)信號通道是一個(gè)關(guān)鍵步驟[3]。目前P300信號的通道選擇方法主要包括兩類:一類是機(jī)器學(xué)習(xí)算法;另一類是經(jīng)驗(yàn)選擇法。機(jī)器學(xué)習(xí)算法自動(dòng)學(xué)習(xí)所有通道對應(yīng)的權(quán)重系數(shù),通過權(quán)重系數(shù)來選擇最優(yōu)通道子集參與后續(xù)分析過程。經(jīng)驗(yàn)選擇法是根據(jù)先驗(yàn)知識選擇或剔除指定通道[4]。經(jīng)驗(yàn)選擇法易于實(shí)現(xiàn),但是無法滿足個(gè)體差異,會(huì)導(dǎo)致部分有效特征通道信息丟失。第三步是機(jī)械手動(dòng)作,根據(jù)預(yù)先定義的字符調(diào)用響應(yīng)的動(dòng)作程序,完成機(jī)械手特定動(dòng)作。
為了提高P300字符輸入效率,提升機(jī)械手控制準(zhǔn)確性,本文采取機(jī)器學(xué)習(xí)算法對P300信號進(jìn)行選擇。傳統(tǒng)機(jī)器學(xué)習(xí)算法如SVM沒有考慮最優(yōu)腦電通道子集的空間稀疏性(任務(wù)相關(guān)腦區(qū)在全腦中具有空間稀疏性),一定程度上影響了后續(xù)P300特征分類的準(zhǔn)確性[5-8];LASSO(least absolute shrinkage and selection operator)選擇出的最優(yōu)通道子集過于稀疏在優(yōu)化構(gòu)建過程中忽略了同一通道內(nèi)特征信號的空間平滑特性(即同一通道內(nèi)特征向量歸屬于同一組具有相似的表現(xiàn))[9-10];組LASSO(group LASSO)需要大量交叉驗(yàn)證[11]等,本文提出利用基于組稀疏貝葉斯方法進(jìn)行P300信號相關(guān)通道選擇。首先建立貝葉斯框架下的基于P300的BCI解碼模型,其次結(jié)合P300相關(guān)腦電通道的空間稀疏性和空間平滑性,提出基于組稀疏約束的貝葉斯邏輯回歸方法來同時(shí)完成P300特征檢測和通道選擇。本文利用所提出方法以自采集數(shù)據(jù)作為模型訓(xùn)練基礎(chǔ),同時(shí)利用訓(xùn)練結(jié)果控制機(jī)械手進(jìn)行字符輸入,實(shí)驗(yàn)結(jié)果表明本文所提出的方法可以有效地提高腦控機(jī)械手的字符輸入效率。然后,將識別出的字符轉(zhuǎn)換為相應(yīng)的機(jī)械手命令,完成機(jī)械手控制過程。
自采集數(shù)據(jù)的P300拼寫系統(tǒng)具有其特有的圖形用戶界面(參見圖1 (b))和刺激時(shí)間。實(shí)驗(yàn)過程中,在計(jì)算機(jī)屏幕上向受試者呈現(xiàn)了一個(gè)包含40個(gè)不同字符的4×10矩陣。以隨機(jī)順序依次閃爍字符。受試者需要關(guān)注40個(gè)字符中的一個(gè),在該字符閃爍時(shí)受試者腦部將產(chǎn)生P300信號。刺激間隔設(shè)置為30 ms,刺激時(shí)間設(shè)置為100 ms,將40次刺激中的每一次字符閃爍都重復(fù)10次。在實(shí)驗(yàn)完成后對從受試者頭皮采集的EEG信號進(jìn)行處理以確定受試者關(guān)注字符對應(yīng)的P300信號。
實(shí)驗(yàn)中對每個(gè)受試者測試為一次實(shí)驗(yàn)、循環(huán)2次顯示字符,每次40個(gè)字符:一次用于訓(xùn)練分類器,選擇最佳通道子集,必要時(shí)設(shè)置交叉驗(yàn)證的參數(shù);一次作為驗(yàn)證集;EEG數(shù)據(jù)以250 Hz的采樣率采集。系統(tǒng)范式如圖1(b)所示。該范式向被試者呈現(xiàn)一個(gè)包含40個(gè)不同字符的4×10字符矩陣。每個(gè)字符都以隨機(jī)順序依次閃爍,每次閃爍稱為一個(gè)train。為了拼寫一個(gè)字符,字符矩陣中的40個(gè)字符以隨機(jī)閃爍的形式每個(gè)字符都閃爍一次(稱為一個(gè)block),然后這40個(gè)字符又以另一種隨機(jī)方式閃爍一次,如此重復(fù)10次,形成一個(gè)block。每個(gè)block相隔時(shí)間與刺激間隔時(shí)間均為30 ms,單個(gè)刺激持續(xù)時(shí)間為100 ms。在一個(gè)block中,只有一次閃爍是靶刺激(即閃爍的字符是目標(biāo)字符),在目標(biāo)字符閃爍時(shí)產(chǎn)生P300信號。
從閃爍開始后的0.600 ms內(nèi)提取數(shù)據(jù),對收集到的數(shù)據(jù)進(jìn)行預(yù)處理。首先30通道的EEG經(jīng)過[ 0.5,20 ] Hz帶通濾波,然后對濾波后的數(shù)據(jù)下采樣,采樣頻率為41.7 Hz。因此每個(gè)刺激中一個(gè)通道有25個(gè)數(shù)據(jù)點(diǎn),30個(gè)通道可形成大小為25×30=750的特征矩陣。此范式拼寫一個(gè)字符可產(chǎn)生10×40=400個(gè)樣本。
圖1 自采集數(shù)據(jù)的P300拼寫系統(tǒng)和圖形用戶界面
本實(shí)驗(yàn)使用NuAmps輕便的37導(dǎo)DC放大器以及配套的37導(dǎo)聯(lián)電極帽進(jìn)行實(shí)驗(yàn)。自采集設(shè)備采用36通道進(jìn)行采集,采集頻率為250 Hz。
首先將NuAmps輕便的37導(dǎo)DC放大器連接到電腦端,使用相關(guān)的上位機(jī)軟件進(jìn)行配置,其中A1、A2作為參考電極,確認(rèn)連接成功后幫助受試者戴上電極帽以及相關(guān)的采集設(shè)備。
受試者在實(shí)驗(yàn)研究人員的幫助下帶上37導(dǎo)聯(lián)電極帽,使用注射器在每一個(gè)采集點(diǎn)注入導(dǎo)電膠。研究人員可觀察電腦端上位機(jī)的界面來檢驗(yàn)采集數(shù)據(jù)的電極是否接觸良好。研究人員在確認(rèn)接觸良好后,可向受試者說明實(shí)驗(yàn)的注意事項(xiàng)。隨后,研究人員啟動(dòng)軟件,開始采集數(shù)據(jù)。
在實(shí)驗(yàn)結(jié)束后,研究人員保存實(shí)驗(yàn)所采集的數(shù)據(jù),并且?guī)椭茉囌咝断虏杉O(shè)備。
P300腦電信號的預(yù)處理主要包括以下四步。第一步:將P300腦電信號以A1、A2兩參考電極為參考,將37導(dǎo)聯(lián)腦電采樣數(shù)據(jù)減去參考值[2,5]。第二步:提取出字符開始閃爍之后的600 ms區(qū)間的每一路導(dǎo)聯(lián)數(shù)據(jù),根據(jù)已知的知識,激發(fā)電位是在刺激后的300 ms左右出現(xiàn),所以可以認(rèn)為這個(gè)時(shí)間窗是可取的。第三部:將腦電波信號進(jìn)行0.1 Hz到25 Hz的帶通濾波,同時(shí)去除其他生物電信號造成的干擾噪聲。第四步:對濾波后的數(shù)據(jù)進(jìn)行六分之一下的采樣,并保存數(shù)據(jù)。
檢測某一刺激下腦電信號中是否包含P300特征是一個(gè)典型的二分類問題。將P維特征向量x∈RP映射到類別標(biāo)簽t∈{-1,1}的線性模型可以表示為
t=ωTx+ε,
(1)
其中ω∈RP是權(quán)重向量,ε∈R是具有精度為β的零均值高斯隨機(jī)變量。給定訓(xùn)練數(shù)據(jù)集(X,t),X∈RN×P,其中X=(x1,…,xN)T,類別標(biāo)簽t∈{-1,1}N,N表示樣本數(shù)。權(quán)重向量ω服從如下高斯分布
p(t丨X,ω,β)=N(t丨XTω,β-1)。
(2)
為了估計(jì)ω的后驗(yàn)概率,需要引入一個(gè)關(guān)于ω的先驗(yàn)分布。在稀疏貝葉斯線性判別分析(sparse Bayesian linear discriminant analysis,sBLDA)中,結(jié)合ARD先驗(yàn)方法,對ω中的每個(gè)元素ωi,(i=1,…,P)設(shè)置相應(yīng)的超參數(shù)αi,形成超參數(shù)向量α=(α1,…,αP)T,則ω的稀疏先驗(yàn)定義為:
(3)
考慮到與P300特征相關(guān)的腦電信號除了具有空間稀疏特性外,還具有空間平滑特性。將ω分為G組,為每組權(quán)重系數(shù)ωg定義超參數(shù)αg,則組內(nèi)權(quán)重參數(shù)ωi,i∈Ig(Ig是包含第g組索引的集合)共享一個(gè)超參數(shù)αg。ω的組稀疏先驗(yàn)形式表示如下
(4)
其中
α=(α1,…,α1,α2,…,α2,αG,…,αG)。
(5)
由于ω的似然函數(shù)和先驗(yàn)概率都服從高斯分布,因此其后驗(yàn)概率也服從高斯分布。后驗(yàn)概率形式如下
p(ω|t,X,α,β)=Ν(ω|m,Σ),
(6)
通過最大化后驗(yàn)概率的方法可以求得最優(yōu)的ω值。均值和方差由下式給出
m=βΣXTt,
(7)
Σ-1=A+βXTX。
(8)
A=diag(α)。
為了估計(jì)超參數(shù)α和β,此處可以采用最大似然估計(jì)方法來完成。
在P300特征檢測中,所構(gòu)造的P=C×Td維特征向量x∈RP包含了C個(gè)通道在Td個(gè)時(shí)間點(diǎn)內(nèi)的腦電數(shù)據(jù)。為了進(jìn)行通道選擇,設(shè)置組的個(gè)數(shù)G等于通道個(gè)數(shù)C,此時(shí)單位組內(nèi)的數(shù)據(jù)代表了一個(gè)通道在Td個(gè)時(shí)間點(diǎn)的腦電數(shù)據(jù)。在組稀疏約束下,權(quán)重系數(shù)ω中大多數(shù)值將收縮為零,意味著其所對應(yīng)的通道數(shù)據(jù)將被剔除,則可根據(jù)ω中非零值的分布自動(dòng)完成通道選擇。
本實(shí)驗(yàn)研究的P300信號是外部事件刺激產(chǎn)生的一種腦電信號,實(shí)驗(yàn)過程中采用32級的電極帽來采集大腦的信號,然而我們的腦電信號種類繁多且復(fù)雜,并不是32個(gè)信號通道產(chǎn)生的信號里都含有P300信號,因此需要對信號通道進(jìn)行研究并驗(yàn)證分析,選擇出產(chǎn)生P300信號的主要通道并有效地提取出P300信號。
在完成P300相關(guān)通道選擇與特征提取后,建立起相關(guān)模型,用于實(shí)時(shí)測試完成腦控字符輸入。在實(shí)時(shí)檢測的過程中,在佩戴好相關(guān)信號采集設(shè)備后,通過對被輸入字符的想象,使腦部視覺區(qū)產(chǎn)生與視覺神經(jīng)受到字符刺激相同的P300信號,讀取并提取出該信號特征后,根據(jù)其特征對其進(jìn)行分類,以識別出該段P300信號是由40個(gè)刺激源字符中的哪一個(gè)所刺激產(chǎn)生的,識別完成后,將該字符輸入并顯示,同時(shí)通過搭建完成的通信系統(tǒng)將其發(fā)送至機(jī)械手控制端,以完成下一步的控制。
完成字符輸入后,便可將利用P300信號輸入的字符傳輸至機(jī)械手控制端,生成相應(yīng)的機(jī)械手運(yùn)動(dòng)命令,完成依靠P300字符輸入控制腦控機(jī)械手運(yùn)動(dòng)的整個(gè)過程。
Socket是面向客戶/服務(wù)器模型而設(shè)計(jì)的,針對客戶和服務(wù)器程序提供不同的Socket系統(tǒng)調(diào)用??蛻綦S機(jī)申請一個(gè)Socket,系統(tǒng)為之分配一個(gè)Socket ID;服務(wù)器擁有全局公認(rèn)的Socket,任何客戶都可以向它發(fā)出連接請求和信息請求。
將分析腦電數(shù)據(jù)的PC作為服務(wù)器,將機(jī)械手的控制端作為客戶端,建立一個(gè)Socket通訊連接,將識別出的字符傳輸?shù)綑C(jī)械手控制端,讓機(jī)械手能夠根據(jù)收到的字符生成相應(yīng)的命令。
本文自采集的P300信號是由40個(gè)不同字符所引起的,在訓(xùn)練出相應(yīng)模型后,可以識別出不同信號是由哪個(gè)字符所引發(fā)的。事先,在機(jī)械手中編輯好各個(gè)字符對應(yīng)的運(yùn)動(dòng)命令,以機(jī)械手控制端接收到對應(yīng)字符作為觸發(fā)條件,在接收到通信系統(tǒng)傳輸過來的字符后,便觸發(fā)相應(yīng)的運(yùn)動(dòng)命令使機(jī)械手開始運(yùn)動(dòng)。
表1 部分字母對應(yīng)的機(jī)械手命令
利用自采集數(shù)據(jù),再訓(xùn)練出相應(yīng)的P300模型后將利用實(shí)時(shí)檢測P300信號控制機(jī)械手運(yùn)動(dòng),由于基于P300信號的腦控機(jī)械手的控制準(zhǔn)確率主要取決于P300信號字符輸入的準(zhǔn)確率,其多次測試的準(zhǔn)確率如下,可以看出利用本方法對腦控機(jī)械手的控制準(zhǔn)確率有所提高。
表2 被試的最佳通道數(shù)量(自采數(shù)據(jù)集)
圖5 每個(gè)通道選擇方法的測試集中被試的平均準(zhǔn)確度(自采集數(shù)據(jù))
本文提出一種利用貝葉斯框架下組稀疏約束的P300信號識別算法來提高腦控機(jī)械手效率的方法。通過其檢測出觸發(fā)P300信號的字符并發(fā)送到機(jī)械手控制端并生產(chǎn)相應(yīng)命令,完成腦控機(jī)械手運(yùn)動(dòng)。通過實(shí)時(shí)檢測,可驗(yàn)證出本文通道選擇方法對腦控機(jī)械手控制有所幫助,即只對與P300信號相關(guān)的通道數(shù)據(jù)進(jìn)行重點(diǎn)分析,可對腦控機(jī)械手運(yùn)動(dòng)的準(zhǔn)確率和效率有所提高,有望推動(dòng)腦控機(jī)械手技術(shù)的發(fā)展,幫助腦控機(jī)械手技術(shù)從理論到實(shí)際應(yīng)用的落地。
桂林航天工業(yè)學(xué)院學(xué)報(bào)2020年1期