BRACS — 乳腺癌亚型全切片数据集 AI-Ready Wikipedia | 千方病案医数集

乳腺 H&E 七亚型双层级标注 · 547 WSI / 4,539 ROI

来源 ICAR-CNR & IRCCS Fondazione Pascale & IBM Research-Zurich url: https://www.bracs.icar.cnr.it/发布时间: 2026-09-06最后更新: 2026-09-06 阅读 10

信息速览

数据集名称BRACS — 乳腺癌亚型全切片数据集 AI-Ready Wikipedia | 千方病案医数集
数据类型约 1.1TB WSI / 52GB ROI,547 张全切片,4,539 个 ROI,7 类亚型病理学家共识标注,CC BY-NC 4.0,注册后免费获取
规模189 名患者
接入方式ICAR-CNR & IRCCS Fondazione Pascale & IBM Research-Zurich url: https://www.bracs.icar.cnr.it/
AI 就绪度

数据集封面

BRACS — 乳腺癌亚型全切片数据集 AI-Ready Wikipedia


INFOBOX

数据集名称 BRACS
英文全称 BReAst Carcinoma Subtyping Dataset
别名/简称 BRACS、BRACS-WSI、BRACS_ROI
疾病分类 ICD-11:2C60–2C6Z 乳腺恶性肿瘤 / 2E65.2 乳腺导管原位癌(DCIS);另覆盖良性与非典型增生性乳腺病变(组织学类别,无直接 ICD-11 编码,详见 §2.1)
SNOMED CT 254837009 Malignant neoplasm of breast / 154636004 Carcinoma in situ of breast / 408643008 Infiltrating duct carcinoma of breast(详见 §2.2)
数据模态 影像(乳腺 H&E 染色全切片 WSI + 兴趣区 ROI 图像)
AI 任务类型 图像分类(ROI 级 7 类 / WSI 级 3 类或 7 类)、弱监督多示例学习(MIL)、非典型病变检测
样本总数 547 张 WSI(189 名患者)/ 4,539 个 ROI(来自 387 张 WSI、151 名患者)
数据大小 ~1.1 TB(WSI 集,.svs)/ ~52 GB(ROI 集,.png)
数据格式 SVS(Aperio,40×,0.25 µm/px)/ PNG(ROI)/ QPDATA(QuPath 标注)/ XLSX(汇总表)
许可证 CC BY-NC 4.0(官网口径;论文正文误写 CC0,见 §6.5 坑点 1)
访问级别 注册后开放(官网注册、同意使用条款后 FTP 下载)
DUO 标签 HMB, NPUNCU, PUB
语言 英文(文件命名、标签与文档)
首发日期 2021-11-08(arXiv 预印本)/ 2022-10-17(Database 期刊正式发表)
最后更新 2022-10-17(期刊版对应数据集当前版本;此前 v1 数据存于 previous_versions 归档)
发布机构 ICAR-CNR(意大利国家研究委员会)& IRCCS Fondazione Pascale(意大利国家癌症研究所)& IBM Research-Zurich
官方主页 https://www.bracs.icar.cnr.it/
下载地址 https://www.bracs.icar.cnr.it/(注册后 FTP 下载)
DOI 10.1093/database/baac093
引用次数 260+(Google Scholar,截至 2026-09);Scopus/WoS 142(同期快照)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方患者级 train/val/test 划分 + 三名病理学家共识标注 + WSI/ROI 双层级;扣分项:WSI 级测试集仅 85 张、FTP 下载工程门槛、无临床元数据
页面状态 published

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

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、乳腺癌亚型体系与临床任务定义、金标准描述)、§7 偏倚分析。

数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

审核方式:交叉审核

利益冲突声明:千方病案医数集与 ICAR-CNR、IRCCS Fondazione Pascale、IBM Research 无任何商业利益关联。本页面不销售 BRACS 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。BRACS 采用 CC BY-NC 4.0 许可证(禁止商业用途),需在其官网注册并同意使用条款后方可下载,发表成果时须按官方要求引用 Brancati et al. 2022。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 30 秒速览

BRACS 是由意大利国家癌症研究所 IRCCS Fondazione Pascale、国家研究委员会 ICAR-CNR 与 IBM 苏黎世研究院三方联合发布的乳腺癌组织学亚型数据集,包含 547 张 H&E 染色全切片(189 名患者)和从中提取的 4,539 个兴趣区图像,由三名委员会认证病理学家共识标注为 7 个亚型——从正常组织、良性病变,到非典型增生,再到导管原位癌和浸润癌。

它最独特的地方是收录了非典型病变(FEA 与 ADH)——这是病理医生之间诊断一致性最差、却直接决定患者是否需要手术切除的灰色地带。2015 年 JAMA 发表的经典研究(Elmore et al.)显示,病理学家对乳腺非典型增生的诊断一致率仅约 48%。BRACS 是 WSI 与 ROI 双层级上最大的乳腺癌亚型公开标注数据集,原始论文在 Google Scholar 已被引用 260 余次(截至 2026-09)。

你可以用它来:训练乳腺病变 7 亚型分类模型、在官方患者级划分上评测 MIL 弱监督全切片分类方法、或者专门研究"非典型 vs 原位癌"这一临床最难鉴别的边界问题。

§1.1 摘要

BRACS 的切片来自 IRCCS Fondazione Pascale 病理科 2019-2020 年间依据诊断报告筛选的乳腺活检与切除标本,H&E 染色后经 Aperio AT2 扫描仪以 40×(0.25 µm/pixel)数字化,单张 WSI 可超 100,000×100,000 像素,全集约 1.1 TB。标注采用"独立标注 + 分歧共识复核"流程:三名病理学家先各自独立标注 ROI,分歧条目共同讨论后重新标注,以减轻观察者间与观察者内差异;WSI 级标签取该切片内最严重的亚型。数据集按三层级组织——良性(N 正常 / PB 病理性良性 / UDH 普通型导管增生)、非典型(FEA 平坦型上皮非典型 / ADH 非典型导管增生)、恶性(DCIS 导管原位癌 / IC 浸润癌),并提供患者级防泄漏的官方 train/validation/test 划分(WSI:395/67/85;ROI:3,657/312/570)。数据以 .svs(WSI)、.png(ROI)、.qpdata(QuPath 标注)与 .xlsx(汇总表)发布,官网注册后经 FTP 下载,许可证为 CC BY-NC 4.0。

§1.2 战略价值分析

填补空白维度:在 BRACS 之前,公开乳腺病理数据集呈现两极化——要么是 BACH(仅 30 张 WSI)这类小样本亚型数据集,要么是 Camelyon16(淋巴结转移二分类)这类大样本但任务单一的数据集,要么如 TCGA-BRCA 规模可观但标注的是分子分型而非组织学亚型谱系。BRACS 第一次把"正常 → 良性 → 非典型 → 原位癌 → 浸润癌"这一完整的乳腺癌演进谱系,以 WSI + ROI 双层级、病理学家共识标注的方式系统化公开,且非典型类别(FEA 756 个 ROI、ADH 507 个 ROI)在所有公开数据集中几乎独一无二。

临床痛点维度:乳腺非典型增生是病理诊断的"灰区之王"——Elmore et al. 2015 年在 JAMA 发表的 115 名病理学家 240 例活检对照研究显示,非典型增生的诊断一致率仅约 48%(对比:浸润癌约 96%),而它恰恰是最影响临床决策的类别:ADH 活检后切除升级为癌的比例文献报告约 15%-30%,直接影响"手术还是随访"的抉择。BRACS 把这个最难、最有临床价值的类别做成了可计算、可评测的基准,官方基线中 ADH 的 F-measure 仅 24.0(全 7 类最低),为算法改进留下了明确的未满足空间。

方法学维度:BRACS 自带严格的患者级防泄漏官方划分(同一患者的全部 WSI、同一张 WSI 的全部 ROI 必归同一集合),并且 WSI 级标签按"最严重亚型"规则生成——这天然构成了弱监督多示例学习(MIL)的标准试验场。自 2021 年数据积累期起,它就持续产出方法学成果:HACT-Net(层级图神经网络)、ABNN(注意力 WSI 分类网络)均以 BRACS 为首发评测对象;2024 年后 LongMIL、RetMIL、INSIGHT 等 MIL 新方法以及 kaiko-ai eva 等病理基础模型评测框架也都将 BRACS 纳入标准基准。

§1.3 横向对比

数据集 WSI 数 模态 标注 任务 核心差异化
BRACS 547(+4,539 ROI) H&E WSI + ROI 3 名病理学家共识,7 亚型 亚型分型(3 类/7 类) 唯一含非典型病变(FEA/ADH)双层级标注;官方患者级划分
BACH(ICIAR 2018) 30(+400 显微镜图) H&E WSI + patch 像素级 ROI 坐标(10 张 WSI) 4 类分类 + 分割 规模太小,难以支撑 WSI 级训练
BreakHis 0(7,909 张显微镜图) H&E 显微镜图像(非 WSI) 8 亚型,82 名患者 良恶性 + 亚型分类 4 种放大倍率 patch,无全切片上下文
Camelyon16 399 H&E WSI(淋巴结) 转移灶 ROI 多边形 转移检测/分割 任务是淋巴结转移,非乳腺原发灶亚型
TCGA-BRCA 3,111(1,098 患者) H&E WSI(多中心) 分子分型/分期/临床数据 分子分型、预后 规模与临床数据丰富,但无组织学亚型谱系标注
BCNB 1,058 H&E WSI(单中心中国) 肿瘤区域坐标 + 临床数据 肿瘤检测、分子预测 仅恶性病例,无良性/非典型谱系

BRACS 的不可替代性在于三点:组织学亚型谱系最完整(7 类含两种非典型)、WSI 与 ROI 双层级同步标注、以及官方患者级划分保证评测可比性。其短板同样清晰:547 张 WSI 的规模对端到端 WSI 训练偏小,且单中心单扫描仪来源限制了泛化证据(详见 §7.3)。

§1.4 版本演进时间轴

时间 事件
2019-2020 切片采集期:IRCCS Fondazione Pascale 病理科依据诊断报告筛选病例,Aperio AT2 扫描,去标识化后进入标注流程
2020 早期版本(v1)数据供 IBM Research-Zurich 团队使用:HACT-Net(MICCAI Workshop 2020 首次实验)、Jaume et al.(ICML Workshop 2020)
2021-11-08 arXiv 预印本发布(arXiv:2111.04740),数据集对外开放注册下载
2021-2022 HACT-Net 期刊版发表(Medical Image Analysis 75:102264),基于 BRACS v1 的 ROI 7 类 GNN 基线(weighted F 61.5±0.9)
2022-10-17 Database(Oxford)期刊版正式发表(baac093),对应数据集当前版本:547 WSI / 4,539 ROI + 官方患者级划分 + previous_versions 归档
2023-2024 进入 MIL 方法基准期:RetMIL、LongMIL、INSIGHT 等将 BRACS 列为标准评测集;kaiko-ai eva 框架纳入 BRACS_ROI(52 GB)作为病理基础模型评测任务
2025-2026 sota2 等社区排行榜持续收录 BRACS 组织学亚型分类结果;论文提及的扩展版本仍在筹备中

§1.5 典型 AI 应用场景

  1. 乳腺病变 7 亚型 ROI 分类:在 4,539 个病理学家共识标注的 ROI 上训练 CNN/ViT 分类器,是入门计算病理学与迁移学习的标准任务(52 GB,单卡可训)。
  2. WSI 级弱监督亚型分型:以 547 张 WSI + "最严重亚型"标签为 MIL 试验场,评测 AB-MIL、CLAM、TransMIL、LongMIL 等架构在官方患者级划分下的可比性能。
  3. 非典型病变检测专项研究:FEA/ADH 是公开数据集中几乎唯一的非典型标注资源,可研究"UDH vs ADH""ADH vs 低级别 DCIS"这类临床最难边界。
  4. 病理基础模型评测:BRACS_ROI 已被 kaiko-ai eva 等框架纳入标准评测,适合对比 UNI、CONCH、Virchow 等基础模型嵌入的线性探测性能。
  5. 标注一致性与不确定性研究:三病理学家共识流程 + 公认高变异度的非典型类别,适合研究标签噪声、观察者变异建模与不确定性量化。

§2 医学背景

§2.1 ICD-11 疾病分类锚定

BRACS 覆盖乳腺上皮性病变从正常到浸润癌的完整谱系。其核心恶性类别的 ICD-11 映射如下:

BRACS 标签 中文名称 ICD-11 对应 说明
N(Normal) 正常乳腺组织 不适用 无病变的腺体组织,作为阴性对照
PB(Pathological Benign) 病理性良性病变 无直接编码(组织学类别) 纤维腺瘤、囊肿等良性病变集合,WHO 分类属"良性上皮病变"
UDH(Usual Ductal Hyperplasia) 普通型导管增生 无直接编码(组织学类别) 良性增生,无明显恶变风险提升
FEA(Flat Epithelial Atypia) 平坦型上皮非典型 无直接编码(组织学类别) 低级别非典型增生,WHO 第 5 版归入"非典型增生性病变"
ADH(Atypical Ductal Hyperplasia) 非典型导管增生 无直接编码(组织学类别) 与低级别 DCIS 构成形态学连续谱(以 ≤2 mm 为传统分界)
DCIS(Ductal Carcinoma in Situ) 导管原位癌 2E65.2 乳腺导管原位癌 非浸润性恶性,局限于导管内
IC(Invasive Carcinoma) 浸润性癌 2C60–2C6Z 乳腺恶性肿瘤 突破基底膜浸润间质,以浸润性导管癌(NST)为主

为什么大多数标签没有 ICD-11 编码:BRACS 的 7 个亚型是 WHO 乳腺肿瘤分类(第 5 版,2019)体系下的组织学诊断类别,而 ICD-11 是面向计费与统计的疾病编码——良性与非典型增生性病变在 ICD-11 中仅以症状/体征或 Z 码粗略覆盖,不存在与组织学亚型一一对应的条目。只有进入"原位癌"(2E65 节段)与"恶性肿瘤"(2C60-2C6Z 节段)后才有精确编码。这也意味着:把 BRACS 模型对接到真实世界计费/流行病学数据时,只能可靠映射 DCIS 与 IC 两个类别。

§2.2 SNOMED CT 映射

BRACS 标签 ICD-11 SNOMED CT SNOMED CT 术语
IC(浸润癌) 2C60–2C6Z 254837009 Malignant neoplasm of breast (disorder)
IC(浸润性导管癌) 2C60–2C6Z 408643008 Infiltrating duct carcinoma of breast (disorder)
DCIS(导管原位癌) 2E65.2 154636004 Carcinoma in situ of breast (disorder)
乳腺活检(操作) 723130001 Biopsy of breast (procedure)
N/PB/UDH/FEA/ADH 无直接编码 无稳定一一映射 组织学类别,建议引用 WHO 乳腺肿瘤分类第 5 版术语

§2.3 疾病简介

乳腺癌是全球女性中发病率最高的恶性肿瘤:GLOBOCAN 2022 估计当年全球新发约 230 万例、死亡约 67 万例。大规模钼靶筛查显著降低了死亡率,但同时带来大量"低度可疑"活检——其中相当部分落在非典型增生这一诊断灰区。病理医生对组织切片的人工阅片耗时且存在显著的观察者间与观察者内差异:Elmore et al. 2015(JAMA)的 115 名病理学家对照研究显示,浸润癌诊断一致率约 96%,DCIS 约 84%,而非典型增生仅约 48%——每两名病理医生中就有一名可能对同一例非典型病例给出不同结论。这一灰色地带正是 AI 辅助诊断最有潜力改变临床路径的位置,也是 BRACS 数据集的设计原点。

§2.4 临床任务定义

AI 任务 临床定义 标准参考 在 BRACS 中的操作化
病变亚型分型 将乳腺上皮性病变归入 7 级谱系 WHO 乳腺肿瘤分类第 5 版(2019) ROI 级 7 类分类(N/PB/UDH/FEA/ADH/DCIS/IC)
良恶性三分类 良性 vs 非典型 vs 恶性 BRACS 论文三层级体系 WSI 级或 ROI 级 3 类分类(官方基线任务)
非典型病变识别 检出 FEA/ADH 以决定手术 vs 随访 临床升级率证据(ADH 切除升级癌约 15%-30%) 非典型 vs 其余类别的二分类或多分类子任务
全切片综合诊断 给出整张切片最严重病变级别 临床报告惯例(按最严重病变出报告) WSI 级标签 = 切片内最严重亚型(BRACS 标注规则)

§2.5 患者人群特征

维度 特征
数据来源 单中心:IRCCS Fondazione Pascale(意大利那不勒斯,国家癌症研究所,三级肿瘤专科机构)
采集时间 2019-2020 年,依据患者诊断报告回顾性筛选活检与手术切除切片
规模(WSI 口径) 189 名患者 / 547 张 WSI
规模(ROI 口径) 151 名患者 / 387 张 WSI / 4,539 个 ROI
年龄分布 16-86 岁;约 61% 的患者在 40-60 岁区间;<20 岁与 >80 岁极少(论文 Methods)
性别比例 论文未公开精确性别构成(乳腺癌患者人群以女性为绝对主体)
种族分布 未公开(意大利单中心人群)
就医类型 肿瘤专科医院活检/手术人群(依据诊断报告筛选,含良性、非典型与恶性病例)

§2.6 金标准/参考标准

数据层级 标注方式 标注者 金标准性质
ROI 级标签 三名病理学家各自独立标注 → 分歧条目共同讨论重新标注达成共识 IRCCS Fondazione Pascale 病理解剖与细胞病理学综合科室的 3 名委员会认证(board-certified)病理学家 专家共识标签,质量高于单阅片者,但非分子/免疫组化验证
WSI 级标签 规则推导:取切片内所有标注中"最严重(most aggressive)"的亚型 由 ROI 标注自动派生 派生标签,共存病变信息被压缩为单一标签(见 §6.5 坑点 2)
ROI 空间标注 QuPath 中圈画,.qpdata 格式存档 同上 3 名病理学家 可用于 ROI 定位复现与可视化
扫描质量控制 Aperio AT2 40× 全分辨率扫描 IRCCS Fondazione Pascale 技术团队 统一设备、统一参数,批次效应小但中心效应集中

去标识化(所有下游使用的前提):所有 WSI 在交付病理学家标注前已完成去标识化;发布时所有机密数据、切片上的标签文字与患者代码已从图像和对应文件中完全删除(论文 Methods 原文),仅保留匿名化切片编号与患者分组 ID。


§3 数据集规格

§3.0 版本抉择矩阵

BRACS 没有版本号式迭代,但有三个事实上的"数据形态"加一个非官方镜像。30 秒选型:

你的需求 推荐版本 大小 理由
快速上手 / 单卡训练 / ROI 级 7 类分类 Region of Interest Set(当前版) ~52 GB 4,539 个 PNG ROI + 官方划分,下载量友好,无需 OpenSlide 即可开工
WSI 级弱监督 / MIL 研究 / 完整复现 Whole Slide Image Set(当前版) ~1.1 TB 547 张 .svs 全切片 + .qpdata 标注 + .xlsx 汇总表,WSI 任务的唯一完整口径
复现 HACT-Net 等 2020-2021 早期论文 previous_versions 归档(ROI 集内 zip) 随 ROI 集 v1 数据(4,391 ROI 等旧口径),与当前版存在重叠,谨防重复计样本(见 §6.5 坑点 4)
仅浏览/教学演示,不想走 FTP 注册 Kaggle 社区镜像(按类别分包,非官方) 分包 10-70 GB 免官方注册流程,但为第三方转载,许可与完整性需自行核对(标注 CC BY-NC-SA 4.0)

一句话结论:做 ROI 任务下 ROI 集即可;做 WSI 任务必须下全量 1.1 TB;复现 2021 年前的论文才需要碰 previous_versions,且永远不要把它和当前版混进同一次训练。

§3.1 模态详细说明

BRACS 包含单一成像模态的两个层级:

  1. 全切片图像(WSI):乳腺活检/切除组织 H&E 染色切片,Aperio AT2 扫描,40× 放大、0.25 µm/pixel,金字塔式 .svs 文件,最高分辨率层级可超 100,000×100,000 像素,单张约 0.6-3 GB。WSI 完整保留组织上下文,是 MIL 弱监督任务的输入。
  2. 兴趣区图像(ROI):病理学家在 WSI 中识别并用 QuPath 提取的代表性区域,PNG 格式,尺寸不一、常超 4,000×4,000 像素,每张 WSI 提取 0-119 个(平均 11 个)。ROI 保留了真实的组织制备与染色伪影(论文明确说明未做美化筛选),是监督式分类任务的输入。

两个层级的标签体系一致(7 亚型),但语义不同:ROI 标签是病理学家对该区域的直接判读;WSI 标签是"切片内最严重亚型"的规则派生。理解这一差异是正确使用 BRACS 的第一课。

§3.2 样本量拆分(论文 Table 1/2/5-8 精确数字)

WSI 级分布(547 张,189 名患者)

亚型 中文 Train Val Test 合计
N 正常 27 10 7 44
PB 病理性良性 120 11 16 147
UDH 普通型导管增生 56 9 9 74
FEA 平坦型上皮非典型 24 6 11 41
ADH 非典型导管增生 28 8 12 48
DCIS 导管原位癌 40 9 12 61
IC 浸润癌 100 12 20 132
合计 395 67 85 547
患者数 133 25 31 189

按大类:Benign 265(N+PB+UDH)/ Atypical 89(FEA+ADH)/ Malignant 193(DCIS+IC);划分 Train/Val/Test = 395/67/85(Benign 203/30/32,Atypical 52/14/23,Malignant 140/21/32)。

ROI 级分布(4,539 个,151 名患者)

亚型 Train Val Test 合计
N 357 46 81 484
PB 714 43 79 836
UDH 389 46 82 517
FEA 624 49 83 756
ADH 387 41 79 507
DCIS 665 40 85 790
IC 521 47 81 649
合计 3,657 312 570 4,539
患者数 106 15 30 151

按大类:Benign 1,837 / Atypical 1,263 / Malignant 1,439;划分 Train/Val/Test = 3,657/312/570(Benign 1,460/135/242,Atypical 1,011/90/162,Malignant 1,186/87/166)。

关键结构事实:387 张 WSI 有 ROI(Benign 149 / Atypical 75 / Malignant 163),160 张 WSI 无 ROI(Benign 116 / Atypical 14 / Malignant 30)——无 ROI 的切片集中于良性端,做 WSI-ROI 联合建模时必须处理这一结构性不对称。

§3.3 数据格式详情

形态 格式 说明
WSI .svs(Aperio 金字塔 TIFF) OpenSlide / cucim / tifffile 可读;命名 BRACS_1238.svs,标签由所在文件夹路径给出
ROI .png 命名 BRACS_1238_PB_32.png(切片 ID_亚型_ROI 序号),标签同时编码在文件名与文件夹中
WSI 标注 .qpdata(QuPath 工程文件) 可在 QuPath 中打开查看 ROI 在 WSI 内的位置与轮廓
汇总表 .xlsx 每张 WSI 一行:标签、所属划分(train/val/test)、患者 ID、关联 ROI 数量
归档 previous_versions.zip ROI 集内,含 v1 数据(供复现早期论文)

§3.4 存储大小

形态 大小 备注
WSI 全集 ~1.1 TB 公开乳腺 WSI 数据集 scoping review(PMC10884505)登记的 BRACS 体积;Kaggle 镜像旁证 N 类 44 张约 66 GB
ROI 全集 ~52 GB kaiko-ai eva 文档与多项复现研究一致口径
单张 WSI 约 0.6-3 GB 取决于组织面积与金字塔层级
工作磁盘建议 ≥1.5 TB 全量解压 + patch 提取中间产物(40× 全分辨率 patch 可再膨胀数倍)

§3.5 标注方式

BRACS 采用"独立标注 + 共识复核"两段式专家标注:

WSI 去标识化
    │
    ▼
病理学家识别代表性 ROI(QuPath 圈画)
    │
    ▼
3 名委员会认证病理学家各自独立标注
(正常组织或 6 种病变亚型之一)
    │
    ├─ 一致 → 直接入库
    └─ 分歧 → 三人共同讨论、重新标注达成共识
    │
    ▼
ROI 级标签(共识标签)
    │
    ▼
WSI 级标签 = 切片内最严重亚型(规则派生)

设计动机(论文原文):通过共识流程"减轻观察者间与观察者内变异性(alleviate inter- and intra-observer variability)"。注意 BRACS 未公开 Cohen’s kappa 等量化一致性指标——共识前的分歧率不可考,这是评估其标签质量时的已知信息缺口(见 §7.2)。

§3.6 标注者资质

维度 说明
人数 3 名
资质 委员会认证(board-certified)病理学家,任职于 IRCCS Fondazione Pascale 病理解剖与细胞病理学综合科室(Complex Structure of Pathological Anatomy and Cytopathology)——国家癌症研究所的专职肿瘤病理团队
标注工具 QuPath(开源数字病理平台,Bankhead et al. 2017)
一致性检验 分歧条目共识重标,未公开量化一致性指标(kappa 等)
独立性 与 AI 团队(ICAR-CNR / IBM)分属不同机构,标注与建模解耦

§3.7 数据采集时间范围

2019-2020 年,IRCCS Fondazione Pascale 病理科依据患者诊断报告回顾性筛选 H&E 染色乳腺组织切片(活检与手术切除标本混合),随后统一扫描与去标识化。

§3.8 地理覆盖

单中心——意大利那不勒斯 IRCCS Fondazione Pascale(National Cancer Institute - IRCCS - Fondazione Pascale)。单中心 + 单扫描仪意味着染色风格高度一致(利于训练),但也意味着跨中心泛化完全没有内建验证(详见 §7.3)。

§3.9 采集设备规格

项目 规格 说明
扫描仪 Aperio AT2(Leica Biosystems) 明场数字病理扫描仪,.svs 输出格式
分辨率 0.25 µm/pixel 对应 40× 物镜
放大倍率 40×(最高层级) 金字塔内含 20×/10×/5×/2.5× 等降采样层级
染色 H&E(苏木精-伊红) 组织学标准染色
标注软件 QuPath .qpdata 工程文件格式

§3.10 深度溯源链

环节 系统/方法 关键转换
1. 临床源数据 IRCCS Fondazione Pascale 病理科常规诊断流程 活检/手术切除组织 → 石蜡包埋 → H&E 染色切片 → 医师诊断报告
2. 病例筛选 依据诊断报告回顾性筛选(2019-2020) 按目标亚型谱系(含罕见的非典型病例)定向入选 189 名患者
3. 数字化 Aperio AT2 扫描仪 玻璃切片 → 40×(0.25 µm/px).svs 金字塔文件
4. 去标识化 ICAR-CNR / IRCCS 脱敏流程 删除切片标签文字、患者代码与全部机密数据,重编号为 BRACS_ID
5. 专家标注 3 名病理学家 + QuPath 独立标注 → 分歧共识重标 → ROI 级标签;派生 WSI 级标签(最严重亚型规则)
6. 划分与发布 患者级随机划分 + FTP 分发 同一患者 WSI/ROI 归入同一集合;官网注册 + 使用条款 + CC BY-NC 4.0
7. 三方治理 ICAR-CNR × IRCCS Fondazione Pascale × IBM Research-Zurich 机构协议 "非典型肿瘤自动识别方法与工具开发"专项合作框架

§4 数据结构详解

§4.0 目录结构预览

BRACS/
├── Whole Slide Image Set/              # 547 张 .svs 全切片(~1.1 TB)
│   ├── train/
│   │   ├── Benign/
│   │   │   ├── N/      BRACS_1003675.svs ...(27 张)
│   │   │   ├── PB/     BRACS_1261.svs ...(120 张)
│   │   │   └── UDH/    ...(56 张)
│   │   ├── Atypical/
│   │   │   ├── FEA/    ...(24 张)
│   │   │   └── ADH/    ...(28 张)
│   │   └── Malignant/
│   │       ├── DCIS/   ...(40 张)
│   │       └── IC/     ...(100 张)
│   ├── validation/                     # 67 张,同构
│   └── test/                           # 85 张,同构
├── Region of Interest Set/             # 4,539 个 .png ROI(~52 GB)
│   ├── train/
│   │   ├── Benign/{N,PB,UDH}/          # 357 / 714 / 389 个
│   │   ├── Atypical/{FEA,ADH}/         # 624 / 387 个
│   │   └── Malignant/{DCIS,IC}/        # 665 / 521 个
│   ├── validation/                     # 312 个,同构
│   ├── test/                           # 570 个,同构
│   └── previous_versions/              # v1 数据归档 zip(复现早期论文专用)
├── The Whole Slide Image Annotations/  # .qpdata 标注工程(与 WSI 集同构)
│   └── train/... BRACS_1238.qpdata
└── BRACS.xlsx                          # 汇总表:WSI 标签/划分/患者 ID/ROI 数

注意:WSI 文件本身的命名(如 BRACS_1238.svs不含标签——标签完全由文件夹路径承载;ROI 文件名(如 BRACS_1238_PB_32.png)则同时编码了切片 ID、亚型与 ROI 序号。写加载代码时两种解析策略不要混用。

§4.1 DAIMS 标准化字段描述表

核心记录:WSI(每行一张全切片,共 547 条)

字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
slide_id TEXT 切片唯一标识(文件名主干) “BRACS_1238” 样本主键;关联 ROI 与 .qpdata 不允许缺失 BRACS_\d+
image SVS 金字塔 全切片图像 100,000×90,000 px MIL 输入 扫描/拼接伪影 尺寸不固定
label TEXT WSI 级标签(最严重亚型规则派生) “DCIS” 弱监督靶标 派生规则压缩共存病变 不允许缺失 N/PB/UDH/FEA/ADH/DCIS/IC
group TEXT 三大类 “Malignant” 3 类任务靶标 由 label 映射 不允许缺失 Benign/Atypical/Malignant
split TEXT 官方划分 “train” 评测协议 不允许缺失 train/validation/test
patient_id TEXT 匿名患者 ID(.xlsx 提供) 患者分组码 患者级泄漏校验 已脱敏 不允许缺失 匿名编码
n_rois INTEGER 该切片关联 ROI 数 11 层级关联 160 张 WSI 为 0 0 = 无 ROI(结构性缺失,非随机) 0-119

核心记录:ROI(每行一个兴趣区,共 4,539 条)

字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
roi_id TEXT ROI 唯一标识 “BRACS_1238_PB_32” 样本主键 不允许缺失 BRACS_\d+[亚型]\d+
slide_id TEXT 来源切片 ID “BRACS_1238” 外键关联 WSI 不允许缺失 同 WSI.slide_id
image PNG 兴趣区图像 5,120×4,800 px 分类器输入 尺寸不一、含真实伪影 常 >4,000×4,000 px
label TEXT ROI 级共识标签 “PB” 监督靶标 共识标签,无 kappa 公开 不允许缺失 N/PB/UDH/FEA/ADH/DCIS/IC
split TEXT 官方划分(随所属 WSI) “train” 评测协议 不允许缺失 train/validation/test

注意:标签字段有两个权威来源——文件夹路径与 BRACS.xlsx 汇总表。下载不完整或解压中断时两者可能不一致,以 .xlsx 为准并核对文件数(见 §6.5 坑点 6)。

§4.2 标签分布统计

口径 最常见类别 最罕见类别 不平衡比 说明
WSI 全集 PB 147(26.9%) FEA 41(7.5%) 约 3.6:1 恶性端 IC 132 张充足;非典型端最稀缺
WSI 测试集 IC 20 / PB 16 N 仅 7 单类最少 7 张,逐类指标极不稳定(见 §6.5 坑点 5)
ROI 全集 PB 836(18.4%) N 484(10.7%) 约 1.7:1 FEA 反而多达 756(病理学家对非典型区域密集取样)
ROI 训练集 PB 714 N 357 约 2:1 论文口径:“相对平衡,可直接用于训练”
WSI→ROI 映射 0-119 个/张,均值 11 同一切片 ROI 数差异悬殊,MIL 包大小极不均

§4.3 关键字段描述性统计

  • 387 张 WSI 携带 ROI(70.7%),160 张无 ROI(29.3%);无 ROI 切片按大类分布为 Benign 116 / Atypical 14 / Malignant 30——良性切片更可能"没有值得圈的重点区域"。
  • ROI 尺寸高度不均:常超 4,000×4,000 px,最小约数百像素,无固定长宽比,加载时必须 resize/pad 或切块(见 §6.3)。
  • WSI 尺寸可超 100,000×100,000 px;按 40× 提取 256×256 patch 时单张切片组织区 patch 数通常在数千至数万个量级。
  • 患者-切片映射不均:189 名患者对应 547 张 WSI(人均约 2.9 张),151 名患者对应 387 张有 ROI 的 WSI。

§4.4 数据层级关系

患者(189 人,匿名 patient_id)
  └─ WSI(547 张,BRACS_ID;人均约 2.9 张,全部归同一 split)
      ├─ ROI(4,539 个,仅来自其中 387 张 WSI;同一 WSI 的 ROI 全部归同一 split)
      │   └─ 标签:病理学家共识(7 亚型)
      ├─ .qpdata 标注工程(ROI 在 WSI 内的空间位置)
      └─ WSI 级标签:= max-aggressive(本切片全部 ROI 标注)(规则派生)

三条必须记住的层级规则

  1. 泄漏防线在患者级——官方划分保证同一患者的所有 WSI 落在同一集合;同一 WSI 的所有 ROI 落在同一集合。自行重划分时必须用 patient_id 做 group。
  2. WSI 标签 ≠ ROI 标签的投票,而是"最严重亚型"规则——一张切片可以同时含良性与恶性 ROI,其 WSI 标签只反映最重的一端。
  3. ROI 与 WSI 的粒度差异是任务定义差异:ROI 级是"该区域是什么",WSI 级是"这张切片最重是什么"。在 ROI 上训练、在 WSI 上直接评估,是 BRACS 最常见的无效实验设计(见 §6.5 坑点 3)。

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

缺失类型 表现 缺失原因 信息性缺失编码 对 AI 的影响
结构性缺失(MNAR) 160/547 张 WSI 无 ROI 病理学家认为无代表性区域可圈(良性端为主) n_rois = 0 ≈ “切片无显著局灶病变” WSI-ROI 联合建模时不可随机丢弃/随机补齐
共存病变信息缺失 WSI 标签仅 1 个 "最严重亚型"派生规则 WSI 标签 = 最严重端,其余亚型不可见 多标签建模须回到 ROI 级自行聚合
临床元数据缺失 无 ER/PR/HER2、无治疗与结局、年龄仅区间 去标识化与发布范围决定 全字段缺失 无法做分子分型、预后、精细公平性分析
一致性指标缺失 无 kappa 公开 共识流程未留量化记录 标签噪声只能间接估计
版本口径缺失 4537(Table 4/官网)vs 4539(摘要/Table 1) 版本迭代未编号 以当前下载的 .xlsx 实点数为准 与旧论文对比样本数时先核对版本

§5 数据划分与使用建议

§5.1 官方数据划分

BRACS 自带官方 train/validation/test 划分,且划分在患者级执行:同一患者的全部 WSI 归入同一集合,同一 WSI 的全部 ROI 归入同一集合。这是论文明确的设计(“we avoid that different sets include correlated patient- and slide-level information, that could be leading to overly optimistic prediction results”)。WSI 级:train 395 / val 67 / test 85;ROI 级:train 3,657 / val 312 / test 570。与文献比较时请直接使用官方划分——LongMIL、RetMIL、INSIGHT 等均在此划分上报告结果。

§5.2 推荐划分策略

  1. 默认:使用官方划分,val 调参、test 只报一次。
  2. 多种子稳健性:WSI 级测试集仅 85 张,官方建议不可行时,社区惯例是固定官方划分、换 5 个随机种子训练,报告 mean ± std(LongMIL 论文即采用此协议)。
  3. 交叉验证:如需 k 折,必须以 patient_id 为 group 做 GroupKFold,且每折内保持"同 WSI 的 ROI 不跨折"。
  4. 自定义重划分:仅在官方划分不满足任务(如二分类重构)时进行,仍须按患者分组,并在论文中声明与官方结果不可比。
import pandas as pd
from sklearn.model_selection import GroupKFold

meta = pd.read_excel("BRACS.xlsx")  # 列:WSI 标签 / split / patient_id / n_rois
gkf = GroupKFold(n_splits=5)
for fold, (tr, te) in enumerate(gkf.split(meta, groups=meta["patient_id"])):
    assert set(meta.iloc[tr]["patient_id"]) & set(meta.iloc[te]["patient_id"]) == set()
    print(f"fold {fold}: train {len(tr)} WSI / test {len(te)} WSI, 患者零交集 OK")

§5.3 数据泄漏风险防御

# 泄漏模式 严重程度 防御措施
1 按 WSI 而非患者划分(人均约 2.9 张切片) GroupShuffleSplit/GroupKFold(groups=patient_id),划分后验证患者集合零交集
2 同一 WSI 的多个 ROI 被随机分到训练/测试两侧 ROI 级重划分必须以 slide_id(最终归并到 patient_id)为 group
3 previous_versions(v1)与当前版数据混入同一训练/测试流程 v1 与当前版高度重叠,仅用于复现旧论文;绝不合并去重后使用
4 用 ROI 级特征训练的模型在同一切片的 WSI 上"弱监督"评估 中高 ROI 与 WSI 任务严格分离;跨层级实验按患者隔离特征提取器与分类器
5 全切片 patch 提取后将相邻重叠 patch 随机分两侧 patch 级随机划分前必须先按 WSI/患者分好集合

§5.4 交叉验证建议

  • 标准:5 折 GroupKFold(group=patient_id),报告 macro-F1 均值与标准差。
  • 官方协议对齐:固定官方 train/val/test + 5 个训练种子,是社区当前最可比的报告方式(LongMIL/RetMIL 惯例)。
  • 亚组评估:按三大类(Benign/Atypical/Malignant)与 7 亚型分别报告 per-class F1——Atypical 类是 BRACS 的核心难点,只报总体 accuracy 会掩盖约 20 个百分点的类间差距。

§5.5 外部验证

BRACS 单中心单扫描仪来源,外部验证几乎是必选动作。可行路径:BACH(同为乳腺亚型任务,类别需映射:normal/benign/insitu/invasive ↔ N·PB/UDH·FEA·ADH/DCIS/IC,注意 BACH 仅 30 张 WSI)、BreakHis(8 亚型显微镜图,可验证 ROI 级模型跨中心迁移)、TCGA-BRCA(恶性端泛化,但无良性/非典型对照)。跨数据集评估时统一染色归一化流程,并预期 5-15 个百分点的性能衰减。


§6 AI 就绪指南

§6.0 云端快速启动

零门槛路线(推荐先做这一步):不要一开始就去拉 1.1 TB 的 WSI 全集。先拿 ROI 集(~52 GB)跑通 7 类分类——PNG 格式不依赖 OpenSlide,普通云盘/Colab 即可处理。kaiko-ai eva 框架已将 BRACS_ROI 封装为标准评测任务(train 3,657 / val 312 / test 570),适合直接做基础模型嵌入 + 线性探测。

Kaggle 镜像(非官方):社区按类别分包的 BRACS-WSI 镜像(如 BRACS-WSI-Group-BT-Type-N 等)可免官方注册浏览单类切片,适合教学演示与可行性验证;正式研究请回到官网注册下载完整数据并遵守 CC BY-NC 4.0。

硬件提示:WSI 级实验在 Colab 免费档不可行(1.1 TB 磁盘 + OpenSlide 依赖),建议本地或云主机(≥1.5 TB 磁盘、≥1 × 24 GB 显存 GPU,见 §6.8)。

§6.1 快速上手(ROI 级 7 类分类)

# ========================================
# BRACS 快速上手 — ROI 级 7 类分类(PyTorch 版)
# 环境要求: torch>=2.0, torchvision, pandas, Pillow
#
# ⚠️ 目录结构预期:
#   将从 FTP 下载的 Region of Interest Set 解压至 ./data/BRACS_ROI/,确保:
#   ./data/BRACS_ROI/
#   ├── train/{Benign,Atypical,Malignant}/{N,PB,UDH,FEA,ADH,DCIS,IC}/*.png
#   ├── validation/...(同构)
#   └── test/...(同构)
#
#   标签从文件夹路径解析(train/Atypical/ADH/*.png → "ADH"),
#   不要从文件名解析(文件名中的亚型字段与文件夹一致,但路径是权威来源)。
#   患者级防泄漏已由官方划分保证,直接使用 train/validation/test 目录即可。
# ========================================
import os
from pathlib import Path
from PIL import Image
import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms, models

CLASSES = ["N", "PB", "UDH", "FEA", "ADH", "DCIS", "IC"]
CLS2IDX = {c: i for i, c in enumerate(CLASSES)}

class BRACSRoiDataset(Dataset):
    """遍历 split 目录,标签 = 叶子文件夹名(N/PB/UDH/FEA/ADH/DCIS/IC)"""
    def __init__(self, root, split, transform=None):
        self.samples = []
        split_dir = Path(root) / split
        for png in split_dir.rglob("*.png"):
            label = png.parent.name            # 叶子目录即亚型
            if label in CLS2IDX:
                self.samples.append((str(png), CLS2IDX[label]))
        self.transform = transform
        print(f"{split}: {len(self.samples)} ROIs")

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

    def __getitem__(self, i):
        path, y = self.samples[i]
        img = Image.open(path).convert("RGB")
        if self.transform:
            img = self.transform(img)
        return img, y

tf_train = transforms.Compose([
    transforms.Resize((512, 512)),            # ROI 尺寸不一,先统一
    transforms.RandomCrop(448),
    transforms.RandomHorizontalFlip(),
    transforms.RandomVerticalFlip(),
    transforms.ColorJitter(brightness=0.1, contrast=0.1, saturation=0.1, hue=0.02),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
tf_eval = transforms.Compose([
    transforms.Resize((512, 512)),
    transforms.CenterCrop(448),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])

train_ds = BRACSRoiDataset("./data/BRACS_ROI", "train", tf_train)   # 期望 3,657
val_ds   = BRACSRoiDataset("./data/BRACS_ROI", "validation", tf_eval)  # 期望 312
test_ds  = BRACSRoiDataset("./data/BRACS_ROI", "test", tf_eval)     # 期望 570

# 类别权重:按训练集各类频数取倒数(ROI 级约 1.7:1 不平衡,轻量处理即可)
counts = torch.bincount(torch.tensor([y for _, y in train_ds.samples]))
class_weight = counts.sum() / (len(CLASSES) * counts.clamp(min=1))

model = models.resnet34(weights="IMAGENET1K_V1")
model.fc = torch.nn.Linear(model.fc.in_features, len(CLASSES))
criterion = torch.nn.CrossEntropyLoss(weight=class_weight)
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-4, weight_decay=1e-4)

train_loader = DataLoader(train_ds, batch_size=16, shuffle=True, num_workers=8)
# ……此后为标准训练循环(macro-F1 指标见 §6.9)

§6.2 数据获取流程

获取方式 链接/位置 大小 流程
官方 FTP(唯一权威渠道) https://www.bracs.icar.cnr.it/ ~1.1 TB(WSI)+ ~52 GB(ROI) ① 官网注册账号;② 同意使用条款(CC BY-NC 4.0 + 引用要求);③ 获得 FTP 服务器凭据;④ FTP 客户端(如 FileZilla / lftp)批量下载
Kaggle 社区镜像(非官方) Kaggle 搜索 “BRACS-WSI-Group-*” 分包 10-70 GB 免官方注册,按类别分包转载;许可标注 CC BY-NC-SA 4.0,完整性与时效性不受官方保证
previous_versions 归档 ROI 集内 previous_versions/ 随 ROI 集 v1 数据,仅供复现 HACT-Net 等 2020-2021 论文

下载实操建议:FTP 断点续传工具(lftp -c "mirror --continue --parallel=4")比浏览器稳定得多;下载完成后第一件事是按 .xlsx 汇总表核对文件数(WSI 应 395/67/85,ROI 应 3,657/312/570),数量不符说明传输中断(见 §6.5 坑点 6)。

§6.3 预处理 Pipeline

<details>
<summary><b>点击展开完整的 WSI → patch 预处理代码(OpenSlide + 组织检测 + Macenko 归一化)</b></summary>

# 步骤 1:读取 .svs 并检查金字塔(需要 openslide-python + 系统 openslide 库)
import openslide
import numpy as np
from PIL import Image

slide = openslide.OpenSlide("BRACS_1238.svs")
print(slide.level_count, slide.level_dimensions)   # 金字塔层级与各层尺寸
print(slide.properties.get("aperio.AppMag"))        # 应为 "40"

# 步骤 2:低倍层级做组织检测(2.5× 层级足够,Otsu 阈值去背景)
import cv2
thumb_level = slide.level_count - 3                  # 约 5× 层级
thumb = np.array(slide.read_region((0, 0), thumb_level,
                                   slide.level_dimensions[thumb_level]).convert("RGB"))
gray = cv2.cvtColor(thumb, cv2.COLOR_RGB2GRAY)
_, tissue_mask = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
tissue_mask = 255 - tissue_mask                      # 组织为前景

# 步骤 3:在 20×(0.5 µm/px)层级提取 256×256 patch(MIL 常用配置)
# 说明:BRACS 官方 WSI 基线用的是 10×;20× 是社区 MIL 惯例;40× 全分辨率
#       单张切片 patch 数可达数万,仅在显存与存储充足时使用。
level20 = 1                                          # 依金字塔实际层级调整
ds = slide.level_downsamples[level20]
PATCH = 256
scale = slide.level_dimensions[thumb_level][0] / slide.level_dimensions[level20][0]
patches, coords = [], []
h20, w20 = slide.level_dimensions[level20][1], slide.level_dimensions[level20][0]
for y in range(0, h20 - PATCH, PATCH):
    for x in range(0, w20 - PATCH, PATCH):
        tx, ty = int(x * scale), int(y * scale)
        ts = int(PATCH * scale)
        if tissue_mask[ty:ty+ts, tx:tx+ts].mean() > 255 * 0.5:   # 组织占比 >50%
            patch = slide.read_region(
                (int(x * ds), int(y * ds)), level20, (PATCH, PATCH)).convert("RGB")
            patches.append(np.array(patch)); coords.append((x, y))
print(f"组织 patch 数: {len(patches)}")

# 步骤 4:Macenko 染色归一化(跨切片染色差异的标准解法;官方基线同法)
# 推荐直接用成熟实现:pip install torchstain / staintools
import torchstain
normalizer = torchstain.normalizers.MacenkoNormalizer(backend="torch")
normalizer.fit(torch.from_numpy(patches[0]).permute(2, 0, 1))   # 以首张 patch 为模板
norm_patches = [normalizer.normalize(torch.from_numpy(p).permute(2, 0, 1)) for p in patches]

# 步骤 5:存为特征包(MIL 输入)——用基础模型/ResNet50 提嵌入后保存
# torch.save({"feats": feats, "coords": coords, "label": "DCIS"}, "BRACS_1238.pt")

</details>

ROI 级预处理要点:ROI 无固定尺寸(常 >4,000×4,000 px),三种社区惯例——(a) 直接 resize 到 512×512(官方基线类似做法,简单但改变长宽比);(b) 中心裁剪 + 多尺度裁剪;© 切成 512×512 tile 后聚合。不要混用:同一实验内所有 ROI 必须用同一种策略,否则尺寸分布差异会成为模型的 shortcut 特征。

§6.4 框架加载

import torch
from torch.utils.data import Dataset, DataLoader

class BRACSWsiBagDataset(Dataset):
    """MIL bag 数据集:每个样本 = 一张 WSI 的 patch 特征包 + WSI 级标签"""
    def __init__(self, feat_dir, labels):
        self.files = sorted(Path(feat_dir).glob("*.pt"))
        self.labels = labels          # dict: slide_id -> class_idx
    def __len__(self):
        return len(self.files)
    def __getitem__(self, i):
        bag = torch.load(self.files[i], map_location="cpu")
        return bag["feats"], self.labels[bag["slide_id"]]

def mil_collate(batch):
    # 变长 bag:padding 到 batch 内最大 patch 数 + mask
    feats, ys = zip(*batch)
    maxlen = max(f.shape[0] for f in feats)
    D = feats[0].shape[1]
    padded = torch.zeros(len(feats), maxlen, D)
    mask = torch.zeros(len(feats), maxlen, dtype=torch.bool)
    for i, f in enumerate(feats):
        padded[i, :f.shape[0]] = f
        mask[i, :f.shape[0]] = True
    return padded, mask, torch.tensor(ys)

loader = DataLoader(BRACSWsiBagDataset("./feats", labels),
                    batch_size=1, shuffle=True, collate_fn=mil_collate)
import tensorflow as tf  # TensorFlow 版 ROI 管道
ds = tf.keras.utils.image_dataset_from_directory(
    "./data/BRACS_ROI/train", labels="inferred", label_mode="categorical",
    image_size=(512, 512), batch_size=16, shuffle=True)
ds = ds.map(lambda x, y: (tf.keras.applications.resnet.preprocess_input(x), y))

§6.5 常见坑点

⚠️ 坑点 1:License 口径冲突——论文写 CC0、官网写 CC BY-NC 4.0(分类:标签理解/合规)

问题:BRACS 论文正文(Data organization 一节)写明数据按 “Creative Commons CC0 license” 提供,但官网页脚与 kaiko eva 等下游框架均标注 CC BY-NC 4.0(禁止商业用途)。若按论文的 CC0 口径把模型或衍生数据用于商业产品,存在合规风险。

症状:法务审查时两个来源对不上;下游镜像(如 Kaggle 标注 CC BY-NC-SA)进一步放大混乱。

解决:一律以官网当前条款为准——CC BY-NC 4.0(非商业研究 + 署名 + 发表时引用 Brancati et al. 2022);商用需求直接联系 ICAR-CNR 授权;论文中写明所依据的许可版本与获取日期。

参考https://www.bracs.icar.cnr.it/background/(页脚许可声明);kaiko-ai eva BRACS 文档。

⚠️ 坑点 2:WSI 标签是"最严重亚型"规则派生,不是多标签(分类:标签理解)

问题:论文原文明确 “the WSI-level labels were trivially defined as the most aggressive tumor subtype annotated in the image”。一张同时含良性与 DCIS 区域的切片,WSI 标签只有 DCIS——把 WSI 标签当作"切片内唯一病变"来训练或解释,会系统性误读标签语义。

症状:模型对含轻微病变的"恶性"切片预测为良性时,单标签口径记为错误,但临床上两种读法都有道理;注意力热图常"浪费"在良性区域上。

解决:(1) 把 WSI 任务明确定义为"最严重病变识别"而非"病变分类";(2) 需要多标签时回到 ROI 级自行聚合(.qpdata 中有 ROI 空间位置);(3) 评估时同时报告 3 大类与 7 亚型口径,避免单一口径误导。

参考:Brancati et al. 2022 Methods(WSI- and ROI-level annotations 一节)。

⚠️ 坑点 3:ROI 与 WSI 是两种任务,混用即无效实验(分类:评估误用)

问题:ROI 是病理学家预选的代表性区域——存在强烈的选择偏倚。在 ROI 上训练的分类器直接在完整 WSI 上滑窗评估,或把 ROI 级指标与 WSI 级指标并列比较,都是社区论文中反复出现的方法学错误。

症状:ROI 级 accuracy 看起来 60-70%,"迁移到 WSI"后崩到接近随机;或论文报告的"WSI 级结果"实际是在 ROI 测试集上算的,与官方 WSI 基线(70.3%)不可比。

解决:任务定义先行——ROI 级就报 ROI 测试集(570 个)指标,WSI 级就走 patch 提取 + MIL 聚合后报 WSI 测试集(85 张)指标;跨层级实验(ROI 训练 → WSI 推理)必须作为独立的泛化实验声明,并给出失败分析。

参考:Brancati et al. 2022 Tables 8/9(两个层级分别报告的范式);INSIGHT(arXiv:2412.02012)对 WSI 级协议的标准用法。

⚠️ 坑点 4:4537 vs 4539 与 previous_versions——版本错配与重复计数(分类:数据泄漏)

问题:论文摘要与 Table 1 写 4,539 个 ROI,而论文 Table 4 与官网 background 页写 4,537——相差 2 个,源于未编号的版本迭代。同时 ROI 集内的 previous_versions.zip 保存了 v1 数据(HACT-Net 等早期论文使用),与当前版高度重叠。把两个版本合并去重、或用当前版训练在 v1 上测试,都会造成样本重复与结论失真。

症状:样本总数与论文表格差 2;复现 HACT-Net 时数据口径对不上;"扩大样本量"后指标异常提升(实际是测试集污染)。

解决:以实际下载的 BRACS.xlsx 与文件树实点数为准并记录快照哈希;v1 仅用于复现旧论文,与当前版物理隔离存放;论文中注明"基于官网 2026-XX 下载的当前版本"。

参考:Brancati et al. 2022 Table 4 vs Table 1;官网 background 页(4537 口径)。

⚠️ 坑点 5:WSI 级测试集极小(85 张,N 类仅 7 张)——指标方差大、结论不稳(分类:评估误用)

问题:WSI 级官方测试集只有 85 张,按 7 亚型拆分后最少的 N 类仅 7 张——单张切片的误判就能让该类 recall 波动 14 个百分点。报告单次训练的单次评估结果,几乎不具备统计意义。

症状:同一种子复现差 3-5 个百分点的 macro-F1;per-class 指标在不同论文间无法对齐;小样本类(N/FEA)的"提升"实为噪声。

解决:(1) 社区标准协议:固定官方划分 + 5 个随机种子,报告 mean ± std(LongMIL 的做法);(2) 主指标用 macro-F1 / macro-AUC 并附 per-class 明细;(3) 跨论文比较时核对评估协议(种子数、嵌入 backbone、放大倍率)是否一致,不一致的绝对值不可比。

参考:LongMIL(arXiv:2410.14195)的 5-seed 协议;RetMIL(arXiv:2403.10858)。

⚠️ 坑点 6:FTP 下载中断 + 无逐文件校验——静默缺文件(分类:工程陷阱)

问题:官方仅提供 FTP 分发,1.1 TB 体量下传输中断是常态而非例外;官方未发布逐文件 MD5 清单。缺几张切片不会报错,但会直接污染划分统计与评测结果。

症状:本地文件数比官方少 3-10 个;某亚型文件夹为空;复现指标系统性偏低且找不到原因。

解决:(1) 用支持断点续传的 FTP 客户端(lftp mirror --continue);(2) 下载后对照 §4.2 的精确数字点验——WSI:train 395 / val 67 / test 85,ROI:3,657 / 312 / 570,逐亚型核对;(3) 与 BRACS.xlsx 逐行比对 slide_id 清单;(4) 核对单张 WSI 能否被 OpenSlide 正常打开(openslide.OpenSlide(...).level_count 抛异常即文件损坏)。

参考:§4.2 标签分布表;论文 Table 5-8。

⚠️ 坑点 7:40× 全分辨率 patch 提取的 I/O 与存储爆炸(分类:工程陷阱/预处理陷阱)

问题:单张 WSI 超 100,000×100,000 px,40× 下 256×256 patch 可达数万个、单张切片 patch 文件数十 GB——547 张全量提取在普通工作站上需要数天 I/O 与数 TB 中间存储。很多"跑不动"其实是分辨率选择错误,而不是模型问题。

症状:patch 提取脚本跑了一夜只完成个位数切片;磁盘在 test 集阶段写满;DataLoader 吞吐远低于 GPU 消费速度。

解决:(1) 先用低倍率——官方基线用 10×,社区 MIL 惯例 20×(0.5 µm/px),绝大多数亚型形态在 20× 已可辨;(2) 组织检测预过滤(Otsu,§6.3 步骤 2)可砍掉 60-80% 背景 patch;(3) 不存 PNG 中间产物,直接提取基础模型嵌入存 .pt(每切片从数十 GB 压缩到数十 MB);(4) 随机读 .svs 是 I/O 瓶颈,按坐标顺序流式读取。

参考:Brancati et al. 2022(10× 基线说明);CLAM/LongMIL 的 20× patch 惯例。

⚠️ 坑点 8:无临床元数据——不要做分子分型/预后/精细公平性(分类:偏倚陷阱)

问题:BRACS 只有图像与组织学标签:没有 ER/PR/HER2、没有治疗与随访结局、年龄只有区间、性别与种族构成未公开。任何在 BRACS 上做"PAM50 分子分型预测"“生存预测”"种族公平性审计"的尝试都是无米之炊。

症状:写方案时发现没有结局变量;公平性分析只剩"年龄区间"一个脆弱维度;与 TCGA-BRCA 联合建模时找不到可对齐的字段。

解决:任务选型阶段就接受 BRACS 的边界——它是组织学亚型形态学数据集;需要分子标签与结局时改用 TCGA-BRCA / CPTAC-BRCA / BCNB;公平性分析最多做到年龄区间与三大类分层,并在局限性中声明人口学信息缺失。

参考:§2.5 患者人群表;scoping review(PMC10884505)对 BRACS “Clinical data: 无” 的登记。

版本提示:BRACS 无正式版本号机制。引用数据集时建议写明下载日期与样本数快照(如"547 WSI / 4,539 ROI,2026-09 官网下载"),以便后来者对齐口径。

§6.6 数据增强

✅ 安全增强 ❌ 危险增强(禁止)
水平/垂直翻转、90° 旋转(组织学无方向先验) 大幅度颜色抖动改变 H&E 色调范围(苏木精蓝/伊红粉的相对关系是诊断依据)
小幅度 brightness/contrast 抖动(±0.1) 弹性形变幅度过大(破坏导管/腺体结构拓扑,UDH 与 ADH 的鉴别恰恰依赖结构)
Macenko/Reinhard 染色归一化(视作标准化而非增强) 染色风格迁移到其他中心风格后仍用原标签训练(风格-标签耦合捷径)
随机裁剪与多尺度裁剪(保持长宽比的 tile 化) Mixup/CutMix 跨类别混合(非典型-原位癌边界病例会产生语义不存在的图像)
高斯噪声、轻微模糊(模拟扫描失焦) 对测试集做任何"增强后评估"(测试集必须保持原始分布)

§6.7 模型推荐

任务 推荐 backbone 特征方案 预期性能(官方测试集口径)
ROI 7 类快速基线 ResNet-34/50(ImageNet) resize 512 + 轻量增强 accuracy 55-60%(对标官方 CNN 基线 55.9%)
ROI 7 类进阶 ViT-S(Lunit/DINO 病理预训练) tile 化 + 类别加权 weighted F1 60-66%
ROI 7 类图方法 HACT-Net(层级 GNN) 细胞图 + 组织图层级 weighted F1 61.5±0.9%(v1 数据口径)
WSI 3 类 MIL 基线 ResNet-50 嵌入 + AB-MIL 20× patch + Otsu 过滤 macro-F1 约 0.65-0.70
WSI 3 类当前高位 ViT-S(Lunit)嵌入 + LongMIL 长序列全注意力 macro-F1 0.706±0.025(5 seeds)
WSI 亚型 AUC 高位 UNI 嵌入 + INSIGHT 空间保持聚合 per-subtype AUC:ADH 0.734 / FEA 0.790 / DCIS 0.837 / IC 0.999
基础模型评测 UNI/CONCH/Virchow 嵌入 + 线性探测 eva 框架标准协议 依 backbone 而定,ROI 级为最便捷入口

§6.8 计算资源需求

硬件 最小配置 推荐配置
磁盘 60 GB(仅 ROI 集) 1.5 TB(WSI 全集 + patch 中间产物)
内存 16 GB(ROI 训练) 64 GB(WSI patch 流式提取)
GPU 1 × 12 GB(ResNet-34 ROI 基线) 1 × 24 GB(ViT 嵌入 + MIL 聚合)
训练时间 ROI ResNet-34 基线约 2-4 小时 WSI MIL 全流程(提取 + 训练)约 1-2 天
系统依赖 OpenSlide 系统库(libopenslide),QuPath 仅查看标注时需要

§6.9 评估指标

import numpy as np
from sklearn.metrics import (f1_score, precision_score, recall_score,
                             accuracy_score, roc_auc_score, confusion_matrix)

CLASSES = ["N", "PB", "UDH", "FEA", "ADH", "DCIS", "IC"]

def evaluate_bracs(y_true, y_pred, y_prob=None):
    """BRACS 社区共识报告口径:macro-F1 为主指标 + per-class 明细"""
    print(f"Accuracy : {accuracy_score(y_true, y_pred):.4f}")
    print(f"Macro-F1 : {f1_score(y_true, y_pred, average='macro'):.4f}")
    print(f"Weighted-F1: {f1_score(y_true, y_pred, average='weighted'):.4f}")
    f1c = f1_score(y_true, y_pred, average=None)
    for c, f in zip(CLASSES, f1c):
        print(f"  {c:5s} F1 = {f:.3f}")
    if y_prob is not None:
        auc = roc_auc_score(y_true, y_prob, multi_class="ovr", average="macro")
        print(f"Macro-AUC (OvR): {auc:.4f}")
    print(confusion_matrix(y_true, y_pred, labels=list(range(len(CLASSES)))))

社区共识:ROI 级与 WSI 级均报 macro-F1 + weighted-F1 + per-class F1(官方论文口径);WSI 级 MIL 论文普遍补报 macro-AUC;WSI 级必须报多种子 mean ± std;只报 accuracy 的论文在 BRACS 上不可比(类别不平衡 + 85 张测试集)。

§6.10 MLOps 笔记

  • 数据快照:在实验记录中保存下载日期、WSI/ROI 文件数与 .xlsx 校验结果——BRACS 无版本号,快照是唯一的可复现锚点。
  • 引用要求:发表成果必须引用 Brancati et al. 2022(Database, baac093)——官网使用条款的硬性要求。
  • 许可监控:CC BY-NC 4.0 禁止商业用途;模型权重若以 BRACS 为主要训练来源,对外发布时同样受非商业约束,产品化前需另获授权。
  • 标注复现:.qpdata 文件需 QuPath 打开;如需 ROI 坐标做联合建模,可用 paquo(Python 库)读取 .qpdata 转为 GeoJSON。
  • 嵌入缓存:基础模型嵌入提取一次即可反复复用(每切片数十 MB),比重复 patch 提取节省 1-2 个数量级的存储与 I/O。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
单中心偏倚 全部切片来自 IRCCS Fondazione Pascale 一家三级肿瘤专科机构 用 BACH/BreakHis/TCGA-BRCA 做外部验证(§5.5)
单扫描仪/染色偏倚 全部 Aperio AT2 + 同一实验室 H&E 流程,染色分布高度集中 中高 Macenko 归一化;跨中心评估时声明域差
病例选择偏倚 依据诊断报告定向筛选病例以保证亚型覆盖(含罕见非典型) 明确研究适用人群为活检/手术病理人群,非筛查自然人群
ROI 选择偏倚 ROI 是病理学家主观认定的"代表性区域",非随机取样 中高 ROI 级结论不外推到 WSI 级(§6.5 坑点 3)
标签派生偏倚 WSI 标签 = 最严重亚型,共存良性/非典型信息被压缩 多标签分析回到 ROI 级聚合(§6.5 坑点 2)
类别不平衡偏倚 WSI 级 PB 147 vs FEA 41(约 3.6:1);划分后测试集小类仅 7 张 类别加权 + macro 指标 + 多种子评估
人口学报告偏倚 性别、种族构成未公开,年龄仅区间 公平性结论限定在可观测维度(§7.5)

§7.2 标注质量评估

标注类型 可靠性 一致性 局限性
ROI 级共识标签 高(3 名委员会认证病理学家 + 分歧复核) 共识流程保证,但无公开 kappa 共识前分歧率不可考;非典型类别本身的界定存在国际分歧
WSI 级派生标签 规则确定、无随机性 完全由 ROI 标注决定 共存病变被压缩;"最严重"未按核级/范围细化
ROI 空间标注(.qpdata) QuPath 可视化复核 仅 387/547 张 WSI 有 ROI
无 IHC/分子验证 标签为纯形态学共识,未经 ER/PR/HER2 或分子检测确认

§7.3 泛化性讨论

场景 失效风险 证据
跨机构(Pascale → 其他医院) 单中心单扫描仪;公开文献中 BRACS 跨中心外部验证几乎空白,按同类研究经验预期 5-15 个百分点衰减
跨扫描仪(Aperio → Hamamatsu/Philips) 中高 不同扫描仪的色彩响应与压缩伪影差异显著;建议染色归一化后验证
跨人群(意大利 → 其他地区) 乳腺病变形态学相对稳定,但构成比与筛查实践不同
跨任务(ROI 分类 → WSI 诊断) ROI 选择偏倚使直接迁移失效(§6.5 坑点 3)
跨亚型(恶性 → 非典型) 官方基线中 ADH F1 仅 24.0 vs IC 81.0——非典型是全谱系公认的性能洼地

§7.4 伦理考量

  1. 数据来自真实乳腺活检/手术患者,部分病例涉及癌症诊断,研究者应保持对患者与家属的尊重。
  2. 所有 WSI 在标注与发布前已完成去标识化,切片标签文字与患者代码完全删除;使用条款禁止任何重识别尝试。
  3. CC BY-NC 4.0 禁止商业用途——AI 辅助诊断产品不能直接以 BRACS 为训练来源商业化,需另行获得授权。
  4. 非典型病变(FEA/ADH)的 AI 输出直接影响"手术 vs 随访"决策,模型在该类别上的低性能(F1 24-65%)决定了它只能作为研究工具,不能作为临床依据。
  5. 单中心意大利人群来源,模型结论向其他人群外推时需承担额外的验证义务。

§7.5 公平性评估

from fairlearn.metrics import MetricFrame
from sklearn.metrics import f1_score

# BRACS 可用的敏感属性有限:年龄区间(.xlsx 不提供,需回溯论文统计)、
# 三大类与亚型分层是实际可做的公平性/稳健性分析维度
frame = MetricFrame(
    metrics={"macro-F1": lambda y, p: f1_score(y, p, average="macro")},
    y_true=y_test, y_pred=y_pred,
    sensitive_features=test_df["group"]   # Benign / Atypical / Malignant
)
print(frame.by_group)

已知公平性限制:性别与种族构成未公开,无法做人口学公平性审计;唯一稳健的分层维度是病变类别本身——BRACS 模型在 Atypical 类上的性能系统性低于恶性类约 15-25 个百分点(官方基线 F1:Atypical 57.2 vs Malignant 78.0),这既是医学难点也是公平性事实:被 AI"误判"最多的恰恰是最需要第二意见的患者群。

§7.6 数据漂移提示

  • 采集窗口为 2019-2020 年,切片制备与染色流程随时间演变会带来输入分布漂移。
  • 部署监控信号:输入 patch 的 H&E 色调直方图 PSI、组织占比分布变化、per-class 置信度漂移(尤其 Atypical 类)。
  • 染色归一化目标域变更(如更换 Macenko 模板)本身即构成一次"模型版本变更",应触发重评估。

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

# 检查项 状态 说明
1 数据为宽格式(每行一个样本/事件) 一文件一样本(WSI/ROI),.xlsx 提供清单
2 有唯一标识符列 slide_id / roi_id / patient_id 三级标识
3 无 Unicode 或特殊字符 文件命名全 ASCII(BRACS_1238_PB_32.png)
4 无重复行/重复样本 ⚠️ 4537 vs 4539 口径差 + previous_versions 与当前版重叠,需人工隔离
5 缺失值已识别并编码 ⚠️ 160 张 WSI 无 ROI 的结构性缺失未在官方文档形式化(本 wiki §4.5 补全)
6 标签列被明确标识 文件夹路径 + 文件名 + .xlsx 三重承载
7 已对罕见类别(<3%)进行分组 ⚠️ WSI 测试集 N 类仅 7 张未合并;7 亚型保持细粒度是设计选择但带来小样本问题
8 偏倚评估已完成 §7.1 七类偏倚与缓解措施
9 有完整的数据字典 ⚠️ 论文表格 + .xlsx 可读,但无机器可读字段级字典(本 wiki §4.1 补全)
10 对"信息性缺失"有明确编码解释 ⚠️ n_rois=0 的含义官方未文档化(§4.5 补全)
11 数据采集设备和设置已记录 Aperio AT2 / 0.25 µm/px / 40× / H&E 完整记录
12 已移除完全共线性变量 ⚠️ 影像数据不适用;ROI 与 WSI 信息重叠需使用者自行管理
13 对编码的映射标准已说明 ⚠️ 官方未提供 ICD/SNOMED 映射(本 wiki §2.1/§2.2 补全)
14 对时间戳的处理已明确说明 采集期 2019-2020 公开;影像数据无逐样本时间戳需求
15 训练/验证/测试划分建议已给出 官方患者级划分(WSI 395/67/85,ROI 3,657/312/570)
16 数据泄漏风险已被讨论 论文明确患者级/切片级防泄漏设计;§5.3 五种泄漏模式
17 标签分布已被分析 论文 Tables 5-8 完整分布(§3.2/§4.2 转载)
18 选择性测量偏倚已被讨论 ⚠️ ROI 选择偏倚官方未展开(§7.1/§6.5 坑点 3 补全)
19 外部验证建议已给出 ⚠️ 官方未提供;§5.5/§7.8 给出 BACH/BreakHis/TCGA-BRCA 路径
20 数据更新和版本信息已记录 ⚠️ previous_versions 归档存在但无版本号与 changelog
21 最小必要预处理脚本已提供 ⚠️ 官方仅提供 WSI 基线代码(ABNN-WSI-Classification);ROI 管道需自建(§6.1/§6.3 补全)
22 合规使用要求已明确 注册 + 使用条款 + CC BY-NC 4.0 + 引用要求
23 多模态对齐方法已说明 ⚠️ WSI-ROI 空间对齐经 .qpdata 可行(paquo 可解析);无临床/分子模态
24 去标识化方法已被记录 标注前去标识化 + 标签/代码完全删除(论文 Methods 明确)

DAIMS 评分:18.0 / 24(✅ 12 项 / ⚠️ 12 项 / ❌ 0 项)

评分解读良好——标注与划分的学术规范一流,工程化文档与版本管理存在缺口。

对你意味着什么:BRACS 的 12 个 ✅ 集中在机器学习最关心的地方——官方患者级划分、明确的标签承载、完整的设备与采集记录、规范的去标识化。12 个 ⚠️ 几乎全部属于"官方没写但社区能补"的类型:无版本号(用下载快照锁定)、无机器可读字典(本 wiki §4.1 已给出)、ROI 选择偏倚未展开(§6.5 坑点 3 已给出处置)。建议在训练前执行以下操作:(1) 按 §4.2 数字逐类点验下载完整性;(2) 隔离 previous_versions 归档;(3) 接受"WSI 标签 = 最严重亚型"的语义并据此设计任务;(4) WSI 级实验一律采用 5 种子 mean ± std 报告协议。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部测试集变化 关键发现
BRACS 官方测试集(内部参照) IRCCS Fondazione Pascale WSI 3 类(官方基线 ABNN) Accuracy 70.3 / F 69.8 参照 官方论文基线(10× + Macenko)
BACH(类别映射后) 葡萄牙 ICIAR 2018 乳腺亚型分类迁移 文献中多为探索性实验 显著衰减(探索性) 仅 30 张 WSI,统计功效不足,仅能作可行性证据
BreakHis(跨中心 ROI 级) 巴西 P&D 实验室 显微镜图像亚型分类 依倍率而定 中高衰减 染色与放大倍率域差是主要瓶颈
TCGA-BRCA(恶性端) 美国多中心 恶性肿瘤相关任务 不可直接比较 无良性/非典型对照,仅能验证恶性端形态特征

诚实声明:截至 2026-09,同行评审文献中尚无"BRACS 训练 → 外部乳腺 WSI 数据集系统评估"的高质量外部验证研究——这是 BRACS 生态最明显的空白,也是最有价值的贡献机会。上表仅收录有论文支撑的探索性证据,未收录社区自评数据。


§8 基准性能与生态

§8.1 排行榜

BRACS 没有官方持续维护的排行榜,但有三个层次的参照系:官方论文基线(必须对齐的锚点)、同行评审的 MIL 方法比较(固定官方划分)、以及社区聚合榜单(口径需谨慎)。

官方基线(Brancati et al. 2022,数据库论文 Tables 8/9)

任务 模型 指标 数值 完整引用 代码
WSI 3 类 ABNN(压缩路径 ResNet + 注意力学习路径,10× + Macenko + 多倍率增强) Accuracy / F 70.3 / 69.8(B 74.4 · A 57.2 · M 78.0) Brancati N et al. “BRACS: A Dataset for BReAst Carcinoma Subtyping in H&E Histology Images.” Database 2022:baac093. DOI: 10.1093/database/baac093 github.com/nadiabrancati/ABNN-WSI-Classification
ROI 7 类 同架构 CNN(7 类协议) Accuracy / F 55.9 / 54.3(N 73.5 · PB 45.0 · UDH 34.3 · FEA 64.0 · ADH 24.0 · DCIS 58.3 · IC 81.0) 同上 同上
ROI 7 类(v1 数据) HACT-Net(层级图神经网络) weighted F 61.5 ± 0.9 Pati P et al. “Hierarchical Graph Representations in Digital Pathology.” Medical Image Analysis 75:102264 (2022). DOI: 10.1016/j.media.2021.102264 github.com/biomedicalinformatics/…(HACT-Net 官方实现)

社区 MIL 基准(WSI 3 类亚型分型,官方划分,5 种子 macro-F1,LongMIL 论文口径)

排名 模型 macro-F1 年份 关键技术 完整引用 代码
1 LongMIL 0.706 ± 0.025 2024 长序列全注意力 + RoPE,ViT-S(Lunit)嵌入 Lin T et al. “Rethinking Transformer for Long Contextual Histopathology Whole Slide Image Analysis.” arXiv:2410.14195 (2024) 论文附代码
2 Full Attention(RoFormer) 0.689 ± 0.036 2024 全自注意力基线 同上
3 AB-MIL 0.668 ± 0.032 2018/2024 复现 门控注意力 MIL Ilse M et al. “Attention-based Deep Multiple Instance Learning.” ICML 2018
4 TransMIL 0.648 ± 0.054 2021/2024 复现 Nyströmformer 近似注意力 Shao Z et al. “TransMIL: Transformer based Correlated Multiple Instance Learning for Whole Slide Image Classification.” NeurIPS 2021
5 CLAM-SB 0.647 ± 0.020 2021/2024 复现 聚类约束注意力 MIL Lu MY et al. “Data-efficient and weakly supervised computational pathology on whole-slide images.” Nature Biomedical Engineering 5:555-570 (2021)

其他口径代表结果(协议不同,数值不可与上表直接比较)

模型 性能指标 年份 关键技术 完整引用
RetMIL weighted F1 68.51(BRACS 协议) 2024 Retentive 网络替代注意力做实例聚合 Zhao Y et al. “RetMIL: Retentive Multiple Instance Learning for Histopathological Whole Slide Image Classification.” arXiv:2403.10858
INSIGHT(UNI 嵌入) per-subtype AUC:ADH 0.734 / FEA 0.790 / DCIS 0.837 / IC 0.999 2024 空间保持特征 + 邻域上下文模块 Xu H et al. “INSIGHT: Explainable Weakly-Supervised Medical Image Analysis.” arXiv:2412.02012
CLAM-MB(sota2 聚合口径) Accuracy 60.3 / AUC 83.3(7 类组织学亚型) 2026 快照 多分支 CLAM sota2.com BRACS 榜单(截至 2026-06)

可比性警告:BRACS 各论文的绝对数值差异主要来自四个变量——任务口径(3 类 vs 7 类)、嵌入 backbone(ResNet-50 / ViT-S Lunit / UNI)、放大倍率(10×/20×/40×)与评估协议(单种子 vs 5 种子)。跨论文比较前请先对齐这四项。

§8.2 SOTA 总结与选型建议

如果你… 推荐方案 为什么
快速建立可比基线 官方 ROI 集 + ResNet-34(§6.1) 半天内复现 accuracy 约 55-60% 的官方邻域
发 MIL 方法论文 官方 WSI 划分 + Lunit/UNI 嵌入 + 5 种子 macro-F1 LongMIL 确立的当前社区标准协议
主攻非典型病变 ROI 级 FEA/ADH vs 其余类别的专项评估 + per-class 报告 官方基线 ADH F1 仅 24.0,改进空间与临床价值都最大
评测基础模型 kaiko-ai eva 的 BRACS_ROI 任务 免特征工程的标准化嵌入评测入口
教学演示 ROI 集 3 类(Benign/Atypical/Malignant) 52 GB 单卡可训,概念清晰

§8.3 官方评测协议

论文确立的协议:官方患者级 train/val/test 划分;WSI 级 3 类与 ROI 级 7 类分别报告 F-measure / Precision / Recall / Accuracy;因类别不平衡以 F-measure 为主指标。社区补充惯例(2024 年后):WSI 级报 5 种子 macro-F1 mean ± std 与 macro-AUC,逐类报告以暴露非典型洼地。

数据集 关系 说明
BACH(ICIAR 2018) 同类/外部验证 30 WSI + 400 显微镜图,4 类(normal/benign/in situ/invasive),类别可映射
BreakHis 互补/外部验证 7,909 张显微镜图(非 WSI),8 亚型,4 倍率
TCGA-BRCA 互补 3,111 WSI + 临床/分子数据,恶性端扩展
BCNB 互补 1,058 WSI 中国人群 + 临床数据,仅恶性
Camelyon16/17 方法学同类 WSI 弱监督经典基准(淋巴结转移),MIL 方法的另一标准考场
ACROBAT 方法学同类 1,153 张乳腺 WSI(IHC-HE 配准任务)
HACT-Net 衍生版本(previous_versions) 子集/前史 v1 数据归档,复现早期 GNN 论文专用

§8.5 关键论文 Top 10

  1. Brancati N et al. (2022), Database 2022:baac093. “BRACS: A Dataset for BReAst Carcinoma Subtyping in H&E Histology Images.” — 数据集本体,权威引用入口。DOI: 10.1093/database/baac093
  2. Pati P et al. (2022), Medical Image Analysis 75:102264. “Hierarchical Graph Representations in Digital Pathology.” — HACT-Net,BRACS v1 上的 ROI 级 GNN 基线(weighted F 61.5)。DOI: 10.1016/j.media.2021.102264
  3. Lin T et al. (2024), arXiv:2410.14195. “Rethinking Transformer for Long Contextual Histopathology Whole Slide Image Analysis.” — LongMIL,当前 BRACS WSI 级标准协议与最高 macro-F1(0.706)。
  4. Xu H et al. (2024), arXiv:2412.02012. “INSIGHT: Explainable Weakly-Supervised Medical Image Analysis.” — UNI 嵌入 + 空间保持聚合,非典型亚型 AUC 的当前参照(ADH 0.734)。
  5. Zhao Y et al. (2024), arXiv:2403.10858. “RetMIL: Retentive Multiple Instance Learning for Histopathological WSI Classification.” — BRACS weighted F1 68.51 的替代聚合范式。
  6. Lu MY et al. (2021), Nature Biomedical Engineering 5:555-570. CLAM — BRACS 社区实验中最常用的 MIL 基线家族。
  7. Shao Z et al. (2021), NeurIPS. TransMIL — Transformer MIL 基线,BRACS 协议常客。
  8. Ilse M et al. (2018), ICML. AB-MIL — 门控注意力 MIL 原点,BRACS 榜单常驻参照。
  9. Elmore JG et al. (2015), JAMA 313(11):1122-1132. “Diagnostic concordance among pathologists interpreting breast biopsy specimens.” — 非典型增生一致率仅约 48% 的经典证据,BRACS 临床动机的基石。DOI: 10.1001/jama.2015.1405
  10. Bankhead P et al. (2017), Scientific Reports 7:16878. “QuPath: Open source software for digital pathology image analysis.” — BRACS 标注工具与 .qpdata 格式来源。DOI: 10.1038/s41598-017-17204-5

§8.6 社区活跃度

维度 数据
Google Scholar 引用(BRACS 论文) 260+(截至 2026-09;期刊版 259 + arXiv 版 4)
Scopus / Web of Science 引用 142(截至 2026-09,OUCI 聚合)
官方基线代码 github.com/nadiabrancati/ABNN-WSI-Classification(官方维护)
社区镜像 Kaggle 多个分包镜像(N 类镜像下载 240+ 次,截至 2026-09)
榜单收录 sota2.com(Histologic Subtype Classification on BRACS,2026-06 更新);paperswithcode 系
框架集成 kaiko-ai eva(BRACS_ROI 标准任务);torchstain/staintools 教程常用样例
方法学采用 HACT-Net / AB-MIL / CLAM / TransMIL / HIPT / LongMIL / RetMIL / INSIGHT 等均含 BRACS 实验

§8.7 生态快照

资源 类型 链接 Star/Fork(截至 2026-09,约) 为什么值得关注
nadiabrancati/ABNN-WSI-Classification 官方代码 https://github.com/nadiabrancati/ABNN-WSI-Classification 数十 官方 WSI 3 类基线复现代码,论文 Table 8 的唯一权威实现
kaiko-ai/eva 评测框架 https://kaiko-ai.github.io/eva/ 数百 把 BRACS_ROI 封装为基础模型标准评测任务,含官方划分与预处理约定
openslide/openslide-python 工具库 https://github.com/openslide/openslide-python 数百 读取 .svs 的唯一事实标准
QuPath 标注工具 https://qupath.github.io/ 2,000+ .qpdata 标注文件的原生查看器;paquo 库可程序化解析
torchstain / staintools 工具库 https://github.com/EIDOSLAB/torchstain 数百 Macenko 归一化的 PyTorch 实现,BRACS 官方基线同法
CLAM 工具库 https://github.com/mahmoodlab/CLAM 1,900+ WSI MIL 标准管道(patch 提取 + 特征 + 训练),社区 BRACS 实验的事实起点
HACT-Net 预训练模型/代码 https://github.com/hact-net 百余 BRACS v1 上的图神经网络基线,复现早期论文必备
sota2 BRACS 榜单 排行榜 https://www.sota2.com/research/sota/histologic-subtype-classification-on-bracs 社区聚合的 7 类亚型分类结果(注意口径核查)

§9 相关资源与引用

官方资源

BibTeX 引用

% 1) 数据集论文(使用 BRACS 必须引用 —— 官网使用条款硬性要求)
@article{brancati2022bracs,
  title={BRACS: A Dataset for BReAst Carcinoma Subtyping in H&E Histology Images},
  author={Brancati, Nadia and Anniciello, Anna Maria and Pati, Pushpak and Riccio, Daniel and Scognamiglio, Giosuè and Jaume, Guillaume and De Pietro, Giuseppe and Di Bonito, Maurizio and Foncubierta, Antonio and Botti, Gerardo and Gabrani, Maria and Feroce, Florinda and Frucci, Maria},
  journal={Database},
  volume={2022},
  pages={baac093},
  year={2022},
  publisher={Oxford University Press},
  doi={10.1093/database/baac093}
}

% 2) 预印本(引用早期 v1 数据时建议同时引用)
@misc{brancati2021bracs,
  title={BRACS: A Dataset for BReAst Carcinoma Subtyping in H&E Histology Images},
  author={Brancati, Nadia and others},
  year={2021},
  eprint={2111.04740},
  archivePrefix={arXiv}
}

% 3) 如使用 QuPath 标注文件(.qpdata)
@article{bankhead2017qupath,
  title={QuPath: Open source software for digital pathology image analysis},
  author={Bankhead, Peter and others},
  journal={Scientific Reports},
  volume={7},
  pages={16878},
  year={2017},
  doi={10.1038/s41598-017-17204-5}
}

% 4) 如复现 HACT-Net 基线
@article{pati2022hactnet,
  title={Hierarchical Graph Representations in Digital Pathology},
  author={Pati, Pushpak and Jaume, Guillaume and others},
  journal={Medical Image Analysis},
  volume={75},
  pages={102264},
  year={2022},
  doi={10.1016/j.media.2021.102264}
}

官网引用要求原文:“If the results of algorithms running on BRACS datasets are to be used in scientific publications … you should cite the following paper: Brancati et al. (2022)”——期刊、会议、技术报告与会议演示均在此列。

教程与学习资源

原始论文

  1. Brancati N et al. (2022). “BRACS: A Dataset for BReAst Carcinoma Subtyping in H&E Histology Images.” Database 2022:baac093. DOI: 10.1093/database/baac093. PMID: 36251776. PMCID: PMC9575967.
  2. Pati P et al. (2022). “Hierarchical Graph Representations in Digital Pathology.” Medical Image Analysis 75:102264. DOI: 10.1016/j.media.2021.102264.
  3. Elmore JG et al. (2015). “Diagnostic concordance among pathologists interpreting breast biopsy specimens.” JAMA 313(11):1122-1132. DOI: 10.1001/jama.2015.1405.
  4. Bankhead P et al. (2017). “QuPath: Open source software for digital pathology image analysis.” Scientific Reports 7:16878. DOI: 10.1038/s41598-017-17204-5.

§10 AI 使用声明卡

§10.1 AI 模型使用

AI 模型 版本 用途
deep-model(WorkBuddy) 2026-09 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建
WebSearch / WebFetch(多源检索) 2026-09-05 6 组检索 + 4 组抓取:官方页面、论文全文(PMC)、划分与基线数字复核、引用量快照、同类数据集对比、ICD-11/SNOMED CT 编码核实

§10.2 AI 参与范围

AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。

AI 在本页面的工作中负责:(1) 从 BRACS 官网、Brancati 2022 原始论文(PMC 全文)、LongMIL/RetMIL/INSIGHT 等基准论文与 scoping review 中整理结构化信息;(2) 生成 §6 的 OpenSlide/PyTorch/MIL 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。

§10.3 输入来源

  1. Brancati et al. (2022), Database 2022:baac093 — BRACS 原始论文(DOI: 10.1093/database/baac093,PMC9575967 全文)
  2. BRACS 官网(https://www.bracs.icar.cnr.it/ 与 /background/ 页)— 许可声明、机构协议、4537 口径、引用要求
  3. arXiv:2111.04740(预印本全文,ar5iv 版)— Table 1/2 亚型分布、划分原则、文件组织
  4. Lin et al. (2024), LongMIL(arXiv:2410.14195)— WSI 3 类 MIL 基准表与 5 种子协议
  5. Zhao et al. (2024), RetMIL(arXiv:2403.10858)— weighted F1 基准
  6. Xu et al. (2024), INSIGHT(arXiv:2412.02012)— UNI 嵌入 per-subtype AUC
  7. sota2.com BRACS 榜单快照(2026-06)— 社区聚合口径
  8. kaiko-ai eva 文档 — ROI 集 52 GB 口径、官方划分封装、CC BY-NC 4.0 标注
  9. “Publicly available datasets of breast histopathology H&E whole-slide images: A scoping review”(PMC10884505)— BRACS 1,100 GB 体积与同类数据集对比表
  10. Kaggle BRACS-WSI-Group-BT-Type-N 镜像页 — 单类体积旁证(44 张约 66 GB)、采集期 2019-2020
  11. Google Scholar 引用快照(截至 2026-09-05,Cited by 263)
  12. OUCI(Scopus/WoS 聚合)— 引用数 142、参考文献数 42
  13. ICD-11 MMS v2025-01/v2026-01(findacode)— 2E65.2 DCIS、2C60-2C6Z 乳腺恶性肿瘤编码
  14. MalaCards Breast Carcinoma in Situ 条目 — SNOMED CT 154636004 映射
  15. Elmore et al. (2015), JAMA 313(11) — 非典型增生诊断一致率约 48%
  16. Pati et al. (2022), Medical Image Analysis 75:102264 — HACT-Net 与 v1 数据口径

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景(ICD-11/SNOMED CT 映射、亚型体系、金标准) 千方病案医学编辑部 交叉审核 ✅ 已通过
§3 数据集规格(547/4,539 规模、划分数字、设备参数) 千方病案医学编辑部 与论文 Tables 1-8 及官网交叉比对 ✅ 已验证
§4 数据结构(目录树、DAIMS 字段字典、标签分布) 千方病案医学编辑部 与论文数据组织章节及 eva 文档交叉比对 ✅ 已验证
§5 数据划分策略 千方病案医学编辑部 交叉审核 ✅ 已通过
§6 代码示例与坑点 千方病案医学编辑部 逻辑审查 + 与官方仓库及社区惯例比对 ✅ 已通过
§7 质量评估与 DAIMS 评分 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 排行榜与引用数表述 千方病案医学编辑部 与原文及 Scholar 快照交叉比对 ✅ 已验证
§C JSON-LD @graph 千方病案医学编辑部 Schema v3.9 字段逐项校验 ✅ 已通过

§10.5 AI 生成章节标注

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

§10.6 最后审核

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

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

返回 AI-Ready 数据集