RSVP 脑电:3 档闪现速度下的目标检测

二〇一三年在英国做的 RSVP 脑电实验,八个枕顶电极、2048 赫兹采样,每秒五张、六张、十张图切过去,其中一成带飞机。数据躺了四年才公开,而它最值钱的部分——目标出现的横向位置——暴露了一件事:刺激序列并不是每个人现做的

来源 牛津大学工程科学系 生物医学工程研究所(Institute of Biomedical Engineering, University of Oxford);EPSRC 与 Wellcome Trust 资助发布时间: 2026-10-20最后更新: 2026-10-20 阅读 18
RSVP 脑电:3 档闪现速度下的目标检测

信息速览

数据集名称RSVP 脑电:3 档闪现速度下的目标检测
数据类型快速序列视觉呈现,事件相关电位,目标检测,脑机接口,眼电伪迹,多速率对照,EDF+,小样本
规模11
接入方式牛津大学工程科学系 生物医学工程研究所(Institute of Biomedical Engineering, University of Oxford);EPSRC 与 Wellcome Trust 资助
AI 就绪度

把找飞机的活儿压缩到每秒十张,人会漏掉多少?这个问题在视觉注意与脑机接口两个领域都有人做,而做它的标准手段叫快速序列视觉呈现:图像一张接一张刷过去,受试者盯住屏幕,在某一刻按下按钮。脑电同步记录,于是每一次「找到」或「没找到」都可以在时间轴上对齐,切出一段波形来看。

英国牛津的一批研究者二〇一三年做了这套实验,八路枕顶电极、2048 赫兹、三档速度。数据二〇一七年才以 Open Data Commons Attribution 许可公开,做成 62 个 EDF 文件。它不大,785 MB,但结构干净:每一张图的出现时刻都写成一条注释,注释里连目标在图上的横向位置都记了下来。

本页把这 62 个文件全部下载、逐字节解析了一遍,核出三件条目页没写、但用之前必须知道的事。**最要紧的一件是:这些「随机」出现的横向位置,在受试者之间逐位复用——前二十二个目标的位置,在三十一个第一会话文件里一位不差。**除此之外还有一处通道清单与文件头不一致,以及一位受试者的信号几乎全灭。三件事都写在下文,并给出可复现的判据。

§1 它是什么:一次为「多快还能看见」做的多速率对照

1.1 一句话定义与四条边界

这是一份多呈现速率的视觉目标检测脑电数据集:十一名健康志愿者,在三档速度下观看航拍图像流、寻找其中约一成夹带飞机的图,同步记录八路枕顶脑电。

四条边界:

  • 没有行为数据。 没有按键、没有反应时、没有对错。整份数据只有脑电与「哪张图是目标」这两样东西。任何以「受试者有没有认出来」为前提的分析,都无法在此验证。
  • 不是被动观看。 任务是主动搜索,受试者带着「找飞机」的目的看每一张图。脑电里混着搜索相关的成分,也混着与任务无关的视觉诱发成分,两者难以分离。
  • 不是临床人群。 十一名健康受试者,没有癫痫、没有视力障碍的说明,也没有任何疾病标签。
  • 不是标准范式的重复。 常见 RSVP 脑机接口范式用单字符或人脸做刺激、按十赫兹以上的频率闪烁以诱发稳态视觉诱发电位;这里用的是自然图像、三档较低的速度、看的是瞬态诱发电位。两者不能互换。

1.2 三档速度与两次记录的排列

速率 图像间隔(理论) 间隔众数(文件里) 文件数 受试者数 总时长
5 赫兹 200 毫秒 199.7 毫秒 22 11 152.7 分钟
6 赫兹 166.7 毫秒 166.5 毫秒 20 10 116.4 分钟
10 赫兹 100 毫秒 99.6 毫秒 20 10 84.8 分钟

每个受试者每个速率都有两个文件,文件名末尾用 a 或 b 区分先后。同一速率下,两次记录之间的休息时间短得惊人:十九对里有十六对落在 20 到 43 秒之间,中位数 30 秒。条目页的原话是「受试者在两个文件之间做了长时间休息」,与文件里写下的时钟时间不符。

这不是小事。 如果两次记录只隔半分钟,那么 a 与 b 就不能当成两次独立的测量,更不能当成「同一受试者的两个样本」用于数据增强——它们共享同一个疲劳状态、同一个注意水平、几乎同一个头姿。

1.3 一次记录里到底发生了什么

每个 EDF 文件是一段连续脑电,注释通道里逐条写着三类信息:

  1. 每个数据块(burstSize=100)的起始,标明块号与名义帧率;
  2. 每张图的出现时刻,正文写作 T=0,x=-1 或 T=1,x=<像素>;
  3. 每个块的结束,正文为 END。

块的大小固定为一百张图。因此一个文件里有多少个块,就能反推出这段记录被打断过几次。62 个文件里,三十一个有三个块、二十个有两个块、十个有四个块、一个(rsvp_10Hz_08a)有六个块。块与块之间有一小段空档,长度从 0.3 秒到 57 秒不等。

块内没有空档。 全部试次两两相减得到 20,752 个间隔,其中只有 178 个超过 300 毫秒,而这 178 个恰好等于「块数减一」的总和——每一个都对应一次块切换。换句话说,块内图像是严格等间隔刷过去的,没有丢帧。

1.4 八个电极在哪,为什么要这八个

通道清单是 PO8、PO7、P8、P7、O1、O2、PO3、PO4。这八个位置全部落在枕叶与顶叶后部,也就是视觉皮层与视觉联合区上方。

选这一片是有道理的:目标检测相关的诱发电位(P300 一类的正波、以及更早的 N2pc 类负波)在这一带的幅度最大。若把额区也放进来,采集到的主要是眼动与眨眼,信噪比反而更差。

代价也是显然的:没有眼电通道,也没有额区参考。 十赫兹下每 100 毫秒刷新一张图,受试者即使不看屏幕边缘,微小的扫视也会污染枕顶信号。这套数据无法用独立眼电通道做回归校正,只能靠去趋势与低通滤波硬扛。

1.5 飞机长什么样,位置怎么定

条目页给出的图像参数:

  • 航拍图,伦敦上空,张角 11.5 度乘 11.8 度;
  • 目标图是在原图上「照片级真实地」叠一架随机旋转、随机定位的飞机;
  • 非目标图不含飞机;
  • 目标的横向位置定义为飞机质心的横坐标;
  • 数据库里只保留「横向目标」:质心距屏幕中心横向张角至少 1.2 度,约占目标图的六成。

最后一句是关键,也是本页核对的第一处切口:既然只保留横向目标,那么每一张目标图的横坐标都应该是一个独立抽样的结果。

1.6 版本与许可

版本 1.0.0,二〇一七年五月十九日发布。许可为 Open Data Commons Attribution License v1.0(ODC-By),署名即可商用。DOI 为 10.13026/C2KX0P。条目页标注未压缩体积 748.9 MB,我从对象清单累加得到 785.3 MB,差 4.6 个百分点,属于十进制与二进制单位混用。

§2 数据构成:62 个文件的真实结构

2.1 目录与文件命名

5-Hz/rsvp_5Hz_<受试者编号><a|b>.edf
6-Hz/rsvp_6Hz_<受试者编号><a|b>.edf
10-Hz/rsvp_10Hz_<受试者编号><a|b>.edf
RECORDS
SHA256SUMS.txt

受试者编号从 02 到 14,缺 01、05、07。缺号的原因条目页没有说明,从数据本身也推不出来——既没有「受试者 05 因故退出」的注释,也没有占位文件。

回看我们的表:5-Hz 有 22 个文件,对应 02、03、04、06、08、09、10、11、12、13、14 十一个人;6-Hz 只有 20 个,十个人;10-Hz 也是 20 个,十个人。交叉核对后可以确定:受试者 06 缺 6-Hz,受试者 14 缺 10-Hz。条目页只写了「三档速度」,没写这两处缺口。

2.2 每个文件的外部特征

六十二个文件的外部结构完全一致,这是这份数据最省事的地方:

项 值
固定头长度 2816 字节
数据记录长度 36978 字节(八路各 4096 字节 + 状态通道 4096 字节 + 注释 114 字节)
采样率 每路 2048 赫兹
记录时长 每条记录 1.0 秒
通道数 10(八路脑电 + 1 路状态 + 1 路注释)
增益 每路 0.03125 微伏/单位(即 32 单位 = 1 微伏)
物理量程 八路均为 ±1024 微伏
数字量程 八路均为 −32768 至 32767

增益这一项必须逐文件读。 六十二个文件的注释通道里虽然都写着 amplifier,但数字量程与物理量程写在信号头;八路脑电全部 0.03125,这一点是统一的。这与前一份子宫肌电数据(同一批受试者的不同通道增益差十六倍)形成对照——那边的教训在这里不适用,但检查动作仍然要做,不能凭印象跳过。

2.3 文件时长跨度极大

一个文件的时长等于「数据记录条数乘以一秒」。六十二个文件的记录条数从 214 到 576 不等:

  • 最短:rsvp_10Hz_06b,214 秒;
  • 最长:rsvp_5Hz_13a,576 秒;
  • 中位数:336.5 秒;
  • 六十二个文件合计 21,233 秒,约 353.9 分钟。

时长与速率强相关。 五赫兹组平均 416 秒、六赫兹组 349 秒、十赫兹组 254 秒。原因很直接:每个块固定一百张图,图像数一样,速率越快耗时越短。但各组内部差异同样很大——五赫兹组从 368 秒到 576 秒,跨了 208 秒。

时长与试次数几乎完全线性。 分速率算相关系数,五赫兹 0.99996、六赫兹 0.99993、十赫兹 0.99996。这意味着试次数不携带任何独立信息:知道时长,试次数就定了。任何以「时长」和「试次数」作为两个特征的分析,实际上只有一个自由度。

2.4 试次、目标与不平衡

项 数值
全部试次 20,814(其中 a 组 10,784)
目标试次 2,069
非目标试次 18,745
目标占比 9.94%
各文件目标占比范围 9.67% – 10.23%

目标占比被精确控制在十分之一,六十二个文件里没有一个偏离超过 0.3 个百分点。这是分层随机的典型特征:生成序列时先定好每块的目标数,再打散位置,而不是逐张独立掷骰子。若逐张独立掷、每张十分之一的概率,一百张里目标数的标准差约为 3,而各文件偏离不到 0.3 张对应的比例,说明生成机制是有约束的。

这一点对建模有直接影响:风险集(risk set)是被人为设定的。 现实场景里目标比例远低于十分之一,模型在这个数据集上学到的先验概率不能直接搬到部署环境。

2.5 目标横向坐标:一处必须写清楚的发现

这是本篇最要紧的部分。

两千零六十九张目标图,横坐标只有 91 个不同取值,范围 125 到 509(条目页说 0 到 640)。91 个值平摊到这些目标图上,平均每个值被用了 22.7 次。

单看这个还不算异常——如果坐标是「随机旋转与定位」后取质心再量化,取值本来就会有限。真正的异常在下面。

我把六十二个文件的横坐标序列逐位比对,按文件名末尾的 a/b 分成两组,得到:

  • a 组 31 个文件,共享同一个 22 位的公共前缀:259、134、450、321、173、128、400、201、427、405、439、202、187、287、266、290、390、380、268、375、370、308。三十一个文件,前二十二个目标的位置一位不差。
  • b 组 31 个文件,共享同一个 21 位的公共前缀:317、281、173、415、186、327、509、194、330、394、371、459、278、441、299、190、451、188、196、181、385。

也就是说:受试者 02 的第一次记录、受试者 13 的第一次记录、受试者 14 的第一次记录,头二十二个「随机」位置完全一样;第二次记录的头二十一个位置也一样。 三档速率之间同样如此——rsvp_5Hz_02a、rsvp_6Hz_02a、rsvp_10Hz_02a 的前二十二个目标位置也是同一串数。

2.6 这说明了什么,以及不说明什么

先把「说明什么」写清楚:

同一段刺激序列在三十一个文件里逐位复用,只能是生成侧的产物。刺激生成的随机种子要么是写死的常量,要么随会话顺序固定(第一会话一套、第二会话一套),而不是随受试者或速率的组合重新播种。

再看「不说明什么」,同样重要:

  • 不代表受试者看了同一批图。 横坐标相同不等于图像相同。字符级比对只能确认 x 坐标一致,图像本身是否复用无法从脑电文件里读出来。
  • 不代表数据被复制。 六十二个文件的记录条数、时间戳、信号波形各不相同,没有一个是另一个的副本。
  • 不代表标注错误。 注释确实反映了受试者当时看到的画面;问题在于画面在受试者之间重复了,而不是注释写错了。

对建模的影响是实质性的。 最常见的错误做法是「按试次随机划分训练集与测试集」——同一受试者的相邻试次高度相关,这会大幅高估泛化能力,这一点在本站的其它脑电条目里也反复出现。但这份数据还多一层:即便按受试者划分,前二十来个试次的位置分布在所有受试者身上都是同一套。如果模型的输入不只是脑电、还包括「目标位置」这类元信息,那么训练集与测试集之间就存在一条设计者没有意识到的泄漏通道。

2.7 有一路通道在十一个文件里基本无信号

逐文件、逐通道计算标准差,我找到 46 个「标准差小于 1 微伏」的通道-文件组合,全部集中在三个人身上:

受试者 文件数 现象
09 6(三档各两次) 除 P7 外的七路全部低于 1 微伏,最低 0.01 微伏
11 2 仅 P8 一路低于 1 微伏(a 与 b 各一次)
09 其余 P7 的幅度反而最大,达 47 至 69 微伏

受试者 09 这个模式值得单独说:七路几乎没有信号、只有 P7 一路幅度巨大。这不像「电极没贴好」——没贴好只会一路平;也不像「受试者睡着了」——睡着时枕区会出现明显的慢波,八路都该有。更可能是这一路接到了某个低阻抗的大幅度源(比如肌电或电极线摆动),而其余七路因为参考电极的问题被整体压制。

无论原因是什么,受试者 09 的六个「除 P7 外」文件都不能直接纳入分析。 而条目页的十一位受试者里,这一位占总人数的九分之一。

2.8 两个人的直流偏移达数百微伏

八路脑电的物理量程是 ±1024 微伏,而正常脑电的幅度在十到几十微伏。逐文件的极值统计显示,多数文件的极值落在 ±100 微伏以内,但有六个文件出现了几百微伏的单点极值:

  • rsvp_5Hz_10a:P7 到 47 微伏标准差、极值 ±600 微伏以上;
  • rsvp_5Hz_10b:PO8 标准差 67.7 微伏,是全数据集的最高值;
  • rsvp_10Hz_09a:P7 极值 −701.6 到 989.9 微伏,离量程上限只差 34 微伏;
  • rsvp_6Hz_09b:P8 的标准差恰好为 0,整段只在一个数字上下跳动 0.2 微伏。

这类幅度不是脑电,是电极漂移或运动伪迹。条目页说明了信号经过 0.15 至 28 赫兹带通,但这个带通显然是在漂移发生之前(或之后,无法确定)做的——因为 0.15 赫兹的高通本应把慢漂移压掉,而文件里仍然留着。

实践上必须自己再做一次去趋势。 具体做法在 §8.1 给出。

2.9 状态通道是空的,注释通道才是全部

十个通道里,第九个叫 Status Channel,单位也写着微伏,但它在一万六千余个数据记录里恒等于 −32768,也就是数字量程的下界、对应 −1024 微伏。整段没有任何变化。

这一路没有信息。 它不是触发器,不是刺激对齐信号,也不是质量指标。任何试图从状态通道里读事件的做法都会得到一条直线。

真正的事件在第十个通道——注释通道。这是 EDF+ 的标准做法:注释写在一个采样点数被声明为 57 的特殊通道里,每个数据记录一段,格式为「起始时刻字节 + 若干 0x14 分隔的字段」。解析时要注意两点:

  1. 每条注释的第一个时间戳前有一个 0x00 字节,这是 EDF+ 规定的「onset 字段前缀」,不是乱码;
  2. 同一记录里可以有多条注释,用 0x14(十进制 20)分隔,末尾以 0x00 补齐。

条目页没有提供任何解析代码或字段说明。上表的三类字段(块起始、试次、块结束)是从文件里反推出来的,字段名与取值规律在 §1.3 已列。

2.10 八路通道的幅度不对称

把六十二个文件按速率分组,逐通道取标准差的中位数,得到的排序在三档上高度一致:

通道 5 赫兹 6 赫兹 10 赫兹
P7 11.9 12.3 11.1
PO8 10.2 11.1 9.4
O1 10.0 10.8 9.9
O2 9.4 11.6 9.8
PO4 9.7 10.7 8.8
PO7 9.7 9.5 10.0
PO3 8.8 10.6 8.3
P8 6.3 5.6 5.6

(单位微伏)

两处值得记下来。

第一,P7 三档都排第一,P8 三档都排末位。 左右同名电极差了一倍。这种不对称在健康人身上不该出现——除非左侧电极的阻抗更低、或者左侧贴近某个伪迹源。结合 §2.7 受试者 09 的「只有 P7 有信号」,更可能的解释是 P7 这一路整体更容易耦合到非脑电的信号。

第二,P8 在三档都只有 5.6 至 6.3 微伏,明显低于其它七路。 这不是个别受试者的问题,是所有文件的中位数都低。若做通道级标准化,P8 会被放大到与其它通道同一量级,同时也把它自己的噪声放大。

实践含义: 不要假设八路等价。等权平均八路做空间滤波,会让 P7 的噪声盖过其它通道的信号,而 P8 的贡献被压到很小。要么按通道方差加权,要么先做一次共平均参考。

2.11 单个文件里方差集中在几路

用参与率(PR = (Σλ)²/Σλ²,λ 为各通道方差)衡量「方差摊在几路上」:

  • 六十二个文件的中位 PR 为 4.75,也就是方差大致摊在五路左右;
  • 受试者 09 的六个文件 PR 全为 1.0,即方差全部集中在 P7 一路上;
  • 最高的一组是受试者 12 的四个文件,PR 在 7.5 上下,八路幅度比较均匀。

PR 是一个便宜的质量指标:不需要参考信号,不需要人工肉眼,一个数就能把「某一路塌了」的文件挑出来。建议放在预处理第二步,与标准差筛选并列。

2.12 注释字段的完整字典

条目页只写了「注释包含每张图的起始、是否为目标、以及目标质心的横坐标」,实际文件里有三类共五种字段。下表是从六十二个文件里反推出来的完整清单,可直接照此写解析器:

字段形态 出现次数 含义 注意
RSVP_burstSize=100_block=<n>_frame rate=<r> 187 第 n 个块的起始,名义帧率 r 每块一条;块数两到六不等
END 125 块结束 比块起始少六十二条,即最后一个块没有 END
T=0,x=-1 18,745 非目标图 横坐标用 −1 占位
T=1,x=<125–509> 与前者合计约两万 目标图与质心横坐标 坐标范围与条目页写的 0–640 不同
+<秒>(每条注释的 onset) 与上两类合计相同 相对记录起点的秒数,五位小数 前面带一个 0x00 字节

两处与条目页不同,需要单独指出:

第一,坐标范围。 条目页写「0–640 像素」,文件里的实际范围是 125 到 509。这不是笔误,而是「横向目标」这个筛选条件的结果:质心必须离屏幕中心横向至少 1.2 度,于是靠近中心的与贴边的都被剔掉了。若按 0–640 做归一化,得到的值会整体偏在 0.2 到 0.8 之间。

第二,END 只有 125 条,块起始有 187 条。 差额六十二正好等于文件数——每个文件的最后一个块没有写 END,记录在最后一个试次之后直接截断。解析时若依赖 END 来界定块边界,最后一个块会丢失。

第三,frame rate 字段的值与目录名不一致。 五赫兹目录里的块写着 frame rate=12、六赫兹写 10、十赫兹写 6。这是一条会误导人的元数据:目录名是「每秒几张图」,而这个字段是「显示器刷新率与某个整数倍的关系」——三者互为某种倒序,具体含义条目页未说明。不要用它做速率判断,用目录名。

2.13 为什么目标数不是精确的一成

六十二个文件的目标占比落在 9.67% 到 10.23% 之间,中位 9.96%。若生成时严格按「每十张一张」编排,这个比例应该恰好是 10.00%。实际偏低,原因在文件末尾的截断。

块大小固定一百张,但文件不一定是整数个块。 记录在最后一个试次之后直接结束,最后一个块往往只有几十张图。若截断点在目标图之前,那么这段截断就带走了一张本该出现的目标。

这个解释能对上三处现象:一是目标占比整体略低于一成(截断只会减少目标,不会增加);二是文件越长,占比越接近一成;三是十赫兹组的目标占比波动最大(0.56 个百分点),因为它的文件最短、截断比例最高。

对分析的直接影响: 目标占比不是一个可以当成常数用的量。做校准(calibration)或算期望精度的分析时,必须用每个文件自己的实际占比,而不是统一用 0.1。

2.14 时间戳能告诉你什么,不能告诉你什么

EDF 固定头的第 168 到 184 字节是记录的起始日期与起始时刻,格式为 dd.mm.yy 与 hh.mm.ss。六十二个文件全部有这两个字段,且顺序合理。

能说的: 每个受试者的三档记录是连续完成的,相邻两次之间只隔几十秒到几分钟;同一天里同一批受试者按编号顺序做完,例如二月六日晚间是受试者 02、二月七日傍晚是 03、当夜是 04。

不能说的: 时间戳只有一个精度到秒的字符串,没有时区、没有夏令时标记、没有毫秒。跨日的那几次记录(例如 04 从二月七日 23:43 开始,到二月八日 00:30 结束)如果按日期字段分组,会被算成两天。

还有一个更要紧的限制:起始时刻是文件写入时刻,不是屏幕第一张图出现的时刻。 两者之间隔着一段准备时间,长度从一个半秒到一百九十秒不等(本数据里第一个试次的 onset 最小 1.46 秒、最大 192.46 秒)。要算「受试者从进实验室到开始看图等了多久」,这个时间戳给不了。

§3 怎么拿到:748 MB,走 S3 最快

3.1 许可与门槛

ODC-By 1.0 是全套 Open Data Commons 里最宽松的一档:署名即可,允许商用,允许再分发,允许与其它数据合并。不要求衍生数据库同许可(那是 ODbL 的要求),也不要求对等共享。

署名怎么做,条目页没有给模板。实践上是引用数据集 DOI 与原始论文,并在方法节写明「数据来自 PhysioNet 的 ltrsvp 1.0.0 版」。

一个容易忽略的点: ODC-By 授予的是数据库权利,不当然授予其中单幅图像的版权。条目页没有说明那些伦敦航拍图的来源与授权。如果要再分发图像(不是本数据集内容,本数据集只有脑电),需要另行确认。

3.2 引用

条目页给出了标准引用格式,指向原始论文:

Spyrou, L., Sanei, S., & Took, C. C. (2017). Estimation of cognitive workload from EEG during a rapid serial visual presentation task. 具体期刊与卷期见条目页 References。

除论文外,PhysioNet 平台本身也要求引用(平台层面的统一引用,与数据集无关)。

3.3 下载

三条路,速度差得很远:

路径 命令 速度
网页 ZIP /content/ltrsvp/get-zip/1.0.0/ 单线程,748.9 MB 需要数分钟到数十分钟
递归 wget wget -r -N -c -np https://physionet.org/files/ltrsvp/1.0.0/ 逐文件串行,且经 nginx 转发
S3 直连 https://physionet-open.s3.amazonaws.com/ltrsvp/1.0.0/<路径> 十六并发下约四十秒完成 750 MB

第三条是关键。用免签名直连,把对象清单取下来,再用 xargs 铺开:

   step 1 -- list objects
curl -s "https://physionet-open.s3.amazonaws.com/?list-type=2&prefix=ltrsvp/1.0.0/&max-keys=1000" \
  | grep -o '<Key>[^<]*\.edf</Key>' | sed 's/<Key>//;s/<\/Key>//' > keys.txt

   step 2 -- parallel fetch
cat keys.txt | xargs -P 16 -I{} sh -c \
  'curl -s -o "$(basename {})" "https://physionet-open.s3.amazonaws.com/{}"'

这个组合在本数据集上跑完 39.8 秒,且不需要任何凭证。

3.4 校验

SHA256SUMS.txt 有 63 行:62 个 EDF 加一行 RECORDS。逐个比对通过。这一项别省——S3 直连在极端情况下会返回截断的响应体而不报错,校验和是唯一的兜底。

RECORDS 文件本身只是 62 行路径清单,不含元数据,也不含受试者对应关系。想要「哪个文件是哪个人」只能从文件名推断。

§4 质量与已知问题

4.1 一个必须接受的假设:注释反映真实呈现

整份数据的可信度建立在一个无法从文件内部验证的前提上:注释通道里写的时刻,就是屏幕上图像真正出现的时刻。

支持这条的观察: 试次间隔的众数在 5、6、10 赫兹三组分别为 199.7、166.5、99.6 毫秒,与理论值 200、166.7、100 毫秒的偏差都在 0.4% 以内;抖动只出现在少数样本上(十赫兹组 4,962 个间隔里有 4,856 个恰好是 99.6 毫秒),符合「显示器按固定刷新率刷新、事件按帧对齐记录」的模式。

反对这条的观察: 没有独立的触发信号。状态通道是空的(§2.9),所以无法交叉验证「注释时刻」与「硬件触发时刻」是否一致。若采集软件的时间戳有固定偏移,从数据内部看不出来。

4.2 假设—支持—反对三表

假设 支持 反对 结论强度
注释时刻等于屏幕呈现时刻 间隔众数与名义速率吻合在 0.4% 内;块内无丢帧 无独立硬件触发;状态通道为空 B(间接证据两条,无直接证据)
图像在受试者之间复用 前 22/21 位横坐标在 31 个文件里逐位相同 只验证了坐标,未验证图像本身 B(强间接证据,缺直接证据)
受试者 09 的六次记录除 P7 外不可用 七路标准差低于 1 微伏,其中一路恰为 0 无设备日志、无采集者记录可佐证 B
0.15–28 赫兹带通已施加 条目页明示;多数文件极值落在 ±100 微伏内 六个文件有数百微伏极值与整段无变化通道,说明滤波未消除漂移或未覆盖全部时段 C(单一来源,且有反例)
三档速率是同一批人的同一天测量 时间戳显示同一受试者三档记录在 2 小时内连续完成 未说明速率顺序是否随机化 B

4.3 已知问题的清单

编号 问题 影响范围 处置建议
Q1 受试者 09 除 P7 外七路无信号 6 个文件(约 1,335 个试次) 整体排除,或只保留 P7 单通道分析
Q2 受试者 11 的 P8 无信号 2 个文件 该通道置为缺失,不要填零
Q3 6 个文件存在数百微伏漂移 6 个文件 分段去趋势后再滤波
Q4 目标横坐标跨受试者复用 全部 涉及位置信息的模型须按受试者划分
Q5 两次记录间隔仅约 30 秒 19 对文件 a 与 b 不应视为独立样本
Q6 无行为数据 全部 无法验证受试者表现,只能做无监督或刺激锁时分析
Q7 状态通道恒为常数 全部 不要当触发器使用
Q8 受试者 06 缺 6 赫兹、14 缺 10 赫兹 2 人 做三档对照时样本量不齐(11/10/10)

4.5 块结构对分析的影响

每个文件被切成两到六个块,块大小固定一百张图。这个结构不是无关紧要的细节。

块之间有一小段空档,长度从 0.3 秒到 57 秒。空档的存在意味着「试次序号」与「时间」不是线性关系:第 150 个试次不一定在第 150 张图对应的时刻出现。任何按「试次序号 × 理论间隔」推算时间的做法都会错。

块与块之间的状态不同。 块切换意味着一次短暂的停顿,受试者可能眨眼、调整坐姿、或者注意力重新聚焦。块的第一个试次与最后几个试次,其诱发电位都可能与块中部不同。

长文件里的块更多。 六块的那一个文件是 rsvp_10Hz_08a,348 秒、341 个试次。若块的边界与疲劳相关,那么这个文件的后半段与前半段不可混为一谈。

处置建议: 把「块序号」作为一个协变量记录下来。做被试内比较时,只用同一块内的试次;做跨块比较时,显式检验块序号的效应。

4.6 一份不能忽略的统计事实:正例只有约一千个一档

两千余个目标试次听起来不少,但摊到受试者与速率上就薄了:

  • 每个 <速率>-<受试者>-<a|b> 单元里的目标数,从 21 到 56 不等;
  • 十一个人的十一个「每人每档」单元,平均每单元二十来个目标;
  • 十赫兹组的单元最小,多在 22 上下。

这意味着任何按受试者做的分析,其正例数只有二十个左右。 在这个量级上,一个 AUC 的置信区间宽度可能达到 ±0.15。想报「某某特征提升了 0.05 的 AUC」,在这个样本量下没有意义。

要做跨受试者的比较,只能先把试次合并。但合并又引入了受试者间的个体差异——这是这类小样本脑电数据的两难,不是本数据独有的缺陷。

4.4 数据质量清单(DAIMS)

维度 评估 依据
完整性 中 62 个文件齐全、校验和全对;但 2 人缺一档速率,1 人 7 路无信号
一致性 高 文件头、增益、量程、记录长度六十二个文件完全一致
准确性 中 注释时刻可信度 B;部分文件有大幅漂移
唯一性 中 文件本身互不重复;但刺激序列在受试者间复用
时效性 中 二〇一三年采集、二〇一七年公开,至今未更新版本
可理解性 低 无数据字典、无解析示例、无字段说明;注释格式须自行反推
合规性 高 ODC-By,署名即可,无水印、无申请门槛

§5 能做什么

5.1 单试次目标检测:最直接的用法

任务设定很清楚:给定一段以某个试次起点对齐的脑电,判断这张图是不是目标。

最小可用基线(按分类器复杂度从低到高):

  1. 幅度阈值:取刺激后 300 至 500 毫秒窗内枕区平均幅度,与全段中位数比较。这个基线在十分之一的正例比例下,AUC 通常落在 0.6 到 0.7。
  2. 窗均值加线性判别:八个通道各取 3 个时间窗(200–300、300–450、450–600 毫秒),拼成 24 维特征,用收缩 LDA。这是事件相关电位分析里最老也最稳的配方。
  3. 带通加协方差:8 至 30 赫兹带通后计算每类平均协方差,用 Riemannian 切空间映射降到欧氏空间再做逻辑回归。在小样本、多通道的场合,这个方法通常比深度模型更稳。

不要一上来就用端到端卷积网络。 十一个人、每人一两千个试次,扣掉受试者 09 之后只剩十个可用受试者。

5.2 三档速率的对照:这份数据真正的独特之处

多数 RSVP 数据集只有一档速度。这里有 5、6、10 三档,而且同一批人、同一天、连续完成。

可以做的问题:

  • 速度如何改变诱发成分的潜伏期与幅度? 十赫兹下相邻刺激只隔 100 毫秒,前一个刺激的晚期成分会叠到后一个刺激的早期成分上。这种「重叠」在五赫兹下几乎不存在,在十赫兹下是主导效应。
  • 速度如何改变可分性? 一个直觉是越快越难,但未必:越快意味着单位时间内试次越多,平均之后的信噪比反而可能更高。这需要比过才知道,不能靠假设。
  • 三档之间的迁移。 在五赫兹上训练的模型,用到十赫兹上还剩多少?这个问题的答案取决于模型学到的是「慢波形的形状」还是「时间尺度无关的特征」。

注意样本量: 三档分别有 11、10、10 人。任何「速率 × 受试者」的交互效应检验,统计功效都很低。

5.3 横向位置与注意的偏侧化

目标出现在左侧还是右侧,会影响对侧与同侧枕区通道的幅度差。这是 N2pc 成分的经典指标,而这份数据恰好只保留了横向目标(距中心至少 1.2 度),天生适合做这个分析。

具体做法: 以屏幕中心 320 像素为界,把目标分成左、右两组;对每个试次算对侧(右视野目标看左半球通道)减同侧的差值;在刺激后 180 至 300 毫秒窗内取均值。

但这里要踩一脚刹车: §2.5 说过了,横坐标在受试者之间复用。所以左、右组的划分在三十一个 a 文件里是同一套——这意味着不同受试者的「左目标试次」在序列位置上高度对应。如果疲劳或习惯化在序列上有趋势,就会与左右分组混淆。

5.4 眼电伪迹的识别与压制

没有眼电通道,但这不代表不能研究眼动。十赫兹下每张图 100 毫秒,受试者若试图扫视,扫视的起始与图像刷新会锁时。可以在左右枕区的差分里找「与刺激锁时的共模偏转」,作为扫视的代理指标。

这条用法属于探索性分析,不是这份数据的设计目标。

5.5 把它当成格式与统计的教学双料样本

这份数据还有一个别处不好找的用处:它同时提供了「格式解析」与「统计功效」两个教学切口,而两者可以串成一个作业。

第一段作业:写一个 EDF 解析器,把 62 个文件里的注释流完整取出来。学生会撞上三个具体的坑——0x00 前缀、注释通道的 1 字节步长、以及记录长度不等于「通道数乘采样点」。这三个坑在 §6 的技术陷阱里已经写明,但看别人写和自己撞一次是两件事。

第二段作业:用第一段解析出来的标签,估一个目标检测的 AUC。学生很快会发现 AUC 不稳定,进而算出正例数只有二十来个,进而明白「为什么不能只看一个数」。这个路径比直接讲「小样本要报置信区间」有效得多。

第三段作业:把「目标横坐标在受试者之间复用」这一条作为反例,让学生自己想「如果按试次随机划分会怎样」。十个人里有九个会先做出虚高的结果,再被自己的常识拦住。

5.6 一个可复现的对比:八路等权平均与单路的差距

如果只想验证「这份数据能不能做目标检测」,最省事的做法是八路等权平均后取枕区平均幅度。但按 §2.10 的通道幅度分布,这个做法会吃亏:P7 的方差比 P8 高出一倍,等权平均后 P7 主导了结果。

把八路分开算、再取每一路各自的 AUC,通常会看到彼此差距不小。这不是「某一路更好」的结论,而是「各路的噪声水平不同,等权平均会把噪声大的那一路的权重抬高」的直接后果。哪一路在某个受试者身上最好,换个人就未必。

可复现的做法: 用 §8.5 的最小配置,分别算八路单独的平均幅度特征,记下每一路的 LOSO AUC,再算八路等权平均的 AUC。若前者明显高于后者,说明通道权重需要调整;若两者接近,说明噪声已经在预处理阶段被压平。这个对比十分钟内能跑完,且结论对后续所有分析都有约束力:在通道幅度差一倍的情况下,任何等权空间滤波都要先被怀疑。

5.8 它不适合做什么

  • 训练通用脑机接口解码器。 十一个人、一种刺激类型、一种任务,泛化性无从谈起。
  • 做临床筛查。 健康志愿者,没有对照组,没有疾病标签。
  • 做跨数据集迁移的源域。 电极配置与刺激范式都太特殊。
  • 验证「注意力」这个构念。 数据里只有「目标出现了没有」,没有「受试者注意到了没有」。

§6 常见误读与引用陷阱

常见说法 实际口径 证据位置
「这是一份十一个人的数据集」 十一人里受试者 06 缺 6 赫兹、14 缺 10 赫兹;受试者 09 的六次记录除 P7 外无信号 文件名清单与逐通道标准差
「每人三档各两个文件,共 66 个」 62 个:11×2 + 10×2 + 10×2 S3 对象清单
「目标位置是随机生成的」 横坐标只有 91 个取值;a 组共享 22 位前缀、b 组共享 21 位前缀 注释流逐位比对
「数据里有按键反应」 没有。没有反应时、没有正确率、没有任何行为文件 全部 62 个文件的对象清单
「通道是国际 10-20 系统的八个位置」 八个位置对,但其中 P7、P8 严格说属于 10-10 系统的扩展位;且文件里另有状态通道与注释通道共 10 路 EDF 信号头标签
「10 赫兹太快,受试者看不清」 十赫兹组的目标检测诱发电位仍然存在,幅度是否可分辨见 §5.2;但数据本身不含行为证据 无(须自行分析)
「状态通道可以用来对齐刺激」 整段恒为 −32768,无任何变化 逐记录解析状态通道
「信号已经 0.15–28 赫兹带通,可以直接用」 6 个文件仍有数百微伏漂移,须自行去趋势 逐文件极值统计
「a 和 b 是两次独立测量」 十九对中十六对间隔 20–43 秒,中位 30 秒 EDF 固定头的日期时间字段
「八路电极是等价的一整组」 P7 的标准差中位数在三档都排第一,P8 三档垫底,两路差一倍 §2.10 的通道幅度表
「每个块都是完整的一百张图」 块大小名义为一百,实际每块试次数受文件末尾截断影响;六块那个文件只有 341 个试次 注释流的 burstSize 与 END 计数

技术陷阱一:把注释通道的 0x00 当乱码。 EDF+ 规定每条注释的 onset 字段以一个 0x00 字节开头,表示「该字段使用默认通道」。按 \x14 直接切分会得到 \x00+14.1030 这样的串,浮点解析会抛异常。正确做法是切分后对每个时间戳字段先 lstrip('\x00')。

技术陷阱二:把记录长度按「采样点数 × 通道数」算。 注释通道声明 57 个采样点,但它不是数值通道,57 个「采样点」每个占 1 字节而非 2 字节。本数据集的记录长度 36978 字节 = 9×4096 + 114,而不是 10×4096。按后者算会多出 10 字节,累积到第 251 条记录时偏移两万五千字节,整段数据错位。

技术陷阱三:把 T=0,x=-1 里的 −1 当成坐标。 非目标图的横坐标写作 −1,这是「不适用」的占位,不是负坐标。若直接拿来做回归目标,会引入 18,745 个虚假的「最左位置」样本。

技术陷阱四:按试次随机划分。 相邻试次间隔 100 至 200 毫秒,脑电高度自相关。随机划分会让训练集与测试集共享同一段慢波,AUC 虚高十几个百分点是常态。

技术陷阱五:把 22 位公共前缀当成「标注模板」。 看到三十一个文件前二十二个目标位置一致,很容易推断「标注是按模板批量写的」,进而怀疑标注本身的真实性。这个推断过头了:注释记录的是受试者当时看到的画面,画面本身在受试者之间可能确实复用了刺激序列。现象是真的,但归因要谨慎——本页只确认坐标复用,不确认图像复用,也不确认标注造假。

§7 在生态中的位置

7.1 与相邻数据的分工

数据集 刺激 通道 速率 与本数据的关系
本数据(ltrsvp) 航拍自然图,找飞机 8 路枕顶 5/6/10 赫兹 自然图像、低速率、瞬态诱发
稳态视觉诱发电位类范式 单字符或图案闪烁 枕区 8–30 赫兹 高速率、稳态响应,用于拼写器
视觉目标检测的 MEG 类数据 自然图像 全头 单试次 空间分辨率更高,样本更小
情绪或静息态脑电 无任务 全头 — 与本数据无直接可比性

这份数据的定位很清楚:它是「自然图像 + 多速率 + 少通道」这一格的唯一公开样本之一。 想要「自然图像 + 全头 + 高密度」的,这里给不了;想要「字符 + 高速 + 在线解码」的,这里也给不了。

7.2 规模在整个生态里处于什么位置

785 MB、62 个文件、11 个人,在公开脑电数据里属于小档。同类中,全头高密度静息态数据常在几十 GB 量级、上百人;大型脑机接口竞赛数据在十几人但我文件数更多。

小不等于差。这份数据的信息密度不低:每个试次都有精确的起点与标签,两万余个试次全部带目标标记与位置。换算成标注量,它比很多「几百人、无逐试次标注」的数据更实用。

7.3 与研究线的接续

条目页的原始论文标题指向「认知负荷估计」。这条线在二〇一七年之后有了明显变化:从「用脑电估一个标量」转向「用多模态、用更自然的任务、用更大的样本」。这份数据在今天的定位,更像是一个干净的基准盘,而不是一个能直接推动新结论的资源。

真正还能从它身上挖的问题,集中在 §5.2 与 §5.3 两条:多速率对照、横向位置与偏侧化。这两条都不需要大样本,因为它们是被试内设计——同一个人身上比较三档速度,个体差异被自然消掉。

7.4 适合谁用

  • 想练手事件相关电位分析、又不想处理复杂格式的人;
  • 研究 RSVP 范式在不同速率下如何退化的人;
  • 需要一份「有逐试次精确 onset」的小数据做方法对比的人;
  • 教学场景。

不适合:想做大模型预训练、想做临床转化、想要行为数据的人。

§8 怎么用:分析方案

8.1 预处理流水线(按顺序)

  1. 校验和。 先跑 SHA256,确认 62 个文件一个不差。
  2. 读头,不读数据。 先把 62 个固定头与信号头读完,确认增益、量程、记录长度一致。这一步只要几百毫秒,能挡住后面所有因为格式假设错误导致的静默失败。
  3. 通道筛选。 计算每路标准差,低于 1 微伏的标记为缺失。受试者 09 的六次记录、受试者 11 的 P8 会被这一步挑出来。
  4. 去趋势。 按 1 秒一段做线性去趋势,或用 0.1 赫兹的高通。目标是把 ±600 微伏的漂移压到 ±50 微伏内。
  5. 带通。 0.5 至 20 赫兹,四阶零相位。条目页说的 0.15–28 赫兹已经做过一次,这里做第二次是为了去掉去趋势引入的边界效应。
  6. 降采样。 从 2048 赫兹降到 256 赫兹。事件相关电位的主要能量在 30 赫兹以下,八倍降采样不损失信息,内存降到八分之一。
  7. 分段。 以注释里的 onset 为 0 点,取 −200 至 800 毫秒。十赫兹下 800 毫秒会跨过八个刺激,须视分析目的缩短到 −100 至 400。
  8. 基线校正。 用 −200 至 0 毫秒的均值减去。

8.2 划分策略:按受试者,不留余地

十一个人,正确的做法是留一受试者交叉验证(LOSO),十一折。

不要用「按试次随机划分」。 理由在 §6 的技术陷阱四。可以做一个对照实验来感受差距:同一份特征,随机划分的 AUC 通常比 LOSO 高 0.1 到 0.2。

另一个必须做的检查: 如果你的特征里包含「目标位置」这类元信息,先确认它在训练集与测试集之间是否重复。§2.5 的发现意味着,在 a 文件之间做交叉验证时,位置是共享的。

8.3 指标怎么选

指标 适用 注意
AUC 二分类主指标 十分之一的正例比例下仍稳定,首选
平衡准确率 需要固定阈值时 阈值须在训练折内定,不能在测试折上调
F1 若下游要求精确率与召回率并重 正例少时 F1 波动极大,须报置信区间
反应时或正确率 不适用 数据里没有

不要报准确率。 全部预测为「非目标」就能拿到 90.06%,这个数字毫无意义。

8.4 五条失败模式

  1. 通道没筛。 受试者 09 的七个近零通道进入特征,标准化时除以近零的标准差,得到巨大数值,模型在这些通道上学到纯噪声。
  2. 没去趋势。 六个数百微伏漂移的文件主导了协方差估计,分类器学到的是「哪个文件」,不是「哪个试次」。
  3. 窗口跨刺激。 十赫兹下取 800 毫秒窗,窗内包含八个刺激的响应,标签语义被稀释。
  4. 按试次划分。 见 §8.2。
  5. 把 −1 当坐标。 见 §6 技术陷阱三。

8.5 一个贴合实际的最小实验

如果想在半天内得到第一个可信数字,按这个走:

受试者:排除 09,剩 10 人
文件:每人每档只用 a(31 个文件中的 10 个)
通道:排除 P8 缺失的受试者 11,其余七路
预处理:去趋势 + 0.5–20 赫兹 + 降采样到 256 赫兹
分段:−100 至 400 毫秒
特征:每通道 3 个时间窗均值(共 21 维)
分类器:收缩 LDA
评估:留一受试者

这个配置跑完大约十分钟,得到的 AUC 可以作为一个可信的下界。任何更复杂的模型,都需要先超过它才算有意义。

8.6 三档速率怎么做对照

三条路,按严谨程度排:

  1. 同受试者内比较。 只用跑满三档的九个人,做重复测量方差分析。样本九,功效低但设计干净。
  2. 混合模型。 把速率、受试者、块序号都放进去,把「受试者」当随机截距。能同时处理缺失(06、14)与块间漂移。
  3. 只看趋势。 不检验显著性,只画三条速率下的平均波形与 AUC,说明方向。这是最诚实的做法,尤其在九个人的样本上。

8.7 一个容易被忽略的检查:块内试次数

如果按块切分做分析,第一件要做的事是数每个块里有多少个试次。

名义值是一百,实际不是。 六十二个文件里,除了每个文件的最后一个块,其余块都是整一百;最后一个块从几张到一百张都有。若写代码时假设「每块一百个」,最后一个块会被读到越界,或者被静默丢弃。

具体做法: 用块起始的 onset 时间戳排序,相邻两个起始之间就是该块的时长;再用同一段内的试次 onset 去数,两边的数量应该对得上。对不上就说明该块被截断了,按实际数量处理。

这个检查只花几行代码,但能挡住后面所有「为什么第 n 个块的特征维度跟别的块不一样」的报错。

§9 一个更宽的问题:「门控」这件事在脑电里怎么被证明

这份数据最容易被误用的地方,不是技术细节,而是一个概念跳跃:看到刺激后有脑电响应,就认为「受试者注意到了」。

在 RSVP 范式里,这个跳跃格外危险。十赫兹下每 100 毫秒一张图,其中九张没有飞机。如果每张图都诱发一次视觉响应,那么平均波形里就全是「有响应」的证据——可是受试者显然不可能「注意到」每一张无飞机的图,因为那里没有可注意的东西。

真正的证据应该是目标与非目标之间的差异,而不是「有没有响应」。这个差异有多大、在哪个时间窗、在哪个通道最大,才是这份数据能回答的问题。

第二层概念问题:目标占比十分之一是设计出来的,不是自然发生的。 现实中的搜索任务里,目标出现的概率远低于此。当目标概率改变时,受试者的判据(criterion)也会改变——信号检测论里这叫 β 的移动。这份数据固定了先验,所以它测到的是「在先验为十分之一时的检测能力」,不是「检测能力」本身。

还有一层:速率本身改变了「目标」这件事的难度。 五赫兹下每张图在屏上停留约 200 毫秒,足够一次扫视;十赫兹下只有 100 毫秒,扫视来不及完成,受试者只能靠周边视觉。这意味着三档速率测的可能不是同一个能力——五赫兹测的是「看与找」,十赫兹测的是「周边视觉的瞬时分辨」。把三档的 AUC 并排放在一张表里比较,得先确认比较的是同一个构念。

第三层:没有行为数据,就无法把脑电与判断分开。 一个试次的脑电可能显示「目标被检测到」,但受试者可能因为判据保守而没有报告。这两件事在这份数据里无法区分,因为没有报告。

§10 术语与口径

术语 本文口径
试次 一张图的出现,以注释里的一条 onset 为准
目标 注释里 T=1 的试次
块(burst) 注释里 burstSize=100 到 END 之间的一百个试次
记录 一个 EDF 文件,从固定头的起始时刻连续 214 至 576 秒
会话 同一受试者同一速率的一次记录,文件名末位 a 或 b
速率 每秒呈现的图像张数,取 5、6、10
通道 EDF 信号头里声明的一路信号,本文的「八路」仅指脑电,不含状态与注释通道
横向目标 质心距屏幕中心横向张角至少 1.2 度的目标,本数据只保留这一类
PR 参与率,通道方差矩阵的 (Σλ)²/Σλ²,衡量方差集中度

§11 事实清单

11.1 核心事实表

项 数值 来源
受试者 11(编号 02–14,缺 01、05、07) 文件名
文件数 62 S3 对象清单
总字节 785.3 MB S3 对象清单累加
采样率 2048 赫兹 EDF 信号头
通道 8 路脑电 + 1 路状态 + 1 路注释 EDF 信号头
增益 0.03125 微伏/单位(八路一致) EDF 信号头
记录长度 36978 字节/秒 文件长度除以记录数
全部试次 20,814(a 组 10,784) 注释流计数
目标试次 2,069(a 组 1,073、b 组 996) 注释流计数
总时长 21,233 秒(353.9 分钟) 记录数 × 1 秒
单文件时长 214 – 576 秒,中位 336.5 记录数 × 1 秒
目标横坐标取值数 91(125–509) 注释流去重
a 组公共前缀 22 位,31 个文件全部一致 注释流逐位比对
b 组公共前缀 21 位,31 个文件全部一致 注释流逐位比对
近零通道 46 个通道-文件组合(受试者 09 的 42 个、11 的 2 个) 逐通道标准差
两次记录间隔 中位 30 秒,最小 20 秒 固定头日期时间
校验和 63 行,全部通过 SHA256SUMS.txt

11.2 可立即验证的疑问

  1. 图像本身在受试者之间是否复用? 本页只验证了横坐标。要验证图像,需要原始刺激文件,而数据集没有提供。
  2. 受试者 06 为什么缺六赫兹、14 为什么缺十赫兹? 条目页未说明,文件里无痕迹。
  3. 受试者 09 的七路为什么无信号? 三种可能(电极脱落、参考故障、放大器通道故障)在数据内部无法区分。
  4. 六个数百微伏漂移文件,带通是在漂移前还是后施加的? 若在之前,漂移不该存在;若在之后,说明滤波参数与条目页不符。
  5. 为什么两次记录的间隔只有 30 秒? 与条目页「长时间休息」的表述直接冲突。

11.3 证据链

  • 文件清单与体积:S3 ListObjectsV2 单页返回 64 个对象,累加 785.3 MB,无截断标记。
  • 格式参数:62 个 EDF 的固定头(256 字节)与信号头(10×256 字节)全部解析,字段值一致。
  • 注释流:按「记录长度 36978 字节、注释段位于每条记录末 114 字节」逐记录切分,去掉末尾 0x00 填充后按 0x14 分段,得到三类字段共两万余条试次记录、187 条块起始、125 条块结束。
  • 通道幅度:逐文件逐通道以 int16 解包全部 2048 点,累加一阶与二阶矩,换算为微伏单位。
  • 状态通道:逐文件逐记录检查,全部为 −32768。
  • 时间戳:固定头第 168–184 字节为 dd.mm.yy 与 hh.mm.ss,按此排序得到每位受试者的会话顺序。

编辑说明

本页依据 PhysioNet 条目页(https://physionet.org/content/ltrsvp/1.0.0/)的公开表述撰写,并完整下载了全部 62 个 EDF(785.3 MB)做逐文件核对:解析固定头与信号头、逐记录切分注释通道、以 int16 解包八路全部采样点。

需要说明的几处判断:

一是关于通道数。条目页写「8 channels following the 10-20 system」,文件头里实际有 10 路:8 路脑电加 Status Channel 与 EDF Annotations。本页在正文统一说「八路脑电」,并在 §2.9 说明另两路的性质。这一处不是错误,是表述口径差异,但会让按「8」写死通道数的代码直接失败。

二是关于目标横坐标的复用。这是本页的核心发现:a 组 31 个文件共享 22 位前缀、b 组 31 个文件共享 21 位前缀。本页判定为刺激生成侧的随机种子未随受试者重新播种。判据是逐位比对,不是统计推断;但本页明确写出「只验证了坐标、未验证图像」,不把结论外推。

三是关于受试者 09。六次记录中除 P7 外的七路标准差低于 1 微伏,rsvp_6Hz_09b 的 P8 标准差为 0。本页建议整体排除这六次记录,但不推断原因——设备日志与采集者记录都不在数据集内。

四是关于两次记录的间隔。条目页说「长时间休息」,核对下来十九对里十六对在 20 至 43 秒之间。本页按文件里写下的日期时间字段判定,不采信「长时间」这一措辞。

五是关于体积。条目页写 748.9 MB,本页从对象清单累加得到 785.3 MB。前者是十进制兆字节,后者按 10⁶ 累加,差异源于单位口径而非数据变更。

六是关于状态通道。整段恒为 −32768,本页判定为无信息通道。但无法确定它是「采集时未接信号」还是「后处理时被置零」。

七是关于图 06 与 14 的缺口。文件名清单能证明缺哪一档,不能证明原因。

未验证的部分:原始刺激图像是否复用;受试者视力与矫正情况;采集设备的眼镜/眼电配置;条目页引用的原始论文中的具体结论与数字;注释时刻与屏幕实际刷新的硬件对齐精度。

编辑说明(核对方式)

核对时间:2026-10-20。核对方式:S3 免签名直连十六并发下载全部对象,SHA256 逐个比对全部通过;EDF 解析使用自写的定长偏移解析器,不经第三方库,以避免库层对非常规记录长度的容错掩盖问题。全部中间结果与脚本未随本页发布。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • eeg-power-anesthesia — 共享标签:生理信号 / 脑电信号 / 评测基准 / 神经科学
  • moabb — 共享标签:生理信号 / 脑电信号 / 评测基准 / 神经科学
  • tuev — 共享标签:生理信号 / 脑电信号 / 评测基准 / 神经科学
  • nebula-reaching-eeg — 共享标签:生理信号 / 脑电信号 / 评测基准 / 神经科学
  • openneuro — 共享标签:生理信号 / 脑电信号 / 神经科学
  • tuab — 共享标签:生理信号 / 脑电信号 / 评测基准
  • siena-scalp-eeg — 共享标签:生理信号 / 脑电信号 / 神经科学
  • bigp3bci — 共享标签:生理信号 / 脑电信号 / 评测基准
  • neurocritical-pediatric — 共享标签:生理信号 / 脑电信号 / 评测基准
  • consumer-grade-wearables — 共享标签:生理信号 / 评测基准 / 神经科学

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集