导读

使用从EEG解码的信息来实现对人工或虚拟手臂的在线控制通常是通过对不同的激活状态进行分类或与对象的不同显性动作相关的感觉运动活动的自愿调节来实现的。然而,一些研究报道了使用更自然的控制方案,例如解码想象的3D手臂运动的轨迹来移动假肢,机器人或虚拟手臂,所有方法都使用离线前馈控制方案。在该项研究中,研究人员首次尝试实现在线控制两个虚拟手臂,从而在3D空间中朝三个目标/手臂移动。使用多重线性回归,从mu,low beta, high beta, 和lowgamma EEG振荡的功率谱密度解码出想象的手臂运动的3D轨迹。研究人员在数据集上进行了实验分析,该数据集记录了三个受试者在七个会话,其中每个会话包括三个实验块:一个离线校准块和两个在线反馈块。利用虚拟武器的预测轨迹计算目标分类精度,并将其与基于滤波器组公共空间模式(FBCSP)的多类分类方法的结果进行了比较,该方法包括互信息选择(MI)和线性判别分析(LDA)模块。

方法

受试者

三位惯用右手(右撇子)的志愿者者(男性,平均年龄37岁) 参与了这项在英国阿尔斯特大学( Ulster University)智能系统研究中心(Intelligent Systems Research Centre, ISRC)的BCI实验室进行的实验。

实验范式

实验包括七个时段/会话(session),包括脑电图准备时间在内,每个时段约为2小时。在每次时段中,受试者都坐在一张扶手椅上,椅子距离液晶显示器1.5米。使用Unity 3D游戏引擎控制的两个虚拟手臂,在屏幕上显示目标动作和解码动作。从相应原始位置的视角在三个正交方向上选择每只手的三个目标的位置,即从左或右原始位置在水平(x),垂直(y)和深度(z)方向上位置。这种实验设置可以实现标准化的轨迹,即虚拟手的原始位置与每个相应目标之间的正交距离相同(如下图)。在实验开始之前,要求受试者向前看并,保持头部位置不变,避免磨牙,任务执行过程中尽量减少不必要的动作。还要求他们在想象的动作周期中避免眨眼。

七个会话中的每一个都包括三个部分:没有反馈的离线部分,提供辅助反馈的在线部分)和具有直接反馈的在线部分。离线和在线范例的详细信息如下所述。

虚拟手臂布局

上图为虚拟arm布局。在三维空间中控制虚拟手臂的实验装置。带LH和RH标签的绿圈分别表示左右home位置。标记为LX、LY、LZ和RX、RY、RZ的蓝色圆分别表示左手(L)和右手(H)在水平平面(X)、垂直平面(Y)和深度平面(Z)上的目标位置。虚拟手臂的运动被限制在立方体网格所表示的区域内。屏幕左侧和右侧网格上方的数字表示虚拟手臂的笛卡尔坐标。本研究未使用笛卡尔坐标上方的滑块和屏幕上方的时间指示条。

离线模式

离线模式(如下图) 包含6次运行,每次运行由6个块组成,其中每个块包含两个子块,每个子块由四个epoch组成:

  • Home-to-target:home位置和目标位置之间的移动周期与4 s听觉提示(6 kHz音调)同步;

  • Pause-at-target:在目标位置停顿2秒,没有听觉提示;

  • Target-to-home:目标位置到home位置之间的运动周期与4秒的听觉提示(4 kHz音调)同步;

  • Pause-at-target:在原位暂停2秒,没有听觉提示。

在每次运行开始前十秒钟,播放了一条语音消息以告知受试者即将进行的运行。在每个块开始的前四秒,一条语音消息告知受试者有关左手的实际任务:“左手向右移动”或“左手向顶部移动”或“左手向前移动”。

离线模式

上图为离线模式。

(A)在home位置和三个相应目标位置之一之间的子块1和2中的假想运动周期的时间。在两个子块中,受试者执行相同的运动想象运动周期,包括从home到到目标(4秒)、在目标处暂停(2秒)、目标到home(4秒)和在home处暂停(2秒)。然而,所需运动的视觉表示只显示在子块1中。

(B)一个块包括一个块初始化周期和两个子块。

(C)运行包括运行初始化周期和六个块,这些块以随机顺序对应于六个目标(六个目标每臂包含三个目标)。

对于第一个子块,当所需的运动显示在屏幕上时,虚拟手臂前进方向的速度从0开始,在原点和目标位置之间的一半处达到最大值,并保持恒定,直到虚拟手臂到达目标位置。在目标位置上的停顿时间之后,虚拟手臂向后的速度从0开始,在目标与原始位置之间的中间位置达到最大值,并保持恒定,直到虚拟手臂到达原始位置为止。虚拟手臂在所有可能的运动期间的速度轨迹如下图所示。

离线部分的速度轨迹

上图为实验离线部分的速度轨迹。该图表示在第一个子块(不显示暂停时间)期间左手(A)和右手(B)的虚拟手运动的速度。标签“ H”表示左手(A)或右手(B)在原始位置。标签LX,LY,LZ和RX,RY,RZ分别表示左手(A)或右手(B)的X,Y和Z位置。

在线模式

使用辅助和直接反馈的在线实验范例(下图)遵循相同的结构,包括六次运行,每一次运行由六个模块组成。

每次运行开始前十秒都会播放一个声音。在每个块开始前四秒钟,一条声音消息告知受试者有关左手的实际任务:“左手向右移动”或“左手向顶部移动”或“左手向前移动”。对于每个模块,相应的虚拟手臂从home位置控制到目标位置(向前移动),然后回到home位置(向后移动)。前进的动作与7 s的听觉提示(6 kHz音调)同步,如果虚拟手到达的位置距离目标位置比实际目标位置距离的20%更近,那么这个声音就会提前减弱。在运动结束时,虚拟手臂在当前位置停留一段时间(2秒),之后虚拟手重新定位到目标位置停留4秒。接下来,当虚拟手到达距离目标位置比实际目标位置距离的20%更近的位置时,这个动作会与一个7 s的听觉提示(4 kHz音调)同步。在运动结束时,虚拟手臂被保持在当前位置一段短暂的延迟(2秒),之后虚拟手被重新定位到原位置,并暂停4秒。因此,每个移动块的最大持续时间为30 s(下图B),包括块初始化语音消息(4 s)和最大持续时间为26 s的移动周期(下图A)。在每次运行中,想象的朝着不同目标的动作顺序是随机的,并分布在6个区域内。每次运行的最大持续时间为190秒(下图C),随后的运行间隔了一个持续40秒的间隔运行休息时间。因此,包括6次在线运行的在线控制的最大持续时间为23分钟。

在线模式

数据处理与分析

使用FBCSP进行多分类

下图说明了基于FBCSP的多类分类方法的结构,该方法使用了基于互信息选择模块和基于线性判别分析的分类器。

基于Filter-bank common spatial patterns (FBCSP)的多类分类方法

下图为本研究使用的方法的概述。

下图为离线和在线部分实验中预测轨迹的时变译码精度(DA)。随时间变化的数据分析图显示了在从原始位置到目标位置的运动周期中,“成功”和“不成功”目标分类的比率随时间变化的情况。如方法部分所述,根据虚拟手的预测坐标计算DA值。

上图中,其中(A)没有反馈的离线DA。(B)具有辅助反馈的在线DA。(C)具有直接反馈的在线DA。(D)使用辅助反馈与直接反馈比较在线DA。(A–D)表示随时间变化的DA的平均值(彩色线)和标准偏差(彩色阴影区域),(A–C)表示置换测试的结果(平均值:黑色虚线,标准偏差:灰色阴影区域)。任务期间获得的DA峰用垂直实线表示在(A–D)中。可能性水平(3级分类为33.3%)由黑色虚线表示。

上图为FBCSP:左手、右手想象运动随时间变化的DA。(A)单session分析的结果。(B - D)来自多session分析的结果,其中(B)来自子块1的试验(视觉和听觉线索),(C)来自子块2的试验(没有显示运动的听觉线索),(D)来自两个子块的试验合并在一起。水平虚线表示机会水平(2类分类为50%)。

下图为使用多会话数据集进行频率分析和地形图的结果。

(A-C)表明在当时分类准确度最高的情况下,哪些频段和皮质区域为分离用左手和右手进行的想象的运动提供了最大的贡献。(D-F)表明在分类准确率最高的情况下,哪个频带和皮层区域在区分亚区1和亚区2中所执行的想象运动方面贡献最大。使用训练好的2类分类器的MI权值计算特定于受试者的频段贡献图(A,D),并将其应用于多类分类器模块。使用MI加权CSP滤波器的平均值计算多受试者的地形图(B,C,E,F),这些滤波器来自于应用于多类分类器模块的对象专门训练的2类分类器。为了计算多受试者地形图的平均模式,以相应对象的峰值精度选择特定于对象的MI加权CSP滤波器。

研究人员表示,该项初步研究的结果BCI范式的研究和开发展现了非常有益的一面,这些BCI可以在真实和虚拟空间中执行运动独立的通信和在线控制。研究人员也表示,该项研究还是处于初步研究状态,需要对范式进行一系列调整,以供将来研究之用。

参考:

Decoding Imagined 3D Arm Movement Trajectories From EEG to ControlTwo Virtual Arms—A Pilot Study

文章来源于网络,仅用于学术分享,不用于商业行为,若有侵权及疑问,请后台留言!

如需转载请扫下面微信二维码码,备注"转载"

更多阅读

大脑分区与功能简介汇总

第2期 | 国内脑机接口领域专家教授汇总

精彩长文 | 脑机接口技术的现状与未来!

TensorFlow处理运动想象分类任务

ICA处理脑电资料汇总

收藏 | 脑电EEG基础与处理汇总

脑机接口BCI学习交流QQ群:903290195

从EEG中解码想象的3D手臂运动轨迹以控制两个虚拟手臂相关推荐

  1. ros中的电机速度控制_【RosBot】控制两路步进电机-学习笔记1-Arduino中文社区 - Powered by Discuz!...

    本帖最后由 动手党 于 2017-12-11 20:05 编辑 收到之前比赛兑换的RosBot 基础板,顺便做一个学习笔记吧 一.  板子做工和用料 rosbot主板1.jpg (302.71 KB, ...

  2. 在动作观察,运动想象和站立和坐姿执行过程中解码脑电节律

    事件相关去同步化与同步化(ERD/S)和运动相关皮质电位(MRCP)在下肢康复的脑机接口(BCI)中,特别是在站立和坐姿中,起着重要的作用.然而,人们对站立和坐着的大脑皮层活动的差异知之甚少,尤其是大 ...

  3. 从诱发反应中解码动态脑模式:应用于时间序列神经成像数据的多元模式分析教程

    多变量模式分析(MVPA)或大脑解码方法已经成为分析功能磁共振数据的标准做法.虽然解码方法已广泛应用于脑机接口,但其应用于时间序列神经成像数据(如脑磁图.脑电图)以解决认知神经科学中的实验问题是最近的 ...

  4. 不写代码不建模!万字长文带你在 Cocos Creator 中零代码搭建 3D 户外场景

    点击文末[阅读原文]在线预览最终效果. 对于接触过 3D 游戏美术资源的程序来说,可能心中都出现过类似这样的独白: 这些 3D 模型是怎么用的,为什么我导入的时候老是报错? 这些花花绿绿的图片是干什么 ...

  5. 从脑电图(EEG)中提取稳定的模式进行识别

    本篇文章是论文<Identify Stable Patterns over Time for Emotion Recognition from EEG>(<从脑电图(EEG)中提取稳 ...

  6. python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例

    原标题:Python中使用Matplotlib绘制3D图形示例 3D图形能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的3D绘图工具.3D图形在数据分析.数据建模. ...

  7. python绘制三维曲面图-python中Matplotlib实现绘制3D图的示例代码

    Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...

  8. 【Android 内存优化】Bitmap 图像尺寸缩小 ( 考虑像素密度、针对从不同像素密度资源中解码对应的 Bitmap 对象 | inDensity | inTargetDensity )

    文章目录 一.像素密度对解码图片的影响 二.不考虑像素密度会导致图片缩小尺寸不准确 三.DisplayMetrics 源码阅读.研究手机资源获取规则 四.像素密度参数设置取值 ( inDensity ...

  9. 如何让IOS中的文本实现3D效果

    本转载至 http://bbs.aliyun.com/read/181991.html?spm=5176.7114037.1996646101.25.p0So7c&pos=9     zhed ...

最新文章

  1. unix 查询进程并中止
  2. Nessus安全测试插件编写教程(2)
  3. C#中PostMessage和SendMessage的参数传递实例
  4. alert回调_你知道javascript函数的回调怎么用吗?
  5. Java多线程相关的几十个问题
  6. 使用C#和Excel进行报表开发(5)
  7. java语句while主意点
  8. Java学习之——泛型
  9. matlab符号函数sgn,latex 符号函数sgn
  10. 什么是超级浏览器?目前超级浏览器有哪些分类?
  11. iphone 4 到iphone 6s plus的屏幕尺寸
  12. 永久删除计算机文件怎么操作步骤,如何彻底删除掉电脑文件夹
  13. 【自动控制原理】系统带宽
  14. 《精进》的读后感作文2600字
  15. python画多个圆_我如何用pythonturtle画一个中间有一个圆的圆圈?
  16. 支持向量机SVM(1)——间隔最大化
  17. 【Android】基于BUILD.gn的源码构建
  18. 工资少不加班与工资高但996,你选哪个
  19. 图解算法英文版资源,阅读笔记及代码(Python)
  20. 融云入围「2022 云办公平台 TOP50」,进入「中国协同办公产业图谱」

热门文章

  1. Servlet自动注入Spring容器中的Bean解决方法
  2. Eclipse解决Ctrl+c很卡的方法
  3. pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法
  4. 解决 maven 项目中加入了 lombok 库后依然报错的问题
  5. 解决teamviewer试用期到期的方法
  6. Layui框架 中table解决日期格式问题
  7. Pandas中map,applymap和apply方法之间的区别
  8. 在Java Build Path中找不到超类“javax.servlet.http.HttpServlet”[重复]
  9. 什么是__pycache__?
  10. 如何在Python中捕获SIGINT?