EEG-MI 基于EEG信号的运动想象分类实验
文章目录
- 1. 项目背景
- 2. 实验目的
- 3. 实验过程
- CNN部分
- 分类器设计
- 性能评估
- 代码
- 参考文献
1. 项目背景
“脑机接口”(Brain Cpmputer Interface, BCI)研究的核心是在大脑和外部设备之间建立直接的联通通路,因此脑机接口也被誉为“人工智能的顶级科学”。脑机接口(BCI)通过计算机信息处理技术理解人的意图,并将此意图转化为对外界的控制命令,实现大脑对外部世界的直接控制。目前的脑机接口应用主要有以下几个方面[1]:
① 脑机接口替代原有中枢神经系统的输出
② 重建丧失的中枢神经系统的输出
③ 补充正常中枢神经系统的输出
④ 改善正常中枢神经系统的输出
⑤ 作为研究工具来研究中枢神经系统的功能
脑电(electroencephalograplh EEG)信号属于非入侵式脑机接口技术,作为一种特殊而复杂的生物电信号,反映了大脑的功能状态,是由脑内亿万神经元活动而引起的头皮表面电位变化,检测这些电位的变化对研究大脑的功能状态非常重要。有效提取脑电信号中蕴藏的信息, 可以更深入地了解大脑的功能活动[2]。近年来,研究脑电信号的任务不断增长,范式主要包括:运动想象数据,情绪识别数据,误差相关电位(ErrP),视觉诱发电位(VEPs),事件相关电位(ERPs),慢皮质电位(SCPs),休息状态音乐与EEG,眨眼/眼动Miscellaneous,临床脑电图等。
本次实验研究了运动想象(MI-EEG)任务,该任务是人在想象自己肢体(或肌肉)运动但没有实际运动输出时,人的特定脑区仍会有激活,目前常见的运动想象部位为:左右,右手,双脚和舌头。通过分析脑电信号,检测识别不同脑区的激活效果来判断用户意图,进而实现人脑与外部设备之间的直接通信与控制。
本实验使用的数据集是本实验采用的数据EEG Motor Movement/Imagery Dataset(eegmmidb),该数据包含了分别开合手、分别想象开合左右手、分别开合双手双脚、分别想象开合双手双脚时人脑64通道的脑电数据。对于一个测试者,需要做十四个实验性的测试,包括两分钟的基线测试(睁眼,闭眼),重复三次以下四个任务:
① 目标出现在屏幕的左侧或右侧。受试者打开和握紧相应的手,直到目标消失,然后受试者放松。
② 目标出现在屏幕的左侧或右侧。受试者想象张开和握紧相应的手,直到目标消失,然后受试者放松。
③ 目标出现在屏幕的顶部或底部。受试者打开或握紧两只手(如果目标在顶部),直到目标消失。然后受试者放松。
④ 目标出现在屏幕的顶部或底部。受试者想象打开和握紧两只手(如果目标在顶部),直到目标消失。然后受试者放松。
本次实验中,我们选择一个测试者S01的两次测试一共六十个任务,每个任务有4秒的时间,采样频率为160次/秒,采集64个通道的数据。测试者的状态包括T0:静息态,T1:想象左手松开/握紧,T2:想象右手松开/握紧。
2. 实验目的
对得到的脑电信号(EEG)进行预处理,消除噪声和干扰
将预处理后的信号进行特征提取,得到有用的数据信息
设计分类器,对三类状态进行分类
评估并对比分类器的性能,评估特征提取的作用
(预处理和特征提取参阅相关的其他博客,本博客主要介绍使用CNN来进行三分类实验)
3. 实验过程
为了正确的识别 EEG 信号,信号的处理应该包括以下三个部分:预处理、特征选择与提取以及特征分类。其中,预处理算法就是利用空间和时间滤波器对这样的原始信号进行滤波,以消除噪声和伪迹;特征提取算法就是从预处理后的脑电信号中抽象出能能够严格区分不同思维状态的特征向量;分类算法就是根据判别准则对提取出的特征向量进行分类,以获取最好的分类效果。最后我们对分类器的性能以及特征提取的作用进行了研究和可视化。实验的流程如图3.1。
CNN部分
分类器设计
通过阅读文献资料[3],发现深度学习在MI-EEG的分类任务中已经发展到得十分成熟,如图3.1,主要包括RNN[5],CNN[4],GCN[6]等。在本实验中,我们基于CNN来设计分类器。CNN在MI-EEG的分类任务中具有诸多优点,一是可以省略特征提取步骤,可以直接输入经过预处理的数据;二是CNN能够从大量数据中学习到高维特征,对于处理大数据有优越的性能,而MI-EEG的数据集十分巨大,一次测试便有640*64个数据点。github上有一个EGG深度学习图书馆
本文的设计的CNN分类器基于[4],包含六个卷积层,两个最大池化层和两个全连接层。裁掉每次实验开头和结尾的一些不稳定数据,数据集大小为[6460,560], 按照7:3的比例划分训练集和测试集。将560个时间戳看成28×20大小的一张图片作为输入,输出是三种类别:T0、T1、T2(静息态,想象左手,想象右手)。一个样本大小为28×20×1,输出为预测类别。batch大小为64,使用的标签集已经处理过,原数据集每个时间戳都有标签,现已将事件戳标签合并为一个,改为每个通道一个标签,并处理为独热码,最终大小为[6460,3]。使用Adam优化器,学习速率为1×10^-5。详细网络结构如图3.20所示。
经过五百轮训练后,训练集上正确率达到98.96%,测试集的三分类正确率达到93.4%,模型性能良好,由图3.4可知,损失函数收敛。根据[4],使用105个人每个人三次实验的四分类正确率为93%-94%之间,与本实验结果相符,说明算法正确。
性能评估
本实验使用accuracy, recall, precision,F-score四个指标对模型性能进行评估。其中准确率(accuracy), 所有的预测正确(正类负类)的占总的比重,准确率越高,意味着模型整体的预测准确程度;精确率(也叫查准率,precision), 即正确预测为正的占全部预测为正的比例,(真正正确的占所有预测为正的比例),精确率越高,意味着正样本中预测准确度越高;召回率(recall), 即正确预测为正的占全部实际为正的比例(真正正确的占所有实际为正的比例);F-score值,F1值为算数平均数除以几何平均数,且越大越好,将Precision和Recall的上述公式带入会发现,当F1-score值小时,True Positive相对增加,而false相对减少,即Precision和Recall都相对增加,即F1-score对Precision和Recall都进行了加权。一般来说准确率和召回率呈负相关,一个高,一个就低,如果两个都低,一定是有问题的。一般来说,精确度和召回率之间是矛盾的,这里引入F1-Score作为综合指标,就是为了平衡准确率和召回率的影响,较为全面地评价一个分类器。
① 真阳性(true positive, TP)
② 伪阳性(false positive,FP)
③ 真阴性(true negative,TN)
④ 伪阴性(false negative,FN)
代码
见github,欢迎大家给我star哦
EEG MI任务原始数据 https://archive.physionet.org/pn4/eegmmidb/
本文代码使用的数据 https://download.csdn.net/download/qq_45347185/12689981
或者 https://github.com/siyi-wind/machine-learning-course-projects/blob/master/EEG-MI%20classification/Data.zip
参考文献
[1] Brunner C , Birbaumer N , Blankertz B , et al. BNCI Horizon 2020: towards a roadmap for the BCI community[J]. Brain Computer Interfaces, 2015, 2(1):1-10.
[2] 李颖洁, 樊飞燕, 陈兴时. Development of EEG Analysis in the Research of Cognitive Science%脑电分析在认知研究中的进展[J]. 北京生物医学工程, 2006, 025(003):321-324.
[3] Padfield N , Zabalza J , Zhao H , et al. EEG-Based Brain-Computer Interfaces Using Motor-Imagery: Techniques and Challenges[J]. Sensors, 2019, 19(6).
[4] Hou Y , Zhou L , Jia S , et al. A novel approach of decoding EEG four-class motor imagery tasks via scout ESI and CNN[J]. Journal of Neural Engineering, 2019, 17(1).
[5] Hou Y , Jia S , Zhang S , et al. Deep Feature Mining via Attention-based BiLSTM-GCN for Human Motor Imagery Recognition[J]. 2020.
[6] Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
[7] 拉杰什P.N.拉奥(Rajesh P. N. Rao). 脑机接口导论[M].北京机械工业出版社.2016-7
[8] 王洪涛.邹鹤良.李达强.何国渊.基于左右手运动想象的在线算法设计与应用.数据采集与处理第28卷第6期2013年11月829-833
EEG-MI 基于EEG信号的运动想象分类实验相关推荐
- 阅读笔记3:基于深度学习的运动想象脑电信号分类算法研究
1.论文信息 题目:基于深度学习的运动想象脑电信号分类算法研究 作者佟歌 单位:哈尔滨工程大学控制科学与工程 发表时间:201803 2.笔记 2.1 脑电信号采集及预处理 2.1.1脑电信号分析方法 ...
- 使用CNN-LSTM混合深度学习分类基于MUSE采集的运动想象EEG信号
点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 脑机接口(BrainComputer Interfaces)技术是将人脑与外部设备建立起直接的通路,在智能助残.人机工程 ...
- CNN+LSTM--一种运动想象分类新模型
说到运动想象(motor imagenation, MI), 我们都很熟悉,它是指个体在心理上模拟给定动作时的动态状态.如何通过运动想象的脑电信号来分类个体的心理意图,一直是研究人员关注的重点,MI信 ...
- 脑电 运动想象 分类
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.肌电&脑电 二.概念 1.介绍 2.数据特征 仿真 提示:这里可以添加本文要记录的大概内容: 提示:以下是本篇文 ...
- 基于EEG的癫痫自动检测: 综述与展望
目录 摘要 1. 癫痫自动检测流程 1.1 数据采集与输入 1.2 数据预处理 1.3 特征提取与选择 1.4 分类模型学习与评估 2. 癫痫自动检测中的特征 2.1 时域特征 2.2 频域特征 2. ...
- 同一肢体不同关节的运动想象过程中的多通道脑电图记录
导读 代表自己周围环境的认知地图对于空间导航是必需的.但是,与其构成要素(例如各个地标)相比,由各个要素之间的关系构成的相干空间信息的神经基质在很大程度上仍然 ...
- 脑机接口(1):运动想象(MI)原理、算法、问题和发展趋势
"脑机接口"(Brain Cpmputer Interface, BCI)研究的核心是在大脑和外部设备之间建立直接的联通通路,因此脑机接口也被誉为"人工智能的顶级科 ...
- 运动想象脑机接口中迁移学习的完整流程
点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 脑机接口(Brain-Computer Interface, BCI)可以让用户使用脑电信号直接与计算机或其他外部设备进 ...
- 训练和验证准确性_通过沉浸式虚拟现实观察动作增强运动想象训练
1.研究背景 增强运动想象的一种方法是动作观察,也就是观察与运动想象任务相关的身体部位的运动.先前的研究表明,镜像神经元通过模仿来进行动作的理解和学习,从而引起相应区域的激活.因此,当一个 ...
最新文章
- c语言fac函数求n的阶乘,急求C语言编辑题:Cnm=n!/m!(n-m)!其中n,m 由键盘输入。要求设计一个函数fac(n)求某个正整数n 的阶乘。...
- Microbiome:16S扩增子测序研究中定量变异和生物量影响
- 太努力工作的年轻人,都有病吧!?
- java 编写代码_如果您在2016年编写过Java代码-这是您不容错过的趋势
- 计算机怎么没有桌面文件夹名称大全,你的电脑文件总是找不到?是时候学习文件夹分类整理了...
- 前端学习(172):格式化文本
- 三维散点图加colorbar
- VBA实战技巧精粹之按某列相同数据分入同一个sheet
- 字体图标的设置(阿里巴巴矢量图库的使用)
- hybrid 单臂路由
- hhkb mac设置_HHKB 键盘 使用攻略 Karabiner
- 【AI视野·今日CV 计算机视觉论文速览 第235期】Mon, 27 Sep 2021
- 推荐这几个不错的提取伴奏在线软件给大家
- 85寸左右电视怎么选 2023年85寸高性价比电视推荐榜单
- WARNING: Ignoring invalid distribution -ip (d:\python\lib\site-packages)
- MATLAB | 一文解决各类曲面交线绘制,包含三维隐函数曲面交线
- 组策略设置计算机禁止睡眠
- 读书笔记——我知道的杨振宁(葛墨林/2022)
- listview(retrofit)
- excel两列交叉对比
热门文章
- Can not set java.util.Date field com.atguigu.qqzone.pojo.Topic.topicDate to null value
- 给定空间的四个点的笛卡尔积坐标,使用python、shell计算二面角
- Javafx+MySQL 学生成绩管理系统
- Unity aab分包Google提审(Play Asset Delivery)
- 如何开发一款前端工具
- 职场修炼--你开口说话的境界在第几层?
- ES6看这一篇就够了
- js常见创建对象的三种方式
- 游戏外挂内存数据读取
- c语言backtrack算法6,一个关于数组回溯算法(backtrack)的通用模式