郑敏敏 高小榕
(清华大学医学院生物医学工程系,北京 100084)
ZHENG Min-Min GAO Xiao-Rong*
(Biomedical Engineering Department,Tsinghua University,Beijing 100084,China)
患者的肢体运动功能障碍严重影响其与外界的沟通能力,传统的人机交互设备,如键盘、鼠标等无法满足这些患者的需求,已有学者对无障碍人机交互课题进行了广泛的研究,试图设计出一种不依赖肢体运动的人机交互接口,并在此基础上设计出一套便于肢体运动障碍患者使用的人机交互系统[1]。经过多年研究,目前比较有应用前景的方案有:肌电控制、脑机接口控制和眼动控制等。
这几种人机交互方式,各自都有自身的优点和缺点,所以有相关研究者尝试了将多种电生理信号进行综合分析,扬长避短,以期得到一种更加高效、可靠的无障碍人机交互方法,如综合眼电和稳态视觉诱发电位进行目光跟踪的方法研究[2-3]。
在上述几种无障碍的人机交互方式中,眼动控制更易于为大部分患者所接受。大部分患有严重运动障碍的残疾人仍可较自如地控制眼球运动,若将这些眼动信息有效地提取出来转化成控制命令操纵计算机或其他辅助设备,则能更好地为残疾人服务[4]。目前眼球运动探测的方法主要有:搜索线圈法、眼电图技术、红外线眼动图法、基于计算机图形学的方法以及影像追踪法。
搜索线圈法是在用户眼前佩戴一个感应线圈,同时在用户周围添加一个磁场,通过感应线圈中的感应电流来分析眼动情况。该方法对头部活动限制不严、时空分辨率高、不受光线影响,但其价格昂贵、设备庞大、便携性差。
红外线眼动图法是利用红外线光源在眼角膜边缘的反射差异,来检测眼球运动状况。该方法不需要与用户身体接触,但容易受可见光影响,需要相对稳定的使用环境。
计算机图形学的方法和影像追踪法都存在价格昂贵的缺点,不利于大众化。
在眼动控制的几种方法中,眼电技术具有成本低、便于操作等优势。笔者研究了基于眼电信号(EOG)的人机交互系统,实现了眼球运动方向特征提取与分类,提出了在特征方向投影信号中,以眼球跳动时产生的眼动波形前沿的正负作为特征参数的眼动检测方法。对8名不同受试者分别采集EOG数据,分析眼动跳视方向实现字符输入,并以正确率和信息传输率对该系统的性能做出评估,验证了所提算法的有效性。
本系统主要设计目的是为有特殊要求的肢体运动障碍群体提供一种不需依赖肢体进行信息交流的人机交互系统,让使用者能够依靠控制眼球视线方向与外界进行信息交流,该系统的基本特征为:
a)利用眼球跳视运动实现人机交互,方便肢体运动障碍患者与外界进行信息交互。
b)无创提取眼电进行眼球运动检测。
c)采用一种基于数学形态学的平滑滤波器对原始眼电信号进行滤波处理,可去除眼电信号中的眨眼干扰并增强信号的信噪比。
d)使用的USB接口的眼电放大器便于系统的实现与应用。
系统框架图如图1所示,主要是:a)采集用户眼电信号的信号采集模块,b)眼电信号处理的信号分析模块,c)与用户进行信息交互的应用界面。其中信号采集模块用于采集和放大原始眼电信号。
图1 系统框架图Fig.1 System diagram
1.2.1 产生8个方向跳视眼动的方法
基于眼动的人机交互界面设计,利用8个目标从屏幕中心点到外周的往复跳跃诱导眼睛的跳视。使用者保持头部静止,注视选择目标并跟随目标的跳动移动目光,同时记录水平和垂直眼电。
1.2.2 眼电采集方式
采集设备是清华大学神经工程实验室设计的多导脑电放大器,记录受试眼电,采样频率为1 000Hz。本系统采用3个电极来采集眼电信号,如图1所示。右眼上下侧的两个电极(B-C)负责采集EOG信号的垂直分量,以B、C两个电极采集到的EOG信号的平均值,与右眼角的电极D采集到的EOG信号相减作为水平眼电,A为接地电极,参考电极在耳凸处。
基于EOG的眼动信息提取与分类算法由3部分组成:EOG信号预处理、EOG信号特征提取、EOG信号分类。算法流程图如图2所示。
1.3.1 数学形态学
图2 算法处理流程Fig.2 Algorithm processing flow
数学形态学(mathematical morphology)是一种图像分析方法。它是由一组形态学的代数运算子组成,包含4个基本运算:膨胀、腐蚀、开启和闭合。
通过选取合适的结构元素,腐蚀可消除比结构元素小的毛刺、小凸起和物体边界点;膨胀可填充物体中比结构元素小的孔洞及图像边缘处的小凹陷部分。
利用数学形态学主要用于平滑掉原始眼电信号中混合的肌电、系统干扰等高频尖峰噪声;去除眨眼信号,降低其对信号识别造成的干扰[5]。
假设对p维变量X=(x1,x2,…,xp)进行处理,M维的结构元素K=(k1,k2,…,kM),膨胀定义[6]为
腐蚀定义为
在本实验中,将K设为M维的零向量。
由于在对点xm进行膨胀和腐蚀运算时,需要用到待处理数据中xm,xm+1,…,xm+M-1共M个点的值,因此膨胀和腐蚀运算在处理当前点的时候会产生M个点即结构元素长度的延迟。
开运算定义为对待处理信号先腐蚀后膨胀,与开运算相对应的闭运算定义为对待处理信号先膨胀后腐蚀,它们分别定义为
在对点xm进行开、闭运算时,会产生2M个点的延迟。进行数学形态学操作的最主要目的是去除眨眼干扰,而一般情况下眨眼的持续时间小于0.2 s左右,本实验过程中数据采样率为1 000Hz,所以M取值为200,对应时间长度为0.2 s。
本系统采用3个电极来采集眼电信号,分别为右眼右侧的电极采集的眼电信号O1,右眼上侧的电极采集的眼电信号O2,右眼下侧的电极采集的眼电信号O3。数据处理过程中将X1=O1-(O2+O3)/2作为水平眼电,将X2=O2-O3作为垂直眼电。
数学形态学算法的主要步骤是将眼电的两个信号X1和X2按式(5)进行基于数学形态学的滤波,Yi代表数学形态学处理后的信号,Xi(i=1,2)代表原始的水平眼电和垂直眼电
分解式(5),数学形态学的具体计算过程为:对Xi依次进行开操作的腐蚀运算、膨胀运算和闭操作的膨胀运算、腐蚀运算,其中,腐蚀运算是取结构元素长度的数据中的最小值操作,膨胀运算是取结构元素长度的数据中的最大值操作。
1.3.2 主成分分析
主成分分析是数学上对数据降维的一种方法[7]。通常数学上的处理就是将原来p个数值作线性组合,得到p个新的综合数值[8],其第一分量对应的特征向量可以用来构成空域滤波器,提取能量最大的投影方向,实现8个眼动方向的提取增强。
在使用PCA方法时,一般使用奇异值分解(SVD)求得单位特征向量和特征值。
为获取每个方向上的PCA主分量来构成空间投影滤波器,首先要得到只包含单一方向眼动的训练数据,然后对这组数据进行主分量分析,得到的主分量即为空间投影滤波器。本实验的操作过程是使用者保持身体尤其是头部静止,眼球保持与系统界面上的“+”光标同步跳动,用来进行特征提取和分类的是眼球跳动信号中的沿的正负性质。由于某个方向的眼球跳动信号在同一方向的特征向量中的投影中阶跃幅度变化最显著,所以可以利用跳视产生的阶跃信号特征进行信号分类。
由于8个方向存在两两相反的方向,只有4个独立的,只需要提取4个方向的投影矩阵,图3为8个方向的眼电示意图。
数学形态学处理后的水平眼电和垂直眼电为Yi,j(i=1,2;j=1,2,3,4),i为数据通道,分别是水平和垂直眼电,j为方向。Yi,j中包含了右、右上、上、左上四个方向的数据,从 Yi,j分离出 4组数据(Y1,1;Y2,1)、(Y1,2;Y2,2)、(Y1,3;Y2,3)、(Y1,4;Y2,4),每组数据代表一个方向的眼电信号。由于经过数学形态学、差分处理后,在时间维度上的数据点数会减少,为了避免包含有用信息的数据的减少,所以可在每一组数据的起止位置添加一定长度的不包含有用信息的数据,在本实验的处理过程中,分别将每组数据截取的起止位置提前2M+50、延后2M+450个点,总视窗长度2.3 s。其中起止位置的参考时间点为“+”光标在屏幕中心的时刻,延后450个点的意义是:由于受试不能严格保持与“+”光标同步而造成眼球回归屏幕中心的时刻滞后,进而使有用信息出现的时刻滞后,为了防止该有用信息丢失,所以增加了该延迟量。
图3 8个方向的眼电示意图Fig.3 Schematic diagram of EOG in 8 directions
经过式(6)的奇异值分解SVD处理后得到4个方向的特征矩阵Uj(j=1,2,3,4)。为了去除基线漂移的干扰,在进行PCA处理之前,本实验利用IIR滤波器进行了滤波处理。
在Yi,j中包含了相应方向的多个试次的眼电数据,在获取极性值的步骤中,为了充分利用眼电数据,同时为了避免单个试次眼电数据的偶然错误,所以提取了多个试次的眼电数据进行分析,假设提取出q个试次的眼电数据Yi,jk(i=1,2;j=1,2,3,4;k=1,2,…,q)。由于某一方向的眼电信号投影到同一方向的特征矩阵后,其有用信息主要包含在投影结果的第一分量中,所以为了减少计算量,可以只将眼电信号投影到特征矩阵的第一分量中。将Yi,j(i=1,2;j=1,2,3,4)投影到对应方向的特征矩阵的第一分量Pj=Uj1(j=1,2,3,4)中,投影结果为Cjk,,表示为
固定j值,统计出Djk(j=1,2,3,4;k=1,2,…,
q)的开始沿中上升沿和下降沿的个数:当上升沿的个数多于下降沿的个数时,则Pj不变;反之则Pj=-Pj,进行反向处理,方向矫正后的投影向量用于后续处理。
1.3.3 眼动跳视判别算法
字符输入阶段,在每个“+”光标跳动周期中分析眼动信号:假设将该周期中的原始水平眼动信号和垂直眼电信号经数学形态学平滑处理后得到(Z1;Z2),Z1为水平眼电,Z2为垂直眼电。依次投影到4个方向的特征向量Pj(j=1,2,3,4)中,投影公式为(7),输出为PCj(j=1,2,3,4)
并根据差分公式(8)提取出开始沿的值和沿的正负性,输入为PCj(j=1,2,3,4),输出为PDj(j=1,2,3,4)。
找出4个开始沿中差分绝对值最大的沿max(abs(PDj))所对应的特征矩阵,确定眼动的大致方向:如果abs(PD1)最大,则确定眼动的大致方向为上下;符号sgn(PD1)表示眼动的具体方向:如果PD1为正,则眼动的具体方向为上,如果PD1为负,则眼动的具体方向为下;当最大沿的绝对值不超过某一固定值时,判定为未发生眼动。
8名年龄20~30岁健康的眼部功能正常的志愿者(4男4女),均参与过EOG信号采集实验,对实验环境比较熟悉。实验任务是:训练阶段,志愿者保持头部不动,眼球尽量与“+”光标保持同步,光标在中间停留0.5 s,在上、下、左、右、左上、右上、左下、右下8个方向中各停留1s,且每个方向出现是等概率的;字符输入阶段,“+”光标在中间停留1.5 s,在8个方向停留1 s,且光标是同时出现在8个方向,志愿者在与“+”光标保持同步的基础上,根据自己意愿移动眼球,完成输入一个有意义的句子。刺激材料采用VC编写,刺激界面如图4所示,表1显示了8个方向中对应的两级菜单的内容。
图4 刺激界面。(a)“+”光标发散界面;(b)“+”光标集中界面Fig.4 Stimulus interface.(a)Interface of divergent“+”cursor;(b)Interface of centralized“+”cursor
表1 菜单内容(—表示控件内容不变,A级菜单中的←表示删除,B级菜单中的←表示返回)Tab.1 The contents of the menu(—represents contents unchanged in controls;←represents deletion in A-level menu,return in B-level menu)
图5 原始训练数据Fig.5 Original training data
图5为在训练阶段采集到的原始水平和垂直数据。从图中可以看到,眼电曲线较粗,同时垂直眼电有很多尖峰,这些尖峰都是由眨眼动作引起的。
图6为经过数学形态学平滑处理后的水平和垂直眼电波形,从图中可以看出,眼电曲线变细,同时垂直眼电中的尖峰数明显减少,基本上达到了数据处理的预期。
图6 平滑后的训练数据Fig.6 Training data after smoothing
对上述处理后的眼电信号进行主成分分析,图7表示P2方向的眼电信号投影到相应的转换坐标系后的结果,P1、P3和P4方向的眼电处理结果与此类似。
实验结果用信息传输率来表征该系统的好坏,它综合了速度和正确率,是衡量系统性能的标准方法。信息传输率为
式中,N为供选择的目标的数量(本实验中为9),p为识别的正确率,B为每次选择可传递的比特数,单位为bits,综合时间因素,将单位转换成b/min,得到平均信息传输率ITR,(10)为转换公式,其中selec表示字符输入阶段输入的所有字符个数,t表示完
图7 波形比较。(a)P2方向眼电经PCA处理前波形;(b)P2方向眼电经PCA处理后波形Fig.7 Waveform comparison.(a)EOG waveform before PCA processing in the direction of P2;(b)EOG waveform before PCA processing in the direction of P2
表2 实验结果Tab.2 Experimental results
成所有字符输入所花费的时间,单位为s。
一共8名受试参加了本实验,实验过程中,在受试适应本系统并掌握正确的眼动方法后都可以进行字符输入操作。适应系统的时间因人而异,适应力强的可以一次性完成全部操作,适应力较弱的可能需要经历3次以上的训练阶段。
除适应阶段因人而异外,系统具有学习功能,能够在适应阶段通过机器学习训练出每个受试的训练模板,从而在字符输入阶段尽可能地减少个人因素的影响。受试体验后,均表示系统灵敏,未发现有系统延迟响应的问题。
但系统对有些受试的眨眼动作还是有误判的情况。根据算法的思想,在对信号进行分类之前都进行了数学形态学的处理,这一步骤的目的是对波形去噪平滑,最主要是去除眨眼干扰。根据受试反映,当“+”字光标在屏幕中央有眨眼动作时,系统会识别出这一动作,并发生随机的误判;当“+”光标发散时,眨眼动作不会被系统识别。经过讨论,得到的建议改进措施为:在分类算法中,加入波形幅值的判断,当幅值超过某一阈值时,判为眨眼并不对其进行分类。
本研究基于不同眼动方向产生的眼电信号的特征差异,通过对眼动信号的检测、处理和识别,处理方法包括数学形态学和主成分分析,将识别结果作为字符输入系统的输入命令,实现了肢体障碍患者与外界进行信息交流的目的。
[1]吴湛微.从EOG扫视信号中提取人眼位置信息的研究[D].上海:华东理工大学,2004.
[2]Bin Guangyu,Gao Xiaorong,Yan Zheng,et al.An online multi-channel SSVEP-based brain-computer interface using a canonical correlation analysis method[J],Journal of Neural Engineering,2009,6:046002.
[3]郭琛,高小榕.基于眼电和稳态视觉诱发电位分析的目光跟踪方法[J].中国生物医学工程,2012,31(3):382-387.
[4]CHEN Yu-Luen.Application of tilt sensors in human-computer mouse interface for people with disabilities[J].Neural Systems and Rehabilitation Engineering,IEEE Transactions on,2001,9:289-294.
[5]陈卫东,李昕,刘俊,等.基于数学形态学的眼电信号识别及其应用[J].浙江大学学报(工学报),2011,45(4):644-649.
[6]Musa Hakan ASYALI,Seyfullah Halit OGUZ.A morphology based algorithm for baseline wander elimination in ECG records[C]. Proceedings ofthe IEEE InternationalBiomedical Engineering Days.Istanbul Turkey:IEEE,1992:160 -164.
[7]张敏,李陶深,钟淑瑛.基于 Matlab的主成分分析方法(PCA)的实现[J].广西大学学报(自然科学报),2005,30:74-77.
[8]牟华英.用主成分分析和 Fisher准则的脑电信号分类[J].科学技术与工程,2009,9(22):6853 -6855.