信息速览
ImageCAS — 千例冠脉 CTA 分割基准 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | ImageCAS |
| 英文全称 | ImageCAS: A Large-Scale Dataset and Benchmark for Coronary Artery Segmentation based on Computed Tomography Angiography Images |
| 别名/简称 | imageCAS、ImageCAS-A-Large-Scale-Dataset-and-Benchmark-for-Coronary-Artery-Segmentation-based-on-CT(GitHub 仓库名) |
| 疾病分类 | 缺血性心脏病(ICD-11:BA40 急性心肌梗死 / BA41 心绞痛 / BA4Z 缺血性心脏病,未特指) |
| SNOMED CT | 53741008 Coronary arteriosclerosis / 194828000 Angina pectoris / 22298006 Infarction of heart(详见 §2.1b) |
| 数据模态 | 冠脉 CT 血管造影(CCTA)三维体数据 + 体素级分割标注 |
| AI 任务类型 | 冠状动脉分割、血管树提取、狭窄定位与量化、跨数据集泛化评估 |
| 样本总数 | 1,000 例(414 女 / 586 男) |
| 数据大小 | 约 89.1 GB(Kaggle,5 个子压缩包) |
| 数据格式 | NIfTI(.nii.gz),逐例 img.nii.gz + label.nii.gz |
| 许可证 | Apache License 2.0 |
| 访问级别 | 开放(Kaggle 账号即可下载;基准代码需邮件向作者索取) |
| DUO 标签 | GRU(通用研究使用;Apache 2.0 下无附加限制) |
| 语言 | 英文(论文与文档) |
| 首发日期 | 2022-11-03(arXiv v1) |
| 最后更新 | 2023-11-30(Kaggle 五子包修复版;截至 2026-09 未见后续更新) |
| 发布机构 | 广东省人民医院(Guangdong Provincial People’s Hospital)等(详见 §3.10) |
| 官方主页 | https://github.com/XiaoweiXu/ImageCAS-A-Large-Scale-Dataset-and-Benchmark-for-Coronary-Artery-Segmentation-based-on-CT |
| 下载地址 | https://www.kaggle.com/datasets/xiaoweixumedicalai/imagecas |
| DOI | 10.1016/j.compmedimag.2023.102287(论文)/ 10.48550/arXiv.2211.01607(预印本) |
| 引用次数 | 137+(Google Scholar,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 官方划分齐备、格式统一 NIfTI、基准数字公开;扣分项:基准代码需邮件获取、无官方预处理一键脚本、旧版重复病例需自行核验 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、冠脉 CTA 临床任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与广东省人民医院、南方医科大学、广东工业大学及香港科技大学等 ImageCAS 相关机构无任何商业利益关联。本页面不销售 ImageCAS 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。ImageCAS 以 Apache License 2.0 发布于 Kaggle,下载与使用应遵守 Kaggle 服务条款及论文引用要求。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? ImageCAS 是一个包含 1,000 例冠脉 CT 血管造影(CCTA)三维体数据的公开数据集,每一例都配有放射科医师逐体素勾勒的冠状动脉「金标准」轮廓。它来自广东省人民医院 2012 至 2018 年的真实临床检查,以 NIfTI 格式免费开放,任何人都可以从 Kaggle 直接下载。在它出现之前,公开可用的冠脉分割数据集通常只有几十例,这个「千例」量级让它成为该领域迄今最大的公开 3D 冠脉分割数据集。
为什么重要? 冠心病是全球头号死因,冠脉 CTA 是无创评估冠脉狭窄的主力检查。AI 要学会在 CCTA 上自动勾画血管,必须先有大量「标准答案」。ImageCAS 把标准答案的数量从几十例提升到 1,000 例,还配套了官方训练/测试划分和多个可对比的基准方法,让不同论文的结果第一次能放在同一把尺子下衡量——这正是它被快速引用 137 次以上的原因。
我能用它做什么? 你可以用它训练和评测冠脉分割模型(论文基准最优方法 Dice 约 82.96%),做血管树提取与狭窄定位的前置步骤,开展自监督预训练或半监督学习研究,也可以把它当作跨中心泛化实验的训练源(例如在 ASOCA 数据集上微调)。注意它不提供狭窄分级或钙化评分标签,这类任务需要额外标注。
§1.1 摘要
ImageCAS 由 An Zeng、Chunbiao Wu、Xiaowei Xu 等人发表于《Computerized Medical Imaging and Graphics》2023 年 10 月第 109 卷(DOI: 10.1016/j.compmedimag.2023.102287)。团队从广东省人民医院回顾性收集 1,000 例临床 CCTA 检查(2012 年 4 月至 2018 年 12 月,Siemens 128 层双源 CT,重建 30-40% 或 60-70% 心动周期时相),每例转换为 512×512×166-277 的 NIfTI 体数据并配套二值冠脉掩膜;标注由两名放射科医师独立完成并交叉验证,分歧病例交由第三名医师裁决,命名遵循美国心脏协会(AHA)17 段法。论文同时实现了一个包含直接分割、patch 分割、树结构分割、图结构分割四类范式共五种方法的基准,并提出「多尺度 patch 融合 + 两阶段处理」的强基线(测试集 Dice 82.96%、HD 27.2169 mm、AHD 0.8180 mm),附官方 750/50/250 划分文件供公平比较。数据以 Apache 2.0 许可托管于 Kaggle(约 89.1 GB),基准代码需邮件向作者索取。截至 2026-09,论文在 Google Scholar 被引 137 次以上,衍生工作覆盖轻量化网络、Transformer 与图神经网络等多个方向。
§1.2 战略价值
规模维度:从「几十例」到「千例」的量级跃迁。 在 ImageCAS 之前,冠脉分割领域的公开数据集以 ASOCA(40 例训练)等小规模挑战赛数据为主,模型容易过拟合并难以公平对比。1,000 例的体量使训练深度网络、进行可靠的留出测试、乃至开展自监督预训练成为可能。对于医疗 AI 团队而言,它是冠脉方向几乎无法绕开的「底座数据集」:先在 ImageCAS 上预训练或联合训练,再向小规模目标域微调,已成为社区通行的迁移范式(详见 §7.8)。
基准维度:统一划分带来的可比性红利。 论文提供了官方数据划分 xlsx 与五种代表性方法的可比结果(官方划分文件),后续论文(如 ViG3D-UNet)无论是否沿用官方划分,都习惯报告「在 ImageCAS 上的 Dice/HD95」,使其事实上成为冠脉分割方向的标准试金石。
许可与可及性维度:宽松许可下的低门槛复用。 Apache 2.0 允许研究之外的商用研发,这在医疗影像数据集中是稀缺属性——同类影像数据集多受 DUA(如 COCA 的 Stanford DUA)或注册门槛约束。Kaggle 托管让获取流程压缩为「注册账号 → 下载」,配合官方划分文件,新团队从零到跑通第一个基线通常只需数小时。需要注意的是「开放」不等于「无义务」:论文引用与许可声明仍须保留,且临床落地路径不受该许可背书(详见 §7.4)。
方法学维度:四类范式的对照实验台。 论文基准特意覆盖了直接分割、patch 分割、树结构分割(TreeConvGRU)、图结构分割(GCN)四类范式,并把「多尺度 patch 融合 + 两阶段」推到最高分。这一设计让 ImageCAS 成为研究「结构先验如何进入网络」的天然实验台:想要复现或挑战「树/图结构是否真的输给纯卷积 patch 范式」这一结论,该数据集提供了唯一的同协议比较场。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态 | 标注 | 访问与许可 | 差异化定位 |
|---|---|---|---|---|---|
| ImageCAS | 1,000 例 | CCTA | 体素级二值血管掩膜(2 人独立 + 第三人裁决) | Kaggle 开放,Apache 2.0 | 当前最大公开 3D 冠脉分割数据集,附官方划分与基准 |
| ASOCA | 40 训练 + 20 测试 | CCTA | 3 名专家体素标注 + 中心线 + 网格 | UK Data Service 注册获取 | MICCAI 2020 挑战赛;20 正常 + 20 病变平衡设计,附钙化评分 |
| COCA | 425 + 199 例 | CCTA | 钙化分割 + Agatston 评分 | Stanford DUA 申请 | 钙化量化任务;门控与非门控双队列 |
| 3D CAS Images | 200 例 | CCTA | 体素级血管分割 | Kaggle 开放,Apache 2.0 | 2025 年新发布,NIfTI 格式,135 GB |
| ImageALCAPA | 30 例 | CCTA | 体素级血管标注 | Kaggle 开放,Apache 2.0 | 同一团队出品;罕见先天畸形 ALCAPA 分割 |
对比要点:ImageCAS 以规模与许可取胜,ASOCA 以标注精细度(3 专家 + 几何衍生数据)与诊断平衡设计取胜,两者构成社区最常用的「大规模训练 + 小规模外部验证」组合;需要钙化评分或左心耳等结构标签时应转向 COCA 或 STACOM2025 衍生数据(见 §8.7)。
§1.4 版本时间轴
| 时间 | 版本/事件 | 说明 |
|---|---|---|
| 2022-11-03 | arXiv v1 发布 | 数据集与基准首次公开(网盘直链下载时代) |
| 2023-04-17 | 官方划分上架 | GitHub 提供 imageCAS_data_split.xlsx;同日公告旧版含「(1)」后缀重复文件夹并完成剔除 |
| 2023-08-14 | 期刊正式版在线 | CMIG 第 109 卷 102287(Epub 2023-08-14) |
| 2023-10-17 | arXiv v2 更新 | 与期刊版对齐 |
| 2023-11-01 | 上架 Kaggle | 获取流程大幅简化 |
| 2023-11-30 | Kaggle 修复版 | 拆为 5 个子压缩包修复损坏 zip,并更新官方划分(当前最新版,截至 2026-09) |
| 2025 | STACOM2025 衍生标签 | DTU 团队基于 ImageCAS 影像发布 998 个心脏多结构标签图(约 576 MB),剔除 2 例无效扫描 |
§1.5 典型应用场景
- 冠脉分割模型研发与排名:使用官方 750/50/250 划分训练 3D U-Net 系、nnU-Net 或 Transformer 模型,与论文基准(Dice 82.96%)及后续 SOTA(ViG3D-UNet DSC 81.72%,不同协议)对比。
- 狭窄定位与量化流水线的前置模块:先分割冠脉树,再沿中心线提取管腔直径变化,实现自动狭窄检测——这是论文设想的临床落地路径。
- 自监督/半监督预训练:89.1 GB 的 257,496 张 2D 切片适合 Masked Image Modeling 等自监督任务,再迁移到小标注场景。
- 跨数据集泛化研究:在 ImageCAS 训练、ASOCA 微调(ME-UNet 论文报告微调后 AUC 0.862 / DSC 0.754)是社区常用的域适应实验设计。
- 教学与算法教学评测:NIfTI 格式可直接导入 ITK-SNAP/3D Slicer,适合「影像 + 标注」配对教学与课程作业。
§2 医学背景
§2.1 ICD-11 编码映射
ImageCAS 本身不携带疾病诊断标签,但其队列构成与下游任务围绕缺血性心脏病展开。下表给出相关概念的 ICD-11 编码:
| 相关概念 | ICD-11 编码 | ICD-11 中文名 | 与本数据集的关系 |
|---|---|---|---|
| 缺血性心脏病(未特指) | BA4Z | 缺血性心脏病,未特指 | 队列的主要临床背景 |
| 心绞痛 | BA41 | 心绞痛 | CCTA 检查最常见的指征之一 |
| 急性心肌梗死 | BA40 | 急性心肌梗死 | 纳入标准中 90 天内早期血运重建患者相关 |
| 脑梗死 | BA63 | 脑梗死 | 纳入标准相关:缺血性卒中史者入组 |
§2.1b SNOMED CT 映射
| 标签/概念 | ICD-11 | SNOMED CT 码 | SNOMED 术语 |
|---|---|---|---|
| 冠状动脉粥样硬化 | BA4Z | 53741008 | Coronary arteriosclerosis (disorder) |
| 心绞痛 | BA41 | 194828000 | Angina pectoris (disorder) |
| 心肌梗死 | BA40 | 22298006 | Infarction of heart (disorder) |
| 冠脉血管造影(检查) | — | 386088000 | Coronary angiography (procedure) |
§2.2 疾病简介与流行病学
冠状动脉粥样硬化性心脏病(冠心病,Coronary Artery Disease, CAD)的病理生理基础是冠脉内膜下粥样斑块沉积导致管腔狭窄,心肌灌注下降,最终可发展为心绞痛乃至急性心肌梗死。据论文引述的世界卫生组织数据,2019 年全球约 1,790 万人死于心血管疾病,占全球死亡总数的 32%,其中冠心病是最常见类型。冠脉 CTA 因其无创、高分辨率的三维成像能力,已成为可疑冠心病的一线影像检查:放射科医师在 CCTA 上定位冠脉、勾勒边界、测量狭窄程度并据此制定治疗计划。这一过程高度依赖人工勾画,费时且易出错,随着影像量增长几乎不可扩展——这正是自动分割的用武之地。
冠脉解剖是理解该数据集标注范围的基础。左右冠脉分别开口于主动脉根部的左、右冠脉窦:左主干(LM)迅速分为前降支(LAD)与回旋支(LCX),LAD 沿室间沟走行并发出对角支(D1-D3),LCX 沿房室沟走行并发出钝缘支(OM1-OM3),部分人群存在中间支(RI);右冠状动脉(RCA)沿右房室沟走行,发出锐缘支(AM1)并在远端分为后降支(PDA)等分支。AHA 17 段法正是对上述血管的标准化分段。冠脉分割同时面临三重技术困难:冠脉解剖个体差异大(如心肌桥走行)、部分图像噪声与伪影明显、管状结构分支繁多且在横断面上占比极小。ImageCAS 论文正是围绕这三点组织其基准设计的。流行病学上,数据集队列(含缺血性卒中/TIA/外周动脉疾病史者)属于动脉粥样硬化高危人群,与冠心病共享上游危险因素,但也因此与典型胸痛筛查人群存在构成差异(详见 §7.1)。
§2.3 临床任务定义
| 任务环节 | 定义 | ImageCAS 的角色 |
|---|---|---|
| 筛查 | 对可疑冠心病患者行 CCTA,排除管腔狭窄 ≥50% 的病变 | 提供筛查人群的真实 CCTA 分布与分割前置能力 |
| 诊断 | 定位狭窄节段、评估狭窄程度与斑块性质 | 分割是狭窄自动定位与直径量化的第一步 |
| 分级 | 按 AHA 17 段法报告病变节段与狭窄分级 | 标注协议遵循 AHA 命名,但标签未落段级类别值 |
| 预后/治疗规划 | 血运重建策略(PCI/CABG)规划、FFR-CT 等功能学评估 | 分割出的血管树是上游输入,数据集本身不含功能学标签 |
需要强调:ImageCAS 的标签是「血管在哪里」(分割),不是「血管病得多重」(狭窄分级)。做狭窄检测需要研究者在分割结果之上自行组织中心线提取、管腔直径测量,或引入其他带狭窄标签的数据。
任务与数据可得性矩阵:
| 想做的任务 | ImageCAS 能直接支撑吗 | 缺什么 | 建议 |
|---|---|---|---|
| 冠脉分割 | ✅ 直接支撑 | — | 用官方划分与基准对齐 |
| 血管树提取/中心线 | ✅ 直接支撑 | — | 对掩膜做骨架化 |
| 狭窄定位 | ⚠️ 间接支撑 | 狭窄标签 | 分割后自行量化管径,或引入带狭窄标注的数据 |
| 钙化评分 | ❌ 不支撑 | 钙化标注 | 改用 COCA |
| 心脏多结构分割 | ⚠️ 衍生支撑 | 腔室标签 | 用 STACOM2025 衍生标签 |
| 独立的外部测试集 | ⚠️ 部分 | 需第三方数据 | ASOCA(标注完备)或自行收集 |
§2.4 患者人群表
| 维度 | 内容 |
|---|---|
| 来源 | 广东省人民医院(单中心)回顾性临床 CCTA 检查 |
| 采集时间 | 2012 年 4 月至 2018 年 12 月 |
| 规模与性别 | 1,000 例:女 414 例(平均 59.98 岁),男 586 例(平均 57.68 岁) |
| 纳入标准 | 年龄 >18 岁;有缺血性卒中、短暂性脑缺血发作(TIA)和/或外周动脉疾病病史;确诊冠心病者需为 90 天内早期血运重建病例 |
| 排除标准 | 心脏 CTA 指数异常或 CCTA 图像质量低(由 III 级放射科医师评估) |
| 种族/族裔 | 论文未单独报告 |
| 就医类型 | 三甲医院临床就诊人群(门诊与住院检查混合,论文未细分) |
§2.5 临床价值
可靠的自动冠脉分割能将放射科医师从逐层勾画的重复劳动中解放出来,把人工时间集中到狭窄判读与报告书写上。以 ImageCAS 规模训练的模型 Dice 已达 80% 以上,距离「可用但不完美」的临床辅助定位:主干与近段血管勾画已较可靠,远端细支与末梢仍常见断裂或漏检。对 AI 工程师而言,该数据集的价值在于提供了一个与真实临床扫描参数(门控、时相、双源 CT)一致的训练分布;对临床研究者而言,其价值在于提供了一条可复现的基准线,任何新的冠脉分割算法都应先在 ImageCAS 官方划分上自证。需要注意,分割精度到临床价值的转化还隔着狭窄量化精度、报告一致性与前瞻验证,数据集本身只解决了第一环。
从临床工作流看,自动冠脉分割的三个落地价值点:其一,量化提速——分割后的中心线与管径提取可将狭窄量化从手工逐层压缩到分钟级自动输出;其二,一致性——共识金标准训练的模型可消除观察者间变异性,利于纵向随访对比;其三,下游可组合性——血管树是 FFR-CT 类功能学分析、冠脉钙化定位与手术规划的共同上游,分割质量直接决定整条流水线的上限。这也解释了为何一个「只是分割」的数据集能支撑起引用 137 次以上的研究生态。
§2.6 金标准描述
| 划分 | 标注方式 | 标注者 | 性质 |
|---|---|---|---|
| 官方 750 训练(含 50 验证)/ 250 测试,另附 4 折交叉验证配置 | 逐体素二值掩膜(冠脉前景/背景),左右冠脉分别标注后合并 | 两名放射科医师独立标注并交叉验证;分歧病例由第三名医师裁决 | 专家人工金标准(共识制) |
标注命名遵循 AHA 17 段法,覆盖左主干(LM)、前降支(LAD)、回旋支(LCX)、右冠状动脉(RCA)、对角支 D1-D3、钝缘支 OM1-OM3、中间支(RI)、后降支(PDA)、锐缘支(AM1)等分支。需注意:AHA 命名用于指导「画哪些血管」,最终标签文件是单一前景值的二值掩膜,段级类别信息并未保留在标签中(详见坑点 7)。
§3 数据集规格
§3.0 版本抉择矩阵
| 你的需求 | 推荐版本 | 大小 | 理由 |
|---|---|---|---|
| 复现论文基准 / 发表对比 | Kaggle 最新版(2023-11-30)+ GitHub 官方划分 xlsx | 约 89.1 GB | 已剔除重复病例,官方 750/50/250 划分可直接对齐论文 Table IV |
| 自监督预训练 / 大规模训练 | Kaggle 最新版 | 约 89.1 GB | 影像体量最大、Apache 2.0 许可宽松 |
| 快速原型 / 算力有限 | Kaggle 最新版,按病例文件夹抽取子集 | 按需(每例约 90 MB 量级) | NIfTI 逐例独立存放,可选择性加载 |
| 需要心脏多结构标签(腔室/左心耳) | STACOM2025 衍生标签 + ImageCAS 影像 | 标签约 576 MB | 同一批影像新增 11 类结构标签,但已剔除 2 例无效扫描(90、141),对齐时需注意 |
| 从旧网盘链接获取 | 不推荐 | — | 旧版含「(1)」重复文件夹,且历史 Kaggle 上传曾有损坏 zip |
§3.1 模态详情
ImageCAS 为纯影像数据集,单一模态:ECG 门控冠脉 CT 血管造影(CCTA)。每例为一个三维体数据,重建于舒张期(30-40%)或收缩末期(60-70%)时相,管电压/管电流等采集参数论文未逐例公开。图像以对比剂增强下的冠脉管腔为分割目标,标签覆盖影像中可见的冠脉主干及主要分支。数据未包含原始 DICOM(无床旁元数据、无辐射剂量报告),发布形态为脱标识后的 NIfTI。
| 模态属性 | 内容 |
|---|---|
| 成像方式 | X 射线计算机断层,碘对比剂增强,ECG 门控 |
| 重建时相 | 30-40%(舒张期)或 60-70%(收缩末期),逐例二选一 |
| 强度物理量 | Hounsfield Unit(HU):空气约 -1000,心肌约 30-60,冠脉管腔(碘)数百 |
| 单位与方向 | NIfTI 标准坐标,逐例 affine 携带真实 spacing |
| 模态数量 | 1(无 MR/超声等多模态配对) |
§3.2 按子集样本数
| 子集 | 样本数 | 用途 |
|---|---|---|
| 训练集(官方) | 750 | 模型训练(论文 4 折交叉验证亦基于全量数据组织) |
| 验证集(官方,含于训练集内) | 50 | 调参与早停 |
| 测试集(官方) | 250 | 最终报告 |
| 合计 | 1,000 | 414 女(59.98 岁)/ 586 男(57.68 岁) |
§3.3 数据格式
| 内容 | 格式 | 说明 |
|---|---|---|
| CCTA 体数据 | NIfTI(.nii.gz) | 文件名 img.nii.gz |
| 冠脉标注 | NIfTI(.nii.gz) | 文件名 label.nii.gz;单通道标签值 0=背景、1=冠脉 |
| 官方划分 | XLSX | GitHub 仓库 imageCAS_data_split.xlsx(train/val/test 列表) |
| 基准代码 | Python(PyTorch + DGL) | 需邮件向作者索取链接与密码 |
§3.4 存储大小
Kaggle 托管总量约 89.1 GB(5 个子压缩包)。全数据集共 257,496 张 2D 切片;单例体数据 512×512×166-277 体素,解压后逐例文件夹独立存放,磁盘规划建议预留 100 GB 以上(含解压中间态)。训练时若将全部体数据驻留内存不可行,需采用按需读取或 patch 采样策略(见 §6.4)。
§3.5 标注方式
标注方式为纯人工逐体素勾画(共识金标准)。两名放射科医师分别独立标注左、右冠脉系统,随后交叉核对;出现分歧的病例交由第三名医师重新标注,最终以共识结果定稿。论文未公开标注工具名称与单例标注耗时。标签无弱监督或自动预标注成分(与许多近年数据集不同),这是其金标准可信度的主要来源;但也因此无法通过文件判断每段血管对应的 AHA 段号。
| 标注流程步骤 | 执行者 | 产出 |
|---|---|---|
| 1. 图像质量准入 | III 级放射科医师 | 合格 CCTA 列表(不合格者排除出队) |
| 2. 独立标注 | 放射科医师 A 与 B | 两套左右冠脉独立掩膜 |
| 3. 交叉验证 | A 与 B 互核 | 一致部分直接采用 |
| 4. 分歧裁决 | 第三名放射科医师 | 分歧病例的重标注结果 |
| 5. 共识定稿 | 全体 | 最终 label.nii.gz(二值) |
§3.6 标注者资质与一致性
标注者为放射科医师,图像质量评估环节由 III 级(高级职称)放射科医师把关;论文未披露标注者具体人数、年资层级与量化一致性指标(如 Dice@annotators 或 ICC)。社区复现中普遍反映冠脉远端细支的标注存在观察者间变异,属于该任务固有的模糊地带。使用建议:将远端血管的预测差异视为部分标注噪声而非纯粹的模型错误,必要时对 HD95 类指标做逐例可视化核查。
§3.7 采集周期
2012 年 4 月至 2018 年 12 月,跨度约 6 年 9 个月。论文未提供逐年入组分布。年代跨度意味着重建算法与扫描协议在队列内部并非完全同质(虽为同一台设备),这对域泛化研究反而是适度的内部多样性来源。
| 时间属性 | 内容 |
|---|---|
| 采集窗口 | 2012-04 至 2018-12 |
| 覆盖时长 | 约 6 年 9 个月 |
| 逐年分布 | 论文未披露 |
| 对建模的含义 | 队列内含跨年度协议漂移,可视为温和的域多样性;亦需警惕年代偏倚 |
§3.8 地域覆盖
单中心:中国广东省广州市,广东省人民医院。无多中心、多地域样本。空间覆盖上的这一局限是论文自述的主要偏差来源,也是所有下游模型外推风险的核心(详见 §7.1、§7.3)。
§3.9 设备规格
| 项目 | 规格 |
|---|---|
| 扫描设备 | Siemens 128 层双源 CT(论文与社区目录记载为 Siemens 128-slice dual-source scanner) |
| 门控 | ECG 门控,重建 30-40% 或 60-70% 心动周期时相 |
| 体数据尺寸 | 512×512×166-277(min/median/max:166/275/277) |
| 面内分辨率 | 0.29-0.46 mm(median 0.35 mm) |
| 层间距 | 0.25-0.5 mm(median 0.5 mm) |
| 发布格式 | NIfTI(.nii.gz),已脱标识 |
§3.10 深度溯源链
数据链条:患者临床检查(广东省人民医院影像科)→ 回顾性筛选(纳入/排除标准见 §2.4)→ 脱标识与 NIfTI 转换(去除姓名、生日、入院年份、入院号、CT 号)→ 双医师标注 + 第三人裁决 → 数据集组装与官方划分(广东工业大学等工程团队)→ arXiv 首发(2022-11-03)→ CMIG 期刊发表(2023)→ Kaggle 托管(2023-11-01 起)。作者团队横跨广东工业大学、南方医科大学/广东省人民医院(广东省医学科学院)、深圳市儿童医院、香港科技大学、圣母大学、密苏里科技大学等机构;数据采集与发布主体为广东省人民医院。工单类资料中偶见「华中科技大学」「多中心」表述,经论文与官方仓库核实均不准确,本页面以论文署名与机构信息为准。
作者与机构署名表:
| 作者 | 机构 |
|---|---|
| An Zeng、Chunbiao Wu | 广东工业大学 |
| Guisen Lin | 深圳市儿童医院 |
| Wen Xie、Jin Hong、Meiping Huang、Jian Zhuang、Xiaowei Xu(通信作者) | 南方医科大学/广东省人民医院(广东省医学科学院) |
| Shanshan Bi | 南方医科大学 |
| Dan Pan | 密苏里科技大学(美国) |
| Najeeb Ullah | University of Engineering and Technology |
| Kaleem Nawaz Khan、Yiyu Shi | 圣母大学(美国) |
| Tianchen Wang、Xiaomeng Li | 香港科技大学 |
§4 数据结构
§4.0 目录树
imagecas/ # Kaggle 5 个子压缩包解压合并后的根目录
├── 10016975/ # 以匿名数字病例 ID 命名的文件夹
│ ├── img.nii.gz # CCTA 三维体数据(512×512×Sz,HU 值)
│ └── label.nii.gz # 冠脉金标准(0=背景 / 1=冠脉,逐体素)
├── 10017784/
│ ├── img.nii.gz
│ └── label.nii.gz
├── ... # 共约 1,000 个病例文件夹
└── 1002xxxx/
├── img.nii.gz
└── label.nii.gz
# 官方划分文件不在 Kaggle 包内,位于 GitHub 仓库:
# imageCAS_data_split.xlsx → train / val / test 三张病例 ID 列表
旧版数据中曾出现形如「10016975 (1)」的重复文件夹;Kaggle 最新版已剔除,但第三方镜像(网盘、课程包)可能仍携带,使用前务必按 §5.3 的查重脚本核验。
§4.1 DAIMS 字段字典
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| 病例文件夹名 | string | 匿名数字 ID,即病例主键 | 10016975 | 唯一标识、划分对齐 | 无 | 无 | 6 位数字 |
| img.nii.gz | 3D 标量体 | CCTA 体数据,HU 强度 | 512×512×275,int16 常见 | 网络输入 | 部分病例含噪声/伪影(排除标准仅拦截重劣质者) | 无缺失 | HU 连续值(空气约 -1000,碘对比剂约数百) |
| label.nii.gz | 3D 二值体 | 冠脉金标准掩膜 | 0 / 1 | 分割监督信号 | 远端细支存在观察者间变异 | 无缺失 | |
| 体素间距 spacing | 3 元组 | 由 NIfTI affine 读取 | (0.35, 0.35, 0.5) mm | 重采样、真实尺度测量 | 逐例不同,面内 0.29-0.46、层间 0.25-0.5 | 无 | 见 §3.9 |
| 层数 Sz | integer | Z 轴体素数 | 166-277 | patch 规划 | 无 | 无 | 166-277 |
| 冠脉体积 | float | 掩膜前景总体积 | 中位 6.74 cm³ | 类不平衡估计、采样设计 | 依赖标注完整性 | 无 | 1.92-16.52 cm³ |
| split(官方划分) | string | train/val/test 归属 | test | 公平评测 | 以 xlsx 为准 | 无 | |
| 重建时相 | 分类(未随数据发布) | 30-40% 或 60-70% | 未提供 | 协议分析(需自行推断) | 论文未逐例发布 | 整列缺失 |
§4.2 标签分布
标签为单一前景类的二值掩膜,无类别分布可言;有意义的分布是「冠脉体积」与「血管可见性」的病例间差异:
| 统计量 | 冠脉掩膜体积 |
|---|---|
| 最小 | 1.92 cm³ |
| 中位 | 6.74 cm³ |
| 最大 | 16.52 cm³ |
| 覆盖率 | 1,000/1,000 例均有非空标注(100%) |
以单例 512×512×275 ≈ 7,208 万体素计,中位冠脉体积约 6.74 cm³ 对应的前景占比通常不足 0.5%,属于极端前景稀疏问题,直接全图训练几乎必然输出全背景解(详见坑点 3)。
| 统计量 | 数值 | 备注 |
|---|---|---|
| 前景类别数 | 1 | 二值掩膜,无段级类别 |
| 标注覆盖率 | 100%(1,000/1,000) | 每例均有非空前景 |
| 单例前景体积范围 | 1.92-16.52 cm³ | 相差约 8.6 倍,病例间差异显著 |
| 前景占比(典型) | <0.5% | 全图训练需 patch 采样缓解 |
§4.3 关键统计
- 病例数:1,000;总 2D 切片数:257,496。
- 体数据尺寸:512×512×166-277;面内分辨率 0.29-0.46 mm,层间距 0.25-0.5 mm。
- 性别/年龄:414 女(平均 59.98 岁)、586 男(平均 57.68 岁)。
- 官方划分:750/50/250(train/val/test)。
- 论文基准最优:Dice 82.96%、HD 27.2169 mm、AHD 0.8180 mm(基线方法,测试集 250 例)。
- 数据总量:约 89.1 GB(压缩态)。
§4.4 数据层级
数据集(1,000 病例)
└── 病例(患者级,1 例 = 1 患者 = 1 次 CCTA 检查) # 主键:病例文件夹名
├── 体数据 img.nii.gz(单时相 3D 体)
│ └── 体素(512×512×Sz,HU)
└── 掩膜 label.nii.gz(逐体素二值)
层级只有两层(数据集 → 病例),无多时相序列、无多设备复查,因此「患者级泄漏」等价于「病例级泄漏」,划分逻辑相对简单;但仍需防范重复病例造成的隐性泄漏(§5.3)。
§4.5 缺失值与信息性缺失
影像与标注逐例完整,无缺失文件(Kaggle 最新版)。三类「结构性缺失」需要注意:
| 缺失内容 | 性质 | 处理建议 |
|---|---|---|
| 逐例重建时相、采集参数 | 元数据未随数据发布 | 不参与建模;跨协议分析需自行推断或联系作者 |
| 临床标签(狭窄程度、病史) | 数据集设计即不含 | 需要临床标签时改用 COCA 等数据或自行标注 |
| AHA 段级类别值 | 标注协议有命名、标签未落值 | 需要段级评估时自行做中心线拓扑拆分 |
严格来说,本数据集不存在「信息性缺失编码」问题(不存在 -999 之类哨兵值),真正的风险在于结构性缺失被误当不存在:例如把「无临床标签」理解为「队列全部健康」,或把「未披露钙化标注约定」理解为「掩膜不含钙化」。缺失即不可得,建模决策中应显式登记上述三类缺失并评估其对结论外推的影响。
§5 划分与使用建议
§5.1 官方划分
官方划分随论文发布(GitHub 的 imageCAS_data_split.xlsx),2023-11-30 随 Kaggle 修复版更新过一版:训练 750 例(其中 50 例作验证)、测试 250 例;论文实验同时组织为 4 折交叉验证。发表对比时原则上必须使用官方划分——这是论文基准(Table IV)可比性的前提。
§5.2 社区惯例划分
社区存在多种自定划分:ECR 2026 的 nnU-Net 研究使用 800/200;ViG3D-UNet 等论文沿用官方划分但在指标口径上(HD95 替代 HD)与原论文不同;另有工作将全部数据做 5 折交叉验证后与外部数据集交叉评估。阅读文献时务必先确认「用了哪个划分、哪个 Hausdorff 口径」,再决定是否比较(§8.1 有详细注记)。
| 划分方案 | 使用者 | 说明 |
|---|---|---|
| 750/50/250(官方) | 论文与多数后续工作 | 与论文 Table IV 可比 |
| 4 折交叉验证 | 论文内部实验 | 降低划分方差 |
| 800/200 | ECR 2026 研究 | 自定划分,与官方不可比 |
| 5 折分组 CV | 部分论文 | 需按病例分组防切片泄漏 |
§5.3 泄漏风险(重点)
- 重复病例泄漏:旧版数据含以「(1)」结尾的重复文件夹;若从第三方镜像获取数据,或混合新旧版本文件,同一病例可能同时落入训练与测试集,造成 5-10 个点的虚高 Dice。官方于 2023-04-17 修复,务必使用 Kaggle 最新版并对自定划分运行查重(按病例 ID 去重,必要时按体数据哈希去重)。
- 切片级随机划分:若按 2D 切片随机划分训练/测试,同一患者的相邻切片会分属两侧,等效泄漏。任何切片级实验都应按病例分组(GroupKFold by case_id)。
- 外部预训练泄漏:在全量 ImageCAS(含官方测试集)上预训练、再到官方测试集上微调评测,等于把测试集喂进了训练。预训练与评测的病例集合必须互斥。
§5.4 交叉验证建议
论文采用 4 折交叉验证组织训练,适合在数据规模有限时降低划分方差。复现建议:保持官方划分做主报告;附加 4 折或 5 折(按病例分组)CV 报告均值 ± 标准差以证明稳定性;不要用 CV 结果与官方测试集结果混排比较。
§5.5 外部验证建议
推荐的两段式设计:以 ImageCAS 官方训练集(不含测试集)训练 → 在 ASOCA 40 例训练集微调 → 在 ASOCA 20 例测试或公开排行榜提交评测。ME-UNet 论文的实践显示,ImageCAS 预训练 + ASOCA 微调可取得 AUC 0.862 / DSC 0.754,跨中心迁移可行但细节(插值、窗宽窗位、重采样 spacing)需与目标域对齐。直接零样本迁移到其他中心 CCTA 时性能衰减显著,报告时应明确标注「零样本」或「微调后」。
§6 AI 就绪指南 ⭐
§6.0 云端快速启动
Kaggle 数据集页可直接挂载到 Kaggle Notebook(Add Input → 搜索 imagecas),单台 T4/P100 即可完成数据探查与小规模训练;89.1 GB 全量训练建议 A100 40 GB 或按 patch 采样在 16 GB 卡上进行。本地环境建议:Python 3.10+、PyTorch 2.x、nibabel、SimpleITK、scipy。
# Kaggle Notebook 内零下载直接挂载(右侧 Add Input 选择 imagecas 后):
import kagglehub, glob
data_root = glob.glob("/kaggle/input/imagecas*")[0] # 挂载后的根目录
print(data_root)
# Kaggle 免费 GPU:T4 16GB 可跑 64³ patch 训练;P100 同理
# 注意 Notebook 磁盘配额(约 73 GB 工作区),建议流式读取而非整体解压复制
§6.1 快速上手
下方代码假设你已将 Kaggle 数据解压到 data_root(目录结构见 §4.0),每个病例文件夹内有 img.nii.gz 与 label.nii.gz;data_root 拼接关系为 data_root/<case_id>/img.nii.gz。最小可用子集:任选 3-5 个病例文件夹即可跑通本代码。
import nibabel as nib
import numpy as np
from pathlib import Path
data_root = Path("data_root") # 解压后的 imagecas 根目录
case_ids = sorted([p.name for p in data_root.iterdir() if p.is_dir()])
print(f"病例数: {len(case_ids)}, 前 3 个: {case_ids[:3]}")
def load_case(case_id: str, data_root: Path):
img = nib.load(data_root / case_id / "img.nii.gz") # CCTA 体数据
lbl = nib.load(data_root / case_id / "label.nii.gz") # 冠脉金标准
vol = np.asarray(img.dataobj) # HU 强度
seg = np.asarray(lbl.dataobj) # {0, 1}
spacing = img.header.get_zooms()[:3] # (x, y, z) mm
return vol, seg, spacing
vol, seg, spacing = load_case(case_ids[0], data_root)
print(f"shape={vol.shape}, spacing={spacing}, HU range=({vol.min()}, {vol.max()})")
print(f"前景体素占比 = {seg.mean() * 100:.3f}%") # 通常 <0.5%,极端类不平衡
print(f"标签唯一值 = {np.unique(seg)}") # 应为 [0, 1]
可视化建议:将 img 与 label 一起拖入 ITK-SNAP 或 3D Slicer 叠加显示,先肉眼核验 2-3 例再动手训练,可提前发现镜像数据污染(重复文件夹)或标签错位。
全队列扫描前的体检脚本(快速探查 spacing 与标签完整性分布):
from collections import Counter
import nibabel as nib, numpy as np, concurrent.futures as cf
def probe(case_id):
img = nib.load(data_root / case_id / "img.nii.gz")
seg = nib.load(data_root / case_id / "label.nii.gz")
seg_arr = np.asarray(seg.dataobj)
return (case_id, tuple(int(s) for s in img.shape),
tuple(round(float(z), 3) for z in img.header.get_zooms()[:3]),
int(seg_arr.sum()), tuple(np.unique(seg_arr).tolist()))
with cf.ThreadPoolExecutor(8) as ex: # 89 GB 全量约数分钟
results = list(ex.map(probe, case_ids))
print("尺寸分布 Top5:", Counter(r[1] for r in results).most_common(5))
print("spacing 分布 Top5:", Counter(r[2] for r in results).most_common(5))
bad = [r for r in results if r[3] == 0 or set(r[4]) != {0, 1}]
print(f"异常病例: {bad if bad else '无'}") # 空标注或非 0/1 标签
§6.2 数据获取
| 渠道 | 链接/方式 | 条件 | 大小 |
|---|---|---|---|
| Kaggle(推荐) | https://www.kaggle.com/datasets/xiaoweixumedicalai/imagecas | Kaggle 免费账号 | 约 89.1 GB,5 个子压缩包 |
| GitHub 官方仓库 | https://github.com/XiaoweiXu/ImageCAS-A-Large-Scale-Dataset-and-Benchmark-for-Coronary-Artery-Segmentation-based-on-CT | 无 | 官方划分 xlsx(数据本体已迁 Kaggle) |
| 基准代码 | 邮件 xiao.wei.xu@foxmail.com 索取链接与密码 | 学术用途,注明身份 | 代码包 |
| STACOM2025 衍生标签 | https://people.compute.dtu.dk/rapa/STACOM2025/ImageCAS-STACOM2025-02-10-2025.zip | 无 | 约 576 MB |
# 方式一:Kaggle CLI(需先配置 kaggle.json)
kaggle datasets download -d xiaoweixumedicalai/imagecas -p data_root
# 数据被拆为 5 个子 zip,依次解压到同一目录
unzip 'data_root/*.zip' -d data_root
# 方式二:kagglehub(Python 内直接拉取)
# pip install kagglehub
python - <<'EOF'
import kagglehub
path = kagglehub.dataset_download("xiaoweixumedicalai/imagecas")
print("下载完成:", path)
EOF
# 下载后务必校验压缩包完整性(历史上曾出现损坏 zip,见坑点 2)
for z in data_root/*.zip; do unzip -tq "$z" > /dev/null && echo "OK $z" || echo "BROKEN $z"; done
§6.3 预处理全流程
推荐流水线:HU 裁剪与归一化 → 各向同性重采样(图像线性、标签最近邻)→ patch 采样(以血管体素为中心)。关键原则:插值选择不可错配(图像可线性,标签必须最近邻,否则标签出现 0/1 之间的浮点值);重采样目标 spacing 建议取全队列中位数 (0.35, 0.35, 0.5) 或统一到 (0.35, 0.35, 0.35)。
import numpy as np
import nibabel as nib
from scipy.ndimage import zoom
IMG_TARGET_SPACING = np.array([0.35, 0.35, 0.5]) # mm,取全队列中位数
HU_MIN, HU_MAX = -200.0, 800.0 # 冠脉增强常用窗:覆盖管腔与钙化相邻组织
def preprocess_case(case_dir, out_dir):
img = nib.load(f"{case_dir}/img.nii.gz")
seg = nib.load(f"{case_dir}/label.nii.gz")
vol, msk = np.asarray(img.dataobj).astype(np.float32), np.asarray(seg.dataobj)
sp = np.array(img.header.get_zooms()[:3], dtype=np.float32)
# 1) HU 裁剪 + 归一化到 [0, 1]
vol = np.clip(vol, HU_MIN, HU_MAX)
vol = (vol - HU_MIN) / (HU_MAX - HU_MIN)
# 2) 重采样:图像线性插值,标签最近邻插值(顺序不能颠倒!)
factors = sp / IMG_TARGET_SPACING
vol_r = zoom(vol, factors, order=1) # linear
msk_r = zoom(msk, factors, order=0) # nearest,保持 0/1 整数值
# 3) 保存
affine = img.affine.copy()
affine[:3, :3] = affine[:3, :3] / factors[:, None] # 同步更新 affine 的尺度部分
nib.save(nib.Nifti1Image(vol_r.astype(np.float32), affine), f"{out_dir}/img.nii.gz")
nib.save(nib.Nifti1Image(msk_r.astype(np.uint8), affine), f"{out_dir}/label.nii.gz")
return vol_r.shape, msk_r.sum()
清洗要点:检查每例 seg.sum() > 0(非空标注)、vol.min() < vol.max()(非恒值体)、维度为 512×512×Sz;发现异常病例(历史上 STACOM2025 团队剔除过 90、141 两例无效扫描)应记录并隔离,而非静默跳过。
隔离清单与查重(对冲坑点 1):
import hashlib
def vol_hash(case_id, n_bytes=1 << 22): # 抽样哈希:首尾各 2 MB
raw = open(data_root / case_id / "img.nii.gz", "rb").read()
return hashlib.sha256(raw[:n_bytes] + raw[-n_bytes:]).hexdigest()
seen, dup = {}, []
for cid in case_ids: # case_ids 已 strip「 (1)」后缀
h = vol_hash(cid)
if h in seen:
dup.append((seen[h], cid))
seen[h] = cid
print(f"重复对: {dup if dup else '无'}")
# 与官方划分对齐(xlsx 列名以实际文件为准,此处以 case_id 列为例)
import pandas as pd
split_df = pd.read_excel("imageCAS_data_split.xlsx") # 从官方 GitHub 仓库下载
official_ids = set(split_df["case_id"].astype(str))
not_in_official = set(case_ids) - official_ids
print(f"不在官方划分中的 ID(需审查): {sorted(not_in_official) or '无'}")
§6.4 PyTorch DataLoader(完整可运行)
采用论文验证有效的「粗定位 + 血管中心 patch 采样」策略:以标注骨架/前景体素为中心裁 patch,正负样本约 1:1,规避前景稀疏导致的退化解。
import numpy as np
import nibabel as nib
import torch
from torch.utils.data import Dataset, DataLoader
from pathlib import Path
class ImageCASPatchDataset(Dataset):
"""以血管体素为中心的 patch 数据集。
预期目录结构: root/<case_id>/img.nii.gz + label.nii.gz
data_root 拼接关系: root 与病例 ID 列表由 split_case_ids 提供。
"""
def __init__(self, root, case_ids, patch_size=(64, 64, 64),
samples_per_case=8, pos_ratio=0.5, hu_clip=(-200.0, 800.0)):
self.root, self.ids = Path(root), list(case_ids)
self.ps, self.spc = patch_size, samples_per_case
self.pos_ratio, self.hu = pos_ratio, hu_clip
def _load(self, case_id):
img = nib.load(self.root / case_id / "img.nii.gz")
msk = nib.load(self.root / case_id / "label.nii.gz")
vol = np.asarray(img.dataobj).astype(np.float32)
seg = np.asarray(msk.dataobj).astype(np.float32)
vol = np.clip(vol, *self.hu)
vol = (vol - self.hu[0]) / (self.hu[1] - self.hu[0])
return vol, seg
def __len__(self):
return len(self.ids) * self.spc
def __getitem__(self, idx):
vol, seg = self._load(self.ids[idx // self.spc])
dz, dy, dx = self.ps
Z, Y, X = vol.shape
fg = np.argwhere(seg > 0) # 前景(血管)体素坐标
if len(fg) and np.random.rand() < self.pos_ratio:
c = fg[np.random.randint(len(fg))] # 正样本:血管中心
else:
c = np.array([np.random.randint(Z), np.random.randint(Y),
np.random.randint(X)]) # 负样本:随机位置
z0 = np.clip(c[0] - dz // 2, 0, Z - dz); y0 = np.clip(c[1] - dy // 2, 0, Y - dy)
x0 = np.clip(c[2] - dx // 2, 0, X - dx)
patch = vol[z0:z0+dz, y0:y0+dy, x0:x0+dx]
label = seg[z0:z0+dz, y0:y0+dy, x0:x0+dx]
return (torch.from_numpy(patch.copy()).float()[None],
torch.from_numpy(label.copy()).float()[None])
def dice_loss(pred, target, eps=1.0):
"""软 Dice 损失(论文同款目标函数家族)"""
inter = (pred * target).sum(dim=(2, 3, 4))
union = pred.sum(dim=(2, 3, 4)) + target.sum(dim=(2, 3, 4))
return 1.0 - ((2.0 * inter + eps) / (union + eps)).mean()
train_ds = ImageCASPatchDataset("data_root", case_ids=["10016975", "10017784"]) # 最小可用子集示例
train_loader = DataLoader(train_ds, batch_size=8, shuffle=True,
num_workers=4, pin_memory=True)
# 验证/测试集建议整卷滑窗推理而非 patch 随机采样:
class ImageCASEvalDataset(Dataset):
"""整卷评估数据集:返回完整体数据,配合滑窗推理(如 MONAI sliding_window_inference)。"""
def __init__(self, root, case_ids, hu_clip=(-200.0, 800.0)):
self.root, self.ids = Path(root), list(case_ids)
self.hu = hu_clip
def __len__(self):
return len(self.ids)
def __getitem__(self, idx):
cid = self.ids[idx]
vol = np.asarray(nib.load(self.root / cid / "img.nii.gz").dataobj).astype(np.float32)
vol = np.clip(vol, *self.hu)
vol = (vol - self.hu[0]) / (self.hu[1] - self.hu[0])
return torch.from_numpy(vol).float()[None], cid
model = torch.nn.Identity() # 此处替换为你的 3D 分割网络(nnU-Net / UNETR 等)
opt = torch.optim.Adam(model.parameters(), lr=2e-3) # 论文使用 Adam, lr=0.002
for epoch in range(30): # 论文训练 30 epochs
for x, y in train_loader:
opt.zero_grad()
loss = dice_loss(torch.sigmoid(model(x)), y)
loss.backward(); opt.step()
§6.5 坑点 8 个
⚠️ 坑点 1:旧版数据的「(1)」重复文件夹造成训练/测试泄漏(分类:数据泄漏)
问题:2023-04-17 之前发布的版本含有少量以「(1)」结尾的重复病例文件夹;从第三方网盘镜像、课程资料包或混合新旧版本文件时,同一病例可能同时出现在训练与测试划分中。
症状:Dice 比文献报告高出 5-10 个点且异常稳定;逐例检查发现两个文件夹影像内容完全一致。
解决:
- 简单方法:只用 Kaggle 最新版(2023-11-30 五子包版),按病例文件夹名 strip 掉「 (1)」后缀后做 set 去重,并核对官方划分 xlsx 的 ID 数量。
- 进阶方法:对全部 img.nii.gz 计算体数据哈希(如 SHA-256 截断),按哈希去重后再划分,可同时发现重命名式重复。
- SOTA 方法:训练前加一个泄漏探针——用官方划分 xlsx 与本地文件求差集,任何「在测试集但不在官方列表」的 ID 一律隔离审查。
参考:https://github.com/XiaoweiXu/ImageCAS-A-Large-Scale-Dataset-and-Benchmark-for-Coronary-Artery-Segmentation-based-on-CT (HIGHLIGHT 20230417)
⚠️ 坑点 2:Kaggle 历史上传存在损坏 zip,解压静默缺例(分类:工程陷阱)
问题:2023-11-01 首次上架 Kaggle 的整包 zip 存在损坏文件;官方于 2023-11-30 拆为 5 个子压缩包修复。下载中断或使用旧缓存都可能得到不完整数据。
症状:病例数不足 1,000;某病例 img.nii.gz 可解压但 label.nii.gz 缺失或 CRC 报错;训练在某个 epoch 随机崩溃。
解决:
- 简单方法:解压后统计文件夹数量是否约 1,000,并逐包执行
unzip -tq校验。- 进阶方法:建立「病例清单基线」(1,000 个 ID),启动训练前断言全部 img/label 文件可被 nibabel 打开且 shape 一致,不合格者列入隔离清单。
- SOTA 方法:为每个子包记录 MD5/SHA-256,纳入版本化数据管理(DVC 或等价物),任何机器复现实验前先跑校验脚本。
参考:https://www.kaggle.com/datasets/xiaoweixumedicalai/imagecas (HIGHLIGHT 20231130)
⚠️ 坑点 3:前景占比不足 0.5% 的极端类不平衡,全图训练退化成全背景(分类:预处理陷阱)
问题:冠脉掩膜中位体积仅 6.74 cm³,而单例体数据动辄 7,000 万体素,前景占比极小;以整图输入直接训练,网络很快学会输出全背景(损失接近零但毫无用处)。
症状:训练 Dice 高位震荡但预测掩膜恒为空;背景 IoU ≈ 1 而前景 IoU ≈ 0。
解决:
- 简单方法:按 §6.4 的血管中心 patch 采样(正负约 1:1),配合 Dice loss 或 Dice+BCE 复合损失。
- 进阶方法:对标注做骨架化后以骨架点为中心采样(论文做法),并使用 r=5 球形结构元对血管做膨胀加粗监督,缓解细血管监督稀疏。
- SOTA 方法:两阶段范式——先用低分辨率粗分割定位心脏/血管 RoI,再在 RoI 内做细粒度 patch 分割与融合(论文基线即此设计,Dice 82.96%)。
参考:Zeng et al., 2023, CMIG. DOI: 10.1016/j.compmedimag.2023.102287
⚠️ 坑点 4:各向异性且逐例不同的 spacing,重采样插值错配毁掉标签(分类:预处理陷阱)
问题:面内分辨率 0.29-0.46 mm、层间距 0.25-0.5 mm 且逐例不同;若对标签使用线性插值,二值掩膜会出现 0.3 之类的浮点值,threshold 时机不当会系统性改变血管直径。
症状:重采样后标签唯一值不再是 {0, 1};小血管在重采样后「变胖」或断裂;HD95 异常偏大。
解决:
- 简单方法:图像用 order=1(线性),标签用 order=0(最近邻),见 §6.3 代码。
- 进阶方法:统一重采样到全队列中位 spacing (0.35, 0.35, 0.5) mm,并同步修正 NIfTI affine 的尺度分量,保证后续真实尺度测量正确。
- SOTA 方法:训练时保持原始 spacing、在网络内做各向同性化(如 nnU-Net 的 anisotropic 策略),仅在推理输出时统一坐标,最大限度保留层间细节。
参考:Isensee et al., 2021, Nature Methods. DOI: 10.1038/s41592-020-01008-z
⚠️ 坑点 5:盲目数据增强反而显著掉点——论文消融显示旋转/翻转最优概率为 0(分类:预处理陷阱)
问题:通用直觉「医学影像要上强增强」在该数据集不成立:论文消融显示旋转/翻转概率为 0 时最优,比 0.2/0.2 与 0.5/0.5 配置分别高 2.63% 与 2.73%(p<0.0001);冠脉解剖的方位先验很强,随机翻转左右冠脉分布反而制造了不存在的解剖。
症状:加了增强后验证 Dice 下降 2 个点以上且训练更难收敛;左/右冠脉形态出现镜像伪影。
解决:
- 简单方法:默认关闭旋转与翻转;仅保留轻度弹性/亮度噪声并单独消融验证。
- 进阶方法:如必须增强,用解剖学合法的变换(小幅绕短轴旋转、沿血管轴向的形变),并做统计显著性检验再决定取舍。
- SOTA 方法:用 Frangi 等血管增强图作为额外语义通道替代几何增强(论文验证其贡献有限但无害),把容量花在网络结构与采样策略上。
参考:Zeng et al., 2023, CMIG, Fig. 6 消融;Frangi et al., 1998, MICCAI. DOI: 10.1007/BFb0056195
⚠️ 坑点 6:最大连通域(LCC)后处理可能切断远端细支血管(分类:评估误用)
问题:patch 分割会在无关区域产生孤立假阳性,常见对策是只保留最大连通域;但冠脉各支在影像中未必完全连通,LCC 会把 legitimately 独立或预测断裂的远端细支整块删掉。
症状:Dice 略升但逐例可视化发现右冠远段或对角支末梢消失;HD95 在特定病例上恶化。
解决:
- 简单方法:LCC 改为「保留体素数 > 阈值的所有连通域」,阈值取 20-50 体素量级并逐例核对。
- 进阶方法:先用主动脉根部定位 + 概率图距离变换做冠脉连通性恢复,再决定保留哪些连通域(论文 Fig 8 展示了 LCC 成功与失败的双面案例)。
- SOTA 方法:引入拓扑保持损失或连接性感知网络(如 ViG3D-UNet 的血管图表示),从模型端减少断裂,降低后处理依赖。
参考:Zeng et al., 2023, CMIG, Fig. 8;ViG3D-UNet, 2025, arXiv:2504.13599
⚠️ 坑点 7:标签是二值前景,没有 AHA 段级类别——按分支评估需要自己拆拓扑(分类:标签理解)
问题:标注协议遵循 AHA 17 段命名,但最终 label.nii.gz 只有一个前景值;想报告「LAD 上的 Dice」「RCA 的狭窄相关指标」时,没有现成的段级真值可用。
症状:试图用np.unique(label)找分支类别却只有 0 和 1;按左右大致切分后又无法进一步区分 LAD 与 LCX。
解决:
- 简单方法:只做整体二值分割评估(与论文可比);分支级分析明示为「研究性估计」。
- 进阶方法:从掩膜提取中心线(skimage skeletonize_3d 或 VMTK),以主动脉根部为根做图遍历,按解剖规则拆分 LAD/LCX/RCA 子树,再各自评估。
- SOTA 方法:利用 STACOM2025 衍生标签(同一影像的多结构标注,含冠状动脉独立类别)做多结构联合训练,间接获得更丰富的拓扑监督。
参考:https://www.selectdataset.com/dataset/c9f2abdb4e1b2e686342b0cbf1620e4e
⚠️ 坑点 8:单中心单设备 + 少量无效扫描,直接外推会高估泛化能力(分类:偏倚陷阱)
问题:全部 1,000 例来自广东省人民医院同一台 Siemens 128 层双源 CT,且入组偏重卒中/TIA/外周动脉疾病史人群;另有个别无效扫描被下游团队剔除(STACOM2025 剔除 90.img.nii.gz 与 141.img.nii.gz)。在 ImageCAS 上的高分不代表在其他中心设备上可用。
症状:模型在 ImageCAS 测试集 Dice 80%+,换一家医院数据骤降到 60% 区间;低剂量或非门控协议下断裂严重。
解决:
- 简单方法:报告结果时始终注明「单中心来源」;用 ASOCA 做外部验证(微调或零样本分别报告)。
- 进阶方法:训练时加入域随机化(窗宽窗位抖动、体素间距抖动),提升对协议差异的鲁棒性。
- SOTA 方法:ImageCAS 预训练 + 目标域少量标注微调的两段式迁移(ME-UNet 范式,ASOCA 微调后 AUC 0.862 / DSC 0.754),并在目标域做逐病例失败分析。
参考:https://ar5iv.labs.arxiv.org/html/2211.01607 (Limitations 段);https://www.ebiotrade.com/newsf/2026-3/20260325084810857.htm
§6.6 数据增强:安全与危险清单
| 变换 | 结论 | 说明 |
|---|---|---|
| 旋转/翻转 | ❌ 危险 | 论文消融显示概率 0 最优,掉点 2.63-2.73%(p<0.0001) |
| 大幅弹性形变 | ❌ 危险 | 破坏冠脉管径先验,影响直径类下游测量 |
| 强度抖动(HU 裁剪窗内 ±5%) | ✅ 相对安全 | 模拟对比剂浓度差异,建议单独消融 |
| 随机 HU 窗宽窗位变化 | ✅ 安全 | 提升跨协议鲁棒性(对抗单设备偏倚) |
| Frangi 血管增强通道 | ✅ 安全但增益有限 | 论文消融差异仅 0.01%(p>0.05),可作为额外语义通道 |
| 高斯噪声/模糊 | ✅ 相对安全 | 轻度量级(σ<0.01)模拟噪声病例 |
§6.7 模型推荐
| 模型 | 在 ImageCAS 的表现 | 适合场景 | 备注 |
|---|---|---|---|
| 论文基线(3D U-net + U-net++ 两阶段 patch 融合) | Dice 82.96%(官方测试集,HD 27.22 mm) | 复现论文、发表对比 | 代码需邮件索取 |
| nnU-Net(3D full-resolution) | DSC 81.11%、HD95 17.60(ViG3D 论文协议) | 快速强基线 | 自配置,无需调参魔法 |
| STUNet | DSC 81.54%、HD95 17.97(同上协议) | 大核 nnU-Net 变体 | 长程上下文 |
| ViG3D-UNet | DSC 81.72%、HD95 15.21(同上协议,五项指标最优) | 连接性敏感任务 | 3D 视觉图表示 |
| SwinUNETR / UNETR | DSC 76.10% / 76.57%(同上协议) | Transformer 预训练研究 | 该任务上弱于 CNN 系 |
| ME-UNet(轻量级) | DSC 72.8%、AUC 0.847;显存 4.7 GB | 临床工作站部署 | 显存为 UNet++ 的 1/4 |
§6.8 硬件需求
| 阶段 | 最低配置 | 推荐配置 | 依据 |
|---|---|---|---|
| 数据探查/可视化 | CPU + 16 GB 内存 | CPU + 32 GB 内存 | 逐例加载 512×512×275 float32 约 280 MB |
| patch 训练(64³) | 8 GB 显存(如 RTX 3060) | 12-16 GB | ME-UNet 仅 4.7 GB,UNet++ 约 18.4 GB |
| 论文基线复现 | RTX 3090 24 GB(论文所用) | A100 40 GB 多卡 | 两阶段多尺度 patch 融合 |
| 全图大模型(Swin-UNETR 类) | 24 GB | 40-80 GB | Swin-UNETR 报告显存 22.7 GB |
§6.9 评估指标代码
与论文对齐的报告口径:Dice(%)、HD(Hausdorff,mm)、AHD(Average Hausdorff Distance,即对称平均表面距离,mm)。现代文献多用 HD95,报告时务必标注口径。
import numpy as np
from scipy.ndimage import distance_transform_edt
def dice_percent(pred: np.ndarray, gt: np.ndarray) -> float:
inter = np.logical_and(pred, gt).sum()
return 200.0 * inter / (pred.sum() + gt.sum() + 1e-8)
def surface_points(mask: np.ndarray):
"""提取掩膜表面体素(3D 边界)"""
er = mask & ~np.roll(mask, 1, axis=0) # 简化示意:生产环境建议用 morphological 二值腐蚀
return er
def hausdorff(pred: np.ndarray, gt: np.ndarray, spacing=(0.35, 0.35, 0.5), percentile=None):
"""Hausdorff / HD95(mm)。percentile=None 时返回最大 HD,95 时返回 HD95。"""
if pred.sum() == 0 or gt.sum() == 0:
return float("inf")
d_pred_to_gt = distance_transform_edt(~surface_points(gt > 0), sampling=spacing)
d_gt_to_pred = distance_transform_edt(~surface_points(pred > 0), sampling=spacing)
sp = d_pred_to_gt[pred > 0]; sg = d_gt_to_pred[gt > 0]
all_d = np.concatenate([sp, sg])
return float(np.percentile(all_d, percentile)) if percentile else float(all_d.max())
def ahd(pred: np.ndarray, gt: np.ndarray, spacing=(0.35, 0.35, 0.5)) -> float:
"""Average Hausdorff Distance(双向平均表面距离,论文口径 AHD)"""
d1 = distance_transform_edt(~(gt > 0), sampling=spacing)[pred > 0]
d2 = distance_transform_edt(~(pred > 0), sampling=spacing)[gt > 0]
return float((d1.mean() + d2.mean()) / 2) if (d1.size and d2.size) else float("inf")
def connectivity_recall(pred: np.ndarray, gt: np.ndarray) -> float:
"""连通性召回:GT 各连通域与预测的重叠比例(监控远端细支断裂)"""
from scipy.ndimage import label as cc_label
_, n = cc_label(gt > 0)
if n == 0:
return 1.0
hit = sum(1 for i in range(1, n + 1)
if np.logical_and(gt == i, pred > 0).any())
return hit / n
# 逐例报告建议输出:dice_percent / hausdorff(95) / ahd / connectivity_recall
# 并绘制 HD95 箱线图——均值会掩盖个别断裂病例(论文 Fig 8 的失败模式)
§6.10 MLOps 笔记
- 数据版本化:以「Kaggle 五子包(2023-11-30)+ 官方划分 xlsx」为基线快照,登记哈希;任何第三方镜像来源都应打上 provenance 标签。
- 实验可复现:固定随机种子(patch 采样依赖随机数)、记录 spacing 重采样目标、增强开关;论文消融表明这些选择对结果影响可达 2-3 个 Dice 点。
- 评测隔离:官方测试集 250 例只允许最终报告使用;开发期用 50 例官方验证集或 4 折 CV。
- 监控:上线后跟踪前景占比、断裂连通域数量、HD95 分布漂移;单中心模型在跨设备部署时的漂移大概率来自 HU 分布与层间距差异。
- 合规:Apache 2.0 允许商用,但产出临床工具仍需按医疗器械软件路径独立验证;在产品文档中引用数据集时保留论文引用(见 §9)。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 单中心/单设备 | 全部病例来自广东省人民医院同一台 Siemens 128 层双源 CT,作者自述 biased distributions | 高 | 外部验证(ASOCA);域随机化;多中心数据联合训练 |
| 入组指征偏倚 | 纳入标准为缺血性卒中、TIA 和/或外周动脉疾病史者及 90 天内血运重建者,并非典型胸痛筛查队列 | 高 | 向筛查人群外推时谨慎;必要时在目标人群抽样验证 |
| 年代偏倚 | 2012-2018 采集,不反映当前迭代重建与光子计数 CT 协议 | 中 | HU 窗抖动等协议鲁棒性训练;逐例核查伪影 |
| 标注粒度偏倚 | 仅二值血管掩膜;论文未说明钙化斑块区域是否计入管腔掩膜 | 中 | 钙化重度病例上做逐例可视化核对;不要把该数据用于钙化定量 |
| 性别/年龄结构 | 女 414 / 男 586,平均 57.7-60.0 岁 | 低 | 中老年为主,儿科场景完全不可用 |
§7.2 标注质量
标注采用双人独立 + 第三人裁决的共识制,且由 III 级放射科医师执行质量把关,金标准可信度高于多数自动/半自动标注数据集。未见公开的观察者间一致性定量指标,这是透明度上的不足。远端细支(直径约 1-2 mm 量级)本身处于部分容积效应边缘,标注与预测的不确定性都集中于此;建议把 HD95 逐例分布(而非仅均值)作为质量监控指标,并对 HD95 离群病例做目视复核。
| 标注质量维度 | 评估 | 证据与建议 |
|---|---|---|
| 标注者资质 | 强 | 放射科医师执行,III 级医师把关图像准入 |
| 一致性流程 | 强 | 双人独立 + 交叉验证 + 第三人裁决 |
| 一致性定量 | 缺 | 论文未报 ICC/annotator Dice,引用时不宜声称「完全一致」 |
| 段级信息 | 缺 | AHA 命名未落标签值,分支级评估需自行拓扑拆分 |
| 钙化约定 | 未说明 | 重钙化病例建议逐例可视化核对掩膜边界 |
§7.3 泛化性
| 部署场景 | 失效风险 | 证据 |
|---|---|---|
| 其他中心 CCTA(不同扫描仪) | 高 | 单中心自述局限;ME-UNet 等需 ASOCA 微调才能取得跨数据集性能 |
| 不同重建时相/算法 | 中 | 队列内 30-40% 与 60-70% 双时相并存,提供有限鲁棒性 |
| 低剂量/非门控协议 | 高 | 门控差异显著;COCA 双队列(门控+非门控)显示此类差异真实存在 |
| 重度钙化病例 | 中高 | 论文未说明钙化区标注约定;钙化伪影是 CCTA 公认难点 |
| 零样本迁移到 ASOCA | 中 | ViG3D 等论文在 ASOCA 上另行训练后 DSC 可达 80%+,零样本数字普遍低于此 |
§7.4 伦理
数据来自临床常规检查的回顾性收集,发表前完成脱标识(移除姓名、生日、入院年份、入院号、CT 号),仅保留匿名数字病例 ID。论文流程隐含机构伦理审查背书(回顾性去标识化影像研究),但论文未公开伦理批件号。使用者应遵守 Apache 2.0 许可与 Kaggle 条款,不得尝试重识别。
§7.5 公平性
队列性别比(女 41.4%)与年龄结构(平均约 58-60 岁)接近临床 CCTA 受检人群,未见按性别/年龄分层评估的公开结果。儿科与妊娠场景完全不适用。跨种族外推未经检验:队列种族构成未单独披露,输出模型在其他人群中的表现应独立验证。
| 公平性维度 | 现状 | 风险与对策 |
|---|---|---|
| 性别 | 女 414 / 男 586(41.4% 女) | 未公开分层指标;建议训练后按性别分桶复核 Dice/HD95 |
| 年龄 | 平均 57.7-60.0 岁 | 老年为主;年轻受检者(低钙化、细血管)可能表现更差 |
| 种族/地域 | 单中心、构成未披露 | 跨人群外推必须先行小样本验证 |
| 儿科 | 不适用 | 纳入标准要求 >18 岁 |
§7.6 数据漂移
数据集已于 2023-11-30 后停止更新(截至 2026-09 未见新版本),其采集窗口止于 2018 年 12 月;2019 年后 CCTA 普遍转向迭代重建、更低剂量协议与光子计数 CT 原型,分布漂移客观存在。以该数据集训练的模型进入现代扫描环境时,应把「重建算法版本」与「辐射剂量协议」纳入输入特征监控,并定期在新鲜数据上复核 HD95 分布。
| 漂移源 | 方向 | 监控信号 |
|---|---|---|
| 重建算法演进(迭代重建/深度学习重建) | HU 噪声纹理改变 | 前景占比、Dice 按设备版本分桶 |
| 剂量与对比剂方案 | 对比度差异 | 管腔-心肌 HU 差值分布 |
| 扫描仪迭代(光子计数 CT) | 空间分辨率提升 | spacing 分布、细支检出率 |
| 人群与指征变化 | 筛查扩大 | 狭窄相关下游指标分布 |
§7.7 DAIMS 24 项评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | 统一 NIfTI 布局,逐例 img/label 成对 |
| 2 | 唯一标识 | ✅ | 匿名数字病例 ID 即主键,官方划分以 ID 对齐 |
| 3 | 特殊字符 | ⚠️ | 旧版文件夹名含空格与括号「(1)」,路径处理需转义 |
| 4 | 重复行 | ⚠️ | 历史重复病例已修复,但旧镜像仍在流传,需自检哈希 |
| 5 | 缺失编码 | ✅ | 影像与标注逐例完整,无缺失文件 |
| 6 | 标签标识 | ✅ | label.nii.gz 单通道 {0,1},语义清晰 |
| 7 | 罕见类分组 | ⚠️ | 仅前景一类;无段级/分支级类别值可供分组评估 |
| 8 | 偏倚评估 | ⚠️ | 作者自述单中心偏倚;无正式偏倚评估章节 |
| 9 | 数据字典 | ⚠️ | 无官方数据字典文件,规格散见于论文与社区文档 |
| 10 | 信息性缺失解释 | ✅ | 元数据缺失机制明确(脱标识移除),无信息性缺失值编码需求 |
| 11 | 设备记录 | ✅ | 设备品牌与层科级信息明确(Siemens 128 层双源) |
| 12 | 共线性 | ✅ | 无表格协变量,共线性不适用 |
| 13 | 编码映射 | ⚠️ | AHA 段命名未落标签值,段级映射需自行重建 |
| 14 | 时间戳处理 | ⚠️ | 入院年份等时间信息在脱标识时移除,无可用时间戳 |
| 15 | 划分建议 | ✅ | 官方 750/50/250 划分文件随仓库发布 |
| 16 | 泄漏讨论 | ⚠️ | 官方修复过重复病例,但正文未系统讨论泄漏防护 |
| 17 | 标签分布 | ✅ | 冠脉体积 min/median/max 统计公开 |
| 18 | 测量偏倚 | ⚠️ | 三人共识制但无观察者间一致性定量报告 |
| 19 | 外部验证建议 | ✅ | 论文与社区均提供 ASOCA 等外部验证范式 |
| 20 | 版本记录 | ⚠️ | 无正式版本号,依赖 GitHub 更新日志与 Kaggle 页面公告 |
| 21 | 预处理脚本 | ⚠️ | 基准代码需邮件索取,无随数据一键运行脚本 |
| 22 | 合规要求 | ✅ | Apache 2.0 明确,免费开放 |
| 23 | 多模态对齐 | ✅ | 单模态数据集;影像与标签逐体素对齐完好 |
| 24 | 去标识化 | ✅ | 姓名、生日、入院年份、入院号、CT 号均已移除 |
DAIMS 评分:13.5 / 24
评分解读:作为影像分割数据集,ImageCAS 的「数据本体质量」(格式统一、标注共识制、去标识化)达到优秀水准,失分集中在「数据治理」层面——无官方数据字典、无正式版本号、预处理代码获取不便、时间戳与段级信息缺失。这类「本体强、治理弱」的组合是单中心学术数据集的典型画像。
对你意味着什么:(1) 可以放心把它当作分割模型的主训练集,但必须自行建立病例清单基线与哈希校验(对冲坑点 1、2);(2) 不要指望现成的段级标签或临床元数据,涉及分支评估或协议分析的计划要预留自行重建的成本;(3) 工程上把「官方划分 + 哈希去重 + HD95 逐例监控」写进流水线,能覆盖本数据集 80% 的已知风险。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| ASOCA(微调) | UNSW Coronary Atlas(MICCAI 2020 挑战赛) | 冠脉分割 | AUC 0.862 / DSC 0.754 / IoU 0.605(ME-UNet,ImageCAS 预训练 + ASOCA 微调) | 略优于其 ImageCAS 内部结果(AUC 0.847 / DSC 0.728) | ImageCAS 预训练可正向迁移到跨中心小数据集 |
| ASOCA(平行训练) | 同上 | 冠脉分割 | nnU-Net DSC 80.53 / HD95 35.93;ViG3D-UNet DSC 84.23 / HD95 13.39(ASOCA 内部 5 折口径) | 不可与 ImageCAS 数字直接比较 | ASOCA 小数据上方差大,HD95 尤甚 |
| ImageCAS 官方测试集(现代架构) | 广东省人民医院(内部) | 冠脉分割 | ViG3D-UNet DSC 81.72 / HD95 15.21 | 基准最优线以下约 1 个 Dice 点 | 2023 年后架构进步多在 1-2 个点内,渐进式 |
§8 基准性能与生态
§8.1 排行榜
第一组:论文官方基准(同一协议:官方测试集,Dice/HD/AHD 口径,可直接比较)
| 排名 | 模型 | Dice (%) | HD (mm) | AHD (mm) | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|---|---|
| 1 | 论文基线:3D U-net + U-net++(多尺度 patch 融合、两阶段) | 82.96 | 27.2169 | 0.8180 | 2023 | 骨架点 patch 采样、r=5 膨胀、粗分割 RoI | Zeng et al., 2023, Computerized Medical Imaging and Graphics. DOI: 10.1016/j.compmedimag.2023.102287 | 邮件向作者索取 |
| 2 | Direct segmentation(3D FCN) | 80.58 | 28.6656 | 0.8503 | 2023 | 全图直接分割(512×512×256 输入) | 同上 | 邮件向作者索取 |
| 3 | Patch segmentation(3D U-net) | 72.01 | 40.9693 | 3.0686 | 2023 | 64³ patch、Frangi 通道 | 同上 | 邮件向作者索取 |
| 4 | Graph based(GCN) | 70.61 | 27.8718 | 1.2433 | 2023 | 图卷积、N×32 节点特征 | 同上 | 邮件向作者索取 |
| 5 | Tree data based(3D TreeConvGRU) | 68.78 | 30.3350 | 1.4336 | 2023 | 树结构递归单元 | 同上 | 邮件向作者索取 |
第二组:后续论文报告值(划分与指标口径不同,禁止与第一组直接比较)
| 排名 | 模型 | DSC (%) | HD95 (mm) | 年份 | 协议注记 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|---|
| 1 | ViG3D-UNet | 81.72 | 15.21 | 2025 | 五项指标(DSC/HD95/IoU/精度/召回)均最优 | ViG3D-UNet: Volumetric Vascular Connectivity-Aware Segmentation via 3D Vision Graph Representation, 2025, arXiv:2504.13599 | 论文开源 |
| 2 | STUNet | 81.54 | 17.97 | 2025 | ViG3D 论文对比基线 | 同上(arXiv:2504.13599 对比实验) | — |
| 3 | nnU-Net | 81.11 | 17.60 | 2025 | ViG3D 论文对比基线 | 同上;另见 Isensee et al., 2021, Nature Methods. DOI: 10.1038/s41592-020-01008-z | https://github.com/MIC-DKFZ/nnUNet |
| 4 | SwinUNETR | 76.10 | 41.64 | 2025 | ViG3D 论文对比基线 | arXiv:2504.13599 对比实验 | — |
| 5 | ME-UNet | 72.8(AUC 0.847) | — | 2026 | 自定协议,另报 IoU 0.583 | ME-UNet(轻量级 3D U-Net,2026,经 ebiotrade 报道) | — |
数值不可直接比较的原因:(1) 第二组使用 HD95 而原论文用最大 HD 与 AHD;(2) 部分后续工作采用自定划分(如 800/200)或交叉验证均值;(3) 后处理(LCC、连通域过滤)与膨胀策略各家不一;(4) ME-UNet 另行使用 AUC 类指标。引用任何「SOTA」数字前先核对协议。
§8.2 SOTA 总结与选型建议
2023 年论文基线(Dice 82.96%)至今仍是官方协议下的最高数字;后续架构(nnU-Net、STUNet、ViG3D-UNet)在各自协议下稳定于 DSC 76-82% 区间,进步呈渐进式而非跳跃式。选型建议:追求「能打」的默认选择是 nnU-Net(零调参、协议成熟);研究连接性与断裂问题选 ViG3D-UNet;部署在边缘/工作站选 ME-UNet 类轻量模型;复现学术对比则回到论文基线与官方划分。
| 你的目标 | 推荐路径 | 预期位置 |
|---|---|---|
| 论文对比(官方协议) | 官方划分 + 复现基线协议 + Dice/HD/AHD | 与 82.96% 直接可比 |
| 快速强基线 | nnU-Net 开箱训练 | DSC 81% 附近(HD95 口径) |
| 减少血管断裂 | ViG3D-UNet 或拓扑保持损失 | HD95 与连通性指标改善 |
| 边缘部署 | ME-UNet 类轻量模型 + patch 推理 | 显存 <5 GB,精度折衷可接受 |
| 跨中心落地 | ImageCAS 预训练 + 目标域微调 | 在目标域重定基线,勿直接搬用 82.96% |
§8.3 评测协议
官方协议:训练 750(含 50 验证)、测试 250;报告测试集 Dice(%)、HD(mm)、AHD(mm);训练细节参考论文(Adam、lr 0.002、Dice loss、30 epochs、RTX 3090)。社区通行补充:HD95 与逐例 Dice/HD95 分布图;跨数据集协议为 ImageCAS 训练 → ASOCA 微调 → ASOCA 独立测试或挑战赛排行榜提交。无论哪种协议,都应在表格脚注中写明划分来源与 Hausdorff 口径。
| 协议要素 | 官方约定 | 社区常见变体 |
|---|---|---|
| 划分 | 750/50/250(xlsx) | 800/200、5 折分组 CV |
| 指标 | Dice(%)、HD、AHD | DSC + HD95 + IoU + 精度/召回 |
| 后处理 | 基线含膨胀与融合 | LCC / 阈值化连通域过滤(需声明) |
| 外部评测 | — | ASOCA 微调后提交挑战赛接口 |
| 报告格式 | 测试集单值 | CV 均值 ± 标准差 |
§8.4 相关数据集
| 数据集 | 规模 | 任务 | 与 ImageCAS 的关系 |
|---|---|---|---|
| ASOCA | 40 训练 + 20 测试 CCTA | 冠脉分割 | 最常用的外部验证搭档;3 专家标注、20 正常 + 20 病变平衡 |
| COCA | 425 + 199 CCTA | 钙化评分/分割 | 补足 ImageCAS 缺失的钙化定量任务 |
| 3D CAS Images | 200 CCTA | 冠脉分割 | 2025 年新增的同任务候选训练源 |
| ImageALCAPA | 30 CCTA | ALCAPA 分割 | 同团队出品的罕见病姊妹数据集 |
| Rotterdam CCTA | 数十例 | 狭窄检测 | 历史基准,已停止公开发布(ASOCA 论文引述) |
| orCaScore 配套数据 | 数十例 | 冠脉钙化评分 | 早期钙化评分基准方向的数据,规模与 ImageCAS 不同量级 |
§8.5 关键论文 Top 7
- Zeng A, Wu C, Lin G, et al. ImageCAS: A large-scale dataset and benchmark for coronary artery segmentation based on computed tomography angiography images. Computerized Medical Imaging and Graphics, 2023, 109: 102287. DOI: 10.1016/j.compmedimag.2023.102287 — 数据集与基准的原始论文。
- Zeng A, Wu C, Huang M, et al. ImageCAS: A Large-Scale Dataset and Benchmark for Coronary Artery Segmentation based on Computed Tomography Angiography Images. arXiv:2211.01607, 2022(v2 2023). — 预印本,含 17 页方法细节与消融。
- Gharleghi R, Samarasinghe G, Sowmya A, Beier S. Annotated computed tomography coronary angiogram images and associated data of normal and diseased arteries. Scientific Data, 2023, 10. DOI: 10.1038/s41597-023-02016-2 — ASOCA 数据论文,外部验证标准搭档。
- Isensee F, Jaeger PF, Kohl SAA, et al. nnU-Net: a self-configuring method for deep learning-based biomedical image segmentation. Nature Methods, 2021, 18(2): 203-211. DOI: 10.1038/s41592-020-01008-z — 社区默认强基线。
- ViG3D-UNet: Volumetric Vascular Connectivity-Aware Segmentation via 3D Vision Graph Representation. arXiv:2504.13599, 2025. — 当前连接性感知方向的代表作。
- Frangi AF, Niessen WJ, Vincken KL, Viergever MA. Multiscale vessel enhancement filtering. MICCAI 1998. DOI: 10.1007/BFb0056195 — 论文基准所用 Frangi 通道的方法源头。
- Zeng A, Wu C, Lin G, et al. ImageALCAPA: A 3D computed tomography image dataset for automatic segmentation of anomalous left coronary artery from pulmonary artery. IEEE BIBM 2022: 1800-1803. — 同团队姊妹数据集,罕见病扩展。
§8.6 社区活跃度
截至 2026-09:GitHub 官方仓库 79 星、4 fork;论文 Google Scholar 被引 137 次以上(Scopus 90、Dimensions 115),近两年引用占比高(Dimensions 引用百分位显示其持续高热);sota2 等聚合排行榜持续收录 ImageCAS 上的新结果;Kaggle 数据集页保持可下载状态。社区未出现大型第三方维护版 fork,后续改进主要以独立论文形式出现。
§8.7 生态快照
| 资源 | 类型 | 链接 | 状态(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| 官方 GitHub 仓库 | 数据入口/划分 | https://github.com/XiaoweiXu/ImageCAS-A-Large-Scale-Dataset-and-Benchmark-for-Coronary-Artery-Segmentation-based-on-CT | 79 星 | 官方划分 xlsx 与更新公告 |
| Kaggle 数据集页 | 数据托管 | https://www.kaggle.com/datasets/xiaoweixumedicalai/imagecas | 可下载,Apache 2.0 | 最稳定的获取渠道 |
| STACOM2025 衍生标签 | 增强标注 | https://people.compute.dtu.dk/rapa/STACOM2025/ImageCAS-STACOM2025-02-10-2025.zip | 可下载(约 576 MB) | 同一影像的多结构标签(含左心耳) |
| sota2 冠脉分割榜 | 排行榜 | https://www.sota2.com/research/task/coronary-artery-segmentation | 持续更新 | 快速浏览各论文报告值 |
| openmedlab 数据集百科 | 社区文档 | https://github.com/openmedlab/Awesome-Medical-Dataset/blob/main/resources/ImageCAS.md | 可访问 | 中文社区整理的规格统计 |
| 心血管影像数据集目录 | 目录 | https://github.com/gfahrni/open-cardiovasc-imaging-datasets | 维护中 | 横向挑选同类数据的起点 |
§9 相关资源与引用
§9.1 官方资源
- 论文(期刊版):https://www.sciencedirect.com/science/article/abs/pii/S0895611123001052
- 论文(预印本):https://arxiv.org/abs/2211.01607
- PubMed 条目:https://www.pubmed.ncbi.nlm.nih.gov/37634975/
- GitHub 官方仓库(划分文件与公告):https://github.com/XiaoweiXu/ImageCAS-A-Large-Scale-Dataset-and-Benchmark-for-Coronary-Artery-Segmentation-based-on-CT
- Kaggle 下载页:https://www.kaggle.com/datasets/xiaoweixumedicalai/imagecas
- 基准代码:邮件联系 xiao.wei.xu@foxmail.com 获取链接与密码
§9.2 教程与社区
- ITK-SNAP(可视化标注核验):http://www.itksnap.org/
- 3D Slicer:https://www.slicer.org/
- nnU-Net 官方仓库(可直接对接 ImageCAS):https://github.com/MIC-DKFZ/nnUNet
- MONAI(滑窗推理与 3D 分割组件):https://monai.io/
- VMTK(中心线提取与血管量化):http://www.vmtk.org/
- ASOCA 挑战赛主页(外部验证入口):https://asoca.grand-challenge.org/
§9.3 BibTeX 引用
@article{zeng2023imagecas,
title = {ImageCAS: A large-scale dataset and benchmark for coronary artery
segmentation based on computed tomography angiography images},
author = {Zeng, An and Wu, Chunbiao and Lin, Guisen and Xie, Wen and Hong, Jin
and Huang, Meiping and Zhuang, Jian and Bi, Shanshan and Pan, Dan
and Ullah, Najeeb and Khan, Kaleem Nawaz and Wang, Tianchen
and Shi, Yiyu and Li, Xiaomeng and Xu, Xiaowei},
journal = {Computerized Medical Imaging and Graphics},
volume = {109},
pages = {102287},
year = {2023},
doi = {10.1016/j.compmedimag.2023.102287}
}
@article{zeng2022imagecas_arxiv,
title = {ImageCAS: A Large-Scale Dataset and Benchmark for Coronary Artery
Segmentation based on Computed Tomography Angiography Images},
author = {Zeng, An and Wu, Chunbiao and Huang, Meiping and Zhuang, Jian
and Bi, Shanshan and Pan, Dan and Ullah, Najeeb and Khan, Kaleem Nawaz
and Wang, Tianchen and Shi, Yiyu and Li, Xiaomeng and Lin, Guisen
and Xu, Xiaowei},
journal = {arXiv preprint arXiv:2211.01607},
year = {2022},
doi = {10.48550/arXiv.2211.01607}
}
@article{gharleghi2023asoica,
title = {Annotated computed tomography coronary angiogram images and associated
data of normal and diseased arteries},
author = {Gharleghi, Ramtin and Samarasinghe, Gihan and Sowmya, Arcot and Beier, Susann},
journal = {Scientific Data},
volume = {10},
year = {2023},
doi = {10.1038/s41597-023-02016-2}
}
@article{isensee2021nnunet,
title = {nnU-Net: a self-configuring method for deep learning-based biomedical
image segmentation},
author = {Isensee, Fabian and Jaeger, Paul F. and Kohl, Simon A. A.
and Petersen, Jens and Maier-Hein, Klaus H.},
journal = {Nature Methods},
volume = {18},
number = {2},
pages = {203--211},
year = {2021},
doi = {10.1038/s41592-020-01008-z}
}
@inproceedings{frangi1998vessel,
title = {Multiscale vessel enhancement filtering},
author = {Frangi, Alejandro F. and Niessen, Wiro J. and Vincken, Koen L.
and Viergever, Max A.},
booktitle = {Medical Image Computing and Computer-Assisted Intervention (MICCAI)},
pages = {130--137},
year = {1998},
doi = {10.1007/BFb0056195}
}
@article{vig3dunet2025,
title = {ViG3D-UNet: Volumetric Vascular Connectivity-Aware Segmentation via
3D Vision Graph Representation},
author = {{ViG3D-UNet authors}},
journal = {arXiv preprint arXiv:2504.13599},
year = {2025}
}
@inproceedings{zeng2022imagealcapa,
title = {ImageALCAPA: A 3D computed tomography image dataset for automatic
segmentation of anomalous left coronary artery from pulmonary artery},
author = {Zeng, An and Mi, Chenxi and Pan, Dan and Lu, Qing and Xu, Xiaowei},
booktitle = {IEEE International Conference on Bioinformatics and Biomedicine (BIBM)},
pages = {1800--1803},
year = {2022}
}
§9.4 引用指南
使用 ImageCAS 数据时,请引用期刊版论文(zeng2023imagecas);若讨论官方划分与更新公告,可补充 GitHub 仓库链接;跨数据集实验引用 ASOCA 数据论文(gharleghi2023asoica)。在产品或服务中使用时保留 Apache 2.0 声明与 NOTICE 要求。
§10 AI 使用声明卡
§10.1 AI 模型列表
- 条目起草与结构生成:CodeBuddy Code 写作代理(fast-model 对话式大语言模型)。
- 事实核查辅助:联网检索(WebSearch/WebFetch)提供的公开网页快照。
- 格式校验:check_md.py 确定性脚本(非 AI 组件)。
§10.2 AI 参与范围
AI 参与了资料检索汇总、初稿撰写与代码示例起草;全部医学结论、编码映射、基准数字与坑点均取自下述公开来源并由编辑部交叉审核;代码示例经过逻辑审查但未在标注环境逐行执行验证。最终事实准确性由 §10.4 所列人工审核环节负责。
以下内容由人工直接确定或终审:数据来源机构的核实与工单偏差修正(单中心广东省人民医院)、ICD-11/SNOMED 编码映射的取舍、DAIMS 24 项的状态判定与评分、坑点的取舍与严重程度分级、排行榜的分组可比性判断。
§10.3 输入来源列表
- Zeng A, Wu C, Lin G, et al. ImageCAS: A large-scale dataset and benchmark for coronary artery segmentation based on computed tomography angiography images. Computerized Medical Imaging and Graphics, 2023, 109: 102287. DOI: 10.1016/j.compmedimag.2023.102287. https://www.sciencedirect.com/science/article/abs/pii/S0895611123001052
- 同上(PubMed 条目):https://www.pubmed.ncbi.nlm.nih.gov/37634975/
- 同上(arXiv 预印本 v2):https://arxiv.org/abs/2211.01607
- 同上(ar5iv 全文抓取,基准表与预处理细节):https://ar5iv.labs.arxiv.org/html/2211.01607
- XiaoweiXu 官方 GitHub 仓库(数据公告、官方划分、重复病例修复记录):https://github.com/XiaoweiXu/ImageCAS-A-Large-Scale-Dataset-and-Benchmark-for-Coronary-Artery-Segmentation-based-on-CT
- Kaggle 数据集页(许可、五子包修复公告):https://www.kaggle.com/datasets/xiaoweixumedicalai/imagecas
- openmedlab Awesome-Medical-Dataset 的 ImageCAS 条目(规格统计、目录结构、作者单位):https://github.com/openmedlab/Awesome-Medical-Dataset/blob/main/resources/ImageCAS.md
- gfahrni 开放心血管影像数据集目录(数据量 89.1 GB、许可归类):https://github.com/gfahrni/open-cardiovasc-imaging-datasets/blob/main/README.md
- ViG3D-UNet: Volumetric Vascular Connectivity-Aware Segmentation via 3D Vision Graph Representation, arXiv:2504.13599, 2025. https://arxiv.org/html/2504.13599v1
- ME-UNet 轻量级 3D U-Net 报道(ImageCAS/ASOCA 定量结果与显存对比):https://www.ebiotrade.com/newsf/2026-3/20260325084810857.htm
- Gharleghi R, et al. Annotated computed tomography coronary angiogram images and associated data of normal and diseased arteries. Scientific Data, 2023. DOI: 10.1038/s41597-023-02016-2. https://link.springer.com/content/pdf/10.1038/s41597-023-02016-2.pdf
- ASOCA 挑战赛官方主页:https://asoca.grand-challenge.org/
- sota2 冠脉分割排行榜:https://www.sota2.com/research/task/coronary-artery-segmentation
- STACOM2025 衍生标签说明(998 个标签图、剔除 90/141 无效扫描):https://www.selectdataset.com/dataset/c9f2abdb4e1b2e686342b0cbf1620e4e
- Dimensions 引用计量页:https://badge.dimensions.ai/details/id/pub.1163265822
- Gupta A, et al. Comparing performance of two deep learning (U-net based) models for coronary artery segmentation on CT Coronary Angiography Images. ECR 2026, C-19760. DOI: 10.26044/ecr2026/C-19760
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED 映射、临床任务) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §3 数据集规格(设备、划分、溯源链) | 千方病案医学编辑部 | 与论文及官方仓库逐项核对 | ✅ 已通过 |
| §4 数据结构与 DAIMS 字典 | 千方病案医学编辑部 | 对照官方目录结构与统计核验 | ✅ 已通过 |
| §6 预处理与坑点(8 项) | 千方病案医学编辑部 | 对照论文消融与官方公告复核 | ✅ 已通过 |
| §7 质量评估与 DAIMS 24 项 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 基准与生态(排行榜、引用) | 千方病案医学编辑部 | 数字逐一回溯来源 URL | ✅ 已通过 |
| §9 BibTeX 与引用格式 | 千方病案医学编辑部 | 与 DOI/PubMed 记录核对 | ✅ 已通过 |
§10.5 AI 生成章节标注
本条目全部章节由 AI 起草:§1 概览、§4 数据结构、§6 AI 就绪指南与坑点、§7.7 DAIMS 评估、§8 基准与生态、§10 声明卡的叙述文本为 AI 生成后人工修订;§2 医学背景、§7.1 偏倚分析为 AI 起草后经医学审核者逐条修订;全部表格数字均可回溯至 §10.3 来源列表。
§10.6 最后人工审核日期
最后人工审核日期:2026-09-05
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- nih-pancreas-ct — 共享标签:医学影像 / CT / 医学图像分割
- abdomenct-1k — 共享标签:医学影像 / CT / 医学图像分割
- word — 共享标签:医学影像 / CT / 医学图像分割
- totalsegmentator — 共享标签:医学影像 / CT / 医学图像分割
- han-seg — 共享标签:医学影像 / CT / 医学图像分割
- myocardial-perfusion-spect — 共享标签:医学影像 / 医学图像分割 / 心血管疾病
- largeia — 共享标签:医学影像 / CT / 医学图像分割 / 心血管疾病
- echonet-dynamic — 共享标签:医学影像 / 医学图像分割 / 心血管疾病
- echonet-pediatric — 共享标签:医学影像 / 医学图像分割 / 心血管疾病
- asoca — 共享标签:医学影像 / CT / 医学图像分割 / 心血管疾病
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

