摘要:脑电信号具有非平稳性强、信噪比低和个体差异明显等特点,使脑机接口中的运动想象分类较为困难。针对这一问题,本文以标准运动想象脑电数据集为对象,研究基于卷积神经网络的脑电信号分类及可解释性分析,以提高分类自动化水平并增强模型判别的可解释性。
项目简介
本项目基于卷积神经网络实现脑电信号分类,并结合可解释性分析方法对模型判别过程进行研究。
系统概述
脑电信号具有非平稳性强、信噪比低和个体差异明显等特点,给脑机接口中的运动想象分类任务带来了较大困难。围绕脑电信号自动分类问题,本文以标准运动想象脑电数据集为研究对象,开展基于卷积神经网络的脑电信号分类及可解释性分析研究,旨在提高脑电分类过程的自动化程度,并为模型判别依据提供直观解释。
在方法上,本文首先对原始脑电信号进行通道筛选、试次切分、8–30 Hz 频带滤波和标准化处理,构建适用于卷积神经网络输入的样本数据。在模型设计上,选取 EEGNet 和 ShallowConvNet 两种典型卷积神经网络进行四分类实验,并以准确率、平衡准确率和混淆矩阵作为主要评价指标。同时,采用基于梯度的显著性分析方 法,对训练后的模型进行可解释性研究,生成通道重要性图和时空热力图。
实验结果表明,ShallowConvNet 在验证集上的平衡准确率略高于 EEGNet,但在测试集上的泛化能力弱于 EEGNet。其中,EEGNet 在测试集上取得了 0.4394 的准确率和 0.4394 的平衡准确率,整体表现更稳定,因此被选为本文最终分类模型。可解释性分析结果表 明,模型在分类过程中能够关注到具有判别意义的脑电通道与时间区域。研究结果说明,基于 CNN 的方法能够实现运动想象脑电信号的有效分类,并为脑电分类模型的可解释性研究提供了实验基础。
系统架构
本系统整体采用“数据预处理—模型训练—结果评估—可解释性分析”的架构设计。首先,对脑电数据进行通道筛选、试次切分、频带滤波 和标准化处理,构建模型输入样本;随后,分别将处理后的数据输入 EEGNet 和 ShallowConvNet 模型进行训练与分类;在模型训练完成后,通过准确率、平衡准确率和混淆矩阵对分类性能进行评估;最后,基于梯度显著性方法生成 通道重要性图和时空热力图,对模型分类依据进行可解释性分析,从而形成一个完整的脑电信号分类与分析流程。
快速开始
先运行 run_compare.py 完成训练、测试和结果分析,再运行 run_interpret.py 生成可解释性图。
环境要求
需要安装并使用 Python 3.12 的虚拟环境,且环境中已具备 torch、mne、numpy、scipy 和 matplotlib。
结果展示
运行 run_compare.py

图1 EEGNet训练曲线图

图2 ShallowConvNet训练曲线图

图3 EEGNet混淆矩阵图

图4 ShallowConvNet混淆矩阵图

图5 模型分类性能对比图

图6 模型可解释性热力图

图7 脑电通道重要性图
结果点评
本项目完成了脑电信号分类与可解释性分析的完整实现,数据预处理、模型训练、性能评估和结果可视化流程均已跑通。实验结果表明 ,EEGNet 在测试集上的准确率和平衡准确率均为 0.4394,整体表现略优于 ShallowConvNet,说明 EEGNet 在当前数据集上具有更稳定的泛化能力。虽然分类精度仍有进一步提升空间,但项目已经形成了完整、可复现的实验框架,并输出了训练曲线、混淆矩阵和可解释性热力图等结果,能够较好支撑本科毕业设计的实现与分析要求。
项目资源
包括完整的项目源代码、演示视频、运行截图,开箱即用。

关于项目
作者信息
作者:Bob (张家梁)
项目编号:YP-10
原创声明:本项目为原创作品

开源协议
本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。


评论(0)