AbdomenCT-1K — 千例腹部 CT 多器官分割 AI-Ready Wikipedia

1,112 例多中心多期相腹部 CT 四器官分割基准,TPAMI 官方四大学习范式基准

来源 南京大学、南京理工大学等 12 家医疗中心联合(通讯作者:南京大学 Xiaoping Yang) url: https://github.com/JunMa11/AbdomenCT-1K发布时间: 2026-09-14最后更新: 2026-09-25 阅读 38
AbdomenCT-1K — 千例腹部 CT 多器官分割 AI-Ready Wikipedia

信息速览

数据集名称AbdomenCT-1K — 千例腹部 CT 多器官分割 AI-Ready Wikipedia
数据类型1,112 例 3D 腹部 CT,1,000 例四器官体素标注,12 家医疗中心,NIfTI .nii.gz 格式,免费申请获取,约 201,528 个标注切片
规模1,112 例 CT 扫描(约 1,000 例公开标注病例)
接入方式南京大学、南京理工大学等 12 家医疗中心联合(通讯作者:南京大学 Xiaoping Yang) url: https://github.com/JunMa11/AbdomenCT-1K
AI 就绪度

数据集封面

AbdomenCT-1K — 千例腹部 CT 多器官分割基准 AI-Ready Wikipedia


INFOBOX

数据集名称 AbdomenCT-1K
英文全称 AbdomenCT-1K — 1,000+ Abdominal CT Scans for Multi-Organ Segmentation(官方论文标题:AbdomenCT-1K: Is Abdominal Organ Segmentation a Solved Problem?)
别名/简称 AbdomenCT-1K、Abdomen 1K、FLARE 系列挑战赛训练数据源
疾病分类 腹部器官病变谱(ICD-11:2C12 肝细胞癌 / 2C10 胰腺恶性肿瘤 / 2B90 结肠恶性肿瘤等;同时含大量非肿瘤腹部 CT,详见 §2.1)
SNOMED CT 10200004 Liver structure / 64033007 Kidney structure / 78904004 Spleen structure / 15776009 Pancreas structure(详见 §2.1b)
数据模态 3D CT(断层影像,覆盖平扫期、动脉期、门脉期,多厂商设备)
AI 任务类型 腹部多器官分割(全监督 / 半监督 / 弱监督 / 持续学习四大基准)、跨中心与跨期相泛化评估、噪声标签学习
样本总数 1,112 例 3D CT(1,000 例公开四器官标注 + 50 例隐藏测试集;另有 50 例 13 器官扩展与 773 例伪肿瘤标签扩展)
数据大小 整包分三部分压缩分发(NIfTI 格式);50 例 13 器官扩展包 1.5 GB;1,000 例标注影像合计约 201,528 个切片层
数据格式 NIfTI(.nii.gz),nnUNetv1 目录规范(imagesTr / labels / imagesTs + dataset.json)
许可证 混合 Creative Commons:LiTS 与 MSD 子集 CC-BY-SA 4.0、NIH Pancreas CC-BY、KiTS CC-BY-NC-SA 4.0;代码 Apache-2.0
访问级别 注册后开放(填写数据使用跟踪表单后按三部分下载)
DUO 标签 GRU, NCU(非商业使用受 KiTS 子集 CC-BY-NC-SA 约束)
语言 英文(文档与标注协议);影像数据无语言属性
首发日期 2020-10-28(arXiv:2010.14808 与 GitHub 官方仓库同月发布)
最后更新 2023-11-27(GitHub 最后推送;773 例伪肿瘤标签扩展至最终规模)
发布机构 南京大学、南京理工大学、南京鼓楼医院等约 15 家机构联合(通讯作者:南京大学 Xiaoping Yang)
官方主页 https://github.com/JunMa11/AbdomenCT-1K
下载地址 https://forms.gle/XDrxSgoCXs3jzn8U7(跟踪表单,整包三部分);Zenodo:records/5903099、records/5903846、records/5903769
DOI 10.1109/TPAMI.2021.3100536(论文)/ 10.5281/zenodo.7860267(13 器官扩展包)
引用次数 484(Semantic Scholar,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方四大基准划分齐全、nnU-Net 全套基线代码开源、几乎免格式转换;扣分项:整包需表单申请且分三部分、nnUNetv1 旧版目录规范、混合许可限制商用、112 例无公开标注
页面状态 published

§0 E-E-A-T 信任声明与免责声明

  • 医学审核者:[千方病案医学编辑部] 交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 双映射、腹部解剖与病变谱)、§7 质量评估(偏倚分析、泛化性证据)。
  • 数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和 8 个坑点。
  • 审核日期:2026-09-05

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。AbdomenCT-1K 要求用户通过官方数据使用跟踪表单获取整包数据;其源数据集许可并不统一——LiTS 与 MSD 子集为 CC-BY-SA 4.0、NIH Pancreas 为 CC-BY、KiTS 子集为 CC-BY-NC-SA 4.0(禁止商业使用)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 30 秒速览

这是什么? AbdomenCT-1K 是一个包含 1,112 例三维腹部 CT 的大规模多器官分割数据集,为每一例提供肝脏、肾脏、脾脏、胰腺四个器官的体素级标注。它不是单一医院的数据,而是汇聚了 12 家医疗中心的多期相(平扫、动脉、门脉)、多厂商、多疾病病例,由南京大学团队联合十余家机构构建,2020 年首发、2022 年正式发表于 IEEE TPAMI。

为什么重要? 在它出现之前,腹部分割数据集几乎都是单中心、单期相、单器官的,模型在这些"干净"基准上刷到 95% 以上的 Dice 后,社区一度认为腹部器官分割"已经解决"。AbdomenCT-1K 用系统性实验证明:换一个中心、换一个期相、换一种未见疾病,SOTA 模型性能会明显跳水——这个问题远未解决。它是医学影像领域少见的"提出并回答一个领域级问题"的数据集。

我能用它做什么? 训练肝/肾/脾/胰分割模型、在官方四大基准(全监督、半监督、弱监督、持续学习)上做严格可比的研究、评估自己模型的跨域泛化能力、或者把它当作腹部 CT 预训练语料。如果你要发一篇器官分割论文并回应"泛化性"质疑,这是目前社区最认可的数据集之一。

§1.1 摘要

AbdomenCT-1K 由南京大学 Xiaoping Yang(通讯作者)与南京理工大学 Jun Ma(第一作者)团队联合十余家机构构建,通过为五个既有公开数据集(LiTS 201 例、KiTS 300 例、MSD Spleen 61 例、MSD Pancreas 420 例、NIH Pancreas 80 例)补标缺失器官,并新增南京大学 50 例多期相癌症病例,形成 1,112 例四器官标注的多中心语料。标注采用"单器官模型预标注 → 15 名初级标注者 ITK-SNAP 精修 → 2 名执业放射科医师监督 → 1 名 10 年以上腹部专科资深医师终审"的分层流程,并以 5 折交叉验证 U-Net 自动巡检标签错误。论文以 3D nnU-Net 为基线开展大规模泛化研究,揭示跨中心、跨期相与未见疾病下的性能退化,进而构建全监督、半监督、弱监督、持续学习四大基准并配套开源代码与隐藏测试集。数据集后续孵化了 MICCAI FLARE 2021-2023 系列挑战赛,并扩展出 50 例 13 器官标注与 773 例伪肿瘤标签两个子集。

§1.2 战略价值分析

问题重定义维度:AbdomenCT-1K 的最大价值不是"又大了一份数据集",而是它把一个被社区默认关闭的问题重新打开。论文标题就是一个反问句——"腹部器官分割是一个已解决的问题吗?"作者给出的答案是条件化的:如果只用 Dice 指标、测试分布与训练一致、病例不严重,肝/肾/脾确实接近解决;但一旦换成关注边界的 NSD 指标、来自新中心的分布外数据、或含未见严重病变与低质量图像的病例,现有方法仍然脆弱。这种"用数据集做领域级实验设计"的思路,让 AbdomenCT-1K 成为泛化性研究的标准试金石,也解释了它为什么发表在 TPAMI 而非普通数据描述期刊。

生态孵化维度:AbdomenCT-1K 直接孵化了 MICCAI FLARE 系列挑战赛——2021 年的全监督赛题基于其全监督基准,2022 年扩展为 13 器官半监督赛题(50 例标注 + 2,000 例无标注),2023 年进一步升级为器官与泛癌分割。三届赛事沉淀了大量公开方案与评测基建(grand-challenge 四个基准主页、Docker 提交纪律、隐藏测试集),对新人而言意味着:这是一个有排行榜、有可复现基线、有活跃社区的数据集,而不是下载后自生自灭的静态归档。

方法论沉淀维度:数据集的标注流程本身就是一份可复用的"多中心重标注工程手册"——单器官模型预标注、15 人分工精修、双人一致性量化、5 折模型巡检,这套流程后来被 FLARE 系列与多个后续数据集沿用。对打算自建标注团队的研究者,AbdomenCT-1K 的价值不止是数据本身,更是一套经过 TPAMI 同行评审验证的质量控制方法论:任何新标注项目都可以直接对照其三层质控与一致性目标(肝/肾/脾 DSC 98+、胰 93.8)来设计验收标准。

数据供给侧维度:它同时扮演着"数据集聚合器"的角色——把 LiTS、KiTS、MSD、NIH 四个许可与格式各异的挑战赛数据集统一成一份 NIfTI + 统一标签体系的多器官语料。这种统一化把过去需要数周的格式对齐、标签映射、许可梳理工作压缩成一次下载,也把跨数据集研究从"重新实现"变成"重新划分"。

§1.3 同类数据集横向对比

数据集 规模 模态 标注 核心差异化
AbdomenCT-1K 1,112 例 CT 3D CT(多期相、多厂商) 4 器官体素级(另有 50 例 13 器官扩展) 多中心泛化研究 + 四大学习范式官方基准 + FLARE 生态
AMOS-CT 数百例标注 + 千例级无标注 3D CT + MRI 15 器官 覆盖器官更多、含 MRI 模态,但无多范式基准体系
BTCV / Synapse 30 例 CT 3D CT 13 器官 经典入门基准,规模极小,适合快速冒烟测试
MSD(Pancreas / Spleen 子集) 420 / 61 例 CT 3D CT 单器官 AbdomenCT-1K 的直接上游;MSD 保留单器官标注
LiTS / KiTS19 201 / 300 例 CT 3D CT 肝±肿瘤 / 肾±肿瘤 挑战赛遗产数据集,单器官标注,期相单一
NIH Pancreas-CT 80 例 CT 3D CT 胰腺 托管于 TCIA,以平扫期为主的早期胰腺库

AbdomenCT-1K 的不可替代性在于三点:它是上述多个"单器官孤岛"的统一四器官重标注版(原始数据集只标注了单一器官);它是唯一配套全监督、半监督、弱监督、持续学习四套官方基准与隐藏测试集的腹部 CT 数据集;它提供了跨中心/跨期相/跨疾病的系统性泛化实验证据,这是任何一个单中心数据集都无法自证的内容。

§1.4 版本演进时间轴

时间 事件
2020-10 arXiv:2010.14808 首发;GitHub 官方仓库 JunMa11/AbdomenCT-1K 创建(2020-10-28)
2021 TPAMI 送审录用(DOI 10.1109/TPAMI.2021.3100536 在线发表,PubMed PMID 34314356);基于全监督基准组织 MICCAI FLARE 2021 挑战赛
2021-2022 四大基准(全监督/半监督/弱监督/持续学习)grand-challenge 主页陆续上线,隐藏测试集 50 例投入使用;发布 663 例伪肿瘤标签
2022-10 TPAMI 正式出版(vol.44, no.10, pp.6695-6714);MICCAI FLARE 2022 挑战赛采用 50 例 13 器官扩展(Zenodo,DOI 10.5281/zenodo.7860267)
2023 FLARE 2023 升级为器官与泛癌分割(pan-cancer);伪肿瘤标签扩展至 773 例
2023-11-27 GitHub 仓库最后一次推送,此后数据集内容保持冻结
2026-09 Semantic Scholar 引用 484 次(截至 2026-09),仍为腹部多器官分割方向的常用引用基准

§1.5 典型应用场景

  1. 多器官分割算法研究:训练肝/肾/脾/胰分割网络,并用官方全监督基准与隐藏测试集做严格可比评测;nnU-Net 官方基线代码可直接复现。
  2. 半监督与弱监督方法研究:官方半监督基准(少量标注 + 大量无标注)与弱监督基准(5%/15%/30% 切片级稀疏标注)专为标注成本受限场景设计,是论文实验的标准赛道。
  3. 跨域泛化与鲁棒性评估:利用多中心/多期相构成,把模型在一个源数据集上训练后在其余数据集上测试,量化分布外退化——论文的四个跨集实验组就是现成范式。
  4. 持续学习与增量部署研究:官方持续学习基准用四个单器官数据集顺序训练、统一测试"灾难性遗忘"程度,对应临床系统中逐步新增器官标注的真实演进路径。
  5. 噪声标签与预训练语料:773 例伪肿瘤标签适合噪声标签学习;1,000+ 例四器官体数据亦可用作腹部 CT 自监督/大规模预训练的语料基础。

§2 医学背景

§2.1 ICD-11 疾病与病变映射

AbdomenCT-1K 的标签是器官(结构)而非疾病,因此 ICD-11 映射面向的是各子集携带的病变谱——LiTS 的肝肿瘤、KiTS 的肾肿瘤、MSD/NIH 的胰腺病变以及南京大学 50 例癌症队列:

器官/病变谱 ICD-11 编码 ICD-11 中文名 数据集内来源
肝脏(含肝肿瘤病例) 2C12 肝细胞癌 LiTS 子集以肝肿瘤患者为主
胰腺(含胰腺病变病例) 2C10 胰腺恶性肿瘤 南京大学子集 20 例胰腺癌;MSD/NIH 胰腺子集
结肠(南京子集病变谱) 2B90 结肠恶性肿瘤 南京大学子集 20 例结肠癌
肾脏(含肾肿瘤病例) — 肾肿瘤病变谱(编码详见 KiTS19 原始文献) KiTS 子集以肾肿瘤患者为主
脾脏 — 无直接对应疾病标签 任务为结构分割,不含疾病属性

§2.1b SNOMED CT 术语映射

标注器官 SNOMED CT 编码 SNOMED 术语 说明
肝脏 10200004 Liver structure label=1,所有 1,000 例公开标注全覆盖
肾脏 64033007 Kidney structure label=2,左右肾合并为单一标签
脾脏 78904004 Spleen structure label=3,998/1,000 例覆盖(99.8%)
胰腺 15776009 Pancreas structure label=4,全数据集公认最难分割器官

§2.2 医学简介与流行病学背景

腹部是人体器官密度最高的体腔之一:肝脏是最大的实质器官并承担代谢与解毒功能;双肾负责滤过排泄并常受肿瘤累及;脾脏参与免疫与储血,形态变异与切脾术后缺如并不罕见;胰腺横卧于腹膜后,毗邻胃、十二指肠与主要血管,边界模糊、走行个体差异大。这四个器官恰好覆盖了"大而易"(肝)到"小而难"(胰)的分割难度光谱,使其组合成为衡量腹部分割能力的经典配置。

在临床侧,腹部 CT 是腹部疾病诊断最常用的断层影像模态,肝细胞癌、胰腺恶性肿瘤、结肠恶性肿瘤等疾病的高致敏性也使腹部 CT 检查量长期居高不下。AbdomenCT-1K 的疾病谱与这种临床现实吻合:数据集中的病例大量来自肝/肾肿瘤挑战赛数据与癌症队列(南京大学 50 例即由 20 例胰腺癌、20 例结肠癌、10 例肝癌患者构成),肿瘤、炎症与术后改变带来的器官形变、边界侵蚀和密度异常,正是模型在真实临床数据上必须面对的挑战。

从器官分割难度的流行病学视角理解这个数据集的设计:

器官 分割难度来源 在数据集中的体现
肝脏 体积大、边界清晰但可被肿瘤大幅形变;肝内胆管扩张等病变改变内部纹理 LiTS 子集肿瘤肝占比高;论文报告挑战病例含肝内胆管扩张
肾脏 形态稳定但肿瘤可造成局部严重形变;左右合并在本数据集为既有约定 KiTS 子集含大量肾肿瘤病例;论文图 9 展示大肾肿瘤失败案例
脾脏 形态稳定、边界清楚,是"易分割"参照系;但存在缺如/术后个体 998/1,000 覆盖率(2 例无脾);脾被论文用作跨集测试的"稳定性锚点"
胰腺 体积小、边界弱、走行变异大、毗邻结构信号相近 所有实验中成绩最低、方差最大;南京子集 20 例胰腺癌进一步加大难度

理解这四者的难度梯度,才能理解为什么论文反复强调"平均 Dice 是有误导性的":一个在肝上 96% 的模型完全可能在胰上只有 80% 出头,而临床价值恰恰取决于难器官的表现。

§2.3 临床任务定义

腹部多器官分割对应的临床任务链是:

临床环节 分割的作用 与 AbdomenCT-1K 的关系
计算机辅助诊断 器官自动勾勒为病灶检出与定位提供解剖参照 四器官标注覆盖主要腹部分析场景
手术导航 术前三维重建、重要器官与血管的空间关系呈现 体素级标注可直接重建三维模型
放射治疗 靶区与危及器官(OAR)勾画是放疗计划的核心人力成本 肝/肾/脾/胰均为腹部放疗常见危及器官
生物标志物测量 器官体积定量(如肝体积用于术前肝功能储备评估) 器官体积统计与个体差异可直接从标注计算

需要强调:AbdomenCT-1K 支撑的是"器官结构分割"这一环,不包含病灶分割与诊断标签(伪肿瘤标签扩展除外,且其为噪声标签性质,见坑点 5)。

§2.4 患者人群构成

维度 构成情况 说明
数据来源 六个子集:LiTS(201)、KiTS(300)、MSD Spleen(61)、MSD Pancreas(420)、NIH Pancreas(80)、南京大学新采集(50) 共 1,112 例,来自 12 家医疗中心
疾病谱 以肝肿瘤、肾肿瘤、胰腺病变患者为主;南京子集为胰腺癌 20、结肠癌 20、肝癌 10 健康腹部占比低,构成重要的选择偏倚(§7.1)
年龄/性别/种族分布 官方未公开披露 上游数据集未提供统一人口学表
期相构成 多期相混合;南京 50 例中平扫 18、动脉期 18、门脉期 14 各源子集期相高度不均(§7.1)
中心数量 12 家医疗中心(具体名单未公开) 跨中心泛化研究的结构性基础

§2.5 临床价值

对算法侧而言,AbdomenCT-1K 把"在干净基准上 95%+ Dice"与"在真实分布下可靠"之间的鸿沟第一次量化呈现:肝与脾的 Dice 虽然稳定在 90% 以上,但反映边界质量的 NSD 在不同测试集间波动显著(肝 77.4%-92.1%,脾 86.0%-97.0%);肾与胰腺的退化更为剧烈。对临床侧而言,这意味着任何打算把腹部器官自动勾画引入放疗 OAR 勾画或手术规划的工作流,都必须在多中心、多期相、含真实病变的数据上验证——而能提供这种验证环境的开放数据集屈指可数。

分场景看临床价值:

临床场景 分割需求 AbdomenCT-1K 提供的支撑 尚需补充的环节
放疗 OAR 勾画 危及器官边界准确(NSD 敏感) 四器官体素标注 + 边界敏感指标体系 平扫定位扫描分布、科室级精修流程
肝体积定量 大器官体积鲁棒估计 官方体积统计(中位 1,573 cm³,范围 505-4,504)可作合理性校验 增强期与平扫期的体积一致性验证
肿瘤随访对比 同患者跨期相器官配准 多期相病例构成 + 期相感知研究范式 患者级纵向数据(本数据集以单次扫描为主)
手术规划三维重建 器官表面平滑且拓扑正确 高一致性标注(双人 DSC 98+)可支撑重建评估 血管与胆道等细小结构(需 13 器官扩展或专门数据)
教学与培训 大规模多形态病例库 12 中心多期相多疾病,形态多样性内置 标注只含四器官,教学需自行叠加病灶信息

一个务实的定位:AbdomenCT-1K 回答的是"我的器官分割模型在多样真实分布下还剩多少能力",而不是"我的模型能不能直接上临床"——后者永远需要前瞻性、机构内的验证闭环。

§2.6 金标准对照表

维度 内容
金标准形式 体素级多器官分割掩膜(NIfTI,标签值 1-4)
划分方式 轴位逐层人工标注(ITK-SNAP 3.6)
标注方式 模型预标注 + 人工精修的半自动流程;15 名初级标注者(1-5 年经验)在 2 名执业放射科医师监督下精修
终审资质 1 名 10 年以上腹部专科资深放射科医师逐例核验;另有 5 折交叉验证 U-Net 自动巡检低分病例
标注者间一致性 南京大学 50 例双人独立标注:DSC 肝 98.4±0.52、肾 98.7±0.53、脾 98.6±0.84、胰 93.8±7.78;NSD 肝 95.7±3.04、肾 98.7±2.05、脾 98.2±4.18、胰 92.5±9.40
性质 研究级金标准(双人一致性高,但胰腺方差大,边界主观性仍不可忽略)

§3 数据集规格

§3.0 版本抉择矩阵

AbdomenCT-1K 没有传统意义上的"多版本",而是按用途分发的多个数据包。选错包是社区最常见的第一个错误:

你的需求 推荐获取 大小 理由
复现论文四大基准/发分割论文 四大基准 grand-challenge 主页各自的数据页 视基准而定 官方划分 + 隐藏测试 + 论文可比性
完整 1,000 例四器官标注训练 整包三部分(跟踪表单或 Zenodo) 三部分压缩包 Case_00001-01000 全量标注语料
快速冒烟测试/教学演示 FLARE22 扩展包(Zenodo records/7860267) 1.5 GB 50 例 13 器官,体量最小、器官最多
13 器官(含十二指肠、肾上腺等)研究 FLARE22 扩展包 1.5 GB 肝/脾/胰/双肾/胃/胆囊/食管/主动脉/下腔静脉/双肾上腺/十二指肠
噪声标签学习/泛癌预训练 伪肿瘤标签扩展(百度网盘或 Google Drive) 标签包 773 例伪肿瘤标签,对应整包 Case_00001-00773
参赛/严格横向对比 对应基准的 Docker 隐藏测试提交 — 50 例隐藏测试仅通过评测服务器访问

§3.1 模态详情

AbdomenCT-1K 全部为 3D 断层 CT。其"多模态感"来自三个维度的多样性:

  • 多期相:覆盖平扫期、动脉期、门脉期。南京大学 50 例内部就有平扫 18 例、动脉期 18 例、门脉期 14 例;源数据集层面期相更加悬殊——KiTS 以增强扫描为主、NIH Pancreas 以平扫为主、LiTS 以门脉期为主。期相差异直接改变器官-背景对比度,是论文证实的最大泛化杀手之一。
  • 多厂商:论文明确数据集覆盖多厂商设备(multi-vendor);南京大学 50 例采集自 GE 多排螺旋 CT,512×512 矩阵,层厚 1.25-5 mm。完整设备与 HU 分布见论文补充材料(Supplementary Table 1,随仓库 Abdomen1K-supp.pdf 分发)。
  • 多疾病:肿瘤、炎症、术后改变与正常腹部混合存在,器官形态与密度谱远比单疾病数据集宽。

§3.2 子集构成表

源数据集 例数 原始标注 AbdomenCT-1K 补标内容 典型期相
LiTS 201 肝(±肝肿瘤) 肾、脾、胰 门脉期为主
KiTS19 300 肾(±肾肿瘤) 肝、脾、胰 增强扫描
MSD Spleen 61 脾 肝、肾、胰 门脉期为主
MSD Pancreas 420 胰 肝、肾、脾 混合
NIH Pancreas 80 胰 肝、肾、脾 平扫为主
南京大学新采集 50 双人四器官独立标注 —(原生多器官) 平扫 18 / 动脉 18 / 门脉 14
合计 1,112 — 每例统一四器官标签 多期相混合

对源子集补标后的版本在论文中称为 “Plus” 数据集(如 LiTS Plus、Spleen Plus),四个基准的划分即基于这些 Plus 子集。

§3.3 数据格式表

项目 规格
影像格式 NIfTI(.nii.gz)
标签格式 NIfTI(.nii.gz),体素级整数标签
标签取值 肝=1、肾=2(左右合并)、脾=3、胰=4
目录规范 nnUNetv1:imagesTr / labels / imagesTs / dataset.json
文件命名 Case_00001_0000.nii.gz(影像)/ Case_00001.nii.gz(标签)
切片总数 201,528 层(基于 1,000 例公开标注影像)

§3.4 存储大小

整包按三部分压缩分发,官方未公布解压后总量。可用的锚点是:50 例 13 器官扩展包(FLARE22Train.zip)为 1.5 GB,按此体量推算 1,000 例四器官标注整包为数十 GB 量级。建议预留 100 GB 以上磁盘空间以容纳解压、重采样中间产物与预处理缓存(与 nnU-Net 的 RAM 拷贝预处理的磁盘开销相当)。

用途 空间建议 说明
仅下载 + 解压整包 ≥ 80 GB 三部分压缩包 + 解压后的 NIfTI
完整训练流水线 ≥ 200 GB 叠加 nnU-Net 预处理缓存与训练输出
多实验并行 ≥ 500 GB 建议把 data/、nnUNet_raw/、nnUNet_preprocessed/、工作目录分盘
显存 3D fullres ≥ 24 GB VRAM 2D/lowres 配置 8-11 GB 可行

下载实操提示:三部分必须齐全后才能完整解压;百度网盘渠道适合国内非服务器环境(提取码 2021),但服务器环境建议直接走 Zenodo 链接以获得稳定的断点续传与校验和。

§3.5 标注方式

标注属于"模型预标注 + 全量人工精修"的半自动范式,论文对 Plus 子集(为单器官源数据集补标其余三个器官)采用如下流程:

  1. 用既有单器官模型对每个病例推理,得到缺失器官的初始掩膜;
  2. 15 名初级标注者(1-5 年经验)在 ITK-SNAP 3.6 中逐层精修,全部标注在轴位图像上完成;
  3. 2 名执业放射科医师全程监督;
  4. 1 名 10 年以上腹部专科资深放射科医师终审并逐例修正;
  5. 标注完成后训练 5 折交叉验证 U-Net 巡检,低 DSC/NSD 病例交回资深医师双复核。

§3.6 标注者资质与一致性

标注团队由 15 名初级标注者 + 2 名执业放射科医师 + 1 名资深腹部放射科医师构成。为控制标注者间变异,论文实施了三层质控策略(事前统一协议、事中终审修正既有标签错误、事后模型巡检),并以南京大学 50 例的双人独立标注量化一致性:肝、肾、脾的 DSC 达 98.4-98.7,胰腺为 93.8±7.78——胰腺较高的标准差再次印证其边界的强主观性。这一数字可作为任何新标注团队的质量对标线。

§3.7 采集周期

数据集整合自多个 2010 年代公开挑战赛数据集与南京大学新采集队列,官方未公布各子集的具体扫描年份区间。整包内容自 2023-11-27 后保持冻结,不再新增病例。

§3.8 地域覆盖

1,112 例来自 12 家医疗中心,覆盖多国多机构;中心具体名单与各中心病例数未公开披露。从构成看,语料以中国(南京大学队列)与欧美(LiTS、KiTS、MSD、NIH 均为欧美挑战赛数据)混合为主。这种中心维度多样性正是跨中心泛化实验的设计基础,但也意味着单一国家或人群的临床验证仍需本地数据补充。

§3.9 设备规格

已知信息:南京大学 50 例采集自 GE 多排螺旋 CT,矩阵 512×512,层厚 1.25-5 mm;整体数据集覆盖多厂商设备。层厚与体素间距的跨设备差异极大:公开标注 1,000 例的体素间距中位数为 (0.79, 0.79, 2.5) mm,最小 (0.45, 0.45, 0.45) mm、最大 (1.04, 3.0, 8.0) mm——层内分辨率与层间距的最大跨度约 17 倍。完整扫描仪型号、HU 分布等见论文补充材料表 1。

§3.10 深度溯源链

层级 来源 可追溯引用
数据集本体 JunMa11/AbdomenCT-1K(Apache-2.0 代码仓库) Ma et al., 2022, IEEE TPAMI. DOI 10.1109/TPAMI.2021.3100536
上游:LiTS 201 例 Liver Tumor Segmentation Challenge Bilic et al., 2019, arXiv:1901.04056
上游:KiTS 300 例 KiTS19 Challenge Heller et al., 2021, Medical Image Analysis 67:101821
上游:MSD Spleen/Pancreas 481 例 Medical Segmentation Decathlon Simpson et al., 2019, arXiv:1902.09063
上游:NIH Pancreas 80 例 TCIA pancreas-CT Roth et al., 2016, The Cancer Imaging Archive;Roth et al., 2015, MICCAI DeepOrgan
上游:南京大学 50 例 新采集(GE 多排螺旋 CT) 仅随 AbdomenCT-1K 论文发布
标注工具 ITK-SNAP 3.6 轴位逐层人工精修

§4 数据结构

§4.0 目录树

解压整包后,核心数据按 nnUNetv1 规范组织:

AbdomenCT-1K/
├── imagesTr/                     # 训练影像(含公开四器官标注的病例)
│   ├── Case_00001_0000.nii.gz    #   影像:Case 编号 + _0000 后缀(nnUNet 模态占位)
│   ├── Case_00002_0000.nii.gz
│   └── ...
├── labelsTr/                     # 训练标签(部分发行的包内目录名为 labels/)
│   ├── Case_00001.nii.gz         #   标签:与影像同名但无 _0000 后缀
│   ├── Case_00002.nii.gz
│   └── ...                       #   体素值:0 背景 / 1 肝 / 2 肾 / 3 脾 / 4 胰
├── imagesTs/                     # 测试影像(官方隐藏测试集不发影像,此目录为占位结构)
│   ├── Case_00010_0000.nii.gz
│   └── ...
└── dataset.json                  # nnUNetv1 数据集描述(模态、标签映射、划分)

扩展包与整包的对应关系:伪肿瘤标签扩展对应整包 Case_00001-00773(只含标签文件);13 器官扩展包(FLARE22Train.zip)是独立解压的 50 例完整标注。

§4.1 DAIMS 字段字典

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
case_id string 全局唯一病例标识,与文件名一致 Case_00001 索引、划分、结果对齐 无(发行前已规范化) 不适用 Case_00001-01112
image_file file 影像 NIfTI 路径(_0000 后缀) imagesTr/Case_00001_0000.nii.gz 模型输入 NIfTI 压缩无误差 不适用 .nii.gz 文件
label_file file 标签 NIfTI 路径 labelsTr/Case_00001.nii.gz 监督信号 双人 DSC 93.8-98.7(南京 50 例) 体素 0 = 背景 .nii.gz 文件
organ_label int 体素级器官标签值 1(肝) 逐体素分类目标 肾左右不分的系统性简化 0 表示背景 0-4
n_slices int 体数据层数 103(中位数) 重采样预算、显存规划 无 不适用 31-1,026
spacing tuple 体素物理间距 (x,y,z),mm (0.79, 0.79, 2.5) 重采样参数 设备依赖(0.45-8.0 mm) 不适用 见 §3.9
image_size tuple 体数据尺寸 (x,y,z) (512, 512, 103) 批处理与裁剪策略 无 不适用 最小 (512, 79, 31)、最大 (796, 512, 1026)
phase metadata 期相(平扫/动脉/门脉) 门脉期 域泛化分层、期相感知训练 未逐例公开,需按源子集推断 无逐例字段 plain/arterial/portal
tumor_pseudo_label file 伪肿瘤标签(773 例扩展) Case_00001-00773 噪声标签学习 噪声(作者明示非确诊金标准) 无标签 = 未发布 .nii.gz 文件

§4.2 标签分布

基于 1,000 例公开标注影像的器官体积统计:

器官 覆盖例数 覆盖率 最小体积(cm³) 中位体积(cm³) 最大体积(cm³)
肝脏 1,000 100% 505 1,573 4,504
肾脏 1,000 100% 27 380 1,947
脾脏 998 99.8% 31 223 1,256
胰腺 1,000 100% 18 85 868

要点:肝/肾/胰在公开标注内全覆盖,脾有 2 例缺失(术后缺如或采集差异,详见坑点 6);肾体积中位数 380 cm³ 是左右两肾合计(标签合并的直接后果);胰腺中位体积不足肝的 6%,是最小且边界最弱的器官。

体积分布的三条实用推论:

  1. 合理性校验:部署后如果某例"肝"分割体积落在 505-4,504 cm³ 之外,大概率是误分割(例如把腹水或肿瘤大块误划入肝),可做成自动质检规则。
  2. 类别权重设计:胰腺与肝的体素占比差一个数量级,交叉熵建议按体积倒数加权或采用前景优先采样(§6.4 已实现),否则模型会系统性偏向大器官。
  3. 肾的解读口径:任何"肾体积"结论都应写明"双肾合计";如需单肾指标,必须先做坑点 1 的连通域拆分。

§4.3 关键统计

统计项 数值
病例总数 1,112(公开标注 1,000)
医疗中心数 12
切片总层数 201,528(1,000 例公开标注)
尺寸中位数 / 最小 / 最大 (512, 512, 103) / (512, 79, 31) / (796, 512, 1026)
间距中位数 / 最小 / 最大 (0.79, 0.79, 2.5) / (0.45, 0.45, 0.45) / (1.04, 3.0, 8.0) mm
期相构成(南京 50 例) 平扫 18 / 动脉 18 / 门脉 14
标注者间 DSC(南京 50 例) 肝 98.4 / 肾 98.7 / 脾 98.6 / 胰 93.8

§4.4 数据层级

AbdomenCT-1K(数据集)
└── 12 家医疗中心(中心维度,无逐例中心标签公开)
    └── 1,112 个病例(case_id:Case_00001-01112)
        └── 1 个 3D 体数据(影像 + 标签成对 NIfTI)
            └── 平均约 202 层切片(全库 201,528 层 / 1,000 例)
                └── 体素级标签(0 背景 + 4 类器官)

注意:层级中"中心"一级没有显式字段,逐例的期相与中心归属需要按 §3.2 的源子集构成推断——这是做分层评估前必须自行重建的元数据(见坑点 2 的解决方案)。

§4.5 缺失值与信息性缺失

缺失类型 范围 性质 处理建议
脾标签缺失 2/1,000 例(99.8% 覆盖) 信息性缺失:多提示脾缺如/术后 脾评估时按 998 例计算;训练时缺失即监督信号为空
imagesTs 无标签 测试影像目录 设计性缺失:对应隐藏评测 本地只能自留验证集,绝对成绩以官方服务器为准
112 例无公开器官标注 Case_01001-01112 范围内未发布标注部分 设计性缺失:预留测试 不要把整包 1,112 例全部当作有标注训练集
伪肿瘤标签 773 例,仅标签文件 噪声标签:非疾病金标准 只用于噪声标签学习,不可用于报告肿瘤分割成绩
期相/中心元数据 全库 未随包发布 按源子集重建(坑点 2),勿凭空假设

§5 数据划分与使用建议

§5.1 官方划分

基准 训练侧 测试侧 提交方式
全监督 四器官标注语料(Plus 子集) 50 例隐藏测试(来自一家新医疗中心) Docker 镜像提交评测
半监督 少量标注(以 Spleen Plus 41 例为锚)+ 大量无标注 官方划分测试集 grand-challenge 提交
弱监督 Spleen Plus 41 例的 5%/15%/30% 切片级稀疏标注 100 例(50 难例 + 50 随机) grand-challenge 提交
持续学习 四个单器官数据集顺序训练:MSD Pancreas Ts 139(肝)、KiTS 210(肾)、Spleen 41(脾)、MSD Pancreas 139(胰) 50 例(取自 LiTS Plus 131 与 NIH Pancreas Plus 82) 论文协议

§5.2 社区惯例划分

社区最常见的两种自建划分:其一,按源子集做"留一域"划分(如用 KiTS Plus 训练、LiTS Plus 测试),直接复刻论文的跨集泛化实验;其二,对整包 1,000 例公开标注做 5 折交叉验证(与论文质控流程一致)。两者都比随机划分更能暴露真实性能。

自建划分的三条纪律:

  1. 来源分层:任何随机划分都必须按源子集分层,否则某一折可能几乎没有南京大学病例,而另一折集中了全部 KiTS——评估方差会被人为放大。
  2. 期相一致性检查:划分后打印各折的期相构成(按源子集近似),如果训练与验证期相分布差异过大,跨期相退化(坑点 2)会污染你的方法对比结论。
  3. 冻结 manifest:划分确定后立即冻结 manifest 文件并记录哈希,后续所有实验(包括别人的复现)引用同一 manifest,避免"划分漂移"导致论文数字不可比。

§5.3 泄漏风险 ⚠️

  • 源数据集与第三方基准重叠:MSD、LiTS、KiTS 均为公开挑战赛数据。若你的测试集来自这些挑战赛的官方测试部分,或你在 MSD 十项任务上另有实验,必须核对病例级重叠,否则会出现"在 AbdomenCT-1K 训练、在 MSD 测试"的隐性泄漏。
  • 同患者多期相:南京大学 50 例来自 50 名患者(每例一扫),但临床实践中同一患者可有平扫+增强多期序列;自建多期相数据与 AbdomenCT-1K 混用时,需按患者而非病例划分。
  • 伪肿瘤标签对应的影像在整包内:773 例伪肿瘤标签与四器官标注共用影像,若同时用于训练与评估会出现标签层面自我印证。

§5.4 交叉验证建议

推荐 5 折(与论文质控一致),并按源子集做分层抽样,保证每折内 LiTS/KiTS/MSD/NIH/南京比例一致;报告 DSC 与 NSD 双指标(NSD 是论文反复强调的边界敏感指标)。

§5.5 外部验证建议

优先顺序:AMOS-CT(多期相多中心,器官体系更宽)→ BTCV/Synapse(13 器官经典小集)→ 自有院内数据(真正的分布外)。使用 FLARE22 的 50 例 13 器官扩展做外部验证时注意:其胰腺标注源自 MSD、其余器官标注源自 AbdomenCT-1K 本身,不宜同时用作"独立"验证。


§6 AI 就绪指南

§6.0 云端快速启动

国内用户优先使用百度网盘(提取码 2021)配合 AutoDL/本地实验室服务器;海外用户走 Zenodo 三部分或 Google Drive。Google Colab 免费档的磁盘(约 100 GB)足够放下整包与预处理缓存,但 3D nnU-Net 训练建议本地 24 GB 显存级 GPU。

§6.1 快速上手

# ============================================================
# 快速上手:读取一例 AbdomenCT-1K 体数据并可视化
# ============================================================
# 预期目录结构(data_root 必须指向解压后的 AbdomenCT-1K 根目录):
#   data_root/
#   ├── imagesTr/Case_00001_0000.nii.gz   # 影像:Case 编号 + _0000
#   └── labelsTr/Case_00001.nii.gz        # 标签:同名无后缀(部分包内目录名为 labels/)
# data_root 与文件路径的拼接关系:f"{data_root}/imagesTr/Case_{i:05d}_0000.nii.gz"
# 最小可用子集:任意一例 imagesTr + labelsTr 即可跑通本脚本
import nibabel as nib
import numpy as np

data_root = "/data/AbdomenCT-1K"

img = nib.load(f"{data_root}/imagesTr/Case_00001_0000.nii.gz")
lab = nib.load(f"{data_root}/labelsTr/Case_00001.nii.gz")

vol = np.asarray(img.dataobj)          # HU 值,float 或 int16
seg = np.asarray(lab.dataobj)          # 0 背景 / 1 肝 / 2 肾 / 3 脾 / 4 胰

print("volume:", vol.shape, "spacing:", img.header.get_zooms())
print("labels present:", np.unique(seg))           # 应输出 [0 1 2 3 4] 的子集
print("liver voxels:", int((seg == 1).sum()))

两条铁律:影像文件名带 _0000 后缀而标签不带(nnUNet 惯例);标签 NIfTI 必须与影像共用同一仿射矩阵,任何重采样都要同步作用两者。

§6.2 数据获取

渠道 内容 大小 要求
官方跟踪表单(forms.gle/XDrxSgoCXs3jzn8U7) 整包三部分 数十 GB 量级 填写真实姓名/机构/邮箱
Zenodo records/5903099、5903846、5903769 整包三部分 三部分合计数十 GB 量级 直接下载
百度网盘(提取码 2021)/ Google Drive 整包 + 伪肿瘤标签扩展 见页面 直接下载
Zenodo records/7860267 50 例 13 器官(FLARE22) 1.5 GB 直接下载
四大基准 grand-challenge 主页 基准划分 + 隐藏测试评测 视基准 真实姓名与机构邮箱注册
# Zenodo 整包三部分示例(以 Part 1 为例)
# !wget https://zenodo.org/records/5903099/files/<Part1_filename>.zip
# 13 器官扩展包(1.5 GB)
# !wget https://zenodo.org/record/7860267/files/FLARE22Train.zip

§6.3 预处理全流程

# ============================================================
# 预处理:重采样到统一 spacing + HU 裁剪 + 归一化
# ============================================================
# 输入:imagesTr/ 与 labelsTr/;输出:processed/ 下同名 .npz(image + label)
# 说明:AbdomenCT-1K spacing 跨度极大(0.45-8.0 mm),
#       不做重采样直接喂 3D 网络是最大的预处理陷阱(见坑点 3)
import numpy as np
import nibabel as nib
from scipy.ndimage import zoom
from pathlib import Path

data_root = Path("/data/AbdomenCT-1K")
out_root  = Path("/data/abdomenct1k_processed")
out_root.mkdir(parents=True, exist_ok=True)

TARGET_SPACING = np.array([0.79, 0.79, 2.5])   # 全库中位数 spacing(mm)
HU_LOW, HU_HIGH = -175.0, 250.0                # 软组织窗经验值,按任务微调

def preprocess(case_id: str) -> None:
    img_nii = nib.load(data_root / "imagesTr" / f"{case_id}_0000.nii.gz")
    lab_nii = nib.load(data_root / "labelsTr" / f"{case_id}.nii.gz")
    img, lab = np.asarray(img_nii.dataobj, dtype=np.float32), np.asarray(lab_nii.dataobj)

    spacing = np.array(img_nii.header.get_zooms()[:3], dtype=np.float32)
    scale = spacing / TARGET_SPACING                    # 各轴缩放系数

    img = zoom(img, scale, order=1)                     # 影像:三线性
    lab = zoom(lab, scale, order=0)                     # 标签:最近邻,保整数!

    img = np.clip(img, HU_LOW, HU_HIGH)
    img = (img - HU_LOW) / (HU_HIGH - HU_LOW)           # 零均值前的 min-max

    np.savez_compressed(out_root / f"{case_id}.npz",
                        image=img.astype(np.float16), label=lab.astype(np.uint8))

for case_id in ["Case_00001", "Case_00002", "Case_00003"]:
    preprocess(case_id)

生产环境建议直接使用 nnU-Net v2 的自动配置流水线(含 spacing 目标计算、HU 裁剪方案与 RAM 拷贝策略),其源自 nnU-Net 论文,也是 AbdomenCT-1K 官方基线的同一技术栈。

预处理完成后、训练开始前,建议加一道全库质检脚本——这一步能提前暴露坑点 4、6 的绝大多数问题:

# ============================================================
# 全库质检:影像-标签配对 + 标签值域 + 形状一致性
# ============================================================
# 输入:原始 imagesTr/ 与 labelsTr/;输出:异常病例清单 + 全库统计
import numpy as np, nibabel as nib
from pathlib import Path
from collections import Counter

root = Path("/data/AbdomenCT-1K")
imgs = sorted((root / "imagesTr").glob("*_0000.nii.gz"))
issues, spacing_counter = [], Counter()

for p in imgs:
    case = p.name.replace("_0000.nii.gz", "")
    lab_p = root / "labelsTr" / f"{case}.nii.gz"
    if not lab_p.exists():                       # 坑点 4:无标签病例
        issues.append(f"{case}: NO_LABEL"); continue
    img, lab = nib.load(p), nib.load(lab_p)
    if img.shape != lab.shape:                   # 形状不一致
        issues.append(f"{case}: SHAPE {img.shape} vs {lab.shape}")
    vals = np.unique(np.asarray(lab.dataobj))
    if not np.all(np.isin(vals, [0, 1, 2, 3, 4])):   # 标签值域
        issues.append(f"{case}: BAD_LABEL {vals}")
    spacing_counter[tuple(np.round(img.header.get_zooms()[:3], 2))] += 1

print(f"cases: {len(imgs)}, issues: {len(issues)}")
for line in issues[:10]:
    print(line)
print("top spacings:", spacing_counter.most_common(5))   # 坑点 3:层厚异构一目了然

§6.4 PyTorch DataLoader

<details>
<summary>完整可运行的 Dataset 类 + transform + DataLoader(点击展开)</summary>

# ============================================================
# 3D 多器官分割 Dataset:滑动窗口采样 foreground-heavy 训练块
# ============================================================
# 预期输入:§6.3 产出的 processed/*.npz(image float16、label uint8)
# 输出:随机裁剪的 96×96×96 训练块(前景优先)+ 数据增强
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from pathlib import Path

class AbdomenCT1K(Dataset):
    """AbdomenCT-1K 3D 分割 Dataset。
    data_root: processed 目录(.npz 文件);patch: 训练块尺寸;
    foreground_ratio: 至少含一个器官体素的批次比例。"""
    LABELS = {1: "liver", 2: "kidney", 3: "spleen", 4: "pancreas"}

    def __init__(self, data_root: str, patch=(96, 96, 96), foreground_ratio=0.7):
        self.files = sorted(Path(data_root).glob("Case_*.npz"))
        assert self.files, f"no .npz found under {data_root}"
        self.patch, self.fg_ratio = patch, foreground_ratio

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

    def _crop(self, img, lab):
        p = self.patch
        if np.random.rand() < self.fg_ratio:            # 前景优先:围绕器官体素裁剪
            fg = np.argwhere(lab > 0)
            center = fg[np.random.randint(len(fg))]
        else:                                           # 其余:全图随机
            center = np.array([np.random.randint(p[i], img.shape[i] - p[i] // 2)
                               for i in range(3)])
        lo = np.clip(center - np.array(p) // 2, 0,
                     np.array(img.shape) - np.array(p))[:3]
        sl = tuple(slice(lo[i], lo[i] + p[i]) for i in range(3))
        return img[sl], lab[sl]

    def _augment(self, img, lab):
        if np.random.rand() < 0.5:                      # 左右镜像:见 §6.6,对 4 类合并标签安全
            img, lab = img[:, :, ::-1], lab[:, :, ::-1]
        if np.random.rand() < 0.3:                      # 强度扰动(伽马)
            img = img ** np.random.uniform(0.8, 1.25)
        return np.ascontiguousarray(img), np.ascontiguousarray(lab)

    def __getitem__(self, idx):
        d = np.load(self.files[idx])
        img, lab = d["image"].astype(np.float32), d["label"].astype(np.float32)
        img, lab = self._crop(img, lab)
        img, lab = self._augment(img, lab)
        return (torch.from_numpy(img).unsqueeze(0),
                torch.from_numpy(lab.astype(np.int64)))

loader = DataLoader(AbdomenCT1K("/data/abdomenct1k_processed"),
                    batch_size=2, shuffle=True, num_workers=4, pin_memory=True)
img, lab = next(iter(loader))
print(img.shape, lab.shape, torch.unique(lab))          # [2,1,96,96,96] [2,96,96,96] tensor([0..4])

</details>

§6.5 八个真实坑点

⚠️ 坑点 1:肾标签不分左右——与主流数据集标签体系直接冲突(分类:标签理解)

问题:AbdomenCT-1K 中肾脏是单一标签(label=2),左右肾合并且可能不连通;而 AMOS、FLARE22、TotalSegmentator 等主流数据集将左肾、右肾分设两个标签。直接把 AbdomenCT-1K 与这些数据集混训,或在混用模型上直接评测,标签语义完全对不上。
症状:混训后训练 loss 正常、但验证集上"肾" Dice 忽高忽低;推理结果在 AMOS 上把两个肾连成一团或只输出一个连通域;统计"肾体积"时拿到的是双肾合计(中位 380 cm³ 是双肾之和)。
解决:

  1. 简单方法:仅做兼容评估——推理后将 label=2 的预测按 z 轴中线把肾分成左右两半再与左/右肾数据集对齐评估;或干脆只在 AbdomenCT-1K 体系内自洽评测。
  2. 进阶方法:连通域后处理拆分——对预测的 label=2 掩膜做 3D 连通域分析,按体积取前两个连通域并按 x 轴质心分配左/右:
from scipy import ndimage
comps, n = ndimage.label(pred == 2)
sizes = ndimage.sum(pred == 2, comps, range(1, n + 1))
keep = np.argsort(sizes)[::-1][:2] + 1        # 体积前二的连通域
left_mask  = np.isin(comps, [k for k in keep
                   if ndimage.center_of_mass(comps == k)[0] < comps.shape[0] / 2])
right_mask = np.isin(comps, keep) & ~left_mask
  1. SOTA 方法:训练阶段就引入解剖感知——以对称性/相对位置约束的左右肾分离头,或直接在 FLARE22 的 50 例 13 器官扩展(右肾、左肾独立标签)上做迁移微调,再回 AbdomenCT-1K 评估合并一致性。
    参考:grand-challenge 全监督基准 Dataset 页(label=2 定义);FLARE 2022 13 器官定义(Zenodo records/6362374)

⚠️ 坑点 2:期相混杂——跨期相泛化是官方实证的头号性能杀手(分类:偏倚陷阱)

问题:全库期相混合(平扫/动脉/门脉),且期相与源数据集强绑定(KiTS 增强为主、NIH 平扫为主、LiTS 门脉为主)。在单一期相数据上训练的模型换期相测试会大幅退化——论文的跨集实验显示:肾模型在 Pancreas Plus (361) 上 DSC 96.0%,换到 Spleen Plus (41) 上掉到 85.6%,差距 10 个点以上。
症状:本地验证 Dice 很高,拿到新中心数据或另一期相数据上器官边界"融化";不同批次实验结果波动无法归因;论文复现数字对不上官方基准。
解决:

  1. 简单方法:按 §3.2 源子集重建逐例期相元数据,训练与验证各期相分层抽样,报告分相成绩。
  2. 进阶方法:期相感知训练——把期相作为 one-hot 条件输入网络,或按期相分域训练 + 测试时选择最近域模型;至少保证验证集期相分布与目标部署期相一致:
PHASE_BY_SOURCE = {"KiTS": "enhanced", "NIH_Pancreas": "plain", "LiTS": "portal"}
def phase_aware_split(df):                    # df: 每例 source 列的元数据表
    tr = df.groupby("source").sample(frac=0.8, random_state=0)
    return tr.index, df.drop(tr.index).index
  1. SOTA 方法:跨期相域泛化训练——强强度增强模拟期相间 HU 分布漂移(伽马/对比度抖动),或采用测试时适应(TTA/测试时 BN 自适应);论文基准本身即为此类方法的官方赛道。
    参考:Ma et al., 2022, IEEE TPAMI, Table IV 跨集实验

⚠️ 坑点 3:spacing 跨度 17 倍——不重采样直接喂 3D 网络必翻车(分类:预处理陷阱)

问题:全库体素间距最小 (0.45, 0.45, 0.45)、最大 (1.04, 3.0, 8.0) mm,z 轴层厚从 0.45 到 8.0 mm 跨约 17 倍。各向异性这么大的体数据若被网络按各向同性假设处理,同一器官在薄层例与厚层例中的体素尺度差一个数量级。
症状:模型对薄层病例表现好、厚层病例脾/胰细碎断裂;训练 loss 正常但验证 Dice 双峰分布;显存随 batch 剧烈波动(因为体数据尺寸 31-1,026 层不等)。
解决:

  1. 简单方法:统一重采样到全库中位数 spacing (0.79, 0.79, 2.5) mm(见 §6.3 代码),影像三线性、标签最近邻。
  2. 进阶方法:z 轴各向异性感知——对 8 mm 级厚层例先沿 z 轴插值过采样再送网络;或按层厚分桶,每个桶内独立训练/推理并融合。
  3. SOTA 方法:直接用 nnU-Net v2——其自动配置会按数据集 spacing 统计选择目标 spacing、pooling 次数与 patch 大小,官方基线正是该技术栈,免调参且可复现。
    参考:官方补充材料 Supplementary Table 1(Abdomen1K-supp.pdf);openmedlab 统计页

⚠️ 坑点 4:1,112 例 ≠ 1,000 例有标注——别把整包当全标注训练集(分类:工程陷阱)

问题:数据集名"1K"指总量 1,112 例,但公开发布的四器官标注只有 1,000 例;另设 50 例隐藏测试(一家新中心,仅 Docker 提交评测)。部分下载者发现某些 Case 没有对应标签文件时误以为下载不完整。
症状:Dataset 类构建索引时对不存在的标签文件报 FileNotFoundError;统计训练集例数与论文对不上;把无标注病例喂进全监督训练静默拉低 batch 质量。
解决:

  1. 简单方法:以 labelsTr 目录实际存在的文件构建索引,做影像-标签集合求交:
from pathlib import Path
root = Path("/data/AbdomenCT-1K")
imgs = {p.name.replace("_0000.nii.gz", "") for p in (root/"imagesTr").glob("*_0000.nii.gz")}
labs = {p.stem.replace(".nii", "") for p in (root/"labelsTr").glob("*.nii.gz")}
cases = sorted(imgs & labs)                   # 交集 = 真正可监督训练的病例
  1. 进阶方法:构建显式 manifest(case_id / 影像路径 / 标签路径 / 是否有标签 / 来源子集),训练前做 schema 校验;无标签病例单独归档给半监督/伪标签管线使用(这恰好是官方半监督基准的设计意图)。
  2. SOTA 方法:把"有标注 1,000 + 无标注余量"组合成官方半监督设定——少量标注 + 大量无标注的 teacher-student 伪标签训练,论文证实 41 例标注 + 800 例无标注可逼近全监督上界(平均 DSC 90.5 → 91.5-93.6 区间)。
    参考:整包与标注规模说明(官方 README);Ma et al., 2022, IEEE TPAMI, Table 7

⚠️ 坑点 5:伪肿瘤标签是噪声标签——绝不能当肿瘤金标准(分类:标签理解)

问题:官方提供了 773 例伪肿瘤标签(663 例 + 后补 110 例),但作者明言:仅凭单期相 CT 无法确诊肿瘤(金标准需要病理),这些标签是"把所有可能肿瘤都标出来"的伪标注,仅供噪声标签学习使用。
症状:把伪标签当 ground truth 报告"肿瘤分割 Dice",论文/评审直接质疑有效性;肿瘤边界评估出现系统性虚高或虚低;下游模型把血管、囊肿误学为"肿瘤"。
解决:

  1. 简单方法:隔离目录与命名(pseudo_tumor_labels/),代码中禁止该前缀进入评估路径。
  2. 进阶方法:按噪声标签学习范式使用——co-teaching、标签平滑或在损失中引入噪声转移矩阵;把伪标签只当弱监督信号:
loss = ce_clean * 0.8 + (1 - noise_mask.float()) * ce_pseudo * 0.2
# noise_mask: 伪标签样本置 0,压低其损失权重
  1. SOTA 方法:以 FLARE 2023 的 pan-cancer 协议为参照设计泛癌分割实验(其评测与标签体系专门为此设计),或用病理确认数据做小规模可靠校准集。
    参考:官方 README 伪肿瘤标签说明(“pseudo tumor labels … noisy label learning”)

⚠️ 坑点 6:脾标签缺失 2 例——99.8% 覆盖率的静默陷阱(分类:数据泄漏 / 标签理解)

问题:1,000 例公开标注中脾只有 998 例有标签(覆盖率 99.8%)。缺失多与脾缺如/术后相关——这本身是临床信息,但代码若默认"每例必有 4 器官"就会出问题。
症状:按器官循环计算 Dice 时除以标签体素数出现除零或 NaN;某些"脾分割翻车"的病例其实是无脾病例,被误记为模型失败;类别加权统计把 2 例异常算进均值。
解决:

  1. 简单方法:评估前过滤——assert (seg == 3).sum() > 0 失败的病例归入"无脾"桶单独报告:
spleen_vox = int((seg == 3).sum())
has_spleen = spleen_vox > 0                    # False → 脾缺如/术后病例,跳过脾指标
  1. 进阶方法:把"脾是否存在"作为显式二分类头与分割头联合训练,缺失标签以 ignore_index 处理而非当背景。
  2. SOTA 方法:借鉴论文的质控思路——训练 5 折 U-Net 巡检全库,低分病例回人工复核,让标签完整性问题在训练前而非评审时暴露。
    参考:openmedlab 标签统计页(Spleen 998/1,000,99.8%)

⚠️ 坑点 7:nnUNetv1 旧格式——dataset.json 与现代流水线不兼容(分类:工程陷阱)

问题:数据集按 nnUNetv1 目录规范分发(imagesTr/labels/imagesTs + dataset.json),而当前主流的 nnU-Net v2 使用 DatasetXXX_名称/{imagesTr,labelsTr} 与不同的 dataset.json schema。直接把整包塞给 v2 会因目录名与命名约定失败。
症状:nnUNetv2_plan_and_preprocess 报找不到 Datasetxxx 或 _0000 后缀解析错误;labels 目录名对不上(部分发行包内为 labels/ 而非 labelsTr/);TrainDDL 脚本读不到模态字段。
解决:

  1. 简单方法:写 10 行迁移脚本重建 v2 目录(软链接避免复制数十 GB 数据):
import subprocess
from pathlib import Path
v2 = Path("/data/nnUNet_raw/Dataset001_AbdomenCT1K"); v2.mkdir(parents=True, exist_ok=True)
root = Path("/data/AbdomenCT-1K")
for src, dst in [(root/"imagesTr", v2/"imagesTr"), (root/"labelsTr", v2/"labelsTr")]:
    dst.symlink_to(src.resolve())              # 软链接迁移,零拷贝
  1. 进阶方法:改写 dataset.json 为 v2 schema(channel_names、labels 映射 1-4、file_ending),并显式声明肾为单一合并类(防止 v2 自动把它当两个类)。
  2. SOTA 方法:使用官方四大基准仓库内随附的基线代码(GitHub 仓库 1-FullySupervisedLearning 至 4-ContinualLearning 四个目录,Apache-2.0),它们与数据格式严格对齐,跑通后再迁移到自研框架。
    参考:openmedlab 目录结构说明;官方仓库四大基准代码目录

⚠️ 坑点 8:混合许可 + KiTS NC 条款——商用红线藏在子集里(分类:工程陷阱 / 偏倚陷阱)

问题:整包是四个上游数据集的聚合,许可并不统一:LiTS 与 MSD 子集 CC-BY-SA 4.0、NIH Pancreas CC-BY、KiTS 子集 CC-BY-NC-SA 4.0(禁商用)。把整包用于商业产品(哪怕只用其训练出的模型权重),都可能触碰 KiTS 的 NC 条款。
症状:法务审查卡在数据来源清单;论文致谢漏掉上游数据集被要求返修; redistributing 衍生数据时未遵守 CC-BY-SA 的相同方式共享条款。
解决:

  1. 简单方法:商用前剔除 KiTS 来源的 300 例重新训练,或在许可映射表中按 case_id 区分来源与许可(§3.2 的构成表可直接转成映射表)。
  2. 进阶方法:建立 dataset-level 合规清单(case_id → source → license → 商用与否),CI 中校验发布物只含允许子集:
CASE_SOURCE = {"KiTS": "CC-BY-NC-SA", "LiTS": "CC-BY-SA", "MSD_Spleen": "CC-BY-SA",
               "MSD_Pancreas": "CC-BY-SA", "NIH": "CC-BY", "NJU": "研究用途"}
COMMERCIAL_OK = {s for s, l in CASE_SOURCE.items() if "NC" not in l}
assert case_source_of(model_train_cases) <= COMMERCIAL_OK
  1. SOTA 方法:模型权重发布时附"训练数据-许可-使用限制"三列声明卡(本页 §10 的做法),并优先用 FLARE 系列协议明确研究用途边界;对外分发衍生数据遵守 CC-BY-SA 的署名-相同方式共享。
    参考:Ma et al., 2022, IEEE TPAMI, §3.1 各源许可原文;官方仓库 LICENSE(Apache-2.0,仅覆盖代码)

§6.6 数据增强策略

操作 安全性 说明
左右镜像翻转 ✅ 强烈推荐 本数据集特有红利:肾已合并左右标签,左右翻转不引入标签语义错误(在左右肾分立的数据集上同样成立,因腹部四器官大体对称)
强度缩放 / 伽马扰动 ✅ 推荐 模拟厂商与期相间的 HU 漂移,直接缓解坑点 2
高斯噪声 / 模糊 ✅ 推荐 论文明确把噪声列为挑战病例来源,增强可提升鲁棒性
z 轴重采样抖动 ✅ 可用 缓解 0.45-8.0 mm 层厚跨度
大角度各向异性旋转 ❌ 危险 破解解剖先验,z 轴大旋转会制造现实中不存在的层面形态
弹性形变(大幅值) ❌ 危险 器官形态失真,尤其胰腺这类细长结构
HU 窗宽窗位随机剧变 ❌ 危险 CT 的 HU 有物理标定,破坏标定的增强会教会模型错误密度语义

§6.7 模型推荐

模型 适用场景 推荐理由
nnU-Net v2 首选基线 / 生产 AbdomenCT-1K 官方基线同栈;自动配置免调参;论文已证实其强基线地位
官方四大基准代码 严格可比研究 与官方划分、隐藏测试协议严格对齐(Apache-2.0)
nnU-Net + teacher-student 伪标签 半监督赛道 官方半监督基线即 3D nnU-Net 双模型方案(LB 90.5% → UB 93.6% 平均 DSC)
2D nnU-Net / 轻量 UNet 变体 弱监督与低资源 官方弱监督基线用 2D nnU-Net;30% 切片标注即可让肝、脾平均 DSC 超 90%
FLARE 系列优胜方案 刷榜 / 前沿 FLARE 2021-2023 三届挑战赛沉淀的公开方案面向 13 器官与泛癌扩展

§6.8 硬件需求

阶段 显存建议 说明
2D nnU-Net / 弱监督 ≥ 8 GB 2D 切片训练,入门可行
3D nnU-Net fullres ≥ 24 GB 官方基线 3D 配置;显存不足时回退 3D lowres
推理 / 滑动窗口 ≥ 8 GB 半精度 + 滑窗即可
磁盘 ≥ 100 GB 整包解压 + 预处理缓存 + nnU-Net 计划产物

§6.9 评估指标代码

论文官方指标为 DSC 与 NSD(归一化表面 Dice),两者必须同时报告:

# ============================================================
# DSC 与 NSD(tolerance=1mm)计算
# ============================================================
# 输入:pred, gt —— 0-4 的整数标签数组;organ —— 目标标签值
import numpy as np
from scipy import ndimage

def dice(pred, gt, organ):
    p, g = pred == organ, gt == organ
    denom = p.sum() + g.sum()
    return 1.0 if denom == 0 else 2.0 * (p & g).sum() / denom

def nsd(pred, gt, organ, spacing_mm, tol_mm=1.0):
    p, g = pred == organ, gt == organ
    if p.sum() == 0 and g.sum() == 0:
        return 1.0
    vox_surf_p = p & ~ndimage.binary_erosion(p)
    vox_surf_g = g & ~ndimage.binary_erosion(g)
    dist_pg = ndimage.distance_transform_edt(~vox_surf_p, sampling=spacing_mm)
    dist_gp = ndimage.distance_transform_edt(~vox_surf_g, sampling=spacing_mm)
    return ((dist_gp[vox_surf_p] <= tol_mm).sum() + (dist_pg[vox_surf_g] <= tol_mm).sum()) \
           / (vox_surf_p.sum() + vox_surf_g.sum())

def evaluate(pred, gt, spacing_mm):
    return {o: {"DSC": dice(pred, gt, o), "NSD": nsd(pred, gt, o, spacing_mm)}
            for o in range(1, 5)}                 # 1 肝 / 2 肾 / 3 脾 / 4 胰

注意脾缺失病例(坑点 6):gt 与 pred 均无脾时按完全一致处理(返回 1.0),仅 gt 无脾时把该例从脾均值中剔除。

验证集批量汇总评估的完整驱动代码:

# ============================================================
# 批量评估:逐例 DSC/NSD → 按器官汇总(排除脾缺如病例)
# ============================================================
# 输入:pred_dir 与 gt_dir 下同名 .nii.gz;输出:每器官 DSC/NSD 均值
import numpy as np, nibabel as nib, json
from pathlib import Path

def run_eval(pred_dir: str, gt_dir: str) -> dict:
    summary = {o: {"dsc": [], "nsd": []} for o in range(1, 5)}
    for gt_p in sorted(Path(gt_dir).glob("*.nii.gz")):
        case = gt_p.name
        gt = np.asarray(nib.load(gt_p).dataobj)
        pred = np.asarray(nib.load(Path(pred_dir) / case).dataobj)
        sp = nib.load(gt_p).header.get_zooms()[:3]
        for o in range(1, 5):
            if o == 3 and (gt == 3).sum() == 0:    # 坑点 6:脾缺如例不计入脾均值
                continue
            r = evaluate(pred, gt, sp)[o]
            summary[o]["dsc"].append(r["DSC"])
            summary[o]["nsd"].append(r["NSD"])
    return {o: {"DSC": float(np.mean(v["dsc"])), "NSD": float(np.mean(v["nsd"])),
                "n": len(v["dsc"])} for o, v in summary.items()}

# with open("metrics.json", "w") as f:
#     json.dump(run_eval("/pred", "/gt"), f, indent=2)

§6.10 MLOps 笔记

  • 锁定数据快照:整包 2023-11-27 后冻结,但分三部分下载时务必校验文件完整性(Zenodo 提供校验和),并在实验记录中写明三部分的具体版本号。
  • manifest 优先:建立 case_id → 影像/标签路径 → 源子集 → 期相 → 许可 的 manifest 表(坑点 2、8 的基础),所有划分、评估、合规检查都从 manifest 派生。
  • 双指标纪律:CI 中固定输出 DSC 与 NSD,只报 DSC 会系统性掩盖边界退化(论文核心发现)。
  • 隐藏集提交纪律:官方隐藏测试只允许 Docker 提交,本地绝不能对隐藏集调参;提交前用全监督基准的固定划分做预演。
  • 模型卡随行:发布模型时附训练数据来源与许可声明(见坑点 8),本页 §10 即可作模板。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
疾病谱偏倚 语料以肝/肾/胰腺肿瘤与癌症队列为主(LiTS/KiTS/MSD/NIH/南京 50 例),健康腹部占比低 高 增强数据中加入正常腹部队列;部署前做本地健康人群校验
期相偏倚 期相与源子集强绑定(KiTS 增强、NIH 平扫、LiTS 门脉),期相分布不均衡 高 分相评估(坑点 2);期相感知训练
中心与设备偏倚 12 家中心、多厂商,但中心名单与设备分布未逐例公开 中 按源子集近似重建元数据;外部验证必备
器官规模不平衡 胰腺中位体积 85 cm³ 仅为肝 1,573 cm³ 的约 5.4%,类别体素极不均衡 中 前景优先采样(§6.4);按器官分别报告指标
肾标签简化 左右肾合并为单一标签,丢失解剖侧别信息 中 连通域后处理拆分(坑点 1);混用数据集时显式对齐语义
标签来源偏置 Plus 子集标注起始于模型预标注,存在"模型看见什么人工补什么"的潜在锚定 低-中 资深医师逐例终审 + 5 折模型巡检已缓解;胰腺高方差提示仍有残余

§7.2 标注质量评估

标注质量的正面证据:三层质控协议(事前协议统一、事中资深终审、事后模型巡检);南京大学 50 例双人独立标注的一致性达到肝 98.4、肾 98.7、脾 98.6、胰 93.8(DSC)。局限证据:一致性数字仅来自 50 例南京子集;其余 Plus 子集的标注由"模型预标注 + 人工精修"获得,未提供逐例双人一致性;胰腺的标准差(±7.78)显著大于其他器官,说明细长结构边界的主观性未被完全消除。使用建议:把 98+ / 93.8 这组数字当作你自建标注团队的对标线,而不是把数据集标签当作无误差真值。

§7.3 泛化性分析

场景 失效风险 证据
跨医疗中心 高 论文四组跨集实验:训练集与测试集来自不同中心时性能普遍退化;官方全监督基准隐藏测试即来自一家新中心
跨期相 高 肾模型 DSC 96.0%(Pancreas Plus)→ 85.6%(Spleen Plus),差距 10 个点以上
未见严重疾病 高 含大肾肿瘤、肝内胆管扩张等挑战病例在半监督实验中仍难校正(论文图 9);外部综述报告 nnU-Net 在 MSD+80 肿瘤例训练后测 50 难例 + 50 随机例 DSC 降至 78.10%
噪声与低质量图像 中-高 论文明确把噪声列为未解决情形之一(图 7 挑战病例)
边界精度(NSD) 中-高 肝 NSD 在不同测试集间波动 77.4%-92.1%、脾 86.0%-97.0%,而同期 DSC 稳定 90%+——Dice 虚高现象被官方实证

把上表翻译成可操作的三个结论:

  1. "DSC 高"不再是安全声明:官方已经证明 DSC 与 NSD 可以在同一个模型上背离,任何只报 DSC 的泛化性结论都应被追问 NSD。
  2. 难度排序指导验证集设计:胰腺 > 肾 > 脾 > 肝的失效梯度意味着,验证集里胰腺与病变病例的占比决定了你的评测能否暴露真实弱点——全用典型病例的验证集是自我安慰。
  3. 跨域实验应是标配:复刻论文的"一源训练、他源测试"范式只需几行划分代码(§5.2),但能把方法对比的说服力提升一个档次;只在同源随机划分上做消融的研究,其结论对部署场景的外推性有限。

§7.4 伦理考量

数据集整合自已公开发布的挑战赛数据(LiTS、KiTS19、MSD、NIH Pancreas 均为社区认可的公开研究数据集,原始采集均含各自伦理审批与去标识化流程),加上南京大学新采集队列。二次使用需遵守两层义务:填写官方数据使用跟踪表单(真实姓名/机构/邮箱);遵守各源数据集许可(尤其 KiTS 的 NC-SA 条款)。数据集不含患者身份信息,NIfTI 分发中不携带姓名、检查号或日期等敏感字段。研究用途之外的部署(临床决策支持)需另行前瞻性验证与监管审批。

§7.5 公平性

官方未公布年龄、性别、种族等人口学分布,无法对模型在不同人群上的公平性做数据集内审计。已知限制:语料以欧美与中国的肿瘤/癌症患者为主,其他地域与人种的腹部 CT 分布代表性未知。若产品面向多元人群,必须补充本地化外部验证,并在模型卡中明确该局限。

§7.6 数据漂移

多中心、多厂商、多期相构成使"漂移"在数据集内部就已经被制度化——这正是它的设计意图。对新使用者,漂移风险主要体现在:扫描设备与采集协议的年代演进(上游数据集采集自 2010 年代)、重建算法差异导致的纹理漂移、以及本地部署机构与 12 家源中心在扫描协议上的差异。建议把"本地数据 vs AbdomenCT-1K 的分布差异审计"(期相构成、spacing 分布、HU 直方图)作为部署前置检查。

§7.7 DAIMS 数据可用性评估

# 检查项 状态 说明
1 宽格式 ⚠️ 3D 影像数据集,无宽表格概念;以体数据完整性(1,112 例影像-标签成对)替代评估
2 唯一标识 ✅ Case_00001-01112 全局唯一,文件名即主键
3 特殊字符 ✅ 文件名纯 ASCII 数字编号,跨平台无编码风险
4 重复行 ⚠️ 影像集无表格重复行概念;源数据集间患者级重叠未官方披露,跨库混用需自查
5 缺失编码 ✅ NIfTI 无表格缺失值问题;器官缺如表现为标签体素为 0,语义清晰
6 标签标识 ✅ 标签值 1-4 与器官映射在基准页与 dataset.json 中明确定义
7 罕见类分组 ⚠️ 脾覆盖 99.8%(2 例缺如);胰腺体素占比极小(中位 85 cm³),无罕见类分组字段
8 偏倚评估 ✅ 论文以四大基准 + 跨集实验系统性量化中心/期相/疾病偏倚
9 数据字典 ✅ dataset.json + 官方 README + 补充材料表 1 构成完整字典
10 信息性缺失解释 ✅ 脾 2 例缺失在官方统计中明示;隐藏测试与无标注例的性质均有官方说明
11 设备记录 ✅ 补充材料含扫描仪与 HU 分布;南京子集设备(GE 多排螺旋)明示
12 共线性 ⚠️ 表格概念不适用于影像数据;体数据间无共线性问题
13 编码映射 ✅ 0 背景 / 1 肝 / 2 肾(左右合并)/ 3 脾 / 4 胰,映射唯一且文档化
14 时间戳处理 ❌ 影像级采集时间戳未随包发布,无法做时间维度审计
15 划分建议 ✅ 官方四大基准划分齐全,隐藏测试纪律明确
16 泄漏讨论 ⚠️ 论文聚焦分布外泛化;与上游挑战赛数据的病例级重叠需使用者自行核对(§5.3)
17 标签分布 ✅ 官方提供器官体积统计与期相分布(论文图 4、补充材料)
18 测量偏倚 ✅ 提供双人标注者间一致性(DSC/NSD),并公开标注协议
19 外部验证建议 ✅ 论文跨集实验即外部验证范例;§7.8 汇总外部证据
20 版本记录 ⚠️ 无正式版本号体系;演进散见 README 更新(伪肿瘤标签 663→773、12→13 器官扩展)
21 预处理脚本 ✅ 四大基准基线代码全部开源(Apache-2.0),含 nnU-Net 配置
22 合规要求 ⚠️ 混合 CC 许可 + KiTS NC 条款 + 跟踪表单,使用者需自行核算商用边界
23 多模态对齐 ✅ 单模态(CT)+ 同名成对标签,影像-标签空间对齐由 NIfTI 仿射保证
24 去标识化 ⚠️ 上游数据集已完成去标识且 NIfTI 不含 PHI,但本数据集层未公布统一去标识协议文档

DAIMS 评分:19 / 24

评分解读:良好——数据字典、官方划分、标签映射、偏倚评估与开源基线全部到位,属于影像数据集中治理水平的头部梯队;失分集中在影像数据集的天然盲区(无时间戳、无人口学字段)与治理滞后(无正式版本号、混合许可的合规复杂度、去标识化协议未文档化)。

对你意味着什么:可以直接把它当作多器官分割的"可信默认数据集"——标识、标签语义、划分与基线都能开箱即用,不需要清洗兜底。但有四件事必须自己做:其一,建 manifest 重建期相与来源元数据(数据集不给你,坑点 2);其二,核对与上游挑战赛数据的重叠以杜绝泄漏(§5.3);其三,把"混合许可"写进发布物合规清单,商用前剔除或替换 KiTS 子集(坑点 8);其四,评估永远双报 DSC 与 NSD,并把南京 50 例的一致性数字作为你标注质量的对标线。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
MSD 子集内互测 MSD(复用训练) 胰腺分割 DSC 86.10% 内部基线 nnU-Net 仅用胰腺标注训练的成绩锚点
MSD 四器官训练 → 肝肿瘤子集测试 同上 多器官分割 DSC 90.10% +4.0 个点 vs 单器官 多器官联合监督反而提升泛化
MSD + 40 肝肿瘤 + 40 肾肿瘤 → 50 难例 + 50 随机例 同上 多器官分割 DSC 78.10% -8.0 个点 加入肿瘤病例后,难例测试集暴露严重退化
南京大学 50 例(结肠/胰腺/肝癌) 南京大学 多器官分割 DSC 82.50%(监督)/ 82.30%(半监督) -3.6 个点 vs 86.10% 未见癌症分布下泛化缺口稳定存在

(以上数字源自论文的大规模实验,经同行评审综述转述核对;各实验训练/测试集不同,数字不可横向直接比较。)


§8 基准性能与生态

§8.1 论文官方基准成绩

赛道 设置 平均 DSC 平均 NSD 来源
半监督 Lower Bound 仅 41 例标注 90.5±13 80.7±16 Ma et al., 2022, IEEE TPAMI. DOI 10.1109/TPAMI.2021.3100536
半监督 Subtask 2 41 标注 + 无标注子集 2 91.5±12 81.8±15 同上
半监督 Upper Bound 全量标注 93.6±8.3 84.7±13 同上
弱监督(30% 切片标注) Spleen Plus 41 例 × 30% 稀疏标注 肝、脾平均 DSC 超 90% — 同上
持续学习 四单器官集顺序训练 → 50 例测试 见论文 Table(含遗忘度量) — 同上
全监督 官方基准 + 50 例隐藏测试 grand-challenge 排行榜 — 基准评测服务器

⚠️ 数值不可直接比较的原因:四个基准的训练集、测试集、标注比例与评测协议各不相同(弱监督测 50 难例 + 50 随机例,持续学习测分布外病例),同一赛道内部才可比;跨赛道比较会得出错误结论。

§8.2 SOTA 总结与选型建议

论文发布时 nnU-Net 即为跨集实验与四大基准的统一基线,结论延续至今:想要一个"不丢人"的起点,用 nnU-Net v2 直接训练;想要发表论文,在官方四大基准上与 nnU-Net 系改进比较;想要真实临床泛化证据,加做跨集实验与 NSD 报告。胰腺始终是最难器官(所有实验中成绩最低、方差最大),把它当作模型改进的试金石最有效。

按目标的选型路径:

你的目标 建议路径 关键注意点
快速拿到可用模型 nnU-Net v2 全量 1,000 例训练 处理好坑点 1/3/7 的格式与标签问题即可
发方法论文 官方四大基准之一 + 与基线可比协议 严格按基准划分,隐藏集只在最后提交一次
做泛化/鲁棒性研究 复刻论文四组跨集实验 + 自定义域划分 用 NSD 而非仅 DSC 下结论
低标注成本落地 半监督/弱监督基准方案迁移 41 例标注 + 800 例无标注可达 91.5% 平均 DSC 的证据值得复用
预训练/基础模型 全量四器官语料自监督预训练 排除伪肿瘤标签路径污染;许可核查(坑点 8)

§8.3 评测协议

指标:DSC 与 NSD(边界容差下的归一化表面 Dice)双指标;提交:Docker 镜像打包算法提交至官方评测服务器(全监督基准隐藏测试 50 例来自一家新中心);注册:grand-challenge 基准要求真实姓名、单位与单位邮箱。半监督与弱监督赛道另外关注标注/算力资源效率(FLARE 2022 起将 GPU/CPU 资源曲线纳入评测)。

数据集 关系 一句话定位
AMOS-CT 并行基准 多期相多中心、器官更多(15),无多范式基准体系
FLARE22 训练集 官方扩展 AbdomenCT-1K 的 50 例 13 器官子集 + MSD 胰腺标注
BTCV / Synapse 经典小集 13 器官 30 例,入门与冒烟测试
LiTS / KiTS19 / MSD / NIH Pancreas 上游 六源构成(§3.2),单器官标注,许可各异
TotalSegmentator 补位 覆盖 104 个解剖结构的大规模分割模型与数据,器官粒度更细但研究范式不同

§8.5 关键论文 Top 7

  1. Ma et al., 2022, IEEE TPAMI 44(10):6695-6714. DOI 10.1109/TPAMI.2021.3100536 —— 数据集本体与四大基准;提出并回答"腹部器官分割是否已解决",实证 DSC 与 NSD、同分布与分布外的评价鸿沟。
  2. Isensee et al., 2021, Nature Methods 18:203-211 —— nnU-Net 自配置框架;AbdomenCT-1K 官方基线技术栈,证明"免手调的 U-Net 流水线"难以被轻言超越。
  3. Bilic et al., 2019, arXiv:1901.04056 —— LiTS 肝肿瘤分割挑战赛论文;AbdomenCT-1K 的 201 例门脉期上游语料来源。
  4. Heller et al., 2021, Medical Image Analysis 67:101821 —— KiTS19 肾肿瘤分割挑战赛论文;300 例增强扫描上游语料,其 CC-BY-NC-SA 许可决定整包商用边界。
  5. Simpson et al., 2019, arXiv:1902.09063 —— Medical Segmentation Decathlon 白皮书;Spleen(61 例)与 Pancreas(420 例)两个上游子集的出处。
  6. Roth et al., 2016, The Cancer Imaging Archive —— NIH pancreas-CT 数据描述(配套 Roth et al., 2015, MICCAI DeepOrgan 算法论文);80 例平扫为主的早期胰腺库。
  7. Ma et al., 2022, Zenodo. DOI 10.5281/zenodo.6362374 —— FLARE 2022 挑战赛设计文档;把 AbdomenCT-1K 的四器官体系扩展为 13 器官半监督协议并纳入资源效率评测。

§8.6 社区活跃度

GitHub 官方仓库约 250 stars、35 forks(截至 2026-09),持续学习与弱监督基准的 grand-challenge 主页保持可访问;FLARE 2021-2023 三届 MICCAI 挑战赛构成其生态主干。仓库最后一次实质性推送为 2023-11-27,此后进入冻结维护状态——Issues 数量少(个位数开放),社区讨论主要流向 FLARE 系列与 grand-challenge 论坛。

§8.7 生态快照

资源 类型 链接 活跃度(截至 2026-09) 推荐理由
JunMa11/AbdomenCT-1K 官方代码仓库 https://github.com/JunMa11/AbdomenCT-1K 约 250 stars;2023-11 起冻结 四大基准基线代码 + 全部下载入口
全监督基准主页 评测平台 https://abdomenct-1k-fully-supervised-learning.grand-challenge.org/ 可访问 隐藏测试 + Docker 提交
半监督基准主页 评测平台 https://abdomenct-1k-semi-supervised-learning.grand-challenge.org/ 可访问 少标注赛道
弱监督基准主页 评测平台 https://abdomenct-1k-weaklysupervisedlearning.grand-challenge.org/ 可访问 稀疏标注赛道
持续学习基准主页 评测平台 https://abdomenct-1k-continual-learning.grand-challenge.org/ 可访问 增量学习赛道
Zenodo 整包 数据镜像 https://zenodo.org/records/5903099(Part 1) 长期存档 免表单直链下载
FLARE22 扩展包 数据镜像 https://zenodo.org/record/7860267 31.6 TB 累计下载 50 例 13 器官,1.5 GB 快速上手
openmedlab 资源页 社区文档 https://github.com/openmedlab/Awesome-Medical-Dataset/blob/main/resources/AbdomenCT-1K.md 持续维护 中文统计信息最全的第三方整理

§9 相关资源与引用

§9.1 官方资源索引

§9.1b 可视化与标注工具

工具 用途 说明
ITK-SNAP 标注核查 / 可视化 官方标注团队使用的工具(3.6 版本);可视化标签:红=肝、绿=肾、蓝=脾、黄=胰
3D Slicer 三维重建与教学 加载 NIfTI 后用 Threshold/SegmentEditor 检查标签完整性
SimpleITK / nibabel 程序化读取 §6 代码示例的基础库
nnU-Net v2 训练流水线 需按坑点 7 迁移目录格式

§9.2 BibTeX 引用

@article{ma2022abdomenct,
  title   = {AbdomenCT-1K: Is Abdominal Organ Segmentation a Solved Problem?},
  author  = {Ma, Jun and Zhang, Yao and Gu, Song and Zhu, Cheng and Ge, Cheng
             and Zhang, Yichi and An, Xingle and Wang, Congcong and Wang, Qiyuan
             and Liu, Xin and Cao, Shucheng and Zhang, Qi and Liu, Shangqing
             and Wang, Yunpeng and Li, Yuhui and He, Jian and Yang, Xiaoping},
  journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
  volume  = {44},
  number  = {10},
  pages   = {6695--6714},
  year    = {2022},
  doi     = {10.1109/TPAMI.2021.3100536}
}

@misc{ma2022flare22,
  title        = {Fast and Low-resource Semi-supervised Abdominal Organ Segmentation in CT},
  author       = {Ma, Jun},
  year         = {2022},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.6362374},
  howpublished = {\url{https://zenodo.org/records/6362374}}
}

@misc{junma2020abdomenct1k,
  title  = {AbdomenCT-1K (Official Repository)},
  author = {Ma, Jun and AbdomenCT-1K Team},
  year   = {2020},
  note   = {Apache-2.0. \url{https://github.com/JunMa11/AbdomenCT-1K}}
}

§9.3 引用指南

引用义务三件套:使用数据集本体时引用 TPAMI 论文(上面的第一个 BibTeX);使用 13 器官扩展包时同时引用 MSD 论文(arXiv:1902.09063)与 TPAMI 论文(Zenodo 7860267 官方要求);使用 FLARE22 协议时引用 Zenodo 6362374。因数据聚合自五个上游数据集,正式发表时建议同时在 Methods 中致谢 LiTS、KiTS19、MSD 与 NIH Pancreas 的原始组织者(官方 README 亦有此呼吁)。

§9.4 上手路径建议

按背景与目标的三条典型路径:

背景 第一周 第二至三周 之后
深度学习新手 下载 FLARE22 扩展包(1.5 GB),用 §6.1 代码读取并可视化 跑通 §6.3-§6.4 的预处理与 DataLoader,训练 2D 分割基线 用 §6.9 指标代码建立评估闭环,再考虑 3D
分割算法研究者 申请整包,跑通 nnU-Net v2(坑点 7 迁移) 在全监督基准划分下复现基线,双指标报告 选定四大基准之一深耕,最后提交隐藏测试
临床/产品团队 完成 §5.3 泄漏自查 + §7.7 合规清单 用自有数据与 AbdomenCT-1K 做分布差异审计(期相/spacing/HU) 按 §2.5 场景表定位补强环节,规划本地验证

§10 AI 使用声明卡

§10.1 AI 模型列表

本页面由千方病案医学编辑部在大语言模型(代码生成、文本起草与结构化整理能力)辅助下完成生产;信息检索与事实核验使用实时网络搜索工具(检索窗口截至 2026-09)。

§10.2 AI 参与范围

AI 参与:资料检索与初步归纳、章节起草、代码示例编写、表格整理、JSON-LD 序列化。人工参与:事实核对(对照 FACTS 事实清单与原始论文)、医学背景审核、数据工程审核、免责声明与合规审查、最终发布决定。

§10.3 输入来源列表

  1. Ma et al., 2022, IEEE TPAMI 44(10):6695-6714. DOI 10.1109/TPAMI.2021.3100536
  2. Ma et al., 2020, arXiv:2010.14808(论文预印本与 v2 全文)
  3. JunMa11/AbdomenCT-1K 官方 GitHub 仓库(Apache-2.0,README 与四大基准代码目录)
  4. AbdomenCT-1K: Fully Supervised Learning, grand-challenge.org Dataset 页
  5. MICCAI FLARE22 Challenge Dataset, Zenodo. DOI 10.5281/zenodo.7860267
  6. Ma et al., 2022, Fast and Low-resource Semi-supervised Abdominal Organ Segmentation in CT, Zenodo. DOI 10.5281/zenodo.6362374
  7. PubMed PMID 34314356(TPAMI 版本索引)
  8. NASA ADS 引用记录 2022ITPAM…44.6695M(卷期页码核证)
  9. ACM Digital Library 条目 10.1109/tpami.2021.3100536(出版日期与作者机构)
  10. Semantic Scholar API(引用次数 484,截至 2026-09)
  11. openmedlab/Awesome-Medical-Dataset AbdomenCT-1K 资源页(影像统计与标签分布)
  12. NTNU 开放研究存档 postprint(基准成绩表核证)
  13. Springer Nature Link:Deep learning for pancreas segmentation systematic review(外部验证数字交叉核证)
  14. HuggingFace CADS 数据集卡(Zenodo 三部分下载链核证)
  15. 清华大学开源镜像与 Gitee 社区镜像(分发渠道核证)

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
§0 免责声明与合规提示 千方病案医学编辑部 逐字比对固定文案 + AbdomenCT-1K 许可适配复核 ✅ 已通过/已验证
§1 数据集概览与时间轴 千方病案医学编辑部 对照 FACTS 事实清单逐条核验日期与规模 ✅ 已通过/已验证
§2 医学背景与编码映射 千方病案医学编辑部(医学编辑) ICD-11/SNOMED 编码与器官病变谱复核 ✅ 已通过/已验证
§3-§4 数据规格与结构 千方病案医学编辑部(数据工程) 对照论文原文与官方统计页核验全部数字 ✅ 已通过/已验证
§6 代码与 8 个坑点 千方病案医学编辑部(数据工程) 代码逻辑走查 + 坑点与官方文档/论文证据对齐 ✅ 已通过/已验证
§7-§8 质量评估与基准 千方病案医学编辑部 基准数字与论文表格逐项比对 ✅ 已通过/已验证
§C JSON-LD 结构化数据 千方病案医学编辑部(数据工程) 与 frontmatter schema_org 一致性校验 ✅ 已通过/已验证

§10.5 AI 生成章节标注

以下章节由 AI 辅助起草并经人工审核:§1 概览、§2 医学背景、§3-§4 数据规格与结构、§5 划分建议、§6 AI 就绪指南(含代码)、§7 质量评估、§8 基准与生态、§9 资源与引用、§C JSON-LD。§0 免责声明为编辑部固定文案,人工逐字复核。

§10.6 最后人工审核日期

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

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


相关数据集导航

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

  • nih-pancreas-ct — 共享标签:医学影像 / CT / 医学图像分割
  • word — 共享标签:医学影像 / CT / 医学图像分割
  • totalsegmentator — 共享标签:医学影像 / CT / 医学图像分割
  • han-seg — 共享标签:医学影像 / CT / 医学图像分割
  • medical-decathlon — 共享标签:医学影像 / CT / 医学图像分割
  • mosmeddata — 共享标签:医学影像 / CT / 医学图像分割
  • segthor — 共享标签:医学影像 / CT / 医学图像分割
  • ctspine1k — 共享标签:医学影像 / CT / 医学图像分割
  • pddca — 共享标签:医学影像 / CT / 医学图像分割
  • imagecas — 共享标签:医学影像 / CT / 医学图像分割

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

返回 AI-Ready 数据集