信息速览

BCI Competition IV-2a — 四类运动想象 EEG 评测基准 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | BCI Competition IV Data Set 2a |
| 英文全称 | BCI Competition IV – Data Set 2a: 4-class Motor Imagery |
| 别名/简称 | BCI IV 2a、BCI Competition 2008 – Data Set IIa、BNCI2014_001(moabb 类名,曾名 BNCI2014001) |
| 疾病分类 | 健康受试者范式(无疾病标签);应用面向运动康复脑机接口 |
| SNOMED CT | 不适用(健康受试者运动想象范式,不含临床诊断编码) |
| 数据模态 | 时序生理信号(EEG + EOG 同步记录) |
| AI 任务类型 | 4 类运动想象分类、会话间迁移、跨被试解码、空-频域特征学习(CSP/FBCSP) |
| 样本总数 | 9 名受试者 / 18 个 GDF 文件 / 5,184 个试次(每会话 288) |
| 数据大小 | 约 420 MB(官方 GDF zip 压缩包) |
| 数据格式 | GDF(BIOSIG 通用生物信号格式);可经 MNE/moabb 转换 |
| 许可证 | 开放获取(免费下载;公开发表结果须引用 Tangermann et al. 2012) |
| 访问级别 | 开放(官网直接下载,无需注册或审批) |
| 语言 | 英文(官方文档与论文) |
| 首发日期 | 2008(随 BCI Competition IV / BCI Competition 2008 发布) |
| 最后更新 | 2008(竞赛发布版,官方此后未再修订) |
| 发布机构 | Graz 技术大学知识发现研究所(脑机接口实验室) |
| 官方主页 | https://www.bbci.de/competition/iv/ |
| 下载地址 | https://bbci.de/competition/iv/download/ |
| DOI | 10.3389/fnins.2012.00055(综述论文)/ 10.21227/0532-g541(IEEE DataPort 镜像) |
| 引用次数 | 1,532+(Google Scholar,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 官方训练/评估双会话划分明确、moabb 一键加载、标签均衡;扣分项:GDF 需格式转换、评估集标签须单独获取、无官方预处理脚本 |
| 页面状态 | published |
§0 E-E-A-T 审核声明
医学审核者:[千方病案医学编辑部]交叉审核:§2 医学背景(运动想象神经生理机制、mu/beta 节律)、§7 偏倚分析。
数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。BCI Competition IV-2a 可经官方页面免费下载,公开发表结果时须引用 Tangermann et al. 2012 竞赛综述论文。本页面的许可说明仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 📌 30 秒速览
**这是什么?**BCI Competition IV-2a 是 2008 年第四届国际脑机接口竞赛(BCI Competition IV)中的 2 号数据集 a 组,由奥地利 Graz 技术大学脑机接口实验室采集并发布。9 名健康受试者想象"左手、右手、双脚、舌头"四类动作,实验同步记录了他们头皮上 22 个位置的脑电信号和 3 个位置的眼电信号。数据被组织成 18 个 GDF 文件,每个人有"训练"与"评估"两个不同日期的会话,每个会话恰好 288 个试次。
**为什么重要?**它是运动想象脑机接口领域被引用最多的公开基准之一:配套的竞赛综述论文(Tangermann et al. 2012, Frontiers in Neuroscience)在 Google Scholar 已被引用 1,532 次以上(截至 2026-09),获胜方法 FBCSP 的配套论文又被独立引用 1,200 余次。从经典共空间模式(CSP)到当代的 EEG Conformer,几乎所有四分类运动想象新算法都把"在 2a 上跑一遍"当作标准验证步骤。它定义了"会话间迁移"这一评测范式——训练与评估数据来自不同日期,直接衡量算法对脑信号日间漂移的稳健性。
**我能用它做什么?**你可以用它做:四分类运动想象解码算法研究(CSP/FBCSP/深度网络)、会话间与跨被试迁移学习、域自适应方法评测、脑机接口课程教学。数据免费下载、无需注册,moabb 库一行代码即可加载。注意它不适合做临床诊断类应用——受试者全部是健康人,且没有任何疾病标签。
§1.1 技术摘要
BCI Competition IV-2a 采用提示性(cue-based)运动想象范式:每个试次开始时(t=0 s)屏幕出现注视十字并播放提示音,t=2 s 时出现方向箭头提示(持续 1.25 s),受试者持续想象相应动作直至 t=6 s 注视十字消失。信号由 22 个 Ag/AgCl 电极(间距 3.5 cm,覆盖 Fz、C3、C4、Cz 等运动区,国际 10-20 系统)以左乳突参考、右乳突接地的方式单极记录,另含 3 个单极 EOG 通道;采样率 250 Hz,带通 0.5-100 Hz,启用 50 Hz 陷波。9 名受试者各在两个不同日期录制一个会话,每会话 6 个 run、每 run 48 试次(四类各 12),合计每人 576 个试次、全数据集 5,184 个试次。训练会话(T 文件)内嵌真实类标签(事件码 769-772),评估会话(E 文件)仅含通用事件标记,真标签以单独 .mat 文件提供——这一设计使竞赛可以盲评参赛系统。官方评估指标为 Cohen’s kappa;竞赛获胜方法 FBCSP 取得平均 67.75% 准确率、κ 0.5700,此后十余年间社区基准在该口径下推进至 80% 以上。
一句话概括其技术画像:中等规模、均衡标注、协议严谨、口径复杂——前两个词决定了它易于上手,后两个词决定了用好它需要方法论自觉,这也是本条目用大量篇幅写坑点与划分的原因。
§1.2 战略价值
**维度一:算法评测的公共标尺。**运动想象 EEG 解码的核心难点在于信噪比低(μ 节律事件相关去同步幅度仅数十微伏级)且个体差异极大。BCI IV 2a 以固定的 9 人 × 4 类 × 会话间迁移设定,为算法社区提供了"同一道考题":FBCSP(2012)的 κ 0.5700、C2CM(2018)的 κ 0.6595、EEG Conformer(2023)的 κ 0.7155 等数字构成一条可追溯的进步曲线。任何新空-频-时域特征提取方法都可以与这条曲线上的锚点直接对比,这大幅降低了方法学论文的评测成本。
维度二:迁移学习与神经工程教学的事实教材。"训练日与测试日不同"的官方设定天然模拟了真实 BCI 系统每天重新佩戴电极的场景,因此该数据集成为会话间迁移、域自适应、被试无关(subject-independent)研究的首选试验台。同时它规模适中(420 MB,18 个文件)、格式标准(GDF)、标签均衡(每类每会话 72 试次),适合作为脑机接口课程与 Kaggle 式竞赛的教学数据集:学生可以在一台笔记本上完成从 GDF 解析到 kappa 评估的完整闭环。
**维度三:可复现性与教学的低成本闭环。**数据集规模适中(约 420 MB)且获取零门槛(免费下载、无需注册),配合 moabb/MNE 工具链,学生与新人可以在一天内完成"GDF 解析 → 预处理 → 训练 → kappa 评估"的完整闭环;官方固定划分使不同小组的作业与复现结果具有直接可比性。这种"标准考题"属性,也是它成为大量课程作业、开源教程与方法学论文默认数据集的根本原因。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 类别数 | 通道/采样率 | 标注与划分 | 与 2a 的差异化 |
|---|---|---|---|---|---|
| BCI Competition IV-2a(本条目) | 9 人 / 5,184 试次 | 4 类 MI | 22 EEG + 3 EOG / 250 Hz | 会话间迁移(T/E 双会话),标签公开 | 四分类、双会话官方划分、社区基准最全 |
| BCI Competition IV-2b | 9 人 / 每会话更多 run | 2 类 MI(+连续范式) | 3 双极 EEG + 3 EOG / 250 Hz | 同样 T/E 会话设计 | 通道更少(3 双极),贴近临场部署 |
| PhysioNet EEG Motor Movement/Imagery(eegmmidb) | 109 人 / 每人 14 experiment run | 任务分类(MI/执行) | 64 通道 / 160 Hz | 事件标注嵌入 EDF+ | 被试规模大,但无官方竞赛评测与统一指标 |
选型建议:做四分类算法基准与论文对比 → 选 2a;做可穿戴/少通道系统 → 搭配 2b;做跨被试大规模预训练 → eegmmidb。三者免费获取,可组合使用。
§1.4 版本时间轴
| 时间 | 事件 |
|---|---|
| 2008 | BCI Competition IV(又称 BCI Competition 2008)举办,数据集 2a 由 Graz 技术大学发布,配套技术报告 “BCI Competition 2008 – Data Set IIa”(Brunner et al.) |
| 2008-2012 | 竞赛结束,参赛结果与获胜方法(FBCSP 等)陆续发表;数据持续开放下载 |
| 2012-07-13 | 竞赛综述论文 “Review of the BCI Competition IV”(Tangermann et al.)发表于 Frontiers in Neuroscience 6:55,成为该数据集的标准引用 |
| 2014 前后 | 数据集被纳入欧盟 BNCI 项目目录,编号 BNCI 2014-001;moabb 中类名为 BNCI2014_001(曾名 BNCI2014001) |
| 至今 | 官方未再修订数据内容;IEEE DataPort(DOI 10.21227/0532-g541)与 Kaggle 等镜像陆续出现,社区基准持续刷新 |
时间轴的一个显著特征是"内容零修订、生态持续生长":数据字节 18 年未变,变化的是围绕它的工具链(GDF→MNE→moabb)、命名体系(竞赛编号→BNCI 编号)与基准方法(CSP→深度学习)。
§1.5 典型应用场景
- 四分类运动想象算法基准:以官方 T/E 会话划分复现 FBCSP 至 Transformer 系方法,报告准确率与 kappa(§8.1 排行榜)。
- 会话间迁移与域自适应研究:利用"不同日期双会话"结构研究日间脑信号漂移的校准策略。
- 跨被试(subject-independent)解码:留一被试交叉验证,评估被试无关模型的泛化上限(§8.1 跨被试口径)。
- 空-频域特征工程教学:CSP/FBCSP 滤波器组、带通选择、共空间模式可视化,均可在该数据上端到端演示。
- 脑机接口系统原型开发:以 3.5 cm 间距 22 通道蒙太奇近似低成本放大器布局,离线验证实时分类器设计(§6.7 模型推荐)。
§2 医学背景
§2.1 编码映射说明与 ICD-11 对照
BCI Competition IV-2a 是健康受试者数据集:所有 9 名受试者为无神经系统疾病的志愿者,数据本身不含任何疾病诊断标签。因此本条目不提供疾病标签到 ICD-11 的直接映射(不存在该映射),下表给出"范式与标签体系"的性质界定及其在康复应用方向的关联定位。
| 标签/概念 | ICD-11 编码 | SNOMED CT 码 | 术语与说明 |
|---|---|---|---|
| 数据来源人群 | 不适用(非患者群体) | 不适用 | 9 名健康受试者(A01-A09),无神经/精神疾病史 |
| 运动想象(范式本身) | 不适用(非疾病) | 不适用 | Motor imagery:不伴随实际运动的动作心理演练 |
| 类 1 标签:左手 MI | 不适用(任务标签) | 不适用 | class 1, left hand |
| 类 2 标签:右手 MI | 不适用(任务标签) | 不适用 | class 2, right hand |
| 类 3 标签:双脚 MI | 不适用(任务标签) | 不适用 | class 3, both feet |
| 类 4 标签:舌头 MI | 不适用(任务标签) | 不适用 | class 4, tongue |
| 应用方向:运动功能康复 BCI | 不提供(须由下游应用定义) | 不提供 | 面向脑卒中后运动康复等场景的辅助技术,编码取决于具体应用与所在医疗体系 |
| 运动想象疗法(应用关联) | 不提供(由康复临床定义) | 不提供 | 作为运动疗法组成部分在康复医学中使用,本数据集不涉及患者 |
说明:由于数据集不含疾病标签,任何"把 2a 用于疾病分类"的表述都是误用;涉及患者场景(如脑卒中康复训练)的下游系统,需自行接入相应的临床编码与伦理流程。
§2.2 运动想象的神经生理学基础
**运动想象与运动皮层。**运动想象(motor imagery, MI)指在没有实际肌肉收缩的情况下,在头脑中"演练"一个动作。功能神经影像与电生理研究一致表明,想象动作会激活与实际执行动作高度重叠的皮层网络——初级运动皮层(M1)、辅助运动区与前运动区。这意味着头皮 EEG 可以捕捉到与具体动作类别相关的空间模式:想象左手动作主要引起右侧运动区的节律变化,想象右手引起左侧变化,双脚对应中线及中央沟内侧代表区,舌头对应运动皮层最外侧、靠下的代表区。
mu/beta 节律与 ERD/ERS。安静或准备状态下,中央区头皮可记录到约 8-12 Hz 的 mu 节律与 13-30 Hz 的 beta 节律。当受试者执行或想象动作时,对侧运动区的这些节律出现幅度下降,称为事件相关去同步(event-related desynchronization, ERD);动作结束或抑制后节律回升甚至超过基线,称为事件相关同步(event-related synchronization, ERS)。ERD 的时间过程与提示对齐良好:通常在提示出现后数百毫秒内建立,并在想象期内持续,这使得"cue 锁定的功率特征"(如 CSP 输入的对数带功率)成为稳定特征。左右手想象产生对侧优势的 ERD 拓扑(C3 与 C4 电极功率此消彼长),这正是 CSP 类算法能够在单被试内学出强判别空间滤波器的神经生理学基础。双脚与舌头的代表区靠近或偏离中线,与手类任务在头皮拓扑上可分,使 4 类问题在原理上可行——但各类间可分性并不均等,这是被试平均准确率长期停留在 70%-85% 区间的根本原因。
**个体频带差异。**mu 节律的峰值频率存在显著的个体差异(文献常以 8-12 Hz 的 mu、13-30 Hz 的 beta 作为总体参考范围,但具体到单个被试可能明显偏移)。这意味着固定频带的特征提取会系统性错失部分被试的最优信息;FBCSP 用滤波器组覆盖多个子带、再以特征选择挑出判别子带,本质上是对个体频带差异的工程化应对。在 2a 上,这也是"同一算法在不同被试上表现悬殊"(§8.1 逐被试数字)的技术解释之一。
**四类任务的可分性并不均等。**左右手想象在 C3/C4 产生方向相反的对侧 ERD,是四类中最容易区分的一对;脚类代表区位于中央沟内侧,头皮投影靠近中线(Cz 附近),与手类可分但空间模式更弥散;舌类代表区偏下偏外,其 EEG 表现最弱,也最易受面部肌电与眼电的干扰。因此混淆矩阵中"脚/舌"的互混与舌类的整体低分是社区常见现象——解读模型结果时应结合这一神经生理学先验。
**EOG 与伪迹问题。**眼动会在额-颞区电极产生远大于皮层信号的眼电伪迹。2a 数据集特意同步记录了 3 个 EOG 通道,并要求竞赛参赛者"可以但不强制"使用 EOG 做伪迹剔除——这使 2a 成为研究"分类器是否真的在学脑电而非眼电"的经典试验台(见坑点 4)。
**这意味着什么?**对算法研究者:脑信号在头皮上被"看见"的前提是想象持续且专注,这决定了 cue 后 0-4 s 的切片窗口设计(§6.3);对工程实践者:对侧优势模式意味着少数覆盖运动区的通道(C3/C4/Cz 一带)即可承载大部分判别信息,这解释了 2a 的 22 通道蒙太奇为何成为通用模板。
§2.3 临床与科研任务定义
| 任务类型 | 输入 | 输出 | 在本数据集上的形态 |
|---|---|---|---|
| 4 类 MI 解码(主任务) | cue 后 EEG 窗口 | 左手/右手/双脚/舌头之一 | 每会话 288 试次,四类均衡 |
| 会话间迁移(官方竞赛口径) | T 会话数据 | E 会话 288 试次的类别预测 | 模型在 T 会话校准,E 会话盲评,kappa 指标 |
| 跨被试解码 | 8 名被试数据 | 留出第 9 名被试的四类预测 | subject-independent 评估(社区口径) |
| 伪迹鲁棒解码 | EEG(可含 EOG 参考) | 四类预测 | 研究眼电污染下的算法稳定性 |
| 空间滤波器学习 | 多通道 EEG | 低维判别特征 | CSP/FBCSP 滤波器组拟合与可视化 |
上表按"科研热度 × 工程价值"排序:前两行覆盖了绝大多数论文的实验设计;后三行是衍生任务,直接复用前两行的预处理资产即可,无需重新设计协议。
§2.4 受试者人群
下表汇总人群信息:注意其中多项标注为"未随数据发布"——这是 2a 隐私处理方式的体现,而非信息损坏。
| 维度 | 内容 |
|---|---|
| 来源 | Graz 技术大学脑机接口实验室(奥地利格拉茨) |
| 采集时间 | 2008 年竞赛发布之前录制,随 BCI Competition IV 发布 |
| 人群性质 | 健康志愿者 9 名(编号 A01-A09),无神经系统疾病 |
| 年龄/性别/利手 | 官方以匿名编号发布,个体人口学细节未随数据公开 |
| 种族/地域 | 单一实验室、单一地域采集,人口学构成未随数据发布 |
| 就医类型 | 不适用(非临床人群,无就医记录) |
| 会话安排 | 每人 2 个会话,分布于两个不同日期;每会话 6 run × 48 试次 |
提示:由于人口学信息缺失,任何依赖年龄、性别、利手的子群分析在本数据集上都无法开展;论文报告被试间差异时只能以受试者编号(A01-A09)呈现(见 §7.1 偏倚表)。
这一人群结构对结论的约束是双向的:一方面,健康受试者的运动皮层功能完整,四类 ERD 模式清晰,适合作为算法研究的"干净试验场";另一方面,从健康人解码结论到患者应用之间没有免费通道——卒中患者的病灶侧 ERD 通常减弱甚至反转,特征空间整体迁移,模型需要重新校准(§7.3)。
§2.5 临床与工程价值
运动想象 BCI 的长期应用方向包括:为严重运动障碍者(如脊髓损伤、肌萎缩侧索硬化)提供意念控制的辅助沟通与设备控制;为脑卒中偏瘫患者提供"想象-反馈"闭环康复训练,以运动想象驱动神经可塑性。这些应用共同的前提是一个能在不同日期、不同佩戴条件下稳定工作的解码器——这正是 2a 的官方评测口径(T 会话训练、E 会话评估)所模拟的。十余年来,2a 上验证过的空-频域特征(FBCSP)与深度架构(EEGNet、Conformer 等)构成了此类康复系统解码模块的主要技术储备。同时,2a 的四类任务覆盖了手、脚、舌三个代表区,是研究"多指令 BCI 输出空间"最常用的数据集。
从工程视角看,2a 的价值还在于它完整暴露了真实系统的困难清单:日间电极接触差异、被试状态波动、眼电伪迹与个体频带漂移。一个在 2a 上通过会话间验证的解码模块,距离"每天戴上就能用"仍有距离,但它至少跨过了"实验室同日演示"这一最容易产生虚高结论的门槛。
§2.6 金标准对照
| 维度 | 本数据集的做法 | 性质 |
|---|---|---|
| 划分 | 官方固定 T(训练)/E(评估)双会话划分,评估标签单独发放 | 竞赛级金标准,防止测试集信息泄漏 |
| 标注方式 | 程序化事件码(768 试次开始、769-772 提示类别),由实验程序在采集时自动写入 | 客观、无人工标注误差 |
| 标注者 | 实验控制程序(非人工标注) | 一致性由范式时序保证 |
| 标注质量 | 试次边界与类别 cue 由硬件触发同步,250 Hz 下样本级对齐 | 高;例外见 A04 的 EOG 校准块 |
| 评估指标 | Cohen’s kappa(修正随机一致性后的分类一致性) | 竞赛官方指标,四类均衡下与准确率可比 |
| 标注粒度 | 试次级类别标签(事件码),不提供试次质量分级或连续输出 | 四分类离散任务的标准粒度 |
对照结论:2a 的"金标准"地位来自设计而非运气——物理隔离的测试标签、程序化标注、固定划分与官方指标四者组合,使它成为极少数"评测协议无可指摘"的公开 BCI 数据集;其质量短板全部集中在工程配套(字典、脚本、版本)而非数据本身。
§3 数据集规格
§3.0 版本与获取渠道抉择矩阵
BCI Competition IV-2a 为单版本数据集(2008 竞赛发布版,官方此后未修订)。不存在版本选择问题,但存在获取渠道选择:
上表四个渠道的 GDF 内容一致(同一份 2008 发布数据的拷贝);差异在"便利性"与"附带物"——moabb 附带解析好的事件语义,Kaggle 附带社区整理的标签目录与浏览界面,IEEE DataPort 附带 DOI 与 2b 打包。按你团队的工作流选择即可,引用合规以官方渠道为准。
| 你的需求 | 推荐渠道 | 大小 | 理由 |
|---|---|---|---|
| 快速复现基准/写论文 | 官方下载页(GDF zip) | 420 MB | 原始发布渠道,引用合规最直接 |
| Python 流水线/不想手动处理事件码 | moabb(BNCI2014_001) |
首次运行自动下载 | 自动下载、转 MNE Raw、事件语义已封装 |
| 需要长期归档 DOI | IEEE DataPort 镜像 | 419.59 MB | 带 DOI 10.21227/0532-g541,附 2b 数据 |
| 教学/快速体验(可接受第三方托管) | Kaggle 镜像 | 约 603 MB(含标签与汇总文件) | 网页直接浏览,含 E/T/TrueLabels 分目录 |
§3.1 模态详情
-
EEG(主模态):22 通道单极记录。电极为 Ag/AgCl,电极间距 3.5 cm,位置覆盖国际 10-20 系统的运动区相关位点(Fz、FC 行、C 行、CP 行、P 行与 POz,完整清单见 §4.1)。左乳突为参考、右乳突为接地。采样率 250 Hz,硬件带通 0.5-100 Hz,启用 50 Hz 陷波抑制工频干扰,放大器灵敏度设为 100 μV。
-
EOG(辅助模态):3 个单极通道(EOG-left、EOG-central、EOG-right),与 EEG 同步 250 Hz 采样,同一带通与陷波设置,放大器灵敏度 1 mV(比 EEG 低一个数量级,反映眼电幅度更大)。
在 100 μV 灵敏度设置下,EEG 通道的典型动态范围覆盖数十微伏量级的 ERD 幅度变化;EOG 在 1 mV 灵敏度下覆盖眨眼与扫视的毫伏级偏转。两个模态量纲相差一个数量级,是预处理与特征拼接时最容易出错的地方(坑点 4)。 -
事件通道:每个 GDF 文件内嵌刺激/事件通道,以整数事件码标记试次边界与提示类别(详见 §4.1 与 §6.3)。
-
模态对齐:EEG、EOG 与事件码来自同一连续采集流,样本级同步,无需跨设备对齐处理。
§3.2 按子集样本数
| 子集 | 文件 | 会话 | 试次 | 类别分布 |
|---|---|---|---|---|
| 受试者 A01-A09 各自训练会话 | A01T.gdf-A09T.gdf(9 个) | 会话 1(T) | 各 288 | 每类 72,四类均衡 |
| 受试者 A01-A09 各自评估会话 | A01E.gdf-A09E.gdf(9 个) | 会话 2(E) | 各 288 | 每类 72(真标签在 A0nE.mat) |
| 全数据集 | 18 个 GDF + 9 个标签 .mat | 2 会话/人 | 5,184 | 每类 1,296 |
每个会话另含约 5 min 的 EOG 校准记录(2 min 睁眼注视 + 1 min 闭眼 + 1 min 眼动),不包含 MI 试次标签。逐被试 × 逐会话的组合共 18 个"会话文件 + 9 个标签文件",任何子集实验(如单被试冒烟测试、少被试快跑)都可以在文件粒度上自由组合,无需改动其余文件。
§3.3 数据格式
| 格式 | 内容 | 说明 |
|---|---|---|
| GDF(General Data Format) | 18 个 .gdf 文件(信号 + 事件通道 + 头部元数据) | BIOSIG 项目定义的生物信号通用格式;MNE-Python 与 BIOSIG 均可读取 |
| MATLAB .mat | A0nE.mat 评估集标签(classlabel 数组,1-4) | 官方随竞赛结果一同发放,现多经镜像/社区传播 |
| 衍生格式 | moabb/MNE 转出的 MNE Raw、FIF、NumPy 数组 | 社区流水线常用中间格式,见 §6.3 |
| 事件语义 | 事件码 → 类别名的映射(768/769-772) | 非独立文件,需从文档固化为代码常量(坑点 3) |
§3.4 存储大小
- 官方压缩包
BCICIV_2a_gdf.zip:420 MB(下载页标注);IEEE DataPort 镜像为 419.59 MB。 - 18 个 GDF 文件单个约 28.7-34.4 MB(受各会话实际时长影响;社区教程中"每文件约 50 MB"的说法不准确)。
- 解压后建议预留 ≥1 GB 空间(含 moabb 缓存与转换后的 NumPy/FIF 副本)。
逐文件大小清单(MB,IEEE DataPort 镜像标注值,不同镜像因打包方式可能略有差异):
| 文件 | 大小 | 文件 | 大小 | 文件 | 大小 | 文件 | 大小 |
|---|---|---|---|---|---|---|---|
| A01T.gdf | 32.08 | A03T.gdf | 31.51 | A05T.gdf | 32.73 | A07T.gdf | 32.49 |
| A02T.gdf | 32.30 | A04T.gdf | 28.67 | A06T.gdf | 32.39 | A08T.gdf | 32.21 |
| A01E.gdf | 32.77 | A03E.gdf | 30.95 | A05E.gdf | 32.43 | A07E.gdf | 32.11 |
| A02E.gdf | 31.61 | A04E.gdf | 31.49 | A06E.gdf | 31.79 | A08E.gdf | 32.81 |
| A09T.gdf | 32.12 | A09E.gdf | 32.20 | — | — | — | — |
§3.5 标注方式
标注为程序自动生成的事件码,不存在人工标注环节:实验程序在预定时刻(t=0 s 试次开始、t=2 s 提示出现)向事件通道写入固定整数码。四类任务由提示箭头方向客观定义(左/右/下/上),类别真值不依赖任何观察者判断。评估会话的 GDF 文件内仅写入不含类别信息的通用事件标记,真类别标签以单独 .mat 文件发放——这是竞赛组织者为防止参赛者直接读取测试标签而设计的"物理隔离"。
另一个容易被忽视的设计是 GDF 的自描述性:采样率、通道名、灵敏度等元数据写在每个文件头部,配合事件通道,文件本身就是一个完整可解析的记录单元——这也是它能被 MNE/moabb 等"零配置"工具直接读取的原因。代价是事件码的语义约定(768/769-772)只存在于文档与社区共识中,代码层面需要自行固化(坑点 3)。
§3.6 标注者资质与一致性
无人工标注者,标注一致性由实验范式保证:试次时序(t=0 注视十字 + 提示音、t=2 s 提示 1.25 s、t=6 s 结束)由程序严格控制,事件码与提示呈现在 250 Hz 采样下样本级同步。需要注意,标注回答的是"提示了什么类别",而非"被试是否成功完成了该想象"——MI 数据集固有的标签噪声(被试执行质量波动)是所有基于提示范式的数据集的共同局限(§7.2)。对希望做"质量感知"研究的团队,2a 不提供试次质量元数据,需自行构造代理指标(如试次内功率谱熵)并验证其有效性。
§3.7 采集周期
数据于 2008 年竞赛举办前在 Graz 技术大学完成录制并随竞赛发布;每名受试者的两个会话分布于两个不同日期(这是官方评测口径的设计要点)。每个会话包含 288 个试次,每试次自 t=0 起至少 6 s(其中最后 4 s 为想象期),试次间有短休息,因此单会话任务期净时长达半小时量级——这与单个 GDF 文件约 30 MB 的体量(250 Hz × 25 通道连续存储 + 事件通道)相互印证。
§3.8 地域覆盖
单一地域:奥地利格拉茨(Graz, Austria),单一实验室(Graz 脑机接口实验室)。无多中心数据。对多中心泛化有要求的读者,应结合 §7.8 的外部数据集(2b、eegmmidb、OpenBMI)设计迁移实验,而不是在本数据内部寻找地域多样性——它不存在。
§3.9 设备规格
| 项目 | 规格 |
|---|---|
| EEG 电极 | 22 通道 Ag/AgCl,间距 3.5 cm,国际 10-20 系统运动区蒙太奇 |
| 参考接地 | 左乳突参考、右乳突接地 |
| EOG | 3 个单极通道(EOG-left/EOG-central/EOG-right) |
| 采样率 | 250 Hz(EEG 与 EOG 相同) |
| 模拟滤波 | 带通 0.5-100 Hz;50 Hz 陷波启用 |
| 放大器灵敏度 | EEG 100 μV;EOG 1 mV |
| 放大器型号 | moabb 元数据记录为 BrainAmp MR plus(官方论文未明确标注型号,二手资料存在出入,引用时建议注明出处) |
| 刺激呈现 | 计算机屏幕方向箭头 + 声学提示音,事件码硬触发写入 |
设备规格的工程含义:3.5 cm 的电极间距决定了通道间高度相关(体积传导),也让"少通道复刻"(如只取 C3/C4/Cz 的 3 通道子集)在原理上可行——这正是大量可穿戴 BCI 原型以 2a 为验证集的原因之一。放大器灵敏度(EEG 100 μV / EOG 1 mV)则提醒使用者:任何跨模态拼接前必须先做通道级归一化。
§3.10 深度溯源链
- 采集与实验室:Graz 技术大学知识发现研究所(脑机接口实验室),贡献者 C. Brunner、R. Leeb、G. R. Müller-Putz、A. Schlögl、G. Pfurtscheller。
- 竞赛发布(2008):作为 BCI Competition IV 数据集 2a 公开,配套技术报告 “BCI Competition 2008 – Data Set IIa”。
- 权威描述论文(2012):Tangermann et al., “Review of the BCI Competition IV”, Frontiers in Neuroscience 6:55(DOI 10.3389/fnins.2012.00055),完整给出 2a 的协议、蒙太奇与格式细节。
- 官方托管:bbci.de 竞赛主页与下载区,开放下载。
- 镜像:IEEE DataPort(DOI 10.21227/0532-g541,与 2b 打包)、Kaggle 社区镜像。
- 工具链集成:moabb 数据集类
BNCI2014_001(曾名 BNCI2014001)实现自动下载与 MNE Raw 转换。
溯源链的实操含义:任何关于"数据是什么"的争议,最终都以 Tangermann et al. 2012 的协议描述为准;任何关于"数据在哪"的问题,以官网与 IEEE DataPort 为准;其余渠道(含本条目)都是二手转述,引用时应回链一手来源。
§4 数据结构
§4.0 目录树
BCICIV_2a_gdf.zip # 官方压缩包,约 420 MB
├── A01T.gdf # 受试者 1 训练会话(内嵌真实类标签 769-772)
├── A01E.gdf # 受试者 1 评估会话(仅通用事件标记,无类标签)
├── A02T.gdf
├── A02E.gdf
├── A03T.gdf
├── A03E.gdf
├── A04T.gdf # 注意:EOG 校准块不完整(仅眼动条件)
├── A04E.gdf
├── A05T.gdf
├── A05E.gdf
├── A06T.gdf
├── A06E.gdf
├── A07T.gdf
├── A07E.gdf
├── A08T.gdf
├── A08E.gdf
├── A09T.gdf
└── A09E.gdf # 共 18 个 GDF 文件,单个约 28.7-34.4 MB
# 评估会话真标签(单独发放,命名与 E 文件一一对应)
labels/
├── A01E.mat # classlabel:288 × 1,取值 1-4
├── A02E.mat
├── ...
└── A09E.mat
moabb 用户无需手动管理以上结构:
BNCI2014_001会自动下载到~/mne_data/MNE-BNCI2014-001R/并以 MNE Raw 对象返回(下载路径可通过MNE_DATA环境变量重定向)。
解压后建议立即做两项完整性检查:文件数量应为 18 个 .gdf(标签 .mat 另计);逐文件大小应落在 §3.4 清单的 ±1 MB 范围内——明显偏小的文件通常是下载中断的产物。
§4.1 DAIMS 字段字典(8 列)
下表以"通道组"为行组织 22 个 EEG 通道(组内通道仅位置不同、性质一致),另覆盖 EOG、事件与标签体系:
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| EEG-Fz | float32 | 电极 Fz 的 EEG 电位(μV 量级) | -12.7 | 运动区中线特征(脚/舌类判别) | 热噪声 + 线性漂移 | NaN(run 间分隔段) | 约 ±100(灵敏度 100 μV) |
| EEG-0…EEG-4 | float32 | FC3、FC1、FCz、FC2、FC4(原始名 EEG-0 至 EEG-4) | 3.4 | 手类对侧/同侧特征 | 同上 | NaN | 同上 |
| EEG-5…EEG-11 | float32 | C5、C3、C1、Cz、C2、C4、C6(EEG-5 至 EEG-11) | -8.9 | mu/beta ERD 主通道(手类) | 同上 | NaN | 同上 |
| EEG-12…EEG-16 | float32 | CP3、CP1、CPz、CP2、CP4(EEG-12 至 EEG-16) | 5.1 | 中央旁区特征(脚类) | 同上 | NaN | 同上 |
| EEG-17…EEG-20 | float32 | P1、Pz、P2、POz(EEG-17 至 EEG-20) | -2.3 | 后头部参考特征 | 同上 | NaN | 同上 |
| EOG-left / EOG-central / EOG-right | float32 | 左/中/右眼电通道(mV 量级) | 45.2 | 伪迹检测与剔除监督信号 | 眨眼/眼动伪迹本身 | NaN | 约 ±1000(灵敏度 1 mV) |
| 事件通道(stimulus) | int32 | 试次开始码 768;提示类别码 769/770/771/772(左手/右手/脚/舌头) | 769 | epoch 切分锚点与标签来源 | 无(程序写入) | 无 | |
| 采样索引/时间 | int64 | 250 Hz 连续采样计数 | 173,250 | 事件对齐、窗口定位 | 无 | NaN 段同样占位 | 0 至文件末尾 |
| classlabel(A0nE.mat) | int8 | 评估会话每试次真类别:1=左手、2=右手、3=脚、4=舌头 | 3 | 测试集标签(与 E 文件试次顺序对齐) | 无 | 无 |
通道名映射(原始 → 10-20 标准名)为:EEG-Fz→Fz;EEG-0→FC3、EEG-1→FC1、EEG-2→FCz、EEG-3→FC2、EEG-4→FC4;EEG-5→C5、EEG-6→C3、EEG-7→C1、EEG-8→Cz、EEG-9→C2、EEG-10→C4、EEG-11→C6;EEG-12→CP3、EEG-13→CP1、EEG-14→CPz、EEG-15→CP2、EEG-16→CP4;EEG-17→P1、EEG-18→Pz、EEG-19→P2、EEG-20→POz。
§4.1b 事件码语义
| 事件码 | 语义 | 每会话出现次数 | 出现位置 |
|---|---|---|---|
| 768 | 试次开始(注视十字出现 + 声学提示音) | 288 | 每试次 t=0 s |
| 769 | 左手提示(箭头向左) | 72 | 每试次 t=2 s(仅 T 会话文件内嵌) |
| 770 | 右手提示(箭头向右) | 72 | 同上 |
| 771 | 双脚提示(箭头向下) | 72 | 同上 |
| 772 | 舌头提示(箭头向上) | 72 | 同上 |
| 通用标记 | 不含类别信息的占位事件体系 | 288 | 仅 E 文件;真类别在 A0nE.mat |
加载后应断言:每会话 cue 事件(769-772)总数为 288、四类各 72、768 与对应 cue 码相距 500 个样本(250 Hz × 2 s)。这是最有效的数据完整性冒烟测试(坑点 3)。
把这张表连同 §4.1 的通道映射一起放进代码常量,你的项目就拥有了不依赖口头传承的事件语义层——团队新人或第三方复现时不必再"考古"事件码含义。
§4.2 标签分布
| 切面 | 左手 | 右手 | 双脚 | 舌头 | 合计 |
|---|---|---|---|---|---|
| 每人每会话(T 或 E) | 72 | 72 | 72 | 72 | 288 |
| 每人两会话 | 144 | 144 | 144 | 144 | 576 |
| 全数据集 | 1,296 | 1,296 | 1,296 | 1,296 | 5,184 |
四类完全均衡(各占 25%),无需重采样或类别加权;随机猜测基线为 25% 准确率、κ = 0。这一均衡性来自实验设计(每 run 内四类各 12 试次伪随机排序),是 2a 与许多"自然分布"临床数据集最大的不同——在这里,类别不平衡的处理技巧完全无用武之地,这也让方法之间的比较更纯粹。
§4.3 关键统计
- 试次总数 5,184(9 人 × 2 会话 × 288);任务期每试次自 t=2 s cue 起可持续至 t=6 s,即每试次最多提供 4 s(1,000 样本)的"想象期"信号。
- 采样率 250 Hz,Nyquist 频率 125 Hz,硬件带通 0.5-100 Hz——工程上常用 4-40 Hz 子带(mu/beta/低 gamma 覆盖,见 §6.3)。
- 每会话 6 runs,run 之间以约 100 个 NaN 样本的分隔段衔接(读取处理见坑点 2)。
- 会话开头约 5 min EOG 校准数据(2 min 睁眼 + 1 min 闭眼 + 1 min 眼动)可专门用于眼电建模。
- 通道数 25(22 EEG + 3 EOG);按 float32 估算,全部 5,184 试次 × 1,000 样本 × 22 通道的想象期数据约 0.45 GB,可整体驻留现代工作站内存。
§4.4 数据层级
数据集
└── 受试者(9:A01-A09)
└── 会话(每人 2:T 训练 / E 评估,不同日期)
└── run(每会话 6,run 间 NaN 分隔)
└── 试次(每 run 48;每类 12;t=0 至 t=6+ s)
└── 样本(250 Hz × 25 通道:22 EEG + 3 EOG)
这一层级决定了三类泛化评测的"独立单元":试次内切分(易泄漏)、run/会话间切分(官方口径)、被试间切分(最难口径),见 §5。层级中任何一环的元数据(被试号、会话号、run 号、试次序号)都建议在预处理阶段写入存档的 meta 数组(§6.3 的 meta 列),以便后续按任意层级聚合分析。
§4.5 缺失值与信息性缺失编码
| 缺失形态 | 位置 | 含义 | 推荐处理 |
|---|---|---|---|
| NaN 样本段(约 100 个样本) | 每个 run 结束处 | run 分隔符,非信号丢失 | 按 run 切分后丢弃;严禁对整条连续信号做均值填充后再切 epoch(见坑点 2) |
| EOG 校准块缩短 | 仅 A04T | 采集技术问题:该被试仅保留眼动条件(缺睁眼/闭眼段) | 涉及 EOG 校准建模的流水线对 A04 需条件分支(官方论文附录明确说明) |
| 类标签缺失 | 全部 E 文件 | 设计使然:测试标签物理隔离 | 从对应 A0nE.mat 读取 classlabel(见坑点 1) |
| 人口学信息缺失 | 全数据集 | 未随数据发布(非文件损坏) | 任何依赖年龄/性别/利手的分析在本数据集上不可行(§2.4) |
总原则:本数据集的缺失形态全部是设计或文档层面的信息性缺失,不存在随机信号丢失;把它们当作"脏数据"去插值修补是方向性错误——正确做法是理解每个缺失的含义并在流水线中显式建模(§4.1b 的断言即由此而来)。
§5 数据划分与使用建议
§5.1 官方划分
官方协议只有一个划分:T 会话(288 试次,含标签)训练、E 会话(288 试次,标签单独发放)评估,指标为 kappa。这一"会话间迁移"设定是所有与竞赛数字可比的基准的前提——任何在 T 会话内部切分训练/测试所得的数字都不可与竞赛排行榜对话。
该划分同时定义了两个不可逾越的时间边界:模型校准所需的一切统计量(归一化均值/方差、CSP 滤波器、特征选择、超参)都必须且只能来自 T 会话;E 会话在整个开发过程中只允许被"触碰"一次(最终评估)。
§5.2 社区惯例划分
| 口径 | 划分方式 | 用途 | 与竞赛数字可比性 |
|---|---|---|---|
| subject-specific(官方口径) | T 会话训练(可再分出验证子集做早停/调参),E 会话测试 | 复现竞赛与 FBCSP 系基准 | 可比(须对齐窗口/滤波) |
| cross-subject | 留一被试(9 折),其余 8 人训练 | 被试无关解码、域自适应 | 不可比,自成一条基准线 |
| T 会话内部 CV | T 会话内 run 级或分层 K 折 | 快速模型迭代与消融 | 不可比,仅用于开发 |
无论采用哪种口径,"划分"本身都应作为实验配置的一部分被版本化记录:同一模型在不同划分下的数字差异,往往大于模型之间的真实差异。
§5.3 泄漏风险与防泄漏要点
- 评估标签泄漏:绝不能把 E 会话的任何信息(包括其标签文件、全数据集归一化统计量、PCA/ICA 分量)混入训练阶段。归一化、频带选择、CSP 滤波器拟合都只能用 T 会话数据。
- 同 run 相邻试次泄漏:同一 run 内相邻试次共享电极阻抗、注意力状态等慢变因素;在 T 会话内部做 K 折时务必按 run/试次块切分,不要逐试次随机打乱后切分。
- 重叠滑窗增强泄漏:用重叠窗口扩增训练集时,重叠样本只能留在训练侧;若增强窗口跨越训练/测试边界,会制造近乎复制样本的泄漏(近年部分高分论文因此被质疑,见坑点 6)。
- EOG 通道泄漏:若把 EOG 通道喂给分类器,模型可能学到"眨眼模式与类别相关的偶然关联",在跨会话/跨被试时崩塌(见坑点 4)。
- 时间泄漏:试次以伪随机顺序呈现,但同一 run 内的时间相邻试次共享状态漂移;任何"按时间顺序前半训练、后半测试"的花式切分都要谨慎论证,否则只是另一种形式的同 run 泄漏。
- 调试信息泄漏:开发期反复查看 E 会话错误样本并据此改预处理,属于"人肉验证集泄漏"——调试观察可以,改配置必须回到 T 会话内验证。
§5.4 交叉验证建议
- subject-specific:T 会话内按 run 分组 K 折(GroupKFold,group=run 编号)做模型选择,最终只在 E 会话报告一次。
- cross-subject:9 折留一被试;报告 9 个被试各自准确率的均值 ± 标准差,而非仅报告混合混淆矩阵——被试间差异极大(§7.1),只报混合数字会掩盖失效个体。
- 超参数搜索:滤波带、窗口长度、正则强度等只能在 T 会话内完成;每次搜索后 E 会话只能"看一次",避免把 E 会话当验证集反复调参(这等于变相泄漏,见坑点 5)。
- 验证子集的构造:若在 T 会话内需要早停或调参,推荐按 run 分组留出法(留 1-2 个 run 做验证)而非逐试次随机;被试级超参(如个体频带)与全局超参(如学习率)应分开选择,只有后者可跨被试共享。
§5.5 外部验证建议
- 同团队姊妹数据集 BCI IV 2b:9 人双类 MI、3 双极通道、同样 T/E 会话设计,可验证少通道系统下的迁移性(镜像同在 IEEE DataPort)。
- PhysioNet eegmmidb:109 人任务分类/想象数据,可做跨实验室、跨采样率(160 Hz)的域自适应验证。
| 跨数据集验证的原则 | 不同数据集的蒙太奇、采样率与提示时序不同,直接混训前必须做通道子集对齐与重采样,并在论文中明确标注协议差异;社区尚无统一的跨数据集基准数字,任何"外部验证性能"都应以自行复跑为准。 |
补充一条实操次序建议:先在 2b 上做"同团队、同范式、少通道"的迁移验证(成本最低),再扩展到 eegmmidb(跨实验室、跨采样率),最后才是 OpenBMI 等工业级采集——每一步都固定上一步的预处理代码,只改数据适配层,这样任何性能变化都能归因到数据差异而非代码差异。
§6 AI 就绪指南
§6.0 云端快速启动
无需申请、无需注册:在任意云笔记本(Colab/Kaggle)或本地环境安装依赖后,moabb 会在首次运行时自动从官方源下载数据(约 420 MB)。两个云端注意事项:其一,云主机的默认磁盘配额需 ≥2 GB(原始 zip + moabb 缓存 + 转换副本);其二,若云端无法直连官方源,可先在本地下载 zip 再通过环境变量 MNE_DATA 指向手工解压的目录,moabb 会识别已存在的数据而跳过下载。
pip install mne moabb scikit-learn torch numpy pandas
# 最小验证:3 行代码加载一名受试者的训练会话
from moabb.datasets import BNCI2014_001
ds = BNCI2014_001()
raw = ds._get_single_subject_data(1)["session_T"]["run_0"] # MNE Raw 对象
print(raw.info["nchan"], raw.info["sfreq"]) # 25 通道, 250 Hz
§6.1 快速上手
以下代码假设两种目录布局,任选其一:
- 布局 A(手动下载):
data_root/BCICIV_2a_gdf/A01T.gdf ... A09E.gdf,data_root/labels/A01E.mat ... A09E.mat。data_root即你解压官方 zip 的目录;标签目录与 GDF 目录平级。 - 布局 B(moabb 自动):不设
data_root,moabb 自动下载到~/mne_data/MNE-BNCI2014-001R/(可用环境变量MNE_DATA重定向)。
最小可用子集:只有一名受试者的 A01T.gdf 即可跑通预处理与训练全流程(288 试次);9 人全部 18 个文件才有完整基准意义。
# §6.1 快速上手:读取 GDF、提取运动想象试次、打印形状
# 依赖:pip install mne numpy scipy
import mne
import numpy as np
data_root = "data_root" # 布局 A 的根目录;目录内应有 BCICIV_2a_gdf/ 与 labels/
gdf_path = f"{data_root}/BCICIV_2a_gdf/A01T.gdf"
raw = mne.io.read_raw_gdf(gdf_path, preload=True, verbose="ERROR")
# 注意:原始通道名为 EEG-Fz、EEG-0...EEG-20、EOG-left、EOG-central、EOG-right
eeg_channels = [ch for ch in raw.ch_names if ch.startswith("EEG")]
raw_eeg = raw.copy().pick(eeg_channels) # 剔除 EOG(坑点 4)
raw_eeg.filter(4.0, 40.0, verbose="ERROR") # mu/beta 带通(§6.3)
events, event_id = mne.events_from_annotations(raw_eeg, verbose="ERROR")
# event_id 字典应包含:{'768': 768, '769': 769, '770': 770, '771': 771, '772': 772, ...}
cue_codes = {f"{c}": c for c in (769, 770, 771, 772)} # 769-772 才是类别 cue(坑点 3)
epochs = mne.Epochs(raw_eeg, events, event_id=cue_codes,
tmin=0.0, tmax=4.0, baseline=None, preload=True, verbose="ERROR")
X, y = epochs.get_data(copy=True), epochs.events[:, -1] - 769 # 标签映射到 0-3
print(X.shape, np.bincount(y)) # (288, 22, 1001) 近似形状;四类各 72
§6.2 数据获取
| 渠道 | 链接 | 内容 | 大小 |
|---|---|---|---|
| 官方下载区 | bbci.de/competition/iv/download | BCICIV_2a_gdf.zip(18 个 GDF) |
420 MB |
| IEEE DataPort 镜像 | doi.org/10.21227/0532-g541 | 2a + 2b 打包(BCICIV_2a_gdf.zip 419.59 MB) | 419.59 MB |
| moabb 自动下载 | BNCI2014_001 类 |
首次运行自动下载并缓存 | 自动 |
| Kaggle 镜像 | 搜索 “BCI Competition IV: Dataset 2a” | GDF + 标签 + 汇总目录(社区上传) | 约 603 MB |
评估集标签(A01E.mat-A09E.mat)是获取环节最容易被遗漏的部分:官方在竞赛结果发布时单独发放,如今最常见于 IEEE DataPort 镜像与 Kaggle 镜像的 TrueLabels/labels 目录。下载后应核对文件数量(9 个)与每个文件的 classlabel 长度(288)再进入预处理(坑点 1)。
# 布局 A:手动下载官方包(含校验的重复执行安全写法)
mkdir -p data_root && cd data_root
wget -c https://www.bbci.de/competition/iv/data/dataset2a/BCICIV_2a_gdf.zip
unzip BCICIV_2a_gdf.zip -d BCICIV_2a_gdf
# 评估集真标签 A01E.mat-A09E.mat 由官方随竞赛结果发放,现多经
# IEEE DataPort 镜像或 Kaggle 镜像获取;放入 data_root/labels/
合规提醒:数据免费获取,公开发表结果时须引用 Tangermann et al. 2012(§9 提供 BibTeX)。镜像渠道的补充条款以宽容为主(IEEE DataPort 要求致谢原始来源;Kaggle 上传者标注 CC0 属其个人行为,不代表官方条款),稳妥做法是始终按官方条款执行引用义务。
§6.3 预处理全流程
流程:格式转换 → NaN 清洗 → 滤波 → 事件对齐切片 → 标准化 →(可选)伪迹处理。两个工程决策点:频带(FBCSP 传统 8-30 Hz;深度学习管线常用 4-40 Hz)与窗口(cue 后 0-4 s 共 1,000 样本是深度学习社区主流;部分论文用更短的 3 s 窗以逼近在线场景)。
频带选择的取舍逻辑:8-30 Hz 紧贴 mu/beta 生理范围、噪声更小,是与 FBCSP 系文献对齐的选择;4-40 Hz 覆盖更宽的个体频带差异并给滤波器组留出子带空间,是 EEGNet/Conformer 等深度管线的惯例。决策一旦做出就应贯穿全部实验并在论文中声明,中途更换频带而不重跑对照实验是常见的自比较错误。
# §6.3 预处理:GDF -> NPZ(全部 9 名受试者,训练会话)
# 产出:X (N, 22, 1000) float32;y (N,) int64;meta (N, 2) [subject, session]
import mne, numpy as np
from pathlib import Path
ROOT = Path("data_root/BCICIV_2a_gdf") # 18 个 GDF 文件所在目录
SFREQ, WIN = 250, 1000 # 4 s 窗口
def extract_session(gdf_path: Path):
raw = mne.io.read_raw_gdf(gdf_path, preload=True, verbose="ERROR")
raw.pick([ch for ch in raw.ch_names if ch.startswith("EEG")]) # 只留 22 通道 EEG
raw.filter(4.0, 40.0, verbose="ERROR") # mu/beta 子带
raw.set_eeg_reference("average", projection=False, verbose="ERROR") # CAR
events, _ = mne.events_from_annotations(raw, verbose="ERROR")
cue = events[np.isin(events[:, 2], (769, 770, 771, 772))] # 只取类别 cue 事件
cue = cue[np.diff(cue[:, 0], prepend=-1) > 0] # 防御:去重复事件
idx, labels = [], []
for s, code in cue:
start = s # cue 出现即 t=0
if start + WIN <= raw.n_times:
seg = raw.get_data(start=start, stop=start + WIN)
if np.isfinite(seg).all(): # NaN 段防御(坑点 2)
idx.append(seg); labels.append(code - 769)
return np.stack(idx), np.array(labels, dtype=np.int64)
Xs, ys, metas = [], [], []
for subj in range(1, 10):
for tag in ("T", "E"):
f = ROOT / f"A0{subj}{tag}.gdf"
X, y = extract_session(f)
Xs.append(X); ys.append(y); metas.append(
np.tile([subj - 1, 0 if tag == "T" else 1], (len(y), 1)))
print(f, X.shape, np.bincount(y, minlength=4))
X = np.concatenate(Xs).astype("float32")
y = np.concatenate(ys); meta = np.concatenate(metas)
# 按会话存档:标准化统计量只在训练侧拟合(§5.3 防泄漏)
np.savez_compressed("bci2a_4_40hz_4s.npz", X=X, y=y, meta=meta)
标准化:以每通道训练集均值/标准差做 z-score(或按 run 分块归一化);严禁在全数据集(含 E 会话)上拟合统计量(坑点 5/6)。伪迹处理(可选):保留 3 个 EOG 通道做回归去除(mne.preprocessing.EOGRegression)或 ICA;简单的阈值剔除(峰峰值超限的试次丢弃)在 2a 上也常见,但会改变试次计数,报告时须说明。
§6.4 PyTorch DataLoader
# §6.4 完整可运行:Dataset + DataLoader(官方 subject-specific 口径)
import numpy as np, torch
from torch.utils.data import Dataset, DataLoader
class BCI2aDataset(Dataset):
"""从 §6.3 的 npz 读取;(N, 22, 1000) -> (1, 22, 1000) 单通道 EEG。
split: "train"(T 会话)/ "test"(E 会话)。标准化用训练侧统计量。"""
def __init__(self, npz_path: str, split: str):
d = np.load(npz_path)
X, y, meta = d["X"], d["y"], d["meta"]
m = meta[:, 1] == (0 if split == "train" else 1)
self.X, self.y = X[m], y[m]
if split == "train":
self.mean = self.X.mean(axis=(0, 2), keepdims=True)
self.std = self.X.std(axis=(0, 2), keepdims=True) + 1e-8
np.savez(npz_path.replace(".npz", "_norm.npz"),
mean=self.mean, std=self.std) # 固定下来供测试用
else:
n = np.load(npz_path.replace(".npz", "_norm.npz"))
self.mean, self.std = n["mean"], n["std"]
def __len__(self):
return len(self.y)
def __getitem__(self, i):
x = (self.X[i] - self.mean[0]) / self.std[0]
return torch.from_numpy(x[None]), int(self.y[i])
train_ds = BCI2aDataset("bci2a_4_40hz_4s.npz", "train")
test_ds = BCI2aDataset("bci2a_4_40hz_4s.npz", "test")
train_loader = DataLoader(train_ds, batch_size=64, shuffle=True, num_workers=2)
test_loader = DataLoader(test_ds, batch_size=64, shuffle=False)
print(len(train_ds), len(test_ds)) # 2592 / 2592(9 人 × 288)
预训练与在线化提示: EEGNet/Conformer 输入通常为
(batch, 1, 22, 1000);若采用 0.5-2.5 s 或 0-3 s 窗,只需改 §6.3 的WIN并在论文中注明。
§6.5 坑点清单(8 个真实失败模式)
⚠️ 坑点 1:评估会话(E 文件)里根本没有类标签(分类:标签理解)
问题:A01E.gdf-A09E.gdf 的事件通道只含不含类别信息的通用事件标记,真标签存放在单独的 A0nE.mat(classlabel 数组)。直接把 E 文件事件码当标签用,会得到一个"看似跑通、实则全错"的评估。
症状:读取 E 文件后events_from_annotations得到的码值种类与 T 文件不同(找不到 769-772);或模型评估准确率恒等于 25% 附近的某个常数。
解决:
- 简单方法:从官方/镜像渠道获取 A01E.mat-A09E.mat,用
scipy.io.loadmat读取classlabel字段,按试次顺序与 E 文件切片对齐(1-4 对应左手/右手/脚/舌头)。- 进阶方法:用 moabb
BNCI2014_001,其返回的事件编码已把评估会话的试次顺序暴露出来,配合官方标签文件组装 y_true;自己写对齐脚本时,先验证 T 会话:对 A01T.gdf,你从 GDF 事件码还原的标签应与逐试次类别计数(每类 72)完全一致。- SOTA 方法:在团队内部建立"标签来源审计"——所有报告的 E 会话指标必须能追溯到标签文件的哈希值与读取脚本,杜绝标签顺序错位(例如误用 9 个 .mat 的顺序打乱)。
参考:DeepWiki EEGNet 数据获取文档;BCI Competition IV 官网
⚠️ 坑点 2:run 之间的 NaN 分隔段污染整条流水线(分类:预处理陷阱)
问题:每个 GDF 文件内 6 个 run 之间以约 100 个 NaN 样本分隔。这些 NaN 会被滤波器(IIR/FIR 的记忆效应)扩散到相邻有效信号,若不处理,epoch 化后会出现整段 NaN 的试次,最终让训练静默失败(loss 变 NaN)。
症状:epochs.get_data()后出现np.isnan(X).any();或StandardScaler拟合报"输入含 NaN";或训练若干步后 loss=NaN。
解决:
- 简单方法:epoch 后丢弃含 NaN 的试次(
X = X[np.isfinite(X).all(axis=(1, 2))]),并报告丢弃数量。- 进阶方法:切片阶段就防御——先按事件通道把连续信号切成 run 段(NaN 边界处
np.split),对每个 run 单独滤波(避免滤波器跨 NaN 卷积),再从 run 内部提取 cue 窗口(§6.3 代码的np.isfinite(seg).all()分支)。- SOTA 方法:直接采用 moabb 管线(内部处理了 GDF 的分隔段语义),或在文档中固定"读取-清洗-滤波"的顺序为:读原始 → 事件定位 → 按试次切原始片段 → 片段级滤波。片段级处理还能顺带解决 A04 的 EOG 异常段。
参考:BCI IV 2a 预处理避坑指南(CSDN);MNE read_raw_gdf 文档
⚠️ 坑点 3:768 是"试次开始",769-772 才是"类别提示"——切窗锚点用错全体偏移 2 秒(分类:标签理解)
问题:事件码 768 标记试次开始(t=0 s,注视十字出现),769/770/771/772 在 2 秒后(500 个样本)出现,分别代表左手/右手/脚/舌头提示。用 768 作为 epoch 起点,“cue 后 0-4 s 窗口"实际切到的是提示出现前的静止段。
症状:所有模型准确率塌到 25% 附近(四类随机水平);或以 768 为锚的特征在文献上"怎么调都不对”。
解决:
- 简单方法:一律以
isin(events[:, 2], (769, 770, 771, 772))过滤出 cue 事件做mne.Epochs的 event 数组,tmin/tmax 相对 cue 定义。- 进阶方法:把试次级标注结构显式化——
trial_onset = events[events[:,2]==768]、cue = events[isin(...)],断言两者逐行对应且cue[:,0] - trial_onset[:,0] == 500(250 Hz × 2 s),让对齐错误在预处理阶段就抛异常。- SOTA 方法:写一个数据单元测试集(3 条断言:码值集合、768↔769-772 的 500 样本间隔、每 run 48 试次每类 12),任何通道映射或 MNE 版本升级后先跑测试再训模型。
参考:Tangermann et al. 2012(协议原文);CSDN 预处理避坑指南
⚠️ 坑点 4:EOG 通道的量纲是 EEG 的 10 倍——混入特征会摧毁归一化,混入标签信息是伪泄漏(分类:预处理陷阱)
问题:EOG 通道灵敏度 1 mV、EEG 为 100 μV,同一数组里不做通道区分地归一化,会让 EEG 通道特征被压缩到近零方差。更深的问题:眨眼节律与提示时序存在偶然相关,直接把 EOG 通道喂给分类器相当于引入了"作弊特征",跨会话即失效。
症状:z-score 后 EEG 通道方差异常小;把 EOG 加入特征后训练集准确率明显升高而 E 会话/cross-subject 准确率下降。
解决:
- 简单方法:读取后立刻
pick只保留 EEG 通道(§6.1/§6.3 代码的做法),EOG 不进入特征。- 进阶方法:利用 EOG 通道做监督去伪迹——
mne.preprocessing.EOGRegression用 3 个 EOG 通道回归扣除 EEG 中的眼电成分,然后丢弃 EOG 通道再分类;或 ICA 定位眼电成分置零。- SOTA 方法:以"有/无 EOG 回归"为消融项报告两套结果;竞赛时代的经验结论是:在 2a 上合理使用 EOG 信息可小幅提升,但必须声明用法,否则与排行榜不可比。
参考:Tangermann et al. 2012(EOG 通道规格);MNE EOGRegression 文档
⚠️ 坑点 5:在 T 会话内部随机切分训练/测试——数字虚高且与所有文献不可比(分类:评估误用)
问题:T 会话内相邻试次高度相关(同一日、同一电极状态、同 run 节奏),逐试次随机 K 折会高估性能;而官方口径是"另一天"的 E 会话评估,日间漂移才是真实难点。
症状:T 会话内 CV 准确率 90%+,E 会话一到手就掉 20-30 个百分点;论文审稿被要求"按官方协议重评"。
解决:
- 简单方法:最终结果一律来自"T 训练 → E 测试"单次评估(§6.4 代码);T 内部 CV 仅用于调参,且按 run 分组切分(GroupKFold)。
- 进阶方法:对 E 会话只"看一次":把所有超参搜索在 T 会话内完成并锁定配置;若必须多次读 E 会话做早停,请在论文中明确声明 E 会话验证子集的用法(这已偏离官方口径)。
- SOTA 方法:同时报告 subject-specific(官方口径)与 cross-subject(留一被试)两套数字,并附被试级明细——这是近年论文的标准做法,也让读者能定位你的方法对哪类被试有效。
参考:BCI Competition IV 官网(评测协议);Ang et al. 2012(FBCSP 协议)
⚠️ 坑点 6:跨论文数字不可比——窗口、滤波、协议、甚至数据增强都在暗中不同(分类:评估误用)
问题:2a 的社区基准存在多套口径:任务窗 0-4 s / 0.5-2.5 s / 3 s 不等,滤波 8-30 Hz(FBCSP 传统)与 4-40 Hz(深度学习)并存,kappa 与 accuracy 混用,近年部分高分方法还使用重叠滑窗增强——若重叠窗跨越训练/测试边界即构成泄漏,86%+ 的 subject-dependent 数字需谨慎对待。
症状:复现某论文数字时偏差 5-15 个百分点,却找不出代码错误;不同论文的"平均值"没有可比性。
解决:
- 简单方法:报告自己数字时,把口径写全(窗口、滤波、参考、指标、被试明细);引用他人数字时标注其口径(§8.1 表已尽量注明)。
- 进阶方法:与 FBCSP(κ 0.5700,官方口径)和 EEG Conformer(κ 0.7155,标准口径)这两个被广泛复现的锚点做同口径对照;增强策略固定为"训练侧随机时移/幅值缩放,测试侧无增强"。
- SOTA 方法:公开预处理脚本与随机种子,提供"从 GDF 到混淆矩阵"的一键复现入口;重叠窗增强仅在训练集内部使用,并在方法部分显式声明窗移参数。
参考:SOTA2 跨被试基准汇编;Frontiers 2025 对比表
⚠️ 坑点 7:被试间差异极大——平均分掩盖"对某些人完全失效"(分类:偏倚陷阱)
问题:MI 能力个体差异显著:竞赛口径下 FBCSP 在 A06 上仅 45.25%(近随机),A07 上 82.75%。只报告 9 人平均会掩盖"该方法对低表现被试无用"的事实;算法改进常常只是"在 A01/A03/A07/A08 这些高表现被试上锦上添花"。
症状:新方法平均分提升 2 个百分点,逐被试看却发现 A05/A06 反而下降;跨被试模型在被试无关设置下退化到 50-60%。
解决:
- 简单方法:永远随平均值报告标准差与逐被试明细(9 个数字 + 均值 ± 标准差)。
- 进阶方法:分析被试表现与个体频带(个体 mu 频率)的关系;FBCSP 的滤波器组设计正是为了覆盖个体频带差异,可作为改进方向的对照。
- SOTA 方法:cross-subject 研究采用被试级域自适应(少量校准数据微调、域自适应分类头)并报告"零校准 vs 少样本校准"两条曲线,直面个体差异而非平均掉它。
参考:Frontiers 2025 对比表(逐被试数字);SOTA2 基准汇编
⚠️ 坑点 8:GDF 生态兼容性——通道名、库版本与"每文件 50 MB"的错误预期(分类:工程陷阱)
问题:GDF 读取依赖 BIOSIG/MNE 的版本组合;原始通道名(EEG-Fz、EEG-0…EEG-20)不是 10-20 标准名,直接用于通道位置可视化或跨数据集迁移会失败。另有大量教程声称"每文件约 50 MB",实际单个文件约 28.7-34.4 MB,按错误大小写磁盘预算会误判。
症状:mne.io.read_raw_gdf报告的通道名与论文蒙太奇对不上;raw.info['sfreq']正确但事件数与预期 288 不符(通常是 MNE 版本对事件注释的处理差异);磁盘容量按 50 MB × 18 预留却绰绰有余。
解决:
- 简单方法:加载后立即应用 §4.1 的映射表
raw.rename_channels(MAPPING);以raw.n_times / sfreq与事件计数核对会话结构(6 runs、288 cue)。- 进阶方法:锁定依赖(
mne、gdf相关包版本写入 lock 文件),用 §6.1 的打印断言做环境冒烟测试;必要时绕过 GDF 语义层,直接用raw.get_data()与事件通道数值工作。- SOTA 方法:团队内统一"经 moabb 规范化"的中间存档(MNE FIF 或 NPZ,含通道标准名与标签 0-3),GDF 原始文件只做归档与溯源,所有下游实验基于规范化存档。
参考:MNE read_raw_gdf;moabb BNCI2014_001 文档
§6.6 数据增强
| 技术 | 安全性 | 说明 |
|---|---|---|
| 训练侧随机时移(±0.2 s 内) | ✅ 安全 | 模拟对齐误差,测试侧不增强 |
| 幅值缩放 / 高斯噪声(低幅度) | ✅ 安全 | 模拟增益与噪声波动 |
| 通道 Dropout(1-2 通道) | ✅ 安全 | 提升对坏导联的鲁棒性 |
| 频带扰动(抖动滤波边界) | ✅ 安全 | 模拟个体频带差异,训练侧使用 |
| 滑窗重叠扩充 | ⚠️ 有条件 | 仅训练集内部使用;跨越训练/测试边界即泄漏(坑点 6) |
| 镜像翻转左右半球 | ❌ 危险 | 会交换左手/右手类别的对侧拓扑,直接破坏标签 |
| 对测试集做任何统计拟合(含归一化) | ❌ 危险 | 泄漏(§5.3) |
增强的总体哲学:在 2a 这种"小数据 + 强个体差异"的场景下,增强的收益来自模拟佩戴与状态变化(时移、幅值、通道丢失),而非制造新信息——任何试图"无中生有"合成新试次的策略(除明确声明的生成模型研究外)都会让评估失去解释力。
§6.7 模型推荐
| 模型 | 类型 | 适用场景 | 在 2a 上的参考表现(口径见 §8.1) |
|---|---|---|---|
| CSP + LDA | 经典管线 | 快速基线、小样本校准 | 竞赛时代基线(低于 FBCSP) |
| FBCSP + LDA/Bayes | 滤波器组 + CSP | 官方口径基准锚点 | 67.75% / κ 0.5700 |
| EEGNet | 轻量 CNN | 边缘部署、教学 | 跨被试口径 77.93% |
| ShallowConvNet / DeepConvNet | CNN 基线 | 与 EEGNet 对照 | 跨被试口径 80.15% / 系列相近 |
| EEG Conformer | CNN + Transformer | 时空特征联合建模 | subject-dependent 78.66% / κ 0.7155;跨被试 80.75% |
| ATCNet / MSVTNet 等 | 注意力时序模型 | 2023-2025 论文对照 | subject-dependent 80%+ 区间 |
选型次序建议:先用 CSP+LDA 建立可解释基线(半天内),再上 EEGNet 打通深度学习管线(一天内),最后才引入 Conformer 级架构冲刺指标——跳过前两步直接上重型模型,是 2a 上最常见的"调不动、说不清"陷阱。
§6.8 硬件需求
| 任务 | 最低配置 | 推荐配置 |
|---|---|---|
| GDF 解析 + CSP/LDA | 2 核 CPU / 4 GB 内存 | 4 核 / 8 GB(全量 5,184 试次驻留内存约 0.5-1 GB) |
| EEGNet 训练(9 人) | 单卡 4 GB GPU 或 CPU(慢) | 单卡 8 GB GPU,单次实验分钟级 |
| Conformer/ATCNet 训练 | 单卡 8 GB GPU | 单卡 11 GB+ GPU;9 人 × 早停调参建议批处理排队 |
| Cross-subject 9 折 × 调参 | — | 多卡或脚本队列;每折结果落盘可断点续跑 |
内存估算依据:全数据集想象期张量约 0.45 GB(§4.3),叠加滤波中间量与训练批缓存,4 GB 内存即可完成经典管线;深度模型的显存占用主要由窗口长度与批大小决定,1,000 样本窗口下 8 GB 显存可支撑 batch 64 的 Conformer 训练。
§6.9 评估指标代码
# §6.9 官方指标(kappa)+ 逐被试明细
# 依赖:pip install scikit-learn numpy;输入 y_true/y_pred/meta 来自 §6.3 的 npz
import numpy as np
from sklearn.metrics import cohen_kappa_score, accuracy_score, confusion_matrix
def report(y_true, y_pred, meta):
"""meta: (N, 2) [subject, session];在 E 会话(session==1)上报告。"""
m = meta[:, 1] == 1
yt, yp = y_true[m], y_pred[m]
print(f"accuracy = {accuracy_score(yt, yp):.4f}")
print(f"kappa = {cohen_kappa_score(yt, yp):.4f}") # 官方竞赛指标
print(confusion_matrix(yt, yp)) # 行=真值 列=预测
for s in np.unique(meta[m, 0]): # 逐被试(坑点 7)
ms = m & (meta[:, 0] == s)
print(f" A0{s+1}: acc={accuracy_score(y_true[ms], y_pred[ms]):.4f}, "
f"kappa={cohen_kappa_score(y_true[ms], y_pred[ms]):.4f}")
§6.10 MLOps 笔记
- 数据版本化:原始 GDF 只读归档并记录哈希;所有实验从 §6.3 生成的中间存档(npz)出发,npz 的生成脚本版本号与预处理参数(频带/窗长/参考)写入实验配置。
- 可复现性:固定
torch/np/random种子;cross-subject 与 subject-specific 分开登记实验 ID;每条结果关联"预处理脚本版本 + 代码版本 + 标签文件来源"。 - 评估纪律:E 会话指标只允许在最终配置下产生一次;把 §6.9 的逐被试输出直接存进实验跟踪系统,防止"平均分漂白"。
- 模型资产:按"被试/口径/窗口"命名 checkpoint;对外发布时附带 §4.1 通道映射表,避免他人误用原始通道名。
- 依赖锁定:
mne、moabb、scikit-learn的版本写入 lock 文件;GDF 解析与事件语义是版本敏感点(坑点 8),升级后先跑 §6.1 的冒烟测试。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解建议 |
|---|---|---|---|
| 被试规模偏倚 | 仅 9 名健康受试者,模型级统计功效低;论文结论易被单被试波动左右 | 高 | 逐被试报告(坑点 7);跨数据集联合验证(§7.8) |
| 单中心/单设备偏倚 | 全部数据来自 Graz 单一实验室、单一放大器与蒙太奇,跨设备泛化未知 | 高 | 搭配 2b、eegmmidb、OpenBMI 等异源数据复训 |
| 人群偏倚 | 无人口学信息发布,年龄/利手构成不明;结论外推到患者人群缺乏依据 | 中 | 不做患者相关结论;临床迁移须独立验证 |
| 能力偏倚 | MI 能力个体差异大(竞赛口径下 FBCSP 逐被试 45.25%-82.75%),平均分掩盖失效个体 | 高 | 报告均值 ± 标准差与逐被试明细 |
| 排行榜口径偏倚 | 社区基准窗口/滤波/增强不一,近年高分结果存在重叠窗增强争议 | 中 | 只与同口径锚点比较(§8.1 注) |
这张表的整体读法:前四行(规模、中心、人群、能力)是数据集的结构性属性,任何方法都无法"修掉",只能通过实验设计与报告方式诚实呈现;后两行(口径、范式)是社区约定问题,可通过严格的口径声明与同行沟通控制。
| 范式偏倚 | 提示性同步范式,标签反映"提示类别"而非"想象质量";与自发异步 BCI 场景有差距 | 中 | 在线系统须另行验证异步解码 |
| 标注语义偏倚 | 想象执行不佳的试次仍带"正确"提示标签,构成固有标签噪声 | 中 | 试次清洗标准须公开且谨慎,避免选择性剔除 |
§7.2 标注质量
标注由实验程序自动写入(事件码 768/769-772),无人工标注误差,时序在 250 Hz 下样本级对齐。但需理解其语义边界:标签保证"提示了什么",不保证"被试想象得好不好"——MI 执行质量波动是该范式的固有标签噪声,也是被试间与试次间准确率波动的来源之一。另一个标注细节是 A04T 的 EOG 校准块因技术问题不完整(仅含眼动条件),官方论文附录明确记录了这一例外,涉及 EOG 建模的流水线需对该被试做条件分支(§4.5)。
实际工程中的含义是:试次级"清洗"(剔除低质量试次)在本数据集上没有客观依据可循(无质量标签、无反应时),任何剔除标准都是研究者的主观决定,必须公开并保持训练/测试侧一致,否则会引入选择偏倚。
§7.3 泛化性
| 部署场景 | 失效风险 | 证据与说明 |
|---|---|---|
| 同被试次日使用(官方口径) | 中:日间信号漂移 | 官方设计即为会话间迁移;FBCSP κ 0.5700 表明日间可分性显著低于同日 |
| 换被试(零校准) | 高:个体拓扑/频带差异 | 跨被试口径下 EEGNet 仅 77.93%,被试无关设置更低(SOTA2 汇编) |
| 换放大器/电极蒙太奇 | 高:通道语义漂移 | 单中心数据无法验证;需跨数据集重训练 |
| 少通道可穿戴布局 | 中-高:22 通道全蒙太奇难以复刻 | 需通道选择实验或改用 2b(3 双极)范式 |
| 临床患者人群 | 高:信号形态不同(如卒中偏瘫侧 ERD 减弱) | 本数据集全部为健康人,无患者证据 |
| 跨实验室同蒙太奇复刻 | 中-高:设备与流程细节差异 | 单中心数据无法内部验证;复刻需自建校准与交叉比对 |
泛化性的总判断:2a 上验证的是"算法在会话间漂移下的判别能力",不是"产品在任何条件下可用的证明";把两者的证据边界写清楚,是使用该数据集的论文最常缺失的一句话。
§7.4 伦理
数据由 Graz 技术大学在竞赛组织下采集,受试者为知情同意的健康志愿者;官方页面对数据的限制仅为"公开发表结果须引用竞赛综述论文"。数据不含可识别个人信息:受试者仅以 A01-A09 编号出现,不随数据发布人口学或健康信息。使用者仍应遵守所在机构的伦理审查要求——尤其当研究涉及把算法迁移到患者数据时,必须另立伦理批准。
二次使用注意:原始知情同意面向学术研究用途;将数据用于产品训练或再分发衍生数据前,建议与数据提供方确认边界,并始终保留官方引用要求。
§7.5 公平性
本数据集无人口学标签(年龄、性别、利手均未随数据发布),无法开展子群公平性审计——这本身就是一种局限:任何"对所有人同样有效"的声明都缺乏证据基础。可操作的替代做法:以被试为单位检查模型失效模式(坑点 7),并避免在论文中做超出 9 名健康志愿者范围的人群声明。
向下游应用延伸时,公平性问题会转移形态:康复 BCI 若仅在健康人数据上校准,对老年、偏瘫或感觉减退用户的性能落差没有先验估计;这类风险应在系统文档中显式声明,而非依赖 2a 的验证结果背书。
§7.6 数据漂移
作为静态发布的历史数据集(2008 年发布、官方未再修订),不存在数据内容漂移;但存在两个生态性漂移值得注意:其一,工具链漂移——MNE/BIOSIG 对 GDF 事件语义的处理随版本演进,复现旧论文数字时需锁定依赖版本(坑点 8);其二,基准口径漂移——社区评测协议(窗口、滤波、增强、指标)逐年演变,比较历史与最新数字时必须核对口径(坑点 6)。此外还有一个易被忽视的"使用者漂移":同一数据在不同年代被用于不同研究问题(从"能否分类"到"能否跨被试"),旧结论不能默认适用于新问题设定。
§7.7 DAIMS 数据质量评估(24 项)
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | 连续 GDF 记录 + 事件通道,epoch 化后即标准 张量格式 |
| 2 | 唯一标识 | ✅ | 文件名(A0nT/A0nE)+ 采样索引 + 试次序号可唯一定位任一样本 |
| 3 | 特殊字符 | ✅ | 通道名与事件码均为 ASCII,无转义陷阱 |
| 4 | 重复行 | ✅ | 无重复试次;事件码体系内无冗余标记 |
| 5 | 缺失编码 | ⚠️ | run 间以约 100 个 NaN 样本分隔,需显式处理(坑点 2) |
| 6 | 标签标识 | ✅ | 事件码 769-772 语义明确;T/E 文件标签隔离设计清晰 |
| 7 | 罕见类分组 | ✅ | 四类完全均衡(每会话每类 72),无罕见类问题 |
| 8 | 偏倚评估 | ✅ | §7.1 六类偏倚逐项评估并给出缓解路径 |
| 9 | 数据字典 | ⚠️ | 官方仅有论文/技术报告描述,无机器可读字典;通道与事件语义由本条目 §4.1 与 moabb 补齐 |
| 10 | 信息性缺失解释 | ✅ | NaN=run 分隔、A04 EOG 段缺失、E 文件无标签均属信息性缺失且官方/社区有解释(§4.5) |
| 11 | 设备记录 | ⚠️ | 电极材质/间距/参考/灵敏度/滤波完整;放大器型号在不同来源间存在出入(§3.9) |
| 12 | 共线性 | ⚠️ | 22 通道空间间距仅 3.5 cm,体积传导导致显著通道相关;须经 CAR/CSP 空间滤波 |
| 13 | 编码映射 | ✅ | 768(试次开始)与 769-772(四类 cue)的映射明确且在 §4.1/坑点 3 固化 |
| 14 | 时间戳处理 | ✅ | 单一连续采集流、固定 250 Hz,事件为样本级整型索引,无时区/异步问题 |
| 15 | 划分建议 | ✅ | 官方 T/E 会话划分即金标准;社区 cross-subject 口径也有共识(§5) |
| 16 | 泄漏讨论 | ✅ | 标签物理隔离为设计特性;归一化/增强/同 run 泄漏路径在 §5.3 系统讨论 |
| 17 | 标签分布 | ✅ | §4.2 完整呈现(全数据集每类 1,296,零不均衡) |
| 18 | 测量偏倚 | ⚠️ | 单实验室单放大器采集,跨设备测量差异无法从本数据内评估(§7.1) |
| 19 | 外部验证建议 | ✅ | §7.8 给出 2b/eegmmidb 等外部验证路径与协议注意点 |
| 20 | 版本记录 | ⚠️ | 官方无版本号与更新日志(2008 发布后未修订);镜像完整性需自行校验 |
| 21 | 预处理脚本 | ⚠️ | 官方未提供;社区有 moabb 与多篇论文开源实现,但口径各异(坑点 6) |
| 22 | 合规要求 | ✅ | 免费获取 + 引用条款,义务清晰可执行(§9) |
| 23 | 多模态对齐 | ✅ | EEG/EOG/事件同流同步采样,样本级对齐,无跨设备时钟问题 |
| 24 | 去标识化 | ✅ | 匿名编号发布,不含 PHI;无面容/身份信息 |
DAIMS 评分:20.5 / 24
评分解读:优秀——该数据集在"信号完整性、标签体系、划分设计、合规清晰度"上接近公开 EEG 数据集的天花板:程序化标注零人工误差、四类完美均衡、测试标签物理隔离。扣分集中在生态与工程层面:无机器可读数据字典、无官方预处理脚本与版本管理、放大器型号记载存在出入、NaN 分隔段需要使用者自行理解。
对你意味着什么:
- 可以直接把它当"标准考题":官方划分 + 均衡标签意味着你无需做任何划分设计,把精力花在算法上;但务必遵守 §5.3 的防泄漏纪律,否则数字失去意义。
- 工程预算按"半成品"估:预留 1-2 天做 GDF→NPZ 的规范化管线(§6.3 可直接复用),并把通道映射表(§4.1)纳入你的代码库而非口头约定。
- 引用前核对两件事:放大器型号不要凭二手资料写;与任何排行榜数字比较前先核对窗口/滤波/增强口径(§8.1)。
- 把 §6 的断言纳入 CI:坑点 3 的三条事件结构断言与 §4.1b 的计数校验成本极低,把它们放进你的持续集成流水线,可以在 MNE/moabb 版本升级时第一时间发现解析行为变化。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| BCI Competition IV-2b | Graz 技术大学(同团队) | 双类 MI(FBCSP 同方法跨数据集验证) | 见 Ang et al. 2012 原文 | — | FBCSP 在同系列 2b 上同样获胜,说明滤波器组思想跨范式稳健 |
| PhysioNet eegmmidb | 美国国立卫生研究院(NIH)资助采集 | 任务执行/想象分类(跨实验室迁移目标) | 社区无统一数字,须复跑 | 未建立 | 109 人、64 通道、160 Hz;蒙太奇与采样率差异需对齐后迁移 |
| OpenBMI MI 数据 | 韩国成均馆大学/机器智能实验室 | 4 类 MI 跨数据集解码 | 社区无统一数字,须复跑 | 未建立 | 54 人规模,是跨被试域自适应研究的常用对照集 |
诚实声明:2a 社区尚无被广泛采纳的"跨数据集排行榜";上表第 2、3 行的数字留空是因为任何未复跑的转引都不可靠。正确的做法是按 §5.5 的协议对齐后自行复测,并公布全部预处理差异。
§8 基准性能与生态
§8.1 排行榜(subject-dependent,官方 T→E 口径为主)
⚠️ 可比性警告:下表数字来自不同论文,任务窗(0-4 s / 0.5-2.5 s 等)、滤波(8-30 Hz 与 4-40 Hz)、参考与增强策略不一,不可直接横向比较;kappa 与 accuracy 混排时以论文原报告为准。FBCSP 行是竞赛官方口径的锚点。
| 排名 | 模型 | 平均准确率 | kappa | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|---|
| 1 | DACS-TBTrans | 86.81% | 0.8125 | 2025 | 小波包合成增强 + 熵选通道 + 双分支 Transformer(含重叠窗增强,口径有争议) | Wang et al., 2025, Frontiers in Neuroscience. DOI 10.3389/fnins.2025.1689647 | 论文表格披露 |
| 2 | TCNet fusion | 83.73% | 0.7800 | 2021 | CNN 时序块与 Transformer 融合 | Musallam et al., 2021(数字转引自 Frontiers 2025 对比表) | 未列公开仓库 |
| 3 | SATrans-Net | 84.72%* | 0.80* | 2025 | 空间-时序双支路注意力(*同表内 avg 口径为 84.55/未报 kappa,此处为该表报告值) | SATrans-Net 作者团队, 2025, Scientific Reports. DOI 10.1038/s41598-025-30806-8 | 未列公开仓库 |
| 4 | M-FANet | 79.28% | 0.7259 | 2024 | 多尺度频带特征注意力 | Fu et al., 2024(数字转引自 Frontiers 2025 对比表) | 未列公开仓库 |
| 5 | EEG Conformer | 78.66% | 0.7155 | 2023 | CNN 局部时序 + 自注意力全局交互 | Song et al., 2023, IEEE Transactions on Neural Systems and Rehabilitation Engineering | 官方开源 |
| 6 | DRDA | 74.74% | 0.6632 | 2018 | 深度正则化域自适应 | Sakhavi et al., 2018, IEEE TNSRE | 未列公开仓库 |
| 7 | C2CM | 74.46% | 0.6595 | 2018 | 复数 CSP 特征 + CNN | Sakhavi et al., 2018, IEEE TNSRE | 未列公开仓库 |
| 8 | CTNet | 82.90% | 0.7700 | 2024 | 卷积 Transformer(subject-dependent 口径) | CTNet 作者团队, 2024, Scientific Reports. DOI 10.1038/s41598-024-71118-7 | 未列公开仓库 |
| — | FBCSP(竞赛锚点) | 67.75% | 0.5700 | 2012 | 滤波器组 + 共空间模式 + 互信息选特征 | Ang K K, Chin Z Y, Wang C, Guan C, Zhang H. Filter Bank Common Spatial Pattern Algorithm on BCI Competition IV Datasets 2a and 2b. Frontiers in Neuroscience, 6:39, 2012. DOI 10.3389/fnins.2012.00039 | 社区多实现 |
跨被试口径(subject-independent / cross-subject,与上表不可比):EEGNet 77.93%(κ 0.5586)、ShallowConvNet 80.15%、EEG Conformer 80.75%(κ 0.615)、BFM-MSDA 86.17%(κ 0.7233,2025)——见 SOTA2 基准汇编(截至 2026-09 快照)。
排名仅按报告的平均准确率排列,表示"数字大小"而非方法优劣:头部几行使用了与经典锚点不同的窗口与增强策略;FBCSP 作为官方竞赛口径锚点单列、不参与排名。任何引用都应连同 §8.3 的口径四要素一起转述,脱离口径的裸数字对比没有意义。
CTNet 是"口径敏感性"的现成教材:同一方法在 subject-dependent 口径下报告 82.90%(κ 0.77),在 cross-subject 口径下仅 58.64%(κ 0.4486,DOI 10.1038/s41598-024-71118-7 的自报数字)——两组数字都真实,但回答的是不同的问题。
§8.2 SOTA 总结与选型建议
- 追榜/写论文:subject-dependent 官方口径下,锚点 FBCSP(κ 0.5700)→ Conformer(κ 0.7155)构成"经典 vs 深度"的分水岭;超过 κ 0.75 的结果须逐一核对窗口与增强口径(坑点 6),86%+ 区间数字目前多为特殊协议产物。
- 做系统/产品原型:选 EEGNet 或 ShallowConvNet 级别的轻量模型 + FBCSP 预处理思想,在 8 GB 消费级 GPU 上即可完成 9 人训练;把校准成本(每被试一次 T 会话训练)纳入设计。
- 做跨被试研究:直接采用 cross-subject 口径(§8.1 第二段),并与零校准/少校准两条线对照;被试无关设置下的数字明显低于 subject-specific,这是领域真实状态而非实现失败。
- 做教学/复现练习:从 FBCSP 锚点出发最有教育价值——经典管线代码短、每一步可视化直观,且它是后续所有深度方法绕不开的对照基线。
§8.3 评测协议
- 训练:T 会话 288 试次(可按 run 分组切出验证子集做早停/调参)。
- 测试:E 会话 288 试次,标签取自 A0nE.mat;测试集只评估一次。
- 指标:Cohen’s kappa(官方)+ 准确率 + 混淆矩阵 + 逐被试明细。
- 报告口径四要素:任务窗(起点/长度)、滤波带、参考方案(CAR/乳突)、是否使用 EOG 信息。缺任何一项即不可比。
- 增强声明:训练侧增强策略与窗移参数必须写入方法部分;禁止测试侧增强。
- 随机性控制:固定数据划分、模型初始化与训练种子的随机源;报告单次运行结果时说明未做多次平均,做多次平均时给出方差。
§8.4 相关数据集
| 数据集 | 规模 | 与 2a 的关系 | 获取 |
|---|---|---|---|
| BCI Competition IV-2b | 9 人、2 类 MI + 连续范式、3 双极 EEG | 同团队同竞赛姊妹集,少通道部署研究 | IEEE DataPort |
| BCI Competition IV-1(Berlin) | 多类连续 MI、同步+异步设定 | 同竞赛 Berlin 团队的连续范式对照 | bbci.de 下载区 |
| BCI Competition III-IVa | 5 人、4 类 MI、118 通道 | 更高密度蒙太奇的早期对照基准 | bbci.de 竞赛页 |
| PhysioNet eegmmidb | 109 人、任务执行/想象、64 通道 160 Hz | 大规模跨被试/预训练来源 | PhysioNet |
| OpenBMI MI | 54 人、4 类 MI、62 通道 1000 Hz | 跨设备域自适应对照 | OpenBMI 项目页 |
§8.5 关键论文 Top 8
- Tangermann M, Müller K-R, et al. Review of the BCI Competition IV. Frontiers in Neuroscience, 6:55, 2012. DOI 10.3389/fnins.2012.00055 — 数据集的权威协议描述与竞赛总结,标准引用。
- Brunner C, et al. BCI Competition 2008 – Data Set IIa. Graz University of Technology, 2008(技术报告) — 首发描述文件(官网可下载)。
- Ang K K, Chin Z Y, Wang C, Guan C, Zhang H. Filter Bank Common Spatial Pattern Algorithm on BCI Competition IV Datasets 2a and 2b. Frontiers in Neuroscience, 6:39, 2012. DOI 10.3389/fnins.2012.00039 — 竞赛获胜方法 FBCSP,该数据集所有后续基准的锚点。
- Lawhern V J, Solon A J, Waytowich N R, Gordon S M, Hung C P, Lance B J. EEGNet: a compact convolutional neural network for EEG-based brain-computer interfaces. Journal of Neural Engineering, 15(5):056013, 2018. DOI 10.1088/1741-2552/aace8c — 轻量 CNN 基线,2a 是其标准验证集之一。
- Schirrmeister R T, et al. Deep learning with convolutional neural networks for EEG decoding and visualization. Human Brain Mapping, 38(11):5391-5420, 2017. DOI 10.1002/hbm.23730 — Shallow/DeepConvNet 与 EEG 解码可视化方法论。
- Sakhavi S, Guan C, Yan S. Learning Temporal Information for Brain-Computer Interfaces Using a Convolutional Neural Network. IEEE TNSRE, 26(7), 2018 — C2CM/DRDA,CSP 特征与 CNN 结合的代表作。
- Song Y, Zheng Q, Liu B, Gao X. EEG Conformer: A Convolutional Transformer for EEG Decoding and Visualization. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 31:710-717, 2023. DOI 10.1109/TNSRE.2022.3230250 — Transformer 在 2a 上的标志性结果。
- Wang et al. Motor imagery EEG classification via wavelet-packet synthetic augmentation and entropy-based channel selection. Frontiers in Neuroscience, 2025. DOI 10.3389/fnins.2025.1689647 — 提供截至 2025 年最完整的逐被试对比表(§8.1 多行数字来源)。
论文使用建议:1-3 是"数据集 + 基准锚点"的必引组合;4-5 是深度基线的标准引用;6-8 按你的对照需要选引。引用时同时给出你在 §8.3 意义上的口径声明,读者才能正确解读你的数字。
§8.6 社区活跃度
- 学术热度:竞赛综述论文 Google Scholar 引用 1,532+(截至 2026-09);FBCSP 论文另获 1,200+ 引用,两者合计构成 MI-BCI 方法学研究的引用主干。
- 工具生态:moabb(NeuroTechX 维护)将数据集封装为
BNCI2014_001一行加载;MNE-Python 原生支持其 GDF 读取;主流深度学习库(Braindecode、各 EEGNet/Conformer 复现仓库)均以 2a 为默认示例。 - 排行榜:SOTA2 等聚合站维护跨被试口径的滚动榜单;Kaggle 存在社区镜像与竞赛式实践。
- 内容社区:GitHub/博客(含中文社区)沉淀了大量预处理避坑经验,本条目坑点 1-8 的素材即来源于此(§6.5 参考链接)。
- 维护状态:官方页面自 2008 年起保持在线且持续可下载;moabb/MNE 等工具链处于活跃维护状态,GDF 读取能力随版本持续验证;数据内容本身无任何计划中的更新。
- 中文社区:CSDN、知乎等平台有大量 2a 预处理与复现教程(质量参差,本条目 §6.5 坑点已甄别引用其中经交叉验证的经验),适合中文读者的入门路径。
§8.7 生态快照
| 资源 | 类型 | 链接 | 维护方(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| BCI Competition IV 官网 | 官方页面 | bbci.de/competition/iv | Berlin BCI / Graz 团队 | 原始发布渠道、协议描述与全部数据集入口 |
| 官方下载区 | 数据下载 | bbci.de/competition/iv/download | 同上 | 420 MB GDF zip 一手来源 |
| IEEE DataPort 镜像 | 数据镜像(含 DOI) | doi.org/10.21227/0532-g541 | IEEE DataPort | 2a+2b 打包、便于归档引用 |
moabb BNCI2014_001 |
Python 工具 | moabb.neurotechx.org | NeuroTechX | 自动下载 + MNE Raw + 基准框架 |
MNE-Python read_raw_gdf |
Python 工具 | mne.tools | MNE 开发者社区 | GDF 解析事实标准 |
| MIT-BIH/PhysioNet 之外的 GDF 工具:BIOSIG | C/C++/Octave 工具 | biosig.sourceforge.net | BIOSIG 项目 | GDF 格式的定义方与参考实现 |
| SOTA2 跨被试榜单 | 排行榜 | sota2.com 2a cross-subject | SOTA2 | 跨被试口径滚动汇总 |
| Kaggle 镜像 | 数据镜像 | Kaggle 搜索 “BCI Competition IV: Dataset 2a” | 社区上传 | 网页端浏览与快速上手 |
生态判断:2a 的资源栈分为三层——原始层(官网/IEEE DataPort,永恒稳定)、工具层(moabb/MNE/BIOSIG,持续演进)、基准层(SOTA2/论文表格,快速迭代)。选择在哪一层"锚定"你的复现,决定了你需要维护的兼容性范围。
§9 相关资源与引用
§9.1 官方资源
- 竞赛主页:BCI Competition IV — 全部数据集的入口与评测说明。
- 下载区:bbci.de/competition/iv/download —
BCICIV_2a_gdf.zip(420 MB)一手来源。 - 数据集 2a 描述:主页锚点
#dataset2a;完整协议见 Tangermann et al. 2012 与 Brunner et al. 2008 技术报告。 - IEEE DataPort 镜像:DOI 10.21227/0532-g541 — 2a/2b 打包,便于长期归档。
- moabb 文档:BNCI2014_001 — Python 自动加载与基准框架。
- MNE 读取接口:mne.io.read_raw_gdf — GDF 解析事实标准。
- BIOSIG 项目:biosig.sourceforge.net — GDF 格式的定义方与参考实现,跨语言解析的权威参考。
- 跨被试榜单:SOTA2:Motor Imagery Decoding on BCI Competition IV 2a。
- 社区镜像:Kaggle 数据集页(含逐文件浏览);DeepWiki EEGNet 文档(标签文件与事件码实操参考)。
§9.2 BibTeX 引用块
@article{tangermann2012review,
title = {Review of the {BCI} Competition {IV}},
author = {Tangermann, Michael and M{\"u}ller, Klaus-Robert and Aertsen, Ad and Birbaumer, Niels and Braun, Christoph and Brunner, Clemens and Leeb, Robert and Mehring, Carsten and Miller, Kai J. and M{\"u}ller-Putz, Gernot R. and Nolte, Guido and Pfurtscheller, Gert and Preissl, Hubert and Schalk, Gerwin and Schl{\"o}gl, Alois and Vidaurre, Carmen and Waldert, Stephan and Blankertz, Benjamin},
journal = {Frontiers in Neuroscience},
volume = {6},
pages = {55},
year = {2012},
doi = {10.3389/fnins.2012.00055}
}
@techreport{brunner2008bci,
title = {{BCI} Competition 2008 -- Data Set {IIa}: 4-class Motor Imagery},
author = {Brunner, Clemens and Leeb, Robert and M{\"u}ller-Putz, Gernot R. and Schl{\"o}gl, Alois and Pfurtscheller, Gert},
institution = {Institute for Knowledge Discovery, Graz University of Technology},
year = {2008},
url = {https://www.bbci.de/competition/iv/}
}
@article{ang2012fbcsp,
title = {Filter Bank Common Spatial Pattern Algorithm on {BCI} Competition {IV} Datasets 2a and 2b},
author = {Ang, Kai Keng and Chin, Zheng Yang and Wang, Chuanchu and Guan, Cuntai and Zhang, Haihong},
journal = {Frontiers in Neuroscience},
volume = {6},
pages = {39},
year = {2012},
doi = {10.3389/fnins.2012.00039}
}
@article{lawhern2018eegnet,
title = {{EEGNet}: a compact convolutional neural network for {EEG}-based brain-computer interfaces},
author = {Lawhern, Vernon J. and Solon, Amelia J. and Waytowich, Nicholas R. and Gordon, Stephen M. and Hung, Chou P. and Lance, Brent J.},
journal = {Journal of Neural Engineering},
volume = {15},
number = {5},
pages = {056013},
year = {2018},
doi = {10.1088/1741-2552/aace8c}
}
@article{song2023conformer,
title = {{EEG} Conformer: A Convolutional Transformer for {EEG} Decoding and Visualization},
author = {Song, Yonghao and Zheng, Qingqing and Liu, Bingchuan and Gao, Xiaorong},
journal = {IEEE Transactions on Neural Systems and Rehabilitation Engineering},
volume = {31},
pages = {710--717},
year = {2023},
doi = {10.1109/TNSRE.2022.3230250}
}
§9.3 引用指南
- 使用数据本身(官方条款):公开发表结果时须引用 Tangermann et al. 2012(可同时引用 Brunner et al. 2008 技术报告与竞赛主页)。
- 复用本条目:引用本百科页面时,注明"千方病案医数集,BCI Competition IV-2a 条目,最后人工审核 2026-09-05",并回链本页面。
- 对比基准数字:引用 §8.1 数字时必须连同其口径说明(窗口/滤波/指标)一起转述,禁止脱离口径的裸数字对比。
- 工程复用:复用本条目 §6 代码时,保留代码块头部注释中的目录布局与断言说明;修改窗口/频带后请同步更新你论文中的口径声明。
§10 AI 使用声明卡
§10.1 AI 模型列表
| 模型 | 时间 | 用途 |
|---|---|---|
| deep-model(WorkBuddy) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09 | 5 组检索:官方页面、论文 DOI 与引用量快照、下载与许可条款、SOTA 榜单、社区坑点 |
上述模型仅在撰写阶段使用;页面发布后的数字时效维护(如引用量快照更新)由编辑部按季度复核流程执行,不依赖模型自动运行。
§10.2 AI 参与范围
AI 负责初稿撰写(结构、文字、代码示例、表格汇编与 JSON-LD 序列化);事实性内容(规格数字、协议细节、引用量、基准数字)全部来自 §10.3 所列公开来源并逐条回溯核对;医学与数据工程判断由人工审核者复检。AI 不得引入无来源数字——凡检索未确认的数字均已按"省略"处理(如未公布的人口学信息、未确认的放大器型号细节)。
代码示例(§6.0-§6.4、§6.9)由 AI 编写并按"是否可运行、是否与官方协议一致、是否内置防泄漏断言"三条标准逐行审核;坑点部分(§6.5)以社区公开讨论与官方文档为素材来源,由人工确认其真实性与可操作性后才收录。
§10.3 输入来源列表
- BCI Competition IV 官方主页. Berlin Brain-Computer Interface / Graz University of Technology. https://www.bbci.de/competition/iv/
- BCI Competition IV: Download area(官方下载区,2a zip 420 MB). https://bbci.de/competition/iv/download/
- Tangermann M, Müller K-R, et al. Review of the BCI Competition IV. Frontiers in Neuroscience, 6:55, 2012. DOI 10.3389/fnins.2012.00055
- PubMed Central 收录页(PMCID PMC3396284,PMID 22811657). https://pubmed.ncbi.nlm.nih.gov/PMC3396284
- Brunner C, Leeb R, Müller-Putz G R, Schlögl A, Pfurtscheller G. BCI Competition 2008 – Data Set IIa. Graz University of Technology 技术报告, 2008. https://www.bbci.de/competition/iv/
- Ang K K, Chin Z Y, Wang C, Guan C, Zhang H. Filter Bank Common Spatial Pattern Algorithm on BCI Competition IV Datasets 2a and 2b. Frontiers in Neuroscience, 6:39, 2012. DOI 10.3389/fnins.2012.00039
- moabb 官方文档:BNCI2014_001 数据集类. NeuroTechX. https://moabb.neurotechx.org/docs/datasets/BNCI2014_001.html
- IEEE DataPort 镜像:bci 2a/2b(BCICIV_2a_gdf.zip 419.59 MB). DOI 10.21227/0532-g541. https://dx.doi.org/10.21227/0532-g541
- Kaggle 社区镜像:BCI Competition IV: Dataset 2a(含逐文件大小与 CC0 标注). https://www.kaggle.com/datasets/prashastham/bci-competition-iv-dataset-2a
- DeepWiki:EEGNet 项目之数据获取与数据集结构文档(标签 .mat 与事件码体系). https://deepwiki.com/amrzhd/EEGNet/3.2-data-acquisition
- BCI Competition IV 2a 数据集预处理避坑指南(NaN 分隔段与事件对齐). CSDN. https://blog.csdn.net/weixin_30345577/article/details/99314547
- 从 GDF 到特征矩阵:BCI Competition IV 2a 实战预处理全流程解析(通道映射与 EOG 处理). CSDN. https://blog.csdn.net/weixin_40192258/article/details/113346188
- SOTA2:Motor Imagery Decoding on BCI Competition IV 2a I (cross-subject) 基准汇编(截至 2026-09 快照). https://www.sota2.com/research/sota/motor-imagery-decoding-on-bci-competition-iv-2a-i-cross-subject
- Wang et al. Motor imagery EEG classification via wavelet-packet synthetic augmentation and entropy-based channel selection. Frontiers in Neuroscience, 2025. DOI 10.3389/fnins.2025.1689647
- SATrans-Net 相关对比表. Scientific Reports, 2025. DOI 10.1038/s41598-025-30806-8
- Google Scholar 引用快照:Review of the BCI Competition IV(Cited by 1,532,截至 2026-09). https://scholar.google.com
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(运动想象神经生理、编码映射说明) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §3 数据集规格(通道/采样/滤波/获取渠道) | 千方病案医学编辑部 | 与官网、Tangermann 2012 及 IEEE DataPort 交叉比对 | ✅ 已验证 |
| §4 数据结构(目录树、字段字典、通道映射) | 千方病案医学编辑部 | 与官方描述及 moabb/MNE 文档交叉比对 | ✅ 已验证 |
| §5 数据划分策略 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §6 代码示例与坑点 | 千方病案医学编辑部 | 逻辑审查 + 社区经验交叉比对 | ✅ 已通过 |
| §7 质量评估与 DAIMS 评分 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 排行榜与引用数表述 | 千方病案医学编辑部 | 与 Frontiers/SOTA2 原文及 Scholar 快照交叉比对 | ✅ 已验证 |
| §C JSON-LD @graph | 千方病案医学编辑部 | Schema v3.9 字段逐项校验 | ✅ 已通过 |
| §0 免责声明与审核信息 | 千方病案医学编辑部 | 与站内固定模板逐字比对 | ✅ 已验证 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§3.0 获取渠道矩阵、§6.0-§6.4 与 §6.9 代码示例、§6.5 八个坑点、§7.7 DAIMS 评估表与评分、§8.1 排行榜、§8.7 生态快照、§C JSON-LD。其余章节由 AI 起草框架后经人工重写或逐段修订,事实性表述均回归 §10.3 来源核对。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核声明一致)。
页面状态:published(全部内容已完成审核并发布)
§C 机器可读元数据(JSON-LD)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- eegmmidb — 共享标签:神经科学 / 生理信号 / 脑机接口 / 脑电信号
- cinc-2023 — 共享标签:神经科学 / 生理信号 / 挑战赛数据集 / 脑电信号
- openneuro — 共享标签:神经科学 / 生理信号 / 脑电信号
- ninapro — 共享标签:神经科学 / 生理信号 / 脑机接口
- tuh-eeg-corpus — 共享标签:神经科学 / 生理信号 / 脑电信号
- bonn-eeg — 共享标签:神经科学 / 生理信号 / 脑电信号
- sleep-edf — 共享标签:生理信号 / 脑电信号
- mass — 共享标签:生理信号 / 脑电信号
- deap — 共享标签:生理信号 / 脑电信号
- hbn-eeg — 共享标签:神经科学 / 脑电信号
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

