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

news2024/11/22 19:55:04

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.coloradmin.cn/o/1010249.html

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

相关文章

【C++】常用算术生成算法

0.前言 1.accumulate #include <iostream> using namespace std;// 常用算术生成算法 #include<vector> #include<numeric> //accumulate 的调用头文件void test01() {vector<int>v;for (int i 0; i < 100; i){v.push_back(i);}int total accumu…

msvcp140.dll是什么东西,如何解决msvcp140.dll丢失的问题的方法分享

在现代生活中&#xff0c;电脑已经成为我们工作、学习和娱乐的重要工具。然而&#xff0c;电脑问题的出现往往会给我们的生活带来不便。其中&#xff0c;"msvcp140.dll丢失"是一个常见的电脑问题。本文将详细介绍这个问题的原因和解决方法&#xff0c;帮助大家更好地…

python爬虫经典实例(二)

在前一篇博客中&#xff0c;我们介绍了五个实用的爬虫示例&#xff0c;分别用于新闻文章、图片、电影信息、社交媒体和股票数据的采集。本文将继续探索爬虫的奇妙世界&#xff0c;为你带来五个全新的示例&#xff0c;每个示例都有其独特的用途和功能。 1. Wikipedia数据采集 爬…

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

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

Bean拷贝组件(注解驱动)方案设计与落地

一、背景 数据流转在各层之间的过程&#xff0c;应当是改头换面的&#xff0c;字段属性数量&#xff0c;属性名称&#xff08;一般不变&#xff0c;但也有重构时出现变化的情况&#xff09;&#xff0c;类型名称&#xff08;普遍变化例如BO、VO、DTO&#xff09;。对于转换的业…

华为OD机试 - 字符串加密(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

企业架构LNMP学习笔记45

失效机制&#xff08;了解&#xff09; 1&#xff09;如果key过期了&#xff0c;value会及时删除么&#xff1f;空间会及时清理么&#xff1f; 2&#xff09;如果分配的存储空间&#xff0c;写满了&#xff0c;还允许写么&#xff1f; -m可以配置内存大小。 memcached 内部不…

React TypeScript | 快速了解 antd 的使用

1. 安装&#xff1a; 就像安装其他插件库一样&#xff0c;在项目文件夹下执行&#xff1a; npm install antd --save如果你安装了 yarn&#xff0c;也可以执行&#xff1a; yarn add antd2. 引用 import { Button, Tooltip } from "antd"; import "antd/dis…

Linux内核—模块编译方法

一、向内核添加新功能 1.1 静态加载法&#xff1a; 即新功能源码与内核其它代码一起编译进uImage文件内 新功能源码与Linux内核源码在同一目录结构下 在linux-3.14/driver/char/目录下编写myhello.c&#xff0c;文件内容如下&#xff1a; #include <linux/module.h> #i…

AWS创建实例 启用/禁用 自动分配公有 IP

给AWS新账户做完了对等连接&#xff0c;因为默认VPC网段都冲突 就换了VPC&#xff0c;然后发现新VPC内创建的实例都没有分配公网IP地址&#xff0c;自动分配公网IP地址变成了禁用。后续建机子需要手动修改成启用太麻烦了。 在VPC里面找到编辑子网设置&#xff0c;勾上启用自动…

不使用辅助变量的前提下实现两个变量的交换

package operator; //不用第三个辅助变量&#xff0c;实现两个数的交换 public class Demo08 {public static void change(int a, int b){a ab;b a-b;a a-b;System.out.println(a);System.out.println(b);}public static void main(String[] args) {change(900,3000);} }后续…

IDEA2023.2.1取消空包隐藏,切换包结构(Compact Middle Packages)

解决2023版idea的包结构 取消勾选即可。 取消勾选Compact Middle Packages选项后&#xff0c;再创建包时&#xff0c;即可自动创建树形结构。 仅供学习使用&#xff01;

Matlab图像处理-三基色

三基色 在计算机中&#xff0c;显示器的任何颜色&#xff08;全色域&#xff09;都可以由红、绿、蓝三种颜色组成&#xff0c;称为三基色。 三基色的原理 各原色的取值范围为0~255。 任何颜色都可以与这3种颜色以不同的比例混合获得&#xff0c; 这就是三基色的原理。 在计算…

VMWare虚拟机扩容并挂载磁盘

零、说在前面 我们在使用在VMWare创建虚机运行系统的时候&#xff0c;难免会因为前期规划不足而遇到磁盘空间被占满的情况&#xff0c;此时就需要对虚机的原有存储空间进行扩容。而整体思路&#xff0c;就是将新追加的磁盘空间归属到逻辑卷下&#xff08;类似window的给磁盘分区…

【深度学习】 Python 和 NumPy 系列教程(十七):Matplotlib详解:2、3d绘图类型(3)3D条形图(3D Bar Plot)

目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 线框图 2. 3D散点图 3. 3D条形图&#xff08;3D Bar Plot&#xff09; 一、前言 Python是一种高级编程语言&#xff0c;由Guido van Rossum于1991年创建。它以简洁、易读…

vue的由来、vue教程和M-V-VM架构思想、vue的使用、nodejs

vue vue的由来 vue教程和M-V-VM架构思想 vue的使用 nodejs vue的由来 # 1 HTML(5)、CSS(3)、JavaScript(ES5、ES6、ES11)&#xff1a;编写一个个的页面 -> 给后端(PHP、Python、Go、Java) -> 后端嵌入模板语法 -> 后端渲染完数据 -> 返回数据给前端 -> 在浏览…

C++(day7)

思维导图 Vector #include <iostream>using namespace std;template <typename V> class Myvector{ private:V *data;int Capacity;int Size; public://无参构造Myvector():data(new V[Capacity]),Capacity(0),Size(0){cout<<"无参构造函数"<&…

web端动效 PAG

之前写过一篇lottie动效的文章&#xff1a;web端动效 lottie-web 使用&#xff0c;本篇写一下PAG-web的基础使用。 PAG是腾讯开发&#xff0c;支持移动端、桌面端以及Web端的动效工作流解决方案。目标是降低或消除动效相关的研发成本&#xff0c;能够一键将设计师在 AE&#x…

VoIP之IP直呼

在VoIP应用场景中&#xff0c;有一种功能叫IP直呼&#xff0c;也称为IP直拨。 就是两个SIP终端或终端和服务器之间&#xff0c;通过呼叫&#xff08;Invite)对方IP地址实现音视频通话的功能。 抓包如下&#xff1a; 与常见的SIP账号呼叫的区别是from/to字段没有账号&#xff0…

163邮箱开通发件功能

点击设置 查看详情 开启这个功能&#xff0c;如下 开通IMAP/SMTP服务 开通POP3/SMTP服务完成了 设置邮箱完成。