文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.03.034
中文引用格式: 孔亮,胡南,孫兵. 基于Android平臺的注意力監測系統實現 [J].電子技術應用,2016,42(3):120-122,126.
英文引用格式: Kong Liang,Hu Nan,Sun Bing. Implementation of an attention monitoring system based on Android[J].Application of Electronic Technique,2016,42(3):120-122,126.
0 引言
注意缺陷多動障礙(Attention Deficit Hyperactivity Disorder,ADHD)為一類常見于兒童期的行為障礙,我國兒童發病率為3%~10%[1]。目前,用藥物治療ADHD仍是醫生的第一選擇,但長期大劑量用藥會帶來諸如心血管系統損害、藥物成癮、厭食等副作用。因此,尋找一種安全有效、療效持久的可以輔助或代替藥物治療的新型療法成為了一種趨勢,腦電生物反饋治療(EEG Biofeedback)便由此應運而生。大量臨床實驗證明,腦電生物反饋治療ADHD 的療效與中樞神經興奮劑的療效相當[2]。
目前,國內外有不少學者從事腦電生物反饋治療的研究,但首先,這些研究有很多仍停留在臨床上[3-4],且偏向理論算法[5-7];其次,研究采用的專業儀器大多價格昂貴,難以普及;最后,得到的數據太過專業化,一般群眾難以讀懂,這使得腦電生物反饋治療很難推廣。
為了更好地推廣腦電生物反饋治療,本文實現了一個基于Android平臺的注意力監測系統。該系統利用腦電采集模塊實現腦電信號的采集和發送,通過Android平臺的藍牙接收信號,經過頻譜變換后提取特征值輸入經過訓練的BP神經網絡,得到當前注意力狀態,并實時顯示在屏幕上。系統整體框架如圖1所示。
1 腦電采集模塊
腦電采集模塊主要包含ThinkGear AM芯片、電源、干電極、參考電極以及藍牙從機5個部分。
ThinkGear AM芯片是由美國Neurosky公司研發的第一款消費級單通道腦電波采集芯片。該芯片僅有拇指大小,最大重量僅為130 mg,并內置12位的ADC模數轉換模塊,可以在1 200、9 600、57 600波特率下通過UART向外輸出。
該芯片運行電壓為2.97~3.63 V,故可以采用2節1.5 V的7號電池串聯作為其電源。
干電極采用直徑為12 mm、厚度為2 mm的圓形不銹鋼干電極片,使用1.2 mm的螺絲固定導線后上錫,參考電極則采用塑料生理耳夾,耳夾內裝有參比電極和接地電極。使用時,干電極放置于左前額處,參考電極置于雙耳耳垂處。
藍牙從機模塊采用HC-06藍牙串口芯片。該芯片大小與ThinkGear AM芯片相當,成本低廉,功耗低,且無線收發靈敏度達到了-80 dBm,完全符合便攜性的要求。
2 Android平臺應用實現
2.1 藍牙接收
該模塊主要功能是接收腦電采集模塊通過藍牙發送的腦電信號。實現過程如下:
(1)創建BluetoothAdapter對象以及Handler對象。
(2)通過構造函數TGDevice(BluetoothAdapter,Handler)創建TGDevice對象,調用connect方法啟動藍牙連接過程,搜索Android設備中所有配對的藍牙設備列表,并且去嘗試連接第一臺可兼容的ThinkGear設備,成功通過藍牙發現并連接到ThinkGear硬件設備后,TGDevice對象會發送一個STATE_CONNECTED消息給Handler對象。
(3)連接成功后調用start方法,TGDevice對象便開始將腦電采集模塊采集到的原始腦電信號通過消息形式發送給Handler對象。
(4)當應用程序不再需要從TGDevice接受數據時,通過close方法關閉連接。
2.2 頻譜變換
該模塊主要功能是將時域的腦電信號轉換成頻域信號,采用比較主流的快速傅里葉變換(FFT)方法。
FFT是離散傅里葉變換(DFT)的一種快速算法,該算法利用DFT公式中旋轉因子的周期性、對稱性和可約性[8],采用按時間抽取變換(DIT)等形式把N點的DFT的計算變成一系列迭代運算過程,簡化運算量,極大地提升了計算效率[9]。
本文采用基2時間抽取快速傅里葉(DIT-FFT)算法,其核心是蝶形運算,對于N=2M點的FFT,其蝶形運算公式如下:
式中L為運算級數(L=1,2,…,M);第L級運算共有B=2L-1個不同指數的旋轉因子,用R表示這些不同指數旋轉因子從上到下的順序(R=0,1,…,B-1),則第R個旋轉因子的指數P=2M-LR。
旋轉因子指數為P的第一個蝶的第一節點標號k從R開始,相鄰間距為2L,各蝶的第二個節點與第一個節點都相距B點。
該模塊程序流程圖如圖2所示。
2.3 BP神經網絡
2.3.1 特征提取
腦電信號中包含了大量的特征信息,為心理研究、臨床腦疾病診斷等領域提供了重要依據。按照頻率與幅度特性,一般可以將其劃分為δ波、θ波、α波、β波等[10]。每種節律都對應大腦不同的狀態。
以往研究中,對于注意力水平的評價主要借助于EEG時域信號中的模糊熵[11]、樣本熵[12]、多尺度熵[13]等時域信號復雜度值,或者是EEG頻譜信號中的θ波與β波的相對比值[14]。通過單一參數的單一閾值來對注意力水平進行評價,簡單易行,但是在實用中卻常常出現參數不能及時反映被試真實狀態的情況。這主要是由于腦電信號是生命體產生的復雜非線性信號,各個節律與大腦狀態的對應區分得并不絕對,而是存在著復雜的非線性關聯,因此,本文擬采取多特征參數的非線性分析方法,構造以下5個特征值,分別為δ波、θ波、α波、β波能量占腦電信號總能量的百分比以及θ波能量與β波能量的比值,較為全面地代表了注意水平相關的腦電成分在頻域上的分布特征。
2.3.2 BP網絡訓練
為了獲得注意力集中和注意力非集中時的穩定樣本數據,本文設計了如下實驗:
注意任務:被試坐在電腦屏幕前,參與完成Neurosky公司的速算挑戰游戲,屏幕呈現比較復雜的加減乘除運算題目(難度4),被試心算結果并提交。運算題目較為復雜,被試一般要仔細考慮才能計算出結果,且要求答題中盡量保證計算正確,一共進行40 s左右測試,從被試進行計算后10 s再開始采集被試腦電信號。
非注意任務:被試坐在電腦屏幕前,電腦屏幕呈現速算挑戰開始界面,以保持屏幕色調與注意任務相近,被試觀望屏幕,但要求盡量處于自然松弛狀態。一共進行40 s左右測試,從被試進行測試后10 s再開始采集被試腦電信號。
整個實驗過程保證被試不受外界干擾。12名健康被試年齡在20~22歲之間,均在頭腦清醒的情況下接受測試。實驗數據采用Neurosky公司的MindRec軟件進行記錄。12位被試分別采集30 s數據,從每份中隨機截取10段2 s長的數據(即1 024個數據),得到12(被試)×10(截取數據)×2(2個狀態)共240個樣本數據。
將其中的200個樣本數據作為訓練數據,40個樣本數據作為測試數據,通過MATLAB進行仿真。
設定BP網絡層數為3,輸入神經元個數為5,輸出神經元個數為1(注意狀態的輸出期望值為1、非注意狀態為0),隱層神經元個數為8,激勵函數為logsig函數,初始學習步長定為0.05,目標均方誤差設為0.001,迭代次數設為2 500次,采用traingdx(變步長)算法,訓練后得到的最高識別準確率達到了77.5%。
最后,利用net.b{1}、net.iw{1,1}等指令,得到訓練后BP神經網絡的權值矩陣和閾值矩陣。
2.3.3 BP網絡的Android實現
BP網絡的輸出結果y與輸入特征向量x的對應關系如下:
其中w1、w2分別為隱層、輸出層權值矩陣,θ1、θ2分別為隱層、輸出層閾值矩陣,u1、u2為中間量,y1為隱層輸出。
利用二維數組可以很簡單地實現Android平臺上的矩陣運算。BP神經網絡輸出的結果是一個范圍為0~1的值,該值越接近0,則代表被試當前注意力越不集中,反之則代表注意力集中。將其乘以100并取整,即可得到一個百分制的注意力值,可以非常直觀地表達被試當前的注意力狀態。
2.4 實時顯示
實時顯示模塊主要依靠Android平臺提供的SurfaceView組件、TextView組件以及上文創建的Handler對象來對主線程的UI進行更新,達到實時顯示的效果。實現流程如下:
(1)通過TextView的setText方法將文字顯示在屏幕相應位置,該方法會直接將原先顯示的文字抹除,以達到實時顯示的效果。
(2)創建Canvas對象,Surface中的Canvas成員是專供程序員畫圖的場所,并通過getHolder方法實現SurfaceHolder接口,用于操縱Surface和處理Canvas上畫圖效果和動畫,控制表面、大小、像素等。
(3)通過lockCanvas方法將畫布鎖定以獲得當前畫布對象,先通過drawColor方法將當前畫布顏色置為黑色以清除之前的作圖,再通過drawLine方法在畫布上將當前時域、頻域圖像依次畫出。
(4)通過unlockCanvasAndPost方法解鎖畫布以提交畫好的圖像。
3 結論
本文給出了基于Android平臺的注意力監測系統的具體實現方案,依托ThinkGear AM腦電采集模塊采集原始腦電信號,通過藍牙傳輸到Android終端,進行頻譜變換后,輸入事先訓練好的BP神經網絡,得到一個百分制的注意力值,可以非常直觀地表達被試當前的注意力狀態。整套系統簡單便攜,成本低廉,對于腦電生物反饋治療的推廣有一定的意義。
但本系統仍存在幾點不足:(1)BP網絡的訓練數據較少,使得得到的BP網絡泛化能力較差;(2)應用軟件可擴展性、可維護性較差。
近年來興起的深度神經網絡也許可以提供較好的解決方案,這種神經網絡可以通過手機網絡采集用戶使用時產生的大量無標簽腦電數據對核心神經網絡進行訓練,提高網絡泛化性能,通過軟件版本更新修改用戶軟件網絡參數,也許可以使得用戶注意力識別準確度得到大幅度提升。該方案在Android平臺的表現雖未可知,但不失為今后的改進方向之一。
參考文獻
[1] VOLKMAR F R.Changing perspectives on ADHD[J].American Journal of Psychiatry,2003,160(6):1025-1027.
[2] PATRICK N,FRIEL B S.EEG biofeedback in the treatment of attention deficit hyperactivity disorder[J].Alternative Medicine Review,2007,12(2):146-151.
[3] HEINRICH H,BUSCH K,STUDER P,et al.EEG spectral analysis of attention in ADHD: implications for neurofeedback training[J].Frontiers in Human Neuroscience,2014(8):611-621.
[4] TAKAHASHI J,YASUMURA A,NAKAGAWA E,et al.Changes in negative and positive EEG shifts during slow cortical potential training in children with attention-deficit/hyperactivity disorder:a preliminary investigation[J].Neuroreport,2014,25(8):618-624.
[5] KE Y,CHEN L,FU L,et al.Visual attention recognition based on nonlinear dynamical parameters of EEG[J].Biomedical Materials and Engineering,2014(24):349-355.
[6] XU L,LIU J,XIAO G,et al.Characterization and classification of EEG attention level[J].Journal of Computer Applications,2012,32(11):3268-3270.
[7] 路榮,黃力宇,晉瑯.小波包分解腦電復雜性特征提取的注意狀態實時識別[J].醫療衛生裝備,2013,34(2):1-5.
[8] 胡麗瑩,肖蓬.快速傅里葉變換在頻譜分析中的應用[J].福建師范大學學報,2011,27(4):27-30.
[9] 劉慶杰,藺啟忠,王欽軍,等.基于連續統快速傅里葉變換的紅外光譜處理技術[J].光譜學與光譜分析,2009,29(12):3279-3282.
[10] NOACHTAR S,BINNIE C,EBERSOLE J,et al.A glossary of terms most commonly used by clinical electroencep-halographers and proposal for the report form for the eeg findings[J].Electroencephalography & Clinical Neurophysiology Supplement,1999(52):21-40.
[11] 徐魯強,劉靜霞,肖光燦,等.腦電注意水平的特征識別[J].計算機應用,2012,32(11):3268-3270.
[12] 燕楠,王玨,魏娜,等.基于樣本熵的注意力相關腦電特征信息提取與分類[J].西安交通大學學報,2007,10(41):1237-1241.
[13] MING D,ZHANG M,XI Y,et al.Computational intelligence for measurement systems and applications[C].2009.Piscataway:IEEE Press,2009.
[14] LUTSYUK N V,?魪ISMONT E V,PAVLENKO V B.Modulation of attention in healthy children using a course of EEG-feedback sessions[J].Neurophysiology,2006,38(5-6):389-395.