信息速览
INFOBOX — AortaSeg-60 一屏速览
维度 内容 本质 真实临床 PACS 回顾抽取的 60 例胸腹主动脉 CT,配一份全自动、零人工修正的主动脉掩膜;不是挑战赛、不是金标准标注集 发布形态 GigaByte「Data Release」论文(doi:10.46471/gigabyte.183)+ Zenodo 数据记录(10.5281/zenodo.18147026,v1.1) 团队 瑞士洛桑大学医院(CHUV)与洛桑大学(UNIL)诊断与介入放射科,3 位作者同机构;通讯 Guillaume Fahrni 六类 Young(<30 岁正常)· Old(>70 岁正常)· Anev(主动脉瘤)· Dissec(主动脉夹层)· Ven(静脉期)· NonContrast(平扫)——每类恰好 10 例 期相 前四类为动脉期;第五类刻意取静脉期;第六类无对比剂 格式 NIfTI(.nii.gz),每例 1 个 image + 1 个 mask,共 120 个文件 分割工具 TotalSegmentator 2.12.0,任务号 52(aorta),Python 3.10.19,无预处理/无重采样/无强度归一化 人工参与 零。掩膜未经放射科医师编辑;两位医师只做定性技术核验(不评分、不出 Dice) 规模 60 例;Zenodo 6 个 zip 合计 15.9 GB(解压后更大) 许可 数据 CC0 1.0(公共领域);论文 CC BY 4.0——但数据包内 README 仍写 CC BY 4.0,冲突待解 伦理 CHUV 法务认定项目 Hors-LHR-BPR1247 不属瑞士《人类研究法》(HRA)适用范围,免伦理审批 最该记住的一句 这是自动化流水线的产出快照,不是标注金标准;README 明令「不得作为参考标准训练新模型」
§0 导读:这个数据集解决什么问题
医学影像分割领域长期存在一条被反复抱怨的断层:论文里报得好好的模型,一进真实医院就掉点。原因通常不在网络结构,而在数据——公开基准大多来自单一厂商、单一协议、健康人群为主、病灶样本稀薄的「干净」采集;而临床实际是多种期相、多种层厚、多种厂商、大量病理形态混杂。
AortaSeg-60 的定位就落在这个断层上。它不去造一个更大的、标注更精细的集合,而是反过来做了一件很朴素的事:从一家瑞士三级医院的 PACS 里翻出 2014–2024 十年的胸腹主动脉 CT,按临床特征挑成六组,每组十例,然后把原始体数据和一套自动化工具的输出原样打包公开。
这套设计有三个值得单独拎出来的特点:
- 它把「病理变异」当作一等公民。六类里有主动脉瘤、有夹层(Stanford A 与 B 都有,且限定未治疗),也有静脉期与平扫这两种「显影条件不利」的情形。对分割算法来说,这四类恰恰是最容易翻车的场景。
- 它公开的是自动化产出,而不是专家标注。掩膜由 TotalSegmentator 2.12.0 的任务 52 一次性生成,没有任何人工勾画、修正或剔除。作者对此毫不掩饰,甚至在数据集 README 里写了重话:复杂病例的掩膜不完整甚至错误,不应作为参考标准去训练新模型。
- 它让许可尽量简单。数据以 CC0 1.0 释出——理论上公共领域,连署名义务都不存在,商业使用也不受限。
于是这个条目的读者其实是两类人。第一类是做分割的研究者,他们想知道「现成的全自动工具在真实病理 CT 上到底错在哪里、错成什么样」,AortaSeg-60 提供了一份可以拿来直接对着看的错误样本册。第二类是做数据工程与评测设计的人,他们更关心另一件事:当一份开放数据集明确声明「掩膜不准」时,它还能不能被称作基准?这个问题的答案,构成了本条目后半部分的主要讨论。
需要提前说明的是:这份数据集没有提供 Dice、Hausdorff 距离之类的量化精度表,也没有给出人工金标准供对照。两位放射科医师的工作是定性核验——看看掩膜在不在、覆盖范围对不对、类别有没有串。所以任何把它当作「主动脉分割排行榜」来用的期待,都会落空。它的价值在别处,后文 §4 与 §7 会展开。
§1 数据集速览:十问十答
问 1:AortaSeg-60 是什么?
一份 60 例的胸腹主动脉 CT 数据集,每例给一个原始体数据与一个与之配准的主动脉分割掩膜,全部为 NIfTI 格式,2026 年 1 月以 v1.1 发布在 Zenodo,配套论文同年 5 月发表于 GigaByte。
问 2:60 例怎么分布?
六类各 10 例:年轻正常(<30 岁)、老年正常(>70 岁)、主动脉瘤、主动脉夹层、静脉期、平扫。这是人为均衡,不是按人群比例抽样——作者在论文里明确说这套设计用于覆盖形态与成像条件的谱系,而非反映流行病学分布。
问 3:图像是 CTA 吗?
不全是。前四类为动脉期增强扫描;第五类刻意选了静脉期;第六类完全不用对比剂。所以严格讲它是「CTA 与平扫 CT 的合集」,Zenodo 简介也是这样表述的(CTA and non-contrast CT)。
问 4:掩膜是谁标的?
没有任何人「标」。掩膜由 TotalSegmentator 2.12.0 的主动脉任务(task 52)全自动生成,跑在本地 GPU 工作站上,输入体数据没有做预处理、重采样或强度归一化——原样喂进去,原样吐出来。
问 5:那两位放射科医师做了什么?
做定性技术核验:确认掩膜确实存在、覆盖了预期的胸腹主动脉解剖范围、病例的类别归属与影像及报告一致、六类之间没有互相串(比如别的类里混进了动脉瘤,或者把期相归错了)。他们没有逐层修描,也没有给出量化评分。
问 6:许可到底是什么?
两层:论文 CC BY 4.0;数据在 Zenodo 记录页标注 CC0 1.0 Universal。但数据包里的 README.md 文本依旧写着「CC BY 4.0」——这是一处遗留冲突,见 §6.4 与坑点 4。
问 7:多大数据量?
Zenodo 六个压缩包合计 15.9 GB,另有一个 4.0 kB 的 README.md。论文正文按四舍五入写作「约 16 GB」。解压后的体数据会更大,单例数组常见为 512×512×500~1300 的三维立方。
问 8:能不能直接拿来训练?
技术上说可以下载;工程上要谨慎。README 的原话是掩膜在复杂病理下「不完整或不准确」,并明确建议不要当参考标准用。把它当作「自动化工具的输出样本集」或「域偏移压力测试输入」是更稳妥的用法。
问 9:有没有伦理问题?
作者声明 CHUV 法务部门确认该项目(编号 Hors-LHR-BPR1247)不落入瑞士《人类研究法》(HRA, SR 810.30)的适用范围,因此无需伦理委员会批准。去标识化处理包括清除 DICOM 身份字段、仅导出完全去标识的体积、解剖范围限于胸腹并排除面部结构、转换 NIfTI 时删除残留 JSON 元数据。
问 10:跟我手上已有的主动脉数据比,它补了什么?
补的是「病理形态 + 多期相 + 真实采集参数」三者的组合。库内同类条目多为单一任务、单一厂商或带人工金标准的集合(如 3D-IRCADb、AbdomenCT-1K),AortaSeg-60 的差异点不在规模,而在刻意保留了自动化的不完美。这一点在 §9 的对照表里有更细的比较。
§2 数据构成与规格
2.1 规模、来源与机构构成
数据的来路很单纯:一家医院、一台厂商、十年跨度。
- 机构:洛桑大学医院(Centre Hospitalier Universitaire Vaudois, CHUV)与洛桑大学(UNIL)诊断与介入放射科,地址 Rue du Bugnon 46, CH-1011 Lausanne,ROR 标识 019whta54。
- 时间:2014–2024 年,回顾性抽取。
- 设备:单一厂商 GE Healthcare;128–256 层配置;层厚 0.60–1.25 mm;重建矩阵 512×512;管电压 80–120 kVp;自动管电流调制;标准软组织核重建;视野以胸腹为中心。
- 门控:所有检查(包括静脉期与平扫)均为 ECG 门控。这一点常被忽略——平扫也做心电门控,说明该院的胸腹 CTA 协议统一按心脏/大血管检查的标准执行,这对主动脉根部附近的分割稳定性是有利的。
- 注射时序:动脉期约 40 s,静脉期约 90 s。
抽样流程分两步走:先按放射报告的文本关键词(如 “aortic aneurysm”、“aortic dissection”、“aorta”)初筛,再逐例打开图像目视确认,判断归入正常类还是病理类。这套「先文本后图像」的两段式在回顾性数据构建里很常见,好处是可解释,代价是依赖报告质量。
病例数 60 例,六类各 10 例。作者没有披露这 60 例在十年间原始候选池里的占比,也没有说明剔除标准(例如是否有严重金属伪影被排除)。这两点是回顾性抽取常见的透明度缺口。
2.2 掩膜规格与对齐保证
掩膜与图像的关系可以用一句话概括:同一几何、同一网格、零重采样。
| 维度 | 规格 |
|---|---|
| 文件格式 | NIfTI,扩展名 .nii.gz |
| 每例文件数 | 2(image + segmentation) |
| 掩膜生成工具 | TotalSegmentator 2.12.0 |
| 任务标识 | 52(aorta) |
| 生成环境 | Python 3.10.19,本地 GPU 工作站 |
| 预处理 | 无 |
| 重采样 | 无 |
| 强度归一化 | 无 |
| 人工修正 | 无 |
| 标签体系 | 单标签:主动脉 |
「无重采样」这一点值得单独说。很多自动化流水线会在推理前把体数据重采样到统一体素间距(例如 1.5 mm 各向同性),再在结果上逆变换回原网格。AortaSeg-60 没有这么做:原体素间距直接进网络,输出的掩膜直接落盘为 .nii.gz。好处是掩膜与原始图像逐体素一一对应,用任何 NIfTI 读取器叠图都不会出现半个体素的错位;代价是当体素间距变化范围较大时(本数据集中从 0.50 mm 到 0.73 mm 层厚不等),算法表现的波动会直接体现在掩膜质量上,而不会被人为的标准化抹平。
这也解释了为什么同一套工具在这批数据上的错误形态会比其他场景更"真实":没有预处理,就没有遮羞布。
2.3 类别体系与六组的临床含义
六类标签的设计逻辑并非按疾病谱划分,而是按「算法可能在哪里失效」划分。
| 类别 | 缩写 | 临床条件 | 期相 | 对分割的主要挑战 |
|---|---|---|---|---|
| 年轻正常 | Young | 年龄 < 30 岁,主动脉形态正常 | 动脉期 | 主动脉纤细、与周围血管对比强烈,易与毗邻结构混淆 |
| 老年正常 | Old | 年龄 > 70 岁,正常或年龄相关改变 | 动脉期 | 钙化、迂曲、管径不均,壁缘不规则 |
| 主动脉瘤 | Anev | 累及一个或多个主动脉段的瘤样扩张 | 动脉期 | 瘤壁、附壁血栓与管腔边界模糊 |
| 主动脉夹层 | Dissec | 未治疗的 Stanford A 型或 B 型 | 动脉期 | 真假腔、内膜片,单标签下"主动脉"到底指哪部分没有定义 |
| 静脉期 | Ven | 无显著主动脉病变 | 静脉期 | 主动脉与静脉同时显影,对比度下降 |
| 平扫 | NonContrast | 无显著主动脉病变 | 无对比剂 | 主动脉与肌肉、淋巴结等软组织密度接近 |
表里最后一列是本文的推断性归纳,不是论文原文。论文与 README 对六类的描述只到「临床条件 + 期相」这一层,没有逐一列出算法难点。但它与后文 README 的警告高度吻合:夹层与动脉瘤被点名是掩膜最容易出错的两类。
一个值得注意的语义问题:TotalSegmentator 的任务 52 输出的是单一「主动脉」标签,不区分升主动脉、主动脉弓、降主动脉、腹主动脉,也不区分真假腔、管腔与附壁血栓。因此对夹层病例而言,「正确」的定义本身就是模糊的——算法把真假腔整体包进去算对,还是只包真腔算对?数据集中没有给出答案。这是 AortaSeg-60 无法直接充当分割基准的根本原因之一,详见 §3.4。
2.4 逐类采集参数
论文表 1 给出了六类的采集参数分布(矩阵均 512×512×层数区间):
| 类别 | 矩阵(体素) | 体素间距(mm) | 层厚(mm) | 视野 FOV(mm) |
|---|---|---|---|---|
| 主动脉瘤 Anev | 512×512×1040–1161 | 0.50±0.10 | 0.60 | 256.8±52.5 |
| 主动脉夹层 Dissec | 512×512×528–1278 | 0.58±0.15 | 0.73±0.27 | 299.1±77.6 |
| 平扫 NonContrast | 512×512×1007–1198 | 0.66±0.16 | 0.60 | 339.0±79.6 |
| 老年 Old | 512×512×510–1148 | 0.60±0.12 | 0.73±0.27 | 305.4±63.8 |
| 静脉期 Ven | 512×512×1015–1148 | 0.55±0.08 | 0.60 | 280.0±43.2 |
| 年轻 Young | 512×512×538–1153 | 0.50±0.08 | 0.73±0.27 | 255.8±40.1 |
读这张表要注意三件事。
第一,层数区间跨度极大:最少 510 层,最多 1278 层,相差 2.5 倍。说明各例的扫描覆盖长度与层厚组合差异明显,直接影响到显存占用与推理分块策略。
第二,体素间距从 0.50 到 0.66 mm 不等,平扫类的平均间距最大(0.66±0.16),这与平扫通常采用更厚层厚的临床习惯一致。
第三,层厚列出现了两组值:0.60 与 0.73±0.27。带标准差的那组是「均值±标准差」,不带标准差的那组很可能是标称重建层厚。原文未就此解释,本条目照录,不做事后合并——这条口径在 §9 的存照清单里有记录。
顺带一提,FOV 的分布也很有意思:年轻组 FOV 最小(255.8±40.1 mm),平扫组最大(339.0±79.6 mm)。前者是因为年轻患者体型小、主动脉走行相对紧凑;后者则是因为平扫常需覆盖更大的腹部范围。这些差异会直接转化为分割网络在视野边界处的行为差异。
2.5 文件组织与命名
数据集按病例建目录,每个病例目录下分两个子目录:
AortaSeg-60/
├── Anev_01/
│ ├── nifti/
│ │ └── Anev_01_image.nii.gz
│ └── segmentation/
│ └── Anev_01_segmentation.nii.gz
├── Dissec_01/ ... Dissec_10/
├── Young_01/ ... Young_10/
├── Old_01/ ... Old_10/
├── Venous_01/ ... Venous_10/ ← 打包在 Ven.zip
└── NonContrast_01/ ... NonContrast_10/ ← 打包在 Nat.zip
命名规则是 [类别缩写]_[两位序号],序号从 01 到 10。README 的目录树示例只给了 Anev 与 Dissec 两组,其余按同构推断。
这里有一个必须提请注意的不一致:README 表格里把第六类的目录前缀写作 NonContrast(示例 NonContrast_01 到 NonContrast_10),但 Zenodo 上实际的文件名是 Nat.zip。Nat 到底是 Normal 还是 Native,文档中找不到说明。使用者写自动遍历脚本时,不要按 README 的字面前缀去拼路径,应当先解压看实际目录名。这条已列入坑点 5。
六个 zip 的体积分别是:Anev.zip 2.8 GB、Dissec.zip 2.6 GB、Nat.zip 2.7 GB、Old.zip 2.5 GB、Ven.zip 2.7 GB、Young.zip 2.6 GB,合计 15.9 GB。每类体积相当接近,恰好印证了「每类 10 例、采集条件同源」的均衡设计——如果某一类体积明显偏大或偏小,反而说明组间存在系统性差异。
2.6 六类图像的直观差异
同一套采集协议下,六类病例的影像观感截然不同。理解这些差异,能帮助使用者在没有任何标注的情况下,仅凭图像判断一例属于哪一类——这在数据落地后的快速核查中非常有用。
Young(年轻正常):主动脉走行平直,管腔内外密度差极大,管壁薄而连续。在动脉期,升主动脉与主动脉弓的对比剂浓度高到接近饱和(常在 300–500 HU),周围脂肪(约 -100 HU)形成极干净的边界。分割工具在这一类上几乎不会失手。
Old(老年正常):管径整体略增,走行开始迂曲(尤其是胸降主动脉),管壁可见点状或条状钙化(密度常在 400 HU 以上)。钙化斑块与对比剂的密度区间重叠,是这一类最主要的干扰源——工具容易把钙化当作管腔一部分,导致局部管径虚高。
Anev(主动脉瘤):最直观的特征是某一段(常见为肾下腹主动脉或胸降主动脉)明显膨出。膨出段内常有一圈低密度影——附壁血栓,厚度从几毫米到几厘米不等。真正的血流腔被挤在中央或偏向一侧。此时「主动脉」的边界在外膜,而工具往往只圈住中间那块高密度区域。
Dissec(主动脉夹层):图像上能看到一条线状的等密度或稍低密度结构横穿管腔——这就是内膜片。它把管腔分成两块:一块常偏亮(真腔,血流快、对比剂浓),一块稍暗或混杂(假腔,血流慢、可有血栓)。B 型夹层的假腔常比真腔更大,这是初学者最容易误判的地方。
Ven(静脉期):这是六类里最容易被误认的。动脉期时主动脉亮、静脉暗;静脉期时两者亮度接近,下腔静脉甚至可能比腹主动脉更亮。胸部的上腔静脉、肺静脉也同步显影。工具在这一类上的主要错误是把相邻的静脉结构纳入主动脉。
NonContrast(平扫):完全靠组织密度区分。主动脉的 CT 值约 35–50 HU,周围肌肉约 40–60 HU,两者几乎无法用阈值分开。这一类的分割本质上依赖形状先验与解剖上下文,是六类中难度最高的一类。
把这六段描述与前面 §2.3 的表格对照,可以看到一个清晰的梯度:Young 最容易 → Old 次之 → Ven 与 NonContrast 再次 → Anev 与 Dissec 最难。这个梯度并不来自作者的排序,而是本文根据成像物理与工具特性推得的,作为使用时的心理预期参考。
2.7 与 Zenodo 下载页的字段对照
Zenodo 记录页上可读的元数据字段不多,但每一项都能与本条目正文对上。整理成表,方便读者交叉核验:
| Zenodo 字段 | 值 | 与论文/正文的对应 |
|---|---|---|
| Title | AortaSeg-60 | 与论文标题的短名一致 |
| Publication date | 2026-01-04(v1.1) | 早于论文收稿(2026-02-03) |
| Version | 1.1 | 与论文 Data availability 声明的版本一致 |
| DOI | 10.5281/zenodo.18147026 | 正文 §6.3 的版本 DOI |
| Concept DOI | 10.5281/zenodo.18147025 | 正文 §6.3 的全版本 DOI |
| Resource type | Dataset | 与「数据发布」定位一致 |
| Publisher | Zenodo | — |
| License | Creative Commons Zero v1.0 Universal | 与 README 的 CC BY 4.0 冲突(§6.4) |
| Files | 7 个(6 zip + README.md) | 与 README 的组织一致 |
| Total size | 15.9 GB | 论文「约 16 GB」 |
| MeSH subjects | Radiology;Cardiovascular System;Computed Tomography Angiography;Aorta;Artificial Intelligence | 主题覆盖准确 |
| Creators | El Rahal, Rotzinger, Fahrni | 与论文作者序一致 |
| Affiliation | CHUV/UNIL Diagnostic and Interventional Radiology | 与论文一致 |
有一处小差异值得记录:Zenodo 的 creators 列表给 El Rahal 标注的角色是 Data collector,Rotzinger 是 Project manager,Fahrni 是 Project leader;而论文的贡献声明用的是 CRediT 术语(formal analysis / conceptualization / data curation / investigation / writing 等)。两者并不冲突,只是粒度与用词体系不同。
2.8 体积与层数的换算校验
使用者常会问:15.9 GB 的压缩包,解压后到底占多少空间?做一个粗略估算有助于规划存储。以下数字均为本文按体素数与位深推算,非官方数据。
以典型单例 512×512×1000 层、16 位整型计算:单例原始体数据约 512×512×1000×2 字节 ≈ 0.52 GB。掩膜若为 8 位单标签,约 0.26 GB。合计单例约 0.78 GB。60 例合计约 47 GB。
若按各例实际层数加权(六类层数区间中位数大致在 900–1100 之间),总量落在 40–55 GB 区间是合理的推算值。gzip 对医学 CT 体数据的压缩比通常在 2–3 倍之间,因此 15.9 GB 的压缩包对应几十 GB 的解压体积,与上面的推算同量级。
这条估算的实际意义在于:不要把 15.9 GB 当作磁盘占用的下限。如果所在环境磁盘紧张,建议先只解压一类(如 Young),跑通流程后再逐类扩展,而不是一次性解压全部。
2.9 数据完整性:md5 是最好的第一道防线
Zenodo 文件列表为每个 zip 给出了 md5 值。抓取时点记录如下:
| 文件 | 大小 | md5 |
|---|---|---|
| Anev.zip | 2.8 GB | 9e6d8fb0c0e4a0a3cb201ad5667c33c5 |
| Dissec.zip | 2.6 GB | 6775b009d8ab2ac29cc4592f4b698fa3 |
| Nat.zip | 2.7 GB | a7a5de2493cd0ce9cf66ab151c440550 |
| Old.zip | 2.5 GB | f9a6dd507267679f45ab32021e63c04a |
| Ven.zip | 2.7 GB | 44c8fe0ee423921658a6c6050087b446 |
| Young.zip | 2.6 GB | e9b02228e6c4f4a3e63c181dd2cada91 |
| README.md | 4.0 kB | 7da4ca558f11d6b8f453a4db4962d58a |
下载完成后,按下面的命令逐个校验:
md5sum -c <<'EOF'
9e6d8fb0c0e4a0a3cb201ad5667c33c5 Anev.zip
6775b009d8ab2ac29cc4592f4b698fa3 Dissec.zip
a7a5de2493cd0ce9cf66ab151c440550 Nat.zip
f9a6dd507267679f45ab32021e63c04a Old.zip
44c8fe0ee423921658a6c6050087b446 Ven.zip
e9b02228e6c4f4a3e63c181dd2cada91 Young.zip
7da4ca558f11d6b8f453a4db4962d58a README.md
EOF
这一步看起来琐碎,但对 GB 级下载极有必要:断点续传中断、浏览器静默截断、代理缓存污染,都会产生「大小对、内容错」的文件,而解压工具通常不会报错,直到读进去才发现体数据全是零。
§3 分割流水线:一次跑完,不做任何修补
3.1 工具链与版本锁定
掩膜生产链条短得可以直接画成一行:
原始 DICOM → DICOM 转 NIfTI(去标识化) → TotalSegmentator 2.12.0(task 52) → .nii.gz 掩膜
关键参数如下:
| 项 | 值 |
|---|---|
| 工具 | TotalSegmentator |
| 版本 | 2.12.0 |
| 任务标识 | 52 |
| 任务语义 | aorta(主动脉,单标签) |
| 运行环境 | Python 3.10.19 |
| 硬件 | 本地 GPU 工作站 |
| 预处理 | 无 |
| 重采样 | 无 |
| 强度归一化 | 无 |
| 后处理 | 无 |
锁定版本号这件事本身值得肯定。TotalSegmentator 在 2.x 期间多次扩充任务表(从 1.x 时代的百余结构扩展到后来的数百任务),任务 52 的语义在不同版本间是否完全一致,官方说明并不总是清晰。作者写死 2.12.0 并落盘,至少保证了「读者看到的掩膜,与某一确定版本的输出可复现对齐」。
3.2 「无预处理」是一个态度声明
三个「无」——无预处理、无重采样、无强度归一化——在方法论上不是偷懒,而是一种刻意的设计声明:要得到的是这个工具在真实临床输入下的原始表现。
如果做了重采样,厚层与薄层病例就会被拉平到同一网格,层厚带来的分辨率损失会被掩盖;如果做了强度归一化,静脉期与平扫的低对比度问题就会被部分抵消;如果做了预处理(比如裁剪到感兴趣区),视野外的问题就看不到。作者把这三步全部省掉,等于承认「我们公开的是不完美的原始输出」。
这一选择与当前不少「自动标注 + 人工精修」的公开数据集形成鲜明对照。后者往往在发布前做一轮或多轮清洗,使得最终掩膜质量接近人工金标准,但同时也把算法的系统性偏差一并抹掉。AortaSeg-60 走的是反方向:保留偏差,供人审视。
3.3 为什么选 TotalSegmentator 的 task 52
TotalSegmentator 是全身 CT 多结构分割领域使用最广的开源工具之一,其主动脉任务在大血管分割上已有大量下游使用。选择它有三层现实理由:
- 可复现:版本公开、权重公开、推理脚本公开,任何人可以按同一版本重跑。
- 有代表性:它被广泛当作「现成基线」,用它产出的掩膜,正是很多团队在没有专用模型时会拿到的默认结果。
- 零成本:不需要放射科医师逐层勾画,60 例全自动出膜在一次 GPU 跑批内完成。
代价同样明确:这是一套未经领域适配的通用模型的输出。通用模型在标准解剖上表现稳定,但在夹层内膜片、瘤壁血栓这类需要精细区分的结构上,其错误模式是结构性的,不是偶发的。作者在 README 中的警告正是针对这一点。
3.4 单标签语义在夹层病例上的困境
前文提过,task 52 输出单一「主动脉」标签。这在正常解剖上没有歧义,但在夹层上会立刻变得暧昧。
考虑一例 Stanford B 型夹层:降主动脉内被内膜片分隔为真腔与假腔,两者共同构成扩张的主动脉外轮廓。此时存在至少三种合理的「主动脉」定义:
| 定义 | 掩膜应包含 | 临床合理性 |
|---|---|---|
| 外轮廓法 | 真腔 + 假腔 + 内膜片(整体外边界内) | 与「主动脉这一器官」的解剖定义一致 |
| 管腔法 | 仅真腔 | 与血流/灌注分析一致,但与解剖定义冲突 |
| 强化区法 | 所有对比剂充盈区 | 自动阈值化最容易得到,但会把假腔部分区域漏掉 |
TotalSegmentator 训练时的标注规范采用哪一种,决定了它在夹层病例上的输出去向。AortaSeg-60 没有为夹层提供额外的真/假腔标签,也没有说明期望的掩膜语义。于是同一份掩膜,在「评估体积」与「评估管腔」两种任务下会被判出完全相反的结论。
这不是数据的缺陷,而是任务定义缺位。它也正是这份数据集不能直接充当分割基准的关键理由——基准需要明确的正确答案,而这里连「什么算对」都没有写。
3.5 溯源链:从 PACS 到 Zenodo 的七道工序
把数据从医院影像系统搬到公开仓库,中间要过七道工序。论文没有逐条列成流水账,但散落在方法节与伦理节的信息可以拼出完整链条:
| 序号 | 工序 | 关键动作 | 风险点 |
|---|---|---|---|
| 1 | 检索 | 按放射报告关键词(aortic aneurysm / aortic dissection / aorta)在 PACS 初筛 | 报告文本缺失或措辞异常会导致漏召 |
| 2 | 目视确认 | 逐例打开图像,确认正常或病理,并判定归属类别 | 期相判断依赖对比剂分布,静脉期与动脉期边界病例易误判 |
| 3 | 属性核对 | 核对临床类别与放射报告是否一致 | 报告与图像不符时以何者为准,文档未说明 |
| 4 | 去标识化 | 清除或替换 DICOM 身份字段;解剖范围限于胸腹,排除面部 | 上界裁剪不彻底时下颌与口咽结构可能残留 |
| 5 | 格式转换 | DICOM → NIfTI;删除残留 sidecar JSON | 坐标方向(LPS/RAS)翻转是经典坑 |
| 6 | 自动分割 | TotalSegmentator 2.12.0 task 52 推理,零后处理 | 输出标签 id 与用户预期不一致 |
| 7 | 打包发布 | 按六类打 zip,写 README,上传 Zenodo 并选 CC0 | README 许可文字未同步(实际发生,见坑点 4) |
第五道工序值得单独提醒。DICOM 使用 LPS 坐标系(左-后-上),NIfTI 惯例为 RAS(右-前-上),转换时若方向矩阵处理不当,会出现左右翻转。作者未在文档中说明是否做过方向校验,使用者在首次载入时应当核对 affine 矩阵的对角线符号,并确认主动脉走行方向(升主动脉偏右前、降主动脉偏左后)与解剖一致。
3.6 目录重建:从 zip 到可遍历的数据集
Zenodo 只给了六个压缩包,没有给出解压后的统一根目录。使用者需要自己建立一套遍历结构。推荐做法如下:
from pathlib import Path
CATS = ["Anev", "Dissec", "Young", "Old", "Venous", "NonContrast"]
# 注意:实际目录前缀可能为 Nat 而非 NonContrast,先探测
root = Path("AortaSeg-60")
def discover(root: Path):
pairs = []
for seg in root.rglob("*_segmentation.nii.gz"):
stem = seg.name.replace("_segmentation.nii.gz", "")
img = seg.parent.parent / "nifti" / f"{stem}_image.nii.gz"
if img.exists():
pairs.append((stem, img, seg))
return sorted(pairs)
pairs = discover(root)
print(len(pairs), "pairs") # 期望 60
print(sorted({p[0].split("_")[0] for p in pairs})) # 实际前缀集合
第二行输出是关键的探测动作:它直接告诉你六个 zip 解压后的真实前缀,避免在 §2.5 提到的 NonContrast / Nat 分歧上翻车。先探测、后硬编码,是这个数据集工程化使用时最省事的一条原则。
3.7 质量校验脚本:把「目视核验」翻译成可复跑的检查
论文里的四项医师检查,其中三项可以完全自动化,第四项可以半自动化。下面这套检查适合在数据落地后立刻跑一遍,10 分钟内就能确认「下载没坏、组织没错」:
import nibabel as nib
import numpy as np
def audit(img_path, seg_path):
img = nib.load(img_path)
seg = nib.load(seg_path)
rec = {"pair": img_path.name.split("_image")[0]}
# 检查 1:几何一致(替代医师的「掩膜存在且可用」)
rec["shape_equal"] = img.shape == seg.shape
rec["affine_equal"] = bool(np.allclose(img.affine, seg.affine))
# 检查 2:掩膜非空且体积合理(替代「覆盖预期解剖区域」)
m = seg.get_fdata() > 0
vox = float(np.prod(img.header.get_zooms()[:3]))
vol_ml = m.sum() * vox / 1000.0
rec["mask_empty"] = bool(m.sum() == 0)
rec["aorta_mL"] = round(vol_ml, 1)
# 检查 3:掩膜包围盒是否落在图像内(避免越界)
nz = np.argwhere(m)
rec["bbox_ok"] = bool(nz.size and (nz.min(0) >= 0).all() and (nz.max(0) < np.array(m.shape)).all())
return rec
成人胸腹主动脉的解剖体积大致在 100–400 mL 量级(正常人偏下,瘤样扩张偏上),若某例计算值只有个位数 mL 或超过 1000 mL,基本可以判定掩膜异常,直接进入人工复核队列。
3.8 复现边界:为什么你复现不出完全相同的掩膜
即便按论文参数重跑 TotalSegmentator 2.12.0 task 52,得到的掩膜也未必逐体素一致。差异来源至少有四处:
- 权重版本:TotalSegmentator 不同小版本可能更新权重文件,2.12.0 的权重是否与后续补丁版本完全相同,需以官方 release 为准;
- 硬件与数值:GPU 型号、cuDNN 版本、混合精度设置会影响浮点累加顺序,边界体素可能翻转;
- 分块策略:大体数据常需分块推理,块边界与重叠区设置会改变结果,而论文未披露其推理时的分块参数;
- 预处理库版本:SimpleITK / nibabel 的重采样与插值实现随版本变化,虽本数据集声明无重采样,但工具内部的窗口化仍可能受库版本影响。
因此本数据集的正确复现目标是统计层面的一致(体积分布、错误类型分布接近),而非逐体素一致。任何声称「逐体素复现」的尝试,都需要作者提供原始权重哈希与推理脚本,而这两项当前均未公开。
§4 质量边界:没有 Dice,只有目视
4.1 两位医师做了什么、没做什么
论文对验证环节的描述相当克制:两位委员会认证、具心血管影像经验的放射科医师,独立对所有病例做了系统目视检查。检查内容包括四项:
- 确认分割掩膜确实存在且可见;
- 确认掩膜覆盖了预期的胸腹主动脉解剖区域;
- 核对病例的类别归属与图像内容及放射报告是否一致;
- 特别关注跨类别一致性——确保没有动脉瘤或夹层混进其他类,也没有期相归错。
这四项都是定性、二值化的判断:在或不在、对或不对。没有逐体素比对,没有计算重叠度,没有报告任何数值指标。
4.2 为什么没有量化精度
可能的原因有三,作者未明说,本文标注为推断:
- 没有金标准可比。要算 Dice,必须先有人工勾画的参考掩膜。而本项目的设计前提恰恰是不做人工勾画,否则工作量从「跑一次推理」变成「60 例逐层修描」,与「零人工」的定位矛盾。
- 目的不同。这项工作的目标不是证明工具多准,而是提供一份带病理变异的真实数据供他人自行评测。评测指标留给下游决定。
- 夹层病例难以定义正确答案。如 §3.4 所述,即便有医师勾画,也要先解决「勾什么」的问题。
理解这一点非常重要:任何声称「AortaSeg-60 上 TotalSegmentator 的 Dice 是 0.9x」的说法,都不是来自本数据集。如果有人这么引用,要么是自己在上面跑了评测(那是有价值的二次工作,应当标注为自测),要么是张冠李戴。
4.3 README 的警告原文与语义
数据集 README 在「Important Note on Segmentation Quality」一节写得很直白(原文为英文,此处译为中文并保留力度):
请注意,AI 生成的分割掩膜在某些复杂病理病例中存在不完整或不准确的情况(尤其是主动脉夹层与主动脉瘤)。因此,这些掩膜不应被用作参考标准,例如用于训练新的 AI 模型。
这句话包含两个层次的信息,值得拆开看:
- 事实层:复杂病理下掩膜不完整/不准确,点名夹层与动脉瘤。这与 §2.3 的类别设计意图互相印证。
- 规范层:不建议用作训练参考标准。这是一条使用建议,不是许可限制——CC0 不限制你拿它训练任何东西。作者是在提醒:拿它当 ground truth 训练,等于把系统性错误固化进新模型。
第二层常被忽略。不少使用者在下载后只看许可(CC0,随便用),不看 README 的使用建议,结果把一套有已知缺陷的掩膜当成金标准。这正是坑点 1。
4.4 校验能拦住什么、拦不住什么
把两位医师的四项检查对照可能出现的错误类型,可以画出一张覆盖表:
| 错误类型 | 能否被本次校验发现 |
|---|---|
| 掩膜文件缺失/为空 | 能(第 1 项) |
| 掩膜跑到胸腹之外(如误覆盖心脏或肝脏) | 能(第 2 项,粗粒度) |
| 病例归错类(如把静脉期标成动脉期) | 能(第 3、4 项) |
| 动脉瘤/夹层混入正常组 | 能(第 4 项) |
| 夹层假腔大面积漏分割 | 不能(需要逐层比对) |
| 瘤壁血栓被误纳入管腔 | 不能 |
| 小分支血管(如肾动脉开口)断裂 | 不能 |
| 边界体素级误差 | 不能 |
结论很清楚:校验保证的是「数据组织层面的可靠性」,不保证「掩膜精度层面的可靠性」。这两件事在很多数据集介绍里被混为一谈,AortaSeg-60 至少在 README 里把后者挑明了。
4.5 对使用者的实操含义
基于以上,建议把 AortaSeg-60 用在下面这些场景,而不是其他场景:
适合:
- 作为域偏移(domain shift)压力测试输入:把在标准数据上训练的模型直接放进这 60 例,观察掉点位置与错误形态;
- 作为自动分割工具的错误样本册:人工抽看夹层与瘤的掩膜,归纳系统性错误模式;
- 教学:向住院医师展示「全自动工具在真实病理上会怎么错」;
- 流水线工程验证:测试自己的预处理、后处理、分块推理策略能否改善这类输出。
不适合:
- 直接作为训练集的监督信号(README 明令不建议);
- 作为评测基准计算 Dice(无金标准);
- 作为流行病学样本推断患病率(六类为人为均衡);
- 直接用于临床决策(论文明确排除)。
§5 论文与同行评审:一份被审稿人追问过的数据发布
5.1 时间线
| 节点 | 日期 |
|---|---|
| 收稿 | 2026-02-03 |
| 接收 | 2026-05-14 |
| 在线发表 | 2026-05-20 |
| Zenodo 数据版 v1.1 | 2026-01-04 |
| Zenodo 技术元数据创建 | 2026-01-05 |
| Zenodo 记录最后修改 | 2026-02-10 |
有一个细节值得注意:数据先于论文上线。Zenodo 的 v1.1 在 2026 年 1 月初就已发布,而论文 2 月初才投出。这说明数据发布与论文投稿是两条并行推进的线,而不是「论文接收后再放数据」的传统顺序。对使用者而言好处明显——论文见刊时数据已稳定运行数月,甚至已累积了相当量的访问。
5.2 期刊与栏目
GigaByte 由 GigaScience Press 出版,ISSN 2709-4715,专门发表数据描述类文章(Data Release / Data Note),特征是公开同行评审——评审意见与作者回复随文发布。AortaSeg-60 走的正是这条路径。
公开评审披露了两位审稿人的身份与意见:
- 审稿人 1:Maurice Pradella。建议重新表述类别定义、说明为何不提供人工校正的金标准轮廓、补充 DICOM 版本信息、推荐引用 TotalSegmentator 心血管分割的更新文献。结论:小修。
- 审稿人 2:Zekun Jiang。指出缺乏人工校正;对标题中的「real-world」提出质疑,认为六类等量设计不代表真实分布;并指出正文与图 1 的许可声明不一致(CC0 与 CC BY 4.0 混用)。结论:大修。修回后表示支持发表。
这两组意见其实精准命中了本数据集的两个软肋:「真实世界」的语义边界与许可表述的一致性。后一个至今仍未彻底解决,见 §6.4。
值得注意的是审稿人 1 的另一条意见:为什么不做人工校正的金标准轮廓。作者在修回中解释了设计取向(保留自动化原始输出),但没有改变方案。这意味着「无金标准」不是疏忽,而是经过同行评议确认过的取舍。对使用者而言,这一点可以放心——你不必怀疑「作者是不是来不及标注」,而是可以确定这就是最终形态。
5.3 「real-world」到底指什么
标题里用了 “real-world”(真实世界)。这个词在医学数据语境里通常指「来自常规诊疗、非为研究专门采集、反映真实人群与流程」。AortaSeg-60 在这个意义上部分成立:
- 数据确实来自常规 PACS,不是为研究专门扫的;
- 包含多种期相、多种层厚、多种病理,与门诊实际所见接近;
- 采集跨度十年,设备与协议可能发生过演进。
但审稿人 2 的质疑同样成立:
- 六类各 10 例是人为配额,与真实人群的构成比例毫无关系;
- 单中心、单厂商,与「真实世界」的多样性含义相去甚远;
- 60 例的规模不足以支撑任何分布层面的结论。
较公允的理解是:AortaSeg-60 的「real-world」修饰的是采集条件(真实临床采集、真实病理变异、真实成像缺陷),而不是人群分布。把它读成「代表性人群样本」会立刻误用。这一区分在 §8.3 会以「如何正确引用」的形式再讲一次。
5.4 论文声明了哪些局限
作者自陈的局限有四条,与本文前面的分析基本吻合:
- 掩膜自动生成、未经人工校正,存在典型算法误差;
- 样本量仅 60 例,统计效力有限;
- 单中心、单一 CT 厂商,跨硬件生态的泛化性受限;
- 仅用于研究、基准与教学,不适用于直接临床决策或诊断。
此外,论文声明本工作无资助(Not applicable),作者无利益冲突,并在致谢中说明使用了 AI 写作辅助工具(ChatGPT, OpenAI)进行格式与语言润色。这条致谢如今在学术出版中越来越常见,此处照录以备溯源。
5.5 数据先行的利弊
把「数据先上线、论文后发表」这条顺序摊开看,正反两面都很清楚:
利:
- 论文投稿到见刊通常要数月,数据先上线可以让同领域团队提前使用,缩短了从数据到产出的延迟;
- 公开数据在接受评审前就已存在,审稿人可以实际下载核验,而不是只读描述;
- 若论文最终被拒,数据仍然可用,不至于白费采集成本。
弊:
- 数据上线时的 README 与最终论文往往不同步,本条目遇到的许可文字冲突正是这类时间差留下的痕迹;
- 早期使用者可能基于旧版 README 形成错误认知,后续修订难以追及;
- 版本管理若不同步(例如 v1.1 与论文描述的参数有出入),使用者判断依据会混乱。
对本数据集而言,实际发生的是第一与第三条:许可文字没跟上,层厚参数的双口径也没在 README 里说明。这提示了一条工程经验——数据先行的项目,应当把 README 视为需要版本管理的代码,而不是一次性说明文档。
§6 获取与许可:CC0 之下仍要看清的四个字
6.1 三层资产、三种声明
AortaSeg-60 涉及的资产不止一份,许可也分层:
| 资产 | 载体 | 声明的许可 |
|---|---|---|
| 论文正文 | GigaByte 网页 / PDF | CC BY 4.0 |
| 数据体(6 个 zip) | Zenodo 记录 18147026 | CC0 1.0 Universal |
| 数据包内 README.md 文本 | Zenodo 记录内文件 | 文中写 CC BY 4.0 |
第三行就是全部麻烦的来源。
6.2 Zenodo 上怎么取
数据获取路径极短,没有任何门槛:
- 打开
https://zenodo.org/records/18147026(或经 DOI10.5281/zenodo.18147026); - 记录页
Rights字段显示 CC0 1.0 Universal; - 文件列表给出 6 个 zip 与 1 个 README.md,每个都能直接下载,不需要注册、不需要填表、不需要机构邮箱;
- 版本页显示当前 v1.1(2026-01-04),另有全版本 DOI
10.5281/zenodo.18147025,指向最新版本。
抓取时点的统计显示:views 984、downloads 1276、data volume 5.4 TB。按 6 个 zip 合计 15.9 GB 估算,若每次下载取全量,1276 次约对应 20 TB 量级;实际累计 5.4 TB 明显低于此值,说明多数下载并未取全(可能只取了 README 或单个 zip)。无论何种口径,这份数据在发布后数月内已形成数百到上千次的访问量级。
6.3 版本链与引用规范
引用这份数据时,需要区分两个 DOI:
| DOI | 含义 | 用途 |
|---|---|---|
| 10.5281/zenodo.18147025 | 全版本概念 DOI | 想「始终指向最新版」时用 |
| 10.5281/zenodo.18147026 | v1.1 具体版本 DOI | 想「复现某一确定版本」时用 |
可复现性严格的场景(例如论文中报告了在这批数据上的评测结果)应当引用具体版本 DOI,并在正文写明版本号 v1.1。若只引用概念 DOI,将来 v1.2 若调整了文件组织,读者按 DOI 下载可能拿到不一致的内容。
论文侧的标准引用格式为:
El Rahal D, Rotzinger DC, Fahrni G. AortaSeg-60: an open real-world CT-angiography dataset of the aorta with automated segmentation masks and pathological variability. GigaByte. 2026. doi:10.46471/gigabyte.183
数据侧的标准引用格式(Zenodo 生成)为:
El Rahal D, Rotzinger DC, Fahrni G. AortaSeg-60 (Version 1.1) [Dataset]. Zenodo. 2026. doi:10.5281/zenodo.18147026
6.4 CC0 与 README 之间的冲突
这是本条目最需要提醒的一处。
- Zenodo 记录级 Rights:Creative Commons Zero v1.0 Universal。
- 数据包内 README.md 的 License 节:Creative Commons Attribution 4.0 International (CC BY 4.0)。
两者不是同一个许可。CC0 是完全放弃著作权、不要求署名;CC BY 4.0 要求在使用时署名。冲突的后果是:如果一个使用者只读了 README,他会以为自己负有署名义务;如果他只看了记录页,他会以为没有任何义务。
如何裁决?实践中通常以平台记录级元数据为权威,因为 Zenodo 的许可字段是发布者在上传时通过表单显式选择的,并可被平台强制校验;而 README 是自由文本,靠作者手动维护,容易滞后。论文的 Data availability 节亦声明 CC0,进一步支持记录级口径。
不过这不意味着可以无视 README。稳妥做法是双轨合规:按 CC0 使用(不主张任何额外限制),同时按 CC BY 4.0 的礼节在论文/代码中给出署名与来源链接——这样无论最终以哪个口径解释,使用者都不会有风险。
顺带一提,这个冲突并非首次暴露。审稿人 2 在评审中就已指出正文与图 1 的许可标注不一致。作者修回后正文统一为 CC0,但 README 显然没有同步更新。这条已列入坑点 4。
6.5 去标识化做到了哪一步
去标识化措施包括四层:
- 删除或替换 DICOM 中的身份识别元数据字段;
- 仅导出完全去标识化的图像体积;
- 解剖覆盖限于胸腹部,排除面部结构以降低再识别风险;
- DICOM 转 NIfTI 时删除残留的 JSON 元数据文件。
第三点尤其值得注意:胸腹 CTA 的扫描范围上界常到达下颌/口咽区域,若不裁剪,面部骨骼重建确实具有再识别风险。作者主动把上界限制在胸部,避免了这个问题。
第四点是 NIfTI 转换流程中的常见疏漏——不少工具在导出 .nii.gz 时会附带一个 sidecar JSON(含扫描参数甚至部分设备信息),作者明确删除了。
伦理侧,CHUV 法务部门出具意见,认定项目(编号 Hors-LHR-BPR1247)不落入瑞士《人类研究法》(HRA, SR 810.30)的适用范围,因而无需伦理委员会批准。这在瑞士的回顾性、完全去标识研究里是常见的判定路径。需要说明的是,这属于机构法务判断,而非伦理委员会批准——两者在合规意义上不等价,读者在二次使用时应按所在机构的规范另行评估。
6.6 DAIMS 五维评估
DAIMS(Data and AI Materials Scorecard)用于横向比较数据集的「AI 就绪度」,本条目按五维打分为:
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性(Discoverability) | 8 | GigaByte 开放获取 + Zenodo DOI + MeSH 主题词(Radiology / Cardiovascular System / Computed Tomography Angiography / Aorta / Artificial Intelligence)齐全,检索路径通畅;扣分在「AortaSeg-60」与「AortaSeg」易混,且无独立项目主页 |
| A 可获取性(Accessibility) | 10 | CC0、无注册、无申请、直链下载;这是本数据集最强的一项 |
| I 可互操作(Interoperability) | 7 | NIfTI 是事实标准,.nii.gz 可被 nibabel/SimpleITK/MONAI 直接读;扣分在无 BIDS 派生结构、无 DICOM 源、无标准分割标签映射(如不遵循 TotalSegmentator 官方 label id 之外的任何约定) |
| M 元数据质量(Metadata) | 6 | 论文表 1 参数齐全、README 结构清晰;但层厚双口径未解释、Nat.zip 命名来源不明、许可表述自相矛盾——三处硬伤拉低分数 |
| S 可持续性(Sustainability) | 8 | Zenodo 是 CERN 运营的长期仓储,有版本化与 DOI 保证;扣分在无 GitHub 镜像、无更新计划说明、联系人仅单一邮箱 |
| 综合 | 7.8/10 | 可获取性与可持续性突出;元数据一致性是主要短板 |
与库内同类条目相比,这个分数偏高,主要因为 CC0 + 直链的组合在医学影像数据里并不多见。
§7 生态与影响:它在主动脉影像研究里站在哪
7.1 上游:TotalSegmentator 的位置
AortaSeg-60 的技术依赖指向一个非常具体的上游——TotalSegmentator。这个工具由巴塞尔大学医院团队开发,最初面向全身 CT 的百余结构分割,后续扩展到数百个任务,其中主动脉(aorta)是核心结构之一。库内条目 totalsegmentator(rid=422)对其有专门介绍。
从依赖关系看,AortaSeg-60 是 TotalSegmentator 的一个下游应用快照:它不改进工具,而是把工具在一个特定临床场景下的输出定格下来。这种「工具 + 下游数据快照」的组合,在评测研究中很有价值——它把「工具在某类数据上的表现」从口头描述变成了可下载的证据。
7.2 横向:同类主动脉/血管数据集对照
| 数据集 | 规模 | 标注性质 | 期相/模态 | 与本条目的差异 |
|---|---|---|---|---|
| AortaSeg-60 | 60 例 | 全自动、零修正 | 动脉期/静脉期/平扫 | 本条目 |
| 3D-IRCADb(库内 rid=357) | 20 例(IRCADb-01) | 人工金标准(肝脏/肝瘤) | 门静脉期为主 | 人工精标 vs 自动输出;部位不同 |
| AbdomenCT-1K(库内 rid=402) | 1000 例 | 多套标注(含人工与弱标注) | 腹部多期相 | 规模大两个数量级;多器官而非单主动脉 |
| ASOCA(库内 rid=769) | 40 例 | 专家标注(冠脉树) | CTA | 目标为冠脉而非主动脉;挑战赛形态 |
| Cardiac Atlas Project(库内 rid=521) | 大规模多中心 | 混合(含统计图谱) | 心脏 MRI/CT | 心脏为主,主动脉为附属结构 |
从这张表能看出 AortaSeg-60 的独特生态位:规模最小、标注最"不金"、但病理覆盖最刻意。它不是要与 AbdomenCT-1K 比规模,也不是要与 3D-IRCADb 比标注精度,而是在一个别人不愿碰的角落(真实病理 + 自动输出 + 零修正)提供了样本。
7.3 对下游研究的三种用法
用法一:错误分析素材库。
把 60 例的自动掩膜逐例过一遍,按错误类型归档(漏分割、过分割、边界偏移、假腔误纳),形成一份「主动脉自动分割在真实数据上的失效模式清单」。这类工作不需要金标准,只需要人工目视归纳,AortaSeg-60 恰好提供了带病理的样本。
用法二:域偏移压力测试。
在标准数据(如健康人群 CTA)上训练的模型,直接推理这 60 例,比较输出与 TotalSegmentator 输出的一致性与分歧位置。分歧集中的病例,往往就是模型最脆弱的形态。
用法三:后处理策略验证。
针对夹层的真假腔问题,设计后处理规则(如基于强度直方图的双峰分离),在这批数据上观察规则是否鲁棒。这是最有实际工程价值的用法,也是 README 警告的直接回应——既然自动掩膜不可信,那就想办法让它变可信。
7.4 它不是什么
为避免误读,明确划出几条边界:
- 不是挑战赛。没有排行榜、没有隐藏测试集、没有提交系统。
- 不是主动脉疾病诊断数据集。类别标签是粗粒度的组别,不是逐例诊断金标准。
- 不是多中心数据。全部来自 CHUV 一家。
- 不是标注基准。没有人工金标准,无法计算标准分割指标。
- 不是流行病学样本。六类等量,与人群分布无关。
把它当作「真实临床条件下的自动化输出样本集」,几乎所有判断都会正确;把它当作上述任何一项,都会立刻出错。
7.5 主动脉解剖要点:为什么胸腹段难分
主动脉从主动脉瓣到髂动脉分叉,管径、走行、毗邻结构一直在变,而这些变化正是分割算法最容易出错的地方:
| 节段 | 毗邻干扰结构 | 分割难点 |
|---|---|---|
| 主动脉根部 | 主动脉瓣、冠状动脉开口、右室流出道 | 与心脏紧贴,边界靠梯度而非密度差 |
| 升主动脉 | 上腔静脉、肺动脉干、右肺动脉 | 与上腔静脉密度接近,易粘连 |
| 主动脉弓 | 头臂干、左颈总、左锁骨下、气管 | 分支开口处易被截断或误纳 |
| 胸降主动脉 | 食管、奇静脉、胸椎、肺 | 与食管、椎体贴邻,边缘模糊 |
| 腹主动脉 | 下腔静脉、肾动脉、肠系膜上动脉、胰腺 | 与下腔静脉仅隔薄层脂肪,静脉期尤难 |
| 肾下段 | 腰动脉、髂总动脉分叉 | 分叉处形态突变,多数工具在此截断 |
这张表可以直接解释 AortaSeg-60 六类设计的合理性:
- Young 组难点在升主动脉与根部——管径小、壁薄、与心脏边界紧;
- Old 组难点在钙化——钙化斑块密度与对比剂接近,易被当作管腔;
- Anev 组难点在瘤壁与附壁血栓——单标签无法区分管腔与外壁;
- Dissec 组难点在真假腔——内膜片细薄,多数网络直接漏掉;
- Ven 组难点在下腔静脉——两侧密度趋近,粘连概率陡增;
- NonContrast 组难点是全局的——主动脉与软组织只有几十 HU 的密度差。
换言之,六个类别不是随便挑的六种情况,而是把主动脉分割的主要失效机制各抽了 10 个样。
7.6 主动脉瘤与夹层的病理背景
主动脉瘤的典型形态是管径超过相邻正常段的 1.5 倍。它不只是「变粗」:三层管壁发生退行性改变,中膜弹性纤维断裂,管壁变薄而扩张。扩张腔内常有附壁血栓——一层附着在内壁的血凝块,密度介于对比剂与软组织之间。对分割而言这是最大的陷阱:血栓属于主动脉这一器官,却不属于血流腔。多数工具倾向于把它排除在外。
主动脉夹层的机制是内膜撕裂,血液冲入中膜形成假腔。真假腔之间由内膜片分隔,内膜片上可能有再破口。Stanford 分型判据是有没有累及升主动脉:A 型累及升主动脉(外科急症),B 型仅累及降主动脉。本数据集限定「未治疗」的 A 型或 B 型,意味着扫描时尚未经过外科置换或腔内支架——这很重要,因为支架的金属伪影会彻底改变影像表现。
这也解释了作者为何专门警告夹层:一例 B 型夹层在影像上至少包含三段可分辨结构(真腔、假腔、内膜片),而 task 52 只输出一个二值标签。无论选择哪种包含方式,都会与另一种定义的支持者产生分歧。这不是算法的错,是任务定义粒度不够。
7.7 与量化分割基准的对照
为帮助读者判断「没有 Dice」损失了什么,可做如下对照:
| 维度 | AortaSeg-60 | 典型量化分割基准 |
|---|---|---|
| 参考标注 | 无人工金标准 | 专家逐层勾画 |
| 可报告指标 | 无(仅定性核验) | Dice、HD95、ASSD、体积误差 |
| 排行榜 | 无 | 通常有 |
| 病理覆盖 | 刻意覆盖 | 常偏正常或单一病种 |
| 可获取性 | CC0 直链 | 多为注册申请或协议约束 |
| 主要用途 | 错误分析、压力测试、教学 | 方法排序与发表 |
| 主要风险 | 被误当基准 | 过拟合排行榜、泛化性差 |
两者不是替代关系。较理想的研究设计是双向使用:用 AortaSeg-60 做失败模式的定性归纳,用带金标准的基准做量化验证。前者回答「错在哪」,后者回答「错多少」。
7.8 在库内的定位小结
一句话收拢:AortaSeg-60 在千方病案医数集的胸腹 CT 家族里,扮演的是**「反面样本提供者」**的角色。
- 3D-IRCADb 与 AbdomenCT-1K 告诉你「好的分割长什么样」;
- AortaSeg-60 告诉你「自动分割在真实病理上会歪成什么样」;
- TotalSegmentator 条目告诉你「这个工具能做什么」;
- 四者串起来,构成从工具 → 好样本 → 坏样本的完整认知链。
若目的是「找一份能直接开训的主动脉数据」,本条目不应排在前列;若目的是「找一份能印证自动化风险的数据」,本条目几乎是首选。
7.9 读片流程:从一例到一套判断
拿到 AortaSeg-60 的某一例后,如果要在 10 分钟内形成「掩膜靠不靠谱」的判断,可以按下面这个顺序走。这套流程是本文依据放射科常规阅片习惯与工具特性整理的,非论文内容。
第 1 步:定位期相。
看主动脉与下腔静脉的相对亮度。主动脉明显更亮 → 动脉期;两者接近或静脉更亮 → 静脉期;两者都与肌肉接近 → 平扫。三类期相决定了后续判读的难度基调。
第 2 步:找内膜片。
沿胸降主动脉自上而下逐层滑动,寻找横穿管腔的线状结构。找到即夹层。B 型夹层的内膜片在降主动脉起始段最明显,向上追到弓部若消失,即为 B 型;若弓部与升主动脉也有,则为 A 型。
第 3 步:量最大径。
在瘤样扩张最明显处,垂直于主动脉长轴测量外径。正常腹主动脉肾下段一般不超过 30 mm;超过即为瘤。胸主动脉的正常上限略大(约 35–40 mm),具体依节段而异。
第 4 步:看掩膜边界。
把掩膜叠到原图上,重点看四个位置:主动脉根部与心脏的交界、主动脉弓三大分支开口、胸降主动脉与食管/椎体相邻处、肾动脉开口水平。这四处如果出现明显的「漏」或「溢」,基本可以判定该例掩膜不可直接使用。
第 5 步:看掩膜与血栓/假腔的关系。
如果是瘤,看掩膜是否包含了附壁血栓(通常表现为掩膜外缘紧贴外壁,还是内缩到管腔内缘);如果是夹层,看掩膜是否同时覆盖真假腔(表现为管腔被完整包住 vs 只包住较亮的那一半)。
第 6 步:记录错误类型与位置。
按「漏分割 / 过分割 / 边界偏移 / 语义分歧」四类归档,并记下节段。累积十几例后,模式的规律性就会显现出来。
这套流程的价值不在于判断「对错」,而在于把「感觉这例掩膜不对」转化为「在这四处、犯了这四类错误」的可复核描述。后者才是错误分析产出的真正原料。
7.10 一个具体的判读示例(示意,非本数据集实例)
为说明上面的流程,构造一个示意的判读记录。请注意:以下为方法演示,不对应数据集中任何真实病例的核查结论。
病例:某例 B 型夹层(示意,非真实编号)
期相:动脉期(主动脉显著高于下腔静脉)
内膜片:胸降主动脉中段清晰可见,向上达弓部后消失 → 提示 Stanford B 型
最大径:胸降主动脉 48 mm(沿外壁测量)
掩膜覆盖:
- 升主动脉:完整,边界与外壁吻合良好
- 主动脉弓:完整,三大分支开口处略有外溢(约 2 层)
- 胸降主动脉上段:仅覆盖真腔,假腔缺失(约 60 层)
- 腹主动脉:真假腔均覆盖,但边界偏向真腔
错误类型:漏分割(假腔)+ 边界偏移(腹段)
建议:该例不可作为训练标签;可用于假腔漏分割的错误样本
这种记录有一个额外好处:它天然带有节段与层号,便于与其他病例横向汇总,形成「哪一段最容易错」的统计——即便没有 Dice,也能得到有信息量的结果。
7.11 可视化工具建议
| 工具 | 适用场景 | 说明 |
|---|---|---|
| 3D Slicer | 交互式浏览、体积渲染、多平面重建 | 免费开源,对 .nii.gz 原生支持,适合逐例目视 |
| ITK-SNAP | 分割叠图核实、手动修描 | 叠图模式清晰,适合检查掩膜边界 |
| MONAI | 批量预处理、训练管线 | Python 生态,适合工程化使用 |
| nibabel | 脚本化读图、header 检查 | 轻量,适合写校验脚本 |
| TotalSegmentator 自带可视化 | 快速看工具原输出 | 与数据集中掩膜同源,适合对照 |
不建议用普通图片查看器打开 .nii.gz——多数查看器只显示第一层或直接报错,容易造成「数据是空的」的误判。
§8 方法学启示:从一份数据里能搬走什么
8.1 「公开不完美」本身是一种贡献
多数数据发布追求「更干净、更完整、更可信」。AortaSeg-60 反其道而行,公开一份已知有缺陷的产物,并在 README 里写清楚缺陷在哪。
这种做法的价值在于降低了信息不对称。以往,一个团队用 TotalSegmentator 跑自己的数据,得到的错误只有自己知道;公开数据集往往只展示成功案例。当有人愿意把失败样本也摊开来,整个社区对工具边界的认知就会前移一步。
代价是这类数据集很难被引用为「基准」。它更像一份田野调查记录,而不是一张成绩单。
8.2 版本锁定的可复现价值
把工具版本写死到 2.12.0、把 Python 版本写死到 3.10.19、把任务号写死到 52,这三条看似琐碎,实际决定了掩膜能否被复现。
在自动化标注类数据集里,「用什么工具、什么版本、什么参数」往往比「数据有多少例」更影响下游结果。AortaSeg-60 把这几个参数写在论文与 README 的显眼位置,是一个值得效仿的做法。
不过如 §3.8 所述,仅有版本号不足以实现逐体素复现——权重哈希、推理分块参数、库版本同样重要。这一层作者没有披露,属于可改进空间。
8.3 「real-world」需要限定语
前文讨论过,标题里的 real-world 修饰的是采集条件而非人群分布。这提示了一个更普遍的问题:数据集命名中的形容词需要被拆解。
「真实世界」可以指:真实采集设备、真实病理分布、真实工作流、真实人群构成。四者的含义完全不同,混用会导致误用。AortaSeg-60 在前两项上成立,在后两项上不成立。作者在论文局限里做了说明,但标题与摘要没有限定,这是审稿人 2 提出质疑的合理之处。
写作者在引用时,建议补一句限定语,例如「来自真实临床采集、但类别经人为均衡的真实世界主动脉 CT 数据集」,比直接照抄 “real-world” 更准确。
8.4 与「自动标注 + 人工精修」范式的对照
当前医学影像数据生产有两条主流路线:
| 维度 | 自动标注 + 人工精修 | 纯自动零修正(本条目) |
|---|---|---|
| 单位成本 | 高(人工逐层) | 极低(一次推理) |
| 掩膜质量 | 接近金标准 | 工具上限 |
| 可扩展性 | 受限 | 几乎无限 |
| 适合用途 | 训练监督信号 | 错误分析、压力测试 |
| 透明度 | 修了什么不易追溯 | 修了什么,一眼可知(什么都没修) |
两条路线不是替代关系,而是分工。AortaSeg-60 选择了后者,并且诚实地标注了自己的位置。理解这一分工,是正确使用这份数据的前提。
8.5 对构建自有数据集的五条迁移建议
如果读者所在团队打算照着 AortaSeg-60 的模式做一个类似的数据发布,以下五条是从这份工作中提炼出的可操作经验:
第一条:先定类别,再定样本量。
AortaSeg-60 先划出六个临床类别,再给每类分 10 例。这比「先下载 500 例再想怎么分类」更容易控制数据集的叙事,也更容易写出清晰的 README。类别应当是「会挑战算法的维度」,而不是「现有数据里最多的维度」。
第二条:把自动化工具的版本钉死并公开。
工具版本、任务号、运行环境三件套必须写进文档。更重要的是,如果有条件,附上一个可复跑的推理命令或脚本,让读者能验证「同样的输入得到同样的输出」——这一层 AortaSeg-60 尚未做到,是可改进的方向。
第三条:在 README 里写清「不该怎么用」。
多数数据集 README 只写「这是什么」。AortaSeg-60 难得地写了「不要拿它当参考标准」。这类负面指引对使用者价值极高,因为它直接防止最常见的误用。建议格式为:正确定位一句话 + 三种典型误用 + 每种误用的后果。
第四条:许可声明单一化。
AortaSeg-60 的教训是许可文字散落在记录页、README、论文三处,改了一处忘改两处。正确做法是:在 README 顶部、文件列表、论文 Data availability 三处使用完全相同的字符串,并只引用一个许可 URL。
第五条:把组织层面的核验与精度层面的核验分开写。
「两位医师核验过」这句话很容易被读成「掩膜是准的」。AortaSeg-60 在论文中写清了核验内容是四项定性检查,但在摘要层面仍有被误读的空间。更稳的写法是明确分两段:我们核验了数据组织(通过)、我们未核验掩膜精度(未做/不建议依赖)。
8.6 三条容易被忽略的工程经验
除了上面五条方法层面的建议,还有三条偏工程的经验,对实操的人更直接:
关于下载。15.9 GB 分六个包,每个包 2.5–2.8 GB,这种切分方式对断点续传友好——一次失败只重下其中一类,不必重下全部。如果所在网络不稳定,建议逐类下载并按 md5 校验(Zenodo 文件列表给出了每个 zip 的 md5)。
关于存储。解压后体积会显著膨胀。NIfTI 是 gzip 压缩的单文件,解压后单例体数据的量级与层数、位深直接相关,六类层数区间见 §2.4;若再复制一份掩膜与中间结果,建议预留充足空间(推算值见 §2.8)。
关于读取。.nii.gz 的随机访问需要先解压到内存或临时目录,逐例循环时若每次都 nib.load 再 get_fdata(),I/O 会成为瓶颈。建议用 get_fdata(dtype=np.float32) 直接降精度读取,或用 dataobj 做切片式惰性读取,只取需要的层段。
8.7 数据发布中最常见的五个误区
AortaSeg-60 的做法可以反向照出一批常见误区。以下五条是本文在对比多份医学影像数据发布后归纳的,不专指本数据集。
误区一:把「核验过」写成「验证过」。
核验(verification)确认的是「东西在那儿、组织对」;验证(validation)确认的是「结果准不准」。两者混用会让读者高估数据质量。AortaSeg-60 做的是前者,写的是前者,这一点值得肯定。
误区二:以为 CC0 就等于无需沟通。
CC0 免除法律义务,但未免除学术礼节。不引用来源、不标注版本的做法虽不违法,却会让下游无法追溯,最终损害的是数据本身的使用寿命。
误区三:版本号加了但内容没版本化。
Zenodo 的 v1.1 机制很好,但若两次版本之间的变更没有 changelog,使用者无法判断「我手上的文件是新版还是旧版」。AortaSeg-60 未提供 changelog,这是可改进之处。
误区四:把自动输出当作「中立」。
自动化工具的输出携带了训练数据的偏见(例如训练集以欧洲人群为主时,对其它人群的解剖变异表现会下降)。把自动输出称为「客观」,是一种隐蔽的误解。
误区五:忽视 README 的生命周期。
README 往往在上传时写一次,之后再也不改,即便论文已经更新。许可冲突就是这一习惯的直接后果。可操作的建议是:把 README 放进版本控制,每次数据变更时同步检查。
§9 与库内条目的关系
9.1 家族图谱
AortaSeg-60 在库内没有同源兄弟(同一课题组、同一 DOI 的其他版本均未入库),但它与一组条目构成松散的「胸腹 CT 与心血管影像」家族:
| 条目 | rid | 关系类型 | 一句话说明 |
|---|---|---|---|
| TotalSegmentator | 422 | 直接上游 | 本数据集全部掩膜的生成工具,task 52 即其主动脉任务 |
| 3D-IRCADb | 357 | 同域对照 | 腹部 CT 器官分割的人工金标准,可与本数据集「自动输出」形成对照 |
| AbdomenCT-1K | 402 | 同域对照 | 千例腹部 CT 多器官分割,规模维度上的另一端 |
| ASOCA | 769 | 邻域(血管) | 冠状动脉树分割挑战赛,同属大血管自动分割问题 |
| Cardiac Atlas Project | 521 | 邻域(心血管) | 心脏统计图谱,主动脉作为附属结构出现 |
| MIMIC-IV-Ext Cardiac Disease | 1143 | 邻域(心血管队列) | 心血管疾病衍生队列,非影像为主 |
9.2 消歧:三个「主动脉/动脉瘤」条目不是一回事
库内另有若干名字带「动脉瘤」的条目,极易与本条目混淆,此处明确区分:
- ADAM(rid=735):颅内动脉瘤影像数据集,部位在脑,与本条目的胸腹主动脉无关。
- RSNA Intracranial Aneurysm / RSNA-ICA(rid=974):同为颅内动脉瘤,RSNA 挑战赛产物,部位亦在脑。
- 3D-IRCADb(rid=357):腹部 CT,含肝血管,但主任务不是主动脉。
只有 AortaSeg-60 的目标结构是胸腹段的整个主动脉。
9.3 检索路径建议
若读者从本条目出发想找更多相关数据,建议按三条路径走:
- 工具路径:AortaSeg-60 → TotalSegmentator(rid=422)→ 该条目下可能列出其他使用该工具标注的数据集;
- 部位路径:AortaSeg-60 → 3D-IRCADb / AbdomenCT-1K(同为胸腹 CT 分割)→ 进一步扩展到腹部多器官数据;
- 血管路径:AortaSeg-60 → ASOCA(冠状动脉)→ 更细的血管分割挑战赛数据。
9.4 建议互链点
以下条目建议在入库时建立双向互链(URL 以 /0 占位,实际 rid 由主会话回填):
https://www.qianfanghub.com/ai-ready-dataset/totalsegmentator/0(rid=422)https://www.qianfanghub.com/ai-ready-dataset/3dircadb/0(rid=357)https://www.qianfanghub.com/ai-ready-dataset/abdomenct-1k/0(rid=402)https://www.qianfanghub.com/ai-ready-dataset/asoca/0(rid=769)https://www.qianfanghub.com/ai-ready-dataset/cardiac-atlas-project/0(rid=521)
§10 避坑清单:九个已踩过的坑
坑点 1:把自动掩膜当金标准训练
现象:下载后直接 Anev_01_segmentation.nii.gz 作为标签训练分割模型,在自建验证集上指标漂亮,上线后夹层病例全面失准。
原因:掩膜由 TotalSegmentator 生成,未经人工修正;README 明确说过复杂病理下不完整或不准确,并点名夹层与动脉瘤。
规避:把掩膜定位为「待改进的输出」而非「正确答案」。若要用于训练,至少先人工抽检 10 例(优先夹层与瘤),统计错误率;或只用正常类(Young/Old)作为训练信号。
坑点 2:按 README 字面前缀拼路径
现象:写脚本遍历 NonContrast_01 到 NonContrast_10,结果 FileNotFoundError。
原因:README 表格写的是 NonContrast_01…,但 Zenodo 上实际打包文件名是 Nat.zip,目录前缀可能同样是 Nat。
规避:解压后先 ls 确认实际目录名,再写遍历逻辑;或按 *_image.nii.gz 通配符匹配,不依赖前缀。
坑点 3:以为有 Dice 可以引用
现象:论文里找分割精度表找不到,于是引用二手说法「TotalSegmentator 在主动脉上 Dice > 0.9」。
原因:本数据集没有人工金标准,因而没有 Dice。两位医师只做定性目视核验。
规避:任何在本数据集上得到的 Dice 都是使用者自己跑出来的(需要先自建参考掩膜),必须标注为自测结果,不可归因于原始论文。
坑点 4:许可口径踩雷
现象:只读 README,以为数据是 CC BY 4.0,于是花了大量精力做署名合规;或只读 Zenodo,以为完全无约束,忽略了作者的使用建议。
原因:Zenodo 记录级写 CC0 1.0,数据包内 README 文本写 CC BY 4.0,两者冲突(审稿人 2 曾指出同类问题,正文已改,README 未改)。
规避:以 Zenodo 记录级 CC0 为准(论文 Data availability 亦为 CC0),同时按 CC BY 4.0 的礼节署名——双轨合规,两条路都走通。
坑点 5:把 Nat.zip 当成「正常组」
现象:以为 Nat.zip 是 Normal(正常)组的合并包,解压后发现里面只有平扫病例。
原因:六类里已有 Young、Old 两个「正常」组,Nat 更可能是 NonContrast 或 Native 的缩写,但官方文档未给出解释。
规避:不以文件名推断内容,解压后按图像对比度判断(平扫无明显血管高密度)。本条已作为遗留疑点记录。
坑点 6:忽略零重采样带来的显存爆炸
现象:按「512×512×512 应该放得下」的经验直接整例推理,显存不足崩溃。
原因:数据未做重采样,最大单例层数达 1278 层,体积是 512³ 的两倍半;且层厚 0.6 mm 的薄层病例体积更大。
规避:推理前先读 header(nibabel 或 SimpleITK)拿到实际 shape,按块推理(如沿 z 轴切 128 层重叠 32 层),再拼接。不要假设尺寸。
坑点 7:把六类等量当人群分布
现象:用六类各 10 例的比例,推算「主动脉瘤在主动脉 CTA 检查中的占比约 16.7%」。
原因:六类是人为配额,每类恰好 10 例,与真实患病率无关。
规避:涉及比例的推断,一律回到「本数据集不用于流行病学推断」的定位。需要患病率数据时应查真实队列研究。
坑点 8:只引概念 DOI 导致复现失败
现象:论文中写 doi:10.5281/zenodo.18147025(全版本 DOI),审稿人复现时下载到 v1.2,文件组织已变,脚本跑不通。
原因:全版本 DOI 永远指向最新版;具体版本 DOI 才锁定 v1.1。
规避:报告评测结果时引用 10.5281/zenodo.18147026(v1.1)并在正文写明版本号;只做一般性介绍时才用概念 DOI。
坑点 9(附加):夹层病例的「正确答案」未定义
现象:对夹层病例做评测,一半人按「真假腔整体」算对,一半人按「仅真腔」算对,指标无法横向比较。
原因:TotalSegmentator task 52 输出单标签「主动脉」,数据集中没有真假腔的独立标签,也没有说明期望语义。
规避:在自建评测协议中明确写出掩膜语义定义(外轮廓法 / 管腔法 / 强化区法),并在结果中说明。跨研究比较时先对齐定义。
§11 总结
11.1 三句话总结
- AortaSeg-60 是 60 例真实临床胸腹主动脉 CT 的开放数据集,六类各 10 例,覆盖年轻正常、老年正常、动脉瘤、夹层、静脉期、平扫,2014–2024 年单中心回顾采集,CC0 于 Zenodo 公开发布。
- 它的掩膜由 TotalSegmentator 2.12.0 全自动生成,零人工修正,两位放射科医师只做定性技术核验;作者在 README 中明确警告复杂病理(尤其夹层与瘤)的掩膜不可作为参考标准训练新模型。
- 它最有价值的地方恰在于此:把「自动化工具在真实病理上的失败」公开成样本,适合做错误分析、域偏移压力测试与后处理策略验证,而不是当分割基准或训练标签。
11.2 适合谁
- 研究主动脉自动分割、想了解通用工具在病理 CT 上失效模式的团队;
- 需要带病理变异的 CTA 做域偏移压力测试的模型开发者;
- 设计后处理或人机协同标注流程的工程团队;
- 放射科教学场景中演示「自动分割会错在哪」的教学者;
- 研究数据集许可、元数据一致性与「real-world」语义的数据科学方法学者。
11.3 不适合谁
- 需要人工金标准标签训练监督模型的团队;
- 需要大规模样本(千例以上)做统计学习的团队;
- 需要多中心、多厂商数据评估泛化性的团队;
- 需要逐例临床诊断标签(非粗粒度分组)的研究者;
- 需要计算标准分割指标(Dice/HD95)做排行榜评测的组织者。
11.4 30 秒决策卡
| 你的需求 | 结论 |
|---|---|
| 我要训练一个主动脉分割模型 | 不适合直接用作监督信号(坑点 1) |
| 我要测我的模型在病理 CT 上稳不稳 | 适合,直接当压力测试输入 |
| 我要分析自动分割会错在哪 | 非常适合,60 例带病理的样本册 |
| 我要算 Dice 跟别人比 | 不适合,无金标准(坑点 3) |
| 我要做教学演示 | 适合,六个类别覆盖典型场景 |
| 我要研究许可与元数据治理 | 适合,含 CC0/CC BY 冲突案例(坑点 4) |
| 我要推断患病率 | 不适合,六类人为均衡(坑点 7) |
| 我要复现别人的评测结果 | 只能复现「用自己的参考掩膜算出的结果」,需先对齐语义(坑点 9) |
FAQ(高频问答 32 问)
A. 基础认知
Q1:AortaSeg-60 的官方全名是什么?
AortaSeg-60: an open real-world CT-angiography dataset of the aorta with automated segmentation masks and pathological variability。注意标题里有 “an” 与 “and pathological variability” 后缀,引用时不要截断。
Q2:为什么叫 60?
因为共 60 例检查,六类各 10 例。这个数字是设计目标,不是抽样结果。
Q3:它是挑战赛数据吗?
不是。没有排行榜、没有提交系统、没有隐藏测试集,是一份纯开放的数据发布。
Q4:它跟 AortaSeg(不带 60)是同一个东西吗?
库内没有 AortaSeg 其他版本条目。本条目严格对应 Zenodo 记录 18147026(v1.1)与 GigaByte 论文 183,二者一一对应。
Q5:数据里有多少患者?
60 例检查。作者未说明这 60 例检查对应多少独立患者——多数情况下回顾性抽取会尽量保证一例一患者以避免同一患者造成的数据泄漏,但文档未明示,属待核项。
Q6:有临床表格吗?
没有。数据集只包含图像与掩膜,不含年龄、性别、诊断、住院号等临床变量。Young(<30 岁)与 Old(>70 岁)的年龄信息只以类别形式存在,不给出具体数值。
Q7:是 CTA 还是 CT?
混合。前四类(Young/Old/Anev/Dissec)为动脉期增强 CTA,第五类为静脉期增强,第六类为平扫。Zenodo 简介表述为「CTA and non-contrast CT scans」。
B. 数据与获取
Q8:从哪里下载?
Zenodo 记录 https://zenodo.org/records/18147026,DOI 10.5281/zenodo.18147026。六个 zip 与一个 README.md,均可直链下载。
Q9:需要申请吗?
不需要。CC0 许可,无注册、无表格、无机构邮箱验证。
Q10:总共有多大?
Zenodo 显示 15.9 GB(六个 zip 合计),解压后更大。论文正文写「约 16 GB」,是四舍五入。
Q11:六个 zip 分别是什么?
Anev.zip(2.8 GB,动脉瘤)、Dissec.zip(2.6 GB,夹层)、Nat.zip(2.7 GB,平扫)、Old.zip(2.5 GB,老年正常)、Ven.zip(2.7 GB,静脉期)、Young.zip(2.6 GB,年轻正常)。
Q12:Nat.zip 的 Nat 是什么意思?
文档中没有说明。从上下文推测可能是 NonContrast 或 Native,但无法证实。解压后按内容判断最稳妥。
Q13:文件格式具体是什么?
NIfTI,扩展名 .nii.gz(gzip 压缩的单文件)。可用 nibabel、SimpleITK、MONAI、ITK-SNAP、3D Slicer 直接读取。
Q14:有 DICOM 原始数据吗?
没有。发布的是 DICOM 转换后的 NIfTI,转换过程中删除了残留的 JSON 元数据文件。论文提到审稿人曾建议补充 DICOM 版本信息,但数据发布仍为 NIfTI。
Q15:下载后怎么快速看一眼?
用 3D Slicer 或 ITK-SNAP 同时载入 image 与 segmentation 即可叠图;或用 Python:
import nibabel as nib
img = nib.load("Anev_01/nifti/Anev_01_image.nii.gz")
seg = nib.load("Anev_01/segmentation/Anev_01_segmentation.nii.gz")
print(img.shape, img.header.get_zooms())
print(seg.shape, set(nib.load("Anev_01/segmentation/Anev_01_segmentation.nii.gz").get_fdata().ravel()))
两者 shape 应当完全一致(无重采样)。
C. 掩膜与质量
Q16:掩膜是谁做的?
TotalSegmentator 2.12.0,任务号 52(aorta),全自动生成,无人工修正。
Q17:有几位医师看过?
两位委员会认证、具心血管影像经验的放射科医师,独立目视核验全部 60 例。
Q18:他们做了哪些检查?
四项:掩膜存在性、覆盖范围是否覆盖预期胸腹主动脉、类别归属是否与影像及报告一致、跨类别是否串类(瘤/夹层混入其他类、期相归错)。
Q19:有 Dice 吗?
没有。没有人工参考掩膜,因而没有标准分割指标。任何 Dice 都是使用者自建参考后自测的。
Q20:夹层的真假腔分开了吗?
没有。task 52 只输出单一「主动脉」标签,不区分真腔、假腔、内膜片。
Q21:瘤的附壁血栓算在掩膜里吗?
未说明。这是单标签语义的模糊处,取决于 TotalSegmentator 训练标注的规范。使用时应当自行验证。
Q22:README 的警告有多重?
原文明确:复杂病理(尤其夹层与瘤)掩膜不完整或不准确,不应作为参考标准(如训练新模型)。这是使用建议,不是许可限制。
D. 采集与技术细节
Q23:用的什么设备?
GE Healthcare,128–256 层配置,重建矩阵 512×512,管电压 80–120 kVp,自动管电流调制。
Q24:层厚多少?
0.60–1.25 mm。表 1 中各类出现 0.60 与 0.73±0.27 两组值,前者疑为标称值,后者为统计值。
Q25:体素间距范围?
论文表 1 给出各类均值与标准差,六类综合约 0.50–0.66 mm(各类均值口径),加上标准差后范围更宽。
Q26:平扫也做门控吗?
是。论文明确所有检查(含静脉期与平扫)均采用 ECG 门控,说明该院胸腹 CTA 协议统一按心血管检查标准执行。
Q27:对比剂时序?
动脉期约 40 s,静脉期约 90 s。
Q28:为什么没有重采样?
刻意设计。作者希望保留工具在原始输入条件下的真实表现,不做任何可能掩盖问题的标准化。
E. 许可与合规
Q29:能商用吗?
Zenodo 记录级为 CC0 1.0,理论上允许任何用途含商业。但须注意数据包内 README 写 CC BY 4.0,存在冲突;稳妥做法是按 CC0 使用并同时署名。
Q30:要署名吗?
CC0 不要求。但论文与 Zenodo 都提供了标准引用格式,学术场景建议照引。
Q31:伦理审批情况?
CHUV 法务认定项目 Hors-LHR-BPR1247 不属瑞士《人类研究法》(HRA, SR 810.30)适用范围,无需伦理委员会批准。这属机构法务判断,非伦理委员会批件。
Q32:能再分发吗?
CC0 下可以。建议保留原始 README 与来源链接,避免下游误以为掩膜是人工金标准。
事实清单(硬事实 34 条)
| 编号 | 事实 | 来源 |
|---|---|---|
| F01 | 论文 DOI:10.46471/gigabyte.183 | GigaByte 页面 |
| F02 | 期刊:GigaByte(GigaScience Press),ISSN 2709-4715 | 同上 |
| F03 | 文章类型:Data Release,文章编号 183 | 同上 |
| F04 | 收稿 2026-02-03;接收 2026-05-14;在线 2026-05-20 | 同上 |
| F05 | 预印本 DOI:10.20944/preprints202605.1002.v1 | 同上 |
| F06 | 论文许可:CC BY 4.0 | 同上 |
| F07 | 作者三人:Dania El Rahal、David C. Rotzinger、Guillaume Fahrni | 同上 |
| F08 | 通讯作者:Guillaume Fahrni(guillaume.fahrni@chuv.ch,ORCID 0000-0003-1583-9602) | 同上 |
| F09 | 机构:CHUV/UNIL 诊断与介入放射科,ROR 019whta54 | 同上 |
| F10 | 数据规模:60 例,6 类各 10 例 | 论文 + README |
| F11 | 采集跨度:2014–2024 | 论文 |
| F12 | 设备:GE Healthcare,128–256 层 | 论文 |
| F13 | 层厚 0.60–1.25 mm;矩阵 512×512;管电压 80–120 kVp | 论文 |
| F14 | 全部检查 ECG 门控(含平扫) | 论文 |
| F15 | 注射时序:动脉期 40 s,静脉期 90 s | 论文 |
| F16 | 格式:NIfTI(.nii.gz),每例 image + segmentation | README |
| F17 | 分割工具:TotalSegmentator 2.12.0,task 52(aorta) | 论文 + README |
| F18 | 运行环境:Python 3.10.19,本地 GPU 工作站 | 论文 |
| F19 | 无预处理、无重采样、无强度归一化 | 论文 |
| F20 | 掩膜未经人工校正或编辑 | 论文 + README |
| F21 | 两位放射科医师独立定性核验(四项检查) | 论文 |
| F22 | 六类名称:Young / Old / Anev / Dissec / Ven / NonContrast | 论文 + README |
| F23 | 文件命名:[缩写]_[序号]_image.nii.gz 与 _segmentation.nii.gz | README |
| F24 | Zenodo 版本 v1.1,发布 2026-01-04 | Zenodo |
| F25 | Zenodo DOI(本版):10.5281/zenodo.18147026 | Zenodo |
| F26 | Zenodo DOI(全版本):10.5281/zenodo.18147025 | Zenodo |
| F27 | Zenodo 记录级许可:CC0 1.0 Universal | Zenodo |
| F28 | README 文本许可声明:CC BY 4.0(与记录级冲突) | README |
| F29 | 六个 zip 合计 15.9 GB(Anev 2.8 / Dissec 2.6 / Nat 2.7 / Old 2.5 / Ven 2.7 / Young 2.6) | Zenodo |
| F30 | README.md 文件大小 4.0 kB(4,031 字节) | Zenodo + 实测下载 |
| F31 | 抓取时点访问量:views 984 / downloads 1,276 / data volume 5.4 TB | Zenodo |
| F32 | 伦理:CHUV 法务认定不属 HRA 范围,项目号 Hors-LHR-BPR1247 | 论文 |
| F33 | 资助:不适用;无利益冲突 | 论文 |
| F34 | 致谢披露使用 AI 写作辅助(ChatGPT, OpenAI)润色 | 论文 |
术语表(30 条)
| 术语 | 英文 | 释义 |
|---|---|---|
| 主动脉 | aorta | 人体最大的动脉,起自左心室,分升主动脉、主动脉弓、降主动脉、腹主动脉 |
| 胸腹主动脉 | thoracoabdominal aorta | 涵盖胸腔段与腹腔段的主动脉整体 |
| CT 血管造影 | CT angiography (CTA) | 静脉注射碘对比剂后在动脉期扫描,使血管高密度显影 |
| 动脉期 | arterial phase | 对比剂注射后约 25–40 s 扫描,主动脉内对比剂浓度最高 |
| 静脉期 | venous phase | 对比剂注射后约 70–90 s 扫描,静脉与实质器官显影 |
| 平扫 | non-contrast CT | 不使用对比剂的 CT 扫描 |
| 主动脉瘤 | aortic aneurysm | 主动脉管径异常扩张(通常 > 正常值 1.5 倍) |
| 主动脉夹层 | aortic dissection | 内膜撕裂后血液进入中膜,形成真假腔 |
| Stanford A 型 | Stanford type A | 夹层累及升主动脉 |
| Stanford B 型 | Stanford type B | 夹层累及降主动脉而不累及升主动脉 |
| 真腔 | true lumen | 夹层中由原内膜包绕、血流正常的腔 |
| 假腔 | false lumen | 夹层中新形成的、位于中膜内的腔 |
| 内膜片 | intimal flap | 夹层中分隔真假腔的撕裂内膜 |
| 附壁血栓 | mural thrombus | 瘤腔内壁附着的血栓 |
| 体素 | voxel | 三维图像的最小单位,对应图像上的一个采样点 |
| 体素间距 | voxel spacing | 相邻体素中心之间的物理距离(mm) |
| 层厚 | slice thickness | 单层图像的物理厚度(mm) |
| 视野 | field of view (FOV) | 单次扫描覆盖的物理范围 |
| 重建核 | reconstruction kernel | CT 重建时使用的滤波核,影响图像锐度与噪声 |
| 门控 | gating | 与心电或呼吸信号同步扫描,减少运动伪影 |
| NIfTI | Neuroimaging Informatics Technology Initiative | 神经影像常用的单文件三维数据格式 |
| 分割掩膜 | segmentation mask | 与图像同网格、用整数标签标出目标区域的体积 |
| 单标签分割 | single-label segmentation | 所有目标体素用同一个标签值表示 |
| 多标签分割 | multi-label segmentation | 不同结构用不同标签值区分 |
| 自动分割 | automated segmentation | 由算法(通常为深度学习)完成的分割 |
| 伪标签 | pseudo-label | 由模型自动生成、未经人工确认的标签 |
| 金标准 | ground truth | 被接受为正确的参考标注 |
| 域偏移 | domain shift | 训练数据与部署数据分布不一致导致性能下降 |
| 均衡设计 | balanced design | 各类别样本数人为设为相等 |
| 去标识化 | de-identification | 移除可识别个人身份的信息 |
附录
附录 A:条目信息速查卡
| 项 | 值 |
|---|---|
| 条目名 | AortaSeg-60 |
| url_name | aortaseg-60 |
| 类型 | 数据集 + 数据发布论文 |
| 论文 | GigaByte 2026,doi:10.46471/gigabyte.183 |
| 数据 | Zenodo v1.1,doi:10.5281/zenodo.18147026 |
| 团队 | CHUV/UNIL 诊断与介入放射科(Fahrni 组) |
| 规模 | 60 例(6 类 × 10 例),15.9 GB |
| 掩膜 | TotalSegmentator 2.12.0 task 52,零人工修正 |
| 许可 | 数据 CC0 1.0;论文 CC BY 4.0;README 冲突存照 |
| 抓取时点 | 2026-10-17 |
| 库内互链 | totalsegmentator(422) / 3dircadb(357) / abdomenct-1k(402) / asoca(769) / cardiac-atlas-project(521) |
附录 B:DAIMS 评估全表
| 维度 | 评分 | 关键依据 |
|---|---|---|
| D 可发现性 | 8 | DOI + MeSH 主题词 + 开放获取;无独立项目页 |
| A 可获取性 | 10 | CC0、免注册、直链 |
| I 可互操作 | 7 | NIfTI 事实标准;无 BIDS 派生、无 DICOM 源 |
| M 元数据质量 | 6 | 三处硬伤:层厚双口径、Nat 命名、许可冲突 |
| S 可持续性 | 8 | Zenodo 长期仓储 + 版本化 DOI;单邮箱联系 |
| 综合 | 7.8/10 | 获取与可持续强,元数据一致性弱 |
附录 C:逐项证据链自证
| 关键数字 | 来源 | 位置 |
|---|---|---|
| 60 例 / 6 类 / 每类 10 | 论文摘要 + README 表 | 论文正文与 README 正文 |
| 2014–2024 | 论文方法节 | 采集时间跨度描述 |
| TotalSegmentator 2.12.0 / task 52 | 论文方法节 + README 分割节 | 工具与任务号 |
| Python 3.10.19 / 本地 GPU | 论文方法节 | 运行环境 |
| 无预处理/重采样/归一化 | README 分割节 | Methodology 行 |
| 15.9 GB / 六 zip 体积 | Zenodo 文件列表 | Files 区 |
| CC0 1.0 | Zenodo Rights 字段 | 页面 Rights |
| CC BY 4.0(README) | README License 节 | 本地下载文本第 ~末段 |
| 两位医师 / 四项检查 | 论文验证节 | Validation 段 |
| v1.1 / 2026-01-04 | Zenodo Versions 区 | 版本列表 |
| Hors-LHR-BPR1247 | 论文伦理节 | Ethics 段 |
| 审稿人 Pradella / Jiang | 论文公开评审 | Peer review 记录 |
附录 D:数据获取决策树
你打算用 AortaSeg-60 做什么?
│
├─ 训练监督分割模型
│ ├─ 只用正常类(Young/Old)作为训练信号 → 可行(仍需抽检)
│ └─ 用全部六类作为标签 → 不建议(README 明令;坑点 1)
│
├─ 评测已有模型
│ ├─ 需要 Dice/HD95 → 必须自建参考掩膜,且明确掩膜语义(坑点 9)
│ └─ 只做定性错误分析 → 直接可用
│
├─ 做域偏移压力测试
│ └─ 直接可用(本数据集的推荐用法)
│
├─ 教学演示
│ └─ 直接可用,建议优先选 Dissec 与 Anev 展示失败模式
│
└─ 流行病学推断
└─ 不可用(六类人为均衡)
附录 E:读取与叠图的最小代码
import nibabel as nib
import numpy as np
from pathlib import Path
root = Path("AortaSeg-60/Anev_01")
img = nib.load(root / "nifti" / "Anev_01_image.nii.gz")
seg = nib.load(root / "segmentation" / "Anev_01_segmentation.nii.gz")
# 1) 几何一致性检查(无重采样,shape 与 affine 应完全一致)
assert img.shape == seg.shape, "shape 不一致:数据可能被后处理过"
assert np.allclose(img.affine, seg.affine), "affine 不一致"
# 2) 标签值检查(task 52 为单标签;常见为 0/1 或 0/某整数 id)
labels = np.unique(seg.get_fdata().astype(np.int16))
print("labels:", labels)
# 3) 体素体积与掩膜体积(mm^3 -> mL)
zooms = img.header.get_zooms()[:3]
voxel_vol = float(np.prod(zooms))
mask = seg.get_fdata() > 0
print("voxel(mm3):", voxel_vol, "aorta volume(mL):", mask.sum() * voxel_vol / 1000.0)
注意第三段:由于数据未经重采样,各类体素体积不同,体积统计必须逐例用 header 中的 zooms 计算,不能拿全数据集的统一体素体积去乘 voxel 计数。
附录 F:分块推理骨架(应对大体素)
def sliding_window_inference(volume, infer_fn, patch=128, overlap=32):
"""沿 z 轴分块推理,重叠区取平均,避免显存爆炸。"""
D = volume.shape[-1]
stride = patch - overlap
acc = np.zeros_like(volume, dtype=np.float32)
cnt = np.zeros_like(volume, dtype=np.float32)
for z0 in range(0, max(D - patch, 0) + 1, stride):
z1 = min(z0 + patch, D)
chunk = volume[..., z0:z1]
out = infer_fn(chunk)
acc[..., z0:z1] += out
cnt[..., z0:z1] += 1
return acc / np.maximum(cnt, 1)
对层数 1278 的薄层病例,patch=128/overlap=32 意味着约 13 个块,单块显存占用远低于整例推理。
附录 G:使用前 checklist
- [ ] 确认解压后的实际目录前缀(不要按 README 字面拼
NonContrast_) - [ ] 逐例读 header 确认 shape 与 zooms,不假设尺寸
- [ ] 明确本次任务的掩膜语义(外轮廓 / 管腔 / 强化区),写进协议
- [ ] 抽检至少 10 例(优先 Dissec 与 Anev),统计错误类型分布
- [ ] 若用于训练,记录使用了哪些类别、是否剔除病理类
- [ ] 引用时区分概念 DOI(18147025)与版本 DOI(18147026)
- [ ] 许可双轨合规:按 CC0 使用,按 CC BY 4.0 署名
- [ ] 不对外宣称「在 AortaSeg-60 上的 Dice」而不说明参考掩膜来源
附录 H:双口径存照清单
| 项 | 口径 A | 口径 B | 处理 |
|---|---|---|---|
| 数据许可 | Zenodo 记录级 CC0 1.0 | 数据包 README 写 CC BY 4.0 | 以记录级为准,双轨合规 |
| 论文许可 | 正文 CC BY 4.0 | 图 1 曾标 CC0(审稿意见指出) | 记录为已改,图 1 残留风险存照 |
| 数据体积 | 论文「约 16 GB」 | Zenodo 实测 15.9 GB | 同一数字,四舍五入差异 |
| 平扫包命名 | README 表格 NonContrast_01 |
Zenodo 文件名 Nat.zip |
以实际文件为准,来源待核 |
| 层厚 | 表 1 部分类写 0.60 | 同表部分类写 0.73±0.27 | 照录不合并,疑为标称值与统计值 |
| 论文标题 | 部分二手引用无 “an” 与 “and pathological variability” | 官方标题含该两处 | 按官方全称引用 |
| ORCID | 论文页 El Rahal 与 Rotzinger 显示同一字符串 | Zenodo 仅给 Rotzinger/Fahrni | 本条目不引用 El Rahal ORCID |
附录 I:按角色的阅读路径
分割算法研究者:§2.2(掩膜规格)→ §3.1(工具链)→ §3.4(单标签语义)→ §4.4(校验覆盖表)→ 附录 F(分块推理)。
数据工程/流水线开发者:§6.2(获取)→ §6.4(许可冲突)→ 坑点 2/5/6 → 附录 E/G。
临床/放射科读者:§0(导读)→ §2.3(六类临床含义)→ §4.1(医师做了什么)→ §7.4(它不是什么)。
数据集方法学研究者:§5.3(real-world 语义)→ §8.1(公开不完美的价值)→ §8.4(两条标注范式对照)→ 附录 B(DAIMS)。
学生/入门者:§1(十问十答)→ §11.1(三句话总结)→ §11.4(30 秒决策卡)→ 术语表。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- asoca — 共享标签:医学影像 / CT / 医学图像分割 / 心血管疾病 / 评测基准
- orcascore — 共享标签:医学影像 / CT / 医学图像分割 / 心血管疾病 / 评测基准
- imagecas-x — 共享标签:医学影像 / CT / 医学图像分割 / 心血管疾病 / 评测基准
- imagecas — 共享标签:医学影像 / CT / 医学图像分割 / 心血管疾病
- ctooth — 共享标签:医学影像 / CT / 医学图像分割 / 评测基准
- ct4harmonization-multicentric — 共享标签:医学影像 / CT / 医学图像分割 / 评测基准
- 3dircadb — 共享标签:医学影像 / CT / 医学图像分割 / 评测基准
- acdc — 共享标签:医学影像 / 医学图像分割 / 心血管疾病 / 评测基准
- toothfairy2 — 共享标签:医学影像 / CT / 医学图像分割 / 评测基准
- curvas — 共享标签:医学影像 / CT / 医学图像分割 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

