信息速览
INFOBOX — CinC Challenge 2013 一屏速览
维度 内容 本质 PhysioNet/Computing in Cardiology 挑战赛数据集:447 条 1 分钟 × 4 通道非侵入胎儿 ECG,考"从强母体干扰的腹联信号定位胎儿 QRS 并估计 FHR/FRR/FQT"(5 个来源汇编,非新采集) 组织方 PhysioNet(MIT LCP)+ Computing in Cardiology 2013(西班牙萨拉戈萨);NIH U01-EB-008577 / R01-EB-001659 资助 论文 Silva I, Behar J, Sameni R, Zhu T, Oster J, Clifford GD, Moody GB. CinC 2013;40:149-152(ISSN 2325-8861;无 PMID);总结综述 Clifford GD, et al. Physiol Meas 2014;35(8):1521-1536(PMID 25071093) 数据 447 条 = set A 75(信号+标注)/ set B 100(仅信号)/ set C 272(全隐藏);每条 1 分钟、4 通道腹联、统一 1 kHz 来源 乌克兰 340 条(76%)+ adfecgdb 系 25 + 私有头皮库 48 + 合成 20 + 其他 14(论文表 1) 赛事 5 个实际举办 + 1 个取消:Event 1/2/3 开源交代码(隐藏 set C 评测 FHR/FRR/FQT)+ Event 4/5 闭源交标注(set B 评测);Event 6 因 QT 参考不足于 2013-04-30 取消 计分 Event 1/4 = MSE(bpm²)(无标注记 8000);Event 2/5 = RMSE(ms)(无标注记 200);Event 3 = RMSE(ms) 标注 胎儿 QRS 位置由众包(专家+志愿者+算法)概率投票合成(Phase 2 起替换原始作者标注);QT 由 7 名标注者测中位心动周期 冠军 Event 1/2:Varanini 团队 187.091 bpm² / 20.975 ms;Event 3:Podziemski & Gierałtowski 152.71 ms(仅 2 队可评);Event 4/5:Andreotti 团队 18.803 bpm² / 4.337 ms 组织者彩蛋 Behar/Oster/Clifford 三人组 unofficial 参赛,Event 1 成绩 (179.439) 其实低于官方冠军 提交形式 开源条目:完整源码、逐条记录独立运行、写 stdout(沙箱执行);闭源:set B 标注文件 参与规模 91 条开源条目、53 队(论文口径);60+ 队总参与(成绩页口径);Event 3 仅 6 队参赛 获取 **https://physionet.org/content/challenge-2013/1.0.0/**(set-a/、set-b/ 全量公开,ZIP 280.8 MB;AWS s3 镜像;无注册门槛) 许可 数据 ODC-BY 1.0;参赛论文集 CC BY 3.0;set C 与 set B 标注永久保密 库内互链 cinc-2012(660)、cinc-2015(487)、physionet-cinc-2016(382)、physionet-cinc-2017(162)、ptb-xl(70)、mit-bih-arrhythmia(69)(§7)
CinC Challenge 2013 是 PhysioNet 年度挑战赛第一次离开 ICU、走进产科的转折点:它不采集新数据,而是把 5 个来源的 447 条母腹心电 1 分钟记录拼成一个大库,考一个看起来简单、做起来极难的问题——腹部贴 4 个电极,信号里同时有振幅大得多的母体心电和微弱的胎儿心电,你能不能把胎儿的心跳一个不漏、一个不多地找出来,并把胎心率、RR 间期、QT 间期都量准。它是"交源代码进沙箱"规则(2012 届确立)的第二次实践,也是首次把"非侵入胎儿 ECG"这个悬置了半个世纪的工程难题变成全网可比分的公共基准。比赛结束后,set A/B 以 ODC-BY 1.0 永久公开,而隐藏的 set C 272 条和 set B 的参考标注至今保密——这让 2013 届成了整个 PhysioNet 挑战系列里"公开部分最小、隐藏部分最大"的一届,也让它成为盲源分离、自适应滤波、胎儿 QRS 检测方法学论文里出镜率最高的测试床。
导语读法三则:
- 只想下数据:直奔 §5 获取与许可——ODC-BY 1.0、无注册门槛、set-a(75 条带标注)与 set-b(100 条无标注)全量公开;但注意 set C 和 set B 标注永远拿不到。
- 要跑基准:直奔 §4 与坑 7——官方 bpm²/ms 分数与下游 SE/PPV/F1 完全是两套口径;set A 的"弃用记录"清单在不同论文里从 1 条到 7 条不等,引用前先看清。
- 关心标注质量:直奔 §2.3 与坑 8——参考标注是众包概率投票合成的(不是金标准头皮直接信号的逐拍导出),CSV 里 ‘-’ 与 -32768 是 ADC 无效标记不是缺失。
本条目结构地图(12 个正文章节 + 4 个附录 + FAQ 的取用指南):
| 你要做什么 | 直达 |
|---|---|
| 30 秒核对一个数字 | §1.6 速查表 |
| 核对一句转述是否靠谱 | §1.5 误传对照表 |
| 理解数据文件结构 | §2.1-2.3、§2.9-2.10 |
| 设计实验/选子集 | §2.4、§2.8、§9.1、§9.3 |
| 写"挑战赛怎么比"的段落 | §3 全节(含 3.0 时间线) |
| 引用官方成绩 | §4.1、§4.8 模板 |
| 下载排障 | §5.1、§5.6 |
| 找相关库内条目 | §7(含 7.4 联合实验) |
| 避坑 | §10(九坑 + 交叉索引) |
| 复核证据 | 附录 A/C/E |
§0 导读:这个数据集解决什么问题
2013 年之前,"非侵入胎儿心电"是一个尴尬的领域。临床现状是:胎心率(FHR)监护(电子胎心监护,EFM)从 1970 年代普及至今,靠的是多普勒超声+心音图,输出不可靠、判读主观,研究与官方统计(官方论文引 Jenkins 1989、Kennedy 1998)都指向同一个结论——连续 FHR 监控并未带来胎儿缺氧死亡率的显著下降,反而推高了健康婴儿的剖宫产率。金标准测量手段——胎儿头皮电极直接 FECG——只能在产程中使用且有感染风险,整个孕中晚期没有可靠的胎心电获取方法。而非侵入 FECG(母亲腹部贴电极)虽然整个孕后半期可用、风险可忽略,却有一个信号处理上的死结:腹部信号里母体 QRS 振幅通常是胎儿 QRS 的数倍到数十倍,且两者频带几乎完全重叠,母胎 QRS 还会经常时域重合。也就是说,这不是一个"消噪"问题,而是一个源数未知、源信号非平稳、混叠系数未知的盲源分离问题。
PhysioNet/CinC Challenge 2013 的回答分三层。第一层是数据工程:把 5 个来源(乌克兰哈尔科夫大库 340 条、波兰 adfecgdb 系 25 条、私有头皮库 48 条、合成数据 20 条、其他 14 条)的记录统一成"1 分钟 × 4 通道 × 1 kHz"的公共格式,切成 set A(75,带标注)/ set B(100,只给信号)/ set C(272,全隐藏)三份——并故意让训练集不覆盖全部来源,逼参赛者做出对设备差异鲁棒的方法。第二层是评测协议:三对赛事分别考 FHR(Event 1/4)、FRR(Event 2/5)、FQT(Event 3,原 Event 6 取消),开源条目交完整源码由官方在隐藏集上沙箱运行、闭源条目交 set B 标注文件——FHR 用 bpm² 均方误差、FRR/FQT 用毫秒均方根差,"查不出胎儿心跳"直接记 8000/200 的惩罚分。第三层是标注方法学:胎儿 QRS 参考位置不是某个专家拍板的,而是"专家+志愿者+算法"混合标注经概率投票(Raykar 2010 型 crowd model)合成的——这本身就是一次"用众包造金标准"的公开实验,其方法学论文(Zhu et al. 2014)随后单独发表。
三层的先后顺序值得咀嚼:数据(有混淆的混合信号)→ 协议(怎么比才算比得公平)→ 标注("对"由谁定义)。2013 年的多数同类尝试只有第一层——攒一批自己的数据、用自己的标注、报自己的数字;2013 届的贡献恰恰是把后两层也公共化了。这也是本条目把 §3(协议)与 §2.3(标注)写成最重两章的原因:这个数据集的遗产里,协议与标注的份量不亚于信号本身。
比赛三个月内收到 91 条开源条目、60+ 队参赛,几乎所有强队都收敛到同一个框架:先消母体(子空间投影/自适应滤波/小波去噪/多法融合),再检胎儿(匹配滤波/Christov/熵/回声状态网络),顶级队伍则用自适应模板应对非平稳。赛后这份数据沉淀为胎儿 QRS 检测论文的标准测试床——从 2014 年 Physiol Meas 特刊(Clifford GD 综述 35(8):1521-1536 领衔)到 2019 年的 QRStree,set A 75 条是绕不开的第一考场。
这个条目要回答的核心问题是:一份只有 175 条公开记录、测试集永远看不到、标注由投票合成而非"真值"的数据集,凭什么定义了一个子领域的方法学标准?以及——今天的你拿它跑实验时,会踩哪些前人已经踩过的坑?
§0 读法三则:
- 本条目数字来源有三类:官方论文(CinC 2013;40:149-152 + Physiol Meas 2014 总结综述)、PhysioNet 数据集页与官方成绩页(两者有内部矛盾时逐一存照)、下游论文的预处理口径统计——引用时注意区分。
- "双赛道"是流传最广的误记:实际是 3 对赛事 = 5 个举办 + 1 个取消(FHR/FRR/FQT × 开源/闭源),没有任何"直接 FECG 信号提取"赛道(坑 1)。
- Event 4 冠军分数官方成绩页写 18.803、论文 PDF 写 18.083——两个都是"官方来源",条目正文取成绩页并全程存照(坑 2)。
§1 数据集速览:十问十答
Q1:447 条记录从哪来?
不是新采集,而是 5 个来源汇编(官方论文表 1):Ukraine Non-Invasive FECG 340 条(占 76%,来自乌克兰哈尔科夫 National Aerospace University 的 Shulgin/Tokarev 生物医学信号处理实验室);Abdominal and Direct FECG 25 条(与 PhysioNet 独立数据库 adfecgdb 同源——波兰 Zabrze ITAM 研究所 Komporel 系统采集,5 名孕 38-40 周孕妇,每例 4 腹联 + 1 头皮直接 FECG);Private Scalp FECG 48 条(私有头皮直接 FECG 库);Artificially Generated FECGs 20 条(合成,Sameni 系母胎 ECG 模型谱系);Non-Invasive FECG 14 条。多来源、多设备、不同频响/分辨率/配置——官方明确说这是有意为之,逼方法对设备差异鲁棒。逐条记录的来源归属官方未发布(坑 6)。
Q2:每条记录长什么样?
1 分钟、4 通道非侵入腹部 ECG,统一呈现为 1000 Hz。PhysioBank 二进制格式(a01.dat + a01.hea + a01.fqrs)与 CSV 文本格式(a01.csv:第一列时间秒、后四列信号;a01.fqrs.txt:胎儿 QRS 的毫秒时间戳列表)内容等价、五套打包互通。CSV 里出现 '-'、.dat 里出现 -32768,表示该采样点 ADC 无效(超量程/断线)——是"信号丢失"的显式标记(坑 4)。4 个通道里没有胎儿直接导联——每条通道都是母体心电+胎儿心电+噪声的混合;把"哪条通道是胎儿"当成文件结构问题去问是空手而归的第一大原因,胎儿成分要靠算法从所有通道里"挤"出来。
Q3:set A/B/C 怎么分?
set A 75 条(a01-a75,初始 25 + 扩充 50):信号 + 参考 fQRS 标注全公开,供参赛者调参;set B 100 条(b01-b100):只给信号,标注保密,用于 Event 4/5;set C 272 条:信号和标注都不给,官方沙箱里评开源条目(Event 1/2/3)。官方原话:set B 标注与 set C 的"signals and annotations"将 kept hidden——不是"延迟公开"而是永久保密(外部流传的"set C 赛后已公开"说法与官方页原文不符,坑 5 的邻接误区)。实测 set-a/RECORDS 恰 75 行、set-b/RECORDS 恰 100 行,与官方口径一致。
Q4:5 个赛事各自考什么?
Event 1:FHR 估计(开源条目,隐藏 set C 评测);Event 2:FRR 估计(开源,set C);Event 3:FQT 中位数估计(开源,set C);Event 4:FHR 估计(提交标注文件,开放 set B);Event 5:FRR 估计(提交标注,set B)。开源三赛事是"主赛事"(现金奖),闭源两赛事发奖状。赛事是成对镜像的:1 与 4 同为 FHR、2 与 5 同为 FRR,差别只在评测集(C vs B)与提交形态(源码 vs 标注文件);同一算法理论上可以两边都打(官方允许开源/闭源条目混交,受配额约束)。没有"直接 FECG 信号提取"赛道——五个赛事全部是 fQRS 定位的衍生量精度比拼(坑 1)。原 Event 6(set B 的 FQT)2013-04-30 取消。
Q5:计分公式是什么?
Event 1/4:参考 FHR 序列(IPFM 6 秒窗、50% 重叠、每条至多 16 个点)与测试 FHR 逐点匹配,记均方误差(bpm²),无匹配点记 0 心率并按 8000 惩罚——"一条记录完全没检出"比"检出但不准"罚得重得多。Event 2/5:RR 间期配对(起始点须在 100 ms 内)后算均方根差(ms),无匹配记 200。Event 3:每条一个 QT 中位数估计,均方根差(ms)。所有赛事的总分 = 逐记录分数的算术平均,越低越好。特别注意 Event 1(bpm²)与 Event 4(也是 bpm²)量纲相同但评测集不同,Event 1/2 与 Event 4/5 的分数绝对不可跨集比较——set B 分数普遍好一个数量级,不是算法强,是分布近(§4.1)。
Q6:参考标注是"真值"吗?
不是严格意义的金标准。fQRS 参考位置的官方说法是"通常参考头皮直接 FECG 产生",但落地方式是众包:专家、志愿者与算法混合标注,再经概率投票算法(引 Raykar et al. JMLR 2010 的 crowd model)合成;挑战进行中还发生过替换——Phase 1 用原始作者标注计分,Phase 2 起换成 crowd 版。QT 参考只对有直接 ECG 的记录计算:以参考 QRS 对齐后取中位心动周期,由人工在 median cycle 上测量(7 名标注者参与投票)。直接 FECG 信号本身不随数据发布(坑 8)。
Q7:谁赢了?
Event 1(FHR):Varanini 团队(意大利 CNR Pisa 系,6 人)187.091 bpm²;Event 2(FRR):Varanini 团队 20.975 ms;Event 3(FQT):Podziemski & Gierałtowski(波兰)152.71 ms——该赛事仅 6 队参赛、能被评分的只有 2 队;Event 4/5:Andreotti 团队(德累斯顿,7 人)18.803 bpm² / 4.337 ms(Event 4 分数论文口径 18.083,双口径存照,坑 2)。组织者 Behar/Oster/Clifford 以 unofficial 身份参赛,Event 1 成绩 (179.439) 其实低于官方冠军(坑 3)。
Q8:多少队参加、交了多少条目?
论文口径:91 条开源条目、53 队;官方成绩页口径:60+ 队(含闭源/非正式)。两者并不矛盾——53 指提交开源条目者,60+ 是总参与。每队条目配额官方页自己写了两个版本:FAQ 说至多 8 条(3 Phase 1 + 5 Phase 2),成绩页说至多 11 条(坑 5 存照)。Event 3 参与最惨淡:仅 6 队、2 队可评——QT 任务从标注覆盖率到参赛意愿全线塌缩。
Q9:现在还能下到什么?
set A(75 条含标注)、set B(100 条无标注)、参赛论文集 PDF(papers/)、顶级开源条目代码(sources/)、官方评分脚本(physionet2013.m / genresults.m)。全部 ODC-BY 1.0,无注册门槛,ZIP 280.8 MB,AWS Open Data 有镜像。永远下不到的:set C 272 条、set B 参考标注、全部直接 FECG 信号。需要直接信号做对照实验的,请转独立库 adfecgdb(5 名孕妇 × 5 分钟,含头皮导联)。
Q10:这个数据集今天还有用吗?
有,而且用法很固定。它至今是胎儿 QRS 检测新方法的第一测试床(set A + 50 ms 匹配窗的 SE/PPV/F1 是社区默认协议);它是盲源分离/自适应滤波/母体消噪方法学的对照基准;2016 届 PhysioNet Challenge(胎心健康分类)的"人工合成隐藏集"设计直接继承自这一届的胎儿主题。但要记住三条边界:官方分数不可复现(set C 隐藏)、官方分数与下游 F1 不可混排、set A 的弃用记录口径在下游论文里不统一(坑 7)。
§1.5 常见误传对照表:网络文本 vs 官方原文
这个数据集流传了十余年,二手转述积累了成批的口径变形。下表逐条对照(左列是网络上能见到的说法,右列是官方一手口径与出处):
| 流传说法 | 官方口径(出处) | 判定 |
|---|---|---|
| “Event 1 FHR 精度 + Event 2 直接 FECG 信号提取,双赛道” | 五赛事(FHR/FRR/FQT × 开源/闭源)+ Event 6 取消;无任何"信号提取"赛道(官方页 Events 区 + 论文第 1 节) | 误传(坑 1) |
| “set C 在成绩公布后已公开” | “signals and annotations for hidden test set C, will be kept hidden”——无时限限定(官方页 How the entries were scored 区) | 误传;set C 至今无公开渠道 |
| “Event 4 冠军 18.083” | 成绩页 18.803 / 论文 18.083 并存(官方内部矛盾) | 双口径存照(坑 2),本条目取成绩页 |
| “共 3 个赛道/3 个事件” | 3 对 = 6 个赛事设计、5 个实际举办(论文第 1 节) | 数字对但结构讲错 |
| “每条 60 个心率参考点” | IPFM 6 秒窗 50% 重叠,至多 16 点(官方页 Reference annotations 区) | 误传 |
| “参考标注从头皮信号逐拍导出,是金标准” | “通常参考直接 FECG”+ 众包概率投票合成;且直接信号不发布(论文第 2.1 节) | 半真半误:参考了但不是逐拍导出 |
| “447 条全部公开” | 公开 175(75+100),272 隐藏(官方页 + RECORDS 实测) | 误传 |
| “DOI 10.13026/C21W2Z” | 本数据集页(1.0.0)未见 DOI 标注(PhysioNet 老数据集多数无 DOI;抓取时点 HTML 实查无 10.13026 字样) | 未经证实,弃用;引用用 URL+版本 |
| “score-2013.c 是官方 C 评分器” | 13 字节占位;真评分为 physionet2013.m + Score2013 JAR(Files 区尺寸列 + FAQ) | 误传(坑 6) |
| “2019 年发布/改版过” | 仅 1.0.0(2013-02-21);mtime 2019-04-17 为平台迁移(Versions 区 + Files 区) | 误传(坑 9) |
| “训练集就是 set A,set B/C 是测试集” | set A 官方角色是"学习集(learning set),不用于排名";set B 是开放测试集、set C 是隐藏测试集(官方页 Data Sets 区) | 近似对,但"A 上调参、B/C 上评榜"的次序不能颠倒叙述 |
| “53 支队伍参赛” | 53 队提交开源条目;总参与 60+(论文摘要 vs 成绩页) | 口径不全(坑 5) |
| “数据库叫 PCDB” | PCDB 是下游文献对 set A 的惯称(QRStree 等),非官方库名 | 别名需注明是下游惯例 |
这张表的使用方式:写论文/文档引用本数据集前扫一遍左列,命中任何一条就回到右列的官方出处核对——这十来条覆盖了本文作者见到的绝大多数引用事故。
§1.6 关键数字速查表(引用前 30 秒核对)
| 数字 | 值 | 一手出处 | 注意 |
|---|---|---|---|
| 总记录数 | 447 | 论文表 1 | 五来源加和:25+20+14+340+48 |
| set A / B / C | 75 / 100 / 272 | 论文第 2 节 + 官方页 | set A = 25 初始 + 50 扩充 |
| 通道数 | 4(全部腹联) | 论文 + 官方页 | 无胎儿直接导联 |
| 采样率 | 统一 1000 Hz | 官方页 | 各来源原生设备不同 |
| 记录时长 | 1 分钟 | 官方页 | — |
| 赛事数 | 5 举办 + 1 取消 | 官方页 + 论文 | Event 6 于 2013-04-30 取消 |
| Event 1 计分 | MSE(bpm²),空记 8000 | 官方页 scoring 区 | 越低越好 |
| Event 2 计分 | RMSE(ms),空记 200 | 官方页 scoring 区 | RR 配对容差 100 ms |
| 每条 FHR 测量点 | 至多 16 | 官方页 FAQ | IPFM 6 秒窗、50% 重叠 |
| Event 1 冠军 | Varanini 团队 187.091 | 官方成绩页 | 论文摘要排版作 187bpm2 |
| Event 2 冠军 | Varanini 团队 20.975 | 官方成绩页 | — |
| Event 3 冠军 | Podziemski & Gierałtowski 152.71 | 官方成绩页 | 仅 2 队可评 |
| Event 4 冠军 | Andreotti 团队 18.803 | 官方成绩页 | 论文口径 18.083(坑 2) |
| Event 5 冠军 | Andreotti 团队 4.337 | 官方成绩页 | — |
| 开源条目数 | 91(53 队) | 论文摘要 | — |
| 总参与队 | 60+ | 官方成绩页 | 与 53 口径不同(坑 5) |
| 许可 | ODC-BY 1.0 | 官方页 Access 区 | 无注册门槛 |
| 版本 | 仅 1.0.0(2013-02-21) | 官方页 Versions 区 | mtime 2019-04-17 是迁移(坑 9) |
| 全量 ZIP | 280.8 MB | 官方页 Files 区 | set-a 7.9 / set-a-ext 12.0 MB |
| 官方论文 | CinC 2013;40:149-152 | 论文页眉 ISSN 2325-8861 | 无 PMID;总结综述另见 PMID 25071093 |
速查表数字之间的推导关系(防止抄错位置):
- 447 = 25 + 20 + 14 + 340 + 48(来源加和)= 75 + 100 + 272(集合加和)——两个加和链对应同一总量的两种切法,写文档时选一条链贯穿,不要混切;
- 75 = 25 + 50(set A 初始 + 扩充)——"set A 75 条"永远比"初始训练集"多 50 条,2013-04-02 是分界日;
- Event 1 与 Event 4 同任务不同集(C vs B);Event 2 与 Event 5 同任务不同集——分数 187.091 vs 18.803、20.975 vs 4.337 的鸿沟来自集合不同,不是算法不同;
- 16 = (60s / 6s) − 2 − 跳窗——FHR 测量点理论上限 18 个窗位掐头去尾后再跳空缺窗,至多 16;
- 91 条目 / 53 队与 60+ 队——前者是"开源条目提交者",后者是"全部参与者",差集是闭源/非正式参赛者;
- 8000 与 200——分别是 Event 1/4(bpm²)与 Event 2/5(ms)的"零输出惩罚分",两者之间没有换算关系。
§1.7 本条目未覆盖之处与延伸阅读
诚实声明本条目的边界——以下主题在本条目里只有指向没有展开:
- 母胎 ECG 信号处理的教科书级原理(ICA/EKF/小波的数学细节)——见 Sameni R, Clifford GD. A review of fetal ECG signal processing; issues and promising directions. Open Pacing Electrophysiol Ther J 2010;3:4-20(官方 References 区的指定综述)。
- IPFM 模型的谱分析原理——见 Berger RD, et al. IEEE TBME 1986;9:900-904(官方 References 区 IPFM 词条)。
- FHR 监护的临床史与争议——见 Jenkins HML 1989(J R Soc Med)、Kennedy RG 1998(J R Soc Med)、Neilson JP 的 Cochrane 综述 CD000116(官方 References 区 FHR history/FECG 词条)。
- 2016 届胎儿主题续代的完整细节——见库内 physionet-cinc-2016 (382) 条目(若已入库)。
- adfecgdb 独立库的完整档案——PhysioNet 独立页面 physionet.org/content/adfecgdb/;波兰 ITAM 的 Komporel 系统细节见 Frontiers 2017(10.3389/fphys.2017.00277)图 2。
- 众包聚合的数学框架——Raykar VC, et al. Learning from crowds. JMLR 2010(官方标注方法的引文源头)。
本条目的角色是"数据集的百科条目":把官方口径、成绩、口径矛盾与坑点钉死到可引用的程度;方法学推导与临床讨论留给上述原文。
§2 数据构成与规格
2.1 信号本体:1 分钟 × 4 通道 × 1 kHz 的"最小可用切片"
每条记录是 1 分钟的四通道非侵入腹部 ECG。这个规格在今天看小得惊人(一分钟 6 万采样点/通道),但它是精心算过的"最小可用切片":
- 1 分钟:足够覆盖几十次胎心搏(胎儿心率正常范围约 110-150 bpm,一分钟约 55-75 个 fQRS),又不至于让参赛者条目的处理成本失控——2013 年官方要在普通服务器上沙箱跑完 91 条开源条目 × 272 条隐藏记录。
- 4 通道:胎儿 QRS 在不同腹联上的投影方向差异极大(单通道可能几乎看不到胎儿成分),4 通道是"至少给盲源分离留出空间"的下限配置。官方 FAQ 专门强调:算法必须逐条记录独立运行、不得跨记录共享状态——"看一眼别的记录再标这条"被规则禁止。
- 1 kHz:所有来源设备原生采样率不同,统一重采样呈现为 1000 samples per signal per second。官方论文明确警告"不同来源的频响、分辨率、配置各异"——1 kHz 是统一包装不是统一物理特性。
三个易被忽略的信号层细节:
- ADC 无效值:CSV 文本里写
'-'、WFDB 二进制 .dat 里写 -32768,表示该采样点无有效观测(模拟信号超出 ADC 输入范围,或换能器/线缆断开)。官方 FAQ 明确说这是"信号丢失"标记——你可以忽略它,也可以把它当信号质量特征。把它当 0 处理是灾难性错误(坑 4)。 - 直接 FECG 不发布:参考标注"通常参考直接 FECG(胎儿头皮电极)产生",但直接信号本身不包含在挑战数据里。你在 set A 里看不到任何头皮导联——这断掉了一条捷径(直接拿直接信号做监督),也是 QT 任务格外难的结构性原因。
- 16 bit 存储:.dat 为 16 位整数存储(-32768 被"征用"为无效标记即源于此),配合 .hea 头文件里的增益(gain)与 ADC 范围声明还原物理单位——直接把整数值当 mV 用是最常见的单位级事故。
2.2 五个来源库:一份刻意"不均匀"的拼盘
官方论文表 1 的来源分布(这是 447 条全体的构成):
| 来源库 | 条数 | 占比 | 背景 |
|---|---|---|---|
| Ukraine Non-Invasive FECG | 340 | 76.1% | 乌克兰哈尔科夫 National Aerospace University 生物医学信号处理实验室(Prof. Vyacheslav Shulgin 与 Dr. Anton Tokarev)贡献 |
| Abdominal and Direct FECG | 25 | 5.6% | 与 PhysioNet 独立库 adfecgdb 同源:波兰 Zabrze ITAM 研究所 Komporel 系统,孕 38-40 周,4 腹联 + 1 头皮直接 FECG,5 分钟记录(挑战取其切片并重排) |
| Private Scalp FECG Database | 48 | 10.7% | 私有头皮直接 FECG 库(供 QT 参考与标注比对) |
| Artificially Generated FECGs | 20 | 4.5% | 合成数据(Sameni 系母胎 ECG 模型谱系——同一位作者既是挑战组织者又提供模型) |
| Non-Invasive FECG | 14 | 3.1% | 其余散在来源 |
四个必须刻在脑子里的分布事实:
- 乌克兰数据占绝对主体(76%)——set C 272 条的大头几乎必然是乌克兰记录,但官方从未发布 per-set 来源明细,"set C 里乌克兰占多少"属于不可核验信息(待核清单)。
- set A 不覆盖全部来源:官方原话"训练集不含测试集的全部来源(does not include examples of all of the sources included in the test sets)“——尤其是乌克兰大库在 set A 里只有少量代表。这是官方有意设计:逼参赛者做出对设备特性漂移鲁棒的方法,同时考察"训练集性能能否外推到未见设备”。
- 合成数据只有 20 条且几乎只在测试侧——"用合成数据增强训练"在 2013 年是个被明确测过的自由变量;合成数据的参数已知,是唯一"有真值波形"的子集,但官方并未逐条指认哪 20 条是合成的。
- 逐条来源归属官方未发布——下游论文想按来源分层分析只能靠猜或间接证据(如与 adfecgdb 波形匹配),这是元数据层面最大的遗憾之一(坑 6)。
2.3 参考标注的三层体系
第一层:fQRS 位置标注(.fqrs / .fqrs.txt)
- 形态:每条一个文件,内容是胎儿 QRS 出现时刻的毫秒时间戳列表(如 a01 首个 fQRS 在 355 ms——官方 FAQ 举的原例)。
- 产生:官方口径是"通常参考直接 FECG",但最终发布的参考标注是众包产物——“mixture of experts, volunteers, and algorithms”(专家+志愿者+算法混合)经概率投票算法合成,方法学引 Raykar et al. (JMLR 2010) 的 Learning from crowds 框架。挑战进行中还发生了标注替换:Phase 1 初评用各来源作者的原标注,Phase 2 起换成 crowd 版参考。
- 含义:这不是"逐拍从头皮信号导出的真值",而是"多人多算法投票后的共识"。论文里报过一个扎心的对比案例(图 1):一条训练记录里 4 秒内 3 个胎儿 QRS 与母体 QRS 时域重合——这类重合正是投票分歧最大的地方。
第二层:FHR / FRR 时间序列(由 fQRS 派生)
- 参考心率序列由参考 fQRS 经 tach(WFDB 组件)派生:IPFM 模型、6 秒窗、相邻窗重叠 50%(3 秒)、掐掉首尾窗、跳过含 RR 空缺的窗——每条 1 分钟记录至多 16 个 FHR 测量点。
- 参考 RR 间期由 ann2rr 从相邻 N 标注派生。
- 官方用同一套派生软件处理参赛者的测试标注——保证参考侧与测试侧走完全相同的流水线;这也意味着"派生软件的怪癖"会同时作用于两侧,参赛者必须让自己的标注风格贴近参考标注的习惯。
第三层:QT 间期(每条至多 1 个)
- 仅对有直接 ECG 的记录计算:以参考 fQRS 对齐直接 FECG 波形 → 取中位心动周期 → 人工在 median cycle 上测量 QT。7 名标注者参与人工测量,同样走概率投票。
- 计算中位心动周期的软件以源码形式提供给参赛者——这是官方少见的"把参考端工具也开源"的举措。
- 这就是 Event 6 被取消的结构性原因:可靠 QT 参考的记录数比预期少,只能优先留给 set A(供参赛者学习 QT 测法)与 set C(Event 3 评测),set B 里凑不出可评子集。
标注流水线的可复现性评估(工程视角的三问三答):
- 能从公开信息重建整条标注流水线吗?——不能完整重建。投票框架(Raykar 2010)公开、中位周期软件开源、参与角色(专家/志愿者/算法)公开,但标注者名单、各自标注量、投票权重、质检通过率未发布——"共识的可信度"只能信官方描述,无法独立验算。
- 标注与直接 FECG 的一致性能本地验证吗?——对挑战数据不能(直接信号不发布);对 adfecgdb 可以(该库带头皮导联),这是下游论文普遍采用间接验证路径的原因——也是两条库混用事故的源头(§2.6)。
- 标注的稳定版本能锁定吗?——只有"最终版"(1.0.0 现文件);Phase 1 期的原作者标注版本没有独立发布物,历史对比实验无法在数据层面复刻,只能靠官方论文的文字记录。
2.4 set A / set B / set C:一份"公开最小化"的划分
| 子集 | 条数 | 信号 | fQRS 标注 | 用途 | 现状 |
|---|---|---|---|---|---|
| set A | 75(a01-a75) | 公开 | 公开 | 参赛者训练/自评 | 永久公开 |
| set B | 100(b01-b100) | 公开 | 保密 | Event 4/5 评测 | 信号公开、标注永久保密 |
| set C | 272 | 保密 | 保密 | Event 1/2/3 沙箱评测 | 全部永久保密 |
- set A 的 75 = 初始 25 条(2013-02-21 开赛时)+ 扩充 50 条(2013-04-02 与 set B 同步放出)。
- set B 的标注保密理由官方写得直白:让 2013 年的参赛者与赛后跟风研究者永远面对同一个"看不见答案"的测试集,保证任何时期提交的算法都能与当年成绩公平比较。
- 代价同样直白:官方分数(Event 1/2/3)第三方永远无法复现——你拿不到 set C;Event 4/5 理论上可复现,但你没有 set B 标注,只能信官方公布的成绩表。
- 官方页的原话是 “Reference annotations for set B, and both the signals and annotations for hidden test set C, will be kept hidden”——"kept hidden"没有任何时效限定;网络上流传的"set C 赛后已公开"说法在官方渠道找不到依据(存照)。
- 社区的现实折中:把 set A 当"唯一可评集",50 ms 匹配窗下的 SE/PPV/F1 成为默认协议——这是下游口径,与官方 bpm²/ms 完全两套语言(§4.3)。
2.5 文件清单:官方 1.0.0 仓库里到底有什么
PhysioNet content 页(version 1.0.0)的根目录结构(Files 区实测):
| 路径 | 内容 | 备注 |
|---|---|---|
| set-a/ | a01-a75 的 .dat/.hea + .fqrs/.fqrs.txt + CSV 版 | RECORDS 实测 75 行 |
| set-b/ | b01-b100 的 .dat/.hea + CSV 版(无标注) | RECORDS 实测 100 行 |
| papers/ | CinC 2013 挑战专题论文集 PDF(含官方论文 0149.pdf) | CC BY 3.0 |
| sources/ | 参赛者提交的开源条目(按提交账号分目录) | 赛后发布 |
| physionet2013.m / genresults.m | 官方 MATLAB 评分脚本(条目模板 + 批量评分) | 7.1 KB / 7.6 KB |
| oldphysionet2013.m | 旧版评分脚本存档 | 6.9 KB |
| sample-entry.txt | 条目格式示例 | 13 B |
| score-2013.c | 13 字节占位文件 | 真评分实现在 WFDB App Toolbox 的 Score2013 JAR(坑 6) |
| figure1.png | 官方论文图 1(母胎 QRS 重叠示例) | 237.5 KB |
| set-a.tar.gz (7.9 MB) / set-a-ext.tar.gz (12.0 MB) / set-b.tar.gz | 二进制打包 | 对应 text 版(13.1 / 21.1 / 44.2 MB)与 zip 版 |
| 全量 ZIP | 280.8 MB | 官方打包 |
注意目录清单里没有 set-c/,也没有独立的 set-b-ext/——网络文本里偶尔出现的"set-b-ext 目录"在本版本 Files 区不存在(存照)。打包格式有五套等价物(WFDB 二进制 tar.gz/zip/单文件 + CSV 文本 tar.gz/zip),官方声明"All five versions contain the same data"。文件 mtime 全部是 2019-04-17——那是 PhysioNet 平台迁移重传的时间戳,不是数据 2019 年改版(坑 9)。
目录树视图(按 Files 区清单整理):
challenge-2013/1.0.0/
├── figure1.png # 官方论文图 1(母胎 QRS 重叠示例)
├── genresults.m # 批量评分脚本(MATLAB)
├── oldphysionet2013.m # 旧版评分脚本存档
├── physionet2013.m # 官方条目模板 + 评分函数
├── sample-entry.txt # 条目输出格式示例(13 B)
├── score-2013.c # 13 字节占位(坑 6)
├── set-a.tar.gz / .zip # set A 初始 25 条(二进制)
├── set-a-ext.tar.gz / .zip # set A 扩充 50 条(二进制)
├── set-a-text.tar.gz / .zip # set A 初始 25 条(CSV 文本)
├── set-a-ext-text.tar.gz / .zip# set A 扩充 50 条(CSV 文本)
├── set-b.tar.gz / .zip # set B 100 条(二进制,无标注)
├── set-b-text.tar.gz / .zip # set B 100 条(CSV 文本,无标注)
├── set-a/ # 75 条合并版(a01-a75,含 .fqrs)
├── set-b/ # 100 条(b01-b100,无标注)
├── papers/ # CinC 2013 挑战论文集(含 0149.pdf)
└── sources/ # 顶级开源条目代码(按账号分目录)
2.6 adfecgdb 辨析:挑战数据与独立库的三个区别
CinC 2013 的"Abdominal and Direct FECG 25 条"与 PhysioNet 独立数据库 adfecgdb 血缘极近,但混用两者是下游论文的高频事故:
- 时长不同:adfecgdb 每条 5 分钟(5 名孕 38-40 周孕妇各 1 条);挑战记录统一切/重排为 1 分钟。
- 通道构成不同:adfecgdb 每条 4 腹联 + 1 头皮直接 FECG(5 通道);挑战发布版只有 4 腹联,直接 FECG 留作标注参考、不随数据发布。
- 标注可用性不同:adfecgdb 的 fQRS 参考直接来自头皮信号;挑战 set A 的标注是众包投票产物。
- 采集系统相同:两者腹部信号同出波兰 Zabrze ITAM 研究所的 Komporel 系统(4 个腹联绕脐周布置、参考电极置于耻骨联合上方、共模参考置左腿),16 bit、1 kHz。
下游论文实证过两者的难度差:同一套方法在 adfecgdb 上 F1 可到 95.54%,在挑战 set A 上只有 61.55%(PLOS QRStree 2019 的对照实验)——set A 里乌克兰等多来源记录的噪声与设备差异远比波兰单设备库苛刻。检索建议:做"挑战赛协议"实验用 set A;做"信号质量最优假设"实验才用 adfecgdb;两库结果写在同一张表里必须标注来源(坑 7 的一部分)。
2.7 一条记录的完整解析示例(文字版)
以 set A 的 a01 为例走一遍文件结构:
a01.hea:WFDB 头文件——采样率 1000 Hz、4 通道、每通道增益与单位(mV)、ADC 范围、记录时长 60 s。a01.dat:4 通道交错的 16 位采样值;-32768 = ADC 无效采样。a01.fqrs(或.fqrs.txt):fQRS 位置毫秒时间戳(首个 355 ms)——这是参考答案,仅 set A 提供。a01.csv(文本等价物):第 1-2 行表头,第 3 行起每行"时间(秒), 通道1, 通道2, 通道3, 通道4";‘-’ = 无效。- 从 .fqrs 出发可复算:参考 RR 序列(相邻时间戳差)→ 参考 FHR 序列(IPFM 6 秒窗 50% 重叠、至多 16 点)。
把这套结构翻译进现代流水线的最小映射:记录 → (4×60000 数组, 采样率 mask) + (fQRS 时间戳数组);ADC 无效点单独一个布尔 mask(坑 4:不要当 NaN 也不要当 0)。
2.8 多源异构:统一化的边界在哪里
官方把 5 个来源统一到"1 分钟 × 4 通道 × 1 kHz",但三样东西统一不了,也明确声明不统一:
- 频响与噪声底:各设备模拟前端带宽、陷波配置、电极材质不同——同样的 1 kHz 里"高频细节"的含义不同;官方论文原话"differing frequency response, resolution, and configuration"。
- 导联几何:电极贴放位置逐来源不同(adfecgdb 系绕脐周、乌克兰库配置未公开)——胎儿 QRS 在各通道的投影幅度分布不可跨记录比较。
- 孕周与母胎生理状态:官方未发布任何孕周/临床元数据——"这批记录来自孕多少周的孕妇"在挑战数据上不可回答(adfecgdb 独立库可答:38-40 周)。
推论:对"逐条归一化"要克制——跨来源的幅值归一可能把"设备增益差异"和"胎儿信号强度差异"一起抹掉;分层归一(按来源假设分组)又没有官方分组标签可用。这是该数据集在 2020 年代深度学习语境下最棘手的预处理两难。
2.9 WFDB 二进制 vs CSV 文本:字段级对照
官方提供两套等价格式,字段级对照如下(选型与排错时用):
| 维度 | WFDB 二进制路线 | CSV 文本路线 |
|---|---|---|
| 信号文件 | a01.dat(16 位交错采样)+ a01.hea(元数据) | a01.csv(首两行表头 + 每行 时间秒,4 通道) |
| 标注文件 | a01.fqrs(WFDB 二进制标注) | a01.fqrs.txt(每行一个毫秒时间戳) |
| 时间单位 | 采样点索引(×1000/fs 得毫秒) | CSV 信号列 = 秒;fqrs.txt = 毫秒(差 1000 倍,坑) |
| 无效采样 | 整数值 -32768 | 字符串 ‘-’ |
| 读取工具 | WFDB 包(Python wfdb / MATLAB / C) | 任意 CSV 阅读器(官方 FAQ 特意澄清:不是 Excel 专用格式) |
| 适用场景 | 正式实验、与官方 tach/ann2rr 对齐 | 快速质检、教学、跨语言环境 |
官方 FAQ 里专门回答了"fqrs 里的数字是行号还是时间"——是毫秒时间戳(a01 首个 fQRS = 355 ms);这个问答的存在说明 2013 年就有大量参赛者在这里迷路。
2.10 官方 FAQ 十条精华(信号与格式相关)
从官方 FAQ 区摘出的、实验前最值得读的十条(意译,原文见数据集页 FAQ 区):
- ‘-’ 与 -32768 的语义:ADC 无效输出(超量程/断线),可忽略或当信号质量特征——不是缺失值也不是 0。
- fqrs 数字是毫秒时间戳,不是行号、不是秒、不是 Excel 行号(“There are no MS Excel files in the challenge data sets.”——官方原话的烦躁感隔着十年都能听见)。
- 每条记录独立处理:条目软件标注完一条就退出,运行时不得参考其他记录。
- 输出写 stdout(开源条目):沙箱会重定向;写文件路径的条目在官方框架里拿不到输出。
- 两种标注格式都收:.fqrs 二进制或 .fqrs.txt 文本任选,官方统一转换。
- 学习集自评分数不用于排名:官方测试集分数会不同,“(over)trained” 是官方原话。
- Event 1 与 Event 2 排名相关性有限:FN/FP 结构决定你可能一好一差(§3.2 的机制)。
- 开源条目必须全开源:部分闭源、只给依赖清单的提交被明确拒绝。
- 配额与频率:每周至多 1 条;Phase 1 未用完的名额不能滚存到 Phase 2(FAQ 原文"No")。
- QT 任务对全部记录输出:官方不公布哪些记录会被计 QT 分——想参赛 Event 3 就得每条都输出 QT。
这十条里最容易被低估的是第 3 条与第 6 条:前者封掉了"跨记录缓存状态"的偷跑路线,后者提醒你 set A 上的本地高分可能只是过拟合了学习集的分布——两句话合起来就是官方对"什么是公平的比较"的技术定义。
2.11 与同代生理信号数据集的体量对照
| 数据集 | 信号量 | 导联 | 标注 | 相对 2013 届 |
|---|---|---|---|---|
| CinC Challenge 2013 | 175 条公开(447 总)× 1 min | 4 腹联 | 75 条 fQRS 众包标注 | — |
| MIT-BIH Arrhythmia(库内 mit-bih-arrhythmia, 69) | 48 条 × 30 min | 2 导 | 逐拍心搏分类(专家) | 时长短 30 倍、标注类型更丰富、单来源 |
| PTB-XL(库内 ptb-xl, 70) | 21,837 条 × 10 s | 12 导 | 诊断标签(多级) | 体量大百倍、但无胎儿导联 |
| adfecgdb(独立库) | 5 条 × 5 min | 4 腹联+1 头皮 | 头皮参考 fQRS | 体量小 35 倍、但有直接参考 |
这张表解释了为什么 2013 届能立住十年:它是胎儿心电方向唯一兼具"多来源 + 公开 + 逐拍标注 + 官方评测协议"的资源——不是因为它大,而是因为同类根本不存在(PTB-XL 至今没有胎儿导联)。也是为什么"用 set A 之外的数据做监督训练"长期只能靠合成数据(Sameni 模型)或私有数据。
2.12 数据质量三维评估(工程视角)
完整性:
- 信号侧:公开的 175 条四通道信号完整可读(官方五套打包自洽,RECORDS 清单与目录实测一致);
- 标注侧:75 条 fQRS 参考齐全,但 FHR/FRR 由标注派生可得、QT 参考文件未随 1.0.0 公开(论文里说"in preparation"后未见独立发布记录);
- 元数据侧:系统性缺失——无逐条来源、无孕周、无设备型号、无采集日期,这是四维里最残缺的一维。
一致性:
- 格式一致(五套打包等价、RECORDS 与目录吻合);
- 口径不一致(官方页内部三处矛盾:配额 8/11、队数 53/60+、Event 4 分数 18.803/18.083)——见坑 2/坑 5;
- 标注版本不一致(Phase 1 原作者标注 vs Phase 2 crowd 版,历史分数与当前文件错位)。
可信度:
- 标注可信度是"投票共识"级而非"仪器真值"级——官方自己在总结论文里承认参考标注带不确定度;
- 信号可信度分来源:adfecgdb 系(波兰单设备)最稳,乌克兰大库噪声与设备差异最大(下游 61.55% vs 95.54% 的 F1 落差是定量证据);
- 官方成绩可信度:算法侧可审计(评分工具开源),数据侧不可审计(测试集不可见)——"可信但不可复现"的混合状态。
2.13 官方自己承认的局限(论文原文级)
把官方论文/页面里自认的局限汇成一列(这是最不容易被审稿人挑战的引用素材):
- “训练集(set A)不含测试集的全部来源”——分布外是设计而非缺陷,但后果由参赛者承担(官方页 Data Sets 区);
- “可靠的 QT 参考记录比预期少”——Event 6 取消的官方理由(官方页 Event 3 区);
- “参考标注通常参考直接 FECG”——"usually"一词自认了并非全部记录都有直接参考兜底(官方页标注区);
- “标注在挑战中被替换过”——Phase 1/Phase 2 参考不同(论文 2.1 节);
- “学习集自评与官方测试分会不同,尤其 (over)trained”——官方 FAQ 原话。
这五条合起来的画像:官方对自己的数据边界非常坦率——引用局限时直接引官方原文,比转述二手综述安全得多。
2.14 一个研究者的三天上手路径
第一天:摸清文件与真值边界(半天足够)
- 下载 set-a.tar.gz(7.9 MB)+ set-a-ext.tar.gz(12.0 MB),解压合并出 75 条完整 set A(只用 set-a.tar.gz 会只有 25 条——最高频的新手事故);
- 用 LightWAVE 在线看 3 条记录(a01/a33/a71——后者是"弃用清单"成员,直观感受标注争议的形态);
- 读 .hea 确认增益与单位,用 CSV 版抽 3 条核对 -32768/‘-’ 的无效段分布;
- 用 .fqrs.txt 复算一条记录的 RR 序列与 FHR 序列,对照"至多 16 点"上限自检。
第二天:搭评测协议(把 50 ms 窗 SE/PPV/F1 跑通)
- 决定弃用口径(0/1/7 条三选一并在文档里声明,§2.6、坑 7);
- 实现 50 ms 匹配窗的 TP/FP/FN 统计——注意先匹配再算指标,匹配窗的锚点是参考 fQRS;
- 跑一个最笨基线(例如"单通道阈值检测")确认流水线正确:这个基线 F1 低是正常的,跑出 0 或跑崩才是流水线问题;
- 把 set A 按"奇偶记录"切成两半做 sanity check 交叉验证,确认方差量级合理。
第三天:正式实验(方法学或建模)
- 方法侧:按官方论文方法分类学(§4.6)选对位基线,在弃用口径一致的 set A 上对比;
- 建模侧:任何端到端模型务必补"分布感知"分析——按记录分段报数(受 adfecgdb 影响的记录 vs 其余),暴露 2013 届埋下的分布外结构;
- 收尾三件套:声明数据版本(challenge-2013 v1.0.0)、声明评测口径(与官方 bpm²/ms 分表)、挂 ODC-BY 署名(官方论文 + Goldberger 2000)。
三天的投入产出比是这个数据集"小而美"的最好证明:第三天结束时你手里已经有可发表级别的对照实验数据量——这在动辄数万样本的现代信号库里反而是稀缺体验。
§3 挑战赛机制:三对赛事、沙箱与被取消的 Event 6
3.0 挑战全程时间线(逐事件)
| 日期 | 事件 | 影响 |
|---|---|---|
| 2013-02-21 | 挑战开放;训练集 25 条(set A 初始)可下载;评分软件样例发布 | 起跑线:set A 一半的内容此时就定了 |
| 2013-03-20 | FAQ 更新(新问答若干) | ADC 无效值、输出格式等细则陆续澄清 |
| 2013-04-02 | set B 100 条放出 + set A 扩充 50 条(合计 75) | set A 定稿;开卷部分翻倍 |
| 2013-04-07 | 非默认语言(Python/C++/Java/R…)预审申请截止 | 用白名单外语言的时间窗关闭 |
| 2013-04-25 | Phase 1 条目截止(至多 3 条,每周至多 1 条) | 摘要必须引用 Phase 1 的 Event 1 分数 |
| 2013-04-30 | Event 6 取消(QT 参考不足,记录全部留给 set A/C) | 五赛事格局定型 |
| 2013-05-01 | CinC 摘要截止 | 无摘要即丧失领奖资格 |
| 2013-06-01 | Phase 2 开跑(至 08-25,至多 5 条,每周至多 1 条) | Event 4/5 有自动评分器即时反馈 |
| 2013-08-25 | Phase 2 条目截止(noon GMT) | — |
| 2013-09-01 前后 | Phase 3:一周窗口内提交单条最终条目 | 最后一搏 |
| 2013-09-09 | 4 页 CinC 全文截止 | — |
| 2013-09-22~25 | CinC 2013(萨拉戈萨);挑战专场报告 28 人 | 现场报告是领奖硬条件 |
| 2013-09-25 | 颁奖(闭幕全体大会) | 证书 + 开源赛道现金奖 |
| 2013-10-24 | 官方成绩单与论文公开 | Top scores / papers 上线 |
| 2013-12-09 | 参赛论文集与顶级开源条目代码发布 | sources/ 目录的来源 |
| 2014-08 | Physiol Meas 特刊(Vol 35 Issue 9)+ Clifford 综述 35(8):1521-1536 | 学术沉淀期 |
时间线的两个观察:其一,“数据两段式放出”(2 月 25 条 → 4 月 75+100 条)逼参赛者在信息不全时先立方法框架、再面对分布变化——与 set A 本身"不覆盖全部来源"的设计一脉相承;其二,从开放到颁奖只用了 7 个月,从颁奖到成绩公开又拖了 1 个月("成绩发布后才见论文"是 CinC 会议论文集的出版节奏,不是隐瞒)。
补充一条出版节奏说明:官方页 news 区的每条公告都带精确到小时的时间戳(如"2013-10-24, 2:36 p.m."成绩公告、"2013-04-02, 7 p.m."测试集公告)——引用时间线时这些戳是最高精度的锚点;而论文 PDF 里的时间描述是"阶段化"的(Phase 1/2/3),两套时间体系并存,写"某月某日"用 news 戳、写"某阶段"用论文口径,不要混搭。
3.1 赛事总表:5 个举办 + 1 个取消
| Event | 任务 | 输入 | 评测集 | 提交形态 | 计分 | 奖励 |
|---|---|---|---|---|---|---|
| 1 | 胎心率 FHR 估计 | 4 通道腹联信号 | 隐藏 set C | 开源条目(完整源码) | MSE(bpm²) | 现金 |
| 2 | 胎儿 RR 间期估计 | 同上 | 隐藏 set C | 开源条目 | RMSE(ms) | 现金 |
| 3 | 胎儿 QT 中位数估计 | 同上 | 隐藏 set C | 开源条目(含 QT 输出) | RMSE(ms) | 现金 |
| 4 | 胎心率 FHR 估计 | 4 通道腹联信号 | 开放 set B | 标注文件(闭源) | MSE(bpm²) | 奖状 |
| 5 | 胎儿 RR 间期估计 | 同上 | 开放 set B | 标注文件(闭源) | RMSE(ms) | 奖状 |
| — | — | — | 2013-04-30 取消 | — |
流传最广的误记是把 2013 届说成"Event 1(FHR)+ Event 2(直接 FECG 信号提取)双赛道"——实际没有任何"信号提取/波形重构"赛道:五个赛事全部是 fQRS 定位的衍生量(FHR/FRR/FQT)精度比拼,"提取出干净的胎儿 ECG 波形"从头到尾不是被评测的目标(坑 1)。这个误记大概源自把 2013 届与后续某些 FECG 综述里的"extraction"一词混淆——官方论文标题里的"Noninvasive Fetal ECG"指的是数据形态,不是任务定义。
3.2 为什么 FHR 和 FRR 要拆成两个赛事(官方 FAQ 的精妙解释)
第一眼看上去 Event 1/2(或 4/5)高度相关——都来自同一份 fQRS 标注。但官方 FAQ 专门解释了为什么必须分开:
- 漏检与虚报近似抵消的检测器:fQRS 漏检(FN)与虚报(FP)数量相近时,心率均值仍然准——Event 1 得分好;但 RR 间期序列全是断茬——Event 2 得分差。
- 高特异性检测器:宁可漏检也不虚报的算法在强噪声下会系统性低估心率——Event 1 得分差;但每个存活的 RR 间期位置都准——Event 2 得分好。
换言之,FHR 考"宏观统计对不对",FRR 考"逐拍位置对不对"——两个赛事合起来才完整刻画一个检测器。这个设计对今天做任何"事件检测评测"的人都有借鉴意义:单一聚合指标会掩盖 FN/FP 结构性差异。
用一对思想实验把这个机制钉死(数字为示意):
- 检测器甲:检出 60 拍、漏 5 拍、多报 5 拍(FP 与 FN 相近)——FHR 层面均值几乎不偏(Event 1 高分);RR 序列里混进 5 个假间期且错位(Event 2 崩)。
- 检测器乙:检出 48 拍、漏 17 拍、几乎不虚报(高特异性)——FHR 系统性偏低(Event 1 差);但每个 RR 都是真的(Event 2 好)。
- 两个检测器在"检测率"上差 20%,在两个赛事上的相对排名完全相反——这就是官方把一对指标拆成两个赛事的实证理由,也是"用单一 F1 排名检测器"这个通行做法的反例。
3.3 开源条目的沙箱规则(2012 届规则的延续与强化)
开源赛事(Event 1/2/3)的提交规则在 2012 届"交源代码"的基础上进一步收紧:
- 完整源码:必须提交真实源代码(“the actual source code, not just a reference to it”),禁止闭源调用未发布函数;开源赛事"no"是官方对"部分闭源"问询的直接回答。
- 语言白名单:ANSI/ISO C 或 MATLAB/Octave m-code 为默认;C++/Java/Perl/Python/R 需在 2013-04-07 前向组织者预审报备。
- stdout 而非文件:条目必须把标注写到标准输出——官方测试框架重定向 stdout 落盘。原因官方也写得直白:这样他们才能把你的代码扔进安全沙箱跑。
- 逐条独立:每条记录独立调用、独立退出,禁止跨记录缓存状态——防"用测试集互信息作弊"。
- 评分工具链:tach/mxm/ann2rr(WFDB 组件)+ 挑战定制软件;赛后提供 MATLAB/WFDB App Toolbox 的 Score2013 JAR 供自助评分。
这套"源码进沙箱 + 受控输入输出"的评测框架,放在 2013 年是相当超前的可复现性实践——它比"提交分数"的 Kaggle 模式重得多,但换来的是官方成绩单上的每一条都可以被事后审计。
与 2012 届沙箱规则的逐项对照(两连届规则的演化一目了然):
| 规则项 | 2012 届(ICU 死亡预测) | 2013 届(胎儿 ECG) |
|---|---|---|
| 条目形态 | MATLAB 函数 [risk,prediction]=physionet2012(...) 或 C 可执行 |
同构:模板函数/可执行 + stdout 约定 |
| 输入形态 | 逐记录的时序三元组(Time,Parameter,Value) | 逐记录的 4 通道原始波形 |
| 输出形态 | 风险概率 + 二分类预测 | fQRS 标注序列(+ 可选 QT) |
| 跨记录状态 | 禁止 | 禁止(FAQ 重申"annotate only one record and then exit") |
| 隐藏评测集 | set C 4,000 例(官方持有) | set C 272 条(官方持有,保密等级更高) |
| 语言白名单 | MATLAB/ANSI C 为主 | 同 + 非默认语言预审制(2013-04-07 截止) |
| 自助评分 | 官方提供学习集评分器 | WFDB App Toolbox Score2013 JAR + genresults.m |
对照读出的演化方向:输入从"结构化数值"变成"原始波形"后,沙箱规则没有放松反而更细(预审制、标注格式双轨、输出重定向约定)——官方在用制度补信号处理任务特有的作弊面(如直接读取参考标注文件)。
3.4 参赛配额、阶段与官方页的"自相矛盾"
- Phase 1(至 2013-04-25):至多 3 条,每周至多 1 条;摘要须在 2013-05-01 前提交给 CinC 且附 Event 1 分数。
- Phase 2(2013-06-01 至 08-25):至多 5 条,每周至多 1 条;Event 4/5 有自动评分器即时反馈。
- Phase 3:Phase 2 截止后一周内可提交单条最终条目。
- 论文:2013-09-09 前 4 页全文;CinC 2013(09-22~25,萨拉戈萨)现场报告是获奖资格条件。
存照:官方页内部两处配额矛盾——FAQ 与参赛规则区写"总数限 8 条(3+5)“,Challenge Results 区写"Each team was allowed to submit up to 11 entries”。合理的解释是 11 = 8 正式 + 3 非正式/补交,但官方从未书面澄清。条目如实并载两口径(坑 5)。参与规模同理:论文"91 open-source entries by 53 teams" vs 成绩页"Over 60 teams"——前者只数开源条目提交者,后者含闭源与非正式参与者。
3.5 参考标注的替换风波:Phase 1 与 Phase 2 用的是两套参考
官方论文披露的一个关键细节:挑战进行中参考标注换过版本——Phase 1 的初步分数基于各来源作者的原始标注,Phase 2 起换成众包概率投票合成的新参考。这意味着:
- 同一条目在两个阶段的分数不可直接比较;
- 参赛者若在 Phase 1 过拟合了原始标注的怪癖,Phase 2 会"无预警掉分";
- 今天 set A 里下载到的 .fqrs 是终版 crowd 参考,与任何 Phase 1 时期公开的分数都不严格对应。
这是"评测基准中途换真值"的罕见公开案例——它示范了 crowd-sourcing 相对单专家标注的抗偏性,也示范了基准漂移对参赛者公平性的冲击。方法学后续论文:Zhu T, et al. Crowd-sourced annotation of ECG signals using contextual information. Ann Biomed Eng 2014(PMID 24368593)。
3.6 Event 6 之死:一场公开的"基准缩水"
2013-02-21 开赛时官方计划六个赛事(三对各三档)。2013-04-30 官方宣布 Event 6 取消,理由原文直译:“可靠的参考 QT 测量只能对挑战记录的一个子集产生,我们原计划只用这些记录评 Event 3 与 6;由于这类记录比预期少,必须把它们全部分配给 set A 与 set C——set B 记录没有任何可靠途径确定参考 QT,无法评分。”
三层教训:其一,QT 这类衍生间期的"真值"依赖直接 FECG 覆盖率,而覆盖率是数据供给侧的硬约束;其二,官方选择了公开取消而不是降格硬评——保住了 Event 3 的公信力;其三,对后来的数据集设计者,"标注覆盖率决定可评任务集"应该写进需求评审的第一行。
3.7 评分软件工具链:三件套 + 一套自助包
官方评分不是单一程序,而是 WFDB 组件 + 定制胶水:
| 工具 | 角色 | 输入 → 输出 |
|---|---|---|
| tach | 由 fQRS 标注生成 FHR 时间序列 | 参考或测试的 .fqrs → 每条至多 16 个 IPFM 心率点 |
| ann2rr | 由标注生成 RR 间期序列 | .fqrs → RR 间期列表(相邻 N 标注差) |
| mxm | 比较两个 RR 序列 | 参考 RR vs 测试 RR → 毫秒级 RMS 差 |
| custom 胶水 | 逐记录计分、汇总平均、无匹配罚分 | 逐记录分数 → 赛事总分 |
自助评分两条路:
- MATLAB 路线:安装 WFDB App Toolbox →
score2013('a01','fqrs','entry1')或genresults.m批量跑;要求测试目录里数据(.dat/.hea)、参考(.fqrs)、条目输出(.entry1)四件套齐备。 - 命令行路线:
java -cp ".../wfdb-app-JVM6-0-0-2.jar" org.physionet.wfdb.Score2013 a01 <datadir> fqrs entry1——JVM 评分器,非 MATLAB 用户的主通道。
官方 FAQ 的两个警告值得复述:其一,学习集自评分不用于排名,官方测试集分数会(显著)不同——“especially if the algorithms have been (over)trained”;其二,Windows 下评分器要生成临时缓存文件,需管理员权限运行。仓库根目录那 13 字节的 score-2013.c(坑 6)说明 C 版评分器从未随包分发——C 用户实际也是走 JVM 路线。
3.8 参赛规则问答精选(官方 FAQ 的规则侧)
信号侧 FAQ 之外(§2.10),规则侧还有一批高频问答值得摘录:
- Phase 1 没用完的条目名额能滚存吗?——官方原话 “No”:制度设计明确鼓励"持续迭代"而非"期末突击";官方观察是最成功的参赛者都是"吃透每次反馈再交下一条"。
- 标注要写文件还是 stdout?——开源赛事官方沙箱重定向 stdout;闭源赛事(set B 标注)你自己跑自己的软件,文件/stdout 均可。
- 可以用开源库吗?——可以,官方点名 WFDB 的 gqrs/sqrs/wqrs 可作母体 QRS 检测器;语言预审截止 2013-04-07。
- 为什么闭源赛事也要交 CinC 摘要?——领奖资格的通用条件:注册、Phase 1 条目、摘要、Phase 2 条目、CinC 现场报告,缺一不可(非正式/unofficial 参与不受限)。
- 官方评分多久出?——通常一两天,大截止日附近更久;Event 4/5 有自动评分器即时出分(Phase 2 起)。
- 评分会公布哪些记录被计 QT 分吗?——不会(Event 3 的保密子集);想参赛就给所有记录输出 QT。
3.9 条目形态的两种人生:开源 vs 闭源的实质差别
| 维度 | 开源条目(Event 1/2/3) | 闭源条目(Event 4/5) |
|---|---|---|
| 评测集 | 隐藏 set C(272 条) | 开放 set B(100 条) |
| 提交物 | 完整源码(沙箱执行) | 标注文件集合 |
| 语言 | ANSI C / MATLAB 默认,其他预审 | 无限制(自己跑) |
| 奖励 | 证书 + 现金 | 仅证书 |
| 赛后资产 | 代码发布在 PhysioNet(sources/) | 无发布义务 |
| 典型策略风险 | 代码要经受未知记录的鲁棒性检验 | 可对 set B 的分布反复"调音"(配额内) |
两栏对照读出的制度含义:现金奖只挂在"代码真的要公开并接受任意记录检验"的赛道上——官方用奖金买的是"赛后社区可直接复用的方法资产",这个导向在 91 条开源条目沉淀为公共代码库这件事上得到了回报。
§4 基准与成绩:官方分、非官方彩蛋与两套不可混排的口径
4.1 官方最终成绩单(成绩页口径,越低越好)
| Event | 冠军(分数) | 亚军 | 季军 |
|---|---|---|---|
| 1 FHR(set C,bpm²) | Varanini 团队 187.091(Varanini/Tartarisco/Billeci/Macerata/Pioggia/Balocchi,意大利 CNR Pisa 系) | Podziemski & Gierałtowski 255.989 | Rui Rodrigues 278.755 |
| 2 FRR(set C,ms) | Varanini 团队 20.975 | Podziemski & Gierałtowski 25.059 | Di Marco/Marzo/Frangi 26.085 |
| 3 FQT(set C,ms) | Podziemski & Gierałtowski 152.71 | (仅 2 队可评) | — |
| 4 FHR(set B,bpm²) | Andreotti 团队 18.803(Andreotti/Riedl/Himmelsbach/Wedekind/Zaunseder/Wessel/Malberg,德累斯顿) | Lipponen & Tarvainen 28.893 | Varanini 团队 33.952 |
| 5 FRR(set B,ms) | Andreotti 团队 4.337 | Lipponen & Tarvainen 4.844 | Varanini 团队 5.098 |
三组读数要点:
- set B 分数普遍远好于 set C(Event 4 的 18.803 vs Event 1 的 187.091)——不是 set B 的算法更强,而是 set B 参考标注与 set A 同源可比、参赛者能用 set A 调到 set B 的分布上;set C 含大量 set A 没见过的乌克兰来源。这是官方"训练集分布不覆盖测试集"设计的直接证据。
- Event 3 的参与塌缩:仅 6 队提交、可评 2 队——QT 任务的标注覆盖率塌陷(3.6 节)传导到了参赛意愿。
- Event 4 冠军分数双口径:官方成绩页 18.803,论文 PDF 正文 18.083——两个都是官方来源,正文取成绩页并全程存照(坑 2)。
4.2 非官方彩蛋:组织者下场参赛
Behar/Oster/Clifford(数据与赛题的组织者)以 unofficial 身份参赛,成绩括号单列:Event 1 (179.439)、Event 2 (20.793)、Event 3 (153.07)、Event 4 (29.619)、Event 5 (4.672)。官方解释:组织者参与设计赛题与数据,不得领奖。两个读数:
- Event 1 的 (179.439) 低于官方冠军 187.091——组织者的多方法融合条目在 FHR 上其实最强;
- 但 Event 4 的 (29.619) 远差于 Andreotti 的 18.803——set B 上最会调分布的是"纯参赛者"。
这组括号分数后来成了 BEHAR 组 FECG 方法论文(Physiol Meas 2014 特刊)的基准锚点,也提醒每个评测设计者:组织者下场的成绩必须与参赛者物理隔离,否则榜单公信力归零。
4.3 两套不可混排的口径:官方 bpm²/ms vs 下游 SE/PPV/F1
赛后社区形成了与官方完全不同的评测协议:
- 官方口径:Event 分数(bpm² 均方误差 / ms 均方根差),测试集是 set B/C——set C 第三方拿不到,set B 标注保密,官方分不可复现。
- 下游口径:在 set A 上做(交叉)验证,检出 fQRS 与参考在 50 ms 匹配窗内记 TP,算 SE/PPV/F1——这是当下游论文报"Challenge 2013 set A 上 F1=xx"时的默认含义。
三条混排禁令:
- 官方 Event 分数与下游 F1 不在同一量纲、不在同一数据集——混排在同一张表里是最常见引用事故;
- 下游论文对 set A 的"弃用记录"口径不统一:PLOS QRStree(2019)弃 7 条(a33/a38/a47/a52/a54/a71/a74),Frontiers in Physiology(2017)与 Andreotti et al. 2016 只弃 a54——同一份 set A,一条是 75 条口径、一条是 74 条、一条是 68 条(坑 7);
- F1 的分母细节(每通道最优 vs 通道对最优、是否含重合搏动)各文不一——引用前必须回到原文方法节。
4.4 方法收敛:强队的"两步法"与自适应模板
官方论文对 91 条开源条目的综述(这是官方留下的方法学地图):
- 第一步:母体 ECG 消除——子空间分解/重构(PCA/ICA 谱系)、自适应滤波/平均(LMS/EKF 谱系)、小波去噪、多法融合;
- 第二步:胎儿 QRS 检测——匹配滤波、Christov 检测、熵特征、RS 斜率、期望加权、回声状态循环神经网络(ESN)、多法融合;
- 顶级队伍的共性:不押单一技术,而做多提取器融合(Behar 条目是官方点名的例子)+ 自适应 QRS 模板(母体/胎儿/双端),应对信号的非平稳漂移。
十问里有问"今天还有用吗"——这张方法地图就是答案的另一半:今天任何端到端深度模型在 set A 上报数,审稿人仍会要求与这张图里的经典两步法对照。
4.5 赛后文献生态:三篇锚点论文与一个特刊
| 文献 | 角色 |
|---|---|
| Silva I, et al. CinC 2013;40:149-152(官方论文) | 数据与成绩的权威口径(PDF 官方托管:physionet.org/files/challenge-2013/1.0.0/papers/0149.pdf) |
| Clifford GD, et al. Non-invasive fetal ECG analysis. Physiol Meas 2014 Aug(PMID 25071093) | 赛后特刊开篇综述(母胎信号处理全景) |
| Zhu T, et al. Crowd-sourced annotation of ECG signals using contextual information. Ann Biomed Eng 2014 Apr(PMID 24368593) | 众包标注方法学的正式发表版 |
| Behar J, et al. An ECG simulator for generating maternal-foetal activity mixtures. Physiol Meas 2014(PMID 25071094) | 合成数据来源的模型学论文 |
| Varanini M, et al. Extraction of the fetal ECG by signal decompositions. Physiol Meas 2014(PMID 25070127) | 冠军条目的期刊扩展版 |
| Physiol Meas Vol 35 Issue 9(2014-08) | 挑战专题特刊整体 |
注意:CinC 论文集本身不被 PubMed 收录(官方论文无 PMID/PMCID)——引用 2013 届官方论文时只能引 CinC 2013;40:149-152 + PDF URL,搜 PubMed 会落空(搜到的是上面这批期刊后继)。
4.6 强队方法画像:官方视角的方法分类学
官方论文 Discussion 节对 53 个团队 91 条开源条目的归纳(按"第一步消母体 / 第二步检胎儿"两条轴展开):
第一步:母体 ECG 消除(MEC cancellation)——
| 技术族 | 原理 | 官方引用条目群 |
|---|---|---|
| 子空间分解/重构 | PCA/ICA 把信号投影到"母体子空间"与"残差子空间",舍弃前者 | [13-20] 群 |
| 自适应滤波/平均 | 以母体 R 波触发的自适应模板或 LMS/EKF 滤波逐拍对消 | [12, 21-25] 群 |
| 小波去噪 | 多分辨率分解剔除母体频段与基线漂移 | [26-30] 群 |
| 多法融合 | 同一记录并行多种消除器,按信号质量动态加权 | 顶级队伍共性 |
第二步:胎儿 QRS 检测(fQRS detection)——
| 技术族 | 原理 |
|---|---|
| 匹配滤波 | 以胎儿 QRS 模板在残差信号上做相关 |
| Christov 检测 | 复用成人心电逐拍检测器的自适应阈值机制 |
| 熵特征 | 残差信号复杂度突变定位胎心搏 |
| RS 斜率 | 胎儿 QRS 的高频斜率特征门限 |
| 期望加权 / ESN | 回声状态循环神经网络做序列判别 |
| 多检测器投票 | 多个检测器输出做一致性融合 |
顶级队伍的两个共性(官方原文总结):
- 不押单一消除器——官方点名的 Behar 条目就是"几种母体消除方法的融合";
- 自适应 QRS 模板——对母体、胎儿或双端使用随时间更新的模板,应对信号非平稳。
对今天读者的含义:端到端深度模型在 set A 上报数时,审稿人默认的对照系就是这张分类学——至少要对位一个"子空间/自适应/小波 × 匹配滤波/阈值检测"的组合基线,而不是自造一个稻草人。
两步法的现代回声:2013 年的两步框架并没有被深度学习淘汰,而是被"吸收进"了端到端模型的学习目标里——今天的深度模型在 set A 上学的"隐式第一步"等价于母体消除、"隐式第二步"等价于 fQRS 判别。对照实验的标准做法是给端到端模型配一个"显式两步法"基线:如果端到端打不过"经典消噪 + 经典检测"的组合,说明它只是低效地重学了已知结构;如果打得过,也要检查赢在 set A 的哪个子集(乌克兰记录还是波兰记录)——分布感知的分析比总分更有信息量。这套评估哲学是 2013 届"结构化赛事"留下的方法论遗产。
4.7 成绩单的统计学读法:三组数字里的制度信息
第一组:set B 与 set C 的分数鸿沟。 Event 1(set C)冠军 187.091 bpm² vs Event 4(set B)冠军 18.803 bpm²——同为 FHR 的 MSE,差近一个数量级。合理解释链:set B 与 set A 同批放出、参赛者可用 set A 校准方法假设;set C 塞满 set A 没见过的来源(尤其乌克兰大库);官方"训练分布不覆盖测试分布"的设计把分布外惩罚做成了可测量的数字。推论:任何在 set A 上的本地高分都要按 set B→C 的折损率打折看待,这个折损在 2013 年实测接近一个数量级。
第二组:Event 3 的参与塌缩。 全部赛事里只有 Event 3 出现"6 队参赛、2 队可评"——QT 参考的覆盖率瓶颈(§3.6)先砍掉了 Event 6,再压缩了 Event 3 的有效评测面。这对基准设计者的警告是:任务的可评性由标注覆盖率决定,参赛者会用脚投票。
第三组:unofficial 括号的分量。 Behar/Oster/Clifford 的 (179.439) 若按正式参赛将是 Event 1 冠军——但它只以括号存在。这个"差点改变榜单"的数字被制度性隔离在正式成绩之外,是评测公平性设计的一个活案例;同时 (29.619) 在 Event 4 上明显逊色,说明组织者的方法优势也集中在隐藏集泛化而非开放集调参——侧面支持了第一组的解释。
4.8 把官方成绩表搬进论文/文档的正确姿势
三种常见引用场景的模板(直接可用):
场景一:一句话带过整体成绩
在 PhysioNet/CinC Challenge 2013 中,Varanini 团队与 Andreotti 团队分获开源赛道(Event 1/2:187.091 bpm²、20.975 ms)与封闭赛道(Event 4/5:18.803 bpm²、4.337 ms)冠军(官方成绩页口径)。
场景二:表格化引用单赛事(以 Event 1 为例)
| 排名 | 团队 | 分数(bpm²) |
|---|---|---|
| 1 | Varanini et al. | 187.091 |
| 2 | Podziemski & Gierałtowski | 255.989 |
| — | Behar, Oster & Clifford (unofficial) | (179.439) |
| 数据源 | PhysioNet challenge-2013 v1.0.0 官方成绩页;2013-10-24 发布 |
场景三:引用时必须附带的三条脚注
- Event 4 冠军分数另有论文口径 18.083(坑 2);
- 括号分数为 unofficial(坑 3);
- 官方分数基于保密的 set B/C,第三方不可复现(§5.3)。
三条脚注是本文实测最高频的"审稿人抓漏"点位——附上它们,基本免疫口径类审稿意见。
§5 获取与许可:无门槛直链与永远拿不到的东西
5.1 获取三通道(全部无需注册)
# 方式一:官方打包(全量 ZIP 280.8 MB,浏览器/wget 直链)
wget https://physionet.org/publish/challenge-2013/1.0.0/challenge-2013.zip
# 方式二:递归拉取单文件(适合只要 set-a 或某几条记录)
wget -r -N -c -np https://physionet.org/files/challenge-2013/1.0.0/
# 方式三:AWS Open Data 镜像(无签名请求)
aws s3 sync --no-sign-request s3://physionet-open/challenge-2013/1.0.0/ DESTINATION
补充三件小事:
- HTML 页面要带浏览器 UA,数据文件一般不用——反爬只挡页面请求;
- 只需要 set A 标注的轻量路径:
https://physionet.org/files/challenge-2013/1.0.0/set-a/RECORDS(实测 75 行)+ 逐条 .fqrs.txt; - 在线浏览不下载:官方 LightWAVE 波形/标注查看器支持 set A/B(数据集页正文入口)。
5.2 许可结构:三层三规
| 层 | 内容 | 许可 |
|---|---|---|
| 数据文件(set-a/、set-b/) | 信号 + set A 标注 | ODC-BY 1.0(Open Data Commons Attribution License v1.0)——“Anyone can access the files”,署名即可 |
| 参赛论文集(papers/) | CinC 2013 挑战专题 PDF | CC BY 3.0(作者自愿提供) |
| 参赛开源代码(sources/) | 顶级条目源码 | 随作者分发(官方"made freely available"口径,各条目自带声明) |
| set C + set B 标注 | 272 条隐藏记录 | 无许可可授——永久保密(官方明言,非"延迟公开") |
ODC-BY 1.0 的实践含义:数据可商用、可再分发、可合并进产品,唯一硬义务是署名——引用官方论文(CinC 2013;40:149-152)与 PhysioNet(Goldberger et al. Circulation 2000;101(23):e215-e220)即可。
5.3 永远拿不到的三样东西(官方明言)
- set C 272 条:信号与标注全部保密——官方 Event 1/2/3 分数第三方永远无法复现;
- set B 参考标注:信号公开但答案保密——Event 4/5 同样只能信官方成绩表;
- 直接 FECG(头皮)信号:所有来源的直接信号都不发布——参考标注"通常参考"它产生,但你永远看不到它。
这是整个 PhysioNet 挑战系列里"公开部分最小、隐藏部分最大"的一届:447 条里只公开 175 条(39%),且公开部分里只有 set A 的 75 条带答案。设计动机官方说得坦率:给赛后跟风研究者留一个永久"开卷盲测"场。代价是:任何自称"复现了 Challenge 2013 官方成绩"的说法都应默认为误报。
5.4 不下载的查看路线:LightWAVE 与 PhysioBank ATM
- LightWAVE(官方页正文入口):浏览器内波形+标注查看器,支持 set A 与 set B——鼠标拖动即可看四通道信号叠加参考 fQRS 标注(母胎 QRS 重叠段落一目了然);适合快速踩点信号质量,不适合批量实验。
- PhysioBank ATM:老牌在线工具链(波形查看/滤波/变换/标注比对),challenge-2013 的记录可通过 ATM 的数据库列表访问;同样适合单条探索。
- 官方页特别说明:LightWAVE 是 2013 年随挑战上线的新工具——这个数据集其实是 LightWAVE 的首批"应用商店内容"之一。
5.5 版本链与引用格式
- 版本:仅 1.0.0,版本页标注发布日 2013-02-21;无 1.1、无修订版——十年来数据本体从未变动(文件 mtime 2019-04-17 是平台迁移重传,见坑 9)。
- 官方推荐引用(数据集页 Cite 区):
- Silva I, Behar J, Sameni R, Zhu T, Oster J, Clifford GD, Moody GB. Noninvasive Fetal ECG: the PhysioNet/Computing in Cardiology Challenge 2013. Computing in Cardiology 2013;40:149-152.
- Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals. Circulation 2000;101(23):e215-e220.
- 页面另附 PhysioNet 平台总引用(Pollard et al. 2026, Nature Health, doi:10.1038/s44360-026-00096-z)——平台级引用是 2020 年代后期新增的惯例,与数据集引用并用。
- 期刊级总结综述(可选第三条):Clifford GD, et al. Non-invasive fetal ECG analysis. Physiol Meas 2014;35(8):1521-1536(PMID 25071093)。
5.6 下载排障清单(实测向)
| 症状 | 原因 | 处置 |
|---|---|---|
| 页面 403/空响应 | PhysioNet HTML 页面反爬,需浏览器 UA | curl 加 -A "Mozilla/5.0 ...";数据文件一般不需要 |
| wget 递归下载断断续续 | 文件数多、单文件小 | 用 -r -N -c -np 三件套续传,或改走 AWS 镜像 |
| AWS 同步签名报错 | 不必要地配了凭证 | --no-sign-request 走匿名通道 |
| 解压后记录数对不上 | 只下了 set-a.tar.gz(25 条初始版) | set A 共 75 = set-a(25) + set-a-ext(50);两个包都要 |
| .fqrs 打不开 | 当成文本用错工具 | .fqrs 是 WFDB 二进制标注,用 rdann 读;或改用 .fqrs.txt 版 |
| 信号值离谱(±3 万) | 把 ADC 整数值当 mV | 乘 .hea 里的增益系数还原物理单位 |
| 找不到 set C | 按设计不存在公开 set C | 无解——见 §5.3 |
5.7 版本链与引用格式的补充:别用错官方缩写
社区文本里 challenge-2013 有多种简称(PCDB、CinC13、physionet2013),工程上最无歧义的写法是 URL 里的物理路径 challenge-2013/1.0.0;官方评分脚本 physionet2013.m 是"参赛条目模板+评分函数"的文件名(函数体规定了输入输出约定),不是数据库名——把脚本名当库名写进论文会让检索彻底失效。
§6 生态与影响:胎儿心电公共基准的起点
6.1 在 PhysioNet 挑战谱系中的位置
2013 届是系列第 14 届,也是第一次离开成人重症、进入围产领域。此前的挑战主题:2000 睡眠呼吸暂停、2001 心衰、2002-2004 各类 ECG/心音、2008-2011 产科外的心电/血压预测、2012 ICU 死亡率。2013 之后的 2016 届(胎心健康分类)又回到胎儿主题——且首次用"人工合成 FECG 组成隐藏集"的机制,那正是 2013 届"隐藏集分布外"教训的工程化修正。合读 2013 与 2016 两届,可以完整看到 PhysioNet 如何在胎儿心电这个题上迭代评测协议。
对 2012 届的继承同样明显:沙箱跑源码、逐条独立、禁止跨记录状态、隐藏测试集——规则骨架一致;变化在任务形态(分类/回归 → 逐拍检测与间期测量)与评分(min(Se,PPV)/H 统计量 → bpm²/ms 直接误差)。
6.2 对方法学社区的四个沉淀
- set A 成为胎儿 QRS 检测的事实标准测试床:50 ms 匹配窗 + SE/PPV/F1 的协议在下游沿用至今(QRStree 2019 等仍在报 set A 成绩);
- 众包标注方法学出圈:概率投票合成参考标注的流程(Raykar 框架 + 挑战实践)在 Zhu et al. 2014 正式发表后,被后续生理信号标注项目广泛借鉴——2013 届是一次"用挑战赛孵化标注方法学"的成功实验;
- 母体消噪方法学的公开对照系:子空间投影、自适应滤波、小波、多法融合在同一数据上可比——这在 2013 年之前没有公共数据支撑;
- "训练分布不覆盖测试分布"的正面示范:官方把多源异构设备的现实搬进赛题设计,逼出的鲁棒性讨论比任何综述论文都直接。
四个沉淀各有一个可验证的"存在证据":沉淀 1 的证据是 QRStree(PLOS ONE 2019)正文专节描述 set A 协议;沉淀 2 的证据是 Zhu et al. Ann Biomed Eng 2014(PMID 24368593)独立成文;沉淀 3 的证据是官方论文 Discussion 对 91 条开源条目的分类学(§4.6);沉淀 4 的证据是官方成绩单上 set B/C 的数量级分差(§4.7 第一组)。
6.3 与临床的距离:这项技术在 2013 年之后走向了哪
官方论文的方法学综述(4.4 节)与 Behar 的资助方信息(MindChild Medical Inc.——胎儿监护设备公司)共同勾勒了技术出口:非侵入 FECG 监护设备的商业化探索。临床侧的现实约束官方论文也写得诚实:FHR 监护"推高健康婴儿剖宫产率、未见缺氧结局改善"的历史争议(引 Jenkins 1989、Kennedy 1998、Cochrane 的 Neilson 2012 综述)——更准的信号是必要条件而非充分条件,判读标准与临床决策链同样在拖后腿。这也是为什么 2013 届把 QT 间期这样的"新特征"第一次纳入公共评测:只测准心率不够,还要为"能从 FECG 里额外读出什么"搭好尺子。
临床转译的三层距离(官方材料里可拼出的全图):
- 信号层 → 指标层:fQRS 定位 → FHR/FRR/FQT 可靠测量——2013 届解决的是这一层的"测量精度基准化";
- 指标层 → 判读层:FHR 曲线变异/减速模式的临床分型——这一层依赖更长的记录与判读标准研究,1 分钟片段帮不上忙,官方论文也明确不涉足;
- 判读层 → 决策层:分型如何改变产程处置并真正改善结局——Cochrane 2012 的结论是"对结局影响无证据、对手术率有影响",这正是 2013 年公开材料里最冷静的一句话。
投资这个领域的人需要记住:数据集解决的是第一层的可测量性,第二第三层的瓶颈(长时程数据、判读标准化、前瞻性试验)在 2013 年之后依然存在——这也是非侵入 FECG 至今没有成为标准产前监护手段的原因。
6.4 PhysioNet/CinC 挑战系列年表(截至本条目撰写时库内覆盖)
| 届 | 年 | 主题 | 库内条目(rid) | 与 2013 届的关系 |
|---|---|---|---|---|
| 1 | 2000 | ECG 睡眠呼吸暂停检测 | —(未入库) | 系列起点(13 队规模) |
| 12 | 2012 | ICU 死亡预测(MIMIC-II 时序) | cinc-2012 (660) | 直接前届;"源码进沙箱"规则确立 |
| 14 | 2013 | 非侵入胎儿 ECG | 本条目 cinc-2013 | — |
| 15 | 2014 | 睡眠得分预测(体动记录仪+CV 风险) | —(缺口) | 数据形态与 2013 无承接 |
| 16 | 2015 | 减少假心律失常报警 | cinc-2015 (487) | 回到 ICU 信号赛道 |
| 17 | 2016 | 胎心健康分类(人工合成隐藏集) | physionet-cinc-2016 (382) | 胎儿主题回归,隐藏集机制修正 2013 的分布外问题 |
| 18 | 2017 | 单导联房颤分类 | physionet-cinc-2017 (162) | 深度学习参赛爆发的起点 |
| 19 | 2018 | 睡眠阶段评分 | cinc-2018-sleep (493) | 多导睡眠图 |
| 20 | 2019 | 脓毒症早期预测 | cinc-2019 (656) | 回到 ICU 时序 |
| 22 | 2021 | 房颤复发预测 | cinc-2021 (644) | — |
| 24 | 2023 | i-care:居家健康多任务 | cinc-2023 (499) | 系列当代形态 |
这张年表里有三个与 2013 届直接相关的钩子:2014 届是年表上离 2013 最近但主题完全断开的缺口(睡眠可穿戴);2016 届是胎儿主题的直系续代(其"人工合成 FECG 组成隐藏集"正是对 2013"隐藏集分布外"教训的工程化回应);2012→2013 两连届是"沙箱规则"从 ICU 数值时序到逐拍波形信号的平移验证。
6.5 中文社区与国内使用
- 文献密度:中文综述与学位论文(胎儿心电信号处理、盲源分离、母体消噪方向)几乎都引用 2013 届数据;“PhysioNet/CinC Challenge 2013"常被简写为"2013 年 PhysioNet 挑战赛"或"PCDB(PhysioNet Challenge Database,set A)”——PCDB 这个称呼来自 PLOS/Frontiers 系英文文献对 set A 的惯称(QRStree 原文),中文文献转引时注意它只指 set A。
- 术语对齐:中文文献常把 Event 1-6 写成"赛题一/赛题二",把 set A/B/C 写成"A/B/C 集/训练集/测试集"——回溯官方文档认准英文原名;“测试集"尤其要小心:官方语境里 set B 是"开放测试集”、set C 是"隐藏测试集",set A 从来不是训练集以外的任何角色。
- 伦理口径:数据为去标识生理信号、ODC-BY 1.0,国内 IRB 一般按公开数据从宽处理;但衍生发布(重标注、合成增强、竞赛复刻)仍建议过机构审查——尤其 set A 标注本身是众包共识而非仪器真值,任何"再标注"都应声明与官方参考的关系。
- 教学转引:国内信号处理课程常用 set A 做"胎儿心电提取"大作业,转引时务必写明"PhysioNet challenge-2013 v1.0.0 set A",防止版本与口径漂移(坑 7 的教学场景版)。
§7 与库内条目的关系
7.1 家族图谱(rid 对照)
| 关系 | 条目(rid) | 联结点 |
|---|---|---|
| 同系列直接前届 | cinc-2012 (660) | "源码进沙箱 + 隐藏测试集"规则的两连届;2012 考 ICU 时序死亡预测、2013 考逐拍信号检测——任务形态的分水岭 |
| 同系列后辈 | cinc-2015 (487) | 假报警抑制——回到 ECG 信号赛道,延续"信号质量决定临床可用"母题 |
| 同系列胎儿主题续代 | physionet-cinc-2016 (382) | 胎心健康分类——胎儿 ECG 主题回归,人工合成隐藏集机制承自 2013 的分布外教训 |
| 同系列后辈 | physionet-cinc-2017 (162) | 房颤分类——单导联 ECG 分类范式 |
| 成人 ECG 大库对照 | ptb-xl (70) | 静态 12 导 ECG 大库——PTB-XL 里没有胎儿导联,胎儿心电公共资源以 2013 届为核心 |
| 经典标注库对照 | mit-bih-arrhythmia (69) | 成人心律失常逐拍标注的祖师爷——2013 届的 fQRS 逐拍标注可视为其在胎儿域的镜像 |
7.2 检索路径建议
- 从"挑战赛系列"检索:cinc-2012 (660) → cinc-2013(本条目)→ cinc-2015 (487) → physionet-cinc-2016 (382) → physionet-cinc-2017 (162)——五连读可见 PhysioNet 评分协议从"分类分数"到"逐拍误差"再到"分类+固定测试集公开化"的十年演化;
- 从"胎儿/产前"检索:本条目是库内胎儿生理信号的锚点;physionet-cinc-2016 (382) 是胎儿主题的续代;对照成人 ECG 参考 ptb-xl (70) 与 mit-bih-arrhythmia (69);
- 从"盲源分离/信号消噪"检索:本条目(母体 ECG 消除是必经第一步)+ mit-bih-arrhythmia (69)(逐拍检测协议)构成方法学对照组;
- 对比钩子(2012 vs 2013):2012=4,000×3 例 ICU 数值时序、评分 min(Se,PPV);2013=175 条公开波形记录、评分 bpm²/ms——同一届会议、同一套沙箱规则、完全不同的数据形态,最能看出"挑战赛协议服务于任务本质"的设计哲学。
检索词工具箱(库内检索与本库外部检索通用):
| 检索意图 | 建议词(中/英) |
|---|---|
| 本数据集本体 | cinc-2013;challenge-2013;Noninvasive Fetal ECG Challenge |
| 任务侧 | fetal QRS detection 胎儿 QRS 检测;fetal heart rate estimation 胎心率估计;fetal QT interval |
| 方法侧 | maternal ECG cancellation 母体心电消除;abdominal ECG 腹部心电;blind source separation 盲源分离;adaptive filtering 自适应滤波 |
| 标注方法侧 | crowd-sourced annotation 众包标注;probabilistic voting 概率投票;learning from crowds |
| 关联库 | adfecgdb;ITAM Komporel;PhysioNet Challenge 2016 fetal |
| 下游基准 | set A benchmark;50 ms matching window;QRStree;fetal ECG public dataset |
检索时的两个避雷词:第一,"fetal ECG extraction"会同时命中"信号提取"与"参数提取"两类文献——引用 2013 届任务时用"QRS detection/FHR estimation"更精准;第二,"Challenge 2013"在非医学领域有大量同名物(Kaggle 各赛、机器人赛),检索务必带 "PhysioNet"或"CinC"前缀。
7.3 缺口说明
库内 cinc 年份链在本条目入库后的覆盖:2012、2013、2015、2016、2017、2018-sleep、2019、2021、2023——cinc-2014 仍是缺口(体动记录仪多模态睡眠/生理指标预测主题)。2014 届与 2013 届在数据形态上几乎无承接(一个睡眠可穿戴、一个母腹 ECG),阅读时无需强行连接。
7.4 跨库阅读动线与联合实验建议
动线一:胎儿心电主题纵深线
cinc-2013(本条目,逐拍检测起点)→ physionet-cinc-2016 (382)(胎儿健康分类,合成隐藏集)——两届合读可以看到"同题十年"的评测协议迭代:从真实数据隐藏集到合成数据隐藏集、从开源沙箱到大规模提交、从 bpm²/ms 到抽象分类分数。
动线二:成人心电对照线
cinc-2013 → mit-bih-arrhythmia (69)(成人逐拍标注祖师爷)→ ptb-xl (70)(当代 12 导大库)——三库合读的题眼是"标注粒度与数据规模的反比史":MIT-BIH 48 条逐拍精标 → 2013 届 175 条众包标注 → PTB-XL 21,837 条诊断级粗标;胎儿心电至今停留在 2013 届的粒度与规模,这就是它作为公共资源的稀缺性所在。
动线三:挑战赛协议演化线
cinc-2012 (660) → cinc-2013 → cinc-2015 (487) → physionet-cinc-2017 (162)——四届连读:沙箱规则(2012-2013 确立)→ 假报警抑制的"临床代价敏感评分"(2015)→ 大规模深度学习化(2017 起)。2013 届在这条线上是"任务从分类转向检测"的枢纽。
联合实验三则:
- 跨库域适应实验:用 adfecgdb(有直接参考)预训练/验证 → set A(挑战协议)测试,模拟"理想信号 → 野外信号"的域迁移;需处理两库时长(5 min vs 1 min)与通道(5 vs 4)差异。
- 成人检测器移植实验:mit-bih-arrhythmia 上训练的 QRS 检测器直接用到 set A,测成人→胎儿的零样本迁移落差(胎儿 QRS 幅值低一个量级、频带更高)——这是检验"检测器到底学到了什么"的天然探针。
- 跨届评测协议对比实验:同一套 fQRS 检测器分别按 2013 届官方口径(bpm²/ms)与下游口径(50 ms 窗 F1)打分,量化"评测协议选择"对方法排名的扰动——动线三的实证版。
联合实验的伦理与许可前置检查:三则实验涉及的三个库全部 ODC-BY/开放许可(adfecgdb 亦为 PhysioNet 开放库),合并分析无许可冲突;唯一义务是分别署名各库官方论文——这在动线二、三里意味着一次实验要挂 2-3 条 PhysioNet 引用,属于"许可以外的成本",写论文前先把引用预算排好。
§8 方法学启示:四条可迁移的经验
- 评测设计要"拆结构"而不是"求总":2013 届把同一份 fQRS 检测拆成 FHR(宏观统计)与 FRR(逐拍位置)两个赛事,官方 FAQ 甚至主动解释了"为什么一个算法可能一头好一头差"——聚合指标掩盖 FN/FP 结构差异,是所有检测类评测的通病;两个互补赛事比一个综合分信息量大得多。
- 隐藏集的"分布外"要当特性来设计,而不是当缺陷来补:官方故意让 set A 不覆盖全部来源,set C 里塞了 76% 占比来源库的大量未见设备记录——set B/C 分数差(18.803 vs 187.091)就是分布外惩罚的直接测量。今天的"OOD 泛化"讨论在 2013 年的赛题设计里已有完整预演。
- 标注不足时,公开取消赛事比硬评更保公信力:Event 6 的取消流程(发现 QT 参考覆盖率不足 → 优先保障 set A/C → 42 天内公开宣布取消)是基准运营的教科书操作;对比之下,很多当代基准选择"缩小 silently 评分集",让参赛者误判自己的成绩波动。
- 组织者下场要物理隔离:Behar/Oster/Clifford 的 unofficial 括号分数制度——既留下了 (179.439) 这个"其实是最强 FHR"的方法学锚点,又保住了榜单公平。当代企业办赛、研究者自评的基准都该抄这页。
四条经验各自的迁移示例(走出胎儿心电也成立):
- 经验 1 → 医学影像分割评测:Dice 总分之外单列"边界误差"与"漏检率"两个赛事式指标,暴露 FN/FP 结构;
- 经验 2 → NLP 基准:训练集故意混入与测试分布不同的文体/作者,把"分布外折损"变成可发表的分析对象;
- 经验 3 → 数据集维护:当某子集标注被证伪时,公开宣布"该子集停止计分"而非悄悄替换——2013 届的 Event 6 是范本;
- 经验 4 → 竞赛运营:主办方成员的提交永远括号展示,且代码同样公开(Behar 条目代码赛后可查)——隔离的是排名资格,不是方法贡献。
§9 AI-Ready 评估
9.1 什么样的人应该(或不应该)用这个数据集
适合:
- 做母体 ECG 消除/盲源分离/自适应滤波方法研究——set A + set B 信号是最标准的公共考场;
- 做胎儿 QRS 检测——50 ms 匹配窗协议 + set A 是社区默认基准;
- 研究评测协议设计本身——三对赛事、Event 6 取消、众包标注替换都是一手案例;
- 教学场景——75 条记录 × 1 分钟,体量极轻,一天能跑完一个完整实验闭环。
不适合/需谨慎:
- 想"复现官方成绩"的人——set C 拿不到,官方分不可复现,这条在本文反复出现因为误信者最多;
- 需要 FECG 波形形态学(P/T 波分析)的人——任务与标注只覆盖 QRS 定位与间期,波形形态没有参考真值;
- 想做多中心大样本胎儿心电研究的人——175 条公开记录(其中仅 75 条带标注)是这个领域 2013-2016 年间最大的公共资源,但以 2020 年代标准体量偏小;
- 把 set A 当 IID 数据训练的人——训练集分布不覆盖测试集是官方有意设计(坑 7 的姊妹提示)。
9.2 综合评级与 DAIMS 全表
综合评级 7.5/10(AI-Ready 优):可获取性与可持续性为本库最高档(ODC-BY、无门槛、PhysioNet 长期托管、AWS 镜像);失分在"评分软件与格式约定散落 FAQ 与论文而非 schema 文件"、“官方分数不可复现"与"标注是投票共识而非仪器真值”。DAIMS 逐维打分与依据见附录 B。
9.3 场景 × 30 秒判定表
| 你的场景 | 推荐动作 | 关键警示 |
|---|---|---|
| 发论文报胎儿 QRS 检测 | set A + 50 ms 窗 SE/PPV/F1 + 写明弃用口径 | 与官方分分表呈现(4.3) |
| 发论文报母体消噪/源分离 | set A/B 信号 + adfecgdb 对照 | 无直接参考,质量指标自建 |
| 复现官方挑战成绩 | 停——不可行 | set C 隐藏;无任何变通 |
| 教学/课程作业 | set-a.tar.gz + physionet2013.m | 注意毫秒/秒时间轴差 |
| 评测协议研究 | 本条目 §3 全节 + Event 6 档案 | 官方页内部矛盾是原级素材 |
| 众包标注方法研究 | set A 参考标注 + Zhu 2014(PMID 24368593) | 参考是投票共识非真值 |
| 大规模预训练 | 不推荐本数据集(175 条太小) | 转 ptb-xl (70) 等大库,本库做微调/评测 |
§10 避坑清单:九个已踩过的坑
坑 1:"双赛道"是流传最广的误记
常见说法"Event 1(FHR 精度)与 Event 2(直接 FECG 信号提取)双赛道"——错在两处:其一,2013 届实际是三对赛事 = Event 1/2/3(开源,隐藏 set C)+ Event 4/5(闭源,set B)+ Event 6(取消);其二,没有任何"直接 FECG 信号提取"赛道——五个赛事全部是 fQRS 定位的衍生量(FHR/FRR/FQT)精度比拼。把"提取出干净的胎儿 ECG 波形"当任务目标去设计实验,会与评测协议完全错位。
坑 2:Event 4 冠军分数有两个"官方"版本
官方成绩页(PhysioNet content 页 Challenge Results 区)写 Andreotti 团队 Event 4 = 18.803 bpm²;官方论文 PDF(CinC 2013;40:149-152)正文写 18.083。两个都是一手来源、互相矛盾,官方从未勘误。本条目正文取成绩页口径;引用时写明出处页面,避免被审稿人按另一口径判错。
坑 3:组织者括号分数不是正式成绩
Behar/Oster/Clifford 的 (179.439)、(20.793)、(153.07)、(29.619)、(4.672) 全部是 unofficial——组织者不得领奖。引用时漏掉"unofficial"括号语义(例如把 179.439 当作 Event 1 官方冠军分)是文献里的真实事故源:官方冠军是 Varanini 团队的 187.091。同理,"其他 unofficial 队"只是缺席 CinC 现场报告而丧失领奖资格,方法上未必弱。
坑 4:‘-’ 与 -32768 是 ADC 无效标记,不是缺失也不是 0
CSV 文本里的 '-'、WFDB .dat 里的 -32768 表示该采样点 ADC 无效(信号超量程或换能器/线缆断开)。三种错误处理:当 NaN 插值(把"断线"变成假信号)、当 0 参与统计(制造伪低幅事件)、当母体 ECG 成分(污染消噪评估)。官方 FAQ 建议二选一:忽略,或作为信号质量特征。现代流水线的正确姿势是单独建 invalid mask 传递给下游。
坑 5:官方页自相矛盾的三处数字
每队条目配额:FAQ 写 8(3 Phase 1 + 5 Phase 2),成绩区写"up to 11";参赛队数:论文 53 队(开源条目提交者),成绩页 60+ 队(总参与);评分记录数:官方 FAQ 描述 Event 1 每条至多 16 个 FHR 测量点,但论文正文另有"12 个"的表述(IPFM 窗细节两处口径不一)。三处矛盾官方均未勘误——引用任何官方数字前先确认出自哪一页。
坑 6:score-2013.c 是 13 字节占位文件
1.0.0 仓库根目录的 score-2013.c 只有 13 字节(占位桩),照着它写评分代码会当场失败。真实的评分实现在两处:MATLAB 路线 physionet2013.m / genresults.m(仓库内有完整源码)+ WFDB App Toolbox 的 Score2013 JAR(Java)。官方 FAQ 里的 Windows 注意事项(评分需管理员权限生成临时缓存文件)也只在 FAQ 区能找到。
坑 7:下游"弃用记录"口径从 1 条到 7 条不等
官方从未发布 set A 弃用清单,但下游论文有自己的排除惯例:PLOS QRStree(2019)弃 7 条(a33/a38/a47/a52/a54/a71/a74,理由"参考标注不准确");Frontiers in Physiology(2017)与 Andreotti et al. 2016 只弃 a54。同一份 set A,按不同口径是 75/74/68 条。复现下游基准时若不核对排除清单,F1 差异可达个位数百分点——把口径错当方法差是综述写作的高频事故。
坑 8:参考标注是"投票共识"不是仪器真值,且直接 FECG 永远看不到
三层含义:其一,set A 的 .fqrs 是专家+志愿者+算法概率投票的合成物,不是从头皮信号逐拍导出的"金标准"——把它当 100% 真值去算 99% 灵敏度没有意义;其二,挑战中参考标注换过版本(Phase 1 原作者标注 → Phase 2 crowd 版),历史分数与当前文件不完全对应;其三,直接 FECG 参考信号不发布——任何"用直接信号验证标注"的实验设计在挑战数据上都不可行(那是 adfecgdb 独立库的用法)。
坑 9:文件 mtime 2019-04-17 不代表 2019 年改版
PhysioNet 平台迁移后所有 challenge-2013 文件的修改时间戳都是 2019-04-17——这是重传时间,不是数据版本事件。版本链只有 1.0.0(2013-02-21),数据本体十年未变。按 mtime 判断"数据新鲜度"或引用"2019 年版"都是错的;官方引用格式永远写 version 1.0.0。
坑点交叉索引(写作/审稿场景速查)
| 场景 | 相关坑 | 一句话防线 |
|---|---|---|
| 综述里描述赛制 | 坑 1、坑 5 | “五赛事+取消”,队数带口径 |
| 表格里抄官方分数 | 坑 2、坑 3 | Event 4 写 18.803 并注论文口径;括号分标 unofficial |
| 写数据预处理代码 | 坑 4 | -32768/‘-’ 建 invalid mask |
| 搭评分脚本 | 坑 6 | 用 .m 与 JAR,别碰占位 .c |
| 复现下游基准 | 坑 7 | 先核对弃用清单(0/1/7 条三口径) |
| 解释标注来源 | 坑 8 | "众包投票共识"六个字 |
| 写版本与引用 | 坑 9 | version 1.0.0 + 2013-02-21 |
§11 总结
CinC Challenge 2013 用 447 条 1 分钟的短记录干了一件大事:把"非侵入胎儿心电"从各实验室自说自话的小样本演示,拉进了"同一份数据、同一把尺子、公开比分数"的现代基准时代。它的三对赛事设计(宏观 FHR / 逐拍 FRR / 特征 FQT)第一次把"检测器的好坏要拆结构评价"写进了赛题;它的众包标注实验证明了"金标准可以是投票合成的";它的 Event 6 取消演示了基准运营者面对标注覆盖率不足时最体面的退法;它的沙箱与隐藏集设计延续了 2012 届的可复现性雄心——尽管 set C 的永久保密让官方分数成为永远不可复现的历史数字。
对今天的使用者,这个数据集的画像可以压缩成三句话:公开 175 条(75 条带标注)是全部家底;set A + 50 ms 匹配窗 + SE/PPV/F1 是社区默认协议;任何官方分数引用前先核对成绩页与论文的口径差。它不是大数据库,而是一份被时间打磨得越来越清楚的方法学标尺。
条目摘要(供外部引用的整段版本):
PhysioNet/CinC Challenge 2013(第 14 届,Noninvasive Fetal ECG)以 447 条 1 分钟、4 通道、1 kHz 的非侵入母腹心电记录为素材,按 set A(75 条带众包参考标注)/set B(100 条信号公开)/set C(272 条完全隐藏)三分,设立三对共五个赛事(开源赛道 Event 1/2/3 以 FHR/FRR/FQT 精度评测隐藏集,封闭赛道 Event 4/5 评测开放集;Event 6 因 QT 参考不足取消),计分采用 bpm² 均方误差与毫秒均方根差并设零输出惩罚。53 支团队提交 91 条开源条目,Varanini、Podziemski & Gierałtowski 与 Andreotti 团队分获各赛事冠军,组织者 Behar/Oster/Clifford 以 unofficial 括号分同步公开。数据以 ODC-BY 1.0 永久公开(ZIP 280.8 MB,AWS 镜像),官方评分工具与开源条目随包发布;set C 与 set B 参考标注永久保密,使官方分数成为"可信但不可复现"的历史基准。其众包标注方法学、结构化赛事设计与"训练分布不覆盖测试分布"的评测实验,对信号类基准的设计持续产生方法论影响。
FAQ(高频问答 45 问)
Q1:数据在哪个 URL?
https://physionet.org/content/challenge-2013/1.0.0/ ;AWS 镜像 s3://physionet-open/challenge-2013/1.0.0/;旧站存档 https://archive.physionet.org/challenge/2013/。
Q2:需要注册或签 DUA 吗?
不需要。ODC-BY 1.0,公开直链,无任何门槛。
Q3:一共多少条记录?多少公开?
447 条(set A 75 + set B 100 + set C 272);公开 175 条,其中 set A 75 条带参考 fQRS 标注。
Q4:每条记录多长、几通道、多少采样率?
1 分钟、4 通道非侵入腹部 ECG、统一呈现 1 kHz。
Q5:set C 什么时候公开?
永不公开。官方明言与 set B 标注一起永久保密。
Q6:一共有几个赛事?
5 个举办 + 1 个取消:Event 1/2/3(开源,FHR/FRR/FQT,set C)+ Event 4/5(闭源标注,FHR/FRR,set B);Event 6(set B 的 FQT)2013-04-30 取消。
Q7:评分公式?
Event 1/4:FHR 序列均方误差(bpm²),完全无标注记 8000;Event 2/5:RR 间期均方根差(ms),无标注记 200;Event 3:QT 均方根差(ms)。总分 = 逐记录平均,越低越好。
Q8:冠军是谁?
Event 1/2:Varanini 团队(187.091 bpm² / 20.975 ms);Event 3:Podziemski & Gierałtowski(152.71 ms);Event 4/5:Andreotti 团队(18.803 bpm² / 4.337 ms)。
Q9:参考标注怎么来的?
众包(专家+志愿者+算法混合)+ 概率投票算法(Raykar 2010 框架)合成;挑战中途从原作者标注切换到 crowd 版;QT 由 7 名标注者在直接 FECG 的中位心动周期上测量。
Q10:为什么我的 FHR 点数比 60 少那么多?
参考 FHR 用 IPFM 6 秒窗、50% 重叠、掐头去尾、跳过含 RR 空缺的窗——每条 1 分钟记录至多 16 个测量点。
Q11:CSV 里的 ‘-’ 是什么?
ADC 无效采样标记(.dat 里是 -32768):信号超量程或断线。忽略或当信号质量特征,不要当 0 或插值。
Q12:有直接的胎儿头皮 ECG 吗?
没有。直接信号只用于产生参考标注,不随数据发布;需要直接信号要用独立库 adfecgdb(5 名孕妇 × 5 分钟)。
Q13:下游评测的默认协议是什么?
set A 上做交叉验证,检出 fQRS 与参考差 ≤50 ms 记 TP,报 SE/PPV/F1;注意各家弃用记录口径不一(1 到 7 条)。
Q14:能复现官方分数吗?
不能。set C 拿不到、set B 标注保密——任何自称复现官方成绩的说法默认为误报。
Q15:这个数据集和 adfecgdb 什么关系?
447 条中 25 条"Abdominal and Direct FECG"与 adfecgdb 同源(波兰 ITAM Komporel);set A 部分记录直接来自该库;但挑战版统一 1 分钟、去直接导联、标注走众包。
Q16:参赛代码在哪?
仓库 sources/ 目录(按提交账号分目录)+ PhysioNet 赛后发布的顶级开源条目;评分脚本 physionet2013.m / genresults.m 在仓库根目录。
Q17:文献怎么引?
Silva I, et al. Noninvasive Fetal ECG: the PhysioNet/Computing in Cardiology Challenge 2013. Computing in Cardiology 2013;40:149-152. + Goldberger AL, et al. Circulation 2000;101(23):e215-e220。CinC 论文集无 PMID。
Q18:和 2016 届什么关系?
2016 届(胎心健康分类)是胎儿主题的续代,其"人工合成 FECG 组成隐藏集"机制是对 2013 届隐藏集分布外问题的工程化修正。
Q19:数据是什么 license?商用可以吗?
ODC-BY 1.0——可商用、可再分发,唯一义务是署名(引官方论文 + PhysioNet)。
Q20:文件时间戳怎么是 2019 年?
平台迁移重传的 mtime,不是数据版本事件;数据版本只有 1.0.0(2013-02-21)。
Q21:set A 的 75 条里哪几条来自乌克兰、哪几条来自波兰?
官方未发布逐条来源表。唯一可确认的是"Abdominal and Direct FECG"来源共 25 条与 adfecgdb 同源;下游论文靠波形比对(如 Frontiers 2017 提到 set A 部分记录出自 adfecgdb)只能确认零星几条。分层实验请勿假设来源可查。
Q22:a33/a38/a47/a52/a54/a71/a74 这些"坏记录"官方承认吗?
官方从未发布任何弃用声明。"7 条弃用"是 PLOS QRStree(2019)的口径(理由:参考标注不准确),"只弃 a54"是 Frontiers 2017 / Andreotti 2016 的口径。引用哪个口径都要标出处。
Q23:能把 set B 当验证集用吗?
可以只用它的信号做无监督/域适应,但无法本地评分——参考标注保密。论文里写"在 set B 上验证了性能"而拿不出本地评分代码的,都是把 set B 分数当官方给的读数转述。
Q24:FHR 的 16 个测量点是怎么算出来的?
IPFM 模型 + 6 秒窗 + 相邻窗 50% 重叠(3 秒步进):1 分钟有约 18 个窗位,掐掉首尾窗(首末 RR 长度未知)与含 RR 空缺的窗后至多剩 16 个。
Q25:Event 2 的 RR 配对容差 100 ms 是什么意思?
参考 RR 与测试 RR 的起始点相差 ≤100 ms 才配对;配不上的参考间期按测试间期 0 计罚。这是"逐拍位置必须准"的机制化表达。
Q26:一条记录完全检不出胎儿心跳会怎样?
Event 1 该记录记 8000 bpm²(Event 2 记 200 ms)——比任何"检得不准"都重。这是对"宁可不输出"策略的釜底抽薪。
Q27:开源条目能用第三方库吗?
能用开源库(官方点名 WFDB 的 gqrs/sqrs/wqrs 可用于母体 QRS 检测),但语言需预审(2013-04-07 截止)且全部源码必须随条目提交——部分闭源被官方直接拒绝。
Q28:为什么条目要写 stdout 而不是写文件?
官方沙箱重定向 stdout 落盘——保证参赛代码无法写任意路径、无法读官方参考文件,评测环境可控。
Q29:条目能"先学一遍 set A 再跑测试记录"吗?
能(Phase 期间随意用 set A 调参),但运行时逐条独立、不得跨记录共享状态——模型/参数是条目的静态组成部分,运行中不能"边测边学"。
Q30:score-2013.c 为什么是空壳?
13 字节占位文件,真评分在 WFDB App Toolbox 的 Score2013 JAR 与 physionet2013.m。别对着空壳写构建脚本。
Q31:CSV 版与二进制版有区别吗?
官方声明五套打包"contain the same data"——.dat 的 -32768 与 .csv 的 ‘-’ 是同一个无效标记的两种编码;选哪个只影响你的读取代码。
Q32:这套数据能用来做"胎儿 ECG 波形形态学"(P/T 波)研究吗?
标注只覆盖 fQRS 位置与 FHR/FRR/FQT 衍生量——没有 P/T 波参考。做形态学要么自建标注(需声明与官方参考的关系),要么转有直接导联的 adfecgdb(但也只有 QRS 级参考)。
Q33:QT 参考为什么每条只有一个值?
QT 的参考不是逐拍标注,而是"全记录中位心动周期上人工量一次"——每条一个数。所以 Event 3 的任务也是"每条输出一个 QT 中位数估计"。
Q34:2013 届的合成数据是哪 20 条?
论文表 1 只给总数(Artificially Generated FECGs 20),无逐条清单。官方未指认,下游只能按记录名/波形特征猜测——不可作为可靠分组。
Q35:Behar 团队的条目代码在哪?
组织者条目同样走开源通道赛后发布;其方法学后续见 Physiol Meas 2014 特刊系列(含 Behar J 的模拟器论文 PMID 25071094)。
Q36:这个数据集的"后代"是谁?
2016 届挑战赛(胎心健康分类,physionet-cinc-2016)是主题续代——其隐藏集用人工合成 FECG 构成,正是为了解决 2013 届"真实数据隐藏集不可复现"的问题。
Q37:想贡献新标注/新基准怎么办?
PhysioNet 支持社区贡献项目(数据集页时代的 PhysioNetWorks 机制);重标注发布时必须 ODC-BY 兼容并明确声明与官方 crowd 参考的差异口径。
Q38:AWS 镜像的速度和主站一样吗?
s3://physionet-open/challenge-2013/1.0.0/ 是官方 Open Data 同步镜像,内容与主站一致;批量下载优先走镜像(–no-sign-request 免签名)。
Q39:LightWAVE 里能看 set C 吗?
不能。set C 连信号都不存在公开端——LightWAVE 只载入 set A 与 set B。
Q40:一句话总结这个数据集的适用边界?
“175 条公开记录 + 75 条带投票标注 + 永久隐匿的官方答案”——它是胎儿 QRS 检测方法学的公共标尺,不是大样本训练语料,更不是可复现官方分数的评测器。
Q41:参考标注里 N 标记是什么?
官方标注约定里胎儿 QRS 位置用 N 标记(PhysioBank 标注符号体系),RR 序列就是相邻 N 的时间差——读 .fqrs 注释文件时认准 N。
Q42:可以直接用 set A 训练、set B 测试发论文吗?
训练可以,"set B 测试"只能转述官方分数——你没有 set B 真值。论文里写"在 set B 上测试"而报的是自己跑出的数字,属于口径造假。
Q43:Event 1 的 8000 惩罚会让排名失真吗?
它是官方有意的失真:逼参赛者保证每条记录都有输出——宁可低质量也不能空转。这塑造了 2013 届条目"宁可多报不错过"的集体风格。
Q44:这份数据的采样率能当真的 1 kHz 用吗?
呈现口径是 1 kHz;各来源原生设备不同,官方明确"统一呈现(presented as)1000 Hz"。做频谱分析时把"重采样来源"当混叠风险源看待,不要把 1 kHz 当物理事实。
Q45:为什么 4 通道而不是 5 或 8?
官方未给出设计论证;可参照的是同源库 adfecgdb 也是 4 腹联 + 1 头皮的行业配置(绕脐周 4 电极是波兰 ITAM 的标准摆位)。"4 通道下限够用"是合理推断而非官方声明。
事实清单(硬事实 30 条)
- 官方全称:Noninvasive Fetal ECG: The PhysioNet/Computing in Cardiology Challenge 2013。
- 届次:第 14 届 PhysioNet/CinC 挑战赛。
- 数据总量:447 条记录(官方论文表 1)。
- 每条规格:1 分钟、4 通道非侵入腹部 ECG、统一 1 kHz。
- 划分:set A 75 / set B 100 / set C 272。
- set A 构成:初始 25(2013-02-21)+ 扩充 50(2013-04-02)。
- 来源分布:乌克兰 340(76.1%)/ adfecgdb 系 25 / 私有头皮库 48 / 合成 20 / 其他 14。
- 实测 set-a/RECORDS 75 行、set-b/RECORDS 100 行。
- 五个赛事:开源 Event 1/2/3(FHR/FRR/FQT,set C)+ 闭源 Event 4/5(FHR/FRR,set B)。
- Event 6 取消日期:2013-04-30(原因:可靠 QT 参考不足)。
- 计分:Event 1/4 = MSE bpm²(无标注记 8000);Event 2/5 = RMSE ms(记 200);Event 3 = RMSE ms。
- 参考 FHR:IPFM 6 秒窗、50% 重叠、每条至多 16 点。
- RR 配对容差:起始点 100 ms 内。
- 参考标注:众包(专家+志愿者+算法)+ 概率投票(Raykar JMLR 2010 框架)。
- QT 参考:7 名标注者 + 中位心动周期人工测量。
- Event 1 冠军:Varanini 团队 187.091 bpm²;亚军 Podziemski & Gierałtowski 255.989。
- Event 2 冠军:Varanini 团队 20.975 ms。
- Event 3 冠军:Podziemski & Gierałtowski 152.71 ms(仅 6 队参赛、2 队可评)。
- Event 4 冠军:Andreotti 团队 18.803 bpm²(论文 PDF 口径 18.083,双口径存照)。
- Event 5 冠军:Andreotti 团队 4.337 ms。
- Behar/Oster/Clifford unofficial 成绩:179.439 / 20.793 / 153.07 / 29.619 / 4.672。
- 参与规模:91 条开源条目、53 队(论文);60+ 队(成绩页)。
- 配额口径矛盾:FAQ 8 条(3+5)vs 成绩区 11 条。
- 开源条目规则:完整源码、逐条独立、写 stdout、沙箱执行。
- 评分工具:tach/mxm/ann2rr(WFDB)+ custom;MATLAB physionet2013.m;Score2013 JAR。
- score-2013.c 为 13 字节占位文件。
- License:数据 ODC-BY 1.0;参赛论文集 CC BY 3.0。
- 版本链:仅 1.0.0(2013-02-21);文件 mtime 2019-04-17 系平台迁移。
- 全量 ZIP 280.8 MB;set-a.tar.gz 7.9 MB / set-a-ext 12.0 MB / set-b text 版 44.2 MB。
- 官方论文:CinC 2013;40:149-152,ISSN 2325-8861,无 PMID/PMCID。
- 总结综述:Clifford GD, et al. Non-invasive fetal ECG analysis. Physiol Meas 2014;35(8):1521-1536(PMID 25071093)。
- 众包方法学论文:Zhu T, et al. Ann Biomed Eng 2014 Apr(PMID 24368593)。
- 挑战特刊:Physiol Meas Vol 35 Issue 9(2014-08),含 Varanini 冠军条目扩展版(PMID 25070127)与 Jaresova 检测论文(PMID 25070020)。
- 乌克兰数据贡献者:Prof. Vyacheslav Shulgin 与 Dr. Anton Tokarev(哈尔科夫 National Aerospace University)——论文致谢。
- QT 标注协助:Qiao Li、Marisol Martinez Alanis——论文致谢。
- Behar 资助含 MindChild Medical Inc.(胎儿监护设备公司)——论文致谢区。
附录 A:来源与双口径存照
本条目全部事实来自以下一手/二手来源(抓取时点 2026-09-27):
| 来源 | 类型 | URL | 用途 |
|---|---|---|---|
| PhysioNet 数据集页 v1.0.0 | 一手 | https://physionet.org/content/challenge-2013/1.0.0/ | 作者、时间线、赛事定义、FAQ、官方成绩单、许可、文件清单 |
| 官方挑战论文 PDF | 一手 | https://www.physionet.org/files/challenge-2013/1.0.0/papers/0149.pdf | 表 1 来源分布、标注方法、scoring 细节、论文口径成绩 |
| 旧站挑战存档 | 一手 | https://archive.physionet.org/challenge/2013/ | 挑战期原文存档 |
| set-a/set-b RECORDS 实测 | 一手 | https://physionet.org/files/challenge-2013/1.0.0/set-a/RECORDS(75 行)/ set-b/RECORDS(100 行) | 记录数实测 |
| PubMed E-utilities | 一手 | https://eutils.ncbi.nlm.nih.gov/entrez/eutils/(PMID 25071093/25071094/25070127/25070020/24368593 等) | 赛后文献确认 |
| PLOS ONE QRStree(doi:10.1371/journal.pone.0223057) | 二手 | https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0223057 | 下游协议、7 条弃用口径、adfecgdb 对照 |
| Frontiers in Physiology(doi:10.3389/fphys.2017.00277) | 二手 | https://journal.frontiersin.org/article/10.3389/fphys.2017.00277/full | adfecgdb 细节、a54 弃用口径 |
双口径/矛盾存照清单(正文已逐一标注):
- Event 4 冠军分数:成绩页 18.803 vs 论文 18.083(正文取成绩页);
- 参赛队数:论文 53(开源条目队)vs 成绩页 60+(总参与);
- 条目配额:FAQ 8 vs 成绩区 11;
- 论文摘要"187bpm2"系排版挤压,实为 187.091;
- 参考 FHR 每条测量点数:官方 FAQ"至多 16"为主口径;
- set A 弃用记录:QRStree 7 条 vs Frontiers/Andreotti 1 条(官方零声明)。
附录 B:DAIMS 评估全表
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性 | 8 | 官方论文 + PhysioNet 专页 + "fetal ECG"检索生态十年沉淀;CinC 论文无 PMID 略降检索性;slug(cinc-2013)与官方 URL(challenge-2013)双体系需存照 |
| A 可获取性 | 10 | ODC-BY 1.0、无注册无 DUA、ZIP/wget/AWS 三通道、LightWAVE 在线浏览;隐藏集属竞赛设计而非获取门槛——本库最高档 |
| I 可互操作 | 6 | WFDB 标准格式 + CSV 双格式;但无 schema 文件、无官方加载器、无效值语义靠 FAQ 而非元数据传递;跨库(adfecgdb)映射需研究者自理 |
| M 元数据质量 | 7 | 论文表 1 来源分布、成绩单、FAQ 完备;扣分:官方页内部矛盾三处(配额/队数/测量点数)、Event 4 分数双口径、标注版本切换史散落论文 |
| S 可持续性 | 9 | PhysioNet 平台(NIH 资助体系)长期托管、AWS Open Data 镜像、v1.0.0 十余年不变、旧站存档完整 |
| 综合评级 | 7.5/10(AI-Ready 优) | 可获取与可持续顶级;互操作与元数据被"约定靠页面而非 schema"与官方口径矛盾拖低 |
附录 C:逐项证据链自证
| 正文断言 | 证据位置 |
|---|---|
| 447 条 / 表 1 来源分布 / 1 分钟 4 通道 1 kHz | 论文 PDF 第 2 节 Challenge data |
| set A 75 / B 100 / C 272、set A 标注公开 | 数据集页 Challenge Data Sets 区 + 论文第 2 节 |
| 五赛事定义与计分公式(8000/200 惩罚) | 数据集页 Challenge Events and Scoring 区 + 论文第 3 节 |
| Event 6 取消原因原文 | 数据集页 Event 3 小节后官方说明 |
| 官方成绩单全表(Event 1-5 排名) | 数据集页 Challenge Results 区 |
| Behar unofficial 括号分数及理由 | 数据集页 Note on unofficial participants 区 |
| 91 开源条目 / 53 队 | 论文摘要 |
| 60+ 队 / 28 人现场报告 | 数据集页 news 区(2013-10-24 公告) |
| 众包标注 + 概率投票 + Raykar 引文 | 论文第 2.1 节 Reference annotations |
| IPFM 6 秒窗 / 至多 16 点 | 数据集页 Reference annotations 区 |
| Phase 1→Phase 2 标注替换 | 论文第 2.1 节(“During the later stages… replaced”) |
| ‘-’ / -32768 语义 | 数据集页 FAQ |
| stdout 沙箱规则 / 语言预审截止日 | 数据集页 FAQ 与 Entering the Challenge 区 |
| 配额 8 vs 11 | 数据集页 FAQ(8)vs Challenge Results 区(11) |
| ODC-BY 1.0 / CC BY 3.0 | 数据集页 Access 区与 Papers 区 |
| 版本 1.0.0(2013-02-21)/ ZIP 280.8 MB / AWS 镜像 | 数据集页 Versions 与 Files 区 |
| score-2013.c 占位 13 字节 | 数据集页 Files 区文件尺寸列 |
| 文件 mtime 2019-04-17 | 数据集页 Files 区 Modified 列 |
| 乌克兰来源贡献者(Shulgin/Tokarev/哈尔科夫) | 论文致谢区 |
| NIH 资助号 U01-EB-008577 / R01-EB-001659 | 论文致谢区 |
| 两步法综述(子空间/自适应/小波 + 匹配滤波/ESN) | 论文第 5 节 Discussion |
| 下游 50 ms 协议与弃用口径分歧 | PLOS QRStree 正文 Materials 节 / Frontiers 正文 2.3 节 |
| adfecgdb 规格(5 孕妇/5 分钟/Komporel) | Frontiers 正文 2.3 节 |
| Physiol Meas 2014 特刊三篇 PMID | PubMed E-utilities esummary(2026-09-27 实查) |
| Clifford GD 综述页码 35(8):1521-1536 | PubMed esummary 字段 volume=35 issue=8 pages=1521-36(实查) |
| RECORDS 75/100 行实测 | curl 抓取 set-a/RECORDS 与 set-b/RECORDS 后 wc -l(2026-09-27) |
| 官方页无 DOI 标注 | 1.0.0 页面 HTML 内 grep “10.13026” 无命中(2026-09-27) |
| Event 1-5 完整前九名分数 | 数据集页 Challenge Results 区各赛事表格(逐行抓取) |
| LightWAVE 支持 set A/B | 数据集页 Data Sets 区"Explore training set A and test set B using LightWAVE" |
| 中位心动周期软件开源 | 数据集页标注区"The software used to compute the median cycle is available in source form to participants" |
| 语言预审截止 2013-04-07 | 数据集页 Entering the Challenge 区 |
| N 标记约定 | 数据集页标注区"fetal QRS complexes (denoted by N)" |
| Event 3 保密计分记录子集 | 数据集页 Event 3 区"we will not publish a list of records that will be scored" |
附录 D:数据获取决策树与最小代码骨架
需求判断:
├─ 只要复现"官方成绩" ──→ 停:set C 不可得,官方分不可复现(本附录第 0 事实)
├─ 做 fQRS 检测/母体消噪方法学
│ ├─ 训练+自评 ──→ set-a.tar.gz(7.9 MB,含 .fqrs 标注)
│ ├─ 信号-only 泛化测试 ──→ set-b.tar.gz(信号无标注,本地无真值可评)
│ └─ 需要直接 FECG 对照 ──→ 转独立库 adfecgdb(5 孕妇×5 分钟,含头皮导联)
├─ 做 QT 相关 ──→ 仅 Event 3 语义;set A 无公开 QT 参考文件(标注留给官方),只能自建标注
└─ 教学演示 ──→ set-a.tar.gz + physionet2013.m 官方脚本即可跑通全流程
# 最小读取骨架(WFDB 二进制路线;CSV 文本路线可用 pandas 平替)
# pip install wfdb numpy
import wfdb, numpy as np
def load_record(rec_dir: str, name: str):
# 1) 信号:4×60000 数组,1 kHz
sig, fields = wfdb.rdsamp(f"{rec_dir}/{name}")
fs = fields["fs"] # 1000
# 2) ADC 无效点 mask(.dat 中 -32768 → rdsamp 后表现为 NaN)
invalid = np.isnan(sig).any(axis=1) # 坑 4:单独建 mask,勿插值勿当 0
# 3) 参考 fQRS 标注(仅 set A)
ann = wfdb.rdann(f"{rec_dir}/{name}", "fqrs") # .sample = 毫秒→采样点位置
fqrs_ms = ann.sample # 单位为采样点(×1000/fs 得毫秒)
return sig, fs, invalid, fqrs_ms
def to_fhr(fqrs_ms: np.ndarray, win_s=6.0, hop_s=3.0):
# 参考 FHR 派生:6 秒窗、50% 重叠、掐头去尾、跳过空缺窗(坑 5:至多 16 点)
rr = np.diff(fqrs_ms) / 1000.0
out = []
t0 = 0.0
while t0 + win_s <= fqrs_ms[-1] / 1000.0:
n = ((fqrs_ms / 1000.0) > t0) & ((fqrs_ms / 1000.0) < t0 + win_s)
k = n.sum()
if k >= 2 and rr[(n[:-1])].size and (fqrs_ms[:-1][n[:-1]] >= fqrs_ms[0]).all():
span = (fqrs_ms[n][-1] - fqrs_ms[n][0]) / 1000.0
if rr[n[:-1]].min() > 0:
out.append(60.0 * (k - 1) / span if span > 0 else 0.0)
t0 += hop_s
return np.array(out) # 长度 ≤ 16;与官方 tach 的 IPFM 实现有细节差异,仅供流水线演示
CSV 文本路线(无 WFDB 依赖的最小读取,适合快速质检):
# CSV 路线:a01.csv 首两行表头,第三行起 时间秒 + 4 通道
import csv, numpy as np
def load_csv(path: str):
t, ch = [], []
with open(path) as f:
rdr = csv.reader(f)
next(rdr); next(rdr) # 跳过两行表头
for row in rdr:
t.append(float(row[0]))
ch.append([np.nan if v.strip() == "-" else float(v)
for v in row[1:5]]) # '-' → NaN(坑 4:这是 ADC 无效标记)
return np.array(t), np.array(ch) # (60000,), (60000, 4)
def load_fqrs_txt(path: str):
# .fqrs.txt:fQRS 位置的毫秒时间戳列表(每行一个)
with open(path) as f:
return [int(line.strip()) for line in f if line.strip()]
两条路线的选择建议:正式实验用 WFDB 路线(与官方 tach/ann2rr 工具链天然对齐,标注读写无缝);快速质检/教学用 CSV 路线(零依赖、肉眼可查无效标记)。混用两套格式时注意时间单位差:CSV 第一列是秒、.fqrs.txt 是毫秒——差 1000 倍的时间轴事故在学生作业里出镜率极高。
三句使用警告:其一,上面的 to_fhr 是教学骨架不是官方 tach 复刻,正式评测请用 physionet2013.m / Score2013 JAR(坑 6);其二,set A 上报数必须写明弃用清单口径(坑 7);其三,50 ms 匹配窗的 SE/PPV/F1 是下游协议,与官方 bpm²/ms 永远分表呈现(4.3 节)。
附录 E:抓取方法与可复核性声明
本条目全部一手事实的抓取方法(任何持 PhysioNet 访问能力者可按法复核):
- 抓取时点:2026-09-27(UTC+8 凌晨)。
- 抓取工具与反爬:curl 带
Mozilla/5.0User-Agent 拉取 HTML(PhysioNet 页面反爬,裸请求返回空体);PhysioNet 官方文件(RECORDS)与 NCBI E-utilities 直连。 - 核心 URL 清单(全部在正文/附录 A 出现过):
https://physionet.org/content/challenge-2013/1.0.0/(主数据集页,含成绩单与 FAQ)https://www.physionet.org/files/challenge-2013/1.0.0/papers/0149.pdf(官方论文 PDF)https://archive.physionet.org/challenge/2013/(旧站存档)https://physionet.org/files/challenge-2013/1.0.0/set-a/RECORDS(实测 75 行)https://physionet.org/files/challenge-2013/1.0.0/set-b/RECORDS(实测 100 行)- NCBI E-utilities esearch/esummary(PubMed 检索与元数据)
- 实测动作:RECORDS 行数统计(75/100)、1.0.0 文件区尺寸与 mtime 读取、DOI 字样 grep(无命中)、PubMed PMID 批量确认。
- 双口径处理原则:官方来源互相矛盾时不取平均、不择一掩盖——正文取成绩页口径并全程存照(坑 2/坑 5)。
- 诚实声明:set C 构成、逐条来源归属、乌克兰库孕周信息官方未发布,本条目不做推测;凡"下游惯例"(弃用清单等)均标注出处论文而非官方。
附录 F:引用本条目与维护约定
引用格式建议:
千方病案医数集. CinC Challenge 2013 (cinc-2013) — AI-Ready Wikipedia. https://www.qianfanghub.com/ai-ready-dataset/cinc-2013/662 (抓取时点 2026-09-27,依据 PhysioNet challenge-2013 v1.0.0 官方口径)
本条目的三条维护约定(给后续修订者的交接说明):
- 官方口径优先级:官方成绩页 > 官方论文 PDF > 官方 FAQ > 下游论文——两条官方来源冲突时并列存照(现有坑 2/坑 5 的格式),不得择一删除;
- 坑点编号不可重排:坑 1-9 的编号已被 §10 交叉索引表与本库其他条目引用,修订时只增不改号;
- 互链点核对义务:§7 的 rid 对照(cinc-2012=660、cinc-2015=487、physionet-cinc-2016=382、physionet-cinc-2017=162、ptb-xl=70、mit-bih-arrhythmia=69)每次修订需重跑只读 SQL 核对,rid 变更时同步更新。
修订记录:v1(2026-09-27,agentB-cinc2013 初稿,依据 2026-09-27 抓取快照)。
已知边界事项登记(后续修订者优先复核清单):
- 若 PhysioNet 未来为 1.0.0 分配 DOI 或发布 set B 标注/新版本,§1.5 误传表与 §5 许可节需同步更新;
- 若库内 cinc-2014 入库,§7.3 缺口说明需改写为年表补格;
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- cinc-2021 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 评测基准
- apnea-ecg — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 评测基准
- ltafdb — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 评测基准
- cinc-2020 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 评测基准
- cinc-2014 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 评测基准
- qt-database — 共享标签:生理信号 / 心电信号 / 评测基准
- cpsc — 共享标签:生理信号 / 心电信号 / 挑战赛数据集
- hmc-sleep-staging — 共享标签:生理信号 / 心电信号 / 评测基准
- mit-bih-afdb — 共享标签:生理信号 / 心电信号 / 评测基准
- icentia11k — 共享标签:生理信号 / 心电信号 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

