PESO — 前列腺病理上皮分割 AI-Ready Wikipedia

102 张前列腺 H&E 全片,IHC 双染参考标准的上皮像素级分割基准

来源 Radboud University Medical Center(Diagnostic Image Analysis Group) url: https://zenodo.org/records/1485967发布时间: 2026-09-26最后更新: 2026-09-26 阅读 14
PESO — 前列腺病理上皮分割 AI-Ready Wikipedia

信息速览

数据集名称PESO — 前列腺病理上皮分割 AI-Ready Wikipedia
数据类型约 138.2 GB TIFF 全片,102 张 H&E WSI,160 个测试区域,CC BY-NC-SA 4.0,Zenodo 公开下载
规模约 102 例前列腺切除标本(62 训练 + 40 测试 WSI)
接入方式Radboud University Medical Center(Diagnostic Image Analysis Group) url: https://zenodo.org/records/1485967
AI 就绪度

PESO — 前列腺病理上皮分割数据集 AI-Ready Wikipedia


INFOBOX

数据集名称 PESO
英文全称 Prostate Epithelium Segmentation on H&E-stained prostatectomy whole slide images
别名/简称 PESO dataset、peso(Zenodo 概念记录 1485966)
疾病分类 前列腺恶性肿瘤(ICD-11:2C82 前列腺恶性肿瘤 / 2C82.0 前列腺腺癌),含良性前列腺组织对照区域
SNOMED CT 399068003 Malignant tumour of prostate(详见 §2.2)
数据模态 H&E 染色病理全切片图像(WSI)+ 配对 P63 & CK8/18 免疫组化双染(参考标准)
AI 任务类型 语义分割(上皮组织像素级二值分割)、Gleason/ISUP 分级流水线上游任务、病理自监督预训练
样本总数 102 张 WSI(62 训练 + 40 测试);测试集 160 个区域(89 良性 + 71 肿瘤)
数据大小 138.1 GB(v1)/ 138.2 GB(v1.1,含测试集金标掩码)
数据格式 TIFF(OpenSlide 兼容多层金字塔)、PNG(区域剪裁图与掩码)、XML(区域坐标)、CSV(映射表)
许可证 CC BY-NC-SA 4.0(数据,Zenodo 明示);论文 CC BY 4.0
访问级别 开放(Zenodo 公开下载,无需注册或申请)
DUO 标签 NPUNCU(非商业、非营利)
语言 英文(元数据与论文)
首发日期 2018-11-20(Zenodo v1)
最后更新 2021-07-26(v1.1,新增测试集像素级金标掩码)
发布机构 Radboud University Medical Center(荷兰奈梅亨)& Fraunhofer MEVIS(德国不来梅)
官方主页 https://zenodo.org/records/1485967
下载地址 https://zenodo.org/records/5137717
DOI 10.5281/zenodo.1485966(数据集概念 DOI)/ 10.1038/s41598-018-37257-4(论文)
引用次数 约 195(Google Scholar,截至 2026-09;Semantic Scholar 同期 171)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方训练/测试划分清晰、v1.1 提供像素级测试金标、两代 U-Net 基线可复现;扣分项:138 GB 全片体积需预处理管线、无官方 PyTorch/TensorFlow 数据加载器、训练侧掩码为自动+人工混合而非纯金标
页面状态 published

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

医学审核:本条目医学背景(前列腺癌分类、Gleason/ISUP 分级体系、免疫组化参考标准方法学)由 [千方病案医学编辑部] 交叉审核:§2 医学背景(ICD-11/SNOMED CT 映射、金标准构建)、§7 偏倚分析(单中心偏倚、参考标准误差传递)。

数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典(TIFF/XML/CSV/PNG 文件体系)、§5 数据划分策略(slide 级划分与患者泄漏风险)、§6 预处理 Pipeline 和坑点(掩码语义、染色归一化、评估口径)。

审核日期:2026-09-05

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。PESO 以 CC BY-NC-SA 4.0 许可在 Zenodo 公开发布,使用者须署名、非商业使用并以相同方式共享;具体使用限制以 Zenodo 记录页与论文原文为准。


§1 数据集概览

§1.0 30 秒速览

这是什么? PESO 是荷兰拉德堡德大学医学中心(Radboud UMC)于 2018 年发布的前列腺病理公开数据集,包含 102 张前列腺根治切除术的 H&E 染色全切片图像(数字化分辨率 0.48 μm/pixel),并附带像素级"上皮组织 vs 背景"分割标注。它最独特的地方在于标注的来源:不是病理医生在 H&E 上直接描画,而是借助同一患者配对的 P63 & CK8/18 免疫组化双染色片——这种染色能让基底细胞清晰显形,从而客观界定上皮区域——再经配准与人工校正生成参考标准。

为什么重要? 在数字病理中,"找到上皮"是 Gleason 分级、肿瘤区域检测等几乎所有下游任务的第一步,但人工逐像素描画上皮既昂贵又主观。PESO 首次以免疫组化为参考标准系统性地解决了这一问题,并公开了两代 U-Net 基线(F1 0.893)、160 个由泌尿病理学家逐一分级的测试区域(v1.1 补齐全部像素级金标掩码),成为前列腺病理分割研究的标准基准之一。

我能用它做什么? 训练和评测上皮/腺体分割模型;为 Gleason 分级流水线构建上游上皮提取模块;将 102 张全片作为自监督预训练语料(HistoEncoder、Tissue Concepts 等工作已验证此用法);或以论文自带的跨中心外部验证(Gertych 数据集,F1 0.835)为范式设计域适应实验。

§1.1 摘要

PESO(Prostate Epithelium Segmentation on H&E-stained prostatectomy whole slide images)由 Radboud UMC 与 Fraunhofer MEVIS 合作构建,研究发表于 Scientific Reports(Bulten et al., 2019, 9:864)。数据集包含 62 张训练用与 40 张测试用的 H&E 全片,均为 2006-2011 年间在 Radboud UMC 行前列腺根治切除术的标本,以 3DHistech Pannoramic Flash II 250 扫描仪 20× 物镜数字化(0.48 μm/pixel)。训练集标注采用两步法:先在 25 张配对 IHC 双染片上以颜色反卷积自动提取上皮并经非专家人工校正(3,493 处校正,改标约 2.3% 面积),训练第一代 IHC U-Net;再通过 NGF(自然图像特征)配准将 IHC 标注迁移到配对 H&E 片,以 50 张训练掩码训练第二代 H&E U-Net。测试集从 40 张全片中各取 4 个区域(2 肿瘤 + 2 良性,每区域 2,500×2,500 px @10× 等效分辨率),共 160 个区域,由泌尿病理学家逐一分级(ISUP grade group)。基线性能:IHC 网络 F1 0.915±0.09,H&E 网络 F1 0.893±0.05;Gleason 5 级组最难(F1 0.819)。在独立外部数据集(Gertych 等)上 F1 0.835±0.13,显著优于同期 SVM(0.595)与深度学习(0.737)方法。

§1.2 战略价值分析

方法学价值:参考标准的"客观化"范式。 病理分割数据集的软肋从来不是算法而是金标准——人工描画既慢又带观察者间变异。PESO 用免疫组化双染(P63 标记基底细胞核、CK8/18 标记腺上皮细胞质)作为"物理金标准",把"上皮在哪里"变成一个可被染色客观界定的问题,再以颜色反卷积 + 配准 + 人工校正将其转化到 H&E 域。这一范式对任何想构建大规模病理分割标注的团队都有直接借鉴意义,也是该数据集论文获得约 195 次引用(Google Scholar,截至 2026-09)的核心原因之一。

工程价值:完整可复现的基准闭环。 与许多"只发数据不发基线"的数据集不同,PESO 的论文完整公开了两代网络的架构(5 层 IHC U-Net、6 层 H&E U-Net)、超参(Adam,β=0.99,lr=0.0005)、逐级性能(GG1-GG5)与外部验证结果;v1.1 又补齐了 160 个测试区域的像素级金标掩码,使任何团队都能在同一测试协议上直接对表。数据以 Zenodo 概念 DOI(10.5281/zenodo.1485966)永久托管,CC BY-NC-SA 4.0 开放下载,无需注册申请——这在医疗数据集中属于获取门槛最低的一档。

生态位价值:填补"分割基准断层"。 前列腺病理公开资源分布极不均衡:分级分类资源多(PANDA、SICAPv2),而像素级分割基准稀缺,且现存的腺体分割数据集(GlaS 等)很少覆盖前列腺。PESO 恰好卡在"像素级 + 前列腺 + 开放获取"三个条件的交集上,这一生态位至今没有量级与完备度相当的替代品,使其在发布多年后仍是该方向的默认引用基准。

§1.3 同类数据集横向对比

数据集 主要任务 标注粒度 标注来源 与 PESO 的关系
PESO(本条目) 上皮组织像素级分割 像素级掩码(训练:IHC 派生+校正;测试:v1.1 金标) IHC 双染参考标准 + 非专家校正 + 配准迁移 —
PANDA(Prostate cANcer graDe Assessment) Gleason/ISUP 分级(patch/WSI 级分类) 切片级 ISUP 分级 多中心病理医生委员会 同为 Radboud 主导;PANDA 解决"分几级",PESO 解决"上皮在哪里",可串成流水线
SICAPv2 Gleason 分级(patch/WSI) 切片级 + 部分腺体级 临床病理报告与专家标注 同域互补;SICAPv2 侧重分级监督信号,无上皮像素掩码
GlaS(Gland Segmentation Challenge) 腺体实例分割 像素级腺体轮廓 人工标注(结直肠/乳腺为主) 任务相近但器官不同;GlaS 标腺体实例,PESO 标前列腺上皮整体
Gertych et al. 前列腺数据集 上皮分割(外部验证用) 像素级 人工标注 PESO 论文的官方外部验证集(224 tiles / 20 WSI,0.5 μm/pixel)

注:表中各数据集的任务与标注方式为定性描述;引用与规模数字以各数据集官方论文为准,此处不展开,避免跨源口径混用。

§1.4 版本演进时间轴

版本 发布日期 内容 大小 关键变化
v1 2018-11-20 62 训练 WSI(6 个 zip)+ 62 张颜色反卷积掩码 + 62 张 U-Net 掩码 + 25 张校正掩码;40 测试 WSI + 160 区域剪裁图(png/padded png)+ 区域 XML + 映射 CSV 138.1 GB 首发版本;测试集无像素级金标掩码(只有区域级分级)
论文 2019-01-29 Scientific Reports 9:864 发表(Received 2018-10-01 / Accepted 2018-12-03) — 两代 U-Net 基线与外部验证结果正式公开(PMID 30696866)
v1.1 2021-07-26 新增 peso_testset_groundtruth_masks.zip:160 个测试区域的像素级金标掩码 138.2 GB 做测试评测必须用此版本;掩码像素值 0=未标注 / 1=背景 / 2=上皮

版本选择建议详见 §3.0 版本抉择矩阵。一句话总结:评测工作直接下载 v1.1;仅复用训练侧数据可用 v1;引用一律走概念 DOI。v1 到 v1.1 之间训练侧文件无任何变动,两者差异只有测试金标掩码一个文件包。

§1.5 典型 AI 应用场景

  1. 上皮分割基准评测:以 v1.1 的 160 个金标区域为测试集,按论文协议(区域级 F1/Jaccard/Accuracy 平均)评测自研分割模型,与两代 U-Net 基线直接对表。
  2. Gleason 分级流水线的上游模块:先上皮分割、再在上皮区域上做分级特征提取,是自动化 Gleason 分级的经典架构;PESO 提供该第一级的训练数据与金标。
  3. 病理自监督预训练语料:102 张 0.48 μm/pixel 全片约含数十万计的高分辨率 patch,HistoEncoder(arXiv:2411.11458)与 Tissue Concepts(arXiv:2409.03519)均将 PESO 用作预训练或评估语料。
  4. 跨中心泛化与染色归一化研究:论文自带的 Gertych 外部验证(F1 从 0.893 降至 0.835)是现成的域偏移案例,可复现并测试 Macenko/Reinhard 染色归一化的增益。
  5. 半监督与弱监督教学案例:训练集同时提供颜色反卷积掩码(自动)、U-Net 掩码(模型输出)与校正掩码(人工修正),构成研究"自动标签 → 模型训练 → 人工修正"迭代闭环的天然教材。

三个场景外的反例提示:需要患者级结局建模(无随访数据)、需要自然患病率估计(区域为人工均衡)、需要商业部署(非商业许可)的研究都不适合选择 PESO——选型阶段排除这些方向,能避免项目中途才发现数据不支持的沉没成本。

§2 医学背景

§2.1 ICD-11 疾病分类锚定

PESO 的切片均来自前列腺根治切除术,组织学谱系覆盖良性前列腺组织与不同 Gleason 级别的前列腺腺癌。相关 ICD-11 编码如下:

标签 ICD-11 编码 ICD-11 中文名称 在 PESO 中的体现
前列腺恶性肿瘤 2C82 前列腺恶性肿瘤 测试集 71 个肿瘤区域,训练集多数切片含癌组织
前列腺腺癌 2C82.0 前列腺腺泡腺癌(前列腺癌最主要组织学类型) Gleason 分级对象的主体;测试区域由泌尿病理学家逐一定级
良性前列腺组织 —(非疾病,无 ICD-11 编码) — 测试集 89 个良性对照区域;训练集中的良性腺体与间质

§2.2 SNOMED CT 映射

概念 SNOMED CT 码 英文术语 备注
前列腺恶性肿瘤 399068003 Malignant tumour of prostate 覆盖 PESO 测试集肿瘤区域;组织学亚型以腺泡腺癌为主(详见 §2.3)
上皮组织(分割目标) —(组织结构概念,非疾病编码) Epithelium/epithelial tissue PESO 的分割标签是"上皮 vs 背景",属于组织结构层面而非疾病分类

注:PESO 不发布患者级临床表型数据(年龄、分期、PSA 等均未随数据公开),故疾病编码仅锚定切片的组织学内容本身;将模型输出对接病例系统时,需另行准备编码映射。

编码对接提示:若你的 pipeline 需要把分割结果对接医院术语体系,建议自建如下映射桥:区域类别(benign/tumor)→ SNOMED 形态学码 → ICD-11 肿瘤码,本文 §2.1 的锚定表可作为起点;_mapping.csv 中泌尿病理学家的区域分级可直接映射 ISUP grade group,是现成的最高可信度标签源。

§2.3 疾病简介

前列腺癌是全球男性最常见的恶性肿瘤之一:据 GLOBOCAN 2022 估计,全球每年新发病例约 147 万、死亡约 40 万,发病数居男性恶性肿瘤第二位。在西方人群中,前列腺根治切除术是局限期前列腺癌的主要根治手段,术后标本的组织学检查(Gleason 分级、切缘与分期评估)直接决定辅助治疗决策。

Gleason 分级系统将腺体结构形态归纳为 1-5 级模式(pattern),评分取主型与次型之和;2014 年 ISUP 共识将其映射为 5 个 grade group(GG1 = Gleason ≤6,GG2 = 3+4,GG3 = 4+3,GG4 = 8,GG5 = 9-10),并已被 WHO 采用。分级的关键形态学依据——腺体的轮廓、融合程度与浸润方式——全部建立在"先正确识别上皮结构"之上:良性腺体有连续基底细胞层,而浸润性癌缺失基底细胞。PESO 测试集 160 个区域按 ISUP grade group 分布为 GG1 n=32、GG2 n=10、GG3 n=5、GG4 n=14、GG5 n=10(肿瘤区域共 71 个),另有 89 个良性区域。

ISUP grade group 与 Gleason 评分的对应关系(PESO 测试集逐区域分级即采用该口径):

ISUP Grade Group Gleason 评分 形态学含义 PESO 测试区域数
GG1 ≤6 散布良好的中小腺体 32
GG2 3+4=7 以 3 型为主,混有少量 4 型 10
GG3 4+3=7 以 4 型(融合腺体)为主 5
GG4 8 4 型为主伴 5 型,或筛状结构 14
GG5 9-10 实性片块/单个细胞浸润等最高级别结构 10

流行病学与分级背景提示了 PESO 的数据构成特点:前列腺根治切除标本以中高级别病变为主(PESO 组织块中 grade 3 pattern 占 69%、grade 4 占 63%),良性区域为研究者按设计补齐的对照,不反映自然患病率。

§2.4 临床任务定义

PESO 对应的临床任务是前列腺组织学数字切片中的上皮结构自动识别,属于全切片图像语义分割:

任务要素 内容
输入 H&E 染色前列腺切除标本 WSI(0.48 μm/pixel,20×)
输出 像素级二值掩码:上皮(epithelium)vs 非上皮(间质、腔内容物、空白)
临床角色 分级与肿瘤检测的上游预处理任务:腺体定量、上皮占比测量、Gleason pattern 识别的第一步
参考标准 配对 P63 & CK8/18 免疫组化双染——基底细胞(P63 核着色)与腺上皮(CK8/18 胞质着色)显形后,上皮范围由染色客观界定,而非人工主观描画

为什么"上皮在哪里"值得单独一个数据集?因为病理 AI 的失败常发生在最底层:间质与上皮的边界不清会导致腺体被切碎、Gleason pattern 误判;而人工标注上皮既昂贵(一张全片需数小时)又不可复现。PESO 用染色物理信号替代人工描画,把这一底层任务做成了可量化、可复现的基准。

§2.5 患者人群特征

属性 描述
来源机构 Radboud University Medical Center(荷兰奈梅亨,欧洲三级转诊中心)
标本类型 前列腺根治切除术(radical prostatectomy)标本
采集时间 2006-2011 年
性别 全部为男性(前列腺手术)
病变谱系 良性前列腺组织至 Gleason grade group 5;组织块中 pattern grade 2 占 24%、grade 3 占 69%、grade 4 占 63%、grade 5 占 33%(同一组织块可含多个级别)
年龄/种族/分期 未随数据集公开(数据仅含切片与掩码,无临床元数据)
样本量 102 张 WSI(62 训练 + 40 测试)

人群表的"空字段"本身就是重要信息:PESO 是典型的图像-only 数据集,设计目标聚焦分割任务本身,任何需要人口统计学协变量、生存随访或多中心对比的研究设计都不适用。将 PESO 模型外推到其他人群前,请先在自己的数据上做组织学与染色层面的域差评估(§7.5)。

§2.6 临床价值

对临床下游而言,可靠的上皮分割带来三重价值:其一,分级自动化——Gleason 分级算法(无论经典特征工程还是深度学习)均需在上皮/腺体区域内计算形态学特征,上皮分割质量直接设定分级上限;其二,肿瘤负荷定量——上皮占比与浸润范围是切缘评估和穿刺活检质控的量化指标;其三,标注经济学——IHC 参考标准范式意味着新中心可以用常规诊断中已经存在的配对 IHC 片"免费"获得像素级标注,无需病理医生逐像素描画,这将标注成本从"每片数小时专家工时"降到"每片约 45-60 分钟非专家校正"。

第三重价值常被低估:它把"像素级病理标注"从专家瓶颈中解放出来。任何已积累配对 IHC 切片的病理科(IHC 本就是常规诊断手段),理论上都能以 PESO 范式低成本复制一套本地化分割标注——这是该数据集超越自身规模的辐射价值。

§2.7 金标准/参考标准

环节 划分 标注方式 标注者 性质
训练集 IHC 参考标准 25 张 IHC 片 P63 & CK8/18 双染 + 颜色反卷积自动提取 + 人工校正(3,493 处) 非专家(经训练的学生/研究员)逐处校正 染色派生 + 人工校正的参考标准
训练集 H&E 掩码 62 张 H&E 片 IHC 掩码经 NGF 配准迁移,训练 IHC U-Net 后推断/生成 算法生成(第一代模型输出) 模型派生掩码(非金标,训练监督用)
测试集区域分级 160 区域 每区域 ISUP grade group 逐一判定 泌尿病理学家 C. A. Hulsbergen-van de Kaa 专家金标(区域级)
测试集像素掩码 160 区域 v1.1 新增,像素值 0=未标注 / 1=背景 / 2=上皮 随 Zenodo v1.1 发布 像素级金标(评测用)

§3 数据集规格

§3.0 版本抉择矩阵

PESO 在 Zenodo 上以概念 DOI(10.5281/zenodo.1485966)聚合两个版本,下载前请按下表选择:

你的需求 推荐版本 大小 理由
训练上皮分割模型(只需训练侧数据) v1(record 1485967) 138.1 GB 训练侧文件(WSI + 三种掩码)两个版本完全相同;v1 下载量更小
复现论文测试协议 / 刷榜评测 v1.1(record 5137717) 138.2 GB 测试像素级金标掩码只在 v1.1;v1 的测试集仅有区域剪裁图与分级
只需测试区域图像与病理分级(分类任务) v1 即可 138.1 GB 160 个区域 png + padded png + 分级 CSV 在 v1 中已齐备
完整研究(训练 + 测试 + 金标) v1.1 138.2 GB 一个记录页包含全部文件,避免跨版本拼接

注意:两个版本的 Zenodo 记录页 URL 不同(1485967 vs 5137717),引用时建议引用概念 DOI 10.5281/zenodo.1485966 以覆盖全部版本。

§3.1 模态详细说明

H&E 染色全切片(主模态):102 张前列腺切除标本 WSI,苏木精-伊红常规染色,3DHistech Pannoramic Flash II 250 扫描,20× 物镜,像素分辨率 0.48 μm/pixel。文件为多层金字塔 TIFF(OpenSlide 兼容),单张全片数 GB 量级。测试集 40 张全片按每张 4 个区域(2 肿瘤 + 2 良性)剪裁出 160 个 2,500×2,500 px、10× 等效分辨率(约 0.96 μm/pixel)的区域图。

P63 & CK8/18 免疫组化双染(参考标准模态,仅训练侧配对存在):P63 标记前列腺腺体基底细胞核,CK8/18 标记腺上皮细胞质。双染下"有基底细胞包绕"的上皮结构清晰显形,颜色反卷积(color deconvolution)可自动分离两种染色信号,从而客观提取上皮掩码。25 张 IHC 片用于构建第一代参考标准并训练 IHC U-Net,后者将其余配对片的标注迁移到 H&E 域。

测试区域构造的意义:区域级设计(每片 2 肿瘤 + 2 良性)是对"全片金标不可得"这一现实约束的工程化绕行——病理学家只需在 160 个 2,500×2,500 px 区域内逐一确认分级,工作量可控,而区域位置由 XML 精确锚定回全片。这使测试集同时具备像素金标(v1.1)与专家分级(区域级)两层真值,评测既可做分割也可做分级分层分析。使用时须记住这是"选区评测"而非"全片评测"(坑点 7)。

§3.2 按子集样本数拆分(v1.1 完整文件清单)

子集 文件 数量 大小 说明
训练-图像 训练 WSI(TIFF,6 个 zip 分片) 62 张 约占训练侧主要体积 H&E 全片,0.48 μm/pixel
训练-自动掩码 color deconvolution masks 62 张 1.4 GB 颜色反卷积自动提取的上皮掩码(含噪声)
训练-模型掩码 U-Net masks 62 张 1.7 GB 第一代 IHC U-Net 生成的掩码(迁移监督用)
训练-校正掩码 corrected masks 25 张 587.3 MB 人工校正后的参考标准(3,493 处校正)
测试-图像 测试 WSI(TIFF,4 个 zip 分片,各约 13-14.2 GB) 40 张 约 55 GB H&E 全片
测试-区域坐标 regions XML 1 份 17.1 kB 160 个区域的坐标与类别
测试-区域图 region png 160 张 205.2 MB 2,500×2,500 px @10× 等效
测试-区域图(带边界填充) padded region png 160 张 400.1 MB 含边界填充版本
测试-映射表 mapping CSV 1 份 3.0 kB 区域-全片-分级映射
测试-金标掩码 peso_testset_groundtruth_masks.zip(仅 v1.1) 160 张 103.7 MB 像素值 0=未标注 / 1=背景 / 2=上皮
合计 — — 138.1 GB(v1)/ 138.2 GB(v1.1) —

§3.3 数据格式详情

格式 用途 读取工具 注意事项
TIFF(金字塔) 全片图像 OpenSlide(Python/C++)、ASAP 多层金字塔,level 0 为 0.48 μm/pixel 原生分辨率
PNG 区域剪裁图、padded 区域图、掩码 PIL/OpenCV 掩码读入时注意像素值映射(见坑点 2)
XML 测试区域坐标与类别 任意 XML 解析器 区域左上角坐标对应全片 level 0 坐标系
CSV 区域-全片-分级映射 pandas 160 行,测试集元数据的权威来源
ZIP 分片打包 标准 unzip 训练侧 6 片 + 测试侧 4 片,解压后按文件名对应

格式体系的总体评价:PESO 用了病理数据最保守的文件组合(TIFF/PNG/XML/CSV),零私有格式、零专有数据库,任何能读图像的语言都能消费——这是 2018 年发布、八年无迁移成本的原因之一。唯一需要留意的非常规点只有掩码三值语义(§4.5)。

§3.4 存储大小

  • v1 下载体积:138.1 GB;v1.1:138.2 GB(多出 103.7 MB 测试金标掩码 zip)。
  • 解压后体积约为下载体积的 1 倍量级(zip 对 TIFF 压缩有限),建议预留 300 GB 以上磁盘(原始 zip + 解压数据 + 预处理 patch 缓存)。
  • 训练侧与测试侧文件在 Zenodo 记录中独立列示,可选择性下载(如只要测试区域 png + 掩码,约 710 MB 即可开始评测)。

磁盘规划建议(从下载到出实验结果的全周期):

阶段 空间需求 说明
下载中 138.2 GB(zip)+ 临时空间 分片下载,逐片校验可控制峰值
解压后 约 140-150 GB zip 与解压并存期需双倍空间
删除 zip 后 约 140 GB checksum 已验证方可删除
patch 缓存 30-100 GB(视下采样策略) 建议 LMDB/分片 npy,避免单文件过大
建议总量 300-500 GB 含实验产物与检查点

§3.5 标注方式

PESO 的标注体系是"染色派生 + 算法迁移 + 人工校正"三层结构,区别于传统纯人工标注:

  1. 颜色反卷积自动提取(62 张,1.4 GB):对配对 IHC 双染色片做颜色反卷积,按染色信号自动分离上皮像素——客观但含噪声(组织折叠、染色不均会引入假阳/假阴)。
  2. 人工校正(25 张,587.3 MB):非专家对自动掩码逐处修正,共 3,493 处校正(平均每片约 140 处,修正约 2.3% 的面积,单片耗时 45-60 分钟)——得到高质量参考标准。
  3. 模型迁移(62 张 U-Net masks,1.7 GB):以校正掩码训练第一代 IHC U-Net(F1 0.915),推断其余训练片的 IHC 掩码,再经 NGF 配准映射到配对 H&E 片,作为第二代 H&E U-Net 的训练监督。

测试集的 160 个像素级金标掩码随 v1.1 发布(构建流程细节以 Zenodo 记录与论文为准)。

§3.6 标注者资质与一致性

  • 人工校正者:非专家(论文表述为经训练的非病理人员)。论文以此证明"非专家 + 染色客观信号"足以产出可用参考标准——校正只处理反卷积的明显错误,而非从头判读上皮。
  • 区域分级者:泌尿病理学家 Christina A. Hulsbergen-van de Kaa(Radboud UMC),对 160 个测试区域逐一给出 ISUP grade group,并确认区域类别(良性/肿瘤)。
  • 一致性数据:论文未发布观察者间一致性统计量(如 kappa);H&E 基线 F1 0.893±0.05 的方差部分反映了参考标准自身的残余噪声。

§3.7 数据采集时间范围

标本采集于 2006-2011 年(Radboud UMC 前列腺根治切除系列);数据集首次发布于 2018-11-20,论文发表于 2019-01-29,v1.1 更新于 2021-07-26。

时间线的两个推论:①从采集到发布有 7-12 年的间隔,期间的染色试剂配方与制片工艺可能已发生变化,对比当代数据时把"时间漂移"纳入归因(§7.6);②数据集内容冻结于 2021 年(v1.1 后无更新),不存在"半成品持续变动"的风险——实验设计可以放心引用固定版本,这正是基准数据集的理想形态。

§3.8 地域覆盖

单中心:荷兰奈梅亨 Radboud University Medical Center。无多中心、无多族群采样——这是泛化性讨论(§7.3)的核心约束。

§3.9 采集设备规格

项目 规格
扫描仪 3DHistech Pannoramic Flash II 250
物镜 20×
像素分辨率 0.48 μm/pixel
染色 H&E(主模态);P63 & CK8/18 双染(配对参考标准)
存储格式 多层金字塔 TIFF

§3.10 深度溯源链

标本采集(Radboud UMC,2006-2011)→ 病理实验室 H&E/IHC 切片制作 → Pannoramic Flash II 250 数字化(0.48 μm/pixel)→ 配对 IHC 片颜色反卷积 + 非专家校正(25 片参考标准)→ IHC U-Net 训练与掩码迁移(NGF 配准)→ H&E U-Net 训练(50 训练/12 验证掩码)→ 测试区域选取(每片 2 肿瘤 + 2 良性)→ 泌尿病理学家区域分级 → Zenodo v1 发布(2018-11-20)→ Scientific Reports 论文(2019-01-29)→ v1.1 补充测试金标掩码(2021-07-26)。每一环节均有论文方法学章节或 Zenodo 记录文件清单背书,溯源链完整可查。

§4 数据结构详解

§4.0 目录结构预览

Zenodo 记录按内容类别分发 zip 分片,解压后形成如下结构(文件名以实际解压结果为准,下图为内容类别示意):

peso/
├── training/                          # 训练侧(62 张 WSI)
│   ├── slides/                        # H&E 全片,多层金字塔 TIFF
│   │   ├── <slide_id>.tiff
│   │   └── ...
│   ├── masks_color_deconvolution/     # 62 张自动掩码(1.4 GB)
│   │   └── <slide_id>.png
│   ├── masks_unet/                    # 62 张 U-Net 掩码(1.7 GB)
│   │   └── <slide_id>.png
│   └── masks_corrected/               # 25 张人工校正掩码(587.3 MB)
│       └── <slide_id>.png
├── test/                              # 测试侧(40 张 WSI)
│   ├── slides/                        # H&E 全片,4 个 zip 分片(各约 13-14.2 GB)
│   │   ├── <slide_id>.tiff
│   │   └── ...
│   ├── regions/                       # 160 张区域剪裁图(205.2 MB)
│   │   └── <region_id>.png            # 2,500×2,500 px @10× 等效
│   ├── regions_padded/                # 160 张含边界填充区域图(400.1 MB)
│   │   └── <region_id>.png
│   ├── regions.xml                    # 区域坐标与类别(17.1 kB)
│   └── mapping.csv                    # 区域-全片-分级映射(3.0 kB)
└── peso_testset_groundtruth_masks/    # 仅 v1.1(103.7 MB)
    └── <region_id>.png                # 像素值:0=未标注 / 1=背景 / 2=上皮

§4.1 DAIMS 标准化字段描述表

字段/文件 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
WSI TIFF 图像 H&E 全片,多层金字塔 level 0:0.48 μm/pixel 分割输入/预训练语料 扫描批次内变异极小 — 单片数 GB
region png 图像 测试区域剪裁图 2,500×2,500 px 评测输入 区域为人工选区(见坑点 7) — 160 张
padded region png 图像 区域图含边界填充 >2,500×2,500 px 上下文增强的评测输入 填充区非真实组织 填充像素=无效区 160 张
regions.xml 坐标 区域在全片中的位置与类别 <region> 节点 全片-区域对齐 — — 160 节点
mapping.csv 表 区域-全片-分级元数据 每行一个区域 划分与分层评测的主键表 — 良性区域分级列为空 160 行
region_class 文本 区域类别(选取时确定) benign / tumor 分层评测 选取偏置见 §7.1 — 2 类
isup_grade_group 整数标签 泌尿病理学家逐区域分级 1-5(良性为空) 按难度分层报告 病理专家判定,未发布一致性统计 良性=空
groundtruth mask 像素值 整数 v1.1 金标掩码语义 2 = 上皮 评测金标 含参考标准残余噪声 0 = 未标注
color deconvolution mask 图像 自动提取上皮掩码 二值/类别掩码 弱监督/预训练 反卷积假阳/假阴 — 62 张
U-Net mask 图像 第一代模型输出掩码 二值掩码 训练监督(勿当金标) 模型误差(IHC F1 0.915) — 62 张
corrected mask 图像 人工校正参考掩码 二值掩码 高质量训练监督 3,493 处校正覆盖 25 片 — 25 张

§4.2 标签分布统计

测试集区域构成(n=160):

维度 取值 数量 占比
区域类别 良性 89 55.6%
区域类别 肿瘤 71 44.4%
肿瘤区域分级 GG1 32 45.1%(占肿瘤)
肿瘤区域分级 GG2 10 14.1%
肿瘤区域分级 GG3 5 7.0%
肿瘤区域分级 GG4 14 19.7%
肿瘤区域分级 GG5 10 14.1%

训练组织块 Gleason pattern 分布(同一组织块可含多级别):grade 2 占 24%、grade 3 占 69%、grade 4 占 63%、grade 5 占 33%。

分布解读:测试集良性略多于肿瘤(55.6% vs 44.4%)是设计出来的均衡,不是自然分布;肿瘤内部 GG1 一家独大(32/71)而 GG3 仅 5 例——这意味着总体均值主要由"良性 + GG1"两类撑起,分 GG 报告不是可选项而是必选项,否则 GG5 的性能短板会被均值完全掩盖。

§4.3 关键字段描述性统计

  • 全片分辨率:0.48 μm/pixel(20×);测试区域等效 10×(约 0.96 μm/pixel),尺寸 2,500×2,500 px。
  • 基线性能分布:H&E 网络 F1 = 0.893±0.05(区域间标准差),IHC 网络 F1 = 0.915±0.09——区域间方差较大,单区域分数波动明显。
  • 人工校正强度:25 片共 3,493 处校正(平均约 140 处/片),改标面积占比约 2.3%,单片校正耗时 45-60 分钟。

评测最小包清单(约 710 MB,无需 138 GB 全片即可开始 160 区域评测):

文件 数量 大小 作用
region png 160 张 205.2 MB 评测输入图像
padded region png 160 张 400.1 MB 含边界填充的评测输入(可选)
groundtruth masks(v1.1) 160 张 103.7 MB 金标
mapping.csv + regions.xml 2 份 20.1 kB 元数据与坐标
合计 — 约 709 MB —

§4.4 数据层级关系

机构(Radboud UMC)
└── 患者(未提供 ID,同一患者可能贡献多张 WSI)
    └── 标本/全片(slide,训练 62 + 测试 40)
        └── 区域(region,仅测试侧,每片 4 个:2 肿瘤 + 2 良性)
            └── 像素(掩码标签:0/1/2)

关键点:PESO 的最小公共单元是 slide,不是患者。mapping.csv 与 regions.xml 均不含患者标识,跨层级聚合分析止步于 slide 级。

层级与文件的对应关系:

层级 承载文件 元数据
标本/全片 <slide_id>.tiff(训练 62 + 测试 40) 无独立表,zip 分片隐含归属
区域 <region_id>.png / padded png / 金标掩码 regions.xml(坐标类别)+ mapping.csv(分级)
像素 掩码 png 内像素值 0/1/2 语义(§4.5)

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

情形 表现 处理建议
金标掩码"未标注"像素 像素值 0(v1.1 掩码) 评测时从分母剔除(不是背景!);训练时配合 mask-aware loss 忽略
良性区域无 ISUP 分级 mapping.csv 中分级列为空 按类别分层时归入 benign 组,勿填 0
训练侧无患者 ID 全部训练文件不含患者字段 无法做患者级划分,见 §5.3 泄漏讨论
临床元数据 不存在(未发布) 需要临床协变量的研究不适用本数据集

与表格数据库不同,PESO 的"缺失"几乎全部集中在掩码的未标注像素上——这不是数据质量问题,而是全片级像素标注成本过高下的务实设计:只在有把握的区域给出确定标签,其余留白。正确消费这份留白(masked loss + masked metric)正是使用 PESO 的基本功。


§5 数据划分与使用建议

§5.1 官方数据划分

官方只划分**训练(62 WSI)与测试(40 WSI)**两个集合,无验证集:

  • 训练侧内部,论文实际使用了三档掩码与两级再划分:IHC 阶段 25 片按 20/5 训练/验证;H&E 阶段 50 张训练掩码 + 12 张验证掩码(来自校正/迁移流程)。
  • 测试侧:40 WSI 上的 160 个固定区域 + 区域级 ISUP 分级 + v1.1 像素金标。

两代网络的训练资源分配(论文方法节口径):

阶段 训练资源 验证资源 输入尺寸
第一代 IHC U-Net 20 张 IHC 片 5 张 IHC 片 512×512 patches
第二代 H&E U-Net 50 张训练掩码 12 张验证掩码 1,024×1,024 patches

§5.2 推荐划分策略

  1. 评测:永远在 160 个官方区域上报告,不自行在训练片上切测试 patch——训练侧掩码非金标,分数不可比。
  2. 训练内部验证:复刻论文做法,按 slide 切 50/12(或按 IHC 片 20/5);若自建验证集,按 slide 块切分并做 ISUP 分层。
  3. 交叉验证:以 slide 为单位做 5 折,按区域 ISUP grade group 分层(GG3 仅 n=5、GG2/GG5 各 n=10,需分层抽样保证小类覆盖);报告逐折均值±标准差。
  4. 移植到其他数据集前:保留 160 区域测试集为封闭测试,不要反复在其上调参——区域数量有限,多次调参会过拟合测试分布。

§5.3 数据泄漏风险防御

风险 机制 防御
患者级泄漏 同一患者的两片若分属训练/测试,模型可"认出"患者染色与结构风格 PESO 未提供患者 ID,无法根除;至少避免将同一 zip/同批片的 patch 同时散布到训练与自建测试
掩码角色混用 把 U-Net mask 或 deconvolution mask 当金标测试 测试只用 v1.1 groundtruth masks;三档训练掩码的角色见 §3.5(坑点 1)
任何按文件名的随机划分都无法排除"同一患者进训练与测试",自建划分时建议按 zip 分片整块切分:
# ---------------------------------------------------------------------------
# slide 级 5 折 + 区域分层示例(列名以 mapping.csv 实际表头为准,
# 先 print(meta.columns) 确认,再替换下方 GROUP_COL / STRATUM_COL)
# ---------------------------------------------------------------------------
import pandas as pd
from sklearn.model_selection import StratifiedGroupKFold

meta = pd.read_csv("peso/test/mapping.csv")
GROUP_COL = meta.columns[1]    # slide 归属列(示意,以实际表头为准)
STRATUM_COL = meta.columns[-1] # 分级/类别列(示意)

sgkf = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=42)
for fold, (tr, va) in enumerate(sgkf.split(meta, meta[STRATUM_COL], groups=meta[GROUP_COL])):
    # 每折内:同一 slide 的所有区域只会出现在训练侧或验证侧
    print(f"fold {fold}: train={len(tr)} val={len(va)}")

| 预训练语料重叠 | 先在全部 102 张片(含测试片)上做自监督预训练,再在 PESO 上评测 | 自监督预训练只用 62 张训练片,或明确声明"预训练见过了测试图像" |

§5.4 交叉验证建议

正式比较模型时建议:slide 级 5 折 GroupKFold + 区域 ISUP 分层,每折重训并报告区域级 F1 的均值±标准差;同时按 GG1-GG5 分组报告(论文口径),关注 GG5(n=10)的置信区间下限而非点估计。

§5.5 外部验证

论文的官方外部验证协议值得直接复用:Gertych 等前列腺数据集(224 个 1,500×1,500 tiles,来自 20 张 WSI,0.5 μm/pixel,GG3-4 为主),PESO H&E 网络在零微调条件下 F1 0.835±0.13、Acc 0.866、Jaccard 0.735,显著高于同数据上的 SVM 基线(F1 0.595)与另一深度学习方法(F1 0.737)。该协议展示了"单中心训练 → 异中心零迁移"的标准评估设计,也量化了域偏移代价(F1 下降约 5.8 个百分点,见 §7.3)。

复用该协议的两个注意点:①Gertych 数据集的 tile 尺寸与分辨率与 PESO 区域不同,迁移时需要重采样到模型训练分辨率并记录重采样链路;②0.5 μm/pixel 与 0.48 μm/pixel 的微小差异在实践中可忽略,但染色体系的差异(不同机构试剂流程)才是性能落差的主导因素,归一化实验应围绕染色展开。


§6 AI 就绪指南

§6.0 云端快速启动

PESO 全量 138 GB,不适合直接塞进 Colab/Kaggle 磁盘。云端的最小评测包只需约 710 MB(160 区域图 + padded 图 + 金标掩码 + 映射表):

# Kaggle/Colab 均可运行。思路:用 zenodo_get 拿到文件清单 URL,
# 只下载评测必需文件,不拉 138 GB 全片。
pip install zenodo_get
zenodo_get -r 5137717 -w urls.txt        # 只写清单不下载
grep -E "region|groundtruth|mapping|xml" urls.txt > eval_urls.txt
wget -i eval_urls.txt                     # 约 710 MB

若需训练侧数据,建议在自备大容量存储的工作站下载,或申请含 PESO 的镜像托管环境。

下载策略决策:只有评测需求 → 用上面清单过滤法(约 709 MB,几分钟完成);需要训练侧掩码但无大磁盘 → 先下 corrected masks(587.3 MB)与小文件验证流程,再规划全量;完整训练 → 本地工作站分片下载 + 逐片校验(坑点 5)。Zenodo 单文件直链稳定,无需注册或令牌。

§6.1 快速上手

# ---------------------------------------------------------------------------
# 目录结构预期(data_root 指向解压后的 PESO 目录):
#   data_root/
#     test/regions/<region_id>.png              # 2,500×2,500 区域图
#     test/regions_padded/<region_id>.png       # 带边界填充
#     peso_testset_groundtruth_masks/<region_id>.png  # 金标掩码(0/1/2)
#     test/mapping.csv                          # 区域-全片-分级映射
# 最小可用子集:test/regions + 金标掩码 + mapping.csv(约 710 MB),
# 无需 138 GB 全片即可完成 160 区域评测。
# ---------------------------------------------------------------------------
import pandas as pd
from PIL import Image
import numpy as np
from pathlib import Path

data_root = Path("peso")  # ← 改成你的解压目录

# 1. 读取区域元数据:每行一个测试区域(共 160 行)
meta = pd.read_csv(data_root / "test" / "mapping.csv")
print(meta.head())          # 列含 region 标识、slide 归属、类别、分级

# 2. 取一个区域与其金标掩码
region_file = data_root / "test" / "regions" / f"{meta.iloc[0, 0]}.png"
mask_file = data_root / "peso_testset_groundtruth_masks" / f"{meta.iloc[0, 0]}.png"

img = np.array(Image.open(region_file).convert("RGB"))    # (2500, 2500, 3)
mask = np.array(Image.open(mask_file))                     # (2500, 2500)

# 3. 掩码语义(v1.1):0=未标注,1=背景,2=上皮 —— 绝不能当二值图用
epithelium_ratio = (mask == 2).sum() / (mask > 0).sum()
print(f"区域内上皮占有效标注面积:{epithelium_ratio:.1%}")

# 4. (可选)读取原始全片:确认金字塔层级后再做全片级处理
import openslide
# slide_file = data_root / "test" / "slides" / "<slide_id>.tiff"
# slide = openslide.OpenSlide(str(slide_file))
# print(slide.level_count)            # 金字塔层数
# print(slide.level_dimensions)       # 每层 (宽, 高),level 0 为 0.48 μm/pixel 原生
# print(slide.level_downsamples)      # 每层下采样倍率
# 注意:regions.xml 中的区域坐标位于 level 0 坐标系,跨层读取需换算。

§6.2 数据获取流程

步骤 操作 说明
1 打开 Zenodo 记录页 v1.1:https://zenodo.org/records/5137717(推荐);v1:https://zenodo.org/records/1485967
2 无需注册/申请,直接下载 CC BY-NC-SA 4.0,开放获取
3 选择性下载 评测最小包约 710 MB;全量 138.2 GB
4 校验完整性 Zenodo 为每个文件提供 checksum,下载后逐文件核对
5 引用 引用概念 DOI 10.5281/zenodo.1485966 + 论文 DOI 10.1038/s41598-018-37257-4
# 命令行全量下载(v1.1)
pip install zenodo_get
zenodo_get -r 5137717 -o peso/          # 138.2 GB,含 checksum 校验
# 下载完成后按内容类别整理目录(文件名以实际解压结果为准)
cd peso
unzip -q "*test*wsi*.zip" -d test/slides/ 2>/dev/null || for f in *test*.zip; do
  echo "待处理分片: $f"                 # 测试 WSI 共 4 片,各约 13-14.2 GB
done
# 校验:全部文件 checksum 通过后再删除原始 zip,避免磁盘双倍占用

§6.3 预处理 Pipeline

# ---------------------------------------------------------------------------
# 步骤 1:从训练全片提取 patch(训练侧才需要全片;评测直接用现成区域图)
# 步骤 2:掩码对齐与三值处理(0=未标注 / 1=背景 / 2=上皮)
# 步骤 3:染色归一化(跨中心/跨扫描必做,见坑点 6)
# ---------------------------------------------------------------------------
import openslide
import numpy as np

def extract_patches(slide_path, patch_size=1024, stride=1024, level=0,
                    min_tissue_ratio=0.5):
    """从全片 level 0(0.48 μm/pixel)滑窗提取含组织 patch。
    slide_path: 训练侧 <slide_id>.tiff 路径。"""
    slide = openslide.OpenSlide(str(slide_path))
    w, h = slide.level_dimensions[level]
    kept = []
    for y in range(0, h - patch_size, stride):
        for x in range(0, w - patch_size, stride):
            patch = slide.read_region((x, y), level, (patch_size, patch_size))
            arr = np.array(patch.convert("RGB"))
            # 简易组织检测:非白色(背景)像素占比
            tissue = (arr.mean(axis=2) < 235).mean()
            if tissue >= min_tissue_ratio:
                kept.append(arr)
    slide.close()
    return kept

def binarize_mask(mask, unlabeled=0, background=1, epithelium=2):
    """三值掩码 → (二值标签, 有效区)。
    训练时 loss 只在有效区计算;评测时未标注区从分母剔除。"""
    valid = mask != unlabeled
    y = (mask == epithelium).astype("float32")
    return y, valid

patch 提取策略参考(全片训练侧适用,测试侧直接用现成区域图):

参数 推荐值 理由
patch 尺寸 1,024×1,024(@0.48 μm) 论文 H&E U-Net 输入口径
下采样至 10× 等效 可选(0.96 μm/pixel) 与测试区域分辨率一致,便于统一协议
滑窗步长 等于 patch(不重叠)或 50% 重叠 重叠版扩充样本量但需防泄漏
组织过滤 非背景像素占比 ≥50% 剔除空白区,节约存储与训练时间
掩码对齐 与 patch 同坐标同尺寸读取 训练掩码与 H&E 全片坐标系一致
# 染色归一化(Macenko 风格简化示例:以训练集统计量为准,跨域只变换不变量)
# 实践建议使用 staintools / torchstain 等成熟实现,参考图选一张训练片。
# 要点:训练与测试用同一参考图,避免"归一化本身"泄漏测试分布。

§6.4 PyTorch DataLoader 完整代码

# ---------------------------------------------------------------------------
# 完整可运行:PESO 测试区域评测 Dataset + DataLoader
# 依赖:torch, pandas, pillow, numpy
# 目录结构见 §6.1 注释;data_root 指向解压目录。
# ---------------------------------------------------------------------------
import pandas as pd
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from PIL import Image
from pathlib import Path

class PESORegionDataset(Dataset):
    """PESO 160 测试区域:图像 + 三值金标掩码。
    返回:image (3,H,W) float,label (H,W) float(上皮=1),
          valid (H,W) bool(未标注区=0,loss/评测时排除)。"""
    def __init__(self, data_root, img_size=1000, transform=None):
        self.root = Path(data_root)
        self.meta = pd.read_csv(self.root / "test" / "mapping.csv")
        self.img_size = img_size          # 2500→1000:区域级评测的常用下采样
        self.transform = transform

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

    def __getitem__(self, idx):
        rid = self.meta.iloc[idx, 0]
        img = Image.open(self.root / "test" / "regions" / f"{rid}.png").convert("RGB")
        mask = Image.open(self.root / "peso_testset_groundtruth_masks" / f"{rid}.png")
        img = img.resize((self.img_size, self.img_size), Image.BILINEAR)
        mask = mask.resize((self.img_size, self.img_size), Image.NEAREST)  # 掩码必须最近邻
        img = torch.from_numpy(np.array(img)).permute(2, 0, 1).float() / 255.0
        m = np.array(mask)
        label = torch.from_numpy((m == 2).astype("float32"))
        valid = torch.from_numpy((m != 0))
        if self.transform:
            img = self.transform(img)
        return img, label, valid

loader = DataLoader(PESORegionDataset("peso"), batch_size=8,
                    num_workers=4, pin_memory=True)
for img, label, valid in loader:
    # img: (B,3,1000,1000),label: (B,1000,1000),valid: (B,1000,1000)
    break

训练侧 Dataset 的差异点:需要 OpenSlide 在线读全片切 patch,并用 §6.3 的三值处理;训练掩码可选 corrected(25 张高质量)或全部 62 张(自动+迁移),角色差异见坑点 1。

训练侧 patch 级 Dataset 骨架(全片在线读取,供参考):

# ---------------------------------------------------------------------------
# 训练侧:OpenSlide 在线读全片 + 预生成坐标清单(推荐两阶段,避免训练中随机 IO)
# 阶段 1(离线):遍历训练 slide,按 §6.3 extract_patches 的坐标规则
#   预生成 (slide_path, x, y) 清单存 CSV;
# 阶段 2(在线训练):Dataset 按 index 查清单,即取即读。
# ---------------------------------------------------------------------------
class PESOSlidePatchDataset(Dataset):
    def __init__(self, coord_csv, mask_dir, patch=1024, mask_patch=1024):
        self.coords = pd.read_csv(coord_csv)   # 列:slide_path, x, y
        self.mask_dir = Path(mask_dir)
        self.patch = patch

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

    def __getitem__(self, idx):
        row = self.coords.iloc[idx]
        slide = openslide.OpenSlide(row["slide_path"])
        img = slide.read_region((row["x"], row["y"]), 0,
                                (self.patch, self.patch)).convert("RGB")
        slide.close()
        # 掩码文件名与 slide 同名(角色差异见坑点 1)
        mask_path = self.mask_dir / (Path(row["slide_path"]).stem + ".png")
        m = np.array(Image.open(mask_path).resize((self.patch, self.patch),
                                                  Image.NEAREST))
        img = torch.from_numpy(np.array(img)).permute(2, 0, 1).float() / 255.0
        label = torch.from_numpy((m == 2).astype("float32"))
        valid = torch.from_numpy(m != 0)
        return img, label, valid

§6.5 常见坑点

⚠️ 坑点 1:四档掩码角色混淆——把训练掩码当金标测试(分类:标签理解)

问题:PESO 训练侧有三种掩码(color deconvolution 自动掩码、U-Net 模型掩码、corrected 人工校正掩码),测试侧才有 v1.1 金标掩码。新用户极易把最容易下载的训练掩码当作评测金标,得到虚高或完全错误的分数。
症状:评测 F1 接近 1.0 或明显偏离论文基线(0.893 附近);或用 U-Net mask 评测出的"性能"恰好复制了第一代模型的误差(F1 ≈ 0.915,IHC 域)。
解决:

  1. 简单方法:只在 peso_testset_groundtruth_masks.zip(v1.1)上评测;训练掩码一律只进训练循环。
  2. 进阶方法:建立掩码注册表(文件目录 → 来源 → 角色:deconv=自动噪声、unet=模型输出、corrected=参考标准、groundtruth=金标),在 dataloader 层强制校验路径前缀。
  3. SOTA 方法:以 corrected 25 张做"参考标准质量评估",量化 deconv 与 unet 掩码相对 corrected 的 F1,明示每档掩码的期望误差上界后再选训练监督。
    参考:论文方法节(PMID 30696866)与 Zenodo v1.1 记录页 https://zenodo.org/records/5137717

⚠️ 坑点 2:掩码是三值图,不是二值图——0 是"未标注"不是背景(分类:预处理陷阱)

问题:v1.1 金标掩码像素值 0=未标注、1=背景、2=上皮。很多 pipeline 直接 (mask > 0) 当二值标签,把"未标注"并进背景,或者反过来把全部像素当有效区算指标。
症状:Jaccard 异常低且方差大;边界区域(组织外空白、组织折叠处)贡献大量假阳/假阴;与论文口径对不上。
解决:

  1. 简单方法:显式三分支处理——y = (mask == 2)、valid = (mask != 0),loss 与指标都乘 valid。
  2. 进阶方法:用带掩码的损失(masked BCE/Dice),未标注像素既不计入分母也不产生梯度。
  3. SOTA 方法:对未标注比例高的区域单独报告"有效区占比",并在论文表格中披露——高比例未标注区域的分数天然波动更大。
    参考:Zenodo v1.1 记录页对掩码像素值的官方说明 https://zenodo.org/records/5137717

⚠️ 坑点 3:掩码缩放用了双线性插值(分类:预处理陷阱)

问题:区域图为 2,500×2,500 px,很多模型输入 1,000×1,000 或 512×512。图像用 BILINEAR 没问题,但掩码跟着双线性插值后,像素值 0/1/2 会被混成 0/0.33/1.2 等中间值,argmax/阈值化后边界整体偏移。
症状:掩码边缘出现锯齿状系统性偏移;上皮占比统计与原始掩码不一致;resize 后出现掩码中不存在的灰度值。
解决:

  1. 简单方法:掩码 resize 一律 Image.NEAREST(本文 §6.4 代码已示范)。
  2. 进阶方法:在原生分辨率上算区域级指标(2,500×2,500),仅把图像下采样给网络,预测再 NEAREST 放回原生分辨率评测。
  3. SOTA 方法:全流程固定分辨率协议(如统一 1.0 μm/pixel),网络与评测同分辨率,避免任何插值混入指标计算。
    参考:PIL/OpenCV 文档中最近邻插值语义;本文 §6.4 完整代码

⚠️ 坑点 4:无患者 ID——按片随机划分掩盖患者级泄漏(分类:数据泄漏)

问题:PESO 只发布 slide 级数据,不含患者标识。前列腺根治切除一个患者通常只有一张全片,但同一患者的 TMA 或补取切片可能出现在不同 zip 分片中;任何按文件名的随机划分都无法排除"同一患者进训练与测试"。
症状:跨数据集评测掉点远大于域内评测时,无法区分是域偏移还是患者重叠;不同随机种子结果方差异常大。
解决:

  1. 简单方法:承认限制——论文口径(62/40 官方划分)是唯一可比基准,自建划分时按 zip 分片整块切分并固定种子。
  2. 进阶方法:训练中加 slide 级 GroupKFold + ISUP 分层,杜绝 patch 流散到相邻折。
  3. SOTA 方法:在外部数据集(如 Gertych,§5.5)上做主评测,把 PESO 域内分数只当 sanity check——这是对该风险最干净的回避。
    参考:论文外部验证协议(PMID 30696866);本文 §5.3

⚠️ 坑点 5:138 GB 分片下载的校验与磁盘陷阱(分类:工程陷阱)

问题:全量数据由 6 个训练 zip + 4 个测试 zip(各约 13-14.2 GB)+ 若干小文件构成。中断续传、zip CRC 损坏、解压临时文件占双倍空间是三大常见事故。
症状:OpenSlide 打开某张 TIFF 报 “corrupt/unreadable”;df 显示磁盘 100% 但"看不见"那么多数据(解压临时文件);zip 解压中途报错。
解决:

  1. 简单方法:用 zenodo_get -r 5137717(自动带 checksum 校验)而非浏览器逐个点击;每下载完一个分片立即校验再解压。
  2. 进阶方法:预留 300 GB(zip + 解压 + patch 缓存);只下评测包(约 710 MB)时用 §6.0 的清单过滤法。
  3. SOTA 方法:下载后构建文件清单 manifest(路径 + 大小 + 哈希),训练前先跑完整性自检脚本,把坏文件拦截在实验之前。
    参考:https://zenodo.org/records/5137717 文件列表与 checksum

⚠️ 坑点 6:跳过染色归一化,跨中心分数自由落体(分类:预处理陷阱)

问题:PESO 全部切片出自同一台扫描仪、同一染色批次体系。论文外部验证(Gertych 数据集,0.5 μm/pixel、另一套扫描与染色流程)F1 从 0.893 跌到 0.835——其中相当一部分损失来自染色分布漂移。直接拿 PESO 模型用到本院数据而不做染色归一化,是复现失败的头号原因。
症状:模型在 PESO 域内表现良好,换数据后上皮区域整体变淡/变红处出现漏检;染色过深的区域假阳增多。
解决:

  1. 简单方法:Macenko 或 Reinhard 归一化,参考图固定选一张 PESO 训练片,训练/测试统一。
  2. 进阶方法:随机化归一化目标(stain augmentation)训练,提升染色不变性。
  3. SOTA 方法:自监督染色不变预训练(如 HistoEncoder 路线,arXiv:2411.11458),或在目标域少量标注上微调后再评。
    参考:论文外部验证节(PMID 30696866);arXiv:2411.11458

⚠️ 坑点 7:把"区域"当"全片"——测试区域是人工选区,不是随机采样(分类:偏倚陷阱)

问题:160 个测试区域是从 40 张全片中刻意选取的(每片 2 肿瘤 + 2 良性,各 2,500×2,500 px @10× 等效),区域内容均为"有诊断信息"的组织。在全片推理任务上报告"我们在 PESO 上达到 F1 0.89"是不成立的——0.89 只定义在这 160 个精心选出的区域上。
症状:模型部署到真实筛查流水线(需扫描整张全片找上皮)后,性能远低于区域级评测;大面积正常间质区域出现 surprising 假阳。
解决:

  1. 简单方法:报告时严格写明"160 个区域级 F1 平均",评测协议用 mapping.csv 固定,不做任何区域增删。
  2. 进阶方法:若需全片任务,把 regions.xml 的区域坐标作为稀疏标注,在全片上只在这些位置评测,并在论文中明示覆盖比例。
  3. SOTA 方法:区域级评测 + 全片级定性检查(如热力图人工复核)双轨报告,或自建全片级小规模测试集。
    参考:论文测试集构造节(PMID 30696866)

⚠️ 坑点 8:Gleason 5 级组的天花板——参考标准误差在高等级癌上放大(分类:标签理解)

问题:论文按 ISUP grade group 分层后,GG5 的 F1 仅 0.819(GG1-GG4 均 0.88-0.89)。高级别癌的筛状结构、融合腺体与实性片块让"哪里是上皮"本身变得模糊,而 IHC 参考标准(基底细胞染色)在高级别病变上同样难以稳定界定上皮边界——标签噪声与任务难度在此叠加。
症状:模型在 GG5 子集分数显著拉低整体;调参时 GG5 波动最大(n=10,单区域涨跌 0.1 即移动子集均值 1 个百分点);试图"修" GG5 往往是在拟合标签噪声。
解决:

  1. 简单方法:接受 GG5 ≈ 0.82 是该协议下的合理区间,对比文献时按 GG 分层对表而非只看总均值。
  2. 进阶方法:对 GG5 区域做误差分析(假阳 vs 假阴的空间分布),区分模型错误与标签歧义;报告时给出 n 与标准差。
  3. SOTA 方法:在 GG5 上引入基底细胞先验或多专家复核的子集评测,估计标签不确定度后做噪声鲁棒训练(如对称交叉熵)。
    参考:论文结果节 GG 分层表(PMID 30696866)

§6.6 数据增强

类别 操作 说明
✅ 安全 水平/垂直翻转、90° 旋转 病理图像无方向语义
✅ 安全 轻度亮度/对比度抖动 模拟扫描曝光差异
✅ 安全 轻度染色增强(H&E 通道小幅扰动) 提升染色鲁棒性
✅ 安全 小角度仿射(≤10°)与轻微缩放 保持腺体形态
❌ 危险 弹性形变 破坏腺体轮廓与 Gleason pattern 语义,分割标签随之失真
❌ 危险 剧烈染色通道置换/灰度反转 H&E 语义(核紫红、胞质粉)被破坏
❌ 危险 对掩码与图像分别独立增强 图像-掩码空间必须同步变换(含 valid 掩码)

增强策略与 PESO 任务性质的关系:上皮分割依赖腺体形态与染色强度两个信号源,几何增强(翻转/旋转)只改变前者且无损语义,安全;而重度非线性形变或染色破坏会直接篡改"上皮边界"这一学习目标本身——在分割任务里,错误的增强等价于错误的标签。

§6.7 模型推荐

模型 适用场景 要点
U-Net(论文基线,6 层) 复现论文口径 1,024×1,024 patches,Adam β=0.99,lr=0.0005
UNet++ / Attention U-Net 边界质量优先 腺体边界更平滑,代价是显存
DeepLabV3+ 大感受野、多尺度 适合间质-上皮大区域判别
nnU-Net 框架 零调参强基线 自动配置,建议按二值分割任务配置
HistoEncoder 预训练骨干 迁移学习 以 PESO 训练片自监督预训练的病理骨干(arXiv:2411.11458)

选型建议:从零复现优先选 6 层 U-Net(与论文同构,结果可直接对表);追求边界质量选 UNet++;工程求稳选 nnU-Net(自动配置二值分割);做预训练迁移研究则把 HistoEncoder 类骨干接入任意分割头。所有模型都应保持同一评测口径(§6.9)才有可比性。

§6.8 计算资源需求

资源 最低 推荐
GPU 8 GB(1,024² patch,batch 4) 16-24 GB(batch 16+)
磁盘 200 GB(评测包 + 区域缓存) 300-500 GB(全量 + patch 缓存)
内存 32 GB 64 GB(全片级别处理需流式读取)
依赖 OpenSlide(系统库)+ PyTorch 同左;Windows 需额外配置 OpenSlide DLL

显存估算口径:1,024×1,024 patch、batch 8、U-Net 级骨干约需 8-10 GB;区域级评测(1,000×1,000 输入、batch 8)在 6 GB 卡上即可运行。全片推理不整片进显存,按 patch 流式处理。

§6.9 评估指标

# ---------------------------------------------------------------------------
# 论文口径:区域级 F1 / Accuracy / Jaccard,先算每区域再对 160 区域平均。
# 关键:valid 掩码剔除未标注像素(坑点 2),多分类混乱是常见错误源。
# ---------------------------------------------------------------------------
import numpy as np

def region_scores(y_true, y_pred, valid):
    """y_true/y_pred: (H,W) 0/1;valid: (H,W) bool。返回该区域三指标。"""
    t, p = y_true[valid].astype(bool), y_pred[valid].astype(bool)
    tp = (t & p).sum(); fp = (~t & p).sum(); fn = (t & ~p).sum(); tn = (~t & ~p).sum()
    f1 = 2 * tp / (2 * tp + fp + fn) if (2 * tp + fp + fn) else 1.0
    acc = (tp + tn) / valid.sum() if valid.sum() else 1.0
    jac = tp / (tp + fp + fn) if (tp + fp + fn) else 1.0
    return {"F1": f1, "Acc": acc, "Jaccard": jac}

def evaluate_dataset(preds, gts, valids):
    """preds/gts/valids: 160 个区域的结果列表 → 论文口径汇总。"""
    per_region = [region_scores(g, p, v) for p, g, v in zip(preds, gts, valids)]
    out = {k: (np.mean([r[k] for r in per_region]),
               np.std([r[k] for r in per_region])) for k in per_region[0]}
    return out   # 与论文表格同口径:均值±标准差(区域间)

口径陷阱速查(评估误用高发区):

口径 计算方式 何时使用
论文口径 逐区域指标 → 区域间均值±标准差 与论文/他人对表
像素汇总口径 全部区域像素合并后一次计算 大面积稳定性分析(数值高于论文口径)
全片口径 整片推理后按片计算 部署模拟(PESO 无全片金标,需自建)
分 GG 口径 肿瘤区域按 grade group 分组 难度分析(GG5 单列,报告 n)

§6.10 MLOps 笔记

  • 数据版本化:以 Zenodo 版本号为数据版本锚点(v1.1 = record 5137717),DVC/MLflow 中记录 checksum;v1 与 v1.1 的评测结果不可混排。
  • 固定评测协议:160 区域 + mapping.csv 顺序 + 论文口径指标代码(§6.9)入库为"评测资产",与模型代码分离版本管理。
  • 流水线依赖:OpenSlide 是系统级依赖(非纯 pip),容器镜像需 apt install openslide-tools;CI 中建议只跑评测包回归(约 710 MB)。
  • 随机性控制:按 zip 分片固定种子;GG5(n=10)结果对种子敏感,报告需多种子均值。
  • 环境一致性:OpenSlide 是系统级库,锁定 openslide-python 与系统库版本并在 README 记录;图像解码路径(PIL vs cv2)在团队内统一,避免掩码读入差异。
  • 可复现快照:每次实验记录数据版本(v1/v1.1 + checksum)、mapping.csv 哈希、划分种子、指标代码版本,四要素齐全即可复现。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
单中心偏倚 全部 102 张片来自 Radboud UMC 单一机构 高 外部验证集上评测(§5.5);染色归一化
设备单一偏倚 单一扫描仪型号(Pannoramic Flash II 250) 高 跨扫描仪研究需自建多设备验证
病变谱偏倚 根治切除标本以中高级别为主(grade 3/4 pattern 占 69%/63%) 中 分级分层报告;明确适用人群
小类样本不足 GG3 仅 5 个、GG2/GG5 各 10 个肿瘤区域 中 分层抽样;对小子集报告区间而非点值
选区偏置 测试区域为人工选取的"有信息量"区域(每片 2 肿瘤 + 2 良性) 中 不外推为全片性能(坑点 7)
标注来源偏倚 训练掩码源于 IHC 派生 + 非专家校正,非双盲多专家标注 中 仅用 v1.1 金标评测;误差分析区分标签歧义

这六类偏倚的共同根源是"单中心 + 单设备 + 方法学研究导向"的数据设计——PESO 的目标是建立可复现的方法学基准,而非人群代表性资源。使用时把它的结论限定在"同域分割基准"范围内,即可规避绝大部分误用。

§7.2 标注质量评估

PESO 的标注质量论证是"用过程保证质量":颜色反卷积提供客观物理信号 → 非专家仅做明显错误校正(3,493 处,覆盖 25 片,改标约 2.3% 面积)→ 校正后掩码训练的 IHC 网络达 F1 0.915,说明参考标准内部自洽 → 测试集由泌尿病理学家定级、v1.1 发布像素金标。局限:论文未发布观察者间一致性统计(无 kappa/IoT 对比),参考标准残余噪声只能从 H&E 基线方差(F1 ±0.05-0.09)间接感知。

参考标准的质量论证链条(论文隐含的四步逻辑):①染色物理信号提供了"上皮在哪里"的客观定义,摆脱纯主观描画;②人工校正只处理明显错误(改标仅 2.3% 面积),说明自动提取已相当可靠;③用校正掩码训练的 IHC 网络达到 F1 0.915,参考标准内部自洽;④H&E 网络迁移后在独立外部数据集上仍保持 F1 0.835,参考标准经受了跨域检验。这一链条是 PESO 方法学贡献的核心,也是评审同类数据集时可复用的论证模板。

§7.3 泛化性讨论

场景 失效风险 证据
跨机构(不同染色流程) 中-高:F1 下降约 5.8 个百分点 论文外部验证 0.893 → 0.835(Gertych 数据集)
跨扫描仪 中-高:PESO 未含第二台设备数据 数据构成(§3.9)
高级别癌(GG5) 中:标签歧义 + 结构破坏双重困难 论文 GG 分层:GG5 F1 0.819 vs 其余 0.88-0.89
活检穿刺标本 高:PESO 全部为切除标本,组织量与切片形态不同 数据构成(§2.5)
其他器官 高:上皮定义与形态器官特异 任务定义(§2.4)

§7.4 伦理考量

数据来自 Radboud UMC 常规诊疗标本,发布前经匿名化处理;数据集不含患者身份、年龄或临床元数据。发布随论文经机构流程批准(论文受 Dutch Cancer Society KWF 资助,grant KUN 2015-7970)。使用者仍须遵守当地伦理要求:即使数据已公开,跨机构再分发与模型临床转化需各自走伦理审批。

两点合规提醒:①CC BY-NC-SA 4.0 的 “ShareAlike” 条款要求基于该数据的衍生数据集以相同许可发布——再分发掩码、衍生标注时需保持许可一致;②非商业条款的具体边界(如科研成果后续商业化的临界点)由许可文本与版权方解释为准,本条目不构成法律意见。

§7.5 公平性评估

PESO 未发布人口统计学字段(年龄、性别、种族),无法直接做亚组公平性审计。结构性公平风险在于:单中心荷兰人群 + 欧洲三级医院的染色与设备体系,对其他人群/资源环境的直接迁移缺乏证据。建议:在自有数据上先做染色与人群层面的域差分析,再决定是否微调。

§7.6 数据漂移提示

2006-2011 年采集的切片反映当时的染色试剂、制片与扫描流程;2010 年代后数字病理普及带来的扫描仪换代(如 40× 采集、多染色标准化)会形成时间漂移。使用 PESO 模型处理当代数据时,建议监控上皮/间质像素比、染色向量分布等无参考指标,触发漂移告警后启用归一化或微调。

§7.7 DAIMS 24 项数据就绪度评估

# 检查项 状态 说明
1 宽格式 ✅ 每区域一行(mapping.csv),文件型数据按目录组织
2 唯一标识 ✅ region ID 全局唯一,XML/CSV/掩码三方对齐
3 特殊字符 ✅ 文件名规范(字母数字下划线),跨平台可读
4 重复行 ✅ 160 行映射表无重复
5 缺失编码 ✅ 掩码 0=未标注为显式编码
6 标签标识 ✅ 类别(良性/肿瘤)+ 分级(ISUP GG)双标签
7 罕见类分组 ⚠️ GG3 仅 5 个、GG2/GG5 各 10 个区域
8 偏倚评估 ⚠️ 单中心/单设备/选区偏置在论文有述,但无量化审计
9 数据字典 ✅ XML/CSV 结构简单明了,论文方法节完备
10 信息性缺失解释 ✅ 未标注像素语义由 Zenodo 官方说明
11 设备记录 ✅ 扫描仪型号与分辨率有明确记载
12 共线性 ✅ 无表格协变量,不适用
13 编码映射 ⚠️ 无 ICD/SNOMED 映射文件,需使用方自建(本文 §2 提供锚定)
14 时间戳处理 ❌ 无片级采集日期字段
15 划分建议 ✅ 官方 62/40 划分明确且可复现
16 泄漏讨论 ⚠️ 无患者 ID,患者级泄漏无法根除(§5.3)
17 标签分布 ✅ 区域类别与 GG 分布完整(§4.2)
18 测量偏倚 ⚠️ 参考标准残余噪声无一致性统计量化
19 外部验证建议 ✅ 论文自带 Gertych 外部验证协议
20 版本记录 ✅ Zenodo 版本链(v1 → v1.1)+ 概念 DOI
21 预处理脚本 ❌ 无官方 dataloader/预处理脚本发布
22 合规要求 ✅ CC BY-NC-SA 4.0 明示,获取零门槛
23 多模态对齐 ✅ IHC-H&E 配对 + NGF 配准流程完备
24 去标识化 ✅ 无任何患者可识别信息

DAIMS 评分:19.5 / 24

评分解读:良好偏上——文件体系、版本链、金标掩码与外部验证协议完备,属于"小而精"的基准型数据集;失分集中在元数据层(无患者 ID、无时间戳、无官方代码),这些是 2018 年发布的历史印记而非质量问题。

对你意味着什么:你可以立刻在 160 区域上做零风险评测(数据 + 金标 + 协议全齐);训练侧需要自建 patch 提取与掩码管理(约 1-2 天工程量);涉及患者级分析或多中心审计的研究目标请改选其他数据集——本数据集不支持。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部测试集变化 关键发现
Gertych et al. 前列腺数据集(224 tiles / 20 WSI / 0.5 μm/pixel / GG3-4 为主) 外部研究组 H&E 上皮分割(零微调迁移) F1 0.835±0.13 / Acc 0.866 / Jaccard 0.735 F1 −5.8 个百分点(0.893 → 0.835) 仍显著优于同数据上的 SVM 基线(F1 0.595)与另一深度学习方法(F1 0.737);量化了单中心模型的跨域代价

PESO 在 2026 年还值得用吗? 值得——它是前列腺上皮分割方向少有的"像素金标 + 官方协议 + 外部验证"三件套齐备的公开基准,且获取零门槛。它不适合当作大规模预训练主力(102 张全片量级有限),也不支持患者级研究;但作为分割基准、教学案例与染色鲁棒性研究载体,其完整的方法学闭环至今罕见。

§8 基准性能与生态

§8.1 排行榜

PESO 无第三方运营的持续排行榜;下表汇总论文与后续文献中在 PESO 协议或其外部验证协议上报告的结果。注意:IHC 行与 H&E 行的评估域不同,Gertych 列在不同数据集上,数值之间不可直接比较:

排名 模型 性能(区域级均值±标准差) 年份 关键技术 完整引用 代码
1(H&E 域官方基线) H&E U-Net F1 0.893±0.05 / Acc 0.940 / Jaccard 0.811 2019 6 层 U-Net,1,024² patches,IHC 迁移监督 Bulten W. et al., 2019, Scientific Reports 9:864. DOI 10.1038/s41598-018-37257-4 未官方开源(架构与超参完整公开)
1(IHC 域参考) IHC U-Net F1 0.915±0.09 / Acc 0.952 / Jaccard 0.854 2019 5 层 U-Net,512² patches,双染反卷积监督 同上(论文结果节) 同上
2(外部 Gertych 数据集) DL 方法(Li 等) F1 0.737 2019 卷积网络 转引自 Bulten W. et al., 2019, Scientific Reports 9:864. DOI 10.1038/s41598-018-37257-4 —
3(外部 Gertych 数据集) SVM 基线(Gertych 等) F1 0.595 2019 纹理特征 + SVM 转引自 Bulten W. et al., 2019, Scientific Reports 9:864. DOI 10.1038/s41598-018-37257-4 —

数值不可直接比较的原因:①IHC 与 H&E 两行的输入域不同(双染 vs 常规染色),标签噪声结构不同;②Gertych 两行在外部数据集(224 tiles,0.5 μm/pixel)上评测,与 160 区域协议不同源;③论文指标为"先逐区域再平均",与像素级汇总不可互推。

§8.2 SOTA 总结与选型建议

截至 2026-09,PESO 160 区域协议下公开可查的最好成对基线仍是论文自身的两代 U-Net(H&E 域 F1 0.893)。后续工作(HistoEncoder、Tissue Concepts 等)更多把 PESO 用作自监督预训练语料与评估资源,而非在该协议上继续刷点——这与其测试集规模有限(160 区域)有关。选型建议:做分割方法学比较,直接以 §6.9 协议对表论文基线;做预训练研究,把 PESO 训练片(62 张)纳入语料并在其他目标集评估迁移增益。

研究目标 → 使用方式决策表:

你的研究目标 推荐使用方式 关键注意点
分割方法学论文 160 区域协议对表论文基线 指标口径必须 §6.9;分 GG 报告
自监督/基础模型预训练 62 张训练片入语料,外部目标集评估 勿用测试片预训练(坑点 4)
Gleason 分级流水线 PESO 上游分割 + 分级数据集下游 两级之间传递上皮掩码而非原始图
染色归一化/域适应研究 内部→Gertych 协议(§5.5) 以 F1 降幅为主指标
教学/课程作业 评测最小包(约 709 MB)起步 无需下载全量

§8.3 官方评测协议

  • 测试集:40 张测试 WSI 上的 160 个固定区域(mapping.csv 为准),2,500×2,500 px @10× 等效。
  • 指标:区域级 F1、Accuracy、Jaccard,先逐区域计算再对区域平均,报告均值±标准差。
  • 分层口径:按 ISUP grade group(GG1-GG5)分层报告(良性区域不分级)。
  • 金标:v1.1 掩码(像素 0=未标注 / 1=背景 / 2=上皮),未标注区从分母剔除。
  • 外部验证:Gertych 数据集零微调迁移(§5.5)。

该协议的关键设计意图:所有数字都定义在固定资产上(160 区域 + 固定掩码 + 固定指标代码),任何人任何时候重跑都应得到一致结果。复现研究的第一个检查点就是能否精确复现 H&E U-Net 的 0.893——能,则说明你的管线与论文同口径;不能,先排查掩码角色与指标口径(坑点 1、3),而不是怀疑模型。

数据集 任务 与 PESO 的互补关系
PANDA(Prostate cANcer graDe Assessment) Gleason/ISUP 分级 上游分割(PESO)+ 下游分级(PANDA)可组成完整流水线
SICAPv2 Gleason 分级(patch/WSI) 提供分级监督信号,与 PESO 无像素标注重叠
GlaS 腺体实例分割 方法可迁移;器官与标签粒度不同
Gertych et al. 前列腺数据集 上皮分割 PESO 官方外部验证集,跨域评估标配

组合使用建议:方法学论文的最小对比组合是"PESO(域内)+ Gertych(域外)“;构建完整分级流水线时用"PESO(上游分割)+ PANDA 或 SICAPv2(下游分级)”;跨器官泛化研究可加 GlaS 验证上皮分割表征的器官无关性。

§8.5 关键论文 Top 5

  1. Bulten W., Bándi P., Hoven J. et al., “Epithelium segmentation using deep learning in H&E-stained prostate specimens with immunohistochemistry as reference standard”, Scientific Reports 9:864, 2019. DOI 10.1038/s41598-018-37257-4 — PESO 数据集论文:IHC 参考标准方法学、两代 U-Net 基线、外部验证。
  2. Bulten W. et al., “Epithelium segmentation using deep learning in H&E-stained prostate specimens with immunohistochemistry as reference standard”, arXiv:1808.05883, 2018 — 预印本版本,含方法细节(训练超参等)。
  3. HistoEncoder 工作(DIGIT 组),arXiv:2411.11458, 2024 — 以 PESO 数据做自监督预训练与评估的病理基础模型路线。
  4. Tissue Concepts 工作,arXiv:2409.03519, 2024 — 将 PESO 纳入预训练语料;并记录了 PESO 扫描设备信息(3DHistech Pannoramic Flash II 250)。
  5. 采用 PESO 作为基准与采集信息参照的增强策略研究,arXiv:2206.15274, 2022 — 引用 PESO 并沿用其采集时间口径(2006-2011)。

§8.6 社区活跃度

  • 引用持续累积:约 195 次(Google Scholar,截至 2026-09;Semantic Scholar 同期 171 次、influential citation 7)。
  • 数据维护:Zenodo 概念 DOI 下 2018 年首发、2021 年 v1.1 补金标掩码,此后稳定;无官方排行榜、无挑战赛运营。
  • 下游采用:前列腺病理预训练(HistoEncoder、Tissue Concepts)与数据增强研究持续引用,属于"低频但稳定"的方法学基准。
  • 版本与更新预期:v1.1(2021-07-26)之后无新版本发布记录;上游修复(如掩码语义说明、checksum 修正)以 Zenodo 记录页的版本日志为准。引用时锁定概念 DOI 可自动指向最新版。

§8.7 生态快照

资源 类型 链接 说明
Zenodo v1.1(含金标掩码) 数据托管 https://zenodo.org/records/5137717 评测必用
Zenodo v1 数据托管 https://zenodo.org/records/1485967 原始首发版
概念 DOI 永久标识 https://doi.org/10.5281/zenodo.1485966 引用入口
论文(Nature) 论文 https://www.nature.com/articles/s41598-018-37257-4 CC BY 4.0
论文(PubMed) 索引 https://pubmed.ncbi.nlm.nih.gov/30696866/ PMID 30696866
论文全文(PMC) 全文 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6351532/ 免费全文
预印本 论文 https://arxiv.org/abs/1808.05883 方法细节
Semantic Scholar 引文索引 https://www.semanticscholar.org/ 引用数口径之二

生态使用建议:数据与掩码一切以 Zenodo 记录页为准(论文不承载文件清单);方法细节以 PMC 全文为准(Nature 摘要页信息有限);引用数展示建议双口径并报(§10.3 的处理方式),避免单源偏差。


§9 相关资源与引用

官方资源

教程与学习资源

BibTeX 引用

@article{bulten2019epithelium,
  title   = {Epithelium segmentation using deep learning in H\&E-stained prostate
             specimens with immunohistochemistry as reference standard},
  author  = {Bulten, Wouter and B{\'a}ndi, P{\'e}ter and Hoven, Jeffrey and
             van de Loo, Rob and Lotz, Johannes and Weiss, Nick and
             van der Laak, Jeroen A. W. M. and van Ginneken, Bram and
             Hulsbergen-van de Kaa, Christina A. and Litjens, Geert},
  journal = {Scientific Reports},
  volume  = {9},
  pages   = {864},
  year    = {2019},
  doi     = {10.1038/s41598-018-37257-4}
}

@dataset{peso2018dataset,
  title       = {Prostate Epithelium Segmentation on H\&E-stained prostatectomy
                 whole slide images (PESO)},
  author      = {Bulten, Wouter and B{\'a}ndi, P{\'e}ter and Hoven, Jeffrey and
                 van de Loo, Rob and Lotz, Johannes and Weiss, Nick and
                 van der Laak, Jeroen A. W. M. and van Ginneken, Bram and
                 Hulsbergen-van de Kaa, Christina A. and Litjens, Geert},
  year        = {2018},
  publisher   = {Zenodo},
  doi         = {10.5281/zenodo.1485966},
  url         = {https://doi.org/10.5281/zenodo.1485966}
}

引用指南

学术发表请同时引用论文(bulten2019epithelium)与数据集(peso2018dataset):前者覆盖方法学与基准数字,后者是数据的规范标识(概念 DOI 自动指向最新版本)。若仅使用 v1.1 金标掩码,建议在文中注明"version 1.1, record 5137717"以明确评测资产版本。

技术报告与课程材料的最简引用形式:PESO dataset, Radboud University Medical Center, Zenodo. DOI 10.5281/zenodo.1485966(数据)+ DOI 10.1038/s41598-018-37257-4(论文)。商业场景(如企业内部工具评测)须注意 CC BY-NC-SA 4.0 的非商业条款,必要时联系版权方获取商业授权。


§10 AI 使用声明卡

§10.1 AI 模型使用

本条目由大语言模型(CodeBuddy,fast-model)起草,千方病案医学编辑部承担内容审核责任。模型信息:语言模型,知识截止后经实时检索补充事实,无自主训练行为。写作过程中对每项硬事实执行了"来源优先"原则:先检索官方来源(Zenodo、论文、arXiv),再写入条目;检索不到的字段直接省略,不做推测性填充。

§10.2 AI 参与范围

AI 参与:初稿撰写、代码示例生成、表格整理、格式规范化。人类参与:事实核验方案设计、来源取舍决策、医学与工程内容审核、最终发布决定。全部规模数字、性能数字与版本信息均以原始来源(Zenodo 记录、论文、arXiv)为准逐条核对,未采信模型先验记忆中的数字。

数字冲突处理记录:引用数存在双口径(Google Scholar 约 195 / Semantic Scholar 171,截至 2026-09),条目内两处并报;测试集构成以官方口径(160 区域 / 40 WSI)为准,后续文献中出现的其他口径(如部分预训练工作使用其子集)不作为本条目基准。

§10.3 输入来源

  1. Bulten W. et al., 2019, Scientific Reports 9:864. DOI 10.1038/s41598-018-37257-4(论文页)
  2. Bulten W. et al., 2019, Scientific Reports 9:864 — PMC 全文 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6351532/
  3. Bulten W. et al., 2019 — PubMed 索引 https://pubmed.ncbi.nlm.nih.gov/30696866/
  4. Bulten W. et al., 2018, arXiv:1808.05883(预印本)
  5. PESO Zenodo 记录 v1,2018-11-20,https://zenodo.org/records/1485967
  6. PESO Zenodo 记录 v1.1,2021-07-26,https://zenodo.org/records/5137717
  7. PESO 概念 DOI,https://doi.org/10.5281/zenodo.1485966
  8. Semantic Scholar API(引用数 171、influential 7,截至 2026-09)
  9. Google Scholar 引用快照(约 195,截至 2026-09)
  10. HistoEncoder 工作,2024, arXiv:2411.11458
  11. Tissue Concepts 工作,2024, arXiv:2409.03519
  12. 前列腺数据增强研究,2022, arXiv:2206.15274
  13. ScienceDirect “Prostate cancer” topics 页(组织块 Gleason 分布口径交叉参考)

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景(ICD-11/SNOMED 锚定、金标准体系) 千方病案医学编辑部 交叉审核 ✅ 已通过
§3 数据集规格(文件清单、版本矩阵、大小) 千方病案医学编辑部 与 Zenodo v1/v1.1 记录页逐项比对 ✅ 已验证
§4 数据结构(目录树、DAIMS 字段字典) 千方病案医学编辑部 与 Zenodo 文件清单及 PMC 方法节比对 ✅ 已验证
§5 划分与泄漏讨论 千方病案医学编辑部 交叉审核 ✅ 已通过
§6 代码示例与八个坑点 千方病案医学编辑部 逻辑审查 + 与论文协议比对 ✅ 已通过
§7 质量评估与 DAIMS 评分 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 基准数字与引用数口径 千方病案医学编辑部 与论文原文及双引文快照比对 ✅ 已验证
§C JSON-LD @graph 千方病案医学编辑部 Croissant 字段逐项校验 ✅ 已通过

§10.5 AI 生成章节标注

以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§1.3 横向对比、§3.0 版本抉择矩阵、§6.0-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.7 DAIMS 评估表与评分、§8.1 排行榜、§8.7 生态快照、§C JSON-LD。

§10.6 最后审核

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

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


相关数据集导航

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

  • pannuke — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • lizard — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • glas — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • crag — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • bcss — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • digestpath — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • owl — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • lysto — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • panda-plus — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学
  • wsss4luad — 共享标签:医学影像 / 病理图像 / 医学图像分割 / 肿瘤学

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

返回 AI-Ready 数据集