信息速览

RibFrac Challenge — 胸部 CT 肋骨骨折检测与分类 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | RibFrac Challenge Dataset |
| 英文全称 | MICCAI 2020 RibFrac Challenge: Rib Fracture Detection and Classification |
| 别名/简称 | RibFrac、RibFrac 2020、RibFrac Challenge、肋骨骨折挑战赛数据集 |
| 疾病分类 | 肋骨骨折(ICD-11:NA82.3 单发 / NA82.4 多发 / NA82.5 连枷胸) |
| 数据模态 | 3D 胸部 CT(NIFTI 体数据) |
| AI 任务类型 | 实例分割式骨折检测、四类骨折形态分类 |
| 样本总数 | 660 例 CT / 约 5,000 处骨折(420 训练 + 80 验证 + 160 评测;公开标注 4,422 个实例) |
| 数据大小 | 约 80 GB(压缩下载)/ 约 277 GB(解压后训练+验证) |
| 数据格式 | .nii.gz(NIFTI)+ CSV 实例标签表 |
| 许可证 | 注册后开放获取(Grand Challenge);官方评估代码 Apache-2.0;RibSeg 扩展标注 CC BY-NC |
| 访问级别 | 注册后开放/竞赛专用(Join 后经官网 Dataset 页下载) |
| 语言 | 英文(文档与标注元数据) |
| 首发日期 | 2020-06-15(训练集与验证集发布) |
| 最后更新 | 2020-08-24(测试集发布;数据本体此后冻结,在线评测持续开放) |
| 发布机构 | 上海交通大学 & 复旦大学附属华东医院(MICCAI 2020 官方卫星赛事) |
| 官方主页 | https://ribfrac.grand-challenge.org/ |
| 下载地址 | https://ribfrac.grand-challenge.org/dataset/ |
| DOI | arXiv:2402.09372(挑战总结论文,IEEE TMI 2025 正式发表) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 官方三分划分完整、评估代码开源、在线评测长期可用;扣分项:-1 未定义标签占比高、实例掩码存在官方承认的噪声、无官方一键预处理脚本 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 编码与形态学扩展码映射、四类骨折临床定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与上海交通大学、复旦大学附属华东医院、MICCAI 学会及 Grand Challenge 平台无任何商业利益关联。本页面不销售 RibFrac 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受数据集组织方的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。RibFrac 要求用户在 Grand Challenge 平台完成免费注册(Join challenge)后经官方 Dataset 页下载数据,并遵守挑战赛规则(包括禁止对训练、验证或测试集做任何人工标注)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? RibFrac Challenge 是 MICCAI 2020 的官方卫星赛事数据集,由上海交通大学与复旦大学附属华东医院联合组织,专门面向胸部 CT 中的肋骨骨折检测与分类任务。它包含 660 例胸部 CT 与约 5,000 处骨折,划分为 420 例训练集(全部含骨折)、80 例验证集(其中 20 例为无骨折阴性)与 160 例评测集(官方任务页)。每处骨折都由放射科医生标注了体素级实例分割掩码,并附四类临床分型标签。
为什么重要? 肋骨骨折是最常见的胸部损伤之一,CT 阅片计数与分型是一项高度劳动密集的工作,而在这个数据集之前,该领域缺乏大规模公开的实例级标注基准(挑战总结论文)。这是全球首个公开如此规模肋骨骨折实例级标注的数据集:在检测赛道上,顶级方案的表现已达到甚至超过人类专家;但在分类赛道上,方案距离临床可用仍有明显差距——这一结论来自 2025 年发表于 IEEE TMI 的挑战总结论文,准确刻画了当前 AI 的能力边界。
我能用它做什么? 训练 3D 骨折检测/实例分割模型(官方基线 FracNet 与评估代码均开源)、研究骨折分型与类别不平衡问题、借助同源 RibSeg 扩展做肋骨解剖先验研究、构建创伤急诊 AI 辅助分诊原型。注意:它不能替代临床验证,任何临床应用都需独立的前瞻性验证与监管审批。
§1.1 技术摘要
RibFrac 数据集在技术上的完整画像如下。影像为 3D 胸部 CT,以 NIFTI(.nii.gz)格式存储,体尺寸为 512×512×N,N 在 74-721 层之间(中位 357 层),体素间距 z 向 0.63-1.5 mm、面内 0.56-0.98 mm,病例间不一致(第三方统计)。标注采用实例分割范式:每个骨折实例对应一个独立连通区域的体素级掩码(标签值 1-4 对应四类骨折,-1 表示骨折但类型无法界定,0 为背景),外加一份实例级 CSV 标签表。评测协议为双赛道:检测赛道基于 FROC 分析(取 FP=0.5/1/2/4/8 五个点的敏感度均值,命中判据为 IoU>0.2),分类赛道基于 Macro-F1(含假阴性、假阳性与忽略列的 5×6 混淆矩阵)。MICCAI 2020 挑战期内共评估了 243 个提交结果,7 支队伍受邀参与总结(arXiv:2402.09372)。官方评估代码以 Apache-2.0 许可开源(M3DV/RibFrac-Challenge),数据本体在 2020 年冻结后,在线评测作为持续基准运行至今。
数据获取画像同样简洁:免费注册即可下载约 80 GB 压缩包,无外部申请委员会环节;这也决定了它的复现门槛几乎全部在算力与工程细节上,而非数据许可上。与需要签署 DUA、完成培训课程的凭证化数据集(如 MIMIC 系列)相比,RibFrac 的合规负担更轻,但相应地也缺少数据使用协议层面的追踪机制——使用者应自觉在成果中声明数据来源。
§1.2 战略价值
维度一:方法学基准价值。 在 RibFrac 之前,肋骨骨折自动检测研究大多依赖内部小规模数据,方法之间无法公平比较。RibFrac 首次提供了统一的、带官方评测协议的大规模实例级基准,使"检测精度"与"分类精度"成为可横向比较的指标。更深远的是,它把"细长三维目标检测"这一通用难题(肋骨细长、斜向、跨层)带入了医学影像主流视野——官方为规避 IoU 在细长物体上的波动,特意将命中判据放宽到 IoU>0.2,并要求以实例分割形式完成检测(任务页)。围绕它发展出的点云肋骨分割范式(RibSeg,MICCAI 2021/TMI 2023)进一步把该数据集推向几何深度学习的试验田。
维度二:工程落地与生态价值。 数据获取门槛低(免费注册即可下载),评估代码、基线模型与社区复现(如 nnU-Net 组合方案)公开可得,且在线评测在挑战赛结束后长期开放,形成了"数据+协议+榜单"的完整闭环。挑战赛论文于 2024 年公开、2025 年正式发表在 IEEE TMI,说明组织方对基准的长线维护承诺。对中国团队而言,该数据集由国内机构牵头、临床团队来自复旦大学附属华东医院,中文学术社区讨论丰富,上手资料友好。其衍生研究方向(CPR 曲面重建辅助检测、X 线跨模态迁移)也已在同行评审文献中得到验证。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态 | 标注粒度 | 与 RibFrac 的差异化 |
|---|---|---|---|---|
| RibFrac | 660 例 CT / 约 5,000 处骨折 | 胸部 CT | 体素级实例掩码 + 四类分型 | 首个肋骨骨折大规模实例级检测+分类基准 |
| RibSeg(同源扩展) | 490 例 CT / 11,648 根肋骨 | 胸部 CT | 肋骨分割掩码 + 中心线(半自动) | 同一批 CT 的解剖结构标注,服务肋骨分割与下游应用 |
| LUNA16 | 888 例 CT / 1,186 处肺结节 | 胸部 CT | 结节中心坐标与半径(检测框级) | 类圆目标 vs 细长目标,检测协议同为 FROC |
| TotalSegmentator | 大规模全身 CT 队列 | 全身 CT | 多器官语义分割掩码 | 纯解剖分割、无病理/骨折标签 |
对比要点:RibFrac 是目前唯一同时提供"实例分割掩码 + 临床分型标签"的肋骨骨折公开数据集;若研究目标是肋骨解剖而非骨折,应转向同源 RibSeg;若目标是类圆病灶的 FROC 检测协议设计,LUNA16 是参照系。
§1.4 版本时间轴
| 时间 | 事件 | 来源 |
|---|---|---|
| 2020-03-12 | 官方评估代码仓库初始提交(GitHub) | M3DV/RibFrac-Challenge |
| 2020-06-15 | 训练集(420 例)与验证集(80 例,含 20 例阴性)发布 | 官网 |
| 2020-08-24 | 测试集(160 例,无公开标注)发布 | 官网 |
| 2020-08-31 ~ 09-13 | 测试提交窗口,公开榜单开放(每日最多 2 次提交) | 官网 |
| 2020-09-27 | MICCAI 2020 官方挑战期结束(2020-06-15 起共 3.5 个月) | 获奖页 |
| 2020-10-04 | MICCAI 2020 卫星 workshop(Lima,线上),公布获奖队伍 | 程序页 |
| 2020-10-30 | 线上基准重新开放并扩展评测指标,转为持续基准 | 官网 |
| 2021 | RibSeg v1 发布(490 例肋骨分割+中心线标注,MICCAI 2021) | Zenodo |
| 2023 | RibSeg v2 扩展发表于 IEEE TMI | M3DV/RibSeg |
| 2024-02-15 | 挑战总结论文公开(arXiv 2402.09372,CC BY 4.0) | arXiv |
| 2025 | 挑战总结论文正式发表于 IEEE Transactions on Medical Imaging | PubMed 40305244 |
时间轴的一个结构性特征值得注意:数据本体在 2020-08-24 后再未变更,而围绕它的学术产出持续到 2025 年——这是"冻结数据 + 活跃生态"组合的典型案例,也是"版本风险"极低的数据集(无需担心关键结果因数据更新而失效)。
§1.5 典型应用场景
- 骨折检测与实例分割算法研发:以官方 420/80 划分训练 3D 检测器,用官方 FROC 协议离线评估,再到在线评测提交。FracNet 基线与 nnU-Net 组合方案均有公开复现路径。
- 骨折分型与类别不平衡研究:四类形态(buckle/nondisplaced/displaced/segmental)加上占比过半的 -1 未定义实例,构成了研究"部分标签学习"与"类别不平衡"的理想试验床。
- 肋骨解剖先验与几何深度学习:借助 RibSeg 的肋骨分割与中心线标注(点云范式)开发解剖引导的骨折检测,TMI 2025 论文已证明肋骨分割信息能显著提升检测精度。
- 创伤急诊 AI 辅助流程原型:模拟"CT 到床旁"的骨折计数与高危形态(如 segmental/连枷胸相关)预警流程,为前瞻性临床验证做算法预研。
- 放射科教学与阅片质控研究:用带实例级标注的病例构建教学题库或阅片一致性研究素材(需遵守禁止人工标注测试集的竞赛规则)。
§2 医学背景
§2.1 ICD-11 编码映射
肋骨骨折在 ICD-11 中位于损伤中毒章节的胸部损伤区块(NA82 “Fracture of rib, sternum or thoracic spine”,即肋骨、胸骨或胸椎骨折),核心编码如下(Find-A-Code ICD-11 浏览):
| 编码 | ICD-11 中文名 | 英文名 | 与本数据集的关系 |
|---|---|---|---|
| NA82.3 | 肋骨骨折 | Fracture of rib | 数据集全部标注实例的主诊断对应编码 |
| NA82.4 | 多发肋骨骨折 | Multiple fractures of ribs | 高能量创伤中常见;多实例病例对应此情形 |
| NA82.5 | 连枷胸 | Flail chest | segmental 类别高级损伤的临床后果 |
| XJ76E | 隆起骨折(扩展码) | Buckle fracture | 与数据集 buckle 类别对应的形态学扩展码 |
| XJ69V | 移位性骨折(扩展码) | Dislocated fracture | 与数据集 displaced 类别对应的形态学扩展码 |
| XA5TK7 | 肋(部位扩展码) | Rib | ICD-11 后组配部位码,可细至第 1-12 肋 |
ICD-11 对 NA82.3 采用后组配(postcoordination)设计:主码 NA82.3 可与形态学扩展码(如 XJ76E 隆起骨折、XJ69V 移位性骨折)及部位扩展码(XA5TK7 肋,可后组配第几肋)组成集群编码(ICD-11 MMS v2025-01)。ICD-10 对应编码为 S22.3(单发肋骨骨折)、S22.4(多发肋骨骨折)与 S22.5(连枷胸)(编码对照)。
§2.1b 数据集标签与 ICD-11 形态学扩展码对照
| 数据集标签 | 形态学含义 | ICD-11 形态学扩展码参考 | 分类评估中的处理 |
|---|---|---|---|
| 0 | 背景(非骨折) | — | 不参与分类指标 |
| 1 | Buckle(隆起骨折) | XJ76E | 计入 Macro-F1 |
| 2 | Nondisplaced(非移位骨折) | 无直接对应扩展码 | 计入 Macro-F1 |
| 3 | Displaced(移位骨折) | XJ69V | 计入 Macro-F1 |
| 4 | Segmental(节段性骨折) | 无直接对应扩展码 | 计入 Macro-F1 |
| -1 | 骨折但类型无法界定 | — | 进入混淆矩阵 Ignore 列,不扣分 |
说明:nondisplaced 与 segmental 在 ICD-11 扩展码体系中没有一一对应的形态学码,研究者若需结构化输出 ICD-11 编码,建议以主码 NA82.3 加部位扩展码为基础、形态学码按可映射项后组配。本数据集官方未发布标签到 SNOMED CT 的正式映射,相关映射工作需在引用官方编码表的前提下自行开展。
§2.2 疾病简介与流行病学
肋骨骨折是最常见的胸部损伤之一,多由直接暴力(受力处肋骨向内弯曲折断)或前后挤压暴力(肋骨体段向外弯曲折断)造成,严重者可引起呼吸衰竭与休克(医学概述)。其常见致伤机制包括跌倒、交通事故、运动损伤与挤压伤;老年人群因骨密度下降与共病,更轻微的外力即可致骨折,且多骨折、老年与慢性病患者发生呼吸衰竭的风险显著更高(临床综述)。
在诊断路径上,CT 对肋骨骨折的检出能力优于 X 线平片,但一次胸部 CT 包含数百层图像,肋骨以细长斜向走行跨越多层面,逐层计数与分型对放射科医生是高度劳动密集的工作;在多发伤患者中,影像科还面临"先找致命伤"的时间压力。正是这一临床痛点构成了 RibFrac 挑战赛的立项背景:官方背景陈述明确指出,肋骨骨折诊断在临床实践、法医学与保险理赔等场景中都是重要且常见的任务,但此前针对该任务的自动化机器学习研究极少(官网背景)。
影像学表现要点:CT 上肋骨骨折的直接征象为骨皮质连续性中断、断端移位与碎裂骨片,邻近常伴软组织肿胀、血胸、气胸与肺挫伤等间接征象;非移位骨折在轴位上可仅表现为皮质走行的细微中断,需要沿肋骨长轴逐层追踪才能确认。这正是 CPR(沿肋骨长轴的曲面重建)与 VR(容积再现)在临床后处理中被广泛使用的原因——它们把"跨层追踪"压缩为"单幅展开视图"。理解这些征象对使用本数据集有两个直接意义:其一,实例掩码的边界对应上述直接征象区域,掩码噪声的来源正是征象本身的模糊性;其二,骨窗(宽窗位、高对比)是阅片与算法预处理的一致选择。
§2.3 临床任务定义
RibFrac 将肋骨骨折的 AI 辅助诊断拆解为两个任务,其临床定义均来自官方任务页(tasks):
任务一:检测(以实例分割形式实现)。 从 CT 体数据中检出全部骨折并给出实例级掩码。由于肋骨骨折是细长目标,IoU 天然波动,官方将命中判据设为 IoU>0.2,并以 FROC(FP=0.5/1/2/4/8 处敏感度均值)为主指标——这一协议同时平衡了敏感度与假阳性率,贴合"阅片不能漏、也不能被假阳性淹没"的临床现实。
任务二:分类(四类形态学分型)。 对检出的骨折做四类分类,官方定义如下:
| 类别 | 官方定义要点 | 临床提示 |
|---|---|---|
| Buckle(隆起骨折) | 骨皮质隆起/压缩而未完全断裂;儿童常见,但成人创伤中亦有报告,影像学上易漏诊 | 因法医学意义(保险、鉴定)而受重视 |
| Nondisplaced(非移位骨折) | 骨完全断裂但断端对位良好,无皮质错位 | X 线平片难见,常在随访骨痂形成后才显影 |
| Displaced(移位骨折) | 皮质断裂伴明显对位异常 | 可伴周围组织损伤,文献中有致死性并发症报告 |
| Segmental(节段性骨折) | 同一肋骨上 ≥2 处独立完全骨折 | 累及 ≥3 个连续肋水平时与连枷胸风险相关,属高级别损伤 |
延伸任务(社区方向):基于肋骨解剖的分割与中心线提取(RibSeg 系列)、CPR(曲面重建)辅助阅片——有同行评审研究将轴位与 CPR 图像联合用于骨折检测并报告了提升(ESWA 2025)。需要强调:RibFrac 官方标注不包含手术/保守治疗的处理决策标签,处理决策预测需自建标签或在扩展数据上开展。
§2.4 患者人群与采集背景
| 维度 | 信息 |
|---|---|
| 数据来源 | MICCAI 2020 RibFrac Challenge 组织方发布;临床团队来自复旦大学附属华东医院(团队构成) |
| 影像类型 | 成人胸部 CT(多为含完整肋骨的胸腹部范围扫描,RibSeg 论文描述) |
| 阳性构成 | 训练集 420 例全部含骨折;验证集 80 例中 60 例含骨折、20 例为阴性(官方任务页) |
| 年龄/性别/种族分布 | 官方未公开逐例人口学统计;引用本数据集时不应推断人群代表性 |
| 采集时间 | 官方未公开逐例检查日期;数据集于 2020 年组织发布 |
需要特别说明:RibFrac 公开包中没有年龄、性别等人口学字段,这不是数据缺陷而是隐私最小化设计,但也意味着任何"人群分层公平性"分析都需要外部数据支撑。
§2.5 临床价值
肋骨骨折自动化检测与分型的临床价值体现在三个层面。第一,阅片效率:CT 肋骨逐层检查是耗时的体力活,自动骨折计数与高亮可直接缩短阅片时间;相关研究已显示自动肋骨重建(unfolded CPR)能提升创伤 CT 阅片效率(文献线索)。第二,损伤严重度分层:骨折数量与形态(多发、节段、移位)是创伤严重度、呼吸衰竭风险与手术指征的重要依据,可靠的自动计数可辅助急诊分诊与临床研究入组。第三,法医与保险场景:官方背景明确将法医学与保险理赔列为应用场景——骨折的客观检出与分型直接影响伤残鉴定结论,这也解释了 buckle 这类易漏诊形态为何被纳入分型体系。
对 AI 工程师而言,这三个价值层面对应三种不同的产品形态与精度要求:阅片效率工具对假阳性容忍度相对较高(人工复核兜底),严重度分层要求计数与高危形态识别的准确率可审计,法医/保险场景则几乎不可容忍系统性漏检且必须保留人工终审。基于 RibFrac 做产品预研时,应先明确目标场景属于哪一层,再设定对应的指标门槛。
§2.6 参考标准(金标准)
| 项目 | 内容 |
|---|---|
| 参考标准性质 | 放射科医生人工标注的体素级实例掩码 + 形态学分型标签 |
| 标注方式 | 实例分割式:每个骨折实例一个独立连通掩码区域;配合实例级 CSV 标签表 |
| 标注者 | 5 名放射科医生(含不同年资),采用 human-in-the-loop 流程提升标注完备性(挑战总结论文) |
| 已知局限 | 官方明示:因骨折区域界定存在模糊性,实例掩码存在噪声,因此掩码仅用于计算检测重叠而非精确分割评估(官方任务页) |
| 评估协议 | 检测:FROC(FP=0.5/1/2/4/8 敏感度均值,IoU>0.2 命中);分类:Macro-F1(5×6 混淆矩阵,含 FN/FP/Ignore) |
把"金标准"放回临床语境:这套参考标准回答的是"影像上有没有骨折、形态是什么",不包含临床随访确认、手术记录或病理对照,因此它衡量的是"影像学共识"而非"终极真值"。做临床相关性研究(如骨折数与预后关联)时,金标准的信息边界应写入研究的局限性声明。
§3 数据集规格
§3.0 版本抉择矩阵
RibFrac 数据本体自 2020 年冻结后未再迭代版本,但围绕它存在三个"可选数据面"。按下表选择:
| 你的需求 | 推荐选择 | 大小 | 理由 |
|---|---|---|---|
| 复现官方基准/在线冲榜 | 全量 660 例 + 官方 420/80/160 划分 | 约 80 GB(下载包合计) | 与官方 FROC/Macro-F1 数字直接可比 |
| 离线快速算法验证 | 仅训练+验证 500 例公开标注部分 | 约 80 GB 中的主体(分包大小以官网 Dataset 页为准) | 500 例带完整标注,可离线跑官方评估脚本 |
| 肋骨解剖/下游应用 | RibSeg 扩展(490 例肋骨+中心线标注) | Zenodo 提供 | 半自动标注+人工校对,MICCAI 2021/TMI 2023 背书 |
| 骨折分型研究 | 训练+验证 500 例(含 -1 实例) | 同上 | -1 实例占比过半,是分型研究的核心挑战 |
注意:官方下载按 Training Set Part I、Training Set Part II、Validation Set、Testing Set 四个包组织(早期 README),测试集 160 例不含公开标注,仅用于在线提交评测。
矩阵使用方式:先定"需求"再选"数据面",不要默认全量下载——RibSeg 扩展标注只有 490 例且与 RibFrac CT 分离发布,单独下载没有意义,必须与 RibFrac 影像配套;同理,只做分型研究时下载测试集 160 例并无收益,反而多占磁盘与带宽。
§3.1 模态详情
全部 660 例均为 3D 胸部 CT 体数据,以 NIFTI 格式存储(.nii.gz 压缩)。体尺寸为 512×512×N,N 为层数,范围 74-721 层,中位 357 层,典型值 300-400 层(第三方统计、RibSeg 论文)。面内分辨率 0.56-0.98 mm,z 向层厚 0.63-1.5 mm,病例间差异明显,官方与社区复现均建议先重采样到统一分辨率(如 1 mm 各向同性)再训练。骨性结构在 CT 上以高 HU 值呈现,RibSeg 标注流程以 HU>200 阈值提取骨体素,这一事实可作为预处理中"骨窗/骨阈值"选择的参考(RibSeg 论文)。数据集不含 MRI、X 线等其他模态;如需跨模态研究,社区已有基于 X 线的肋骨骨折检测工作(跨模态迁移,见 §8.5)。
§3.2 按子集样本数
| 子集 | CT 例数 | 骨折标注 | 用途 |
|---|---|---|---|
| 训练集 | 420(全部含骨折) | 完整(掩码 + 标签表) | 模型训练 |
| 验证集 | 80(60 阳 + 20 阴) | 完整(掩码 + 标签表;阴性无标注文件) | 离线评估/调参 |
| 评测集(测试) | 160 | 无公开标注 | 在线提交评测 |
公开标注实例的类别分布(训练+验证合计 4,422 个实例,第三方统计):
| 标签 | 类别 | 实例数 | 涉及患者数 |
|---|---|---|---|
| 1 | Buckle | 687 | 270 |
| 2 | Nondisplaced | 630 | 246 |
| 3 | Displaced | 321 | 152 |
| 4 | Segmental | 209 | 76 |
| -1 | 类型未定义(仍为骨折) | 2,575 | 431 |
§3.3 文件格式
| 文件 | 格式 | 内容 |
|---|---|---|
| RibFrac{n}-image.nii.gz | NIFTI (gzip) | 3D CT 体数据,512×512×N |
| RibFrac{n}-label.nii.gz | NIFTI (gzip) | 实例分割掩码,体素值为 0(背景)/1-4(四类)/-1(类型未定义),同一实例内体素共享一个整数值 |
| ribfrac-train-info.csv | CSV | 训练集实例级标签表(public_id、label_id、label_code 等列) |
| ribfrac-val-info.csv | CSV | 验证集实例级标签表 |
| ribfrac-{train,val}-pred.csv(自备) | CSV | 提交/预测格式:public_id、label_id、confidence、label_code 四列 |
§3.4 存储大小
压缩下载数据总量约 80 GB(训练/验证/测试分包合计,第三方报道);解压为未压缩 .nii 后,仅训练+验证集就占用约 277 GB 磁盘,官方解压脚本耗时约 1.5-2 小时(官方评估仓库 README)。建议预留至少 350 GB 磁盘空间(压缩包 + 解压体数据 + 衍生特征缓存),并优先在网络稳定环境下载。
磁盘预算可按"三倍法则"快速估算:压缩包(80 GB)+ 解压体数据(约 277 GB)+ 预处理产物(重采样/patch 缓存,约为解压量的 30%-50%)≈ 460-500 GB 峰值占用;若磁盘紧张,可在预处理完成后删除未压缩中间体,只保留 patch 库与压缩原始包(约 200 GB 以内)。
§3.5 标注方式
标注为人工体素级实例分割 + 人工四类分型的组合。每个骨折实例先由放射科医生勾勒体素级掩码(实例分割式,掩码内体素共享一个整型实例编号与类别码),再赋予四类形态标签;类型无法界定的实例保留 -1 码。整体流程采用 human-in-the-loop 设计以提升标注完备性(挑战总结论文)。与弱监督或边界框标注相比,这一粒度可以直接支持实例分割训练,但也带来掩码噪声的代价(见 §3.6 与坑点 2)。
这一标注组合的另一个实际后果是"一份数据、两种用法":检测/分割训练使用掩码文件(体素监督),分类训练使用 CSV 标签表(实例监督),两者通过 public_id + label_id 关联。工程上建议在数据加载层就显式区分这两种监督路径,避免把 CSV 的 label_code 直接当体素级标签灌进分割损失。
§3.6 标注者资质与一致性
标注团队为 5 名具有不同胸部 CT 阅片年资的放射科医生(挑战总结论文);临床团队核心成员来自复旦大学附属华东医院(团队构成)。官方未公开逐实例的标注者间一致性统计(如 Dice 或 kappa),这一点在使用时应作为不确定性来源对待:官方在任务页明确承认"由于骨折区域的模糊性,实例掩码趋于噪声(the instance masks tend to be noisy)",并将分割预测的角色限定为检测命中判定(IoU>0.2)而非精确分割评估。
§3.7 采集周期
官方未公开逐例采集时间与采集窗口。可核实的时间线属于"发布时间线"而非"采集时间线":数据于 2020-06-15(训练/验证)与 2020-08-24(测试)分两批发布(官网)。引用本数据集时,temporalCoverage 类字段应谨慎处理,避免将发布时间误写为采集时间。
§3.8 地域覆盖
数据集由上海交通大学与复旦大学附属华东医院联合组织,临床团队来自华东医院(中国上海)(团队构成、媒体报道)。官方页面未公布参与采集医院的完整清单,故引用时应以"单中心主导、组织方位于中国上海"表述,不宜推断多中心构成。
§3.9 设备规格
官方未公布 CT 设备厂商与型号分布。可从数据本体核实的设备相关信息是重建参数:面内体素间距 0.56-0.98 mm、层厚 0.63-1.5 mm,均记录在 NIFTI 头文件中(第三方统计)。跨设备重建参数差异是真实存在的预处理变量(见坑点 3),但"设备→性能"的关联分析因缺乏设备元数据而无法在本数据集内完成。
§3.10 深度溯源链
| 层级 | 资源 | 链接 |
|---|---|---|
| 数据主源 | Grand Challenge 官方任务与数据页 | https://ribfrac.grand-challenge.org/dataset/ |
| 评估代码 | 官方 GitHub(Apache-2.0) | https://github.com/M3DV/RibFrac-Challenge |
| 方法论文 | 挑战总结论文(arXiv → IEEE TMI 2025) | https://arxiv.org/abs/2402.09372 |
| 临床基线论文 | FracNet(eBioMedicine 2020) | 官方引用页 |
| 扩展标注 | RibSeg(Zenodo,CC BY-NC) | https://doi.org/10.5281/zenodo.5336592 |
| 第三方档案 | OpenMedLab 医疗数据集档案(统计口径来源) | https://github.com/openmedlab/Awesome-Medical-Dataset/blob/main/resources/RibFrac.md |
溯源链的使用纪律:涉及规模、划分、协议的数字一律以官方三源(官网、GitHub、arXiv/TMI 论文)为准;第三方档案(openmedlab)与媒体报道(脉脉)只作为统计口径与背景信息的补充来源,正文引用处均已注明"第三方统计/报道"字样,便于读者区分证据强度。
§4 数据结构
§4.0 目录树
数据解压后的目录结构如下(以官方发布组织为准):
ribfrac/
├── ribfrac-train-images/ # 训练集 CT(420 例,全部含骨折)
│ ├── RibFrac1-image.nii.gz
│ ├── RibFrac2-image.nii.gz
│ └── ...
├── ribfrac-train-labels/ # 训练集实例掩码
│ ├── RibFrac1-label.nii.gz
│ ├── RibFrac2-label.nii.gz
│ └── ...
├── ribfrac-train-info.csv # 训练集实例级标签表
├── ribfrac-val-images/ # 验证集 CT(80 例,含 20 例阴性)
│ ├── RibFrac421-image.nii.gz
│ ├── RibFrac422-image.nii.gz
│ └── ...
├── ribfrac-val-labels/ # 验证集实例掩码(阴性例无标注文件)
│ ├── RibFrac421-label.nii.gz
│ └── ...
├── ribfrac-val-info.csv # 验证集实例级标签表
└── ribfrac-test-images/ # 测试集 CT(160 例,无公开标注)
└── ...
命名规律:病例编号 RibFrac1 至 RibFrac660 连续编排,1-420 为训练、421-500 为验证、501-660 为测试;影像与标注通过同一病例号对齐(官方仓库)。
§4.1 DAIMS 字段字典
| 字段/文件 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| public_id | 文本 | 病例唯一编号(文件名主干) | RibFrac421 | 病例级主键 | 无 | — | RibFrac1-660 |
| label_id | 整数 | 实例编号(掩码内连通域编号) | 3 | 实例级主键成分 | 无 | — | 0=背景,1…n=实例 |
| label_code | 整数 | 骨折形态类别码 | 3 | 分类标签 | 类别界定有主观性 | -1=骨折但类型无法界定 | |
| *-image.nii.gz | 3D 体数据 | CT 影像(值域 HU) | 512×512×357 | 模型输入 | 重建参数跨例不一 | — | HU 值域 |
| *-label.nii.gz | 3D 掩码 | 体素级实例分割标注 | 与影像同 grid | 分割/检测监督 | 官方承认掩码噪声 | 0=背景、-1=未分型实例 | |
| spacing(头文件) | 浮点三元组 | 体素物理间距(mm) | (0.74, 0.74, 1.25) | 重采样依据 | 跨例不一致 | — | 面内 0.56-0.98、z 0.63-1.5 |
| confidence(预测 CSV) | 浮点 | 检出置信度 | 0.87 | FROC 排序 | 仅预测侧 | — | [0,1] |
§4.2 标签分布
公开 4,422 个标注实例的分布见 §3.2 表。三个值得工程侧记住的结构性事实:第一,-1(类型未定义)以 2,575 个实例占 58.2%,是任何分类模型的头号干扰源;第二,四个"真类"之间也不平衡(buckle 687 与 segmental 209 相差约 3.3 倍);第三,431 例患者至少含一个 -1 实例,说明"未分型"不是长尾现象而是标注协议的常规组成部分(第三方统计)。
从建模视角再推一步:若按"可分型实例"口径重新归一,四类的相对构成为 buckle 687/1,847 ≈ 37.2%、nondisplaced 630/1,847 ≈ 34.1%、displaced 321/1,847 ≈ 17.4%、segmental 209/1,847 ≈ 11.3%——即便剔除 -1,头尾两类仍有约 3.3 倍差距,且 segmental 的 76 名患者意味着该类别的病例级多样性有限,交叉验证时需保证每折都含 segmental 病例。这组比例(由官方类别定义与第三方统计推算)应作为类别加权与采样策略的直接输入。
§4.3 关键统计
- 2D 切片总数:180,547 层(500 例公开数据合计,第三方统计)。
- 平均骨折密度:约 5,000/660 ≈ 7.6 处/例(由官方总数与例数推得);训练集 420 例全部含骨折,单例骨折数上限未公开。
- 体尺寸:512×512×N,N 中位 357、范围 74-721(见 §3.1)。
- 类别患者覆盖:431/500 例至少含一个未分型实例(§4.2)。
§4.4 数据层级
RibFrac 的层级为四层:数据集 → 病例(public_id,660 例)→ 骨折实例(label_id,每例 1…n 个)→ 体素(掩码内共享实例编号)。CSV 标签表工作在"病例×实例"粒度,掩码文件工作在"体素"粒度,两者通过 public_id + label_id 对齐。理解这一层级对避免泄漏至关重要:按病例切分训练/验证是官方纪律,任何按实例或体素打乱的切分都会让同一病例的骨折出现在训练与验证两侧。
该层级还决定了一组实用的统计口径:病例级指标(该例是否有骨折)适合筛查场景评估;实例级指标(FROC、Macro-F1)是官方口径,适合算法对比;体素级指标(Dice)官方不用于排名,仅可用于自研分割模块的内部监控。三种口径不可混用,报告时必须注明。
§4.5 缺失值与信息性缺失编码
| 情形 | 编码/表现 | 正确处理 |
|---|---|---|
| 骨折但类型无法界定 | label_code=-1(掩码内为 -1 体素,CSV 中对应行 label_code=-1) | 分类任务进入 Ignore 列;分割任务可并入二值"骨折"类 |
| 阴性病例(无骨折) | 验证集 20 例无标注文件、info 表无实例行 | 评估时视为"全部检出均为假阳性"的贡献病例 |
| 背景 | label_code=0 / label_id=0 | 提交文件中每例必须包含背景行(label_id=0、label_code=0) |
-1 是本数据集最重要的信息性缺失编码:它不是标注错误,而是"骨折存在但形态学类型不可判"的显式声明。官方评估协议通过混淆矩阵的 Ignore 列把 -1 实例排除出分类得分,同时保留其在检测指标中的作用——研究者若自行设计分类协议,必须显式声明对 -1 的处理方式,否则结果不可解释。
与常规表格数据集的"空值"不同,这里的缺失编码是语义载荷:一个 -1 实例同时携带"确有骨折"(对检测任务是有价值正样本)与"形态未知"(对分类任务是待处理歧义)两层信息。把它当成 NaN 删除,等于同时扔掉一份检测监督和一份真实的临床分布信息。
§5 划分与使用建议
§5.1 官方划分
官方三分法:420 例训练(全部阳性)、80 例验证(60 阳 + 20 阴)、160 例测试(无公开标签,仅在线评测)(官方任务页)。官方评测以测试集在线 FROC/Macro-F1 为准,验证集用于参赛者离线自评。
这一划分的两个隐含设定需要被显式理解:训练集不含阴性病例意味着模型必须在训练中自行"见到"正常解剖(靠 patch 采样覆盖),而验证集的 25% 阴性比例是官方刻意为之的设计,用于让参赛者在提交前体验假阳性流的代价——两段数据的构成差异本身就是协议的一部分。
§5.2 社区惯例
离线研究的主流做法是"官方 420 训练 + 80 验证"两段式:在 420 上训练、80 上报告 FROC 与分类指标;论文中需注明指标在验证集(而非测试集)上计算。由于 160 例测试无标签,社区不存在"私人测试集"替代方案;部分工作将 420 例再做 k 折交叉以获得更稳的估计(见 §5.4)。
两点补充惯例:其一,验证集的 20 例阴性在计算分类指标时不产生"真类样本",但在 FROC 中贡献全部假阳性分母,报告时应说明评估集的阳性/阴性构成;其二,部分发表工作把 500 例公开数据重新自分为 450/50(如 CPR 相关研究采用前 450 训练、后 50 验证的做法),这类自定义划分与官方口径不可直接比较,引用时需核对划分声明。
§5.3 泄漏风险(重点)
RibFrac 的泄漏风险来自三个具体场景。其一,病例级泄漏:同一患者的多实例/多层信息高度相关,任何非病例级切分(按实例、按切片随机切)都会造成训练-验证信息互通;必须以 public_id 为切分单元。其二,在线榜单泄漏:每日最多 2 次提交的限制是官方对榜单过拟合的缓解手段(官网规则),研究阶段若把验证集指标当作"测试集指标"反复调参再上榜单,会出现系统性乐观偏差。其三,扩展数据交叉泄漏:RibSeg 的 320/50/120 划分刻意与 RibFrac 的训练/开发/测试对齐(RibSeg 论文),混用两者时必须沿用对齐划分,否则同一病例会以"骨折训练样本"与"肋骨验证样本"的双重身份出现。
§5.4 交叉验证建议
对 420 例训练集做 5 折病例级交叉验证,可用于超参选择与消融实验;折间保持"每折都含多实例病例"的分布(建议按每例实例数分层)。交叉验证结果用于内部决策,最终报告仍以官方验证集 80 例或在线测试为准。
交叉验证的实现提醒:RibFrac 的每例实例数跨度大(1 到数十处),简单均匀分折会出现某折 segmental 样本极少的情况;按"每例最高级别骨折形态 + 实例数分位数"做双层分层抽样,能把每折的类别构成都压到接近整体分布。折级随机种子要写入配置文件,保证消融实验之间可比。
§5.5 外部验证建议
在 RibFrac 上训练的模型,泛化性验证应优先选择:不同设备/协议的外院创伤 CT(内部重建参数差异已知存在,见 §3.9);X 线平片(跨模态,社区已有先例,见 §8.5);连续时段采集的前瞻性数据(检验数据漂移,见 §7.6)。官方在线评测(测试集)虽非外部数据,但盲测性质使其成为发表前内部验证的合格终点。
设计外部验证集时的最低配置建议:至少覆盖 2 家外部机构、包含明确的阴性队列(用于假阳性率评估)、记录设备型号与重建参数(弥补本数据集的设备元数据缺口),并预注册亚组分析口径,避免"事后挑亚组"式的乐观偏差。
§6 AI 就绪指南
§6.0 获取前准备
RibFrac 无官方云端一键镜像,获取需在 Grand Challenge 平台完成:访问 ribfrac.grand-challenge.org → 注册账号 → 点击 Join → 进入 Dataset 页 下载四分包(Training Part I/II、Validation、Testing)。注册免费,审核为自动放行(官方描述为 1-click registration,RibSeg 论文)。
注册与下载的两点实操提示:其一,Join 后数据页链接才会解锁,直接访问 Dataset 子页可能看到受限页面,属正常流程;其二,四分包建议按"Training Part I → Validation → Training Part II → Testing"的顺序下载——先拿到一个完整可训练的子集(Part I + Validation 即可跑通训练与离线评估),避免在最大分包上等待过久。
§6.1 快速上手
以下代码演示最小可用流程:读取一例 CT 与其掩码、核对 grid 对齐、统计实例。目录结构预期与 §4.0 目录树一致;data_root 拼接关系为 data_root / "ribfrac-train-images" / "RibFrac{n}-image.nii.gz";最小可用子集为训练集任意 50 例(即可跑通从读取到统计的全流程,无需下载测试集)。
import nibabel as nib
import numpy as np
import pandas as pd
from pathlib import Path
data_root = Path("data/ribfrac") # ← 解压后的根目录,与 §4.0 目录树一致
# 读取第 1 例(训练集)
img = nib.load(data_root / "ribfrac-train-images" / "RibFrac1-image.nii.gz")
lbl = nib.load(data_root / "ribfrac-train-labels" / "RibFrac1-label.nii.gz")
vol, mask = img.get_fdata(), np.rint(lbl.get_fdata()).astype(int)
assert vol.shape == mask.shape, "image/label grid 未对齐"
print("体尺寸:", vol.shape, "| spacing:", img.header.get_zooms())
# 实例统计:掩码中出现的实例编号(含 -1 与 1..n)
ids, counts = np.unique(mask[mask != 0], return_counts=True)
print("实例分布:", dict(zip(ids.tolist(), counts.tolist())))
# 与 CSV 标签表对齐核对
info = pd.read_csv(data_root / "ribfrac-train-info.csv")
case_rows = info[info["public_id"] == "RibFrac1"]
print(case_rows) # label_id 应与掩码内实例编号一一对应
一分钟的目检脚本(确认数据读取与标注空间位置正确):
import matplotlib.pyplot as plt
# 取含骨折体素的"中心切片"做叠加可视化
zs = np.argwhere(mask != 0)[:, 2]
z = int(np.median(zs)) if len(zs) else vol.shape[2] // 2
plt.figure(figsize=(10, 10))
plt.imshow(vol[:, :, z], cmap="gray", vmin=-200, vmax=1000) # 软组织-骨混合窗
overlay = np.ma.masked_where(mask[:, :, z] == 0, mask[:, :, z])
plt.imshow(overlay, cmap="jet", alpha=0.35)
plt.title(f"RibFrac1 @ slice {z}")
plt.axis("off")
plt.show()
§6.2 数据获取
| 步骤 | 操作 | 要点 |
|---|---|---|
| 1 | 注册 Grand Challenge 账号并 Join 挑战 | 免费、自动放行 |
| 2 | 进入 Dataset 页下载四分包 | 总量约 80 GB,建议稳定网络分批下载 |
| 3 | 解压至统一 data_root | 解压后训练+验证约 277 GB;预留 ≥350 GB 磁盘 |
| 4 | 校验文件数 | 训练影像/标注各 420、验证影像 80 |
| 5 | (可选)下载 RibSeg 扩展 | Zenodo,需与 RibFrac CT 配套使用 |
解压可复用官方脚本(耗时 1.5-2 小时):
git clone https://github.com/M3DV/RibFrac-Challenge.git
cd RibFrac-Challenge
conda create -n ribfrac python=3.7 && conda activate ribfrac
pip install -r requirements.txt
python -m ribfrac.decompression --data_dir /abs/path/to/data/ribfrac
解压后的完整性校验(防止半截文件流入训练):
from pathlib import Path
root = Path("data/ribfrac")
n_train_img = len(list((root / "ribfrac-train-images").glob("*-image.nii.gz")))
n_train_lbl = len(list((root / "ribfrac-train-labels").glob("*-label.nii.gz")))
n_val_img = len(list((root / "ribfrac-val-images").glob("*-image.nii.gz")))
assert n_train_img == 420, f"训练影像 {n_train_img}/420"
assert n_train_lbl == 420, f"训练标注 {n_train_lbl}/420"
assert n_val_img == 80, f"验证影像 {n_val_img}/80"
print("文件数量校验通过")
§6.3 预处理全流程
推荐流水线:重采样 → HU 窗 → 二值肋骨体素化 → patch 化。四步全部可运行:
import numpy as np
from scipy import ndimage
def resample_to_1mm(vol, spacing, target=(1.0, 1.0, 1.0)):
"""spacing 为 (x, y, z) mm;统一到 1mm 各向同性(官方复现常用做法)"""
factors = [s / t for s, t in zip(spacing, target)]
new_shape = np.rint(np.array(vol.shape) * factors).astype(int)
return ndimage.zoom(vol, factors, order=3), new_shape
def bone_mask(vol):
"""RibSeg 同款思路:HU>200 提取骨性结构(含肋骨)"""
return vol > 200
def extract_patches(vol, mask, patch=(96, 96, 96), stride=(48, 48, 48),
pos_ratio=0.5, rng=None):
"""滑窗 patch:骨折体素占比极小,需保证正 patch 配额"""
rng = rng or np.random.default_rng(0)
pos = np.argwhere(mask != 0)
centers = [pos[rng.integers(len(pos))] for _ in range(int(len(pos) * pos_ratio))]
neg_n = int(len(pos) * (1 - pos_ratio))
shape = np.array(vol.shape)
while len(centers) < len(pos) * pos_ratio + neg_n:
c = rng.integers(patch // 2, shape - patch // 2)
if mask[tuple(c)] == 0:
centers.append(c)
for c in centers:
c = np.clip(c, patch // 2, shape - patch // 2)
sl = tuple(slice(int(i - p // 2), int(i + p // 2)) for i, p in zip(c, patch))
yield vol[sl], mask[sl]
增强策略见 §6.6;标准化建议按 patch 内 HU 窗(如骨窗 300-1500 HU)截断后归一化,避免肺实质低密度区拉伸动态范围。
流水线最后一环是从分割掩码生成官方提交文件(.nii 实例编号体 + 四列 CSV,格式要求见坑点 6):
import numpy as np
import nibabel as nib
import pandas as pd
from scipy import ndimage
from pathlib import Path
def mask_to_submission(pred_mask, conf_map, public_id, out_dir,
label_code_fn=None):
"""把二值骨折预测掩码转成官方提交格式。
pred_mask: 二值掩码 (H, W, D);conf_map: 同尺寸检测置信度图。
产出:<out_dir>/<public_id>.nii.gz(体素值 1..n 为实例编号)
<out_dir>/ribfrac-val-pred.csv(public_id, label_id, confidence, label_code)
官方硬性要求:每例必须包含背景行(label_id=0 且 label_code=0)。
"""
labels, n = ndimage.label(pred_mask) # 3D 连通域 → 实例编号 1..n
affine = np.eye(4) # 推理时请沿用原图 affine,保证 grid 对齐
nib.save(nib.Nifti1Image(labels.astype(np.int16), affine),
Path(out_dir) / f"{public_id}.nii.gz")
rows = [{"public_id": public_id, "label_id": 0,
"confidence": 0.5, "label_code": 0}] # 背景行(必需)
for i in range(1, n + 1):
vox_conf = float(conf_map[labels == i].mean())
code = label_code_fn(i) if label_code_fn else 0 # 有分类头时填 1-4
rows.append({"public_id": public_id, "label_id": i,
"confidence": vox_conf, "label_code": code})
pd.DataFrame(rows).to_csv(Path(out_dir) / "ribfrac-val-pred.csv",
mode="a", index=False)
无分类头时 label_code 填 0 是合规起点(预测会被计入混淆矩阵的对应列),接入分型模型后替换为 1-4 预测值即可。
§6.4 PyTorch DataLoader
<details>
<summary>完整可运行 Dataset 类(点击展开)</summary>
import torch
from torch.utils.data import Dataset, DataLoader
import nibabel as nib
import numpy as np
import pandas as pd
from pathlib import Path
class RibFracDataset(Dataset):
"""骨折实例分割数据集:输出 patch 级 image/mask 对。
目录预期:data_root/ribfrac-train-images 与 ribfrac-train-labels。
data_root 与解压根目录一致;CSV 与掩码通过 public_id+label_id 对齐。
"""
def __init__(self, data_root, split="train", patch=(96, 96, 96),
patches_per_case=8, seed=0):
self.root = Path(data_root)
self.img_dir = self.root / f"ribfrac-{split}-images"
self.lbl_dir = self.root / f"ribfrac-{split}-labels"
self.info = pd.read_csv(self.root / f"ribfrac-{split}-info.csv")
self.cases = sorted({p.name.split("-")[0] for p in self.img_dir.glob("*-image.nii.gz")})
self.patch, self.k, self.rng = patch, patches_per_case, np.random.default_rng(seed)
def __len__(self):
return len(self.cases) * self.k
def __getitem__(self, idx):
case = self.cases[idx // self.k]
vol = nib.load(self.img_dir / f"{case}-image.nii.gz").get_fdata()
lbl_p = self.lbl_dir / f"{case}-label.nii.gz"
mask = np.rint(nib.load(lbl_p).get_fdata()).astype(int) if lbl_p.exists() else np.zeros_like(vol, dtype=int)
frac = (mask != 0).astype(np.uint8) # 全类并成二值;多类任务请保留原值并忽略 -1
p = self.patch
pos = np.argwhere(frac == 1)
c = pos[self.rng.integers(len(pos))] if (len(pos) and idx % 2 == 0) \
else self.rng.integers(np.array(p) // 2, np.array(vol.shape) - np.array(p) // 2)
c = np.clip(c, np.array(p) // 2, np.array(vol.shape) - np.array(p) // 2)
sl = tuple(slice(int(i - d // 2), int(i + d // 2)) for i, d in zip(c, p))
x = np.clip(vol[sl], 300, 1500)
x = ((x - 300) / 1200).astype(np.float32)
y = frac[sl]
return torch.from_numpy(x[None]), torch.from_numpy(y[None].astype(np.float32))
loader = DataLoader(RibFracDataset("data/ribfrac", split="train"),
batch_size=4, num_workers=4, pin_memory=True)
</details>
要点:本示例输出二值骨折掩码(官方评估对分割掩码只看重叠,二值化是社区复现验证过的稳妥起点);多类任务请把 frac 改为保留原 label 值并在损失中忽略 -1。
改造为多类/实例任务的三处最小改动:其一,__getitem__ 中保留 mask 原值,损失函数对 -1 体素置 ignore_index;其二,采样逻辑从"骨折体素中心"改为"实例中心"(以 np.unique(mask[mask > 0]) 的实例编号为锚),保证每个实例都有被采到的机会;其三,patches_per_case 与实例数挂钩(如 max(4, n_instances)),避免多实例病例被欠采样。若需实例级边界感知,可在掩码上先做实例间分界腐蚀再计算损失。
§6.5 坑点
⚠️ 坑点 1:-1 未定义标签占公开实例 58%,直接训练分类器会被"第五类"污染(分类:标签理解)
问题:公开 4,422 个实例中 2,575 个 label_code=-1(骨折但类型无法界定)。若把 -1 当普通类别训练,分类器会学出一个庞大的"模糊类",压缩四类的判别空间;若直接删除,会同时丢掉大量难例与阳性样本,检测预训练的收益也归零。
症状:分类 Macro-F1 异常偏高(Ignore 列被当正确类)或异常偏低(-1 实例被强行四选一);混淆矩阵中出现大片 -1 行错误。
解决:
- 简单方法:训练二值分割(骨折 vs 背景,-1 并入骨折),分类头只用 label_code∈{1,2,3,4} 的实例训练,推理后对 -1 实例输出"未分型"。nnU-Net + DenseNet 复现即采用"1-4 与 -1 全并"的二值化策略。
- 进阶方法:遵循官方 5×6 混淆矩阵协议,把 -1 显式映射到 Ignore 列;分类训练时对 -1 实例用"部分标签损失"——只要预测落在 {1,2,3,4} 之外才惩罚。
- SOTA 方法:两阶段解耦——先用全量数据(含 -1)训练检测器,再用可分型子集微调分类头,并以不确定性估计对低置信实例自动输出"未分型"。
参考:官方任务页评估协议;openmedlab 标签统计;nnU-Net 复现论文
⚠️ 坑点 2:细长目标让 IoU 剧烈波动,自造检测指标与官方数字不可比(分类:评估误用)
问题:肋骨骨折是细长三维目标,预测掩码与真值掩码的 IoU 对边界极敏感;官方因此把命中判据放宽为 IoU>0.2,并声明实例掩码本身有噪声、只用于计算重叠。若研究者自行采用 IoU>0.5 或中心点判据,结果与官方 FROC 完全不可比。
症状:自评 FROC 明显低于榜单同水平方法;或换一个 IoU 阈值后结论反转。
解决:
- 简单方法:直接调用官方评估代码
python -m ribfrac.evaluation --gt_dir ... --pred_dir ...,报告 FP=0.5/1/2/4/8 五点敏感度均值。- 进阶方法:离线评估前先核对提交格式(见坑点 6),再固定"IoU>0.2 + 置信度排序 + 五点均值"三要素;跨论文比较时注明数据口径差异(官方测试集比 FracNet 原论文多 40 例)。
- SOTA 方法:同时报告官方 FROC 均值与最高敏感度两列(TMI 2025 论文口径),并对掩码噪声做敏感性分析(如轻微腐蚀/膨胀真值掩码后观察指标波动)。
参考:官方任务页;TMI 2025 挑战论文
⚠️ 坑点 3:spacing 各向异性且跨例不一,直接等尺寸重采样会扭曲 z 向(分类:预处理陷阱)
问题:面内分辨率 0.56-0.98 mm、层厚 0.63-1.5 mm 且逐例不同。若按"统一输出尺寸"而非"统一物理分辨率"重采样,同一模型面对的体素物理含义逐例漂移;若按层序直接堆叠 2D 切片训练,z 向几何被系统性压缩。
症状:验证集上指标不稳定、对层厚敏感;可视化发现骨折沿 z 向被拉长或压扁;2D 模型在厚层病例上召回骤降。
解决:
- 简单方法:按 NIFTI 头文件 spacing 重采样到 1 mm 各向同性(scipy.ndimage.zoom 三次插值),掩码用最近邻插值。
- 进阶方法:3D 网络输入各向同性 patch(如 96³),滑窗推理时按物理坐标拼接;对厚层病例(1.5 mm)保留更多 z 向上下文。
- SOTA 方法:anisotropic backbone(面内大步幅 + z 向小步幅)或直接采用在大规模数据上预训练的主干(TMI 2025 显示 STUNet 预训练权重带来稳定增益)。
参考:官方评估仓库;nnU-Net 复现;openmedlab spacing 统计
⚠️ 坑点 4:80 GB 下载、277 GB 解压、1.5-2 小时转换,磁盘与内存规划不当会中途爆盘(分类:工程陷阱)
问题:官方解压脚本把 .nii.gz 流式解压为未压缩 .nii(train+val 即 277 GB),加原始压缩包与缓存,实际需求远超多数工作站配置;解压中途磁盘写满会产生半截文件且不易察觉。
症状:解压脚本尾部随机崩溃;加载个别病例时 nibabel 报 gzip 错误;df -h 显示根分区意外写满。
解决:
- 简单方法:预留 ≥350 GB 独立磁盘分区;解压后逐文件校验 NIfTI 头可读、体尺寸非零。
- 进阶方法:放弃全量解压——用 nibabel 直接流式读取 .nii.gz(读延迟增加但磁盘省 60% 以上),或解压时即转存分块数组格式。
- SOTA 方法:把重采样+窗宽窗位预计算成固定 patch 库(一次性成本),训练时仅做内存映射读取;多机训练用共享只读缓存。
参考:官方仓库解压说明
⚠️ 坑点 5:正样本极度稀疏 + 验证集 25% 全阴性,朴素滑窗训练的假阳性会淹没 FROC 低 FP 端(分类:预处理陷阱)
问题:骨折体素在 512×512×357 体数据中占比极小(细长且稀疏),均匀滑窗得到的 patch 绝大多数为纯阴性;同时验证集含 20 例(25%)无骨折阴性 CT,任何全图滑窗推理都会在这些病例上产生纯假阳性流,直接冲击 FP=0.5/1 处的敏感度读数。
症状:训练 loss 长期被阴性 patch 主导;验证 FROC 在 FP=8 处尚可、在 FP=0.5 处近乎为零;阴性病例贡献了大量低置信假阳性。
解决:
- 简单方法:patch 采样按正负配额(如 5:5 或 3:7)+ 以骨折实例为中心优先采样;推理时用置信度阈值预筛。
- 进阶方法:两阶段级联——先肋骨分割/骨体素化(HU>200)把候选区域压缩到骨性结构,再在骨内做骨折检测(RibSeg 路线,TMI 2025 证实能显著降 FP)。
- SOTA 方法:阴性病例单独构成"FP 校准集",训练时引入 hard-negative mining,推理后用全局置信度校准(per-case 归一化)再算 FROC。
参考:官方任务页(数据构成);RibSeg 论文;TMI 2025 挑战论文
⚠️ 坑点 6:提交格式铁律多且官方评估代码修过 bug,用错版本或漏背景行会"0 分且无提示"(分类:工程陷阱)
问题:官方评估对提交有严格要求——每例 .nii.gz 掩码含 n 个实例(1…n 编号)、轴序 (x, y, z)、CSV 四列(public_id, label_id, confidence, label_code)、且每例必须有一行背景记录(label_id=0 且 label_code=0)。此外官方在 2020-08-24 修复过 recall 计算的除零错误、09-01 又公告更新评估代码,旧版本离线指标与线上不一致。
症状:提交通过完整性检查但得分异常;离线复算与线上榜单差距无法解释;出现除零 NaN。
解决:
- 简单方法:克隆官方仓库最新 master,提交前用
python -m ribfrac.evaluation对验证集自测;背景行写入模板化。- 进阶方法:写提交前校验器(实例编号连续、轴序断言、CSV 与 nii 实例数一致),纳入 CI。
- SOTA 方法:锁定评估代码 commit 哈希并在论文中报告,保证可复现性。
参考:官方评估仓库 README;官网 09-01 更新公告
⚠️ 坑点 7:单中心创伤队列 + 类别失衡(687:209:2575),“检测很强"的结论不能外推到"分型可用”(分类:偏倚陷阱)
问题:数据由华东医院主导组织的创伤 CT 构成,四类形态严重失衡且过半实例未分型;TMI 2025 论文的总结性结论是"顶级检测方案达到甚至超过人类专家,而分类方案尚难临床应用"。若以检测指标包装整体能力,会造成临床落地预期错位。
症状:论文或产品以"FROC 超专家"宣传,试用中发现分型频繁错误;在女性、老年或非创伤人群扫描上性能下滑(人群构成偏倚)。
解决:
- 简单方法:报告指标时分列"检测"与"分型"两轨,明示数据来源与人群构成。
- 进阶方法:对类别做重加权或 focal loss,并按"每类患者数"(而非实例数)报告召回;对未分型实例单独输出置信度。
- SOTA 方法:引入外部多中心数据或跨模态(X 线)联合训练检验人群稳健性;发表前做亚组分析(设备、层厚等可得技术字段)。
参考:TMI 2025 挑战论文;获奖与队伍构成
⚠️ 坑点 8:官方划分纪律与扩展数据对齐,混淆 420/80/160 与 RibSeg 划分会造成双向泄漏(分类:数据泄漏)
问题:官方 420/80/160 是病例级三分;RibSeg 的 320/50/120 刻意与 RibFrac 训练/开发/测试对齐。若把验证集 80 例并入训练、或用 RibSeg 中心线特征时打乱其划分,同一病例会同时出现在训练与评估两侧;160 例测试集反复通过在线榜调参也会造成榜单级过拟合。
症状:验证/测试指标系统性高于任何公开复现;换一版数据划分后性能骤降;在线提交次数与榜单涨幅强相关。
解决:
- 简单方法:以 public_id 为唯一切分单元;混用 RibSeg 时沿用其 320/50/120 对齐划分。
- 进阶方法:把 80 例验证集再分出"内验证/内测试"两段,调参与报告分离;上榜单前冻结全部超参。
- SOTA 方法:在 420 例上做 5 折交叉获得稳健超参,仅用一次在线提交验证最终配置;论文同时报告离线与在线两套口径。
参考:RibSeg 论文划分说明;官网挑战规则
§6.6 数据增强
| 策略 | 判定 | 说明 |
|---|---|---|
| 随机水平翻转(左右镜像) | ✅ 安全 | 胸腔左右大体对称;注意骨折左右计数在法医场景需还原方向 |
| 随机 90° 旋转(轴内) | ✅ 安全 | 保持 z 轴不变的面内旋转 |
| 窗宽窗位抖动(骨窗内) | ✅ 安全 | 模拟重建差异,增益稳定 |
| 小幅弹性形变 | ⚠️ 谨慎 | 幅度极小可用;过大可能伪造或消除骨折线 |
| 沿 z 轴大幅缩放 | ❌ 危险 | 直接改变层厚语义,破坏 §3.9 已知的各向异性结构 |
| 随机擦除或剪切块 | ❌ 危险 | 可能擦掉唯一骨折实例,制造标签噪声 |
| HU 值整体平移 | ❌ 危险 | 破坏 HU 阈值(骨分割、窗位)的物理含义 |
增强的总体原则是"不制造临床上不存在的骨折、不消灭真实存在的骨折"。翻转与旋转改变的是观察视角,骨折本身不变;而形变类增强直接作用于"骨折线"这一目标结构本身,是本数据集区别于器官分割任务的特殊风险点——器官形变后仍是该器官,骨折形变后可能变成一条不存在的裂纹。如需形变增强,建议只在阴性 patch 上使用。
§6.7 模型推荐
| 模型 | 任务 | 一句话定位 | 参考性能 | 代码 |
|---|---|---|---|---|
| FracNet | 检测+分割 | 官方临床基线,三阶段(预处理/滑窗/后处理) | FROC 均值 80.16 | 官方引用页 |
| nnU-Net + DenseNet | 分割+分类 | 社区复现友好,二值分割起点稳 | 复现研究验证可行 | 复现论文 |
| RetinaNet + deformable conv | 检测 | MICCAI 2020 检测冠军路线 | FROC 85.02(官方榜) | 无公开仓库 |
| FracNet+(STUNet+RibSeg 融合) | 检测 | 2025 年内部最强:点云肋骨+预训练主干 | FROC 均值 84.29 | TMI 2025 论文 |
| PointNet++(RibSeg) | 肋骨分割 | 点云范式,10-40× 效率优势 | Dice ≈ 95% | M3DV/RibSeg |
选型时的两条路径判断:若目标是快速产出可与文献对话的检测基线,FracNet/nnU-Net 路线的复现成本最低(约数天级),且评估链路现成;若目标是冲击检测上限,应接受"先解决肋骨分割、再解决骨折检测"的两步走(RibSeg 路线),其复现成本显著更高但消融轨迹(80.16 → 83.27 → 84.29)证明了每一步的边际收益。无论哪条路径,都建议以官方评估代码为唯一评分器,避免自评口径漂移。
§6.8 硬件需求
| 阶段 | 最低配置 | 推荐配置 | 说明 |
|---|---|---|---|
| 数据解压/校验 | 350 GB 磁盘、16 GB 内存 | 1 TB NVMe、64 GB 内存 | 解压耗时 1.5-2 小时 |
| 2D/轻量 3D 训练 | 1× 11 GB 显存 GPU | 1× 24 GB 显存 GPU | patch 训练为主 |
| 3D 全量训练 | 2× 24 GB 显存 GPU | 4× 40 GB 显存 GPU | 滑窗训练+大批量 |
| 全图推理 | 1× 16 GB 显存 GPU | 1× 24 GB 显存 GPU | 512×512×357 逐例滑窗 |
显存的上限因素不是网络规模而是滑动窗口的批处理与重叠拼接缓存;若在推理阶段遇到 OOM,优先降 patch 批量而非 patch 尺寸,以保持感受野一致。
§6.9 评估指标代码
官方评估一键复用:
# 官方评估(ground truth 与 prediction 目录组织见仓库 README)
python -m ribfrac.evaluation --gt_dir /path/to/gt --pred_dir /path/to/pred
自写 FROC 核心逻辑(与官方口径对齐:IoU>0.2 命中):
def iou_3d(a, b):
inter = np.logical_and(a, b).sum()
union = np.logical_or(a, b).sum()
return inter / union if union else 0.0
def is_hit(pred_mask, gt_masks, thr=0.2):
return any(iou_3d(pred_mask, g) > thr for g in gt_masks)
# FROC:按置信度降序累加检出,在 FP/scan = 0.5, 1, 2, 4, 8 五个点取敏感度均值
分类侧遵循官方 5×6 混淆矩阵(行:BK/DP/ND/SG/FN;列:BK/DP/ND/SG/FP/Ignore),Macro-F1 只对四个真类求均值,-1 实例进入 Ignore 列不扣分。离线近似实现:
from sklearn.metrics import f1_score
import numpy as np
def macro_f1_official(y_true, y_pred, valid=(1, 2, 3, 4)):
"""官方口径的离线近似:
- y_true 中 -1(未分型实例)进入 Ignore,评估时剔除;
- 未被检出的骨折实例应先以 FN 身份补入 y_pred(对应混淆矩阵 FN 行);
- 仅对四个可分型真类求宏平均。
"""
y_true, y_pred = np.asarray(y_true), np.asarray(y_pred)
keep = np.isin(y_true, valid)
return f1_score(y_true[keep], y_pred[keep],
labels=list(valid), average="macro", zero_division=0)
两个口径提示:其一,此函数是"分类阶段"的近似,完整官方协议还包含"检测漏检 → FN 行"与"检测假阳性 → FP 列"的端到端统计,精确复算请以官方 evaluation.py 为准;其二,zero_division=0 的设置意味着某一类完全未召回时该类 F1 记 0,与竞赛评分一致,但做消融时建议同时输出逐类 F1 以便定位。
FROC 的自实现骨架(用于理解协议,正式评测仍以官方脚本为准):
def froc_curve(all_dets, all_gts, fps=(0.5, 1, 2, 4, 8), iou_thr=0.2):
"""all_dets: [(public_id, mask)] 按置信度降序排列;
all_gts: dict[public_id -> list[gt_mask]]。
返回各 FP/scan 水平下的敏感度。
"""
n_pos = sum(len(v) for v in all_gts.values())
n_scan = len(all_gts)
hits, fp_count, sens = 0, 0, {}
matched = {k: set() for k in all_gts}
for public_id, pm in all_dets:
fp_count += 1
for gi, gm in enumerate(all_gts.get(public_id, [])):
if gi not in matched[public_id] and iou_3d(pm, gm) > iou_thr:
hits += 1
matched[public_id].add(gi)
break
for fp in fps:
if fp_count / n_scan >= fp and fp not in sens:
sens[fp] = hits / n_pos
return {fp: sens.get(fp, 0.0) for fp in fps}
注意该骨架省略了官方实现中的若干细节(如同一实例的重复命中去重顺序、置信度并列排序规则),自实现与官方数字出现小数点级差异属正常现象,正式报告一律使用官方 evaluation.py 输出。
§6.10 MLOps 笔记
- 版本锚定:数据本体冻结于 2020(最后更新 2020-08-24),但评估代码有修复历史;在 CI 中锁定评估仓库 commit,并在模型卡中记录。
- 可复现性:记录 NIFTI 头文件 spacing 统计(面内/层厚分布)作为数据漂移哨兵指标——新采集数据若分布漂移,先查重建协议。
- 训练-评估防火墙:420/80/160 三分严格物理隔离(独立目录+只读权限),禁止运行时合并。
- 在线评测策略:每日 2 次提交上限是稀缺资源,建立"本地预提交门槛(验证集 FROC 不低于历史最优减 1 个百分点才提交)"制度。
- 监控指标:线上部署时按"每例检出数分布"与"类别置信度分布"监控漂移;单中心训练数据对重建协议变化敏感。
- 审计留痕:保留每次提交的预测 CSV 与指标记录,对应官方挑战规则(Top-3 需提交 4 页方案、外部数据须声明)。
- 数据契约:把 §4.1 字段字典固化为加载层的 schema 校验(public_id 格式、label_code 取值域),脏数据在入口即拦截。
- 多环境一致性:NIfTI 读取在不同 nibabel 版本间存在数值类型差异,requirements 中固定 nibabel 版本并在 CI 做一次端到端小样本回归。
- 成本核算:训练一次全量 420 例 3D 模型的算力开销(GPU 时 × 单价)应计入实验记录,用于比较"重采样缓存 vs 在线重采样"的真实成本差。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解建议 |
|---|---|---|---|
| 单中心偏倚 | 创伤 CT 队列由华东医院主导组织,设备与扫描协议同质 | 高 | 外部多中心验证后再推广 |
| 类别不平衡 | buckle 687 vs segmental 209 vs -1 2,575(公开实例) | 高 | 重加权/部分标签损失;按患者数报告召回 |
| 标签噪声 | 官方承认实例掩码因骨折界定模糊而含噪声 | 中 | 掩码只用于检测重叠;分割研究需谨慎解释 |
| 阴性样本偏少 | 仅验证集 20 例无骨折阴性,无大规模阴性队列 | 中 | 阴性场景(筛查)需自建阴性数据评估假阳性率 |
| 跨论文口径漂移 | 官方测试集比 FracNet 原论文多用 40 例,同名指标数值不同 | 中 | 比较前核对数据口径与评估代码版本 |
| 人口学盲区 | 无年龄/性别/种族字段,公平性分析缺乏数据基础 | 中 | 引用时避免人群代表性表述 |
| 标注协议偏倚 | -1 由"类型不可判"协议产生,模型若模仿会倾向输出低置信 | 中 | 检测与分型解耦评估,分型置信度单独校准 |
| 时间截面偏倚 | 数据采集于 2020 年前后,不反映此后扫描协议演进 | 中 | 部署前做 spacing/层厚分布漂移检测(见 §7.6) |
§7.2 标注质量
标注由 5 名放射科医生以 human-in-the-loop 流程完成,形态分型定义来自官方临床描述(任务页、挑战总结论文)。质量要点有三:其一,实例掩码噪声是官方书面承认的属性,源于骨折区域本身界定模糊;其二,-1 码占了公开实例的 58.2%,它承载的是"形态不可判"这一临床真实,而非标注事故;其三,标注者间一致性统计未公开,做高精度分割(而非检测)研究时,应把掩码视为"弱金标准"。整体上,该标注体系为检测任务提供了高质量监督,为精细分割任务提供了可用但需审慎处理的监督。
落到操作层,针对掩码噪声有三个低成本防御:训练时用小惩罚的边界损失(边界噪声只轻微影响梯度);评估时对 IoU 阈值做 ±0.05 的敏感性分析(结论应在扰动下保持稳定);错误分析时把"掩码边界分歧"与"真实漏检/误检"分开统计,前者不构成模型失败证据。
§7.3 泛化性
| 目标场景 | 失效风险 | 证据/机制 |
|---|---|---|
| 外院不同设备 CT | 中-高 | 重建参数逐例不一且设备元数据缺失,无法做设备分层验证 |
| 低剂量/薄层筛查 CT | 高 | 队列为创伤扫描协议,剂量与层厚分布不同 |
| X 线平片跨模态 | 高 | 模态差异大;社区已通过跨模态学习路线探索(见 §8.5) |
| 儿童人群 | 高 | 创伤成人队列为主,buckle 虽常见于儿童但人群构成未知 |
| 非创伤体检 CT | 高 | 阴性样本仅 20 例,假阳性率在筛查场景未受考验 |
§7.4 伦理
数据以脱敏形式公开:不含姓名、病历号等直接标识符,病例编号为竞赛顺序 ID;获取需在平台注册并遵守挑战赛规则,其中包括禁止对训练、验证或测试集做任何人工标注、使用公开数据须在方案中声明等条款(官网规则)。官方未公开原始伦理审批细节,使用者若开展二次标注或临床部署,应自行取得所在机构伦理批准。数据使用红线:不得将数据或基于其的模型直接用于保险拒赔、司法鉴定等高风险决策而无人工监督。
与临床部署相关的两条边界值得写进项目文档:第一,RibFrac 的竞赛规则(禁止人工标注测试集等)约束的是"挑战赛参与行为",使用者在自建数据上做标注不受其约束,但把 RibFrac 数据本身用于产品训练时应在用户协议与模型卡中披露来源;第二,官方未公开原始伦理批件范围,若项目所在机构要求"数据来源伦理追溯",需向组织方申请说明或改用自带伦理覆盖的自采数据做部署训练。
§7.5 公平性
数据集不含人口学字段,无法开展人群分层的公平性审计——这本身是使用限制之一。可执行的替代方案:在部署前的外部验证集中补齐年龄/性别字段并做亚组分析;对"层厚、设备、剂量"等可得的技术亚组先行分层评估。引用本数据集的论文不应宣称跨人群代表性。
这一限制对下游有两点直接影响:其一,任何"在全体人群上性能为 X"的表述都隐含了"人群构成=该创伤队列"的前提,跨人群引用时应降级为"在该队列上性能为 X";其二,若产品面向老年或骨质疏松高发人群,应预期非创伤性/应力性骨折与退行性改变的形态谱差异,这些形态在本数据集中欠代表。
§7.6 数据漂移
数据冻结于 2020 年,CT 重建技术(如深度学习重建算法普及)与扫描协议此后持续演进,存在时间性漂移的可能。可监测的漂移代理指标:spacing 分布、层厚分布、每例切片数分布(本数据中位 357 层)。若部署环境新数据的这些分布显著偏离,应触发再校准流程。内容性漂移(骨折形态谱、创伤机制变化)需要临床侧标签才能评估,本数据集内无法完成。
实操上建议把漂移检测做成两道闸门:入库闸门(新数据的 spacing/层厚/体尺寸分布与本数据统计做 KS 检验,超阈值即报警)与推理闸门(线上逐例记录"检出数分布"与"低置信检出占比",滚动对比基线周报)。两道闸门都不依赖临床标签,可在无标注环境中长期运行。
§7.7 DAIMS 24 项评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | info CSV 每实例一行,结构扁平 |
| 2 | 唯一标识 | ✅ | public_id + label_id 双层主键,全局唯一 |
| 3 | 特殊字符 | ✅ | 标识符均为字母数字,无编码陷阱 |
| 4 | 重复行 | ✅ | 未见重复实例记录 |
| 5 | 缺失编码 | ✅ | 背景 0、未分型 -1 均显式编码 |
| 6 | 标签标识 | ⚠️ | -1 占 58.2%,标签语义需专门处理管线 |
| 7 | 罕见类分组 | ⚠️ | segmental 仅 209 实例/76 患者,训练需分层采样 |
| 8 | 偏倚评估 | ⚠️ | 官方无系统偏倚报告;TMI 2025 有定性讨论 |
| 9 | 数据字典 | ✅ | 官网任务页 + GitHub README 双源文档 |
| 10 | 信息性缺失解释 | ✅ | -1 定义在官方页面明确陈述 |
| 11 | 设备记录 | ⚠️ | spacing 可从头文件读取;设备型号缺失 |
| 12 | 共线性 | ✅ | 影像数据无表格共线性问题 |
| 13 | 编码映射 | ⚠️ | 0/1-4/-1 语义需查文档;无 ICD-11/SNOMED 官方映射表 |
| 14 | 时间戳处理 | ❌ | 无采集日期/时间戳字段 |
| 15 | 划分建议 | ✅ | 官方 420/80/160 病例级划分明确 |
| 16 | 泄漏讨论 | ✅ | 竞赛规则明确切分与提交纪律 |
| 17 | 标签分布 | ✅ | 可完整统计(见 §4.2) |
| 18 | 测量偏倚 | ⚠️ | 标注者间一致性统计未公开 |
| 19 | 外部验证建议 | ✅ | TMI 2025 给出后续方向(预训练、肋骨分割) |
| 20 | 版本记录 | ✅ | 发布时间线完整、数据本体冻结可考 |
| 21 | 预处理脚本 | ⚠️ | 官方仅提供评估代码,预处理需自行实现 |
| 22 | 合规要求 | ✅ | 注册制+规则明示(禁人工标注、声明义务) |
| 23 | 多模态对齐 | ✅ | 影像与掩码同 grid 对齐;单模态数据集 |
| 24 | 去标识化 | ✅ | 公开数据无直接标识符,病例 ID 为竞赛编号 |
DAIMS 评分:19.5 / 24
评分解读:RibFrac 在标识体系、划分纪律、缺失编码显式性与合规文档上达到模范水准(16 项 ✅),扣分集中在三处结构性缺口:时间戳与设备元数据缺失(❌ 1 项 + ⚠️ 1 项)、标签体系自带 58% 未分型实例带来的处理复杂度(⚠️ 3 项)、以及官方工具链只覆盖评估不覆盖预处理(⚠️ 1 项)。这一画像与"2020 年竞赛型数据集"的定位一致:为评测而生,而非为开箱即用的全流程生产而生。
对你意味着什么:如果你要做检测/分割研究,RibFrac 处于"高就绪"档——直接用官方划分与评估代码,把工程精力花在重采样、patch 采样与假阳性控制上;如果你要做分类或精细分割研究,先建好 -1 处理与标签噪声敏感性分析的管线再谈指标;如果你要做跨机构部署,本数据集只够预训练与算法验证,泛化性结论必须来自外部数据;无论哪条路线,都应在数据卡中如实记录"无时间戳/设备元数据"这一限制,避免下游误用。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| RibFrac 官方测试集(盲测) | Grand Challenge 在线评测 | 检测 FROC | 冠军方案 85.02(FP=0.5/1/2/4/8 均值) | 与验证集趋势一致 | 检测赛道顶级方案达专家水平(获奖页) |
| 自采外部队列 + CPR 图像 | 华东医院团队 | 轴位+CPR 联合检测 | 报告准确率超 97%(Mask R-CNN 152) | CPR 融合优于纯轴位 | 曲面重建信息提升检测(ESWA 2025) |
| 胸部 X 线(跨模态) | 深睿医疗团队 | X 线骨折检测 | TMI 2024 发表 | 模态迁移显著但可行 | CT 标注知识可向 X 线迁移(TMI 2024) |
| RibSeg 内部测试(120 例) | 上交/哈佛团队 | 肋骨分割 | Dice ≈ 95% | 半自动标注+人工校对 | 解剖先验可服务骨折检测下游(RibSeg) |
阅读此矩阵时需区分两类验证:官方测试集与 RibSeg 内部测试属于"同分布盲测"(协议可信但泛化信息有限);CPR 与 X 线两条线才是真正的分布外验证,其结论(重建视角与跨模态迁移有效)目前都来自单一团队的报告,复现广度仍是开放问题。
§8 基准性能与生态
§8.1 排行榜
MICCAI 2020 官方挑战榜(检测赛道 Top3,获奖页):
| 名次 | 队伍/模型 | 检测 FROC 均值 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | eyoujun(北京大学 & 北京一准医疗) | 85.02 | 2020 | RetinaNet 主体 + deformable 卷积 | E, Youjun; Zhang, Jiaqi (2020). MICCAI 2020 RibFrac Challenge Detection Track. ribfrac.grand-challenge.org/winners/ | 无公开仓库 |
| 2 | lungseg2020(汇医慧影) | 未公开 | 2020 | 3D 检测级联 | Liu, Jianying; Liu, Pengfei (2020). MICCAI 2020 RibFrac Challenge Detection Track. ribfrac.grand-challenge.org/winners/ | 无公开仓库 |
| 3 | DCC(深睿医疗 ImsightMed) | 未公开 | 2020 | 两阶段检测+分类 | Chai, Zhizhong; Xiao, Yongjie; Chen, Hao (2020). MICCAI 2020 RibFrac Challenge. ribfrac.grand-challenge.org/winners/ | 无公开仓库 |
分类赛道 Top3(获奖页):1st Xiangyi Yan, Hao Tang 等(UC Irvine,Xiaohui Xie 组);2nd Yongjie Xiao, Zhizhong Chai, Hao Chen(深睿医疗 ImsightMed);3rd Zhipeng Luo, Lixuan Che, Jianye He(深兰科技 DeepBlue Technology)。分类赛道逐项 Macro-F1 数值未在获奖页公开,仅名次可考。
官方内部基线与 2025 年扩展(同一评测协议,TMI 2025 论文):
| 方案 | FROC 均值 | 最高敏感度 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 3D FCN | 74.52 | 85.18 | 2025 | 全卷积基线 | Yang et al., 2025, IEEE TMI. arXiv:2402.09372 | 评估代码公开 |
| 3D DeepLab | 77.92 | 88.68 | 2025 | 空洞卷积分割 | Yang et al., 2025, IEEE TMI. arXiv:2402.09372 | 评估代码公开 |
| FracNet | 80.16 | 90.28 | 2020/2025 | 官方临床基线 | Jin et al., 2020, eBioMedicine. 见官方引用页 | 社区复现 |
| FracNet w/ RibSeg (Fusion) | 83.27 | 91.29 | 2025 | 点云肋骨特征融合 | Yang et al., 2025, IEEE TMI. arXiv:2402.09372 | M3DV/RibSeg |
| FracNet+ | 84.29 | 92.17 | 2025 | STUNet 预训练 + 点云融合 | Yang et al., 2025, IEEE TMI. arXiv:2402.09372 | 论文方法描述 |
| 人类专家 R1/R2 | — | 79.12 / 75.87 | 2025 | 放射科医生对照 | Yang et al., 2025, IEEE TMI. arXiv:2402.09372 | — |
⚠️ 数值不可直接比较的原因:官方测试集比 FracNet 原论文口径多用 40 例(TMI 论文明示);官方榜单(在线测试 160 例)与论文内部基线(同协议复测)数据口径不同;挑战期各队方案的完整逐项数值未全部公开。
§8.2 SOTA 总结与选型建议
检测任务的当前最优实践已收敛为"3D 分割主干 + 肋骨解剖先验 + 大规模预训练":FracNet+ 用点云肋骨分割(RibSeg)与 STUNet 预训练把 FROC 均值推到 84.29、最高敏感度 92.17,超过人类专家的最高敏感度(79.12/75.87)。消融轨迹同样有指导意义:单纯把 RibSeg 用于前/后处理(naive 集成)已能把 FROC 从 80.16 提到 81.69 且主要收益在低 FP 端;做特征级融合后进一步到 83.27;叠加预训练主干组成 FracNet+ 后到 84.29——三个台阶分别对应"解剖先验、特征融合、预训练"三种正交手段。选型建议:追求快速可用选 FracNet 复现或 nnU-Net 二值分割路线;追求极致检测性能则沿"预训练主干 + 肋骨先验"路线复现 FracNet+ 思路;分型任务暂无公开 SOTA 数值可循,需自行建立强基线并把 -1 处理作为一等公民设计。
§8.3 评测协议
- 检测:FROC 分析,报告 FP/scan = 0.5、1、2、4、8 五个点的敏感度均值;命中判据 IoU>0.2;置信度用于排序假阳性(任务页)。
- 分类:Macro-F1,混淆矩阵为 5 行(BK/DP/ND/SG/FN)× 6 列(BK/DP/ND/SG/FP/Ignore);-1 实例进 Ignore 列。
- 提交纪律:挑战期内每日最多 2 次提交;Top-3 需提交 4 页方案;使用公开数据或自动生成辅助标签均须声明;禁止任何人工标注(官网规则)。
§8.4 相关数据集
| 数据集 | 关系 | 规模 | 差异化定位 |
|---|---|---|---|
| RibSeg | 同源扩展(同一批 CT) | 490 例 / 11,648 根肋骨 | 肋骨分割+中心线(半自动),CC BY-NC |
| LUNA16 | 任务同构(FROC 检测) | 888 例 / 1,186 处结节 | 类圆目标、结节级标注 |
| TotalSegmentator | 解剖先验来源 | 大规模全身 CT | 多器官分割,可产肋骨掩码辅助预训练 |
选择相关数据集的实用判断:做方法研究,RibFrac + RibSeg 的同源组合能提供"病灶 + 解剖"双重监督;做检测协议研究,LUNA16 提供类圆目标参照;做预训练,TotalSegmentator 系的器官标注更合适——三条需求不必强行在同一数据集内解决。
§8.5 关键论文
- Yang, J. et al. “Deep Rib Fracture Instance Segmentation and Classification from CT on the RibFrac Challenge.” IEEE Transactions on Medical Imaging, 2025(arXiv:2402.09372)。挑战总结论文:243 个提交、7 支队伍、检测达专家水平而分类未达临床可用的系统性结论。
- Jin, L. et al. “Deep-Learning-Assisted Detection and Segmentation of Rib Fractures from CT Scans: Development and Validation of FracNet.” eBioMedicine, 2020。官方临床基线 FracNet 的方法与临床验证。
- Yang, J. et al. “RibSeg Dataset and Strong Point Cloud Baselines for Rib Segmentation from CT Scans.” MICCAI, 2021。点云肋骨分割范式与 490 例标注发布。
- Jin, L. et al. “RibSeg v2: A Large-scale Benchmark for Rib Labeling and Anatomical Centerline Extraction.” IEEE TMI, 2023。RibSeg 扩展与中心线提取基准。
- Chai, S. et al. “Mask R-CNN for Predicting Rib Fractures on CT Images with Interpretability and ChatGPT-Based Structured Outcomes.” Expert Systems with Applications, 2025。轴位+CPR 联合检测,华东医院团队。
- Chai, Z. et al. “Deep Omni-supervised Learning for Rib Fracture Detection from Chest Radiology Images.” IEEE TMI, 2024。跨模态(CT→X 线)肋骨骨折检测。
- “An Algorithm for Automatic Rib Fracture Recognition Combined with nnU-Net and DenseNet”(PMC 开放获取,2022)。社区二值分割+分类复现路线。
§8.6 社区活跃度
官方在线评测在挑战赛结束后转为持续基准运行(2020-10-30 重开,官网);官方评估仓库 M3DV/RibFrac-Challenge 获 50+ Star(GitHub,截至 2026-09),RibSeg 仓库与其方法论文共同维护;挑战 workshop 的幻灯与录像长期公开(程序页);中文社区(技术媒体、博客)与英文社区(GitHub、第三方数据集档案)讨论持续。总体判断:数据本体冻结但生态活跃,属于"长尾基准"型数据集。
对新入场的团队,生态活跃度意味着两件事:遇到工程问题时,GitHub issue 与社区复现笔记大概率已覆盖;同时也要接受"冲榜窗口已过"的现实——榜单前排数字大多出自 2020 年挑战期与 2025 年 TMI 论文,新工作的合理定位是方法学创新与细分场景(分型、泛化、效率),而非单纯刷分。
§8.7 生态快照
| 资源 | 类型 | 链接 | 状态(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| Grand Challenge 官网 | 数据+在线评测 | https://ribfrac.grand-challenge.org/ | 持续开放 | 数据、规则、榜单唯一主源 |
| M3DV/RibFrac-Challenge | 评估代码 | https://github.com/M3DV/RibFrac-Challenge | 50+ Star | 官方 FROC/Macro-F1 实现 |
| M3DV/RibSeg | 扩展标注+代码 | https://github.com/M3DV/RibSeg | Apache-2.0 | 肋骨分割/中心线,点云基线 |
| RibSeg Zenodo | 数据存档 | https://doi.org/10.5281/zenodo.5336592 | CC BY-NC | 扩展标注持久存档 |
| arXiv 2402.09372 | 挑战总结论文 | https://arxiv.org/abs/2402.09372 | CC BY 4.0 | 指标、结论、坑点的权威出处 |
| 官方程序页 | 教学材料 | https://ribfrac.grand-challenge.org/program | 幻灯+录像 | 获奖方案一手讲解 |
§9 相关资源与引用
§9.1 官方资源清单
- 官方主页(背景、规则、时间线):https://ribfrac.grand-challenge.org/ —— 数据、规则、榜单的唯一权威主源
- 任务与评估协议:https://ribfrac.grand-challenge.org/tasks/ —— FROC/Macro-F1 细节与四类分型临床定义
- 数据下载页(需 Join):https://ribfrac.grand-challenge.org/dataset/ —— 四分包下载入口
- 获奖名单:https://ribfrac.grand-challenge.org/winners/ —— 检测/分类双赛道 Top3 与队伍构成
- 引用格式页:https://ribfrac.grand-challenge.org/publication/ —— 官方强制引用的两篇论文与 BibTeX
- 挑战 workshop 程序与录像:https://ribfrac.grand-challenge.org/program —— 获奖方案一手讲解(幻灯+视频)
- 官方评估代码:https://github.com/M3DV/RibFrac-Challenge —— FROC 与提交格式的参考实现(Apache-2.0)
- RibSeg 扩展:https://github.com/M3DV/RibSeg | https://doi.org/10.5281/zenodo.5336592 —— 肋骨分割与中心线标注(490 例,CC BY-NC)
- 本站 AI-Ready 档案:https://www.qianfanghub.com/ai-ready-dataset/ribfrac/451 —— 本页规范 URL
§9.2 BibTeX 完整引用
@article{yang2025ribfrac,
title = {Deep Rib Fracture Instance Segmentation and Classification from CT on the RibFrac Challenge},
author = {Yang, Jiancheng and Shi, Rui and Jin, Liang and Huang, Xiaoyang and Kuang, Kaiming and Wei, Donglai and Gu, Shixuan and Liu, Jianying and Liu, Pengfei and Chai, Zhizhong and Xiao, Yongjie and Chen, Hao and Xu, Liming and Du, Bang and Yan, Xiangyi and Tang, Hao and Alessio, Adam and Holste, Gregory and Zhang, Jiapeng and Wang, Xiaoming and He, Jianye and Che, Lixuan and Pfister, Hanspeter and Li, Ming and Ni, Bingbing},
journal = {IEEE Transactions on Medical Imaging},
year = {2025},
note = {arXiv:2402.09372}
}
@article{jin2020fracnet,
title = {Deep-Learning-Assisted Detection and Segmentation of Rib Fractures from CT Scans: Development and Validation of FracNet},
author = {Jin, Liang and Yang, Jiancheng and Kuang, Kaiming and Ni, Bingbing and Gao, Yiyi and Sun, Yingli and Gao, Pan and Ma, Weiling and Tan, Mingyu and Kang, Hui and Chen, Jiajun and Li, Ming},
journal = {eBioMedicine},
year = {2020},
publisher = {Elsevier}
}
@inproceedings{yang2021ribseg,
title = {RibSeg Dataset and Strong Point Cloud Baselines for Rib Segmentation from CT Scans},
author = {Yang, Jiancheng and Gu, Shixuan and Wei, Donglai and Pfister, Hanspeter and Ni, Bingbing},
booktitle = {International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI)},
pages = {611--621},
year = {2021},
organization = {Springer}
}
@article{jin2023ribsegv2,
title = {RibSeg v2: A Large-scale Benchmark for Rib Labeling and Anatomical Centerline Extraction},
author = {Jin, Liang and Gu, Shixuan and Wei, Donglai and Adhinarta, Jason Ken and Kuang, Kaiming and Zhang, Yongjie Jessica and Pfister, Hanspeter and Ni, Bingbing and Yang, Jiancheng and Li, Ming},
journal = {IEEE Transactions on Medical Imaging},
year = {2023}
}
@article{chai2025maskrcnn,
title = {Mask R-CNN for Predicting Rib Fractures on CT Images with Interpretability and ChatGPT-Based Structured Outcomes},
author = {Chai, Shuaishuai and Gao, Pan and Li, Ming and Jin, Liang},
journal = {Expert Systems with Applications},
volume = {274},
pages = {127047},
year = {2025},
publisher = {Elsevier},
doi = {10.1016/j.eswa.2025.127047}
}
§9.3 引用指南
使用数据集本体与在线评测时,官方要求同时引用挑战总结论文(Yang et al., IEEE TMI 2025)与临床论文(Jin et al., eBioMedicine 2020)(官方引用页);使用 RibSeg 扩展标注时加引 Yang et al. 2021 与 Jin et al. 2023;使用 CPR 相关结论时加引 Chai et al. 2025。在论文或产品文档中引用本档案页时,请使用页首规范 URL。
引用自查清单:两篇必引是否齐全、BibTeX 作者列表是否与官方引用页一致、arXiv 与正式发表版本是否引用了正确的一个、基于本数据训练的模型是否在模型卡中注明训练数据版本(2020 官方版)。
§10 AI 使用声明卡
§10.1 AI 模型列表
| 环节 | 使用的模型/工具 | 用途 |
|---|---|---|
| 本页撰写 | 大语言模型(生产管线写作助手) | 初稿生成、结构化整理、代码示例编写 |
| 本页撰写 | Web 检索引擎 | 事实核验(6 次定向检索 + 1 次官方页面抓取) |
| 本页质检 | check_md.py(规则脚本) | 结构完整性、纯净度与围栏配对校验 |
§10.2 AI 参与范围
AI 参与了本页的资料汇总、初稿撰写、代码示例生成与格式校验;全部关键数字(规模、划分、类别分布、基准性能、时间线、编码)均来自 §10.3 所列公开来源,并经人工交叉核对;医学编码表、坑点分析与偏倚结论由人工审核确认。AI 未访问任何非公开数据。
需要特别说明的边界:本页中"对你意味着什么""选型建议"等判断性内容是编辑部基于来源事实的结构化解读,代表本站编辑视角而非数据集官方立场;代码示例在本页生产环境中做了语法级验证,但未在完整下载的数据集上做端到端运行,用户首次运行时的路径与版本适配请以官方仓库为准。
§10.3 输入来源列表
- Yang, J. et al. (2025). Deep Rib Fracture Instance Segmentation and Classification from CT on the RibFrac Challenge. IEEE TMI. arXiv:2402.09372. https://arxiv.org/abs/2402.09372
- Yang, J. et al. (2025). 同上(IEEE TMI 正式版摘要). PubMed 40305244. https://pubmed.ncbi.nlm.nih.gov/40305244/
- Jin, L. et al. (2020). Deep-Learning-Assisted Detection and Segmentation of Rib Fractures from CT Scans: Development and Validation of FracNet. eBioMedicine. 引用页 https://ribfrac.grand-challenge.org/publication/
- MICCAI 2020 RibFrac Challenge 官方主页. https://ribfrac.grand-challenge.org/
- MICCAI 2020 RibFrac Challenge 任务与评估协议页. https://ribfrac.grand-challenge.org/tasks/
- MICCAI 2020 RibFrac Challenge 获奖页. https://ribfrac.grand-challenge.org/winners/
- MICCAI 2020 RibFrac Challenge 程序页. https://ribfrac.grand-challenge.org/program
- M3DV/RibFrac-Challenge 官方评估仓库(Apache-2.0). https://github.com/M3DV/RibFrac-Challenge
- Yang, J. et al. (2021). RibSeg Dataset and Strong Point Cloud Baselines for Rib Segmentation from CT Scans. MICCAI. https://arxiv.org/abs/2109.09521
- RibSeg Dataset(Zenodo 存档,CC BY-NC). https://doi.org/10.5281/zenodo.5336592
- OpenMedLab/Awesome-Medical-Dataset RibFrac 条目(标签统计与团队构成). https://github.com/openmedlab/Awesome-Medical-Dataset/blob/main/resources/RibFrac.md
- An Algorithm for Automatic Rib Fracture Recognition Combined with nnU-Net and DenseNet. PMC8896936. https://pmc.ncbi.nlm.nih.gov/articles/PMC8896936/
- Chai, S. et al. (2025). Mask R-CNN for Predicting Rib Fractures on CT Images with Interpretability and ChatGPT-Based Structured Outcomes. Expert Systems with Applications. https://doi.org/10.1016/j.eswa.2025.127047
- Chai, Z. et al. (2024). Deep Omni-supervised Learning for Rib Fracture Detection from Chest Radiology Images. IEEE TMI. https://doi.org/10.1109/tmi.2024.3353248
- Find-A-Code ICD-11 浏览:Fracture of rib, sternum or thoracic spine(NA82 块). https://www.findacode.com/icd-11/block-1203416278.html
- Find-A-Code ICD-11:NA82.3Z Fracture of rib, unspecified(扩展码清单). http://lexenco-cle.findacode.com/icd-11/code-861976198/unspecified.html
- 肋骨骨折医学概述. 医学百科. http://s.dayi.org.cn/mip/s/disease/1124973.html
- Rib fracture: how to recognize and treat(ICD-10/ICD-11 编码对照). https://m.iliveok.com/health/rib-fracture-causes-symptoms-diagnosis-treatment_108287i15958.html
- 科技前沿:医准智能问鼎国际肋骨骨折检测挑战赛(80 GB 与获奖 FROC 数字). 脉脉. https://maimai.cn/article/detail?fid=1534075190
- Rib Fracture Detection Using Deep Learning Techniques. Nature Research Intelligence. https://www.nature.com/research-intelligence/nri-topic-summaries-v7/rib-fracture-detection-using-deep-learning-techniques
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| INFOBOX 与 frontmatter 规模数字 | 千方病案医学编辑部 | 对照官方主页与任务页逐项核对 | ✅ 已通过 |
| §2 医学背景与 ICD-11 编码表 | 千方病案医学编辑部 | 对照 ICD-11 浏览器镜像与临床综述核对 | ✅ 已通过 |
| §4 数据结构与 DAIMS 字段字典 | 千方病案医学编辑部 | 对照官方仓库 README 与目录树核对 | ✅ 已通过 |
| §6 代码示例与 8 个坑点 | 千方病案医学编辑部 | 依据官方评估协议与社区复现审校 | ✅ 已通过 |
| §7 偏倚分析与 DAIMS 评分 | 千方病案医学编辑部 | 交叉复核评分口径与说明一致性 | ✅ 已通过 |
| §8 基准数字与引用完整性 | 千方病案医学编辑部 | 对照 TMI 2025 论文表格与获奖页核对 | ✅ 已通过 |
| FACTS.md 事实清单 | 千方病案医学编辑部 | 与正文逐条对账 | ✅ 已通过 |
校验口径说明:所有表格中的数字在入库前以 FACTS.md 为单一事实源逐条对账;正文叙述中的推算值(如类别占比、每例骨折密度)均标注了"由官方数字推得"或给出计算式,与直接引用的检索值明确区分。
§10.5 AI 生成章节标注
本页各章节初稿均由 AI 生成后经人工审核:§1 概览、§3 规格、§5 划分、§9 引用为 AI 起草+人工核对;§2 医学背景、§7 质量评估(含 DAIMS)为 AI 起草+医学编辑部重点复核;§6 AI 就绪指南为 AI 起草+数据工程视角复核;§0、§10 为模板+人工定制。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核日期一致)
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- ctspine1k — 共享标签:医学影像 / CT / 医学图像分割 / 骨骼肌肉影像
- oai — 共享标签:医学影像 / 电子健康记录 / 骨骼肌肉影像
- ctpelvic1k — 共享标签:医学影像 / CT / 医学图像分割 / 骨骼肌肉影像
- nih-pancreas-ct — 共享标签:医学影像 / CT / 医学图像分割
- abdomenct-1k — 共享标签:医学影像 / CT / 医学图像分割
- word — 共享标签:医学影像 / CT / 医学图像分割
- totalsegmentator — 共享标签:医学影像 / CT / 医学图像分割
- verse-spine — 共享标签:医学影像 / CT / 医学图像分割 / 骨骼肌肉影像
- han-seg — 共享标签:医学影像 / CT / 医学图像分割
- Medical-Decathlon — 共享标签:医学影像 / CT / 医学图像分割
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。
