文献标识码: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.