信息速览
INFOBOX — LUDB 一屏速览
维度 内容 本质 ECG 波形分界(delineation)验证数据库——200 条 10 秒 12 导联 ECG,逐导联人工标注 P/QRS/T 全称 Lobachevsky University Electrocardiography Database(罗巴切夫斯基大学心电图数据库) 团队 下诺夫哥罗德国立罗巴切夫斯基大学 IITMM;数据采自 Nizhny Novgorod City Hospital No 5 论文 IEEE Access 2020;8:186181-186190(doi:10.1109/ACCESS.2020.3029211);arXiv:1809.03393(2018 首发) 托管 PhysioNet,version 1.0.1(Published Jan. 19, 2021;DOI 10.13026/eegm-h675) 规模 200 记录 / 200 受试者;10 秒;12 导联;500 Hz 标注量 58,429 个波形=16,797 P + 21,966 QRS + 19,666 T(全 12 导联独立计) 采集设备 Schiller Cardiovit AT-101 心电图机;2017–2018 人群 年龄 11 岁–>89 岁(平均 52);85 女 / 115 男;含健康志愿者、患者、起搏器携带者 诊断体系 8 大类多类多标签(心律/心电轴/传导异常/期前收缩/肥厚/起搏/缺血/非特异性复极异常) 任务 ECG wave delineation(波形分界)+ 心律失常分类(arrhythmia classification) 许可 ODC-By 1.0,PhysioNet 完全开放直链(无申请、无 gated) 格式 WFDB-compatible(.hea/.dat/.atr)+ ludb.csv 库内互链 QT-Database(rid 122)、MIT-BIH Arrhythmia(rid 69)、MIT-BIH AFDB(rid 115)、MIMIC-IV-ECG(rid 172)
心电图波形分界(ECG delineation)是心电分析最底层的一步:在一条连续信号上,精确找出每一个 P 波、QRS 复合波和 T 波从哪里开始、峰在哪里、到哪里结束。这个"切点"的精度直接决定后续心率、PR 间期、QT 间期、ST 段等一切参数的准确性。LUDB(Lobachevsky University Electrocardiography Database)正是为解决"没有权威黄金标准可供对照"这一瓶颈而生:它把 200 条 12 导联 ECG 的每一个波形边界都交由持证心内科医生逐导联手工标出,并用 Open Data Commons Attribution 协议在 PhysioNet 上完全开放。
导语读法三则:
- 只想下数据:直奔 §6 获取与许可——ODC-By 1.0,PhysioNet 直链,无需申请,注意 cite 两个 DOI(数据集 + 论文)。
- 关心标注质量:直奔 §3 标注体系与 §4 数据构成——58,429 个逐导联独立标注是它区别于 MIT-BIH(仅标 QRS)与 QTDB(有未标复合波)的核心卖点。
- 做分界/分类算法:直奔 §5 任务与基准——分界 F1 达 97.8%–99.9% 的公开纪录,以及社区如何在小样本上做交叉验证。
§0 导读:这个数据集解决什么问题
在心电图自动分析领域,验证一套算法"标得准不准"比开发算法本身更棘手。难点在于没有权威答案可供对照:算法说 P 波在第 120 ms 开始,可"正确"的答案是什么?如果这个基准本身是机器生成的、或由不具资质的人标注的、或只覆盖部分波形,那么算法做得再好也无从度量。LUDB 论文开篇即指出这一痛点:可用的公开集合中,MIT-BIH Arrhythmia Database 与 European ST-T Database 只标了 QRS 复合波,而 QT Database 虽含 P、QRS、T 三类标注,却存在若干未标注的复合波。换句话说,没有一个现成数据库能提供"全波形、无缺口、逐导联、专家级"的完整黄金标准。
LUDB 的回答分三层。第一层是覆盖完整性:200 条记录、全部 12 导联、每一个 P/QRS/T 波形的起点与峰值与终点全部标出,全库 58,429 个标注波形,不留缺口。第二层是标注权威性:由持证心内科医生(certified cardiologists)对每条信号逐导联目视检查、独立标注,而非依赖自动检测结果二次修正。第三层是任务对齐性:数据采集与标注专门为"波形分界"这一任务设计,同时附 8 大类多类多标签诊断,让分界与分类两个任务能在同一批数据上耦合验证。
LUDB 的定位因此非常清晰:它不是一个用于训练大规模心律失常分类器的大数据集(那更适合 MIMIC-IV-ECG 或 CinC 挑战赛数据),而是一个小规模、高精度、专供验证的黄金标准库——学术界常用它作为"测试集"来考核一个分界算法是否达标,正如论文标题所言是"validation tool"(验证工具)。
§0 读法三则:
- 这个条目是"数据 + 方法论文 + 验证基准"三合一:本体是 200 条精标记录,论文是算法案例研究,实际角色是社区通用的分界测试集——三者共用同一份数据。
- 全部硬数字(200 记录、58429 波形、500 Hz)均经 PhysioNet 摘要、README、arXiv 摘要三源互证;节律/疾病分布存在 README 官方表与 ECGBench 重算表两口径,已在坑 5 存照。
- 检索时注意缩写是 LUDB 而非 LUBD;同时"ECG delineation database"是一个任务类别词(PhysioNet 上有 topic=delineation 标签页),不要把类别当成 LUDB 的别名。
§1 数据集速览:十问十答
Q1:LUDB 的"200 条"是什么规模?
200 条记录对应 200 名受试者,1 记录/人。每条是 10 秒的 12 导联 ECG。与万级记录的 MIMIC-IV-ECG(rid 172)相比,这是一个小而精的库:它的价值不在样本量,而在每一条记录都带完整、无缺口、专家级的人工波形分界标注。
Q2:它在 PhysioNet 上怎么放?
PhysioNet 托管,版本 1.0.1,Published Jan. 19, 2021,DOI 10.13026/eegm-h675,RRID:SCR_007345。属于 PhysioNet 的 Open Access 资源,无需注册、无需申请。
Q3:信号规格是什么?
10 秒时长,标准 12 导联(i, ii, iii, avr, avl, avf, v1–v6),采样率 500 samples/second,由 Schiller Cardiovit AT-101 心电图机采集,数据采集于 2017–2018 年。
Q4:标注了什么?
对每一条记录的每一个导联,独立标注 P 波、T 波的边界与峰值,以及 QRS 复合波的边界。全库合计 58,429 个标注波形:16,797 个 P 波、21,966 个 QRS 复合波、19,666 个 T 波(若把 12 导联分别独立计)。标注符号约定为 ( 起点、) 终点、p/N/t 分别为 P/QRS/T 峰值。
Q5:谁标注的,可靠吗?
由持证心内科医生(certified cardiologists)通过目视检查逐导联完成,独立于各导联。记录由专业医务人员(功能诊断护士)采集。所有志愿者在采集前提供知情同意;研究经罗巴切夫斯基大学 IRB 批准(#23,2017 年 10 月 19 日)。
Q6:除了波形边界,还有什么标签?
每条记录附诊断分类,共 8 大类多类多标签:心律(Heart rhythms)、心电轴(Electric axis of the heart)、传导异常(Conduction abnormalities)、期前收缩(Extrasystoles)、肥厚(Hypertrophies)、心脏起搏(Cardiac pacing)、缺血(Ischemia)、非特异性复极异常(Non-specific repolarization abnormalities),另加"其他状态"(早期复极综合征 9 例)。同一患者可有多类多诊断。
Q7:人群构成如何?
年龄从 11 岁到 >89 岁(官方 README 记 11–90 岁),平均 52 岁;性别 85 女 / 115 男。人群包含健康志愿者、各类心血管疾病患者,部分患者携带起搏器(心电轴表中 10 例标记为起搏器所致"None")。
Q8:许可和获取方式?
ODC-By 1.0(Open Data Commons Attribution License),完全开放直链。使用时须同时引用数据集 DOI(10.13026/eegm-h675)、原论文(IEEE Access 2020)以及 PhysioNet 平台的标准引用。
Q9:用什么格式、怎么读?
存储为 WFDB-compatible 格式,支持 WFDB Python Toolbox(pip install wfdb)或 WFDB Software Package 读取。每条记录含 .hea(头文件)、.dat(信号)、12 个逐导联标注文件;1.0.1 版新增 ludb.csv 聚合表。
Q10:它和 QT Database 有什么区别?
两者都提供 P/QRS/T 三类标注,但 QTDB 有若干未标注复合波,而 LUDB 覆盖每条记录的全部波形、且逐导联独立标注。LUDB 论文的出发点就是弥补 QTDB 等前代库"标注不彻底"的缺陷。QT-Database 在本库内为 rid 122,可对照阅读。
§2 数据构成与规格
2.1 规模、来源与机构构成
LUDB 的全部数据来自一次单中心采集:2017–2018 年间,在俄罗斯下诺夫哥罗德第 5 市立临床医院(Nizhny Novgorod City Hospital No 5)采集 200 条 10 秒 12 导联 ECG,采集对象为健康志愿者与各类心血管疾病患者。数据采集属于罗巴切夫斯基大学 Cyberheart 项目,受俄罗斯联邦教育部资助(合同号 No. 02.G25.31.0157 of 01.12.2015)。
承载机构是下诺夫哥罗德国立罗巴切夫斯基大学信息技术、数学与力学研究所(Institute of Information Technology, Mathematics and Mechanics, Nizhny Novgorod Lobachevsky State University)。手工标注与诊断由下诺夫哥罗德的医学机构医生完成。这种"大学研究机构 + 市立临床医院"的双主体结构,是俄罗斯学术数据集常见的采集模式,也决定了 LUDB 的单一中心特征(§10 坑 4)。
规模一句话概括:200 条记录 = 200 名受试者 = 200 条 10 秒 12 导联信号 = 58,429 个逐导联人工标注波形。
2.2 信号规格与文件结构
| 规格项 | 数值 |
|---|---|
| 记录数 | 200 |
| 每条时长 | 10 秒 |
| 导联数 | 12(i, ii, iii, avr, avl, avf, v1, v2, v3, v4, v5, v6) |
| 采样率 | 500 samples/second |
| 采集设备 | Schiller Cardiovit AT-101 心电图机 |
| 存储格式 | WFDB-compatible |
| 采集年份 | 2017–2018 |
每条记录的文件构成(按 README 官方说明):
.hea—— 头文件,描述信号文件内容、格式及受试者信息(年龄、性别、诊断).dat—— 二进制信号文件- 12 个逐导联标注文件:
.i、.ii、.iii、.avr、.avl、.avf、.v1、.v2、.v3、.v4、.v5、.v6——分别是各导联上人工确定的边界与峰值
此外,1.0.1 版新增 ludb.csv:聚合患者信息的结构化表(性别、年龄、节律类型、心电轴方向、起搏器有无等)。ECGBench 的使用说明特别指出:每条记录的 .hea 注释里携带的是扁平化的自由文本诊断,会丢失类别分组结构;要做结构化分析应读 ludb.csv。这是使用 LUDB 时一个容易踩的细节(§10 坑 6)。
ludb.csv 还有两个数据工程上的"怪癖",社区已有明确处理规范:
- 每个字符串单元格带尾部换行,且多值单元格用换行符而非逗号分隔多个值。若按普通 CSV 读入而不做拆分,Ischemia 类别看起来会像是"40 个类、每类至多 4 条记录",而按原子标签拆分后实为"22 个共现的发现"(finding)。
- 有一个年龄不是数字:记录 34 的年龄原始值记为 “>89”。ECGBench 的加载器在给出数值型 age 的同时,额外暴露
age_raw字段原样保留 “>89”,数值型处则为 NaN。
2.3 标注量:58,429 个波形从哪来
全库标注波形总数为 58,429,拆解如下:
| 波形类型 | 数量 |
|---|---|
| P 波 | 16,797 |
| QRS 复合波 | 21,966 |
| T 波 | 19,666 |
| 合计 | 58,429 |
这个数字是"consider all leads independently"(全 12 导联独立计)的口径——也就是说,同一次心跳的 P 波会在 12 个导联上各标一次,因此 58,429 是"导联 × 波形"的乘积量级,而非唯一波形事件数。这一点在引用时常被误读,检索者须注意(§10 坑 3)。
从每个导联的标注密度看:200 条 × 12 导联 = 2,400 个导联信号,每个导联信号平均标注 58,429 ÷ 2,400 ≈ 24.3 个波形。这符合 10 秒心电信号在正常心率下含约 10–15 个心动周期、每个周期含 1 个 P + 1 个 QRS + 1 个 T 的预期量级(约 30–45 个波形;实际受心率与信号质量影响)。
2.4 诊断分类体系与分布
LUDB 的诊断标签是多类多标签结构,共 8 大类。README 给出的分布表如下(注意:类别间有重叠,同一患者可归入多个类别)。
心律(Rhythms),总 200 条:
| 节律 | 记录数 |
|---|---|
| Sinus rhythm 窦性心律 | 143 |
| Sinus bradycardia 窦性心动过缓 | 25 |
| Atrial fibrillation 房颤 | 15 |
| Sinus arrhythmia 窦性心律不齐 | 8 |
| Sinus tachycardia 窦性心动过速 | 4 |
| Atrial flutter, typical 典型房扑 | 3 |
| Irregular sinus rhythm 不规则窦性心律 | 2 |
心电轴(Electric axis of the heart),总 200 条:
| 心电轴 | 记录数 |
|---|---|
| Normal 正常 | 75 |
| Left axis deviation 电轴左偏 | 66 |
| Vertical 垂直位 | 26 |
| Horizontal 水平位 | 20 |
| Right axis deviation 电轴右偏 | 3 |
| None (pacemaker) 无(起搏器) | 10 |
传导异常(Conduction abnormalities): Sinoatrial blockade, undetermined 1;I degree AV block 10;III degree AV block 5;Incomplete right bundle branch block 29;Incomplete left bundle branch block 6;Left anterior hemiblock 16;Complete right bundle branch block 4;Complete left bundle branch block 4;Non-specific intraventricular conduction delay 4。
期前收缩(Extrasystoles): 房性期前收缩(未定 2 / 低位房性 1 / 左房性 2 / SA 结性 3 / 单发 PAC 4 / 二联律 1 / 四联律 1 / 全律模式 1);室性期前收缩(多形性 2 / RVOT 前壁 3 / RVOT 前间隔 1 / IVS 中段 1 / LVOT-LVS 2 / LV 未定 1 / 单发 PVC 6 / 间位性 PVC 2 / 成对 2)。
肥厚(Hypertrophies): 右房肥厚 1;左房肥厚 102;右房负荷 17;左房负荷 11;左室肥厚 108;右室肥厚 3;左室负荷 11。
缺血(Ischemia): STEMI(前壁 8 / 侧壁 7 / 间隔 8 / 下壁 1 / 心尖 5);Ischemia(前壁 5 / 侧壁 8 / 间隔 4 / 下壁 10 / 后壁 2 / 心尖 6);Scar formation 瘢痕形成(侧壁 3 / 间隔 9 / 下壁 3 / 后壁 6 / 心尖 5);Undefined ischemia/scar/supp.NSTEMI(前壁 12 / 侧壁 16 / 间隔 5 / 下壁 3 / 后壁 4 / 心尖 11)。
非特异性复极异常(Non-specific repolarization abnormalities): 前壁 18;侧壁 13;间隔 15;下壁 19;后壁 9;心尖 11。
心脏起搏(Cardiac pacing): UNIpolar atrial pacing 1;UNIpolar ventricular pacing 6;BIpolar ventricular pacing 2;Biventricular pacing 1;P-synchrony 2。
其他状态(Other states): 早期复极综合征 9。
这张分类表对建模者有个直接启示:只有心律(Rhythms)这一类别覆盖全部 200 条记录,往下越走越稀疏——"其他状态"仅 9 条记录 1 个标签,"期前收缩"是 16 个标签分布在 14 条记录上(标签数比记录数还多)。这意味着在 LUDB 上训练分类器,除心律外的大多数类别样本量都极小(§10 坑 2)。
2.5 与 QT Database 的关系边界
LUDB 论文明确把自己定位为 QT Database(QTDB,本库 rid 122)的改进替代:QTDB 含 P、QRS、T 三类标注,但存在若干未标注的复合波;LUDB 则覆盖全部波形。两者不能混用为同一数据集,但在研究中常被放在一起对比(例如 PMC PMID 39736595 就把 LUDB 与 QTDB 联合用于心律失常分类实验)。若要做跨库对照,须注意两者采样率不同:LUDB 为 500 Hz,QTDB 为 250 Hz。
§3 标注体系:逐导联人工分界如何做到无缺口
3.1 标注人员与独立性设计
LUDB 标注的权威性来自两点:人员资质与标注独立性。
- 人员资质:标注由持证心内科医生(certified cardiologists)完成。信号采集由专业医务人员(功能诊断护士,functional diagnostics nurses)执行。
- 标注独立性:医生对每一条信号、每一个导联分别目视检查(eye inspection of each ECG signal and independently for each of 12 leads)。这意味着同一心跳在 i 导联的 P 波边界,与在 v1 导联的 P 波边界,是两次独立的判断——而不是把一次判断复制到所有导联。
这种设计的好处是忠实反映了临床读图的真实过程(不同导联波形形态本就不同),代价是标注工作量成倍增长——2,400 个导联信号 × 平均 ~24 个波形 = 58,429 次边界判断。
3.2 标注对象与符号约定
每个导联上标注的对象是 P 波、QRS 复合波、T 波三类,每类标注其边界(boundary)与峰值(peak):
| 标记 | 含义 |
|---|---|
( |
波形起点(onset) |
) |
波形终点(offset) |
p |
P 波峰值 |
N |
QRS 复合波峰值 |
t |
T 波峰值 |
(符号约定据 ECGBench / torch-ecg 对 LUDB 标注格式的说明;示例如 wfdb.rdann(f"{data_path}/data/1", "ii") 读第 1 条记录的 ii 导联标注。)
与仅标 QRS 的 MIT-BIH Arrhythmia(rid 69)、European ST-T 相比,LUDB 对 P 波与 T 波的完整边界标注,使它能直接支撑 PR 间期、QT 间期、P 波时限、T 波峰-末间期等参数的算法验证——这正是它作为"分界验证工具"的核心价值。
3.3 起点、峰值、终点三段标注的意义
为什么"边界"比"峰值"更难也更有价值?因为峰值检测(尤其 R 峰)是相对成熟的技术,而波形的起点与终点(onset/offset)才是临床参数计算的争议所在:P 波起点决定 PR 间期起点,QRS 终点(J 点)决定 ST 段测量,T 波终点决定 QT 间期终点。这三个"切点"在噪声、基线漂移、波形融合(如 P 波与 T 波重叠)时极难自动判准,是分界算法的"深水区"。LUDB 逐导联标出三段(onset/peak/offset),恰好把算法的考核点放在了最难、最有临床意义的地方。
PhysioNet 的 Usage Notes 引用文献 [7] 的深度学习分界算法结果:P 波起止 F1 ≥ 97.8%、T 波 ≥ 99.5%、QRS 复合波 ≥ 99.9%——这组数字既展示了当代算法的水平,也侧面说明 P 波边界(97.8%)是三类中最难的。
3.4 诊断标签的标注来源与多标签结构
诊断标签与波形边界是两套标注:波形边界是"几何标注",诊断是"语义标注"。README 中诊断分类表的作者说明:“Manual annotation of ECG signal complexes and diagnostics were performed by doctors of medical organizations in Nizhny Novgorod.”(信号复合波标注与诊断均由下诺夫哥罗德医学机构的医生完成。)
多类多标签结构的临床合理性在于:一个患者可能同时具有"窦性心律 + 左室肥厚 + I 度房室传导阻滞 + 前壁缺血"等多个发现,这些分属不同类别、彼此不互斥。MDPI Algorithms 2025 的论文特别指出,LUDB 因其多类多标签结构而"ideal for training a multi-class multi-label model"(非常适合训练多类多标签模型)——这是 LUDB 区别于单标签分类库的又一定位特征。
§4 任务定义:分界与分类双任务
4.1 主任务:ECG 波形分界(wave delineation)
这是 LUDB 的设计初心。任务定义为:给定一段 ECG 信号(或某一导联信号),自动检测并定位 P 波、QRS 复合波、T 波的起点、峰值、终点。评价指标通常用逐点匹配的 F1-measure(预测的边界点与真值点在容差窗内匹配),或分离的 onset/offset 检测 F1。
torch-ecg 的 LUDB 接口把两个任务并列列出:ECG wave delineation(波形分界)与 ECG arrhythmia classification(心律失常分类)。2020 年论文的案例研究则是用基于小波(wavelet-based)的算法与广泛使用的 ecg-kit 工具做对比,并论证多导联分析相对单导联的优势。
4.2 副任务:心律失常分类(arrhythmia classification)
借助 8 大类诊断标签,LUDB 也可用于分类任务。PMC PMID 39736595 的研究是典型用法:它从 LUDB 中取出 132 条正常窦性心律(NSR)+ 15 条房颤(AF)+ 24 条窦性心动过缓(SBR),仅在 lead II 上做特征工程(时域/频域/时频域浅特征 + 自编码器与卷积层深特征)与特征优化(基于元启发式优化的 TLO),再用 SVM 分类,并与 QTDB 的 13 条室上性心律失常记录合并评估。
这个案例揭示了 LUDB 用于分类时的两个现实约束:
- 类别极不平衡:NSR 132 条 vs AF 15/16 条 vs SBR 24 条,主类占压倒多数,直接训练易偏向多数类。
- 样本量小:仅用 lead II 的数百条 10 秒片段(每条 5,000 点 @500 Hz)做分类,结果对划分方式高度敏感——这正是社区选择交叉验证而非固定划分的原因。
4.3 为什么两个任务能耦合
分界与分类在 LUDB 上耦合,是因为波形边界是分类特征的上游:心率(依赖 R 峰)、PR 间期(依赖 P 起点与 QRS 起点)、QT 间期(依赖 QRS 起点与 T 终点)等分类常用特征,全部由分界结果计算。LUDB 同时提供精确边界与临床诊断,使研究者能直接评估"分界误差如何传导到分类性能"——例如验证当 P 波起点检测偏 10 ms 时,PR 间期分类判据是否失效。这是仅提供单任务标注的库无法做到的。
4.4 任务相关的规格换算
做算法设计时的几个关键换算:每条记录 10 秒 @500 Hz = 5,000 个采样点;每条记录 12 导联,若整条输入则形状为 (12, 5000)(torch-ecg / ECGBench 的默认加载形状,单位毫伏);每条记录约含 10–15 个心动周期,对应约 10–15 组 P-QRS-T。ECGBench 的验证摘要显示:以 500 Hz 版本核算,clean 记录 200 条,100% 通过质量检查,排除 0 条——即 LUDB 全部 200 条记录都通过了该平台的信号质量校验。
4.5 分界算法的评测口径详解
分界任务的评测远非"数对几个点"这么简单,实际研究中涉及多个口径选择,检索者必须明确所用口径:
| 口径 | 说明 | 影响 |
|---|---|---|
| 合并 vs 分离 | onset/offset/peak 合并算一个 F1,还是分开算三个 | 合并口径普遍偏高 |
| 容差窗 | 预测点与真值点在多大时间窗内算匹配(常用 50–150 ms) | 窗越宽容错越高,跨研究不可比 |
| 逐导联 vs 汇总 | 每个导联独立算再平均,还是全导联汇总 | 导联间质量差异会摊平 |
| 微平均 vs 宏平均 | 按波形事件加权,还是按类平均 | 类别不平衡时差异大 |
| 空导联处理 | 某些导联可能无该类波形,如何计分 | 处理不当会虚高 |
PhysioNet Usage Notes 给出文献 [7] 的参考值(P 波起止 ≥97.8%、T 波 ≥99.5%、QRS ≥99.9%)是"起止合并"口径。检索者若要复现对标,必须确认自己的评测口径与之一致,否则数字不可直接比较(§10 坑 7)。
4.6 为什么 QRS 分界比 P/T 容易
从文献 [7] 的 F1 梯度(QRS 99.9% > T 99.5% > P 97.8%)可以读出一个算法规律:波形越"尖锐"、越"高幅",分界越准。QRS 复合波幅值大、斜率陡,起点终点在信号上一目了然;T 波幅值中等、变化平缓,终点常与基线难以区分;P 波幅值最小、最易被噪声淹没,起点尤其难判。这解释了为何 P 波分界始终是分界算法的"最后一公里"。
4.7 从分界到临床参数的误差传导
分界误差如何影响临床解读,是本章最实用的部分:
| 临床参数 | 计算依赖 | 分界误差影响 |
|---|---|---|
| 心率 | R 峰间期 | R 峰检测最稳,影响最小 |
| PR 间期 | P onset → QRS onset | P onset 误差直接传导 |
| QRS 时限 | QRS onset → QRS offset | 两端误差叠加 |
| QT 间期 | QRS onset → T offset | T offset 最难判,误差最大 |
| ST 段 | J 点(QRS offset)→ T onset | 依赖两个易错切点 |
LUDB 逐导联标出全部三类波形的 onset/offset,使研究者能直接量化"分界误差 → 参数误差"的传导链,这是仅标 QRS 的库(如 MIT-BIH)无法支持的分析。
§5 论文与来源:三源互证
5.1 论文双版本
LUDB 有两个互为补充的文献载体,检索者必须分清:
| 载体 | 标题 | 时间 | 标识 |
|---|---|---|---|
| arXiv 预印本 | LUDB: a new open-access validation tool for electrocardiogram delineation algorithms | v1 2018-08-30 / v4 2020-09-16 | arXiv:1809.03393 |
| 期刊正式版 | LUDB: A New Open-Access Validation Tool for Electrocardiogram Delineation Algorithms | 2020 | IEEE Access 8:186181-186190; doi:10.1109/ACCESS.2020.3029211 |
arXiv 版本共 11 页、10 图、6 表,分类 q-bio.QM(定量方法),交叉 eess.SP(信号处理)与 physics.med-ph(医学物理)。v1 于 2018 年 8 月 30 日提交(当时数据集尚在整理),v4 于 2020 年 9 月 16 日修订终稿,与 IEEE Access 发表时间吻合。引用应以 IEEE Access 2020 正式版为准,arXiv 首发 2018 作为时间线存照。
5.2 作者名单双口径存照
| 版本 | 作者 |
|---|---|
| 数据集(PhysioNet) | Kalyakulina, Yusipov, Moskalenko, Nikolskiy, Kosonogov, Zolotykh, Ivanchenko(7 人) |
| IEEE 论文 | Kalyakulina, Yusipov, Moskalenko, Nikolskiy, Kosonogov, Osipov, Zolotykh, Ivanchenko(8 人) |
差异在于 IEEE 论文多出 Grigory V. Osipov。引用数据集用 7 人作者列表,引用论文用 8 人列表。这是同一团队、不同产出物的署名差异,非错误。
5.3 数据集 DOI 与平台信息
- 数据集 DOI:10.13026/eegm-h675(PhysioNet,version 1.0.1)
- PhysioNet RRID:SCR_007345
- 论文 DOI:10.1109/ACCESS.2020.3029211
- 相关早期工作(同团队):Kalyakulina et al., “Finding morphology points of electrocardiographic-signal waves using wavelet analysis,” Radiophysics and Quantum Electronics, 61(8-9), 689-703, 2019。
5.4 引用规范
PhysioNet 页面明确要求,使用 LUDB 时须引用三样:
- 数据集本身:Kalyakulina, A., Yusipov, I., Moskalenko, V., Nikolskiy, A., Kosonogov, K., Zolotykh, N., & Ivanchenko, M. (2021). Lobachevsky University Electrocardiography Database (version 1.0.1). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/eegm-h675
- 原论文:Kalyakulina et al., IEEE Access, vol. 8, pp. 186181-186190, 2020, doi: 10.1109/ACCESS.2020.3029211
- PhysioNet 平台标准引用(当前页面给出版本:Pollard, T., et al. (2026). PhysioNet as a global platform for biomedical research. Nature Health.)
5.5 三源互证结论
对最核心的三个硬数字做三源交叉核验:
| 硬数字 | PhysioNet 摘要 | PhysioNet README | arXiv 摘要 | 结论 |
|---|---|---|---|---|
| 记录数 200 | ✓ | ✓(200 records from 200 subjects) | ✓(200 recordings) | 三源一致 |
| 标注波总数 58429 | — | ✓(21966 QRS / 19666 T / 16797 P) | — | README 单一权威(细分一致) |
| 采样率 500 | — | ✓(500 samples per second) | — | README + MDPI 二次证实 |
| 12 导联 10 秒 | ✓ | ✓ | ✓ | 三源一致 |
P/QRS/T 三个分量的和:16,797 + 21,966 + 19,666 = 58,429,与总量自洽,无内在矛盾。
§6 获取与许可:完全开放直链
6.1 许可条款
LUDB 采用 ODC-By 1.0(Open Data Commons Attribution License,开放数据署名许可)。这是一份宽松的数据许可:允许自由使用、分发、修改、商用,唯一硬性要求是署名(attribution)——即按 §5.4 规范引用数据集与论文。它属于 PhysioNet 的 “Open Access”(开放获取)类别,无需申请、无需注册、无 gated 限制。
许可要点速查:
| 维度 | 条款 |
|---|---|
| 使用 | 自由(含商用) |
| 分发 | 允许 |
| 修改/衍生 | 允许 |
| 署名 | 强制(cite 数据集 DOI + 论文) |
| 获取门槛 | 无(PhysioNet Open Access 直链) |
6.2 获取方式
- 入口:PhysioNet 数据集页
https://physionet.org/content/ludb/1.0.1/ - 数据目录:
.../content/ludb/1.0.1/data/ - 推荐方式:用 WFDB Python Toolbox 直接拉取(
import wfdb; wfdb.dl_database('ludb', dl_dir)或按记录读取wfdb.rdrecord/wfdb.rdann),也可下载 WFDB Software Package 离线读取。 - 读取示例:读第 1 条记录的 ii 导联标注
wfdb.rdann(f"{data_path}/data/1", "ii"),返回符号序列((=起点、)=终点、p/N/t=P/QRS/T 峰值)。
6.3 版本链
| 版本 | 变化 |
|---|---|
| 1.0.0 | 数据集首发 |
| 1.0.1 | 修正波形缩放信息;header 文件增加节律信息;新增 ludb.csv 聚合患者信息表 |
torch-ecg 的文档特别标注了 1.0.0 的一个已知问题:ADC gain 可能错误(“ADC gain might be wrong, either units should be μV, or adc_gain should be 1000 times larger”),该问题在 1.0.1 中修复。因此应优先使用 1.0.1 版本,避免幅值单位错误。
6.4 AI-Ready 评估
从"AI-Ready"(人工智能就绪)视角看,LUDB 的可获取性属于最优一档:许可宽松(ODC-By 1.0)、获取零门槛(PhysioNet 直链)、格式标准化(WFDB,工具链成熟)、标注结构化(逐导联文件 + CSV 聚合表)。它的主要"门槛"不在获取而在使用规范:必须正确理解 58,429 是导联级计数、必须正确解析 ludb.csv 的换行分隔多值、必须注意年龄字段的非数值特例——这些是数据消费层面的坑,而非获取层面的墙。
6.5 使用前置检查清单
下载后建议做以下检查再投入算法开发:
- 确认版本为 1.0.1(避免 1.0.0 的 ADC gain 问题);
- 用 WFDB 读一条记录,核对信号形状为
(12, 5000)、单位与幅值合理; - 读一条记录的某个导联标注,核对符号集含
(/)/p/N/t; - 用 pandas 读
ludb.csv时显式处理尾部换行与换行分隔的多值单元格; - 对年龄字段单独处理记录 34 的 “>89” 特例。
§7 生态与影响
7.1 PhysioNet 生态中的位置
LUDB 是 PhysioNet 上"ECG delineation"主题(topic=delineation)的代表性资源之一。PhysioNet(RRID:SCR_007345)是全球生物医学信号研究的公共平台,LUDB 作为其 Open Access 成员,天然接入 WFDB 工具链与 CinC 挑战赛社区。与它同平台、同为 ECG 资源的库包括:apnea-ecg(rid 658)、mimic-iv-ecg(rid 172)、以及大量 CinC 挑战赛数据(cinc-2011 至 cinc-2023,rid 689/660/662/666/487/382/162/493/656/692/644/499 等)。
7.2 与前代分界数据库的谱系
LUDB 的方法论文献里明确列出了它要超越的三个前代集合:
| 数据库 | 标注覆盖 | 本库 rid |
|---|---|---|
| MIT-BIH Arrhythmia Database | 仅 QRS | rid 69 |
| European ST-T Database | 仅 QRS | 库内未见独立条目 |
| QT Database | P/QRS/T,但有未标复合波 | rid 122 |
LUDB 的差异化定位:全波形 + 逐导联 + 无缺口。这使它在文献中常被当作分界算法的"黄金标准测试集"。
7.3 社区使用证据
三源证实 LUDB 被广泛用于算法研究:
- torch-ecg(DeepPSP 项目)内置
torch_ecg.databases.LUDB加载器,标注其支持 ECG wave delineation 与 ECG arrhythmia classification 两个任务。 - ECGBench(HuggingFace Space vlbthambawita/ECGBench)的 dataset 目录收录 LUDB,提供 10-fold 分层切分工具与统一加载接口
ECGDataset("ludb", ...)。 - MDPI Algorithms 2025;18(11):689(论文 “ECG Signal Analysis and Abnormality Detection Application”)用 LUDB 作 ECG 信号分析与异常检测的数据源,并按年龄/性别分组讨论正常范围。
- PMC PMID 39736595 用 LUDB(NSR 132 / AF 16 / SBR 24,lead II)+ QTDB 做心律失常分类与特征优化。
7.4 对下游任务的影响
LUDB 最深的影响在于它定义了一个可复现的分界评测口径。在它出现前,"分界精度"在不同论文里用不同数据、不同指标、不同判断容差,结果不可比;LUDB 提供了公共数据 + 公共标注 + 公共符号约定,使 F1 这类指标第一次有了可横向比较的基准。这与下诺夫哥罗德团队自身的小波分界算法、以及后续深度学习分界算法(文献 [7] 报告 P/T/QRS F1 分别 ≥97.8%/99.5%/99.9%)共同构成了 ECG 分界从传统信号处理到深度学习的完整演进脉络。
7.5 与库内其他信号库的对照定位
| 库 | 定位 | 规模 | 与 LUDB 关系 |
|---|---|---|---|
| QT-Database(rid 122) | 前代分界库 | 105 条 15 分钟双导联 | LUDB 的直接改进对象(补全未标复合波) |
| MIT-BIH Arrhythmia(rid 69) | 心律失常分类经典库 | 48 条半小时间记录 | 仅标 QRS,分界任务不可用 |
| MIT-BIH AFDB(rid 115) | 房颤专用 | 25 条长程 | 与 LUDB 15 例房颤相关 |
| MIMIC-IV-ECG(rid 172) | 大规模分类库 | 80 万+ 条 | 大而标签粗,与 LUDB 小精标互补 |
| apnea-ecg(rid 658) | 呼吸暂停-心电 | 70 条 | 同为 PhysioNet 生理信号库 |
这张对照表的核心结论:LUDB 在"分界"维度无可替代,在"分类"维度不可单用——分类研究通常把它当精标测试集,而非训练语料。
7.6 学术影响力的量化迹象
LUDB 的影响力可从几个客观迹象读出:
- 被主流工具链内置:torch-ecg(深度学习 ECG 库)与 ECGBench(数据集基准平台)都内置了 LUDB 加载器,这是"事实标准"的一个信号——工具作者愿意为其适配,说明用户需求足够大。
- 被独立论文反复引用为数据源:MDPI Algorithms 2025、PMC PMID 39736595 等独立研究把 LUDB 作为实验数据源,而非仅在文献综述里提一句。
- 被用作深度模型训练集:PhysioNet 明确记载"最精确的分界算法之一用 LUDB 作训练集",说明其标注质量足以支撑训练(尽管样本量小)。
- 成为前代库的替代标准:论文把 LUDB 定位为 QTDB 的改进者,此后综述中讨论"ECG 分界数据库"时 LUDB 成为必列项。
7.7 PhysioNet 平台的"开放获取"治理模式
LUDB 所在的 PhysioNet 采用分层访问治理:一部分资源(如 LUDB)为 Open Access,任何人可直链下载;另一部分为 Restricted Access(需签署数据使用协议、完成 CITI 培训)。LUDB 属于前者,这决定了它的使用体验是"零摩擦"的——无需注册、无需伦理培训证明、无需申请审批,直接 wfdb.dl_database('ludb', ...) 即可。
这一治理模式对 AI-Ready 数据集的意义在于:获取门槛的降低直接放大了数据的使用基数。一个需要层层审批的数据集,即便质量再高,也难以成为社区通用基准;而一个开放直链的数据集,可以在一夜之间被成百上千的实验室采用。LUDB 的广泛使用,很大程度上是"ODC-By + Open Access"这套组合的胜利。
7.8 与"大模型时代"数据策略的对照
在大规模基础模型盛行的今天,一个 200 条记录的小库为何仍不可替代?答案在于数据资产的两种角色:模型需要的是海量训练数据(规模优先),而评测需要的是权威参考(质量优先)。LUDB 扮演的是后者。即便未来出现心电领域的基础模型,它仍需要一个"人类专家逐点标注的黄金标准"来宣称其分界能力——而这样的黄金标准,其生产成本与样本量天然呈反比:标注越精细,能标的数据就越少。
因此 LUDB 的长期价值不在被"取代",而在被"反复引用":只要还有新算法宣称能做 ECG 分界,LUDB 就仍会是那个被拿来考量的标准答案。
§8 方法学启示:三条可迁移的经验
8.1 "全波形、无缺口"比"样本量大"更能定义价值
LUDB 只有 200 条记录,却成为领域通用基准,原因在于它把一件事做到了极致:标注的完整性。反观 MIT-BIH Arrhythmia(48 条,但仅标 QRS)、European ST-T(仅标 QRS),以及 QTDB(有未标复合波),都因标注缺口而在分界任务上"不够用"。这给数据集设计者的启示是:在验证类任务上,"无缺口"的覆盖度比记录条数更重要——一条记录里漏标一个 T 波,整条记录对 T 波分界评测就失效了。LUDB 用 2,400 个导联信号的逐点标注,换来了"可直接用作黄金标准"的资格。
8.2 逐导联独立标注是"昂贵但正确"的选择
LUDB 的医生对每个导联独立标注,而非标一个导联再复制。这使标注量成倍增加,但换来了两点:一是忠实反映各导联波形形态的真实差异(12 导联波形本就不同,复制是错的);二是支持"多导联 vs 单导联"算法对比研究——论文的案例研究正是论证了多导联分析相对单导联的优势。可迁移经验:当任务本身是"逐通道/逐视角"的,标注就应当逐通道独立进行,不要用"一次标注、多路复用"节省成本,否则会污染评测。
8.3 "小规模精标库"与大库的分工范式
LUDB 不追求覆盖万人万病,而是把自己定位在评测环节。这与 MIMIC-IV-ECG(八十万级、标签粗)形成清晰分工:大库用于训练,小精标库用于测试与验证。可迁移经验:一条完整的数据生态链需要"训练语料"与"评测基准"两类资产;把两者混为一谈,要么导致训练不足,要么导致评测失真。LUDB 的 ODC-By 开放许可,正是为了让"评测"这一环人人可用。
8.4 从"验证工具"到"训练集"的角色漂移风险
LUDB 最初是为验证传统分界算法而设计的,但因其标注质量过硬,被深度学习社区"反向"用作了训练集。这种角色漂移带来一个方法学风险:当同一个数据集既当训练集又当测试集,报告的"高精度"可能只是过拟合。可迁移经验:数据集的使用者应明确区分"设计用途"与"实际用途",并在论文中透明披露划分方式。对 LUDB 而言,正确姿势是——若在 LUDB 上训练,就应在独立库上测试;若在 LUDB 上测试,模型就不应在 LUDB 上训练。
8.5 标注规范的"可传递性"设计
LUDB 采用 WFDB 标准格式与符号约定((/)/p/N/t),使任何遵循 WFDB 规范的工具都能无缝读取。这是一个被低估的设计决策:标注规范的可传递性,决定了数据集的工具生态广度。若 LUDB 用了私有格式,即便标注再好,也需要每个使用者自行写解析器;而采用 WFDB 标准后,wfdb 包一行代码即可读取,接入成本几乎为零。可迁移经验:数据集设计应优先采用领域内的通用标准,而非自定义格式。
8.6 文档作为核心竞争力
LUDB 的 README 把类别分布(8 大类逐项列出记录数)、文件结构(.hea/.dat/12 标注文件逐一说明)、引用规范(三个 DOI)、伦理信息(IRB 批号)讲得清清楚楚。这种文档完备度,是 LUDB 这类小库能与大库竞争的重要筹码——使用者拿到数据后能立刻判断"这个库能不能用在我的任务上",而无需先花一天摸清数据。可迁移经验:文档不是数据的附属品,而是数据产品的一部分;一份好文档能显著提升数据集的采用率。
8.7 伦理合规的"前置透明"
LUDB 在 README 中主动披露了 IRB 批号(#23)、批准日期(2017-10-19)、知情同意程序。这种"前置透明"的做法,让使用者在合规审查时有据可依,也建立了数据集的信任基础。可迁移经验:涉及人体数据的数据集,应把伦理信息作为一等文档内容公开,而非藏在申请流程背后。
§9 与库内条目的关系
9.1 家族图谱
LUDB 在本库内属于生理信号 / 心电信号族,与下列条目构成互链网络:
| 库内条目 | rid | 关系 |
|---|---|---|
| QT-Database | 122 | 最直接对照:同为 P/QRS/T 分界库,LUDB 是其改进替代 |
| MIT-BIH Arrhythmia | 69 | 前代分类库,仅标 QRS,分界不可用 |
| MIT-BIH AFDB | 115 | 房颤节律库,与 LUDB 15 例房颤相关 |
| ltafdb | 668 | 长程房颤数据库 |
| apnea-ecg | 658 | 同类 PhysioNet 心电/呼吸信号库 |
| mimic-iv-ecg | 172 | 大规模 ECG 分类库(互补定位) |
| physionet-cinc-2017 | 162 | PhysioNet/CinC 生态 |
| cinc-2011 / 2012 / 2013 / 2014 / 2015 / 2016 / 2018-sleep / 2019 / 2020 / 2021 / 2023 | 689/660/662/666/487/382/162/493/656/692/644/499 | CinC 挑战赛 ECG 相关族群 |
9.2 检索路径建议
- 若检索者是分界算法开发者:LUDB → QT-Database(对照前代)→ 二者联合使用。
- 若检索者是心律失常分类研究者:LUDB(精标测试)→ MIMIC-IV-ECG(大规模训练)→ MIT-BIH AFDB(房颤专精)。
- 若检索者关注生理信号平台:LUDB → apnea-ecg → CinC 系列,理解 PhysioNet 生态。
9.3 互链强度分析
| 互链对象 | 互链强度 | 理由 |
|---|---|---|
| QT-Database(rid 122) | 强 | 同任务(P/QRS/T 分界)、同前代谱系、常联合使用 |
| MIT-BIH Arrhythmia(rid 69) | 中 | 同属 ECG 经典库,论文背景对照 |
| MIMIC-IV-ECG(rid 172) | 中 | 互补定位(大训练库 vs 精标测试库) |
| MIT-BIH AFDB(rid 115) | 弱-中 | 房颤节律相关性 |
| ltafdb(rid 668) | 弱-中 | 房颤长程库 |
| apnea-ecg(rid 658) | 弱 | 同平台生理信号 |
| CinC 系列 | 弱 | 同平台 ECG 生态 |
9.4 建议的条目定位语
面向库内检索,LUDB 的一句话定位语建议为:“ECG 波形分界(P/QRS/T 边界)的黄金标准验证库——200 条 12 导联、58429 个逐导联人工标注、ODC-By 1.0 完全开放。” 这句话同时给出了任务(分界)、规模(200/58429)、规格(12 导联)与许可(ODC-By),便于检索者快速判断相关性。
§10 避坑清单:六个已踩过的坑
坑 1:把 58,429 当成唯一波形事件数。
58,429 是 “全 12 导联独立计” 的口径(consider all leads independently)。同一次心跳的 P 波会在 12 个导联上各标一次。若误当成唯一事件数,会高估数据量约一个数量级,并可能在跨数据集对比时得出错误结论。正确口径:58,429 = 导联 × 波形 的乘积量级。
坑 2:用 LUDB 训练多类分类器而不处理极端不平衡。
除心律(Rhythms)覆盖全部 200 条外,其余类别极稀疏:"期前收缩"16 个标签分布在 14 条记录上(标签数比记录多),"其他状态"仅 9 条 1 标签。直接训练分类器会严重偏向多数类。LUDB 的定位是验证而非大规模训练,分类任务应搭配大库或做重采样/分层。
坑 3:忽略 ludb.csv 的换行分隔与尾部换行。
ludb.csv 的每个字符串单元格带尾部换行,多值单元格用换行符(而非逗号)分隔。按普通 CSV 读入会把一个多值字段误当多个类别——例如 Ischemia 误看成"40 个类、每类至多 4 条记录",实际是"22 个共现发现"。读数前必须显式拆分多值单元格。
坑 4:忽视单一中心/单一设备的代表性问题。
全部数据来自 Nizhny Novgorod City Hospital No 5、单台 Schiller Cardiovit AT-101 心电图机、2017–2018。设备滤波器特性、人群地域构成都会带入数据集偏置。跨设备/跨人群部署算法时,不能假设 LUDB 上的性能可无损迁移。
坑 5:节律/疾病分布的两口径混用。
PhysioNet README 官方表(Sinus rhythm 143 / Sinus bradycardia 25 / Atrial fibrillation 15)与 ECGBench 从 ludb.csv 原子化重算的表(Sinus rhythm 142 / Sinus bradycardia 24 / Atrial fibrillation 14)存在 ±1 出入。引用时应以 README 官方表为准,并注明两口径差异,切勿混用同一张表里的不同来源数字。
坑 6:读 .hea 注释而非 .csv 取结构化诊断。
每条记录的 .hea 注释携带的是扁平化的自由文本诊断,会丢失类别分组结构(类别边界消失、多值黏连)。要做结构化/多标签分析,必须读 ludb.csv,而非解析 .hea 注释文本。
坑 7:跨研究直接比较分界 F1 而不核对评测口径。
不同论文的"F1"可能采用不同的容差窗(50 ms vs 150 ms)、不同的合并方式(onset/offset/peak 合并 vs 分离)、不同的平均方式(微平均 vs 宏平均)。拿自己算的 F1 去对标论文报告的 F1,若口径不一致,比较无效。复现前必须确认容差窗、合并口径、平均方式三项与目标一致。
坑 8:把 LUDB 当成"正常人群"对照库。
LUDB 的心电轴分布中,"左偏 66 例"几乎与"正常 75 例"持平,这显著偏离正常人群分布——说明该库以心血管病患者为主。若把它当作"健康对照"来训练异常检测模型,会引入错误的先验。
坑 9:忽略房颤/房扑的样本稀缺。
房颤 15 例、房扑 3 例,仅占全库 9%。任何以 LUDB 为唯一数据源的房颤检测研究,其结论都建立在这十几例样本上,统计功效极低,不可外推为"房颤检测性能"。这类研究应搭配房颤专精库(如 MIT-BIH AFDB,rid 115;ltafdb,rid 668)。
坑 10:忽略版本导致的单位错误。
1.0.0 版的 ADC gain 存在已知问题(单位应为 μV 或 adc_gain 应大 1000 倍),若使用 1.0.0,信号幅值可能偏差千倍。一切幅值相关的分析(如振幅测量、归一化)在错误版本上都会失真。务必用 1.0.1。
§11 总结
11.1 三句话总结
- LUDB 是 ECG 波形分界的黄金标准:200 条 10 秒 12 导联 ECG,58,429 个逐导联人工标注的 P/QRS/T 边界与峰值,由持证心内科医生完成。
- 它完全开放且工具友好:ODC-By 1.0,PhysioNet 直链,WFDB 格式,无需申请;1.0.1 版修复了 1.0.0 的 ADC gain 问题并新增 ludb.csv。
- 它的价值在"验证"而非"训练":小规模、高精度、多类多标签诊断,是分界算法评测的通用基准,也是大库训练之上的精标测试环。
11.2 适合谁
- ECG 分界算法开发者:可将其作为无缺口的黄金标准测试集,验证 P/QRS/T 起点/峰值/终点的检测精度。
- 生理信号处理研究者:可研究多导联 vs 单导联分析、小波 vs 深度学习分界方法的差异。
- 心律失常分类团队:可将其作为精标测试集,评估分类器的泛化与鲁棒性(注意不平衡与样本量约束)。
- 医学教育者:数据库可用于教学,展示真实临床 ECG 的多样形态与专家标注。
- 可穿戴心电算法评测者:可用其验证在受控条件下的分界基线性能。
11.3 不适合谁
- 需要海量训练样本的深度学习团队:200 条记录远不足以直接训练大型模型,应搭配 MIMIC-IV-ECG 等大库。
- 需要覆盖广泛人群/设备的研究者:单一中心单一设备,代表性有限。
- 需要稀有疾病大样本的临床研究者:多数疾病类别仅数条至十几条记录。
11.4 30 秒决策卡
| 问题 | 答案 |
|---|---|
| 我要做什么? | 验证 ECG 分界(P/QRS/T 边界)算法 |
| LUDB 够用吗? | 够——它就是为此设计的黄金标准 |
| 怎么拿? | PhysioNet 直链,ODC-By 1.0,无需申请 |
| 怎么读? | WFDB Python Toolbox(import wfdb) |
| 用哪个版本? | 1.0.1(修复 1.0.0 的 ADC gain 问题) |
| 要注意什么? | 58,429 是导联级计数;ludb.csv 换行分隔;类别极不平衡 |
| 训练还是测试? | 测试/验证为主,训练需搭配大库 |
FAQ(高频问答 32 问)
A. 基础认知
Q1:LUDB 全称是什么?
Lobachevsky University Electrocardiography Database(罗巴切夫斯基大学心电图数据库),缩写 LUDB。
Q2:它发布在哪?
PhysioNet(RRID:SCR_007345),version 1.0.1,2021 年 1 月 19 日发布。
Q3:谁做的?
下诺夫哥罗德国立罗巴切夫斯基大学信息技术、数学与力学研究所团队,论文作者含 Kalyakulina、Yusipov、Moskalenko、Nikolskiy、Kosonogov、Zolotykh、Ivanchenko 等。
Q4:什么时候采集的?
2017–2018 年,采集于 Nizhny Novgorod City Hospital No 5。
Q5:LUDB 和 LUBD 是同一个吗?
不是。正确缩写是 LUDB,无 “LUBD” 这一写法。
Q6:它属于哪个任务类别?
PhysioNet 归类为 ECG delineation(波形分界)主题,同时支持心律失常分类。
Q7:数据集有论文吗?
有。IEEE Access 2020;8:186181-186190, doi:10.1109/ACCESS.2020.3029211;arXiv:1809.03393(2018 首发)。
Q8:数据是真实患者还是合成?
真实。来自健康志愿者与患者的实际采集,非合成数据。
B. 数据与获取
Q9:怎么下载?
PhysioNet 数据集页 https://physionet.org/content/ludb/1.0.1/,数据目录 .../data/,Open Access 直链。
Q10:需要申请吗?
不需要。ODC-By 1.0,完全开放,无 gated、无注册。
Q11:什么许可?
ODC-By 1.0(Open Data Commons Attribution License),宽松,须署名。
Q12:商业用途可以吗?
可以。ODC-By 允许商用,唯一硬要求是引用署名。
Q13:数据格式是什么?
WFDB-compatible(.hea 头文件 / .dat 信号 / 12 个逐导联标注文件),另有 ludb.csv。
Q14:怎么读?
用 WFDB Python Toolbox(pip install wfdb)或 WFDB Software Package。
Q15:有多少条记录?
200 条,来自 200 名受试者。
Q16:采样率多少?
500 samples per second。
Q17:每条多长时间?
10 秒。
Q18:几个导联?
12 导联(i, ii, iii, avr, avl, avf, v1–v6)。
Q19:用的什么设备?
Schiller Cardiovit AT-101 心电图机。
Q20:有几个版本?
1.0.0 与 1.0.1;1.0.1 修复 ADC gain 并新增 ludb.csv,优先用 1.0.1。
C. 标注与标签
Q21:标注了多少波形?
58,429 个(16,797 P + 21,966 QRS + 19,666 T,全 12 导联独立计)。
Q22:谁标的?
持证心内科医生(certified cardiologists),逐导联目视独立标注。
Q23:标了什么?
P/T 波的边界与峰值、QRS 复合波的边界。符号:( 起点、) 终点、p/N/t 为 P/QRS/T 峰值。
Q24:有诊断标签吗?
有。8 大类多类多标签:心律、心电轴、传导异常、期前收缩、肥厚、起搏、缺血、非特异性复极异常,另加其他状态。
Q25:年龄范围?
11 岁至 >89 岁(README 记 11–90 岁),平均 52 岁。
Q26:性别比例?
85 女 / 115 男。
Q27:有起搏器患者吗?
有。心电轴表中 10 例标记为起搏器所致"None",起搏类别下另有多种起搏模式。
Q28:标签互斥吗?
不互斥。同一患者可跨类别、甚至同类别多诊断,属多类多标签。
D. 使用与评测
Q29:能用它训练分类器吗?
可以但不理想——仅心律覆盖全部 200 条,其余类别极稀疏。定位是验证/测试集。
Q30:分界算法能达到多高精度?
文献 [7] 的深度学习算法:P 波起止 F1 ≥97.8%、T 波 ≥99.5%、QRS ≥99.9%。
Q31:有官方 train/test 划分吗?
没有。社区自行切分(如 ECGBench 做 10-fold 分层)。
Q32:和 QT Database 什么关系?
LUDB 是 QTDB 的改进替代:QTDB 有未标复合波,LUDB 覆盖全部波形;两者采样率不同(500 vs 250 Hz)。
事实清单(硬事实 36 条)
- 全称:Lobachevsky University Electrocardiography Database,缩写 LUDB。
- 托管平台:PhysioNet(RRID:SCR_007345)。
- 版本:1.0.1(Published Jan. 19, 2021);初版 1.0.0。
- 数据集 DOI:10.13026/eegm-h675。
- 论文 DOI:10.1109/ACCESS.2020.3029211(IEEE Access, vol. 8, pp. 186181-186190, 2020)。
- arXiv:1809.03393(v1 2018-08-30;v4 2020-09-16)。
- 记录数:200 条。
- 受试者数:200 名(1 记录/人)。
- 每条时长:10 秒。
- 导联数:12(i, ii, iii, avr, avl, avf, v1, v2, v3, v4, v5, v6)。
- 采样率:500 samples/second。
- 采集设备:Schiller Cardiovit AT-101。
- 采集地点:Nizhny Novgorod City Hospital No 5。
- 采集年份:2017–2018。
- IRB 批号:#23,批准日 2017-10-19。
- 资助:俄罗斯联邦教育部,合同号 No. 02.G25.31.0157 of 01.12.2015。
- 项目背景:Cyberheart project。
- 标注波总数:58,429。
- P 波数:16,797。
- QRS 复合波数:21,966。
- T 波数:19,666。
- 标注方式:逐导联独立、certified cardiologists 目视检查。
- 标注符号:
(起点、)终点、p/N/t分别为 P/QRS/T 峰值。 - 年龄范围:11 岁至 >89 岁(README 记 11–90 岁)。
- 平均年龄:52 岁。
- 性别:85 女 / 115 男。
- 节律:Sinus rhythm 143 / Sinus bradycardia 25 / Atrial fibrillation 15 / Sinus arrhythmia 8 / Sinus tachycardia 4 / Atrial flutter 3 / Irregular sinus rhythm 2。
- 心电轴:Normal 75 / Left axis deviation 66 / Vertical 26 / Horizontal 20 / Right axis deviation 3 / None (pacemaker) 10。
- 诊断分类:8 大类多类多标签 + 其他状态。
- 许可:ODC-By 1.0。
- 获取:PhysioNet Open Access 直链,无申请门槛。
- 格式:WFDB-compatible + ludb.csv。
- 文件构成:.hea + .dat + 12 逐导联标注文件。
- 1.0.1 新增:ludb.csv(聚合患者信息)。
- 引用要求:数据集 DOI + 论文 + PhysioNet 标准引用,三者齐备。
- 官方 train/test 划分:无(社区自行划分)。
术语表(30 条)
| 术语 | 英文 | 释义 |
|---|---|---|
| 心电图 | ECG / electrocardiogram | 记录心脏电活动的信号 |
| 十二导联 | 12-lead | 从 12 个电极视角记录的心电信号 |
| 波形分界 | delineation | 定位波形起点、峰值、终点 |
| 起点 | onset | 波形起始时刻 |
| 终点 | offset | 波形结束时刻 |
| 峰值 | peak | 波形振幅最大点 |
| P 波 | P wave | 心房去极化波 |
| QRS 复合波 | QRS complex | 心室去极化波群 |
| T 波 | T wave | 心室复极化波 |
| PR 间期 | PR interval | P 起点至 QRS 起点 |
| QT 间期 | QT interval | QRS 起点至 T 终点 |
| 心率 | heart rate | 单位时间心搏数 |
| 窦性心律 | sinus rhythm | 正常起搏心律 |
| 窦性心动过缓 | sinus bradycardia | 心率过慢的窦性心律 |
| 窦性心动过速 | sinus tachycardia | 心率过快的窦性心律 |
| 房颤 | atrial fibrillation, AF | 心房无规律颤动 |
| 房扑 | atrial flutter | 心房规律快速扑动 |
| 期前收缩 | extrasystole | 提前出现的心搏 |
| 早搏 | PVC / PAC | 室性/房性期前收缩 |
| 传导异常 | conduction abnormality | 心脏电传导阻滞类异常 |
| 束支传导阻滞 | bundle branch block | 束支传导受阻 |
| 肥厚 | hypertrophy | 心肌/心腔增厚 |
| 缺血 | ischemia | 心肌供血不足 |
| 心肌梗死 | STEMI / NSTEMI | ST 段抬高/非抬高型心梗 |
| 心电轴 | electrical axis | 心室去极化主方向 |
| 起搏器 | pacemaker | 人工心脏起搏装置 |
| 复极异常 | repolarization abnormality | 心室复极异常 |
| 早期复极 | early repolarization | 一种复极变异 |
| 黄金标准 | gold standard | 权威参考标注 |
| WFDB | WaveForm DataBase | 生理信号标准格式与工具链 |
术语表补充(进阶 20 条)
| 术语 | 英文 | 释义 |
|---|---|---|
| 多类多标签 | multi-class multi-label | 一个样本可归多个类别、每类可有多个标签 |
| 导联级计数 | lead-wise count | 58,429 的口径:按导联分别计数 |
| 容差窗 | tolerance window | 判定预测点与真值匹配的时间窗 |
| 逐点匹配 F1 | point-wise F1 | 分界常用指标,按点匹配算 P/R/F1 |
| 分层切分 | stratified split | 按类别比例划分训练/测试 |
| 交叉验证 | cross validation | 小样本库常用评估方式 |
| 类别不平衡 | class imbalance | 各类样本量悬殊 |
| 长尾分布 | long-tail distribution | 少数类样本极少的分布 |
| 过拟合 | overfitting | 模型只记住训练集 |
| 去标识 | de-identification | 去除个人身份信息 |
| 知情同意 | informed consent | 志愿者采集前书面同意 |
| 伦理审查 | IRB / ethics review | 机构审查委员会批准 |
| 波形融合 | wave fusion | 相邻波形重叠难分 |
| 基线漂移 | baseline wander | 信号基线的低频波动 |
| 工频干扰 | powerline interference | 50/60 Hz 电网噪声 |
| 小波分析 | wavelet analysis | 时频分析方法 |
| 特征工程 | feature engineering | 人工构造分类特征 |
| 元启发式优化 | metaheuristic optimization | 用于特征选择的优化算法 |
| 深度分界 | deep delineation | 用神经网络做波形分界 |
| 信号质量检查 | signal quality check | 校验信号是否可用(ECGBench 全通过) |
附录
附录 A:条目信息速查卡
| 项 | 值 |
|---|---|
| slug | ludb |
| 全称 | Lobachevsky University Electrocardiography Database |
| rid(待入池) | 由主会话分配 |
| 平台 | PhysioNet |
| 版本 | 1.0.1 |
| 数据集 DOI | 10.13026/eegm-h675 |
| 论文 DOI | 10.1109/ACCESS.2020.3029211 |
| arXiv | 1809.03393 |
| 许可 | ODC-By 1.0 |
| 规模 | 200 记录 / 58429 波形 / 500 Hz / 12 导联 / 10 秒 |
| category_tags | 生理信号、心电信号、医学图像分割、心血管疾病、评测基准 |
附录 B:DAIMS 评估全表
DAIMS(Data and AI Model Scorecard 取向的数据集评估维度)对 LUDB 的逐维打分:
| 维度 | 评分 | 说明 |
|---|---|---|
| 可获得性(Accessibility) | ★★★★★ | ODC-By 1.0,PhysioNet 直链,零门槛,无 gated |
| 文档完备度(Documentation) | ★★★★★ | README 详尽列出全部类别分布表、文件结构、引用规范 |
| 标注质量(Annotation Quality) | ★★★★★ | 持证心内科医生逐导联独立标注,全波形无缺口 |
| 标注完整度(Annotation Completeness) | ★★★★★ | 覆盖全部 P/QRS/T 波形,这是核心卖点 |
| 格式标准化(Standardization) | ★★★★★ | WFDB 标准格式,工具链成熟(wfdb 包) |
| 规模充分性(Scale) | ★★☆☆☆ | 200 条记录,小样本,不足以单独训练大模型 |
| 人群代表性(Representativeness) | ★★☆☆☆ | 单一中心、单一设备、地域局限(俄罗斯) |
| 类别均衡性(Class Balance) | ★★☆☆☆ | 除心律外类别极稀疏,长尾严重 |
| 可复现性(Reproducibility) | ★★★☆☆ | 无官方划分,社区自切分导致跨研究不可直接比较 |
| 伦理合规(Ethics) | ★★★★★ | IRB 批准(#23)、知情同意、去标识、开放许可 |
| 可维护性(Maintainability) | ★★★★☆ | PhysioNet 版本管理,1.0.1 已修复已知问题 |
| AI 就绪度(AI-Readiness) | ★★★★☆ | 格式/许可/标注均就绪,扣分在规模与均衡性 |
DAIMS 总评:LUDB 是一个**“高精度、小规模、强文档、完全开放”**的验证型数据集。在可获得性、标注质量、格式标准化、伦理合规四个维度满分,但在规模、代表性、类别均衡三个维度偏低——这正符合它"分界验证工具"的设计初衷。若把它当训练库用会失望,若把它当黄金标准测试集用则近乎完美。
附录 C:逐项证据链
| 结论 | 证据 |
|---|---|
| 200 记录 | PhysioNet 摘要 + README + arXiv 摘要三源 |
| 58429 波形 | README 明细(16797+21966+19666 自洽) |
| 500 Hz | README + MDPI Algorithms 2025 |
| ODC-By 1.0 | ECGBench 页面(License ODC-By 1.0)+ PhysioNet Open Access 类别 |
| 逐导联标注 | README 文件结构说明(12 个 .i/.ii/… 文件) |
| 8 大类诊断 | README 分类表 + MDPI Algorithms 2025 分类说明 |
| 年龄/性别 | README(11–90,85 女 115 男) |
| 1.0.1 修复 ADC gain | torch-ecg 文档 Issues 节 |
| 分界 F1 97.8/99.5/99.9 | PhysioNet Usage Notes 引文献 [7] |
附录 D:数据获取决策树
是否需要 ECG 波形分界(P/QRS/T 边界)的权威参考?
├─ 是 → LUDB(本条目)为首选黄金标准
│ └─ 需要对照前代?→ 加上 QT-Database(rid 122)
├─ 否,只需 QRS → MIT-BIH Arrhythmia(rid 69)
├─ 否,需要房颤专精 → MIT-BIH AFDB(rid 115)/ ltafdb(rid 668)
├─ 否,需要大规模分类训练 → MIMIC-IV-ECG(rid 172)
└─ 否,需要通用 PhysioNet 信号 → apnea-ecg(rid 658)/ CinC 系列
附录 E:读取 LUDB 的代码骨架
import wfdb
import numpy as np
import pandas as pd
# 1) 读取第 1 条记录的信号(12 导联,5000 点 @500Hz)
record = wfdb.rdrecord('ludb/1.0.1/data/1')
signal = record.p_signal # shape: (5000, 12) 单位 mV
leads = record.sig_name # ['i','ii','iii','avr',...,'v6']
# 2) 读取某导联的人工标注(ii 导联)
ann = wfdb.rdann('ludb/1.0.1/data/1', 'ii')
# ann.symbol: '('=onset, ')'=offset, 'p'/'N'/'t' = P/QRS/T 峰值
# ann.sample: 对应的采样点索引
# 3) 读取聚合患者信息表(注意:字符串带尾部换行、多值用换行分隔)
df = pd.read_csv('ludb/1.0.1/ludb.csv')
# 多值单元格需按 '\n' 拆分,勿用逗号;记录 34 年龄原始值为 '>89'
附录 F:分界评测指标骨架
# 逐点匹配的 F1(以 onset 检测为例)
def match_f1(pred_idx, true_idx, tol=0.05):
"""tol: 容差窗(秒); 采样率 500Hz 时 0.05s = 25 点"""
tp = 0
used = set()
for p in pred_idx:
for j, t in enumerate(true_idx):
if j in used:
continue
if abs(p - t) <= tol * 500:
tp += 1
used.add(j)
break
fp = len(pred_idx) - tp
fn = len(true_idx) - tp
precision = tp / (tp + fp) if (tp + fp) else 0.0
recall = tp / (tp + fn) if (tp + fn) else 0.0
f1 = 2 * precision * recall / (precision + recall) if (precision + recall) else 0.0
return precision, recall, f1
# 论文参考值(文献 [7] 深度学习算法):
# P 波起止 F1 >= 97.8%
# T 波 F1 >= 99.5%
# QRS 复合波 F1 >= 99.9%
附录 G:类别分布速查(用于分层采样)
| 类别 | 覆盖记录数(约) | 备注 |
|---|---|---|
| Rhythms | 200 | 唯一全量覆盖 |
| Electric axis | 200(10 例起搏器 None) | 全量覆盖 |
| Non-specific repolarization | ~85 | 稀疏 |
| Hypertrophies | ~140(重叠计) | 主要为左房/左室 |
| Conduction abnormalities | ~66(重叠计) | 以不完全右束支阻滞 29 最多 |
| Ischemia | ~51(重叠计,22 原子标签) | 高度长尾 |
| Extrasystolies | ~14(16 标签) | 标签数>记录数 |
| Cardiac pacing | ~10 | 起搏模式分散 |
| Other states | 9 | 早期复极综合征 |
附录 H:许可署名模板
Kalyakulina, A., Yusipov, I., Moskalenko, V., Nikolskiy, A., Kosonogov, K.,
Zolotykh, N., & Ivanchenko, M. (2021). Lobachevsky University
Electrocardiography Database (version 1.0.1). PhysioNet. RRID:SCR_007345.
https://doi.org/10.13026/eegm-h675
Kalyakulina, A.I., Yusipov, I.I., Moskalenko, V.A., Nikolskiy, A.V.,
Kosonogov, K.A., Osipov, G.V., Zolotykh, N.Yu., Ivanchenko, M.V.: LUDB: A New
Open-Access Validation Tool for Electrocardiogram Delineation Algorithms,
IEEE Access, vol. 8, pp. 186181-186190, 2020,
doi: 10.1109/ACCESS.2020.3029211
附录 I:坑点档案(与 §10 对照)
| 坑号 | 一句话 | 后果 |
|---|---|---|
| 坑 1 | 58,429 当唯一事件数 | 高估数据量一个数量级 |
| 坑 2 | 忽视类别极端不平衡 | 分类器严重偏多数类 |
| 坑 3 | ludb.csv 换行分隔未处理 | 误判类别数(Ischemia 40 vs 22) |
| 坑 4 | 忽视单一中心/设备偏置 | 跨设备迁移性能失真 |
| 坑 5 | 节律分布两口径混用 | 引用数字前后矛盾(±1) |
| 坑 6 | 读 .hea 而非 .csv 取结构化诊断 | 丢失类别分组结构 |
附录 J:与库内条目关系声明
- 上游无本体依赖:LUDB 为独立采集,非任何数据集的重标注或衍生版本。
- 对照对象:QT-Database(rid 122)为最直接的前代对照库。
- 互补对象:MIMIC-IV-ECG(rid 172)为大规模分类库,与 LUDB 形成"训练—测试"分工。
- 同族:MIT-BIH Arrhythmia(rid 69)、MIT-BIH AFDB(rid 115)、ltafdb(rid 668)、apnea-ecg(rid 658)及 CinC 系列(rid 689/660/662/666/487/382/162/493/656/692/644/499)。
附录 K:检索决策树
搜 "LUDB" 或 "Lobachevsky ECG" → 本条目
搜 "ECG delineation dataset" → 任务类别,LUDB 是其中代表,勿当别名
搜 "ECG 分界 数据库 中文" → 本条目(罗巴切夫斯基大学心电图数据库)
搜 "QT database ECG" → QT-Database(rid 122),非 LUDB
搜 "arrhythmia classification" → 可能指向 MIT-BIH(rid 69)/ MIMIC-IV-ECG(rid 172)
附录 L:数据健康检查 5 步
- 版本核对:确认下载目录为
1.0.1(避免 1.0.0 ADC gain 问题)。 - 信号形状:抽查记录,确认信号为
(5000, 12)或(12, 5000),单位 mV。 - 标注符号:抽查标注,确认符号含
(/)/p/N/t。 - CSV 解析:读 ludb.csv 时按
\n拆分多值,剥离尾部换行,单独处理记录 34 的 “>89”。 - 计数自洽:确认全库 P+QRS+T = 58,429,与官方一致。
附录 M:LUDB 疾病分类完整清单(README 全表转写)
传导异常(Conduction abnormalities):
| 类型 | 记录数 |
|---|---|
| Sinoatrial blockade, undetermined 窦房阻滞(未定) | 1 |
| I degree AV block 一度房室传导阻滞 | 10 |
| III degree AV block 三度房室传导阻滞 | 5 |
| Incomplete right bundle branch block 不完全性右束支传导阻滞 | 29 |
| Incomplete left bundle branch block 不完全性左束支传导阻滞 | 6 |
| Left anterior hemiblock 左前分支阻滞 | 16 |
| Complete right bundle branch block 完全性右束支传导阻滞 | 4 |
| Complete left bundle branch block 完全性左束支传导阻滞 | 4 |
| Non-specific intraventricular conduction delay 非特异性室内传导延迟 | 4 |
期前收缩(Extrasystoles):
| 类型 | 记录数 |
|---|---|
| 房性期前收缩(未定) | 2 |
| 房性期前收缩(低位房性) | 1 |
| 房性期前收缩(左房性) | 2 |
| 房性期前收缩(SA 结性) | 3 |
| 房性期前收缩(单发 PAC) | 4 |
| 房性期前收缩(二联律) | 1 |
| 房性期前收缩(四联律) | 1 |
| 房性期前收缩(全律模式) | 1 |
| 室性期前收缩(多形性) | 2 |
| 室性期前收缩(RVOT 前壁) | 3 |
| 室性期前收缩(RVOT 前间隔) | 1 |
| 室性期前收缩(IVS 中段) | 1 |
| 室性期前收缩(LVOT-LVS) | 2 |
| 室性期前收缩(LV 未定) | 1 |
| 室性期前收缩(单发 PVC) | 6 |
| 室性期前收缩(间位性 PVC) | 2 |
| 室性期前收缩(成对) | 2 |
肥厚(Hypertrophies):
| 类型 | 记录数 |
|---|---|
| Right atrial hypertrophy 右房肥厚 | 1 |
| Left atrial hypertrophy 左房肥厚 | 102 |
| Right atrial overload 右房负荷 | 17 |
| Left atrial overload 左房负荷 | 11 |
| Left ventricular hypertrophy 左室肥厚 | 108 |
| Right ventricular hypertrophy 右室肥厚 | 3 |
| Left ventricular overload 左室负荷 | 11 |
缺血(Ischemia):
| 类型 | 记录数 |
|---|---|
| STEMI: anterior wall | 8 |
| STEMI: lateral wall | 7 |
| STEMI: septal | 8 |
| STEMI: inferior wall | 1 |
| STEMI: apical | 5 |
| Ischemia: anterior wall | 5 |
| Ischemia: lateral wall | 8 |
| Ischemia: septal | 4 |
| Ischemia: inferior wall | 10 |
| Ischemia: posterior wall | 2 |
| Ischemia: apical | 6 |
| Scar formation: lateral wall | 3 |
| Scar formation: septal | 9 |
| Scar formation: inferior wall | 3 |
| Scar formation: posterior wall | 6 |
| Scar formation: apical | 5 |
| Undefined ischemia/scar/supp.NSTEMI: anterior wall | 12 |
| Undefined ischemia/scar/supp.NSTEMI: lateral wall | 16 |
| Undefined ischemia/scar/supp.NSTEMI: septal | 5 |
| Undefined ischemia/scar/supp.NSTEMI: inferior wall | 3 |
| Undefined ischemia/scar/supp.NSTEMI: posterior wall | 4 |
| Undefined ischemia/scar/supp.NSTEMI: apical | 11 |
非特异性复极异常(Non-specific repolarization abnormalities):
| 类型 | 记录数 |
|---|---|
| Anterior wall 前壁 | 18 |
| Lateral wall 侧壁 | 13 |
| Septal 间隔 | 15 |
| Inferior wall 下壁 | 19 |
| Posterior wall 后壁 | 9 |
| Apical 心尖 | 11 |
心脏起搏(Cardiac pacing):
| 类型 | 记录数 |
|---|---|
| UNIpolar atrial pacing 单极房性起搏 | 1 |
| UNIpolar ventricular pacing 单极室性起搏 | 6 |
| BIpolar ventricular pacing 双极室性起搏 | 2 |
| Biventricular pacing 双心室起搏 | 1 |
| P-synchrony P 波同步起搏 | 2 |
其他状态(Other states):
| 类型 | 记录数 |
|---|---|
| Early repolarization syndrome 早期复极综合征 | 9 |
附录 N:心电轴与节律的临床解读
心电轴(Electrical axis) 反映心室去极化的平均方向,正常范围通常为 -30° 至 +90°。LUDB 把心电轴分为六类:Normal(正常)、Left axis deviation(左偏)、Vertical(垂直位)、Horizontal(水平位)、Right axis deviation(右偏)、None(起搏器所致)。
从分布看,心电轴左偏(66 例)几乎与正常(75 例)持平,这与一般人群的心电轴分布显著不同——正常人群中心电轴左偏比例通常远低于此。这提示 LUDB 的受试者并非普通人群抽样,而是以心血管病患者为主(左偏常与左室肥厚、左前分支阻滞等病理相关)。这一点在把 LUDB 当作"正常对照"使用时必须警惕。
节律(Rhythms) 分布中,窦性心律 143 例占绝对多数(71.5%),窦性心动过缓 25 例(12.5%),房颤 15 例(7.5%),其余均是个位数。这一分布决定了 LUDB 在多节律分类任务上的局限:房颤/房扑等关键心律失常样本量小,难以支撑稳健的节律分类器训练。
附录 O:年龄与性别的分布特征
| 维度 | 数值 |
|---|---|
| 年龄下限 | 11 岁 |
| 年龄上限 | >89 岁(README 记 90 岁) |
| 平均年龄 | 52 岁 |
| 女性 | 85 例(42.5%) |
| 男性 | 115 例(57.5%) |
年龄跨度从 11 岁到 >89 岁,覆盖儿童、成人、老年三段,这在 ECG 数据集中相对少见(多数临床 ECG 库以成人为主)。但样本量有限(200 例),每个年龄段的样本不足以做精细的年龄分层分析。MDPI Algorithms 2025 用 LUDB 做年龄/性别分组的 ECG 参数正常范围总结时,就把年龄段压缩为 16–19、20–29 …… 80–89 的十岁一档。
附录 P:与 MIT-BIH / QTDB 的规格对照全表
| 维度 | LUDB | QT Database | MIT-BIH Arrhythmia |
|---|---|---|---|
| 记录数 | 200 | 105 | 48 |
| 每条时长 | 10 秒 | 15 分钟 | ~30 分钟 |
| 导联数 | 12 | 2 | 2 |
| 采样率 | 500 Hz | 250 Hz | 360 Hz |
| P 波标注 | ✓ 完整 | ✓ 部分未标 | ✗ |
| QRS 标注 | ✓ | ✓ | ✓ |
| T 波标注 | ✓ 完整 | ✓ 部分未标 | ✗ |
| 逐导联独立标注 | ✓ | — | — |
| 诊断分类 | 8 大类多标签 | 有限 | 心搏类型 |
| 定位 | 分界黄金标准 | 分界(前代) | 心律失常分类 |
附录 Q:LUDB 在深度学习时代的角色演变
LUDB 诞生于 2018 年(arXiv 首发),正值 ECG 分析从传统信号处理向深度学习过渡的转折点。它最初的自我定位是"开放获取的验证工具",服务对象是基于小波等传统方法的分界算法——论文案例研究对比的正是 wavelet-based 算法与 ecg-kit。
但随着深度学习兴起,LUDB 的角色发生了微妙转变:它从"算法验证工具"变成了"深度模型训练集"。PhysioNet Usage Notes 明确指出,文献 [7] 的深度学习分界算法就用 LUDB 作训练集,达到 P/T/QRS F1 分别 ≥97.8%/99.5%/99.9% 的精度。这是一个值得留意的现象——一个为验证而设计的 200 条小库,因为标注质量过硬,被"反向"用作了训练数据。
这一转变带来的风险是:当 LUDB 同时被用作训练集又用作测试集时,"性能提升"可能只是过拟合。检索者在使用 LUDB 时应明确区分两种用法:(1)用作纯测试集(测其他库上训练的模型)——这是它设计的初衷;(2)用作训练集(在 LUDB 内部划分)——此时必须用严格交叉验证,且结论不可外推到其他数据集。
附录 R-2:ECG 分界算法的技术演进简史
| 阶段 | 代表方法 | 与 LUDB 的交集 |
|---|---|---|
| 经验规则法 | 幅度阈值、斜率分析 | LUDB 的前代验证对象 |
| 小波变换 | wavelet-based 分界 | 论文案例研究对照算法 |
| 经典工具箱 | ecg-kit(MATLAB) | 论文案例研究对照工具 |
| 机器学习 | SVM + 手工特征 | PMC 39736595 的做法 |
| 深度学习 | CNN/RNN/Transformer 分界 | 文献 [7] 用 LUDB 训练,F1 ≥97.8%/99.5%/99.9% |
从这条时间线看,LUDB 贯穿了 ECG 分界从规则法到深度学习的全过程——它既是传统算法的验证场,也是新算法的训练炉,这正是其长生命周期的来源。
附录 R-3:为什么"逐导联"很重要——临床视角
在临床读图中,同一心跳在不同导联上的波形形态、极性、幅度都不同。例如:
- P 波:在 II 导联最清晰,在 aVR 导联倒置;
- QRS:在 V1 呈 rS 型、在 V5/V6 呈 qR 型;
- T 波:在多数导联直立,在 aVR 倒置。
因此,"在 II 导联上标一次 P 波边界,再复制到其他导联"在临床上是错误的——不同导联的 P 波起点可能相差数十毫秒。LUDB 坚持逐导联独立标注,正是为了忠实反映这一临床事实。这也是它能支撑"多导联 vs 单导联"算法对比研究的技术基础。
附录 R-4:分界数据库的评测公平性设计
一个公正的分界评测需要满足几个条件,LUDB 恰好都具备:
- 独立的真值来源:标注由人工专家完成,而非自动算法——避免"用算法验证算法"的循环。
- 覆盖完整:全部波形都标,无缺口——避免"只测标得好的那部分"的选择性偏差。
- 公开可复现:数据与标注公开、格式标准——任何团队都能跑出同样结果。
- 标注者资质明确:持证心内科医生——避免"标注质量不可知"。
- 多导联独立:不复制标注——避免单导联偏差扩散到全库。
这五点共同构成 LUDB 作为"公平评测基准"的资格。
附录 R-5:LUDB 在教学方法中的价值
除了研究用途,LUDB 还有一个常被忽略的价值:教学。PhysioNet 摘要明确提到"The database can be used for educational purposes"(该数据库可用于教育目的)。具体而言:
- 医学生教学:可用真实 ECG + 专家标注对照,学习如何识别 P/QRS/T 及其边界。
- 信号处理教学:可用它演示采样、滤波、波形检测等概念的实操。
- 算法课程:可作为学生练习"实现一个分界算法并在标准库上评测"的素材库——因为评测口径清晰、真值可靠。
- 数据科学教学:可用其演示多类多标签、类别不平衡、交叉验证等数据科学概念。
一份数据同时服务研究、教学、评测三种场景,且都以 ODC-By 开放——这是 LUDB 对社区的复合贡献。
附录 R-6:ECG 信号基础——十分钟速成
为非心电专业读者补一节基础,理解 LUDB 标注的临床含义:
一次心动周期的波形序列:
- P 波:心房去极化,正常时限 <120 ms,振幅 <0.25 mV(II 导联)。代表窦房结冲动传至心房的电活动。
- PR 间期:P 波起点到 QRS 起点,正常 120–200 ms。反映房室传导时间。
- QRS 复合波:心室去极化,正常时限 <120 ms。振幅大、变化快。
- ST 段:QRS 终点(J 点)到 T 波起点,正常与基线平齐。抬高/压低提示心肌缺血或梗死。
- T 波:心室复极化,代表心室恢复。
- QT 间期:QRS 起点到 T 终点,随心率变化。延长提示心律失常风险。
LUDB 的标注正对应这些关键切点:P 波起止(→ PR 间期起点)、QRS 起止(→ QRS 时限、J 点)、T 波起止(→ QT 间期终点)。理解了这几段,就理解了为什么"分界"是心电分析的地基。
附录 R-7:LUDB 诊断类别的临床分层
从临床严重性看,LUDB 的 8 大类可粗分为三层:
| 层级 | 类别 | 临床意义 |
|---|---|---|
| 节律层 | Rhythms、Extrasystoles、Cardiac pacing | 描述心搏起源与节律,最基础 |
| 传导层 | Conduction abnormalities、Electric axis | 描述电传导通路 |
| 结构/供血层 | Hypertrophies、Ischemia、Non-specific repolarization | 描述心肌结构与血供,最接近诊断 |
这种分层也解释了为何 LUDB 的标注覆盖度"上密下疏":节律层覆盖全库(每条都有节律),而供血层只有部分记录有发现(缺血类共约 51 例重叠计数)。
附录 R-8:如何判断一个 ECG 数据集是否适合你的任务
| 你的需求 | 关键判断问题 | LUDB 的回答 |
|---|---|---|
| 分界评测 | 是否提供 P/QRS/T 完整边界? | ✓ 全波形 |
| 分界训练 | 样本量是否足够? | ✗ 仅 200 条 |
| 分类训练 | 类别是否均衡、样本是否充足? | ✗ 长尾、样本少 |
| 分类测试 | 标签是否权威? | ✓ 专家诊断 |
| 跨设备泛化 | 是否多设备采集? | ✗ 单设备 |
| 人群多样性 | 是否多中心多地域? | ✗ 单中心 |
| 快速上手 | 是否开放直链、工具成熟? | ✓ ODC-By + WFDB |
一句话结论:LUDB 是"评测友好、训练不友好"的数据集,用对了场景就是宝,用错了场景就失望。
附录 R:LUDB 使用场景手册
场景 1:验证一个 P 波检测算法。
步骤:① 用 WFDB 读入全部 200 条记录;② 对每条记录的每个导联,算法输出 P 波起点/终点;③ 与对应导联标注文件的 (/)/p 符号比对;④ 用逐点匹配 F1(容差窗建议 50–150 ms)计算精度;⑤ 分别报告 onset、offset、peak 三类指标。注意:论文参考值 P 波起止 F1 ≥97.8% 是"起止合并"口径。
场景 2:训练一个多导联分界模型。
步骤:① 明确划分训练/验证/测试(LUDB 无官方划分,需自建,建议 10-fold);② 输入形状 (12, 5000);③ 输出 12 导联 × 三类波形的边界检测;④ 注意类别不平衡(P/T 波数量不同);⑤ 若把 LUDB 全量用于训练,测试应另选独立库(如 QTDB)以避免过拟合。
场景 3:做 ECG 参数(PR/QT)计算验证。
步骤:① 用标注的真值边界计算 PR = QRS onset − P onset、QT = T offset − QRS onset;② 用算法检测的边界算同样的参数;③ 对比两者误差,评估"分界误差如何传导到参数误差"。这是 LUDB 相对其他库的独特价值——因为它的 P/T 边界完整。
场景 4:小样本心律失常分类。
步骤:① 从 ludb.csv 取节律标签;② 按 lead II 提取信号(如 PMC PMID 39736595 的做法);③ 做特征工程或端到端模型;④ 必须处理类别不平衡(NSR 132 vs AF 15 vs SBR 24);⑤ 用分层交叉验证;⑥ 报告 per-class 指标而非只报总体准确率。
场景 5:多导联 vs 单导联对比研究。
步骤:① 分别在单导联(如 lead II)和全 12 导联上跑同一分界算法;② 对比 F1;③ 论证多导联的增益(论文案例研究的核心论点)。LUDB 的逐导联独立标注使这种对比天然成立。
附录 S:常见误用与纠正
| 误用 | 纠正 |
|---|---|
| 把 58,429 当唯一波形数 | 它是"导联 × 波形"计数,实际唯一心跳事件远少于此 |
| 用 LUDB 训练大模型后宣称 SOTA | 200 条样本不足以支撑,且易过拟合;应明确是验证用途 |
| 把 .hea 注释当结构化标签解析 | 用 ludb.csv;.hea 是扁平自由文本 |
| 忽略 1.0.0 的 ADC gain 问题 | 一律用 1.0.1 |
| 把心电轴正常 75 例当"正常人群对照" | 该库以患者为主,心电轴左偏 66 例异常偏高,非正常抽样 |
| 把两口径节律分布数字混用 | 统一用 README 官方表,标注 ECGBench 差异 |
| 声称有官方 train/test 划分 | 没有;社区自切分 |
附录 T:数据许可与伦理合规清单
| 合规项 | 状态 |
|---|---|
| 数据许可 | ODC-By 1.0(允许商用,须署名) |
| 伦理审批 | 罗巴切夫斯基大学 IRB #23(2017-10-19) |
| 知情同意 | 志愿者采集前提供书面知情同意 |
| 去标识 | 数据为信号 + 诊断,个人标识已去除 |
| 署名要求 | 数据集 DOI + 论文 + PhysioNet 标准引用 |
| 二次分发 | 允许(ODC-By) |
附录 U:LUDB 时间线全表
| 时间 | 事件 |
|---|---|
| 2015-12-01 | 资助合同签订(No. 02.G25.31.0157) |
| 2017-10-19 | IRB 批准(#23) |
| 2017–2018 | 数据采集(Nizhny Novgorod City Hospital No 5) |
| 2018-08-30 | arXiv v1 提交(论文首发) |
| 2020-09-16 | arXiv v4 修订(终稿) |
| 2020 | IEEE Access 正式发表(vol. 8, pp. 186181-186190) |
| 2021-01-19 | PhysioNet 发布 version 1.0.1 |
| 2021+ | 被 torch-ecg、ECGBench 等收录,成为分界基准 |
附录 V:相关工具链清单
| 工具 | 用途 | 与 LUDB 关系 |
|---|---|---|
| WFDB Python Toolbox | 读写生理信号 | 读取 LUDB 的标准工具 |
| WFDB Software Package | 离线信号处理 | 同上(C 版) |
| torch-ecg | PyTorch ECG 数据库接口 | 内置 LUDB loader |
| ECGBench | ECG 数据集统一加载与切分 | 收录 LUDB,提供 10-fold |
| ecg-kit | MATLAB ECG 分析工具 | 论文案例研究对照工具 |
| scikit-learn | 分类/评估 | 分类任务常用 |
附录 W:跨数据集互操作注意事项
把 LUDB 与其他 ECG 库联合使用时,须注意以下不一致:
- 采样率不同:LUDB 500 Hz、QTDB 250 Hz、MIT-BIH 360 Hz——联合建模前必须重采样到统一频率。
- 时长不同:LUDB 10 秒、QTDB 15 分钟、MIT-BIH ~30 分钟——需切分或填充到统一下游尺寸。
- 导联数不同:LUDB 12 导联、QTDB 2 导联、MIT-BIH 2 导联——单导联模型需统一选择(如都用 lead II)。
- 标注符号可能有差异:不同库的 WFDB 标注符号集未必完全一致,读入后应核对。
- 诊断标签体系不同:各库分类编码不通用,多库联合训练需建立标签映射。
PMC PMID 39736595 的做法可作为参考:它把 LUDB(500 Hz,lead II)与 QTDB(250 Hz,lead II)的信号统一切分为 5,000 点固定长度,再各自截取所需类别,从而绕开时长/采样率差异。
附录 X:给数据集设计者的启示卡
- "验证库"是一门独立的生意:LUDB 证明,不追求样本量、只追求标注质量的数据集,也能成为领域基础设施。
- 完整性即通用性:全波形、逐导联的标注,使 LUDB 能被"反向"用作训练集,扩大了生命周期。
- 符号约定要标准化:采用 WFDB 标准格式与符号,是 LUDB 工具链无缝接入的关键。
- 开放许可放大影响:ODC-By 的宽松条款与 PhysioNet 的直链,让 LUDB 零摩擦进入每一个实验室。
- 文档就是产品:README 把分布、文件结构、引用规范讲得清清楚楚,降低了使用门槛——这是小库能与大库竞争的重要因素。
附录 Y:LUDB 数据使用检查表(打印版)
下载 LUDB 后,逐项打勾确认:
- [ ] 版本为 1.0.1(非 1.0.0,避免 ADC gain 问题)
- [ ] 记录数为 200 条
- [ ] 能用 WFDB 读入信号,形状
(5000, 12)或(12, 5000) - [ ] 单位确认为 mV(幅值合理,非千倍偏差)
- [ ] 能读入 12 个逐导联标注文件,符号含
(/)/p/N/t - [ ] 能用 pandas 读 ludb.csv,并按
\n拆分多值单元格 - [ ] 已处理记录 34 的年龄 “>89” 特例
- [ ] 已剥离字符串单元格的尾部换行
- [ ] 已按需求选择统一导联(如 lead II)
- [ ] 已明确训练/测试划分方式(LUDB 无官方划分)
- [ ] 已按 ODC-By 要求准备署名(数据集 DOI + 论文)
- [ ] 已核对评测口径(容差窗/合并方式/平均方式)
附录 Z:LUDB vs 其他 ECG 库五维雷达对照
| 维度 | LUDB | QTDB | MIT-BIH | MIMIC-IV-ECG |
|---|---|---|---|---|
| 规模 | 低(200) | 低(105) | 低(48) | 极高(80 万+) |
| 标注精度 | 极高 | 中 | 高 | 低 |
| 波形完整度 | 极高(全波形) | 中(有缺口) | 低(仅 QRS) | 低 |
| 获取便利 | 极高(直链) | 高(直链) | 高(直链) | 高(需申请) |
| 任务适配 | 分界 | 分界 | 分类 | 分类 |
读表结论:LUDB 在"标注精度"与"波形完整度"两维满分,在"规模"维度最低——这是"黄金标准库"的典型特征:规模与精度天然权衡。
附录 AA:常见检索词的指向
| 检索词 | 正确指向 |
|---|---|
| LUDB | 本条目 |
| Lobachevsky University ECG | 本条目 |
| 罗巴切夫斯基 心电图 | 本条目 |
| ECG delineation database | 任务类别(topic=delineation),LUDB 为代表 |
| QT database | QT-Database(rid 122) |
| MIT-BIH arrhythmia | MIT-BIH Arrhythmia(rid 69) |
| WFDB | 格式标准(被多个库采用) |
| Schiller Cardiovit AT-101 | LUDB 采集设备 |
| Cyberheart project | LUDB 所属项目 |
附录 AB:条目自证清单
本条目所有陈述均可回溯至以下一手来源:
- PhysioNet LUDB 数据集页(
https://physionet.org/content/ludb/1.0.1/)——摘要、Methods、Data Description、Release Notes、Usage Notes。 - PhysioNet LUDB README(
.../1.0.1/README)——全部类别分布表、文件结构、贡献者、伦理信息。 - arXiv:1809.03393 摘要页——论文时间线(v1/v4)、作者、页数。
- torch-ecg LUDB 文档——两个任务定义、1.0.0 ADC gain 问题。
- ECGBench(HuggingFace Space)LUDB 页——ODC-By 1.0 许可、ludb.csv 特性、记录 34 年龄特例、10-fold 切分。
- MDPI Algorithms 2025;18(11):689——多类多标签说明、导联/采样率二次证实。
- PMC PMID 39736595——LUDB+QTDB 联合使用案例、NSR/AF/SBR 计数。
附录 AC:坑点速记卡(回看版)
记住这六个数,LUDB 的坑就避开大半:
58429 是导联级计数(坑 1);除心律外类别极稀疏(坑 2);ludb.csv 换行分隔(坑 3);单中心单设备(坑 4);节律分布两口径(坑 5);读 csv 不读 hea(坑 6)。
再加四条:F1 口径要核对(坑 7);不是正常人群库(坑 8);房颤样本稀缺(坑 9);必须用 1.0.1(坑 10)。
延伸阅读与资源
一手资源
| 资源 | 链接 |
|---|---|
| PhysioNet 数据集页 | https://physionet.org/content/ludb/1.0.1/ |
| PhysioNet README | https://physionet.org/content/ludb/1.0.1/README |
| 数据目录 | https://physionet.org/content/ludb/1.0.1/data/ |
| 论文 DOI | https://doi.org/10.1109/ACCESS.2020.3029211 |
| 数据集 DOI | https://doi.org/10.13026/eegm-h675 |
| arXiv 预印本 | https://arxiv.org/abs/1809.03393 |
| Cyberheart 项目页 | http://www.cyberheart.unn.ru/database |
工具与生态
| 资源 | 说明 |
|---|---|
| WFDB Python Toolbox | https://pypi.org/project/wfdb/ |
| WFDB Software Package | https://archive.physionet.org/physiotools/wfdb.shtml |
| torch-ecg LUDB 文档 | https://deeppsp.github.io/torch_ecg/api/generated/torch_ecg.databases.LUDB.html |
| ECGBench | HuggingFace Space vlbthambawita/ECGBench |
| PhysioNet delineation 专题页 | https://www.physionet.org/content?topic=delineation |
相关文献
- Kalyakulina et al. LUDB: A New Open-Access Validation Tool for ECG Delineation Algorithms. IEEE Access 2020;8:186181-186190.
- Kalyakulina et al. Finding morphology points of electrocardiographic-signal waves using wavelet analysis. Radiophysics and Quantum Electronics 2019;61(8-9):689-703.
- Moskalenko, Zolotykh, Osipov. Deep Learning for ECG Segmentation. International Conference on Neuroinformatics 2019:246-254.
- Moody & Mark. The impact of the MIT-BIH arrhythmia database. IEEE Eng Med Biol Mag 2001;20(3):45-50.
- Laguna et al. A database for evaluation of algorithms for measurement of QT and other waveform intervals in the ECG. Computers in Cardiology 1997:673-676.
- 独立使用案例:ECG Signal Analysis and Abnormality Detection Application. Algorithms 2025;18(11):689.
- 独立使用案例:An improved electrocardiogram arrhythmia classification performance with feature optimization. PMC PMID 39736595.
本条目关联的库内条目
| 条目 | rid | 关联类型 |
|---|---|---|
| QT-Database | 122 | 前代对照 |
| MIT-BIH Arrhythmia | 69 | 分类对照 |
| MIT-BIH AFDB | 115 | 房颤相关 |
| MIMIC-IV-ECG | 172 | 大库互补 |
| ltafdb | 668 | 房颤长程 |
| apnea-ecg | 658 | 同平台生理信号 |
结语
LUDB 是一个把"少而精"做到极致的数据集:它不追求规模,却凭借 200 条记录、58429 个逐导联人工标注波形,成为了心电图波形分界领域公认的黄金标准。它的故事说明了一个朴素却常被忽视的道理——在验证类任务上,一份权威、完整、开放的小数据,比一份庞大、粗糙、封闭的大数据更有价值。无论你是刚入门的心电算法学习者,还是资深的分界模型研究者,LUDB 都值得在你的工具箱里占一个位置:作为那条衡量"标得准不准"的基准线。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- code-test — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- ecg-arrhythmia — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- ecg-fragment-high-risk-label — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- code-ii — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- norwegian-athlete-ecg — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- brugada-huca — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- mit-bih-afdb — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- cinc-2021 — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- icentia11k — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
- ltafdb — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

