信息速览

EEGMMIDB — 运动想象脑电基准数据集 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | EEG Motor Movement/Imagery Dataset(EEGMMIDB) |
|---|---|
| 英文全称 | EEG Motor Movement/Imagery Dataset |
| 别名/简称 | EEGMMIDB;PhysioNet EEG Motor Movement/Imagery Dataset;eegmmidb(MNE 数据集标识) |
| 疾病分类(ICD-11) | 8B11(脑卒中);8A60(肌萎缩侧索硬化);8A00(帕金森病)——均为应用方向,受试者本身为健康志愿者 |
| SNOMED CT | 230690007(脑血管意外);71940008(肌萎缩侧索硬化);40701008(脑电图检查) |
| 数据模态 | 64 通道头皮 EEG(单模态,无 EMG/EOG 并行记录) |
| AI 任务类型 | 运动想象分类(左拳/右拳/双拳/双脚/静息)、运动执行解码、被试内与跨被试 BCI 算法基准 |
| 样本总数 | 109 名受试者 × 14 run = 1,526 段记录(官方口径 1,500+ 段) |
| 数据大小 | 3.4 GB(未压缩);ZIP 1.9 GB |
| 数据格式 | EDF+(信号)+ .event 纯文本注释(rdedfann 生成) |
| 许可证 | Open Data Commons Attribution License 1.0(ODC-By 1.0) |
| 访问级别 | 开放(无需注册、无需签署协议) |
| DUO 标签 | NRES(无限制研究使用) |
| 语言 | 元数据与任务提示为英语;信号数据无语言内容 |
| 首发日期 | 2009-09-09 |
| 最后更新 | 2009-09-09(v1.0.0,此后数据冻结、无新版本) |
| 发布机构 | Wadsworth Center(纽约州卫生部)脑机接口研发项目 |
| 官方主页 | https://physionet.org/content/eegmmidb/1.0.0/ |
| 下载地址 | https://physionet.org/files/eegmmidb/1.0.0/ |
| DOI | 10.13026/C28G6P(RRID: SCR_007345) |
| 引用次数 | 4,022+(Google Scholar,截至 2026-09,对应 BCI2000 系统论文) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— EDF+ 信号 + 内置事件注释可被 MNE 直接读取并一键下载,属"有标注、可即用";扣分项:无官方训练/测试划分,且至少 6 名受试者注释存在异常需手动剔除或重切分 |
| 页面状态 | published |
§0 E-E-A-T 审核声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(运动想象神经机制、ICD-11 与 SNOMED CT 映射)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核。医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。EEGMMIDB 以 Open Data Commons Attribution License v1.0(ODC-By 1.0)发布,无需注册或签署协议即可直接下载,引用时须遵循其署名要求。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? EEGMMIDB(EEG Motor Movement/Imagery Dataset)是美国纽约州 Wadsworth Center 用 BCI2000 脑机接口平台采集、托管在 PhysioNet 上的头皮脑电数据集。109 名健康志愿者每人完成 14 段记录:先做睁眼、闭眼各 1 分钟的静息基线,再做开合拳头或活动双脚——既有真实做,也有只在脑中"想"着做——64 个电极以 160 Hz 同步记录,共 1,500+ 段 1-2 分钟的 EDF+ 文件。
为什么重要? 它是运动想象解码领域被引用最多的公开基准之一:配套的 BCI2000 系统论文已被引用 4,022+ 次(Google Scholar,截至 2026-09)。"真实运动 vs 想象运动"的成对设计让它同时服务神经科学(研究运动皮层如何编码动作)与工程(评测脑机接口解码算法)两类社区,而且许可证完全开放,下载不需要任何申请。
我能用它做什么? 训练分类器从 EEG 中解码"你想动左手还是右手",这是脑机接口论文的标准第一步;复现 EEGNet、FBCSP 等经典模型;研究 mu/beta 节律在运动想象时的事件相关去同步(ERD);或者把它当作脑电信号处理的教学数据集。注意:所有受试者均为健康人,直接外推到患者场景需谨慎。
§1.1 摘要
EEGMMIDB 由 Wadsworth Center 脑机接口研发项目(Gerwin Schalk 主持,Dennis J. McFarland 设计实验范式,W. A. Sarnacki 采集数据,Aditya Joshi 整理发布)于 2009 年 9 月 9 日在 PhysioNet 上线,版本 1.0.0,此后冻结。采集使用 BCI2000 通用脑机接口平台(Schalk et al., 2004, IEEE Transactions on Biomedical Engineering 51(6):1034-1043,DOI 10.1109/TBME.2004.827072),64 通道按 10-10 国际电极系统布放(排除 Nz、F9、F10、FT9、FT10、A1、A2、TP9、TP10、P9、P10),采样率 160 Hz,以 EDF+ 格式存储。每名受试者的 14 个 run 构成"2 基线 + 4 任务 × 执行/想象 × 3 次重复"的完整矩阵,任务事件由系统自动打标为 T0(静息)、T1、T2(任务起始),并同步输出 .event 注释文件。数据开放下载:PhysioNet 直接访问、AWS S3 镜像(s3://physionet-open/eegmmidb/1.0.0/)与 OpenNeuro 镜像(ds004362,EEGLAB 格式)三条通路并存,许可证为 ODC-By 1.0。
§1.2 战略价值分析
生态底座维度:EEGMMIDB 是"运动想象解码"这一子领域事实上的公共操场。它的任务结构(左拳/右拳/双拳/双脚 + 静息)与 BCI Competition IV 系列(9 名受试者的 2a/2b 数据集)互补——竞赛数据胜在带官方评测与时间线,而 EEGMMIDB 胜在被试规模(109 vs 9)与完全开放。近十年的深度学习模型(EEGNet、EEGInception、EEGNet Fusion、MSSTNet 等)几乎都把"EEGMMIDB + BCI IV 2a"作为双数据集验证配置,新模型若要证明泛化性,绕不开这两个名字。
数据设计维度:单受试者 14 个 run 的网格结构带来两个独特价值。其一,执行/想象成对设计允许直接量化"想象与真实运动在皮层节律上的差异",这是多数纯想象数据集做不到的;其二,睁眼/闭眼基线为静息态节律(尤其 alpha 波)提供了天然对照,可用于检验预处理管线的频率响应。数据以 EDF+ 标准 + 自动事件注释交付,避免了私有格式转换的工程负担。
教学与标准化维度:由于任务协议完全公开、事件注释由系统自动生成、且 MNE-Python 提供官方下载与通道名标准化接口,EEGMMIDB 成为脑电信号处理课程与开源教程的事实标准教学集。学习者可以在一个下午内完成"下载 → 滤波 → 切片 → 训练一个小分类器"的完整闭环,这在需要申请、签名或大体积下载的数据集上很难实现。这种低门槛也让它在方法学审稿中具备"结果可被任何人复算"的说服力。
§1.3 同类数据集横向对比
| 数据集 | 受试者数 | 模态/通道 | 采样率 | 任务结构 | 核心差异化 |
|---|---|---|---|---|---|
| EEGMMIDB | 109 | 64 通道 EEG | 160 Hz | 2 基线 + 4 任务 × 执行/想象 × 3 重复 | 被试规模最大、开放下载、执行/想象成对设计 |
| BCI Competition IV 2a | 9 | 22 通道 EEG | 250 Hz | 4 类运动想象,2 session | 带官方竞赛评测,时间线完整 |
| BCI Competition IV 2b | 9 | 3 通道 EEG | 250 Hz | 左右手 + 连续反馈 | 小通道数,贴近在线系统配置 |
| OpenNeuro ds004362(EEGMMIDB 镜像) | 109 | 64 通道 EEG | 160 Hz | 同 EEGMMIDB | EEGLAB .set 格式,含 sourcedata/ 原始 EDF |
| BCI2000 自采同构数据 | 自定 | 可配置 | 可配置 | 可复刻同一协议 | 用开源平台生成私有对照数据 |
EEGMMIDB 的不可替代性有三点:被试规模一个量级的领先(109 vs 9)、无需任何申请即可获取、以及 BCI2000 平台带来的协议可复现性——任何实验室都能用开源 BCI2000 复刻同一套采集流程。
§1.4 版本时间轴
| 时间 | 事件 | 说明 |
|---|---|---|
| 2004-06 | BCI2000 系统论文发表 | Schalk et al., IEEE TBE 51(6):1034-1043,数据集的采集平台与方法学基础 |
| 2009-09-09 | EEGMMIDB v1.0.0 上线 PhysioNet | 唯一版本,发布后数据冻结,至今未更新 |
除 PhysioNet 主版本外,数据集另有两条镜像通路:AWS Open Data(s3://physionet-open/eegmmidb/1.0.0/,内容与 PhysioNet 一致)与 OpenNeuro ds004362(EEGLAB 格式转换版)。选择建议见 §3.0 版本抉择矩阵。
§1.5 典型应用场景
- 脑机接口算法基准:以左/右拳想象二分类或五分类(含静息)评测新解码模型,与 BCI IV 2a 互为补充验证。
- 跨被试泛化研究:109 名受试者的规模足以支撑留一被试(LOSO)评估,研究个体差异与被试无关(subject-independent)解码。
- 运动神经科学:利用执行/想象成对设计,量化 mu(8-12 Hz)与 beta(13-30 Hz)节律的事件相关去同步/同步(ERD/ERS)。
- 康复工程原型:为卒中后运动康复的想象-反馈闭环系统提供离线算法验证数据(临床落地需另行患者数据验证)。
- 信号处理教学:EDF+ 读取、伪迹辨识、滤波、分段(epoching)全流程的标准教学数据集,MNE-Python 官方内置下载器。
- 数据质量方法研究:6 名受试者注释异常是现成的"脏数据案例",可用于数据质量断言、异常检测与数据卡片方法学的教学演练。
- 测试时自适应研究:跨被试场景下利用测试被试无标签数据做归一化或自适应,是该数据集支撑的另一类方法学问题。
§2 医学背景
§2.1 ICD-11 编码映射
EEGMMIDB 受试者均为健康志愿者,数据本身不含疾病诊断标签;下表映射的是该数据集在脑机接口应用链路上最常服务的疾病方向,供检索与知识组织使用。
| ICD-11 编码 | 中文名称 | 与本数据集的关系 |
|---|---|---|
| 8B11 | 脑卒中 | 运动想象 BCI 康复(神经反馈促进上肢功能重建)的核心目标人群 |
| 8A60 | 肌萎缩侧索硬化(ALS) | 运动输出丧失患者的辅助通信与控制方向 |
| 8A00 | 帕金森病 | 运动症状监测与运动意图解码的探索方向 |
| 8A61 | 癫痫 | EEG 采集伪迹与信号质量的共病场景参考 |
§2.1b SNOMED CT 映射
| 概念 | SNOMED CT 码 | 术语 | 在本数据集中的对应 |
|---|---|---|---|
| 脑血管意外 | 230690007 | Cerebrovascular accident | 康复应用的目标疾病 |
| 肌萎缩侧索硬化 | 71940008 | Amyotrophic lateral sclerosis | 辅助通信应用的目标疾病 |
| 帕金森病 | 89086000 | Parkinson disease | 运动监测探索方向 |
| 癫痫 | 64766004 | Epilepsy | 信号质量与伪迹语境 |
| 脑电图检查 | 40701008 | Electroencephalography | 本数据集的核心测量技术 |
§2.2 疾病简介与流行病学背景
运动想象脑机接口最主要的临床想象空间是卒中后运动功能障碍。卒中是全球范围内导致成人长期获得性残疾的主要病因之一,大量幸存者遗留上肢运动功能受损;对重度偏瘫患者而言,残余运动能力不足以驱动传统康复训练,形成"越不能动越难恢复"的恶性循环。运动想象 BCI 的设想正是绕过外周执行环节:患者只需在脑中"演练"动作,解码器检测到相应的皮层节律变化后驱动外骨骼或虚拟现实反馈,以闭合"意图-反馈"环路促进神经可塑性。
感觉运动节律研究提供了这一设想的无创生理学基础。当人执行或想象单侧肢体运动时,对侧运动皮层的 mu 节律(8-12 Hz)与 beta 节律(13-30 Hz)出现能量下降(事件相关去同步,ERD),任务结束后又出现能量回升(事件相关同步,ERS)。Wolpaw 学派的经典工作证明,人可以学会自主调节这类节律来驱动外部设备,甚至在没有外周运动的纯想象条件下也是如此。EEGMMIDB 记录的正是这套生理标记在健康人群中的标准形态——包括它的空间分布(对侧中央区 C3/C4 最强)、时间演化(提示后数百毫秒内出现)与频率选择性。
对算法团队而言,这份健康人参照系有三重用途:校准预处理管线(真实运动对照提供"上界"信号形态)、验证特征有效性(ERD 应在预期电极与频段出现)、以及建立性能预期(健康人跨被试的巨大差异预示患者数据会更难)。它是患者数据之外不可或缺的参照系,但绝不能替代患者验证。
§2.3 临床任务定义
在 BCI 语境下,本数据集支持的任务可形式化为:给定任务提示后时间窗内的 64 通道 EEG 片段,判定其属于哪一类别——左拳运动(想象)、右拳运动(想象)、双拳运动(想象)、双脚运动(想象)或静息。四类二分类(左/右拳)是最经典的配置;五分类(加入静息与双拳/双脚)难度更高、更接近实际应用。在康复场景中,该解码器扮演"运动意图检测器"角色:检测到想象运动对应的感觉运动节律模式后,触发外骨骼或虚拟肢体的同步反馈,以闭合"意图-反馈"神经可塑性环路。
从信息流角度,任务可拆为三个环节:(1) 提示编码——屏幕上下目标告知受试者"动什么"(双拳 vs 双脚)与"何时动"(目标出现即开始),左右拳任务则用左右目标提示;(2) 皮层响应——受试者执行或想象动作,产生 ERD/ERS 模式;(3) 标注落盘——BCI2000 在提示出现时刻写入 T1/T2 事件,静息间隔写入 T0。理解这三个环节有助于判断哪些分析问题可答:节律时空形态(环节 2)可用,单试次反应时间(环节 1 无反应时记录)不可答。
注意区分:数据集中的运动执行任务用于建立真实运动对照,不是康复场景本身的一部分;真正面向应用的是想象任务子集。
§2.4 受试者人群构成
| 维度 | 内容 |
|---|---|
| 来源机构 | Wadsworth Center(纽约州卫生部),纽约州奥尔巴尼,单中心 |
| 受试者类型 | 健康志愿者,无运动功能障碍(官方未公布纳入/排除标准细节) |
| 样本量 | 109 人 |
| 年龄 | 官方未逐例公开 |
| 性别 | 官方未逐例公开 |
| 利手 | 官方未逐例公开(左/右拳任务设计隐含利手平衡假设,未经数据验证) |
| 种族/地域 | 官方未逐例公开;采集地点为美国纽约州 |
| 受试者状态 | 非患者、非用药人群;运动功能正常 |
| 就医类型 | 不适用(非患者人群,实验室内采集) |
§2.5 临床价值分析
对临床开发者而言,EEGMMIDB 的价值在于"先在健康人上把算法做对"。卒中患者的感觉运动节律往往幅值更弱、信噪比更差、个体变异更大,直接在患者数据上迭代算法成本极高;EEGMMIDB 提供了协议标准、标注清晰的对照组,用于锁定特征提取(CSP、滤波器组)与分类架构的基线性能。执行/想象成对设计还能帮助研究团队校准"想象质量"的预期——健康人想象与执行的皮层模式差异本身就有变异,这提示患者数据的解码上限应当保守设定。需要强调:本数据集不能替代患者数据注册研究,任何面向临床的解码器都需在目标人群上重新验证。
§2.6 参照金标准
| 维度 | 本数据集的做法 | 金标准角色 |
|---|---|---|
| 划分 | 无官方划分;社区以被试内 holdout 或 LOSO 为主 | 提供跨研究的可比性基准 |
| 标注方式 | BCI2000 系统按屏幕提示自动记录事件时间,rdedfann 转换为 EDF+ 注释与 .event 文件 | 任务提示时间即标签来源,无人工判读环节 |
| 标注者 | 系统自动生成(无标注者间一致性指标) | 以实验协议的正确执行为保证 |
| 性质 | 任务范式标签(起始时间 + 类别),非临床诊断标签 | 运动想象解码研究的参照真值 |
§3 数据集规格
§3.0 版本抉择矩阵
| 你的需求 | 推荐版本 | 大小 | 理由 |
|---|---|---|---|
| 通用研究(MNE/Python 管线) | PhysioNet v1.0.0 | 3.4 GB | 官方主版本,EDF+ 原生格式,MNE 一键下载 |
| EEGLAB 用户 / MATLAB 管线 | OpenNeuro ds004362 | 7.77 GB | 预转换 .set 格式;sourcedata/ 保留原始 EDF;事件码格式不同需重写映射 |
| 云端/CI 自动化管道 | AWS S3 镜像 | 3.4 GB | s3://physionet-open/eegmmidb/1.0.0/,–no-sign-request 免凭证 |
| 教学演示 / 快速验证 | MNE eegbci 按需下载 | 单被试约 31 MB | 只取需要的被试与 run,避免整库下载 |
§3.1 模态详情
- EEG(唯一模态):64 通道头皮脑电,10-10 国际电极系统布放,信号编号 0-63;排除 Nz、F9、F10、FT9、FT10、A1、A2、TP9、TP10、P9、P10 十一个标准点位。采样率 160 Hz,EDF+ 格式存储,信号物理单位为微伏级(EDF 头文件声明)。
- 无并行肌电/眼电通道:与部分运动想象数据集不同,EEGMMIDB 不含 EMG,无法直接验证想象任务期间受试者确实未做真实运动——这是解读执行/想象对照时必须记住的限制。
- 事件注释作为第二信息流:每个 EDF 内嵌 EDF+ 注释,同时配套 rdedfann 生成的 .event 纯文本文件,记录 T0/T1/T2 事件的起始样本点与类别。
- 任务提示视觉通道:屏幕目标(上下位置区分双拳/双脚,左右位置区分左/右拳)由 BCI2000 实时呈现;提示内容本身未随数据发布,需依据官方描述重建。
- 数据完整性:每名受试者的 14 个 run 均完整发布;全库未见缺 run、缺通道的记录(注释异常问题见 §3.6)。
§3.2 按子集样本数
| 子集 | run 编号 | 单次时长 | 内容 | 事件构成 |
|---|---|---|---|---|
| 基线-睁眼 | R01 | 1 分钟 | 静息,注视屏幕十字 | 仅 T0 |
| 基线-闭眼 | R02 | 1 分钟 | 静息,闭眼 | 仅 T0 |
| Task1-真实左/右拳 | R03, R07, R11 | 各 2 分钟 | 真实开合左拳或右拳(屏幕目标决定) | T0/T1/T2 |
| Task2-想象左/右拳 | R04, R08, R12 | 各 2 分钟 | 想象开合左拳或右拳 | T0/T1/T2 |
| Task3-真实双拳/双脚 | R05, R09, R13 | 各 2 分钟 | 真实开合双拳(目标在上)或双脚(目标在下) | T0/T1/T2 |
| Task4-想象双拳/双脚 | R06, R10, R14 | 各 2 分钟 | 想象开合双拳或双脚 | T0/T1/T2 |
每名受试者 14 个 run 合计约 26 分钟记录(2 × 1 min + 12 × 2 min);全部 109 名受试者共 1,526 个 EDF 文件(官方口径 1,500+ 段),累计信号时长约 47 小时(按协议时长推算)。
关于"样本数"的三个口径,写论文时务必区分:(1) 记录数——1,526 个 EDF 文件,是数据集的物理单元;(2) 事件数——每个任务 run 内 T1/T2 事件各若干个、T0 填充间隔,是切片前的逻辑单元;(3) 样本数(epochs)——按你选定的窗长切出的训练样本,受边界裁剪与剔除规则影响,每篇论文都不同。文献中的"每被试约 1,200 个样本"之类的说法均属第三种口径,必须结合窗长与 run 子集理解。
§3.3 数据格式
| 格式 | 载体 | 说明 |
|---|---|---|
| EDF+ | SxxxRyy.edf | 官方主格式,64 通道信号 + 内嵌注释,MNE/EEGLAB 均可读取 |
| .event 文本 | SxxxRyy.event | rdedfann 从 EDF+ 注释生成的空格分隔文本,记录事件起始样本点与 T0/T1/T2 类别 |
| EEGLAB .set | OpenNeuro ds004362 | 第三方转换镜像;事件码为任务编号与 T0/T1/T2 的拼接形式,与 PhysioNet 原生注释不一致 |
§3.4 存储大小
| 载体 | 大小 | 备注 |
|---|---|---|
| PhysioNet 全库(未压缩) | 3.4 GB | 109 个受试者目录 × 28 个文件(14 EDF + 14 event) |
| PhysioNet ZIP 打包 | 1.9 GB | 单文件下载选项 |
| OpenNeuro ds004362 | 7.77 GB | 9,162 个文件(.set 格式膨胀 + sourcedata/ 原始 EDF) |
体积规划的实用参考:单个 EDF 文件约 2 MB 量级(64 通道 × 160 Hz × 1-2 分钟),单被试目录约 31 MB;因此"按需下载若干被试"的成本极低,只有需要全库 LOSO 或批量统计时才值得整库 3.4 GB。AWS 镜像与 PhysioNet 体积一致。
§3.5 标注方式
标注完全由采集系统自动产生,属"协议驱动"标注:BCI2000 在每个任务提示出现时写入事件标记,rdedfann 随后将标记转换为 EDF+ 注释与 .event 文件。任务事件时长固定为约 4.1-4.2 秒。没有任何人工 EEG 判读,也没有质量标签(如坏导、伪迹标记)。
三码制语义总表:
| 事件码 | 含义 | 在 R03/04/07/08/11/12 中的语义 | 在 R05/06/09/10/13/14 中的语义 |
|---|---|---|---|
| T0 | 静息/无任务 | 任务间隔与准备期 | 任务间隔与准备期 |
| T1 | 任务起始 | 左拳开合(真实或想象) | 双拳开合(真实或想象) |
| T2 | 任务起始 | 右拳开合(真实或想象) | 双脚开合(真实或想象) |
同一事件码的语义随 run 变化是解读标签的第一前提(详见 §6.5 坑点 1);基线 run(R01/R02)中仅出现 T0。
§3.6 标注者资质与一致性
不存在独立标注者,因此也不存在标注者间一致性指标(Cohen’s kappa、Krippendorff’s alpha 等在此不适用)。标注质量的保证来自实验协议的机器执行。副作用是系统性标注缺陷无法被质量审核环节拦截:多篇后续论文独立报告了至少 6 名受试者(S038、S082、S088、S089、S100、S104)的事件注释与实验设计不符(Chowdhury et al., 2023, Sensors 23(18):7908),官方页面未对此提供说明(详见 §6.5 坑点 4)。
§3.7 采集周期
数据集于 2009 年 9 月 9 日一次性发布(v1.0.0),官方页面未标注具体采集起止日期。每位受试者在一个实验 session 内完成全部 14 个 run(约 26 分钟记录时长),未提供纵向随访数据。
§3.8 地域覆盖
单中心:美国纽约州奥尔巴尼 Wadsworth Center 实验室。无多中心分布,设备、环境与操作规程在全部记录间同质。
§3.9 设备规格
| 项目 | 规格 |
|---|---|
| 采集平台 | BCI2000 通用脑机接口系统(开源,Schalk et al., 2004) |
| 通道数 | 64(信号编号 0-63) |
| 电极系统 | 10-10 国际系统,排除 Nz、F9、F10、FT9、FT10、A1、A2、TP9、TP10、P9、P10 |
| 采样率 | 160 Hz |
| 存储格式 | EDF+ |
| 任务呈现 | BCI2000 实时屏幕提示(目标位置编码任务类别) |
| 事件标记 | 任务提示时刻写入,rdedfann 转换为 .event 与 EDF+ 注释 |
| 放大器型号 | 官方页面未注明 |
§3.10 深度溯源链
- 采集与发布:Wadsworth Center 脑机接口研发项目(BCI R&D Program, New York State Department of Health)→ Gerwin Schalk(项目负责人)、Dennis J. McFarland(实验设计)、W. A. Sarnacki(数据采集)、Aditya Joshi(数据整理)、Jonathan R. Wolpaw(项目监督)。
- 方法学载体:BCI2000 系统(Schalk, McFarland, Hinterberger, Birbaumer, Wolpaw. IEEE TBE 51(6):1034-1043, 2004, DOI 10.1109/TBME.2004.827072)。
- 托管与资助:PhysioNet(Goldberger et al., Circulation 101(23):e215-e220, 2000)托管;美国 NIH/NIBIB 资助(基金号 EB006356 与 EB00856)。
- 持久标识:DOI 10.13026/C28G6P;RRID: SCR_007345。
§4 数据结构
§4.0 目录树
数据解压后按受试者分目录组织,每个 run 一对文件(信号 + 注释):
eegmmidb/1.0.0/
├── S001/
│ ├── S001R01.edf # run 1:睁眼静息基线
│ ├── S001R01.event # rdedfann 生成的注释文件
│ ├── S001R02.edf # run 2:闭眼静息基线
│ ├── ...
│ ├── S001R14.edf # run 14:想象双拳/双脚(第 3 次)
│ └── S001R14.event
├── S002/
│ └── ...(同样 14 对文件)
├── S003/
├── ...
└── S109/
├── S109R01.edf
└── ...
文件命名规则:S{受试者号 001-109}R{run 号 01-14}.edf/.event。全库共 109 × 28 = 3,052 个文件(PhysioNet 未压缩 3.4 GB)。
目录树的两点实用说明:(1) run 编号即任务语义的钥匙——任何分析脚本都应从文件名解析 run 号再查语义表,不存在"全库统一标签"的捷径;(2) .event 文件与 EDF 内嵌注释内容一致,前者便于脚本快速读取,后者便于标准 EDF+ 工具链直接消费,二选一即可,无需同时解析。
§4.1 DAIMS 字段字典
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| subject_id | sc:Text | 受试者编号(目录名) | S001 | 被试级分组、LOSO 切分 | 无 | 无 | S001-S109 |
| run_id | sc:Integer | run 编号(文件名 R01-R14) | R04 | 任务语义映射的键 | 注释异常集中于个别被试 | 无 | 01-14 |
| signal | sc:Float | 64 通道 EEG 时间序列 | Fc5. 通道 160 Hz 采样 | 分类模型输入 | 电极阻抗漂移、工频噪声 | 无 | 通道 0-63 |
| channel_name | sc:Text | EDF 通道名(非标准 10-20 写法) | Fc5. | 空间滤波、montage 定位 | 须 standardize 后才可与标准模板对齐 | 无 | 64 个唯一值 |
| sfreq | sc:Integer | 采样率 | 160 | 窗长与滤波器设计 | 个别文件建议加载后校验 | 无 | 160 |
| annotation | cr:Label | 事件类别 | T1 | 分类标签 | T1/T2 语义随 run 变化 | 无 | |
| event_onset | sc:Integer | 事件起始样本点 | 1280 | epoch 切分起点 | run 边界处事件可能被裁剪 | 无 | 0 至记录长度 |
| event_duration | sc:Float | 事件时长(秒) | 4.2 | 任务窗长设计 | 协议固定值 | 无 | 4.1-4.2(任务事件) |
| task_semantics | sc:Text | 由 run 号推导的任务语义 | left_fist | 补全标签含义(非文件自带) | 依赖使用者的 run 映射正确性 | 无 | {left/right fist, both fists/feet} × |
| subject_session | sc:Text | 单一实验 session(每被试仅 1 次) | S001 全部 14 run | 划分设计(无跨日泛化问题) | 无纵向重测数据 | 无 | 每被试 1 个 session |
§4.2 标签分布
| 五分类语义 | 事件码 | 出现的 run | 语义 |
|---|---|---|---|
| 静息 | T0 | 全部 14 个 run | 无任务/任务间隔 |
| 左拳 | T1 | R03, R04, R07, R08, R11, R12 | 真实或想象左拳开合起始 |
| 右拳 | T2 | R03, R04, R07, R08, R11, R12 | 真实或想象右拳开合起始 |
| 双拳 | T1 | R05, R06, R09, R10, R13, R14 | 真实或想象双拳开合起始 |
| 双脚 | T2 | R05, R06, R09, R10, R13, R14 | 真实或想象双脚开合起始 |
同一事件码在不同 run 中语义不同,这是本数据集最核心的标签陷阱(见 §6.5 坑点 1)。类别由屏幕提示协议驱动,任务 run 内左/右(或双拳/双脚)目标交替出现,各类别近似均衡;基线 run(R01/R02)只含 T0。若把基线 run 直接并入五分类,静息类样本会被加倍放大。
从使用视角看标签体系的三种常见重组方式:(1) 二分类——只用 R04/R08/R12(或 R03/R07/R11)的 T1/T2,构造左拳 vs 右拳想象(或执行);(2) 二分类手 vs 脚——只用 R06/R10/R14(或 R05/R09/R13),T1/T2 变为双拳 vs 双脚;(3) 五分类——任务 run 的 T0/T1/T2 重映射为静息/左/右/双拳/双脚。三种重组都要求先过 run → 语义映射表,切勿按事件码直接聚合。
§4.3 关键统计
| 统计项 | 数值 | 说明 |
|---|---|---|
| 受试者数 | 109 | 健康志愿者 |
| EDF 记录数 | 1,526 | 109 × 14(官方口径 1,500+ 段) |
| 单被试记录时长 | 约 26 分钟 | 2 × 1 min 基线 + 12 × 2 min 任务 |
| 全库信号时长 | 约 47 小时 | 按协议时长推算 |
| 通道数 | 64 | 10-10 系统减 11 个点位 |
| 采样率 | 160 Hz | 全库一致 |
| 任务事件时长 | 4.1-4.2 秒 | T1/T2 固定 |
§4.4 数据层级
| 层级 | 单元 | 数量 | 说明 |
|---|---|---|---|
| L1 | 数据集 | 1 | eegmmidb/1.0.0,PhysioNet 托管 |
| L2 | 受试者 | 109 | S001-S109,每被试一个目录 |
| L3 | run | 109 × 14 = 1,526 | R01-R14,每 run 一个 EDF + 一个 .event |
| L4 | 通道 × 样本 | 64 × 160 Hz 时间序列 | EDF 内连续信号 |
| L5 | 事件注释 | 每 run 数十个 | T0/T1/T2 起始样本点,由 BCI2000 提示写入 |
层级最深两层构成"连续信号 + 稀疏事件"的组合,任何分类样本(epoch)都需由事件起始点在连续信号上切片生成——数据集本身不提供预切分的样本级文件。这一设计的好处是窗长、频带、重叠策略完全由使用者掌控;代价是每篇论文的"样本数"口径不一,跨论文比较样本量时必须还原到 run/事件层面。
§4.5 缺失值与信息性缺失
| 现象 | 性质 | 建议处理 |
|---|---|---|
| EDF 信号本身 | 无缺失值(连续记录,无通道级空洞) | 无需插补 |
| 6 名受试者注释异常(S038、S082、S088、S089、S100、S104) | 信息性缺失:注释与协议不符,官方未标记 | 剔除或逐例人工核对(见坑点 4) |
| 基线 run 仅含 T0 | 设计使然,不是缺失 | 五分类场景下不要把基线 run 并入任务统计 |
| 任务提示内容未随数据发布 | 依赖官方文字描述重建提示语义 | 按 §3.2 表格建立 run → 任务映射 |
| 个体人口学信息 | 官方未发布(非缺失,是隐私边界设计) | 不做人口学子群分析 |
总体判断:这是"信号层零缺失、元信息层有结构性空白"的数据集。所有需要人工补齐的空白(run 语义、异常名单、划分协议)都在本页 §5 与 §6 有明确操作方案;把它们写进你自己的数据加载与划分代码,即可获得一个干净、可复现的研究底座。
§5 数据划分与使用建议
§5.1 官方划分
不存在官方训练/验证/测试划分——数据集发布时以"完整库"形态交付,划分权完全留给使用者。这是引用其结果时必须交代协议的原因:同为"EEGMMIDB 上的准确率",被试内与跨被试协议可以相差 20 个百分点以上。
§5.2 社区惯例划分
| 惯例 | 做法 | 代表出处 |
|---|---|---|
| 被试内 holdout | 单被试任务 run 切 epoch 后按时间块划分训练/测试 | EEGNet 等模型的早期评测惯例 |
| 五分类被试组 | 固定使用 S001-S010 十名被试,五分类(静息/左/右/双拳/双脚) | Lian et al., 2025, Brain Sciences 15(8):877 |
| 跨被试 LOSO | 留一被试循环测试,使用 R06/R10/R14(手 vs 脚想象) | Nur Aziezah et al., 2025, CSER 4(1) |
| 剔除异常被试 | 剔除 S038、S082、S088、S089、S100、S104 后用 103 人 | Chowdhury et al., 2023, Sensors 23(18):7908 |
| 仅想象子集 | 只用 R04/R06/R08/R10/R12/R14,执行 run 留作对照 | 多数 BCI 论文惯例 |
§5.3 泄漏风险
- 同被试跨 run 混切分:把同一被试不同 run 的 epoch 打乱后随机划分,训练与测试几乎共享同一分布,性能虚高;对外部署时个体差异才是真实挑战。
- 全局统计量泄漏:对全库做 z-score 标准化,或在全量数据上拟合 CSP 空间滤波器,等于把测试分布信息注入训练。
- 增强算子泄漏:对训练集与测试集分别做增强时看似安全,但若增强参数(如幅值缩放范围)依赖全库统计,同样构成泄漏。
- 测试期无监督归一化的灰色地带:LOSO 协议中用测试被试的无标签统计量做 z-score 属于测试时自适应,须在论文中显式声明(Nur Aziezah et al., 2025 即做了此声明)。
§5.4 划分策略建议
按研究目的选择:算法原型迭代用被试内分块(速度快、信号足);论文主张"可用于真实用户"则必须给出 LOSO 或分组 k-fold 的跨被试数字;二者同时报告最能体现工作的严谨性。被试名单建议固定并随代码发布,避免"每次划分不同"的不可比问题。
§5.4 交叉验证建议
被试内场景:按 run 或按时间块分块交叉验证,禁止事件级随机打散后切分。跨被试场景:LOSO 或分组 k-fold(GroupKFold,group = subject_id),并把"是否使用测试被试无标签统计量"写入协议。推荐同时报告被试内与 LOSO 两套数字,二者差距本身就是有价值的泛化性证据。
§5.5 外部验证建议
算法成熟后应在 BCI Competition IV 2a(250 Hz、22 通道、2 session)上做跨数据集验证;两库采样率、通道布局与提示时序不同,需重写数据加载层并核对频率带映射,不建议把 EEGMMIDB 上调好的全部超参数原样迁移。
分阶段验证路线图:(1) 第一步在同库做被试内分块评估,确认信号处理与模型结构无误;(2) 第二步同库 LOSO,量化个体差异带来的损失;(3) 第三步跨库(BCI IV 2a)验证采样率与 montage 迁移;(4) 第四步(如面向临床)在患者数据上做小样本校准研究。每一步的通过标准建议预先设定,例如 LOSO kappa 不低于同库被试内 kappa 的一半。
§6 AI 就绪指南
§6.0 云端快速启动
数据已镜像到 AWS Open Data,免凭证同步:
aws s3 sync --no-sign-request s3://physionet-open/eegmmidb/1.0.0/ ./eegmmidb/1.0.0/
CI 环境建议只拉取需要的被试目录(如 s3://physionet-open/eegmmidb/1.0.0/S001/),完整库 3.4 GB 对多数实验并非必需。
§6.1 快速上手(最小可用路径)
预期目录结构:MNE 下载器会把数据放到 ~/mne_data/MNE-eegbci-data/files/eegmmidb/1.0.0/,即 data_root = 该路径;若手动 wget,则 data_root = 解压目录。最小可用子集:单个受试者的想象 run(如 S001 的 R04、R06、R08、R10、R12、R14 中任选 2 个)即可跑通全流程。
# 目录结构预期:
# data_root = ~/mne_data/MNE-eegbci-data/files/eegmmidb/1.0.0/
# data_root/S001/S001R04.edf <- eegbci.load_data 自动下载并拼接路径
# 最小可用子集:1 名被试 x 2 个想象 run
import mne
from mne.datasets import eegbci
from mne.io import read_raw_edf
subject, runs = 1, [4, 6] # R04 想象左/右拳,R06 想象双拳/双脚
paths = eegbci.load_data(subject, runs) # 首次运行自动下载
raws = [read_raw_edf(p, preload=True) for p in paths]
eegbci.standardize(raws) # 通道名标准化:Fc5. -> FC5
raw = raws[0]
print(raw.info) # 64 通道,160 Hz
events, event_id = mne.events_from_annotations(raw)
print(event_id) # {'T0': 1, 'T1': 2, 'T2': 3}
§6.2 数据获取
| 方式 | 命令/入口 | 大小 | 备注 |
|---|---|---|---|
| PhysioNet 网页 | physionet.org/content/eegmmidb/1.0.0/ | — | 在线浏览与逐文件下载 |
| wget 全库 | 见下方命令 | 1.9-3.4 GB | 断点续传 |
| AWS S3 | s3://physionet-open/eegmmidb/1.0.0/ | 3.4 GB | –no-sign-request 免账号 |
| MNE 按需 | mne.datasets.eegbci.load_data | 按被试 | 推荐教学与原型 |
| OpenNeuro | ds004362 | 7.77 GB | EEGLAB 格式 |
wget -r -N -c -np https://physionet.org/files/eegmmidb/1.0.0/ -P ./eegmmidb
无需注册、无需数据使用协议:数据集许可证为 ODC-By 1.0,唯一义务是引用数据集 DOI(10.13026/C28G6P)与配套论文(见 §9)。
§6.3 预处理全流程
标准预处理链:读取 EDF → 通道名标准化 + montage → 滤波(工频 notch + 8-30 Hz 带通覆盖 mu/beta)→ 按 run 映射任务语义 → 事件切片 → 被试内标准化。完整可运行脚本(约 50 行,展开查看):
<details>
<summary>预处理 Pipeline 完整代码</summary>
# 输入:MNE 已下载的 EEGMMIDB 数据(eegbci.load_data 的返回路径)
# 输出:每个被试的想象任务 epochs(8-30 Hz,任务窗 0.5-4.0 s)
import numpy as np
import mne
from mne.datasets import eegbci
from mne.io import read_raw_edf
from mne.channels import make_standard_montage
mne.set_log_level("WARNING")
RUN_TASKS = { # run 号 -> 任务语义(T1/T2 的含义)
4: ("left_fist", "right_fist"),
8: ("left_fist", "right_fist"),
12: ("left_fist", "right_fist"),
6: ("both_fists", "both_feet"),
10: ("both_fists", "both_feet"),
14: ("both_fists", "both_feet"),
}
EXCLUDE_SUBJECTS = {"S038", "S082", "S088", "S089", "S100", "S104"}
def load_epochs(subject: int, run: int):
paths = eegbci.load_data(subject, [run])
raw = read_raw_edf(paths[0], preload=True)
eegbci.standardize(raw) # Fc5. -> FC5 等标准名
raw.set_montage(make_standard_montage("standard_1005"))
raw.notch_filter(60.0) # 美式记录的工频干扰
raw.filter(8.0, 30.0, method="fir")
events, _ = mne.events_from_annotations(raw)
t1, t2 = RUN_TASKS[run] # T1/T2 语义随 run 变化
labels = {1: t1, 2: t2} # T0 剔除
keep = np.isin(events[:, 2], list(labels))
events = events[keep]
epochs = mne.Epochs(raw, events, labels, tmin=0.5, tmax=4.0,
baseline=None, preload=True,
reject_by_annotation=False)
print(f"S{subject:03d} R{run:02d}: {len(epochs)} epochs, "
f"dropped {len(events) - len(epochs)}") # 检查边界裁剪
return epochs
if __name__ == "__main__":
epochs = load_epochs(subject=1, run=4) # S001 想象左/右拳
X = epochs.get_data() # (n_epochs, 64, n_times)
y = epochs.events[:, 2]
print(X.shape, y.shape)
</details>
要点:T1/T2 → 语义标签的映射必须以 run 号为键(坑点 1);若使用 resample,必须连同 events 一起重采样(坑点 2);排除名单按研究自行决定(坑点 4)。
§6.4 PyTorch DataLoader
完整可运行的 Dataset 类:从 EDF 文件直接切 epoch,无需中间落盘(约 50 行,展开查看):
<details>
<summary>EEGMMIDB PyTorch Dataset 完整代码</summary>
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
import mne
from mne.datasets import eegbci
from mne.io import read_raw_edf
RUN_TASKS = {4: (0, 1), 8: (0, 1), 12: (0, 1),
6: (2, 3), 10: (2, 3), 14: (2, 3)}
CLASSES = ["left_fist", "right_fist", "both_fists", "both_feet"]
class EEGMMIDB(Dataset):
"""被试内想象任务数据集:4 类想象运动,任务窗 0.5-4.0 s。"""
def __init__(self, subject: int, runs=(4, 8, 12), sfreq=160, transform=None):
X, y = [], []
for run in runs: # 只用想象 run
raw = read_raw_edf(eegbci.load_data(subject, [run])[0],
preload=True)
eegbci.standardize(raw)
raw.filter(8.0, 30.0, verbose=False)
events, _ = mne.events_from_annotations(raw)
ev = events[np.isin(events[:, 2], (1, 2))]
epochs = mne.Epochs(raw, ev, {"T1": 1, "T2": 2},
tmin=0.5, tmax=4.0, baseline=None,
preload=True, reject_by_annotation=False)
lab_map = RUN_TASKS[run]
data = epochs.get_data()
for i, code in enumerate(epochs.events[:, 2]):
X.append(data[i])
y.append(lab_map[code - 1]) # T1/T2 -> 语义类别
self.X = torch.tensor(np.asarray(X, dtype="float32"))
self.y = torch.tensor(np.asarray(y, dtype="int64"))
self.transform = transform
def __len__(self):
return len(self.y)
def __getitem__(self, idx):
x = self.X[idx]
if self.transform:
x = self.transform(x)
return x, self.y[idx]
if __name__ == "__main__":
ds = EEGMMIDB(subject=1, runs=(4, 8, 12))
print(ds.X.shape, ds.y.shape) # torch.Size([N, 64, 560])
loader = DataLoader(ds, batch_size=32, shuffle=True, num_workers=2)
for xb, yb in loader:
print(xb.shape, yb.shape)
break
</details>
窗长说明:0.5-4.0 s 对应 560 个采样点(160 Hz);加入 R06/R10/R14 即得 4 类。跨被试版本只需把 subject 换成被试列表并在 __init__ 里循环拼接,切分务必按被试分组(见 §5.3)。
§6.5 坑点
⚠️ 坑点 1:T1/T2 标签语义随 run 漂移(分类:标签理解)
问题:T1/T2 在 R03/04/07/08/11/12 中表示左拳/右拳,在 R05/06/09/10/13/14 中却表示双拳/双脚。直接把所有 run 的 T1 当作"左手"训练,会得到类别定义混乱的模型。
症状:二分类准确率明显低于文献基线;混淆矩阵显示"左拳 vs 双拳"系统性互混;ERD 地形图与预期运动区不符。
解决:
- 简单方法:建立 run 号 → 语义的映射字典(如 §6.3 的
RUN_TASKS),切 epoch 前先查表。- 进阶方法:在数据管道中加断言
assert run in RUN_TASKS,并对每个 run 打印标签直方图,人工抽查一次。- SOTA 方法:把映射写进数据卡片(data card)随模型工件入库,CI 中的标签分布检查可捕获任何 run 语义误用。
参考:MNE Forum 主题 #11896(EEG motor dataset, cannot see the expected results);PhysioNet 官方页 run 描述。
⚠️ 坑点 2:重采样后事件索引与信号错位(分类:工程陷阱)
问题:
raw.resample()改变采样率后,先前按 160 Hz 提取的事件样本点索引不再对齐,切片窗口整体偏移。
症状:epoch 的任务起始对不上提示时间;ERD 时程出现固定的亚秒级滞后;同一事件两次运行结果不同。
解决:
- 简单方法:先切 epoch,再对 epoch 做重采样(
epochs.resample())。- 进阶方法:必须先重采样时,把 events 一起传入:
raw.resample(128, events=events),使用返回的同步 events。- SOTA 方法:保持 160 Hz 原生采样率建模(CNN 直接池化即可),把重采样从训练管线中整体移除,减少一个变量。
参考:MNE Forum 主题 #11896 中对 events/resample 同步的讨论。
⚠️ 坑点 3:EDF 通道名非标准,montage 定位失败(分类:预处理陷阱)
问题:EDF 头文件中的通道名写作
Fc5.、Fc3.(首字母大写 + 句点后缀),与标准 10-20 名(FC5、FC3)不一致;不标准化就无法set_montage,拓扑图与空间滤波报错或静默错位。
症状:set_montage抛出 “missing channel locations”;地形图空白;CSP 特征的空间模式无法解释。
解决:
- 简单方法:
eegbci.standardize(raw)(MNE 内置,专为该数据集设计)。- 进阶方法:手动正则清洗后
raw.set_montage(mne.channels.make_standard_montage("standard_1005"))。- SOTA 方法:在数据加载层固化"标准化 + montage"步骤,并对通道名做单元测试,防止新版本 MNE 行为变化引入回归。
参考:MNE-Pythonmne.datasets.eegbci文档。
⚠️ 坑点 4:六名受试者事件注释与协议不符(分类:偏倚陷阱)
问题:S038、S082、S088、S089、S100、S104 六名受试者的部分 run 事件注释未按实验设计记录(如目标提示顺序异常),官方未作标记。基于协议假设的自动切分会为这 6 人生成错误标签。
症状:这 6 名被试的被试内准确率异常低(接近随机)或事件数与其他被试明显不一致;LOSO 成绩被个别被试拖垮且原因难查。
解决:
- 简单方法:直接剔除 6 人,使用 103 人版本(Chowdhury et al., 2023 即如此处理),并在论文中声明。
- 进阶方法:逐例加载事件序列与协议模板比对,只剔除确实异常的 run 而非整人。
- SOTA 方法:把"事件序列符合协议模板"写成数据质量断言纳入加载器,任何被试不达标自动进入隔离清单并记录日志。
参考:Chowdhury et al., 2023, Sensors 23(18):7908(剔除名单与理由)。
⚠️ 坑点 5:无官方划分导致的被试内泄漏与虚高准确率(分类:评估误用)
问题:数据集不提供划分,早期论文普遍用"全部 epoch 随机打散 + holdout",训练与测试样本时间交错甚至同源,性能被大幅高估;部署面对的是"没见过的人",差距巨大。
症状:被试内随机划分可达 90%+ 的模型,LOSO 协议下平衡准确率掉到 66% 左右(EEGNet,手 vs 脚任务,0.660 ± 0.136)。
解决:
- 简单方法:至少报告两套协议——被试内分块 holdout 与 LOSO——并显式标注协议名。
- 进阶方法:
GroupKFold(group=subject_id)+ 按时间分块的组合划分,同时报告 kappa 与平衡准确率而非单一 accuracy。- SOTA 方法:预注册评测协议(固定被试清单 + 固定窗长 + 固定频带),如 Lian et al., 2025 固定 S001-S010 五分类,让后续工作可复现比较。
参考:Nur Aziezah et al., 2025, CSER 4(1)(LOSO 协议与归一化声明的范例)。
⚠️ 坑点 6:固定 4.1-4.2 秒任务窗与 run 边界裁剪(分类:预处理陷阱)
问题:T1/T2 事件时长由协议固定为约 4.1-4.2 秒,靠近 run 结尾的事件切片会越过记录边界;MNE 默认丢弃不完整 epoch,事件数悄然减少。
症状:同一 run 的 epoch 数比事件数少 1-2 个;不同被试样本量不齐;若用tmax=4.2还会触发 “data beyond boundary” 警告。
解决:
- 简单方法:窗长取 0.5-4.0 s(160 Hz 下 560 点),留出缓冲,接受边界事件的少量丢弃。
- 进阶方法:切分前后各数一次事件(
np.sum(events[:, 2] == code)),把丢弃量写入 QC 日志;用epochs.drop_log定位被丢原因。- SOTA 方法:跨 run 拼接(
mne.concatenate_raws)后统一切片,仅首尾事件受边界影响,同时为每 epoch 保留 run 元数据。
参考:MNE Forum 主题 #11896(原始事件数与 epoch 数对账的建议)。
⚠️ 坑点 7:60 Hz 工频噪声与错误的 notch 设置(分类:工程陷阱)
问题:数据在美国(60 Hz 电网)采集,工频干扰位于 60 Hz;沿用国内习惯的 50 Hz notch 完全打不中,谱分析会出现 60 Hz 假峰并向 30 Hz 以内的频带泄漏谐波影响。
症状:PSD 在 60 Hz 出现尖峰;beta 频段(13-30 Hz)特征被谐波污染;模型学到的"判别特征"其实是电网频率。
解决:
- 简单方法:加载后立即
raw.notch_filter(60.0)(或[58, 60, 62]窄带组)。- 进阶方法:notch 后复算 PSD 验证 60 Hz 峰消失;带通 8-30 Hz 上限远离 60 Hz,双保险。
- SOTA 方法:把"60 Hz 峰值检测"写进数据 QC 断言,任何新批次数据超阈值自动告警。
参考:EEG-DL 开源仓库 import_data.py(raw.notch_filter([60.])的实践)。
⚠️ 坑点 8:基线 run 混入五分类与健康人群外推(分类:偏倚陷阱)
问题:R01/R02 基线只含 T0,混入五分类会把静息类样本放大近一倍,制造虚高的"静息 vs 任务"易分样本;同时数据全部来自健康人,跨被试 kappa 仅 0.312(LOSO),直接外推卒中/ALS 患者会显著失效。
症状:五分类准确率被静息类撑高但运动类召回偏低(EEGNet 混淆矩阵:手类召回 0.735 vs 脚类 0.574);患者数据上模型完全失灵。
解决:
- 简单方法:五分类只使用任务 run(R03-R14);基线 run 单独用于静息态节律分析。
- 进阶方法:报告按类的召回/特异度而非总体准确率,显式暴露类间差异。
- SOTA 方法:在患者数据上做小规模校准(calibration)迁移,并把"健康人上限"写进模型卡片,禁止未经验证的临床宣称。
参考:PhysioNet 官方页(基线 run 定义);Nur Aziezah et al., 2025, CSER 4(1)(跨被试 kappa 与类间召回差异)。
§6.6 数据增强
| 操作 | 安全性 | 说明 |
|---|---|---|
| 小幅时间移位(±0.2 s 内) | ✅ | 模拟起始对齐误差,不破坏 ERD 时程 |
| 高斯幅值抖动 / 幅值缩放(×0.8-1.2) | ✅ | 模拟电极阻抗差异,保持频谱结构 |
| 通道 dropout(随机遮 2-4 个通道) | ✅ | 提升对坏导的鲁棒性 |
| 时间反转 | ❌ | ERD/ERS 时程有明确方向性,反转后物理上不成立 |
| 大幅时间伸缩(>±20%) | ❌ | 直接改变 mu/beta 频率位置,破坏节律生理学约束 |
| 跨被试通道随机重排 | ❌ | 破坏电极空间拓扑,空间滤波器失效 |
§6.7 模型推荐
| 模型 | 类型 | EEGMMIDB 参考成绩 | 适用场景 |
|---|---|---|---|
| EEGNet | 轻量 CNN | 63.40%(S001-S010 五分类) | 基线模型、边缘部署 |
| ShallowFBCSPNet | CNN(FBCSP 思想) | 72.83%(同上协议) | 经典特征工程对照 |
| EEGInception | 多尺度 CNN | 74.13%(同上协议) | 多频带并行 |
| BrainGridNet | CNN | 81.90%(同上协议) | 空间-频域联合 |
| MSSTNet | 多分支时空频网络 | 86.34%,kappa 0.829(同上协议) | 当前协议下的强基线 |
以上数字统一来自 Lian et al., 2025, Brain Sciences 15(8):877 的对比表(S001-S010,五分类),协议一致、可直接比较;与其他论文的数字不可直接混排(见 §8.1 说明)。
§6.8 硬件需求
| 配置 | CPU | 内存 | GPU | 磁盘 | 适用范围 |
|---|---|---|---|---|---|
| 最小配置 | 4 核 | 8 GB | 无 | 8 GB | 单被试读取、epoch 切片、经典特征(CSP+LDA) |
| 推荐配置 | 8 核 | 16 GB | 8 GB 显存(如 RTX 3060) | 16 GB | 被试内深度模型训练,单被试数分钟级 |
| 高吞吐 | 16 核+ | 32 GB+ | 24 GB 显存 | 32 GB | LOSO 全库训练(109 折循环)与超参搜索 |
内存估算依据:全库信号 47 小时 × 64 通道 × 160 Hz × 4 字节 ≈ 6.9 GB(float32),单库驻留内存可行但建议按被试流式加载;epoch 化后的样本矩阵(数万 × 64 × 560)在 8-16 GB 内存内即可完整缓存,因此该数据集的训练瓶颈通常在 GPU 而非内存。
§6.9 评估指标代码
from sklearn.metrics import (balanced_accuracy_score, cohen_kappa_score,
f1_score, confusion_matrix)
def evaluate(y_true, y_pred, classes):
return {
"balanced_acc": balanced_accuracy_score(y_true, y_pred),
"kappa": cohen_kappa_score(y_true, y_pred),
"macro_f1": f1_score(y_true, y_pred, average="macro"),
"confusion": confusion_matrix(y_true, y_pred,
labels=range(len(classes))),
}
脑机接口社区惯例:主报 Cohen’s kappa 与平衡准确率(类不平衡与随机水平不敏感),辅以宏平均 F1 与混淆矩阵;LOSO 场景必须同时报告跨被试均值 ± 标准差(个体差异是该领域核心事实)。
§6.10 MLOps 笔记
- 数据版本:数据集 v1.0.0 已冻结,管线中固定
eegmmidb/1.0.0路径与 DOI,防止未来镜像内容漂移。 - 依赖锁定:MNE-Python、PyTorch 版本写入
requirements.txt;MNE 的 annotation 解析行为曾跨版本变化,升级前跑通道名与事件数的回归测试。 - 随机性控制:LOSO 循环、权重初始化、数据增强全部设种子;kappa 的跨被试方差大,单次运行结果不可作为结论。
- 被试划分工件化:把 103/109 人名单与 LOSO 划分清单存为版本化 JSON,实验记录引用其哈希。
- 模型卡片:记录训练协议(run 子集、窗长、频带、被试集)、排除名单与已知坑点,随模型发布。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解建议 |
|---|---|---|---|
| 单中心偏倚 | 全部记录来自 Wadsworth Center 同一实验室、同一套 BCI2000 设备与操作规程 | 中 | 跨数据集验证(BCI IV 2a)后再谈泛化 |
| 健康人群偏倚 | 109 人全部为健康志愿者,无患者数据 | 高 | 患者场景需独立采集与校准 |
| 协议驱动均衡 | 类别由屏幕提示决定,不代表自然行为分布 | 低 | 应用时按真实场景重估类先验 |
| 人群构成不透明 | 年龄/性别/利手官方未逐例公开 | 中 | 公平性分析受限,结论限定为"该队列" |
| 标注协议偏倚 | 标注由任务提示自动生成,6 名被试注释异常未被标记 | 中 | 使用 103 人名单或逐例核对 |
| 静息类构成偏倚 | 任务间隔中的 T0 与基线 run 中的 T0 生理状态不同,却被当作同一类 | 中 | 五分类仅用任务 run,或区分两种静息 |
| 执行/想象混用偏倚 | 部分 pipeline 把执行与想象 run 合并训练,抹掉二者的节律差异 | 中 | 严格分离 R03/05/07/09/11/13 与 R04/06/08/10/12/14 |
§7.2 标注质量
标注是"协议真值"而非"行为真值":事件码忠实记录了屏幕提示的出现时刻,但不验证受试者是否真正执行/想象了任务(无 EMG 并行)。任务事件时长 4.1-4.2 秒由协议固定。已知缺陷集中在 6 名受试者(S038、S082、S088、S089、S100、S104),社区以剔除处理;官方未发布修正版本。整体而言,对"以提示为条件概率分布"的建模目标是可靠的,对"受试者依从性敏感"的分析(如想象质量评估)需谨慎。
标注质量的另一面是"无负例标注":数据集不标记坏导、伪迹段落或依从性差的 trial,使用者要么依赖自动剔除准则(如 MNE 的 amplitude reject),要么接受噪声样本参与训练。由于任务事件窗固定且提示间隔规律,眨眼与肌电伪迹会以近似周期性模式出现在特定任务间隔中,模型有可能学到这类"时间表"而非节律特征——分块划分(而非随机划分)可以在评估中暴露这一问题。
§7.3 泛化性评估
| 目标场景 | 失效风险 | 证据 |
|---|---|---|
| 跨被试部署 | 高:LOSO 下 EEGNet 平衡准确率仅 0.660 ± 0.136,kappa 0.312 ± 0.271 | Nur Aziezah et al., 2025, CSER 4(1) |
| 跨设备迁移 | 高:160 Hz/10-10 montage 与常见 250-1000 Hz 商用系统不匹配 | 协议对比(PhysioNet 页 vs BCI IV 2a) |
| 患者人群 | 高:卒中/ALS 患者节律形态与幅值显著不同 | 疾病生理学文献共识 |
| 在线闭环 | 中:离线切片不包含在线系统的延迟与反馈扰动 | BCI 领域普遍经验 |
| 同设备同协议新采集 | 低-中:BCI2000 协议可复刻,但个体差异依旧 | 数据集设计本身 |
| 跨频带泛化(改用窄带特征) | 中:160 Hz 对 40 Hz 以上频率保留不足,gamma 分析受限 | 采样率物理约束 |
§7.4 伦理与合规
数据由 Wadsworth Center 在其机构伦理程序下采集,以 ODC-By 1.0 完全开放发布,无需注册、无 DUA。发布内容不含姓名、日期等直接标识符,也未公开个体人口学信息。需要注意 EEG 信号本身的再识别风险在文献中已有讨论,任何衍生数据集的再发布应遵循同等或更严格的保护标准。
使用者的合规义务清单:(1) 引用数据集 DOI 与配套论文(署名要求);(2) 不得暗示数据包含患者或临床诊断信息;(3) 衍生模型若面向临床,需另行完成目标人群验证与监管流程——本数据集的开放许可不延伸到任何临床效力声明。
§7.5 公平性
官方未逐例公开年龄、性别与利手信息,无法进行队列构成的公平性审计。可观测的类间差异来自模型侧:手类想象召回(0.735)显著高于脚类(0.574,EEGNet LOSO 混淆矩阵),提示"任务难度不对称"而非人群亚组不公,但在患者部署中可能转化为"下肢康复反馈质量低于上肢"的系统性差距。
§7.6 数据漂移
数据冻结于 2009 年:BCI2000 平台持续演进、商用 EEG 系统的阻抗管理与同步精度均优于当年,新采集数据与本库之间存在潜在分布差。此外 PhysioNet 页面统计(如 773 次项目浏览,截至 2026-09)显示社区使用热度持续,但数据本身不再更新——任何"时间维度的泛化"结论只能靠新数据集(如 OpenBMI)补足。
对 MLOps 而言,这里的"漂移"不是数据集内部的时间漂移(单 session 无纵向维度),而是"训练数据时代 vs 部署硬件时代"的代际漂移:新设备的滤波特性、参考电极方案与阻抗水平都会把特征分布整体推移。缓解手段是让模型尽量消费频域/空间模式(对绝对幅值不敏感的特征),并在部署前用少量目标设备数据做校准。
§7.7 DAIMS 数据质量画像
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | 每 run 一个 EDF 文件,64 通道 × 时间点的规整矩阵 |
| 2 | 唯一标识 | ✅ | S001-S109 × R01-R14 的文件名即主键,无歧义 |
| 3 | 特殊字符 | ✅ | 全库 ASCII 命名;通道名句点后缀有标准化解法 |
| 4 | 重复行 | ✅ | 无重复文件/重复记录 |
| 5 | 缺失编码 | ⚠️ | 信号无缺失,但 6 名被试注释异常无官方标记 |
| 6 | 标签标识 | ⚠️ | T0/T1/T2 三码齐全,但语义随 run 漂移 |
| 7 | 罕见类分组 | ✅ | 协议驱动五类近似均衡,无罕见类 |
| 8 | 偏倚评估 | ⚠️ | 官方未提供偏倚分析;社区有部分讨论 |
| 9 | 数据字典 | ⚠️ | 官方页有 montage 与事件说明,无逐字段字典 |
| 10 | 信息性缺失解释 | ❌ | 注释异常无官方说明,仅散见于第三方论文 |
| 11 | 设备记录 | ⚠️ | 记录平台与电极系统,放大器型号等不全 |
| 12 | 共线性 | ⚠️ | 相邻导联空间高相关,需空间滤波处理 |
| 13 | 编码映射 | ⚠️ | .event 与 EDF+ 内嵌注释的对应需自建映射 |
| 14 | 时间戳处理 | ✅ | 以样本点计,160 Hz 恒定,无时区问题 |
| 15 | 划分建议 | ❌ | 无官方划分,协议差异导致文献数字不可比 |
| 16 | 泄漏讨论 | ❌ | 官方无任何泄漏提示,全靠社区自觉 |
| 17 | 标签分布 | ⚠️ | 任务 run 内均衡,但基线 run 仅 T0 易被误用 |
| 18 | 测量偏倚 | ⚠️ | 单设备单环境,无对照测量 |
| 19 | 外部验证建议 | ⚠️ | 官方未提供,社区已建立 BCI IV 对照惯例 |
| 20 | 版本记录 | ✅ | v1.0.0 唯一版本,2009 年冻结,无变更风险 |
| 21 | 预处理脚本 | ⚠️ | 官方无脚本;MNE eegbci 生态成熟可替代 |
| 22 | 合规要求 | ✅ | ODC-By 1.0,无申请流程,义务仅署名引用 |
| 23 | 多模态对齐 | ✅ | 单模态数据,无跨模态对齐需求 |
| 24 | 去标识化 | ✅ | 无个人标识符与个体人口学信息发布 |
DAIMS 评分:15.5 / 24
评分解读:10 项 ✅、11 项 ⚠️、3 项 ❌。数据本体(标识、格式、时间、合规、去标识化)质量扎实,这是"实验室内单一协议机器采集"的典型优势;短板集中在"元信息"——无官方划分、无泄漏讨论、异常注释无解释,全部需要使用者用社区惯例补齐。
对你意味着什么:可以直接把该数据集当成"信号格式免调试"的研究底座:加载与切分几乎不会踩数据本体的坑。但你必须自带三件套——(1) 被试级划分协议并在论文中显式声明;(2) 6 人异常名单的处理决策(剔除或核对);(3) run 号 → 标签语义的映射表。做完这三件事,EEGMMIDB 的易用性在同规模开放数据集中属于第一梯队。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| BCI Competition IV 2a | Graz BCI 团队(Tangermann et al., 2012) | 4 类运动想象 | MSSTNet 83.43%,kappa 0.779 | 较 EEGMMIDB 五分类 86.34% 略降 | 同一模型跨库小降,协议差异为主要因素(Lian et al., 2025) |
| BCI Competition IV 2a/2b | 別被试群体 | 跨库泛化 | EEGNet Fusion V2:2a 74.3%、2b 84.1% | 较 EEGMMIDB 89.6%/87.8% 下降 5-15 个百分点 | 跨被试+跨库双重挑战叠加(Chowdhury et al., 2023) |
§8 基准性能与生态
§8.1 排行榜
以下数字全部来自 Lian et al., 2025 的统一对比实验(S001-S010,五分类:静息/左拳/右拳/双拳/双脚,任务 run 内切片),协议一致、行间可比:
| 排名 | 模型 | 平均准确率 | 平均 kappa | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|---|
| 1 | MSSTNet | 86.34% | 0.829 | 2025 | 多分支空间/频谱/时序联合建模 | Lian, X., Liu, C., Gao, C., Deng, Z., Guan, W., Gong, Y., 2025, Brain Sciences 15(8):877. DOI 10.3390/brainsci15080877 | 论文未附公开仓库 |
| 2 | BrainGridNet | 81.90% | 0.756 | 2022 | 空间-频域图卷积 | 同上对比表(Lian et al., 2025 复现) | 论文未附公开仓库 |
| 3 | CRGNet | 76.16% | 0.712 | 2022 | 通道-区域图网络 | 同上对比表(Lian et al., 2025 复现) | 论文未附公开仓库 |
| 4 | EEGInception | 74.13% | 0.700 | 2020 | 多尺度 Inception 分支 | 同上对比表(Lian et al., 2025 复现) | 社区有第三方实现 |
| 5 | ShallowFBCSPNet | 72.83% | 0.682 | 2017 | 浅层时域+空域卷积(FBCSP 思想) | 同上对比表(Lian et al., 2025 复现) | Braindecode 内置 |
| 6 | EEGNet | 63.40% | 0.537 | 2018 | 深度可分离卷积紧凑网络 | 同上对比表(Lian et al., 2025 复现) | Braindecode 内置 |
另有两条不同协议下的代表性结果,不可与上表直接比较:EEGNet Fusion V2 在跨被试(subject-independent)协议下达到实际运动 89.6%、想象运动 87.8%(Chowdhury, R.R., Muhammad, Y., Adeel, U., 2023, Sensors 23(18):7908. DOI 10.3390/s23187908);EEGNet 在跨被试 LOSO 手 vs 脚任务下平衡准确率仅 0.660 ± 0.136(Nur Aziezah, N., Hamzah, F.N., Sholihah, W., 2025, CSER 4(1). DOI 10.58797/cser.040104)。
数值不可直接比较的三个原因:(1) 被试子集不同(10 人 vs 全库 vs 103 人);(2) 类别数不同(五分类 vs 二分类/四分类);(3) 协议不同(被试内 vs 跨被试 LOSO,是否使用测试期归一化)。
§8.2 SOTA 总结与选型建议
在"被试内、固定十人五分类"这一最常见协议下,2025 年的强基线已到 86%+;跨被试场景仍是最难的问题,经典轻量模型(EEGNet/CSP+LDA)与深模型差距缩小甚至反转。选型建议:复现与教学从 EEGNet + Braindecode 起步;刷榜或论文对比采用 Lian et al., 2025 的固定协议;面向部署评估则必须补充 LOSO 与跨库两条证据线。
一个务实的读法:该数据集上的"高分"更多反映模型对十名被试的拟合能力,而非通用解码能力。若你的目标是对外宣称"可用的运动想象解码器",跨被试 kappa(当前文献约 0.3-0.5)比被试内准确率更有参考价值;若目标是方法学创新(新架构、新训练策略),则固定协议下的对比表足以支撑结论。
§8.3 评测协议要点
- 频带:8-30 Hz(mu + beta)为主流选择;部分工作用 7-30 Hz 或 4-40 Hz。
- 窗长:任务提示后 0.5-4.0 s(或 1-2 s)最常见;窗越短在线延迟越低。
- 被试集:被试内协议需声明被试名单;五分类惯例为 S001-S010;跨被试协议需声明 LOSO 与归一化策略。
- 排除名单:是否剔除 6 名注释异常被试必须在协议中显式声明。
- 预处理披露:notch 频率(60 Hz)、montage 模板、是否重采样三项决定了结果的可复现性,应写入实验配置。
§8.4 相关数据集
| 数据集 | 受试者 | 模态 | 与 EEGMMIDB 的关系 |
|---|---|---|---|
| BCI Competition IV 2a | 9 | 22 通道 EEG,250 Hz | 跨库验证首选;带竞赛评测时间线 |
| BCI Competition IV 2b | 9 | 3 通道 EEG,250 Hz | 小通道在线场景对照 |
| OpenNeuro ds004362 | 109 | 64 通道 EEG | 本数据集的 EEGLAB 格式镜像 |
| BCI2000 自采数据 | 自定 | 可配置 | 用开源 BCI2000 复刻同一协议生成私有数据 |
§8.5 关键论文 Top 7
- Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N., Wolpaw, J.R., 2004, IEEE Transactions on Biomedical Engineering 51(6):1034-1043. DOI 10.1109/TBME.2004.827072 — BCI2000 系统论文,本数据集的采集平台与方法学基石(引用 4,022+,截至 2026-09)。
- Goldberger, A.L., et al., 2000, Circulation 101(23):e215-e220. DOI 10.1161/01.CIR.101.23.e215 — PhysioNet 资源论文,托管平台的原始出处。
- Lawhern, V.J., Solon, A.J., Waytowich, N.R., Gordon, S.M., Hung, C.P., Lance, B.J., 2018, Journal of Neural Engineering 15(5):056013. DOI 10.1088/1741-2552/aace8c — EEGNet,该数据集上最常用的深度基线。
- Ang, K.K., Chin, Z.Y., Wang, C., Guan, C., Zhang, H., 2012, Frontiers in Neuroscience 6:39. DOI 10.3389/fnins.2012.00039 — FBCSP,滤波器组共空间模式的经典方法。
- Tangermann, M., et al., 2012, Frontiers in Neuroscience 6:55. DOI 10.3389/fnins.2012.00055 — BCI Competition IV 的官方总结,2a/2b 协议的权威出处。
- Chowdhury, R.R., Muhammad, Y., Adeel, U., 2023, Sensors 23(18):7908. DOI 10.3390/s23187908 — EEGNet Fusion V2;同时给出 6 名异常被试剔除名单。
- Lian, X., Liu, C., Gao, C., Deng, Z., Guan, W., Gong, Y., 2025, Brain Sciences 15(8):877. DOI 10.3390/brainsci15080877 — MSSTNet 与统一协议对比表,当前最完整的同协议基准。
§8.6 社区活跃度
PhysioNet 项目页当前版本浏览量 773 次(截至 2026-09),数据集作为 MNE 官方内置示例数据(mne.datasets.eegbci)随 MNE 文档分发给全球用户;GitHub 上存在大量以其为基准的训练仓库(如 EEG-DL 等)。MNE Forum 中相关主题持续有人讨论(如 #11896),社区对坑点的公共知识沉淀良好。
活跃度的三个信号源值得跟踪:(1) PhysioNet 页面统计——反映直接使用热度;(2) MNE Forum 与 Stack Overflow 的标签问答——反映新手流量与坑点演化;(3) 新论文引用 EEGMMIDB 的频率——反映方法学社区是否仍将其作为基准。三者在 2024-2026 年均保持稳定或上升,数据集虽冻结但生态仍在扩张。
§8.7 生态快照
| 资源 | 类型 | 链接 | Star/热度(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| PhysioNet 官方页 | 托管与文档 | physionet.org/content/eegmmidb/1.0.0/ | 773 次浏览 | 权威入口与引用信息 |
| AWS Open Data | 云镜像 | s3://physionet-open/eegmmidb/1.0.0/ | — | 免凭证脚本化下载 |
| OpenNeuro ds004362 | 格式镜像 | openneuro.org(ds004362) | — | EEGLAB/MATLAB 用户 |
| MNE eegbci 模块 | 工具库 | mne.tools(mne.datasets.eegbci) | MNE 社区广泛使用 | 一键下载 + 通道名标准化 |
| BCI2000 | 采集平台 | bci2000.org | 长期维护的开源项目 | 复刻协议、生成同构数据 |
| Braindecode | 模型库 | braindecode.org | 活跃维护 | EEGNet/FBCSP 等参考实现 |
| MNE Forum | 社区问答 | mne.discourse.group(主题 #11896 等) | 持续更新 | 坑点的第一手讨论现场 |
§9 相关资源与引用
§9.1 官方资源
- PhysioNet 数据集主页:协议、引用规范与在线浏览。
- PhysioNet 文件浏览器:逐文件下载,支持按被试目录浏览。
- AWS Open Data 镜像:
s3://physionet-open/eegmmidb/1.0.0/(免凭证,适合 CI 与云端管道)。 - OpenNeuro 镜像 ds004362:EEGLAB .set 格式 + sourcedata/ 原始 EDF(MATLAB 生态首选)。
- MNE-Python 文档:
mne.datasets.eegbci模块(一键下载与通道名标准化)。 - BCI2000 官网:采集系统源码、文档与任务范式实现。
- 数据集 DOI:10.13026/C28G6P(含版本化引用信息)。
- RRID: SCR_007345(论文中引用数据集时使用的科研资源标识符)。
§9.2 BibTeX
@article{PhysioNet-eegmmidb-1.0.0,
author = {Schalk, Gerwin},
title = {{EEG Motor Movement/Imagery Dataset}},
journal = {{PhysioNet}},
year = {2009},
month = sep,
note = {Version 1.0.0},
doi = {10.13026/C28G6P},
url = {https://doi.org/10.13026/C28G6P}
}
@article{Schalk2004BCI2000,
author = {Schalk, Gerwin and McFarland, Dennis J. and Hinterberger, Thilo and Birbaumer, Niels and Wolpaw, Jonathan R.},
title = {{BCI2000: A General-Purpose Brain-Computer Interface (BCI) System}},
journal = {IEEE Transactions on Biomedical Engineering},
volume = {51},
number = {6},
pages = {1034--1043},
year = {2004},
doi = {10.1109/TBME.2004.827072},
pmid = {15188875}
}
@article{Goldberger2000PhysioNet,
author = {Goldberger, Ary L. and Amaral, Luis A. N. and Glass, Leon and Hausdorff, Jeffrey M. and Ivanov, Plamen Ch. and Mark, Roger G. and Mietus, Joseph E. and Moody, George B. and Peng, Chung-Kang and Stanley, H. Eugene},
title = {{PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals}},
journal = {Circulation},
volume = {101},
number = {23},
pages = {e215--e220},
year = {2000},
doi = {10.1161/01.CIR.101.23.e215}
}
@article{Lawhern2018EEGNet,
author = {Lawhern, Vernon J. and Solon, Amelia J. and Waytowich, Nicholas R. and Gordon, Stephen M. and Hung, Chou P. and Lance, Brent J.},
title = {{EEGNet: A Compact Convolutional Neural Network for EEG-Based Brain-Computer Interfaces}},
journal = {Journal of Neural Engineering},
volume = {15},
number = {5},
pages = {056013},
year = {2018},
doi = {10.1088/1741-2552/aace8c}
}
§9.3 引用指南
使用该数据集发表成果时,官方要求同时引用三件套:(1) 数据集本身(Schalk, 2009, PhysioNet, DOI 10.13026/C28G6P);(2) BCI2000 系统论文(Schalk et al., 2004);(3) PhysioNet 平台论文(Goldberger et al., 2000)。若使用了 OpenNeuro ds004362 镜像,还应注明镜像版本与格式转换来源。
投稿前的引用自查清单:(1) 方法部分的协议描述是否写明了 run 子集、窗长、频带与被试集;(2) 是否声明了对 6 名异常被试的处理方式;(3) 结果表是否区分被试内与跨被试协议;(4) 数据可用性声明是否给出 DOI 与版本号 1.0.0。这四项是审稿人就公开 EEG 基准最常追问的内容,一次写清可以省去一轮修改。
§10 AI 使用声明卡
§10.1 AI 模型列表
| 模型 | 用途 |
|---|---|
| fast-model(CodeBuddy Code 内置) | 全文初稿撰写、检索结果汇总、代码示例生成 |
§10.2 AI 参与范围
AI 完成事实检索与汇总、全文初稿撰写与代码示例编写。编辑部对全部关键数字、结论与医学表述进行人工核对与修订;未核实的事实按纪律直接省略而非推测填充。
具体分工边界:所有规模数字(109 人、64 通道、160 Hz、3.4 GB 等)逐一溯源至官方页或论文;基准数字仅采用可核对到原文对比表的来源;ICD-11 与 SNOMED CT 映射由编辑部按术语学惯例整理;代码示例经人工走查确认逻辑与官方文档一致,但未在完整数据副本上执行端到端验证,使用者首次运行时应按 §6.1 的最小路径先行冒烟测试。
§10.3 输入来源列表
- PhysioNet EEG Motor Movement/Imagery Dataset 官方页(physionet.org/content/eegmmidb/1.0.0/),访问日期 2026-09。
- PhysioNet 文件浏览器(physionet.org/files/eegmmidb/1.0.0/),访问日期 2026-09。
- 数据集 DOI 10.13026/C28G6P(DataCite 注册信息),访问日期 2026-09。
- Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N., Wolpaw, J.R., 2004, IEEE Transactions on Biomedical Engineering 51(6):1034-1043, DOI 10.1109/TBME.2004.827072, PMID 15188875。
- Goldberger, A.L., et al., 2000, Circulation 101(23):e215-e220, DOI 10.1161/01.CIR.101.23.e215。
- Google Scholar BCI2000 论文引用页(引用 4,022 次,截至 2026-09)。
- Rankless/OpenAlex DOI 10.1109/TBME.2004.827072 指标页(索引引用约 2.1k,访问日期 2026-09)。
- Altmetric 详情页(altmetric.com/details/20323013),访问日期 2026-09。
- Lian, X., Liu, C., Gao, C., Deng, Z., Guan, W., Gong, Y., 2025, Brain Sciences 15(8):877, DOI 10.3390/brainsci15080877。
- Chowdhury, R.R., Muhammad, Y., Adeel, U., 2023, Sensors 23(18):7908, DOI 10.3390/s23187908。
- Nur Aziezah, N., Hamzah, F.N., Sholihah, W., 2025, Contributory Studies and Research 4(1), DOI 10.58797/cser.040104。
- MNE Forum 主题 #11896(EEG motor dataset, cannot see the expected results),mne.discourse.group,访问日期 2026-09。
- MNE-Python 官方文档(mne.datasets.eegbci 模块),访问日期 2026-09。
- OpenNeuro 数据集 ds004362 页面(EEGLAB 格式镜像),访问日期 2026-09。
- EEG-DL 开源仓库(github.com/niupuhua1234/EEG-DL,import_data.py),访问日期 2026-09。
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| frontmatter 与 INFOBOX 关键数字 | 千方病案医学编辑部 | 逐项比对 FACTS.md 与来源 URL | ✅ 已通过 |
| §1 概览与 §2 医学背景 | 千方病案医学编辑部 | 对照官方页与 Schalk 2004 摘要核对 | ✅ 已通过 |
| §3 规格与 §4 数据结构 | 千方病案医学编辑部 | 对照官方页 run 表与事件说明核对 | ✅ 已通过 |
| §5 划分与 §6 代码/坑点 | 千方病案医学编辑部 | 代码走查 + 论文出处核对 | ✅ 已通过 |
| §7 DAIMS 与 §8 基准数字 | 千方病案医学编辑部 | 逐项比对 Lian 2025 对比表与 LOSO 论文 | ✅ 已通过 |
| §9 引用与 §10 声明卡 | 千方病案医学编辑部 | BibTeX 逐字段核对 | ✅ 已通过 |
§10.5 AI 生成章节标注
本页全部章节由 AI 生成初稿,经编辑部交叉审核修订后发布;代码示例经人工走查,医学表述经人工核对。
各章节 AI 参与程度说明:§3、§4、§6 以官方页事实与社区讨论的机械整理为主,AI 参与度最高、风险最低;§2、§7 涉及医学推断与偏倚判断,经编辑部逐段复核;§8 基准数字全部来自单一对比表(Lian et al., 2025),未做跨源拼凑;§C 结构化数据由 frontmatter 程序化镜像生成,无独立创作内容。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核日期一致)。
页面状态:published(全部内容已完成审核并发布)
§C 结构化数据(JSON-LD)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- ninapro — 共享标签:生理信号 / 神经科学 / 脑机接口 / 步态与运动
- bci-competition-iv-2a — 共享标签:生理信号 / 神经科学 / 脑机接口 / 脑电信号
- openneuro — 共享标签:生理信号 / 神经科学 / 脑电信号
- ua-speech — 共享标签:生理信号 / 神经科学 / 步态与运动
- tuh-eeg-corpus — 共享标签:生理信号 / 神经科学 / 脑电信号
- bonn-eeg — 共享标签:生理信号 / 神经科学 / 脑电信号
- cinc-2023 — 共享标签:生理信号 / 神经科学 / 脑电信号
- ppg-dalia — 共享标签:生理信号 / 步态与运动
- torgo — 共享标签:生理信号 / 步态与运动
- sleep-edf — 共享标签:生理信号 / 脑电信号
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

