EEGModels:面向EEG分类的CNN模型集合

神经科学 2026-10-25 6 阅读

EEGModels 是 ARL 开源的 Keras/TensorFlow 卷积神经网络模型集合,提供 EEGNet、DeepConvNet、ShallowConvNet 等模型,用于 EEG 信号分类,便于可重复研究与模型比较。

这个工具是什么

EEGModels 由美国陆军研究实验室(ARL)开发,是一个基于 Keras 和 TensorFlow 的卷积神经网络模型集合,专门用于 EEG 信号处理与分类。项目旨在提供一组经过验证的 CNN 模型,促进可重复研究,并使研究者能方便地在自己的数据上使用和比较这些模型。仓库包含 EEGNet(原始版与修订版)、用于 SSVEP 分类的 EEGNet 变体、DeepConvNet 和 ShallowConvNet 的实现。代码以 Python 编写,要求 Python 3.7/3.8 和 TensorFlow 2.x,并提供了 EEG/MEG ERP 分类的示例脚本。

核心能力

  • 提供多种经典 CNN 模型,包括 EEGNet、DeepConvNet 和 ShallowConvNet,覆盖不同网络复杂度。
  • 包含 EEGNet 的原始版本与修订版本,以及针对 SSVEP 信号的专用变体。
  • 模型以 Keras 层形式实现,可通过简单导入和配置参数快速构建。
  • 支持使用 DeepExplain 进行特征相关性分析,复现 EEGNet 的单试次特征归因结果。

科研中的典型用法

  • 在运动想象或 P300 等 EEG 分类任务中,直接调用 EEGNet 等模型进行训练和测试。
  • 使用 SSVEP 变体模型对稳态视觉诱发电位信号进行分类,支持脑机接口研究。
  • 结合 DeepExplain 工具,对训练好的 EEGNet 模型进行特征归因分析,解释单试次分类依据。

快速上手

将仓库文件夹加入 PYTHONPATH,然后从 EEGModels 导入所需模型,例如 `from EEGModels import EEGNet`。使用 `EEGNet(nb_classes=..., Chans=..., Samples=...)` 配置模型,并用 `model.compile(loss='categorical_crossentropy', optimizer='adam')` 编译,之后调用 fit 和 predict 进行训练与预测。运行示例脚本还需安装 mne、PyRiemann、scikit-learn 和 matplotlib。

生态与相近工具

同领域还有 Braindecode、MOABB 等基于 PyTorch 或 MNE 的 EEG 深度学习工具。EEGModels 侧重于提供 Keras/TensorFlow 实现的经典 CNN 模型,适合需要快速复现或比较 EEGNet 等模型的场景;若需更丰富的预处理流程或 PyTorch 生态,可考虑其他工具。

项目信息

  • 仓库:vlawhern/arl-eegmodels
  • 星标:1,558 · 派生:335
  • 主要语言:Python
  • 许可证:NOASSERTION
  • 最近提交:2022-05-02

本文属于《学科研究工具知识库 · 神经科学》第 7 篇(按 GitHub 星标排序)。收录标准:该学科公开可获取的开源研究工具,星标与活跃度为主要参考,不代表对其性能或适用性的背书;选型前请结合自身场景评估。

评论 共 0 条

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部