【脑机接口论文与代码】 基于自适应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.mzph.cn/news/78945.shtml

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

相关文章

Spring底层的核心原理解析

这篇文章大致讲解一下spring的整个执行流程,也就是在我们脑子里面建立一个笼统的概念 spring如何创建一个容器呢 容器里面是对象 上面就是利用AnnotationConfigApplicationContext这个对象,然后传入了一个配置类的字节码对象给我们创建一个Spring容器&am…

Hyper-V 安装 CentOS (二)

总目录 https://preparedata.blog.csdn.net/article/details/132877836 文章目录 总目录一、Hyper-V 创建centos的虚拟机实例二、虚拟机安装Centos ISO镜像三、重启后,进入系统 一、Hyper-V 创建centos的虚拟机实例 网络连接先不选择,后面文章专门配置网…

【软考】系统架构设计师 - 知识扩展 - “区块链技术“

目录 一 简介👑 1 比特币❤️ 2 区块链的特点❤️ 3 共识算法❤️ 二 练习题👑 三 扩展👑 1 哈希算法❤️ 2 哈希指针❤️ 3 UTXO❤️ 4 参考资料❤️ 一 简介👑 1 比特币❤️ 比特币底层采用了区块链技术。 比特币交易…

03目标检测-传统方法与深度学习算法对比

目录 一、目标学习的检测方法变迁及对比 二、深度学习目标检测算法基本流程 三、传统目标检测算法VS深度学习目标检测算法 一、目标学习的检测方法变迁及对比 “目标检测“是当前计算机视觉和机器学习领域的研究热点。从Viola-Jones Detector、DPM等冷兵器时代的智…

【数据结构】二叉树的链式结构

【数据结构】二叉树的链式存储结构 二叉树的存储结构 typedef int BTDataType; // 二叉树的结构 typedef struct BinaryTreeNode {BTDataType data; // 树的值struct BinaryTreeNode *left; // 左孩子struct BinaryTreeNode *right;// 右孩子 } BinaryTreeNode;二…

EXCEL如何把一个单元格内的文本和数字分开?例如:龚龚15565 = 龚龚 15565

使用工具:WPS 举例: EXCEL如何把一个单元格内的文本和数字批量分开?不使用数据分列。 第一步、将第二行数据冻结 第二步、在B1、C1单元格输入需要分开的示例 第三步、点击选中B1单元格,输入快捷键【CTRLE】进行填充。B2单元格也是…

【AIGC】图片生成的原理与应用

前言 近两年 AI 发展非常迅速,其中的 AI 绘画也越来越火爆,AI 绘画在很多应用领域有巨大的潜力,AI 甚至能模仿各种著名艺术家的风格进行绘画。 目前比较有名商业化的 AI 绘画软件有 Midjourney、DALLE2、以及百度出品的文心一格:…

MinGW-W64 下载、安装与配置(支持最新版的GCC,目前 GCC 13.2.0)VSCode配置c/c++环境 彻底删除vscode(包括插件及配置!)

目录 一、简介 二、下载 1 旧版安装(8.1.0) 从 sourceforge.net 下载 2 新版安装(本次采用较新版本~~~) 从 github 下载 从 镜像站点 下载 自己编译 三、安装与配置 1. 在线安装(这里仅作参考了解) 2. 离线安装&…

异步FIFO设计的仿真与综合技术(3)

概述 本文主体翻译自C. E. Cummings and S. Design, “Simulation and Synthesis Techniques for Asynchronous FIFO Design 一文,添加了笔者的个人理解与注释,文中蓝色部分为笔者注或意译。前文链接: 异步FIFO设计的仿真与综合技术&#xf…

自动化测试(五):自动化测试框架的搭建和基于yaml热加载的测试用例的设计

该部分是对自动化测试专栏前四篇的一个补充,本次参考以下文章实现一个完整的谷歌翻译接口自动化测试:   [1]【python小脚本】Yaml配置文件动态加载   [2]【python做接口测试的学习记录day8——pytest自动化测试框架之热加载和断言封装】 目标:框架封…

新增动态排序图、桑基图、AntV组合图,DataEase开源数据可视化分析平台v1.18.10发布

2023年9月14日,DataEase开源数据可视化分析平台正式发布v1.18.10版本。 这一版本的功能升级包括:数据集方面,对字段管理的后台保存做了相关优化,降低了资源消耗;仪表板方面,对联动、查询结果以及过滤组件等…

系统架构:软件工程速成

文章目录 参考概述软件工程概述软件过程 可行性分析可行性分析概述数据流图数据字典 需求分析需求分析概述ER图状态转换图 参考 软件工程速成(期末考研复试软考)均适用. 支持4K 概述 软件工程概述 定义:采用工程的概念、原理、技术和方法来开发与维护软件。 三…

GET,POST,DELETE,PUT参数传递的形式

一.get请求参数在地址后面进行拼接 1.代码&#xff1a; <template><div class""><button click"fn">点击</button></div> </template><script> import axios from "axios"; //安装完之后&#xff0…

MFC中嵌入显示opencv窗口

在MFC窗体中建立一个Picture Control控件,用于显示opencv窗口 在属性中设置图片控件的资源ID为IDC_PIC1 主要的思路: 使用GetWindowRect可以获取图片控件的区域 使用cv::resizeWindow可以设置opencv窗口的大小,适合图片控件的大小 使用cvGetWindowHandle函数可以获取到ope…

OpenCV(四十二):Harris角点检测

1.Harris角点介绍 什么是角点&#xff1f; 角点指的是两条边的交点&#xff0c;图中红色圈起来的点就是角点。 Harris角点检测原理&#xff1a;首先定义一个矩形区域&#xff0c;然后将这个矩形区域放置在我的图像中&#xff0c;求取这个区域内所有的像素值之和&#xff0c;之…

麒麟v10安装mysql(ARM架构)

下载MYSQL安装包 华为开源镜像站_软件开发服务_华为云 上面的选择一个下载 或者用命令下载 wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mysql-5.7.27-1.el7.aarch64.rpm 检查是否已经安装MySQL rpm -qa | grep mysql将包卸载掉 rpm -…

图论第三天|130. 被围绕的区域、417. 太平洋大西洋水流问题、827. 最大人工岛

130. 被围绕的区域 文档讲解 &#xff1a;代码随想录 - 130. 被围绕的区域 状态&#xff1a;开始学习。 思路&#xff1a; 步骤一&#xff1a; 深搜或者广搜将地图周边的 ‘O’ 全部改成 ’A’&#xff0c;如图所示&#xff1a; 步骤二&#xff1a; 再遍历地图&#xff0c;将 …

JWT 安全及案例实战

文章目录 一、JWT (json web token)安全1. Cookie&#xff08;放在浏览器&#xff09;2. Session&#xff08;放在服务器&#xff09;3. Token4. JWT (json web token)4.1 头部4.1.1 alg4.1.2 typ 4.2 payload4.3 签名4.4 通信流程 5. 防御措施 二、漏洞实例&#xff08;webgoa…

API原理概念篇(六)玩转正则表达式等常用API

一 玩转正则表达式等常用API ① 正则 1、openresty存在两套正则表达式规范1) lua自身独有的正则规范 备注&#xff1a;大约有5%&#xff5e;15%性能损耗损耗原因&#xff1a;表达式compile成pattern,并不会被缓存,每次都会被重新compile编译2) nginx的符合POSIX规范的PCR…

集合减法【新思路】

#include<stdio.h> int main() {int n,m,flag0;int x;int a[100001]{0},b[100001]{0};scanf("%d %d",&n,&m);以集合A所有元素作为数组下标映射值成1 for (int i 0; i < n; i) {scanf("%d", &x);a[x] 1; }以集合B所有元素作为数组下…