【脑机接口论文与代码】 基于自适应FBCCA的脑机接口控制机械臂

Brain-Controlled Robotic Arm Based on Adaptive FBCCA

  • 基于自适应FBCCA的脑机接口控制机械臂
  • 论文下载:
  • 算法程序下载:
    • 摘要
    • 1 项目介绍
    • 2 方法
      • 2.1CCA算法
      • 2.2FBCCA 算法
      • 2.3自适应FBCCA算法
    • 3数据获取
    • 4结果
      • 4.1脑地形图
      • 4.2频谱图
      • 4.3准确率
    • 5结论

基于自适应FBCCA的脑机接口控制机械臂

论文下载:

DOI:10.1007/978-981-16-1288-6_7

算法程序下载:

地址

摘要

  SSVEP-BCI系统通常使用固定的计算时间和静态窗口停止方法来解码EEG信号,这降低了系统的效率。针对这一问题,本文采用了一种自适应FBCCA算法,该算法利用贝叶斯估计动态寻找结果预测的最佳数据长度,适应不同试验和不同个体之间的差异,有效提高了系统运行的有效性。同时,通过这种方法,本文构建了一个基于自适应FBCCA的脑控机械臂抓取生命辅助系统。在本文中,我们选择了20名受试者,共进行了400个实验。大量实验验证了该系统的可用性,平均识别成功率为95.5%,这也证明了该系统可以应用于实际场景。帮助残疾人用大脑控制机械臂抓取所需物品,以辅助日常生活,提高生活质量。未来,SSVEP的自适应FBCCA解码算法可以与运动成像脑机接口解码算法相结合,构建相应的系统,帮助脑卒中引起的上肢或下肢运动障碍患者康复,重塑大脑和控制肢体连接。

1 项目介绍

  本文设计的基于自适应FBCCA的脑控机械臂抓取生命辅助系统将自适应FBCCA动态时间窗截止方法应用于实际场景,使系统具有良好的人机交互功能和脑电图解码识别准确率。根据设计的实验范例,经过20人参与实验后,平均脑控制抓取准确率为95.5%。系统图像识别速度快,识别状态和结果可以实时反馈,这样系统可以帮助残疾人运动障碍如中风抓住他们需要的对象不需要帮助,并帮助他们满足一定的生活需求,提高生活质量。

2 方法

  到目前为止,几乎所有SSVEP-BCI系统都使用静态停止解码方法具有固定的计算时间窗口。然而,由于个体差异,每个人的脑机接口能力不同,甚至同一受试者的脑机接口能力也不同时代也不同,因为大脑的状态随时都在变化。因此,一个采用自适应FBCCA译码算法选择不同大小的计算时间根据窗口各主体的差异实现了动态停止解码方法,可有效解决以上问题,提高操作效率SSVEP-BCI系统有效性。

2.1CCA算法

  典型相关分析(CCA)算法是一种多元统计分析方法,利用综合变量对之间的相关性来反映两组指标之间的总体相关性。原则是:为了把握两组指标之间的整体相关性,从两组变量(两个变量组中两个变量的线性组合),利用这两个综合变量之间的相关性来反映两组指标之间的整体相关性。当CCA提取SSVEP响应频率时,将两组多变量分别定义为X和Y,其中X为脑电图的多通道信号。
在这里插入图片描述
在式(1)中,通道的下标表示不同通道的数量,Y为与刺激频率相关的参考信号。在公式(2)中,N为刺激频率的谐波数,X中的通道数也为N。在这里插入图片描述
CCA为两组多维变量X和Y找到一对向量Wx和Wy,并通过Wx和Wy使相关变量x = X T WX和y = Y T WY之间的相关性最大化,如式(3)所示
在这里插入图片描述
公式(3)推导出了X和Y之间的相关系数ρ的最大值。当选择不同的频率时,计算出的ρ也有所不同。与最大ρ对应的频率被认为是SSVEP的响应频率。

2.2FBCCA 算法

  FBCCA在CCA的基础上增加了一个滤波器组,从而利用传统CCA算法中没有得到充分利用的脑电图信号的谐波分量来提高算法的精度。FBCCA方法主要包括三个部分:(1)脑电图信号的滤波组分析;(2)SSVEP子频带的CCA分析分量和正弦和余弦参考信号;(3)目标识别。
  首先,滤波器组分析通过多个不同的带通滤波器将信号分解为多个子带信号。我们使用零相位切比雪夫I型IIR滤波器从原始脑电图信号x中提取每个子带分量(XSBn,n = 1,2,…,N)。为了满足零相位的要求,我们使用MATLAB中的文件过滤函数进行滤波。在对滤波器集进行分析后,计算出每个子带分量和每个刺激频率对应的正弦参考信号(Yfk,k = 1,2,…,12)的典型相关系数。对于第k个刺激频率fk,相关向量ρk由N个相关系数组成:
在这里插入图片描述
在公式(4)中,ρ(x,y)表示x与y之间的相关系数。将每个子带分量对应的相关系数的平方乘以相应的权重系数,相加相加为目标识别特征(图1)。
在这里插入图片描述
在公式(5)中,n表示子频带索引。由于SSVEP谐波分量的信噪比随响应频率的增加而减小,因此各子带分量的权重系数定义如下:

在这里插入图片描述
在公式(6)中,a和b是常数。实际上,我们使用网格搜索方法基于离线数据找到a和b,使系统的分类性能最优。最后,用每个刺激频率(即ρ1,…,ρ12)对应的ρk来确定SSVEP的频率,以最大相关系数ρk对应的参考信号的频率为SSVEP的频率。在这里插入图片描述

2.3自适应FBCCA算法

  传统的SSVEP解码算法采用的静态停止方法对所有试验都使用固定的数据长度,但由于试验之间的差异性,每次试验的最优数据长度都是不同的。因此,为了提高SSVEP-BCI系统的工作效率,采用自适应FBCCA方法对脑电图信号进行解码,通过贝叶斯估计动态地寻找用于预测的最优数据长度。
  从上述FBCCA算法可以看出,该算法的分类结果是与累积相关系数的最大值所对应的刺激频率。因此,可以假设所有刺激对应的相关系数值与分类结果的正确性之间存在相关性。分类结果的置信度与最大相关系数与第二大相关系数之间的差值有关,而正确预测对应的差值往往大于误差预测。同时,数据长度和分类准确率是相关的,因为数据长度越长,得到正确预测结果的概率就越高根据正确预测和错误预测,将所有训练试验的相关系数分为正确预测组和错误预测组,并分别构建相关系数的似然概率密度函数。这里的相关系数是标准化后最大的累积相关系数。在这里插入图片描述
在公式(8)中,ρk是所有类别中累积相关系数最大的一类。假设正确的预测被写成h1,错误的预测被写成h0。似然概率密度函数p(dm|H1、t)和p(dm|H0、t)由高斯核密度估计生成,即生成分组dm的直方图,然后使用高斯核密度估计进行扩展和平滑,其中t表示用于分类的数据长度。
在在线过程中,对每个新的数据段,首先计算标准化的累积相关系数,得到预测的目标特征,根据贝叶斯推理估计被正确预测的后验概率:
在这里插入图片描述
在公式(9)中,P(H1|t)和P(H0|t)是在不同数据长度下进行正确预测和错误预测的先验概率。根据离线实验中不同数据长度下的分类精度进行了估计。一旦后验概率达到阈值Pthre,将输出预测结果,其中阈值由网格搜索离线确定。如果当前的试验不满足阈值条件,则当数据段的长度达到预设的最大值时,将被迫输出预测的结果。

3数据获取

  基于上述贝叶斯估计提出的自适应FBCCA算法,动态寻找最优预测数据长度,构建了基于自适应FBCCA的脑控制机械臂抓取辅助生该系统的实验数据由可穿戴传感(美国)公司的DSI 24干电极脑电图耳机采集。该脑电图采集装置是一种24引线电极帽,使用方便、快速、舒适,不需要导电膏体。脑电图传感器布置在国际10/20系统Fp1、Fp2、F7、F3、F4、F4、Fz、F8、T3、C3、C4、C4、Cz、T4、T5、P3、P4、P4、T6、O1、O2位置,脑电图帽采样频率为300 Hz,数据通过蓝牙传输。
  实验数据处理采用了24个引线中的7个通道,即P3、P4、Cz、T5、T6、O1和o2。命系统。该算法应用于实际应用,帮助中风等运动障碍患者的日常生活。
  该系统使用深度相机定位物体,使用机械臂捕捉物体。使用的深度相机是英特尔的RealSense D435,它具有高分辨率和快速的传输速度。使用的机械器是Kinova的JACO三指轻型机械器,它由一个6自由度机械器和一个3自由度手指握把组成。它具有重量轻、控制简单、安全性高、人机交互友好等特点。该机械臂结构紧凑,每个关节都可以独立控制,冗余安全控制,使用奇异回避算法使该机械臂适合于该大脑控制系统,以满足残疾人的基本生活需求。
  收集数据的实验范式界面包含12个块,12个块代表12条指令,苹果1,香蕉1,绿茶,橘子,可乐,苹果2,香蕉2,矿泉水,橘子,7个up,取消和确认。12个块对应12个闪烁频率,分别为9、9.25、9.5、9.75、10.25、10.5、10.75、11、11.25、11.5、11.75和12Hz(图2)
在这里插入图片描述
  本实验的数据收集过程如图3所示,包括4个块,分别对应于苹果、香蕉、绿茶、橙子。每个组包括5次试验和1次20秒的试验。
1)选择视觉刺激对象2秒,共10个目标对象,休息1秒。
2) 2秒的视觉刺激来确认或取消捕获,跳过到步骤(1)来取消捕获。
3)在15秒内,用机械臂抓取物品
在这里插入图片描述

  本实验邀请20名上海大学学生(男性12名,女性8名,年龄20-30岁)参加本实验。每个受试者共进行了20次试验,共收集了400个试验实验数据。在参与实验之前,被试者被告知实验是否伤害了人体,并签署了参与实验的知情同意书。实验结束后,每个人都得到了一定数额的报酬。脑控机械臂实验如图4所示。
在这里插入图片描述

4结果

4.1脑地形图

  受试者观察Apple 2块中闪烁刺激产生的脑电图信号,绘制出脑电图地形图,如图5(b).所示可以看出,受试者的大脑产生了一个稳态的视觉诱发电位,这反映了枕叶,枕叶区的能量明显增加,这也证实了SSVEP主要与大脑的枕叶区相关的结论。图5(a)显示了被试成功观看Apple 2块后的目标锁定显示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/b60d43dfba2b4a109623fba864a061f2.png

4.2频谱图

  将采集到的受试者的原始时域脑电图信号绘制成频率域图。原始脑电图信号如图6(a)所示,纵坐标为脑电图通道,横坐标为时间,表示各通道脑电图信号的幅值随时间的变化。绘制的频域图如图6(b)所示,纵坐标为振幅,单位为分贝。可以看出,当受试者在实验模式中注视确认的抓握块时,对应的谱图峰值为12 Hz,与确认的抓握块的刺激闪烁频率相对应。这也验证了受试者盯着不同街区所产生的脑电图信号可以被自适应FBCCA识别。
在这里插入图片描述

4.3准确率

  本实验有20名受试者,每个受试者有4个区块,一个区块包含5个试验,即一个受试者有20个物体捕获。该系统的机械臂的抓取成功率为100%,因此脑控制的机械臂的抓取成功率取决于脑电图解码的正确率。20名受试者的脑电图解码正确率如图7所示。经过计算,得到了20人。受试者的脑控制抓取物体的平均准确率为95.5%。
在这里插入图片描述
与固定窗口FBCCA相比,识别准确率提高了约4%,识别速度提高了约30%。

5结论

  本文采用基于贝叶斯自适应FBCCA算法贝叶斯估计动态找到最优数据长度来预测结果,适应不同试验和不同个体的差异,并解决传统SSVEP-BCI系统通常使用固定的计算时间,静态停止窗口导致系统效率降低的问题。通过该方法,构建了一个基于自适应FBCCA的脑控制机械臂抓取生命辅助系统。系统的机械臂抓取准确率为100%,脑电图解码准确率为95.5%,和脑控制机械臂抓取平均准确率达到95.5%,可用于协助残疾残疾人如中风执行一些简单的任务,以提高生活质量。
  未来,SSVEP的自适应FBCCA解码算法可以与运动成像脑机接口解码算法相结合,构建相应的BCI系统,帮助中风疾病引起的上肢或下肢运动障碍患者恢复和重塑大脑与身体控制的连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/132473.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpingMyc项目如何搭建

目录 一、创建项目 二、环境搭建 (1)引入相关依赖 (2)在web.xml中配置前端控制器DispatcherServlet (3)编写SpringMVC核心配置文件springmvc.xml 三、测试是否成功 (1)编写控…

C++项目实战——基于多设计模式下的同步异步日志系统-⑤-实用工具类设计

文章目录 专栏导读获取系统时间time介绍 getTime函数设计判断文件是否存在stat介绍exists函数设计 获取文件所在路径find_last_of介绍path函数设计 创建文件所在目录mkdir介绍find_first_of介绍函数createDirectory设计 实用工具类整理 专栏导读 🌸作者简介&#xf…

Linux 修改SSH的显示样式,修改终端shell显示的样式,美观更改

要修改SSH的显示样式,您可以使用自定义的PS1(提示字符串1)变量来更改命令行提示符的外观。在您的情况下,您想要的格式似乎包括日期和时间,以及当前目录。以下是一个示例PS1设置,可以实现您所描述的样式&…

使用 Webpack 从 0 到 1 构建 Vue3 项目 + ts

使用 Webpack 从 0 到 1 构建 Vue3 项目 1.初始化项目结构2.安装 webpack,补充智能提示3.初步编写 webpack.config.js3.1设置入口文件及出口文件3.2 指定 html 模板位置 4.配置 运行/打包 命令,首次打包项目5.添加 Vue 及相关配置5.1安装并引入 vue5.2 补…

Vue3+移动端适配屏幕+默认横屏展示

效果图展示区: 1. 想要把px自动转换单位为vw需要项目根目录.postcssrc.js中进行配置以下代码 module.exports {plugins: {autoprefixer: {}, // 用来给不同的浏览器自动添加相应前缀,如-webkit-,-moz-等等"postcss-px-to-viewport": {unitTo…

【面试题】前端开发中如何高效渲染大数据量?

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 【国庆头像】- 国庆爱国 程序员头像!总有一款适合你! 在日常工作中,较少的能遇到一次性往页面中插入大量数据的场景…

易点易动固定资产管理系统:助力事业单位实现固定资产智能化管理

在日常运营中,事业单位面临着大量固定资产的管理挑战。为了提高资产利用率、降低运营成本,并确保资产安全与准确的账务管理,事业单位亟需一款强大而智能的固定资产管理系统。易点易动固定资产管理系统应运而生,为事业单位提供了一…

vue网页缓存页面与不缓存页面处理

在主路由页面 <template><div style"height: 100%"><!-- 缓存 --><keep-alive><router-view v-if"$route.meta.keepAlive"></router-view></keep-alive><!-- 不缓存 --><router-view v-if"!$rou…

ChatGPT 和 Elasticsearch:APM 工具、性能和成本分析

作者&#xff1a;LUCA WINTERGERST 在本博客中&#xff0c;我们将测试一个使用 OpenAI 的 Python 应用程序并分析其性能以及运行该应用程序的成本。 使用从应用程序收集的数据&#xff0c;我们还将展示如何将 LLMs 成到你的应用程序中。 在之前的博客文章中&#xff0c;我们构建…

Can‘t load the model for ‘stabilityai/sd-vae-ft-mse‘

Can’t load the model for ‘stabilityai/sd-vae-ft-mse’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘stabilityai/sd-vae-ft-mse’ is the correct…

iOS pod repo push 报错 ld: file not found: libarclite_iphoneos.a 问题解决方案

背景 Xcode 升级 14.3 之后&#xff0c;在Xcode 运行项目会收到以下错误 File not found: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a 项目中可以通过以下方法解决编译错误&#xff0c;就是在 …

铝及铝合金产品标识知识学习记录

声明 本文是学习GB-T 42916-2023 铝及铝合金产品标识. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1— 圆铸锭表面&#xff1b; 2——切完头尾的圆铸锭尾端(引锭头端)。 图 9 圆铸锭刻痕标识示意图(一) 示 例 2 : 5A06 牌号、铸态、尺寸规格为…

uniapp微信小程序《隐私保护协议》弹窗处理流程

背景 《关于小程序隐私保护指引设置的公告》 《小程序隐私协议开发指南》 流程 1.第一步 必须设置且审核通过&#xff01;&#xff01;&#xff01; 2.第二步 uniapp在manifest.json中添加&#xff01;&#xff01;&#xff01; /* 在 2023年9月15号之前&#xff0c;在 ap…

景联文科技可为多模态语音翻译模型提供数据采集支持

8月22日Facebook的母公司Meta Platforms发布了一种能够翻译和转录数十种语言的人工智能模型——SeamlessM4T&#xff0c;可以在日常生活中或者商务交流中为用户提供更便捷的翻译和转录服务。 相较于传统的文本翻译&#xff0c;这项技术的最大区别在于它可以实现端到端的语音翻译…

4.4-Spring源码循环依赖终极讲解

回顾上期内容 new 容器 new AnnotateBeanDefinitionReader 的时候创建很多创世纪的类&#xff0c;其中有一个ConfigurationPostProcessor是用来解析配置类的&#xff0c;将其注册起来存到Bean定义的Map中【这个类是基于Bean工厂后置处理器的】 这一步是将配置类注册到Bean定…

C++之编译时预定义宏flag(二百一十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

按图搜索淘宝商品(拍立淘)API接口 搜爆款商品 图片搜索功能api 调用示例

接口名称&#xff1a;item_search_img 公共参数 请求地址: 测试item_search_img 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_s…

Linux 下spi设备驱动

参考&#xff1a; Linux kernel 有关 spi 设备树参数解析 Linux kernel 有关 spi 设备树参数解析 - 走看看 Linux SPI驱动框架(1)——核心层 Linux SPI驱动框架(1)——核心层_linux spi驱动模型_绍兴小贵宁的博客-CSDN博客 Linux SPI驱动框架(2)——控制器驱动层 Linux SPI驱…

Redis过期时间的思考

当我们把 Redis 当做缓存来使用时&#xff0c;设置过期时间是必须的&#xff0c;但具体设置多少的过期时间呢&#xff0c;针对不同的场景会有不同的决策。 虚假一个场景&#xff0c;我们基于用户的地理位置推荐附近的陌生主播&#xff0c;用户可以线下去找主播沟通。当系统第一…

【PickerView案例08-国旗搭建界面加载数据 Objective-C预言】

一、来看我们第三个案例 1.来看我们第三个关于PickerView的一个案例, 首先呢,我要问大家一下, 咱们这个是几组数据呢, 这是一个pickerView,只不过,它显示的是什么,一个界面, 前面两个案例,都是文字 这个案例,开始有图片了, 总结一下这三个案例: 1)第一个案例…