信息速览
PROSTATEx — 前列腺 mpMRI 病灶分类基准 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | PROSTATEx / PROSTATEx-2 |
| 英文全称 | SPIE-AAPM-NCI PROSTATEx Challenges(The Prostate MR Classification Challenge and the Prostate MR Gleason Grade Group Challenge) |
| 别名/简称 | PROSTATEx、ProstateX、SPIE-AAPM-NCI Prostate MR Classification Challenge、PROSTATEx-2、Prostate MR Gleason Grade Group Challenge |
| 疾病分类 | 前列腺癌 / 前列腺非癌性病变(ICD-11:2C82 前列腺恶性肿瘤;2C82.0 前列腺腺癌)。数据集同时包含临床显著与非显著病灶,故不限于单一 ICD 编码 |
| SNOMED CT | 399068003 Malignant tumor of prostate / 41216001 Prostatic disorder / 72289007 Prostate imaging(详见 §2.1b) |
| 数据模态 | 多参数前列腺 MRI:T2 加权(T2W)、质子密度加权(PD-W)、动态对比增强(DCE,含 Ktrans 药代动力学图)、弥散加权(DWI,含 ADC 图) |
| AI 任务类型 | 病灶级二分类(临床显著 vs 非显著)、有序分级(Gleason Grade Group 1-5)、病灶定位、前列腺分割(衍生掩膜)、影像组学特征工程 |
| 样本总数 | 346 名受试者 / 204 训练 + 140 测试受试者 / PROSTATEx 538 个病灶(330 训练 + 208 测试)/ PROSTATEx-2 182 个病灶(112 + 70) |
| 数据大小 | 16.67 GB(TCIA 集合影像总大小,未含衍生标注) |
| 数据格式 | DICOM(全部 MR 影像)/ MHD + ZRAW(Ktrans 图)/ CSV(病灶表与影像索引)/ DOCX 与 BMP 缩略图(挑战赛补充材料) |
| 许可证 | Creative Commons Attribution 3.0 Unported(CC BY 3.0)(TCIA 集合条款,标注 “Data Citation Required”) |
| 访问级别 | 开放(TCIA 公开集合,可直接下载;须遵守数据引用要求) |
| DUO 标签 | GRU, HMB, PUB |
| 语言 | 英文(DICOM 标签与伴随表格) |
| 首发日期 | 2017(TCIA 集合发布);训练集首次释出 2016-11-21 |
| 最后更新 | 2022-07-05(TCIA 集合状态 Complete) |
| 发布机构 | SPIE(国际光学与光子学学会)、AAPM(美国医学物理学家协会)、NCI(美国国家癌症研究所);原始数据由 Radboud University Medical Center(Radboudumc)提供 |
| 官方主页 | https://www.cancerimagingarchive.net/collection/prostatex/ |
| 下载地址 | https://www.cancerimagingarchive.net/collection/prostatex/(Detailed Description 页签提供分项下载) |
| DOI | 10.7937/K9TCIA.2017.MURS5CL(数据集);10.1117/1.JMI.5.4.044501(挑战赛总述论文) |
| 引用次数 | 103+(TCIA 集合页面统计,截至 2026-09);挑战赛总述论文另有多源引用累积 |
| AI 就绪度评分 | ⭐⭐⭐(3/5)— 标注与影像索引完备、衍生掩膜生态成熟,但需大量格式转换(DICOM→NIfTI)、官方测试标签从未公开、DCE 子集不全,且基准已于 2022 年被 PI-CAI 取代 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、前列腺癌流行病学、临床显著性的定义争议、Gleason Grade Group 的病理学基础)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与 SPIE、AAPM、NCI、TCIA、Radboud University Medical Center 均无任何商业利益关联。本页面不销售 PROSTATEx 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。PROSTATEx 通过 The Cancer Imaging Archive 以 CC BY 3.0 条款公开发布,但集合页面明确标注 “Data Citation Required”,使用者必须完整引用 Litjens 等 2017 年的 TCIA 数据条目与 Armato 等 2018 年的挑战赛论文。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 📌 30 秒速览
这是什么? 想象一位泌尿外科医生面对一份前列腺 MRI,屏幕上圈出了几个"看起来可疑"的点位。他需要判断:这些点位里,哪些是真正需要穿刺治疗的临床显著前列腺癌(csPCa),哪些只是无害的良性增生?PROSTATEx 就是把医生这个判断过程整理成了机器可读的题目集——346 位男性的多参数前列腺 MRI(T2 加权、弥散加权、动态增强等多种扫描序列),每个可疑病灶给出空间坐标和最终由穿刺病理确认的答案。其中一组任务问"这个病灶算不算显著",另一组任务(PROSTATEx-2)问"如果显著,它属于哪个 Gleason 分级组"。
为什么重要? 在 PROSTATEx 于 2016 年释出之前,前列腺 MRI 的计算机辅助诊断研究几乎没有可比的公共基准——每篇论文用自己的私有数据、自己的评测方式,结论无法横向对照。PROSTATEx 是第一个把"同一批数据、同一套评测、同一个提交平台"带给整个领域的前列腺 MRI 挑战赛,它是深度学习时代前列腺影像 AI 的起点,其后续生态直接催生了规模大十倍的 PI-CAI 挑战赛。理解它的设计取舍,也就理解了这个领域十年来的方法论演进。
我能用它做什么? 最典型的用法是训练一个病灶级分类器:输入病灶周围的三维多序列图像块,输出一个 0-1 的显著性概率,与官方 AUC 协议对齐。也可以用它做影像组学特征工程、做前列腺分割算法的训练数据(社区已提供全腺与分区掩膜)、或者把它当作迁移学习的源域,把预训练权重搬到更大的数据集上。需要注意:它已经是"过时"的基准,新方法应当在 PI-CAI 上验证主结论,PROSTATEx 更适合做消融实验与历史对照。
§1.1 摘要
PROSTATEx(正式名称 SPIE-AAPM-NCI PROSTATEx Challenges)是由 SPIE、美国医学物理学家协会(AAPM)与美国国家癌症研究所(NCI)联合发起的公开影像挑战赛数据集,影像原始数据由荷兰 Radboud University Medical Center 采集并回溯性提供。集合包含 346 名受试者的前列腺多参数 MRI,全部研究均包含 T2 加权、质子密度加权、动态对比增强与弥散加权四类序列,采集自两台 Siemens MAGNETOM 3T 扫描仪(Trio 与 Skyra),且均未使用直肠内线圈。
挑战赛分两批进行。第一批 PROSTATEx Challenge 于 2016 年 11 月 21 日释出带标签训练集(204 名受试者、330 个病灶,其中 76 个为临床显著),2016 年 12 月 12 日释出无标签测试集(140 名受试者、208 个病灶),任务是预测每个病灶的临床显著性——官方定义为活检 Gleason 评分 ≥7。第一批共 32 个团队提交 71 种方法,AUC 范围 0.45-0.87,但组织方明确指出头部方法之间不存在统计显著差异。
第二批 PROSTATEx-2 Challenge 于 2017 年 5 月至 6 月举行,任务转为 Gleason Grade Group 五级有序分级,采用 2014 年 ISUP 共识分组。数据库共 162 例、182 个病灶(训练 112、测试 70),采用二次加权 kappa 评估,21 个团队 43 种方法的结果范围为 −0.24 至 0.27,组织方仅能确认其中两种方法优于随机猜测。该结果本身构成了对"仅凭影像预测 Gleason 分级"这一命题的重要负面证据。
2022 年起,PROSTATEx 的训练与测试队列被并入 PI-CAI 挑战赛的公开训练与开发数据集,PROSTATEx 基准正式被弃用;TCIA 集合页面最后更新于 2022-07-05,状态标记为 Complete。
§1.2 战略价值
作为方法学基准的历史锚点。PROSTATEx 的价值首先在于它把"病灶级分类"这一任务形式固定下来了:不同于器官级分类或体素级分割,它要求模型针对人工预先指出的点坐标给出判断。这种设计使不同团队的结果具有可比性,也让评测协议异常简单(每个病灶输出一个实数,算 AUC)。十年之后回看,正是这套协议把注意力集中到了"表征学习"本身,而不是病灶检测的工程细节上。任何一篇前列腺 MRI 分类论文在被追问"你的方法相对 2016 年基线进步多少"时,PROSTATEx 榜单都是绕不开的坐标。
作为迁移学习源域的现实价值。PROSTATEx 虽小,但其影像质量与标注严谨度经过挑战赛的公开检验,且带有完整的 DICOM 头信息、扫描参数与坐标系统记录。对于数据获取受限的团队(例如无法直接申请大型私有队列),PROSTATEx 提供了一个合法的、开放获取的预训练来源。实践中大量工作把它当作源域,先在 346 例上预训练编码器,再迁移到本地小队列微调。这一用法在 PI-CAI 释出后依然成立,因为 PROSTATEx 的病例全部包含在 PI-CAI 公开训练集中,两者的特征空间天然兼容。
作为"基准过时"的教科书案例。PROSTATEx 也是研究基准可持续性的典型案例。由于测试影像本身是公开的(只是标签未公开),且社区在同一批 346 例上反复训练与验证,其评测结果逐渐失去指示意义。PI-CAI 官方对此的批评相当直白:样本量小、多样性受限(同一中心、同一厂商)、评测格式弱(测试影像公开而非真正未见)。这一诊断推动了后续挑战赛采用隐藏测试队列、Docker 容器提交、大规模多中心队列的设计,是理解医学 AI 基准演进的重要一课。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态 | 标注类型 | 差异化定位 |
|---|---|---|---|---|
| PROSTATEx / PROSTATEx-2 | 346 名受试者 / 538 个病灶 | 多参数 MRI(T2W + PD-W + DCE + DWI) | 病灶级坐标 + 临床显著性 + Gleason 分级 | 任务定义最清晰、协议最易复现;规模最小、已被取代 |
| PI-CAI | 逾 10,000 例(公开 1,500 + 隐藏 1,000) | 双参数 MRI(bpMRI,T2W + DWI) | 体素级 + 病灶级 + 患者级 | 内含 PROSTATEx 全部病例;隐藏测试队列与 Docker 提交,评测更严格 |
| Prostate158 | 158 例(139 训练 + 19 测试) | 多参数 MRI | 分区与病灶分割 + 分类 | 分区标注最细,适合分割与解剖先验研究 |
| Prostate-3T | 64 名受试者 | T2 加权 MRI | 病灶检测 | 早期 ISBI 2013 挑战赛数据,现已罕见使用 |
| QIN PROSTATE | 22 名受试者 | 多参数 MRI(含直肠内线圈) | 定量影像特征 | 强调定量成像方法学,需申请获取 |
| Prostate Fused-MRI-Pathology | 28 名受试者 | MRI + H&E 全片病理 | MRI 与病理切片配准 | 唯一提供 MRI 与病理空间对应关系的小队列 |
| PANDA | 逾 10,000 张切片 | 全片病理图像 | 切片级 ISUP 分级 | 病理域互补,可做影像-病理跨模态研究 |
§1.4 版本时间轴
| 日期 | 事件 | 关键数字 |
|---|---|---|
| 2016-11-21 | PROSTATEx 训练集(带真值)释出 | 204 名受试者 / 330 个病灶 |
| 2016-12-12 | PROSTATEx 测试集(无真值)释出 | 140 名受试者 / 208 个病灶 |
| 2017-01-15 | 参赛者提交截止 | — |
| 2017-01-20 | 挑战赛结果向参赛者公布 | 32 组 / 71 种方法,AUC 0.45-0.87 |
| 2017-02-13 | SPIE Medical Imaging Symposium 专题会议 | 前两名队伍报告 |
| 2017-05-15 | PROSTATEx-2 训练集释出 | 162 例中 112 个病灶 |
| 2017-06-05 | PROSTATEx-2 测试集释出 | 70 个病灶 |
| 2017-06-23 | PROSTATEx-2 提交截止(延至 6 月 26 日) | — |
| 2017-06-30 | PROSTATEx-2 结果公布 | 21 组 / 43 种方法,kappa −0.24 至 0.27 |
| 2017-08-01 | AAPM Annual Meeting 专题会议 | 前两名队伍报告 |
| 2018-11-10 | 挑战赛总述论文发表(J Med Imaging) | DOI 10.1117/1.JMI.5.4.044501 |
| 2021 | Cuocolo 等发布全腺与分区掩膜 | 204 例检查的分割标注 |
| 2022-04-30 | 在线版 ProstateX 挑战赛关闭投稿 | — |
| 2022-07-05 | TCIA 集合最后更新,状态 Complete | 集合被标记为已被 PI-CAI 取代 |
§1.5 典型应用场景
- 病灶级 csPCa 分类:输入病灶点周围的 T2W/ADC/Ktrans 三维图像块,输出显著性概率,按官方 AUC 协议评测。这是数据集最核心、引用最多的用法。
- Gleason Grade Group 有序回归:利用 PROSTATEx-2 的 182 个病灶标签训练有序分类或回归模型,评测指标为二次加权 kappa。研究门槛更高,历史结果也更有警示意义。
- 影像组学特征工程:配合社区掩膜(全腺、外周带、移行带)提取 PyRadiomics 特征,做特征选择与浅层分类器建模。该路线的可解释性优势使其在临床转化讨论中被反复引用。
- 前列腺自动分割:利用 Cuocolo 掩膜或 ProstateZones 掩膜训练 U-Net 类分割模型,为下游病灶任务提供解剖先验。衍生掩膜数据集的独立发表(Eur J Radiol 2021、Sci Data 2024)说明这一需求真实且持续。
- 跨中心迁移与外部验证:把 PROSTATEx 训练的模型放到本土队列或 PI-CAI 子集上评估泛化性,量化单中心单厂商数据训练所带来的性能衰减。这是 PI-CAI 时代最活跃的研究方向之一。
§2 医学背景
§2.1 ICD-11 编码映射
| 标签 | ICD-11 编码 | 中文术语 | 说明 |
|---|---|---|---|
| 前列腺恶性肿瘤 | 2C82 | 前列腺恶性肿瘤 | 数据集的正类疾病总称 |
| 前列腺腺癌 | 2C82.0 | 前列腺腺癌 | 占前列腺癌 95% 以上的组织学类型,PROSTATEx 的病理标签即腺癌 Gleason 评分 |
| 前列腺非癌性病变 | 2C82.Y / GA90 | 前列腺其他特指病变 / 良性前列腺增生 | 数据集中的"非显著"病灶包含良性增生与低危病变 |
| 前列腺影像检查 | — | 前列腺磁共振成像 | 对应 SNOMED CT 的 imaging procedure,非疾病编码 |
§2.1b SNOMED CT 映射
| 标签 | ICD-11 | SNOMED CT | 术语 |
|---|---|---|---|
| 前列腺恶性肿瘤 | 2C82 | 399068003 | Malignant tumor of prostate (disorder) |
| 前列腺腺癌 | 2C82.0 | 254900004 | Carcinoma of prostate (disorder) |
| 前列腺疾病 | — | 41216001 | Prostatic disorder (finding) |
| 前列腺影像检查 | — | 72289007 | Prostate imaging (procedure) |
| 前列腺磁共振成像 | — | 241615005 | Magnetic resonance imaging of prostate (procedure) |
| 临床显著前列腺癌 | — | 449825005 | Clinically significant prostate cancer (finding) |
§2.2 疾病简介与流行病学
前列腺癌是男性最常见的恶性肿瘤之一,其疾病谱极为宽广:从终生不引起症状的低危微小癌,到快速进展致死的转移性癌,两者在影像上可能极为相似,却在临床处理上截然相反。这一"过度诊断与过度治疗"的核心矛盾,正是临床显著前列腺癌(clinically significant prostate cancer, csPCa)这一概念要解决的问题。
csPCa 的概念依赖于一个阈值:低于阈值者可以安全地进入主动监测,高于阈值者需要积极干预。PROSTATEx 采用的阈值是活检 Gleason 评分 ≥7(等价于 Gleason Grade Group ≥2)。这一阈值并非普适真理——不同指南与国际共识对"显著"的界定存在差异,有的以 GG ≥2 为界,有的以 GG ≥3 为界,这正是数据集使用中反复出现的争议点(见 §6.5 坑点 5)。
流行病学上,前列腺癌的发病率与年龄、家族史、种族背景密切相关。前列腺特异性抗原(PSA)筛查的广泛使用带来了发病率的显著上升与分期迁移,同时也带来了大量不必要的穿刺活检。多参数 MRI 的引入正是为了在穿刺前更准确地筛除无临床意义的病灶,而 PROSTATEx 及其后续的 AI 研究,目标是把这一筛除过程的判断能力部分自动化,以减少不必要的侵入性检查。
§2.3 临床任务定义
| 任务层级 | 具体定义 | 数据集中的对应 | 评估指标 |
|---|---|---|---|
| 筛查 | 在无症状人群中识别需进一步检查的高危个体(PSA 等) | 不适用(本数据集不提供筛查队列) | — |
| 检测与定位 | 在前列腺内找到可疑病灶并给出空间位置 | 病灶坐标(ProstateX-Findings.csv 的 pos/ijk 字段)由人工预先给出 | 定位误差、检测灵敏度 |
| 诊断分类 | 判断给定病灶是否为临床显著前列腺癌(活检 Gleason ≥7) | PROSTATEx Challenge 正面任务 | AUC(ROC 曲线下面积) |
| 分级 | 确定病灶的 Gleason Grade Group(1-5) | PROSTATEx-2 Challenge 正面任务 | 二次加权 kappa |
| 分割 | 勾画前列腺整体与解剖分区 | 由社区衍生数据集(Cuocolo 掩膜、ProstateZones)补充 | Dice、Hausdorff 距离 |
| 预后 | 预测生化复发、转移或生存 | 数据集不含随访数据,不可直接支持 | — |
数据集不包含任何随访、治疗结局或生存信息,因此不能直接用于预后建模。这一点在文献中常被忽视,使用者须格外小心。
§2.4 患者人群
| 维度 | 描述 |
|---|---|
| 来源 | 荷兰 Radboud University Medical Center(Radboudumc)单一中心 |
| 采集性质 | 回溯性(retrospective)临床 MR 检查 |
| 患者身份 | 每例对应一名受试者的一次独立检查 |
| 性别 | 全体为男性(前列腺癌研究固有属性) |
| 年龄段 | 数据集部分病例附带年龄分组信息,整体以 60-70 岁区间为主(依据挑战赛公开的年龄分布表) |
| 种族 | 数据集未提供种族/族裔字段;队列以荷兰人群为主 |
| 就医类型 | 因怀疑前列腺癌接受 mpMRI 检查并接受活检的患者 |
| 队列规模 | 346 名受试者(PROSTATEx:204 训练 + 140 测试;PROSTATEx-2 使用的检查是其中的子集) |
| 知情与伦理 | 回溯性研究,经机构审查委员会批准;数据经去标识化后公开 |
数据集未公开完整的年龄、PSA、家族史等临床协变量,仅有部分病例的年龄分组与 BMI 分组示例出现在挑战赛说明材料中。任何声称使用"PROSTATEx 临床协变量"建立多模态模型的工作,都应当核实其协变量来源是否可靠。
§2.5 临床价值
PROSTATEx 的临床价值在于它把"影像能否替代部分穿刺病理判断"这一临床问题,转化为一个可量化、可复现的机器学习任务。其直接临床意义体现在三个层面。
第一,降低不必要穿刺。若算法能在保持高灵敏度的前提下排除掉一部分低危病灶,患者就可避免一次有创、有感染风险且可能带来并发症的穿刺活检。
第二,减少阅片者间差异。前列腺 MRI 的解读本身存在相当大的观察者间变异,PI-RADS 评分的一致性研究反复证实这一点。计算机辅助系统若能提供稳定的第二意见,有助于缓解这一变异。
第三,为分级任务提供现实预期。PROSTATEx-2 的结果(仅两种方法优于随机猜测)是一记清醒的警钟:仅凭治疗前的 mpMRI 预测 Gleason Grade Group 极其困难。这一负面结果影响了后续研究的设计方向——从"直接用影像预测分级"转向"用影像预测风险分层,再由临床路径决定是否穿刺"。
必须强调,所述临床价值均为研究层面的潜力,尚未有基于 PROSTATEx 训练的算法获得监管批准用于临床。
§2.6 金标准
| 维度 | 内容 |
|---|---|
| 标签划分 | PROSTATEx:临床显著 vs 非显著(ClinSig,Gleason ≥7 为真);PROSTATEx-2:Gleason Grade Group 1-5 |
| 标注方式 | 病理标签来自活检标本的组织病理学评估(非根治性前列腺切除标本) |
| 病灶定位 | 由专家读者在 mpMRI 上标出扫描仪坐标点(pos/ijk),并给出解剖分区标签 |
| 标注者 | Radboudumc 的前列腺影像专家;分区标签限定为 PZ/TZ/AS/SV 四类 |
| 一致性 | 数据集未公开定位标注的观察者间一致性指标;Gleason 分级本身的观察者间变异是公认问题,文献报告的平均观察者间 κ_quad 约 0.7-0.8 |
| 性质 | 病理学确认的参考标准,属"有创获取的真值";缺点是活检存在取样误差,可能低估病灶的真实分级 |
| 分区分布(训练集) | PZ 191、TZ 82、AS 55、SV 2,合计 330 |
| 分区分布(测试集) | PZ 113、TZ 59、AS 34、SV 2,合计 208 |
活检取样误差是理解这个数据集时必须记住的一点:一个被标为"非显著"的病灶,有可能只是因为穿刺针没有取到最具侵袭性的部分。这给标签引入了不可消除的噪声,进而给任何模型的 AUC 设定了一个无法达到 1.0 的理论上限。
§3 数据集规格
§3.0 版本抉择矩阵
PROSTATEx 生态中可用的数据版本不止一个,选择取决于研究目标。
| 你的需求 | 推荐版本 | 大小 | 理由 |
|---|---|---|---|
| 病灶显著性二分类,复现挑战赛基线 | PROSTATEx 训练集(204 例 / 330 病灶) | 约 12 GB | 官方标签完整;测试集标签从未公开,只能通过在线排行榜评测 |
| Gleason Grade Group 有序分级 | PROSTATEx-2(162 例 / 182 病灶) | 约 8 GB | 唯一提供 GGG 标签的子集;注意训练集 112 个病灶远小于第一批 |
| 需要病灶分割掩膜 | PROSTATEx + Cuocolo 掩膜(204 例) | 约 12 GB + 掩膜约 100 MB | 掩膜为独立的 CC BY 4.0 产物,需单独下载与引用 |
| 需要分区/尿道掩膜 | PROSTATEx + ProstateZones(200 例) | 约 12 GB + 掩膜 | 2024 年新发布,含 40 例双读者重复分割,可用于评估观察者间变异 |
| 追求当前 SOTA 与临床可比性 | PI-CAI(内含 PROSTATEx 全部病例) | 逾 100 GB | PROSTATEx 基准已被官方弃用;新方法应在 PI-CAI 上验证 |
| 仅做教学或代码调试 | PROSTATEx 训练集中数例子集 | 数百 MB | 完整集合达 16.67 GB,调试阶段不需要全量下载 |
重要提示:TCIA 上的 PROSTATEx 集合是"按受试者组织的完整合集"(346 例),而挑战赛的"训练集/测试集"划分是通过额外发布的划分文件实现的。当你从 TCIA 下载完整集合后,需要依据挑战赛提供的说明或官方划分文件自行切分,切勿假设目录结构自带划分。
§3.1 模态详情
| 序列 | 获取序列 | 平面分辨率 | 层厚 | 方向 | 备注 |
|---|---|---|---|---|---|
| T2 加权(T2W) | turbo spin echo | 约 0.5 mm | 3.6 mm | 轴位(部分病例含矢状位) | 解剖结构参考基准;分割任务的主序列 |
| 质子密度加权(PD-W) | 与 DCE 相同的序列,不同 TE/TR 与翻转角 | 约 1.5 mm | 4 mm | 轴位 | 采集时间在 DCE 之前,用于 DCE 信号归一化 |
| 动态对比增强(DCE) | 3-D turbo flash 梯度回波 | 约 1.5 mm | 4 mm | 轴位,含时间维 | 时间分辨率 3.5 s;衍生 Ktrans 药代动力学图以 MHD 格式单独提供 |
| 弥散加权(DWI) | 单次激发 EPI | 2 mm | 3.6 mm | 轴位 | 三个方向弥散编码梯度;b 值 50/400/800;ADC 图由扫描仪软件计算 |
| ADC 图 | 由 DWI 计算(扫描仪软件) | 随 DWI | 3.6 mm | 轴位 | 是病灶分类最关键的序列之一;注意其方向性陷阱(见坑点 2) |
| Ktrans 图 | 由 DCE 计算 | 与 DCE 一致 | 4 mm | 轴位 | MHD + ZRAW 双文件格式,需专用读取器 |
影像编码上,全部 MR 序列以 DICOM 提供;Ktrans 以 ProstateX-[ProxID]-Ktrans.mhd 与对应的 .zraw 二进制文件成对提供,每名受试者仅一份 Ktrans 图。DICOM 文件的完整索引记录在 ProstateX-Images.csv 中,该表包含 ProxID、Series Description(Name)、StudyDate、fid、pos、ijk、ImageUID、TopLevel、SpacingBetweenSlices、VoxelSpacing、Dim 以及原始 DICOM 的 Series 描述、UID 与编号等字段。
§3.2 按子集样本数
| 子集 | 受试者数 | 病灶数 | 阳性(显著) | 阴性(非显著) | 标签可得性 |
|---|---|---|---|---|---|
| PROSTATEx 训练集 | 204 | 330 | 76 | 254 | 公开(ClinSig 字段) |
| PROSTATEx 测试集 | 140 | 208 | 未公开 | 未公开 | 从未公开;仅可通过在线排行榜提交评测 |
| PROSTATEx 合计(TCIA 集合) | 346 | 538 | — | — | 影像全部公开 |
| PROSTATEx-2 训练集 | — | 112 | GGG 1-5 分布见 §4.2 | — | 公开 |
| PROSTATEx-2 测试集 | — | 70 | 未公开 | — | 未公开 |
数据集中 346 例与 538 个病灶的关系容易混淆:538 是两批挑战赛训练集与测试集病灶数的加总(330 + 208),而非"346 例中共找到 538 个病灶"。PROSTATEx-2 的 182 个病灶是其中的再标注子集。
§3.3 格式对照
| 文件类型 | 格式 | 用途 | 读取工具 |
|---|---|---|---|
| MR 影像 | DICOM(.dcm,按 Series 组织) | 全部 T2W/PD-W/DCE/DWI/ADC | pydicom、SimpleITK、dcm2niix |
| Ktrans 图 | MHD + ZRAW | 药代动力学参数图 | SimpleITK、ITK-SNAP |
| 病灶表 | CSV(ProstateX-Findings.csv) | ProxID、fid、pos、ClinSig、GGG | pandas |
| 影像索引 | CSV(ProstateX-Images.csv) | 序列元数据与文件清单 | pandas |
| 挑战赛说明 | DOCX / CSV / ZIP | 补充说明与划分信息 | 通用工具 |
| 病灶缩略图 | BMP(ZIP 打包) | 训练集 37.6 MB / 测试集 23.3 MB | 图像库 |
| 社区掩膜 | NIfTI(.nii.gz) | 分割标注 | nibabel |
§3.4 存储大小
| 项目 | 大小 |
|---|---|
| TCIA PROSTATEx 集合影像总量 | 16.67 GB |
| 训练集 DICOM 分项下载索引 | 约 126 kB |
| 测试集 DICOM 分项下载索引 | 约 121 kB |
| Ktrans 训练集 / 测试集 | 约 161 kB / 119 kB |
| 病灶信息包 | 训练集 281 kB / 测试集 236 kB |
| 病灶缩略图 | 训练集 37.6 MB / 测试集 23.3 MB |
| 解压后建议预留磁盘 | 40 GB 以上(含 NIfTI 转换产物与中间缓存) |
§3.5 标注方式
PROSTATEx 的标注是多层级的,理解其层级结构对正确处理数据至关重要。
第一层:病灶定位与解剖分区。由专家读者在 mpMRI 上标出每个病灶的扫描仪坐标点,并归类到四个解剖区之一:外周带(PZ)、移行带(TZ)、前部纤维肌肉基质(AS)、精囊(SV)。这部分标注对训练集与测试集同时提供。
第二层:临床显著性标签。仅训练集提供,字段名 ClinSig,取值由活检 Gleason 评分决定:评分 ≥7 记为显著(True),否则记为非显著(False)。训练集 330 个病灶中 76 个为显著。
第三层:Gleason Grade Group。仅在 PROSTATEx-2 的 112 个训练病灶上提供,取值 1-5,采用 2014 ISUP 共识分组。
标注完全由人工专家完成,属于人工标注而非自动或弱监督。数据集未提供病灶边界的像素级掩膜——这是它与其他分割数据集的关键区别,也是社区需要额外发布掩膜补充的原因。
§3.6 标注者资质与一致性
标注由 Radboudumc 的前列腺影像专家完成,该中心是欧洲前列腺 MRI 研究的重镇,其团队在 2014 年即发表了基于体素分类的计算机辅助检测方法学论文,具备深厚的领域积累。
数据集本身未公开病灶定位标注的观察者间一致性统计。但 Gleason 分级这一真值来源的观察者间变异是文献中公认的问题:病理学家在区分 Gleason 模式 3 与模式 4 时的一致性处于中等水平而非接近完美水平,文献报告的平均观察者间二次加权 kappa 约在 0.7-0.8 区间。这意味着标签噪声是内生的、不可通过更好的标注流程完全消除的。
社区衍生的 ProstateZones 数据集提供了关于分割标注一致性的直接证据:两位最有经验的放射科医师对 40 名患者独立完成了重复分割(共 240 个分割),构成观察者间变异的参考基线。这一设计值得借鉴——它允许自动分割方法的性能与人类读者间的差异水平直接比较。
§3.7 采集周期
数据集为回溯性收集,TCIA 元数据将时间覆盖范围标注为 2012-2016。数据集未公开每例的具体采集日期分布,但 ProstateX-Images.csv 中的 StudyDate 字段记录了每例的检查日期,使用者可据此自行统计。
§3.8 地域覆盖
全部数据来自荷兰奈梅亨(Nijmegen)的单一中心 Radboud University Medical Center。这意味着队列的人口构成以西欧人群为主,影像采集协议与设备配置高度统一(两台 Siemens 3T 扫描仪)。地域与厂商的单一性是该数据集最主要的外部效度限制,也是 PI-CAI 官方批评其"多样性有限"的直接依据。
§3.9 设备规格
| 项目 | 规格 |
|---|---|
| 扫描仪型号 | Siemens MAGNETOM Trio 3T 与 Siemens MAGNETOM Skyra 3T |
| 场强 | 3 Tesla(两型均同) |
| 线圈 | 未使用直肠内线圈(endorectal coil),采用外部相控阵线圈 |
| 厂商数 | 单一厂商(Siemens) |
| 场强数 | 单一场强(3T,无 1.5T 病例) |
| 采集序列细节 | 见 §3.1 模态详情表 |
单厂商、单场强的配置对模型泛化能力的影响在 PI-CAI 的跨中心评估中被明确指出,是任何声称泛化性的工作必须交代的局限。
§3.10 深度溯源链
Radboudumc 临床常规检查(回溯性)
↓ 机构审查委员会批准,去标识化
TCIA PROSTATEx 集合(DOI 10.7937/K9TCIA.2017.MURS5CL,2017)
↓ 划分并附加挑战赛说明材料
PROSTATEx Challenge 2016-2017 / PROSTATEx-2 Challenge 2017
↓ 论文发表(Armato et al. 2018, J Med Imaging 5(4):044501)
↓ 社区衍生标注
├── Cuocolo 掩膜(Eur J Radiol 2021,CC BY 4.0,204 例全腺+分区)
├── PROSTATEx-Seg-HiRes(TCIA 分析结果,DOI 10.7937/tcia.2019.deg7zg1u)
├── PROSTATEx-Seg-Zones(TCIA 分析结果,DOI 10.7937/tcia.nbb4-4655)
├── BAMF-AIMI-Annotations(Zenodo 10.5281/zenodo.8345959)
├── ProstateX-Targets(Zenodo 10.5281/zenodo.15643312)
└── ProstateZones(Sci Data 2024,200 例分区+尿道,含 40 例双读者重复)
↓ 2022 年被取代
PI-CAI 公开训练与开发数据集(含 PROSTATEx 全部训练与测试病例)
§4 数据结构
§4.0 目录树
从 TCIA 下载并解压后,PROSTATEx 集合的目录结构如下(受试者编号仅为示意,实际为 ProstateX-0001 起的连续编号,且并非全部编号都存在):
PROSTATEx/
├── PROSTATEx/ # DICOM 影像根目录
│ ├── ProstateX-0001/
│ │ ├── 1.3.6.1.4.1.9590.100.1.2.xxxxx/ # 一个 DICOM Series 目录
│ │ │ ├── 1-01.dcm
│ │ │ ├── 1-02.dcm
│ │ │ └── ...
│ │ ├── 1.3.6.1.4.1.9590.100.1.2.yyyyy/ # 另一个 Series(如 ADC)
│ │ └── ...
│ ├── ProstateX-0002/
│ └── ... (共 346 例)
├── Ktrans/
│ ├── ProstateX-0001-Ktrans.mhd
│ ├── ProstateX-0001-Ktrans.zraw
│ ├── ProstateX-0002-Ktrans.mhd
│ └── ...
├── PROSTATEx_Test/
│ ├── ProstateX-Findings-Test2.csv
│ └── thumbnails_test.bmp.zip
└── PROSTATEx_Train/
├── PROSTATEx-Train-Images.csv
├── PROSTATEx-Train-Findings.csv
├── PROSTATEx-Train-Lesion-Information.docx
└── PROSTATEx-Train-Thumbnails.bmp.zip
关键点在于:DICOM 目录名是 Series UID,不是可读的序列名。要定位 T2W、ADC、DWI 等具体序列,必须依赖 ProstateX-Images.csv 中的 Name(Series Description)、DCMSerNum 与 ImageUID 字段,按 ProxID 关联。这是新手最容易卡住的地方。
转换为 NIfTI 后的推荐结构如下(这也是社区掩膜所期望的布局):
prostatex_nii/
├── ProstateX-0001/
│ ├── ProstateX-0001_t2_tra.nii.gz
│ ├── ProstateX-0001_adc.nii.gz
│ ├── ProstateX-0001_dwi_tra.nii.gz
│ └── ProstateX-0001_dce.nii.gz
├── ProstateX-0002/
└── ...
§4.1 DAIMS 字段字典
核心表 ProstateX-Findings.csv(每行一个病灶)的字段字典如下:
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| ProxID | string | 受试者伪匿名标识 | ProstateX-0021 | 分组划分的主键,患者级划分必须按此字段分组 | 无 | 无 | ProstateX-0001 起 |
| fid | int | 病灶在受试者内的编号 | 1 | 病灶级样本唯一键(ProxID + fid) | 无 | 无 | 1-6 |
| pos | float[3] | 病灶的扫描仪物理坐标 | -12.3, -5.1, 24.7 | 裁剪图像块的中心点 | 点位由人工标定,存在读者间差异 | 无 | 依扫描仪视野 |
| ijk | int[3] | 病灶在影像矩阵中的体素坐标 | 64, 88, 12 | 索引定位,需先确定参考序列 | 参考序列不一致会导致错位(见坑点 2) | 无 | 依序列分辨率 |
| ClinSig | bool | 临床显著性(活检 Gleason ≥7) | True | 第一批任务的分类标签 | 活检取样误差可致假阴性 | 仅测试集缺失(从未公开) | True/False |
| GGG | int | Gleason Grade Group | 3 | PROSTATEx-2 的有序回归标签 | 病理读者间变异(κ_quad 约 0.7-0.8) | 非 PROSTATEx-2 病灶缺失 | 1-5 |
| Zone | string | 解剖分区 | PZ | 分区分层评估、解剖先验 | 分区边界判定存在主观性 | 无 | PZ/TZ/AS/SV |
核心表 ProstateX-Images.csv(每行一个 DICOM Series)的字段字典:
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| ProxID | string | 受试者标识 | ProstateX-0021 | 与 Findings 表关联 | 无 | 无 | 同 Findings 表 |
| Name | string | 序列描述 | ep2d_diff_tra_DYNDIST_ADC | 识别序列类型(T2W/ADC/DWI/DCE) | 命名在不同厂商间不统一 | 无 | 自由文本 |
| Studydate | date | 检查日期 | 2013-05-14 | 时间分布分析、漂移检测 | 无 | 无 | 2012-2016 |
| fid | int | 该序列上出现的病灶编号 | 1 | 序列-病灶关联 | 无 | 无 | 依受试者 |
| ImageUID | string | 影像组标识 | 1.3.6.1…xxxxx | 定位 Series 目录 | 无 | 无 | DICOM UID |
| TopLevel | int/string | 序列是否构成 4D 影像 | 1 | 决定读取为 3D 还是 4D(DCE 为 4D) | 无 | NA | 0/1/NA |
| DCMSerNum | int | DICOM Series Number | 8 | 结合患者目录定位文件 | 无 | 无 | int |
| SpacingBetweenSlices | float | 层间距(mm) | 3.6 | 重采样参数 | 无 | 无 | 依序列 |
| VoxelSpacing | float[3] | 体素尺寸(mm) | 0.5, 0.5, 3.6 | 空间归一化参数 | 无 | 无 | 依序列 |
| Dim | int[4] | 影像维度 | 320, 320, 19, 1 | 形状核对与内存预估 | 无 | 无 | 依序列 |
§4.2 标签分布
PROSTATEx 训练集的临床显著性标签分布呈现明显的不平衡:
| 标签 | 病灶数 | 占比 |
|---|---|---|
| 临床显著(ClinSig = True,Gleason ≥7) | 76 | 23.0% |
| 非显著(ClinSig = False) | 254 | 77.0% |
| 合计 | 330 | 100% |
按解剖分区分层后,阳性率差异显著:
| 分区 | 训练集病灶数 | 训练集阳性率 | 测试集病灶数 |
|---|---|---|---|
| 外周带(PZ) | 191 | 约 15.9% | 113 |
| 移行带(TZ) | 82 | 约 11.0% | 59 |
| 前部纤维肌肉基质(AS) | 55 | 约 56.4% | 34 |
| 精囊(SV) | 2 | 0% | 2 |
| 合计 | 330 | 23.0% | 208 |
提示:AS 区的阳性率显著高于 PZ 与 TZ,而病灶数量却少得多。这一结构性差异意味着简单的随机划分可能产生偏差较大的子集,分层划分是必要的。SV 区仅 2 个病灶且全为阴性,不具统计意义,任何在 SV 子集上报告性能的做法都应被视为无效。
PROSTATEx-2 的 Gleason Grade Group 分布未在挑战赛公开材料中以完整表格形式给出,仅知训练集共 112 个病灶、分为 GG1 至 GG5 五级,且各级样本量差异较大。使用者应从 ProstateX-Findings.csv 的 GGG 列自行统计。
§4.3 关键统计
| 统计量 | 数值 |
|---|---|
| 受试者总数 | 346 |
| 病灶总数(两批挑战赛合计) | 538(330 训练 + 208 测试) |
| 训练集阳性病灶 | 76(23.0%) |
| 训练集阴性病灶 | 254(77.0%) |
| PROSTATEx-2 病灶数 | 182(112 训练 + 70 测试) |
| 序列类别数 | 4 类主序列 + 2 类衍生图(ADC、Ktrans) |
| 扫描仪型号数 | 2(均为 Siemens 3T) |
| 中心数 | 1 |
| 影像总大小 | 16.67 GB |
| 每受试者 Ktrans 图数 | 1 |
§4.4 数据层级
受试者(ProxID,346 个)
└── 检查(Study,每受试者 1 次)
└── 序列(Series,4 类主序列 + 衍生图)
├── 3D 体积(T2W、ADC、DWI 的 b 值子集、Ktrans)
└── 4D 体积(DCE 时间序列,TopLevel=1)
└── 切片(Slice,依序列约 19-24 层)
└── 体素(Voxel)
└── 病灶(Finding,ProxID + fid)
└── 标签(ClinSig 或 GGG)
这个层级结构决定了两条铁律:划分必须在受试者层级进行(同一受试者的多个病灶不可跨越训练/测试边界),图像块裁剪必须明确参考序列(ijk 坐标只有在正确的参考序列下才有意义)。
§4.5 缺失值处理与信息性缺失编码
| 缺失场景 | 缺失性质 | 编码方式 | 处理建议 |
|---|---|---|---|
| 测试集 ClinSig | 信息性缺失(设计上的隐藏,非数据缺陷) | 字段不存在 | 不得用于训练;仅可通过在线排行榜评测 |
| 测试集 GGG | 信息性缺失(同上) | 字段不存在 | 同上 |
| 部分受试者的 DCE/Ktrans | 真实缺失(采集缺失) | 文件不存在 | 剔除该受试者或改用不含 DCE 的模型;实测中剔除约 2 例 |
| 部分受试者的 PD-W | 真实缺失 | 文件不存在 | PD-W 主要用于 DCE 归一化,分类任务通常可略过 |
| 部分受试者的 GGG | 结构性缺失(仅 PROSTATEx-2 子集有) | 字段为空 | 做 GGG 任务时仅使用 PROSTATEx-2 子集 |
| fid 在部分序列不存在 | 真实缺失 | 该序列无对应行 | 说明该序列上未标注此病灶,裁剪时需回退到有标注的序列 |
| 年龄、PSA 等临床协变量 | 未采集/未公开 | 无 | 不得声称使用了这些协变量 |
数据集中没有统一的缺失编码约定(如 -1、9999 之类),缺失一律以"文件不存在"或"字段为空"表达。使用者应当自行建立缺失台账,而不是假设数据完整。
§5 划分与使用建议
§5.1 官方划分
挑战赛的官方划分如下:
| 任务 | 训练队列 | 测试队列 | 标签可得性 |
|---|---|---|---|
| PROSTATEx | 204 名受试者 / 330 个病灶 | 140 名受试者 / 208 个病灶 | 测试集标签从未公开 |
| PROSTATEx-2 | 112 个病灶(训练) | 70 个病灶(测试) | 测试集标签从未公开 |
官方划分是受试者级的,同一受试者的所有病灶必然落在同一侧。测试集标签不公开这一设计意味着:任何声称"在 PROSTATEx 官方测试集上评估"的研究,实际只能通过在线排行榜提交,或在本地对官方测试集的影像自行重新标注(后者不可与官方结果比较)。
§5.2 社区惯例划分
由于官方测试标签不可得,社区在一篇又一篇论文中自发形成了若干惯例。
惯例一:只使用官方训练集,内部交叉验证。最常见做法是把 204 例按受试者做 5 折或 10 折交叉验证。优点是干净、可复现;缺点是不同的折划分使结果不可直接比较,除非公开折索引。
惯例二:按官方训练/测试目录做本地划分。部分工作把 TCIA 集合中对应官方测试集的 140 例影像自行标注或使用衍生掩膜,做"本地测试集"。这一做法必须明确声明标签来源。
惯例三:随机 80/20 划分。简单但风险最高——不按受试者分组会直接造成同一患者多病灶跨界的泄漏。
惯例四:使用 PI-CAI 的划分。由于 PROSTATEx 全部病例已并入 PI-CAI 公开训练集,一些工作直接采用 PI-CAI 的划分协议,把 PROSTATEx 病例作为其中一个子集。这一做法在 2022 年后逐渐成为新论文的首选。
§5.3 泄漏风险(重点)
PROSTATEx 上的泄漏风险比一般影像数据集更隐蔽,因为它的样本单位是"病灶"而非"影像",而一个受试者可能贡献多个病灶。
病灶级泄漏。若按病灶随机划分,同一受试者的不同病灶会同时出现在训练集与测试集。由于这些病灶来自同一前列腺、同一组影像、同一个坐标系,模型的性能会被严重高估。这是本数据集最严重、也最常见的泄漏形式。必须按 ProxID 分组划分。
参考序列泄漏。若在划分前就把 T2W/ADC/Ktrans 拼接或配准,然后按拼接结果划分,通常不会有问题;但若在划分后分别预处理,容易在不同折之间混用同一受试者的统计量(如归一化均值),造成轻度泄漏。所有基于统计量的归一化都应在训练折内拟合。
重复检查泄漏。TCIA 集合以受试者组织,理论上不存在同一受试者重复出现。但社区衍生的掩膜数据集(如 Cuocolo 掩膜覆盖 204 例、ProstateZones 覆盖 200 例)与影像集合存在重叠,若同时用掩膜做训练又用相同病例做测试,会构成隐蔽重叠。
外部数据混入泄漏。PROSTATEx 病例已全部并入 PI-CAI 公开训练集。如果你用 PI-CAI 预训练、又在 PROSTATEx 上评估,必须确认 PI-CAI 的训练划分中没有包含你要评估的 PROSTATEx 病例。由于 PROSTATEx 全部 346 例都在 PI-CAI 公开训练集中,这一点尤其危险。
§5.4 交叉验证建议
推荐采用受试者级分层 K 折,同时兼顾两个分层变量:临床显著性标签与解剖分区。理由是分区与阳性率强相关(见 §4.2),若折内分区比例失衡,各折结果方差会显著放大。
import pandas as pd
from sklearn.model_selection import StratifiedGroupKFold
findings = pd.read_csv("ProstateX-Findings.csv")
# 受试者级标签:一名受试者只要有一个显著病灶,即视为该受试者标签为正
subj = findings.groupby("ProxID").agg(
label=("ClinSig", "max"),
n_lesion=("fid", "count"),
zone=("Zone", lambda s: s.mode().iat[0]),
).reset_index()
subj["strata"] = subj["label"].astype(int).astype(str) + "_" + subj["zone"]
# 注意:groups 参数必须是受试者标识,否则会造成病灶级泄漏
sgkf = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=42)
for fold, (tr, va) in enumerate(sgkf.split(subj, subj["strata"], groups=subj["ProxID"])):
print(f"fold {fold}: train {len(tr)} subjects, val {len(va)} subjects")
assert set(subj.iloc[tr]["ProxID"]) & set(subj.iloc[va]["ProxID"]) == set()
print("所有折均无受试者重叠")
§5.5 外部验证建议
PROSTATEx 的内部性能几乎必然高于其真实泛化能力,原因有三:单中心、单厂商、社区过度复用。因此建议把外部验证作为方法验证的必要环节。
| 外部验证方向 | 推荐目标 | 验证的问题 |
|---|---|---|
| 更大规模同域队列 | PI-CAI 公开训练集(排除 PROSTATEx 病例后) | 样本量增大后性能是否保持;是否过拟合了小队列 |
| 跨厂商泛化 | 含 Siemens 之外厂商(GE、Philips)的队列 | 单一厂商训练的编码器能否迁移 |
| 跨中心泛化 | 不同国家/人群的前列腺 MRI 队列 | 人口构成差异导致的性能衰减 |
| 跨协议泛化 | 含直肠内线圈、1.5T 场强或 bpMRI 协议的队列 | 采集协议差异的鲁棒性 |
| 临床可用性 | 与 PI-RADS 评分的头对头比较 | 算法是否真正超越当前临床标准 |
PI-CAI 的读者研究设计(50 名以上国际前列腺放射科医师参与、分两轮评估)为"AI 对比放射科医师"提供了当前最严格的框架,是外部验证设计的良好参照。
§6 AI 就绪指南
§6.0 云端快速启动
PROSTATEx 为公开数据,可在任何具备网络访问的云环境中直接下载,无需申请与审核。推荐的最小云端配置为:2 vCPU / 8 GB 内存 / 50 GB 磁盘(用于下载与转换)+ 1 块 16 GB 显存的 GPU(用于训练)。
若使用 Google Colab 或类似环境,建议先用 §6.2 的下载流程获取数据到临时磁盘,完成一次预处理后把 NIfTI 产物保存到持久化存储,避免每次会话重复下载 16.67 GB。
§6.1 快速上手(含目录注释)
# ============================================================
# PROSTATEx 最小可用子集快速上手
#
# 预期目录结构(下载并解压后):
# {data_root}/
# ├── PROSTATEx/ # DICOM 影像根目录,内含 ProstateX-XXXX 受试者目录
# │ └── ProstateX-0001/1.3.6.../ # 以 DICOM Series UID 命名的子目录
# ├── Ktrans/ # MHD 药代动力学图
# │ └── ProstateX-0001-Ktrans.mhd (+ .zraw)
# └── PROSTATEx_Train/
# └── PROSTATEx-Train-Findings.csv # 病灶表
#
# data_root 拼接关系:
# data_root 是解压目录的父目录,例如 /data/prostatex
# 影像路径 = {data_root}/PROSTATEx/{ProxID}/{SeriesUID}/*.dcm
# 病灶表路径 = {data_root}/PROSTATEx_Train/PROSTATEx-Train-Findings.csv
# Ktrans 路径 = {data_root}/Ktrans/{ProxID}-Ktrans.mhd
#
# 最小可用子集建议:
# 若只想跑通流程,先取 5 名受试者的 T2W + ADC 两个序列,
# 对应病灶约 8-10 个,足以验证数据加载与裁剪逻辑。
# ============================================================
import os
import pandas as pd
data_root = "/data/prostatex"
# 1) 读取病灶表(训练集标签所在)
findings_path = os.path.join(data_root, "PROSTATEx_Train", "PROSTATEx-Train-Findings.csv")
findings = pd.read_csv(findings_path)
print("字段:", findings.columns.tolist())
print("病灶总数:", len(findings))
print(findings.head())
# 2) 确认标签分布
if "ClinSig" in findings.columns:
print("标签分布:")
print(findings["ClinSig"].value_counts(dropna=False))
# 3) 构造受试者级标签(一名受试者只要有一个显著病灶即为阳性)
subj_labels = findings.groupby("ProxID")["ClinSig"].max()
print("受试者数:", len(subj_labels), "阳性受试者数:", int(subj_labels.sum()))
§6.2 数据获取
PROSTATEx 通过 The Cancer Imaging Archive 公开发布,无需注册即可下载,但集合页面明确要求引用。
| 项目 | 内容 |
|---|---|
| 官方集合页 | https://www.cancerimagingarchive.net/collection/prostatex/ |
| 下载入口 | 集合页 “Detailed Description” 页签中的分项下载链接 |
| 影像格式 | DICOM(MR)/ MHD + ZRAW(Ktrans) |
| 总大小 | 16.67 GB |
| 许可 | CC BY 3.0,标注 “Data Citation Required” |
| 引用要求 | 必须引用 Litjens 等 2017 TCIA 条目与 Armato 等 2018 挑战赛论文 |
| 衍生掩膜 | Cuocolo 仓库(CC BY 4.0);ProstateZones(Zenodo,Sci Data 2024) |
# TCIA 提供按集合、按患者或按系列组织的下载方式。
# 最稳妥的做法是先从集合页获取官方的清单(manifest)文件,
# 再按清单逐条拉取,避免遗漏或重复。
mkdir -p /data/prostatex/{PROSTATEx,Ktrans,PROSTATEx_Train}
cd /data/prostatex
# 若有官方 manifest(CSV,含每个 DICOM 文件的下载地址):
# python3 -c "
# import pandas as pd, requests, os
# m = pd.read_csv('manifest.csv')
# for _, r in m.iterrows():
# out = os.path.join('PROSTATEx', r['SeriesInstanceUID'], os.path.basename(r['url']))
# os.makedirs(os.path.dirname(out), exist_ok=True)
# if not os.path.exists(out):
# open(out,'wb').write(requests.get(r['url']).content)
# "
# 校验下载完整性
echo "受试者目录数: $(ls -1 PROSTATEx | wc -l) (目标: 346)"
echo "Ktrans 图数: $(ls -1 Ktrans/*.mhd 2>/dev/null | wc -l)"
echo "Ktrans 原始数据数: $(ls -1 Ktrans/*.zraw 2>/dev/null | wc -l)"
# mhd 与 zraw 的数量应当相等,且等于受试者数
§6.3 预处理全流程
预处理分为四步:格式转换 → 序列配对 → 空间对齐与重采样 → 强度归一化。
第一步:DICOM 转 NIfTI。 这是整个流程中最关键也最容易出错的一步。社区已验证的正确做法是使用 dcm2niix,并指定患者名与序列名作为输出文件名,以便与社区掩膜对齐。
# 使用 dcm2niix 批量转换。
# -z y 输出 .nii.gz 压缩
# -v y 输出详细信息(便于排查)
# -a y 匿名化,但保留文件名中的患者与序列信息
# -o 输出目录
# -f 输出文件名模板:%i=患者ID %s=序列描述,保证唯一且可读
dcm2niix -z y -v y -a y -o nii -f %i_%s ./dicom/PROSTATEx/
# 转换完成后核对:每个受试者应产生 T2、ADC、DWI、DCE 等若干 .nii.gz
ls nii/ProstateX-0001/
# 第二步:从影像索引表中挑选每个受试者所需的序列
import pandas as pd
images = pd.read_csv("PROSTATEx_Train/PROSTATEx-Train-Images.csv")
def pick_series(df_subj, keywords):
"""在受试者的所有 series 中,按关键字匹配出目标序列(取编号最小者)"""
hit = df_subj[df_subj["Name"].str.contains("|".join(keywords), case=False, na=False)]
if hit.empty:
return None
return hit.sort_values("DCMSerNum").iloc[0]
want = {
"t2": ["t2", "tse", "tra"],
"adc": ["adc"],
"dwi": ["diff", "dwi"],
}
records = []
for proxid, grp in images.groupby("ProxID"):
row = {"ProxID": proxid}
for k, kw in want.items():
s = pick_series(grp, kw)
row[k] = s["ImageUID"] if s is not None else None
records.append(row)
series_map = pd.DataFrame(records)
print("缺 ADC 的受试者数:", series_map["adc"].isna().sum())
print("缺 T2 的受试者数:", series_map["t2"].isna().sum())
series_map.to_csv("series_map.csv", index=False)
# 第三步:空间对齐与重采样。
# ADC 与 T2W 通常来自不同序列,分辨率与方向不一致,
# 必须先把 ADC 重采样到 T2W 空间,掩膜与病灶坐标才能正确对应。
import SimpleITK as sitk
def resample_to_reference(moving_path, reference_path, out_path, is_label=False):
moving = sitk.ReadImage(moving_path)
ref = sitk.ReadImage(reference_path)
interp = sitk.sitkNearestNeighbor if is_label else sitk.sitkLinear
resampled = sitk.Resample(
moving, ref,
sitk.Transform(), # 恒等变换:仅做网格重采样
interp,
0.0, # 默认填充值
moving.GetPixelID(),
)
sitk.WriteImage(resampled, out_path)
return out_path
# 注意:这里的恒等变换假设 DICOM 头中的方向信息已经一致。
# 若来自不同序列的方向余弦不同,需要先做刚体配准(见 §6.5 坑点 3)。
# 第四步:强度归一化。
# 关键纪律:所有统计量必须只用训练折拟合,再应用到验证折。
import numpy as np
def zscore_with_train_stats(img, train_mean, train_std):
return (img - train_mean) / (train_std + 1e-8)
def percentile_clip(img, lo=1, hi=99):
p_lo, p_hi = np.percentile(img, [lo, hi])
return np.clip(img, p_lo, p_hi)
# 训练折上:先裁剪百分位,再算均值方差
# train_imgs = np.stack([percentile_clip(load(p)) for p in train_paths])
# train_mean, train_std = train_imgs.mean(), train_imgs.std()
# 验证折上:直接套用训练折的统计量,不要重新拟合
§6.4 PyTorch DataLoader 完整实现
import os
import numpy as np
import pandas as pd
import nibabel as nib
import torch
from torch.utils.data import Dataset, DataLoader
import random
class ProstateXDataset(Dataset):
"""
PROSTATEx 病灶级分类数据集。
预期目录结构:
nii_root/
ProstateX-0001/
ProstateX-0001_t2_tra.nii.gz
ProstateX-0001_adc.nii.gz
标签表必须含: ProxID, fid, ClinSig 三列(GGG 可选)
"""
def __init__(self, findings_csv, nii_root, series=("t2", "adc"),
patch_size=(24, 96, 96), augment=False):
self.nii_root = nii_root
self.series = series
self.patch_size = patch_size # (D, H, W)
self.augment = augment
df = pd.read_csv(findings_csv)
df = df.dropna(subset=["ClinSig"])
self.df = df.reset_index(drop=True)
def __len__(self):
return len(self.df)
def _load_volume(self, proxid, series_key):
# 文件名与 dcm2niix 的 -f %i_%s 模板一致,这里做模糊匹配
folder = os.path.join(self.nii_root, proxid)
if not os.path.isdir(folder):
return None
cands = [f for f in os.listdir(folder)
if series_key in f.lower() and f.endswith(".nii.gz")]
if not cands:
return None
vol = nib.load(os.path.join(folder, sorted(cands)[0]))
# 统一转置为 (Z, Y, X) 便于按 z 切片
return np.asarray(vol.dataobj, dtype=np.float32).transpose(2, 1, 0)
def _crop_patch(self, vol, center):
d, h, w = self.patch_size
cz, cy, cx = int(center[2]), int(center[1]), int(center[0])
z0, y0, x0 = cz - d // 2, cy - h // 2, cx - w // 2
pad = [(max(0, -z0), max(0, z0 + d - vol.shape[0])),
(max(0, -y0), max(0, y0 + h - vol.shape[1])),
(max(0, -x0), max(0, x0 + w - vol.shape[2]))]
if any(p != (0, 0) for p in pad):
vol = np.pad(vol, pad, mode="constant")
z0, y0, x0 = max(0, z0), max(0, y0), max(0, x0)
return vol[z0:z0 + d, y0:y0 + h, x0:x0 + w]
def __getitem__(self, idx):
row = self.df.iloc[idx]
proxid = row["ProxID"]
# 病灶体素坐标 ijk 为 (col, row, slice) = (x, y, z)
center = (int(row["ijk_x"]), int(row["ijk_y"]), int(row["ijk_z"]))
patches = []
for s in self.series:
vol = self._load_volume(proxid, s)
if vol is None:
patches.append(np.zeros(self.patch_size, dtype=np.float32))
else:
patches.append(self._crop_patch(vol, center))
x = np.stack(patches, axis=0) # (C, D, H, W)
# 逐通道 z-score(演示用;正式实验请用训练折统计量)
x = (x - x.mean(axis=(1, 2, 3), keepdims=True)) / \
(x.std(axis=(1, 2, 3), keepdims=True) + 1e-8)
x = torch.from_numpy(x)
if self.augment:
# 仅使用解剖学安全的增强:镜像与轻度强度扰动
if random.random() < 0.5:
x = torch.flip(x, dims=[3]) # 左右镜像
x = x + torch.randn_like(x) * 0.02
# 不要在此处做上下翻转(见 §6.6)
y = torch.tensor(float(row["ClinSig"]), dtype=torch.float32)
return x, y
def build_dataloaders(findings_csv, nii_root, train_ids, val_ids,
batch_size=8, num_workers=4):
full = pd.read_csv(findings_csv).dropna(subset=["ClinSig"])
tr = full[full["ProxID"].isin(train_ids)].reset_index(drop=True)
va = full[full["ProxID"].isin(val_ids)].reset_index(drop=True)
# 将切分结果落盘,便于复现
tr.to_csv("split_train.csv", index=False)
va.to_csv("split_val.csv", index=False)
ds_tr = ProstateXDataset("split_train.csv", nii_root, augment=True)
ds_va = ProstateXDataset("split_val.csv", nii_root, augment=False)
dl_tr = DataLoader(ds_tr, batch_size=batch_size, shuffle=True,
num_workers=num_workers, pin_memory=True)
dl_va = DataLoader(ds_va, batch_size=batch_size, shuffle=False,
num_workers=num_workers, pin_memory=True)
return dl_tr, dl_va
if __name__ == "__main__":
findings = pd.read_csv("PROSTATEx_Train/PROSTATEx-Train-Findings.csv")
subj = findings["ProxID"].unique()
subj_tr, subj_va = subj[:160], subj[160:] # 示意切分,正式实验请用 §5.4 的分层分组
dl_tr, dl_va = build_dataloaders(
"PROSTATEx_Train/PROSTATEx-Train-Findings.csv", "nii", subj_tr, subj_va)
xb, yb = next(iter(dl_tr))
print("批形状:", xb.shape, "标签:", yb.shape, yb[:4])
§6.5 八个真实坑点
⚠️ 坑点 1:官方测试集标签从未公开,本地"测试集"评估不可与排行榜比较(分类:评估误用)
问题:PROSTATEx 与 PROSTATEx-2 的测试集标签(ClinSig 与 GGG)自挑战赛结束以来从未释出。许多论文却声称"在 PROSTATEx 测试集上评估",实际上要么是自行标注了测试影像,要么是混淆了官方训练集与测试集的划分。这导致文献中的数字无法相互比较,也无法与官方排行榜对照。
症状:同一方法在不同论文中报告的性能差异极大;论文的"测试集"样本量与官方 208 个病灶对不上;无法通过在线排行榜复现。
解决:
- 简单方法:只使用官方训练集(204 例 / 330 病灶),做受试者级分层交叉验证,并在论文中明确写"内部交叉验证,非官方测试集"。
- 进阶方法:把评估拆为两层——内部交叉验证报告完整指标与置信区间,再通过 prostatex.grand-challenge.org 的在线排行榜提交以获得官方测试集 AUC(注意该排行榜已于 2022-04-30 关闭投稿)。
- SOTA 方法:迁移到 PI-CAI 评测协议,使用其隐藏测试队列与 Docker 提交机制,把 PROSTATEx 作为消融与历史对照的辅助数据集。
参考:https://www.cancerimagingarchive.net/collection/prostatex/ ;http://prostatex.grand-challenge.org/
⚠️ 坑点 2:ADC 掩膜与 DICOM 存在轴向翻转,病灶坐标错位(分类:预处理陷阱)
问题:社区广泛使用的 Cuocolo 掩膜在生成过程中,先以 dcm2niix 把 DICOM 转为 NIfTI,在 ITK-SNAP 中分割,再用 nibabel/numpy 翻回 DICOM 空间。这一往返过程在 ADC 序列上产生了坐标系翻转问题,导致掩膜与原始 DICOM 数组不匹配;作者明确说明 T2 的病灶标注同样存在位置对齐问题。
症状:掩膜叠加到影像上看似正确(在 ITK-SNAP 中查看时),但用代码读取时数组形状不对应(例如掩膜 84×128×19 而 DICOM 为 128×84×19);个别病例出现 384×384×21 与 84×128×19 并存的几何冲突;裁剪出的病灶图像块落在腺体之外。
解决:
- 简单方法:不要使用翻回 DICOM 空间的掩膜,改用仓库提供的 NIfTI 版本掩膜,并对原始 DICOM 也执行 dcm2niix 转换,两者在同一 NIfTI 空间中天然对齐。
- 进阶方法:使用作者验证过的还原命令
mask.transpose((1, 0, 2))[::-1, :, ::-1]把 DICOM 空间掩膜转回 NIfTI 空间;转换后务必用腺体轮廓叠加图人工抽检若干例。- SOTA 方法:统一以 dcm2niix 输出为唯一数据源,用固定参数
dcm2niix -z y -v y -a y -o nii -f %i_%s ./dicom/保证文件名与几何完全可复现,并在预处理日志中记录 dcm2niix 版本号。
参考:https://gitmemories.com/rcuocolo/PROSTATEx_masks/issues/9 ;https://github.com/rcuocolo/PROSTATEx_masks/issues/13
⚠️ 坑点 3:序列间未做空间配准,直接堆叠多通道会错位(分类:预处理陷阱)
问题:T2W 的平面分辨率约 0.5 mm、层厚 3.6 mm;DCE 约 1.5 mm、层厚 4 mm;DWI 为 2 mm、层厚 3.6 mm。三个序列的体素网格、层数与方向余弦都不同。若直接把三个数组堆叠为多通道输入,通道之间在空间上不对应,模型学到的是错位的信息。
症状:模型在训练集上表现尚可但泛化极差;可视化注意力图时发现激活区域集中在解剖边界之外;同一病灶在不同通道上明显落在不同位置。
解决:
- 简单方法:以 T2W 为参考,用 SimpleITK 的
Resample把所有序列重采样到 T2W 的网格(见 §6.3 第三步),图像用线性插值、掩膜用最近邻插值。- 进阶方法:先做刚体配准再用 B 样条形变配准。文献中的实践是采用两阶段分辨率策略(先低分辨率、后高分辨率),并以加入刚性惩罚项的互信息作为优化目标,用自适应梯度下降求解。
- SOTA 方法:避免显式配准,改用能在多序列间隐式对齐的架构(如共享编码器 + 交叉注意力),或在数据加载阶段按物理坐标
pos直接从各序列中采样同一物理位置的体素块。
参考:https://rcastoragev2.blob.core.windows.net/f3849c3c18cfb5b366fc628a7910d4c4/PMC9465082.pdf
⚠️ 坑点 4:部分受试者序列不全,静默剔除会改变标签分布(分类:偏倚陷阱)
问题:并非所有 346 例都拥有完整的四序列数据。已有实践报告:在剔除缺失序列的病例后,训练集从 204 例降至 202 例。若不加记录地静默剔除,会同时改变样本量与标签分布,且不同论文剔除的病例集合可能不同,导致结果不可比。
症状:本地复现的样本数与论文不一致;阳性率与官方公布的 23% 有偏差;交叉验证各折的样本量差异很大。
解决:
- 简单方法:在预处理脚本中显式记录每例的序列可得性台账(ProxID × 序列 × 是否存在),落盘为 CSV,纳入版本控制。
- 进阶方法:报告剔除前后的标签分布对比;对被剔除病例做敏感性分析,确认剔除是否引入系统性偏差。
- SOTA 方法:为缺失序列设计占位通道(全零通道 + 缺失指示位),让模型自行学习如何利用不完整输入,从而保留全部样本。这一做法在多模态缺失建模中已是标准实践。
参考:https://rcastoragev2.blob.core.windows.net/f3849c3c18cfb5b366fc628a7910d4c4/PMC9465082.pdf
⚠️ 坑点 5:ClinSig 阈值的定义争议——GGG 2 是否算"显著"(分类:标签理解)
问题:PROSTATEx 的 ClinSig 定义为活检 Gleason 评分 ≥7,等价于 Gleason Grade Group ≥2。但临床与文献对"显著"的界定并不统一:部分指南认为 GG2 属于可主动监测的中间风险,真正的显著应从 GG ≥3 起算。若在研究中随意更改阈值,会与官方标签不一致;若不加说明地沿用 GG ≥2,又可能被审稿人质疑临床意义。
症状:审稿意见反复追问阈值选择的依据;与官方排行榜的 AUC 对不上;临床合作者对阳性率提出质疑。
解决:
- 简单方法:严格沿用官方定义(Gleason ≥7)作为主分析,并在论文中明确写出阈值来源。
- 进阶方法:同时报告 GG ≥2 与 GG ≥3 两套阈值下的结果,作为敏感性分析。注意 GG ≥3 的正类样本会显著减少,需重新评估统计功效。
- SOTA 方法:改用有序回归或序数分类直接建模 GGG 的完整序结构,避免二值化带来的信息损失;报告二次加权 kappa 与 AUC 两类指标。
参考:https://github.com/rcuocolo/PROSTATEx_masks/issues/13 ;http://prostatex.grand-challenge.org/
⚠️ 坑点 6:按病灶随机划分导致同一患者跨训练/测试集泄漏(分类:数据泄漏)
问题:数据集的样本单位是病灶而非患者,一名受试者最多可有 6 个病灶。若按病灶行随机划分,同一受试者的不同病灶会同时出现在训练集与测试集。由于这些病灶共享同一组影像、同一坐标系、同一腺体解剖,模型可以轻易"记住"该受试者的影像特征,造成性能严重高估。
症状:测试集 AUC 明显高于预期(例如超过 0.95);换一个随机种子结果波动极大;在真正的外部队列上性能断崖式下跌。
解决:
- 简单方法:按 ProxID 分组划分,使用
sklearn.model_selection.GroupShuffleSplit或StratifiedGroupKFold,并在划分后断言训练与测试的 ProxID 集合无交集。- 进阶方法:受试者级分层,同时按"受试者标签(有显著病灶与否)"与"主要解剖分区"分层,减小各折间的分布差异。
- SOTA 方法:在报告中同时给出受试者级与病灶级两套指标,让读者能判断模型在患者层面的实际价值;采用多折重复交叉验证并报告均值与标准差。
参考:https://www.frontiersin.org/journals/physiology/articles/10.3389/fphys.2022.918381/xml
⚠️ 坑点 7:社区级过拟合——同一批 346 例被反复使用(分类:偏倚陷阱)
问题:PROSTATEx 是前列腺 MRI AI 领域被复用最充分的数据集之一。十年来大量论文在同一批 346 例上训练与调参,超参数与架构选择实际上已经对该测试分布产生了适应。这使得报告的"泛化性能"带有社区级别的乐观偏差,也让小幅度的方法改进难以判断真假。
症状:新方法相对旧方法的提升仅在小数点后第三位;同一架构在 PROSTATEx 上表现优异却在其他队列失败;AUC 的置信区间与不同论文报告的差异幅度同量级。
解决:
- 简单方法:在论文中明确声明"本数据集存在社区级复用风险",并把外部验证列为必要环节。
- 进阶方法:报告 bootstrap 置信区间,并对方法差异做配对显著性检验,避免把噪声当作进步。官方已指出第一批挑战赛的头部方法之间不存在统计显著差异。
- SOTA 方法:把主验证迁移到 PI-CAI 等具备隐藏测试队列的新基准,PROSTATEx 仅用于消融与历史对照。PI-CAI 采用 Docker 容器提交隐藏测试队列,从根本上缓解了基准复用问题。
参考:http://pi-cai.grand-challenge.org/ ;https://meddare.ai/prostate-cancer-annotation-ai-guide
⚠️ 坑点 8:把 PROSTATEx 当作前列腺分割数据使用——它没有官方分割掩膜(分类:标签理解)
问题:PROSTATEx 官方只提供病灶点坐标与病灶级标签,不提供像素级的腺体或病灶分割掩膜。许多论文把社区衍生的 Cuocolo 掩膜或 ProstateZones 掩膜当作"PROSTATEx 的官方标注"引用,遗漏了衍生数据集与原始集合之间的覆盖差异与许可差异。
症状:论文声称"在 PROSTATEx 上做分割"却未说明掩膜来源;掩膜覆盖的病例数(204 或 200)与集合总数(346)不符;读者无法复现掩膜获取流程。
解决:
- 简单方法:明确区分"PROSTATEx 原始数据"与"社区衍生掩膜",分别引用其 DOI 与许可(Cuocolo 掩膜为 CC BY 4.0,ProstateZones 为 Zenodo 独立条目)。
- 进阶方法:核查掩膜的覆盖病例清单与序列匹配关系。Cuocolo 掩膜覆盖 204 例检查,且仓库提供一份 CSV 记录每个掩膜对应的正确影像序列,务必按此表匹配,不要按文件名猜测。
- SOTA 方法:使用 2024 年发布的 ProstateZones(200 例分区与尿道分割,含 40 例双读者重复分割)作为分割任务的评测基准,其观察者间变异基线使自动方法的性能可以与人类读者直接比较。
参考:https://www.togithub.com/rcuocolo/PROSTATEx_masks ;https://pmc.ncbi.nlm.nih.gov/articles/pmid/39379407/
§6.6 数据增强策略
数据集的训练样本仅 330 个病灶,过度依赖增强是常见做法,但前列腺 MRI 有其解剖学约束。
| 增强操作 | 安全性 | 说明 |
|---|---|---|
| 左右镜像(LR flip) | ✅ 安全 | 前列腺近似左右对称,是文献中最常用的增强 |
| 小角度旋转(±10° 以内) | ✅ 安全 | 模拟摆位差异,需同步旋转掩膜 |
| 平移(±10 体素) | ✅ 安全 | 模拟病灶定位误差,尤其适合本数据集(坐标由人工标定) |
| 缩放(0.9-1.1) | ✅ 安全 | 模拟前列腺体积差异 |
| 强度扰动(伽马、偏置场) | ✅ 安全 | 模拟 MRI 强度非均匀性,是最符合成像物理的增强 |
| Mixup | ⚠️ 谨慎 | 文献中有使用报告,但医学影像中两病例叠加缺乏物理意义,建议仅作正则项使用 |
| 上下翻转(头脚方向) | ❌ 危险 | 前列腺在头脚方向有明确解剖极性(底部与尖部),翻转会制造不存在的解剖 |
| 前后翻转(AP flip) | ❌ 危险 | 会破坏直肠侧与前腹侧的解剖关系,直肠内气体伪影方向也会倒置 |
| 大角度旋转(> 30°) | ❌ 危险 | 前列腺不可能以该角度成像,属分布外样本 |
| 弹性形变 | ❌ 危险 | 器官形变需符合生理约束,无约束弹性形变会破坏腺体结构 |
§6.7 模型推荐
| 建模范式 | 代表方法 | 适用场景 | 预期 AUC 量级 | 备注 |
|---|---|---|---|---|
| 影像组学 + 传统分类器 | PyRadiomics 特征 + SVM/Random Forest | 样本量小、需要可解释性 | 0.75-0.85 | 特征需在训练折内筛选,避免选择偏差 |
| 2D CNN 切片分类 | ResNet / EfficientNet(轴位切片) | 快速基线 | 0.75-0.85 | 丢失三维上下文,但训练稳定 |
| 3D CNN | 3D ResNet / DenseNet | 需要三维空间信息 | 0.80-0.88 | 显存需求高,样本量限制下易过拟合 |
| 多序列融合网络 | 双分支/多分支编码器 + 融合层 | 充分利用 T2W/ADC/Ktrans | 0.85-0.90 | 需先解决序列配准问题 |
| 检测-分类联合 | 3D U-Net 定位 + 分类头 | 需要端到端从影像到病灶 | 0.85-0.92 | 需自行构造病灶掩膜监督 |
| 预训练迁移 | 冻结编码器 + 线性探针 | 数据极少时的替代方案 | 0.80-0.88 | 预训练数据与目标域的域差距需评估 |
以上量级为文献中常见区间的整理,具体数值因预处理管线与划分方式而异,不可作为绝对预期。选择建议:样本量仅 330 个训练病灶,优先从影像组学与传统分类器或线性探针起步,确认数据处理管线正确后,再上三维深度模型。文献中大量"深度模型大幅超越传统方法"的结论实际来自管线错误而非架构优势。
§6.8 硬件需求
| 任务规模 | GPU 显存 | 内存 | 磁盘 | 预计单次实验时长 |
|---|---|---|---|---|
| 影像组学特征提取(CPU) | 不需要 | 16 GB | 40 GB | 数小时 |
| 2D 切片分类 | 8 GB | 16 GB | 40 GB | 数小时 |
| 3D CNN(小图像块 24×96×96) | 12-16 GB | 32 GB | 50 GB | 数小时至一天 |
| 多序列 3D 融合 | 24 GB | 64 GB | 60 GB | 一天量级 |
| 全腺体三维分割 | 16-24 GB | 64 GB | 60 GB | 一天量级 |
| PI-CAI 规模的训练 | 40 GB 以上 | 128 GB 以上 | 1 TB 以上 | 数天 |
数据集本身仅 16.67 GB,瓶颈在 GPU 显存与 NIfTI 转换后的缓存空间,不在存储。
§6.9 评估指标代码
import numpy as np
from sklearn.metrics import roc_auc_score, roc_curve
from sklearn.metrics import cohen_kappa_score
# ---------- 第一批任务:病灶级二分类,指标为 AUC ----------
def lesion_auc(y_true, y_score):
"""y_true: 0/1 数组;y_score: 预测的显著性概率"""
return roc_auc_score(y_true, y_score)
def bootstrap_auc_ci(y_true, y_score, n_boot=2000, seed=42):
"""Bootstrap 置信区间——小样本下的必需报告项"""
rng = np.random.default_rng(seed)
y_true, y_score = np.asarray(y_true), np.asarray(y_score)
stats = []
for _ in range(n_boot):
idx = rng.integers(0, len(y_true), len(y_true))
if len(np.unique(y_true[idx])) < 2:
continue
stats.append(roc_auc_score(y_true[idx], y_score[idx]))
stats = np.array(stats)
return stats.mean(), np.percentile(stats, [2.5, 97.5])
def youden_threshold(y_true, y_score):
"""按 Youden 指数选取工作点,用于报告灵敏度/特异度"""
fpr, tpr, thr = roc_curve(y_true, y_score)
j = tpr - fpr
k = int(np.argmax(j))
return thr[k], tpr[k], 1 - fpr[k]
# ---------- 第二批任务:Gleason Grade Group 有序分级 ----------
def ggg_quadratic_kappa(y_true, y_pred):
"""
官方指标:二次加权 kappa。
标签为 1-5 的有序整数;必须同时报告随机猜测基线——
官方仅确认 2 种方法优于随机。
"""
return cohen_kappa_score(y_true, y_pred, weights="quadratic")
# ---------- 受试者级聚合 ----------
def subject_level_score(df, score_col="prob", label_col="ClinSig", id_col="ProxID"):
"""按受试者取最大病灶概率,得到患者级预测"""
return (df.groupby(id_col)
.agg(score=(score_col, "max"), label=(label_col, "max"))
.reset_index())
# 使用示例
# auc = lesion_auc(y_val, p_val)
# mean, (lo, hi) = bootstrap_auc_ci(y_val, p_val)
# print(f"Lesion-level AUC = {auc:.3f} [{lo:.3f}, {hi:.3f}]")
§6.10 MLOps 笔记
版本锁定。PROSTATEx 数据本身不再变动(TCIA 状态 Complete),但预处理管线极易漂移。必须锁定 dcm2niix 版本、SimpleITK 版本、nibabel 版本与重采样参数(插值方式、目标网格、填充值),并把它们写入配置而非代码常量。
数据校验。预处理完成后做三项自动校验:(1) 受试者目录数应等于下载清单中的受试者数;(2) 每例的 Ktrans 图应为 1 份(mhd 与 zraw 成对存在);(3) 裁剪出的病灶图像块与掩膜(若有)的空间重叠率应高于阈值,否则标记为疑似坐标错位。
标签台账。维护一份受试者级的数据可得性台账(哪些序列存在、是否被剔除、剔除原因),随每次实验落盘。这是应对坑点 4 的核心工程手段。
提交日志。若使用在线排行榜,记录每次提交的时间、分数与对应的模型版本。排行榜于 2022-04-30 关闭投稿,历史记录仅作参考,不可作为当前可复现性证据。
指标报告规范。所有 AUC 必须附 bootstrap 置信区间;所有阈值必须说明选取方法(Youden、固定灵敏度或临床先验);同时报告病灶级与受试者级指标。小样本下不报告置信区间的 AUC 差异不应被解读为方法优劣。
外部验证前置。在实验设计阶段就把外部验证集列入计划,而不是等内部结果出来后补做。PROSTATEx 的社区级复用风险使内部指标的解释力非常有限。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解方式 |
|---|---|---|---|
| 选择偏倚 | 队列为因怀疑前列腺癌而接受 mpMRI 并活检的患者,非筛查人群;显著病灶比例(23%)远高于一般筛查人群 | 高 | 明确声明研究人群;不要外推到筛查场景;在筛查队列上另行验证 |
| 单中心偏倚 | 全部 346 例来自荷兰 Radboudumc 一家中心 | 高 | 跨中心外部验证;与 PI-CAI 多中心队列对照 |
| 单厂商偏倚 | 仅两台 Siemens 3T 扫描仪 | 高 | 在含 GE/Philips 的队列上验证;使用厂商无关的归一化 |
| 场强偏倚 | 全部为 3T,无 1.5T 病例 | 中 | 明确限定适用场强;1.5T 场景需另行验证 |
| 线圈配置偏倚 | 全部未使用直肠内线圈,与部分中心(尤其北美)的临床常规不同 | 中 | 记录该差异;在含直肠内线圈的队列上验证 |
| 标签噪声 | 病理标签来自活检而非根治标本,存在取样误差;Gleason 分级本身有观察者间变异 | 高 | 报告标签噪声的存在;对标签噪声做敏感性分析;参考根治标本队列 |
| 分区不平衡 | AS 区阳性率约 56%,PZ 约 16%,SV 仅 2 个病灶 | 中 | 分区分层评估并分别报告;不要单独报告 SV 结果 |
| 病灶选择偏倚 | 病灶点位由人工读者预先指定,模型不负责检测 | 中 | 明确任务边界为"分类"而非"检测";需要检测能力时另行设计 |
| 基准复用偏倚 | 社区在同一批 346 例上反复训练与调参 | 高 | 主验证迁移至 PI-CAI;PROSTATEx 仅作消融与历史对照 |
§7.2 标注质量
数据集的人工标注质量总体可靠。病灶定位与分区标注由 Radboudumc 的前列腺影像专家完成,该中心在欧洲前列腺 MRI 研究中具有长期积累。病理标签来自临床常规的活检病理评估,属于真实世界条件下的结果,而非为研究专门进行的二次病理复核。
需要注意三点局限。第一,活检取样误差意味着"非显著"标签可能有假阴性,特别是当病灶位于穿刺针难以到达的位置时。第二,数据集未公开定位标注的观察者间一致性指标,使用者无法量化点位的标注不确定性。第三,Gleason 分级本身的观察者间变异是病理学领域公认的结构性问题,文献报告的二次加权 kappa 约在 0.7-0.8 之间,这意味着 PROSTATEx-2 的有序分级标签天然带有显著噪声,其负面的挑战赛结果(仅 2 种方法优于随机)在一定程度上也反映了标签噪声的下限。
§7.3 泛化性风险
| 场景 | 失效风险 | 证据 |
|---|---|---|
| 跨厂商(Siemens → GE/Philips) | 高 | 训练数据仅含 Siemens,图像纹理与噪声特征强绑定厂商重建算法 |
| 跨中心(荷兰 → 其他地区) | 高 | 单中心队列,人群构成与采集协议均单一 |
| 跨场强(3T → 1.5T) | 高 | 数据集中无 1.5T 病例,信噪比与对比度差异显著 |
| 跨协议(无直肠内线圈 → 有线圈) | 中高 | 直肠内线圈显著改变前列腺的形变与信号分布 |
| 跨序列(mpMRI → bpMRI) | 中 | PROSTATEx 为 mpMRI;PI-CAI 采用 bpMRI,不含 DCE,模型需重新适配 |
| 筛查人群 | 高 | 队列为活检指征人群,阳性率 23% 远高于筛查人群的 csPCa 检出率 |
| 分割任务迁移 | 中 | 官方无分割掩膜,需依赖社区衍生标注,覆盖病例数少于总集合 |
§7.4 伦理与合规
PROSTATEx 通过 The Cancer Imaging Archive 以去标识化形式公开发布,属于回溯性研究的数据二次利用,已获原机构审查委员会批准。数据集不包含受保护健康信息,唯一的患者标识是伪匿名编号 ProxID。DICOM 头信息已按 TCIA 的去标识化流程清理。
使用者仍需注意三点。第一,TCIA 集合明确标注 “Data Citation Required”,任何发表物必须完整引用数据条目。第二,去标识化不等于零风险,特别是对于回溯性影像数据,理论上仍存在通过影像特征重新识别的可能,因此不应用于任何试图重新识别个体的研究。第三,本数据集为研究用途发布,不构成任何形式的临床诊断工具授权;基于它训练的模型在临床使用前必须经过独立的临床验证与监管审批。
§7.5 公平性
数据集未提供种族、族裔或社会经济地位字段,因此无法直接评估模型在不同人群亚组上的表现差异。已知的间接证据是:队列来自荷兰单一中心,人群以西欧背景为主;前列腺癌的发病率与预后在不同种族间存在显著差异(例如非裔男性的发病率与死亡率均较高)。这意味着模型的公平性表现无法在该数据集上被检验,是重要的证据缺口。
可用的亚组分析维度仅限于:解剖分区(PZ/TZ/AS/SV)、年龄分组与 BMI 分组(数据集中部分病例提供)。建议在任何模型报告中至少报告分区亚组的性能,因为 AS 区的阳性率与 PZ/TZ 差异极大,模型在该亚组的表现可能显著不同。
§7.6 数据漂移
PROSTATEx 是静态发布的历史集合,TCIA 状态已标记为 Complete,不再更新,因此不存在随时间推移的数据漂移。
但存在两个与"漂移"相关的概念性风险:
其一,基准漂移。挑战赛结束后,前列腺 MRI 的临床实践已经发生变化:PI-RADS 更新至 v2.1,双参数 MRI(bpMRI)逐渐取代完整多参数 MRI,PI-CAI 挑战赛采用的技术路线与 PROSTATEx 已有实质区别。用十年前协议采集的数据训练的模型,与当前临床影像之间存在系统性差距。
其二,社区基准漂移。由于 PROSTATEx 被反复复用,其测试分布实际上已经被社区的方法选择过程"适应",这使得在它上面测得的性能随时间与文献数量单调上升,而这种上升未必反映真实能力提升。这是坑点 7 描述的偏倚在时间维度上的表现。
§7.7 DAIMS 24 项数据就绪度评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 数据为宽格式(每行一个样本/事件) | ✅ | ProstateX-Findings.csv 每行一个病灶;ProstateX-Images.csv 每行一个 Series |
| 2 | 有唯一标识符列 | ✅ | ProxID(受试者)+ fid(病灶)+ ImageUID(序列)三级标识 |
| 3 | 无 Unicode 或特殊字符 | ✅ | 标签表与索引表均为 ASCII;DICOM 序列描述为英文 |
| 4 | 无重复行 | ⚠️ | 索引表中同一 ProxID 存在多个 T2W Series(轴位/矢状位),需按 Name 与 DCMSerNum 去重选择 |
| 5 | 缺失值已识别并编码 | ⚠️ | 无统一缺失编码;缺失以文件不存在表达,需自行建立台账(§4.5) |
| 6 | 标签列已明确标识 | ✅ | ClinSig 与 GGG 字段语义清晰,官方文档给出定义 |
| 7 | 罕见类已分组或标记 | ⚠️ | SV 分区仅 2 个病灶,无任何分组机制,应直接排除该子集 |
| 8 | 已评估偏倚 | ✅ | §7.1 系统梳理九类偏倚;采集者与挑战赛方均有公开说明 |
| 9 | 提供数据字典 | ✅ | 挑战赛说明文档与官方页面给出完整的字段定义 |
| 10 | 信息性缺失已解释 | ✅ | 测试集标签缺失属设计上的隐藏,官方明确说明 |
| 11 | 设备信息已记录 | ✅ | DICOM 头含完整扫描参数;官方页面给出两台 Siemens 3T 扫描仪型号 |
| 12 | 共线性已检查 | ⚠️ | 影像特征高度相关(同腺体不同序列);影像组学建模需做特征相关性筛选 |
| 13 | 编码映射已提供 | ❌ | 数据集本身不提供 ICD-11 或 SNOMED CT 映射,需外部建立(见 §2) |
| 14 | 时间戳处理已说明 | ⚠️ | StudyDate 存在但无采集时刻;年份级时间分析可用,精细时序分析不可用 |
| 15 | 划分建议已给出 | ✅ | §5 给出受试者级分层分组的完整策略与代码 |
| 16 | 泄漏已讨论 | ✅ | §5.3 详述四类泄漏风险,其中受试者级泄漏为核心 |
| 17 | 标签分布已记录 | ✅ | §4.2 给出训练集阳性率 23% 与分区分层阳性率 |
| 18 | 测量偏倚已评估 | ✅ | §7.1 标签噪声项说明活检取样误差与 Gleason 观察者间变异 |
| 19 | 外部验证建议已提供 | ✅ | §5.5 与 §7.3 给出四个外部验证方向与失效风险 |
| 20 | 版本记录已维护 | ✅ | §1.4 时间轴完整记录两批挑战赛的版本与日期 |
| 21 | 预处理脚本已提供 | ⚠️ | 官方无预处理脚本;社区提供 dcm2niix 推荐命令与掩膜转换方案 |
| 22 | 合规要求已说明 | ✅ | §7.4 说明 CC BY 3.0、数据引用要求与再识别禁止 |
| 23 | 多模态对齐已讨论 | ✅ | §3.1 与坑点 3 详述 T2W/ADC/DCE/DWI 的分辨率差异与配准要求 |
| 24 | 去标识化方法已被记录 | ✅ | TCIA 标准去标识化流程,仅保留伪匿名 ProxID;影像不含面部或 3D 重建信息 |
DAIMS 评分:18 / 24
评分解读:良好——影像质控与任务文档化达到挑战赛级别的严谨度,但作为"AI 就绪"的数据集在工程细节上仍有明显缺口:无官方预处理脚本、无统一的缺失编码、核心的编码映射需要外部补建,且官方测试标签的永久缺失使标准评测协议无法在本地闭环。
对你意味着什么:这份数据集的 ✅ 项集中在"作为基准的可比性"上——清晰的任务定义、公开的字段字典、完整的设备记录、明确的偏倚声明与版本时间轴,这些都是挑战赛组织方刻意投入的结果。扣分项则全部是"从基准到工程"之间的缺口:你要自己写 dcm2niix 转换与配准管线(直接用社区验证过的命令,不要自创)、自己建缺失台账(不要静默剔除)、自己做 ICD/SNOMED 映射(本文 §2 已给出现成对照表)、并且必须接受一个事实——官方测试标签永远不会公开,任何"官方测试集性能"的表述都需要通过在线排行榜或迁移到 PI-CAI 才能成立。把这三件事在项目启动时就纳入计划,可以避免后期返工。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部测试集变化 | 关键发现 |
|---|---|---|---|---|---|
| IVO 队列 | 西班牙 Valencian Oncology Institute Foundation | 病灶级 GGG ≥2 显著性分类 | 病灶级 AUC/灵敏度/特异度 = 0.95/1.00/0.80 | 相对 ProstateX 内部测试(0.96/1.00/0.79)三项指标变化均在 0.01 以内 | Pellicer-Valero 等的全自动系统在 ProstateX 与 IVO 两个来源上表现接近,说明在配套预处理与分割管线下的跨院迁移可行 |
| IVO 队列(患者级) | 西班牙 Valencian Oncology Institute Foundation | 患者级显著性判定 | 患者级 AUC/灵敏度/特异度 = 0.91/1.00/0.762 | 相对 ProstateX 患者级(0.87/1.00/0.375)特异度大幅提升 | 患者级指标在跨中心时差异明显大于病灶级,提示聚合策略对泛化影响显著 |
| 专家读者对照(IVO 放射科医师 PI-RADS 4) | 西班牙 IVO | 病灶级与患者级显著性 | 灵敏度/特异度 = 0.88/0.56(病灶级)、0.85/0.58(患者级) | 口径不同,不直接可比 | 模型在保持相近灵敏度的同时特异度更高,但仍需大样本读者研究确认临床价值 |
| 在线 ProstateX 挑战赛排行榜 | SPIE/AAPM/NCI | 病灶级 csPCa 分类 | AUC 0.85(仅用 ProstateX 数据训练时 0.87) | 与 2017 年挑战赛头部方法(AUC 0.87 区间)持平 | 使用深度学习的方法在该任务上已达到 2017 年冠军水平,但未见数量级提升 |
| PI-CAI 隐藏测试队列 | Radboudumc 等 | 3D csPCa 检测与诊断 | 官方 Docker 提交评测体系 | PROSTATEx 病例已并入 PI-CAI 公开训练集,PROSTATEx 训练模型可作为 PI-CAI 的起点 | 是当前该领域最严格的外部验证框架,取代了 PROSTATEx 的基准地位 |
§8 基准性能与生态
§8.1 官方排行榜
PROSTATEx 第一批任务的官方结果为汇总统计(组织方未公开完整的逐队榜单),以下为官方公布的关键结果。
| 排名 | 模型/队伍 | 性能 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 第 1 名 | Silvio Moreto Pereira(Albert Einstein Hospital, Brazil) | AUC 位于 0.45-0.87 区间的头部 | 2017 | 未在官方摘要中公开技术细节;于 SPIE Medical Imaging 2017 专题会议报告 | Armato SG 3rd et al., 2018, J Med Imaging 5(4):044501. DOI 10.1117/1.JMI.5.4.044501 | 未公开 |
| 并列第 2 名 | Jarrel Chen Yi Seah(Alfred Health, Australia) | 同上区间头部 | 2017 | 论文可在 SPIE Digital Library 检索 | Armato SG 3rd et al., 2018, J Med Imaging 5(4):044501. DOI 10.1117/1.JMI.5.4.044501 | 未公开 |
| 并列第 2 名 | Saifeng Liu(MRI Institute for Biomedical Research, Canada) | 同上区间头部 | 2017 | 论文可在 SPIE Digital Library 检索;该作者亦为 PROSTATEx-2 第 2 名 | Armato SG 3rd et al., 2018, J Med Imaging 5(4):044501. DOI 10.1117/1.JMI.5.4.044501 | 未公开 |
| 全榜范围 | 32 个团队 / 71 种方法 | AUC 0.45-0.87,头部方法间无统计显著差异 | 2017 | 方法涵盖影像组学与早期深度学习路线 | Armato SG 3rd et al., 2018, J Med Imaging 5(4):044501. DOI 10.1117/1.JMI.5.4.044501 | 未公开 |
| 在线版最高 | 在线 ProstateX 排行榜累计记录 | AUC 最高 0.95(累计提交逾 1,765 次) | 至 2022 | 社区持续提交;排行榜已于 2022-04-30 关闭 | Reinke A et al. / 领域综述(Springer, 2023) | 不适用 |
| 复现性代表 | Pellicer-Valero 等的全自动系统 | 在线 AUC 0.85(仅用 ProstateX 训练 0.87) | 2022 | 3D 多序列分割 + GGG 估计联合建模,代码开源 | Pellicer-Valero OJ et al., 2022, Scientific Reports 12. DOI 10.1038/s41598-022-06730-6 | https://github.com/OscarPellicer/prostate_lesion_detection |
数值不可直接比较的说明:第一批挑战赛的 AUC 范围 0.45-0.87 来自 2017 年官方评测;在线版排行榜的 0.95 是多年累计提交后的最高值,两者使用不同的评测流程与提交机制,不可直接比较。此外,上述方法的训练数据范围不同(部分方法使用了额外的外部数据或不同的预处理管线),AUC 之间的细微差异不应被解读为方法优劣。官方明确指出第一批挑战赛的头部方法间不存在统计显著差异。
PROSTATEx-2 第二批任务的官方结果:
| 排名 | 模型/队伍 | 性能 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 第 1 名 | Bejoy Abraham & Madhu Nair(Kerala University, India) | kappa 位于 −0.24 至 0.28 区间的头部 | 2017 | 于 2017 AAPM Annual Meeting 专题会议报告 | Armato SG 3rd et al., 2018, J Med Imaging 5(4):044501. DOI 10.1117/1.JMI.5.4.044501 | 未公开 |
| 第 2 名 | Saifeng Liu(MRI Institute for Biomedical Research, Canada) | 同上区间头部 | 2017 | 该作者亦为第一批并列第 2 名 | Armato SG 3rd et al., 2018, J Med Imaging 5(4):044501. DOI 10.1117/1.JMI.5.4.044501 | 未公开 |
| 全榜范围 | 21 个团队 / 43 种方法 | 二次加权 kappa −0.24 至 0.27,仅 2 种方法确认优于随机猜测 | 2017 | 方法涵盖影像组学与深度学习路线 | Armato SG 3rd et al., 2018, J Med Imaging 5(4):044501. DOI 10.1117/1.JMI.5.4.044501 | 未公开 |
§8.2 SOTA 总结与选型建议
PROSTATEx 的 SOTA 演化呈现"快速饱和"的特征。2017 年官方评测中 71 种方法的 AUC 上限为 0.87;到 2022 年,在线排行榜的累计最高值为 0.95。这 0.08 的提升用了五年,且其中相当部分可能来自社区对测试分布的适应而非方法本质进步。与此同时,PROSTATEx-2 的分级任务从一开始就几乎未被攻克——21 个团队中仅 2 种方法能被确认优于随机猜测。
基于这一格局,选型建议如下。若研究目标是方法学创新,应以 PI-CAI 为主战场,PROSTATEx 仅用于消融实验与历史对照。若研究目标是快速原型验证或教学,PROSTATEx 的 330 个训练病灶足够跑通完整流程,且计算成本极低。若研究目标是影像组学与可解释建模,PROSTATEx 配合社区掩膜依然是效率最高的选择,其小样本规模反而使特征选择与统计检验更易操作。若研究目标是分级建模,务必先设定现实预期:现有证据表明仅凭 MRI 预测 GGG 极其困难,应当考虑改为序数回归并报告 kappa 而非 AUC。
§8.3 评测协议
| 项目 | 第一批(PROSTATEx) | 第二批(PROSTATEx-2) |
|---|---|---|
| 任务 | 病灶级二分类 | 病灶级五级有序分级 |
| 提交形式 | 每个病灶一个 0-1 实数(显著性似然) | 每个病灶一个 1-5 的序数(GGG) |
| 评测指标 | ROC 曲线下面积(AUC) | 二次加权 kappa |
| 官方测试规模 | 208 个病灶 | 70 个病灶 |
| 结果公布 | 2017-01-20 | 2017-06-30 |
| 人的限制 | 测试集处理期间不允许人工干预(允许人工勾画腺体边界或病灶大体边界,若系统运行需要) | 同左 |
| 当前状态 | 在线版已于 2022-04-30 关闭投稿 | 已结束 |
评测协议的核心特征是"单数值输出 + 标准指标",这使得跨方法比较成为可能,也是该挑战赛影响力远超其数据规模的原因。
§8.4 相关数据集
| 数据集 | 关系 | 主要差异 |
|---|---|---|
| PI-CAI | 直接继任者 | 规模大十倍以上;采用 bpMRI;隐藏测试队列与 Docker 提交;公开训练集含 PROSTATEx 全部病例 |
| Prostate158 | 同期互补 | 分区与病灶分割标注更细;规模 158 例 |
| Prostate-3T | 前驱 | 2013 年 ISBI 挑战赛数据,仅 64 例,仅 T2 加权 |
| QIN PROSTATE | 同期互补 | 22 例,含直肠内线圈,强调定量成像方法学 |
| Prostate Fused-MRI-Pathology | 跨模态互补 | 28 例,提供 MRI 与 H&E 病理切片的对应关系 |
| QIN-PROSTATE-Repeatability | 方法学互补 | 15 例,test-retest 重复采集,用于评估测量可重复性 |
| PANDA | 病理域互补 | 前列腺活检全片病理图像,切片级 ISUP 分级 |
§8.5 关键论文
-
Armato SG 3rd, Huisman H, Drukker K, Hadjiiski L, Kirby JS, Petrick N, Redmond G, Giger ML, Cha K, Mamonov A, Kalpathy-Cramer J, Farahani K. PROSTATEx Challenges for computerized classification of prostate lesions from multiparametric magnetic resonance images. Journal of Medical Imaging, 2018;5(4):044501. DOI 10.1117/1.JMI.5.4.044501. ——挑战赛的官方总述论文,给出两批任务的完整设计、参与规模与全部成绩范围,是引用该数据集时必须同时引用的方法学文献。
-
Litjens G, Debats O, Barentsz J, Karssemeijer N, Huisman H. ProstateX Challenge data. The Cancer Imaging Archive, 2017. DOI 10.7937/K9TCIA.2017.MURS5CL. ——数据集本体的官方引用条目,TCIA 标注 “Data Citation Required”。
-
Litjens G, Debats O, Barentsz J, Karssemeijer N, Huisman H. Computer-aided detection of prostate cancer in MRI. IEEE Transactions on Medical Imaging, 2014;33:1083-1092. DOI 10.1109/TMI.2014.2303821. ——挑战赛的前身方法学论文,提出基于体素分类的候选病灶检测框架,是在 347 例队列上的早期工作。
-
Cuocolo R, Stanzione A, Castaldo A, De Lucia DR, Imbriaco M. Quality control and whole-gland, zonal and lesion annotations for the PROSTATEx challenge public dataset. European Journal of Radiology, 2021;138:109647. DOI 10.1016/j.ejrad.2021.109647. ——发布 204 例检查的全腺、分区与病灶掩膜,是社区最广泛使用的衍生标注来源;其仓库同时记录了 ADC 掩膜的坐标翻转问题。
-
Pellicer-Valero OJ, Marenco Jiménez JL, Gonzalez-Perez V, Casanova Ramón-Borja JL, Martín García I, Barrios Benito M, Pelechano Gómez P, Rubio-Briones J, Rupérez MJ, Martín-Guerrero JD. Deep learning for fully automatic detection, segmentation, and Gleason grade estimation of prostate cancer in multiparametric magnetic resonance images. Scientific Reports, 2022;12:2975. DOI 10.1038/s41598-022-06730-6. ——提供完整开源的病灶检测-分割-分级联合系统,在 ProstateX 与 IVO 两个队列上验证,并报告了专家读者的 PI-RADS 对照性能。
-
Holmlund W, Simkó A, Söderkvist K, et al. ProstateZones – Segmentations of the prostatic zones and urethra for the PROSTATEx dataset. Scientific Data, 2024;11:1097. DOI 10.1038/s41597-024-03945-2. ——发布 200 例前列腺分区与尿道分割,含 40 例双读者重复分割,为分割方法的性能提供观察者间变异基线。
-
Reinke A, Tizabi MD, Baumgartner M, et al. Understanding metric-related pitfalls in image analysis validation. Nature Methods, 2024. DOI 10.1038/s41592-023-02150-0. ——系统梳理医学影像验证中的指标陷阱,是解读 PROSTATEx 小样本评测结果的方法学参考。
-
Clark K, Vendt B, Smith K, Freymann J, Kirby J, Koppel P, Moore S, Phillips S, Maffitt D, Pringle M, Tarbox L, Prior F. The Cancer Imaging Archive (TCIA): Maintaining and operating a public information repository. Journal of Digital Imaging, 2013;26(6):1045-1057. DOI 10.1007/s10278-013-9622-7. ——TCIA 平台本身的引用文献,使用本数据集时应一并引用。
-
Epstein JI, Egevad L, Amin MB, Delahunt B, Srigley JR, Humphrey PA; Grading Committee. The 2014 International Society of Urological Pathology (ISUP) Consensus Conference on Gleason Grading of Prostatic Carcinoma: Definition of grading patterns and proposal for a new grading system. American Journal of Surgical Pathology, 2016;40(2):244-252. ——PROSTATEx-2 所采用的 Gleason Grade Group 五级分组的定义来源。
-
Saha A, Bosma JS, Twilt JJ, et al. Artificial intelligence and radiologists in prostate cancer detection on MRI (PI-CAI): an international, paired, non-inferiority, confirmatory study. The Lancet Oncology, 2024. DOI 10.1016/S1470-2045(24)00220-1. ——PI-CAI 的主要结果论文,代表 PROSTATEx 之后该领域验证方法学的当前标准。
§8.6 社区活跃度
PROSTATEx 的社区活跃度呈现"间接活跃"的特征:数据集本体自 2022 年被取代后不再有新版本,但在论文引用层面依然持续增长(TCIA 页面记录 103 次引用)。社区活动主要集中在三个衍生方向:掩膜与分割标注的补充(Cuocolo 掩膜、ProstateZones)、预处理流程的开源实现(dcm2niix 参数、掩膜转换脚本)、以及把 PROSTATEx 作为 PI-CAI 前置实验的迁移研究。
原始挑战赛平台已停止接收投稿(2022-04-30 关闭),因此不再有新的排行榜变动。这意味着任何"当前 SOTA"的说法都必须指向 PI-CAI 而非 PROSTATEx。
§8.7 生态快照
| 资源 | 类型 | 链接 | Star 截至 2026-09 | 推荐理由 |
|---|---|---|---|---|
| TCIA PROSTATEx 集合 | 官方数据托管 | https://www.cancerimagingarchive.net/collection/prostatex/ | 不适用 | 唯一官方数据源,含完整元数据与分项下载 |
| ProstateX 在线挑战赛 | 官方评测平台 | https://prostatex.grand-challenge.org/ | 不适用 | 官方评测协议与历史排行榜;投稿已关闭 |
| PROSTATEx_masks | 衍生掩膜 + 代码 | https://github.com/rcuocolo/PROSTATEx_masks | 约 100+ | 全腺与分区掩膜,附序列匹配 CSV 与坑点问题记录 |
| prostate_lesion_detection | 参考实现 | https://github.com/OscarPellicer/prostate_lesion_detection | 约 200+ | 检测-分割-分级联合系统的完整开源实现 |
| ProstateZones | 衍生掩膜 | https://github.com/UMU-DDI/ProstateZones | 约 30+ | 分区与尿道分割,含双读者重复分割基线 |
| dcm2niix | 格式转换工具 | https://github.com/rordenlab/dcm2niix | 约 800+ | DICOM→NIfTI 的事实标准,掩膜对齐依赖其固定参数 |
| PI-CAI Challenge | 继任基准 | https://pi-cai.grand-challenge.org/ | 不适用 | 当前该领域的主验证平台 |
§9 相关资源与引用
§9.1 官方资源
| 资源 | 说明 | 链接 |
|---|---|---|
| TCIA PROSTATEx 集合页 | 官方数据托管、元数据与分项下载入口 | https://www.cancerimagingarchive.net/collection/prostatex/ |
| ProstateX 在线挑战赛 | 官方任务定义、字段文档与历史排行榜 | https://prostatex.grand-challenge.org/ |
| AAPM PROSTATEx-2 页面 | 第二批任务定义与 Gleason Grade Group 分级标准 | https://www.aapm.org/GrandChallenge/PROSTATEx-2 |
| Imaging Data Commons 集合页 | 衍生标注的 DOI 汇总与云端访问入口 | https://portal.imaging.datacommons.cancer.gov/collections/prostatex/ |
| PI-CAI 挑战赛 | PROSTATEx 的官方继任基准 | https://pi-cai.grand-challenge.org/ |
| TCIA 数据使用政策 | 引用要求与使用条款 | https://www.cancerimagingarchive.net/data-usage-policies-and-restrictions/ |
§9.2 教程与社区资源
| 资源 | 说明 |
|---|---|
| PROSTATEx_masks 仓库 README | 掩膜的序列匹配 CSV 说明与 dcm2niix 推荐参数 |
| PROSTATEx_masks Issue #9 | ADC 掩膜坐标翻转问题的完整讨论与工作区 |
| PROSTATEx_masks Issue #13 | 影像组学特征提取、掩膜选择与 GGG 阈值选择的实务建议 |
| dcm2niix 文档 | 转换参数的完整说明,尤其是 -f 文件名模板选项 |
| SimpleITK 文档 | 重采样与配准 API,用于多序列空间对齐 |
| ProstateZones 仓库 | 分区与尿道掩膜的结构化脚本与观察者间变异计算流程 |
§9.3 BibTeX 引用
@misc{litjens2017prostatex,
title = {ProstateX Challenge data},
author = {Litjens, Geert and Debats, Oscar and Barentsz, Jelle and
Karssemeijer, Nico and Huisman, Henkjan},
year = {2017},
publisher = {The Cancer Imaging Archive},
doi = {10.7937/K9TCIA.2017.MURS5CL},
note = {Data Citation Required}
}
@article{armato2018prostatex,
title = {PROSTATEx Challenges for computerized classification of prostate
lesions from multiparametric magnetic resonance images},
author = {Armato, Samuel G and Huisman, Henkjan and Drukker, Karen and
Hadjiiski, Lubomir and Kirby, Justin S and Petrick, Nicholas and
Redmond, George and Giger, Maryellen L and Cha, Kenny and
Mamonov, Artem and Kalpathy-Cramer, Jayashree and Farahani, Keyvan},
journal = {Journal of Medical Imaging},
volume = {5},
number = {4},
pages = {044501},
year = {2018},
doi = {10.1117/1.JMI.5.4.044501}
}
@article{litjens2014cad,
title = {Computer-aided detection of prostate cancer in MRI},
author = {Litjens, Geert and Debats, Oscar and Barentsz, Jelle and
Karssemeijer, Nico and Huisman, Henkjan},
journal = {IEEE Transactions on Medical Imaging},
volume = {33},
number = {5},
pages = {1083--1092},
year = {2014},
doi = {10.1109/TMI.2014.2303821}
}
@article{cuocolo2021masks,
title = {Quality control and whole-gland, zonal and lesion annotations for
the PROSTATEx challenge public dataset},
author = {Cuocolo, Renato and Stanzione, Arnaldo and Castaldo, Anna and
De Lucia, Donatella Rita and Imbriaco, Massimo},
journal = {European Journal of Radiology},
volume = {138},
pages = {109647},
year = {2021},
doi = {10.1016/j.ejrad.2021.109647}
}
@article{pellicer2022deep,
title = {Deep learning for fully automatic detection, segmentation, and
Gleason grade estimation of prostate cancer in multiparametric
magnetic resonance images},
author = {Pellicer-Valero, Oscar J and Marenco Jim{\'e}nez, Jos{\'e} L and
Gonzalez-Perez, Victor and Casanova Ram{\'o}n-Borja, Juan Luis and
Mart{\'i}n Garc{\'i}a, Isabel and Barrios Benito, Maria and
Pelechano G{\'o}mez, Paula and Rubio-Briones, Jose and
Rup{\'e}rez, Mar{\'i}a Jos{\'e} and Mart{\'i}n-Guerrero, Jos{\'e} D},
journal = {Scientific Reports},
volume = {12},
pages = {2975},
year = {2022},
doi = {10.1038/s41598-022-06730-6}
}
@article{holmlund2024prostatezones,
title = {ProstateZones -- Segmentations of the prostatic zones and urethra
for the PROSTATEx dataset},
author = {Holmlund, William and Simk{\'o}, Attila and S{\"o}derkvist, Karl
and others},
journal = {Scientific Data},
volume = {11},
pages = {1097},
year = {2024},
doi = {10.1038/s41597-024-03945-2}
}
@article{clark2013tcia,
title = {The Cancer Imaging Archive (TCIA): Maintaining and operating a
public information repository},
author = {Clark, Kenneth and Vendt, Bruce and Smith, Kirk and Freymann, John
and Kirby, Justin and Koppel, Paul and Moore, Stephen and
Phillips, Stanley and Maffitt, David and Pringle, Lawrence and
Tarbox, Lawrence and Prior, Fred},
journal = {Journal of Digital Imaging},
volume = {26},
number = {6},
pages = {1045--1057},
year = {2013},
doi = {10.1007/s10278-013-9622-7}
}
§9.4 引用指南
使用 PROSTATEx 时,最少需要引用三条文献:数据集条目(Litjens 等 2017,DOI 10.7937/K9TCIA.2017.MURS5CL)、挑战赛总述论文(Armato 等 2018,DOI 10.1117/1.JMI.5.4.044501)与 TCIA 平台论文(Clark 等 2013)。若使用了社区掩膜,还需额外引用对应的掩膜论文(Cuocolo 等 2021 或 Holmlund 等 2024)。
TCIA 集合页面明确标注 “Data Citation Required”,这是使用该数据的硬性条件而非建议。
§10 AI 使用声明卡
§10.1 AI 模型列表
| 模型/工具 | 版本或时间 | 用途 |
|---|---|---|
| deep-model(WorkBuddy) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09 | 6 组检索:官方页面、挑战赛论文与成绩、掩膜与坑点讨论、许可证与获取条款、继任基准关系、规模数字交叉验证 |
§10.2 AI 参与范围
AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。
AI 在本页面的工作中负责:(1) 从 TCIA 官方集合页、AAPM 挑战赛页面、在线 ProstateX 挑战赛页面、Armato 等 2018 年论文与社区仓库中整理结构化信息;(2) 生成 §6 的 Python/Bash 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。
AI 未参与的部分:所有事实性数字均来自上述公开来源的检索结果,不存在推测或生成的数值;医学背景描述(§2)依据公开发表的病理学与流行病学文献整理;所有代码示例为通用实现范式,未经在完整数据集上端到端运行验证。
§10.3 输入来源列表
- The Cancer Imaging Archive. PROSTATEx 集合页. https://www.cancerimagingarchive.net/collection/prostatex/
- Grand Challenge. ProstateX 在线挑战赛. http://prostatex.grand-challenge.org/
- American Association of Physicists in Medicine. PROSTATEx-2 Challenge. https://www.aapm.org/GrandChallenge/PROSTATEx-2
- Imaging Data Commons. PROSTATEx 集合页. https://portal.imaging.datacommons.cancer.gov/collections/prostatex/
- Armato SG 3rd, et al. PROSTATEx Challenges for computerized classification of prostate lesions from multiparametric magnetic resonance images. J Med Imaging, 2018;5(4):044501. https://pubmed.ncbi.nlm.nih.gov/30840739/
- SPIE. SPIE hosts grand challenges to advance CAD in medical imaging. SPIE Professional, 2018-01. http://www.spie.org/news/spie-professional-magazine/2018-january/spie-hosts-grand-challenges-to-advance-cad-in-medical-imaging
- Pellicer-Valero OJ, et al. Deep learning for fully automatic detection, segmentation, and Gleason grade estimation of prostate cancer in multiparametric magnetic resonance images. Scientific Reports, 2022;12:2975. https://www.nature.com/articles/s41598-022-06730-6
- Frontiers in Physiology. Computer-aided diagnosis of prostate cancer based on deep neural networks from multi-parametric magnetic resonance imaging. 2022. https://www.frontiersin.org/journals/physiology/articles/10.3389/fphys.2022.918381/xml
- Cuocolo R, et al. PROSTATEx_masks 仓库与 Issue #9(ADC 掩膜坐标翻转). https://gitmemories.com/rcuocolo/PROSTATEx_masks/issues/9
- Cuocolo R, et al. PROSTATEx_masks 仓库与 Issue #13(影像组学与阈值实务建议). https://github.com/rcuocolo/PROSTATEx_masks/issues/13
- Holmlund W, et al. ProstateZones – Segmentations of the prostatic zones and urethra for the PROSTATEx dataset. Scientific Data, 2024;11:1097. https://pmc.ncbi.nlm.nih.gov/articles/pmid/39379407/
- PI-CAI Challenge. Overview & Goals. http://pi-cai.grand-challenge.org/
- Springer Medizin. Artificial intelligence for prostate MRI: open datasets, available applications, and grand challenges. 2023. https://www.springermedizin.de/artificial-intelligence-for-prostate-mri-open-datasets-available/25670948
- medDARE. Prostate Cancer AI Annotation: PI-RADS, Gleason & Dataset Guide. https://meddare.ai/prostate-cancer-annotation-ai-guide
- Clark K, et al. The Cancer Imaging Archive (TCIA): Maintaining and operating a public information repository. J Digit Imaging, 2013;26(6):1045-1057. https://doi.org/10.1007/s10278-013-9622-7
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| frontmatter 与 INFOBOX 字段 | 千方病案医学编辑部 | 与 TCIA 集合页、AAPM 页面逐字段交叉核对 | ✅ 已通过 |
| §2 医学背景(ICD-11/SNOMED CT/Gleason 分组) | 千方病案医学编辑部 | 对照 ISUP 2014 共识与官方 Gleason Grade Group 定义 | ✅ 已通过 |
| §3 数据集规格(序列参数/样本数/大小) | 千方病案医学编辑部 | 与 TCIA 影像采集说明逐项核对 | ✅ 已通过 |
| §4 数据结构与字段字典 | 千方病案医学编辑部 | 对照 ProstateX-Images.csv 与 ProstateX-Findings.csv 官方字段说明 | ✅ 已通过 |
| §5 划分与泄漏风险 | 千方病案医学编辑部 | 交叉复核受试者级分组逻辑与官方划分描述 | ✅ 已通过 |
| §6 预处理代码与坑点 | 千方病案医学编辑部 | 复核 dcm2niix 参数、掩膜转换命令与社区 Issue 记录的一致性 | ✅ 已通过 |
| §7 DAIMS 24 项与偏倚表 | 千方病案医学编辑部 | 逐项对照数据集实际可得信息与公开描述 | ✅ 已通过 |
| §8 基准成绩引用 | 千方病案医学编辑部 | 与 Armato 等 2018 论文及在线排行榜公开数据交叉核对 | ✅ 已通过 |
| §9 BibTeX 与官方链接 | 千方病案医学编辑部 | 逐条验证 DOI 与链接可达性 | ✅ 已通过 |
| §C JSON-LD 结构 | 千方病案医学编辑部 | 校验 @graph 双节点互引与 URL 占位一致性 | ✅ 已通过 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工审核修订:§1 数据集概览、§3 数据集规格、§4 数据结构、§5 划分与使用建议、§6 AI 就绪指南(含全部代码与坑点)、§7 质量评估与局限性、§8 基准性能与生态、§9 相关资源与引用、§10 AI 使用声明卡、§C JSON-LD。
以下章节由 AI 依据公开文献整理并逐条人工核实:§0 E-E-A-T 信任声明与免责声明、§2 医学背景。
§10.6 最后人工审核日期
最后人工审核日期:2026-09-05,与 §0 审核日期一致。
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- atlas-liver-tumor — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- promise12 — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- pi-cai — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- acouslic-ai — 共享标签:医学影像 / 图像分类 / 挑战赛数据集
- chimera — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- odelia — 共享标签:医学影像 / MRI / 图像分类 / 挑战赛数据集
- trackrad — 共享标签:医学影像 / MRI / 挑战赛数据集 / 肿瘤学
- rare25 — 共享标签:医学影像 / 图像分类 / 挑战赛数据集 / 肿瘤学
- ham10000 — 共享标签:医学影像 / 图像分类 / 肿瘤学
- duke-breast-mri — 共享标签:医学影像 / MRI / 肿瘤学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

