APP下载

面向飞行模拟器的立体视觉刺激脑机接口系统

2022-09-21毛玲魏士松张灵维章栩苓周正东

关键词:脑电电信号正确率

毛玲,魏士松,2,张灵维,章栩苓,周正东

(1.南京航空航天大学机械结构力学及控制国家重点实验室,江苏南京,210016;2.上海航天精密机械研究所,上海,201600)

脑机接口技术(brain-computer interface,BCI)能够在大脑与外部环境之间建立联系,利用大脑意识活动产生的脑电信号控制外部设备[1−2]。稳态视觉诱发电位(steady state visual evoked potential,SSVEP)是指对人脑实施固定频率的视觉刺激后产生的脑电信号电位变化[3−4],因其训练时间短、通讯速率快、设备配置简单等优点,被广泛应用于医疗、航空航天及军事等领域[5]。NAKANISHI等[6]提出了一种新的数据驱动的空间滤波方法,利用任务相关成分分析方法(Task-related component analysis,TRCA)去除背景脑电活动,提高SSVEP信号的信噪比(signal to noise ratio,SNR),实验结果表明该方法有效提高了脑电信号的分类精度。张彦军等[7]提出了一种以现场可编程门阵列(fieldprogrammable gate array,FPGA)和商用脑电采集设备为核心的SSVEP-BCI 系统。该系统通过所设计的视觉刺激器,完成了基于FPGA的脑电信号处理和特征识别,在4 个刺激目标和单次实验时长2 s的实验条件下,能够实现85.25%的平均识别正确率。邵星翰等[8]提出了一种基于多元经验模式分解的多元同步指数法,通过对SSVEP 目标识别算法进行优化,提高了SSVEP 信号的识别准确率。KRYGER等[9]将脑机接口技术应用于飞行模拟驾驶领域,通过在残疾患者大脑皮层植入2 个96 通道的微电极阵列,患者能够运用运动想像实现对于飞行器的飞行操控。

虚拟现实技术是一种能够构建和体验虚拟三维世界的计算机仿真系统,其核心在于沉浸感、交互感与存在感的高度融合[10−11]。虚拟现实系统类型主要有桌面式虚拟现实系统、沉浸式虚拟现实系统、增强式虚拟现实系统及分布式虚拟现实系统。其中,桌面式虚拟现实系统相比其他虚拟现实系统对眼睛更为友好,佩戴更加舒适。桌面式虚拟现实系统包括立体显示器、轻质3D眼镜及六自由度操控笔等,通过实时头部追踪技术配合用户的头部姿态调整来改变空间视图,以模拟真实环境视觉体验[12−15]。相比平面图像,立体图像增加了虚拟目标的深度信息,能够为脑电设备采集电位信号提供更具激励性的视觉刺激[16],进而提高了脑控飞行模拟驾驶的准确率。黄墉[17]研究了一种基于头盔式虚拟现实系统的3D立体视觉刺激的P300 范式,实验结果表明基于立体视觉刺激范式下的电位信号分类准确率有一定的提升。但是头盔式虚拟现实设备存在质量大、舒适性差、易产生视觉疲劳等问题,而且P300 电位相对较弱,经常受到脑活动干扰,为提高脑电信号的信噪比需反复进行多次视觉刺激,易引起眼部不适、采集效率较低[18]。

为了提高脑控飞行模拟驾驶的准确率,本文作者提出一种面向飞行模拟器的立体视觉刺激稳态视觉诱发电位脑机接口系统。该系统运用桌面式虚拟现实技术为用户提供立体视觉刺激以诱发高质量的脑电信号,通过Emotive EPOC+脑电设备和OpenVIBE脑电处理模块对电位信号进行采集与处理、特征提取和分类,最后转换为飞行控制指令,实现对虚拟现实模拟飞行器的在线操控。

1 研究方法

1.1 实验系统

为了提升脑电信号分类的准确率,从而更精确地操控飞行器,开发了基于桌面式虚拟现实的立体视觉刺激的SSVEP 脑机接口系统,包括视觉刺激子系统、OpenVIBE脑电处理模块、指令模块和通信模块,如图1所示。视觉刺激子系统包含2个功能:其一,用于提供固定频率闪烁的虚拟目标来刺激大脑产生SSVEP 响应,其二,接收分类结果并实时反馈在场景中。OpenVIBE脑电处理模块用于对脑电数据进行离线训练和在线分类,并输出分类结果。指令模块用于接收分类结果并转换为可识别的飞行控制指令传输至飞行模拟驾驶模块。通信模块用于实现视觉刺激子系统、OpenVIBE脑电处理模块、指令模块及飞行模拟驾驶模块之间的数据交互传输。

图1 面向飞行模拟器的立体视觉刺激脑机接口系统示意图Fig.1 Schematic diagram of stereoscopic vision stimulated brain-computer interface system for flight simulator

1.2 视觉刺激子系统

1.2.1 视觉刺激子系统设计

视觉刺激子系统以Unity3D为开发平台,C#为开发语言,基于VoxelStation VR 工作站平台,采用3D立体显示器作为视觉刺激器,屏幕分辨率为1 920×1 080,刷新频率为120 Hz。基于桌面虚拟现实技术开发,具有平面视觉刺激和立体视觉刺激2种模式,以便于分析比较2种刺激模式下的脑电信号分类性能。

当显示器开启3D 模式,结合用户佩戴的3D偏振眼镜,刺激目标以立体形式呈现,三维视景为用户带来高沉浸感的体验,当显示器关闭3D模式时,刺激目标以平面形式产生视觉刺激。

为了满足实验测试的需求,开发了具有SSVEP 离线训练、SSVEP 在线测试及SSVEP 在线控制功能模块的视觉刺激子系统。该子系统在立体显示屏上设置了4个虚拟目标,虚拟目标以固定频率闪烁实现对用户的视觉刺激。其中,虚拟目标的颜色、大小及间距等参数可自由调整,以满足不同用户对颜色敏感程度差异性的需求,能更有效的刺激用户产生高质量的脑电信号。

SSVEP 离线训练模块主要用于分类模型的训练,能够为用户提供虚拟目标以恒定频率闪烁的视觉刺激,配合OpenVIBE脑电处理模块对空间滤波器及分类器进行训练及构建,为后续在线测试和在线控制提供分类模型。

SSVEP 在线测试模块主要用于操控性能的在线测试,除了为用户提供视觉刺激外,还基于脑电处理平台得到的分类结果进行实时反馈。同时能够按需生成随机序列的控制测试,用以统计用户控制正确率以及响应时间。

SSVEP 在线控制模块主要用于虚拟飞行器的在线操控,除了为用户提供视觉刺激外,还基于指令模块生成的飞行控制指令,实现对飞行器起飞及飞行姿态的操控。

1.2.2 视觉刺激原理

通过虚拟目标按照恒定频率交替闪烁不同颜色实现对大脑的视觉刺激。为了获得稳定的刺激频率,基于Unity3D开发的视觉刺激子系统在频率闪烁的实现上有Fixed Update 和Shader 2 种方式。Fixed Update 方式是运用Unity3D 自带的循环周期函数来实现闪烁,这是一种十分消耗性能的循环方式,高频率的运算需要占用大量的计算机资源,因此,本文采用Shader方式实现视觉刺激。Shader方式通过Unity Shader 配置GPU 渲染管线来实现。在渲染过程中,首先在顶点着色器中,通过矩阵变换将模型顶点数据变换到裁剪坐标系下,然后在该着色器中定义矩阵C,用于存储虚拟目标2种颜色的R,G,B通道。

式中:Ri为R通道的值,Gi为G通道的值,Bi为B通道的值。

当前时间点的行索引Li(从t=0起始)为

式中:Fl(*)为向下取整;t为程序运行后的时间计数;f为视觉刺激的闪烁频率;%2 为对2 取余数。计算得到行索引后,将行索引对应的颜色值传入到片段着色器中。在片段着色器,只需要将颜色值输出并显示到屏幕上即可实现交替闪烁功能。

1.3 OpenVIBE脑电处理模块

OpenVIBE脑电处理模块的处理流程主要包括脑电信号采集及预处理、特征提取以及特征分类。本文利用Emotive EPOC+脑电设备采集用户的SSVEP 信号,该设备内置的50 Hz 和60 Hz 陷波滤波器能够滤除对应的工频干扰,并对数据进行0.5~45 Hz的带通滤波处理。通过第三方开源工具Cykit将采集的脑电数据转换为OpenVIBE可识别的数据流。为了有效提取信号的频率响应特征,需要对信号进行特定频带的滤波处理,针对每个目标的基波(f)与二次谐波(2f)设定相应的Butterworth 带通滤波器,其对应的频带范围分别为[f-0.25,f+0.25]和[2f-0.25,2f+0.25]脑电信号预处理完毕后,通过共空间模式(common spatial patterns,CSP)[19]对离线脑电数据进行训练获得一组空间滤波器矩阵,从而实现对脑电信号的特征提取。二分类情况下空间滤波器的构建过程如下:

令2个类别中第i个信号样本X1i与X2i的归一化的协方差矩阵为:

式中:tr(*)表示矩阵对角线上元素和。

空间滤波器的构建公式如下:

式中:P为协方差矩阵R的白化矩阵;B为经白化处理后矩阵的最大特征值和最小特征值对应的特征向量的组合。

信号数据样本经过空间滤波后的矩阵Z为

式中:W为空间滤波矩阵;X为信号样本。

对滤波后的特征向量求取对数作为信号特征:

式中:var(Zi)为矩阵Z中第i行的方差;j=1,2,…,2m,2m为矩阵Z的行数。

对于2 个分类以上的情况,通过“一对多”(one vs rest,OvR)的方法将其转换为多个“二分类”来进行处理。选取n个类中的一类给出协方差矩阵R1,然后将剩余其他类的协方差矩阵结合类频率进行加权平均作为R2进行求解,以此依次构建出n倍数量的空间滤波器。

线性判别分析(linear discriminant analysis,LDA)[20]用于完成分类器构建,该方法对样本信号特征进行线性组合以此来区分不同类别的信号。对于二分类问题,设法将样本投影到一条直线上,使得同类样例尽可能接近,异类的样例投影尽可能远离,获得LDA 最大化的目标。具体实施过程如下。

首先,假设投影直线为ω,取任意一个样本xi,定义类内散度矩阵Sω:

式中:μ0和μ1为2类样本的中心点。

定义类间散度矩阵Sb:

LDA最大化的目标函数J(w)为

采用拉格朗日乘子法对式(10)优化可得:

对于n个分类问题,通过“一对多”将其扩展为多个“二分类”问题进行求解,取出其中一个类,然后将剩下的n−1个类组合为另一个类,通过训练得出n个分类器。

完成空间滤波器与分类器的构建后,即可进行在线控制,将在线采集得到的脑电信号经预处理、空间滤波器提取信号特征以及分类器分类后输出分类结果。

1.4 通信模块

1.4.1 VRPN通信

本系统中视觉刺激子系统、OpenVIBE脑电处理模块、指令模块及飞行模拟驾驶模块之间需要进行数据交互。OpenVIBE脑电处理模块生成的分类结果分别传输视觉刺激子系统与指令模块,指令模块接收后转换为飞行控制指令发送飞行模拟驾驶模块操控飞行器飞行。

虚拟现实外围网络(virtual reality peripheral network,VRPN)是一个设备(程序)之间数据访问的开源接口工具,具有延迟低、可靠性高的优点。视觉刺激子系统、指令模块与OpenVIBE脑电处理模块通过VRPN 实现通信,通讯原理如图2所示,在视觉刺激子系统、指令模块与OpenVIBE脑电处理模块之间配置VRPN客户端与VRPN服务器,使用时只需配置相应的键值名称即可实现通信。

图2 VRPN通讯原理图Fig.2 Schematic diagram of VRPN communication

1.4.2 Socket通信

为了避免飞行视景图像对SSVEP 诱发产生干扰,将视觉刺激子系统、OpenVIBE脑电处理模块和指令模块在一台计算机中运行,飞行模拟驾驶模块在另一台计算机中运行。指令模块与飞行模拟驾驶模块通过Socket进行通信,Socket作为应用层与TCP/IP 协议族通信的中间软件抽象层,能够将指令模块输出的飞行控制指令传输至飞行模拟驾驶模块。在网络通讯中,信息以字节流的形式传输,通常采用XML技术实现数据的序列化与反序列化。本文数据解析功能由Protobuf实现,相比XML 技术,Protobuf 是一个更高效的协议数据交换格式工具库,可用于通信协议、数据存储等。Socket 通信原理如图3所示,通过Visual Studio 开发一个控制台应用作为Socket 服务端,指令模块和飞行模拟驾驶模块分别架设在2个客户端中,控制指令通过Protobuf 进行数据解析并发送至服务端,再由服务端发送至飞行模拟驾驶模块所在的客户端中。

图3 Socket通信原理图Fig.3 Schematic diagram of Socket communication

2 结果与分析

2.1 实验设计

本实验共有9 位受试者参与实验,年龄介于20~30 岁之间,身体素质良好,无色盲色弱问题。受试者于相对安静的环境中独自进行实验,实验过程无明显外部干扰。受试者坐姿端正,眼睛距离屏幕的距离约为70 cm。

脑电数据由Emotive EPOC+脑电设备采集,根据研究显示,SSVEP 脑电信号主要位于大脑皮层视觉功能区(枕叶)[21−22],因此,选择该设备的O1和O2通道作为实验信号采集通道。

2.2 刺激频率选择

本实验中,SSVEP 脑电信号通过按恒定频率闪烁的目标刺激用户视觉产生。所用立体显示屏幕刷新频率为120 Hz(左右眼各60 Hz),受显示屏刷新率限制[21],可供选择的刺激频率与所对应的谐波频率如表1所示。其中,F为屏幕刷新频率,F=60 Hz,f,2f和3f分别为刺激频率的基波、二次谐波与三次谐波频率。

表1 SSVEP 刺激频率Table 1 SSVEP stimulation frequency

为了产生4 种SSVEP 脑机接口控制指令用于飞行模拟器起飞阶段及起飞后的操控,选择了4个不同的刺激频率,但多个刺激频率之间可能会出现频率耦合现象,应避免这种现象发生。此外,需对刺激频率及二次谐波进行带通滤波处理,范围分别为[f-0.25,f+0.25]和[2f-0.25,2f+0.25],因此,在选择刺激频率时,还应保证一定的频率间隔。为此,本文选择了A、B 两组频率进行测试,其中A 组频率为5.45,6.67,7.50 和8.57 Hz;B组频率为8.57,10,12和15 Hz。

不同刺激频率下功率谱密度(Power Spectral Density,PSD)图对比如图4和图5所示,其中,采集频带为0~40 Hz。由图4和图5可以看出,A组刺激频率附近的功率谱密度明显较低,B组刺激频率的特征变化较明显。因此,选用B组的频率作为后续实验的刺激频率。

图4 A组刺激频率下的PSD图像Fig.4 PSD images at stimulation frequency of group A

图5 B组刺激频率下的PSD图像Fig.5 PSD images at stimulation frequency of group B

2.3 时间窗口选择

由于脑电图(electroencephalogram,EEG)为连续收集得到的,若要分析脑电事件相关电位时,需要将信号“切分”为事件片段,时间窗口是指这些事件片段被锁定到某个刺激中的时间片段[23]。截取的时间窗口越长,脑电信号的分类正确率越高,但响应时间也越长[24]。因此时间窗口和响应时间的平衡对本实验具有重要影响。为了获得合适的时间窗口,本实验选择了10 组随机数据样本进行测试。其中,样本的80%用于训练集,20%用于测试集。在相同条件下,对10 组数据样本分别进行分类器训练,结果如图6所示。从图6可以看出,每组数据样本的分类正确率随着时间窗口的增加呈现较快的增长,当时间窗口大于2 s 时,分类正确率的增长趋于缓慢。

图6 分类器正确率随时间窗口的变化曲线Fig.6 Variation curve of classifier accuracy with time window length

基于上述实验结果,对2 s 内不同时间窗口的分类正确率及响应时间进行综合比较。选取5名受试者通过SSVEP在线测试模块随机进行50次脑电响应测试,产生的脑电信号经过分类处理后得到的正确率P和平均响应时间R如表2所示。由表2可知,当时间窗口为0.5 s时,5名受试者平均正确率仅为45.2%,分类精度较低;而当时间窗口为2 s时,5名受试者平均正确率为86.8%,分类精度较高,但此时平均响应时间为2.36 s,控制响应时间较长;当时间窗口为1.0 s和1.5 s时,5名受试者平均响应时间分别为1.366 s和1.85 s,平均正确率分别为72.4%和81.2%。综合考虑控制正确率以及响应时间,后续实验中时间窗口取值为1.5 s。

表2 不同时间窗口下分类器正确率和响应时间对比Table 2 Comparison of classifier accuracy andresponse time under different time Windows

本实验信号采集通道选用O1 和O2 通道,刺激频率分别为8.75,10,12和15 Hz,时间窗口取值为1.5 s。在该实验参数条件下,选取9名受试者分别在平面视觉刺激和立体视觉刺激下的脑电信号分类正确率进行对比实验研究。每名受试者在2种不同的视觉刺激下分别进行50 次随机目标指示试验,并通过SSVEP 在线测试模块得出最终正确率结果。本实验中,对照组为平面视觉刺激组,实验组为立体视觉刺激组,脑电信号分类准确率如图7所示。

图7 脑电信号分类准确率对比图Fig.7 Comparison of EEG signal classification accuracy

由图7可得,对照组脑电信号分类平均准确率为81.3%,实验组脑电信号分类平均准确率为87.8%,相比对照组,实验组的平均准确率提升了约6.5%,充分证明了立体视觉刺激所带来的优势,可有效提高脑控飞行模拟驾驶的正确率。

3 结论

1)针对刷新频率为120 Hz 的立体屏幕,选用最优刺激频率为8.57,10,12及15 Hz时能诱发高质量的脑电信号。

2)在1.5 s 的采集时间窗口下,指令响应时间和分类正确率能取得最优组合;相比于平面视觉刺激,立体视觉刺激条件下的脑电信号分类正确率提高了6.5%,从而可改善脑控飞行模拟驾驶系统的性能。

猜你喜欢

脑电电信号正确率
认知控制的层级性:来自任务切换的脑电证据*
个性化护理干预对提高住院患者留取痰标本正确率的影响
工作记忆负荷对反馈加工过程的影响:来自脑电研究的证据*
基于联合聚类分析的单通道腹部心电信号的胎心率提取
课程设置对大学生近视认知的影响
趋肤效应在交流电信号的影响的研究
基于Code Composer Studio3.3完成对心电信号的去噪
基于脑电信号反馈控制的双轨道小车控制器设计
生意
乒乓球运动员在经验相关图形识别中的脑电相干性分析