楊榮 李增勇 魏鵬緒 王麗 張寧 宋亮
腦力疲勞是一種復(fù)雜的生理心理現(xiàn)象,以工作效率的下降和工作的厭煩為標(biāo)志,是人體介于清醒和睡眠之間的一種過(guò)度狀態(tài)。隨著科技和經(jīng)濟(jì)的發(fā)展,越來(lái)越多的人從體力勞動(dòng)者轉(zhuǎn)為腦力勞動(dòng)者,持續(xù)的工作、睡眠的不足以及各種心理因素的影響導(dǎo)致腦力疲勞的出現(xiàn)愈加頻繁,因腦力疲勞引發(fā)的工作事故和各種心理疾病也逐年增加,尤其對(duì)于駕駛員、機(jī)械操作、飛行員等要求超高反應(yīng)速度與注意力集中程度的特殊職業(yè)[1-2],一旦出現(xiàn)腦力疲勞,會(huì)引發(fā)非常嚴(yán)重的事故。因此,開(kāi)發(fā)便攜的腦力疲勞檢測(cè)裝置具有重要的現(xiàn)實(shí)意義。
目前關(guān)于腦力疲勞的相關(guān)研究多基于實(shí)驗(yàn)室腦電設(shè)備采集數(shù)據(jù)后的離線分析,而傳統(tǒng)的腦電采集裝置普遍存在體積大、價(jià)格昂貴、不易搬動(dòng)、操作復(fù)雜等局限性[3],不利于用戶腦力疲勞狀態(tài)的快速監(jiān)測(cè)。隨著通信技術(shù)的發(fā)展以及低成本、高性能智能平板、手機(jī)等設(shè)備的逐漸普及,為實(shí)現(xiàn)腦力疲勞的快速與高效檢測(cè)提供了可能。
當(dāng)前常用的腦力疲勞評(píng)價(jià)手段分為主觀檢測(cè)和客觀檢測(cè)兩種[4]。主觀檢測(cè)即疲勞量表評(píng)價(jià)方式[5],客觀檢測(cè)主要通過(guò)相關(guān)儀器對(duì)被測(cè)者進(jìn)行客觀評(píng)價(jià),評(píng)價(jià)指標(biāo)包括腦電(electroencephalogram,EEG)、肌電、心電、血壓、呼吸、眨眼頻率[6]等。由于主觀檢測(cè)存在個(gè)人因素影響大、評(píng)分標(biāo)準(zhǔn)無(wú)法統(tǒng)一等問(wèn)題,實(shí)際使用中多使用客觀評(píng)測(cè)或?qū)⒖陀^評(píng)測(cè)與主觀評(píng)測(cè)結(jié)合使用[7]。
由于人體腦力疲勞狀態(tài)時(shí),會(huì)出現(xiàn)精神渙散、記憶力下降、注意力不集中、思考力下降等現(xiàn)象,這些情緒現(xiàn)象受大腦皮質(zhì)支配,最終表現(xiàn)為大腦皮質(zhì)電信號(hào)的變化[8],因此EEG的很多成分和特征參數(shù)可以作為腦力疲勞的評(píng)價(jià)指標(biāo),比如α節(jié)律波活動(dòng)的增加[9]、不同頻率段基本尺度熵和排列熵的差異[10]、功率譜重心頻率的變化[11]、事件相關(guān)電位(event-related potential, ERP)中P300的幅值變化等。早期疲勞研究主要集中在P300上。P300是ERP中研究最多也最成熟的成分,一般出現(xiàn)在刺激后300~500 ms之間,代表了工作記憶和主動(dòng)注意的實(shí)時(shí)加工,對(duì)于腦力疲勞的研究具有重要的價(jià)值。
目前,利用聽(tīng)覺(jué)誘發(fā)P300進(jìn)行腦力檢測(cè)的研究也十分廣泛。喬延云等[7]利用聽(tīng)覺(jué)誘發(fā)P300評(píng)價(jià)持續(xù)認(rèn)知任務(wù)前后的腦力疲勞狀態(tài),結(jié)果證明P300中P3a、P3b成分的幅值可以作為腦力疲勞的評(píng)定指標(biāo)。宋國(guó)萍等[12]同樣發(fā)現(xiàn)聽(tīng)覺(jué)誘發(fā)P300中P3a、P3b成分的幅值變化可以用于駕駛疲勞程度的評(píng)價(jià)。
因此,考慮到Android平臺(tái)的開(kāi)放性、無(wú)界性、便攜性、擴(kuò)展性以及良好的數(shù)據(jù)兼容性和同步性[13],本研究搭建基于Java平臺(tái)的便攜式客觀腦力疲勞檢測(cè)系統(tǒng),利用TGAM腦電采集芯片采集聽(tīng)覺(jué)誘發(fā)EEG信號(hào),將EEG信號(hào)通過(guò)Android移動(dòng)端傳輸至服務(wù)器端的數(shù)據(jù)解析平臺(tái)后,通過(guò)小波分析、基于噪聲統(tǒng)計(jì)的經(jīng)驗(yàn)?zāi)J椒纸?empirical mode decomposition, EMD)、多元線性回歸(multiple linear regression with dispersion terms, MLRD)、支持向量機(jī)(support vector machine,SVM)等算法提取P300中P3b成分的幅值進(jìn)行分析,實(shí)現(xiàn)腦力疲勞的便攜與實(shí)時(shí)檢測(cè)。
系統(tǒng)的總體架構(gòu)如圖1所示,主要由腦電采集端、Android移動(dòng)端、服務(wù)器端組成。由于EEG解析算法以Matlab語(yǔ)言進(jìn)行開(kāi)發(fā),轉(zhuǎn)換成Java語(yǔ)言移植到Android移動(dòng)端存在困難,并且Android移動(dòng)端計(jì)算能力相對(duì)較弱,因此本研究將腦電信號(hào)解析部分設(shè)置在服務(wù)器端完成,分析結(jié)果返回移動(dòng)端進(jìn)行顯示。
腦電采集端包括TGAM腦電采集模塊、藍(lán)牙模塊、電源模塊、干電極、耳夾、屏蔽線等。Android移動(dòng)端功能包括用戶登錄管理、數(shù)據(jù)接收、數(shù)據(jù)顯示、數(shù)據(jù)傳輸及腦力疲勞結(jié)果顯示等。服務(wù)器端對(duì)用戶數(shù)據(jù)、腦電信號(hào)數(shù)據(jù)進(jìn)行存儲(chǔ),通過(guò)小波分析、EMD自相關(guān)去噪、MLRD、SVM等算法對(duì)腦電信號(hào)中的P300特征成分進(jìn)行提取并分類,最后將腦力疲勞分析結(jié)果反饋至Android移動(dòng)端進(jìn)行顯示。
采用P300對(duì)用戶腦力疲勞狀態(tài)進(jìn)行分析,用戶需提前完成非疲勞正常狀態(tài)下的聽(tīng)覺(jué)刺激實(shí)驗(yàn),將采集到的腦電數(shù)據(jù)傳輸至服務(wù)器端進(jìn)行數(shù)據(jù)解析,存儲(chǔ)為用戶正?;A(chǔ)數(shù)據(jù)。用戶進(jìn)行腦力疲勞測(cè)試時(shí),需完成同樣的聽(tīng)覺(jué)刺激實(shí)驗(yàn),將采集到的腦電數(shù)據(jù)記為測(cè)試狀態(tài)下腦電數(shù)據(jù)。服務(wù)器端將測(cè)試狀態(tài)下腦電數(shù)據(jù)進(jìn)行解析后,將提取到的P3b波幅與用戶正常基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),評(píng)估用戶腦力疲勞狀態(tài)。
聽(tīng)覺(jué)刺激實(shí)驗(yàn)?zāi)J交贠ddball模式[14],實(shí)驗(yàn)流程為:用戶將采集電極布置于頭頂頂葉Cz電極處,左耳耳垂用耳夾布置參考電極,同時(shí)佩戴耳機(jī),短音刺激通過(guò)雙側(cè)耳機(jī)同時(shí)傳出,標(biāo)準(zhǔn)刺激(概率為80%)為1000 Hz、0 dB,聲音為“嘟”聲,靶刺激(概率為20%)為2 000 Hz、0 dB,聲音為“嗶”聲。刺激呈現(xiàn)時(shí)間均為50 ms,相鄰兩個(gè)聲音刺激出現(xiàn)間隔為 400 ms,2種刺激以隨機(jī)順序出現(xiàn)。一個(gè)聲音周期都是由1次靶刺激、4次非靶刺激構(gòu)成,20個(gè)聲音周期構(gòu)成一個(gè)聲音刺激序列。用戶每次需完成1個(gè)序列的刺激實(shí)驗(yàn),在聽(tīng)到靶刺激聲音時(shí)點(diǎn)擊Android端屏幕中的“+”,系統(tǒng)自動(dòng)進(jìn)行計(jì)數(shù)。
1.3.1 腦電數(shù)據(jù)特征解析
本部分的核心算法包括小波分析、疊加平均、EMD自相關(guān)去噪、MLRD、SVM算法。
由于P300信號(hào)的有用成分主要集中在低頻段[15],為在減少疊加平均次數(shù)的同時(shí)最大限度保留信號(hào)中的細(xì)節(jié)特征,將原始腦電信號(hào)進(jìn)行 3 層小波分解[16],小波基選擇db10,得到 0~3.75 Hz子頻帶的腦電信號(hào)。在該子頻段進(jìn)行樣條插值后,再通過(guò)樣條插值后的小波系數(shù)重構(gòu)信號(hào),然后將信號(hào)進(jìn)行3次疊加平均。
為提高P300信號(hào)的信噪比,采用基于噪聲統(tǒng)計(jì)的EMD算法進(jìn)行信號(hào)去噪處理[17]。EMD依據(jù)信號(hào)的內(nèi)在特征,將信號(hào)分解為有限個(gè)具有不同特征尺度的IMF函數(shù)?;谠肼暯y(tǒng)計(jì)的EMD算法自相關(guān)去噪過(guò)程如下。
(1)設(shè)完成小波分析和疊加平均后的腦電信號(hào)為x(t),t為腦電時(shí)長(zhǎng),則EMD分解算法的實(shí)現(xiàn)步驟[18]包括:
第1步,求取信號(hào)極大值點(diǎn)與極小值點(diǎn),利用插值法形成上包絡(luò)曲線x1(t)和下包絡(luò)線x2(t);
第2步,求取上、下包絡(luò)曲線的平均曲線,其公式為:
(1)
第3步,在原始信號(hào)中分解出平均曲線,得到剩余信號(hào),其公式為:
s1(t)=x(t)-y1(t)
(2)
第4步,判斷剩余信號(hào)s1(t)的所有局部極值點(diǎn)和過(guò)零點(diǎn)數(shù)是否相同,或至多相差1,或者s1(t)上下包絡(luò)線的均值為0,若不滿足以上條件,則令x(t)=s1(t),重復(fù)以上步驟,直到得到的剩余信號(hào)s1k(t)滿足該條件,則c1(t)=s1k(t)為第一個(gè)IMF分量。
第5步,從原始信號(hào)中去除c1(t),得到剩余分量,將剩余分量重復(fù)第1~5步,直到最終剩余分量rn(t)成為單調(diào)函數(shù),則得到n個(gè)IMF。分解完成后原始信號(hào)可表示為n個(gè)IMF分量與最終剩余分量之和,即:
(3)
(2)令:
(4)
對(duì)第一個(gè)IMF分量c1(t)進(jìn)行隨機(jī)排序、累加、平均后得到c′1(t),將c′1(t)與x1(t)一起重構(gòu)得到新信號(hào)xnew(t)。
(3)重復(fù)以上步驟k次,將每次得到的xnew(t)累加求平均后得到新信號(hào)N(t)。
(4)對(duì)N(t)再次進(jìn)行EMD分解,分別計(jì)算得到各IMF分量的歸一化自相關(guān)函數(shù)方差。根據(jù)預(yù)先設(shè)定的閾值,IMF分量中方差大于閾值的分量即為噪聲成分比較大的成分。
(5)對(duì)噪聲成分較大的分量采用小波軟閾值消噪,并與含噪聲低的IMF分量一起重構(gòu)信號(hào),得到最終的信號(hào)f(t)。
腦電信號(hào)經(jīng)過(guò)EMD自相關(guān)去噪后,引入MLRD算法進(jìn)行P300特征的估計(jì)。MRLD算法可以自動(dòng)獲取數(shù)據(jù)潛伏期和幅值無(wú)偏估計(jì),已成功應(yīng)用于腦電誘發(fā)電位峰值潛伏期與幅值的時(shí)域估計(jì)中[19]。
由于本研究采集的腦電為誘發(fā)電位,含有包括P300在內(nèi)的多種響應(yīng)成分,可以反映不同因素差異,因此對(duì)各響應(yīng)成分進(jìn)行建模,公式為:
f(t)=kNyN(t+aN)+kPyP(t+aP)
(5)
式中:f(t)為去噪后的腦電序列;kPyP(t+aP)為P300成分;kNyN(t+aN)為其他響應(yīng)成分;kN和kP為波形權(quán)重;aN和aP為時(shí)間偏移。引入誘發(fā)電位波形形態(tài)進(jìn)行精準(zhǔn)估計(jì),即為MLRD方法,其公式為:
f(t)=kNyN(sNt+aN)+kPyP(sPt+aP)
(6)
式中:sN與sP用于確定波形寬度。
1.3.2 腦電數(shù)據(jù)結(jié)果分析
SVM算法是根據(jù)統(tǒng)計(jì)學(xué)習(xí)理論提出的一種具有最優(yōu)分類能力和推廣能力的機(jī)器學(xué)習(xí)方法[20],以結(jié)構(gòu)風(fēng)險(xiǎn)最小化準(zhǔn)則為理論基礎(chǔ),可將采樣樣本映射到一個(gè)高維度或無(wú)限維度的空間中,將非線性可分的問(wèn)題轉(zhuǎn)換為線性可分。本研究采用基于徑向基核函數(shù)的SVM分類器進(jìn)行分類,將測(cè)試中提取到的P300波幅與非疲勞正常狀態(tài)下的波幅進(jìn)行比對(duì),利用分類結(jié)果評(píng)估用戶腦力疲勞狀態(tài)。
腦電采集端實(shí)現(xiàn)基于TGAM腦電采集模塊,對(duì)EEG進(jìn)行采集、放大、濾波及傳輸。使用的TGAM模塊是NeuroSky為大眾市場(chǎng)設(shè)計(jì)的成熟商用腦波傳感器采集模塊,價(jià)格低廉。它與人體的接觸只需要一個(gè)簡(jiǎn)單的干電極,可以將原始腦電波進(jìn)行濾波、放大、去噪、A/D轉(zhuǎn)換、去干擾等處理后以512 Hz輸出原始腦波以及各頻段腦波數(shù)據(jù)[8]。本研究使用TGAM模塊輸出的原始腦波數(shù)據(jù)進(jìn)行分析。
由于P3b的波幅通常在中央頂頭皮最大,隨著與該腦區(qū)距離的增大而逐步衰減[15],因此,使用TGAM模塊與干電極相連,通過(guò)單個(gè)腦電采集電極、參考電極、地線、藍(lán)牙模塊、電源模塊等搭建腦電采集端,腦電采集電極根據(jù)國(guó)際10-20系統(tǒng),布置于頂葉Cz電極處,左耳處布置參考電極。通過(guò)藍(lán)牙模塊實(shí)現(xiàn)TGAM模塊與Android移動(dòng)端的通信,收集采集模塊的狀態(tài)及其傳輸來(lái)的數(shù)據(jù)信號(hào)。
Android系統(tǒng)是一個(gè)主要應(yīng)用在手機(jī)、平板、電視等移動(dòng)終端設(shè)備上的應(yīng)用操作系統(tǒng),是基于Linux構(gòu)架的純開(kāi)源操作系統(tǒng)[21]。本研究系統(tǒng)平臺(tái)依托Android移動(dòng)端應(yīng)用操作系統(tǒng),通過(guò)Java語(yǔ)言開(kāi)發(fā)設(shè)計(jì)應(yīng)用功能,構(gòu)建包括用戶登錄界面、聽(tīng)覺(jué)刺激實(shí)驗(yàn)呈現(xiàn)界面、數(shù)據(jù)顯示界面、歷史數(shù)據(jù)顯示界面等功能的APP。
2.2.1 用戶登錄界面
用戶登錄界面如圖2所示。用戶進(jìn)行姓名、性別、年齡、工作時(shí)長(zhǎng)等基本信息登記,每次登錄需輸入用戶名和密碼,新用戶需進(jìn)行注冊(cè)。注冊(cè)成功后,用戶數(shù)據(jù)保存在服務(wù)器端數(shù)據(jù)庫(kù)中用于查詢。
2.2.2 聽(tīng)覺(jué)刺激實(shí)驗(yàn)呈現(xiàn)界面
設(shè)計(jì)基于Android系統(tǒng)的聽(tīng)覺(jué)刺激實(shí)驗(yàn),整體程序流程如圖3所示。點(diǎn)擊計(jì)數(shù)界面如圖4所示,用戶選擇測(cè)試開(kāi)始后,關(guān)注靶刺激(“嗶”聲)出現(xiàn)的時(shí)間并點(diǎn)擊Android移動(dòng)端的屏幕上的“+”,屏幕顯示用戶識(shí)別的靶刺激個(gè)數(shù)。
2.2.3 數(shù)據(jù)顯示界面
移動(dòng)端APP數(shù)據(jù)顯示界面主要通過(guò)Activity嵌套Fragement實(shí)現(xiàn),包括原始腦電數(shù)據(jù)顯示、P300波形顯示、腦力疲勞分析結(jié)果顯示等功能。如圖5所示,原始腦電數(shù)據(jù)通過(guò)藍(lán)牙傳輸技術(shù)進(jìn)行讀取,以波形曲線圖形式顯示,動(dòng)態(tài)刷新,橫軸為時(shí)間,縱軸為腦電幅值。通過(guò)與服務(wù)器端進(jìn)行通信,從服務(wù)器端數(shù)據(jù)庫(kù)中下載解析完成的數(shù)據(jù),并進(jìn)行P300波形繪制、腦力疲勞分析結(jié)果顯示,如圖6所示。
圖6 P300波形與腦力疲勞分析結(jié)果顯示界面
2.2.4 歷史數(shù)據(jù)顯示界面
本研究在后臺(tái)服務(wù)器端,使用Java服務(wù)程序接收移動(dòng)應(yīng)用端發(fā)送的完整的原始腦電數(shù)據(jù),經(jīng)過(guò)數(shù)據(jù)清洗、轉(zhuǎn)換、整合、統(tǒng)計(jì)、分析、計(jì)算等一系列操作,將結(jié)果數(shù)據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)中,形成每個(gè)用戶的基本數(shù)據(jù)?;诖祟悢?shù)據(jù)為用戶提供必要的可視化展示,用戶可通過(guò)選擇歷史記錄從服務(wù)器端下載對(duì)應(yīng)的歷史數(shù)據(jù)在Android移動(dòng)端進(jìn)行查看,如圖7所示。
圖7 歷史數(shù)據(jù)顯示圖
服務(wù)器端的功能包括接收與存儲(chǔ)腦電信號(hào)、解析腦電數(shù)據(jù)特征、計(jì)算腦力疲勞結(jié)果并將分析結(jié)果返回Android移動(dòng)端進(jìn)行展示。
采用IntelliJ IDEA開(kāi)發(fā)工具,開(kāi)發(fā)基于Java平臺(tái)的后臺(tái)數(shù)據(jù)處理程序,實(shí)現(xiàn)Android移動(dòng)端與服務(wù)器端的數(shù)據(jù)交互功能。服務(wù)器端分為應(yīng)用服務(wù)器和數(shù)據(jù)處理服務(wù)器兩部分。Android移動(dòng)端與應(yīng)用服務(wù)器中Tomcat容器通過(guò)HTTP數(shù)據(jù)接口進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)為JSON格式。Tomcat容器為后臺(tái)數(shù)據(jù)處理程序,負(fù)責(zé)處理Android移動(dòng)端發(fā)送的各種結(jié)構(gòu)化數(shù)據(jù),并將數(shù)據(jù)落地至MySQL數(shù)據(jù)庫(kù)內(nèi)。
數(shù)據(jù)處理服務(wù)器執(zhí)行基于Matlab開(kāi)發(fā)的腦電數(shù)據(jù)解析程序,從MySQL數(shù)據(jù)庫(kù)內(nèi)讀取相應(yīng)的數(shù)據(jù)后進(jìn)行數(shù)據(jù)運(yùn)算、處理與分類模型建立。計(jì)算腦力疲勞分析結(jié)果后,分析結(jié)果落地MySQL數(shù)據(jù)庫(kù)。用戶查看分析結(jié)果時(shí),可在Android移動(dòng)端選擇結(jié)果查詢,通過(guò)HTTP數(shù)據(jù)接口與Tomcat通信,查看分析結(jié)果。服務(wù)器端原始腦電數(shù)據(jù)展示、數(shù)據(jù)處理與結(jié)果顯示如圖8、圖9所示。
圖8 服務(wù)器端原始腦電數(shù)據(jù)展示
圖9 服務(wù)器端數(shù)據(jù)處理與結(jié)果展示
隨著移動(dòng)智能終端設(shè)備的普及,腦機(jī)接口技術(shù)逐步走向便攜化。本研究利用Android系統(tǒng)平臺(tái)開(kāi)放、普及等優(yōu)勢(shì),針對(duì)便攜腦力疲勞檢測(cè)系統(tǒng)應(yīng)用設(shè)計(jì)進(jìn)行了探索性研究。基于TGAM模塊采集用戶頂葉Cz處腦電,并利用聽(tīng)覺(jué)刺激誘發(fā)的P300電位中P3b的波幅差異,評(píng)估用戶腦力疲勞狀態(tài)。目前雖然具有結(jié)構(gòu)精簡(jiǎn)、成本低廉的優(yōu)點(diǎn),但仍需進(jìn)一步提高疲勞評(píng)估準(zhǔn)確度。由于腦電信號(hào)是一種非常復(fù)雜的隨機(jī)性生理信號(hào),利用單導(dǎo)聯(lián)上的特征信息進(jìn)行腦力狀態(tài)評(píng)估存在一定的局限性,且不同的受試者存在個(gè)體差異性,如何優(yōu)化算法模型,進(jìn)一步提高算法的識(shí)別效果,同時(shí)減輕個(gè)體差異性對(duì)評(píng)估準(zhǔn)確度的影響,是下一步研究的重點(diǎn)。