王忠民,刘攀岩
(1.西安邮电大学 计算机学院,陕西 西安 710121;2.西安邮电大学 陕西省网络数据分析与智能处理重点实验室,陕西 西安 710121;3.西安邮电大学 西安市大数据与智能计算重点实验室,陕西 西安 710121)
残障人士在生活中无法通过脑神经活动控制肌肉运动与外界环境正常互动[1-2],通过人工构建一条不依赖于人体大脑外围神经系统和肌肉组织的控制通路,即利用脑机接口[3-4](Brain Computer Interface,BCI)技术可帮助他们表达意图。其中,基于稳态视觉诱发电位的(Steady-State Visual Evoked Potential,SSVEP)脑机接口因其系统设计简单、使用难度低和较高的信息传输速率(Information Translate Rate,ITR)受到了广泛的研究[5]。在硬件设计方面,视觉字符输入系统[6]采用滤波器组典型相关分析算法(Filter Bank Canonical Correlation Analysis,FBCCA),使用湿电极脑电帽,可识别40个刺激目标,信息传输速率为267 bits/min,但湿电极脑电帽佩戴舒适性差、调试过程繁琐[7]。在软件设计方面,采用成熟框架开发多样的实验范式必须部署在个人计算机(Personal Computer,PC)平台,其对实时运算、功耗要求较高,实际应用有一定困难。采用增强现实技术的SSVEP-BCI系统[8],将PC平台与湿电极脑电帽组成系统,通过8个SSVEP闪烁刺激控制机械臂运动,但是8个刺激目标的识别数量过少, 无法实现汉字输入等复杂操作。基于嵌入式的SSVEP-BCI轮椅系统[9],通过硬件设计液晶显示屏(Liquid Crystal Display,LCD),将其作为刺激器可识别8个SSVEP闪烁刺激,但新的硬件设计提高了系统运行功耗,需要通过轮椅搭载更大的蓄电池,在汉字输入系统中无法实现。基于P300的便携式中文输入系统[10]采用嵌入式OpenBCI套件,通过五笔输入法输入单个汉字的时长约为85 s,短语输入速率平均每分钟1.9个汉字,输入速率还有待提高。
针对上述问题,拟设计一种基于SSVEP的嵌入式中文输入系统。通过搭建嵌入式系统架构,满足功耗和计算资源的需求。采用便携式干电极脑电帽[11],在追求便携性的同时,利用典型相关性分析算法进行特征提取,并使用多级刺激-意图映射改进实验范式,以期满足残障人士较长时间的中文沟通交流需求。
基于SSVEP的嵌入式中文输入系统主要由视觉刺激与信号采集模块、信号处理模块和人机交互模块组成,总体架构示意图如图1所示。
图1 系统总体架构示意图
1)视觉刺激与信号采集模块。产生SSVEP信号的前提,是显示准确的频率闪烁刺激。利用软件方法控制屏幕上若干刺激分别以不同频率稳定闪烁,使用者通过注视各刺激,在大脑枕区产生与刺激闪烁频率相同的SSVEP信号,该信号可通过干电极脑电帽的P3、P4、O1和O2电极采集[12]。
2)信号处理模块。主要分为特征提取和按键识别两个部分。在特征提取部分,首先通过滑动窗口截取有效数据,并对数据滤波,完成预处理操作[12]。随后通过典型相关性分析[5](Canonical Correlation Analysis,CCA)算法得到脑电信号的频率特征,实现按键识别。
3)人机交互模块。采用T9键盘布局,利用多级刺激-意图映射方法,将中文输入划分为拼音输入、选音和选字等3个阶段,以较少的刺激频率覆盖完整中文输入流程。
视觉刺激通常采用控制色块闪烁的方法,以类似开关的方式对每一帧的各刺激进行开关操作。将PC作为系统的显示控制平台,在Matlab环境下的Psychtoolbox工具包[13]和Python环境下的PsychoPy框架[14]下,实现逐帧控制显示,产生精确的刺激频率,其每帧间隔时间为1 000/60≈16.67 ms。然而,在嵌入式平台,受限于处理能力和运行环境限制,无法实现逐帧操作,可通过Qt框架[9]下的PreciseTimer类产生精度为1 ms定时器,实现17 ms的节拍,间接实现逐帧操作。以15 Hz刺激为例,17 ms为最小操作周期,60/15=4帧为刺激色块的显示时长。对于8 Hz刺激,7.5帧显示时长为理论计算值,实际运行中,刺激色块显示的准确时间可四舍五入求得。视觉刺激设计示例如图2所示。
图2 视觉刺激设计示例
以17 ms周期代替16.67 ms周期,相当于延长了刺激显示的时间,降低了实际闪烁频率。不同刺激频率诱发的SSVEP响应频谱如图3所示。该误差可在随后的按键识别中,通过匹配包含误差的实际闪烁频率消除。
图3 不同刺激频率诱发的SSVEP响应频谱
2.2.1 滑动窗口
考虑到用户根据个人意图输入指令进行实时控制时,存在用户使用难度、难以适应操作流程等问题,系统将采用异步控制[16]策略。用户并非一直处于输入状态,可能暂时将视线离开显示器,此时计算得到的目标刺激频率并不能真实反映用户意愿。因此,采用滑动窗口与CCA算法结合,让用户在滑动窗口时间内完成输入操作,以增加信号质量,提高准确率。并对相关性系数设置合适的阈值,仅对超过阈值的结果进行频率识别,减少用户未能充分利用滑动窗口所产生的误差。
2.2.2 CCA频率识别
CCA是一种多元统计分析算法,可用于提取相关性最大数据的线性组合,在SSVEP范式下的频率分析中应用广泛[15]。利用CCA算法可以解决脑电信号的频率识别问题。将脑电数据中P3、P4、O1和O2等4个通道的脑电图(Electroencephalograph,EEG)信号c1、c2、c3和c4作为一组变量,定义为X。由激励频率的正弦波组成参考信号,定义为Y,刺激频率为f1~f15,Y中各信号长度与X相同,每个通道包含长度为ts的数据。使用CCA计算其相关性,表达式分别为
(1)
式中:Cxy为X和Y之间的互协方差矩阵;Cxx和Cyy分别为X和Y的协方差矩阵。
将多通道脑电的时域信号X和标准正弦信号Y输入CCA,ρ的最大值可用于频率识别,则CCA算法的完整描述为
(2)
式中,ρ,λx,λy>0,λxλy=1。
式(2)可改写为
(3)
识别频率fr通过ρmax得到,ρmax可表示为
ρmax=max(ρ1,ρ2,…,ρ15)
(4)
式中,ρ1~ρ15分别为SSVEP信号与各刺激频率f1~f15的相关性系数。最大值ρmax对应识别频率fr,即ts时SSVEP信号的对应频率。
受限于嵌入式平台的处理能力与尺寸限制,难以采用全键盘输入布局,其原因为:1)如为每一按键分配一个刺激频率,则频率资源紧张且分配粒度过低,显示难度大,同时对分类算法也提出了较高要求,不适合嵌入式平台。2)显示器尺寸为追求便携性无法提高,如显示所有按键,则每个按键尺寸过小、密度过高,相互之间干扰较大,不利于提高分类准确率。3)采用轮询方法增加了使用流程,非传统输入步骤也增加了使用者的学习难度和适应时间。
完整的输入操作需要经历输入拼音码、选音和选字等3个阶段。每一阶段相互独立,从而可将有限的频率资源集中一个阶段内,仅需添加返回上一阶段或进入下一阶段的入口。以15个刺激频率为例,多级汉字输入过程示意图如图4所示。在图4(a)拼音输入阶段,1号区域为删除键,用来撤销所有错误,该区域持续闪烁。2号区域为拼音输入区,此时为该区域的9个按键各分配一个闪烁频率。3号区域为拼音汉字选择区,此时以同一频率闪烁,作用为进入下一阶段。5号区域为功能性区域,为便捷短语、数字键盘开关、空格键和中英文切换键各分配一个频率。在图4(b)选音、选字阶段,5号和6号区域停止闪烁,2号选字区和3号选音区的每个按键会以不同频率闪烁,4号区域的左右箭头实现选字区翻页功能。当完成输入后,会在图4(c)中箭头所指文本框显示输入内容,并重复图4(a)中各按键闪烁状态。
图4 多级汉字输入过程示意图
通过多级分配调度,实现了中、英、数字和短语输入功能。此外,通过优化频率分配,给候选音框和候选字框赋予识别准确率较高的频率,可进一步提高系统效率。
系统采用Jetson Nano主控芯片[17]、DSI-24干电极脑电帽[11]和5.5吋LCD屏幕,连接与运行情况如图5所示。图5中1为通用串行总线(Universal Serial Bus,USB)供电线,为开发板提供5 W低功耗工作模式所需电能。2为高清多媒体接口(High Definition Multimedia Interface, HDMI)线缆,传输显示信号。3为直流供电线,为开发板提供20 W标准工作模式所需电能。4为无线网卡天线,网卡芯片位于开发板底部,提供无线网络和蓝牙连接支持。5为散热风扇,微控制单元位于风扇下方。
图5 系统连接与运行
稳定产生准确可靠的视觉刺激是诱发高质量SSVEP的先决条件,因此需要首先测试视觉刺激的质量。采集相同时长的9 Hz刺激频率,在嵌入式平台的低功耗模式、标准模式和PC平台下诱发SSVEP信号的信噪比对比如图6所示。
图6 不同模式下9 Hz SSVEP信号的信噪比
由图6中可见,峰值对应频率均位于9 Hz附近,偏差的产生是由定时器精度偏差所导致,可通过调整分类目标频率解决漂移问题,不影响分类准确率。此外,同一刺激频率下,由于各模式处理能力差异,PC平台峰值高于嵌入式平台标准模式,低功耗模式最低,但不影响分类准确率。该系统的视觉刺激准确可靠,可以准确诱发SSVEP信号。
系统的嵌入式平台在各工作模式下BCI架构性能消耗情况如图7所示,灰色区域为系统运行时间。
图7 各工作模式下BCI架构性能消耗
由图7可以看出,在5 w低功耗模式下CPU占有率略高于标准模式,最高不超过35%,平均为21.43%。标准模式下CPU占有率最高不超过30%,平均为17.63%。通过降低CPU占有率,有效控制能耗,延长了工作时间和寿命。在集成于LCD显示屏下方的8 000 mAh锂电池供电下,经测试标准模式可连续工作3小时,低功耗模式可连续工作超过8小时。
选取年龄介于23~28岁之间的3名男性和3名女性作为测试者,在暗光且安静的实验室模拟残障人士使用场景与习惯,使用5.5英寸LED屏幕显示刺激画面,6名测试者眼睛距离屏幕约25 cm。
输入预先准备的符合残障人士使用习惯的短句,标准模式下单次操作识别时间设置为5 s,低功耗模式下识别时间设置为10 s。嵌入式平台工作在标准模式和低功耗模式下实验结果分别如表1和表2所示。
表1 标准模式实验结果
表2 低功耗模式实验结果
由表1和表2结果可以看出,输入预先设计的符合残疾人使用习惯的复杂句式,在标准模式下,输入速率最快达到每分钟3.11个汉字,平均速率为每分钟2.3个汉字,即平均输入每个汉字耗时约26 s,与基于P300的便携式中文输入系统[10]短语输入速率平均每分钟1.9个汉字短语相比,输入速率提高了约21%。虽然在低功耗模式下,输入速率低于标准模式,但连续工作时长延长,满足残障人士较长时间的中文沟通交流需求。
基于SSVEP的嵌入式汉字输入系统将脑机接口技术与嵌入式技术相结合,采用便携式干电极脑电帽采集SSVEP信号,通过蓝牙无线传输至嵌入式主控模块对数据进行分析处理,经过截取、滤波操作后,采用CCA算法提取特征,进而判断使用者意图,控制人机交互键盘实现字符输入。测试结果表明,该系统产生的视觉刺激准确可靠,可以准确诱发SSVEP信号,在标准模式和低功耗模式均可使用,且低功耗模式最长可使用约8小时,输入速率也有所提高,满足残障人士较长时间的中文沟通交流需求。