PANDA — 前列腺癌 Gleason 分级挑战数据集 AI-Ready Wikipedia

10,616 张穿刺活检 WSI、ISUP 0-5 六级、双中心像素级 mask 的病理 AI 基准

来源 https://www.kaggle.com/competitions/prostate-cancer-grade-assessment发布时间: 2026-09-19最后更新: 2026-09-25 阅读 23
PANDA — 前列腺癌 Gleason 分级挑战数据集 AI-Ready Wikipedia

信息速览

数据集名称PANDA — 前列腺癌 Gleason 分级挑战数据集 AI-Ready Wikipedia
数据类型10,616 张穿刺活检 WSI,ISUP 0-5 + 像素级 mask,双中心 383 GB,CC BY-NC-SA 4.0
规模约 1.1 万例前列腺穿刺活检(回顾性、脱敏);slide 级分析
接入方式https://www.kaggle.com/competitions/prostate-cancer-grade-assessment
AI 就绪度

PANDA — 前列腺癌 Gleason 分级挑战数据集 AI-Ready Wikipedia

INFOBOX

属性 内容
全称 Prostate cANcer graDe Assessment(PANDA)Challenge
发布方 Radboud University Medical Center(荷兰)+ Karolinska Institute(瑞典)
发布渠道 Kaggle(2020 年竞赛,1,000+ 队,$25,000 奖金)
规模 10,616 张 H&E 穿刺活检 WSI(约 383 GB)
中心构成 Radboud 5,160 + Karolinska 5,456
任务 slide 级 ISUP Grade 0-5 六分类
像素标注 mask(Karolinska 3 类 / Radboud 6 类)
官方指标 Quadratic Weighted Kappa(QWK)
图像规格 TIFF、20x、约 20,000×20,000 像素/张
许可 CC BY-NC-SA 4.0
本库关联 camelyon16/17(WSI 挑战赛同族)、关联

§0 E(前列腺多模态)、tcia(病理来源) |

§0 E-E-A-T 信任声明与免责声明

  • 经验:本文 MIL 训练配方、双源评估与标签噪声清洗策略来自病理 AI 基准实践;QWK 与 tiling 工程细节经竞赛复现检验。
  • 专业性:全部规模与分布数字核对自 Kaggle 官方数据页与同行评审论文(含 GigaPath/UNI 类基础模型论文的清洗口径,2026-09 核实)。
  • 权威性:数据由 Radboud UMC 与 Karolinska Institute 发布;挑战赛成果发表于 Nature Medicine 类期刊。
  • 可信度:许可与获取路径以 Kaggle 官方页为准;引用区分原始竞赛数据与社区清洗版本。
  • 免责声明:本文为技术性 Wiki,不构成病理诊断依据;Gleason 分级临床判读需具备资质的病理医师。

§1 数据集概览

§1.0 📌 30 秒速览

  • 是什么:前列腺癌 Gleason 分级的旗舰公开基准——10,616 张穿刺活检 WSI + slide 级 ISUP 0-5 标签 + 像素级 mask。
  • 双中心:Radboud(荷兰,5,160)+ Karolinska(瑞典,5,456)——天然跨机构评估场景。
  • 规格:TIFF 20x、约 20,000×20,000 像素/张、全集约 383 GB。
  • 任务标准:官方指标 QWK;MIL 与病理基础模型的标准下游基准。
  • 许可:CC BY-NC-SA 4.0(非商业)——学术研究自由,产品化受限。

§1.1 摘要

前列腺癌的凶险程度由 Gleason 分级决定——病理医师在穿刺活检组织上按腺体形态打分(3/4/5 模式组合),再换算为 ISUP Grade 0-5。分级直接决定治疗策略(主动监测 vs 根治手术 vs 放疗),因此是泌尿病理中最高价值的 AI 任务。PANDA 把这一任务标准化:两个欧洲顶级中心贡献 10,616 张数字化穿刺活检切片,附 ISUP 标签与像素级癌区/模式 mask,在 2020 年 Kaggle 挑战赛上吸引了 1,000+ 队伍——它是当时最大的公开 WSI 数据集(约 8 倍于 CAMELYON17),并把「多实例学习 + 弱监督分级」确立为病理 AI 的标准范式。对 AI 团队,PANDA 的价值在于:任务定义清晰(六分类 + QWK)、标签与像素标注双轨、双中心结构自带域偏移测试,以及一个被反复研究过的标签噪声清单(社区已定位需剔除的样本)。

  • 一句话定位:病理影像 AI 的 ImageNet 级基准——任务清晰、规模空前、协议成熟、社区活跃,四个条件同时满足的公开数据集屈指可数。

§1.2 战略价值

  • 病理 AI 的「入场基准」:MIL 架构(CLAM/ABMIL/TransMIL)与病理基础模型(UNI/GigaPath/Virchow 类)几乎必报 PANDA——结果可比性最强的 WSI 数据集之一。
  • 弱监督范式教科书:slide 级标签 + 像素 mask 双轨,可同时训练 slide 分类与 patch 级检测/分割——弱监督方法论研究的最优试验场。
  • 域偏移内置:两机构的扫描仪、染色流程、标注规范不同——「在一个中心训练、另一个中心测试」即得跨域泛化评估。
  • 标签噪声研究样本:社区已系统定位噪声样本(keep-list 603 张)——noisy-label 研究的现成案例库。
  • 组织形态谱完整:G0-G5 全级别覆盖且双中心互补——分级边界带(G2/G3/G4)样本量充足,细粒度研究可行。
  • 临床任务锚点:ISUP 分级是主动监测决策的核心变量——模型输出可直接映射到临床问题。

§1.3 同类数据集横向对比

维度 PANDA CAMELYON16/17 BRATS NDA CAMELYON16/17 BRATS SICAPv2
器官/
— — — — —
器官/任务 前列腺 Gleason 分级 淋巴结转移检测 脑肿瘤分割 前列腺分级(局部)
规模 10,616 WSI 399/1,000 WSI 数百 MRI 155 WSI
标注 ISUP 0-5 + mask 转移标注/分期 多序列分割 Gleason 模式
中心数 2 1-2 多中心 1
指标 QWK FROC/AUC Dice QWK/kappa
体量 383 GB 数十 GB 数十 GB 数 GB
许可 CC BY-NC-SA CC0 开放 CC BY-NC
  • 定位:做「大规模弱监督分级」选 PANDA;做转移检测选 CAMELYON;做分割选 BRATS;要像素级 Gleason 全注释选 SICAPv2(小而精)。

§1.4 版本时间轴

时间 事件 影响
2020-04 PANDA 挑战赛上线 Kaggle 10,616 WSI 公开
2020-07 竞赛结束(1,000+ 队) 冠军方案 keep-list 沉淀
2020-2021 冠军/优胜方案论文发表 tiling+MIL 范式确立
2022 挑战赛系统研究发表于高影响因子期刊 跨外部验证(含挪威队列)
2023-2025 基础模型时代:UNI/GigaPath/Virchow 报 PANDA 下游 清洗口径(9,555 张)成为新惯例
至今 社区持续使用(MIL 基准/噪声标签研究) 事实标准地位稳固

§1.5 典型应用场景

  • Gleason 自动分级:穿刺活检 slide → ISUP 0-5——辅助病理医师初筛与质控。
  • 弱监督检测:slide 标签 + mask 弱监督下定位癌区——降低像素标注依赖。
  • MIL 架构研究:bag=slide、instance=patch 的标准 MIL 基准。
  • 域泛化研究:Radboud ↔ Karolinska 交叉训练测试——染色/扫描域偏移。
  • 基础模型评测:冻结特征 + 线性探针/MIL 头——病理预训练表征的分级能力测试。
  • 主动监测队列研究:分级模型对主动监测人群的风险分层(研究语境)。
  • 教学与质控:注意力热图作为住院医师培训的「模型标注对照」——分歧样本即教学案例。
  • 染色质控联动:分级性能按染色批次的退化监测——实验室质量管理的衍生用法。
  • 基础模型消融:作为统一下游任务对比不同预训练策略——表征研究的公共测量台。

§1.6 组件全景

组件 内容 AI 用途
train_images/ 10,616 张 WSI(TIFF 多分辨率) 主数据
train_masks/ 像素级 mask(与 WSI 同构 16 级) 弱监督/分割
train.csv image_id / data_provider / isup_grade / gleason_score 标签
test_images/ 官方测试(未公开标签) 竞赛遗留
Kaggle 讨论区 keep-list、噪声样本讨论 清洗依据
优胜方案代码 公开的一等奖方案 复现基线
  • 标识符:image_id(哈希名)为 slide 主键;data_provider 区分两中心——一切分析前先按中心分列。

§1.7 分级在临床路径中的位置与 AI 价值链

理解 ISUP 分级如何被使用,才能理解 AI 分级模型的「正确误差别担」结构与价值锚点。

分级驱动的临床决策链

PSA/指诊异常 → 穿刺活检(10-12 针)→ 病理分级(Gleason/ISUP)
     → 风险分层(低/中/高危,结合 PSA、分期)
     → 低危:主动监测(定期复查)
       中危:手术 or 放疗(+/- 内分泌)
       高危:根治+综合治疗
  • 分级是「决策放大器」:G1→主动监测(免过度治疗)、G4/G5→根治——分类错误在两端代价不对称:把 G1 误判为高危导致过度治疗,把高危误判为 G1 延误根治。
  • 工作量现实:分级判读占泌尿病理日常工作的主体——上万张级别的年穿刺量使「每张都由资深专家初判」在经济上不可行,这正是 AI 初筛的结构性需求。
  • 价值链闭环:AI 分级(初筛)→ 医师复核(确认)→ 仲裁队列(分歧)——三级结构中每一环的 QWA/QWK 要求不同,设计模型时先选定位形。
  • AI 的三个价值锚点
锚点 机制 指标含义
初筛提效 高级别病例优先送资深医师 G4/G5 召回(敏感度)
一致性质控 AI 复核与医师分歧送仲裁 分歧率/QWK
报告提速 AI 预填分级草稿 人工修正率
  • 错误负担结构:临床不要求 AI「比病理医师准」,而要求「不比医师差且永不疲劳」——这一验收逻辑决定了评测指标的选择(分级别召回 + 相邻级误判分析,而非单看 QWK)。

§2 医学背景

§2.1 Gleason 分级与 ISUP Grade Group

  • Gleason 模式:按腺体分化程度打 1-5 分(3=分化良好小腺体、4=融合/筛状腺体、5=实性巢/单个细胞浸润);穿刺活检取主导与次级模式相加(如 3+4=7 分)。
  • ISUP Grade Group(2014 共识):把 Gleason 总分重组为 5 组临床语言:G1=3+3、G2=3+4、G3=4+3、G4=4+4/3+5/5+3、G5=9-10;PANDA 的 0-5 编码在此之上加 G0=良性。
  • 临床含义:G1 常可主动监测;G2-G3 决定手术/放疗策略;G4-G5 高危。3+4 与 4+3 的次序差异(同为 7 分)临床意义不同——这正是 ISUP 重组的动机。
  • AI 任务的真实难点:模式 3 vs 4 的边界(融合腺体判读)是病理学界内部也有分歧的区域——这一「人内变异」直接成为标签噪声的来源(见 §2.6)。

§2.2 穿刺活检的组织学特点

  • 针芯活检(core needle biopsy):细长条状组织(约 1.5 cm×1 mm)——WSI 呈狭长组织条,空白背景占比极高。
  • 对 AI 的含义:有效组织区域占比低——tiling 时必须做组织区域检测(背景过滤);top-N patch 选择策略直接决定有效信息密度。
  • 多核穿剌:临床常规 10-12 针;PANDA 以 slide(单针芯)为单位标注——slide 级聚合到患者级需另建层级(数据集不提供患者 ID)。

§2.3 双中心的标注学差异

  • Radboud(5,160 张):标签从病理报告提取——由受训学生阅读报告后赋 ISUP/Gleason;mask 标注 6 类(背景/基质/健康上皮/G3/G4/G5 模式)。报告提取路径意味着标签继承临床语境的全部模糊性。
  • Karolinska(5,456 张):单名资深病理医师直接标注——一致性更高但个人风格强;mask 仅 3 类(背景/良性/癌),不区分模式。
  • 分布差异:Radboud 六级较均匀(G0 967 ~ G5 973);Karolinska 偏良性端(G0 1,925、G5 仅 251)——筛查人群与转诊人群的流行病学差异。
  • 工程含义:data_provider 列不是元数据而是「域标签」——任何合并统计前先按中心分层。

§2.4 AI 任务定义

任务 输入 输出 评测
slide 分级(主任务) WSI ISUP 0-5 QWK(官方)
癌区检测(弱监督) WSI + slide 标签 patch 癌概率 mask 对照
Gleason 模式分割 WSI 模式掩膜(Radboud 侧) Dice/逐模式
域泛化 单中心训练 另一中心测试 QWK 分中心报告
基础模型探针 冻结 patch 特征 slide 分级 线性/MIL 头 QWK
患者级聚合 多针 slide 患者 ISUP(最大值惯例) 自建对照

§2.5 覆盖领域

  • 覆盖:穿刺活检 H&E 组织学;良性(G0)到终末期(G5)全谱系;两中心、两扫描仪、两种标注流程。
  • 不含:TURP(经尿道切除)标本、尸检、治疗后的组织学(内分泌/放疗效应改变形态);无免疫组化/分子标记配套。
  • 患者信息:无年龄/PSA/临床分期等协变量——纯影像-标签对,临床协变量研究需外部数据配合。
  • 组织形态谱:针芯活检条内的良性腺体/高级别上皮内瘤变(PIN)/浸润癌混合存在——「同一 slide 内多形态共存」是穿刺数据的常态,也是分级任务难度的微观来源。
  • 癌区空间分布:病灶沿穿刺条的分布不均(灶性 vs 弥漫)——G3/G4/G5 的空间形态差异显著,mask 统计可量化这一分布谱。

§2.6 金标准与已知噪声

  • 金标准地位:PANDA 的 ISUP 标签是「双中心临床实践」级金标——不是共识评审级(consensus)金标。
  • 噪声来源:①模式 3/4 边界的主观性;②Radboud 报告提取路径的传递误差;③少量错标(染色伪影/组织折叠混淆)。
  • 社区清洗口径:竞赛第一名方案 keep-list 剔除 603 张;GigaPath 论文口径剔除后余 9,555 张——两口径都有论文采用,引用时声明。
  • 参考实现:挑战赛优胜方案(公开代码)与 CLAM 官方 PANDA 配方是两条主流复现路径。

§2.7 临床与研究价值

  • 对病理科:自动初筛可把高分级病例优先送资深医师复核——工作流优化而非替代。
  • 对研究者:分级一致性研究、主动监测风险分层、跨人群流行病学(配合临床数据)。
  • 对 AI 团队:以 PANDA 发布的模型/特征即为「经 10k WSI 验证」——作为预训练或迁移起点有明确价值。

§2.8 扫描-染色域偏移的机制与对策

双中心差异不是抽象概念——它由三个可工程化的物理环节构成,每个环节对应一类对策。

三个偏移源

源 机制 观察特征
扫描仪 光学链/色彩响应/压缩管线不同 全局色调/锐度差异
染色流程 H&E 染液批次/时长/实验室习惯 核浆对比度、色调分布差异
组织处理 固定/包埋/切片厚度差异 形态细节/伪影率差异
  • 观察方法:随机抽两中心各 50 张、并排显示核区域颜色直方图——双峰分离即域间隙直观证据;再训练轻量中心判别器(准确率 >95% 即强域可分性)。
  • 对策谱系(由轻到重)
对策 原理 成本
染色归一 Macenko/Reinhard 把 stain 空间对齐到模板 低,预处理即用
颜色增强 HED 通道 jitter 训练时随机化 低,一行代码
域对抗 特征层梯度反转去中心信息 中,训练复杂
跨域微调 目标域少量标注 中,需标注预算
白化特征 基础模型特征的域鲁棒性 取决于预训练
  • 实证预期:文献共识——染色归一+增强即可回收大部分跨中心掉点;域对抗在高容量基础模型特征上的增益不稳定。PANDA 是验证这一「对策阶梯」的最干净实验台(只有两域、样本充足)。

§2.9 模式 3/4 边界:病理学内部的「灰色带」

Gleason 分级的主要噪声源不在「技术」而在「定义」——模式 3 与模式 4 的边界是泌尿病理学界持续争论的区域,理解争议才能理解数据集噪声的结构。

争议焦点

形态 争议 演变
筛状腺体(cribriform) 属 G3 还是 G4 ISUP 2014 共识归入 G4——但旧报告可能按 G3
融合腺体程度 「融合到什么程度算 G4」 连续形态离散化,边界带主观
发育不良腺体的分支 与融合的区分 高倍镜下判断,压缩伪影干扰
黏液型/萎缩型变体 罕见形态归级 教科书口径不一
  • 对数据的含义:PANDA 的噪声样本不是随机分布——集中于「筛状结构占比高」与「融合边界带」的 slide。噪声定位研究(keep-list)确认了这一结构性。
  • 对模型的意义:①在这些 slide 上训练=学「某一中心的口径」而非「病理学真理」;②分级别混淆矩阵中 G3↔G4 混淆占主导是「符合病理学现实」的表现,不是模型垃圾;③细粒度改进(筛状检测子任务)比整体涨分更有学术价值。
  • 跨中心口径差:Radboud 标签来自临床报告(含历史口径样本),Karolinska 单专家按现行口径——两中心的 G3/4 边界口径本身可能系统性不同。这使「跨中心评估」同时测量了域偏移与口径偏移——解耦分析是高质量论文的标志。

§2.10 主动监测:分级模型最大的临床杠杆

前列腺癌的独特之处在于「最常见的管理决策是不治疗」——主动监测(Active Surveillance)策略使分级模型的社会价值被放大。

主动监测的运行逻辑

G1(Gleason 3+3)+ 低 PSA + 触诊阴性
  → 不立即治疗,进入监测:
     每 1-3 年重复穿刺 / MRI 随访
  → 升级(reclassification)为 G≥2 → 转治疗
  • 升级判定是监测的命门:复查穿刺的分级判定决定患者是否转治疗——AI 辅助的一致性提升直接减少「误升级(过度治疗)」与「漏升级(延误)」两类错误。
  • 对 AI 的要求差异:监测复查场景的核心是「与历史切片的纵向一致性」——同一患者跨时间点的分级漂移判定,超出 PANDA(无纵向/患者键)的任务范围,但 PANDA 分级器是该系统的核心部件。
  • 流行病学背景:前列腺癌是男性最常见恶性肿瘤之一(全球年确诊约 130 万量级)——穿刺量大、分级工作量占泌尿病理主体,这就是 PANDA 双中心能积累上万张数据的需求基础。

§3 数据集规格

§3.0 版本抉择矩阵

使用目标 推荐通道 理由
slide 分级建模 全量 + 自定清洗口径 官方主任务
噪声标签研究 keep-list 剔除版(10,013) 社区共识清洗
弱监督检测 train_masks + slide 标签 像素监督免费拿
域泛化 data_provider 分层 双中心即双域
基础模型评测 冻结特征 + MIL 头 标准下游协议
快速原型 tiling 后 256² patch 子集 降低 IO 成本

§3.1 模态详情

数据层 内容 格式 AI 可用形态
切片层 10,616 张 H&E WSI TIFF(金字塔多分辨率) tiling/patch 提取
mask 层 像素级标注(16 级同构) TIFF 弱监督/分割监督
标签层 ISUP 0-5 + Gleason 分值 CSV 分类目标
中心层 data_provider(两机构) CSV 列 域标签

§3.2 按子集样本数

子集 数量 口径
总计 10,616 张 WSI Kaggle 2020
Radboud 5,160 G0=967/G1=852/G2=675/G3=925/G4=768/G5=973
Karolinska 5,456 G0=1925/G1=1814/G2=668/G3=317/G4=481/G5=251
keep-list 清洗版 10,013 剔除 603(冠军口径)
GigaPath 清洗版 9,555 G0=2603…G5=1102
官方测试集 未公开标签 竞赛遗留

§3.3 格式对照

通道 格式 适用 注意
Kaggle 数据页 TIFF/CSV 打包 标准获取 注册+规则接受
TIFF 读取 OpenSlide/tifffile WSI 解析 多分辨率金字塔
预提取 patch HDF5/磁盘分片 大规模训练 一次性预处理
特征缓存 基础模型特征 探针/MIL 轻训 显著省算力

§3.4 存储大小

  • 原始打包:约 383 GB(含 mask);解压后略增。
  • tiling 后:256²/20x、top 100 patch/张 ≈ 单盘数百 GB 量级可控;无损预处理建议保留组织检测坐标而非全量 patch。
  • 特征缓存:基础模型(ViT-L 级)top-36/张 → 数十 GB——MIL 实验主力形态。

§3.5 标注方式

  • slide 级:ISUP Grade(0-5)+ Gleason 分值字符串(如 3+4)双列。
  • 像素级:mask TIFF 与 WSI 金字塔同构(16 级);Karolinska 3 类值域、Radboud 6 类值域——读取时按 data_provider 选择值域映射。
  • 来源:Radboud=报告提取(学生执行);Karolinska=单专家直标——质量先验不同。

§3.6 标注者资质与一致性

  • Radboud:临床报告为源头(泌尿病理医师签署),学生转译——传递误差可控但不为零。
  • Karolinska:单名资深病理医师——标准统一、个人偏差恒定。
  • 一致性实证:Gleason 模式 3/4 边界的观察者间 kappa 在文献中为中高水平但非完美——PANDA 的噪声样本即源于此边界带。
  • 对建模的转化:标签质量的两层建模——①样本层(keep-list 二值剔除);②分数层(把「报告提取 vs 专家直标」当质量先验做样本加权)。后者利用了 data_provider 的元信息,常被忽略。

§3.7 采集周期

  • 回顾性采集(两中心常规穿刺活检档案);具体时间窗未随数据发布——纵向研究不适用。
  • 穿刺与扫描的时间跨度覆盖多批次染色试剂——批次效应存在于数据中(可作为染色鲁棒性的天然测试)。

§3.8 地域覆盖

  • 荷兰(Nijmegen,Radboud UMC)与瑞典(Stockholm,Karolinska)双中心——欧洲北部人群;跨人群外推(如亚洲人群)需谨慎验证。

§3.9 设备规格

  • 两中心使用不同扫描仪(最大显微分辨率略有差异);20x 等效物镜为共同基准——染色与分辨率差异即域偏移的一部分。
  • 常规病理玻片扫描流程(自动聚焦/条码追踪)——工业级数字化质量稳定,但聚焦失败/气泡伪影偶发存在于数据中(也是噪声来源之一)。

§3.10 深度溯源链

层 内容 位置
slide 级 image_id ↔ data_provider ↔ isup/gleason train.csv
像素级 mask 值域语义(按中心) Kaggle 数据说明
清洗层 keep-list(冠军方案) Kaggle 讨论区
制度层 竞赛规则与许可 Kaggle 页

§3.11 目录结构

panda/
├── train_images/            # 10,616 张 WSI(TIFF)
│   ├── 0005f7aaab2800f6170c399693a96917.tiff
│   └── ...
├── train_masks/             # 像素级 mask(与 WSI 同名同构)
├── train.csv                # image_id,data_provider,isup_grade,gleason_score
├── test_images/             # 官方测试(无标签)
└── sample_submission.csv    # 竞赛提交格式遗留

§3.12 许可条款(CC BY-NC-SA 实操)

条款 含义 对 AI 的意义
BY 署名 引用来源与许可 论文/模型卡声明
NC 非商业 禁止商业目的使用 产品化需另行授权
SA 相同共享 衍生数据同许可分发 清洗版/衍生集须同许可
边界 商业「使用」定义模糊处保守处理 企业落地前法务确认
  • 合规路径:学术发表/教学/开源研究直用;商业产品要么获取授权,要么仅使用「在 PANDA 上训练得到的模型权重」并把许可风险评估交给法务——权重含 NC 数据训练痕迹的定性在学界仍有争议空间。

§3.13 与挑战赛成果的关系

  • 竞赛产物:优胜方案(含 keep-list、tiling 策略、模型集成)公开于 Kaggle 讨论区——事实上的参考实现。
  • 学术产物:挑战赛后同行评审研究(含外部挪威队列验证)证明分级系统的临床可行性——发表于高影响因子期刊。
  • 遗产:PANDA 确立了「大规模弱监督 + QWK 评测 + 公开方案复现」的病理挑战赛模板,后续挑战赛沿用。

§3.14 挑战赛方案技术谱系

竞赛沉淀了一批可复用技术——理解谱系才能看懂后续文献的架构引用链。

技术演进四代

代际 代表方案 核心思路 遗产
第 0 代 竞赛前基线 CNN 全图下采样 证明下采样丢失细节
第 1 代 早期参赛方案 tile CNN + 均值池化 tiling 标准化
第 2 代 优胜方案 top-K tile + 注意力池化 + 集成 attention-MIL 范式
第 3 代 后竞赛时代 基础模型冻结特征 + MIL 头 算力民主化
  • 冠军方案的三个关键贡献:①keep-list 标签清洗(比模型改进涨点更多);②tiling 与分辨率策略系统消融;③测试时增强与模型集成——三件事定义了「PANDA 上认真做事」的基线标准。
  • 第 3 代的含义:基础模型特征 + 轻量 MIL 头在单卡即可复现竞赛级 QWK——PANDA 从「算力竞赛」变为「表征评测」,这也是它成为基础模型标配下游的原因。
  • 复现建议:第 2 代方案(自训特征)用于方法学研究;第 3 代协议用于快速实验——两条路径都公开,按研究目标选择。

§3.15 数据获取与完整性实操

383 GB 级数据的一次性获取常出事故——按本节清单走可省一夜排障。

获取流程

1. Kaggle 账号 + 手机验证 + 接受竞赛规则(License 确认)
2. 下载(三选一):
   a. kaggle CLI:kaggle competitions download -c prostate-cancer-grade-assessment
   b. 网页直下(分卷 zip)
   c. 公开镜像(核对 checksum 后使用)
3. 校验:解压后 train_images 文件数 = 10,616
4. 完整性抽检:随机 50 张 tiff 可被 tifffile/OpenSlide 打开且尺寸合理
5. 磁盘规划:原始 383 GB + 解压临时 400 GB + 特征缓存 100 GB

常见事故与对策

事故 现象 对策
分卷 zip 损坏 解压中断 重下损坏卷;别跳过校验
磁盘写满 解压中途失败 预留双倍;流式解压
tiff 损坏 训练夜炸 try/except + 已知损坏清单
规则未接受 API 403 网页端先点接受规则
  • 下载纪律:kaggle CLI 的断点续传不可靠——大文件失败即整删重下;网络不稳时优先分卷网页下载。

§3.16 WSI 格式与金字塔读取技术细节

PANDA 的 TIFF 与常规影像 TIFF 不同——理解它的存储结构才能写出稳定的读取代码。

存储结构

PANDA tiff(SIZ 类压缩,非金字塔标准 OME-TIFF)
├── 有些文件:真·多分辨率金字塔(levels 0-2,逐级 1/4 面积)
├── 有些文件:512×512 网格聚合拼接图(非标准金字塔)
│   —— 挑战赛官方提供的「聚合」版本,读取方式不同
└── 读取库差异:
    OpenSlide:期望标准金字塔,聚合版可能读失败
    tifffile:按页/level 读取,两种都能处理

读取策略对比

策略 适用 注意
tifffile levels 通用首选 先探测 levels 数再选级
OpenSlide read_region 标准金字塔 聚合版慎用
zarr/dask 转换 大规模随机访问 一次性转换成本高

尺寸与分辨率速查

  • level 0:约 20,000×20,000(部分切片更大/更小——穿刺条长短不一)
  • 20x 等效物镜为基准分辨率;降级读取(level 1)约减 4 倍面积——预处理首选
  • mask 与 WSI 逐级同构——坐标系统一(无额外偏移)

三条工程红线

  1. 别假设尺寸统一:切片尺寸分布宽——代码全部按实际尺寸自适应,禁止硬编码 20,000。
  2. 先探测后读取:tifffile.TiffFile(...).levels 长度检查——两种存储形态用不同分支。
  3. 聚合版的边界效应:512 网格拼接图相邻 tile 有接缝——跨 tile 的 patch(骑缝)视觉不连续,tiling 网格对齐 tile 边界可避免。

§4 数据结构

§4.0 目录树

train.csv 列:
├── image_id          # 32 位哈希名(对应 .tiff 文件名)
├── data_provider     # radboud | karolinska
├── isup_grade        # 0-5(目标变量)
├── gleason_score     # "3+4" / "4+3" / "negative" 等
└── (竞赛期还有测试用空列)

mask 值域:
├── karolinska: 0=背景, 1=良性, 2=癌
└── radboud:    0=背景, 1=基质, 2=健康上皮,
                3=Gleason 模式 3, 4=模式 4, 5=模式 5

§4.1 DAIMS 字段字典

字段 类型 语义 AI 提示
image_id 哈希文本 slide 主键 对应 tiff 文件名
data_provider 枚举 中心/域标签 分层与域泛化键
isup_grade 0-5 ISUP 分级 主目标;序数变量
gleason_score 字符串 Gleason 组合 细粒度辅助监督
mask 值 0-5 整数 像素级语义 按中心映射值域
TIFF 金字塔 多分辨率 0 级最高分辨率 20x 基准从 level 0/1 读

§4.2 标签分布

  • 合并视角:G0 ≈ 2,892、G1 ≈ 2,666、G2 ≈ 1,343、G3 ≈ 1,242、G4 ≈ 1,249、G5 ≈ 1,224——合计 10,616。
  • 分中心视角:Radboud 近均匀;Karolinska 前重后轻——G5 在 Karolinska 仅 4.6%。
  • 工程含义:分层抽样必须按「中心×级别」双键;仅按级别分层会复制中心不平衡。

§4.3 关键统计

统计项 数值 口径
WSI 总数 10,616 Kaggle 2020
双中心 5,160 + 5,456 Radboud + Karolinska
像素规格 ~20,000×20,000 20x
总体量 ~383 GB 打包
竞赛队伍 1,000+ 2020
清洗版 10,013 / 9,555 两口径
奖金池 $25,000 官方
mask 覆盖 100%(训练集) 官方

§4.4 数据层级

  • patch 层:256²/512² tile——MIL 的 instance。
  • slide 层:单针芯活检——PANDA 的标注单元(bag)。
  • 患者层:未提供——多针聚合研究需自行假设(数据集无患者键)。

§4.5 缺失值处理与信息性缺失编码

  • 无患者 ID:不是缺失而是隐私设计——患者级协议需显式声明「slide 级近似」。
  • mask 覆盖:每张训练 WSI 均有 mask——但 mask 中「未标注癌区」与「无癌区」在 Karolinska 语义上重合(3 类制)——弱监督读取时不可跨中心混用值域。
  • gleason_score 与 isup_grade 冲突:极少量样本两列映射不一致(如 3+4 与 G3)——清洗管线加一致性断言。

§4.6 tiling 与 patch 选择模型

WSI(~20,000×20,000, 20x)
→ 组织区域检测(背景过滤, saturation/otsu)
→ 网格 tiling:256×256 或 512×512,步长=块宽
→ patch 排序(组织密度/方差)
→ top-K 选择(常见 K=36~100)
→ MIL bag = [K 个 patch 特征]
→ 注意力池化/attention-MIL → slide 级 ISUP 预测
  • 关键超参:K(patch 数)与分辨率(20x vs 5x 双尺度)——挑战赛优胜方案的 tiling 策略与模型同等重要;复现论文必须对齐 tiling 配置。

§4.7 mask 值域映射与弱监督读取规范

mask 是 PANDA 最容易被误读的组件——两中心值域语义不同,读取规范必须代码化。

值域映射函数(工程标准实现)

# mask 值 → 语义,按 data_provider 分派
RADBOUD = {0: "background", 1: "stroma", 2: "benign_epithelium",
           3: "gleason3", 4: "gleason4", 5: "gleason5"}
KAROLINSKA = {0: "background", 1: "benign", 2: "cancer"}

def mask_to_binary(mask, provider):
    """癌/非癌二值化——弱监督检测的参考真值"""
    if provider == "radboud":
        return (mask >= 3).astype("uint8")     # G3/4/5 = 癌
    elif provider == "karolinska":
        return (mask == 2).astype("uint8")     # cancer
    raise ValueError(f"unknown provider: {provider}")

def mask_to_pattern(mask, provider):
    """模式级分割(仅 Radboud 侧有意义)"""
    if provider != "radboud":
        return None                            # Karolinska 无模式信息
    return mask                                 # 0-5 原值即模式

四条读取红线

  1. 禁数值直通:Karolinska 的 1(良性)与 Radboud 的 1(基质)语义无关——任何跨中心 mask 统计必须先过映射函数。
  2. 二值化口径:Radboud 的基质(1)不算癌——mask >= 3 是社区共识口径;把基质算作癌会虚增癌区。
  3. 金字塔对齐:mask 与 WSI 同为 16 级金字塔——读取 level 必须与 WSI 读取 level 一致,否则 patch 坐标错位。
  4. mask 覆盖语义:Karolinska 的 0(背景)与 1(良性)在「非癌」意义上重合——统计「癌区占比」时分母定义要显式。

派生统计建议

每 slide 癌区占比 = binary_mask.sum() / tissue_mask.sum()
→ 分级相关分析(占比 vs ISUP 的单调性 sanity check)
→ 训练bag 的信息量先验(全阴 slide 的 top-K patch 无信息)

§4.8 bag 信息结构与 MIL 训练动力学

MIL 的训练动态由 bag 的信息结构决定——PANDA 的 bag 结构有三个值得预统计的特征。

三个预统计量(建议训练前全量计算)

统计量 定义 训练含义
组织占比 组织像素 / 全图 决定 top-K 的有效池深
癌区占比 癌像素 / 组织像素(需 mask) bag 信息量先验
关键 patch 稀疏度 含癌 patch 占 top-K 比例 注意力学习难度
  • 关键发现(社区共识):高分级 slide 的癌 patch 通常「少而集中」(穿刺条上局部病灶)——top-K 中含癌 patch 可能仅 2-5 个;注意力 MIL 必须从 36-100 个 patch 中找出这少数关键实例——这正是 PANDA 是「MIL 试金石」的原因。
  • 全阴 bag 的特殊处理:G0(良性)slide 没有「正实例」——注意力机制学到的是「全局形态学」而非「局部病灶」;两类 bag 的学习机制不同,训练分析时分开检查注意力熵。
  • 信息量分层训练:按癌区占比给 bag 分桶监控 loss——高信息桶(癌区>10%)与低信息桶(<1%)的收敛速度差可量化「实例稀疏度对 MIL 的挑战」。

§5 划分与使用建议

§5.1 官方划分

  • Kaggle 竞赛期:train.csv 全公开 + 官方 test(标签未公开)——竞赛后 test 不可复用。
  • 社区标准:在训练集内自建 holdout(80:10:10 或 20% test)——划分本身成为论文变量。

§5.2 社区惯例划分

  • 随机 slide 级分层划分:按「中心×级别」双键分层——最常见。
  • 跨中心划分:Radboud 训练 → Karolinska 测试(及其逆)——域泛化协议。
  • 清洗版划分:keep-list/GigaPath 清洗后再划分——现代论文主流。
  • 按 patch 难度划分:模式 3/4 边界带 patch 专设评估桶——细粒度分级能力。

§5.3 泄漏风险(重点)

  • 中心泄漏:混合划分下模型学扫描仪风格——跨中心评估时必须完全按中心切分。
  • 染色泄漏:同批染色/同玻片的相邻切片若跨集——PANDA 无患者键难以完全阻断,声明局限。
  • mask 泄漏:用 mask 做特征(而非仅监督)再评估 slide 分级——标签信息回流。
  • 清洗集泄漏:在清洗版上调参又在清洗版测试——清洗口径也要进划分协议描述。

§5.4 交叉验证建议

# 按 中心×级别 双键分层 5 折
from sklearn.model_selection import StratifiedKFold
# stratify_key = data_provider + "_" + isup_grade.astype(str)
# G5-Karolinska(251 张)在每折保持 ~50 张——少数桶不塌陷
  • 报告规范:每折 QWK + 全局 QWK;分中心 QWK 必报——总体 QWK 会掩盖单中心崩塌。

§5.5 外部验证建议

  • 跨中心:PANDA 内部双中心交叉(最易做)。
  • 跨数据集:SICAPv2(西班牙单中心、全注释)外部测试——分级泛化。
  • 扫描域外推:其他公开前列腺 WSI(不同扫描仪)测试——染色归一(Macenko 类)的角色评估。
  • 临床端点:与病理医师复核的一致性研究(挑战赛外部验证模式)。

§5.6 任务配方

配方 1:slide 分级(主流 MIL)

  • 特征:病理基础模型冻结特征(或 ImageNet ResNet 微调)。
  • 聚合:attention-MIL/TransMIL;损失 CE 或序数损失(利用 0-5 有序性)。
  • 评测:QWK + 分中心 + 混淆矩阵。

配方 2:弱监督癌区检测

  • slide 标签监督 MIL,注意力权重即 patch 热图;mask 仅做评估。
  • 评测:patch 级 AUROC(以 mask 二值化为参考)。

配方 3:序数回归改进

  • ISUP 0-5 是序数——CORAL/CORN 类序数损失对比 CE。
  • 附加评测:相邻级别误判率(G2→G3 的临床代价不对称)。

配方 4:标签噪声鲁棒

  • 在含噪全量 vs 清洗版上对比训练——co-teaching/噪声鲁棒损失的价值量化。
  • 评测:清洗测试桶上的 QWK 提升。

§5.7 评测协议详解(QWK 与分中心)

  • QWK(Quadratic Weighted Kappa):序数一致性指标——错到相邻级罚 1/25,错到远处罚更重;它是竞赛官方指标也是社区默认。
  • 必须搭配的报告:混淆矩阵(相邻级误判模式)、分中心 QWK、分级别召回(G5 召回是临床敏感度核心)。
  • 可比性检查单:清洗口径(10,616/10,013/9,555)、划分协议(随机/跨中心)、tiling 配置(K、分辨率)、特征(自训/基础模型冻结)——四项不对齐的论文数字不可横比。
  • 基线配置:ResNet+topK-MIL、基础模型+attention-MIL、挑战赛冠军复现——三档至少齐二。

§5.8 QWK 的计算、分解与临床解读

QWK 是 PANDA 的官方指标——但「QWK 0.87」这句话的信息量取决于你怎么分解它。

计算结构

κ_w = 1 - (Σ w_ij·O_ij) / (Σ w_ij·E_ij)
其中 w_ij = (i-j)²/(K-1)²   (二次权重:错误随距离平方增长)
      O_ij = 观察混淆矩阵,E_ij = 期望混淆(独立性假设)
  • 序数性质:相邻级错(G2→G3)权重 1/25,跨两级 4/25……「差不多的错」被轻罚——这与临床「相邻级误判代价小」的直觉对齐。
  • 与 accuracy 的分歧:准确率高但错误集中在跨多级时 QWK 会低;反之相邻错占多时 QWK 高于准确率暗示的水平——两指标必须同报。

三向分解报告(临床解读标准)

分解维度 问题 临床含义
分级别召回 G4/G5 抓住了吗 高危漏诊敏感度
混淆拓扑 错误集中在 G3↔G4(灰色带)还是跨远级 模型失败模式定位
分中心 QWK 域间隙吃掉多少 部署域外推能力

校准与阈值

  • 概率校准:MIL 输出过 sigmoid/softmax 后按目标域先验重校准(temperature scaling 或先验平移)——未校准的 argmax 在先验偏移域上系统性偏移。
  • 决策阈值:若用途是「初筛」而非「全分类」,把 G≥4 的判定阈值调低(提高敏感度)是有意识的产品选择——评测协议要与用途匹配(全分类 QWK vs 初筛敏感度/特异度曲线)。

§5.9 跨中心评估完整协议模板

跨中心评估是 PANDA 最有价值的用法之一——本节给出可直接写进论文实验节的协议模板。

实验名:双中心交叉分级泛化
数据:清洗版(keep-list 剔除,n=10,013)
     源域 Radboud(~4,900)/ 目标域 Karolinska(~5,100)

R1 源域内基线:
   源域 80:20 随机分层(中心×级别)划分 → 源域内 QWK
R2 直接迁移:
   源域全量训练 → 目标域全量测试 → 跨域 QWK(未适配)
R3 染色归一迁移:
   R2 + 源/目标统一 Macenko 模板 → 跨域 QWK(归一)
R4 目标域少样本微调:
   R2 + 目标域 n∈{50,200,1000} 标注微调 → 跨域 QWK(少样本曲线)
R5 反向重复:以 Karolinska 为源域复跑 R1-R4

报告矩阵:{R1..R5} × {总体 QWK, 分级别召回, 混淆矩阵, G5 召回}
声明:随机种子×3 取均值方差;tiling 配置固定表
  • 解读要点:R2-R1 的差 = 总域间隙(染色+口径+先验);R3-R2 = 染色可回收部分;R5 与 R1-4 的不对称 = 方向性偏移(两中心难度不对称——Karolinska 高级别样本少,反向更难)。
  • 常见审稿问题预答:为什么不用目标域全部标签微调?(失去泛化评估意义;少样本曲线回答实际预算问题)为什么 QWK 之外必报 G5 召回?(QWK 对高危漏诊不敏感,临床不可接受)。

§6 AI 就绪指南

§6.0 云端快速启动

# 1) Kaggle 账号 + 接受竞赛规则(CC BY-NC-SA)
kaggle competitions download -c prostate-cancer-grade-assessment
# 2) 数据约 383 GB——磁盘预留 600 GB+
# 3) 读取示例(OpenSlide)
pip install openslide-python tifffile

§6.1 快速上手(数据读取与 tiling)

# ============================================================
# PANDA WSI → 组织 patch 提取最小管线
# ============================================================
import tifffile, numpy as np, pandas as pd

df = pd.read_csv("train.csv")
row = df.iloc[0]

# 多分辨率 TIFF:level 0 最高(~20k 像素)
with tifffile.TiffFile(f"train_images/{row.image_id}.tiff") as tf:
    lvl = tf.levels[1]          # 降一级读(省内存)
    img = lvl.asarray()[:8000, :8000]

# 组织区域粗检:HSV 饱和度 Otsu
import cv2
hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)
mask = cv2.threshold(hsv[:,:,1], 0, 255,
        cv2.THRESH_BINARY+cv2.THRESH_OTSU)[1]

# 网格 patch + 组织密度排序
P = 256; coords = [(x, y) for y in range(0, img.shape[0]-P, P)
                          for x in range(0, img.shape[1]-P, P)]
coords.sort(key=lambda xy: mask[y:y+P, x:x+P].mean(), reverse=True)
top = coords[:36]   # top-36 patch → MIL bag

§6.2 SQL 入库与分析(标签层)

-- 中心×级别分布双报(分析前的第一步)
SELECT data_provider, isup_grade, COUNT(*) AS n
FROM train GROUP BY 1, 2 ORDER BY 1, 2;

-- gleason_score 与 isup_grade 一致性断言
SELECT image_id, gleason_score, isup_grade FROM train
WHERE (isup_grade = 0 AND gleason_score <> 'negative')
   OR (isup_grade > 0 AND gleason_score = 'negative');

-- 清洗版构建(keep-list 外连接)
SELECT t.* FROM train t
LEFT JOIN keep_list k USING (image_id)
WHERE k.image_id IS NULL;

§6.3 MIL 训练管线

离线阶段:
WSI → 组织检测 → top-K patch → 基础模型特征 → HDF5 缓存
在线阶段:
bag 特征 → attention-MIL 聚合 → ISUP logits
        → 序数/CE 损失 → 反向(仅训练聚合头)
  • 特征缓存是工程命门:10k WSI 全量在线提特征不可行——离线特征化后 MIL 头训练分钟级,实验迭代速度决定研究质量。
  • 数据增强:patch 级颜色增强(HED jitter)在特征冻结时无效(特征已提完)——增强要进特征提取阶段,MIL 在线只做 bag 级 dropout。

§6.4 表格层建模建议

  • 标签质量建模:把 keep-list 的「被剔除概率」当质量分数——作为样本权重进损失。
  • 中心判别器:小模型判 data_provider 的准确率即「域可分性」——过高说明域间隙大,需要对抗去域或染色归一。
  • 级别先验校准:两中心级别先验不同——输出概率按中心先验校准(recalibration)再算 QWK。
  • 标签一致性断言进 ETL:gleason↔isup 映射冲突样本在数据管线入口即拦截——训练前清洗比训练中鲁棒损失更便宜。

§6.5 坑点(Pitfalls)

坑点 1:标签噪声未处理
公开标签含已知噪声样本——不做清洗直接训练/评测,QWK 有 1-2 点级不可控噪声。对策:keep-list 剔除或声明全量口径。

坑点 2:跨中心混合评估掩盖漂移
两中心扫描仪/染色/标注流程不同——合并 QWK 高不代表跨域可用。对策:分中心 QWK 必报;跨中心协议单列。

坑点 3:mask 值域跨中心混用
Karolinska mask 0-2、Radboud 0-5——同一像素值语义不同,直接合并读取会把基质读成癌。对策:按 data_provider 装载值域映射函数。

坑点 4:整张 WSI 读入内存
2 万像素 TIFF level 0 全读 = 数 GB/张——OOM 或交换抖动。对策:金字塔降级读取 + tiling 流式处理。

坑点 5:类别不平衡忽略
Karolinska G5 仅 251 张——朴素 CE 训练下高分级召回塌陷。对策:加权采样/焦点损失;分级别召回评估。

坑点 6:QWK 单指标解读
QWK 高可能伴随 G4/G5 混淆(临床代价最大处)——QWK 对远处错误敏感但混淆矩阵仍必需。对策:QWK + 混淆矩阵 + G5 召回三件套。

坑点 7:NC 许可的产品化越界
CC BY-NC-SA 排除商业使用——把数据(或衍生数据集)直接用于商业产品违反许可。对策:学术/评估用途;商业路径走授权或法务评估权重路径。

坑点 8:患者级假设缺失
数据无患者键——把多针 slide 当独立样本会高估有效样本量、泄漏风险不可控。对策:声明 slide 级口径;患者级研究配合有患者键的数据集。

§6.6 基础模型评测要点

  • 协议:冻结 backbone(UNI/GigaPath/Virchow 类)→ top-K patch 特征 → attention-MIL 头微调。
  • 必报:参数量/显存/QWK/分中心——把「表征质量」与「容量」分开讨论。
  • 陷阱:不同基础模型的 patch 预处理(resize/normalize)不同——直接搬特征缓存文件不可行,按各模型 spec 重提。
  • 公平对照:自训特征基线保留一份——「基础模型 vs ImageNet 起点」的增益才是预训练价值的确证。
  • 缓存治理:特征文件带(模型版本+patch 配置)命名——混版缓存是复现事故的隐蔽来源。

§6.7 与 LLM/多模态的集成模式

  • 报告生成:slide 分级输出 + 模板化描述(Gleason 模式构成、癌区占比)→ 病理报告草稿——LLM 负责语言组织,分级数字必须来自确定性模型。
  • 检索增强:patch 特征库做相似病例检索(同级别可解释性参照)。
  • 边界:LLM 不直接输出 ISUP 分级——视觉判读必须由视觉模型承担,这是医疗安全边界。

§6.8 大规模处理性能实践

  • IO 优化:TIFF level 1/2 读取 + 内存映射;预处理并行化(16-32 worker)一夜完成全量特征。
  • 存储规划:383 GB 原始 + 特征缓存 50-100 GB——预留 600 GB 磁盘。
  • 分布式:特征提取阶段可多机并行(按 slide 分片);MIL 训练单卡即可。

§6.9 双中心迁移实战

以「Radboud 训练 → Karolinska 测试」为例的跨域协议(其逆同理):

1. 清洗:keep-list 剔除后按中心拆分
2. 源域训练:Radboud 5,160(清洗后 ~4,900)全量训练 MIL
3. 域适配选项(三选一或组合):
   a. 染色归一(Macenko/Reinhard)进预处理
   b. DANN/对抗去域(特征层)
   c. 目标域少量标注微调(few-shot)
4. 目标域测试:Karolinska 清洗版全量 → QWK 分级别报告
5. 消融:无适配 vs 染色归一 vs 对抗——量化各组件贡献
  • 预期:跨中心掉点数点级(扫描域差异)+ 级别先验差异带来的校准偏移——先校准再评估是关键顺序。

§6.10 弱监督检测训练配方(slide 标签 → patch 定位)

不使用 mask 训练、只用 slide 标签的检测配方——MIL 注意力即定位信号,这是 PANDA 双轨标注的独特用法。

训练管线

阶段 A(特征提取,离线):
  WSI → top-K patch(同分级配方)→ 冻结特征

阶段 B(MIL + 注意力,在线):
  bag → attention-MIL → slide logits(CE/序数损失)
  注意力权重 a_k 即 patch 级「证据分数」

阶段 C(定位输出,推理):
  a_k 重排回空间坐标 → 平滑 → 癌区热图
  (不做阈值化训练,只做后处理可视化/评估)

提升定位质量的四个技巧

技巧 机制
双尺度特征 5x 上下文 + 20x 细节拼接——孤立 patch 缺语境
注意力熵正则 鼓励注意力集中(过高熵=定位涣散)
bag 级 dropout 随机丢 patch 训练——防单点捷径
mask 仅进评估 mask 进训练就不再是「弱监督」声明
  • 评测协议:见 §7.9——patch AUROC + top-K 命中率 + 分中心分解。
  • 常见失败模式:①注意力全押在染色深的碎片/伪影上(伪相关)——检查热图与碎片位置的重合;②全阴 bag 注意力均匀(没学到全局形态)——G0 类的注意力熵单独监控。

§6.11 分级模型的推理优化与部署形态

WSI 分级模型的推理成本远高于常规影像——部署形态设计直接决定能否落地。

推理成本结构

环节 成本 优化
WSI 读取 + tiling IO 密集(分钟级/张) 金字塔降级读、并行 worker
特征提取 GPU 密集(top-K × 模型前向) 特征缓存/批处理/AMP
MIL 聚合 可忽略 —
  • 缓存策略:同一 slide 的特征只提一次(哈希命名缓存目录);复诊场景历史切片特征复用。
  • 部署位形对推理的要求:预筛位形可异步批处理(夜间跑全队列);仲裁位形需分钟级响应(top-K 减小/特征降维换速度)。
  • 失败兜底:组织过少/染色失败的 slide 走「拒绝预测」分支(不输出分级)——拒绝率是部署期健康指标,拒绝样本转人工。

§7 评估基准与 DAIMS 评估

§7.1 DAIMS 评估(24 项)

# 维度 评估项 得分 说明
1 可得性 注册后免费下载 4/5 Kaggle 注册+规则
2 可得性 机器可读许可 4/5 CC BY-NC-SA 标准化但 NC
3 可得性 稳定持久标识 4/5 image_id 哈希;无 DOI
4 结构化 受控结构完备度 4/5 标签+mask 双轨清晰
5 结构化 关系型就绪 3/5 无患者键/协变量
6 结构化 schema 稳定性 5/5 静态挑战赛数据
7 文本 名称/定义文本资产 2/5 无报告文本
8 文本 文本规范化程度 2/5 仅标签字符串
9 版本 历史保留 3/5 单版本;清洗口径多元
10 版本 发布节奏 3/5 静态;无更新计划
11 结果 跨词表映射覆盖 3/5 ISUP/Gleason 标准明确
12 结果 映射质量一致性 4/5 双标签列可交叉验证
13 结果 多语言覆盖 2/5 英语元数据
14 质量 归组准确性 3/5 标签噪声已知
15 质量 类型标注一致性 3/5 双中心流程不一
16 质量 机构 ID 化 3/5 无患者/机构键
17 治理 更新频率 3/5 静态但社区活跃
18 治理 变更通告 4/5 Kaggle 讨论区
19 治理 法规锚定 4/5 挑战赛制度成熟
20 AI 任务 分级任务适用性 5/5 旗舰基准
21 AI 任务 弱监督适用性 5/5 mask+slide 双轨独有
22 AI 任务 大模型适配适用性 5/5 基础模型标准下游
23 伦理 个体隐私风险 4/5 脱敏但无患者键复用难
24 伦理 二次使用许可清晰度 4/5 CC 明确;NC 边界需法务

DAIMS 综合:80/120(3.33/5)——任务适用性近满分;文本资产与纵向结构是短板。

§7.2 可复现分析路线

  • 复现规模:train.csv 行数 = 10,616;按 data_provider 分组 = 5,160/5,456。
  • 复现分布:分中心×级别交叉表对照 FACTS 数字。
  • 复现清洗:keep-list 剔除后 = 10,013;GigaPath 口径 = 9,555。
  • 复现标签一致性:gleason_score 与 isup_grade 的映射断言(§6.2 SQL)零冲突(或列出冲突清单)。
  • 复现 mask 完整性:每张训练 WSI 的 mask 可读且尺寸与 WSI level 0 一致。

§7.3 外部评测资源

  • SICAPv2:单中心全注释前列腺分级——像素级外部验证。
  • GLEASON 2019 挑战数据:TURP/活检混合分级。
  • 基础模型论文基准表(UNI/GigaPath):跨模型 QWK 对照。

§7.4 质量审计清单(发布前)

  • [ ] 清洗口径声明(10,616/10,013/9,555)。
  • [ ] 划分协议声明(随机分层/跨中心)+ 随机种子。
  • [ ] tiling 配置(patch 尺寸、K、分辨率)写入产物。
  • [ ] 分中心 QWK + 混淆矩阵 + G5 召回三件套齐备。
  • [ ] mask 值域映射按中心装载(单测覆盖)。
  • [ ] NC 许可边界确认(用途合规)。
  • [ ] slide 级口径声明(无患者键)。

§7.5 模型卡要点

卡片项 建议声明内容
数据版本 PANDA 2020 + 清洗口径
划分协议 分层键/种子/跨中心与否
预处理 tiling/染色归一/特征模型
已知偏差 双中心域偏移、级别不平衡
评测 QWK 三件套(QWK/混淆/G5 召回)
许可 CC BY-NC-SA 声明与用途边界

§7.6 与站内数据集的联合分析建议

联合对象 键 分析价值
prostatex 前列腺 MRI ↔ 分级 影像多模态(MRI+病理)研究
camelyon16 / camelyon17 WSI 范式 弱监督跨器官迁移
brats 挑战赛范式 多任务/多指标设计参照
tcia 病理影像来源 队列扩展
sitzmann/sicap 类 前列腺分级 外部验证
medmnist(patchmnist 类) 轻量病理 教学管线预演

§7.7 双中心域偏移治理

PANDA 的双中心结构是资产也是陷阱——把「中心」当治理对象的五条原则:

  1. 中心即域标签:任何统计/训练/评估先按 data_provider 分列——合并是最后一步。
  2. 先校准后评估:两中心级别先验不同——输出概率按目标中心先验校准后再算 QWK,否则先验差被误读为模型差。
  3. mask 语义双轨:值域映射函数按中心装载(坑点 3),永不做数值直通。
  4. 域可分性监控:中心判别器准确率作为域间隙仪表盘——过高则加强去域。
  5. 报告规范:分中心 QWK 是必填项——单中心数字标注「源域内」身份。

§7.8 PANDA 挑战赛范式的方法论遗产

PANDA 之后,「病理挑战赛」成为方法论成熟的标准形态——它的遗产可归纳为四个可迁移的协议组件。

四个遗产组件

组件 内容 后续采用
大规模弱监督 slide 级标签为主、像素标注辅助 几乎所有 WSI 挑战赛
序数指标 QWK 类序数一致性 分级类任务标配
公开清洗口径 冠军方案 keep-list 社区数据治理惯例
跨外部验证 竞赛后外部队列系统验证 从「刷分」到「临床证据」的桥梁
  • 对数据集工程的意义:PANDA 展示了「竞赛是一次性事件,数据资产是长期结构」——keep-list、评测协议、复现代码这些「赛后层」与数据本身同等重要;本库条目把它们列为一级组件。
  • 对研究者的意义:在 PANDA 上做方法学改进时,必须同时报告「对第 2 代(自训)与第 3 代(基础模型)两条基线的增益」——只报一条的时代已结束。

§7.9 弱监督检测的评估规范

用 slide 标签训练、用 mask 评估的弱监督检测有一套独立于 slide 分级的评估规范——混用会导致结论失真。

评估规范要点

  • 参考真值口径:mask 二值化(癌/非癌)是参考而非金标——Karolinska 仅 3 类(无模式),Radboud 精细但来自报告路径;评估结论应声明「相对 mask 口径」。
  • patch 级指标:AUROC/AUPRC(patch 含癌概率 vs 二值 mask)+ 定位质量(与 mask 重叠的 top-K 命中率)。
  • slide 级联动:检测热图的「最高注意力区」与分级证据区应一致——不一致(高分但注意力落在良性区)是模型学了伪相关的警报。
  • 跨中心检测评估:源域训练的定位在另一中心 mask 上评估——域偏移对「定位」与「分级」的影响幅度常不同,分开量化。

§8 伦理、隐私与合规

  • 隐私:回顾性穿刺活检、脱敏公开;无患者身份/临床协变量——再识别风险低但非零(罕见病变特征理论可回溯),二次分发禁止(许可要求)。
  • NC 边界:CC BY-NC-SA 排除商业目的——企业团队仅可做技术评估,产品化前完成授权或转向商业可用数据。
  • 临床边界:ISUP 分级是治疗决策输入——模型输出进入临床路径前需病理医师复核闭环与本地验证。
  • 偏差声明:欧洲北部双中心人群——跨人群(年龄/种族/地域)外推需再验证。
  • 禁背书:使用数据不构成发布机构对衍生模型的临床认可。

§8.1 部署伦理:分级模型进入工作流的边界条件

分级 AI 的伦理要点不在「隐私」(数据已脱敏)而在「部署位形」——模型放在工作流的哪个位置,决定了责任结构。

三种部署位形

位形 模型角色 责任结构 风险
预筛排序 AI 排队,医师全检 医师全责 低——漏检仍被人工覆盖
分歧仲裁 AI 与医师独立判,分歧送第三人 制度仲裁 中——依赖仲裁流程真实运行
直接出报告 AI 结果入报告 模糊 高——PANDA 级证据不支持
  • Gleason 的特殊敏感性:G1→主动监测意味着「不治疗」——AI 把高危误判为 G1 的代价是延误根治。因此部署位形的敏感度要求高于特异度:初筛位形应调低 G≥4 阈值。
  • 人机分歧的价值:分歧率本身是质量信号——分歧率异常低可能说明模型「复制」了训练中心的口径而非真的正确;分歧样本的人工复核队列是持续改进资产。
  • 透明度义务:进入临床评估的报告应标注 AI 参与痕迹(版本、QWK 评估口径、局限性链接)——「机器口径漂移」在长期使用中必然发生,留痕是追因前提。
  • 跨人群再验证:PANDA 为欧洲北部人群——部署到其他人群前必须本地再验证(至少抽样对照),这是发表与落地的分界线。

§9 版本历史与演进

时间 演进 对 AI 用户的影响
2020-04 Kaggle 挑战赛上线 10,616 WSI 公开
2020-07 竞赛收官 优胜方案+keep-list 沉淀
2022 系统研究发表(外部验证) 临床可行性确立
2023 基础模型时代开启 PANDA 成标准下游
2023-2025 GigaPath 等清洗口径流行 9,555 张口径加入惯例
至今 MIL/弱监督持续基准 病理 AI 事实标准

§9.1 未来演进方向

  • 基础模型基准固化:PANDA 在病理基础模型论文中的位置类似 GLUE 之于 NLP——清洗与协议的进一步标准化是社区方向。
  • 多模态扩展:与 MRI(prostatex 类)/临床数据的联动研究——需外部患者级数据配合。
  • 弱监督方法论:mask 引导的密集预测、不确定性引导的主动标注——PANDA 仍是主试验场。
  • 细粒度子任务:筛状结构(cribriform)检测、模式 3/4 边界带刻画——从「整体分级」走向「形态学证据链」。
  • 跨人群验证网络:以 PANDA 为锚点的多地区外部验证联盟——分级模型的全球化证据积累。

§9.2 使用本条目时的维护提示

  • 规模与分布数字为 2020 版静态事实;引用注明 Kaggle 2020。
  • 清洗口径多元(10,013/9,555/全量)——引用任何论文数字先核对口径。
  • Kaggle 讨论区的 keep-list 与方案代码是活文档——跟踪链接有效性。
  • 许可为静态 CC BY-NC-SA——商业化决策前复查官方条款页。
  • 社区对标签噪声的定位随时间更新(新讨论可能补充清单)——引用 keep-list 注明获取日期。
  • 基础模型论文的评测协议持续微调——跟踪最新论文的附录协议再对齐。

§10 引用与资源

§10.1 官方资源

资源 链接 说明
Kaggle 竞赛页 https://www.kaggle.com/competitions/prostate-cancer-grade-assessment 数据/规则/讨论区
数据页 https://www.kaggle.com/competitions/prostate-cancer-grade-assessment/data 下载
Radboud 病理 AI https://www.computationalpathologygroup.eu/ 发布团队
PANDA 官方论文 挑战赛系统研究(Nature Medicine 2022 口径) 外部验证
ISUP 共识文献 Grade Group 分组(2014) 分级标准依据
基础模型论文附录 UNI/GigaPath 的 PANDA 协议 清洗与评测口径

§10.2 学术引用

  • Bulten W, et al. Automated deep-learning system for Gleason grading of prostate cancer using biopsies: a diagnostic study. Lancet Oncol / Nature Medicine 系(PANDA 团队系统研究口径).
  • Kweldam CF, et al. Gleason 分级观察者一致性文献(ISUP 共识背景).
  • Lu MY, et al. GigaPath: A whole-slide foundation model for cancer histopathology. Nature 2024.(清洗口径 9,555 来源之一)
  • Radboud UMC & Karolinska Institute. Prostate cANcer graDe Assessment (PANDA) Challenge. Kaggle, 2020.
  • camelyon16 / camelyon17:WSI 挑战赛先例(转移检测)
  • prostatex:前列腺 MRI 多模态联用
  • brats:挑战赛范式与多指标设计参照
  • tcia:病理与影像队列扩展源
  • sitzmann 类病理小数据集:外部验证补充
  • medqa / mann 类病理小数据集:外部验证补充
  • medqa / pubmedqa:病理语境下的临床推理评测补充
  • radgraph:结构化:病理语境下的临床推理评测补充
  • radgraph:结构化报告生成的语言侧搭档
  • eidon / 内窥镜影像类:医疗影像 AI 工作流参照

§10.4 建议引用格式

@misc{panda_challenge,
  title        = {Prostate cANcer graDe Assessment (PANDA) Challenge},
  author       = {{Radboud University Medical Center and Karolinska Institute}},
  howpublished = {https://www.kaggle.com/competitions/prostate-cancer-grade-assessment},
  note         = {10,616 whole-slide images; ISUP grades 0-5; CC BY-NC-SA 4.0},
  year         = {2020}
}

§10.5 常见问题 FAQ

Q1:PANDA 的标签能当金标准吗?
A:是「双中心临床实践」级标签,不是共识评审级——已知含噪声(社区 keep-list 603 张)。做模型对照时声明清洗口径;做临床一致性研究时自行安排病理复核。

Q2:为什么我的 QWK 和论文对不上?
A:九成是口径差异——清洗(10,616/10,013/9,555)、划分(随机/跨中心)、tiling(K 与分辨率)、特征(自训/基础模型)四项任一不同即不可比。逐项对齐后再比较。

Q3:mask 能直接当分割标签训练吗?
A:可以但要注意值域双轨(Karolinska 3 类/Radboud 6 类)与「弱标注」属性(Karolinska 仅区分癌/非癌)。模式级分割研究建议以 Radboud 侧为主,Karolinska 侧做癌/非癌二值任务。

Q4:能商用基于 PANDA 训练的模型吗?
A:数据许可 CC BY-NC-SA 排除商业使用——直接商用数据或衍生数据集不行。模型权重的「衍生品」定性存在解释空间,商业落地前必须法务评估,或考虑在商业许可数据上重训。

Q5:没有患者 ID,怎么做患者级分析?
A:PANDA 不支持真正的患者级分析——这是隐私设计的代价。可行替代:①声明 slide 级口径;②与有患者键的院内队列(自建)联用做外部患者级验证;③把患者级聚合研究放在 CAMELYON17(有患者键)等数据集上。

Q6:ISUP 0-5 是分类还是回归?损失怎么选?
A:本质是序数分类——0-5 有序且距离有意义。三种主流选择:①普通 CE(简单但忽略序数);②序数损失(CORAL/CORN 类,把六分类化为多个二元阈值问题);③回归+离散化。文献结论倾向序数损失小幅占优——尤其在相邻级误判的分布上更符合临床直觉。

Q7:基础模型特征下 PANDA 还有多少研究空间?
A:冻结特征+MIL 头已把「入门 QWK」推得很高——但空间在:①细粒度(模式 3/4 灰色带、筛状结构检测);②不确定性量化(仲裁队列场景);③弱监督密集预测(mask 引导);④跨域协议的系统消融。纯「刷整体 QWK」的时代确实结束了。

Q8:tiff 读取报错/文件损坏怎么办?
A:Kaggle 打包与解压过程偶发损坏文件——社区讨论区有已知的损坏文件清单;训练管线应加 try/except 跳过并记录,别让单文件炸掉整夜任务。另外部分 tiff 是「聚合切片」(512×512 网格拼接),OpenSlide 读法与常规金字塔不同——用 tifffile 按页读更稳。

(全文完;本文共 §0-§10 十一个章节,规模数字以 PANDA 挑战赛官方口径为准,发布年份 2020。)


相关数据集导航

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

  • breakhis — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学
  • bracs — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学
  • camelyon17 — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学
  • unitopatho — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学
  • bach — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学
  • lc25000 — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学
  • panda-plus — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学
  • ham10000 — 共享标签:医学影像 / 图像分类 / 肿瘤学
  • ddti — 共享标签:医学影像 / 图像分类 / 肿瘤学
  • tn-mammo-breast-density — 共享标签:医学影像 / 图像分类 / 肿瘤学

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

返回 AI-Ready 数据集