VerSe — 大视野脊柱 CT 椎体分割与骨折分级基准 AI-Ready Wikipedia

374 例多厂商大视野脊柱 CT 与 4,505 个椎体逐体素实例分割基准

来源 慕尼黑工业大学 Klinikum rechts der Isar 诊断与介入神经放射科(TUM) url: https://github.com/anjany/verse发布时间: 2026-09-15最后更新: 2026-09-25 阅读 42
VerSe — 大视野脊柱 CT 椎体分割与骨折分级基准 AI-Ready Wikipedia

信息速览

数据集名称VerSe — 大视野脊柱 CT 椎体分割与骨折分级基准 AI-Ready Wikipedia
数据类型374 例脊柱 CT,4,505 个椎体实例掩膜,约 47.7GB NIfTI,CC BY-SA 4.0 免费下载
规模355 名患者(374 例扫描)
接入方式慕尼黑工业大学 Klinikum rechts der Isar 诊断与介入神经放射科(TUM) url: https://github.com/anjany/verse
AI 就绪度

数据集封面

VerSe 椎体分割与骨折分级基准 — 大视野脊柱 CT 实例分割 AI-Ready Wikipedia


INFOBOX

字段 内容
数据集名称 椎体分割 VerSe
英文全称 Large Scale Vertebrae Segmentation Challenge (VerSe) 2019/2020
别名/简称 VerSe’19、VerSe’20、verse、MICCAI 椎体分割挑战赛数据集
疾病分类(ICD-11) 5A80(骨质疏松症,含 5A80.0 伴当前病理性骨折)
SNOMED CT 64859006(Osteoporosis,骨质疏松症)
数据模态 多排探测器 CT(MDCT),大视野脊柱(颈/胸/腰段),矢状与各向同性重建混合
AI 任务类型 椎体定位与识别(labelling/identification)、椎体实例分割(segmentation)、衍生任务骨折分级(fracture grading)
样本总数 374 例扫描 / 355 名患者 / 4,505 个椎体(两版合计,截至 2021-10 完整版)
数据大小 约 47.7GB(NIfTI 压缩,OpenDataLab 镜像统计)
数据格式 NIfTI(.nii.gz)+ JSON(质心)+ PNG(标注快照)+ XLSX(骨折分级附录),BIDS 风格目录
许可证 数据 CC BY-SA 4.0;官方仓库代码 MIT
访问级别 开放(无需注册,wget 直接下载)
DUO 标签 NRES(无限制研究用途;具体以 CC BY-SA 4.0 条款为准)
语言 英文(文档与标注元数据)
首发日期 2019(VerSe’19,随 MICCAI 2019 深圳挑战赛发布)
最后更新 2021-10-28(VerSe 2020 数据集论文发表于 Scientific Data 8:284)
发布机构 慕尼黑工业大学 Klinikum rechts der Isar 诊断与介入神经放射科 + TUM 信息学系(另含弗莱堡大学医学中心合作)
官方主页 github.com/anjany/verse
下载地址 OSF VerSe’19 与 OSF VerSe’20;s3.bonescreen.de 六个分卷直链
DOI 10.5281/zenodo.3759104(挑战设计文档);基准论文 DOI 10.1016/j.media.2021.102166
引用次数 390+(Semantic Scholar,基准论文 Medical Image Analysis 2021,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方三段划分 + 评测脚本 + BIDS 结构 + 全量公开;扣分项:方向/坐标系陷阱、个别标注瑕疵需自行清洗(详见 §6.5)
页面状态 published

§0 E-E-A-T 审核与声明

内容作者:千方病案医学编辑部 AI-Ready Wikipedia 项目组。

医学审核:千方病案医学编辑部(交叉审核范围:§2 医学背景中的 ICD-11/SNOMED 编码映射、骨质疏松与椎体骨折流行病学、Genant 半定量分级描述,以及 §7 偏倚与伦理分析)。

数据工程审核:千方病案医学编辑部交叉审核(医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 与 8 个坑点的可操作性)。

最后人工审核日期:2026-09-05。

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。VerSe 数据以 CC BY-SA 4.0 发布,免费开放下载,但官方要求数据使用时引用数据库论文与方法论文(见 §9 引用指南);许可协议以 官方仓库 与 OSF 仓库页面最新声明为准。DUO 标签仅供参考。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? VerSe(Large Scale Vertebrae Segmentation Challenge,大规模椎体分割挑战赛)是随 MICCAI 2019 与 2020 两届学术会议举办的官方挑战赛数据集,由慕尼黑工业大学(TUM)Klinikum rechts der Isar 神经放射科团队构建。它包含 355 名患者的 374 例大视野脊柱多排探测器 CT,每个椎体都有逐体素的实例分割掩膜和三维质心坐标,2019 子集还附带 Genant 半定量骨折分级 1。

为什么重要? 在 VerSe 之前,社区长期缺乏大规模、公开、精确标注的脊柱 CT 数据;手动分割椎体不现实(每例约 15 个目标、每个目标约 10 万体素)。VerSe 用"机器预分割 + 人工精细校正"的人机混合管线解决了标注规模化问题,并以 4,505 个逐椎体标注成为当时最大的公开脊柱数据集 2。

我能用它做什么? 训练椎体定位、识别与实例分割模型;研究算法在移行椎、L6 等罕见解剖变异上的鲁棒性;在 2019 子集上开发机会性骨质疏松筛查与骨折分级模型;为手术规划、生物力学建模等下游应用提供椎体级预处理。

§1.1 技术摘要

VerSe 分两届迭代:VerSe’19 发布 141 名患者的 160 例扫描(80 训练/40 公开测试/40 隐藏测试),含 1,725 个标注椎体;VerSe’20 扩充至 300 名患者、319 例序列,含 4,142 个标注椎体,刻意过采样解剖变异(移行椎 161 例、计数异常 77 例)并将多厂商数据占比提高到 50%,覆盖 GE、Siemens、Philips、Toshiba 四大厂商。标注采用人机混合管线:anduin 框架(CNN 检测 → Btrfly Net 椎体标注 → U-Net 逐椎体分割)生成初始掩膜,再由两名受训医学生在 ITK-SNAP 中人工校正,最终由资深神经放射科医生审核。挑战赛评测两类任务的四个指标:识别率 id.rate(20mm 阈值)、定位距离 d_mean、逐椎体平均 Dice 系数与 Hausdorff 距离,共 25 支算法进入正式基准。核心发现是:算法成败主要取决于对罕见解剖变异的椎体识别能力,而非常规解剖的分割精度 1。

§1.2 战略价值

维度一:脊柱自动化管线的"地基"数据。 椎体标注与分割是所有脊柱量化分析(骨折检测与分级、骨密度测量、脊柱侧凸/后凸评估、生物力学有限元建模、手术螺钉规划)的第一步。VerSe 提供的逐椎体实例掩膜可直接用于训练这一地基组件,其官方评测协议(识别率 + 分割双指标)也为"先定位、再分割"的管线设计提供了量化依据 1。

维度二:解剖变异鲁棒性的官方试金石。 VerSe’20 刻意以 50% 比例纳入解剖变异(移行椎与计数异常),并把两届数据做成可互测的域偏移实验场:'19 模型在 '20 数据上性能显著退化,而 '20 模型在 '19 数据上仅降约 3%。这一设计使其成为评估"算法在罕见但临床高危场景下是否翻车"的首选基准——正是 2019 届挑战暴露出"无一方法识别出 L6"这类系统性失效后的针对性改进 3。

§1.3 同类数据集横向对比

数据集 规模 模态 标注类型 与 VerSe 的差异化
VerSe 2019+2020 374 例扫描/355 名患者/4,505 个椎体 大视野脊柱 MDCT 逐椎体实例掩膜 + 质心 + Genant 骨折分级('19) 唯一带官方挑战赛基准与解剖变异分层的脊柱实例分割数据集
Glocker 椎体数据集 30 例被 VerSe’20 吸收复用 脊柱 CT 椎体识别(质心级) 早期经典椎体识别数据,无逐体素掩膜
Löffler 骨折分级数据 即 VerSe’19 全部 160 序列 同上 上述掩膜 + Genant 分级 + 腰椎 BMD VerSe’19 的骨折分级配套发布形态
OpenDataLab VerSe 镜像 同 VerSe 全量(约 47.7GB) 同上 同上 国内下载通道,内容一致

§1.4 版本时间轴

时间 版本/事件 说明
2019 VerSe’19 挑战赛(MICCAI 2019,深圳) 发布 160 例扫描;>250 次注册与下载、20 支队伍参赛 4
2020-07 骨折分级配套论文 Löffler 等《A Vertebral Segmentation Dataset with Fracture Grading》发表于 Radiology: Artificial Intelligence,公开逐椎体 Genant 分级 5
2020 VerSe’20 挑战赛(MICCAI 2020,Lima) 扩充至 300 名患者/319 序列,任务仍为标注 + 分割 3
2021-03 VerSe 2020 数据集论文预印本 Liebl 等(arXiv:2103.06360),披露完整数据构成与变体分层 3
2021-07 基准论文发表 Sekuboyina 等 25 支算法正式基准,Medical Image Analysis 73:102166,全部 374 例及标注公开 1
2021-10-28 Sci Data 数据描述论文 Liebl 等 Scientific Data 8:284,VerSe-complete 重组版为当前推荐使用形态 2

§1.5 典型应用场景

  1. 椎体实例分割模型训练与基准测试:使用官方三段划分与评测脚本直接对标 25 支已基准算法。
  2. 机会性骨质疏松筛查研究:在 2019 子集(91/141 患者含骨质疏松性骨折、附腰椎 BMD 与 Genant 分级)上开发"任何 CT 顺带查骨健康"的算法 5。
  3. 解剖变异鲁棒性研究:用 '20 版的 161 例移行椎与 77 例计数异常做分层评估,定位算法的计数失败模式。
  4. 手术规划与生物力学建模预处理:逐椎体掩膜是有限元建模、螺钉插入路径规划的第一步输入。
  5. 骨折自动检测/分级算法开发:以 VerSe’19 掩膜定位椎体、以 Genant 分级做监督信号,构建两阶段骨折分级管线。

§2 医学背景

§2.1 ICD-11 编码映射

VerSe 的临床母题是骨质疏松性椎体骨折与脊柱解剖变异。核心术语与编码映射如下:

术语 ICD-11 编码 ICD-11 中文名/说明 补充(ICD-10)
骨质疏松症 5A80.1 骨质疏松症,无当前病理性骨折 M81
骨质疏松症伴病理性椎体骨折 5A80.0 骨质疏松症,伴当前病理性骨折(椎体) M80.08XA
椎体塌陷(压缩,非特异性) 无专用编码(以形态学术语表达) 椎体塌陷归类于肌肉骨骼章节 M48.54XA(胸段)/ M48.56XA(腰段)
椎体骨折形态分型 无专用编码 楔形/双凹/粉碎三型(Genant 体系内描述) 随 M80.0 系列编码表达

注:Genant 半定量分级(0-3 级)是影像学术语体系,ICD-11/SNOMED CT 无一一对应的专用编码,编码实践中以 M80.0/M48.5 系列表达。ICD-10 编码 M80.08XA 与 M48.5 系列经编码资料库核实;ICD-11 5A80 系 WHO ICD-11 MMS 内分泌、营养或代谢疾病章节下骨质疏松症编码。

§2.1b SNOMED CT 映射

标签/概念 ICD-11 SNOMED CT 码 术语
骨质疏松症 5A80 64859006 Osteoporosis(disorder)
骨质疏松性椎体压缩骨折 5A80.0 64859006(骨质疏松)+ 部位编码组合表达 Osteoporosis with vertebral pathological fracture
移行椎/计数异常 — — Transitional vertebra / numerical aberration(形态学描述性概念,编码实践以具体节段异常表达)

§2.2 疾病简介与流行病学

骨质疏松性椎体压缩骨折(VCF) 是最常见的骨质疏松性骨折,典型表现为椎体前柱在轴向压缩载荷下的楔形变。流行病学数据:50 岁以上人群中约 30%-50% 受累,全球每年新增约 140 万例患者,发病率随年龄指数上升,女性更常见;全球约 20% 的 70 岁以上老人与 16% 的绝经后女性经历 VCF;但 2/3 至 3/4 的椎体骨折在发生时未被识别,CT 上漏诊比例高达 84% 6、7。椎体骨折既往史使再骨折风险显著升高,并伴随约 8 倍的死亡率升高与 12 倍的再骨折风险升高 7。

脊柱解剖变异 是 VerSe’20 的另一个临床母题:腰骶移行椎在检查人群中的报告率为 4%-30%,胸腰段移行椎与计数变异常被漏报但对手术定位至关重要;数字变异(7.7%)比移行椎(3.3%)更常见 3。术前误判节段可导致手术平面错误,是脊柱外科的严重不良事件来源。

§2.3 临床任务定义

任务 定义 在 VerSe 中的形态
椎体定位(localisation) 在任意视野 CT 中给出所有椎体质心三维坐标 质心 JSON 标注 + id.rate/d_mean 指标
椎体识别/标注(labelling/identification) 定位并为每个椎体赋予正确解剖节段标签(C1-L5/L6/T13) 1-28 数值标签体系;20mm 距离阈值内计正确
椎体实例分割 逐体素分割每个独立椎体并区分相邻椎体 多类 NIfTI 掩膜 + 逐椎体平均 Dice/HD
骨折检测与分级(衍生任务) 判定椎体是否存在压缩骨折并按 Genant 半定量法分级(轻/中/重) VerSe’19 逐椎体 Genant 分级(附录 E1 XLSX),非挑战赛正式任务
机会性筛查(下游应用) 对常规胸腹 CT 顺带评估骨密度与椎体骨折 Löffler 等基于同一团队框架的后续研究 8

Genant 半定量分级的量化定义(以椎体高度丢失比例为准,仅评估胸腰椎)5:

分级 名称 判定标准
1 轻度(mild) 椎体高度丢失 ≥ 20% 且 < 25%
2 中度(moderate) 椎体高度丢失 ≥ 25% 且 < 40%
3 重度(severe) 椎体高度丢失 ≥ 40%
— 形态分型 楔形(wedge)/ 双凹(biconcave)/ 粉碎(crush)

注:Scheuermann 病等畸形/发育异常不计为骨折;外伤性骨折与骨转移在两版数据中均被排除 5。

§2.4 患者人群

属性 VerSe 2019 子集 VerSe 2020 子集(新增 214 名受试者)
来源 TUM Klinikum rechts der Isar 等临床存档 多中心 PACS 检索 + 外部导入(Toshiba 20/GE 20/Siemens 30)+ Glocker 数据集 30 例 + '19 复用 50 例
采集时间 2020 年版论文前发布(2020-12 公开隐藏测试集) 2016-02-05 至 2020-03-01
年龄 66.1 ± 15 岁 整个 VerSe 约 59 ± 17 岁
性别 49 男 / 92 女 —(按变体属性分层)
骨折负荷 91/141 名患者至少一处骨质疏松性椎体骨折;平均腰椎 BMD 77.8 ± 53.6 mg/cm³ 外伤性骨折与骨转移被排除
种族/地域 德国(欧洲)多中心为主,含外院导入数据 同左

§2.5 临床价值

椎体分割与识别模型落地后,最有价值的临床出口是机会性骨质疏松筛查:对因其他原因拍摄的胸腹 CT 自动测量椎体骨密度并筛查椎体骨折,不增加检查与辐射成本。Löffler 等在 192 例配套队列中显示,CT 自动骨小梁体积骨密度的骨折预测 AUC 达 0.885,显著优于 DXA 面积骨密度的 0.668 8——而这一管线的第一步正是 VerSe 所训练的椎体分割。其次,准确的节段识别与计数(含移行椎)直接降低手术平面错误风险;逐椎体掩膜也是脊柱侧凸/后凸量化与生物力学建模的先决条件 1。

§2.6 金标准参考

维度 内容
金标准构成 逐体素多类实例掩膜(NIfTI)+ 椎体质心坐标(JSON)+ 逐椎体 Genant 骨折分级('19,XLSX 附录)
标注方式 人机混合:anduin 框架自动预分割(CNN→Btrfly Net→U-Net,1mm³)→ 2 名受训医学生 ITK-SNAP 人工校正(精度限 1mm)→ 神经放射科医生终审
标注者 5 名受训医学生初始精修;3 名放射科医生(合计 30 年经验)复核/拒收;JSK(19 年脊柱影像经验)最终批准;骨折分级由 2 名放射科医生(5 年/17 年经验)共识完成
金标准性质 人工校正的算法标注(human-machine hybrid),非纯手工逐层勾画;分割校正精度声明为 1mm

§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
快速上手/教学演示 VerSe’19 training(80 例) 全量的约 1/4 体量最小,标注齐全,社区教程多基于此
复现 2019 榜单 VerSe’19 完整三卷 约 12GB 量级(估算,以实际为准) 需 training + validation + test 三卷跑官方评测
骨折分级/骨质疏松研究 VerSe’19 + 分级附录 E1 '19 全量 Genant 分级与逐椎体异物标注仅覆盖 '19
解剖变异鲁棒性研究 VerSe’20 '20 全量 161 例移行椎 + 77 例计数异常的分层设计
训练生产级椎体分割模型 VerSe-complete('19+'20 去重) 约 47.7GB 数据量最大化;务必按 §5.3 处理 86 例重叠

§3.1 模态详情

  • 成像方式:多排探测器 CT(MDCT),骨算法(edge-enhancing)重建,临床骨成像标准 3。
  • 视野构成('19 官方描述):约 25% 扫描包含完整颈-胸-腰段全脊柱(可能双堆栈),约 75% 包含完整或部分胸腰段;约 50% 为矢状重建(空间分辨率至少 1mm × 1mm × 3mm),约 50% 为各向同性(至少 1mm × 1mm × 1mm)9。
  • 增强与表现:约 25% 扫描含椎体骨折,约 10% 含金属植入物或骨水泥等异物;另有移行椎、L6、T13、噪声扫描等困难样本 9。
  • 分辨率下限('20 纳入标准):层向 1.5mm、前后 1mm、左右 3mm;复用的 86 例 '19 数据被重采样至 1mm 各向同性(或矢状 2-3mm 序列重采样至 1mm 面内),新增 214 例保留原始分辨率 3。

§3.2 子集与样本数

子集 患者数 扫描/序列数 训练/公开测试/隐藏测试 标注椎体数(颈/胸/腰)
VerSe 2019 141 160 80 / 40 / 40 1,725(220 / 884 / 621)
VerSe 2020 300 319 113 / 103 / 103(按序列);100/100/100(按受试者) 4,142(581 / 2,255 / 1,306)
合计 355 374 141 / 120 / 113 4,505(611 / 2,387 / 1,507)

两版有 86 名受试者(105 个序列)重叠,'19 数据以影像 ID 小于 500 识别;合计患者数非两版简单相加 1。

'19 子集的逐段椎体分布(骨折分级论文披露)5:

'19 子集 序列数 标注椎体数
训练集(training) 80 862
公开验证集(public validation) 40 434
保密测试集(secret test,2020-12 公开) 40 429
合计 160 1,725

§3.3 数据格式

内容 格式 说明
CT 影像 NIfTI(.nii.gz) 匿名化转换时生成;同一影像与其掩膜方向一致
分割掩膜 NIfTI(.nii.gz) 多类整型体数据,标签 1-28(见 §4.2)
质心标注 JSON complete 版给出图像体素空间坐标;MICCAI 挑战版给出 1mm 各向同性基准坐标
标注快照 PNG 矢状/冠状重组预览,便于快速人工质检
骨折分级 XLSX(Radiol AI 论文附录 E1) 逐椎体 Genant 分级,仅 '19 子集

§3.4 存储大小

全量 VerSe-complete 约 47.7GB(OpenDataLab 镜像统计,截至 2026-09);六个分卷 ZIP('19 三卷 + '20 三卷)经 s3.bonescreen.de 直接下载,单卷大小以官方仓库页面为准。

§3.5 标注方式

人机混合(human-machine hybrid)管线:anduin 在线框架先以低分辨率 CNN 检测骨性结构生成脊柱包围盒,再以 Btrfly Net 标注椎体质心(必要时人工修正),随后 U-Net 逐椎体分割并合并为多类掩膜(1mm³ 分辨率)。初始结果由 5 名受训医学生迭代精修,再经 3 名放射科医生复核,最终由一名 19 年脊柱影像经验的神经放射科医生批准。'20 版管线由 2 名医学生以 ITK-SNAP 完成"费力的逐例校正"——每例平均约 15 个目标、每个目标约 10⁵ 体素 1、3。

§3.6 标注者资质与一致性

  • 分割:医学生校正 → 放射科医生(ML、HL、JSK,合计 30 年经验)复核/拒收/接受 → JSK 终审。官方承认最终由单一评估者放行,并将多标注者融合列为未来方向 1。
  • 骨折分级:2 名放射科医生(5 年与 17 年经验)共识方式完成,未报告评分者间一致性统计量(如 kappa)5。
  • 移行椎判定:有明确规则——肋骨大于 38mm 且斜行走行归胸椎;双侧小于 38mm 归腰椎;腰骶移行椎按 Castellvi 分级,III/IV 级(与骶骨部分融合)不分割 3。

§3.7 采集周期

'20 版纳入标准的检查日期窗口为 2016-02-05 至 2020-03-01;'19 版数据早于该窗口(具体逐例日期未公开)。VerSe’19 于 MICCAI 2019(深圳)首发,VerSe’20 于 MICCAI 2020(Lima)发布 3。

§3.8 地域覆盖

以德国慕尼黑为中心的多中心临床存档数据,另纳入从外院导入、使用不同机型的检查,以及 Glocker 数据集的 30 例。地理范围可概括为"德国多中心为主,欧洲医疗体系" 3。

§3.9 设备规格

  • 厂商覆盖:GE、Siemens、Philips、Toshiba 四大厂商全部覆盖;'20 版刻意设计为 50% 多厂商数据(外部 Toshiba 20 例、GE 20 例、Siemens 30 例、Glocker 30 例、'19 复用的 Siemens 10 例与 Philips 40 例)3。
  • 协议多样性:含平扫与增强、矢状与各向同性重建混合,“像典型急诊、肿瘤与神经外科患者群的影像分布” 9。
  • 逐例机型/kVp 等参数:未在公开标注中提供(见 §7.7 DAIMS 第 11 项)。

'20 版 300 名受试者的构成设计(官方披露)3:

组别 来源构成 例数
多厂商组(合计 150) 外部导入 Toshiba 扫描仪 20
外部导入 GE 扫描仪 20
外部导入 Siemens 扫描仪 30
Ben Glocker 数据集 30
VerSe’19 复用(Siemens 10 + Philips 40) 50
解剖变异组(合计 150) VerSe’19 已有变异受试者复用 36
PACS 变异检索新增(候选池 308 例) 114
合计 50% 多厂商 + 50% 解剖变异 300

§3.10 深度溯源链

环节 依据
伦理 TUM 机构审查委员会批准(提案 27/19 S-SR),书面知情同意豁免 3
去标识化 NIfTI 转换时以手动分割面部掩膜删除原始数据(defacing)3
数据所有权 TUM 医学院神经放射学系(81675 Munich, Germany)9
资助 欧洲研究委员会 ERC(GA637164-iBack-ERC-2014-STG);NVIDIA 提供挑战赛算力支持
标注工具 anduin.bonescreen.de(在线分割框架)、ITK-SNAP(人工校正)

§4 数据结构

§4.0 目录树

VerSe-complete 采用 BIDS 风格组织,解压后结构如下(以 '20 训练卷为例):

dataset-verse2020training.zip
└── training/
    ├── rawdata/                          # 原始 CT
    │   ├── sub-verse001/
    │   │   └── sub-verse001_dir-ax_ct.nii.gz
    │   ├── sub-verse023/
    │   │   └── sub-verse023_dir-sa_ct.nii.gz
    │   └── sub-verse503/                 # ID >= 500 为 '20 新增
    │       └── sub-verse503_dir-ax_ct.nii.gz
    └── derivatives/                      # 标注
        ├── sub-verse001/
        │   ├── sub-verse001_dir-ax_seg-vert_msk.nii.gz     # 椎体实例掩膜
        │   ├── sub-verse001_dir-ax_seg-subreg_ctd.json     # 质心坐标
        │   └── sub-verse001_dir-ax_seg-vert_snp.png        # 标注快照
        └── sub-verse023/
            ├── sub-verse023_dir-sa_seg-vert_msk.nii.gz
            ├── sub-verse023_dir-sa_seg-subreg_ctd.json
            └── sub-verse023_dir-sa_seg-vert_snp.png

三卷顶层目录对应三个阶段:01_training(训练)、02_validation(原公开测试)、03_test(原隐藏测试,现已全部公开)10。完整解压后的顶层结构:

VerSe-complete/
├── dataset-verse19training.zip   → 01_training/(80 例,含标注)
├── dataset-verse19validation.zip → 02_validation/(40 例,原公开测试)
├── dataset-verse19test.zip       → 03_test/(40 例,原隐藏测试)
├── dataset-verse20training.zip   → 01_training/(100 受试者,113 序列)
├── dataset-verse20validation.zip → 02_validation/(100 受试者,103 序列)
└── dataset-verse20test.zip       → 03_test/(100 受试者,103 序列)

§4.1 DAIMS 字段字典

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
sub-verseNNN 字符串 受试者/序列唯一 ID,BIDS 实体命名 sub-verse447 样本索引与版本去重 无 无 NNN 000-599
*_ct.nii.gz 3D 体数据 CT 影像,HU 值 形状 (512, 512, N) 模型输入 部分复用数据被重采样至 1mm 无 HU 约 -1000~3000+
*_seg-vert_msk.nii.gz 3D 整型掩膜 椎体实例标签体数据 20 = L1 分割监督/评估 校正精度限 1mm;个别漂浮标签点 0 = 背景(含未标注椎体) 0-25、28
*_seg-subreg_ctd.json JSON 每椎体质心坐标 + label {“x”: 250.1, “y”: 113.4, “z”: 89.0, “label”: 20} 定位/识别监督与评估 与图像空间需对齐(坑点 2) 无 label 1-25、28
*_seg-vert_snp.png 图像 标注矢状/冠状重组预览 — 快速人工质检 非分析用 无 —
fracture_grade(XLSX) 整型 Genant 半定量分级(仅 '19) 2 骨折分级监督 双人共识,未报 kappa 未分级 = 非胸腰椎/非骨折评估椎 0-3
骨折形态(XLSX) 分类 楔形/双凹/粉碎 wedge 分级任务细分 同上 无 3 类
异物标注(XLSX/元数据) 布尔/分类 骨水泥、内固定植入物 cement 困难样本筛选 — 无 —

质心 JSON 的典型结构(complete 版,坐标为图像体素空间;MICCAI 挑战版坐标定义不同,见坑点 2):

[
  {"x": 250.1, "y": 113.4, "z": 89.0, "label": 20},
  {"x": 248.7, "y": 112.9, "z": 122.6, "label": 21}
]

提示:label 与掩膜内标签值一一对应;complete 版坐标可直接索引 nib.load(ct_path) 后的体素数组(顺序 [x, y, z]),无需重采样。

§4.2 标签分布

标签与解剖节段的映射(两版通用)10:

标签值 解剖节段 说明
1-7 C1-C7 颈椎 '19 共 220 个;'20 共 581 个
8-19 T1-T12 胸椎 '19 共 884 个;'20 共 2,255 个
20-24 L1-L5 腰椎 常规腰椎节段
25 L6(额外腰椎) 移行/计数变异;'19 挑战赛中无一算法正确识别
26 骶骨 不标注(本数据集排除)
27 尾骨 不标注
28 T13(额外胸椎) 额外胸椎变异

椎体区域合计:'19 共 1,725 个(颈 220/胸 884/腰 621);'20 共 4,142 个(颈 581/胸 2,255/腰 1,306);总计 4,505 个(颈 611/胸 2,387/腰 1,507)1。'20 版解剖变体统计:计数异常 77 例、移行椎 161 例、半椎体仅 2 例 3。

§4.3 关键统计

  • 每例扫描平均约 15 个标注目标,单个椎体约 10⁵ 体素——这是手动标注不经济的直接原因,也是人机混合管线的动机 3。
  • 标注对象为完整显影的椎体:扫描顶部/底部部分可见的椎体不标注;每例纳入下限为 7 个完整显影椎体 3。
  • '19 版约 25% 扫描含骨折、10% 含植入物/异物;视野与分辨率构成见 §3.1 9。

§4.4 数据层级

患者 → 检查(可含多个序列,如胸段 + 腰段分开采集)→ 序列(sub-verseNNN,数据的基本单元)→ 切片 → 体素。注意:'20 版 300 名受试者对应 319 个序列,约 19 名受试者包含两个独立序列——按患者划分时必须以受试者为单位(坑点 4)3。

§4.5 缺失值与信息性缺失

现象 表达方式 对建模的含义
扫描边缘部分显影椎体 不出现在掩膜与质心中 “无标签” ≠ “无椎体”;评估时应只在 GT 存在的椎体上计算指标
骶骨/尾骨(标签 26/27) 整体不标注 全脊柱分割模型需自行处理腰骶以下区域
Castellvi III/IV 移行椎 不分割该椎体 官方规则下该椎体既不算腰椎也不算骶骨
'20 版骨折分级 未随 complete 版逐例提供(持续更新承诺于 OSF) 分级监督信号以 '19 附录 E1 为准
逐例检查日期/机型参数 未公开 无法做基于时间的漂移分析(DAIMS 第 14 项)

§5 数据划分与使用建议

§5.1 官方划分

版本 训练 公开测试(Public) 隐藏测试(Hidden) 划分方式
VerSe’19 80 例(862 个椎体) 40 例(434 个椎体) 40 例(429 个椎体,2020-12 公开) 按序列,保持临床分布
VerSe’20 113 序列(100 受试者) 103 序列(100 受试者) 103 序列(100 受试者) 按主要属性(厂商/变体类型)随机分层

'20 版的分层策略值得注意:每个子群(如"外部 Toshiba 扫描仪"“Castellvi 4 级移行椎”)内部随机切分到三个子集,保证训练/测试分布一致 3。

§5.2 社区惯例划分与建议

  • 复现榜单:必须使用官方三段划分;隐藏测试集虽已公开,但若你的模型训练时见过其中数据,成绩与榜单不可比。
  • 自定研究划分:以受试者为单位划分(同一受试者的胸段与腰段序列绝不跨集),并按厂商/变体/有无骨折分层,避免官方划分之外的分布偏移。
  • 验证集来源:社区常从训练卷内部再切 10%-20% 作验证;不要把 02_validation 当训练数据用后再在这批数据上报告结果。

§5.3 泄漏风险(重点)

  1. 跨版本重叠:'20 的 300 名受试者中有 86 名来自 '19(105 个序列);影像 ID 小于 500 即为 '19 数据,但官方明言"重叠并非绝对"可由 ID 完全判别 1。混合使用两版数据训练 + 用另一版测试时会直接泄漏。
  2. 隐藏测试集已公开:03_test(原隐藏测试)现可下载,任何在 03_test 上调参的行为都会造成测试集过拟合——官方当年特意用 docker 提交在盲测集上评测来防止这一点 1。
  3. 骨折分级附录与 '19 重叠:分级 XLSX 覆盖 '19 全部 160 序列,与 complete 版 '19 目录一一对齐时注意同源。

§5.4 交叉验证建议

按受试者做 5 折交叉验证,分层键建议取"厂商 × 变体属性 × 有无骨折"的复合分层;移行椎等罕见属性每折都应出现。绝不能按序列划分——同一患者的两个序列高度相关。

划分场景速查表:

你的场景 划分方式 关键红线
复现官方榜单 官方三段划分原样使用 不得在 02/03 上训练或调参
单版本训练研究 '19 或 '20 训练卷内部按受试者再切分 按变体属性分层
两版数据合训 合并后按受试者去重(86 例重叠)再划分 患者级划分,见坑点 4
骨折分级研究 '19 训练卷内切分,公开验证集调参 分级仅覆盖 '19,勿混 '20
上线前评测 官方 03_test 一次性评估 评估前不得接触该数据

§5.5 外部验证建议

训练完成后建议在外部数据上验证域偏移:不同厂商/协议的院内数据、不同地域人群数据。官方自身的跨迭代实验('19 模型测 '20 数据)显示,即使域内数据,未见解剖变异也会带来显著性能退化,外推时务必报告按变体分层的指标 1。


§6 AI 就绪指南 ⭐

§6.0 云端快速启动

Google Colab / Kaggle 中直接拉取 '19 训练卷(约数 GB,先跑通再下全量):

# Colab 中运行:下载 VerSe'19 训练卷(BIDS 风格 ZIP)
!wget -q --show-progress https://s3.bonescreen.de/public/VerSe-complete/dataset-verse19training.zip
!unzip -q dataset-verse19training.zip
# 解压后得到 training/rawdata 与 training/derivatives 两个目录

§6.1 快速上手

以下代码假设数据已解压到 data_root,目录结构如 §4.0 所示;data_root 与子路径按 data_root / "training" / "rawdata" / sub_id 拼接。最小可用子集是 '19 训练卷的 80 例(每例 4 个文件)。先验证"能读、能对齐、能可视化"三件事,再进入训练。

import json
import nibabel as nib
import numpy as np
from pathlib import Path

data_root = Path("dataset-verse2020training/training")  # 按实际解压路径修改

# 一例 = rawdata 下一个受试者目录 + derivatives 下同名目录
sub_id = "sub-verse001"
raw_dir = data_root / "rawdata" / sub_id
der_dir = data_root / "derivatives" / sub_id

ct_path = next(raw_dir.glob("*_ct.nii.gz"))
msk_path = next(der_dir.glob("*_seg-vert_msk.nii.gz"))
ctd_path = next(der_dir.glob("*_seg-subreg_ctd.json"))

img = nib.load(ct_path)      # HU 值体数据
msk = nib.load(msk_path)     # 椎体实例掩膜(标签 1-25、28)
ctd = json.load(open(ctd_path))

print("CT:", img.shape, img.header.get_zooms())        # 分辨率各例不同
print("mask labels:", np.unique(nib.load(msk_path).dataobj))
print("centroids:", len(ctd), "vertebrae")

# 一致性自检:掩膜标签集合应与质心 label 集合一致(漂移点除外)
mask_labels = set(np.unique(nib.load(msk_path).dataobj)) - {0}
ctd_labels = set(v["label"] for v in ctd)
print("label mismatch:", mask_labels ^ ctd_labels)

§6.2 数据获取

通道 链接 说明
官方直链(wget) s3.bonescreen.de/public/VerSe-complete/dataset-verse19{training,validation,test}.zip '19 三卷,无需注册
官方直链(wget) s3.bonescreen.de/public/VerSe-complete/dataset-verse20{training,validation,test}.zip '20 三卷
OSF '19 osf.io/nqjyw 含 MICCAI 挑战版数据入口与骨折分级论文对应数据
OSF '20 osf.io/t98fz '20 全量 + 持续更新的元数据
国内镜像 OpenDataLab VerSe 约 47.7GB,内容与官方一致

六个分卷 ZIP(官方仓库 README 披露的完整直链)10:

分卷 内容 wget 文件名
'19 训练 80 例(862 椎体) dataset-verse19training.zip
'19 公开验证 40 例(434 椎体) dataset-verse19validation.zip
'19 测试 40 例(429 椎体) dataset-verse19test.zip
'20 训练 100 受试者/113 序列 dataset-verse20training.zip
'20 公开验证 100 受试者/103 序列 dataset-verse20validation.zip
'20 测试 100 受试者/103 序列 dataset-verse20test.zip
# 全量下载(六个分卷)
BASE=https://s3.bonescreen.de/public/VerSe-complete
for f in dataset-verse19training dataset-verse19validation dataset-verse19test \
         dataset-verse20training dataset-verse20validation dataset-verse20test; do
  wget -c ${BASE}/${f}.zip && unzip -q ${f}.zip   # -c 支持断点续传
done

§6.3 预处理全流程

三个核心步骤:统一方向与分辨率 → HU 窗口/强度标准化 → 掩膜清洗(去除漂浮标签点)。

import numpy as np
import nibabel as nib
from scipy import ndimage

def load_pair(ct_path, msk_path):
    """读取影像与掩膜并立即做方向一致性检查(坑点 1)。"""
    ct, msk = nib.load(ct_path), nib.load(msk_path)
    assert ct.shape[:2] == msk.shape[:2] or ct.shape == msk.shape, \
        f"shape mismatch: {ct.shape} vs {msk.shape}"
    if not np.allclose(ct.affine, msk.affine):
        raise ValueError(f"affine mismatch in {ct_path.name}, 先重定向(坑点 1)")
    return np.asarray(ct.dataobj).astype(np.float32), \
           np.asarray(msk.dataobj).astype(np.uint8)

def resample_iso(img, msk, zooms, target=1.0, order_img=1, order_msk=0):
    """重采样到 1mm 各向同性(官方质心基准空间即 1mm 各向同性)。"""
    factors = [z / target for z in zooms]
    img_r = ndimage.zoom(img, factors, order=order_img)
    msk_r = ndimage.zoom(msk, factors, order=order_msk)   # 掩膜必须最近邻
    return img_r, msk_r

def window_hu(img, lo=100, hi=1500):
    """骨窗 + [0,1] 标准化。骨皮质约 1000+ HU,金属可超 3000 HU(坑点 7)。"""
    img = np.clip(img, lo, hi)
    return ((img - lo) / (hi - lo)).astype(np.float32)

def clean_mask(msk, min_voxels=50):
    """清洗漂浮标签点:对每个标签仅保留最大连通域(坑点 3)。"""
    out = np.zeros_like(msk)
    for lb in np.unique(msk):
        if lb == 0:
            continue
        cc, n = ndimage.label(msk == lb)
        if n == 0:
            continue
        sizes = ndimage.sum(np.ones_like(cc), cc, range(1, n + 1))
        keep = int(np.argmax(sizes)) + 1
        if sizes[keep - 1] >= min_voxels:      # 极小连通域直接丢弃
            out[cc == keep] = lb
    return out

质检可视化(下载数据后先做的三件事之一):

import matplotlib.pyplot as plt

def qc_snapshot(ct, msk, slice_idx=None):
    """矢状/冠状三联图快速目检:影像、掩膜、叠加。"""
    sl = slice_idx if slice_idx is not None else ct.shape[1] // 2
    fig, axes = plt.subplots(1, 3, figsize=(12, 4))
    axes[0].imshow(ct[:, sl, :].T, cmap="gray");       axes[0].set_title("CT")
    axes[1].imshow(msk[:, sl, :].T, cmap="nipy_spectral"); axes[1].set_title("Mask")
    axes[2].imshow(ct[:, sl, :].T, cmap="gray")
    axes[2].imshow(np.ma.masked_where(msk[:, sl, :].T == 0,
                                     msk[:, sl, :].T), cmap="nipy_spectral", alpha=0.5)
    axes[2].set_title("Overlay")
    for ax in axes:
        ax.axis("off")
    plt.tight_layout()
    return fig

目检清单:① 掩膜是否与椎体重合(错位 = 坑点 1);② 每个椎体是否独立着色(相邻粘连 = 清洗不足);③ 有无远离脊柱的孤立色块(漂浮点 = 坑点 3)。

§6.4 PyTorch DataLoader 完整代码

<details>
<summary>展开完整 Dataset + DataLoader 代码(约 70 行)</summary>

import json
from pathlib import Path

import nibabel as nib
import numpy as np
import torch
from scipy import ndimage
from torch.utils.data import Dataset, DataLoader


class VerSeDataset(Dataset):
    """VerSe BIDS 目录的 PyTorch Dataset。

    目录结构预期(data_root 下的拼接关系):
        data_root/rawdata/<sub_id>/*_ct.nii.gz            原始 CT
        data_root/derivatives/<sub_id>/*_seg-vert_msk.nii.gz   实例掩膜
        data_root/derivatives/<sub_id>/*_seg-subreg_ctd.json   质心
    最小可用子集:VerSe'19 training(80 例)。
    """

    def __init__(self, data_root, target_spacing=1.0, hu_window=(100, 1500),
                 patch_size=(96, 96, 96), min_voxels=50):
        self.data_root = Path(data_root)
        self.hu_window = hu_window
        self.patch_size = patch_size
        self.min_voxels = min_voxels
        self.target_spacing = target_spacing
        self.samples = []
        for sub_dir in sorted((self.data_root / "rawdata").iterdir()):
            der = self.data_root / "derivatives" / sub_dir.name
            ct = next(sub_dir.glob("*_ct.nii.gz"), None)
            msk = next(der.glob("*_seg-vert_msk.nii.gz"), None)
            ctd = next(der.glob("*_seg-subreg_ctd.json"), None)
            if ct is not None and msk is not None and ctd is not None:
                self.samples.append((ct, msk, ctd))

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

    def _resample(self, img, msk, zooms):
        f = [z / self.target_spacing for z in zooms]
        img = ndimage.zoom(img, f, order=1)
        msk = ndimage.zoom(msk, f, order=0)
        return img, msk

    def _center_crop(self, img, msk, center):
        """以首个目标椎体质心为中心取 patch(训练时的常用策略)。"""
        ps = np.array(self.patch_size) // 2
        lo = np.maximum(center - ps, 0).astype(int)
        hi = lo + np.array(self.patch_size)
        pad = [(0, max(hi[d] - img.shape[d], 0)) for d in range(3)]
        img = np.pad(img, pad)[lo[0]:hi[0], lo[1]:hi[1], lo[2]:hi[2]]
        msk = np.pad(msk, pad)[lo[0]:hi[0], lo[1]:hi[1], lo[2]:hi[2]]
        return img, msk

    def __getitem__(self, idx):
        ct_path, msk_path, ctd_path = self.samples[idx]

        img = nib.load(ct_path)
        msk_nii = nib.load(msk_path)
        if not np.allclose(img.affine, msk_nii.affine):   # 坑点 1:方向不一致
            raise ValueError(f"affine mismatch: {ct_path.name}")

        ct = np.asarray(img.dataobj, dtype=np.float32)
        msk = np.asarray(msk_nii.dataobj, dtype=np.uint8)
        zooms = img.header.get_zooms()[:3]

        ct, msk = self._resample(ct, msk, zooms)
        lo, hi = self.hu_window
        ct = np.clip(ct, lo, hi)
        ct = (ct - lo) / (hi - lo)
        msk = self._clean(msk)

        ctd = json.load(open(ctd_path))
        center = np.array([ctd[0]["x"], ctd[0]["y"], ctd[0]["z"]], dtype=float)
        # 注意:complete 版质心为图像体素坐标;若使用 MICCAI 挑战版,
        # 质心在 1mm 各向同性基准空间,需先对齐(坑点 2)。
        ct, msk = self._center_crop(ct, msk, center)

        ct_t = torch.from_numpy(ct.copy())[None]              # (1, D, H, W)
        msk_t = torch.from_numpy(msk.copy()).long()
        return ct_t, msk_t

    def _clean(self, msk):
        out = np.zeros_like(msk)
        for lb in np.unique(msk):
            if lb == 0:
                continue
            cc, _ = ndimage.label(msk == lb)
            if cc.max() == 0:
                continue
            sizes = np.bincount(cc.ravel())[1:]
            out[cc == (int(np.argmax(sizes)) + 1)] = lb
        return out


if __name__ == "__main__":
    ds = VerSeDataset("dataset-verse2020training/training")
    loader = DataLoader(ds, batch_size=1, shuffle=True, num_workers=4,
                        pin_memory=True)
    for ct, msk in loader:            # 大体数据建议 batch_size=1 + 梯度累积
        print(ct.shape, msk.shape, msk.unique())
        break

</details>

§6.5 坑点清单(8 个真实特有失败模式)

⚠️ 坑点 1:图像与分割掩膜方向不一致(分类:工程陷阱)

问题:官方在挑战赛页面明文警告 verse201.nii.gz 与 verse201_seg.nii.gz 方向不同;complete 版虽保证影像与掩膜方向一致,但跨例之间方向并不统一,且 '19 与 '20 目录混用时极易踩中遗留文件。
症状:掩膜叠加可视化明显错位;Dice 接近 0 但标签值看起来"都在";训练 loss 不收敛且分期随机。
解决:

  1. 简单方法:加载后断言 np.allclose(ct.affine, msk.affine),不一致立即报错终止(见 §6.4 代码)。
  2. 进阶方法:用 nibabel.as_closest_canonical 将影像与掩膜统一重定向到规范方向后再做任何处理;注意重定向必须对两者同时进行。
  3. SOTA 方法:入库前用 BIDS 工具链批量校验 affine 与方向,构建一次性的"标准化副本",训练与评估全部基于标准化副本,杜绝训练时动态处理的不可复现性。
    参考:VerSe 官方挑战赛页面警告、官方仓库

⚠️ 坑点 2:质心 JSON 坐标系与原图体素空间不一致(分类:预处理陷阱)

问题:MICCAI 挑战版的质心坐标定义在 1mm 各向同性重采样、(P,I,R) 或 (A,S,L) 方向的基准空间上(原点 S-R-A,X 指向 S→I,Y 指向 A→P,Z 指向 R→L);complete 版的 JSON 则给出图像体素空间坐标。两套语义共存,直接拿去索引原图必错。
症状:以质心为中心裁剪的 patch 里找不到椎体;id.rate 异常接近 0;可视化时质心点悬浮在脊柱之外。
解决:

  1. 简单方法:用 complete 版数据与 complete 版 JSON(体素坐标),避免跨版本混用坐标语义。
  2. 进阶方法:若必须用挑战版质心,先把影像重采样到 1mm 各向同性并对齐到声明的方向,再按 (X: S→I, Y: A→P, Z: R→L) 的轴向定义做索引变换。
  3. SOTA 方法:以掩膜本身重新提取各标签连通域质心并与 JSON 互相校验,偏差超过数个体素的样本进入人工复核清单。
    参考:挑战赛页面坐标定义、官方仓库 README

⚠️ 坑点 3:2019 标注中的漂浮标签点与漏标(分类:标签理解)

问题:独立研究者系统检查发现 '19 掩膜存在两类瑕疵:远离对应椎体的"漂浮"假阳标签点(如腰椎体积中出现颈椎标签的碎点),以及真实椎体未被标注的假阴区域 11。
症状:np.unique 出现与视野不符的孤立标签;全卷积训练出现无意义的监督噪声;小连通域导致 HD 指标爆炸。
解决:

  1. 简单方法:对每个标签仅保留最大连通域,丢弃体素数低于阈值(如 50)的碎片(§6.3 的 clean_mask)。
  2. 进阶方法:结合质心 JSON 交叉验证——掩膜连通域质心与 JSON 质心距离过远的连通域判定为漂浮点;漏标椎体可通过"相邻标签间隙 + HU 阈值"启发式检出并人工确认。
  3. SOTA 方法:训练前用 nnU-Net 类模型做一轮弱清洗(预测与 GT 求差异图,差异集中区人工复核),并把清洗规则写入数据版本记录。
    参考:Meng 博士论文(INRIA)§2.4.1

⚠️ 坑点 4:'19 与 '20 重叠 86 例造成跨版本数据泄漏(分类:数据泄漏)

问题:'20 的 300 名受试者中有 86 名来自 '19(105 个序列);官方以影像 ID 小于 500 标识 '19 数据,但明确说明该规则"并非绝对",存在 ID 无法完全判别的重叠 1。
症状:混合两版数据后按 ID 简单去重仍留有同患者多序列跨集;验证/测试指标虚高,跨版本外推结果不可信。
解决:

  1. 简单方法:任何跨版本实验先按 ID < 500 过滤;同 ID 患者只允许出现在一个集合。
  2. 进阶方法:对无法由 ID 判别的样本,用影像体数据哈希(分辨率归一化后的指纹)做二次去重;'20 论文披露的重叠计数(86 受试者/105 序列)可作为校验目标。
  3. SOTA 方法:建立患者级索引表(含两版全部映射关系)入库,所有划分脚本只从索引表取数,从工程上杜绝按文件名划分。
    参考:Media 2021 论文 Table 2 注释、Sci Data 2021

⚠️ 坑点 5:移行椎与标签 25/28 引发 one-label shift(分类:标签理解)

问题:L6(标签 25)与 T13(标签 28)等计数变异会破坏"自上而下顺序计数"类算法;VerSe’19 挑战赛中没有任何方法正确识别 L6,最差案例里几乎所有算法把 L4 误标为 L5,造成整条脊柱标签偏移一位(one-label shift)1。
症状:分割本身很好但识别率接近 0;所有椎体标签一致偏移;模型在 '19 训练、'20 测试时退化远大于 '20 → '19 方向。
解决:

  1. 简单方法:评估时把 id.rate 与逐椎体 Dice 分开看——若 Dice 高而 id.rate 低,优先排查计数逻辑而非分割质量。
  2. 进阶方法:训练时保留 25/28 标签参与损失(不要合并到背景),并按变体属性分层采样;用肋骨锚点(最后有肋骨的椎体为 T12)做后处理重计数。
  3. SOTA 方法:借鉴 Payer 等的做法——逐椎体预测置信度参与标签仲裁,使单一椎体的计数错误不向全脊柱扩散;'20 版算法普遍借变异过采样解决了 L6 识别 1。
    参考:Media 2021 论文 §4/§5

⚠️ 坑点 6:骶骨与 Castellvi III/IV 不分割,评估指标被"看不见的椎体"污染(分类:评估误用)

问题:骶骨(26)与尾骨(27)整体不标注;与骶骨部分融合的 Castellvi III/IV 级移行椎不分割;扫描视野边缘部分显影的椎体也不标注。把"GT 中不存在的椎体"当作漏检或把背景算进指标,都会扭曲结果 3。
症状:HD 在腰骶交界处异常放大;逐椎体统计出现"幽灵椎体";与论文数字无法对齐。
解决:

  1. 简单方法:所有指标只在 GT 存在的标签上计算;评估前把预测中 GT 不存在的标签剔除并单独记录。
  2. 进阶方法:复刻官方协议——逐椎体平均 Dice/HD,识别率用 20mm 阈值定义(预测质心须为距 GT 最近的预测且距离小于 20mm)。
  3. SOTA 方法:直接使用官方仓库的评测工具(与 2020 挑战赛一致),并在论文中注明版本号,保证跨论文可比。
    参考:官方评测工具、Media 2021 评测协议

⚠️ 坑点 7:金属植入物与骨水泥的 HU 极值与伪影(分类:预处理陷阱)

问题:约 10% 的 '19 扫描含金属植入物、骨水泥或其他异物('20 版特意保留椎体成形与融合内固定病例);金属区域 HU 可远超常规骨窗上限,并伴条纹伪影 3、9。
症状:强度归一化被极值拉爆(全图偏暗);植入物邻近椎体分割出现空洞;增强策略错误导致验证集表现骤降。
解决:

  1. 简单方法:HU 上限钳制到 1,500-2,000 后再归一化;不要用全局直方图均衡。
  2. 进阶方法:把"含金属病例"作为独立评估分层数据集报告指标;训练增强中加入模拟金属高亮条带,提升邻近区域鲁棒性。
  3. SOTA 方法:采用对极值鲁棒的网络输入(如将 HU 离散化为 embedding),或先做金属伪影抑制预处理再分割;评估时对含金属子集单独报 Dice/HD。
    参考:Media 2021 图 1(金属/骨水泥样例)

⚠️ 坑点 8:隐藏测试集已公开 + 逐椎体平均 Dice 的评测陷阱(分类:评估误用)

问题:原隐藏测试卷(03_test)已随基准论文全部公开;同时官方 Dice 是逐椎体平均而非全局体积 Dice,两者数值差异可观。用全局 Dice 或在 03_test 上调参得到的数字都无法与榜单对比 1。
症状:自报 Dice 与论文差好几个点;"超过 SOTA"的结论在复评时消失。
解决:

  1. 简单方法:训练/调参只用 01_training(最多加内部验证切分),02/03 仅做最终一次性评估。
  2. 进阶方法:使用官方仓库评测脚本(与 2020 挑战赛同款)计算 id.rate、d_mean、逐椎体平均 Dice 与 HD 四指标并完整报告。
  3. SOTA 方法:模仿官方 docker 提交制:把推理打包为固定镜像在盲测协议下评估,评估日志与镜像哈希一并存档,保证可审计。
    参考:官方评测工具、Media 2021 §2.2-2.3

§6.6 数据增强:安全与危险

增强 是否安全 说明
随机翻转(左右) ✅ 基本安全 脊柱近似左右对称;注意 L6/T13 变异与植入物侧别统计
沿 Z 轴翻转(上下) ❌ 危险 破坏头足方向与椎体计数顺序,标签体系立即失效
随机旋转(±15° 内) ✅ 安全 配合最近邻插值处理掩膜
弹性形变/大幅缩放 ⚠️ 慎用 过度形变会破坏椎体形态学特征,干扰骨折病例
随机裁剪 patch ✅ 安全 保证 patch 内含完整椎体且质心标注同步变换
HU 窗口抖动/高斯噪声 ✅ 安全 模拟不同扫描协议;幅度适中
模拟金属条纹伪影 ✅ 推荐 针对约 10% 含植入物病例的针对性增强
上下平移越界 ⚠️ 慎用 边缘部分显影椎体不标注,裁剪后需同步清理标签

§6.7 模型推荐

模型/路线 适用任务 要点
nnU-Net(v2) 椎体实例分割 3D 全分辨率配置 + 逐类后处理;社区在脊柱分割上的通用强基线(Isensee et al., 2021, Nature Methods. DOI 10.1038/s41592-020-01008-z)
3D U-Net + 质心回归头 定位 + 分割一体化 榜单顶级方法的共同骨架:先检测质心再逐椎体分割
Payer 等:空间配置 + 置信度仲裁 定位 + 分割 '19 隐藏测试综合最佳;对 L6 等变异最鲁棒
Btrfly Net 类对抗先验 椎体标注 引入脊柱局部先验的标注网络(官方标注管线的组件)
两阶段:分割 + Genant 分级头 骨折分级 以实例掩膜裁剪椎体,再分级(仅 '19 有分级监督)
官方评测脚本 + docker 化推理 基准复现 任何自研模型都建议先跑通官方评测再谈对比(坑点 8)

§6.8 硬件需求

阶段 建议 说明
数据预处理 CPU 8 核 + 32GB 内存 1mm 重采样后单例体数据可达 10⁸ 体素量级,内存要留足
训练 1 × 24GB 显存 GPU 3D U-Net + patch 训练(batch 1-2 + 梯度累积)
大视场全图推理 1 × 40GB 显存 GPU 或滑窗推理 完整脊柱 1mm 体数据较大,滑窗 + 重叠融合为常规做法
存储 200GB 可用空间 约 47.7GB 原始数据 + 解压与标准化副本

§6.9 评估指标实现

官方四指标的极简实现(对齐 §6.5 坑点 6 的口径):

import numpy as np
from scipy import ndimage

def dice_per_label(pred, gt):
    """逐椎体 Dice,再取平均(官方口径)。"""
    labels = [l for l in np.unique(gt) if l != 0]
    dices = []
    for l in labels:
        p, g = pred == l, gt == l
        if p.sum() == 0 and g.sum() == 0:
            continue
        inter = np.logical_and(p, g).sum()
        dices.append(2.0 * inter / (p.sum() + g.sum()))
    return float(np.mean(dices)) if dices else 0.0

def hausdorff_per_label(pred, gt, spacing=(1.0, 1.0, 1.0)):
    """逐椎体 Hausdorff 距离(mm)后取平均;spacing 为体素物理尺寸。"""
    labels = [l for l in np.unique(gt) if l != 0]
    hds = []
    for l in labels:
        p, g = pred == l, gt == l
        if not p.any() or not g.any():
            continue
        da = ndimage.distance_transform_edt(~p, sampling=spacing)
        db = ndimage.distance_transform_edt(~g, sampling=spacing)
        hds.append(max(da[g].max(), db[p].max()))
    return float(np.mean(hds)) if hds else 0.0

def identification_rate(pred_ctd, gt_ctd, thresh_mm=20.0):
    """id.rate:预测质心须为距 GT 最近的预测且距离 < 20mm。"""
    hits, total = 0, len(gt_ctd)
    for gx, gy, gz in gt_ctd:
        dists = [np.sqrt((px-gx)**2 + (py-gy)**2 + (pz-gz)**2)
                 for px, py, pz in pred_ctd]
        if dists and min(dists) < thresh_mm:
            hits += 1
    return hits / total if total else 0.0

def localization_distance(pred_ctd, gt_ctd):
    """d_mean:逐扫描质心平均欧氏距离(mm),官方按贪心最近匹配。"""
    dists = []
    for gx, gy, gz in gt_ctd:
        best = min(np.sqrt((px-gx)**2 + (py-gy)**2 + (pz-gz)**2)
                   for px, py, pz in pred_ctd)
        dists.append(best)
    return float(np.mean(dists)) if dists else 0.0

def evaluate_scan(pred, gt, pred_ctd, gt_ctd, spacing):
    """单例四指标汇总,与官方口径对齐(逐椎体平均)。"""
    return {
        "id.rate": identification_rate(pred_ctd, gt_ctd),
        "d_mean": localization_distance(pred_ctd, gt_ctd),
        "Dice": dice_per_label(pred, gt),
        "HD": hausdorff_per_label(pred, gt, spacing),
    }

§6.10 MLOps 笔记

  • 数据版本化:把"complete 版 vs MICCAI 挑战版"、'19/'20、清洗规则版本都写进数据卡;跨版本实验必须记录去重清单(坑点 4)。
  • 确定性:预处理中的重采样与连通域清洗受插值顺序影响,固化 scipy/nibabel 版本并缓存标准化副本。
  • 评估审计:沿用 docker 化评估(官方隐藏测试协议的思路),指标四件套(id.rate、d_mean、Dice、HD)一起报告。
  • 监控漂移:上线后按厂商与视野构成监控输入分布(VerSe 的 50% 多厂商设计本身就是漂移压力测试集)。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
地域偏倚 德国多中心为主,欧洲医疗体系与人群 中 外部数据验证;报告按机构/厂商分层指标
年龄偏倚 全体约 59 ± 17 岁;'19 达 66.1 ± 15 岁,老年人群过代表 中 年轻人群/外伤场景外推需谨慎
骨折过代表 '19 中 91/141 患者含骨质疏松性骨折,约 25% 扫描含骨折 低(研究友好) 做筛查研究时注意基线患病率校准
变异过采样 '20 刻意纳入 161 例移行椎 + 77 例计数异常 中 变体流行病学不可由本数据估计
人机混合标注偏倚 标注种子来自算法(Btrfly Net/U-Net),算法系统性偏差可能部分保留 中 见 §7.2;关键研究可抽样复核

§7.2 标注质量

官方声明标注精度限于 1mm(与 U-Net 输出同量级),更小结构(如细小骨赘)未被校正;分割最终由单一评估者放行,多标注者融合列为未来工作;骨折分级为双人共识,未报告 kappa 1、5。独立研究还发现 '19 掩膜存在漂浮标签点与漏标(§6.5 坑点 3)11。总体而言:对实例分割与定位任务,标注质量足以支撑当前 SOTA 训练;对亚毫米级形态学定量(如骨皮质厚度),需自行评估标注精度上限。

§7.3 泛化性

场景 失效风险 证据
'19 模型 → '20 数据(含新变异) 高:性能显著退化 官方跨迭代评测,除 Payer 外全线下降 1
'20 模型 → '19 数据 低-中:平均仅降约 3% 同上
罕见计数变异(L6/T13) 高:'19 无一方法识别 L6;标签整体偏移 Media 2021 逐椎体分析 1
中段胸椎(相似形态相邻椎体) 中:'19 上系统性下降,'20 已缓解 归因于算法设计改进 1
金属植入物/骨水泥 中:局部伪影导致邻椎分割空洞 约 10% 病例;官方数据说明 9

§7.4 伦理与合规

回顾性研究经 TUM 机构审查委员会批准(提案 27/19 S-SR),书面知情同意豁免;数据经匿名化转换并在 NIfTI 转换时执行 defacing(删除面部掩膜内原始数据);数据以 CC BY-SA 4.0 开放,所有权归 TUM 神经放射学系;引用要求明确(数据库论文 + 方法论文)3、9。

§7.5 公平性

数据覆盖四大厂商与多中心,但人群基本限于欧洲(德国)医疗体系,老年人口占主导,性别分布在 '19 中女性偏多(49 男/92 女)。构建面向其他人群(如亚洲人群、年轻外伤患者)的模型时,应补充相应人群的外部验证 3。

§7.6 数据漂移

扫描协议(矢状 vs 各向同性、平扫 vs 增强)与厂商构成刻意多样化,本身就是协议漂移的受控实验场;但逐例检查日期与机型参数未公开,无法做时间轴漂移分析。跨机构部署时建议以"厂商 × 重建类型"为分层键监控输入分布与 id.rate 变化。

§7.7 DAIMS 24 项数据质量评估

# 检查项 状态 说明
1 宽格式 ⚠️ 元数据以逐例 JSON 存储,无集中宽表,需自行展开为 DataFrame
2 唯一标识 ✅ sub-verseNNN BIDS 实体命名,患者/序列唯一
3 特殊字符 ✅ BIDS 命名规范(小写实体、下划线分隔),无特殊字符风险
4 重复行 ✅ 序列与受试者一一对应;319 序列/300 受试者的差异已官方声明(约 19 人双序列)
5 缺失编码 ⚠️ 未标注椎体以"标签不存在"表达,需读者理解"无标签 ≠ 无椎体"
6 标签标识 ✅ 1-28 数值标签体系文档明确(1-7 颈/8-19 胸/20-25 腰含 L6/28 为 T13)
7 罕见类分组 ✅ '20 按主要属性(厂商/变体类型)分层随机划分,罕见属性各子集均有
8 偏倚评估 ✅ 论文给出构成统计与 limitations;本页 §7.1 汇总
9 数据字典 ⚠️ 官方 README + 挑战页文档可用,但无机读数据字典/Schema 文件
10 信息性缺失解释 ⚠️ 边缘椎体不标注、Castellvi III/IV 不分割等规则散见论文,未集中在数据字典
11 设备记录 ⚠️ 厂商层级已知(四厂商 + '20 构成配比),逐例机型/毫安秒/kVp 未公开
12 共线性 ✅ 影像型数据集,不存在表格特征共线性问题
13 编码映射 ✅ 标签↔解剖节段映射明确;Genant 0-3 分级定义完整(高度丢失阈值)
14 时间戳处理 ❌ 逐例检查日期未公开,仅有 '20 版整体采集窗口(2016-02-05 至 2020-03-01)
15 划分建议 ✅ 官方三段划分 + 分层策略 + docker 盲测协议,可执行性强
16 泄漏讨论 ⚠️ 官方披露 86 例跨版本重叠并给出 ID<500 规则,但承认规则非绝对,需使用者自行补齐去重
17 标签分布 ✅ 4,505 椎体的颈/胸/腰分布、变体计数(161/77/2)均有官方数字
18 测量偏倚 ⚠️ 人机混合标注,算法种子偏差可能传递;校正精度限 1mm;单一终审者
19 外部验证建议 ✅ 官方自带跨迭代泛化评测('19↔'20 双向)示范了外推分析方法
20 版本记录 ⚠️ complete 版与 MICCAI 挑战版差异已声明,但无语义化版本号/更新日志
21 预处理脚本 ✅ 官方提供数据读写标准化、评测(2020 挑战赛同款)工具与教程 notebook
22 合规要求 ✅ CC BY-SA 4.0 + 引用条款明确,无注册/审批门槛
23 多模态对齐 ✅ 单模态 CT 数据集,不存在跨模态对齐问题;影像-掩膜-质心三者需对齐且有明确规则
24 去标识化 ✅ defacing + NIfTI 匿名化转换 + IRB 批准(27/19 S-SR)

DAIMS 评分:19.5 / 24(✅ ×15 + ⚠️ ×8 ×0.5 + ❌ ×1 ×0)。

评分解读:VerSe 在标识、划分、合规、去标识化与工具链上达到开放影像数据集的一流水准;主要失分集中在"机读元数据基础设施"(无宽表、无机读字典、无逐例设备/时间戳)与"人机混合标注的偏差透明度"。这类失分是 2019-2021 年代数据集的典型特征,而非收集缺陷。

对你意味着什么:

  1. 直接可用:以 sub-verseNNN 为主键接管线,官方划分与评测脚本拿来即用,合规风险极低。
  2. 必须补课:自建患者级索引表 + 跨版本去重清单(86 例重叠),否则任何 '19/'20 混合实验都埋着泄漏雷。
  3. 自建宽表:把 JSON 质心、XLSX 分级展开成以受试者/椎体为粒度的两张宽表,再谈批量统计与漂移监控。
  4. 慎用场景:亚毫米形态学定量、时间轴分析、逐例设备参数研究在本数据上不可行,换数据源。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
VerSe’20 数据(对 '19 训练模型) MICCAI 2020 挑战赛 标注 + 分割 id.rate/Dice 下降(除 Payer 外全线退化) 显著退化 未见解剖变异是主要退化源 1
VerSe’19 数据(对 '20 训练模型) MICCAI 2020 挑战赛 标注 + 分割 平均降约 3% 轻微 变异过采样训练提升了双向鲁棒性 1
独立 192 例 DXA 对照队列 TUM(Eur Radiol 2021) VerSe 训练的分割框架 + 骨测量 小梁 vBMD 预测骨折 AUC 0.885(DXA 0.668) 外部队列仍有效 验证了 VerSe 训练分割的下游临床价值 8

§8 基准性能与生态

§8.1 官方排行榜(逐椎体平均口径)

VerSe 2019(Public/Hidden 两阶段;id.rate %、d_mean mm、Dice %、HD mm)1:

排名 模型/团队 id.rate d_mean Dice HD 关键技术
1(Hidden 综合) Payer C. 等 94.25 4.80 89.80 7.08 3D U-Net 检测 + 逐椎体置信度后处理,L6 失误不扩散
2(Hidden) Lessmann N. 90.42 7.04 85.76 8.20 深度回归 + 最下位椎体识别策略(遇 L6 整链受影响)
1(Public 最高) Chen M. 等 96.94 4.43 93.01 6.39 3D U-Net 系方法,Public 阶段 id.rate 与 Dice 双最高

VerSe 2020(Public/Hidden)1:

排名 模型/团队 id.rate d_mean Dice HD 关键技术
1 Chen D. 等 95.61 / 96.58 1.98 / 1.38 91.72 / 91.23 6.14 / 7.15 两阶段(识别+分割)联合优化
2 Payer C. 等 95.06 / 92.82 2.90 / 2.91 91.65 / 89.71 5.80 / 6.06 空间配置网络,HD 双阶段最优
3 Zhang A. 等 94.93 / 96.22 2.99 / 2.59 88.82 / 89.36 7.62 / 7.92 3D U-Net 系方法

⚠️ 数值不可直接比较:'19 与 '20 数据难度不同('20 过采样变异);Public 与 Hidden 阶段样本不同;团队方法多发表于挑战赛届内,其正式论文口径与榜单口径亦有差异。跨行对比必须回到同一阶段同一数据版本。

§8.2 SOTA 总结与选型建议

  • 分割:顶级方法均为 3D U-Net 骨架;'20 最佳 Dice 约 91.2%(Hidden)、'19 Public 最高 93.0%。
  • 识别:'20 最佳 id.rate 约 96.6%(Hidden)、d_mean 约 1.4mm——相比 '19 的整体水平(Hidden 最高 94.25%)提升主要来自变异过采样与更稳的计数策略。
  • 选型:起步用 nnU-Net 类通用框架 + 官方评测脚本;追求榜单水平需"质心检测 + 逐椎体分割 + 置信度仲裁"两阶段结构;骨折分级研究用 '19 + 附录 E1 两阶段管线。

§8.3 评测协议

三阶段制(训练 → Public 提交预测 → Hidden 提交 docker 在盲测集评测);识别率以"预测质心为距 GT 最近者且欧氏距离 < 20mm"计正确;d_mean 为逐扫描质心平均欧氏距离;Dice 与 HD 均为逐椎体平均。25 支算法进入正式基准 1。

数据集 关系 说明
Glocker 椎体 CT 数据集 被吸收 '20 版纳入其 30 例作为多厂商成分 3
Löffler 骨折分级数据 同源配套 即 VerSe’19 全部 160 序列 + Genant 分级 + 腰椎 BMD 5
anduin.bonescreen.de 标注工具 官方在线分割框架,标注管线的机器部分 3

§8.5 关键论文 Top 6

  1. Sekuboyina A. et al., 2021, Medical Image Analysis 73:102166. DOI 10.1016/j.media.2021.102166 — 25 支算法正式基准与失败模式分析,VerSe 的核心引用。
  2. Liebl H., Schinz D. et al., 2021, Scientific Data 8:284. DOI 10.1038/s41597-021-01060-0 — '20 数据描述论文:构成配比、变体分层与采集标准。
  3. Löffler M.T. et al., 2020, Radiology: Artificial Intelligence 2(4):e190138. DOI 10.1148/ryai.2020190138 — '19 数据 + Genant 骨折分级 + 腰椎 BMD 配套发布。
  4. Sekuboyina A. et al., 2020, Radiology: Artificial Intelligence. DOI 10.1148/ryai.2020190074 — 2D 重组 + 对抗式脊柱先验的椎体标注方法(Btrfly Net 系)。
  5. Sekuboyina A., Menze B., Kirschke J., 2020, Zenodo. DOI 10.5281/zenodo.3759104 — MICCAI 2020 挑战设计文档('19 战报与 '20 设计)。
  6. Sinhamahapatra P. et al., 2024, arXiv:2404.02830 — 以 VerSe’19 分级做可解释骨折分级(ProtoVerse)的最新下游应用示例。

§8.6 社区活跃度

官方 GitHub 仓库(anjany/verse,MIT 许可)持续维护数据工具与评测脚本;OSF 两仓库承载全部数据;两届挑战赛合计注册与下载超过 250 次、20 支队伍参赛('19),25 支算法进入正式基准 4。基准论文 Semantic Scholar 引用 390+(截至 2026-09),围绕它形成了椎体分割—骨折分级—机会性筛查的连续研究谱系。

社区研究活跃度的三个信号:① 官方数据论文(Sci Data 2021)引用 126+,说明’20 版构成设计被后续数据集工作广泛引用(截至 2026-09,Semantic Scholar);② 骨折分级论文引用 213+,滋养了骨折检测/分级的独立研究方向(同上);③ 2024 年仍有以 VerSe’19 为基准的可解释性新方法发表(ProtoVerse,arXiv:2404.02830),显示数据集生命周期仍在延续。

§8.7 生态快照

资源 类型 链接 维护状态/推荐理由
anjany/verse 官方 GitHub 仓库 github.com/anjany/verse 数据工具、评测脚本、教程 notebook;MIT 许可
OSF VerSe’19 数据仓库 osf.io/nqjyw '19 全量 + MICCAI 挑战版入口
OSF VerSe’20 数据仓库 osf.io/t98fz '20 全量 + 持续更新元数据的承诺出口
Zenodo 设计文档 文献/设计 doi.org/10.5281/zenodo.3759104 '19 战报 + '20 挑战设计原始文档
verse2019/verse2020.grand-challenge.org 挑战赛官网 verse2020.grand-challenge.org 任务定义、坐标定义、分布统计的一手页面
OpenDataLab 镜像 国内镜像 opendatalab.com/OpenDataLab/VerSe 约 47.7GB 一键下载通道

§9 相关资源与引用

§9.1 官方资源

§9.2 BibTeX 引用块

@article{sekuboyina2021verse,
  title   = {VerSe: a vertebrae labelling and segmentation benchmark
            for multi-detector CT images},
  author  = {Sekuboyina, Anjany and Husseini, Malek E and Bayat, Amirhossein
            and L{\"o}ffler, Maximilian and Liebl, Hans and Li, Hongwei
            and Tetteh, Giles and Kuka{\v{c}}ka, Jan and Payer, Christian
            and {\v{S}}tern, Darko and others},
  journal = {Medical Image Analysis},
  volume  = {73},
  pages   = {102166},
  year    = {2021},
  doi     = {10.1016/j.media.2021.102166}
}

@article{loffler2020vertebral,
  title   = {A Vertebral Segmentation Dataset with Fracture Grading},
  author  = {L{\"o}ffler, Maximilian T and Sekuboyina, Anjany and Jacob, Alina
            and Grau, Anna-Lena and Scharr, Andreas and El Husseini, Malek
            and Kallweit, Mareike and Zimmer, Claus and Baum, Thomas
            and Kirschke, Jan S},
  journal = {Radiology: Artificial Intelligence},
  volume  = {2},
  number  = {4},
  pages   = {e190138},
  year    = {2020},
  doi     = {10.1148/ryai.2020190138}
}

@article{liebl2021computed,
  title   = {A computed tomography vertebral segmentation dataset with
            anatomical variations and multi-vendor scanner data},
  author  = {Liebl, Hans and Schinz, David and Sekuboyina, Anjany
            and Malagutti, Luca and L{\"o}ffler, Maximilian T
            and Bayat, Amirhossein and El Husseini, Malek and Tetteh, Giles
            and Grau, Katharina and Niederreiter, Eva and Baum, Thomas
            and Wiestler, Benedikt and Menze, Bjoern and Braren, Rickmer
            and Zimmer, Claus and Kirschke, Jan S},
  journal = {Scientific Data},
  volume  = {8},
  pages   = {284},
  year    = {2021},
  doi     = {10.1038/s41597-021-01060-0}
}

@misc{sekuboyina2020challenge,
  title        = {Large Scale Vertebrae Segmentation Challenge},
  author       = {Sekuboyina, Anjany and Menze, Bjoern and Kirschke, Jan},
  year         = {2020},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3759104}
}

§9.3 引用指南

按官方数据使用协议,使用 VerSe 数据应至少引用:①数据库基准论文(Sekuboyina 2021),②所用子集的数据描述论文('19 用 Löffler 2020;'20 用 Liebl 2021),③分割方法论文(标注管线所依赖的方法)。以 CC BY-SA 4.0 分发衍生数据时,注意"相同方式共享"条款对再许可的要求。


§10 AI 使用声明卡

§10.1 AI 模型列表

模型 版本 用途
大语言模型(本条目初稿生成) 2026-09 可用版本 检索结果整理、正文撰写、表格与代码组织

§10.2 AI 参与范围

AI 参与了本条目全部章节的初稿撰写与代码示例组织;所有事实性数字均来自 §10.3 所列来源并由人工逐条核对;最终内容责任由千方病案医学编辑部承担。

§10.3 输入来源列表

  1. Sekuboyina A. et al., 2021, Medical Image Analysis 73:102166. DOI 10.1016/j.media.2021.102166(arXiv HTML v6:数据划分/指标/榜单/结论)
  2. Liebl H., Schinz D. et al., 2021, Scientific Data 8:284. DOI 10.1038/s41597-021-01060-0(含 arXiv:2103.06360 全文:'20 构成/纳排/标注管线/重叠)
  3. Löffler M.T. et al., 2020, Radiology: Artificial Intelligence 2(4):e190138. DOI 10.1148/ryai.2020190138(PMC8082364 全文:骨折分级协议/患者特征/下载)
  4. 官方仓库 README:https://github.com/anjany/verse(BIDS 结构/标签映射/下载直链/许可)
  5. VerSe’20 挑战赛官网:https://verse2020.grand-challenge.org/VerSe_at_MICCAI19/(任务定义/坐标定义/'19 分布统计/方向警告)
  6. 挑战设计文档:https://doi.org/10.5281/zenodo.3759104('19 参赛规模/'20 设计/许可)
  7. OpenDataLab 镜像页:https://opendatalab.com/OpenDataLab/VerSe(约 47.7GB 体量与中文介绍)
  8. Meng 博士论文(INRIA):https://inria.hal.science/tel-04240246/file/meng_thesis_Feb14.pdf('19 标注瑕疵的独立发现)
  9. Löffler M.T. et al., 2021, European Radiology 31:6069-6077. DOI 10.1007/s00330-020-07655-2(机会性筛查下游应用与 AUC 数字)
  10. Sinhamahapatra P. et al., 2024, arXiv:2404.02830(ProtoVerse:'19 分级的下游应用与流行病学引用)
  11. Semantic Scholar API(DOI 批量查询,2026-09 访问):引用计数 390/126/213
  12. Al Taha K. et al., 2024, Journal of Clinical Medicine 13(4):930. DOI 10.3390/jcm13040930(VCF 流行病学综述)
  13. ICD-10 编码资料库:https://icdlist.com(M80.08XA/M48.5 系列核实)
  14. Donnally III C.J. et al., Vertebral Compression Fractures, StatPearls(NBK448171):https://www.ncbi.nlm.nih.gov/books/NBK448171/(VCF 临床背景)

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
§2 医学背景与编码映射 千方病案医学编辑部 逐条比对 ICD-10 编码资料库与综述文献 ✅ 已通过/已验证
§3-§4 数据规格与结构 千方病案医学编辑部 与官方 README/论文 Table 逐项核对 ✅ 已通过/已验证
§5 划分与泄漏分析 千方病案医学编辑部 与 Media 2021 Table 2 注释核对 ✅ 已通过/已验证
§6 坑点与代码 千方病案医学编辑部 坑点逐条溯源官方文档/论文;代码静态走查 ✅ 已通过/已验证
§7 DAIMS 24 项 千方病案医学编辑部 逐项对照 FACTS.md 事实清单评分 ✅ 已通过/已验证
§8 榜单数字 千方病案医学编辑部 与 Media 2021 Table 4 数字逐一比对 ✅ 已通过/已验证

§10.5 AI 生成章节标注

本条目各章节初稿由 AI 生成(见 §10.1),生成后经 §10.4 所列人工校验流程逐模块审核修订后发布;无"纯 AI 未审"章节。

§10.6 最后人工审核

最后人工审核日期:2026-09-05(与 §0 一致)。

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


相关数据集导航

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

  • sliver07 — 共享标签:医学影像 / 医学问答与基准 / CT / 医学图像分割 / 挑战赛数据集
  • btcv — 共享标签:医学影像 / 医学问答与基准 / CT / 医学图像分割 / 挑战赛数据集
  • kits — 共享标签:医学影像 / 医学问答与基准 / CT / 医学图像分割 / 挑战赛数据集
  • lits — 共享标签:医学影像 / 医学问答与基准 / CT / 医学图像分割 / 挑战赛数据集
  • flare — 共享标签:医学影像 / 医学问答与基准 / CT / 医学图像分割 / 挑战赛数据集
  • ctspine1k — 共享标签:医学影像 / CT / 医学图像分割 / 骨骼肌肉影像
  • us-nerve-seg — 共享标签:医学影像 / 医学图像分割 / 挑战赛数据集 / 骨骼肌肉影像
  • pengwin — 共享标签:医学影像 / 医学图像分割 / 挑战赛数据集 / 骨骼肌肉影像
  • ribfrac — 共享标签:医学影像 / CT / 医学图像分割 / 骨骼肌肉影像
  • segthor — 共享标签:医学影像 / CT / 医学图像分割 / 挑战赛数据集

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

返回 AI-Ready 数据集