CinC Challenge 2013 (cinc-2013) — AI-Ready Wikipedia

PhysioNet/CinC Challenge 2013——447 条 1 分钟 4 通道非侵入胎儿心电图(FECG),从强母体 ECG 干扰的母腹腹联信号中定位胎儿 QRS 并估计胎心率 FHR、RR 间期与 QT 间期;三对赛事(开源交代码 + 闭源交标注)双轨计分,参考标注由众包概率投票合成,ODC-BY 1.0 全量公开,是非侵入胎儿心电信号处理方法学的标准测试床

来源 5 个来源汇编(论文表 1):Ukraine Non-Invasive FECG 340 条(哈尔科夫航空航天大学)+ Abdominal and Direct FECG 25 条(adfecgdb 系,波兰 ITAM Komporel)+ Private Scalp FECG 48 条 + Artificially Generated FECGs 20 条(合成)+ Non-Invasive FECG 14 条;每条 1 分钟 × 4 通道腹联,统一 1 kHz发布时间: 2026-09-27最后更新: 2026-09-27 阅读 16
CinC Challenge 2013 (cinc-2013) — AI-Ready Wikipedia

信息速览

数据集名称CinC Challenge 2013 (cinc-2013) — AI-Ready Wikipedia
数据类型时序数据,原始数据,生理信号
规模447 条 1 分钟腹联记录(set A 75 + set B 100 + set C 272;公开 175 条,其中 set A 含参考 fQRS 标注)
接入方式5 个来源汇编(论文表 1):Ukraine Non-Invasive FECG 340 条(哈尔科夫航空航天大学)+ Abdominal and Direct FECG 25 条(adfecgdb 系,波兰 ITAM Komporel)+ Private Scalp FECG 48 条 + Artificially Generated FECGs 20 条(合成)+ Non-Invasive FECG 14 条;每条 1 分钟 × 4 通道腹联,统一 1 kHz
AI 就绪度

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 检测方法学论文里出镜率最高的测试床。

导语读法三则:

  1. 只想下数据:直奔 §5 获取与许可——ODC-BY 1.0、无注册门槛、set-a(75 条带标注)与 set-b(100 条无标注)全量公开;但注意 set C 和 set B 标注永远拿不到。
  2. 要跑基准:直奔 §4 与坑 7——官方 bpm²/ms 分数与下游 SE/PPV/F1 完全是两套口径;set A 的"弃用记录"清单在不同论文里从 1 条到 7 条不等,引用前先看清。
  3. 关心标注质量:直奔 §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 读法三则:

  1. 本条目数字来源有三类:官方论文(CinC 2013;40:149-152 + Physiol Meas 2014 总结综述)、PhysioNet 数据集页与官方成绩页(两者有内部矛盾时逐一存照)、下游论文的预处理口径统计——引用时注意区分。
  2. "双赛道"是流传最广的误记:实际是 3 对赛事 = 5 个举办 + 1 个取消(FHR/FRR/FQT × 开源/闭源),没有任何"直接 FECG 信号提取"赛道(坑 1)。
  3. 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 本条目未覆盖之处与延伸阅读

诚实声明本条目的边界——以下主题在本条目里只有指向没有展开:

  1. 母胎 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 区的指定综述)。
  2. IPFM 模型的谱分析原理——见 Berger RD, et al. IEEE TBME 1986;9:900-904(官方 References 区 IPFM 词条)。
  3. FHR 监护的临床史与争议——见 Jenkins HML 1989(J R Soc Med)、Kennedy RG 1998(J R Soc Med)、Neilson JP 的 Cochrane 综述 CD000116(官方 References 区 FHR history/FECG 词条)。
  4. 2016 届胎儿主题续代的完整细节——见库内 physionet-cinc-2016 (382) 条目(若已入库)。
  5. adfecgdb 独立库的完整档案——PhysioNet 独立页面 physionet.org/content/adfecgdb/;波兰 ITAM 的 Komporel 系统细节见 Frontiers 2017(10.3389/fphys.2017.00277)图 2。
  6. 众包聚合的数学框架——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 是统一包装不是统一物理特性。

三个易被忽略的信号层细节:

  1. ADC 无效值:CSV 文本里写 '-'、WFDB 二进制 .dat 里写 -32768,表示该采样点无有效观测(模拟信号超出 ADC 输入范围,或换能器/线缆断开)。官方 FAQ 明确说这是"信号丢失"标记——你可以忽略它,也可以把它当信号质量特征。把它当 0 处理是灾难性错误(坑 4)。
  2. 直接 FECG 不发布:参考标注"通常参考直接 FECG(胎儿头皮电极)产生",但直接信号本身不包含在挑战数据里。你在 set A 里看不到任何头皮导联——这断掉了一条捷径(直接拿直接信号做监督),也是 QT 任务格外难的结构性原因。
  3. 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% 其余散在来源

四个必须刻在脑子里的分布事实:

  1. 乌克兰数据占绝对主体(76%)——set C 272 条的大头几乎必然是乌克兰记录,但官方从未发布 per-set 来源明细,"set C 里乌克兰占多少"属于不可核验信息(待核清单)。
  2. set A 不覆盖全部来源:官方原话"训练集不含测试集的全部来源(does not include examples of all of the sources included in the test sets)“——尤其是乌克兰大库在 set A 里只有少量代表。这是官方有意设计:逼参赛者做出对设备特性漂移鲁棒的方法,同时考察"训练集性能能否外推到未见设备”。
  3. 合成数据只有 20 条且几乎只在测试侧——"用合成数据增强训练"在 2013 年是个被明确测过的自由变量;合成数据的参数已知,是唯一"有真值波形"的子集,但官方并未逐条指认哪 20 条是合成的。
  4. 逐条来源归属官方未发布——下游论文想按来源分层分析只能靠猜或间接证据(如与 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 里凑不出可评子集。

标注流水线的可复现性评估(工程视角的三问三答):

  1. 能从公开信息重建整条标注流水线吗?——不能完整重建。投票框架(Raykar 2010)公开、中位周期软件开源、参与角色(专家/志愿者/算法)公开,但标注者名单、各自标注量、投票权重、质检通过率未发布——"共识的可信度"只能信官方描述,无法独立验算。
  2. 标注与直接 FECG 的一致性能本地验证吗?——对挑战数据不能(直接信号不发布);对 adfecgdb 可以(该库带头皮导联),这是下游论文普遍采用间接验证路径的原因——也是两条库混用事故的源头(§2.6)。
  3. 标注的稳定版本能锁定吗?——只有"最终版"(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 血缘极近,但混用两者是下游论文的高频事故:

  1. 时长不同:adfecgdb 每条 5 分钟(5 名孕 38-40 周孕妇各 1 条);挑战记录统一切/重排为 1 分钟。
  2. 通道构成不同:adfecgdb 每条 4 腹联 + 1 头皮直接 FECG(5 通道);挑战发布版只有 4 腹联,直接 FECG 留作标注参考、不随数据发布。
  3. 标注可用性不同:adfecgdb 的 fQRS 参考直接来自头皮信号;挑战 set A 的标注是众包投票产物。
  4. 采集系统相同:两者腹部信号同出波兰 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 为例走一遍文件结构:

  1. a01.hea:WFDB 头文件——采样率 1000 Hz、4 通道、每通道增益与单位(mV)、ADC 范围、记录时长 60 s。
  2. a01.dat:4 通道交错的 16 位采样值;-32768 = ADC 无效采样。
  3. a01.fqrs(或 .fqrs.txt):fQRS 位置毫秒时间戳(首个 355 ms)——这是参考答案,仅 set A 提供。
  4. a01.csv(文本等价物):第 1-2 行表头,第 3 行起每行"时间(秒), 通道1, 通道2, 通道3, 通道4";‘-’ = 无效。
  5. 从 .fqrs 出发可复算:参考 RR 序列(相邻时间戳差)→ 参考 FHR 序列(IPFM 6 秒窗 50% 重叠、至多 16 点)。

把这套结构翻译进现代流水线的最小映射:记录 → (4×60000 数组, 采样率 mask) + (fQRS 时间戳数组);ADC 无效点单独一个布尔 mask(坑 4:不要当 NaN 也不要当 0)。

2.8 多源异构:统一化的边界在哪里

官方把 5 个来源统一到"1 分钟 × 4 通道 × 1 kHz",但三样东西统一不了,也明确声明不统一:

  1. 频响与噪声底:各设备模拟前端带宽、陷波配置、电极材质不同——同样的 1 kHz 里"高频细节"的含义不同;官方论文原话"differing frequency response, resolution, and configuration"。
  2. 导联几何:电极贴放位置逐来源不同(adfecgdb 系绕脐周、乌克兰库配置未公开)——胎儿 QRS 在各通道的投影幅度分布不可跨记录比较。
  3. 孕周与母胎生理状态:官方未发布任何孕周/临床元数据——"这批记录来自孕多少周的孕妇"在挑战数据上不可回答(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 区):

  1. ‘-’ 与 -32768 的语义:ADC 无效输出(超量程/断线),可忽略或当信号质量特征——不是缺失值也不是 0。
  2. fqrs 数字是毫秒时间戳,不是行号、不是秒、不是 Excel 行号(“There are no MS Excel files in the challenge data sets.”——官方原话的烦躁感隔着十年都能听见)。
  3. 每条记录独立处理:条目软件标注完一条就退出,运行时不得参考其他记录。
  4. 输出写 stdout(开源条目):沙箱会重定向;写文件路径的条目在官方框架里拿不到输出。
  5. 两种标注格式都收:.fqrs 二进制或 .fqrs.txt 文本任选,官方统一转换。
  6. 学习集自评分数不用于排名:官方测试集分数会不同,“(over)trained” 是官方原话。
  7. Event 1 与 Event 2 排名相关性有限:FN/FP 结构决定你可能一好一差(§3.2 的机制)。
  8. 开源条目必须全开源:部分闭源、只给依赖清单的提交被明确拒绝。
  9. 配额与频率:每周至多 1 条;Phase 1 未用完的名额不能滚存到 Phase 2(FAQ 原文"No")。
  10. 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 官方自己承认的局限(论文原文级)

把官方论文/页面里自认的局限汇成一列(这是最不容易被审稿人挑战的引用素材):

  1. “训练集(set A)不含测试集的全部来源”——分布外是设计而非缺陷,但后果由参赛者承担(官方页 Data Sets 区);
  2. “可靠的 QT 参考记录比预期少”——Event 6 取消的官方理由(官方页 Event 3 区);
  3. “参考标注通常参考直接 FECG”——"usually"一词自认了并非全部记录都有直接参考兜底(官方页标注区);
  4. “标注在挑战中被替换过”——Phase 1/Phase 2 参考不同(论文 2.1 节);
  5. “学习集自评与官方测试分会不同,尤其 (over)trained”——官方 FAQ 原话。

这五条合起来的画像:官方对自己的数据边界非常坦率——引用局限时直接引官方原文,比转述二手综述安全得多。

2.14 一个研究者的三天上手路径

第一天:摸清文件与真值边界(半天足够)

  1. 下载 set-a.tar.gz(7.9 MB)+ set-a-ext.tar.gz(12.0 MB),解压合并出 75 条完整 set A(只用 set-a.tar.gz 会只有 25 条——最高频的新手事故);
  2. 用 LightWAVE 在线看 3 条记录(a01/a33/a71——后者是"弃用清单"成员,直观感受标注争议的形态);
  3. 读 .hea 确认增益与单位,用 CSV 版抽 3 条核对 -32768/‘-’ 的无效段分布;
  4. 用 .fqrs.txt 复算一条记录的 RR 序列与 FHR 序列,对照"至多 16 点"上限自检。

第二天:搭评测协议(把 50 ms 窗 SE/PPV/F1 跑通)

  1. 决定弃用口径(0/1/7 条三选一并在文档里声明,§2.6、坑 7);
  2. 实现 50 ms 匹配窗的 TP/FP/FN 统计——注意先匹配再算指标,匹配窗的锚点是参考 fQRS;
  3. 跑一个最笨基线(例如"单通道阈值检测")确认流水线正确:这个基线 F1 低是正常的,跑出 0 或跑崩才是流水线问题;
  4. 把 set A 按"奇偶记录"切成两半做 sanity check 交叉验证,确认方差量级合理。

第三天:正式实验(方法学或建模)

  1. 方法侧:按官方论文方法分类学(§4.6)选对位基线,在弃用口径一致的 set A 上对比;
  2. 建模侧:任何端到端模型务必补"分布感知"分析——按记录分段报数(受 adfecgdb 影响的记录 vs 其余),暴露 2013 届埋下的分布外结构;
  3. 收尾三件套:声明数据版本(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) 奖状
6 胎儿 QT 估计(set B) — — — 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 届"交源代码"的基础上进一步收紧:

  1. 完整源码:必须提交真实源代码(“the actual source code, not just a reference to it”),禁止闭源调用未发布函数;开源赛事"no"是官方对"部分闭源"问询的直接回答。
  2. 语言白名单:ANSI/ISO C 或 MATLAB/Octave m-code 为默认;C++/Java/Perl/Python/R 需在 2013-04-07 前向组织者预审报备。
  3. stdout 而非文件:条目必须把标注写到标准输出——官方测试框架重定向 stdout 落盘。原因官方也写得直白:这样他们才能把你的代码扔进安全沙箱跑。
  4. 逐条独立:每条记录独立调用、独立退出,禁止跨记录缓存状态——防"用测试集互信息作弊"。
  5. 评分工具链: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 胶水 逐记录计分、汇总平均、无匹配罚分 逐记录分数 → 赛事总分

自助评分两条路:

  1. MATLAB 路线:安装 WFDB App Toolbox → score2013('a01','fqrs','entry1') 或 genresults.m 批量跑;要求测试目录里数据(.dat/.hea)、参考(.fqrs)、条目输出(.entry1)四件套齐备。
  2. 命令行路线: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),规则侧还有一批高频问答值得摘录:

  1. Phase 1 没用完的条目名额能滚存吗?——官方原话 “No”:制度设计明确鼓励"持续迭代"而非"期末突击";官方观察是最成功的参赛者都是"吃透每次反馈再交下一条"。
  2. 标注要写文件还是 stdout?——开源赛事官方沙箱重定向 stdout;闭源赛事(set B 标注)你自己跑自己的软件,文件/stdout 均可。
  3. 可以用开源库吗?——可以,官方点名 WFDB 的 gqrs/sqrs/wqrs 可作母体 QRS 检测器;语言预审截止 2013-04-07。
  4. 为什么闭源赛事也要交 CinC 摘要?——领奖资格的通用条件:注册、Phase 1 条目、摘要、Phase 2 条目、CinC 现场报告,缺一不可(非正式/unofficial 参与不受限)。
  5. 官方评分多久出?——通常一两天,大截止日附近更久;Event 4/5 有自动评分器即时出分(Phase 2 起)。
  6. 评分会公布哪些记录被计 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

三组读数要点:

  1. 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 没见过的乌克兰来源。这是官方"训练集分布不覆盖测试集"设计的直接证据。
  2. Event 3 的参与塌缩:仅 6 队提交、可评 2 队——QT 任务的标注覆盖率塌陷(3.6 节)传导到了参赛意愿。
  3. 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"时的默认含义。

三条混排禁令:

  1. 官方 Event 分数与下游 F1 不在同一量纲、不在同一数据集——混排在同一张表里是最常见引用事故;
  2. 下游论文对 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);
  3. 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 回声状态循环神经网络做序列判别
多检测器投票 多个检测器输出做一致性融合

顶级队伍的两个共性(官方原文总结):

  1. 不押单一消除器——官方点名的 Behar 条目就是"几种母体消除方法的融合";
  2. 自适应 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 发布

场景三:引用时必须附带的三条脚注

  1. Event 4 冠军分数另有论文口径 18.083(坑 2);
  2. 括号分数为 unofficial(坑 3);
  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

补充三件小事:

  1. HTML 页面要带浏览器 UA,数据文件一般不用——反爬只挡页面请求;
  2. 只需要 set A 标注的轻量路径:https://physionet.org/files/challenge-2013/1.0.0/set-a/RECORDS(实测 75 行)+ 逐条 .fqrs.txt;
  3. 在线浏览不下载:官方 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 永远拿不到的三样东西(官方明言)

  1. set C 272 条:信号与标注全部保密——官方 Event 1/2/3 分数第三方永远无法复现;
  2. set B 参考标注:信号公开但答案保密——Event 4/5 同样只能信官方成绩表;
  3. 直接 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 区):
    1. 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.
    2. 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 对方法学社区的四个沉淀

  1. set A 成为胎儿 QRS 检测的事实标准测试床:50 ms 匹配窗 + SE/PPV/F1 的协议在下游沿用至今(QRStree 2019 等仍在报 set A 成绩);
  2. 众包标注方法学出圈:概率投票合成参考标注的流程(Raykar 框架 + 挑战实践)在 Zhu et al. 2014 正式发表后,被后续生理信号标注项目广泛借鉴——2013 届是一次"用挑战赛孵化标注方法学"的成功实验;
  3. 母体消噪方法学的公开对照系:子空间投影、自适应滤波、小波、多法融合在同一数据上可比——这在 2013 年之前没有公共数据支撑;
  4. "训练分布不覆盖测试分布"的正面示范:官方把多源异构设备的现实搬进赛题设计,逼出的鲁棒性讨论比任何综述论文都直接。

四个沉淀各有一个可验证的"存在证据":沉淀 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 里额外读出什么"搭好尺子。

临床转译的三层距离(官方材料里可拼出的全图):

  1. 信号层 → 指标层:fQRS 定位 → FHR/FRR/FQT 可靠测量——2013 届解决的是这一层的"测量精度基准化";
  2. 指标层 → 判读层:FHR 曲线变异/减速模式的临床分型——这一层依赖更长的记录与判读标准研究,1 分钟片段帮不上忙,官方论文也明确不涉足;
  3. 判读层 → 决策层:分型如何改变产程处置并真正改善结局——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 检索路径建议

  1. 从"挑战赛系列"检索:cinc-2012 (660) → cinc-2013(本条目)→ cinc-2015 (487) → physionet-cinc-2016 (382) → physionet-cinc-2017 (162)——五连读可见 PhysioNet 评分协议从"分类分数"到"逐拍误差"再到"分类+固定测试集公开化"的十年演化;
  2. 从"胎儿/产前"检索:本条目是库内胎儿生理信号的锚点;physionet-cinc-2016 (382) 是胎儿主题的续代;对照成人 ECG 参考 ptb-xl (70) 与 mit-bih-arrhythmia (69);
  3. 从"盲源分离/信号消噪"检索:本条目(母体 ECG 消除是必经第一步)+ mit-bih-arrhythmia (69)(逐拍检测协议)构成方法学对照组;
  4. 对比钩子(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 届在这条线上是"任务从分类转向检测"的枢纽。

联合实验三则:

  1. 跨库域适应实验:用 adfecgdb(有直接参考)预训练/验证 → set A(挑战协议)测试,模拟"理想信号 → 野外信号"的域迁移;需处理两库时长(5 min vs 1 min)与通道(5 vs 4)差异。
  2. 成人检测器移植实验:mit-bih-arrhythmia 上训练的 QRS 检测器直接用到 set A,测成人→胎儿的零样本迁移落差(胎儿 QRS 幅值低一个量级、频带更高)——这是检验"检测器到底学到了什么"的天然探针。
  3. 跨届评测协议对比实验:同一套 fQRS 检测器分别按 2013 届官方口径(bpm²/ms)与下游口径(50 ms 窗 F1)打分,量化"评测协议选择"对方法排名的扰动——动线三的实证版。

联合实验的伦理与许可前置检查:三则实验涉及的三个库全部 ODC-BY/开放许可(adfecgdb 亦为 PhysioNet 开放库),合并分析无许可冲突;唯一义务是分别署名各库官方论文——这在动线二、三里意味着一次实验要挂 2-3 条 PhysioNet 引用,属于"许可以外的成本",写论文前先把引用预算排好。

§8 方法学启示:四条可迁移的经验

  1. 评测设计要"拆结构"而不是"求总":2013 届把同一份 fQRS 检测拆成 FHR(宏观统计)与 FRR(逐拍位置)两个赛事,官方 FAQ 甚至主动解释了"为什么一个算法可能一头好一头差"——聚合指标掩盖 FN/FP 结构差异,是所有检测类评测的通病;两个互补赛事比一个综合分信息量大得多。
  2. 隐藏集的"分布外"要当特性来设计,而不是当缺陷来补:官方故意让 set A 不覆盖全部来源,set C 里塞了 76% 占比来源库的大量未见设备记录——set B/C 分数差(18.803 vs 187.091)就是分布外惩罚的直接测量。今天的"OOD 泛化"讨论在 2013 年的赛题设计里已有完整预演。
  3. 标注不足时,公开取消赛事比硬评更保公信力:Event 6 的取消流程(发现 QT 参考覆盖率不足 → 优先保障 set A/C → 42 天内公开宣布取消)是基准运营的教科书操作;对比之下,很多当代基准选择"缩小 silently 评分集",让参赛者误判自己的成绩波动。
  4. 组织者下场要物理隔离: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 条)

  1. 官方全称:Noninvasive Fetal ECG: The PhysioNet/Computing in Cardiology Challenge 2013。
  2. 届次:第 14 届 PhysioNet/CinC 挑战赛。
  3. 数据总量:447 条记录(官方论文表 1)。
  4. 每条规格:1 分钟、4 通道非侵入腹部 ECG、统一 1 kHz。
  5. 划分:set A 75 / set B 100 / set C 272。
  6. set A 构成:初始 25(2013-02-21)+ 扩充 50(2013-04-02)。
  7. 来源分布:乌克兰 340(76.1%)/ adfecgdb 系 25 / 私有头皮库 48 / 合成 20 / 其他 14。
  8. 实测 set-a/RECORDS 75 行、set-b/RECORDS 100 行。
  9. 五个赛事:开源 Event 1/2/3(FHR/FRR/FQT,set C)+ 闭源 Event 4/5(FHR/FRR,set B)。
  10. Event 6 取消日期:2013-04-30(原因:可靠 QT 参考不足)。
  11. 计分:Event 1/4 = MSE bpm²(无标注记 8000);Event 2/5 = RMSE ms(记 200);Event 3 = RMSE ms。
  12. 参考 FHR:IPFM 6 秒窗、50% 重叠、每条至多 16 点。
  13. RR 配对容差:起始点 100 ms 内。
  14. 参考标注:众包(专家+志愿者+算法)+ 概率投票(Raykar JMLR 2010 框架)。
  15. QT 参考:7 名标注者 + 中位心动周期人工测量。
  16. Event 1 冠军:Varanini 团队 187.091 bpm²;亚军 Podziemski & Gierałtowski 255.989。
  17. Event 2 冠军:Varanini 团队 20.975 ms。
  18. Event 3 冠军:Podziemski & Gierałtowski 152.71 ms(仅 6 队参赛、2 队可评)。
  19. Event 4 冠军:Andreotti 团队 18.803 bpm²(论文 PDF 口径 18.083,双口径存照)。
  20. Event 5 冠军:Andreotti 团队 4.337 ms。
  21. Behar/Oster/Clifford unofficial 成绩:179.439 / 20.793 / 153.07 / 29.619 / 4.672。
  22. 参与规模:91 条开源条目、53 队(论文);60+ 队(成绩页)。
  23. 配额口径矛盾:FAQ 8 条(3+5)vs 成绩区 11 条。
  24. 开源条目规则:完整源码、逐条独立、写 stdout、沙箱执行。
  25. 评分工具:tach/mxm/ann2rr(WFDB)+ custom;MATLAB physionet2013.m;Score2013 JAR。
  26. score-2013.c 为 13 字节占位文件。
  27. License:数据 ODC-BY 1.0;参赛论文集 CC BY 3.0。
  28. 版本链:仅 1.0.0(2013-02-21);文件 mtime 2019-04-17 系平台迁移。
  29. 全量 ZIP 280.8 MB;set-a.tar.gz 7.9 MB / set-a-ext 12.0 MB / set-b text 版 44.2 MB。
  30. 官方论文:CinC 2013;40:149-152,ISSN 2325-8861,无 PMID/PMCID。
  31. 总结综述:Clifford GD, et al. Non-invasive fetal ECG analysis. Physiol Meas 2014;35(8):1521-1536(PMID 25071093)。
  32. 众包方法学论文:Zhu T, et al. Ann Biomed Eng 2014 Apr(PMID 24368593)。
  33. 挑战特刊:Physiol Meas Vol 35 Issue 9(2014-08),含 Varanini 冠军条目扩展版(PMID 25070127)与 Jaresova 检测论文(PMID 25070020)。
  34. 乌克兰数据贡献者:Prof. Vyacheslav Shulgin 与 Dr. Anton Tokarev(哈尔科夫 National Aerospace University)——论文致谢。
  35. QT 标注协助:Qiao Li、Marisol Martinez Alanis——论文致谢。
  36. 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 弃用口径

双口径/矛盾存照清单(正文已逐一标注):

  1. Event 4 冠军分数:成绩页 18.803 vs 论文 18.083(正文取成绩页);
  2. 参赛队数:论文 53(开源条目队)vs 成绩页 60+(总参与);
  3. 条目配额:FAQ 8 vs 成绩区 11;
  4. 论文摘要"187bpm2"系排版挤压,实为 187.091;
  5. 参考 FHR 每条测量点数:官方 FAQ"至多 16"为主口径;
  6. 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 访问能力者可按法复核):

  1. 抓取时点:2026-09-27(UTC+8 凌晨)。
  2. 抓取工具与反爬:curl 带 Mozilla/5.0 User-Agent 拉取 HTML(PhysioNet 页面反爬,裸请求返回空体);PhysioNet 官方文件(RECORDS)与 NCBI E-utilities 直连。
  3. 核心 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 检索与元数据)
  4. 实测动作:RECORDS 行数统计(75/100)、1.0.0 文件区尺寸与 mtime 读取、DOI 字样 grep(无命中)、PubMed PMID 批量确认。
  5. 双口径处理原则:官方来源互相矛盾时不取平均、不择一掩盖——正文取成绩页口径并全程存照(坑 2/坑 5)。
  6. 诚实声明: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 官方口径)

本条目的三条维护约定(给后续修订者的交接说明):

  1. 官方口径优先级:官方成绩页 > 官方论文 PDF > 官方 FAQ > 下游论文——两条官方来源冲突时并列存照(现有坑 2/坑 5 的格式),不得择一删除;
  2. 坑点编号不可重排:坑 1-9 的编号已被 §10 交叉索引表与本库其他条目引用,修订时只增不改号;
  3. 互链点核对义务:§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 抓取快照)。

已知边界事项登记(后续修订者优先复核清单):

  1. 若 PhysioNet 未来为 1.0.0 分配 DOI 或发布 set B 标注/新版本,§1.5 误传表与 §5 许可节需同步更新;
  2. 若库内 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 — 共享标签:生理信号 / 心电信号 / 评测基准

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

返回 AI-Ready 数据集