本发明属于生物医学与信息学交叉领域技术领域,具体涉及一种基于眼电编码的人机交互系统及其交互方法。
背景技术:
个人计算机在工作单位以及在普通家庭中不断普及。传统的计算机系统以键盘和鼠标作为最主要的输入输出设备。目前大部分计算机系统采用的人机交互模式为:键盘鼠标——显示器——键盘鼠标。虽然这种人机交互的模式可以满足大部分计算机用户的需求,但是对于肢体严重残疾和运动神经系统损伤的群体而言,鼠标和键盘等传统的输入设备显然无法正常使用。
日常生活中,大多数生活不能自理的老年人都无法方便地活动手脚,甚至连说话都含糊不清,以及手脚不便的残疾人士,很难通过传统的人机交互技术与外界进行信息交互。亟需用科学技术消除残障人士因肢体不便而导致的获取信息或和表达信息的障碍,因而越来越多的科研机构和实验团队将精力放在无障碍人机交互系统的研究,期待开发配套的医疗康复辅助设备,提高社会医疗保障能力。而基于眼电控制的人机交互系统由于具有采集方便,辨识率高,设备简单,可以提供的控制量多等优点,成为无障碍人机交互系统研究中热门的课题之一。
围绕基于眼电信号的人机交互方式这一思路,科技人员已开展了广泛的研究,开发出多种可通过眼睛运动来控制计算机或外部设备的系统,并申报了相关专列成果,如专利us3462604,us4109145,us3986030,us3507988,us4651145。有关国内、外许多眼电的研究证明,眼球中角膜部分是一个正电极,视网膜部分是一个负电极。眼睛沿水平方向或垂直方向每运动1°,将分别会产生约16uv和14uv的电压,这种在视网膜色素上皮和光感受器细胞之间存在的视网膜静电位信号被称为electro-oculogram,简称eog信号,该信号可以被放置在眼眶周围的电极直接检测到。正因为眼电信号具有幅度较强,易于检测等特点,所以利用人眼运动特征信息的人机交互研究成为了当前人机交互领域的热点问题。
但是,基于眼电信号的人机交互系统采集的眼电信号中包含的基线漂移、多种背景噪声、无意识眨眼噪声以及其他干扰信号,这些信号的产生对人机交互系统的处理产生了较大的影响,使人机交互系统处理的工作量增大,处理的难度增加。在平常生活中,人们观察周围事物时会进行有意识的眼球运动,同时也包含一些无意识的眼球运动,如眨眼。幅度较大或者较为频繁的眨眼会对有意识的眼电信号会造成很大干扰。即便在注视一个物体的时候眼球也不是固定不动的,采集得到的眼电信号中包含了基线漂移噪声和多种背景噪声,尤其实验对象在进行频繁的眼动时眼电信号基线漂移严重。另外,每个实验对象的眼电信号波形不同,同一个实验对象不同时刻的眼电信号波形也不尽相同。眼电信号的非平稳性和差异性是研究眼电交互系统首先需要解决的问题,传统的中值滤波和数学形态学滤波,不能有效地去除噪声,也不能有效分离出扫视信号和眨眼信号,且运算速度较慢。
由于人机交互系统采集到的眼电信号是连续的,时间越长,分析的数据量越大。如何在一整段眼电信号中提取出实验对象自主的有意识的眼动段信号是基于眼电信号的人机交互系统需要解决的第二个问题。传统阈值方法不能有效克服因个体差异造成的眼电信号识别上的困难,对眼动时间段内的眼电信号不能准确取出。因此还需要研究眼动段眼电信号的端点检测,特征提取和分类算法以满足交互系统对于实时性和准确性的要求。
基于眼电的人机交互涉及语义的表达,如果把眼电交互系统中的字符类比为控制系统中的控制功能,其功能数目达到了传统控制系统的10倍以上。如何利用有限的眼电信号实现其10倍以上的“控制功能”,是眼电交互系统中的最关键的问题。传统的基于眼电控制的人机交互系统利用虚拟键盘,需要经过多次眼部动作的组合才能完成单个字符的输出,字符输出的速率不高。
因此,需要对现有技术进行改进,设计一种传输速率更快,正确率更高的基于眼电控制的人机交互系统。
技术实现要素:
针对上述现有技术的缺陷,本发明提供一种基于眼电编码的人机交互系统及其交互方法,该算法实现简单,能够有效去除个体眼电信号中的脑电肌电以及无意识眨眼干扰,并且能够将眼电信号中各个方向的扫视特征保留下来。使用眼电信号控制来设计人机交互系统,实现基于眼电信号编码的人机交互。
为实现上述目的,本发明所采取的技术方案是:
一种基于眼电编码的人机交互系统,包括依次连接的眼电信号采集模块、眼电信号预处理模块、眼动特征提取和眼动方向分类模块、眼电编码模块、字符输出显示模块;
所述眼电信号采集模块用于眼球运动电信号的采集并进行放大滤波,并将采集到的眼电信号传送给所述眼电信号预处理模块;所述眼电信号预处理模块基于无意识眨眼噪声检测的中值滤波算法去除无意识眨眼伪迹和平滑处理,基于短时能量归一化的三阈值起止点检测方法对眼电信号进行眼动段提取,得到预处理眼电信号;所述眼动特征提取和眼动方向分类模块基于多分辨率分析法提取预处理眼电信号的特征向量并采用基于纠错编码支持向量机寻找最优分类器对预处理眼电信号进行特征分类,得到八方向眼电信号,所述眼电编码模块赋予八方向眼电信号以二进制编码,所述字符输出显示模块将根据该二进制编码输出相应字符。
作为对上述技术方案的改进,所述眼电信号采集模块和眼电信号预处理模块、眼动特征提取和眼动方向分类模块、眼电编码模块、字符输出显示模块之间通过tcp/ip协议进行数据传输。
作为对上述技术方案的改进,所述眼电信号采集模块包括设置于使用者眼部周围的六个电极;其中采集电极中两个设置于右眼球垂直中轴线处,距离眼球20mm处,两个设置于左右眼球水平中轴线处,距离眼角20mm处;参考电极和接地电极设置于额头和头顶中心处。
本发明并提供了一种基于本人机交互系统进行人机交互的交互方法,该交互方法的步骤是:
s1、所述眼电信号采集模块用于眼球运动电信号的采集并进行放大滤波,并将采集到的眼电信号传送给所述眼电信号预处理模块;
s2、所述眼电信号预处理模块采用基于无意识眨眼噪声检测的中值滤波算法去除无意识眨眼伪迹并对眼电信号平滑处理,基于短时能量归一化的三阈值起止点检测方法对眼电信号进行眼动段提取,得到预处理眼电信号;
s3、所述眼动特征提取和眼动方向分类模块基于多分辨率分析法提取预处理眼电信号的特征向量并选用纠错编码支持向量机对预处理眼电信号进行特征分类,得到八方向眼电信号;
s4、所述眼电编码模块赋予八方向眼电信号以二进制编码;
s5、所述字符输出显示模块将根据该二进制编码输出相应字符。
作为对上述技术方案的改进,所述眼电信号采集模块的六个电极扫视角度为45度,扫视持续时间不超过0.8s;所述眼电信号采集模块将眼球运动分为八个可控的运动模式,该八个可控的运动模式为上、下、左、右、左上、左下、右上、右下眼球扫视运动。
作为对上述技术方案的改进,所述基于无意识眨眼噪声检测的中值滤波算法的步骤是:
s1、设
s2、用初始窗口
s3、增大窗口
s4、若
s5、判断
s6、若
作为对上述技术方案的改进,所述基于短时能量归一化的三阈值起止点检测方法的步骤是:
s7、采用窗函数对一整段采集的连续眼电信号进行短时分析,将窗口能量定义为:
上式中
s8、由于窗口能量为非负值,定义能量阈值计算公式为:
其中
s9、设置一个能量门限阈值
s10、利用一阶差分值前向后向查找前后的端点,判断前后端点间的长度,如果长度(窗口个数)落在阈值
作为对上述技术方案的改进,所述眼动特征提取和眼动方向分类模块提取样本熵作为特征向量,且根据眼电信号的频率(0~10hz)以及采样频率确定分解层数,并对预处理的眼动信号进行压缩表达。
眼动特征提取和眼动方向分类模块应用多分辨率分析的主要目的是在保留眼动细节特征的同时降低数据的维度,因而在进行小波变换的时候只提取分解系数,不再进行分解后的信号重构。
作为对上述技术方案的改进,所述眼动特征提取和眼动方向分类模块对电信号采样频率设定为
眼电信号采样频率为
作为对上述技术方案的改进,所述分类方法选择编码长度最短、码间汉明距离最大的纠错编码支持向量机作为最优分类器。分类结果为一组4位二进制码,表示一个眼动方向信息。
与现有技术相比,本发明所取得的有益效果是:
本发明的基于眼电编码的人机交互系统,提取到的少量特征向量可以很好地保留了八个方向眼动信号的时域特征,且使特征更加明显和更易辨识,实现了对眼动信号的压缩表达,满足在线系统的实时性。纠错编码支持向量机能够解决小样本,非线性的眼动信号多分类问题,分类正确率最高,能够满足在线系统的要求。
本发明的基于眼电编码的人机交互系统,对比分析不同运动机制下的眼电信号的特点,提出将眼球运动分为八个可控的运动模式(上、下、左、右、左上、左下、右上、右下),使用扫视角度为45度,扫视持续时间不超过0.8s的扫视眼电信号作为控制信号。对于采集的眼电信号中包含的基线漂移、多种背景噪声、无意识眨眼噪声以及其他干扰信号,提出了一种改进的中值滤波算法。与传统方法相比,该算法在保持信号边缘的同时能够更有效地去除噪声,在除去噪声的同时还能有效分离出扫视信号和眨眼信号,且运算速度较快。在眼电信号的起止点检测方面,提出短时能量归一化三阈值算法,经实验验证,该算法实现简单,能够有效去除个体眼电信号中的脑电肌电以及无意识眨眼干扰,并且能够将眼电信号中各个方向的扫视特征保留下来。
眼动特征提取和眼动方向分类模块采用基于多分辨率分析和最小编码支持向量机的组合处理方法,本系统选择编码长度最短,码间汉明距离最大的纠错编码支持向量机,利用实验法确定最优码字分配顺序,得到普适性最好的分类器,离线分类综合平均识别率最优情况下为88%。
为防止眼部疲劳,结合汉语拼音字符使用频率和辨识正确率,对编码进行优化,使用定长的编码方式:利用两次眼动的眼电信号编码对应一个字符输出。运用neuroscan实验平台实现眼电信号数据采集和在线传输,运用matlab和labview混合编程设计了基于八方向眼电编码的无障碍人机交互系统,实验结果表明,该系统眼电方向的综合平均辨识率较高,在线字符输出速率可以达到13.75字符/min,对比传统的眼电打字系统,输出速率提高一半。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的系统结构示意图;
图2为基于短时能量三阈值的起止点检测法流程图;
图3为自适应中值滤波流程图;
图4为编码算法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
如图1所示,整个系统分为5个部分:包括依次连接的眼电信号采集模块、眼电信号预处理模块、眼动特征提取和眼动方向分类模块、眼电编码模块、字符输出显示模块;分别进行眼电信号采集、眼电信号预处理、眼动特征提取和眼动方向分类、眼电编码以及字符输出。系统组成原理框图如图1所示。设计的眼电字符编码不依赖虚拟键盘就能输出字符,需要使用者提前记忆眼部动作对应的编码表。实验前期会在眼动方向指引图中心或者显示界面中心列出编码表,等到使用者熟悉编码规则后,不需要查阅编码表就能熟练地进行字符的输入。
1、眼电信号采集模块
用于信号采集并进行放大滤波,将采集到的眼电信号传送给所述眼电信号预处理模块。
2、眼电信号预处理模块(包括中值滤波和起止点检测)
眼电信号预处理模块在预处理过程中采用中值滤波算法去除无意识眨眼伪迹,采用基于短时能量分析归一化三阈值的眼动段起止点检测,采用窗函数对其进行短时分析。
2.1中值滤波算法去除无意识眨眼伪迹
本系统根据眼电信号自身的特点,提出一种新的中值滤波的算法,即基于无意识眨眼噪声检测的新型中值滤波算法,其还具有自适应滤波窗口可变的特点。其主要思路为:根据无意识眨眼伪迹信号脉冲的幅值范围和宽度范围改变滤波窗口的长度,同时对伪迹信号段和眼动信号段采取不同的处理方法。对伪迹信号段进行中值滤波,对眼动信号段保持其原始值不变。
如图2所示,该算法分三步进行:(1)无意识眨眼噪声检测;(2)针对无意识眨眼噪声改变滤波窗口大小;(3)对无意识眨眼噪声进行中值滤波。具体的算法如下:
其中:设
1)用初始窗口
2)若
3)增大窗口
4)若
5)判断
6)若
2.2基于短时能量分析归一化三阈值的眼动段起止点检测
本系统结合眼动细节特征,提出一种基于短时能量归一化的三阈值起止点检测方法,采用窗函数对其进行短时分析。
如图3所示,本文将窗口能量定义为:
上式中
基于基线漂移补偿的前提,提取到的即为动态归一化阈值。由于窗口能量为非负值,定义能量阈值计算公式为:
其中
设置一个能量门限阈值
3、眼动特征提取和眼动方向分类模块,完成特征提取和特征分类;
3.1基于多分辨率分析法的眼电信号特征提取
本系统采用6层小波分解,眼电信号采样频率为
3.2基于纠错编码支持向量机的八方向眼电信号分类
本系统选择编码长度最短,码间汉明距离最大的纠错编码支持向量机作为,利用实验法确定最优码字分配顺序为:向左扫视、向右扫视
转置后的矩阵b为
4、眼电编码模块和字符输出显示模块
4.1、眼电编码模块
本系统结合定长编码的特点,拼音输入时字符出现频率以及眼球各个方向扫视运动的辨识率这三个因素,根据分类器输出结果为一组四位二进制数组,将这些二进制编码通过不同方式组合起来与字符一一对应,构造一种新的编码规则,提出一种新的基于眼电的字符输出设计方案。
本系统结合眼动各个方向的检测正确率和汉语拼音使用频率对编码规则作相应修改。
本系统表示一个眼动信息为4位二进制码,因为编码
表1眼动方向对应的定长字符编码表
由表可知,左上区域内处于前8行且处于前4列的编码正确率最高,放置最经常使用的字符,其它区域辨识正确率最低,放置不经常使用的字母和数字。
如图4所示,图4为本系统编码算法流程图。其中n表示眼球扫视运动的次数,y(n)表示第n次眼动信息经过四个支持向量机后输出的四位二进制码。
4.2输出和显示单元
本系统使用scan4.3软件平台作为服务器,在labview平台编写客户端,两者通过tcp协议进行网络通信,传输实时的眼电信号。
本系统对比分析不同运动机制下的眼电信号的特点,提出将眼球运动分为八个可控的运动模式(上、下、左、右、左上、左下、右上、右下),使用扫视角度为45度,扫视持续时间不超过0.8s的扫视眼电信号作为控制信号。针对采集的眼电信号中包含的基线漂移、多种背景噪声、无意识眨眼噪声以及其他干扰信号,提出了基线漂移补偿,滤波去噪,无意识眨眼干扰信号处理的预处理步骤。针对眼电信号基线漂移问题,提出了使用每次眼动前的固定长度的静息态眼电信号均值对眼电信号进行基线补偿。针对眼电信号中无意识眨眼干扰,提出了一种改进的中值滤波算法。该算法在保持信号边缘的同时能够更有效地去除噪声,在除去噪声的同时还能有效分离出扫视信号和眨眼信号,且运算速度较快。在眼电信号的起止点检测方面,提出三点短时能量归一化阈值算法通过设计的设计眼电信号的离线采集实验方式。经实验验证,该算法实现简单,能够有效去除个体眼电信号中的脑电肌电以及无意识眨眼干扰,并且能够将眼电信号中各个方向的扫视特征保留下来。
眼动特征提取和眼动方向分类模块采用基于多分辨率分析和最小编码支持向量机的组合处理方法,本系统选择编码长度最短,码间汉明距离最大的纠错编码支持向量机,利用实验法确定最优码字分配顺序找到普适性最好的分类器,离线分类综合平均识别率最优情况下为97%。
为防止眼部疲劳,结合汉语拼音字符使用频率和辨识正确率,对编码进行优化,确定使用定长的编码方式:利用两次眼动的眼电信号编码对应一个字符输出。运用neuroscan实验平台和labview软件实现眼电数据在线传输,运用matlab和labview设计了基于八方向眼电编码的无障碍交互系统,实验结果表明,该系统眼电方向的综合平均辨识率较高,在线字符输出速率可以达到13.75字符/min,对比传统的眼电打字系统,输出速率提高一半。