HaN-Seg — 头颈危及器官 CT/MR 多模态分割 AI-Ready Wikipedia

56 例配对 CT/MR 的 30 类头颈 OAR 分割基准,附挑战赛全链路

来源 University of Ljubljana & Institute of Oncology Ljubljana(Zenodo 托管) url: https://zenodo.org/records/7442914发布时间: 2026-09-16最后更新: 2026-09-25 阅读 44
HaN-Seg — 头颈危及器官 CT/MR 多模态分割 AI-Ready Wikipedia

信息速览

数据集名称HaN-Seg — 头颈危及器官 CT/MR 多模态分割 AI-Ready Wikipedia
数据类型56 例配对 CT/MR,30 类 OAR 二值掩码,4.9 GB NRRD,开放下载 CC BY-NC-ND
规模56 名头颈放疗患者
接入方式University of Ljubljana & Institute of Oncology Ljubljana(Zenodo 托管) url: https://zenodo.org/records/7442914
AI 就绪度

数据集封面

HaN-Seg — 头颈危及器官 CT/MR 多模态分割 AI-Ready Wikipedia


INFOBOX

字段 内容
数据集名称 HaN-Seg(头颈危及器官 CT/MR 分割数据集)
英文全称 HaN-Seg: The Head and Neck Organ-at-Risk CT & MR Segmentation Dataset
别名/简称 HaN-Seg Challenge Dataset、HaN-Seg 2023
疾病分类(ICD-11) 2B62 唇或口腔恶性肿瘤、2B6B 鼻咽恶性肿瘤、2B6D 口咽恶性肿瘤、2B6F 下咽恶性肿瘤、2C22 喉恶性肿瘤、2B67 唾液腺恶性肿瘤、2D10 甲状腺恶性肿瘤
SNOMED CT 解剖结构映射:Brain structure 12738006、Mandible structure 683003、Parotid gland structure 9694004、Optic nerve structure 76504004、Eyeball structure 81745001、Esophageal structure 32849002、Thyroid structure 59441001、Laryngeal structure 54066008
数据模态 CT(对比增强)+ MR(T1 加权),同一患者配对
AI 任务类型 3D 多模态医学图像分割(30 类危及器官 OAR)
样本总数 56 例(42 例公开训练 + 14 例保留测试),每例含 1 组 CT+MR 配对
数据大小 4.9 GB(Zenodo 压缩包,官方记录)
数据格式 NRRD(图像与二值掩码)+ CSV(器官与人口学元数据)
许可证 CC BY-NC-ND 4.0
访问级别 开放(42 例训练集直接下载);14 例测试集竞赛专用(Grand Challenge 平台 Docker 提交)
DUO 标签 NCU(非商业使用;附加 ND 无演绎条款)
语言 英语(文档与元数据)
首发日期 2023-01-05(Zenodo Version 1.0)
最后更新 2023-01-05(Zenodo Version 1.0,此后无新版本)
发布机构 卢布尔雅那大学电气工程学院、卢布尔雅那肿瘤研究所、哥本哈根大学计算机科学系
官方主页 Grand Challenge 挑战赛平台
下载地址 Zenodo 记录 7442914
DOI 10.1002/mp.16197(数据集论文);10.5281/zenodo.7442914(数据)
引用次数 115+(Google Scholar,数据集论文,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方划分与 nnU-Net baseline 齐备,但 NRRD 需自行转换为 NIfTI、MR 模态无掩码、保留测试集须经平台提交评估
页面状态 published

§0 E-E-A-T 审核与免责

本页面由千方病案医学编辑部按 E-E-A-T(经验、专业、权威、可信)框架组织,事实性内容均标注公开来源,关键数字可回溯至官方 Zenodo 记录、Grand Challenge 挑战赛平台与同行评审论文。数据工程审核者(千方病案医学编辑部交叉审核)医疗 AI 数据工程师,审核范围:§4 数据结构与 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 与 8 个坑点。医学审核者(千方病案医学编辑部交叉审核)审核范围:§2 医学背景(头颈肿瘤放疗与危及器官勾画)、§7 偏倚分析。审核日期:2026-09-05。

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。HaN-Seg 采用 CC BY-NC-ND 4.0 许可发布,允许非商业用途的原始共享,禁止演绎作品与商业使用,使用数据集必须引用官方数据集论文。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? HaN-Seg 是一个专门面向头颈部放射治疗的多模态分割公开数据集:56 名患者,每人同时有一张对比增强 CT 和一张 T1 加权 MR,并附最多 30 类危及器官(Organs at Risk,OAR)的人工逐像素勾画掩码。其中 42 例(Set 1)作为训练集在 Zenodo 完全公开,14 例(Set 2)作为测试集保留在 Grand Challenge 平台上用于统一评测。

为什么重要? 放疗医生在开始放疗计划前必须逐层手工勾画脑干、腮腺、视神经等几十个正常器官,耗时长且医生之间差异大。头颈部结构密集、影像隐私敏感,公开的多模态配对数据极少——HaN-Seg 是第一个同时提供配对 CT+MR 与大规模 OAR 掩码的挑战赛级数据集,冠军方法(DSC 76.9%)甚至超过了同数据集上人类医生之间的一致性。

你能用它做什么? 训练和对比 CT+MR 双模态自动勾画模型、研究配准缺失下的多模态融合策略、把 42 例公开数据与 Zenodo 官方 nnU-Net baseline 及挑战赛排行对接,或将其作为外部验证集检验你模型在头颈放疗场景的泛化能力。

一句话定位:它把"头颈放疗自动勾画"从论文里的自定义实验,变成了有公开训练数据、保留测试集、统计排名协议与人类一致性基线的标准化问题。

§1.1 摘要

HaN-Seg 由卢布尔雅那大学电气工程学院影像技术实验室与卢布尔雅那肿瘤研究所联合构建,2023-01-05 在 Zenodo 发布 Version 1.0(数据集论文发表于 Medical Physics 2023;50(3):1917-1927)。56 名患者均因头颈癌在卢布尔雅那肿瘤研究所接受图像引导放疗,每位患者在定位阶段同时采集对比增强 CT 与 T1 加权 MR。勾画由放疗技师或放射肿瘤医师逐层人工完成,再由医学影像研究者统一整理(curate),形成最多 30 类 OAR 的 CT 坐标系二值掩码(NRRD 格式,器官命名遵循 AAPM 规范)。团队按年龄、性别与标注类型分布分层随机划分为 42 例训练集与 14 例测试集,并同步在 Grand Challenge 平台发起 HaN-Seg 2023 挑战赛(2023-03 至 2024-02):23 支队伍注册、7 支队伍提交最终方法,全部基于 U-Net 架构,冠军通过 MR-to-CT 刚性配准加网络入口级双模态拼接取得 DSC 76.9%、HD95 3.5 mm(挑战赛报告发表于 Radiotherapy and Oncology 2024)。数据集配套论文体系完整:可变性分析(vOARiability,Medical Physics 2024)、多模态分割模型(MICCAI 2023)与扩散模型 MR-to-CT 转换(SPIE Medical Imaging 2025)。

§1.2 战略价值分析

多模态配对稀缺性维度:在放射治疗影像领域,绝大多数公开数据集只提供 CT(如 PDDCA、StructSeg2019)或只提供 MR(如 RT-MAC),且头颈部影像因面部可识别特征带来的隐私顾虑,公开共享规模长期受限。HaN-Seg 用"同一患者、同一定位 session 的 CT+MR 配对"填补了这一空白,使得跨模态融合(输入级拼接、跨模态注意力、MR-to-CT 合成)成为可以在同一基准上公平比较的研究问题,而非各论文自选数据的不可比实验。

基准生态完整性维度:该数据集不是一次性释放的静态数据,而是围绕"数据集论文 + 挑战赛报告 + 可变性分析 + 官方 baseline 模型"四件套构成的完整评测生态:官方提供 nnU-Net baseline,挑战赛用 DSC 与 HD95 双指标加 Wilcoxon 符号秩检验(Bonferroni 校正)做统计排名,保留测试集避免了社区普遍存在的"训练集自测刷分"问题。对于需要严谨外部对照的放疗自动勾画研究,这是同类数据集中协议最完整的基准之一。

方法学外溢维度:HaN-Seg 的价值已超出头颈分割本身——它"刻意不配准"的设计把真实临床痛点搬进了基准,使其成为多模态融合方法学的通用试验场;官方团队后续对距离度量实现差异的审计(HDilemma 系列)也源自对挑战赛评估的深挖,反哺了整个医学图像分割社区的评估规范。对关注评估方法学的团队,这个 42 例的小数据集反而比大规模数据集更适合做受控实验。

§1.3 同类数据集横向对比

数据集 规模 模态 标注 与 HaN-Seg 的差异化
HaN-Seg 56 例(42 公开 + 14 保留) CT + MR 配对 30 类 OAR 二值掩码 唯一配对 CT/MR 多模态挑战赛基准
PDDCA 48 例 CT CT 9 类 OAR 单模态、结构数少
StructSeg2019 60 例 CT(挑战赛口径) CT 13 类 OAR 单模态,含胸部器官
SegRap2023 200 例 CT CT(增强/平扫对) 45 类 OAR + 2 类 GTV 单模态、规模更大、面向鼻咽癌
RT-MAC(AAPM 2019) 55 例 MR MR 腮腺、下颌下腺、淋巴结 仅 MR、结构数少
RADCURE 3,346 例 CT CT 原发肿瘤 + 淋巴结 + 19 类 OAR 规模大、临床元数据丰富、无挑战赛测试集隔离

规模与模态数据来源:挑战赛论文与头颈分割综述。

对比结论:HaN-Seg 的规模在头颈数据集中不占优,其不可替代性来自"配对 CT/MR + 30 类完整 OAR + 保留测试集 + 人类一致性基线"的四要素组合——任何单一要素在其他数据集中都能找到,但四者齐备的只有这一个。

§1.4 版本时间轴

时间 事件
2023-01-05 Zenodo 发布 Version 1.0(42 例训练集公开,HaN-Seg.zip 4.9 GB,md5 c3d3070de3034933a63031b73b9cf0fc);Dataset Paper 发表于 Medical Physics 2023;50(3):1917-1927
2023-01-13 数据集更新至 Issue 3(英国国家图书馆合法缴存记录)
2023-03 Grand Challenge 平台启动 HaN-Seg 挑战赛初步测试阶段
2023-05 挑战赛训练阶段进行中,参赛队伍基于 42 例公开数据开发方法
2023-10 官方多模态分割模型论文发表于 MICCAI 2023(LNCS 14223:745-755)
2024-02 挑战赛最终测试阶段结束(7 支队伍提交)
2024 vOARiability 可变性分析发表于 Medical Physics 2024;51(3):2175-2186;挑战赛报告发表于 Radiotherapy and Oncology 198:110410
2025 扩散模型 MR-to-CT 转换论文发表于 SPIE Medical Imaging 2025

§1.5 典型应用场景

  1. 多模态自动勾画算法研发:用 42 例配对 CT/MR 训练 U-Net 类模型,在保留测试集或交叉验证中对比入口拼接、配准融合、跨模态注意力等融合策略。
  2. 放疗自动勾画软件的外部验证:商用或科研勾画系统在 30 类 OAR 上按官方 DSC/HD95 协议做第三方评测(团队 2025 年即用该协议评估过三款商用 AI 软件,成果发表于 Scientific Reports)。
  3. 观察者间一致性研究:借助 vOARiability 论文与数据集掩码,量化勾画变异性并校准自动方法的"人类水平"参照线。
  4. MR-only 放疗流程研究:配合团队扩散模型 MR-to-CT 转换工作,探索以 MR 替代 CT 的合成图像管线。
  5. 教学与小样本学习:小规模、高质量、类别齐全的 3D 分割数据适合示范 nnU-Net、半监督与数据高效学习方法。
  6. 距离度量与评估方法学研究:掩码齐全且小器官密集,配合官方团队的度量审计论文,是检验 DSC/HD95 实现差异的天然基准。

§2 医学背景

§2.1 疾病与 ICD-11 编码映射

HaN-Seg 的纳入人群为因头颈部恶性肿瘤接受放射治疗的患者。数据集本身不附带病种标签,但患者人群对应以下 ICD-11 肿瘤部位编码(数据集论文定义的 HaN 区域):

部位 ICD-11 编码 中文名称 与本数据集的关系
唇/口腔 2B62 唇或口腔恶性肿瘤 常见放疗指征,涉及口腔、下颌骨勾画
鼻咽 2B6B 鼻咽恶性肿瘤 放疗为主要根治手段,OAR 密集
口咽 2B6D 口咽恶性肿瘤 放疗指征明确,腮腺保护关键
下咽 2B6F 下咽恶性肿瘤 喉结构与吞咽相关 OAR 保护
喉 2C22 喉恶性肿瘤 声门、声门上喉勾画直接相关
唾液腺 2B67 唾液腺恶性肿瘤 手术与放疗结合,下颌下腺保护
甲状腺 2D10 甲状腺恶性肿瘤 甲状腺本身亦为需勾画的 OAR

§2.1b SNOMED CT 解剖结构映射

数据集 30 类 OAR 均为正常解剖结构,核心结构可用 SNOMED CT 解剖词库映射(勾画标签与 SNOMED 首选术语对照):

数据标签(示例) 对应 ICD-11 语境 SNOMED CT 码 术语
Brainstem 头颈癌放疗 12738006 Brain structure(脑干所在脑结构)
Mandible 2B62、2B67 683003 Mandible structure
Parotid_L / Parotid_R 2B6D、2C22 9694004 Parotid gland structure
OpticNrv_L / OpticNrv_R 鼻咽/口咽放疗 76504004 Optic nerve structure
Eye_AL / Eye_AR 鼻腔/眶区放疗 81745001 Eyeball structure
Esophagus 下咽/喉放疗 32849002 Esophageal structure
Gland_Thyroid 2D10 及颈部放疗 59441001 Thyroid structure
Larynx_SG / Glottis 2C22 54066008 Laryngeal structure

其余成对与中线小结构(耳蜗、泪腺、晶状体、杓状软骨、环咽肌、颊黏膜、口腔、唇、视交叉、垂体、脊髓、颈动脉等)可在 SNOMED CT 解剖结构层级下逐一检索映射。需要强调:上表 ICD-11 列描述的是数据集人群的疾病语境(患者所患癌种),而数据标签本身全部是正常解剖结构——两套编码体系分属"疾病"与"解剖"两个轴,建立映射时不可混用。

§2.2 疾病简介与流行病学

头颈部恶性肿瘤涵盖唇、口腔、咽、喉、鼻腔、鼻旁窦、唾液腺、甲状腺及该区域皮肤的恶性病变,可能伴随吞咽障碍、言语与呼吸问题、容貌损毁、心理社会困扰与死亡。据 GLOBOCAN 2020 估计,头颈癌年发病率超过 100 万例、患病率超过 400 万例,约占全部恶性肿瘤的 5%(数据集论文引言);综述文献将其列为全球第七常见癌症(arXiv 2405.10833)。放射治疗与手术、全身治疗并列为头颈癌的三大基石治疗,近数十年的放疗技术进步显著改善了器官功能保留与生存率。

头颈癌放疗的特殊性在于解剖空间约束:该区域在极小的体积内密布声门、视通路、腮腺、下颌下腺、脊髓等数十个高价值结构,肿瘤与 OAR 常仅隔数毫米,剂量分布的优化空间高度依赖勾画的精细程度。这也是为什么头颈成为放疗自动勾画研究最活跃的解剖区域——自 MICCAI 2009 年首届头颈自动分割挑战赛以来,该区域已先后举办六届计算挑战赛(挑战赛论文),HaN-Seg 是其中首个双模态(CT+MR)赛事。

§2.3 临床任务定义

放疗计划的第一步是靶区与危及器官勾画:放疗医师在定位 CT(必要时辅以 MR)上逐层勾画肿瘤靶区(GTV/CTV/PTV)与全部可能受照射损伤的正常器官(OAR)。OAR 勾画直接决定剂量限值设定——例如腮腺受量决定口干风险、视通路受量决定放射性视神经病变风险。人工逐层勾画耗时且观察者间变异大;AI 自动勾画的目标是在保持计划质量的前提下缩短流程、降低变异。HaN-Seg 的任务定义为:给定同一患者的对比增强 CT 与 T1 加权 MR,自动输出最多 30 类 OAR 在 CT 坐标系下的 3D 二值分割掩码。

从临床工作流看,该任务处于放疗计划链条的最前端:勾画结果进入剂量优化(优化器据此施加 OAR 剂量约束),再进入计划评估与医患沟通。勾画错误沿链条放大——漏勾一个 OAR 意味着该结构在优化中不受保护。因此自动勾画系统的临床准入评估,从来不只看几何指标,还要看"漏勾率"与"边界争议率"两个运营性指标,这一点在评估商用软件时尤其重要。

§2.4 患者人群

维度 描述
来源机构 卢布尔雅那肿瘤研究所(斯洛文尼亚,单中心)
临床场景 因头颈癌接受图像引导放疗,定位阶段同机位采集 CT 与 MR
采集时间 官方论文未披露具体采集起止年份(数据 2023-01 发布)
年龄/性别 56 例按年龄与性别分布分层随机划分训练/测试集(保持两集分布一致)
种族构成 官方论文未披露
就医类型 放疗定位人群(非筛查人群)

人群表的空缺项(采集时间、种族)均为官方确实未披露的信息,如实标注而非推测填充。对使用者的直接含义:凡涉及人群代表性的结论(如"该模型适用于东亚人群"),本数据集不提供证据,需要使用者自建本地验证集补充。

§2.5 临床价值

对放疗科而言,一个覆盖 30 类 OAR、经过人工整理的高质量勾画基准,可以把自动勾画从"部分器官可用"推进到"全器官清单可用":机器先勾、医生复核的工作流已在实践中将勾画环节从小时级压缩到分钟级,同时降低观察者内与观察者间变异。对算法研究者而言,vOARiability 提供的观察者间/模态间变异数据给出了"自动方法何时超过人类一致性"的量化标尺——挑战赛冠军方法已越过这条线。对监管与采购方而言,公开测试集 + 统一指标的评测协议为商用勾画软件的横向比较提供了可复现依据。

从剂量学链条看,OAR 勾画的精度直接传导到剂量限值设定的可靠性:腮腺平均剂量决定口干发生率、脊髓最大剂量决定放射性脊髓病风险、视通路受量决定视力保全概率。勾画偏大导致不必要的剂量让步、偏小则可能导致超量照射——因此该数据集上"几何精度指标(DSC/HD95)"与"临床剂量学影响"之间的映射研究(如团队 2025 年对三款商用软件的几何/剂量/心理测量学三维评估)正是其临床价值落地的关键环节。

§2.6 参考金标准

属性 内容
划分 Set 1 训练 42 例(75%)/ Set 2 测试 14 例(25%),按年龄、性别与标注类型分层随机
标注方式 人工逐像素勾画 + 研究者统一整理(curated);掩码定义于 CT 坐标系,勾画时借助配准 MR 辅助
标注者 放疗技师或放射肿瘤医师勾画,医学影像研究者整理;可变性由 vOARiability 独立量化
金标准性质 专家参考标准(非多人多数投票共识);官方提示自动方法已可超过观察者间一致性

与"多观察者共识金标准"(如某些基准取多数投票)相比,HaN-Seg 的参考标准更接近真实放疗工作流中的"单一勾画 + 专家整理"形态。这带来一个重要推论:在此基准上评估的是"与临床实际勾画习惯的一致性",而非"与解剖真值的一致性"——对以临床部署为目标的研究,前者恰恰是更相关的外部效度。


§3 数据集规格

§3.0 版本与获取抉择矩阵

你的需求 推荐获取物 大小 理由
方法研发、复现论文 Zenodo HaN-Seg.zip(42 例训练集) 4.9 GB 唯一公开部分,含全部 30 类掩码与 CSV 元数据
冲击挑战赛排名/正式测试成绩 Grand Challenge 平台 Docker 提交 不适用(数据保留) 14 例测试集仅存于平台,提交代码入、出结果
外部验证扩展 TCIA 的 Glis-RT、BGPD、HNSCC 数据集 各异 McGill 团队用同一管线在三个 TCIA 数据集完成外验(arXiv 2405.10833)

§3.1 模态详情

模态 序列/类型 说明 角色定位
CT 对比增强 CT(contrast-enhanced CT) 放疗定位常规模态,提供电子密度信息与剂量计算基础 分割目标坐标系与主模态
MR T1 加权(T1-weighted) 软组织对比优于 CT,辅助 OAR 边界辨认 辅助模态;未配准、FOV 与体素尺寸与 CT 不同

两个关键事实(挑战赛论文):其一,CT 与 MR 未做配准,视野(FOV)与体素尺寸各异——这是挑战赛刻意保留的真实临床场景;其二,OAR 掩码只在 CT 坐标系定义,勾画过程借助了配准后的 MR 辅助观察。

对算法设计的三点直接推论:

  1. CT 是坐标系锚点:全部 30 类掩码、挑战赛提交格式、官方评估都在 CT 几何上进行,任何 MR 分支的输出都必须先回到 CT 网格。
  2. MR 的贡献是边界信息:T1 加权像在软组织边界(腮腺-脂肪、视神经-眶脂肪)上的对比显著优于 CT,这正是双模态融合的价值来源;但 MR 不提供 HU 物理尺度,强度归一化必须与 CT 分开设计。
  3. FOV 差异是特征而非缺陷:MR 覆盖范围与 CT 不完全重叠,意味着融合层需要显式处理"某体素只有单模态观测"的情形——官方 MICCAI 2023 模型因此只分割重叠区域,而 McGill 团队用模态 dropout 让网络学会在单模态缺失时降级推理。
几何属性 CT MR(T1 加权)
配准状态 参考坐标系 未配准,独立几何
体素间距范围 0.52-1.56 × 0.52-1.56 × 2.0-3.0 mm 同量级但逐例独立
矩阵尺寸范围 512-1024 × 512-1024 × 116-323 同量级但逐例独立
强度语义 HU(有物理尺度) 相对信号(无固定尺度)
掩码监督 有(30 类) 无

几何统计来源:openmedlab 对 42 例训练集的统计。

§3.2 按子集样本数

子集 例数 占比 可获得性
Set 1(训练集) 42 75% Zenodo 公开下载
Set 2(测试集) 14 25% Grand Challenge 平台保留
合计 56 100% 每例均为同一患者 CT+MR 配对

公开训练集内 30 类 OAR 掩码覆盖情况:29 类在全部 42 例中均有掩码,脊髓为 41/42 例(openmedlab 统计);挑战赛任务口径为"最多 30 类"。需要留意的是,该表统计的是掩码文件的存在性,不等于每例每个器官在影像范围内完整可见——FOV 边界处的器官可能只有部分体积被勾画。

§3.3 数据格式

内容 格式 命名示例 说明
CT 图像 NRRD case_XX_IMG_CT.nrrd 3D 标量体数据
MR 图像 NRRD case_XX_IMG_MR_T1.nrrd 3D 标量体数据
OAR 掩码 NRRD(二值) case_XX_OAR_Brainstem.seg.nrrd 文件名遵循 AAPM 命名规范
病例元数据 CSV patient_data.csv 人口学与标注类型信息
器官元数据 CSV OAR_data.csv 器官级勾画信息

选择 NRRD(Nearly Raw Raster Data)而非放疗行业惯用的 DICOM-RT 结构,是该数据集的一个重要设计决策:NRRD 单文件自包含空间几何头(origin、spacing、direction),不像 RT-STRUCT 那样以轮廓多边形存储再需栅格化,也不像 DICOM 序列那样一例几十个文件。对深度学习管线而言这大幅降低了读取成本,但代价是:与医院 PACS/TPS(治疗计划系统)生态不直接互通,且主流框架(nnU-Net、MONAI)的默认模板偏向 NIfTI,需要一次性转换(坑点 3)。二值掩码以单通道 {0, 1} 体数据存储——每器官一个独立文件,而非一张多标签图,这一设计天然规避了"标签值→器官名"映射错误,但要求加载端按文件枚举构建标签体积(坑点 5 的根源)。

§3.4 存储大小

Zenodo 记录提供单一压缩包 HaN-Seg.zip,4.9 GB,官方 MD5 校验值 c3d3070de3034933a63031b73b9cf0fc(Zenodo 7442914)。解压后为 42 个病例子目录与 2 个 CSV 文件。

§3.5 标注方式

人工标注(manual pixel-wise annotation):由放疗技师或放射肿瘤医师在 CT 上逐层勾画、借助配准 MR 辅助判断边界,随后由医学影像研究者逐例整理形成参考掩码(挑战赛论文)。这种"临床勾画 + 影像研究者 curation"的两级流程与纯研究性共识标注不同,更贴近真实放疗计划中的结构定义习惯。

与自动/弱监督标注的数据集相比,全人工勾画的可靠性溢价在放疗场景尤其明显:30 类 OAR 中大量结构在 CT 上对比度低(泪腺、环咽肌、杓状软骨),无人工把关的弱标签会在这些结构上系统性失真;HaN-Seg 的掩码因此可以直接当作"临床可用勾画"的近似上界使用,这是它被商用软件评测选中的原因之一。

§3.6 标注者资质与一致性

勾画者为放疗技师(RT technologist)或放射肿瘤医师(radiation oncologist)。一致性基线由姊妹论文 vOARiability(Medical Physics 2024;51(3):2175-2186)独立量化:该文系统分析了同一数据集上 OAR 勾画的观察者间与模态间(CT vs MR)变异性。挑战赛报告据此指出,头部团队的自动分割性能已超过该数据集上的观察者间一致性(挑战赛论文)。

对标注质量敏感的任务,建议进一步利用 patient_data.csv 中的 annotation_type 字段做分层评估:若某器官在技师勾画子集与医师勾画子集上的模型表现系统性分化,说明模型学到了勾画者风格而非纯粹解剖——这是小数据集上特有的过拟合形态。

§3.7 采集周期

数据用于图像引导放疗(image-guided RT)规划,于卢布尔雅那肿瘤研究所采集;具体采集起止时间官方论文未披露。数据集以 Zenodo Version 1.0 于 2023-01-05 一次性发布,此后无增量版本。

单次冻结发布对该数据集的使用定位有两点含义:其一,不存在"版本间结果漂移"问题——所有论文基于同一份数据,历史结论可长期对照;其二,任何后续扩展(新病例、新序列)都会以新 Zenodo 版本号发布,长期项目应在配置中显式锁定当前版本并在官方页面订阅更新。

§3.8 地域覆盖

单一国家、单一中心:斯洛文尼亚卢布尔雅那肿瘤研究所。种子信息中"中国多中心"的说法与官方论文不符——论文作者机构为卢布尔雅那大学电气工程学院、卢布尔雅那肿瘤研究所与哥本哈根大学(PubMed 36594372),数据采集机构为卢布尔雅那肿瘤研究所。

§3.9 设备规格

官方论文与 Zenodo 记录未披露 CT/MR 设备厂商与型号。已核实的成像几何参数(42 例训练集统计,openmedlab):体素间距最小 (0.52, 0.52, 2.0) mm、中位 (0.64, 0.64, 2.0) mm、最大 (1.56, 1.56, 3.0) mm;矩阵尺寸最小 512×512×116、中位 1024×1024×189、最大 1024×1024×323。层厚方向(2.0-3.0 mm)明显低于面内分辨率,呈各向异性。

§3.10 深度溯源链

层级 溯源对象 凭证
L1 数据本体 HaN-Seg.zip(42 例 + 2 CSV) Zenodo 记录 7442914,Version 1.0,MD5 c3d3070de3034933a63031b73b9cf0fc
L2 数据描述 Medical Physics 2023;50(3):1917-1927 DOI 10.1002/mp.16197(PubMed 36594372)
L3 评测背书 Radiotherapy and Oncology 2024;198:110410(挑战赛报告,开放获取) DOI 10.1016/j.radonc.2024.110410
L4 采集机构 卢布尔雅那肿瘤研究所(斯洛文尼亚) 官方论文作者机构披露
L5 伦理批准 卢布尔雅那肿瘤研究所伦理委员会 No. ERID-EK/139
L6 资助方 斯洛文尼亚研究署 ARRS、Novo Nordisk Foundation J2-1732、P2-0232、P3-0307;NFF20OC0062056
L7 许可凭证 CC BY-NC-ND 4.0 Zenodo 记录 + 挑战赛结赛说明双重确认

七层溯源链完整且全部公开可查,这在公开医疗影像数据集中属于最高一档的可审计性:从任何一个下载的字节出发,都可以沿 MD5 → Zenodo 记录 → 论文 DOI → 伦理批件号的路径走到源头。


§4 数据结构

§4.0 目录树

数据解压后的目录结构如下(42 个病例目录,此处展示 2 个):

结构要点:两个 CSV 位于根目录而与病例目录平级;每例目录内图像与掩码共用 case 前缀,掩码以 OAR_ 中缀与图像区分;掩码文件数逐例可变(最多 30 个)。

HaN-Seg/
├── OAR_data.csv
├── patient_data.csv
├── case_01/
│   ├── case_01_IMG_CT.nrrd
│   ├── case_01_IMG_MR_T1.nrrd
│   ├── case_01_OAR_Brainstem.seg.nrrd
│   ├── case_01_OAR_Mandible.seg.nrrd
│   ├── case_01_OAR_OpticChiasm.seg.nrrd
│   ├── case_01_OAR_Parotid_L.seg.nrrd
│   ├── case_01_OAR_Parotid_R.seg.nrrd
│   └── ...
├── case_02/
│   ├── case_02_IMG_CT.nrrd
│   ├── case_02_IMG_MR_T1.nrrd
│   └── ...
└── ...

§4.1 DAIMS 字段字典

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
case_id Text 病例目录与文件前缀 case_01 患者级聚合与划分键 无 无缺失 case_01 至 case_42
IMG_CT 文件 ImageObject 对比增强 CT 体数据 case_01_IMG_CT.nrrd 主模态输入与剂量参考 设备相关噪声 文件恒在 512-1024²×116-323 体素
IMG_MR_T1 文件 ImageObject T1 加权 MR 体数据 case_01_IMG_MR_T1.nrrd 辅助模态输入 磁场不均匀/偏置 文件恒在 同上量级
OAR 掩码文件 ImageObject 单器官二值掩码 case_01_OAR_Brainstem.seg.nrrd 监督信号(CT 坐标系) 勾画者间变异 文件缺失=该器官未勾画 值域
器官命名 Text AAPM 规范器官名 Parotid_L、OpticNrv_R 类别映射表构建 命名风格不统一 无 30 类 + 左右后缀
patient_id(patient_data.csv) Text 患者标识(脱敏) 见官方 CSV 分层划分依据 无 无缺失 56 条记录
age Integer 年龄(岁) 见官方 CSV 偏倚分析 记录误差 见官方 CSV 成人放疗人群
sex Text 性别 见官方 CSV 偏倚分析 无 见官方 CSV 官方 CSV 取值
annotation_type Text 勾画者类型(技师/医师) 见官方 CSV 标注质量分层 无 见官方 CSV 官方 CSV 取值
OAR_data.csv Table 器官级勾画信息汇总 见官方 CSV 类别统计 无 见官方 CSV 30 类
Set 划分标签 Integer 官方 Set 1/Set 2 归属 1(训练) 划分复现 无 测试集不在公开包
掩码体素值 Integer 单掩码内取值 1(器官内) 监督信号 勾画边界变异 文件缺失

CSV 具体列值请以解压后的官方文件为准;本表仅列文件与字段语义,未核实到具体统计值的单元格不作臆测。

§4.2 标签分布

30 类 OAR 清单及覆盖例数(公开训练集 42 例,openmedlab 统计)。为便于映射维护,按中线器官与左右成对器官分组呈现:

中线(单实例)器官,14 类:

英文标签 中文名称 覆盖例数
arytenoids 杓状软骨 42
brainstem 脑干 42
buccal_mucosa 颊黏膜 42
cavity_oral 口腔 42
cricopharyngeus 环咽肌 42
esophagus 食管 42
Gland_Thyroid 甲状腺 42
Glottis 声门 42
Larynx_SG 声门上喉 42
Lips 唇 42
mandible 下颌骨 42
Optic_Chasm 视交叉 42
Pituitary 垂体 42
SpinalCord 脊髓 41

左右成对器官,8 对(16 类):

英文标签对 中文名称 覆盖例数(每侧)
carotid_artery_left / carotid_artery_right 颈动脉 42 / 42
cochlea_left / cochlea_right 耳蜗 42 / 42
Eye_AL / Eye_AR 眼球 42 / 42
Eye_PL / Eye_PR 晶状体 42 / 42
Gland_Lacrimal_L / Gland_Lacrimal_R 泪腺 42 / 42
Gland_Submand_L / Gland_Submand_R 下颌下腺 42 / 42
OpticNrv_L / OpticNrv_R 视神经 42 / 42
Parotid_L / Parotid_R 腮腺 42 / 42

合计 14 中线 + 8 对成对 = 30 类,与挑战赛"最多 30 类"一致。覆盖统计的实践含义:类别覆盖几乎满额,真正的类别不均衡发生在体素级——耳蜗、晶状体等单侧体积不足 1 cm³,与口腔(中位约 53 cm³)相差两个数量级,损失函数设计必须正面处理这一尺度差。

§4.3 关键统计

统计项 最小 中位 最大
体素间距(mm) (0.52, 0.52, 2.0) (0.64, 0.64, 2.0) (1.56, 1.56, 3.0)
矩阵尺寸(体素) 512×512×116 1024×1024×189 1024×1024×323

来源:openmedlab 对 42 例训练集的统计。挑战赛测试集的对应统计未公开。

两组数字的联合含义:面内分辨率(0.52-1.56 mm)约为层间分辨率(2.0-3.0 mm)的 2-3 倍,最细处与最粗处面内分辨率又相差 3 倍——这决定了任何跨例批处理都必须显式重采样,"默认网格直接训练"在该数据集上不可行。

§4.4 数据层级

患者(56 名,脱敏)
└── 病例 case_XX(每例 1 组)
    ├── CT 图像(对比增强,主坐标系)
    ├── MR 图像(T1 加权,独立几何)
    └── OAR 掩码(最多 30 个,定义于 CT 坐标系)
        └── 每掩码:单器官 {0,1} 体素标签

层级设计对工程的三点含义:其一,层级是"病例级"而非"检查-序列级"——每位患者只有一组定位影像,不存在纵向随访,因此不存在跨时间的患者内切分问题;其二,掩码与 CT 同层级直连(而非 DICOM 序列 + RT-STRUCT 引用的间接连接),读取路径是确定性的文件名拼接;其三,元数据 CSV 是唯一的患者级表格,任何统计偏倚分析都应从 patient_data.csv 出发而非从文件名猜测。

§4.5 缺失值与信息性缺失

该数据集没有传统意义上的"缺失编码值",缺失以文件存在性表达:某病例目录下缺少某个 case_XX_OAR_<Name>.seg.nrrd 文件,即表示该器官在该病例中未勾画(语义上等价于"该器官无需评估",而非"数据损坏")。公开训练集中唯一的实测缺失是脊髓掩码(41/42 例)。加载代码必须按文件存在性动态构建标签列表,而不是假设每例固定 30 个掩码。

CSV 侧的缺失语义需在首次解析时实测确认(官方论文未逐一描述各列取值约定),建议把以下三项纳入数据验收脚本:每列非空率、age/sex 的取值域枚举、annotation_type 的类别枚举。与影像侧"文件缺失 = 器官未勾画"的确定性语义不同,CSV 侧任何缺失都应先查证再决定填充策略——对 42 例的极小样本,逐例人工核对 CSV 异常行是完全可行的。


§5 数据划分与使用建议

§5.1 官方划分

官方将 56 例按年龄、性别与标注类型分布分层随机划分为 Set 1(42 例,75%,公开)与 Set 2(14 例,25%,保留)。挑战赛训练阶段只允许使用 Set 1,所有正式排名在 Set 2 上经平台评估产生(挑战赛论文)。

分层变量的选择透露了官方对分布偏移的优先级判断:年龄与性别覆盖人群代表性,标注类型(技师/医师)覆盖标注来源一致性——三者都与分割难度直接相关。复现官方划分虽不可行(随机种子未公开),但使用者可以按同样的分层变量构建自己的划分,使内部实验的分布特征与官方测试保持同构。

§5.2 社区惯例划分

挑战赛结束后,社区通行做法是在 42 例公开训练集内做 5 折患者级交叉验证(官方 MICCAI 2023 模型即采用 5 折 CV),或按约 34/8 划分内部训练/验证。注意官方 CV 实验只分割了 MR 与 CT 的重叠区域,与挑战赛"全 CT 覆盖"口径不同,数字不可直接混比(Grand Challenge 结赛说明)。

§5.3 划分策略建议与泄漏风险

  • 患者级划分铁律:每例 = 一名患者,不存在跨集重复患者;任何自定义划分必须保持病例(患者)不跨集,切片级随机划分会直接造成泄漏。
  • 配对泄漏陷阱:CT 与 MR 是同一患者,若把"CT 预测 MR、MR 预测 CT"或合成的中间产物与原始数据混入不同侧,会引入隐性信息泄漏。
  • 预处理统计泄漏:强度归一化、窗宽窗位若用全部 42 例统计,会渗入验证折信息;应按折内训练数据计算。
  • 划分固化:官方分层变量(年龄、性别、标注类型)已知,建议复现时固定随机种子并公布折分配文件。

§5.4 交叉验证建议

5 折 CV(每折 8-9 例)时,报告折间均值 ± 标准差;小器官(晶状体、耳蜗、视交叉)的 DSC 折间波动极大,建议同时报告按器官聚合的分布而非单一均值。若资源允许,重复两次不同种子的 5 折 CV 以稳定结论。

另一条社区实践是 Leave-One-Out 式的逐例困难度画像:逐例留一评估的计算成本对 42 例规模完全可承受,其产出的"逐例 DSC 排序"能直接定位困难病例(多为术后解剖变异或 FOV 异常者),对误差分析与论文案例讨论都是高性价比的素材。

§5.5 外部验证建议

McGill 团队的路径可直接借鉴:先在 HaN-Seg 训练,再在 TCIA 的 Glis-RT、BGPD、HNSCC 三个头颈数据集上评估与商用勾画软件(Limbus AI)的一致性(DS 77.43%、HD 3.27 mm,arXiv 2405.10833)。注意外验数据多为 RT-STRUCT 轮廊而非体素掩码,需统一转换与左右器官合并口径。

§5.6 常见划分错误清单

错误做法 后果 正确做法
切片级(slice)随机划分训练/验证 同一患者的相邻切片分属两侧,DSC 虚高数个百分点 患者级(case 级)划分
用挑战赛报告数字校准内部 CV 阈值 口径不同(全 CT vs 重叠区),阈值失真 只在同口径数字间比较
预处理统计(归一化均值)跨折共享 验证折信息渗入训练 每折单独计算训练侧统计
拿 42 例训练集训练后在训练集自评 过拟合不可见,结论无效 保留折或平台提交
把 14 例测试集的任何衍生信息(如均值、失败案例分析后的调整)回灌训练 测试集间接污染 测试集只读、只评一次

§6 AI 就绪指南

§6.0 云端快速启动

Zenodo 支持直接命令行下载,无需注册、无需申请审核,这与 PhysioNet 类数据集的凭证化流程形成鲜明对比——HaN-Seg 的获取门槛几乎为零,合规重心全部落在"引用要求 + 非商业无演绎许可"的事后约束上。以下命令在任意 Linux 环境可运行:

# 下载 4.9 GB 压缩包(约 5-15 分钟,视带宽)
wget -c "https://zenodo.org/records/7442914/files/HaN-Seg.zip?download=1" -O HaN-Seg.zip
# 校验官方 MD5:c3d3070de3034933a63031b73b9cf0fc
md5sum HaN-Seg.zip
unzip -q HaN-Seg.zip -d han-seg-root

§6.1 快速上手

目录结构预期:解压后根目录下为 42 个 case_XX/ 子目录加两个 CSV;下文代码假设你把根目录路径赋给 data_root。

data_root 拼接关系:data_root/case_XX/case_XX_IMG_CT.nrrd(CT)、data_root/case_XX/case_XX_IMG_MR_T1.nrrd(MR)、data_root/case_XX/case_XX_OAR_<Name>.seg.nrrd(掩码,按器官名枚举)。文件名前缀与目录名一致,拼接时直接复用 case_id 即可。

最小可用子集:任意单个 case 目录即构成最小可用样本(CT + MR + 约 30 个掩码),无需下载其他依赖。

import SimpleITK as sitk
from pathlib import Path

data_root = Path("han-seg-root/HaN-Seg")  # 解压根目录,按实际路径修改
case_dir = data_root / "case_01"

ct = sitk.ReadImage(str(case_dir / "case_01_IMG_CT.nrrd"))
mr = sitk.ReadImage(str(case_dir / "case_01_IMG_MR_T1.nrrd"))
print("CT size:", ct.GetSize(), "spacing:", ct.GetSpacing())
print("MR size:", mr.GetSize(), "spacing:", mr.GetSpacing())

# 枚举该病例实际存在的 OAR 掩码(不要假设固定 30 个)
masks = sorted(case_dir.glob("case_01_OAR_*.seg.nrrd"))
print(f"该病例共 {len(masks)} 个 OAR 掩码")
brainstem = sitk.ReadImage(str(case_dir / "case_01_OAR_Brainstem.seg.nrrd"))
print("Brainstem mask size:", brainstem.GetSize())

运行后首先注意:CT 与 MR 的 GetSize() 与 GetSpacing() 不同——这是该数据集最重要的结构事实,直接决定后续配准与重采样策略。

三条文件枚举纪律:第一,永远用 glob 模式 case_XX_OAR_*.seg.nrrd 枚举掩码而非硬编码器官清单,硬编码会让脊髓缺失例(41/42)直接抛异常;第二,器官名取自文件名中 OAR_ 与 .seg.nrrd 之间的片段,注意 Eye_AL 这类命名与论文表格写法(left eyeball)不同,构建映射表时以文件名为准;第三,CSV 的行键与 case 前缀可能存在大小写或格式差异,关联前先做规范化断言。

§6.2 数据获取

项 内容
下载地址 Zenodo 记录 7442914
文件 HaN-Seg.zip(4.9 GB,md5 c3d3070de3034933a63031b73b9cf0fc)
注册要求 无(直接下载)
许可 CC BY-NC-ND 4.0,使用必须引用数据集论文
测试集 不提供下载;经 Grand Challenge 以 Docker 容器提交评估

依赖安装:

pip install SimpleITK monai torch nibabel scipy

下载与验收的三条建议:其一,4.9 GB 在网络抖动时易截断,务必用 wget -c 断点续传并以 MD5 验收后再解压;其二,解压后先跑一次"验收脚本"——遍历 42 个 case 目录,统计每例 CT/MR/掩码文件数,与 §4.2 覆盖表核对,10 分钟内可发现传输或解压损坏;其三,保留原始 zip 不删,所有实验从解压副本出发,保证随时可从字节级重建。

§6.3 预处理全流程

标准流水线:NRRD 读取 → NIfTI 导出(可选)→ 统一重采样 → 强度标准化 → 掩码对齐。完整脚本(约 60 行,折叠显示):

<details>
<summary>预处理完整脚本(NRRD 读取、重采样与标准化)</summary>

import SimpleITK as sitk
import numpy as np
from pathlib import Path

TARGET_SPACING = (1.0, 1.0, 2.0)  # 面内 1mm,层间 2mm,折中各向异性

def resample(image, new_spacing=TARGET_SPACING, is_label=False):
    orig = image.GetSpacing()
    size = np.array(image.GetSize())
    factor = np.array(orig) / np.array(new_spacing)
    new_size = (size * factor).astype(int).tolist()
    resampler = sitk.ResampleImageFilter()
    resampler.SetOutputSpacing(new_spacing)
    resampler.SetSize(new_size)
    resampler.SetOutputDirection(image.GetDirection())
    resampler.SetOutputOrigin(image.GetOrigin())
    if is_label:
        resampler.SetInterpolator(sitk.sitkNearestNeighbor)  # 掩码必须最近邻
    else:
        resampler.SetInterpolator(sitk.sitkLinear)
    return resampler.Execute(image)

def normalize_ct(arr):
    # 窗宽窗位截断(软组织窗为主,可按任务调整)
    lo, hi = np.percentile(arr, [0.5, 99.5])
    arr = np.clip(arr, lo, hi)
    return (arr - arr.mean()) / (arr.std() + 1e-8)

def normalize_mr(arr):
    # MR 无固定 HU 尺度:逐例 z-score(不要用全数据集统计以免泄漏)
    return (arr - arr.mean()) / (arr.std() + 1e-8)

def load_case(data_root, case_id, oar_names):
    case_dir = Path(data_root) / case_id
    ct = resample(sitk.ReadImage(str(case_dir / f"{case_id}_IMG_CT.nrrd")))
    mr = resample(sitk.ReadImage(str(case_dir / f"{case_id}_IMG_MR_T1.nrrd")))
    # 注意:MR 与 CT 独立重采样 ≠ 配准,仅统一了体素间距
    label_vols = []
    for name in oar_names:
        p = case_dir / f"{case_id}_OAR_{name}.seg.nrrd"
        if p.exists():
            lab = resample(sitk.ReadImage(str(p)), is_label=True)
            label_vols.append(sitk.GetArrayFromImage(lab))
        else:
            label_vols.append(np.zeros(sitk.GetArrayFromImage(ct).shape, np.uint8))
    return ct, mr, np.stack(label_vols)

</details>

三个必须写进流水线的细节:掩码重采样只能用最近邻插值;CT/MR 强度归一化策略不同(CT 有物理 HU 尺度、MR 没有);此处重采样只统一体素间距,不解决 CT/MR 几何错位,后者见坑点 1。

CT/MR 刚性配准是多模态管线的第一块基石,最小可用实现如下:

import SimpleITK as sitk

def register_mr_to_ct(ct, mr):
    # 以 CT 为 fixed、MR 为 moving 的刚性配准(多模态用互信息度量)
    initial = sitk.CenteredTransformInitializer(
        ct, mr, sitk.Euler3DTransform(),
        sitk.CenteredTransformInitializerFilter.GEOMETRY)
    reg = sitk.ImageRegistrationMethod()
    reg.SetMetricAsMattesMutualInformation(numberOfHistogramBins=50)
    reg.SetMetricSamplingStrategy(reg.RANDOM)
    reg.SetInterpolator(sitk.sitkLinear)
    reg.SetOptimizerAsRegularStepGradientDescent(
        learningRate=1.0, minStep=1e-4, numberOfIterations=200)
    reg.SetInitialTransform(initial)
    return reg.Execute(ct, mr)          # 返回配准后的 MR(CT 网格)

# 用法:mr_aligned = register_mr_to_ct(ct_image, mr_image)
# 验证:叠加 CT 边缘与 mr_aligned 检查眶区、下颌骨是否对齐

配准后必须抽查至少 3-5 例的可视化叠加(眶区与下颌骨是最敏感的解剖参照),失败案例通常表现为 MR 颈部段整体漂移——原因多为 FOV 差异导致初始化几何中心偏移,可改用掩码引导的初始化。

§6.4 PyTorch DataLoader 完整代码

完整可运行的多模态 Dataset(含左右器官标签映射与空掩码处理,约 80 行,折叠显示):

<details>
<summary>HaN-SegDataset 完整实现</summary>

import SimpleITK as sitk
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from pathlib import Path

OAR_MAP = {
    "Brainstem": 0, "Mandible": 1, "Optic_Chasm": 2, "SpinalCord": 3,
    "Parotid_L": 4, "Parotid_R": 5, "Gland_Submand_L": 6, "Gland_Submand_R": 7,
    "Eye_AL": 8, "Eye_AR": 9, "OpticNrv_L": 10, "OpticNrv_R": 11,
}

class HaN_SegDataset(Dataset):
    """data_root 需指向包含 case_XX 子目录的解压根目录。
    每样本返回 dict:ct/mr 为 (1,D,H,W) 浮点张量,label 为 (len(OAR_MAP),D,H,W)。
    """
    def __init__(self, data_root, cases, target_spacing=(1.0, 1.0, 2.0)):
        self.root = Path(data_root)
        self.cases = list(cases)
        self.spacing = target_spacing

    def _resample(self, img, is_label=False):
        size = np.round(np.array(img.GetSize()) *
                        np.array(img.GetSpacing()) / np.array(self.spacing)).astype(int)
        r = sitk.ResampleImageFilter()
        r.SetOutputSpacing(self.spacing); r.SetSize([int(v) for v in size])
        r.SetOutputOrigin(img.GetOrigin()); r.SetOutputDirection(img.GetDirection())
        r.SetInterpolator(sitk.sitkNearestNeighbor if is_label else sitk.sitkLinear)
        return r.Execute(img)

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

    def __getitem__(self, idx):
        cid = self.cases[idx]
        d = self.root / cid
        ct = self._resample(sitk.ReadImage(str(d / f"{cid}_IMG_CT.nrrd")))
        mr = self._resample(sitk.ReadImage(str(d / f"{cid}_IMG_MR_T1.nrrd")))
        ct_a, mr_a = sitk.GetArrayFromImage(ct), sitk.GetArrayFromImage(mr)
        ref_shape = ct_a.shape
        labels = np.zeros((len(OAR_MAP), *ref_shape), np.uint8)
        for name, ch in OAR_MAP.items():
            p = d / f"{cid}_OAR_{name}.seg.nrrd"
            if p.exists():  # 缺失器官保持全零并记录存在性
                m = sitk.GetArrayFromImage(self._resample(sitk.ReadImage(str(p)), True))
                labels[ch] = (m > 0)
        ct_t = torch.from_numpy((ct_a - ct_a.mean()) / (ct_a.std() + 1e-8)).float()[None]
        mr_t = torch.from_numpy((mr_a - mr_a.mean()) / (mr_a.std() + 1e-8)).float()[None]
        return {"ct": ct_t, "mr": mr_t, "label": torch.from_numpy(labels).float(),
                "case_id": cid}

all_cases = [f"case_{i:02d}" for i in range(1, 43)]
train_set = HaN_SegDataset("han-seg-root/HaN-Seg", all_cases[:34])
val_set   = HaN_SegDataset("han-seg-root/HaN-Seg", all_cases[34:])
train_loader = DataLoader(train_set, batch_size=1, shuffle=True, num_workers=4)
val_loader   = DataLoader(val_set, batch_size=1, shuffle=False, num_workers=2)

for batch in train_loader:
    print(batch["ct"].shape, batch["mr"].shape, batch["label"].shape)
    break

</details>

生产化提示:真实训练建议裁剪到器官包围盒、分块(patch)采样并加同步空间增强;num_workers 需配合 NRRD 解压开销调整。

注意该 Dataset 的一个刻意简化:CT 与 MR 各自独立重采样到同一目标 spacing,这只是"体素网格对齐"而非"解剖对齐"——两者之间没有配准变换时,同名索引对应的解剖位置并不同。把它用于单模态实验可直接起步,用于双模态融合前必须先接入 §6.3 的配准环节。

§6.5 坑点清单(8 个)

以下 8 个坑点全部来自该数据集的结构特性与官方文档、配套论文中记录的真实失败模式,按"从数据到评估"的工作流顺序排列:坑点 1-2 源于双模态不配准的设计,坑点 3-5 源于文件组织与标签语义,坑点 6-8 源于评估协议。每个坑点给出简单、进阶、SOTA 三级解法。

⚠️ 坑点 1:把 CT 与 MR 当作已配准数据直接喂入双流网络(分类:预处理陷阱)

问题:官方明确 CT/MR 未配准且 FOV、体素尺寸不同,直接逐体素融合会把两套几何错位的图像对齐到错误的解剖对应上,监督信号也随之失真。
症状:模型在 CT 单模态下表现正常,融合 MR 后 DSC 反而下降;或可视化发现 MR 上"脑干"与掩码明显错位数毫米到数厘米。
解决:

  1. 简单方法:以 CT 为参考(fixed image),用 SimpleITK/MONAI 做刚性或仿射配准,把 MR 重采样到 CT 网格,掩码保持在 CT 坐标系不动。
  2. 进阶方法:配准前先统一重采样体素间距(见 §6.3),配准用互信息(Mattes MI)作为多模态相似度度量,并在小器官区域(眶区、颞骨)目检配准误差。
  3. SOTA 方法:挑战赛冠军方案即"MR-to-CT 刚性配准 + 网络入口级(entry-level)拼接";进一步可用可学习配准或团队 2025 年的扩散模型 MR-to-CT 转换(DOI 10.1117/12.3047458),在生成域上融合。
    参考:挑战赛论文、Zenodo 官方说明

⚠️ 坑点 2:假设 MR 也有 OAR 掩码监督(分类:标签理解)

问题:全部 30 类掩码只定义在 CT 坐标系;MR 是辅助观察模态。想训练"MR 输入的分割器"时并没有现成的 MR 监督标签,直接把 CT 掩码当 MR 标签用(未配准)会引入系统性错位标签。
症状:MR-only 训练的 loss 不收敛或 DSC 上限明显偏低;错误融合后的标签在小器官(晶状体、视交叉)上整体偏移。
解决:

  1. 简单方法:先配准 MR→CT,再用最近邻插值把掩码搬到 MR 网格,作为近似 MR 标签并接受插值误差。
  2. 进阶方法:用模态 dropout(训练时随机丢弃 CT 或 MR 输入,McGill 团队做法)让单网络同时适配 CT-only/MR-only/双模态推理,避免为 MR 单独造标签。
  3. SOTA 方法:用扩散模型 MR-to-CT 转换把问题转化为"合成 CT 上的监督"(官方 SPIE MI 2025 路线),或用半监督/伪标签扩展(McGill 用 254 例伪标签把训练集扩到 296 例)。
    参考:vOARiability、arXiv 2405.10833

⚠️ 坑点 3:NRRD 转 NIfTI 时丢失几何头信息或配错文件(分类:工程陷阱)

问题:主流框架(nnU-Net、MONAI)默认 NIfTI 输入,社区普遍先做 NRRD→NIfTI 转换;转换时若未保留 origin/direction/spacing,或把 .seg.nrrd 与图像文件名匹配错(前缀均为 case_XX),会产生"能跑但全错"的静默失败。
症状:转换后掩码与图像叠加显示整体平移/翻转;nnU-Net 报告 DSC 异常接近 0;抽查发现 L/R 器官掩码互换。
解决:

  1. 简单方法:用 SimpleITK ReadImage/WriteImage 转换(自动保留几何),转换后逐例断言 mask.GetSize()==ct.GetSize() 且 origin/direction 一致。
  2. 进阶方法:写一个一次性转换脚本批量处理 42 例并输出校验报告(每例掩码数、体积、几何哈希),纳入版本控制。
  3. SOTA 方法:接入 Med-ImageTools 等开源管线,其对放疗数据集(含 HaN-Seg)的 RT-STRUCT/NRRD 标准化有现成处理。
    参考:Med Phys 数据集论文、nnU-Net 官方文档

⚠️ 坑点 4:左右成对器官与中线器官的类别映射混乱(分类:标签理解)

问题:文件名同时存在 Parotid_L/Parotid_R(成对)与 Brainstem/Optic_Chasm(中线)两种风格,且 AAPM 命名与论文表格写法不一致;构建 one-hot/argmax 输出时容易漏掉一侧或把左右合并错。
症状:评估报告中左右器官指标相同或一侧恒为 0;30 通道输出与文件名枚举对不上。
解决:

  1. 简单方法:维护一份显式"文件名 → 通道号"映射表(如 §6.4 的 OAR_MAP),启动时用 glob 枚举实际文件校验覆盖。
  2. 进阶方法:训练时按 McGill 方案把左右器官合并为单类、推理时再按解剖位置(质心 x 坐标符号)拆分左右,可缓解单类样本稀疏。
  3. SOTA 方法:合并左右 + 模态 dropout + 伪标签扩展的组合即当前后挑战赛最优实践(DS 78.12%)。
    参考:openmedlab 标签统计、arXiv 2405.10833

⚠️ 坑点 5:假设每例固定 30 个掩码,空掩码破坏损失计算(分类:标签理解)

问题:挑战赛口径是"最多 30 类":公开集脊髓仅 41/42 例有掩码,个别器官在部分病例中缺勾画。若代码硬编码 30 个通道并对其全部算 Dice,缺失器官会被当作"全零预测 vs 全零标签",部分实现会吐出 NaN 或把 0/0 记为 0 分拉低均值。
症状:训练早期 loss 出现 NaN;按 30 类平均的 DSC 系统性偏低且不可比;某通道始终无梯度。
解决:

  1. 简单方法:损失与评估都按"该病例实际存在的器官子集"归一化(存在性掩码加权)。
  2. 进阶方法:Dice 计算显式处理分母为零(返回跳过而不是 0);对缺失通道不反传梯度。
  3. SOTA 方法:逐器官报告 + 逐器官加权(小器官更高权重)已是挑战赛与后续论文的通行报告口径。
    参考:挑战赛论文、openmedlab 统计

⚠️ 坑点 6:DSC/HD95 实现差异导致数字不可比(分类:评估误用)

问题:官方排名用 Google DeepMind 的 DSC/HD95 实现;开源生态里 HD95 在对称性、百分位取法、体素-毫米换算、边界采样上差异极大。官方团队自己专门发表了该问题的研究论文。
症状:同一模型本地 HD95 3 mm、别人复现 5 mm;论文间 HD95 数字完全无法横向比较。
解决:

  1. 简单方法:固定一个实现(官方采用的 DeepMind 版或论文同款)并写进报告协议。
  2. 进阶方法:同时报告 DSC 与 HD95,并注明插值(原始 spacing vs 各向同性重采样)与计算域(全图 vs 非零区域)。
  3. SOTA 方法:按官方团队的度量审计论文逐项核对实现行为(对称 Hausdorff、95 百分位、空集语义),公开评估代码。
    参考:Understanding implementation pitfalls of distance-based metrics(arXiv 2410.02630)

⚠️ 坑点 7:各向异性体素与 512/1024 矩阵混用的重采样陷阱(分类:预处理陷阱)

问题:层厚 2.0-3.0 mm 而面内 0.52-1.56 mm,矩阵从 512×512×116 到 1024×1024×323 不等。直接用线性插值处理掩码、或对不同病例用同一固定 patch 尺寸,会引入锯齿边界或把小器官(耳蜗约 0.26 cm³)重采样到接近消失。
症状:小器官 DSC 折间剧烈波动;掩码边界出现台阶伪影;显存因个别 1024³ 病例溢出。
解决:

  1. 简单方法:图像三线性、掩码最近邻,统一重采样到固定目标 spacing(如 1×1×2 mm)。
  2. 进阶方法:小器官通道改在原始分辨率上评估,或对重采样后体素数低于阈值的器官做上采样补偿;按包围盒裁剪控制显存。
  3. SOTA 方法:直接使用 nnU-Net v2 的自动 spacing/patch 配置(官方 baseline 即 nnU-Net),其针对各向异性数据集的启发式已充分验证。
    参考:openmedlab 尺寸统计、nnU-Net 官方仓库

⚠️ 坑点 8:在 42 例训练集内自测并与挑战赛排名直接比较(分类:评估误用)

问题:14 例测试集保留在平台侧,很多工作只在 42 例内部留出自测就报告"达到挑战赛水平";但挑战赛数字是全 CT 覆盖口径,官方 CV 实验只分割 MR/CT 重叠区域,且平台评估使用统一 Docker 环境——三种口径互不可比。
症状:自测 DSC 明明超过冠军,按官方协议提交平台后排名靠后;审稿人质疑协议不透明。
解决:

  1. 简单方法:报告任何数字时同时写明数据范围(42 例 CV / 平台测试集)、覆盖域(全 CT vs 重叠区)与实现版本。
  2. 进阶方法:复现官方协议——5 折 CV + 平台 Docker 提交,把 CV 数字作为开发指标、平台数字作为对外结论。
  3. SOTA 方法:如 McGill 团队,先平台正式评估(DS 78.12%)再补三个 TCIA 外验数据集,形成"内测 + 官测 + 外验"三层证据链。
    参考:Grand Challenge 结赛说明、arXiv 2405.10833

§6.6 数据增强

数据增强的原则由数据集的两大结构特性决定:双模态未配对对齐(任何几何变换必须三套体数据同步)与小器官脆弱性(任何形变必须限制在小结构可承受的幅度内)。下表按安全与危险二分给出操作清单:

类别 操作 说明
安全 ✅ 同步随机仿射(旋转/平移/缩放)同时作用于 CT、MR 与掩码 必须共享同一随机参数,保持三套体数据对应关系
安全 ✅ CT 强度窗扰动、MR 逐例 z-score 后的高斯噪声/偏置场模拟 只动强度通道,不影响几何对应
安全 ✅ 模态 dropout(随机置零 CT 或 MR 输入通道) McGill 验证可提升单模态推理鲁棒性
危险 ❌ 对 CT 与 MR 分别独立做空间增强 立即破坏(未配准更要重建的)跨模态对应
危险 ❌ 大幅度弹性形变 耳蜗、晶状体等亚厘米结构会被拉毁,标签失真
危险 ❌ 用全数据集统计做强度归一化 验证折信息泄漏进训练统计

§6.7 模型推荐

模型 适配理由 起点难度
nnU-Net v2 官方 baseline 选用,自动处理 spacing/patch/类别不齐 低
官方多模态 U-Net(MICCAI 2023) MR 配准后入口拼接,挑战赛冠军同款思路 中
Swin UNETR / nnFormer 42 例小样本下 Transformer 与卷积混合的容量权衡 中
半监督/伪标签框架(McGill 式迭代伪标签) 借 TCIA 外部无标注数据扩展训练 高
预训练迁移(TotalSegmentator 等全身分割权重) 42 例从头训练欠采样,迁移可稳定早期收敛 中

选型路径建议:先跑通 nnU-Net 单模态(CT)作为锚点,再接入配准 MR 形成双模态基线,最后才引入架构创新——直接从复杂融合架构起步会同时引入数据坑与模型坑,难以归因。

§6.8 硬件需求

场景 显存 建议配置
单例调试/可视化 4 GB+ CPU 亦可完成 NRRD 读取与重采样
patch 训练(如 96×96×96) 11-24 GB 单张 RTX 3090/4090 或同级
全分辨率推理 + HD95 评估 16 GB+ 注意 1024×1024×323 体数据的内存峰值
5 折 CV 全流程 24 GB+ 每折 8-9 例,约数小时/折(nnU-Net 默认配置)

工程提示:NRRD 解压后逐例峰值内存可达数 GB(1024×1024×323 的 float32 约 1.3 GB,双模态加多掩码瞬时可达 4 GB 以上),DataLoader 的 num_workers 与 prefetch_factor 应据此收敛;磁盘上建议预留解压后约 10-15 GB 的空间余量。

§6.9 评估指标代码

官方报告 DSC(Dice similarity coefficient)与 HD95(95 百分位 Hausdorff 距离)双指标:前者度量重叠度、对大器官敏感,后者度量边界距离、对小器官与细长结构(脊髓、视神经)更敏感——两者联用可避免"大器官掩盖小器官失败"的均值假象。

import numpy as np

def dice(pred: np.ndarray, gt: np.ndarray) -> float:
    pred, gt = pred > 0, gt > 0
    denom = pred.sum() + gt.sum()
    if denom == 0:          # 两侧皆空:视为完美一致而非 0 分(坑点 5)
        return 1.0
    return 2.0 * (pred & gt).sum() / denom

def hausdorff95(pred: np.ndarray, gt: np.ndarray, spacing: tuple) -> float:
    pred, gt = pred > 0, gt > 0
    if not pred.any() or not gt.any():
        return np.nan       # 语义与官方协议对齐:缺结构时返回缺失而非 0
    from scipy.ndimage import distance_transform_edt
    d_pred = distance_transform_edt(~pred, sampling=spacing)
    d_gt = distance_transform_edt(~gt, sampling=spacing)
    surf_pred, surf_gt = pred & ~__import__("scipy.ndimage", fromlist=["binary_erosion"]).binary_erosion(pred), gt & ~__import__("scipy.ndimage", fromlist=["binary_erosion"]).binary_erosion(gt)
    hd = np.concatenate([d_gt[surf_pred], d_pred[surf_gt]])
    return float(np.percentile(hd, 95))

注意:这是教学实现;正式报告请固定官方认可实现并声明版本(坑点 6)。HD95 对边界体素化方式极其敏感。

挑战赛口径的逐器官聚合评估代码(对齐"按器官汇总、存在性归一"的报告习惯):

import numpy as np

def evaluate_case(pred_vols, gt_vols, oar_names, spacing):
    # pred_vols/gt_vols: (C, D, H, W);缺失通道为全零且记录在 present 中
    rows = []
    for c, name in enumerate(oar_names):
        gt = gt_vols[c]
        if gt.sum() == 0:            # 该器官未勾画:跳过而非计 0 分(坑点 5)
            rows.append((name, np.nan, np.nan))
            continue
        d = dice(pred_vols[c], gt)
        h = hausdorff95(pred_vols[c], gt, spacing)
        rows.append((name, d, h))
    return rows

def aggregate(per_case_rows):
    # 按器官聚合:先对每器官取病例均值(跳过 NaN),再对器官取均值
    df = {}
    for rows in per_case_rows:
        for name, d, h in rows:
            df.setdefault(name, []).append((d, h))
    organ_d = [np.nanmean([x[0] for x in v]) for v in df.values()]
    organ_h = [np.nanmean([x[1] for x in v if not np.isnan(x[1])]) for v in df.values()]
    return float(np.nanmean(organ_d)), float(np.nanmean(organ_h)), df

报告时建议同时给出"逐器官均值 + 全局体素均值 + 中位"三种聚合,并附逐器官表格——小器官与总均值分离是审稿人最常核查的项。

§6.10 MLOps 笔记

  • 数据版本化:记录 Zenodo Version 1.0 + MD5(c3d3070de3034933a63031b73b9cf0fc)于实验配置中,防止数据漂移引发的不可复现。
  • 折分配入库:把 5 折的 case 列表写入 git 管理的 JSON,禁止每次运行随机重划。
  • 评估协议固化:DSC/HD95 实现、spacing、覆盖域写进 eval_config.yaml,与模型权重一起归档。
  • 提交环境:平台评估用 Docker,镜像内锁定 torch/MONAI 版本;本地与镜像环境差异是排名波动常见来源。
  • 监控:跟踪逐器官 DSC 而非仅均值,小器官指标崩坏(视交叉、耳蜗)是过拟合最早的信号。
  • 实验对照表:每次实验记录"是否配准 MR、是否模态 dropout、增强策略"三列布尔——在 42 例规模下,这三个开关的组合差异往往大于架构差异。
  • 失败案例归档:把验证折上 DSC 最低的 3 例连同叠加可视化存入实验目录,小样本研究中这些案例几乎总能解释大部分指标波动。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
中心偏倚 全部 56 例来自斯洛文尼亚单一肿瘤中心,设备与勾画习惯同质 高 外部验证(TCIA 数据集/本地数据)后再迁移
模态窄化 仅对比增强 CT 与 T1 加权 MR,不含平扫 CT、T2/增强 MR 中 训练时模态 dropout,勿假设跨序列泛化
样本量偏倚 42 例训练规模极小,深度模型易过拟合 高 nnU-Net 强增强、预训练权重、半监督扩展
勾画来源偏倚 技师与医师两类勾画者混合,curation 单人完成 中 vOARiability 提供变异基线;评估时按 annotation_type 分层检查
小器官统计偏倚 亚厘米器官(耳蜗、晶状体、视交叉)体素占比极低 中 逐器官评估、加权损失、左右合并训练
语言与文档偏倚 官方文档与论文均为英语,掩码命名遵循英文 AAPM 规范 低 中文使用团队建立双语器官映射表即可消除

§7.2 标注质量

标注经"临床勾画 + 研究者统一整理"两级流程;独立可变性研究(vOARiability,Medical Physics 2024)系统量化了观察者间与模态间差异,这在公开数据集中少见。挑战赛头部方法超过观察者间一致性这一事实提示:参考掩码本身存在固有变异,不应把 DSC 76.9% 解读为"剩余 23% 都是模型错误"——相当部分是勾画标准内在的不确定性。

从使用者视角解读 vOARiability 的三点实践价值:其一,它为每个 OAR 给出了"人类之间也不一致到什么程度"的量化基线,评估自动方法时应把低于该基线的差距视为噪声而非缺陷;其二,它揭示了 CT 与 MR 上勾画的系统性差异(模态间变异),提示在 MR 侧重建监督信号时不要以 CT 掩码为绝对真值;其三,它为"哪些器官的自动勾画已可上线、哪些必须人工复核"提供了按器官分级讨论的依据——小结构与边界模糊结构(视交叉、环咽肌)天然处于变异最大的区间。

§7.3 泛化性评估

目标场景 失效风险 证据
其他中心 CT/MR 设备与协议 高:单中心训练,HU 分布与磁场偏置不同 McGill 团队报告颈动脉在外部数据上因 HU 分布差异需阈值兜底(arXiv 2405.10833)
MR-only 推理 中:无 MR 监督标签,依赖配准/合成 官方与 McGill 均以模态 dropout 缓解
非 T1 序列(T2、增强 MR) 高:序列外推无证据 数据集仅含 T1 加权
头颈以外解剖区域 极高:器官清单专为头颈设计 类别定义即边界
儿童与青少年人群 极高:数据为成人头颈放疗人群,无儿科证据 官方人群描述为成人放疗患者

§7.4 伦理合规

数据经匿名化处理(官方 Zenodo 描述明示 anonymized),研究获卢布尔雅那肿瘤研究所伦理委员会批准(No. ERID-EK/139,哥本哈根大学研究档案)。头颈部影像包含面部可识别特征,是所有影像模态中隐私敏感度最高的区域之一,后续研究者应继续遵循"不尝试身份重识别、不再分发衍生影像"的约束(CC BY-NC-ND 的 ND 条款与此一致)。

对国内使用者的合规提示:数据许可为 CC BY-NC-ND 4.0,商业用途(含商业产品内嵌与商业化服务调用)被明确排除;发表成果必须引用数据集论文;若需将掩码用于衍生数据集发布,ND 条款要求不直接分发修改后的原始影像,衍生研究应在新授权下另行联系官方团队。

§7.5 公平性

官方通过分层随机划分保持了年龄与性别分布在训练/测试集之间的一致,但 56 例单中心样本无法代表全球头颈癌人群(不同地区、种族、医疗资源层级),未披露种族构成。将其性能结论外推到其他人群时应明确声明证据边界。

公平性层面的三点提示:单中心欧洲数据上的性能不构成对其他人群的泛化证据;头颈癌的病因谱(HPV 相关口咽癌、烟酒相关口腔癌等)存在显著地域差异,可能间接影响解剖形态与靶区分布;在把模型部署到不同医疗层级机构时,低端设备的图像质量漂移与欠代表性人群会叠加放大性能方差——这两点都应在部署前评估中被显式检验。

§7.6 数据漂移

数据集为 2023-01 一次性冻结发布,无增量更新;漂移风险主要来自使用侧——放疗定位设备换代(如大孔径 CT、MR-sim)与勾画指南更新(如新 OAR 清单)会使 2023 年掩码标准与新临床标准之间出现概念漂移。建议在长期项目中定期用新采集数据评估参考掩码时效性。

漂移监控的可操作建议:把逐器官 DSC 按月/按批次跟踪,若某批新数据上颈动脉或腮腺的 DSC 系统性下滑而脑干稳定,优先怀疑设备或协议更换(HU 分布、层厚变化)而非模型退化;同时保存每批数据的 spacing 分布直方图,其中心偏移往往早于指标恶化出现。

此外,Zenodo 的 concept DOI(10.5281/zenodo.7442914 所在记录族)机制保证:即便未来官方发布新版本,引用与链接仍然有效,使用侧只需对比版本变更说明即可评估漂移影响——这是引用与版本管理在单一数据集内部自洽的少见范例。

§7.7 DAIMS 数据质量评估(24 项)

# 检查项 状态 说明
1 宽格式 ✅ 两个 CSV(病例级/器官级)+ 每例文件目录,结构扁平清晰
2 唯一标识 ✅ case_XX 前缀贯穿目录与文件名,患者与病例一一对应
3 特殊字符 ✅ 文件名仅字母数字下划线连字符,跨平台安全
4 重复行 ✅ 56 例互不重复,无跨集患者重叠
5 缺失编码 ⚠️ 掩码缺失以文件不存在表达,语义明确但需代码显式处理
6 标签标识 ✅ AAPM 规范器官命名,左右后缀清晰
7 罕见类分组 ⚠️ 小器官体积极小,无官方分组建议,需自行加权/合并
8 偏倚评估 ✅ vOARiability + 挑战赛报告提供变异与难度基线
9 数据字典 ⚠️ CSV 列语义依赖论文叙述,无独立机器可读字典文件
10 信息性缺失解释 ✅ "最多 30 类"口径在论文与 Zenodo 描述中均有声明
11 设备记录 ❌ CT/MR 厂商型号未披露
12 共线性 ✅ 无表格型共线性问题(影像数据集不适用)
13 编码映射 ✅ 器官名与 AAPM/公开命名的映射关系可由文件名直接重建
14 时间戳处理 ⚠️ 无逐例采集时间戳公开,无法做时序分析
15 划分建议 ✅ 官方 42/14 划分 + 分层变量明确
16 泄漏讨论 ✅ 患者级划分天然隔离;挑战赛协议明确禁止测试集接触
17 标签分布 ✅ 30 类覆盖例数可完整枚举(脊髓 41/42)
18 测量偏倚 ⚠️ 技师/医师混合勾画引入来源变异,有 vOARiability 缓解但未逐例标注
19 外部验证建议 ✅ 官方鼓励外验;McGill 提供三个 TCIA 数据集的现成方案
20 版本记录 ✅ Zenodo Version 1.0 + concept DOI,MD5 明示
21 预处理脚本 ⚠️ 提供 nnU-Net baseline,但官方未发布端到端预处理脚本
22 合规要求 ✅ CC BY-NC-ND 4.0 + 引用要求 + 伦理批件号公开
23 多模态对齐 ❌ CT/MR 刻意不配准(研究特性),使用侧必须自行对齐
24 去标识化 ✅ 官方声明匿名化;头颈部隐私风险有专门讨论

DAIMS 评分:17.5 / 24

评分解读:该数据集在标识、划分、合规、版本管理上达到公开数据集的一流水准(✅ 17 项);短板集中在三点——设备信息缺失、多模态刻意不对齐、CSV 无机器可读字典(❌ 2 项 + ⚠️ 5 项)。它是一个"研究特性优先"的数据集:不对齐与保留测试集是设计选择,而非质量缺陷,但会把相当一部分工程负担转移给使用者。

对你意味着什么:如果你只有一周时间,直接采用 nnU-Net + 官方划分 + 本页 §6.4 数据加载模板,可以跳过 DAIMS ⚠️/❌ 项里 80% 的工程坑;如果你要做多模态融合研究,请把"配准验证"当作独立实验环节预算时间(坑点 1、2 是成败分水岭);如果你要发表结果,务必逐器官报告并声明评估协议(坑点 6、8),否则数字不可比。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
Glis-RT、BGPD、HNSCC TCIA(多中心) 30 类 OAR 自动勾画 DS 77.43%、HD 3.27 mm(与 Limbus AI 商用勾画一致率) 较 HaN-Seg 内部(DS 78.12%)轻微下降 跨数据集泛化总体稳健;颈动脉因 HU 分布差异需阈值兜底(arXiv 2405.10833)
5 个头颈 CT 队列(含 HaN-Seg 作外验) DKFZ、HIT、TCIA、UKHD 等 颈椎/颅骨等单骨分割 见原文 用于量化跨协议泛化 HaN-Seg 被用作不同采集协议下的泛化探针(PMOP 论文)
三款商用 AI 勾画软件 Scientific Reports 2025 几何/剂量/心理测量学评估 见原文 商业软件 vs 官方协议 展示该数据集作为第三方评测场的可复用性(DOI 10.1038/s41598-025-18598-3)

§8 基准性能与生态

§8.1 排行榜

排名 模型/团队 性能 年份 关键技术 完整引用 代码
挑战赛第 1 冠军团队(7 支提交队伍之首) DSC 76.9%、HD95 3.5 mm 2024 MR-to-CT 刚性配准 + 网络入口级拼接,U-Net 架构 Podobnik et al., 2024, Radiotherapy and Oncology. DOI 10.1016/j.radonc.2024.110410 平台提交
后挑战赛最优 Quetin et al.(McGill) DS 78.12%、HD 3.42 mm 2024 296 例扩展训练(42 人工 + 254 伪标签)、左右合并、模态 dropout Quetin et al., 2024, arXiv:2405.10833 未公开
官方参考 官方多模态模型 5 折 CV、MR/CT 重叠区域口径 2023 双模态入口融合 Podobnik et al., 2023, MICCAI 2023, LNCS 14223. DOI 10.1007/978-3-031-43901-8_71 未公开
官方基线 nnU-Net(官方训练) 见数据集论文 2023 nnU-Net 自动配置 Podobnik et al., 2023, Medical Physics. DOI 10.1002/mp.16197 nnU-Net

⚠️ 数值不可直接比较:冠军数字来自平台统一环境与全部 30 类;McGill 数字使用了 254 例额外伪标签数据;官方 CV 只覆盖 MR/CT 重叠区域。任何跨行比较都需先对齐协议(坑点 8)。

榜单解读的两点提醒:其一,"后挑战赛最优超过挑战赛冠军"并不意味着冠军方法弱——两者的训练数据量相差 7 倍(42 例 vs 296 例),反映的是伪标签扩展的边际收益;其二,挑战赛 7 支队伍全部采用 U-Net 家族架构,说明在 42 例规模下架构创新的空间被数据量约束,这一结论对研究选题有直接指导意义。

§8.2 SOTA 总结与选型建议

截至 2026-09,公开可查的最优数字为 McGill 团队的 DS 78.12%(扩展训练后于平台测试集取得);挑战赛内最优为 76.9%。选型建议:工程落地直接以 nnU-Net v2 + 配准 MR 拼接为基线,其投入产出比最高;研究创新点集中在配准无关的跨模态融合与伪标签扩展;小样本场景优先考虑预训练(TotalSegmentator 等全身分割权重迁移)而非从头训练。

从方法演化看,三条经验已被反复验证:其一,配准质量的上限决定融合收益的上限——所有头部方法都在配准环节投入了不成比例的精力;其二,左右器官合并训练是免费的午餐,在类别稀疏问题上有稳定收益;其三,伪标签扩展(42 → 296 例)带来约 1.2 个点的 DS 提升,提示该基准的主要瓶颈是数据量而非模型容量,这也正是社区转向 SegRap2023 等更大规模基准时仍反复回归 HaN-Seg 做方法学对照的原因。

§8.3 评测协议

官方协议要点(挑战赛论文):任务为对 14 例测试集的 CT 输出最多 30 类 OAR 掩码(CT 坐标系);指标为 DSC 与 HD95(Google DeepMind 实现);排名采用 Wilcoxon 符号秩检验加 Bonferroni 校正的统计显著性计分,而非单纯均值排序;提交物为 Docker 容器,在平台侧运行于原始影像之上。初步阶段(4 例预选、每周限一次提交)与最终阶段(全部 14 例、每日限一次)分设。

该协议有三个值得复用的方法论细节:

  1. 统计排名优先于均值排名:对 14 例小样本,均值排序极易被单例离群翻转;Wilcoxon 配对检验加 Bonferroni 校正把"稳定更好"置于"偶尔更高"之上,是同类小样本基准的推荐做法。
  2. 原始影像上评估:方法以 Docker 提交、在平台侧从头跑完预处理到预测的全流程,杜绝"在本地精修预处理后再比对"带来的环境不可比。
  3. 分阶段限频:初赛 4 例高频反馈、决赛 14 例限频提交,兼顾了开发迭代速度与防止对测试集过拟合的隔离需求。

post-challenge 阶段平台保持开放提交,研究者可在挑战赛结束后继续取得官方测试集成绩,这对方法迭代型论文尤其有价值。

若你所在团队计划提交,操作清单:注册团队账号 → 下载 42 例训练集开发 → 初步阶段以 4 例预选校验管线(Docker 内含预处理-推理-格式化全流程)→ 决赛阶段在全部 14 例上出正式成绩 → 结果以平台报告单为准对外引用。

数据集 规模 模态 OAR 数 备注
PDDCA 48 例 CT 9 经典头颈基准,社区沿用多年
StructSeg2019 60 例(挑战赛口径) CT 13 MICCAI 2019 挑战赛
SegRap2023 200 例 CT(增强+平扫) 45 + 2 GTV 鼻咽癌,MICCAI 2023
RT-MAC 55 例 MR 3 类结构 AAPM 2019,MR-only
HNSCC-3DCT-RT 94 例 CT RT-STRUCT 轮廓 TCIA 收录
RADCURE 3,346 例 CT 肿瘤+淋巴结+19 OAR 规模最大,含临床元数据
Head-Neck-CT-Atlas 190 例 CT RT-STRUCT 轮廓 MD Anderson

规模来源:挑战赛论文、头颈综述与外部验证研究。

横向选择的速判规则:追求规模与临床元数据选 RADCURE;追求 OAR 类别完备性选 SegRap2023;做 CT/MR 多模态融合则 HaN-Seg 仍是唯一选择;把 HaN-Seg 与 CT-only 基准联用时,注意后者多为 RT-STRUCT 轮廓来源,掩码栅格化口径需统一。

§8.5 关键论文 Top 7

  1. Podobnik G, Strojan P, Peterlin P, Ibragimov B, Vrtovec T. HaN-Seg: The head and neck organ-at-risk CT and MR segmentation dataset. Medical Physics, 2023, 50(3): 1917-1927. DOI 10.1002/mp.16197 — 数据集本体论文:56 例构成、划分协议与 nnU-Net baseline。
  2. Podobnik G, Ibragimov B, Tappeiner E, et al. HaN-Seg: The head and neck organ-at-risk CT and MR segmentation challenge. Radiotherapy and Oncology, 2024, 198: 110410. DOI 10.1016/j.radonc.2024.110410 — 挑战赛报告:7 队方法、统计排名协议与冠军数字。
  3. Podobnik G, Ibragimov B, Peterlin P, Strojan P, Vrtovec T. vOARiability: Interobserver and intermodality variability analysis in OAR contouring from head and neck CT and MR images. Medical Physics, 2024, 51(3): 2175-2186. DOI 10.1002/mp.16924 — 观察者间/模态间变异性基线。
  4. Podobnik G, Strojan P, Peterlin P, Ibragimov B, Vrtovec T. Multimodal CT and MR Segmentation of Head and Neck Organs-at-Risk. MICCAI 2023, LNCS 14223: 745-755. DOI 10.1007/978-3-031-43901-8_71 — 官方多模态分割模型与 5 折 CV 协议。
  5. Quetin S, et al. Automatic Segmentation of Organs at Risk in Head and Neck Cancer Patients from CT and MR scans. arXiv:2405.10833, 2024 — 后挑战赛最优(DS 78.12%)与三数据集外验。
  6. Šter RM, Podobnik G, Vrtovec T. Diffusion-based MR-to-CT translation of head and neck images. SPIE Medical Imaging 2025. DOI 10.1117/12.3047458 — MR-only 放疗方向的官方延伸。
  7. Podobnik G, Vrtovec T. Understanding implementation pitfalls of distance-based metrics for image segmentation. arXiv:2410.02630, 2024 — DSC/HD95 实现差异的系统审计,评估协议必读。

前四篇构成官方论文体系(数据集 → 挑战赛 → 可变性 → 模型),后三篇代表社区延伸与官方方法学外溢;动手实验前至少通读第 1、2、7 篇。

§8.6 社区活跃度

数据集论文 Google Scholar 引用 115+ 次(截至 2026-09,作者主页);Zenodo 记录浏览与下载量级为千次(OpenAIRE 指标);挑战赛 23 支队伍注册、7 支完成最终提交。挑战赛平台在结赛后保持开放(post-challenge phase 可继续提交),官方在结赛说明中持续引导社区引用四篇配套论文。

引用构成也反映了生态走向:数据集论文的引用既来自头颈放疗自动勾画的垂直研究,也来自多模态分割方法论研究(把 HaN-Seg 当作"未配准双模态"的天然试验场);官方团队在 2024-2025 年间持续产出 vOARiability、距离度量审计、扩散 MR-to-CT 转换与商用软件评估等延伸工作,表明该数据集处于活跃维护与扩展状态,而非一次性发布后弃管。

§8.7 生态快照

资源 类型 链接 状态(截至 2026-09) 推荐理由
Zenodo 记录 数据 zenodo.org/records/7442914 Version 1.0,MD5 校验公开 唯一官方数据入口
Grand Challenge 平台 评测 han-seg2023.grand-challenge.org 结赛但保持提交开放 唯一合规测试集通道
LIT 实验室资源页 官方主页 lit.fe.uni-lj.si 维护中 三篇配套论文 PDF 直链
nnU-Net 基线代码 github.com/MIC-DKFZ/nnUNet 活跃维护 官方 baseline 所用框架
MONAI 工具链 monai.io 活跃维护 NRRD 读取与 3D 分割组件
Med-ImageTools 数据管线 F1000Research 论文 引用项目 维护中 跨头颈数据集的 RT-STRUCT/NRRD 标准化
OpenAIRE 指标页 计量 explore.openaire.eu 持续更新 数据集浏览/下载量与引用网络

生态快照的总体判断:HaN-Seg 的周边工具链(nnU-Net、MONAI、Med-ImageTools)全部是社区通用组件而非数据集专用代码,这意味着生态健康度不依赖于单一小团队,但也意味着使用者需要自行组装"读取 → 转换 → 训练 → 评估"链条,§6 的管线模板正是为弥合这一缺口而写。


§9 相关资源与引用

§9.1 官方资源

§9.2 BibTeX 完整引用

@article{HaNSeg_dataset,
  author  = {Ga{\v{s}}per Podobnik and Primo{\v{z}} Strojan and Primo{\v{z}} Peterlin and Bulat Ibragimov and Toma{\v{z}} Vrtovec},
  title   = {{HaN-Seg}: {T}he head and neck organ-at-risk {CT} \& {MR} segmentation dataset},
  journal = {Medical Physics},
  year    = {2023},
  volume  = {50},
  number  = {3},
  pages   = {1917--1927},
  doi     = {10.1002/mp.16197}
}

@article{HaNSeg_challenge,
  author  = {Ga{\v{s}}per Podobnik and Bulat Ibragimov and Elias Tappeiner and Chanwoong Lee and Jin Sung Kim and Zacharia Mesbah and Romain Modzelewski and Yihao Ma and Fan Yang and Miko{\l}aj Rudecki and Marek Wodzi{\'n}ski and Primo{\v{z}} Peterlin and Primo{\v{z}} Strojan and Toma{\v{z}} Vrtovec},
  title   = {{HaN-Seg}: {T}he head and neck organ-at-risk {CT} and {MR} segmentation challenge},
  journal = {Radiotherapy and Oncology},
  year    = {2024},
  volume  = {198},
  pages   = {110410},
  doi     = {10.1016/j.radonc.2024.110410}
}

@article{vOARiability,
  author  = {Ga{\v{s}}per Podobnik and Bulat Ibragimov and Primo{\v{z}} Peterlin and Primo{\v{z}} Strojan and Toma{\v{z}} Vrtovec},
  title   = {vOARiability: {I}nterobserver and intermodality variability analysis in {OAR} contouring from head and neck {CT} and {MR} images},
  journal = {Medical Physics},
  year    = {2024},
  volume  = {51},
  number  = {3},
  pages   = {2175--2186},
  doi     = {10.1002/mp.16924}
}

@inproceedings{HaNSeg_miccai,
  author    = {Ga{\v{s}}per Podobnik and Primo{\v{z}} Strojan and Primo{\v{z}} Peterlin and Bulat Ibragimov and Toma{\v{z}} Vrtovec},
  title     = {Multimodal {CT} and {MR} Segmentation of Head and Neck Organs-at-Risk},
  booktitle = {Medical Image Computing and Computer Assisted Intervention -- MICCAI 2023},
  series    = {Lecture Notes in Computer Science},
  volume    = {14223},
  pages     = {745--755},
  year      = {2023},
  doi       = {10.1007/978-3-031-43901-8_71}
}

@misc{HaNSeg_data,
  author = {Ga{\v{s}}per Podobnik and Primo{\v{z}} Strojan and Primo{\v{z}} Peterlin and Bulat Ibragimov and Toma{\v{z}} Vrtovec},
  title  = {{HaN-Seg}: {T}he head and neck organ-at-risk {CT} \& {MR} segmentation dataset},
  year   = {2023},
  doi    = {10.5281/zenodo.7442914},
  url    = {https://zenodo.org/records/7442914}
}

§9.3 引用指南

使用 HaN-Seg 公开训练数据(任何形式,包括仅用其中子集)必须引用数据集论文(Medical Physics 2023);使用挑战赛结果或测试集协议时应引用挑战赛报告(Radiotherapy and Oncology 2024);引用观察者一致性结论时引用 vOARiability。官方 Zenodo 页面提供上述 HaNSeg_dataset 条目作为标准引用格式。

组合引用的常见场景对照:

你的论文涉及内容 至少需要引用
仅用 42 例训练集开发方法 HaNSeg_dataset(Medical Physics 2023)
报告平台测试集成绩或与挑战赛排名对比 HaNSeg_dataset + HaNSeg_challenge
讨论人类一致性或勾画变异 HaNSeg_dataset + vOARiability
与官方多模态模型对比 HaNSeg_dataset + HaNSeg_miccai
数据集本身作为研究对象(引用数据 DOI) HaNSeg_data(Zenodo)+ HaNSeg_dataset

§10 AI 使用声明卡

§10.1 AI 模型列表

本页面由千方病案医数集生产管线生成,底层使用大语言模型(LLM)辅助检索归纳、结构化写作与代码示例生成。页面中的 Python/SimpleITK 代码示例为 AI 起草后经人工逻辑走查的教学实现,用于演示数据结构与处理思路,未经大规模生产环境验证。

§10.2 AI 参与范围

AI 参与:文献检索结果的结构化整理、章节初稿撰写、数据字典与代码示例起草、DAIMS 逐项初评。AI 不参与:事实数字的最终定夺(全部数字以检索来源为准)、医学结论解释、合规判断。全部内容由人工复核后发布。

需要特别说明的两处判断性内容:其一,§7.7 的 DAIMS 评分为编辑部依据 24 项检查对公开信息的结构化评估,反映的是"信息可得性与工程友好度"而非数据科学价值本身;其二,§4.1 字段字典中对 CSV 取值的若干单元格(年龄、性别、标注类型的具体枚举)未在公开资料中逐一核实,本页选择如实标注而非臆测,使用者以解压后的官方 CSV 为最终依据。

§10.3 输入来源列表

本页事实与数字的主要来源共 17 条,全部为公开可访问页面或论文;数字核实以官方 Zenodo 记录、Grand Challenge 平台与同行评审论文为最高优先级,聚合类第三方页面(如 openmedlab)仅用于标签统计等补充信息。

  1. Podobnik G, Strojan P, Peterlin P, Ibragimov B, Vrtovec T. HaN-Seg: The head and neck organ-at-risk CT and MR segmentation dataset. Medical Physics, 2023, 50(3): 1917-1927. DOI 10.1002/mp.16197(PubMed)
  2. Podobnik G, Ibragimov B, Tappeiner E, et al. HaN-Seg: The head and neck organ-at-risk CT and MR segmentation challenge. Radiotherapy and Oncology, 2024, 198: 110410. DOI 10.1016/j.radonc.2024.110410(ScienceDirect)
  3. HaN-Seg 数据本体(Version 1.0)。Zenodo, 2023. DOI 10.5281/zenodo.7442914(记录页)
  4. HaN-Seg 挑战赛官方平台结赛说明。Grand Challenge(han-seg2023.grand-challenge.org)
  5. HaN-Seg 官方资源页。卢布尔雅那大学 LIT 实验室(lit.fe.uni-lj.si)
  6. Gašper Podobnik 学术档案(引用数)。Google Scholar(scholar.google.hr)
  7. Podobnik G, Ibragimov B, Peterlin P, Strojan P, Vrtovec T. vOARiability. Medical Physics, 2024, 51(3): 2175-2186. DOI 10.1002/mp.16924
  8. Podobnik G, Strojan P, Peterlin P, Ibragimov B, Vrtovec T. Multimodal CT and MR Segmentation of Head and Neck Organs-at-Risk. MICCAI 2023, LNCS 14223: 745-755. DOI 10.1007/978-3-031-43901-8_71
  9. Quetin S, et al. Automatic Segmentation of Organs at Risk in Head and Neck Cancer Patients from CT and MR scans. arXiv:2405.10833, 2024(arXiv)
  10. Podobnik G, Vrtovec T. Understanding implementation pitfalls of distance-based metrics for image segmentation. arXiv:2410.02630, 2024
  11. Šter RM, Podobnik G, Vrtovec T. Diffusion-based MR-to-CT translation of head and neck images. SPIE Medical Imaging 2025. DOI 10.1117/12.3047458
  12. HaN-Seg 条目。openmedlab/Awesome-Medical-Dataset(GitHub)
  13. HaN-Seg 数据集论文合法缴存记录(Issue 3)。英国国家图书馆目录(eld.bl.uk)
  14. HaN-Seg 论文记录(伦理与资助信息)。哥本哈根大学研究档案(researchprofiles.ku.dk)
  15. 头颈 CT 分割与检索综述。arXiv:2512.01589(arXiv)
  16. 头颈自动勾画临床可接受性框架研究。TipsRO(tipsro.science)
  17. HaN-Seg 数据集论文记录(许可证信息)。卢布尔雅那大学仓储 RUL(repozitorij.uni-lj.si)

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
规模、划分与子集构成 千方病案医学编辑部 对照数据集论文与 Zenodo 记录逐项核对 ✅ 已通过
机构与地域归属 千方病案医学编辑部 对照 PubMed 作者机构与官方资源页核对 ✅ 已通过
许可与访问级别 千方病案医学编辑部 对照 Zenodo 记录与挑战赛结赛说明核对 ✅ 已通过
基准数字与评测协议 千方病案医学编辑部 对照挑战赛论文与 arXiv 2405.10833 核对 ✅ 已通过
30 类 OAR 清单与覆盖统计 千方病案医学编辑部 对照 openmedlab 统计与论文核对 ✅ 已通过
预处理代码与坑点清单 千方病案医学编辑部 代码逻辑走查 + 官方文档比对 ✅ 已通过
ICD-11/SNOMED 映射 千方病案医学编辑部 与标准术语库条目核对 ✅ 已通过

§10.5 AI 生成章节标注

除上述人工校验记录覆盖的模块外,§1.0 速览、§1.2 战略价值、§2.5 临床价值、§7.7 评分解读为 AI 起草后经人工复核定稿。

§10.6 最后人工审核日期

2026-09-05

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


§C 结构化数据(JSON-LD)


相关数据集导航

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

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

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

返回 AI-Ready 数据集