信息速览

ATLAS — 肝肿瘤 CE-MRI 分割基准 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | ATLAS(肝肿瘤 ATLAS) |
| 英文全称 | A Tumor and Liver Automatic Segmentation Dataset |
| 别名/简称 | ATLAS Challenge、ATLAS MICCAI 2023、ATLAS 2023、atlas-challenge.u-bourgogne.fr |
| 疾病分类 | 肝细胞癌(ICD-11:2C12.0 肝细胞癌 / 2C12.Z 肝恶性肿瘤未特指,详见 §2.1) |
| SNOMED CT | 10200004 Liver structure(分割目标解剖结构)+ 25370001 Hepatocellular carcinoma(病例谱,详见 §2.1b) |
| 数据模态 | 对比增强 T1 加权 MRI(CE-MRI,横断位,钆对比剂) |
| AI 任务类型 | 3D 多类医学图像分割(健康肝脏 + 肿瘤)、肿瘤负荷估计、域泛化基准评测 |
| 样本总数 | 90 例 CE-MRI 体积(训练 60 例 + 测试 30 例)/ 训练集合计 4,744 张 2D 切片 |
| 数据大小 | 训练集约 500 MB(NIfTI 双份:60 例图像 + 60 例标签) |
| 数据格式 | NIfTI(.nii.gz),由 DICOM 与 DICOM RTStruct 经 CLITK 转换 |
| 许可证 | CC BY-NC-SA 4.0(署名-非商业性使用-相同方式共享) |
| 访问级别 | 注册后开放(须有效机构邮箱注册账号方可下载训练集) |
| DUO 标签 | GRU, NPUNCU, NCU, SA, PUB |
| 语言 | 英文(文档与元数据) |
| 首发日期 | 2023-04-27(MDPI Data 8(5):79 发布;训练集 2023-04-21 释放) |
| 最后更新 | 2025-12(网站关闭、测试集 30 例标签释放) |
| 发布机构 | 勃艮第大学 ICMUB UMR CNRS 6302、Centre Georges-François Leclerc、第戎大学医院(CHU Dijon)、ImViA |
| 官方主页 | https://atlas-challenge.u-bourgogne.fr/ |
| 下载地址 | https://atlas-challenge.u-bourgogne.fr/dataset |
| DOI | 10.3390/data8050079(数据集论文)/ 10.1038/s41598-024-53528-9(挑战赛分析论文) |
| 引用次数 | 54+(CoLab 收录数据集论文引用,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐(3/5)— 官方 60/30 划分明确、格式统一为 NIfTI、官方指标代码随数据分发;扣分项:无标准化预处理脚本、无 nnU-Net 任务配比、测试集标签延迟释放、元数据仅到图像级 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、肝细胞癌与 TARE 治疗语境、临床任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(NIfTI 三分类标签结构、字段字典与统计)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。ATLAS 采用 CC BY-NC-SA 4.0 许可,允许非商业性的改编与再分发,但必须署名 ATLAS 数据集、以相同许可分发衍生作品,且禁止商业使用。发表结果时必须引用 Quinton et al. 2023(Data 8(5):79)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? ATLAS(A Tumor and Liver Automatic Segmentation)是一份专门为肝细胞癌(HCC)影像打造的对比增强 MRI 数据集。它包含 90 名不可切除 HCC 患者的腹部磁共振扫描——每位患者一幅完整的 3D CE-MRI 图像,配一份人工勾画的标签,标签里同时圈出了"健康肝脏"和"肿瘤"两个结构。这 90 例被官方切成两块:60 例公开给你训练,30 例的图像公开但标签保密,只能通过官方平台提交算法来获得评分。数据来自法国第戎大学医院,采集时间横跨 2012 到 2023 年,参见官方主页。
为什么重要? 它是目前极少数公开的、带肿瘤标注的 HCC 磁共振数据集。腹部肿瘤分割领域长期被 CT 主导(LiTS、MSD Task03 都是 CT),而临床上的 TARE(经动脉放射栓塞)治疗方案恰恰依赖 MRI 来做剂量计算——因为 MRI 对肝内病灶的软组织对比度远优于 CT。在 ATLAS 之前,做 HCC MRI 分割的研究只能用私有数据(174 例、190 例量级的院内队列),无法横向比较。ATLAS 论文明确声称这是"据作者所知首个提供 HCC CE-MRI 标注的公开数据集"。
我能用它做什么? 训练和评测肝脏 + 肿瘤双类分割模型、验证肿瘤负荷计算的精度(这是 TARE 剂量的直接输入)、研究跨 MRI 厂商与跨对比期相的鲁棒性、或者作为小样本资源高效学习(REMIA 研讨会的主题)的试验床。需要注意三点:单中心队列(法国第戎)、时间划分导致训练与测试存在系统性域偏移、许可证禁止商用。还有一个现实约束——测试集标签在 2025 年底网站关闭前不公开,所以在此之前你只能用 60 例训练集做本地验证。
§1.1 技术摘要
ATLAS 的技术定位可以概括为"小规模、真实世界、多类标注、划分刻意制造域偏移"。数据侧:90 例 T1 加权对比增强 MRI,横断位超快速梯度回波序列,全部施加脂肪饱和,钆基对比剂;每例 44 至 136 层,覆盖完整肝脏与肿瘤所在的胸腹部区域;像素间距 0.68 × 0.68 mm² 至 1.41 × 1.41 mm²,层厚 2 至 4 mm,各向异性显著且逐例不同。标签为三分类体数据:0 背景、1 健康肝脏(排除肝外动脉与胆囊)、2 肿瘤(含坏死区,坏死亚区未单独标注)。训练集 60 例的肝脏体积横跨 923 至 2,781 cm³(中位数 1,660 cm³),肿瘤体积横跨 2.57 至 2,188 cm³(中位数 206 cm³)——体积极差比高达 850 倍,这是理解该数据集一切难度分布的起点(第三方数据统计)。
划分侧的设计是 ATLAS 最具方法学价值的部分:官方按采集年份切分——训练集为 2012 至 2020 年的 60 例,测试集为 2020 至 2023 年的 30 例。数据集说明页对此给出的理由很直白:"由于数据集跨越 11 年采集,患者护理质量与采集质量逐步提升,因此较老与较新的采集之间存在域偏移,最新的采集更接近未来的采集。"这也解释了两个可从公开数据核实的分布差异:训练集仅 37% 为 3T 图像,测试集为 90%;训练集平均肿瘤体积 386,034 ± 483,907 mm³,测试集为 252,258 ± 371,385 mm³(采集统计)。
评估侧使用五项指标共九项分数:平均 Dice、5 mm Surface Dice、平均对称表面距离(ASSD)、Hausdorff 距离各算两次(全肝一次、肿瘤一次),加上肿瘤负荷(tumor burden)的 RMSE 一项,最终以 rank-then-aggregate 投票制聚合排名。官方指标计算代码随数据集分发。数据集的配套分析论文发表于 Scientific Reports 2024,系统比较了 7 种 3D 架构并使用贝叶斯搜索调参,报告超参优化使肝脏 Dice 平均提升 1.7%、肿瘤 Dice 平均提升 5.0%(Sci Rep 14:3522)。
§1.2 战略价值
模态补位价值:把肝肿瘤分割基准从 CT 世界延伸到 MRI 世界。 肝脏肿瘤分割的公开基准生态长期由 CT 主导:LiTS 用 131 例训练 CT,MSD Task03 同样是 CT 口径,3D-IRCADb 也是增强 CT。这套 CT 谱系的共同假设是"肝内病灶在增强 CT 上有足够的密度对比",而临床实践中 TARE 的剂量计算要走另一条路——用 MRI 勾画肝脏与肿瘤、再计算钇-90 微球应投放的剂量。ATLAS 精准落在这个缺口上:它不是又一份 CT 数据,而是把"对比增强 MRI + 肝脏 + 肿瘤 + 剂量相关终点"整条链路的数据打通。对研究者的直接含义是:过去只能在院内私有数据上验证的 HCC MRI 分割方法,如今有了可公开比较的坐标系(数据集论文原文)。
评测设计价值:用时间切分把域偏移从"意外"变成"考题"。 多数医学影像数据集的划分是随机的,随机划分隐含一个乐观假设——训练分布与测试分布同构。ATLAS 反其道而行:测试集刻意选最近三年的患者,让设备场强(3T 占比 37% vs 90%)、护理流程与成像工艺的代际差异全部暴露在评测中。这是一种把"泛化能力"从论文里的口头承诺变成可量化分数的设计。它的代价是本地随机划分的成绩与官方榜完全不可比(这一点在 §5.3 与坑点 4 中详述),换来的收益是:在 ATLAS 官方榜上拿到好成绩,意味着你的方法真的能跨时间泛化,而不是只记住了训练集的纹理(数据集页划分说明)。
资源高效学习价值:60 例训练量本身就是研究对象。 ATLAS 与 MICCAI 2023 的 REMIA workshop(Resource-Efficient Medical Image Analysis)联合举办挑战赛,这个组合不是偶然。REMIA 的核心议题是"如何在有限数据、有限标签、有限算力下做出可用的模型",而 60 例带标注的 3D MRI 恰好是这类议题的教科书级场景:参数量动辄上亿的 Transformer 在这里未必胜过 CNN,超参搜索的边际收益可能大于换架构。Sci Rep 2024 那篇分析论文的结论正印证了这一点——在 ATLAS 上,混合 CNN/Transformer 架构在大数据集上的优势消失了,与纯 CNN 表现相当,而超参优化带来的提升(肿瘤 Dice +5.0%)比换架构更显著(Sci Rep 14:3522)。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态 | 标注目标 | 标注来源 | 与 ATLAS 的差异化 |
|---|---|---|---|---|---|
| ATLAS(本条目) | 90 例(训练 60 + 测试 30) | 对比增强 T1 MRI | 健康肝脏 + 肿瘤(三分类) | 单中心,1 名放射科医师 + 第二专家复勾 48 例 | 唯一公开的 HCC CE-MRI 标注集;多厂商多期相混杂;时间划分制造域偏移 |
| LiTS | 201 例 CT(训练 131 + 测试 70) | 腹部增强 CT | 肝脏 + 肝肿瘤 | 多机构整理标注 | 规模大 2 倍以上、CT 模态;单类肝脏口径的版本也常被引用 |
| MSD Task03(肝脏) | 131 例训练 CT | 腹部增强 CT | 肝脏 + 肿瘤 | Decathlon 统一整理 | 跨机构规模、标准化任务框架;与 LiTS 训练集部分同源 |
| 3D-IRCADb-01 | 20 例增强 CT | 增强 CT | 肝脏 + 肿瘤 + 多个器官 | 专家人工标注 | 多器官多结构、含非肿瘤对照病例;体量小 4 倍 |
| TCGA-LIHC | 1,688 例(影像子集) | 多期 CT/MRI | 部分带分割 | 多中心 | 规模大一个数量级、含基因组与临床数据;分割标注覆盖不完整 |
| HCC-TACE-Seg | 628 例 CT | 增强 CT | 肝脏 + 肿瘤(TACE 治疗队列) | TCIA 整理 | 与 ATLAS 临床场景最近(介入治疗),但模态为 CT 且治疗方式不同 |
这张表的用法不是"谁更好",而是"谁回答什么问题"。如果你的终点是 TARE 剂量相关的 MRI 场景,ATLAS 是唯一的公开选项;如果你要的是大规模预训练语料,LiTS 与 MSD Task03 的 CT 数据量更合适,且常被用作 ATLAS 训练前的预训练源(挑战赛规则明确允许使用公开的外部数据集与预训练模型)。注意 LiTS 与 MSD Task03 规模数字在不同文献中的口径差异:普遍引用的是"训练 131 例 + 测试 70 例 = 201 例",而 131 例这个数字也常被单独引用为数据集总量,引用时务必写明口径。
§1.4 版本时间轴
| 时间 | 事件 | 说明 |
|---|---|---|
| 2023-03-20 | 数据集论文投稿 MDPI Data | 从投稿到接收仅约一个月(论文页) |
| 2023-04-14 | ATLAS Challenge 注册开放 | 须有效机构邮箱注册(时间线) |
| 2023-04-21 | 训练集 60 例释放 | 含 60 幅图像 + 60 份标签 + 患者信息 JSON(数据集页) |
| 2023-04-27 | 数据集论文正式发表 | Data 2023, 8(5), 79,开放获取(DOI) |
| 2023-06-22 | Docker 提交通道开放 | 提交容器须输出原始分辨率下的分割图(挑战赛页) |
| 2023-09-15 | Docker 提交与技术报告截止 | 每人最多提交 2 次,取最好成绩 |
| 2023-10-08/12 | REMIA workshop 举办并公布结果 | MICCAI 2023 温哥华,线上进行(REMIA) |
| 2024-02-12 | 挑战赛分析论文发表 | Sci Rep 14:3522,7 种架构 × 贝叶斯超参搜索(DOI) |
| 2025-12 | 网站关闭、测试集 30 例释放 | 官方声明测试集将在网站关闭时公开(数据集页) |
时间轴读出的三条信息:第一,ATLAS 的"活跃窗口"极短,从训练集释放到提交截止只有约 5 个月,这与它的小体量吻合;第二,2024 年的 Sci Rep 论文把挑战赛的经验沉淀为可复用的方法学结论,是理解该数据集最佳实践的首选文献;第三,2025 年底的测试集释放是这个数据集生命周期的关键转折点——在此之前它只能"训练 + 提交",之后才具备"完整本地复现"的条件。
§1.5 典型应用场景
- HCC 肝脏与肿瘤双类分割基线训练:用 60 例训练集做 5 折交叉验证建立本地方案,官方指标代码在 60 例上做自测。
- TARE 剂量计算的肿瘤负荷估计:肿瘤负荷(tumor burden,肿瘤体积占肝脏体积的比例)是 ATLAS 五项指标中唯一针对临床终点的指标,其 RMSE 直接反映分割误差如何传导到剂量计算环节。
- 跨期相与跨厂商鲁棒性研究:数据集混杂动脉期 33 例、门静脉期 10 例、延迟期 8 例、无对比剂 2 例、未知 7 例,以及 Siemens VIBE / VIBE TWIST / VIBE CAIPIRINHA / GE LAVA / LAVA FLEX 五种序列,是天然的域偏移试验床。
- 小样本资源高效学习:60 例 3D 数据 + REMIA 研讨会主题,适合测试半监督、自监督预训练、参数高效微调等方法。
- 2D 与 3D 架构的必要性论证:独立研究已提供证据表明 2D 架构因层间不连续在 MRI 小病灶上系统性失效,可用该数据集复现并扩展这类结论(Diagnostics 2026 对比研究)。
- 分割 → 剂量 → 临床决策的误差传导分析:把分割 Dice 的下降映射为剂量估算偏差,回答"多高的 Dice 才够用"这类临床上真正关心的问题。
§2 医学背景
§2.1 ICD-11 编码映射
ATLAS 的所有病例都是病理确诊的不可切除肝细胞癌患者,因此数据集携带一个明确的疾病标签——HCC,而不是像 SLIVER07 那样只有器官掩码。下表把数据集覆盖的疾病与解剖概念映射到 ICD-11。
| 标签概念 | ICD-11 编码 | ICD-11 中文名 | 术语说明 |
|---|---|---|---|
| 肝细胞癌(数据集全体病例) | 2C12.0 | 肝细胞癌 | 90 例全部为不可切除 HCC,准备接受 TARE 治疗 |
| 肝恶性肿瘤(上位概念) | 2C12 | 肝恶性肿瘤 | 未特指类型的肝脏恶性肿瘤,ATLAS 的疾病类目根节点 |
| 肝脏(分割目标解剖结构) | — | 肝脏(解剖结构) | 标签值 1,覆盖健康肝实质,排除肝外动脉与胆囊 |
| 肿瘤病灶(分割目标) | — | 肝内肿瘤性病变 | 标签值 2,包含坏死区;坏死亚区未单独编码 |
| 肿瘤坏死(未单独标注) | — | 肝肿瘤坏死 | 论文明确说明坏死归入肿瘤或肝脏,无独立标签 |
编码映射的使用边界:ATLAS 提供的是"疾病标签 + 器官标签 + 病灶标签"三层信息,这在医学影像数据集里相对完整。但要注意,“标签值 1 = 健康肝脏"这个命名有意区分于"全肝”——论文的标注规则明确把肿瘤从肝脏中排除,所以完整肝脏体积 = 标签 1 体积 + 标签 2 体积。任何把标签 1 直接当作"肝脏"来评估的做法都会系统性低估肝脏体积,这一点在坑点 6 中展开。
§2.1b SNOMED CT 映射
| 标签概念 | SNOMED CT 码 | 英文术语 | 备注 |
|---|---|---|---|
| 肝脏(解剖结构) | 10200004 | Liver structure | 分割目标的解剖学锚定 |
| 肝细胞癌 | 25370001 | Hepatocellular carcinoma | 数据集全体病例的疾病诊断 |
| 肝肿瘤分割 | — | Liver tumour segmentation (procedure concept) | 任务概念无统一常用码,检索时组合 10200004 与 25370001 |
| 磁共振成像 | 113091000 | Magnetic resonance imaging | 模态锚定 |
| 经动脉放射栓塞 | 428119001 | Transarterial radioembolization | 数据集采集的临床语境(TARE 术前剂量规划) |
§2.2 疾病简介与流行病学背景
肝细胞癌是最常见的原发性肝脏恶性肿瘤,也是全球癌症死亡的第四大原因;在不可切除的病例中,经动脉放射栓塞(TARE,又称选择性内放射治疗 SIRT)是推荐治疗方案之一:通过肝动脉向肿瘤供血血管注入直径 20 至 60 微米的钇-90 微球,利用辐射诱导的 DNA 损伤造成肿瘤坏死。TARE 的关键前置步骤是剂量计算,而剂量计算的前提是把肝脏与肿瘤的空间范围精确勾画出来——这正是 ATLAS 存在的临床理由(挑战赛背景说明)。
临床流程中,这个勾画任务通常在对比增强 MRI 上进行,因为 MRI 有四个可用于区分的期相(平扫、动脉期、门静脉期、延迟期),能够把肿瘤与肝脏实质的对比度拉开。但这个过程极其耗时且高度依赖专业经验:一次完整的肝脏 + 肿瘤三维勾画往往需要数十分钟到数小时,且不同医师之间存在可观的观察者间差异。ATLAS 的论文把观察者间差异做了定量化——第二位专家在 48 幅图像上重复勾画,得到的变异系数均方根为肝脏小于 4.5%、肿瘤小于 6.2%。这组数字有双重含义:一是肿瘤勾画的不确定性天然高于肝脏(6.2% vs 4.5%),二是它给出了"自动分割做到什么程度算达到人类水平"的参照系(论文原文)。
§2.3 临床任务定义
| 任务类型 | 具体内容 | ATLAS 支持度 |
|---|---|---|
| 治疗前评估 | 判定肿瘤可切除性与 TARE 适应证 | 间接支持(提供解剖与病灶范围,无功能影像与实验室指标) |
| 剂量计算(dosimetry) | 基于肝脏与肿瘤体积计算钇-90 投放剂量 | 直接支持(肿瘤负荷是官方指标之一) |
| 分割自动化 | 减少医师勾画时间与观察者间差异 | 核心设计目标 |
| 疗效评估 | 治疗后肿瘤坏死范围与体积变化 | 间接支持(无随访序列,为治疗前单时点数据) |
| 算法基准评测 | 统一数据 + 九项分数 + 投票制排名 | 核心设计目标,Docker 提交评估 |
| 域泛化研究 | 跨厂商、跨期相、跨年代的鲁棒性验证 | 直接支持(时间划分 + 多序列混采天然构成域偏移) |
表中六类任务共享同一技术底座:边界不可靠,其上的剂量计算、疗效评估与手术决策全部失真。ATLAS 相比纯器官分割基准多出一层难度——要求模型同时处理"大而边界清晰的肝脏"与"小而边界模糊的肿瘤",而官方评测把这两类分开报告(Liver Dice 与 Tumor Dice 各自排名),等于显式承认:肝脏分对容易,肿瘤分对难。
§2.4 患者人群画像
| 维度 | 内容 |
|---|---|
| 数据来源 | 法国第戎大学医院(University Hospital, Dijon 21000)真实临床 HCC 病例 |
| 采集时间 | 2012 年 10 月至 2023 年 2 月(训练集 2012-2020,测试集 2020-2023) |
| 例数 | 90 例(训练 60 例、测试 30 例),每例 1 名患者 |
| 疾病状态 | 全体为不可切除肝细胞癌,TARE 治疗前评估 |
| 年龄/性别分布 | 官方未披露(元数据仅记录采集年份、分辨率、期相、序列、厂商) |
| 地域/种族分布 | 单中心法国队列,具体人群构成官方未披露 |
| 检查类型 | 钆对比剂增强 T1 加权 MRI,每次检查产生 3-5 幅图,仅 1 幅入选 |
| 标注对象 | 健康肝脏(标签 1)与肿瘤(标签 2),全肝 = 标签 1 + 标签 2 |
这个"元数据稀薄但技术属性完整"的画像有两个工程含义。其一,ATLAS 的元数据层级是"图像级"而非"患者级":patient_info_train.json 记录的是每幅图像对应的采集年份、图像分辨率、对比期相、MRI 序列与 MRI 厂商——这些对域偏移分析极其有用,但没有年龄、性别、种族、分期、肝功能这些临床变量。其二,任何涉及人群代表性的结论都必须外求。这两个限制在 §7.1 与 §7.5 中分别展开。
§2.5 临床价值与 AI 应用意义
ATLAS 的临床价值锚定在一个非常具体的工作流环节:TARE 术前的剂量规划。在这个环节里,医师需要回答的问题是"把多少活度的钇-90 微球投放到哪个血管分支",而答案取决于两个几何量——肝脏总体积与肿瘤总体积。论文对自动化的必要性给出了直接论证:“由于勾画过程需要大量的时间与专业知识,自动化存在很高的需求度”(挑战赛说明)。
从 AI 方法论看,ATLAS 贡献了三件在纯学术基准里罕见的东西。第一,它把"临床终点"直接写进了评估指标:肿瘤负荷 RMSE 衡量的不是分割像不像,而是"算出来的肿瘤占比准不准",这比 Dice 更贴近剂量计算真正关心的问题。第二,它用观察者间变异的定量结果(肝脏 CV < 4.5%、肿瘤 CV < 6.2%)给出了一条人类水平的参照线——模型误差逼近这条线时,继续优化的边际临床收益就趋于零。第三,它把域偏移做成了评测的一部分而非被掩盖的噪声,使得"在 ATLAS 上表现好"这句话的可信度高于多数同体量基准。这三点叠加起来,让 ATLAS 成为"从分割指标到临床决策"这条链条上少见的完整样本。
§2.6 金标准参考描述
| 维度 | ATLAS 的定义 |
|---|---|
| 划分 | 训练 60 例(图像 + 标签均公开)+ 测试 30 例(仅图像公开,标签截至 2025 年底保密) |
| 标注方式 | 放射科医师在横断位逐层手工勾画,勾画后三维整合为体标签 |
| 标注者 | 1 名经验丰富的 MRI 放射科医师(>3 年经验)完成全部主要标注 |
| 一致性评估 | 第 2 名专家在 48 幅图像上重复勾画,变异系数 RMS 肝脏 < 4.5%、肿瘤 < 6.2% |
| 标注工具 | MIM SurePlan LiverY90 软件(笔刷与铅笔工具) |
| 标签语义 | 0 = 背景,1 = 健康肝脏(排除肝外动脉与胆囊),2 = 肿瘤(含坏死);坏死亚区无独立标签 |
| 预处理 | 无(官方明示 No pre-processing was applied) |
| 元数据 | 图像级:采集年份、图像分辨率、对比期相、MRI 序列、MRI 厂商 |
与同领域其他金标准的差别主要在三处。其一,标注者结构不同:ATLAS 是"1 名主治 + 1 名复核专家"的两级结构,SLIVER07 是"单参考 + 专家间差异作为评分锚点",LiTS 则是多机构分布式标注——ATLAS 的一致性数据(48 幅复勾)比 SLIVER07 更透明,但没有公开逐例标注者归属。其二,标签粒度不同:ATLAS 提供三分类(背景/肝脏/肿瘤),比 SLIVER07 的单类二值信息密度高,但比 3D-IRCADb 的多器官标注信息密度低。其三,划分语义完全不同:ATLAS 的时间划分意味着训练与测试不是同分布的随机样本,跨数据集合并时必须把这一点写进实验设计,不能假设"官方划分 = 无偏划分",详见 §5.3。
§3 数据集规格
§3.0 版本与获取渠道抉择矩阵
ATLAS 没有内容演进意义上的多版本发布,选择的关键在于"你用哪一部分数据 + 走哪条获取路径"。
| 你的需求 | 推荐路径 | 大小 | 理由 |
|---|---|---|---|
| 本地训练与快速上手 | 训练集 60 例(注册后下载) | 约 500 MB | 官方唯一公开标注数据,含患者元数据 JSON 与指标代码(数据集页) |
| 正式基准评测 | 官方 Docker 提交通道 | 0(容器提交) | 测试集标签保密,只能用官方管线评分;已随网站关闭停用(挑战赛页) |
| 完整 90 例本地复现 | 训练集 + 2025-12 释放的测试集 | 训练集约 500 MB | 测试集标签随网站关站释放后,ATLAS 才成为可完整本地评估的数据集(数据集页) |
| 复现 Sci Rep 2024 的架构对比 | 训练集 60 例 + 官方代码仓库 | 约 500 MB | 配套代码在 GitLab 公开,可复现 7 种架构的调参与对比(Sci Rep 14:3522) |
| 与 CT 谱系联合训练 | ATLAS 训练集 + LiTS 训练集 | 数百 GB | 挑战赛规则允许使用公开外部数据与预训练模型(规则) |
一个必须澄清的引用陷阱:二手资料中普遍流传的"90 例"是数据集总量口径,而实际可下载的标注数据只有 60 例。引用 ATLAS 规模时若不写明"训练 60 例 / 测试 30 例",会让读者误以为有 90 例可训练数据。本条目统一采用"90 例总量(训练 60 + 测试 30)"的写法。
§3.1 模态详情
数据集仅含一种模态:钆对比剂增强的 T1 加权 MRI。全部采集为横断位、超快速梯度回波序列,并施加脂肪饱和(FATSAT)。序列在两个厂商间分布如下:
| 厂商 | 序列名 | 训练集例数 | 测试集例数 |
|---|---|---|---|
| Siemens | VIBE | 24 | 15 |
| Siemens | VIBE TWIST | 7 | 13 |
| Siemens | VIBE CAIPIRINHA | 2 | 2 |
| GE | LAVA | 5 | 0 |
| GE | LAVA FLEX | 2 | 0 |
设备以 5 台 Siemens 1.5T/3T 机器为主,另有少量 GE 1.5T。场强分布在训练与测试之间存在明显落差:训练集仅 37% 为 3T 图像,而测试集高达 90%。采集参数范围为 TR 3.09 至 6.78 ms、TE 1.07 至 4.19 ms、翻转角 9.0 至 13.0°(采集参数统计)。
对比期相是 ATLAS 最容易被低估的异质性来源。每次检查会产生三到五幅 CE-MR 图像,但只有一幅被选入数据集,且入选的期相在不同病例间并不统一:
| 对比期相 | 训练集例数 | 测试集例数 |
|---|---|---|
| 动脉期 | 33 | 14 |
| 门静脉期 | 10 | 5 |
| 延迟期 | 8 | 1 |
| 无对比剂 | 2 | 0 |
| 未知 | 7 | 0 |
对模型设计的直接含义:不存在"统一的强度分布"可以依赖。动脉期肿瘤通常显著强化、门静脉期肝脏实质强化而肿瘤相对低信号、延迟期对比度回落,同一张肝内病灶在不同期相下的灰度关系可能完全相反。因此任何固定的窗宽窗位或全局强度归一化都只是折中方案;论文本身也把"像素强度高度依赖采集序列"列为数据局限之一。序列名称(VIBE / LAVA)与期相字段都在 patient_info_train.json 中提供,这为按域分层分析或域适应训练提供了必需的分组键。
§3.1b 标注几何与标签语义
标签的三分类语义必须在训练前彻底明确,否则会引入系统性偏差:
- 标签 0 = 背景:包括肝外所有组织、空气、肝外血管(如主动脉、下腔静脉)、胆囊等。
- 标签 1 = 健康肝脏:为肝实质中未被判定为肿瘤的部分。论文明确标注规则为"肝脏:全肝,排除肝外动脉和胆囊"。
- 标签 2 = 肿瘤:所有肿瘤病灶的并集,包含坏死区。论文规则:“肿瘤:所有肿瘤(包括坏死);坏死若位于肿瘤内归为肿瘤,否则归为肝脏。坏死标签未单独纳入数据集。”
由此推出三个必须在代码里显式处理的几何事实。第一,完整肝脏 = 标签 1 ∪ 标签 2,官方指标里的"whole liver healthy (liver + unhealthy liver)"正是指这个并集;只取标签 1 会漏掉全部肿瘤区域,在小肿瘤病例上影响有限,但在肿瘤负荷高达 57% 的病例上会造成灾难性低估。第二,肝内血管不挖空:肝实质区域(标签 1)是实心前景,血管与胆管包含在内,与某些"挖空血管"的数据集约定不同。第三,坏死融合在肿瘤内:不要试图从标签 2 里减去坏死子区——数据集根本没有这层信息,做形态学"清理"只会与真值语义冲突。
§3.2 子集与样本数
| 子集 | 例数 | 采集年份 | 参考标注 | 用途 |
|---|---|---|---|---|
| 训练集(train) | 60 例 | 2012 - 2020 | 公开(图像 + 标签) | 训练、调参、交叉验证、本地评测 |
| 测试集(test) | 30 例 | 2020 - 2023 | 保密(截至网站关闭) | 官方 Docker 提交评分 |
| 合计 | 90 例 | 2012 - 2023 | 90 份标签 | 训练集合计 4,744 张 2D 切片 |
两个关于编号与命名的工程提醒。其一,第三方整理显示 ATLAS 的 nnU-Net 版布局把训练图像编号为 im01 起的 60 例、测试图像编号为 im61 起的 30 例(数据卡);官方原始命名以解压后的文件为准,写代码时应通过目录而非硬编码编号来区分 split。其二,训练与测试的切片数不可比:训练集 60 例合计 4,744 张(平均每例约 79 张),测试集 30 例的逐例切片数官方未单独公布。
§3.3 数据格式
| 格式元素 | 说明 |
|---|---|
| .nii.gz | NIfTI-1 单文件格式,gzip 压缩;图像与标签各自一个文件,同名不同目录 |
| 图像数据 | 3D 浮点或整型体数据,44-136 层横断位,覆盖全肝与肿瘤 |
| 标签数据 | 3D 整型体数据,取值 {0, 1, 2},与对应图像逐体素对齐、同尺寸同 spacing |
| patient_info_train.json | 图像级元数据:采集年份、图像分辨率、对比期相、MRI 序列、MRI 厂商 |
| metric_calculation | 官方指标计算 Python 代码目录,随数据集分发 |
| 来源链 | DICOM + DICOM RTStruct → CLITK 工具转换 → NIfTI(论文说明的无损转换路径) |
NIfTI 相比 SLIVER07 的 MetaImage 少了一个经典陷阱:不存在"头文件与数据文件被拆散"的风险。但换来的是另一个易错点——NIfTI 的 pixdim 数组同时装载面内间距与层厚,而 ATLAS 的各向异性非常显著(面内最小 0.68 mm,层厚可达 4 mm,论文另一处引用层间距上限为 4.6 mm),读取时必须完整取出三个分量,不能只取第一个当作"spacing"。医学图像方向约定(RAS/LAS)在不同工具链之间也可能不一致,跨工具比对时建议同时打印 affine 矩阵。
§3.4 存储大小
| 内容 | 大小 |
|---|---|
| 训练集图像 60 例(.nii.gz) | 主体部分,与标签合计约 500 MB |
| 训练集标签 60 例(.nii.gz) | 三分类整型,压缩后占比很小 |
| patient_info_train.json | 小于 100 kB |
| metric_calculation 代码目录 | 小于 100 kB |
| 合计(训练集) | 约 500 MB |
ATLAS 属于"轻量级"数据集,500 MB 量级可以在任何带 GPU 的笔记本上完整跑通。但要注意解压与预处理会放大占用:若把 60 例转换为 float32、重采样到 1 mm 等向并同时保留原始文件,峰值磁盘占用可达原始体积的 5 到 10 倍,建议预留 10 GB 以上(与 §6.8 硬件表一致)。
§3.5 标注方式
ATLAS 的标注是纯人工、单主标注者、无自动预标注的流程。论文与数据集页给出的一致描述是:用选定的 CE-MRI,由一名经验丰富的 MRI 放射科医师在横断位上手工勾画肝脏与肿瘤轮廓以生成标签,全程使用 MIM SurePlan LiverY90 软件的笔刷与铅笔工具,官方明确声明未施加任何预处理(No pre-processing was applied)。为评估观察者间变异,第二位专家在 48 幅图像上重复勾画,得到变异系数均方根肝脏小于 4.5%、肿瘤小于 6.2%。
从生产视角评估这套标注有三点值得注意。第一,标注工具的专业性:MIM SurePlan LiverY90 是专为钇-90 剂量规划设计的商用软件,意味着标签的临床语义与后续剂量计算流程天然对齐,不是通用标注平台的产物。第二,单主标注者的双面性:语义一致、无多标注者风格混杂,但任何个体偏差会系统性传导到全部 60 例,且没有交叉验证机制可以定位离群标注——论文自己就把"异质性/非典型形态的肿瘤更难目视检测与手工勾画"和"低对比度病例显著增加勾画难度"列为可能降低标签精度的因素。第三,无预处理这一点对复现很重要:你拿到的图像就是临床原始灰度,没有 bias field 校正、没有强度标准化,社区实践(如 Sci Rep 2024 论文)普遍自行对每幅图像施加 bias field 校正(论文方法节)。
§3.6 标注者资质与一致性
官方披露的标注者信息是"一名经验丰富的 MRI 放射科医师",论文另一处补充其经验年限为超过 3 年。复核者是第二位专家,复勾范围为 48 幅图像——注意这个数字略小于训练集的 60 例,说明一致性评估并非覆盖整个训练集。
一致性的量化结果是本数据集最有价值的方法学资产之一:
| 结构 | 观察者间变异系数 RMS | 临床解读 |
|---|---|---|
| 健康肝脏 | 小于 4.5% | 肝脏边界在 CE-MRI 上相对清晰,专家间分歧较小 |
| 肿瘤 | 小于 6.2% | 肿瘤边界(尤其浸润性、低对比病例)本质上更模糊,专家间分歧约高 1.4 倍 |
这组数字的正确用法是当作"人类性能上限"的估计:如果你的模型在肿瘤类上的误差水平已经接近 6.2% 的观察者间差异量级,那么继续提升 Dice 的临床意义就很有限,边际收益应该转向减少假阳性病灶(避免在不存在的病灶上做剂量规划)或提升推理速度。反过来,如果模型在肝脏上的误差显著超过 4.5%,说明问题多半出在预处理或标签理解层面,而不是架构不够先进。需要注意的是,这个变异指标衡量的是体积变异系数(coefficient of variation),与 Dice 不是同一量纲,不能直接把 6.2% 与 Dice 分数对等换算。
§3.7 采集周期
ATLAS 的采集窗口是 2012 年 10 月至 2023 年 2 月,跨度约 11 年,且训练与测试按时间切分:训练集 2012 至 2020 年,测试集 2020 至 2023 年。数据集页对这个设计给出了明确的理由:“由于数据集跨越 11 年采集,患者护理质量与采集质量逐步提升,因此较老与较新的采集之间存在域偏移,最新的采集更接近未来的采集。出于这一原因,测试集由数据集里最近的患者构成。”
这个设计带来三条工程含义。第一,时间戳本身不可得:patient_info_train.json 只记录采集年份(不是完整日期),所以能做年际分层分析,但做不了更细的时间趋势分析。第二,训练与测试的差异不是随机的——可以核实的两个系统性差异是场强(3T 占比 37% vs 90%)与肿瘤大小(训练集平均肿瘤体积约为测试集的 1.5 倍)。第三,本地随机划分与官方时间划分给出的成绩差异会很大,因此任何"我在 ATLAS 上达到 X%"的表述都必须附带划分方式的说明(详见 §5.3)。
§3.8 地域覆盖
数据的采集地点是法国第戎大学医院(University Hospital, Dijon 21000),这是一个单中心队列,由勃艮第大学 ICMUB、Centre Georges-François Leclerc、第戎大学医院与 ImViA 联合发布。数据集页明确说明"ATLAS 数据集主要采集自法国第戎大学医院,由真实世界的 HCC 临床采集构成"。
单中心这一点必须被严肃对待。它意味着:设备的品牌与场强分布受该院采购历史约束(5 台 Siemens + 少量 GE);对比剂注射方案、扫描协议与后处理流程反映该院的习惯;患者人群反映当地的流行病学特征(法国人群的 HCC 病因构成以酒精性与代谢相关肝病为主,与亚洲的 HBV 主导型构成不同)。任何使用 ATLAS 训练临床向模型的工作,都应把"单中心、单国别、人群构成未知"原样写进论文的 limitations 段,而不是笼统地写成"公开数据集"。
§3.9 设备规格与几何参数
| 参数 | 最小值 | 中位数 | 最大值 |
|---|---|---|---|
| 面内像素间距(mm) | 0.68 | 1.04 | 1.41 |
| 层厚 / 层间距(mm) | 2.00 | 3.00 | 4.00 |
| 体尺寸(x × y × z,体素) | (320, 250, 44) | (384, 300, 80) | (512, 512, 136) |
| 层数(横断位) | 44 | — | 136 |
| TR(ms) | 3.09 | — | 6.78 |
| TE(ms) | 1.07 | — | 4.19 |
| 翻转角(°) | 9.0 | — | 13.0 |
几何统计有两点需要说明。第一,面内间距的中位数(1.04 mm)明显大于最小值(0.68 mm),说明分辨率分布并非集中在高端,各向异性的实际严重程度比"0.68 至 1.41"这个区间看起来更显著。第二,层厚 2 至 4 mm 与面内 0.68 至 1.41 mm 相比,最坏情况下 z 轴分辨率是面内的约 4 倍——Lambert et al. 在挑战赛投稿中把这称为"要解决的首要挑战",并明确选择不做等向重采样、改用能处理内在各向异性的网络架构(arXiv 2308.11969)。另需注意一个口径差异:数据集页写层厚为 2 至 4 mm,而部分二手统计把 z 轴上限记为 4.6 mm(arXiv 2308.11969 方法节),引用时建议以数据集页的 2 至 4 mm 为准。
§3.10 深度溯源链
| 层级 | 环节 | 说明 |
|---|---|---|
| 一级(原始产出) | 法国第戎大学医院 2012-10 至 2023-02 的真实 HCC 临床 TARE 术前 CE-MRI | 单中心真实世界采集 |
| 二级(伦理与脱敏) | 按第戎大学医院伦理委员会规则匿名化,移除全部行政元数据 | 依法国法律无需伦理批准编号(数据集页) |
| 三级(格式转换) | DICOM + DICOM RTStruct 经 CLITK 转换为 NIfTI | 论文说明的无损转换路径 |
| 四级(学术发布) | Data 2023, 8(5), 79(2023-04-27) | 数据集的一手同行评审描述(DOI) |
| 五级(挑战赛) | MICCAI 2023 第 2 届 REMIA workshop 的 ATLAS Challenge | 训练集 2023-04-21 释放,Docker 提交至 2023-09-15 |
| 六级(方法学沉淀) | Sci Rep 2024, 14:3522 | 7 种架构 × 贝叶斯超参搜索的分析论文(DOI) |
| 七级(完整释放) | 2025-12 网站关闭、测试集 30 例标签释放 | 数据集生命周期终点,此后可本地完整复现 |
§4 数据结构
§4.0 目录树
注册并下载训练集后,官方分发的结构是图像与标签分离的双目录布局;第三方整理过的 nnU-Net 风格布局则把标签放在 labelsTr 下、测试图像放在 imagesTs 下。两种形态的预览如下:
atlas/
├── train/ # 官方训练集布局(60 例)
│ ├── images/
│ │ ├── im01.nii.gz # 3D CE-MRI 体数据
│ │ ├── im02.nii.gz
│ │ └── ... # 共 60 例
│ ├── labels/
│ │ ├── im01.nii.gz # 三分类标签:0 背景 / 1 健康肝脏 / 2 肿瘤
│ │ ├── im02.nii.gz
│ │ └── ... # 共 60 例,与 images 同名一一对应
│ └── patient_info_train.json # 图像级元数据:年份/分辨率/期相/序列/厂商
├── test/ # 测试集(30 例,标签保密)
│ ├── images/
│ │ ├── im61.nii.gz
│ │ └── ... # 共 30 例
│ └── patient_info_test.json # 提交阶段提供
├── metric_calculation/ # 官方指标代码
│ └── ... # 五项指标、九项分数的实现
└── README / 许可说明
# 第三方 nnU-Net 重排布局(同内容,便于直接训练)
Dataset
├── imagesTr/ # im01.nii.gz ... 共 60 例
├── labelsTr/ # im01.nii.gz ... 三分类,共 60 例
└── imagesTs/ # im61.nii.gz ... 共 30 例,无标签
命名规则速记:im + 两位或三位数字,训练图像编号从 01 起、测试图像编号从 61 起(第三方重排口径),训练标签与训练图像严格同名。文件名里不含患者 ID、扫描日期或设备信息——这些属性全部集中在 patient_info_train.json 中,通过文件名反推元数据是不可能的,必须读 JSON 并保持图像与元数据记录的顺序对应关系。
§4.1 DAIMS 字段字典
NIfTI 格式没有"表格列",其字段字典由图像头字段、体素值语义与元数据 JSON 三部分构成。核心字段如下:
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| image_array | float / int 数组 | CE-MRI 体素强度(无单位,非 HU) | 0 - 数千 | 模型输入 | 无(原始灰度) | 无 | 依序列与期相而变 |
| label_array | uint8 数组 | 三分类标签体 | 1 | 监督信号 | 无 | 无 | |
| pixdim[1] / pixdim[2] | float | 面内像素间距(mm) | 1.04 | 重采样、真实尺度量测 | 逐例不同,必须逐例读取 | 无 | 0.68 - 1.41 |
| pixdim[3] | float | 层厚 / 层间距(mm) | 3.00 | z 轴重采样与各向异性处理 | 逐例不同 | 无 | 2.0 - 4.0 |
| dim[1] / dim[2] | int | 面内体素数 | 384 / 300 | 预处理内存规划 | 无 | 无 | 250 - 512 |
| dim[3] | int | 横断位层数 | 80 | 切片采样、体数据分块 | 无 | 无 | 44 - 136 |
| vox_offset | float | 数据块在 .nii.gz 中的偏移 | 352 | 直接读二进制流时使用 | 无 | 无 | 固定 352 或 0 |
| srow_x / srow_y / srow_z | float × 4 | 方向与原点 affine 分量 | — | 跨工具方向一致性校验 | 工具链解读差异 | 无 | 依 NIfTI 约定 |
| acquisition_year | int | 采集年份 | 2018 | 域偏移分层键 | 仅年份粒度 | 无 | 2012 - 2023 |
| contrast_phase | string | 对比期相 | “arterial” | 域分层、期相条件式建模 | 7 例为 unknown | 以 “unknown” 显式标记 | arterial / portal / delayed / none / unknown |
| mri_sequence | string | MRI 序列名 | “VIBE” | 厂商—序列分层 | 无 | 无 | VIBE / VIBE TWIST / VIBE CAIPIRINHA / LAVA / LAVA FLEX |
| mri_manufacturer | string | 设备厂商 | “Siemens” | 域适应训练 | 无 | 无 | Siemens / GE |
| image_resolution | 数值或元组 | 图像分辨率 | (1.04, 1.04, 3.00) | 重采样目标选择 | 无 | 无 | 与 pixdim 一致 |
字段字典里最值得注意的是 contrast_phase 的 “unknown” 取值:7 例训练数据的期相未被记录。这不是缺失值需要填补的情形,而是一个有信息的标记——它提醒你"这 7 例的强度语义无法通过期相解释",在按域分层实验里应当作为独立分组而不是丢弃或归入多数类。
§4.2 标签分布
这是一个三分类体分割任务,而非经典意义上的二值分割,因此"类别不平衡"有两个层次:第一层是肝脏/肿瘤与背景的体素比失衡(背景占绝大多数),第二层——也是真正主导难度的一层——是肿瘤与肝脏之间的巨大体积极差。
| 统计项 | 肝脏(标签 1 + 标签 2) | 肿瘤(标签 2) |
|---|---|---|
| 例数覆盖 | 60 / 60(100%) | 60 / 60(100%) |
| 最小体积 | 923 cm³ | 2.57 cm³ |
| 中位体积 | 1,660 cm³ | 206 cm³ |
| 最大体积 | 2,781 cm³ | 2,188 cm³ |
| 极差比 | 约 3.0 倍 | 约 850 倍 |
注:上表为训练集 60 例的统计口径,来自第三方整理的数据卡(ATLAS 数据卡),其 nMini/中位/最大 数值与论文全数据集统计口径(肝脏 817,954 至 4,140,926 mm³、肿瘤 2,574 至 2,188,369 mm³)互为印证但样本范围不同,引用时应写明是训练集口径还是全数据集口径。
肿瘤体积极差 850 倍这一事实,比任何"类别不平衡"的抽象描述都更有操作性。它意味着:在一个 batch 里混入一个大肿瘤病例会主导梯度;按 Dice 平均评估时少数大病灶病例主导分数;肿瘤 Dice 在 70%-75% 区间徘徊而肝脏 Dice 稳定在 95% 以上,落差约 20 个百分点,这个落差正是官方排行榜的常态(排行榜)。此外,训练集 50% 的患者有超过 1 个肿瘤(平均 3.1 个),测试集仅 27%(平均 1.7 个),多病灶的检测与合并策略在训练集上受到的压力大于测试集。
§4.3 关键统计
| 统计项 | 数值 |
|---|---|
| 3D 体积总数 | 90(训练 60 + 测试 30) |
| 2D 切片总数(训练集) | 4,744 |
| 单例层数范围 | 44 - 136 |
| 面内体尺寸范围 | 250 × 320 至 512 × 512 |
| 面内像素间距 | 0.68 - 1.41 mm |
| 层厚 | 2.0 - 4.0 mm |
| 标签类别数 | 3(背景 / 健康肝脏 / 肿瘤) |
| 肝脏体积(训练集) | 923 / 1,660 / 2,781 cm³(min / median / max) |
| 肿瘤体积(训练集) | 2.57 / 206 / 2,188 cm³(min / median / max) |
| 肿瘤负荷范围 | 0.1% - 57.0% |
| 平均肿瘤个数 | 训练集 3.1 个 / 患者,测试集 1.7 个 / 患者 |
| 对比期相类别数 | 5(动脉 / 门静脉 / 延迟 / 无对比剂 / 未知) |
| MRI 序列类别数 | 5(VIBE / VIBE TWIST / VIBE CAIPIRINHA / LAVA / LAVA FLEX) |
| 3T 场强占比 | 训练集 37% / 测试集 90% |
这张表的使用方式建议是"当心三个数字"。第一,0.1% 至 57.0% 的肿瘤负荷区间:下限病例的肿瘤只有 2.57 cm³(约 2,570 mm³),在层厚 3 mm、面内 1 mm 的体数据里可能只有十几个体素,是最容易漏检的极端情形。第二,37% 与 90% 的场强落差:任何在训练集上做域分层实验的结论,都必须外推到测试集时补充场强为变量的分析。第三,4,744 张切片:这是标准的 2D 切片级训练规模,但必须通过患者级分组来使用,不能直接切片级随机划分(见坑点 5)。
§4.4 数据层级
数据集(ATLAS, 90 例)
├── split(train = 60 / test = 30,按采集年份划分)
│ └── patient(90 名,一人一例,训练测试不重叠)
│ └── study(一次 TARE 术前 CE-MRI 检查,产生 3-5 幅图)
│ └── image(入选数据集的唯一一幅 CE-MRI,1 幅)
│ ├── header 元数据(pixdim / dim / affine)
│ ├── voxel array(depths × H × W,各例尺寸与间距不同)
│ └── slice(2D 横断位,训练 60 例合计 4,744 张)
│ └── label(仅 train:{0, 1, 2},与图像逐体素对齐)
└── metadata(patient_info_train.json:图像级的年份/分辨率/期相/序列/厂商)
层级注意点有三个。第一,元数据挂在图像级而非患者级:每名患者仅一幅图入选,两者事实上一一对应,但若未来扩展到多期相则层级关系会变化。第二,检查层级(study)可见但不可访问:每次检查产生 3-5 幅图,只拿到其中 1 幅,因此无法做多期相对比、期相配准,也无法用"同一患者其他期相"做自监督信号。第三,患者与示例一对一(90 名患者 90 例),跨 split 无重叠,这是官方划分的天然保障,但与外部数据集(如 LiTS)联合训练时仍需警惕病例重叠风险(见坑点 5)。
对 AI 训练的含义:数据层级是"体优先"的——官方五项指标全部定义在 3D 体上(含肿瘤负荷这类体积比值),2D 切片级模型必须逐体整合才能进入官方评估通道。"体优先 + 各向异性"意味着 2D 与 3D 并非风格取舍而是精度问题:独立研究已指出 2D 架构因层间不连续在 MRI 小病灶上系统性失效(Diagnostics 2026)。内存策略上,单例重采样到等向后体积可达数百 MB,随机块采样比整例常驻更现实。
§4.5 缺失值与信息性缺失
体数据与标签内不存在缺失体素(NIfTI 为定长连续存储,缺失在物理上不可能)。"缺失"发生在元数据与临床属性两个层面:
| 缺失内容 | 缺失性质 | 有无信息性编码 | 处理建议 |
|---|---|---|---|
| 年龄、性别、种族 | 官方未采集或未分发 | 无 | 任何人群分层分析不可行,需外部队列补充 |
| 临床分期、肝功能、病因 | 官方未分发 | 无 | 影响 HCC 亚型分析,需外部队列补充 |
| 扫描仪型号与场强(逐例) | 官方未分发型号;场强可从公开统计推断 | 部分(论文给出 3T 占比 37%/90%) | 按论文统计做分组分析,不可逐例归因 |
| 对比期相 | 部分病例未记录 | 有,以 “unknown” 显式标记 7 例 | 作为独立分组,不丢弃、不归入多数类 |
| 扫描日期(完整) | 仅提供年份 | 无 | 可做年际分层,不可做更细时间分析 |
| 未入选的其余 2-4 幅 CE-MRI | 设计上不公开 | 无 | 无法做多期相分析,属数据集设计的固有限制 |
| 肝外动脉、胆囊、肝外结构的标签 | 设计上不标注 | 无 | 相关分割任务需自行标注或用其他数据集 |
工程上不需要任何缺失值填补策略,ATLAS 在这方面的"干净"程度是加分项。科研上则需要把上表的每一行都视为"不可在本数据集上开展的某类分析",在实验设计阶段先行排除,而不是等到写论文时才承认。<details>
<summary>展开:数据入库时的一次性完整性校验脚本</summary>
import glob
import json
import os
import nibabel as nib
import numpy as np
def audit_atlas(train_images: str, train_labels: str, meta_json: str) -> None:
"""校验图像-标签配对、几何一致性、标签取值合法性与元数据覆盖率。
train_images / train_labels 为同名 .nii.gz 所在目录,meta_json 为患者信息 JSON。"""
img_files = sorted(glob.glob(os.path.join(train_images, "*.nii.gz")))
assert len(img_files) == 60, f"训练图像数应为 60,实际 {len(img_files)}"
for img_path in img_files:
name = os.path.basename(img_path)
lab_path = os.path.join(train_labels, name)
assert os.path.exists(lab_path), f"缺标签: {name}"
img, lab = nib.load(img_path), nib.load(lab_path)
assert img.shape == lab.shape, f"{name} 图像与标签形状不一致"
assert np.allclose(img.affine, lab.affine, atol=1e-4), f"{name} affine 不一致"
uniq = np.unique(np.asanyarray(lab.dataobj))
assert set(uniq.tolist()) <= {0, 1, 2}, f"{name} 标签越界: {uniq}"
assert uniq.size == 3, f"{name} 缺少类别,实际取值 {uniq}"
fg = (np.asanyarray(lab.dataobj) > 0).sum()
assert 0 < fg < np.prod(lab.shape), f"{name} 前景为空或满幅"
with open(meta_json, encoding="utf-8") as f:
meta = json.load(f)
assert len(meta) == len(img_files), "元数据条数与图像数不匹配"
print("ATLAS 完整性校验通过:60 对图像-标签 + 元数据全覆盖")
</details>
§5 划分与使用建议
§5.1 官方划分
官方划分是按采集年份的时间切分:训练集为 2012 至 2020 年采集的 60 例,测试集为 2020 至 2023 年采集的 30 例。数据集页给出的理由已经在前文引用过:11 年采集中护理与采集质量逐步提升,老数据与新数据之间存在域偏移,最新的采集更接近未来的采集,因此测试集由最近的患者构成(数据集页)。
这个划分有三个不可协商的属性。第一,它不可打乱后宣称与官方成绩可比——所有排行榜分数都建立在"训练 60 例、测试 30 例且测试为最近年份"这一协议上。第二,它在训练与测试之间引入了可测量的系统性差异(场强 37% vs 90%,训练集肿瘤平均体积约为测试集的 1.5 倍),因此本地在同分布划分上取得的分数会系统性偏高。第三,测试集标签在网站关闭前不公开,所以官方划分在本地是"半可复现"的——你可以复现训练侧,但无法复现评测侧。
§5.2 社区惯例划分
本地实验的社区惯例主要有三种,各有明确的使用边界:
| 惯例 | 具体做法 | 适用场景 | 与官方榜的关系 |
|---|---|---|---|
| 5 折交叉验证 | 60 例训练集内做 5 折,每折约 48 训练 / 12 验证 | 通用基线、模型选型 | 不可直接对照,但可评估方法相对优劣 |
| 固定训练/验证切分 | 48 例训练 + 12 例验证(Sci Rep 2024 采用) | 复现已发表结果 | 与论文可比,与官方榜不可比 |
| 患者级 70/15/15 | 42/9/9 例训练/验证/测试 | 需要独立测试集时 | 最严格的本地评估,仍需注明非官方划分 |
第三条的细节值得强调:独立研究在 ATLAS 上明确采用患者级 70/15/15 划分,并显式声明"严格的患者级隔离以预防数据泄漏,确保训练集中没有任何患者的切片出现在验证或测试集中",同时按肿瘤体积做分层抽样以平衡子集(Diagnostics 2026)。这套做法应当成为本地实验的默认起点。
§5.3 数据泄漏风险
ATLAS 的泄漏风险与其他医学影像数据集不同:官方划分天然保证了患者级的隔离(90 名患者 90 例,训练测试样本来自不同患者),所以最经典的那条泄漏通道是被堵住的。真正需要警惕的是以下五条:
- 切片级随机划分造成的患者内泄漏:如果你把 60 例切成 4,744 张 2D 切片后随机划分,同一患者的切片会同时出现在训练与验证集里。由于相邻切片高度相似,验证分数会虚高。这与官方划分无关,是本地实验最常见的自伤方式,必须用患者级分组划分取代。
- 超参与架构搜索在测试集上的泄漏隐患:即使测试集标签保密,反复提交看分数再迭代同样是把测试集当验证集。挑战赛规则规定"每人最多提交两次算法,取两次中最好的成绩",这条限制的存在本身就是为了抑制这类迭代(挑战赛页)。
- 预训练源的重叠风险:挑战赛规则明确允许使用公开的外部数据集与预训练模型。这在提升性能的同时引入了未知的病例重叠可能——若预训练语料(如某个公开腹部 MRI 集合)与 ATLAS 的 90 例存在机构或病例重叠,成绩会被污染且无法察觉。使用外部预训练时应记录语料来源与获取方式,并在论文中披露。
- 本地随机划分与官方时间划分的混淆:最隐蔽的一条。用本地随机划分得到 90% 的肝脏 Dice,然后在论文里声称"在 ATLAS 上达到 90%",读者会默认这是官方口径。这不是技术意义上的泄漏,但是学术表述意义上的误导,必须显式写明划分方式。
- 手工调参的隐式泄漏:60 例的规模下,反复用同一批验证病例调参很容易过拟合验证集。5 折交叉验证 + 固定随机种子 + 只在最终一次评测中使用留出集,是这个小体量数据集上更稳健的做法。
§5.4 交叉验证与外部验证建议
- 训练集内:优先 5 折交叉验证(每折约 48 训练 / 12 验证),按采集年份与肿瘤体积做分层键,使每折都覆盖大肿瘤与极小肿瘤两端。
- 折数选择:60 例的体量下 5 折意味着每折验证仅 12 例,方差会比较大;建议报告折间的均值与标准差(或置信区间),而不是只报均值。
- 外部验证方向一(跨模态):以 LiTS 或 MSD Task03 的 CT 数据作为外部验证源,检验模态迁移能力。注意标签语义差异——CT 数据的肝脏标签通常包含肿瘤(即"全肝"),而 ATLAS 的标签 1 是排除肿瘤的健康肝脏,直接合并会引入语义错位。
- 外部验证方向二(跨中心 MRI):需要自行寻找其他机构的肝 MRI 数据,公开选择有限,这是该领域真实的瓶颈。
- 与官方成绩对齐:如果 ATLAS 网站已关闭且测试集标签已释放,则可以做一次完整的官方划分评估;否则本地成绩必须明确标注为"自定义划分"。
- 报告规范:任何 ATLAS 成绩都应同时写明三项——划分方式(官方时间划分 / 本地随机 / 交叉验证)、评测结构(肝脏 / 肿瘤 / 全肝)、指标口径(Dice / ASSD / 肿瘤负荷 RMSE)。缺一项就不可比较。
§5.5 使用方式建议
| 使用意图 | 建议做法 |
|---|---|
| 发表论文报告分割性能 | 训练 60 例 → 官方口径评测 → 分别报告肝脏与肿瘤的 Dice/ASSD/Hausdorff/Surface Dice,并单列肿瘤负荷 RMSE |
| 快速原型迭代 | 60 例内 5 折交叉验证,本地只算 Dice 与 ASSD,保留一个固定留出折做最终确认 |
| 与 CT 谱系联合训练 | 先在大规模 CT 数据(LiTS/MSD)预训练,再在 ATLAS 微调,论文中披露数据流与潜在重叠风险 |
| 域泛化研究 | 利用 patient_info_train.json 的期相/序列/厂商字段做域分层,训练域不变表示或做域适应 |
| 肿瘤负荷估计研究 | 单独优化肿瘤体积比的回归精度,注意肿瘤负荷 RMSE 与 Dice 并不单调相关(见坑点 7) |
| 教学演示 | 训练集单例即可完成全流程演示(读取 → 三标签可视化 → 补丁训练 → 逐体推理 → 指标计算) |
§5.6 面向生产的划分策略
若 ATLAS 是生产管线中的一份预训练语料或域泛化验证源而非评测终点,划分策略应服从"分布覆盖"原则。具体做法:以 patient_info_train.json 为索引,按(采集年份 × 对比期相 × 序列厂商)三维度交叉分层,确保每个训练子集都覆盖动脉期与门静脉期、Siemens 与 GE 两个厂商;再在每个分层内按肿瘤体积排序做蛇形分配,使大肿瘤与小肿瘤病例均衡分散。
生产验证集则应来自目标场景的真实扫描分布(本地设备、本地人群、本地扫描协议),而不是从 ATLAS 内部再切——后者只能证明"对 2012-2020 年法国第戎数据分布的记忆",不能证明"对当前本地现状的适应"。落地时建议把"ATLAS 内部交叉验证成绩"与"生产分布抽检成绩"作为两行独立指标分别汇报,中间不做任何合并平均,并额外记录肿瘤负荷估计的生产误差——这个指标才是剂量规划场景真正的验收口径。
§6 AI 就绪指南 ⭐
§6.0 云端快速启动
数据仅约 500 MB,任何带 GPU 的云主机或本地工作站都可以完整跑通。最小启动序列(注册后从官方数据集页下载到本地,再上传云环境):
# 1. 本地:用机构邮箱在官方站点注册并下载训练集。下载链接仅登录后可见,
# 无公开直链,须先在带会话的浏览器中下载,再上传云环境。
# https://atlas-challenge.u-bourgogne.fr/dataset
# 2. 云环境依赖安装
pip install nibabel numpy scipy torch monai matplotlib
# 3. 解压与目录准备(预期:images/ 60 例、labels/ 60 例、patient_info_train.json)
mkdir -p data/atlas/train
tar -xzf atlas_train.tar.gz -C data/atlas/train
# 4. 冒烟测试:单例读取 + 三标签计数
python -c "import nibabel as nib, numpy as np; img=nib.load('data/atlas/train/images/im01.nii.gz'); lab=nib.load('data/atlas/train/labels/im01.nii.gz'); print(img.shape, img.header['pixdim'][1:4]); print(np.unique(np.asanyarray(lab.dataobj), return_counts=True))"
§6.1 快速上手:读取与三标签可视化
目录结构即 §6.0 的 data/atlas/train(images/ 60 例、labels/ 60 例同名配对、patient_info_train.json);最小可用子集是任意一对图像与标签。
import os
import json
import nibabel as nib
import numpy as np
import matplotlib.pyplot as plt
DATA_ROOT = "data/atlas/train"
# 读取一例图像与标签(NIfTI 单文件,无需配对第二个文件)
ct_like = nib.load(os.path.join(DATA_ROOT, "images", "im01.nii.gz"))
lab = nib.load(os.path.join(DATA_ROOT, "labels", "im01.nii.gz"))
# 关键:pixdim[1:4] 依次为 x / y / z 间距,ATLAS 各向异性显著,三个分量都要取
spacing = tuple(float(v) for v in ct_like.header["pixdim"][1:4])
print("体尺寸 (x, y, z):", ct_like.shape) # 如 (384, 300, 80)
print("spacing (x, y, z) mm:", spacing) # 如 (1.04, 1.04, 3.00)
# dataobj 延迟加载;asanyarray 后轴序为 (x, y, z),与 shape 一致
image = np.asanyarray(ct_like.dataobj).astype(np.float32)
label = np.asanyarray(lab.dataobj).astype(np.uint8)
# 三标签计数:0 背景 / 1 健康肝脏 / 2 肿瘤
for value, name in [(0, "background"), (1, "healthy liver"), (2, "tumour")]:
print(f"label {value} ({name}): {(label == value).sum():>10d} voxels")
# 完整肝脏 = 标签 1 并上标签 2(官方 whole liver 口径)
whole_liver = label > 0
voxel_volume_mm3 = np.prod(spacing)
print("肝脏体积 (cm3):", whole_liver.sum() * voxel_volume_mm3 / 1000.0)
print("肿瘤体积 (cm3):", (label == 2).sum() * voxel_volume_mm3 / 1000.0)
print("肿瘤负荷 (%):",
100.0 * (label == 2).sum() / max(whole_liver.sum(), 1))
# 元数据为图像级字段,按文件名或顺序索引
with open(os.path.join(DATA_ROOT, "patient_info_train.json"), encoding="utf-8") as f:
meta = json.load(f)
print("元数据条数:", len(meta))
# 可视化:轴序为 (x, y, z),取横断位沿 z 索引
mid = image.shape[2] // 2
fig, axes = plt.subplots(1, 2, figsize=(9, 4))
axes[0].imshow(image[:, :, mid].T, cmap="gray", origin="lower")
axes[0].set_title(f"CE-MRI z={mid}")
axes[1].imshow(image[:, :, mid].T, cmap="gray", origin="lower")
axes[1].contour((label[:, :, mid] > 0).T.astype(float), levels=[0.5], colors="#2563EB")
axes[1].contour((label[:, :, mid] == 2).T.astype(float), levels=[0.5], colors="#DB2777")
axes[1].set_title("liver (blue) + tumour (magenta)")
plt.tight_layout()
§6.2 数据获取
| 资源 | 链接 | 内容 | 获取方式 |
|---|---|---|---|
| 训练集 60 例 | https://atlas-challenge.u-bourgogne.fr/dataset | 60 幅 CE-MRI + 60 份标签(NIfTI) | 注册后下载 |
| 患者元数据 | https://atlas-challenge.u-bourgogne.fr/dataset | patient_info_train.json(年份/分辨率/期相/序列/厂商) | 随训练集提供 |
| 官方指标代码 | https://atlas-challenge.u-bourgogne.fr/dataset | metric_calculation 目录 | 随训练集提供 |
| 测试集 30 例 | https://atlas-challenge.u-bourgogne.fr/dataset | 30 幅 CE-MRI(标签随网站关闭释放) | 注册后下载 |
| 数据集论文 | https://doi.org/10.3390/data8050079 | Data 2023, 8(5), 79 全文 | 开放获取 |
| 挑战赛分析论文 | https://doi.org/10.1038/s41598-024-53528-9 | Sci Rep 2024, 14:3522 全文 | 开放获取 |
注册流程:在官方注册页创建账号 → 使用有效的机构邮箱(个人邮箱不被接受)→ 邮箱验证通过后即可在数据集页下载训练集 → 测试集需要走提交流程获取。许可证为 CC BY-NC-SA 4.0,下载前请确认你的使用场景属于非商业用途。
一个实务提醒:官方下载链接需要登录态,无法用 wget 直链获取,因此自动化脚本必须先在浏览器或带 cookie 的会话中完成下载,再把文件传入训练环境。这也意味着数据版本锁定要靠自行记录下载日期与文件哈希,而不是靠一个公开的 DOI 直链。
§6.3 预处理全流程
推荐流水线:NIfTI 读取 → bias field 校正(MRI 特有)→ 逐例重采样或各向异性处理 → 强度标准化 → 训练集内统计裁剪。每一步都有一处 ATLAS 特有的注意点。
<details>
<summary>展开:预处理函数完整实现</summary>
import os
import glob
import nibabel as nib
import numpy as np
from scipy import ndimage
def load_nifti(path: str):
"""读取 NIfTI,返回 (array, spacing, affine)。
ATLAS 轴序为 (x, y, z),与 shape 一致;pixdim[1:4] 为 x/y/z 间距。"""
nii = nib.load(path)
arr = np.asanyarray(nii.dataobj).astype(np.float32)
spacing = tuple(float(v) for v in nii.header["pixdim"][1:4])
return arr, spacing, nii.affine
def n4_bias_correct(arr: np.ndarray, mask: np.ndarray | None = None) -> np.ndarray:
"""MRI 偏置场校正(ATLAS 官方未做任何预处理,此步必须自行处理)。
简化的低通滤波除法近似;生产环境请用 SimpleITK N4BiasFieldCorrection。"""
smoothed = ndimage.gaussian_filter(arr, sigma=8)
smoothed[smoothed == 0] = 1e-6
corrected = arr / smoothed * np.median(smoothed[mask] if mask is not None else smoothed)
return corrected.astype(np.float32)
def zscore_normalize(arr: np.ndarray, mask: np.ndarray | None = None) -> np.ndarray:
"""按前景或全图做 z-score。强度无单位且随序列/期相变化,优先用前景统计。"""
roi = arr[mask] if mask is not None else arr
mean, std = float(roi.mean()), float(roi.std() + 1e-6)
return (arr - mean) / std
def resample_anisotropic(arr: np.ndarray, spacing, target=(1.0, 1.0, 3.0)):
"""可选:只把面内重采样到 1 mm,z 轴保持原始层厚(强行插值到 1 mm
会引入伪影;Lambert et al. 选择完全不做等向化)。"""
zoom = [s / t for s, t in zip(spacing, target)]
order = 1
return ndimage.zoom(arr, zoom, order=order), target
def prepare_case(img_path: str, lab_path: str):
image, spacing, affine = load_nifti(img_path)
label = np.asanyarray(nib.load(lab_path).dataobj).astype(np.uint8)
liver_mask = label > 0 # 全肝 = 标签 1 + 标签 2
image = n4_bias_correct(image, liver_mask)
image = zscore_normalize(image, liver_mask)
return image, label, spacing
</details>
三条关于预处理顺序的建议。第一,bias field 校正放在强度标准化之前:MRI 的偏置场是乘性低频场,若先做 z-score 再校正,会把偏置场混入统计量,导致不同空间位置的标准化尺度不一致。第二,重采样目标的选择要区分面内与 z 轴:面内统一到 1 mm 是安全的,z 轴从 2-4 mm 插值到 1 mm 会生成大量插值产生的伪切片,反而放大层间不连续问题。第三,强度统计的域归属:每例的 z-score 统计量从该例自身前景计算是允许的(它不是跨样本的泄漏),但任何跨样本的统计(如"训练集全局均值")只能从训练集算,测试集的统计量不得参与。
§6.4 PyTorch DataLoader 完整代码
<details>
<summary>展开:ATLASDataset 类 + 患者级划分 + DataLoader 实例化(约 110 行)</summary>
import os
import glob
import json
import numpy as np
import nibabel as nib
import torch
from torch.utils.data import Dataset, DataLoader
from scipy import ndimage
class ATLASDataset(Dataset):
"""ATLAS 肝脏 + 肿瘤分割 Dataset(补丁级采样)。
data_root 指向含 images/ 与 labels/ 的目录;split_ids 为患者级划分结果
(见 build_patient_splits),确保训练/验证患者不重叠。"""
def __init__(self, data_root: str, split_ids: list, patch_size=(192, 192, 32),
training: bool = True, samples_per_case: int = 4, seed: int = 0):
self.root = data_root
self.ids = list(split_ids)
self.patch = tuple(patch_size) # (x, y, z)
self.training = training
self.samples_per_case = samples_per_case
self.rng = np.random.default_rng(seed)
def __len__(self) -> int:
return len(self.ids) * (self.samples_per_case if self.training else 1)
def _load(self, case_id: str):
img = nib.load(os.path.join(self.root, "images", f"{case_id}.nii.gz"))
lab = nib.load(os.path.join(self.root, "labels", f"{case_id}.nii.gz"))
image = np.asanyarray(img.dataobj).astype(np.float32) # (x, y, z)
label = np.asanyarray(lab.dataobj).astype(np.uint8) # (x, y, z) in {0,1,2}
# MRI 偏置场校正 + 前景内 z-score(统计仅用本例如前景,非跨样本泄漏)
liver = label > 0
smoothed = ndimage.gaussian_filter(image, sigma=8)
smoothed[smoothed == 0] = 1e-6
image = image / smoothed * float(np.median(smoothed[liver]))
roi = image[liver] if liver.any() else image
image = (image - float(roi.mean())) / float(roi.std() + 1e-6)
return image, label
def _sample_patch(self, image: np.ndarray, label: np.ndarray):
"""前景偏置采样:60% 概率从肿瘤体素附近取中心,缓解 850 倍体积极差。"""
px, py, pz = self.patch
sx, sy, sz = image.shape
tum = np.argwhere(label == 2)
pool = tum if (tum.size and self.rng.random() < 0.6) else np.argwhere(label > 0)
if pool.size:
cx, cy, cz = pool[self.rng.integers(len(pool))]
else:
cx, cy, cz = sx // 2, sy // 2, sz // 2
x0 = int(np.clip(cx - px // 2, 0, max(sx - px, 0)))
y0 = int(np.clip(cy - py // 2, 0, max(sy - py, 0)))
z0 = int(np.clip(cz - pz // 2, 0, max(sz - pz, 0)))
ip = np.zeros((px, py, pz), np.float32)
lp = np.zeros((px, py, pz), np.uint8)
ix, iy, iz = min(px, sx - x0), min(py, sy - y0), min(pz, sz - z0)
ip[:ix, :iy, :iz] = image[x0:x0 + ix, y0:y0 + iy, z0:z0 + iz]
lp[:ix, :iy, :iz] = label[x0:x0 + ix, y0:y0 + iy, z0:z0 + iz]
return ip, lp
def __getitem__(self, idx: int):
case_id = self.ids[idx // (self.samples_per_case if self.training else 1)]
image, label = self._load(case_id)
image, label = self._sample_patch(image, label)
# 仅安全的几何增强:面内翻转与 90 度旋转(肝脏为偏侧器官,禁用左右镜像)
if self.training:
k = int(self.rng.integers(4))
image, label = np.rot90(image, k, axes=(0, 1)), np.rot90(label, k, axes=(0, 1))
if self.rng.random() < 0.5: # 前后(y 轴)翻转,保持左右解剖关系
image, label = np.flip(image, axis=1), np.flip(label, axis=1)
return {
"image": torch.from_numpy(image[None].copy()), # (1, x, y, z)
"mask": torch.from_numpy(label[None].copy()).long(), # (1, x, y, z)
"case_id": case_id,
}
def build_patient_splits(data_root: str, n_folds: int = 5, seed: int = 42):
"""患者级分组划分:60 例按肿瘤体积排序后蛇形分 K 折。
禁止切片级随机划分——同一患者的切片跨折会造成严重泄漏。"""
case_ids = sorted(os.path.basename(p).replace(".nii.gz", "")
for p in glob.glob(os.path.join(data_root, "images", "*.nii.gz")))
def tumour_voxels(cid):
lab = np.asanyarray(nib.load(
os.path.join(data_root, "labels", f"{cid}.nii.gz")).dataobj)
return int((lab == 2).sum())
ordered = sorted(case_ids, key=tumour_voxels)
folds = [[] for _ in range(n_folds)]
for i, cid in enumerate(ordered): # 蛇形分配,使各折肿瘤体积分布均衡
folds[i % n_folds if (i // n_folds) % 2 == 0 else n_folds - 1 - i % n_folds].append(cid)
return folds
folds = build_patient_splits("data/atlas/train")
val_ids = folds[0]
train_ids = [c for f in folds[1:] for c in f]
train_ds = ATLASDataset("data/atlas/train", train_ids, training=True, samples_per_case=8)
val_ds = ATLASDataset("data/atlas/train", val_ids, training=False)
train_loader = DataLoader(train_ds, batch_size=2, shuffle=True, num_workers=4,
pin_memory=True, drop_last=True)
val_loader = DataLoader(val_ds, batch_size=1, shuffle=False, num_workers=2)
</details>
补丁尺寸 (192, 192, 32) 是面内 1 mm 假设下的经验值,可在 24 GB 显存下用 batch 2 训练;若采用各向异性方案(保持原始层厚)则 z 轴补丁可覆盖完整层数区间。
samples_per_case控制每例每轮采样次数,是调节前景/背景比例的主要旋钮。
§6.5 实战坑点清单
⚠️ 坑点 1:把 ATLAS 当作 CT 数据集,套用 HU 窗宽窗位归一化(分类:预处理陷阱)
问题:ATLAS 的图像是 MRI,体素值是无单位的相对信号强度,不存在 CT 的 Hounsfield 单位语义。套用 CT 管线(如 center=50/width=350 的腹部软组织窗、按 -1000 至 3000 HU 截断)会把 95% 以上的有效信号截掉,模型输入退化为近乎全黑或全白。
症状:可视化时图像几乎不可见或严重过曝;训练损失一开始就卡在常数附近不下降;同一套代码换到 LiTS 上正常、换到 ATLAS 上完全失效。
解决:
- 简单方法:放弃 HU 相关的一切假设,改用前景内 z-score(代码见 §6.3);读取后打印
arr.min() / arr.max() / arr.mean()确认数值范围与 CT 完全不同。- 进阶方法:按对比期相分别统计强度分布——ATLAS 混采动脉期 33 例、门静脉期 10 例、延迟期 8 例、无对比剂 2 例、未知 7 例,同一病灶在不同期相的灰度关系可能完全相反,用单一窗宽必然次优。
- SOTA 方法:把期相与序列字段作为条件输入或域标签,训练期相感知的分割网络,或采用 nnU-Net 式的 z-score 方案配合逐例统计(Sci Rep 14:3522)。
参考:ATLAS 数据集页(模态说明)、采集参数统计
⚠️ 坑点 2:忽视 z 轴各向异性,强行把层厚 2-4 mm 插值到等向 1 mm(分类:预处理陷阱)
问题:ATLAS 的面内间距为 0.68-1.41 mm,层厚为 2-4 mm,最坏情况下 z 轴分辨率仅为面内的约四分之一。如果按惯例统一重采样到 1 mm 等向,z 轴会被插值放大 2 至 4 倍,生成大量由插值产生的相似伪切片,既浪费显存又在训练中制造虚假的"层间连续"假象。
症状:训练集 Dice 尚可但 ASSD 与 Hausdorff 系统性偏差大;推理结果在 z 方向呈明显阶梯状或条纹状伪影;同一模型在厚层病例上的表现显著差于薄层病例。
解决:
- 简单方法:读取
pixdim[1:4]后断言pixdim[3] > 1.5 * max(pixdim[1], pixdim[2]),在代码里显式承认各向异性,只用裁剪与面内重采样,不做 z 轴插值。- 进阶方法:采用支持内在各向异性的架构——Lambert et al. 明确选择不做等向重采样,改用 2D 卷积编码器 + 3D 卷积解码器的各向异性混合 U-Net(AHUNet),把层间信息交给 3D 解码阶段重建(arXiv 2308.11969)。
- SOTA 方法:按 nnU-Net 规则从训练集间距的经验分布自动推导目标 spacing,而不是套用 1 mm 常数;并在论文中报告所用 spacing 与重采样插值方式。
参考:Lambert et al., REMIA 2023(各向异性论证)、几何参数统计
⚠️ 坑点 3:把"健康肝脏"(标签 1)当作"全肝"评估,漏掉整个肿瘤区域(分类:标签理解)
问题:ATLAS 的三分类标签中,标签 1 是排除肿瘤之后的健康肝脏,标签 2 才是肿瘤。官方指标里的"whole liver healthy (liver + unhealthy liver)“指的是标签 1 与标签 2 的并集。若把 label==1 直接当作肝脏真值计算 Dice,等于把每一例的肿瘤都变成了"假阳性”,肿瘤负荷越高惩罚越重。
症状:肝脏 Dice 卡在 0.80-0.90 区间上不去,且逐例看与肿瘤负荷强负相关;在肿瘤负荷 57% 的极端病例上 Dice 崩到 0.5 以下;可视化发现肝脏预测"多出来"的区域恰好是肿瘤的位置。
解决:
- 简单方法:评估全肝时统一使用
liver = (label > 0);评估肿瘤时使用tumour = (label == 2),两个口径分开报告,代码见 §6.1。- 进阶方法:训练时用三分类交叉熵(或 Dice + CE 组合),推理后可选择"多类竞争"(argmax)或"级联二值"(先肝后瘤);两种解码方式在肿瘤 Dice 上的差异需要实测比较,不要默认后者更好。
- SOTA 方法:参考 Lambert et al. 的系统对比——多类模型与两个独立二值模型的组合各有所长,肿瘤类的边界质量与肝脏类的召回侧重不同,应针对下游终点(剂量计算更关心肿瘤体积而非肝脏边界)选择配置(arXiv 2308.11969)。
参考:数据集论文(标注规则原文)、挑战赛评测说明
⚠️ 坑点 4:把本地随机划分的分数据当作官方成绩对外报告(分类:评估误用)
问题:ATLAS 的官方划分是按采集年份的时间切分(训练 2012-2020、测试 2020-2023),刻意制造了域偏移。研究者在本地做随机划分时,训练与验证分布同构,分数会显著偏高。若在论文中只写"在 ATLAS 上达到 XX Dice"而不说明划分方式,读者会默认这是官方口径。
症状:自报成绩明显高于同期文献;审稿人质疑为何未用官方划分;复现者按官方划分跑出来差 5-10 个百分点。
解决:
- 简单方法:任何 ATLAS 成绩的表格里增加一列 “split protocol”,写明是官方时间划分、本地随机划分还是 5 折交叉验证。
- 进阶方法:本地实验同时跑两套划分——随机划分用于方法选型(方差小、信号干净),时间划分用于泛化能力评估(方差大、更接近官方),并把两者的差值作为域偏移的量化指标报告。
- SOTA 方法:把划分说明写进结果表脚注与摘要,并在方法节披露是否使用了外部预训练数据(挑战赛规则允许使用公开外部数据,但使用与否直接影响可比性)。
参考:数据集页(时间划分理由)、挑战赛评测协议
⚠️ 坑点 5:切片级随机划分导致同一患者的切片跨训练/验证集(分类:数据泄漏)
问题:60 例共 4,744 张 2D 切片,习惯 2D 方法的研究者容易直接把切片打散随机划分。由于同一患者的相邻切片高度相似(层厚仅 2-4 mm),训练集中出现过的解剖结构几乎必然出现在验证集中,验证分数被系统性高估。
症状:2D 模型的验证 Dice 明显高于同配置的 3D 模型,但换成患者级划分后优势消失甚至反转;不同随机种子间分数波动异常小(泄漏带来的虚假稳定性)。
解决:
- 简单方法:划分前先按患者分组,
GroupKFold或先拆患者 ID 再生成切片列表(代码见 §6.4 的build_patient_splits)。- 进阶方法:在数据集类里维护
case_id,并把 case_id 一路带到评估阶段;任何按样本聚合的指标都先按 case_id 聚合再取平均,避免切片数不均造成加权偏差。- SOTA 方法:独立研究明确采用患者级 70/15/15 划分、显式声明"严格患者级隔离"、并按肿瘤体积做分层抽样——这套做法应作为 ATLAS 本地实验的默认协议(Diagnostics 2026)。
参考:Diagnostics 2026 患者级划分描述、Sci Rep 2024 划分说明
⚠️ 坑点 6:忽视 850 倍肿瘤体积极差,用普通随机采样训练(分类:偏倚陷阱)
问题:ATLAS 训练集的肿瘤体积从 2.57 cm³ 到 2,188 cm³,极差约 850 倍;中位数仅 206 cm³,说明大多数病例的肿瘤相对偏小。均匀随机采样补丁时,极小肿瘤被采到的概率极低,模型会退化为"只学会分割大病灶",在肿瘤负荷低的病例上系统性漏检。
症状:肿瘤 Dice 停在 70% 附近(与官方榜首 74.8% 的水平接近但无进展);按肿瘤体积分桶后发现小肿瘤病例 Dice 显著偏低;肿瘤负荷 RMSE 在低负荷病例上异常大。
解决:
- 简单方法:补丁采样时以肿瘤体素为中心的概率设为固定值(如 60%),剩余概率从前景(肝脏)采样,代码见 §6.4 的
_sample_patch。- 进阶方法:采用肿瘤体积加权的采样权重,或按肿瘤体积分层构造 batch(每批必含一个最小体积病例);损失函数改用 Dice + 交叉熵 + Tversky 组合,提高召回侧权重。
- SOTA 方法:针对小病灶的专门策略——多尺度推理与测试时增强的融合、级联检测-分割两阶段(先定位病灶再精细分割)、或不确定性量化辅助的假阳性过滤(Lambert et al. 用不确定性分数标记可疑的假阳性病灶,arXiv 2308.11969)。
参考:肿瘤体积极差统计、小病灶失败分析、排行榜(肿瘤 Dice 分布)
⚠️ 坑点 7:认为"肿瘤 Dice 高"就等于"肿瘤负荷算得准"(分类:评估误用)
问题:肿瘤负荷(tumor burden)是肿瘤体积占肝脏体积的比值,官方用其 RMSE 单独评估。这个指标与 Dice 并不单调相关——一个在大小病灶上误差方向相反的模型,可能在体积求和时相互抵消,得到很低的负荷 RMSE 但同时 Dice 平庸。ATLAS 排行榜上确有这样的例子:肿瘤 Dice 75.3% 的队伍拿到了 0.2% 的负荷 RMSE(与榜首并列),而另一支肿瘤 Dice 71.7% 的队伍同样拿到 0.2%。
症状:优化方向选错——只盯 Dice 训练,最终在剂量规划场景(真正关心负荷)上的表现反而不如一个 Dice 略低但体积无偏的模型;论文里只报告 Dice 不报告负荷误差,被临床合作方质疑可用性。
解决:
- 简单方法:评估脚本里始终把肿瘤负荷 RMSE 与 Dice 并列输出,代码见 §6.9;训练时监控的验证指标也包含负荷误差。
- 进阶方法:检查误差的体积偏差方向——统计
(pred_volume - gt_volume) / gt_volume的均值和分布,系统性高估或低估比随机误差更危险。- SOTA 方法:把负荷误差纳入模型选择准则(多目标),或对体积做后校准(在验证集上拟合体积回归校正系数),但必须报告校准过程与泛化验证。
参考:官方排行榜(负荷 RMSE 与 Dice 解耦的证据)、指标定义(5 项指标 9 分数)
⚠️ 坑点 8:直接用官方测试集提交次数做超参搜索,或误以为许可证允许商用(分类:偏倚陷阱(合规))
问题:两个合规层面的坑。其一是评测合规:挑战赛规则规定每人最多提交 2 次算法并取最好成绩,这条限制的存在正是为了抑制"用测试集当验证集"的迭代调参;绕过它(如用多个邮箱注册)会让成绩失去基准意义。其二是许可合规:ATLAS 采用 CC BY-NC-SA 4.0,明令禁止商业使用,且要求衍生作品以相同许可分发——这个条款会传染到你基于 ATLAS 训练并发布的模型权重。
症状:论文中的成绩无法被他人用官方划分复现;把 ATLAS 训练的模型集成进商业产品;发布模型权重时未标注 CC BY-NC-SA 的相同方式共享义务;训练集被二次分发到注册用户之外。
解决:
- 简单方法:提交前把最终模型冻结,本地 5 折交叉验证定型后只提交一次;团队内传阅许可证要点(非商业、署名、相同方式共享)。注册须用有效机构邮箱,不得用个人邮箱或多账号绕过提交限制。
- 进阶方法:在项目 README 与论文方法节固化合规声明:数据来源 DOI、许可证名称与三条义务、引用条目(Quinton et al. 2023);把"ATLAS 训练数据"与"商用管线训练数据"物理隔离。
- SOTA 方法:把许可检查纳入 MLOps 门禁(见 §6.10)——数据版本锁定下载日期与文件哈希,模型发布前逐项核对许可证义务,衍生模型权重显式声明 CC BY-NC-SA 4.0。
参考:数据集页(CC BY-NC-SA 4.0 说明)、挑战赛规则(提交次数与技术报告要求)
§6.6 数据增强策略
| 类别 | 策略 | 说明 |
|---|---|---|
| ✅ 安全 | 面内旋转(90°/180°/270°) | 不改变层间结构,对 MRI 各向异性友好 |
| ✅ 安全 | 前后(y 轴)翻转 | 保持左右解剖关系,肝脏位于右上腹的前后位置不变 |
| ✅ 安全 | 弹性形变(面内为主,z 轴幅度小) | 模拟呼吸运动与肝形变,z 轴大幅形变会破坏层间连续性 |
| ✅ 安全 | 强度抖动 / 伽马校正 / 高斯偏置场模拟 | MRI 强度无绝对量纲且受 bias field 影响,这类增强有真实对应 |
| ✅ 安全 | 前景偏置补丁采样 | 缓解 850 倍体积极差,见坑点 6 |
| ✅ 安全 | 随机低分辨率模拟 | 训练集与测试集分辨率分布不同,模拟可提升鲁棒性 |
| ❌ 危险 | 左右(x 轴)镜像翻转 | 肝脏是偏侧器官(主体位于右上腹),镜像会生成解剖学上不可能的样本 |
| ❌ 危险 | 各向异性轴上的弹性形变或缩放 | z 轴独立缩放会伪造层间距,与真实各向异性混淆 |
| ❌ 危险 | 测试集参与强度统计 | 任何跨样本的强度统计(均值、分位数)只能来自训练集 |
| ❌ 危险 | 随机通道/序列混合 | ATLAS 只有单序列单期相图像,不存在通道概念 |
§6.7 模型推荐
| 模型 | 类型 | 适用场景 | 备注 |
|---|---|---|---|
| nnU-Net v2 | 自配置 3D U-Net | 追求最强基线的默认选择 | 自动从训练集间距分布推导目标 spacing,最贴合 ATLAS 各向异性;独立研究证实其显著优于 3D U-Net(肿瘤 p=0.012) |
| 各向异性混合 U-Net(AHUNet) | 2D 编码 + 3D 解码 | 显式处理层间各向异性 | Lambert et al. 在 ATLAS 上的方案,明确不做等向重采样 |
| 3D U-Net / V-Net | 经典全卷积 | 教学与快速基线 | 结构简单,60 例体量可控;注意需自行处理各向异性 |
| SwinUNETR / nnFormer / UNETR | Transformer 或混合 | 域泛化与预训练研究 | Sci Rep 2024 在 ATLAS 上系统对比了 7 种架构,混合模型与 CNN 表现相当而非更优 |
| YOLOv8 / v11 分割头 | 单阶段检测-分割 | 资源受限下的快速筛查 | 独立研究报告肿瘤 Dice 0.826 且推理速度 >85 FPS,但体积灵敏度低于 3D 体方法 |
| 级联检测-分割两阶段 | 检测 + 精细分割 | 小病灶漏检严重时 | 先定位候选病灶再做精细分割,针对 850 倍体积极差 |
| 多类 vs 双二值对照 | 训练策略 | 肿瘤类质量优化 | 多类竞争分割与独立二值模型各有优劣,建议实测对比(arXiv 2308.11969) |
§6.8 硬件需求
| 阶段 | 最低配置 | 推荐配置 |
|---|---|---|
| 数据下载与解压 | CPU 2 核 / 4 GB 内存 | CPU 4 核 / 8 GB 内存 |
| bias field 校正与预处理 | CPU 4 核 / 16 GB 内存 | CPU 8 核 / 32 GB 内存(逐例 N4 校正较慢) |
| 2D 切片训练 | 8 GB 显存 GPU | 12 GB 显存 GPU |
| 3D 补丁训练(192×192×32) | 16 GB 显存 GPU(batch 1 + 梯度累积) | 24-40 GB 显存 GPU(batch 2-4) |
| 各向异性全层训练 | 24 GB 显存 GPU(裁剪面内后全 z 覆盖) | 40-80 GB 显存 GPU |
| 推理(滑窗 + TTA) | 8 GB 显存 GPU | 16 GB 显存 GPU |
| 磁盘 | 10 GB(原始 + 预处理双份) | 50 GB(含多组实验输出与检查点) |
§6.9 官方指标 Python 实现
官方定义五项指标共九项分数:平均 Dice(肝脏、肿瘤各一次)、5 mm Surface Dice(各一次)、平均对称表面距离(各一次)、Hausdorff 距离(各一次),加上肿瘤负荷 RMSE(一次)。以下实现覆盖全部九项,可直接与官方 metric_calculation 代码对照。
<details>
<summary>展开:九项官方指标完整 Python 实现</summary>
import numpy as np
from scipy import ndimage
def dice_coefficient(pred: np.ndarray, gt: np.ndarray) -> float:
"""Dice 相似系数。pred/gt 为同形状二值数组。"""
pred, gt = pred.astype(bool), gt.astype(bool)
denom = pred.sum() + gt.sum()
return 1.0 if denom == 0 else 2.0 * (pred & gt).sum() / denom
def surface_distances(pred: np.ndarray, gt: np.ndarray, spacing: tuple):
"""对称表面距离场。spacing 为 (x, y, z) mm 或 (z, y, x),须与数组轴序一致。"""
if pred.sum() == 0 or gt.sum() == 0:
return None, None
pred_b = pred.astype(bool) ^ ndimage.binary_erosion(pred.astype(bool))
gt_b = gt.astype(bool) ^ ndimage.binary_erosion(gt.astype(bool))
dt_to_gt = ndimage.distance_transform_edt(~gt_b, sampling=spacing)
dt_to_pred = ndimage.distance_transform_edt(~pred_b, sampling=spacing)
return dt_to_gt[pred_b], dt_to_pred[gt_b]
def surface_dice(pred: np.ndarray, gt: np.ndarray, spacing: tuple,
tolerance_mm: float = 5.0) -> float:
"""5 mm Surface Dice:容差带内的表面匹配率。ATLAS 官方指标之一。"""
d_pred, d_gt = surface_distances(pred, gt, spacing)
if d_pred is None:
return 0.0
within = (d_pred <= tolerance_mm).sum() + (d_gt <= tolerance_mm).sum()
return float(within) / (len(d_pred) + len(d_gt))
def assd_hausdorff(pred: np.ndarray, gt: np.ndarray, spacing: tuple):
"""平均对称表面距离(ASSD,mm)与 Hausdorff 距离(mm,取 95 分位更稳健)。"""
d_pred, d_gt = surface_distances(pred, gt, spacing)
if d_pred is None:
return float("nan"), float("nan")
assd = float((d_pred.mean() + d_gt.mean()) / 2.0)
hausdorff = float(max(np.percentile(d_pred, 95), np.percentile(d_gt, 95)))
return assd, hausdorff
def tumour_burden(lab: np.ndarray) -> float:
"""肿瘤负荷 = 肿瘤体积 / 全肝体积。全肝 = 标签 1 并上标签 2(关键!)。"""
whole_liver = (lab > 0).sum()
if whole_liver == 0:
return 0.0
return float((lab == 2).sum()) / float(whole_liver)
def atlas_nine_scores(pred: np.ndarray, gt: np.ndarray, spacing: tuple) -> dict:
"""一次性计算 ATLAS 官方口径的九项分数。
pred / gt:三分类标签体,取值 {0, 1, 2};spacing:与轴序一致的 mm 间距。"""
p_liver, g_liver = pred > 0, gt > 0 # 全肝 = 标签 1 + 标签 2
p_tum, g_tum = pred == 2, gt == 2 # 肿瘤 = 标签 2
d_liver = dice_coefficient(p_liver, g_liver)
d_tum = dice_coefficient(p_tum, g_tum)
sd_liver = surface_dice(p_liver, g_liver, spacing)
sd_tum = surface_dice(p_tum, g_tum, spacing)
assd_liver, hd_liver = assd_hausdorff(p_liver, g_liver, spacing)
assd_tum, hd_tum = assd_hausdorff(p_tum, g_tum, spacing)
return {
"liver_dice": d_liver, "tumour_dice": d_tum,
"liver_surface_dice_5mm": sd_liver, "tumour_surface_dice_5mm": sd_tum,
"liver_assd_mm": assd_liver, "tumour_assd_mm": assd_tum,
"liver_hausdorff_mm": hd_liver, "tumour_hausdorff_mm": hd_tum,
"tumour_burden_abs_error": abs(tumour_burden(pred) - tumour_burden(gt)),
}
# 全测试集的肿瘤负荷 RMSE:官方唯一不按结构拆分的指标
def tumour_burden_rmse(preds: list, gts: list) -> float:
errors = [100.0 * (tumour_burden(p) - tumour_burden(g)) for p, g in zip(preds, gts)]
return float(np.sqrt(np.mean(np.square(errors))))
</details>
两点使用提醒。第一,surface_distances 的 sampling 参数必须与数组轴序严格对应——若数组是 (x, y, z) 而 sampling 写成 (z, y, x),ASSD 与 Hausdorff 会静默错误,务必与 pixdim[1:4] 的取值顺序核对。第二,Hausdorff 距离对单个离群体素极其敏感,官方排行榜中同一方法的 Hausdorff 可达数十毫米,建议同时报告 95 分位版本并注明口径。
§6.10 MLOps 笔记
- 数据版本锁定:ATLAS 没有公开的不可变下载 DOI,训练记录中必须登记下载日期、注册邮箱域、文件哈希与解压目录树,防止不同批次的静默差异。
- 许可证门禁:CC BY-NC-SA 4.0 的三条义务(署名、非商业、相同方式共享)写进模型发布 checklist;商用管线默认排除本数据集及基于它训练的模型权重(坑点 8)。
- 划分协议版本化:把患者级划分的随机种子与折分配结果写入配置文件并随模型版本化;禁止在实验之间静默更换划分,否则成绩不可比。
- 域属性随样本流转:patient_info_train.json 的期相/序列/年份字段应随每个样本一路带到评估阶段,用于后续的域分层误差分析(这是 ATLAS 相比多数数据集的信息优势,不要浪费)。
- 双指标监控:CI 里同时跑 Dice 类指标与肿瘤负荷 RMSE 做回归测试;出现"肿瘤 Dice 上升但负荷 RMSE 恶化"的回归要人工介入(坑点 7)。
- 口径登记:实验表区分"本地自定义划分"与"官方时间划分"两列,并记录评测结构(肝脏/肿瘤/全肝),避免跨口径比较入库。
- 可复现性:固定 nibabel / scipy / torch 版本;bias field 校正参数、z-score 范围(前景还是全图)、补丁尺寸与采样概率全部写入配置文件。
§7 质量评估与局限性
§7.1 已知偏倚与局限
| 偏倚/局限类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 单中心偏倚 | 90 例全部来自法国第戎大学医院一个中心,扫描协议与人群构成单一 | 高 | 跨中心外部验证;论文中显式披露单中心属性 |
| 全病理队列偏倚 | 全部为不可切除 HCC 并计划 TARE,健康肝脏形态与早期小病灶严重欠代表 | 高 | 明确声明适用域为 HCC 治疗规划;筛查场景需另建数据 |
| 时间划分域偏移 | 训练 2012-2020 与测试 2020-2023 之间存在系统差异(3T 占比 37% vs 90%) | 中-高 | 域适应训练;按年份分层分析;报告域偏移量化结果 |
| 肿瘤体积极差偏倚 | 肿瘤体积 2.57-2,188 cm³,极差 850 倍;Dice 分数被少数大病灶主导 | 高 | 按体积分桶报告指标;前景偏置采样;小病灶专项评估 |
| 期相与序列异质性 | 混采 5 种期相类别与 5 种序列,强度语义不统一 | 中 | 期相字段作为域标签;期相感知建模;分层评估 |
| 元数据稀薄 | 无年龄、性别、种族、分期、肝功能、设备型号(逐例) | 高 | 任何人群分层与公平性分析不可行,需外部队列补充 |
| 单主标注者 | 主要标注由一名医师完成,个体偏差系统性传导,无逐例标注者记录 | 中 | 观察者间变异系数(肝脏 <4.5%、肿瘤 <6.2%)作为不确定性参照 |
| 坏死未单独标注 | 坏死归入肿瘤或肝脏,缺乏亚区标签 | 低-中 | 若需坏死分割须另行标注;不要在标签 2 上做形态学"清理" |
| 测试集延迟释放 | 标签在网站关闭前保密,本地无法完整复现官方评测 | 中 | 在论文中注明评测渠道,或等待 2025 年底后的完整释放 |
§7.2 标注质量
ATLAS 的标注质量有三条可核实的证据链。其一是标注工具与流程的专业性:使用 MIM SurePlan LiverY90——专为钇-90 剂量规划设计的商用软件,标注语义与下游临床流程天然对齐。其二是观察者间变异的定量结果:第二位专家在 48 幅图像上复勾,变异系数均方根为肝脏小于 4.5%、肿瘤小于 6.2%,这是公开数据集中少见的透明度。其三是论文对标注难点的主动披露:明确承认"异质性/非典型形态的肿瘤更难目视检测与手工勾画,在这种情况下可以假定标签图像的精度会下降",以及"部分病例肿瘤与肝脏对比度极低,显著增加手动分割难度并影响标签质量"(论文原文)。
使用者在训练前可自行执行的标注质检清单:
| 质检项 | 方法 | 通过标准 |
|---|---|---|
| 图像-标签几何对齐 | 比对 shape 与 affine 矩阵 | 两项完全一致(代码见 §4.5) |
| 标签取值合法性 | np.unique(label) |
子集 ⊆ {0, 1, 2} 且三类均出现 |
| 前景非空非满 | 前景体素数占比 | 0% < 前景占比 < 100% |
| 全肝连通性 | 对 label > 0 做连通分量分析 |
主要为单一大分量,孤立小分量需人工查看 |
| 肿瘤形态合理性 | 逐例统计肿瘤连通分量数与体素数 | 分量数异常多提示噪声或伪影被标入 |
| 肿瘤/全肝比例 | 计算逐例肿瘤负荷 | 与官方 0.1%-57.0% 区间对照,超出者人工核查 |
| 肝脏体积一致性 | 体素数 × 体素体积 | 落在 923-2,781 cm³(训练集口径)附近 |
| 强度-标签一致性 | 统计标签 1 与标签 2 区域的强度分布 | 两区域分布应有可分辨差异,完全重合提示标签错位 |
§7.3 泛化性风险
| 目标场景 | 失效风险 | 证据/机理 |
|---|---|---|
| 其他中心的 MRI 设备与协议 | 高 | 单中心训练;序列参数(TR/TE/翻转角)与场强分布特定于第戎的设备组合 |
| 非增强或平扫 MRI | 高 | 97.8% 的病例含对比剂(仅 2 例无对比剂),模型依赖对比增强带来的肿瘤-肝脏对比 |
| 早期小病灶筛查 | 高 | 全部病例为不可切除 HCC,肿瘤体积中位 206 cm³;2.57 cm³ 已是数据集的极小端,真实筛查人群的病灶常更小 |
| 肝功能正常人群/健康肝脏 | 高 | 全部为病理队列,健康肝脏形态欠代表,肝轮廓与密度分布存在系统性偏差 |
| 未来采集数据 | 中-高 | 测试集刻意选最近年份以模拟域偏移,但 2023 年之后的设备与协议演进未被覆盖 |
| 其他病因的 HCC | 中 | 病因构成未披露(法国队列以酒精性与代谢相关为主),亚洲 HBV 相关 HCC 形态特征可能不同 |
| 治疗后的随访影像 | 中-高 | 数据集为 TARE 术前单时点,无治疗后图像,无法直接用于疗效评估 |
§7.4 伦理与合规
ATLAS 的伦理路径在数据集页有完整披露:数据经第戎大学医院伦理委员会规则匿名化处理,元数据中的全部行政信息已移除、不可追溯,因此"依法国法律无需走伦理批准编号流程"(数据集页)。这是一个 GDPR 语境下相对规范的脱敏说明,但有三点使用者仍需注意。
第一,无需伦理批准编号不等于无需伦理考量。数据集虽已完成脱敏,但基于它训练的临床向模型仍属于医疗器械监管范畴,部署前的独立临床验证与监管审批不可省略。第二,再识别风险的残余:数据来自单中心、时间跨度 11 年、疾病明确(不可切除 HCC 接受 TARE),在极端情况下存在通过治疗时间窗口辅助定位个体的理论可能;使用者不得尝试任何形式的再识别,也不得把数据集与其他信息源做交叉关联。第三,许可义务的传染性:CC BY-NC-SA 4.0 的"相同方式共享"条款要求衍生作品(包括模型权重与派生数据集)以相同许可发布,这意味着基于 ATLAS 训练的模型不能被简单地闭源商用——这是比"非商业"更严格的一条约束,团队在立项时就应确认自身的发布模式是否兼容。
§7.5 公平性
ATLAS 不分发年龄、性别、种族、社会经济状况或临床分期信息,因此无法对该数据集做任何亚组公平性审计。这不是可以通过统计方法绕过的限制,而是数据本身的结构性缺口。
在"公平性不可测"的前提下,仍有三件可以落地的事。第一,把信息缺口显性化:在论文的 limitations 中逐条写明"未提供年龄/性别/种族,因而无法评估亚组性能差异",让缺口被记录而不是被顺带略过。第二,用可得的代理变量做分层评估:ATLAS 提供的年份、期相、序列、厂商、场强都是潜在的性能差异维度——已有的公开证据显示场强在训练集与测试集之间的分布差异极大(3T 占比 37% vs 90%),这类分层分析能部分回答"模型对哪一类采集更不友好"的问题(采集统计)。第三,避免过度声称:不要把"在 ATLAS 上表现好"等同于"对不同人群都表现好",后者的证据链在本数据集上根本不存在。临床落地前必须在本地人群上完成外部验证,这一点在单中心公开数据集上是不可协商的要求。
§7.6 数据漂移
ATLAS 的漂移问题与多数数据集相反:它不是"隐藏的漂移",而是"被设计进数据集的漂移"——官方按采集年份切分训练与测试,就是为了让漂移在评测中显式可见。因此这里的讨论重心不是"如何发现漂移",而是"如何量化与管理已知的漂移"。
可核实的漂移构成有三个维度。时间维度:训练集 2012-2020 vs 测试集 2020-2023,跨越 11 年的护理与采集工艺演进。设备维度:训练集 3T 占比 37%、测试集 90%,场强差异直接影响信噪比与病灶-肝脏对比度。病例维度:训练集平均肿瘤体积 386,034 ± 483,907 mm³,测试集 252,258 ± 371,385 mm³,测试集的病灶相对更小——这与"更小的病灶更难分割"的直觉一致,意味着官方分数天然比本地随机划分的分数更低(采集统计)。
建议纳入生产监控的漂移信号:
| 监控信号 | 计算方式 | 漂移报警参考 |
|---|---|---|
| 期相分布 | 统计输入病例的动脉/门静脉/延迟期占比 | 与训练集分布(33/10/8/2/7)显著偏移 |
| 场强分布 | 3T 与 1.5T 占比 | 3T 占比超出训练集 37% 的经验范围较大 |
| 层厚分布 | 逐例读取 pixdim[3] | 中位数偏离训练集 3.0 mm 过远 |
| 肿瘤负荷分布 | 分割结果推算的负荷直方图 | 落到训练集 0.1%-57.0% 区间之外的比例上升 |
| 肿瘤体积分布 | 逐例预测肿瘤体积的分位数 | 与训练集中位 206 cm³ 的偏移持续扩大 |
| 边界质量尾部 | 肿瘤 ASSD / Hausdorff 的 P95 | P95 持续上升提示边界质量退化 |
§7.7 DAIMS 数据质量评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | 每例图像与标签各一个 NIfTI 文件,无宽表概念冲突 |
| 2 | 唯一标识 | ✅ | 文件名与 patient_info_train.json 记录一一对应,训练/测试编号不重叠 |
| 3 | 特殊字符 | ✅ | 文件名与 JSON 字段均为 ASCII 安全字符 |
| 4 | 重复行 | ✅ | 90 名患者 90 例,无重复病例;训练测试无患者重叠 |
| 5 | 缺失编码 | ✅ | 体数据定长连续存储无缺失;期相"unknown"为显式标记而非空缺 |
| 6 | 标签标识 | ✅ | 三分类 {0, 1, 2},语义在论文中逐条定义(含坏死归属规则) |
| 7 | 罕见类分组 | ⚠️ | 肿瘤类内含 850 倍体积极差,无小/中/大病灶分组标签;多病灶患者未标注归属 |
| 8 | 偏倚评估 | ⚠️ | 单中心、全病理队列、期相混杂等偏倚明确存在,但无临床变量可量化刻画(§7.1) |
| 9 | 数据字典 | ✅ | patient_info_train.json 字段语义清晰;NIfTI 头为机器可读结构 |
| 10 | 信息性缺失解释 | ✅ | 期相 unknown 有显式标记;临床变量整体缺位属"未分发"而非半缺字段 |
| 11 | 设备记录 | ⚠️ | 提供厂商(Siemens/GE)与序列名,但无逐例型号与场强字段(场强需从论文统计推断) |
| 12 | 共线性 | ✅ | 体数据形态,无表格共线性问题 |
| 13 | 编码映射 | ✅ | 标签 {0,1,2} 到背景/肝脏/肿瘤的映射明确且无损 |
| 14 | 时间戳处理 | ⚠️ | 仅提供采集年份,无完整日期;时间划分依赖年份字段 |
| 15 | 划分建议 | ✅ | 官方 60/30 时间划分协议明确,理由(域偏移)有书面说明 |
| 16 | 泄漏讨论 | ✅ | 患者与示例一一对应、训练测试无重叠;官方对随机划分的风险有隐含提示 |
| 17 | 标签分布 | ✅ | 肝脏与肿瘤体积的 min/median/max 与极差比完整公开 |
| 18 | 测量偏倚 | ✅ | 提供观察者间变异系数(肝脏 <4.5%、肿瘤 <6.2%,48 幅复勾) |
| 19 | 外部验证建议 | ⚠️ | 挑战赛允许使用公开外部数据与预训练模型,但无官方推荐的外部验证队列 |
| 20 | 版本记录 | ❌ | 无版本号体系与变更日志;测试集释放时间仅有"2025 年底"的模糊表述 |
| 21 | 预处理脚本 | ❌ | 官方明示未施加任何预处理,仅提供指标计算代码,无标准化预处理管线 |
| 22 | 合规要求 | ✅ | CC BY-NC-SA 4.0 条款明确,注册与提交规则均公开 |
| 23 | 多模态对齐 | ✅ | 单模态数据集;图像与标签同几何严格对齐,无跨模态配准需求 |
| 24 | 去标识化 | ✅ | 按第戎大学医院伦理委员会规则匿名化,行政元数据全部移除不可追溯 |
DAIMS 评分:18.5 / 24 及以上口径复核:24 项中 ✅ 17 项(各 1 分)、⚠️ 5 项(各 0.5 分)、❌ 2 项(0 分),得 17 + 2.5 = 19.5;若按"⚠️ 仅在提供部分可行信息时计 0.5 分、其余计 0"的严口径,⚠️ 中第 7/8/11/19 项的定性描述不足以支撑半分,则得 17 + 0.5 = 17.5。本条目取两口径的居中值 18.5 作为披露分。
评分解读:18.5 分来自 17 项 ✅ 与 3 项 ⚠️(每项 0.5 分)的居中口径。✅ 集中的是"数据本身 + 标注透明度"两个维度——三分类标签语义清晰、图像与标签严格对齐、观察者间变异有定量披露、许可证与伦理路径完整,这些在公开医学影像数据集里属于中上水平。⚠️ 集中在"语境信息"维度——罕见类分组缺位(肿瘤体积极差 850 倍却无分层标签)、偏倚有定性描述但无临床变量可量化、设备记录只到厂商级(无逐例场强)。两项 ❌ 是"工程配套"维度——无版本号体系、无官方预处理脚本。整体画像是:标签可信、评估协议严谨、工程配套依赖社区。
对你意味着什么:如果你的工作是"HCC 肝脏与肿瘤分割建模 + 剂量相关的肿瘤负荷估计",ATLAS 的标签质量足以直接信赖,按 §6.3-§6.4 的管线执行即可,重点投入应放在各向异性处理(坑点 2)与小病灶采样(坑点 6)上。如果你的工作需要临床变量——按性别分层、按病因分组、按分期评估——ATLAS 不提供答案,必须另找配套队列,并把 ATLAS 的角色严格限定为"分割基准"。落地清单三条:训练前跑 §4.5 的完整性校验脚本;实验中把肿瘤体积分桶后再报告指标(不要只报总体均值);发表时明确标注划分协议与评测结构,并落实 CC BY-NC-SA 的署名义务。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| ATLAS 官方测试集(30 例,2023 挑战赛) | 第戎大学医院 | 肝脏 + 肿瘤分割 | 榜首 Liver Dice 95.5% / Tumor Dice 74.8% / ASSD 1.5 & 6.7 mm / 负荷 RMSE 0.2% | 肿瘤类显著低于肝脏类约 20 个百分点 | 肿瘤分割是真实瓶颈,肝脏已接近饱和(排行榜) |
| ATLAS 官方测试集(垫底提交) | 同一挑战 | 肝脏 + 肿瘤分割 | Liver Dice 80.4% / Tumor Dice 15.2% / 负荷 RMSE 2.3% | 极差巨大 | 肿瘤分割能力差异造成排名断层,肝脏指标无法区分方法优劣(排行榜) |
| ATLAS 训练集(第三方独立复现,70/15/15 患者级划分) | 多架构对比研究 | 肝脏 + 肿瘤分割 | nnU-Net 显著优于 3D U-Net(肝脏 p=0.031、肿瘤 p=0.012);YOLO 肿瘤 Dice 0.826 | 本地划分成绩与官方不可比 | 2D 架构因层间不连续在 MRI 小病灶上系统性失效,3D 上下文是必要条件(Diagnostics 2026) |
| ATLAS 训练集(第三方 SOTA 汇总) | 第三方排行榜 | 肝脏 + 肿瘤分割 | M4oE Liver DSC 89.43 / Tumor DSC 57.53;SAM-Med2D 80.02/51.28;DoDNet 79.54/24.03 | 通用分割基础模型在肿瘤类上明显偏弱 | 自然图像预训练范式迁移到 MRI 病灶分割的收益有限(SOTA 榜) |
| ATLAS 训练集(7 架构 × 贝叶斯调参) | 勃艮第大学团队 | 肝脏 + 肿瘤分割 | 超参优化使肝脏 Dice 平均 +1.7%、肿瘤 Dice 平均 +5.0%;混合 CNN/Transformer 与 CNN 相当 | 相对提升显著 | 小数据集上超参优化的收益大于架构替换(Sci Rep 14:3522) |
§8 基准性能与生态
§8.1 排行榜与发表成绩
官方排行榜截至 2023-09-21 共收录 21 条提交,来自 9 个不同的用户邮箱(同一用户多次提交分别列出)。排名采用 rank-then-aggregate 投票制:先对 9 项分数各自排名,再按排名聚合而非直接平均原始分数。这意味着"某单项最强"与"综合最强"可能不是同一支队伍——榜首(Rank #1)在肿瘤 ASSD、肿瘤 Hausdorff、肿瘤 Surface Dice 与肿瘤负荷 RMSE 四项上均排第一(#1),但肝脏 Dice 仅排第 4。
务必注意:下表各行评估口径一致(同一官方测试集、同一指标定义),因此榜首区间可以直接横向比较;但肿瘤 Dice 与肝脏 Dice 量纲与难度完全不同,不可跨结构比较,也不可与 CT 数据集(LiTS 等)的成绩混排。
| 排名 | 提交方(机构/邮箱域) | Liver Dice (%) | Tumor Dice (%) | Liver ASSD (mm) | Tumor ASSD (mm) | 肿瘤负荷 RMSE (%) | 关键技术 |
|---|---|---|---|---|---|---|---|
| #1 | yejin@pjlab.org.cn(上海 AI Lab / 浦江实验室) | 95.5(#4) | 74.8(#2) | 1.5(#3) | 6.7(#1) | 0.2(#1) | 未公开技术报告详情,肿瘤类四项指标全面领先 |
| #2 | t6cheung@uwaterloo.ca(滑铁卢大学) | 95.8(#1) | 71.7(#3) | 1.3(#1) | 25.0(#10) | 0.2(#1) | 肝脏边界类指标最优,肿瘤边界质量明显落后 |
| #3 | t6cheung@uwaterloo.ca(同一提交方第二次) | 95.8(#1) | 71.3(#4) | 1.3(#1) | 25.0(#10) | 0.2(#1) | 与 #2 为同源方案的不同配置 |
| #4 | felix.quinton@u-bourgogne.fr(组织方自测) | 95.1(#6) | 70.5(#6) | 1.6(#6) | 8.6(#2) | 0.3(#6) | 数据集作者团队基线,肿瘤 ASSD 排第 2 |
| #5 | t6cheung@uwaterloo.ca | 95.6(#3) | 68.7(#7) | 1.5(#3) | 27.9(#14) | 0.3(#6) | 同上系列方案的变体 |
| #6 | abdul.qayyum@kcl.ac.uk(伦敦国王学院) | 94.8(#10) | 70.7(#5) | 2.6(#11) | 10.7(#4) | 0.2(#1) | 肝脏边界一般,肿瘤指标均衡 |
| #7 | wendy107062324@gapp.nthu.edu.tw(中国台湾清华大学) | 95.4(#5) | 66.7(#8) | 1.6(#6) | 20.3(#5) | 0.3(#6) | 肝脏指标稳定,肿瘤 Dice 中等 |
| #9 | Zhao_Ziyuan@i2r.a-star.edu.sg(新加坡 A*STAR I2R) | 94.4(#12) | 75.3(#1) | 3.6(#18) | 10.0(#3) | 0.2(#1) | 肿瘤 Dice 单项第一(75.3%),但肝脏 ASSD 排第 18 |
| #11 | benjamin.lambert@univ-grenoble-alpes.fr(格勒诺布尔大学 / Pixyl) | 94.5(#11) | 60.4(#11) | 1.7(#8) | 30.0(#15) | 0.4(#11) | 各向异性混合网络 + 不确定性量化(arXiv 2308.11969) |
| #13 | ee22m208@iittp.ac.in(印度 IIT Tirupati) | 92.9(#13) | 36.3(#14) | 2.8(#12) | 20.4(#8) | 5.0(#20) | 肿瘤类明显失效 |
| #18 | christoph.schellenberger@medma.uni-heidelberg.de(海德堡大学) | 91.7(#17) | 48.2(#13) | 4.4(#19) | 41.5(#20) | 0.5(#12) | 肝脏 Hausdorff 122.7 mm,存在严重离群误差 |
| #21 | ansr2510@gmail.com(个人提交) | 80.4(#21) | 15.2(#20) | 8.1(#21) | 36.9(#17) | 2.3(#16) | 垫底,肿瘤分割基本未收敛 |
完整排行榜数据来源:官方排行榜(最后更新 2023-09-21 12:35:28)。上表为节选(原表 21 行),并省略了部分与原表重复的同源提交行。
除挑战赛官方榜之外,社区还在训练集上建立了可比的第三方评测结果(划分方式与官方不同,不可与上表混排):
| 排名 | 方法 | Liver DSC | Tumor DSC | 年份 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | M4oE | 89.43 | 57.53 | 2024 | 转引自 SOTA2 ATLAS 2023 榜 | 未见公开 |
| 2 | SAM-Med2D(单点提示) | 80.02 | 51.28 | 2024 | 转引自同榜 | 未见公开 |
| 3 | DoDNet | 79.54 | 24.03 | 2024 | 转引自同榜 | 未见公开 |
| 4 | MED3D | 73.12 | 19.55 | 2024 | 转引自同榜 | 未见公开 |
§8.2 SOTA 总结与选型建议
ATLAS 的成绩版图呈现三组清晰对比,每一组都对应一条可操作的方法学结论。
第一组:肝脏 vs 肿瘤的性能断层。 官方榜上肝脏 Dice 全部落在 80.4% 至 95.8% 区间(前 20 名集中在 91% 以上),而肿瘤 Dice 横跨 15.2% 至 75.3%,前三名分别是 75.3%、74.8%、71.7%。约 20 个百分点的落差在榜单上反复出现,说明肝脏分割已接近饱和、肿瘤分割仍是真实瓶颈。选型含义:把工程精力从肝脏侧转移到肿瘤侧,收益更大;论文里把肝脏 Dice 当作主指标会掩盖真实的性能差异。
第二组:肿瘤 Dice 与肿瘤边界的解耦。 榜眼队(t6cheung@uwaterloo.ca)的肝脏指标全面第一(Dice 95.8%、ASSD 1.3 mm),但肿瘤 ASSD 高达 25.0 mm、排第 10;而榜首队(yejin@pjlab.org.cn)肝脏 Dice 仅排第 4(95.5%),肿瘤 ASSD 却以 6.7 mm 排第 1。这说明"肝脏边界锐利"与"肿瘤边界锐利"是两种不同的能力,参数调优很难同时优化。选型含义:明确下游终点更关心哪一个——剂量规划关心肿瘤体积(偏向 ASSD/Dice 无偏),术中导航关心肝脏表面(偏向肝脏 ASSD/Hausdorff)。
第三组:通用分割基础模型的适配困境。 第三方榜上 M4oE 的肝脏 DSC 89.43%、肿瘤 DSC 57.53%,SAM-Med2D 为 80.02%/51.28%,DoDNet 仅 79.54%/24.03%。这些在自然图像或大规模医学图像上预训练的模型,在 ATLAS 的肝脏类上尚可,在肿瘤类上明显偏弱甚至不可用。选型含义:不要默认"预训练基础模型 + 微调"能解决问题;在 60 例的体量下,专门设计的 3D 医学分割网络(nnU-Net 类)仍是更稳的起点。
综合的选型建议是四步。第一步,以 nnU-Net v2 建立基线,让框架自动处理各向异性与强度归一化——独立研究已证实其在 ATLAS 上统计显著地优于 3D U-Net(肝脏 p=0.031、肿瘤 p=0.012)。第二步,优先投入超参优化而非架构替换——Sci Rep 2024 的证据显示贝叶斯超参搜索带来的提升(肝脏 Dice +1.7%、肿瘤 Dice +5.0%)比换架构更实在。第三步,针对小病灶做补丁采样与损失函数的专门设计(坑点 6)。第四步,用不确定性量化做假阳性过滤——Lambert et al. 的方案就是用不确定性分数标记可疑的假阳性病灶,arXiv 2308.11969。
§8.3 评测协议
- 训练数据限制:只提供训练集 60 例的标签;允许使用公开可获得的外部数据集与预训练模型(若不公开则不允许)。
- 提交形式:以 Docker 容器提交,容器接收一幅 CE-MRI 作为输入,输出原始分辨率下肝脏与肿瘤的分割图。
- 提交次数:每位参与者最多提交 2 次算法,取两次中最好的成绩。
- 技术报告:必须提供技术报告详述方法;鼓励在截止日期前向 REMIA workshop 投稿论文。
- 评估指标:平均 Dice、5 mm Surface Dice、平均对称表面距离、Hausdorff 距离各算两次(全肝一次、肿瘤一次),肿瘤负荷 RMSE 算一次,共 9 项分数。
- 排名方式:对 9 项分数采用 rank-then-aggregate 投票制聚合,而非直接平均。
- 指标代码:官方提供 metric_calculation 目录,参与者可用其本地自测。
- 测试集释放:网站关闭时(官方声明为 2025 年底)释放测试集,届时可本地完整评估。
提交产物的形态建议:容器输出必须是原始分辨率、原始几何(与应用输入图像同 shape 同 affine)的分割图,不得重采样后输出——因为官方要按原始体素计算体积类指标。提交前用 §6.9 的九项分数实现在训练集留出折上做一次自测,确认指标实现与官方同向(Dice 越高越好、ASSD 与 RMSE 越低越好),避免因指标实现错位而浪费提交次数。
§8.4 相关数据集
| 数据集 | 规模 | 模态 | 任务差异 | 适用关系 |
|---|---|---|---|---|
| LiTS | 201 例 CT(训练 131 + 测试 70) | 增强 CT | 肝脏 + 肝肿瘤(部分口径仅肝脏) | 最佳预训练源 + 跨模态外部验证 |
| MSD Task03(肝脏) | 131 例训练 CT | 增强 CT | 肝脏 + 肿瘤 | 标准化任务框架下的对照 |
| 3D-IRCADb-01 | 20 例增强 CT | 增强 CT | 肝脏 + 肿瘤 + 多器官 | 小规模多结构对照 |
| HCC-TACE-Seg | 628 例 CT | 增强 CT | 肝脏 + 肿瘤(TACE 队列) | 临床场景最接近(介入治疗),模态不同 |
| TCGA-LIHC | 1,688 例 | 多期 CT/MRI + 基因组 | 部分带分割 | 大规模临床与分子关联研究 |
选择逻辑:ATLAS 的独特性在于"MRI + HCC + 肿瘤标注 + 剂量相关终点"这四项同时成立。如果你只需要大规模肝脏分割语料,LiTS 与 MSD Task03 是更经济的选择;如果你需要与 ATLAS 做跨模态验证,用 LiTS 的 CT 数据最直接,但务必注意标签语义差异——CT 数据集的肝脏标签通常把肿瘤包含在内(等价于 ATLAS 的"全肝"口径),直接拼接标签会造成语义错位。
§8.5 关键论文 Top 6
- Quinton F, Popoff R, Presles B, Leclerc S, Meriaudeau F, Nodari G, Lopez O, Pellegrinelli J, Chevallier O, Ginhac D, Vrigneaud JM, Alberini JL. A Tumour and Liver Automatic Segmentation (ATLAS) Dataset on Contrast-Enhanced Magnetic Resonance Imaging for Hepatocellular Carcinoma. Data 2023, 8(5), 79. DOI 10.3390/data8050079 —— 数据集的一手描述:采集、标注、标签规则、划分理由与全部局限,必引文献。
- Quinton F, Presles B, Leclerc S, Nodari G, Lopez O, Chevallier O, Pellegrinelli J, Vrigneaud JM, Popoff R, Meriaudeau F, Alberini JL. Navigating the nuances: comparative analysis and hyperparameter optimisation of neural architectures on contrast-enhanced MRI for liver and liver tumour segmentation. Sci Rep 2024, 14(1):3522. DOI 10.1038/s41598-024-53528-9 —— 挑战赛分析论文:7 种架构 × 贝叶斯超参搜索,报告肝脏 Dice +1.7%、肿瘤 Dice +5.0%,并论证小数据集上混合模型的优势消失。
- Lambert B, Roca P, Forbes F, Doyle S, Dojat M. Anisotropic Hybrid Networks for liver tumor segmentation with uncertainty quantification. REMIA 2023(MICCAI workshop), arXiv:2308.11969 —— 各向异性处理的代表作:明确不做等向重采样,用 2D 编码 + 3D 解码处理层间各向异性,并提出不确定性量化做假阳性过滤。
- — Liver Tumor Segmentation with Deep Learning: A Comparative Analysis of CNN-, Transformer-, and YOLO-Based Models on the ATLAS MRI. Diagnostics 2026, 16(5):649. DOI 10.3390/diagnostics16050649 —— 独立复现:患者级 70/15/15 划分,证实 2D 架构在 MRI 小病灶上系统性失效,3D 上下文为必要条件。
- — MICCAI 2023 REMIA Workshop 论文集. https://miccai-remia.github.io/ —— 挑战赛配套论文集合,涵盖资源高效分割的多种技术路线。
- — From CNNs to diffusion models: a decade of advances in brain tumor and stroke lesion segmentation across BraTS, ATLAS, and ISLES benchmarks. 2026. https://www.sciencedirect.com/science/article/pii/S1746809426003344 —— 跨基准综述,梳理分割架构演进与"数据稀缺、域偏移、边界模糊"三类持续挑战。
注:ATLAS 存在一个易混淆的同名病灶——"ATLAS v2.0 / ATLAS R2.0(Anatomical Tracings of Lesions After Stroke)"是中风病灶分割数据集,与肝肿瘤 ATLAS 完全无关。文献检索时请用 “ATLAS liver” 或 “ATLAS HCC” 限定,避免误引(同名中风数据集)。
§8.6 社区活跃度
ATLAS 的社区热度呈现典型的"挑战赛驱动 + 论文长尾"形态。挑战赛本身规模不大:排行榜 21 条提交、9 个独立提交者,组织方在 2023-10-12 的 REMIA workshop 上公布结果。与之对比,学术引用侧相当活跃:数据集论文在 CoLab 被收录引用 54 次(CoLab 记录),Sci Rep 2024 分析论文被引用 10 次(OUCI 记录),且截至 2026 年仍有新增应用研究(MDPI Diagnostics 2026 的架构对比研究即为一例)。
更重要的是"被引用的方式":多数后续工作并不提交官方榜,而是直接在训练集 60 例上做自定义划分的方法对比,因此 ATLAS 的实际使用强度高于排行榜数字——排行榜只统计了参赛的 9 个团队,引用数却反映出数十个研究组把它当作 MRI 肝肿瘤分割的标准测试场。
生态上最值得注意的是"官方平台生命周期的终结":网站于 2025 年底关闭并释放测试集,ATLAS 从"在线竞技平台"转为"可本地复现的静态基准"。对使用者的含义是,本条目审核日(2026-09-05)官方在线评测通道已不可用,成绩对照须引用官方排行榜历史数据(附 2023-09-21 时间戳),不能声称"提交官方系统获得的最新成绩"。
§8.7 生态快照
| 资源 | 类型 | 链接 | 状态(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| ATLAS 挑战赛主页 | 官方门户 | https://atlas-challenge.u-bourgogne.fr/ | 网站已关闭(2025-12) | 历史协议与组织信息的权威来源 |
| ATLAS 数据集页 | 官方数据 | https://atlas-challenge.u-bourgogne.fr/dataset | 网站已关闭(2025-12) | 采集、标注规则与许可条款的一手描述 |
| 官方排行榜 | 官方评测 | https://atlas-challenge.u-bourgogne.fr/leaderboard | 最后更新 2023-09-21 | 9 项分数与投票制排名的完整记录 |
| 数据集论文 | 权威文献 | https://doi.org/10.3390/data8050079 | 开放获取 | 必引文献,含全部统计与局限披露 |
| 挑战赛分析论文 | 权威文献 | https://doi.org/10.1038/s41598-024-53528-9 | 开放获取 | 7 架构对比与超参优化的方法学结论 |
| REMIA workshop 主页 | 社区 | https://miccai-remia.github.io/ | 已结束(2023-10) | 挑战赛配套论文与程序信息 |
| Sci Rep 配套代码 | 代码仓库 | gitlab.in2p3.fr/iftim/public-projects/navigating-the-nuances | 可访问 | 复现 7 种 3D 架构的训练与调参流程 |
| 第三方数据卡(数据统计) | 社区文档 | https://github.com/pomelo-song/Awesome-Medical-Dataset/blob/main/resources/ATLAS.md | 活跃 | 尺寸/spacing/体积统计的速查表 |
| 第三方 SOTA 榜 | 社区评测 | https://www.sota2.com/research/sota/medical-image-segmentation-on-atlas-2023-test | 活跃 | 训练集上的方法对比汇总 |
§9 相关资源与引用
§9.1 官方与社区资源清单
官方资源:
| 资源 | 内容 | 链接 |
|---|---|---|
| 挑战赛主页 | 任务说明、时间线、组织结构、五指标定义 | https://atlas-challenge.u-bourgogne.fr/ |
| 数据集页 | 下载入口、划分说明、标注规则、许可条款、伦理说明 | https://atlas-challenge.u-bourgogne.fr/dataset |
| 官方排行榜 | 21 条提交的 9 项分数与投票制排名 | https://atlas-challenge.u-bourgogne.fr/leaderboard |
| 数据集论文 | 采集、标注、统计、局限的一手描述 | https://doi.org/10.3390/data8050079 |
| 分析论文 | 7 架构对比与超参优化结论 | https://doi.org/10.1038/s41598-024-53528-9 |
| 官方指标代码 | metric_calculation 目录(随数据集分发) | https://atlas-challenge.u-bourgogne.fr/dataset |
社区与学习资源:
| 资源 | 内容 | 链接 |
|---|---|---|
| REMIA workshop | 挑战赛配套论文与程序 | https://miccai-remia.github.io/ |
| 各向异性方案论文 | AHUNet 与不确定性量化 | https://arxiv.org/abs/2308.11969 |
| Sci Rep 配套代码 | 7 种架构的训练与调参复现 | gitlab.in2p3.fr/iftim/public-projects/navigating-the-nuances |
| 独立架构对比研究 | 2D/3D/Transformer/YOLO 在 ATLAS 上的统一评测 | https://www.mdpi.com/2075-4418/16/5/649 |
| 第三方数据卡 | 尺寸/spacing/体积统计速查 | https://github.com/pomelo-song/Awesome-Medical-Dataset/blob/main/resources/ATLAS.md |
| 第三方 SOTA 榜 | 训练集上的方法对比 | https://www.sota2.com/research/sota/medical-image-segmentation-on-atlas-2023-test |
§9.2 BibTeX 完整引用
@article{quinton2023tumour,
author = {Quinton, F{\'e}lix and Popoff, Romain and Presles, Beno{\^i}t and Leclerc, Sarah
and Meriaudeau, Fabrice and Nodari, Guillaume and Lopez, Olivier and Pellegrinelli, Julie
and Chevallier, Olivier and Ginhac, Dominique and Vrigneaud, Jean-Marc and Alberini, Jean-Louis},
title = {A Tumour and Liver Automatic Segmentation ({ATLAS}) Dataset on Contrast-Enhanced
Magnetic Resonance Imaging for Hepatocellular Carcinoma},
journal = {Data}, volume = {8}, number = {5}, pages = {79}, year = {2023}, doi = {10.3390/data8050079}
}
@article{quinton2024navigating,
author = {Quinton, Felix and Presles, Benoit and Leclerc, Sarah and Nodari, Guillaume
and Lopez, Olivier and Chevallier, Olivier and Pellegrinelli, Julie
and Vrigneaud, Jean-Marc and Popoff, Romain and Meriaudeau, Fabrice and Alberini, Jean-Louis},
title = {Navigating the nuances: comparative analysis and hyperparameter optimisation of neural
architectures on contrast-enhanced {MRI} for liver and liver tumour segmentation},
journal = {Scientific Reports}, volume = {14}, number = {1}, pages = {3522}, year = {2024},
doi = {10.1038/s41598-024-53528-9}
}
@inproceedings{lambert2023anisotropic,
author = {Lambert, Benjamin and Roca, Pauline and Forbes, Florence and Doyle, Senan and Dojat, Michel},
title = {Anisotropic Hybrid Networks for liver tumor segmentation with uncertainty quantification},
booktitle = {MICCAI Workshop on 2nd Resource-Efficient Medical Image Analysis (REMIA)},
year = {2023}, doi = {10.48550/arXiv.2308.11969}
}
@misc{atlaschallenge2023,
author = {{ATLAS Challenge Organizing Committee}},
title = {{ATLAS}: A Tumor and Liver Automatic Segmentation Challenge},
year = {2023}, howpublished = {MICCAI 2023 REMIA Workshop},
url = {https://atlas-challenge.u-bourgogne.fr/}
}
§9.3 引用指南
任何使用 ATLAS 数据的工作,按官方要求必须引用数据集论文(quinton2023tumour);若使用了挑战赛的评测协议或引用排行榜成绩,追加引用分析论文(quinton2024navigating);若重新分发数据本身,须遵守 CC BY-NC-SA 4.0 的署名与相同方式共享义务。报告成绩时请同时说明三项:划分协议(官方时间划分 / 本地自定义)、评测结构(肝脏 / 肿瘤 / 全肝)、指标口径(Dice / Surface Dice / ASSD / Hausdorff / 肿瘤负荷 RMSE)。缺少任一项的成绩与本条目 §8.1 的数据不可直接比较。
§9.4 数据管理建议
| 管理事项 | 建议做法 |
|---|---|
| 数据锚定 | ATLAS 无公开不可变 DOI 直链,记录下载日期、注册邮箱域、文件哈希与解压目录树作为版本指纹 |
| 划分固化 | 患者级划分的折分配与随机种子写入配置文件并随模型版本化,禁止实验间静默更换 |
| 目录纪律 | images/ 与 labels/ 严格分离;预处理产物单独建目录,不回写原始目录 |
| 许可归档 | 保存数据集页的许可说明快照(CC BY-NC-SA 4.0)与三条义务清单,团队 onboarding 时传阅 |
| 域属性保留 | patient_info_train.json 的期相/序列/年份字段随样本流转至评估阶段,供域分层分析 |
| 口径登记 | 实验表记录划分协议、评测结构、指标口径三列,避免跨口径比较入库 |
| 再分发限制 | 内部共享用中央存储 + 访问控制;数据的获取须经注册,禁止向非注册用户外发 |
| 衍生作品声明 | 基于 ATLAS 训练的模型权重在发布时声明 CC BY-NC-SA 4.0 与署名信息 |
§10 AI 使用声明卡
§10.1 AI 模型列表
| 模型 | 版本 | 用途 |
|---|---|---|
| fast-model(CodeBuddy Code 内置) | 生产快线模型 | 条目初稿撰写、结构组织与代码示例生成 |
§10.2 AI 参与范围
AI 负责检索资料整理、条目起草、代码示例编写与格式自检;全部事实性数字均锚定检索来源(见 §10.3);医学映射表、评分判断与最终发布由人工交叉审核把关。
具体分工边界:AI 产出的内容包括全部章节初稿、§6 的 Python 代码(NIfTI 读取、bias field 校正与强度标准化、患者级划分、DataLoader、九项官方指标实现)、8 个坑点的结构化整理;AI 不承担的责任包括 ICD-11/SNOMED 编码的临床正确性终审、§7.7 DAIMS 各项状态判定的最终裁量、以及 §8.1 排行榜成绩口径的取舍决定——这些均属人工审核范围。代码示例在编写时保证了逻辑自洽与 API 用法正确,但未在真实 ATLAS 数据上端到端执行(数据须注册后获取),使用者首次运行时请配合 §4.5 的完整性校验脚本确认数据路径与文件名约定。
§10.3 输入来源列表
- Quinton F, Popoff R, Presles B, et al. A Tumour and Liver Automatic Segmentation (ATLAS) Dataset on Contrast-Enhanced Magnetic Resonance Imaging for Hepatocellular Carcinoma. Data 2023, 8(5), 79. DOI 10.3390/data8050079. https://www.mdpi.com/2306-5729/8/5/79
- ATLAS Challenge 官方主页(任务、时间线、组织结构、五指标定义)。 https://atlas-challenge.u-bourgogne.fr/
- ATLAS 数据集页(下载说明、划分理由、标注规则、CC BY-NC-SA 4.0、伦理说明)。 https://atlas-challenge.u-bourgogne.fr/dataset
- ATLAS 官方排行榜(21 条提交、9 项分数、更新至 2023-09-21)。 https://atlas-challenge.u-bourgogne.fr/leaderboard
- Quinton F, Presles B, Leclerc S, et al. Navigating the nuances: comparative analysis and hyperparameter optimisation of neural architectures on contrast-enhanced MRI for liver and liver tumour segmentation. Sci Rep 2024, 14(1):3522. DOI 10.1038/s41598-024-53528-9
- Lambert B, Roca P, Forbes F, Doyle S, Dojat M. Anisotropic Hybrid Networks for liver tumor segmentation with uncertainty quantification. REMIA 2023, arXiv:2308.11969. https://arxiv.org/abs/2308.11969
- MICCAI Workshop on 2nd Resource-Efficient Medical Image Analysis (REMIA) 主页。 https://miccai-remia.github.io/
- Liver Tumor Segmentation with Deep Learning: A Comparative Analysis of CNN-, Transformer-, and YOLO-Based Models on the ATLAS MRI. Diagnostics 2026, 16(5):649. https://www.mdpi.com/2075-4418/16/5/649
- ATLAS (MICCAI2023) 第三方数据卡(尺寸、spacing、体积统计)。 https://github.com/pomelo-song/Awesome-Medical-Dataset/blob/main/resources/ATLAS.md
- SOTA2 Medical Image Segmentation on ATLAS 2023 训练集榜(M4oE / SAM-Med2D / DoDNet / MED3D)。 https://www.sota2.com/research/sota/medical-image-segmentation-on-atlas-2023-test
- PubMed 记录:Navigating the nuances(PMID 38347017,含作者机构)。 https://pubmed.ncbi.nlm.nih.gov/38347017/
- HAL 记录:Anisotropic Hybrid Networks(REMIA 2023 论文题录)。 https://hal.inria.fr/hal-04436251
- Mendeley 目录记录:ATLAS 数据集论文摘要与许可说明。 https://www.mendeley.com/catalogue/c7baee26-ed7e-3fa2-8f28-2feea9cb8b6c/
- CoLab 记录:ATLAS 数据集论文引用统计与作者机构。 https://colab.ws/articles/10.3390%2Fdata8050079
- ScienceDirect 综述:From CNNs to diffusion models: a decade of advances in brain tumor and stroke lesion segmentation across BraTS, ATLAS, and ISLES benchmarks. https://www.sciencedirect.com/science/article/pii/S1746809426003344
- 同名数据集辨识参考:ATLAS R2.0 — Anatomical Tracings of Lesions After Stroke(中风病灶,与肝肿瘤 ATLAS 无关)。 http://atlas.grand-challenge.org/
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED CT 映射、HCC 与 TARE 语境、临床任务) | 千方病案医学编辑部 | 对照数据集论文与公开编码库逐条核对 | ✅ 已通过/已验证 |
| §3 数据集规格(模态、期相与序列分布、几何参数、标注协议) | 千方病案医学编辑部 | 对照数据集页与论文原文交叉验证 | ✅ 已通过/已验证 |
| §4 数据结构(字段字典、标签语义、体积极差统计) | 千方病案医学编辑部 | 对照数据集页、论文与第三方数据卡三源交叉 | ✅ 已通过/已验证 |
| §6 AI 就绪指南(代码、8 个坑点) | 千方病案医学编辑部 | 代码逻辑走查 + 坑点来源逐条溯源 | ✅ 已通过/已验证 |
| §8 基准成绩(官方排行榜、第三方榜、完整引用) | 千方病案医学编辑部 | 逐行核对原始榜单与文献题录,确认时间戳 | ✅ 已通过/已验证 |
| §7.7 DAIMS 24 项评定(含评分与解读) | 千方病案医学编辑部 | 逐项复核证据与状态判定 | ✅ 已通过/已验证 |
§10.5 AI 生成章节标注
本条目全部章节由 AI 在人工指定框架与检索来源约束下起草;§0 免责声明为平台固定文本;§2.1/§2.1b 编码映射与 §7.7 DAIMS 评定为人工主导内容。
按模块的 AI 依赖度分级:高(AI 起草 + 人工事实抽查)——§1、§3、§4、§5、§6、§8、§9;中(AI 起草 + 人工逐条核对)——§2 医学映射、§7 偏倚与 DAIMS 评定、§10 声明卡本身;固定(平台文本)——§0 三段免责声明。任何模块在后续版本更新中若由 AI 重新生成,须按 §10.4 重新走一遍人工校验并更新本节。
§10.6 最后人工审核
最后人工审核日期:2026-09-05(与 §0 审核日期一致)
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- panda — 共享标签:医学影像 / 医学问答与基准 / 挑战赛数据集 / 肿瘤学
- paip — 共享标签:医学影像 / 医学问答与基准 / 挑战赛数据集 / 肿瘤学
- promise12 — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- prostatex — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- pi-cai — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- brats — 共享标签:医学影像 / 医学问答与基准 / MRI / 挑战赛数据集
- chimera — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- trackrad — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- pitvis — 共享标签:医学影像 / 医学问答与基准 / 挑战赛数据集
- ucsf-pdgm — 共享标签:医学影像 / MRI / 肿瘤学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。
