EchoNet-Dynamic — 心脏超声视频心功能 AI-Ready Wikipedia

10,030 段心脏超声视频与射血分数基准数据集

来源 斯坦福大学医学院(Stanford University School of Medicine) url: https://echonet.github.io/dynamic/发布时间: 2026-09-18最后更新: 2026-09-25 阅读 24
EchoNet-Dynamic — 心脏超声视频心功能 AI-Ready Wikipedia

信息速览

数据集名称EchoNet-Dynamic — 心脏超声视频心功能 AI-Ready Wikipedia
数据类型10,030 段超声视频,约 7.9 GB AVI,7,465/1,288/1,277 官方划分,注册签署 RUA 获取,非商业研究许可
规模10,030 名受检者(每段视频对应 1 名独立个体)
接入方式斯坦福大学医学院(Stanford University School of Medicine) url: https://echonet.github.io/dynamic/
AI 就绪度

EchoNet-Dynamic — 心脏超声视频心功能评估 AI-Ready Wikipedia


INFOBOX

数据集名称 EchoNet-Dynamic
英文全称 EchoNet-Dynamic: a Large New Cardiac Motion Video Data Resource for Medical Machine Learning
别名/简称 EchoNet-Dynamic、EchoNet Dynamic、EchoNet-Dynamic Dataset
疾病分类 心力衰竭及左心室功能障碍谱系(ICD-11:CB4Z 心力衰竭)
SNOMED CT 84114007 Heart failure(详见 §2.2)
数据模态 超声心动视频(心尖四腔心切面,经胸)
AI 任务类型 EF 回归、左心室内膜分割、HFrEF 二分类、视频表征学习、超声基础模型评测
样本总数 10,030 段视频 / 10,030 名独立受检者
数据大小 约 7.9 GB(解压后 AVI + CSV)
数据格式 AVI(112×112 像素)/ CSV(3 张元数据表)
许可证 Stanford EchoNet-Dynamic Dataset Research Use Agreement(非商业研究专用)
访问级别 申请审核(官网注册 + 签署 RUA 后发放限时下载链接)
DUO 标签 NPUNCU(非商业非营利)
语言 英文(文档与元数据)
首发日期 2020-01-16(官方代码库)/ 2020-03-25(Nature 论文与正式数据版)
最后更新 2020-03-25(正式版发布后数据冻结,不再更新)
发布机构 斯坦福大学医学院
官方主页 https://echonet.github.io/dynamic/
下载地址 https://echonet.github.io/dynamic/(注册后获得 Azure Blob 限时 SAS 链接)
DOI 10.1038/s41586-020-2145-8(论文)
AI 就绪度评分 ⭐⭐⭐⭐⭐(5/5)— 官方划分、统一预处理(112×112 AVI)与 PyTorch 训练代码齐备,git clone 即可复现基线;扣分项:RUA 注册制获取有等待周期、EF 标签含临床测量噪声、分辨率仅 112×112
页面状态 published

§0 页面可信度与审核信息

§0.1 审核声明

  • 医学审核:[千方病案医学编辑部] 交叉审核:§2 医学背景(心力衰竭谱系与 ICD-11/SNOMED 映射)、§7 偏倚分析。
  • 数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
  • 审核日期:2026-09-05。

§0.2 免责声明

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。EchoNet-Dynamic 要求每位用户在官方站点注册并签署 Stanford EchoNet-Dynamic Dataset Research Use Agreement(RUA),协议明确禁止再分发数据与分享下载链接。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。

§0.3 维护与更新

本条目内容基于 2020-03 冻结版数据集与 2026-09 检索时的公开资料撰写;数据集本体发布后不再更新,但官方代码库与许可条款可能持续演进。若官方站点发生重大变化(许可条款修订、代码库接口变更、下载流程调整),编辑部将复核并更新受影响章节,并同步更新 §0.1 审核日期。


§1 数据集概览

§1.0 30 秒速览

这是什么? EchoNet-Dynamic 是斯坦福大学在 2020 年 3 月发表于 Nature 的论文中同步发布的心脏超声视频数据集。它收录了 2016-2018 年斯坦福大学医院日常临床工作中采集的 10,030 段心尖四腔心超声心动视频,每段视频都带有超声技师测量、心超医师核验的射血分数(EF)、左室舒张末期与收缩末期容积(EDV/ESV),以及舒张、收缩两帧的左室内膜描记坐标。

为什么重要? 在它出现之前,公开的超声数据集通常只有数百例静态图像;EF(每次心跳左室泵出血液的比例)又是临床最常用、也最依赖人工经验的心功能指标。EchoNet-Dynamic 第一次让「万段规模视频 + 临床级连续标签」同屏出现,并给出了模型重复测量稳定性优于人工的量化证据,直接把心脏超声 AI 从「能不能看图」推进到「能不能量化心功能」的阶段。

我能用它做什么? 训练 EF 回归模型(官方基线 MAE 4.1%)、训练左室内膜分割模型(官方基线 Dice 0.92)、做超声视频自监督预训练与基础模型评测,或者研究「AI 与人工阅片谁更稳定」这类临床方法论问题。注意:数据只能用于非商业研究,且每位使用者都需单独注册签署 RUA。

30 秒之后的下一步:了解数据怎么拿到 → §3.0 与 §6.2;看字段与目录结构 → §4;直接跑代码 → §6.1;判断质量与坑 → §6.5 与 §7。时间紧张的读者按此路径各取所需即可。

§1.1 技术摘要

EchoNet-Dynamic 的构建流程是:从斯坦福大学医院 Philips Xcelera PACS 中回顾性导出 2016-2018 年经胸超声检查的 DICOM 视频,筛选出质量合格的心尖四腔心切面;由 IRB、斯坦福 AIMI 与校隐私办公室联合设计去标识化方案,将 DICOM 像素数据解析为哈希文件名的 AVI,遮蔽烧录文本、ECG 与呼吸波形,并逐条人工复核;视频统一三次插值降采样至 112×112 像素并以遮罩裁剪,去除扫描扇区外的无关信息。标签侧复用临床工作流既有测量:注册超声技师按 Simpson 双平面盘法在舒张末期(ED)与收缩末期(ES)两帧描记左室内膜,level-3 心超医师核验后得到 EF、EDV、ESV,官方再以配对端点坐标形式发布描记数据。全库按视频随机划分为 TRAIN 7,465 / VAL 1,288 / TEST 1,277 段,每段视频对应一名独立受检者,从源头避免了同患者跨划分泄漏。官方同时开源了 R(2+1)D-18 视频回归与 DeepLabV3-ResNet50 分割两条基线,构成此后数十篇后续工作的公共对照组。

核心事实卡:

  • 规模:10,030 段视频,一一对应 10,030 名独立受检者;官方划分 TRAIN 7,465 / VAL 1,288 / TEST 1,277。
  • 模态:经胸超声心动图,仅心尖四腔心切面,统一降采样为 112×112 像素 AVI,全库约 7.9 GB。
  • 标签:EF、EDV、ESV(临床 Simpson 双平面测量)+ ED/ES 两帧左室内膜配对描记坐标 + 20 余项常规测量。
  • 获取:官网注册签署 RUA 后发放限时下载链接;仅限非商业研究,禁止再分发与分享链接。
  • 基线:官方 PyTorch 实现(EF 回归 + 分割),测试集 MAE 4.1%、Dice 0.92,git clone 即可复现。

§1.2 战略价值

维度一:任务难度与临床相关性的交汇点。 EF 回归不是「分类一张图」,而是从数十到数百帧的时序影像中识别心动周期、定位 ED/ES 两帧、再回归出一个连续临床量。这使该数据集天然成为视频理解(帧采样、时序建模)与医学约束(盘法几何、容积守恒)的交叉考场。官方前瞻性实验显示,模型同日重复测量的中位差异为 2.6%,低于人工 Simpson 双平面法的 5.2%,这一「AI 比人更稳定」的证据让 EF 回归成为少数有临床方法论背书的视频任务。

维度二:生态位标准。 由于规模、划分与评测协议高度稳定(数据自 2020 年冻结),后续工作几乎默认在此汇报测试集 MAE,形成了从自监督预训练(EchoCardMAE)、分割(MemSAM、SAMUS)到生成(EchoDiffusion、EchoNet-Synthetic)与基础模型(EchoApex、EchoPrime、PanEcho)的完整生态。对研究者而言,这意味着「一次对齐协议,处处可比」;对工程团队而言,它同时是预训练权重与下游微调的公共底座。

维度三:方法论范本价值。 官方论文同时示范了三件「数据集论文该做而常被省略」的事:用前瞻性重复测量实验量化标签与模型各自的稳定性、用盲法复核暴露标签噪声、用外部中心数据给出泛化滑坡的诚实估计。这使本库不仅是一个训练资源,也是「如何严谨地发布临床影像数据集」的可引用范例——后续数据集工作可对照其协议设计自己的验证实验。

§1.3 同类数据集横向对比

数据集 规模量级 模态与格式 标注内容 与 EchoNet-Dynamic 的差异
EchoNet-Dynamic 10,030 段视频 超声 A4C 视频,112×112 AVI EF/EDV/ESV + ED/ES 描记坐标 —
CAMUS 数百名患者量级 超声 A2C/A4C,保留原始 DICOM 像素 ED/ES 帧 LV 分割掩码 + EF 规模小一个数量级,但保留原始分辨率与第二切面,适合几何精度研究
EchoNet-Synthetic 10,030 段合成视频 仿真超声视频 按 EF 条件生成,自带真值 与本数据集刻意同规模的合成对照组,适合域随机化与泛化研究
MIMIC-III(对照) 4 万余名患者 结构化 EHR 诊断/用药/监护波形 非影像;两者常在「影像 + EHR」多模态研究中互补引用

选型启示:追求规模与临床级连续标签选 EchoNet-Dynamic;追求原始分辨率与几何真值选 CAMUS;研究生成与域随机化用 EchoNet-Synthetic;需要 EHR 结局关联时与 MIMIC-III 做群体级互补。四者并非竞争关系,而是同一研究管线中不同环节的工具。

§1.4 版本时间轴

日期 事件 说明
2019-12 ML4H @ NeurIPS 2019 工作坊论文 数据资源首次公开描述:10,036 段(采集期 2006-2018),早期划分 7,465/1,289/1,282
2020-01-16 官方代码库首次发布 github.com/echonet/dynamic,含去标识化转换 Notebook 与两条基线
2020-03-25 Nature 论文上线 + 正式数据版 定稿为 10,030 段(采集期 2016-2018),官方划分 7,465/1,288/1,277 冻结至今

⚠️ 版本差异提示:早期工作坊版与正式版的段数、划分与采集窗口均不同(详见 §3.0),引用时务必注明所用版本。两个版本共享同一批原始采集,差异来自正式发布前的进一步质量筛选——被移除的 6 段视频未公开清单,这也是「训练前在本机重算统计」被反复强调的原因(§4.2、§4.3)。

§1.5 典型应用场景

  1. 心功能筛查算法研发:以 EF 回归为核心任务训练视频模型,用于心功能障碍的大规模筛查前置分流。
  2. 超声视频自监督预训练:将 10,030 段视频作为语料库做掩码重建/对比学习,再迁移到小样本下游数据(如 CAMUS)。
  3. 时序医学影像评测基准:评测新视频架构(Transformer、状态空间模型、基础模型)在连续临床量回归上的表现。
  4. 人机稳定性对比与标注质量研究:利用官方前瞻性重复测量协议,量化模型与不同阅片者的一致性边界。
  5. 教学与合规研究:作为「临床工作流标签复用 + 三层去标识化」的范例,研究回顾性影像数据集的合规构建路径。

不适合的场景:需要原始分辨率或原始 DICOM 的几何与图像质量研究(应改用 CAMUS 等保留原始像素的数据集);需要多切面(胸骨旁长轴、短轴等)的全面心脏评估(本库仅 A4C);需要逐心拍标注的节律异常精细研究(标签为单心动周期,逐拍分析需自行从视频推导);任何商业产品开发与直接临床决策用途(RUA 明确禁止);依赖检查时间戳或纵向随访的队列研究(官方未提供检查时间)。


§2 医学背景

§2.1 ICD-11 编码映射

EchoNet-Dynamic 本身不带诊断标签,其标签(EF/EDV/ESV)是心功能障碍严重程度的连续量化。与标签直接相关的 ICD-11 结局编码如下:

标签/概念 ICD-11 编码 ICD-11 中文名 说明
心力衰竭(低 EF 的临床结局) CB4Z 心力衰竭 HFrEF 诊断的核心依据之一为 EF 降低
左心室收缩功能障碍 编码于 CB4Z 扩展轴 左室收缩功能不全 以 EF 阈值界定,详见 §2.3

说明:本数据集不提供 ICD 诊断列;上表用于理解「低 EF 样本」的临床含义,不应逆向当作诊断标签使用。

§2.2 SNOMED CT 映射

标签/概念 SNOMED CT 码 英文术语 中文术语
心力衰竭 84114007 Heart failure 心力衰竭
射血分数 测量概念,随 SNOMED 版本变化 Ejection fraction 射血分数

建议在下游研究中以 EF 连续值自行定义阈值(如 EF < 50%),避免直接依赖诊断编码映射。如此处理的原因有二:编码映射随术语版本变动,维护成本高;连续阈值可按任务灵活设定,比二元诊断编码保留更多信息。

§2.3 疾病简介与流行病学

射血分数(Ejection Fraction,EF)定义为每次收缩期左室泵出血量占舒张末期容积的百分比,即 EF = (EDV − ESV) / EDV × 100%,是全球最常开具的心功能定量指标。按现行临床指南惯例,EF ≤ 40% 归为射血分数降低的心力衰竭(HFrEF),41-49% 为轻度降低(HFmrEF),≥ 50% 为保留(HFpEF)。心力衰竭是一类进展性综合征,患病人群庞大且随人口老龄化持续增长,超声心动图因其无创、床旁可及、无电离辐射,成为 EF 测量的一线手段。值得注意的是,人工 EF 测量依赖操作者对切面与心周期的主观判断:Nature 论文报告的同日重复测量中,人工方法的差异中位数为 5.2%(SD 6.9),而阅片者间变异可达 13.9%,这正是该数据集试图用视频 AI 收窄的变异性来源。

EF 谱系分类与数据集样本的对应关系:

EF 范围 指南分类 临床含义 与数据集的关联
EF ≤ 40% HFrEF(射血分数降低) 心室收缩功能明显受损,药物与器械治疗证据最充分 低 EF 检出任务(官方 AUC 0.97)的目标人群
EF 41-49% HFmrEF(轻度降低) 介于两类之间,治疗证据逐步积累 EF 连续值回归的中段样本
EF ≥ 50% HFpEF(射血分数保留) 收缩指标正常,舒张功能障碍需另行评估 构成数据集分布主峰(全库均值 55.7%)

§2.4 临床任务定义

临床任务 数据集对应 定义与阈值
心功能定量(筛查/监测) EF 回归 从视频直接回归 EF 连续值,替代或辅助人工 Simpson 双平面测量
心功能障碍判定 HFrEF 二分类 以 EF < 50% 为阈值的二分类,官方基线 AUC 0.97
容积评估 EDV/ESV 回归 左室舒缩末容积(mL),反映心室重构
内膜轮廓量化 LV 分割 ED/ES 两帧左室内膜描记的像素级回归/分割
节律下测量稳健性 逐拍分析 beat_analysis.R 支持逐心动周期测量,研究房颤等节律下的 EF 变异

表中任务的共同前提是「先理解临床测量、再设计模型输出」:EF 回归是全部任务的核心,其余任务要么是它的阈值化(二分类)、要么是它的中间量(容积与分割)、要么是它的时序展开(逐拍分析)。建议新团队从 EF 回归单任务起步,跑通官方协议后再扩展。

§2.5 患者人群画像

维度 数值/描述 来源
采集地点 斯坦福大学医院(单中心,三级/四级转诊) 官方主页
采集时间 2016-2018 年常规临床护理 官方主页
性别构成 女性 48% ML4H 2019 工作坊论文
年龄 68 ± 21 岁 ML4H 2019 工作坊论文
种族/族裔 官方未随数据发布分层统计 —
就医类型 因临床指征接受经胸超声的门诊与住院患者 ML4H 2019 工作坊论文

人群画像解读:这是一组「因临床指征而做超声」的转诊人群,而非健康筛查队列——老年为主、疾病谱跟随超声检查指征分布,意味着库内的「正常 EF」样本同样来自患者而非志愿者。种族维度未随数据发布,使下游公平性审计无法在本库内完成(§7.5)。使用者在论文与文档中叙述人群边界时,应表述为「某三级学术中心 2016-2018 年的经胸超声受检人群」,避免外推为「普通人群心功能」。

§2.6 临床价值

对算法研究者,该数据集把「看懂超声」细化为可优化的连续目标:EF 的临床决策价值在于分诊(是否收入心衰门诊、是否启动规范药物治疗)、监测(化疗心脏毒性随访)与预后分层。对临床信息学团队,官方前瞻性实验(55 名患者、同日两名技师)提供了难得的「模型重复性 vs 人工重复性」量化锚点:模型中位重复差 2.6% 低于人工 5.2%,提示视频模型可作为稳定化的第二读片者。对质控与运营团队,逐拍分析(beat-by-beat)能力可将「单周期 EF」扩展为「全周期 EF 分布」,暴露节律异常患者被单次测量掩盖的信息。这些应用共同指向一个定位:EchoNet-Dynamic 训练的模型是临床工作流的增效器,任何确诊与治疗决策仍需医师与完整临床证据链。

若你的团队目标是论文方法验证,优先使用官方划分与协议(§8.3);若目标是院内工具落地,把 §2.4 的任务表当作需求对齐清单,与心超科室逐行确认每项任务在本地工作流中的位置与责任人。

§2.7 标注金标准

划分 标注方式 标注者 性质
ED/ES 两帧 Simpson 双平面法:沿左室长轴放置短轴线段,面积沿长轴积分(盘法)求容积,EF 由两容积计算 注册超声技师测量,level-3 心超医师核验 临床级(复用日常报告值,非研究级独立双盲标注)

与研究级数据集不同,这里的「金标准」是真实临床工作流的产出——它的优点是与部署场景同分布,缺点是携带临床测量固有的噪声与变异(详见 §7.2 与坑点 1)。

两层含义值得展开。其一,「临床级」意味着标签与部署场景同分布:模型训练时面对的测量习惯、设备条件与未来上线时一致,这是刻意复用临床工作流的好处。其二,它同时意味着标签继承了临床测量的全部变异来源(描记者差异、单周期抽样、帧选择的主观性),研究级数据集常用的「独立双盲双标注 + 仲裁」流程在本库并不存在。因此任何「模型 vs 标签」的误差分析,都应把这部分变异当作地板而非误差来源。


§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
复现官方基准 / 投稿对比 Nature 2020 正式版(官方直发) 约 7.9 GB 与全部已发表基准的划分一致(7,465/1,288/1,277)
快速原型验证 / 教学演示 HuggingFace 镜像(miyuki17/EchoNet-Dynamic-unzipped) 7.93 GB 免注册直接拉取,已解压分 batch 子目录,仅限研究用途
数据合成 / 生成模型研究 EchoNet-Synthetic(配套合成集) 视官方页 与正式版同规模的 10,030 条合成视频,含条件真值
历史文献对照 ML4H 2019 工作坊版 已不再分发 仅 10,036 段、采集窗口 2006-2018,与现行划分不兼容

提醒:无论选择哪条获取路径,研究合规义务(RUA 逐人注册、非商业、禁再分发)不因渠道而免除;第三方镜像仅解决「下载便利」,不改变许可归属与合规边界(§7.4、坑点 8)。

§3.1 模态详情

  • 成像方式:经胸超声心动图(TTE),二维灰阶视频。
  • 切面:仅保留心尖四腔心(apical-4-chamber,A4C)切面中质量合格者;其他切面未收录。
  • 输出分辨率:112×112 像素。原始采集为 600×600 或 768×768,经三次插值降采样,并以遮罩裁剪去除烧录文本、ECG、呼吸波形与扫描扇区外区域。
  • 时间属性:每段视频截取至少一个代表性心动周期;平均帧率 50.9 ± 6.8 FPS,平均帧数 175 ± 57 帧(ML4H 版统计)。
  • 派生帧:官方 CSV 额外提供 ED/ES 两帧的原始尺寸帧与描记版帧(LargeFrame/SmallFrame、LargeTrace/SmallTrace,见 §4.1)。
  • 灰阶属性:视频为二维灰阶影像;原始 DICOM 中的彩色血流等多普勒信息不在发布范围内,多普勒任务不适用本库。
  • 质量筛选:仅保留「质量合格」的 A4C 视频,但排除标准的逐条清单未随数据发布,无法回溯每段被排除视频的具体原因。

§3.2 子集构成

子集 视频段数 占比 用途
TRAIN 7,465 74.4% 训练(官方基线与后续工作均在此调参训练)
VAL 1,288 12.8% 模型选择与早停
TEST 1,277 12.7% 最终汇报,官方协议要求仅评测一次
合计 10,030 100% 每段视频对应 1 名独立受检者

划分比例的工程含义:TRAIN 占 74.4%,对万段规模而言绝对量充足,官方基线在 7,465 段上即可收敛至 4% 级 MAE;VAL 与 TEST 各占约 13%,统计功效有限——TEST 上 0.1 个百分点级的 MAE 差异可能落在波动区间内,这正是 §8.1 强调协议一致性的原因之一。「每段视频对应一名独立受检者」的设计,使段级指标与患者级指标在本库内部完全等价,但跨库联合时该等价性不再成立(§4.4)。

§3.3 数据格式

文件 格式 内容
Videos/ AVI(每个文件一段视频) 112×112 灰阶视频,哈希文件名
FileList.csv CSV FileName / Split / EF / EDV / ESV / NumberOfFrames / FPS
VolumeTracings.csv CSV FileName / Frame / X1 / Y1 / X2 / Y2(配对端点线段)
Measurements.csv CSV 20 余项常规临床测量(IVSd、LVIDd、LVPWd 等,覆盖子集有限)

三张 CSV 的粒度与连接关系:FileList.csv 一行一段视频(10,030 行),是主表;VolumeTracings.csv 一行一条描记线段,每段视频 2 帧 × 多条线段,行数远大于视频数,使用前需按 FileName 聚合;Measurements.csv 仍是视频级粒度但仅覆盖部分检查,与主表 join 前务必统计覆盖率(§4.5)。三表均以 FileName 为连接键,且 FileName 不含 .avi 扩展名。

§3.4 存储大小

  • 官方打包下载约 7.9 GB(ZIP,AVI 视频 + 3 张 CSV)。
  • HuggingFace 镜像实测 7.93 GB;因镜像平台单目录 1 万文件上限,视频按 batch_01 起的子目录分片存放。
  • 实际磁盘占用建议预留 20 GB 以上(解压 + 预处理缓存帧)。
  • 网络传输预估:官方 ZIP 约 7.9 GB,常规办公带宽下载数十分钟至数小时;经共享盘二次中转时注意目标系统的单目录文件数限制(坑点 7)。
  • 单段体积:由总大小与段数推算,平均约 0.8 MB/段;单文件体积小但数量大,批量随机读取的性能特征与单大文件差异显著(坑点 7)。

§3.5 标注方式

标签全部来自临床工作流复用,而非为研究额外标注:EF、EDV、ESV 取自超声报告中的 Simpson 双平面测量;VolumeTracings.csv 将报告对应的 ED/ES 描记以配对端点坐标形式结构化导出;Measurements.csv 汇集同次检查的其他常规测量。测量协议为「非穷尽」约定——每段视频仅测量一个代表性心动周期,而非逐一标注所有心拍。

这一设计直接影响本库的定位:它是「测量导出集」而非「标注任务集」——研究者拿到的 EF 不是为训练模型而重新标注的值,而是临床报告的既有产出。优点是规模与真实性(万段规模的独立研究级标注在成本上不可行),代价是 §7.2 详述的噪声结构。若你的研究需要研究级一致性标注(例如多位标注者独立描记加仲裁),应考虑在自采子集上补建,而非期望在本库内获得。

§3.6 标注者资质与一致性

测量由注册超声技师执行,level-3 心超医师核验签发;论文另以「同日两名技师重复采集 + 盲法复核分歧样本」两条路径量化了人工与模型的一致性:人工重复差中位 5.2%、阅片者间变异可达 13.9%;对模型与人工分歧最大的视频做盲法复核,43% 的视频中临床医生更认可模型预测——即标签本身存在可测量的噪声(详见 §7.2、坑点 1)。

值得注意的推论:既然「模型预测」能在相当比例的分歧样本中获得医生认可,把临床标签当作唯一真值来评价模型,会同时低估模型的实际能力与标签的噪声水平。这也是后续自监督与噪声鲁棒方法(EchoCardMAE 等)把本库当作理想试验场的原因之一。

§3.7 采集周期

正式版数据全部采集于 2016-2018 年;早期工作坊版覆盖 2006-2018。数据发布后(2020-03)不再新增,属于冻结型基准。

冻结型基准的含义:所有后续论文的对比都建立在同一份不变数据上,这是本库可比性优势的来源;但也意味着它无法反映 2018 年之后的设备迭代、成像协议演变与人群构成变化(§7.6),长期部署项目必须自建近期参照数据。

§3.8 地域覆盖

单中心:美国加利福尼亚州斯坦福大学医院。无多地域采样设计,外部泛化需依赖外部验证集(官方使用 Cedars-Sinai 数据,见 §7.8)。

若研究目标人群与美国三级中心差异较大(如基层筛查场景、儿科人群),应把本库定位为预训练语料而非最终训练集,并在目标域数据上完成微调与验证(坑点 6)。

§3.9 采集设备规格

设备 厂商 说明
iE33 Philips 经胸超声主机
Sonos Philips(传承产品线) 经胸超声主机
Acuson SC2000 Siemens 经胸超声主机
Epiq 5G / Epiq 7C Philips 经胸超声主机
Xcelera PACS Philips 影像存储与导出系统(数据出口)

设备型号清单来自 ML4H 工作坊论文;数据集不提供逐视频的设备字段,设备层面的分布需自行估计。

设备字段缺失的实际影响:无法按设备分层评估、无法在训练中做设备条件化、无法预判「新机型零样本性能」。可行的缓解路径有二——用图像风格特征聚类充当代理设备指纹(无监督估计设备簇),或在与论文作者团队的后续研究中核对设备批次信息;两者都应作为假设检验而非既定事实写入分析。

§3.10 深度溯源链

完整溯源链如下(每一环均有官方 Notebook 或论文段落背书):

  1. 临床采集:注册超声技师在多款设备上采集经胸超声,图像汇入 Philips Xcelera PACS 存储。
  2. 切面筛选:从常规检查中筛出质量合格的心尖四腔心(A4C)切面视频。
  3. 合规审批:IRB、斯坦福 AIMI 与校隐私办公室联合设计去标识化方案。
  4. 去标识化转换:DICOM 像素数据解析为哈希文件名 AVI,遮蔽烧录文本、ECG 与呼吸波形(ConvertDICOMToAVI.ipynb 公开于官方代码库,逻辑可审计)。
  5. 人工复核:医院员工逐条检查残留标识信息后方可进入发布池。
  6. 降采样与裁剪:三次插值降至 112×112 像素,遮罩裁剪去除扫描扇区外的无关区域。
  7. 标签配对:与临床测量(EF/EDV/ESV)及描记坐标(VolumeTracings)按 FileName 配对,附加常规测量(Measurements)。
  8. 划分冻结:按视频随机划分为 TRAIN/VAL/TEST,随 Nature 论文发布后不再变动。

§4 数据结构

§4.0 目录树

EchoNet-Dynamic/
├── Videos/
│   ├── 0X1A0A6ABC2E93669.avi        # 哈希命名的 112×112 AVI 视频
│   ├── 0X1C40D2698B6D303.avi
│   └── ...                          # 共 10,030 个文件
├── FileList.csv                     # 每行一段视频:划分 + EF/EDV/ESV + 帧信息
├── VolumeTracings.csv               # 每行一条描记线段:配对端点坐标
└── Measurements.csv                 # 常规测量子集(IVSd/LVIDd/LVPWd 等)

目录树要点:Videos/ 内文件名与 FileList.csv 的 FileName 一一对应(补 .avi 扩展名);三张 CSV 均位于根目录,无嵌套子目录。官方 ZIP 解压即得此结构;第三方镜像为 batch 子目录布局,需先合并(坑点 7)。

§4.1 DAIMS 字段字典

字段 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
FileName 文本 视频哈希文件名(无扩展名) 0X1A0A6ABC2E93669 主键,关联三表 无 无缺失 16 位十六进制
Split 文本 官方划分 TRAIN 复现协议 无 无缺失 TRAIN/VAL/TEST
EF 浮点 射血分数(%) 55.7 回归目标/分类阈值 临床测量噪声(阅片者间可达 13.9%) 无显式编码 约 5-95
EDV 浮点 舒张末容积(mL) 91.0 回归目标 依赖内膜描记质量 无显式编码 约 20-350
ESV 浮点 收缩末容积(mL) 43.3 回归目标 同上 无显式编码 约 5-250
NumberOfFrames 整数 视频总帧数 175 帧采样策略 无 无缺失 约 24-500+
FPS 浮点 帧率 50.9 时间轴对齐 设备间差异(SD 6.8) 无缺失 约 30-70
Frame 整数 描记所在帧号 24 ED/ES 定位 无 无缺失 0 至 NumberOfFrames−1
X1/Y1/X2/Y2 浮点 描记线段端点坐标(像素) 25.5/40.1/25.5/92.3 分割监督/容积复算 描记者间变异 无显式编码 0-112

注意:VolumeTracings.csv 中第一对线段约定为左室长轴(心尖至二尖瓣环的长度与方向),其后每对为自心尖向瓣环依次放置的短轴线段(详见坑点 2)。

两表的粒度差异再强调一次:FileList 是视频级「宽表」(一行含全部标签),VolumeTracings 是线段级「长表」(同一 FileName 与 Frame 会出现多行)。多数预处理错误源于把长表当宽表处理——例如按行遍历 VolumeTracings 时误以为一行就是一个完整轮廓(坑点 2 的典型病因)。

§4.2 标签分布

标签 均值 ± 标准差 分布形态提示
EF(%) 55.7 ± 12.5 以正常范围为主峰,左侧低 EF 区拖尾
ESV(mL) 43.3 ± 34.5 右偏,重度扩张患者长尾
EDV(mL) 91.0 ± 45.7 右偏,扩张型心肌病样本构成右尾
女性占比 48% 接近均衡
年龄(岁) 68 ± 21 老年为主,儿科样本极少

以上为 ML4H 工作坊论文披露的全库统计;训练前建议用 FileList.csv 在本机重算划分内分布,防止版本差异误导。

分布形态对建模的影响:EF 以正常范围为主峰、低 EF 区拖尾,意味着低 EF 样本相对稀疏——若你的任务是低 EF 检出(临床价值最高的场景之一),应检查 TEST 中低 EF 段的绝对数量,并在 VAL 上按 EF 分层评估,而非只看整体 MAE;EDV/ESV 的右偏长尾提示容积回归在重症端误差更大,报告分层指标比单一均值更诚实。

§4.3 关键统计

  • 视频:10,030 段;受检者:10,030 名(一一对应)。
  • 帧率 50.9 ± 6.8 FPS;帧数 175 ± 57 帧;单一心动周期截取。
  • 描记帧:每段视频仅 ED/ES 两帧带描记。
  • 官方基线:EF 回归 MAE 4.1%、RMSE 5.3%、R² 0.81;分割 Dice 0.92;EF < 50% 二分类 AUC 0.97。
  • 外部验证:MAE 6.0%、R² 0.77、AUC 0.96(Cedars-Sinai,2,895 段 / 1,267 名患者)。

统计数字的版本提醒:帧率、帧数与标签均值等统计口径出自 ML4H 工作坊论文(早期版全库),与正式版可能有微小出入;发表引用时按 §9.3 同时标注两来源,训练前以本机 FileList.csv 重算为准。

§4.4 数据层级

受检者(1 名)
└── 超声检查(同次临床检查)
    └── A4C 视频片段(1 段 = 1 个代表性心动周期)
        ├── 视频帧(约 24-500+ 帧,50.9±6.8 FPS)
        │   ├── ED 帧(LargeIndex)→ LargeFrame / LargeTrace
        │   └── ES 帧(SmallIndex)→ SmallFrame / SmallTrace
        └── 标签(EF / EDV / ESV)+ 常规测量(Measurements.csv)

层级的关键约束:本数据集内「受检者 = 视频」一一对应,因此视频级划分即患者级划分;但在与其他数据集联合训练时,必须重新做患者级去重。

层级结构对训练的直接约束:由于「受检者 = 检查 = 视频」在本库内一一对应,任何按视频的划分天然是患者级划分;但当把本库与院内自有数据或其他公开库合并时,同一患者可能以不同 FileName 出现多次(多次检查),必须先按患者身份(人口学特征 + 采集信息)去重再划分,否则患者级泄漏会同时污染训练与评测两侧(§5.3)。

§4.5 缺失值与信息性缺失

  • FileList.csv 与 VolumeTracings.csv 无官方缺失编码;缺行即缺数据(如某视频无描记则不在 VolumeTracings 中出现)。
  • Measurements.csv 仅覆盖部分检查(非常规测量未开展时整行为空),使用前务必按 FileName 做 inner join 统计覆盖率,禁止假定 10,030 行全量可用。
  • 官方未提供「测量不可行/图像质量差」的信息性缺失标记;质量筛选的排除标准只散见于论文,无法逐条回溯。

实践层面的建议:(1)加载数据后先跑三个断言——FileList 行数与 Videos/ 文件数一致、VolumeTracings 中每个 FileName 都存在于 FileList、EF 值域在合理区间;(2)对 Measurements.csv 输出逐列覆盖率表后再决定是否使用;(3)把「样本在 VolumeTracings 中缺失」本身记录为一个观测特征——它可能与图像质量相关,盲目插补或丢弃都会引入选择偏倚。

§4.6 数据样例(示意格式)

以下为三张 CSV 的字段结构示意(仅为格式演示,非真实数据;实际行数、行序与取值以官方下载文件为准):

FileList.csv(视频级宽表,一行一段视频):

FileName,Split,EF,EDV,ESV,NumberOfFrames,FPS
0X1A0A6ABC2E93669,TRAIN,55.7,91.0,43.3,175,50.9
...(共 10,030 行)

VolumeTracings.csv(线段级长表,同一 FileName + Frame 下多行):

FileName,Frame,X1,Y1,X2,Y2
0X1A0A6ABC2E93669,24,25.5,40.1,25.5,92.3
0X1A0A6ABC2E93669,24,...
0X1A0A6ABC2E93669,...,...
...(每段视频 2 帧 × 多条线段)

读表示例说明:前两行属同一舒张末帧(Frame=24),第一行为长轴线段、第二行为自心尖向瓣环的一条短轴线段;Frame 值因视频而异,ES 帧号由该视频的收缩末时相决定。省略号处为同类行的重复出现。

Measurements.csv(视频级,仅覆盖部分检查):

FileName,IVSd,LVIDd,LVPWd,...
0X1A0A6ABC2E93669,...
...(非常规测量未开展时整行为空)

样例行中出现的具体数值仅为说明字段含义(与 §4.1 示例列同源),不代表任何真实患者的记录。



§5 数据划分与使用建议

§5.1 官方划分

官方按视频随机划分 TRAIN 7,465 / VAL 1,288 / TEST 1,277,记录于 FileList.csv 的 Split 列。由于每段视频对应唯一受检者,该划分天然满足患者级不重叠。测试集自 2020 年冻结,全部已发表基准共用同一份 TEST,这是「一次对齐、处处可比」的前提。官方 Dataset 类还提供 external_test 划分槽位,用于挂载 Cedars-Sinai 等外部数据。

「冻结」是官方划分最有价值的属性:自 2020 年 3 月起 TEST 从未变更,任何论文汇报的测试集数字都与官方基线共享同一份样本,消除了「数据集漂移导致的榜单通胀」。作为交换,使用者放弃了对划分的任何控制权——不能重划、不能扩充 TEST、不能「借」TEST 样本参与训练,即使你认为某些 TEST 样本质量欠佳。

§5.2 社区惯例

社区几乎无重划先例——重划即失去与官方基线及 SOTA2 汇总榜的可比性。常见变体仅两类:在 TRAIN 内部做 5 折交叉验证(不触碰 VAL/TEST);或加入外部数据(CAMUS、EchoNet-Synthetic、院内自有数据)做迁移实验,此时须在论文中明确「外部数据未参与 TEST 评测」。

若确需重划(例如研究划分策略本身),建议保留一份「官方划分影子列」,并在论文中同时汇报官方协议下的结果作为对照锚点,否则结果无法与任何已发表工作直接对照。

§5.3 泄漏风险

  1. 跨数据集患者重叠:本库内部无重叠,但与 CAMUS 等其他库混训时,仍需防「同一患者两次检查分布在不同库」的极小概率事件——联合训练前按人口学 + 图像指纹自查。
  2. 派生字段泄漏:LargeIndex/SmallIndex(ED/ES 帧号)与 LargeFrame/SmallFrame/LargeTrace/SmallTrace 是从 VolumeTracings.csv 派生的监督信号;若把帧号或描记帧作为输入特征去预测 EF,等于把标注过程泄入模型(见坑点 4)。
  3. 划分信息泄漏:禁止用 VAL 反复调参后在 TEST 上多次汇报最优值;TEST 仅最终评测一次(官方协议)。
  4. 预处理泄漏:归一化统计量只能来自 TRAIN,否则引入全库分布信息。

发布前泄漏自查清单:输入特征中不含任何派生列(帧号、描记帧、Frame);归一化与增强统计仅来自 TRAIN;联合训练数据已完成患者级去重;TEST 在项目周期内只被评测一次,且评测代码未参与任何调参循环。四项全过再进入汇报环节。

§5.4 交叉验证建议

如需更稳的模型选择(尤其小样本微调场景),建议在 TRAIN 7,465 段上做 5 折视频级交叉验证,VAL 1,288 保持不动用于早停;禁止把 TEST 纳入任何折。交叉验证结果仅用于方差估计,最终模型仍按官方协议在 TEST 报告一次。

交叉验证的实现提醒:官方 Dataset 类按 Split 字符串过滤,做 5 折时应在读入 TRAIN 子集后自行重编号分折;每折的训练/验证统计(归一化均值方差)只由当折训练部分计算,避免折间信息互通。

§5.5 外部验证建议

  • 首选官方路径:复现论文的 Cedars-Sinai 外部验证设置(2,895 段 / 1,267 名患者),与官方数字(MAE 6.0%)直接对照。
  • 跨库迁移:EchoCardMAE 展示了迁往 CAMUS 的可行范式(Good/Medium 质量 corr 0.846、MAE 5.06),注意 CAMUS 分辨率与切面协议不同,需重训解码器。
  • 自有数据:部署前务必在目标科室设备采样的自有数据上测「中心内 → 中心外」性能滑坡,参考内部 4.1% → 外部 6.0% 的衰减幅度预估(见坑点 6)。
  • 结果解读:外部 MAE 高于内部是常态而非「模型失败」的证据;把滑坡幅度当作部署预算的一部分,先量化再决定是否投入微调。

外部数据的获取合规:Cedars-Sinai 等外部数据有各自的许可与申请流程,不可假设「有了 EchoNet-Dynamic 就能顺带获得外部集」;跨库实验开始前先确认每个数据源的授权状态,并在论文的数据声明部分逐项列出。


§6 AI 就绪指南

§6.0 云端快速启动

无本地 GPU 时,可用 Google Colab 单卡 T4 完成官方基线的小规模试跑:安装 PyTorch 与官方包后,将数据目录挂载到 Google Drive 或直接从镜像流式拉取。注意全量训练(两阶段基线)在 T4 上需要多日,建议先用约十分之一的训练子集验证流水线,再迁移到 A100/V100 级算力。试跑阶段同样要遵守 §5.1 的划分纪律——子集必须从 TRAIN 内部抽取,VAL/TEST 保持原样不动。

§6.1 快速上手

目录结构预期:以下代码假设数据根目录 data_root/ 下直接包含 Videos/、FileList.csv、VolumeTracings.csv(即解压 ZIP 后的结构;若使用 HuggingFace 镜像,需将 batch_01… 子目录内的 AVI 合并或软链到 Videos/)。
data_root 拼接关系:data_root + Videos/ + FileName + ".avi" 即视频路径;CSV 中 FileName 不含扩展名。
最小可用子集:FileList.csv + Videos/ 即可跑通 EF 回归全流程;VolumeTracings.csv 仅分割/几何任务需要;Measurements.csv 可先忽略。

# 1. 克隆官方代码库(含数据集类、训练与评估脚本)
git clone https://github.com/echonet/dynamic.git echonet
cd echonet
pip install -e .

# 2. 数据准备(RUA 注册下载后解压到 ./data)
#    ./data/Videos/*.avi
#    ./data/FileList.csv
#    ./data/VolumeTracings.csv

# 3. 训练官方 EF 回归基线(R(2+1)D-18,对应 r2plus1d_18_32_2 预训练权重)
python -m echonet video.run --data_dir ./data --output ./runs/video

# 4. 训练官方分割基线(DeepLabV3-ResNet50)
python -m echonet segmentation.run --data_dir ./data --output ./runs/seg

跑通后,runs/video/ 下会输出每个 epoch 的验证 MAE/RMSE/R² 与最优权重;若验证 MAE 明显偏离论文水平,先按坑点 3 检查采样协议,再排查数据路径与增强设置。

§6.2 数据获取

渠道 流程 大小 限制
官方站点 echonet.github.io/dynamic 注册邮箱 → 签署 RUA → 收到 Azure Blob 限时 SAS 链接(示例链接约 30 天有效)→ 下载 ZIP 约 7.9 GB 每用户单独注册;禁止再分发与分享链接;仅非商业研究
HuggingFace 镜像 直接 huggingface-cli download miyuki17/EchoNet-Dynamic-unzipped 7.93 GB 第三方镜像,合规性自负,仍须以 RUA 为准
天池镜像 数据集页 83175 直接下载 约 7.9 GB 第三方镜像,用法同上
# 官方路径(获得 SAS 链接后)
azcopy copy "https://<storage>.blob.core.windows.net/echonet-dynamic?<SAS>" ./echonet-dynamic.zip
unzip echonet-dynamic.zip -d ./data

# 镜像路径(快速原型;下载即表示你已单独满足 RUA 义务)
huggingface-cli download miyuki17/EchoNet-Dynamic-unzipped --repo-type dataset --local-dir ./data

提示:两条路径的目录结构不同——官方 ZIP 解压即得标准结构;镜像为 batch 子目录布局,需先合并再交给官方代码(坑点 7),否则训练脚本找不到视频文件。

§6.3 预处理全流程

第一步:视频读取与帧采样。 官方视频模型不消费整段视频,而是以 length=16、period=2 采样 16 帧(跨度约 32 帧)作为输入(见坑点 3)。

import cv2
import numpy as np

def load_video(path: str, length: int = 16, period: int = 2) -> np.ndarray:
    """读取 AVI 并按官方协议采样 length 帧。
    官方语义:相邻输入帧相隔 period 个原始帧;采样起点由心动周期定位。"""
    cap = cv2.VideoCapture(path)
    frames = []
    while True:
        ok, frame = cap.read()
        if not ok:
            break
        frames.append(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
    cap.release()
    idx = np.linspace(0, len(frames) - 1, min(length, len(frames))).astype(int)
    clip = np.stack([frames[i] for i in idx])
    return clip.astype(np.float32) / 255.0

第二步:描记坐标转分割掩码。 VolumeTracings 的配对端点线段需先连成闭合轮廓,再栅格化:

import numpy as np
from skimage.draw import polygon

def trace_to_mask(traces: np.ndarray, size: tuple = (112, 112)) -> np.ndarray:
    """traces: (N, 2, 2),每条线段两端点;第 0 条为长轴,其余为短轴。
    按盘法几何:短轴端点沿长轴投影排序后构造闭合轮廓再栅格化。"""
    v = traces[0][1] - traces[0][0]                 # 长轴方向向量
    pts = np.concatenate([t for t in traces[1:]], axis=0)
    proj = (pts - traces[0][0]) @ v / (v @ v)       # 沿长轴投影
    pts = pts[np.argsort(proj)]
    half = len(pts) // 2
    upper = pts[:half][np.argsort(pts[:half], axis=0)[:, 0]]
    lower = pts[half:][np.argsort(pts[half:], axis=0)[:, 0]]
    contour = np.concatenate([upper, lower])        # 简化闭合,详见坑点 2
    rr, cc = polygon(contour[:, 1], contour[:, 0], shape=size)
    mask = np.zeros(size, dtype=np.uint8)
    mask[rr, cc] = 1
    return mask

第三步:标准化。 像素除以 255 后,用 TRAIN 子集统计通道均值方差做归一化;禁止用全库统计(§5.3 泄漏第 4 条)。数据增强在 §6.6 单独讨论。

§6.4 PyTorch DataLoader

以下实现覆盖「视频 → EF 回归」最小闭环:读取 FileList.csv,按 Split 过滤,帧采样后送入 3D CNN。官方 echonet.datasets.echo.EchoNetDynamic 类支持 10 种 target(Filename/EF/EDV/ESV/LargeIndex/SmallIndex/LargeFrame/SmallFrame/LargeTrace/SmallTrace),生产环境建议直接使用官方类。

<details>
<summary>完整 Dataset 类 + DataLoader(点击展开)</summary>

import os
import cv2
import numpy as np
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms

class EchoNetEF(Dataset):
    """EchoNet-Dynamic EF 回归数据集。
    目录预期:root/Videos/<FileName>.avi + root/FileList.csv
    拼接关系:video_path = os.path.join(root, "Videos", f"{FileName}.avi")
    """

    def __init__(self, root: str, split: str = "TRAIN",
                 length: int = 16, period: int = 2, max_length: int = 250):
        self.root = root
        df = pd.read_csv(os.path.join(root, "FileList.csv"))
        self.df = df[df["Split"] == split].reset_index(drop=True)
        self.length, self.period, self.max_length = length, period, max_length
        self.tf = transforms.Compose([
            transforms.Lambda(lambda x: torch.from_numpy(x).permute(3, 0, 1, 2)),
            transforms.ConvertImageDtype(torch.float32),
        ])

    def __len__(self):
        return len(self.df)

    def _read_frames(self, path):
        cap = cv2.VideoCapture(path)
        frames = []
        while True:
            ok, f = cap.read()
            if not ok:
                break
            frames.append(cv2.cvtColor(f, cv2.COLOR_BGR2RGB))
        cap.release()
        return frames

    def __getitem__(self, i):
        row = self.df.iloc[i]
        path = os.path.join(self.root, "Videos", row["FileName"] + ".avi")
        frames = self._read_frames(path)
        n = len(frames)
        # 官方语义:均匀取 length 帧,相邻输入帧相隔 period 个原始帧
        step = max(self.period,
                   min(self.period * (self.max_length // self.length),
                       max(1, n // self.length)))
        start = max(0, (n - step * self.length) // 2)
        idx = [start + step * j for j in range(self.length) if start + step * j < n]
        clip = np.stack([frames[j] for j in idx[-self.length:]])
        if clip.shape[0] < self.length:                 # 帧不足则循环补齐
            pad = np.stack([clip[0]] * (self.length - clip.shape[0]))
            clip = np.concatenate([pad, clip], axis=0)
        clip = self.tf(clip.astype(np.uint8))
        return clip, torch.tensor(float(row["EF"]), dtype=torch.float32)

train_ds = EchoNetEF("./data", split="TRAIN")
val_ds   = EchoNetEF("./data", split="VAL")
train_dl = DataLoader(train_ds, batch_size=32, shuffle=True,
                      num_workers=8, pin_memory=True, drop_last=True)
val_dl   = DataLoader(val_ds, batch_size=32, shuffle=False, num_workers=8)

</details>

§6.5 坑点清单

以下 8 个坑点按「踩中频率 × 排查成本」综合排序,前三个几乎每个新团队都会遇到;每个坑点给出问题、症状与三级解决方案(简单 → 进阶 → SOTA)。

⚠️ 坑点 1:把临床 EF 当作完美金标准(分类:标签理解)

问题:EF 标签复用自临床报告,测量协议「非穷尽」(单心动周期)、依赖描记者手感;论文盲法复核显示,在模型与人工分歧最大的视频中 43% 的情形临床医生反而更认可模型预测——标签噪声真实存在。
症状:训练后期验证损失不再下降甚至回升;把「模型 vs 标签」差异全部归罪于模型,调参收效甚微;错误地用测试集误差推导临床可用性。
解决:

  1. 简单方法:接受噪声地板,将 MAE 降到 4% 区间即视为接近标签极限,不再过度调参;报告结果时引用阅片者间变异 13.9% 作为参照系。
  2. 进阶方法:对模型与标签分歧 top-k 的样本做人工复阅,构造「清洗子集」再评测;或用异方差回归/标签噪声建模(如 co-teaching)弱化可疑样本权重。
  3. SOTA 方法:参照官方前瞻协议做重复测量实验,以「模型重复差 2.6% vs 人工 5.2%」的稳定性证据替代单点精度论证;结合逐拍分析(beat_analysis.R)暴露单周期标签的抽样方差。
    参考:Ouyang et al., Nature 2020(DOI: 10.1038/s41586-020-2145-8);官方代码库 beat_analysis.R。

⚠️ 坑点 2:VolumeTracings 是配对端点线段,不是有序多边形(分类:预处理陷阱)

问题:CSV 每行是一条线段的两个端点(X1,Y1,X2,Y2),第一行是长轴线段,其余为短轴;直接把端点按行序连线或按单一坐标排序,都会得到自交的错误轮廓。
症状:可视化掩码呈蝴蝶结状;由描记复算的 EF 与 FileList 中 EF 对不上;分割训练不收敛。
解决:

  1. 简单方法:放弃自行重构多边形,直接使用官方派生列 LargeTrace/SmallTrace(已规范化的描记帧)或官方 segmentation 训练管线。
  2. 进阶方法:按盘法几何重建——用长轴线段确定方向向量,将各短轴端点沿长轴投影排序,再对每条短轴两端点生成有序轮廓后栅格化(见 §6.3 第二步代码)。
  3. SOTA 方法:用重建轮廓与 FileList EF 做一致性校验(复算 EF 与报告 EF 偏差应小于 2%),不合格样本剔除;或直接采用 MemSAM 等已正确实现该约定的开源管线。
    参考:天池数据集页 83175 的描记格式说明;官方 echonet/dynamic 仓库 segmentation 模块。

⚠️ 坑点 3:帧采样协议(length=16、period=2)与 FPS 不一致性(分类:预处理陷阱)

问题:官方视频模型输入 16 帧、相邻输入帧相隔 2 个原始帧(覆盖约 32 帧);但各视频 FPS 在约 30-70 间浮动(50.9 ± 6.8),同样 16 帧覆盖的实际时长不同;自定义的「均匀取帧」与官方语义并不等价。
症状:复现基线时 MAE 比论文差 1-2 个百分点;换 FPS 的数据集(如 CAMUS)迁移后性能骤降;模型对舒张末/收缩末的捕捉出现时相漂移。
解决:

  1. 简单方法:完全照抄官方 length=16、period=2、max_length=250 参数组合,不做任何「聪明」改动。
  2. 进阶方法:按视频自身 FPS 把采样间隔换算为等时长(等毫秒采样),并在 VAL 上验证与官方协议的差异;训练时随机抖动采样起点做时相增强。
  3. SOTA 方法:先用官方分割/描记定位 ED/ES 帧,再围绕两帧做时相感知采样(phase-aware sampling),或在模型内显式注入 ED/ES 索引编码。
    参考:官方 echonet/datasets/echo.py 默认参数;官方仓库对 video.run 输入协议的说明。

⚠️ 坑点 4:LargeIndex/SmallIndex 及派生列的标签泄漏(分类:数据泄漏)

问题:官方 Dataset 类的 target 列表包含 LargeIndex/SmallIndex(ED/ES 帧号)与 LargeFrame/SmallFrame/LargeTrace/SmallTrace(对应帧与描记);这些列是从人工描记派生的监督信号。若把它们当作输入特征预测 EF,模型可直接从「哪两帧被选中」反推心功能,得到虚高指标。
症状:消融实验中「输入帧号」的模型远超「输入视频」的模型;外部数据上性能崩塌(外部集没有这些列)。
解决:

  1. 简单方法:EF/EDV/ESV 回归任务只用视频帧作为输入,target 之外的列一律不进特征。
  2. 进阶方法:若需研究 ED/ES 定位子任务,单独建「定位 → 测量」两阶段管线,并在论文中明确两阶段的信息流边界。
  3. SOTA 方法:端到端模型内建 ED/ES 时相预测头,但训练输入仍只用视频;用 §5.3 的泄漏清单做发布前自检。
    参考:官方 Dataset 类文档;本条目 §5.3。

⚠️ 坑点 5:跨论文直接横比 MAE(分类:评估误用)

问题:MAE 数值依赖帧采样、输入分辨率、是否使用外部数据、以及是否在 TEST 上反复选点;第三方汇总榜把不同设置的数字并列,直接引用会造成伪进步。
症状:你的 4.2% 「优于」他人 4.3%,但他人用了更严格的单次评测或更少输入帧;审稿人要求补官方协议复现。
解决:

  1. 简单方法:任何对比前核对四要素——划分、帧采样、输入分辨率、评测次数;引用时标注「协议不可比」。
  2. 进阶方法:以官方基线(Ouyang 2020,MAE 4.1%)为共同锚点重跑对比,或统一采用官方 echonet 包的评估脚本输出指标。
  3. SOTA 方法:在固定协议下自建小型「三方对照」(官方基线 + 你的模型 + 一个 SOTA 开源实现),并公开评测脚本与随机种子。
    参考:Ouyang et al., Nature 2020 评测协议;本条目 §8.3。

⚠️ 坑点 6:单中心设备偏倚导致的外部泛化滑坡(分类:偏倚陷阱)

问题:全部数据来自斯坦福一家医院、有限几台设备(iE33、Sonos、SC2000、Epiq 5G/7C);内部 MAE 4.1% 到 Cedars-Sinai 外部验证即升至 6.0%,R² 由 0.81 降至 0.77。
症状:院内部署后误差翻倍;对某厂商新设备的图像系统性失准;对非标准 A4C 切面完全失效。
解决:

  1. 简单方法:部署前用目标设备采样 50-100 段做零样本评估,量化滑坡幅度后再决定是否微调。
  2. 进阶方法:用目标域少量数据做解码器微调(冻结编码器),或引入 EchoNet-Synthetic 等合成数据做域随机化;参照 EchoApex 在本库微调后外部 EF MAE 5.6% 的策略。
  3. SOTA 方法:采用多中心混合训练 + 设备条件化归一化(device-conditioned normalization),并按 §7.8 外部验证矩阵持续监控。
    参考:Ouyang et al., Nature 2020 外部验证部分;EchoApex 技术报告(2024 预印本)。

⚠️ 坑点 7:万级小文件 AVI 的 IO 与解压陷阱(分类:工程陷阱)

问题:10,030 个小 AVI 文件对分布式存储与镜像平台极不友好:镜像平台单目录 1 万文件上限迫使镜像分成 batch_01… 子目录;机械盘/网络盘上随机读取小文件的吞吐远低于顺序读,DataLoader 成为瓶颈。
症状:GPU 利用率忽高忽低;num_workers 调大反而更慢;从镜像拉取后找不到部分视频(散落在 batch 子目录中)。
解决:

  1. 简单方法:本地解压到 NVMe;把 batch 子目录软链/合并为单一 Videos/ 目录再交给官方代码。
  2. 进阶方法:首次读取时把每段视频抽帧缓存为 uint8 的 .npy 或 LMDB/WebDataset 分片,后续 epoch 直接顺序读缓存;按 FileName 排序后分 shard 读取降低随机性。
  3. SOTA 方法:训练集群用 WebDataset/tar 分片 + 共享页缓存,或把全库抽帧后打包为流式 tar;配合 prefetch 与持久化 workers。
    参考:HuggingFace 镜像 miyuki17/EchoNet-Dynamic-unzipped 的 batch 目录说明;官方仓库 issues 中关于数据目录的讨论。

⚠️ 坑点 8:RUA 合规红线——禁止再分发与链接分享(分类:工程陷阱)

问题:RUA 明确禁止再分发数据、禁止向未注册者分享下载链接、禁止商业与临床决策用途;团队共享一份下载、把数据放进公共网盘或私有镜像对外,都可能构成违约,连带影响所在机构的获取资格。
症状:论文数据链接被下架;机构法务介入;基于数据的衍生模型权重发布被质疑合规性。
解决:

  1. 简单方法:每位成员单独注册签署 RUA;内部存储加密访问控制,链接永不外传;引用一律指向官方站点。
  2. 进阶方法:发布衍生成果前做合规审查——模型权重(不含原始视频)通常可发布,但含数据子集的评测包不可;在 README 声明「数据获取遵循官方 RUA」。
  3. SOTA 方法:建立机构级数据治理台账(谁、何时、何用途、RUA 版本),对衍生数据集(如抽取的描记帧)同样登记;对外仅发布特征/权重与可复现脚本。
    参考:EchoNet-Dynamic 官方站点许可条款;本条目 §7.4。

§6.6 数据增强

  • 安全增强 ✅:随机水平翻转(心腔左右方位在 A4C 中可接受,需小规模验证)、时间抖动(采样起点偏移 ±2 帧)、亮度/对比度小幅度扰动、随机裁剪 8-16 像素后缩放回 112×112、高斯噪声。
  • 危险增强 ❌:垂直翻转与大幅旋转(破坏重力方向与扇形几何)、弹性形变(破坏心腔形态与盘法几何)、灰度反转(超声增益语义不可逆)、跨视频拼接(制造不存在的心动周期)、时间轴乱序(破坏收缩-舒张时序)。
  • 原则:任何增强不得改变「EF 由舒缩容积差决定」这一物理事实;增强策略需在 VAL 上做小规模消融确认增益。

增强方案上线的检查单:先在 VAL 上跑「无增强」基线并记录 MAE;逐个开启增强并记录增量;任何导致 VAL MAE 恶化的增强直接移除而非调小幅度(时间抖动除外,可先减小偏移量再观察);最终方案与随机种子一起写入配置文件,保证实验可复现。

§6.7 模型推荐表

任务 推荐起点 理由
EF 回归 官方 R(2+1)D-18(r2plus1d_18_32_2 预训练) 与全部已发表数字可比;单卡可训
EF 回归(冲 SOTA) 视频 MAE 自监督预训练(EchoCardMAE 路线) 测试集 MAE 3.78、R² 0.84,当前榜单第一梯队
LV 分割 DeepLabV3-ResNet50(官方) Dice 0.92 基线,代码即开即用
LV 分割(冲 SOTA) MemSAM(CVPR 2024)/ SAMUS 路线 mDice 92.78 / 91.79,超声视频分割专门设计
低 EF 分类 EF 回归输出 + 阈值化 官方基线 AUC 0.97,回归比直接分类信息更丰富
表征/基础模型 10,030 段做预训练语料 EchoApex、EchoPrime、PanEcho 均以此为标准评测场

§6.8 硬件需求表

任务 最低配置 推荐配置 说明
EF 回归(复现基线) 1× 11 GB GPU(batch 16) 1× A100 40 GB(batch 32-64) 训练数小时至 1 天
EF 回归(全量调参) 1× 24 GB GPU 2-4× A100 多种子取均值
LV 分割 1× 16 GB GPU 1× A100 40 GB 只用 ED/ES 两帧,显存友好
全库抽帧缓存 32 GB 内存 64 GB 内存 + NVMe 100 GB 一次性预处理

§6.9 评估指标代码

import numpy as np
from sklearn.metrics import roc_auc_score

def eval_ef(y_true: np.ndarray, y_pred: np.ndarray, threshold: float = 50.0):
    """官方口径:EF 回归 MAE/RMSE/R²;另附 EF<50% 二分类 AUC。"""
    mae = float(np.mean(np.abs(y_true - y_pred)))
    rmse = float(np.sqrt(np.mean((y_true - y_pred) ** 2)))
    ss_res = np.sum((y_true - y_pred) ** 2)
    ss_tot = np.sum((y_true - y_true.mean()) ** 2)
    r2 = float(1 - ss_res / ss_tot)
    auc = float(roc_auc_score((y_true < threshold).astype(int),
                              -np.abs(y_pred - threshold)))
    return {"MAE": mae, "RMSE": rmse, "R2": r2, "AUC(lowEF)": auc}

说明:低 EF 判定的 AUC 以「预测 EF 距阈值 50% 的距离」为连续分数;该实现与官方报告口径一致(论文同时给出 MAE、RMSE、R² 与 AUC 四指标)。若需与官方结果逐位对齐,请直接调用官方评估脚本;本函数用于快速自检与教学演示。

§6.10 MLOps 笔记

  • 数据版本化:以官方 ZIP 的哈希为版本锚点(正式版 2020-03 冻结);镜像来源需记录 commit 与 batch 目录清单。
  • 训练确定性:固定随机种子、deterministic=True;帧采样起点与 FPS 换算写入配置而非散落代码。
  • 评测纪律:TEST 只跑一次;所有中间决策用 VAL;对外汇报附「协议四要素」(划分/采样/分辨率/评测次数,见坑点 5)。
  • 监控:部署后持续跟踪「目标人群 EF 分布偏移」与「设备换代引起的输入分布漂移」(§7.6);线上抽取样本做医师复阅,防标签噪声反馈循环。
  • 合规留痕:RUA 签署台账与模型权重血缘(哪个数据版本训练)纳入发布检查单(坑点 8)。

以上五条覆盖从数据版本到合规留痕的最小闭环;MLOps 成熟度可以渐进建设,但「TEST 单次评测」与「RUA 台账」两条建议在项目第一天就落实,事后补建的成本远高于事前登记。


§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解建议
单中心偏倚 全部来自斯坦福大学医院,转诊人群与操作规范单一 高 外部验证(官方 Cedars-Sinai 范式)+ 多中心微调
设备偏倚 设备集中于 Philips/Siemens 数款机型 中 设备指纹条件化;目标设备零样本评估
人群偏倚 女性 48%、年龄 68±21 岁;种族未分层发布 中 下游公平性审计;跨库联合训练
标签噪声 临床测量协议非穷尽;43% 分歧样本医生更认可模型 中 噪声感知训练;复阅清洗子集
切面偏倚 仅 A4C 切面,无长轴/短轴视图 低(对 A4C 任务) 明确任务边界,勿跨切面外推
时间窗偏倚 2016-2018 采集,成像协议与当代设备存在漂移 低 部署前用近期数据校准(§7.6)

六类偏倚的总体判断:单中心与标签噪声是最需要主动处理的两项,其余在明确任务边界的前提下影响可控。偏倚清单不是「不可以用」的理由,而是「怎样用才有效」的前提——每一条都对应一个可在项目启动日就安排的缓解动作。

§7.2 标注质量

标签由注册超声技师测量、level-3 心超医师核验,流程与临床报告完全一致,属「真实工作流质量」而非「研究级双盲质量」。量化证据有三:人工同日重复差中位 5.2%(SD 6.9);阅片者间变异可达 13.9%;分歧最大样本盲法复核中 43% 更认可模型。结论:EF 标签的信息量足以支撑 4% 级 MAE 的模型,但把标签当无噪声真值会系统性高估模型误差、低估模型潜力(见坑点 1)。描记质量方面,配对端点协议由临床描记导出,个别样本存在线段顺序异常,官方派生列(LargeTrace/SmallTrace)已做规范化处理。

对使用者的操作建议:把三个量化锚点(人工重复差 5.2%、阅片者间变异 13.9%、分歧样本 43%)写进实验记录,作为「标签噪声地板」的参照系;每当模型 MAE 接近 4% 而继续调参无效时,先怀疑标签噪声而非模型容量;对外汇报时避免把「模型相对临床标签」的 MAE 直接等同「临床误差」。

§7.3 泛化性

场景 失效风险 证据
跨医院(同类三级中心) 中:MAE 4.1% → 6.0% Cedars-Sinai 2,895 段外部验证
跨设备厂商 中高:未系统报告 设备清单仅 5 款主机;新机型需实测
非 A4C 切面 高:超出训练分布 数据集仅收录 A4C
节律异常(房颤等) 中:单周期标签掩盖逐拍变异 官方提供逐拍分析工具但标签为单周期
儿科/极端体型 高:年龄 68±21 岁为主 人群统计;儿科样本稀缺
合成 → 真实迁移 中低:合成数据可增广 EchoNet-Synthetic 与 EchoDiffusion 生态

泛化失效的早期信号:VAL 与外部小样本集的 MAE 差距持续大于内部波动区间;对特定设备或操作者的样本误差系统性偏高;EF 预测分布相对报告分布出现整体平移。出现任一信号即应启动 §7.8 的外部验证流程,而不是继续在内部数据上打磨模型。

§7.4 伦理合规

数据经 IRB 批准、斯坦福 AIMI 与校隐私办公室联合审查的去标识化流程处理:DICOM 像素数据解析为哈希文件名 AVI(杜绝 DICOM 元数据标签泄漏)、遮蔽烧录文本/ECG/呼吸波形、医院员工逐条人工复核。使用侧受 RUA 约束:仅限非商业研究、禁止再分发、禁止分享链接、禁止直接临床决策用途。衍生模型发布时不应附带任何原始视频或可逆标识(坑点 8)。

对研究团队的落地清单:立项时确认每位成员完成 RUA 注册并留存凭证;存储环境做访问控制与加密;发表前让法务或合规岗过目数据使用声明;接收外部合作方请求时提醒对方独立注册,而不是共享自己的下载副本。条款理解有歧义时的求证顺序:RUA 原文 → 所在机构研究合规部门 → 官方代码库 issues 的官方答复;第三方镜像的存在不构成任何合规依据。

最后提醒:本节的合规表述基于公开许可条款整理,具体法律效力以 RUA 原文与所在机构法务意见为准;当本条目表述与官方条款冲突时,以官方条款为准。

§7.5 公平性

官方未随数据发布性别/种族维度的性能分层;已知人群构成(女性 48%、老年为主、单中心)提示:低年龄组、种族亚组、以及非北美人群上的性能均未经验证。建议下游团队:(1)在自有数据上按性别/年龄分层报告 MAE;(2)对「低 EF 检出率」做 subgroup 校准;(3)引用该数据集时明确其人群边界,避免「通用心功能模型」的过度声明。

公平性审计的最小可行方案:在自有验证集上按性别、年龄分段(如 <45 / 45-65 / >65)分别报告 MAE 与低 EF 检出率;对比各段误差并调查最大差异段的成因(样本量、设备构成还是切面质量);在论文中同时报告总体与分层结果。没有分层报告的「总体 MAE 优异」,在临床部署语境下不构成公平性证据。

§7.6 数据漂移

数据冻结于 2018 年末的采集窗口;此后超声设备普及化、图像后处理与谐波成像演进、以及心衰治疗普及改变人群构成,都可能造成输入与标签分布漂移。监控建议:按季度抽样目标科室新检查,跟踪 EF 预测分布与报告分布的 PSI;设备换代节点强制重测零样本 MAE;将「模型重复差」与「人工重复差」双指标并行监控,防止在漂移中悄悄退化为「不稳定读片者」。

漂移监控的分层设计:人群层(年龄/性别构成)、设备层(机型更新)、操作层(技师轮换)、标签层(测量习惯与报告模板变化)分别建立基线分布,任一层 PSI 超阈值即触发复测。本库冻结于 2018 年的特性决定了它只能充当「起点基线」,长期部署的参照系必须由使用方自建。

§7.7 DAIMS 24 项核查

# 检查项 状态 说明
1 宽格式 ✅ FileList.csv 一行一视频,分析友好
2 唯一标识 ✅ FileName 为 16 位哈希,全库唯一且跨表一致
3 特殊字符 ✅ 哈希文件名规避特殊字符与本地化编码问题
4 重复行 ✅ 三表经哈希主键约束,无重复行
5 缺失编码 ⚠️ 无显式缺失编码约定,缺数据表现为缺行
6 标签标识 ✅ Split/EF 等标签列语义清晰,官方口径统一
7 罕见类分组 ⚠️ EF 为连续值无类分组;低 EF 重症样本占少数,需分层评估
8 偏倚评估 ⚠️ 论文讨论单中心局限,但无系统偏倚审计表
9 数据字典 ✅ 论文 + 官方代码文档完整覆盖三表字段
10 信息性缺失解释 ❌ 无「测量不可行/质量差」标记与排除清单回溯
11 设备记录 ⚠️ 论文列设备型号清单,但无逐视频设备字段
12 共线性 ✅ EDV/ESV/EF 存在数学关联(EF = (EDV−ESV)/EDV),多任务学习时需注意目标耦合
13 编码映射 ✅ Schema 极简(文本/整数/浮点),无历史编码包袱
14 时间戳处理 ⚠️ 出于隐私未提供检查时间戳,仅有帧数/帧率;纵向研究受限
15 划分建议 ✅ 官方划分明确且全社区沿用
16 泄漏讨论 ⚠️ 患者级无泄漏,但派生列(帧号/描记)泄漏需使用者自查(坑点 4)
17 标签分布 ✅ 论文披露均值±SD(§4.2)
18 测量偏倚 ⚠️ 单周期协议与描记者间变异已量化(13.9%),但无逐例测量者字段
19 外部验证建议 ✅ 官方提供 external_test 槽位与 Cedars-Sinai 验证范式
20 版本记录 ⚠️ 无正式版本号;ML4H 早期版与正式版差异需读者自行辨析
21 预处理脚本 ✅ ConvertDICOMToAVI.ipynb + 官方训练/评估代码全开源
22 合规要求 ✅ RUA 条款明确(非商业/禁再分发/逐人注册)
23 多模态对齐 ⚠️ 视频与测量对齐,但无文本报告/其他模态可对齐
24 去标识化 ✅ 三层去标识 + 逐条人工复核,管线开源可审计

DAIMS 评分:18.5 / 24

评分解读:作为 2020 年发布的视频数据集,EchoNet-Dynamic 在唯一标识、预处理脚本、合规与去标识化四项达到满格,工程底座属第一梯队;失分集中在「文档外元数据」(逐例设备/时间戳/测量者字段缺失)与「噪声/偏倚的系统性披露不足」,这是复用临床工作流标签的固有代价。18.5 的水平意味着:直接可用性极高,但面向临床级证据链(谁、何时、用什么设备测的)仍需使用方自行补建。

对你意味着什么:(1)开箱即跑——划分、脚本、协议齐全,第一天就能复现基线;(2)建立自己的元数据补层——为训练样本补设备指纹与时间窗口,为公平性审计补分层统计;(3)把标签噪声当作一等公民——用噪声感知训练与复阅子集,而不是假装标签完美;(4)合规动作前置——RUA 台账在项目启动日建立,而非论文投稿前。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
Cedars-Sinai 外部集(2,895 段/1,267 名患者) Cedars-Sinai Smidt Heart Institute EF 回归 + 低 EF 分类 MAE 6.0%、RMSE 7.7%、R² 0.77、AUC 0.96 MAE +1.9 pp(4.1 → 6.0) 跨中心可泛化,精度衰减约五成但仍具筛查价值
同日重复测量(55 名患者,两名技师) 斯坦福(前瞻性子研究) 测量稳定性 模型重复差中位 2.6%(SD 6.4)vs 人工 5.2%(SD 6.9) — 模型逐拍稳定性优于人工双平面法
CAMUS 迁移(Good/Medium 与 Poor 质量子集) CAMUS 公开集(EchoCardMAE 迁移实验) EF 回归 corr 0.846 / MAE 5.06;Poor 质量 corr 0.717 / MAE 5.41 — 自监督预训练权重可跨库迁移,低质量视图仍是难点

矩阵解读:三行证据分别覆盖跨中心、跨操作者、跨数据库三个泛化轴,方向一致——性能衰减真实存在但幅度可控(内部 4.1% → 外部 6.0%,约 +1.9 pp),且自监督预训练权重能改善跨库迁移。把这三行当作部署前评估的「预期损失预算」参考:你的目标域损失若显著超出此区间,优先排查数据管线而非模型本身。


§8 基准性能与生态

§8.1 EF 回归排行榜(TEST 集)

排名 模型 MAE (%) R² 年份 关键技术 完整引用 代码
1 EchoCardMAE 3.78 0.84 2025 视频 MAE 自监督预训练 EchoCardMAE 作者团队, 2025, MICCAI 2025. https://papers.miccai.org/miccai-2025/paper/2462_paper.pdf 见官方页
2 CardiacNet 3.83 — 2024 病理感知自监督 CardiacNet 作者团队, 2024(作者与出处经 SOTA2 汇编). https://www.sota2.com/research/sota/ejection-fraction-prediction-on-echonet-dynamic-test 见论文
3 EchoMEN 3.93 — 2024 多专家网络 EchoMEN 作者团队, 2024(同上汇编). 同上链接 见论文
4 CoRe 3.90 — 2023 收缩-舒张协同表示 CoRe 作者团队, 2023(同上汇编). 同上链接 见论文
5 EchoCoTr 3.95 0.82 2022 视频 Transformer EchoCoTr 作者团队, 2022(同上汇编). 同上链接 见论文
6 EchoGraphs 4.01 — 2022 图结构帧关系建模 EchoGraphs 作者团队, 2022(同上汇编). 同上链接 见论文
7 EchoNet(官方基线) 4.05 0.81 2020 R(2+1)D-18 视频回归 Ouyang D, et al., 2020, Nature 580(7802): 252-256. DOI: 10.1038/s41586-020-2145-8 github.com/echonet/dynamic

⚠️ 数值不可直接比较:上表各条目在输入分辨率、帧采样(length/period)、是否使用外部/合成数据增广、以及 TEST 选点次数上不一致;SOTA2 汇编按公开数字排序但未统一协议。仅第 7 行官方基线与大多数后续论文直接同协议可比。引用排名前务必复核原论文协议(坑点 5)。

LV 分割排行榜(TEST 集,mDice/mIoU):

排名 模型 mDice (%) mIoU (%) 年份 完整引用
1 EchoCardMAE 92.96 86.85 2025 EchoCardMAE 作者团队, 2025, MICCAI 2025. https://papers.miccai.org/miccai-2025/paper/2462_paper.pdf

分割榜同样受「ED/ES 帧定位方式、掩码栅格化实现、是否引入额外训练数据」影响,横比前需核对实现细节;官方基线的 92.0 出自论文自报,与后续工作使用的统一评测脚本可能存在实现差异。
| 2 | MemSAM | 92.78 | 85.89 | 2024 | MemSAM 作者团队, 2024, CVPR 2024(见论文页) |
| 3 | SAMUS | 91.79 | 84.32 | 2024 | SAMUS 作者团队, 2024(见论文页) |
| 参考 | DeepLabV3-ResNet50(官方基线) | 92.0 | — | 2020 | Ouyang D, et al., 2020, Nature. DOI: 10.1038/s41586-020-2145-8 |

§8.2 SOTA 总结与选型建议

EF 回归的进步轨迹清晰:官方 R(2+1)D-18(4.05)→ Transformer 与关系建模(3.90-3.95)→ 自监督掩码预训练(3.78),五年间绝对提升约 0.27 pp,但已逼近临床标签噪声地板(阅片者间变异 13.9% 的一小部分),继续堆架构的边际收益有限。选型建议:追求可比性与工程简单,直接用官方基线;追求极致精度,复现 EchoCardMAE 路线并把算力投入预训练而非结构创新;追求部署稳健,优先做外部验证与设备适配(坑点 6),其收益通常大于榜上 0.1 pp。分割任务上,MemSAM/SAMUS 已把 mDice 推到 92% 区间,与官方基线持平略高,选型更多取决于是否需要提示交互(SAM 系)与视频时序建模。

按场景的选型速查:复现与教学——官方基线,零额外依赖,数字直接可比;论文刷点——EchoCardMAE 预训练权重加官方协议评测;分割任务——MemSAM(视频记忆建模)或 SAMUS(点框提示交互);工业部署——官方基线加外部验证优先,稳定性与设备适配的边际收益通常大于榜上 0.1 pp 的精度差异;基础模型研究——把本库当标准评测场,参照 EchoApex、EchoPrime 的评测设计。

§8.3 评测协议

官方协议四要素:使用 FileList.csv 的 Split 列划分;输入 112×112 视频、采样 length=16/period=2;TEST 仅最终评测一次;同时报告 MAE、RMSE、R² 与低 EF(EF < 50%)AUC。外部验证使用 external_test 槽位挂载外部 CSV(同 schema)。任何偏离(重划、增广测试集、多 seed 择优汇报)都应在论文中显式声明。

四要素速查表:

要素 官方协议 偏离后果
划分 FileList.csv Split 列,冻结不变 失去与全部已发表数字的可比性
输入 112×112,length=16、period=2 MAE 随采样策略变化,跨论文不可比
评测次数 TEST 仅最终一次 多次选点造成选择性乐观偏差
指标 MAE/RMSE/R² + 低 EF AUC 只报 MAE 会掩盖重症端误差
数据集 关系 何时一起用
CAMUS 小规模高分辨率对照组 几何精度研究;跨库迁移目标
EchoNet-Synthetic 同规模合成配对集 域随机化、合成 → 真实泛化实验
EchoDiffusion(生成模型产物) 条件合成扩展 数据增广与稀有 EF 段补充
MIMIC-III EHR 侧互补 影像 + 病历多模态研究(不同患者,不可直接拼接)

组合使用的典型链路:EchoNet-Synthetic 预训练 → EchoNet-Dynamic 微调 → CAMUS 外部验证,覆盖「合成-真实-跨库」三个泛化轴;MIMIC-III 侧则用于在群体层面把影像发现与 EHR 结局关联(两库患者不同,仅做队列级关联分析)。

§8.5 关键论文 Top 8

  1. Ouyang D, He B, Ghorbani A, Yuan N, Ebinger J, Langlotz CP, Heidenreich PA, Harrington RA, Liang DH, Ashley EA, Zou JY. Video-based AI for beat-to-beat assessment of cardiac function. Nature, 2020, 580(7802): 252-256. DOI: 10.1038/s41586-020-2145-8 —— 数据集与官方基线的原始论文,确立「AI 重复性优于人工」的核心证据。
  2. Ouyang D, He B, Ghorbani A, et al. EchoNet-Dynamic: a Large New Cardiac Motion Video Data Resource for Medical Machine Learning. ML4H @ NeurIPS 2019 Workshop. https://echonet.github.io/dynamic/NeuroIPS_2019_ML4H Workshop_Paper.pdf —— 数据资源的前置描述(10,036 段早期版本与人群统计来源)。
  3. Nature Cardiology 评论. Estimating ejection fraction by video-based AI. Nature Cardiology, 2020. https://www.nature.com/articles/s41569-020-0375-y —— 领域视角解读该工作的临床意义。
  4. Reynaud H, Qiao M, Dombrowski M, Day T, Razavi R, Gomez A, Leeson P, Kainz B. EchoDiffusion. MICCAI 2023. https://github.com/HReynaud/EchoDiffusion —— 特征条件级联视频扩散,开启本库生态的生成方向。
  5. Reynaud H, et al. EchoNet-Synthetic. https://github.com/HReynaud/EchoNet-Synthetic —— 与本库同规模的 10,030 条条件合成视频及官方划分脚本。
  6. MemSAM 作者团队. MemSAM: Taming Ultrasound Video Segmentation with Memorized SAM. CVPR 2024 —— 超声视频分割 SOTA(mDice 92.78)。
  7. EchoCardMAE 作者团队. MICCAI 2025. https://papers.miccai.org/miccai-2025/paper/2462_paper.pdf —— 自监督预训练刷新 EF 回归(3.78)与分割(92.96)双榜。
  8. EchoApex 作者团队. 2024 预印本. https://bio.rodeo/models/echoapex —— Siemens 系超声基础模型,在本库微调后外部 EF MAE 5.6%、心肌病 AUC 0.93。

阅读顺序建议:初次接触按 1 → 2 → 3 读(原始论文 → 前置资源 → 领域解读),建立对数据与协议的完整认识;做方法研究再按任务选修 4-8(生成、分割、预训练、基础模型各一条主线)。所有榜单数字回到 §8.1 的协议警示下解读。

§8.6 社区活跃度

官方代码库 github.com/echonet/dynamic 自 2020 年开源以来持续维护,issues 区长期有关于划分复现、描记解析与许可条款的讨论;评测侧被 SOTA2 与 Papers with Code 等聚合站收录为超声 EF 任务的事实标准;学术侧从 CVPR/MICCAI 论文到企业基础模型(EchoApex)持续以其为对照锚点,社区热度在发布五年后仍居超声视频类首位。

对社区依赖度的务实判断:把官方仓库当作协议权威(划分、Dataset 类、评测脚本以它为准),把聚合榜单当作线索而非结论(§8.1 协议警示);提前通读 issues 区关于描记解析与许可条款的高频讨论,可以避免大量重复踩坑(坑点 2、坑点 8)。

§8.7 生态快照

资源 类型 链接 推荐理由
官方代码库 训练/评估代码 https://github.com/echonet/dynamic 基线复现唯一权威入口,含去标识化 Notebook
EchoDiffusion 生成模型 https://github.com/HReynaud/EchoDiffusion MICCAI 2023,特征条件视频扩散合成
EchoNet-Synthetic 合成数据集 https://github.com/HReynaud/EchoNet-Synthetic 同规模 10,030 条合成视频 + 官方划分脚本
MemSAM 分割模型 见 CVPR 2024 论文页 超声视频分割 SOTA 之一(mDice 92.78)
SAMUS 分割模型 见论文页 SAM 适配超声,mDice 91.79
EchoCardMAE 预训练基础模型 https://papers.miccai.org/miccai-2025/paper/2462_paper.pdf EF 与分割双榜第一(MICCAI 2025)
EchoApex 超声基础模型 https://bio.rodeo/models/echoapex 企业级预训练 + 本库微调参照
HuggingFace 镜像 数据镜像 https://huggingface.co/datasets/miyuki17/EchoNet-Dynamic-unzipped 免注册快速原型(7.93 GB,batch 子目录)
天池镜像 数据镜像 https://tianchi.aliyun.com/dataset/83175 国内下载通道,描记格式说明详尽
SOTA2 排行榜 评测聚合 https://www.sota2.com/research/sota/ejection-fraction-prediction-on-echonet-dynamic-test EF 回归公开数字汇总(注意协议差异)

生态使用的优先级建议:官方代码库与官方主页是必读两项;数据镜像仅在官方渠道受阻时使用,且合规义务不减免;模型与榜单类资源按你的任务选修,不要求全量跟踪。


§9 相关资源与引用

  • 官方主页与数据申请:https://echonet.github.io/dynamic/ (注册 → RUA → 限时 SAS 下载链接)
  • 官方代码库:https://github.com/echonet/dynamic (Dataset 类、video/segmentation 训练入口、beat_analysis.R、ConvertDICOMToAVI.ipynb)
  • 前置论文 PDF:ML4H @ NeurIPS 2019 工作坊论文(官网直链)
  • 原始论文:Nature 580(7802): 252-256,DOI: 10.1038/s41586-020-2145-8(PubMed: 32269341)
  • 社区教程:官方仓库示例 Notebook;天池镜像页的描记格式中文说明
  • 许可与引用政策:RUA 全文见官方站点;引用格式见 §9.2 与 §9.3;再分发与镜像使用的合规边界见 §7.4 与坑点 8
  • 聚合榜单入口:SOTA2 与社区聚合站收录的 EF 回归/分割榜单(见 §8.7),解读时遵守 §8.1 的协议警示
  • 安装方式:官方代码库以源码安装为主(git clone + pip install -e .,见 §6.1);版本与依赖以仓库 README 为准
  • 问题反馈渠道:官方代码库 issues 区(划分复现、描记解析等高频问题优先检索既有讨论)

§9.2 BibTeX 引用

以下三条覆盖「数据本体 / 前置资源 / 生态代表」三类最常被引用的对象,可直接粘贴至 .bib 文件:

@article{Ouyang2020EchoNet,
  title   = {Video-based AI for beat-to-beat assessment of cardiac function},
  author  = {Ouyang, David and He, Bryan and Ghorbani, Amir and Yuan, Neal and
             Ebinger, Joseph and Langlotz, Curtis P. and Heidenreich, Paul A. and
             Harrington, Robert A. and Liang, David H. and Ashley, Euan A. and
             Zou, James Y.},
  journal = {Nature},
  year    = {2020},
  volume  = {580},
  number  = {7802},
  pages   = {252--256},
  doi     = {10.1038/s41586-020-2145-8}
}

@inproceedings{Ouyang2019EchoNetML4H,
  title     = {EchoNet-Dynamic: a Large New Cardiac Motion Video Data Resource
               for Medical Machine Learning},
  author    = {Ouyang, David and He, Bryan and Ghorbani, Amir and Yuan, Neal and
               Ebinger, Joseph and Langlotz, Curtis and Heidenreich, Paul and
               Harrington, Robert and Liang, David and Ashley, Euan and Zou, James},
  booktitle = {Machine Learning for Health (ML4H) Workshop at NeurIPS 2019},
  year      = {2019}
}

@inproceedings{Reynaud2023EchoDiffusion,
  title     = {EchoDiffusion},
  author    = {Reynaud, Hadrien and Qiao, Mengdie and Dombrowski, Martin and
               Day, Thomas and Razavi, Reza and Gomez, Alberto and
               Leeson, Paul and Kainz, Bernhard},
  booktitle = {Medical Image Computing and Computer Assisted Intervention (MICCAI)},
  year      = {2023}
}

§9.3 引用指南

  • 使用数据本体时,引用 Ouyang 2020(Nature)并注明数据版本(2020-03 正式版,10,030 段,划分 7,465/1,288/1,277)。
  • 引用人群统计(女性 48%、年龄 68±21 等)时,应同时引用 ML4H 2019 工作坊论文(该组数字的首发来源)。
  • 引用排行榜数字时注明「协议未统一,见 §8.1」,避免误导性横比。
  • 衍生模型发布时在 README 与论文中同时给出数据申请方式与 RUA 声明,勿附任何原始文件或链接。

常见错误引用对照:只用 10,036 段(ML4H 早期版数字)描述数据规模而不注明版本;把人群统计(女性 48%、年龄 68±21 等)的出处归于 Nature 论文而漏引 ML4H 2019(该组数字的首发来源);把聚合榜单数字当作同协议结果直接横比;只引官网而不引 Nature 论文(学术语境以论文引用为准)。自查方法:对稿件中每个数字追问「出处是哪一条」,与 §10.3 的来源清单逐项对应,找不到对应来源的数字一律删除或重新核实。

引用核查的分工建议:初稿作者负责为每条数字提供出处链接;交叉审核者重点抽查「无出处的数字」与「有出处但版本可疑的数字」两类;发布前由编辑部统一核对 §1.4 版本时间轴与正文数字的一致性。


§10 AI 使用声明卡

§10.1 AI 模型列表

模型 用途 版本/说明
CodeBuddy(fast-model) 条目初稿起草 大语言模型,负责结构与文字组织

说明:初稿基于公开来源检索整理,模型不接触数据集本体、内部系统与任何未公开资料。

§10.2 AI 参与范围

AI 负责资料整合、初稿撰写与格式排版;全部数字均摘自 AI 检索获得的公开来源(见 §10.3)并由编辑流程核对;医学结论、标签映射与合规表述经千方病案医学编辑部人工审核(§0.1)。AI 不接触数据本体,未执行任何下载或入库操作。

参与边界声明:对无法从公开来源核实的字段(如逐视频的设备分布、检查时间戳),条目统一表述为「官方未提供」并分析其影响(§4.5、§7.7),而非生成推测值填充;这一原则贯穿全篇数字处理流程。

§10.3 输入来源

  1. Ouyang D, et al. Video-based AI for beat-to-beat assessment of cardiac function. Nature, 2020, 580(7802): 252-256. DOI: 10.1038/s41586-020-2145-8
  2. Ouyang D, et al. EchoNet-Dynamic: a Large New Cardiac Motion Video Data Resource for Medical Machine Learning. ML4H @ NeurIPS 2019 Workshop. https://echonet.github.io/dynamic/NeuroIPS_2019_ML4H Workshop_Paper.pdf
  3. EchoNet-Dynamic 官方主页(数据构成、许可与获取流程)。https://echonet.github.io/dynamic/
  4. EchoNet-Dynamic 官方代码库(Dataset 类、训练入口、去标识化 Notebook)。https://github.com/echonet/dynamic
  5. Nature Cardiology 评论. Estimating ejection fraction by video-based AI, 2020. https://www.nature.com/articles/s41569-020-0375-y
  6. SOTA2 排行榜:Ejection Fraction Prediction on EchoNet-Dynamic (Test). https://www.sota2.com/research/sota/ejection-fraction-prediction-on-echonet-dynamic-test
  7. EchoCardMAE 论文(MICCAI 2025,EF 回归与分割 SOTA、CAMUS 迁移)。https://papers.miccai.org/miccai-2025/paper/2462_paper.pdf
  8. EchoDiffusion 代码库(MICCAI 2023,作者列表)。https://github.com/HReynaud/EchoDiffusion
  9. EchoNet-Synthetic 代码库(合成数据与官方划分脚本)。https://github.com/HReynaud/EchoNet-Synthetic
  10. MemSAM(CVPR 2024,超声视频分割 SOTA)论文页。
  11. EchoApex 技术报告(2024 预印本,EF MAE 5.6%)。https://bio.rodeo/models/echoapex
  12. HuggingFace 镜像页 miyuki17/EchoNet-Dynamic-unzipped(大小与 batch 目录结构)。https://huggingface.co/datasets/miyuki17/EchoNet-Dynamic-unzipped
  13. 天池数据集页 83175(描记配对端点格式说明)。https://tianchi.aliyun.com/dataset/83175
  14. 官方 Dataset 类文档整理(target 列表与默认采样参数)。https://deepwiki.com/echonet/dynamic/4-dataset
  15. Azure Blob SAS 下载流程示例(链接有效期约 30 天)。https://github.com/mykcs/EchoNet-Dynamic_20250728

§10.4 人工校验

内容模块 审核者 审核方式 审核状态
§1 概览与版本时间轴 千方病案医学编辑部 对照 FACTS 逐数核对 ✅ 已验证
§2 医学背景与 ICD-11/SNOMED 映射 千方病案医学编辑部 编码对照金标准条目复核 ✅ 已验证
§3-§5 规格/结构/划分 医疗 AI 数据工程师 与官方站点及论文交叉核对 ✅ 已验证
§6 代码与 8 个坑点 医疗 AI 数据工程师 代码静态走查 + 官方文档比对 ✅ 已验证
§7 DAIMS 与偏倚分析 编辑部 + 数据工程师 24 项逐条评定复核 ✅ 已验证
§8-§9 基准与引用 编辑部 引用链接逐条可达性检查 ✅ 已通过

校验口径说明:「已验证」指内容与 FACTS 清单或官方来源逐数核对一致;「已通过」指通过引用完整性与链接可达性检查。两档对应不同的审核深度,均为发布前置条件。

§10.5 AI 生成章节标注

全文章节由 AI 起草初稿:§0 免责声明为固定文本模板(逐字沿用);§1-§9 为 AI 整理撰写并经人工逐模块审核(§10.4);§10 声明卡与 §C 结构化数据为模板化生成。无任何章节在未经人工审核的情况下发布。

模板一致性说明:INFOBOX 字段顺序、免责声明三段、DAIMS 24 项表式与 §C JSON-LD 结构在全站各条目间保持一致,便于跨数据集横向比较与机器解析;如模板后续升级,以全站最新规范为准。

§10.6 最后人工审核日期

2026-09-05(与 §0.1 审核日期一致)。

页面状态:published(全部内容已完成审核并发布)


相关数据集导航

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

  • cardiac-atlas-project — 共享标签:医学影像 / 医学图像分割 / 图像分类 / 心血管疾病
  • echonet-lvh — 共享标签:医学影像 / 图像分类 / 心血管疾病
  • myocardial-perfusion-spect — 共享标签:医学影像 / 医学图像分割 / 心血管疾病
  • ddti — 共享标签:医学影像 / 医学图像分割 / 图像分类
  • busi — 共享标签:医学影像 / 医学图像分割 / 图像分类
  • inbreast — 共享标签:医学影像 / 医学图像分割 / 图像分类
  • echonet-pediatric — 共享标签:医学影像 / 医学图像分割 / 心血管疾病
  • ptb-xl — 共享标签:医学影像 / 图像分类 / 心血管疾病
  • mms — 共享标签:医学影像 / 医学图像分割 / 心血管疾病
  • camus — 共享标签:医学影像 / 医学图像分割 / 心血管疾病

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

返回 AI-Ready 数据集