信息速览
INFOBOX — 2018 Data Science Bowl 一屏速览
维度 内容 官方名 2018 Data Science Bowl(文献惯称 DSB2018;归档编号 BBBC038v1) 主办方 Booz Allen Hamilton(赞助奖池 100,000 美元)+ Kaggle(平台托管) 标注方 Broad Institute Imaging Platform(GIMP + 内部 web 工具,two-pass 人工标注) 类型 显微图像细胞核实例分割挑战赛数据集(二值 + 实例级) 规模 841 张图像、37,329 个细胞核 mask;训练 670 图/29,461 核 多样性 22 种实验条件:多物种、多器官、多染色、多显微成像方式、15 档分辨率 评测 mAP@IoU 0.5:0.05:0.95(十一档扫描取均值);RLE CSV 提交 冠军 selimsef/dsb2018_topcoders(albu + selim + victor),mAP ≈ 0.600 许可 CC0 1.0(公共领域,商用/再分发无限制);论文 CC BY 4.0 获取 Kaggle 竞赛页 7 件文件;Broad BBBC038v1 归档四包;HF 三镜像 论文 Caicedo et al., Nature Methods 16(12):1247–1253, 2019;DOI 10.1038/s41592-019-0612-7 抓取时点 2026-10-04 库内互链 monusac(651)/consep(228)/pannuke(218)
如果你在训练一个细胞核分割模型,却发现它在共聚焦荧光图像上表现完美、换到 H&E 染色的组织切片上就崩溃——你需要的就是这个数据集。2018 Data Science Bowl(下文按文献惯例称 DSB2018)是细胞核分割领域第一个有意识地「跨条件」设计的大规模公开数据集:841 张显微图像刻意覆盖了 22 种实验条件——人类、小鼠、苍蝇、斑马鱼等多个物种,肺、乳腺、前列腺、膀胱、结肠等十几种组织,H&E、DAB、DAPI 荧光等多种染色,宽场、共聚焦、多光子、相差等多种成像方式。它由商业咨询巨头 Booz Allen Hamilton 出资 10 万美元主办,Broad Institute 顶尖成像团队统一标注,3,891 支队伍在 2018 年初的 92 天里竞逐,最终催生了 mAP@IoU 阈值扫描这一沿用至今的评测协议,以及一篇被引近千次的 Nature Methods 方法学论文。数据以 CC0 公共领域释放,今天依然是 CellPose、StarDist、HoverNet 等通用核分割模型论文里最常见的外部验证集之一。
导语读法三则:
- 只想知道「这是什么、能不能用」:读 INFOBOX + §1 十问十答,两分钟做决策。
- 要下载数据开始训练:直接跳 §5 获取与许可(CC0 零门槛)与附录 D 决策树。
- 要写论文或复现基准:必读 §4 评测协议与 §10 避坑清单——本条目八个坑里有五个是数字口径漂移,引错一个就会写进论文。
§0 导读:这个数据集解决什么问题
细胞核是病理判读的基本单位:分级、分型、增殖评估都始于「数核、看核」。但 2018 年之前,核分割数据集高度碎片化——每个实验室自建小规模数据,模型换个染色、换个器官就失效,社区没有一把共同的尺子。DSB2018 的破局思路有三条,每条都成了后续数据集的模板。
§0 读法三则:
- 先看三条破局思路(下文),再看它们如何在 §2 数据构成、§4 评测协议中落地——设计意图与实体规格一一对应,这是本数据集最值得学习的部分。
- 它是「竞赛生产数据」的典型样本: stage1/stage2 双阶段、隐藏测试集、公榜/私榜分离的机制设计(§2.5)今天仍是挑战赛组织者的参考蓝本。
- 它的成功有一个常被忽略的前提:Broad Imaging Platform 把标注质量关(§3)与 Kaggle 把评测协议关(§4)分开了——数据生产方和赛题方是两套人马,这一分工值得每一个想办竞赛的团队对照。
三条破局思路:
- 第一,把「多样性」当作数据集的主设计变量。 22 种实验条件不是自然堆叠而是刻意采样:15 档分辨率、多物种、多器官、多染色、多成像方式。这使 DSB2018 成为第一个专门度量「跨条件泛化能力」的核分割基准——论文的人机对比实验证明,即便是顶级算法,在 IoU>0.7 的高阈值段也全面崩塌,而人类标注者自己也无法稳定画出相邻核的边界。
- 第二,用竞赛机制换标注规模。 10 万美元奖池吸引了 3,891 支队伍,但数据本体只有 670 张训练图——竞赛的意义在于用排行榜驱动社区把 37,329 个 mask 的价值榨到极致:Top-3 方案全部开源,冠军方案的 LightGBM 后处理与伪标签技巧直接进入了后续所有分割竞赛的工具箱。
- 第三,把评测协议本身变成公共资产。 mAP@IoU 0.5:0.05:0.95 十一档扫描、逐实例一对一匹配、RLE 稀疏编码提交——这套协议后来成为 Kaggle 分割类竞赛的事实标准,也从 Kaggle 溢出到学术评测:monusac、consep、pannuke 等库内条目(§9)的评测设计都能追溯到 DSB2018。
§1 数据集速览:十问十答
Q1:DSB2018 到底是什么?
2018 年 1-4 月在 Kaggle 举办的细胞核实例分割挑战赛(Data Science Bowl 系列第三届),由 Booz Allen Hamilton 主办并赞助 100,000 美元奖池。竞赛结束后数据以 BBBC038v1 编号归档在 Broad Bioimage Benchmark Collection,成为永久公开资源。官方口径 3,891 支队伍参赛,是 2018 年度参与度最高的医学影像竞赛之一。
Q2:数据长什么样?
841 张显微图像(PNG,灰度与彩色混合),每张配一个多通道 PNG mask——第 k 通道就是第 k 个细胞核的实例掩码,通道间互不重叠。训练参考标注同时提供 RLE 编码 CSV。图像内容横跨 22 种实验条件:从培养细胞到组织切片,从荧光到 H&E 染色,从 360×360 到 1094×1300 像素。
Q3:841 和 37,329 这两个数怎么构成?
竞赛三阶段:stage1_train 670 图/29,461 核(公开训练集)+ stage1_test 65 图/4,152 核(公榜测试)+ stage2_test_final 约 3,019 张中 106 图计分/3,716 核(隐藏终榜)。670+65+106=841,29,461+4,152+3,716=37,329,两列硬数字严格闭合。注意论文摘要写「735 image sets」是 BBBC038v1 把 670 训练图与 65 张 stage1_test 合并归档的口径(坑 3)。
Q4:谁标的、怎么标的?
Broad Institute Imaging Platform 统一执行:标注者用 GIMP 和一个内部 web 工具逐核手绘多边形,每图一人初标、至少一人复核(two-pass);标注规则明确要求 mask 互不重叠,接触核按可分辨轮廓拆分,模糊团(有丝分裂相、碎屑)不计为核。论文另组织了 50 名人类标注者与算法的同任务对比实验。
Q5:怎么评测?
mAP@IoU,IoU 阈值从 0.5 到 0.95 步长 0.05 共 11 档扫描取均值;每个预测实例只允许匹配一个真值实例(防止一对多刷分);提交格式为 RLE(run-length encoding)CSV,列优先扫描序。这个协议是 DSB2018 留给社区最重要的方法学遗产之一。
Q6:冠军方案是什么?
第 1 名 selimsef/dsb2018_topcoders(三人组队:Alexander Buslaev、Selim Seferbekov、Victor Durnov):U-Net/LinkNet/FPN 多骨干混合(ResNet、SE-ResNeXt、Inception-resnet-v2),BCEDiceJaccardLoss 组合损失,LightGBM 对预测 mask 逐连通域打分过滤的后处理,再加 stage1_test 伪标签二阶段训练。终榜 mAP ≈ 0.600。第 2 名 jacobkie(Mask R-CNN,≈0.593)、第 3 名 López Urrutia(U-Net+分水岭,≈0.582)均开源(§4.3)。
Q7:可以免费商用吗?
可以。数据以 CC0 1.0 释放(公共领域贡献),Kaggle 与 BBBC038v1 双渠道口径一致——复制、修改、商用、再分发均无需署名或授权。配套论文为 CC BY 4.0 开放获取。这是医学影像数据集中许可最宽松的一档,也是它成为工业界验证集首选的原因之一。
Q8:论文在哪?
Caicedo 等 12 位作者(Broad Institute Imaging Platform),「Evaluating automatic algorithms for nucleus segmentation across multiple experiments」,Nature Methods 16(12):1247–1253, 2019,DOI 10.1038/s41592-019-0612-7,PMCID PMC6919559(CC BY 4.0 开放获取),Google Scholar 口径被引约 965 次。论文用这套数据统一重测了 12 支队伍的 20 个方案,并做了人机对比。
Q9:现在还有人用吗?
非常多。CellPose、StarDist、HoverNet、DeepCell 等通用核分割代表作都把 DSB2018/BBBC038 当作标准外部验证集;HuggingFace 上有三个镜像(MedOtter 官方口径 276 下载、MounaAjaani 148 下载、liantian 12 下载);EMBL 的 nucleaizer.org 还基于它发布了人工修订的衍生标注包。它的 mAP 协议也已沉淀为分割评测的社区默认件。
Q10:最容易踩什么坑?
五个数字口径坑 + 三个使用坑:①「22 cell types」是 HF 镜像转述失真,论文口径是 22 种实验条件;②训练集核数 29,461 vs 29,443 双口径;③735 vs 670 图是归档口径与竞赛口径之差;④别和 2019 年 Data Science Bowl(血管血栓数据)混淆;⑤媒体「861 队」vs 官方「3,891 teams」;⑥mask 不重叠约束在提交侧的处理;⑦stage2 大部分图无公开真值;⑧top1 分数引用到 0.600 即可,别写死第四位小数。全部展开见 §10。
§2 数据构成与规格
2.1 规模与阶段构成:三段闭合账
DSB2018 的全部实体规格都围绕竞赛的三阶段展开,三列数字严格闭合,这是核验任何二手转述是否靠谱的第一道算术:
| 阶段 | 图像数 | 细胞核数 | 角色与真值可见性 |
|---|---|---|---|
| stage1_train | 670 | 29,461 | 公开训练集:图像 + mask + RLE 全量公开 |
| stage1_test | 65 | 4,152 | 公榜测试集:竞赛期图像公开、真值不公开;归档后随 BBBC038v1 放出 |
| stage2_test_final | ~3,019(其中 106 计分) | 3,716 | 隐藏终榜:2018-04-18 公布,仅 106 张计分图在归档中带真值 |
| 合计 | 841(计分口径) | 37,329 | 670+65+106=841;29,461+4,152+3,716=37,329 |
三条阅读注记:
- 总核数 37,329 是论文口径;BBBC038v1 官方页只写「tens of thousands」,若引用请以可闭合的分解式为准。
- 训练集核数存在 29,461 vs 29,443 双口径(坑 2):29,461 与 Kaggle train_labels 的 RLE 行数直接可算,本条目采用;29,443 见于部分二手论文,读文献时遇到不必惊慌。
- stage2 约 3,019 张是「图池」而非「计分集」:只有 106 张进入终榜计分,剩下的图不带公开真值——想拿 stage2 当测试集的团队,只有这 106 张有评估价值(坑 7)。
2.2 图像与 mask 规格
- 图像:PNG 格式,灰度与彩色混合(荧光图多为灰度单通道或三通道,染色切片为 RGB);无统一分辨率——最小约 360×360,最大约 1094×1300,共 15 档分辨率(论文口径),对应不同显微镜与放大倍数。
- mask:多通道 PNG,与原图同尺寸;第 k 通道第 1 像素有值即代表第 k 个实例存在;通道间互不重叠是标注规则硬约束;空 mask 以全零通道占位(官方 sample submission 说明中明确此语义)。
- 训练参考标注:
stage1_train_labels.csv以 RLE 提供,ImageId,EncodedPixels两列,EncodedPixels为空格分隔的 (起始像素序号, 游程长度) 对,按列优先扫描序——这是 Kaggle 分割竞赛后来通行的稀疏格式雏形。 - 派生量:每图实例数 = mask 通道数;由 RLE 可无损重建二值 mask;图像-mask 逐像素对齐(同一坐标系统,无降采样差异)。
2.3 22 种实验条件:多样性是主设计变量
论文把训练集覆盖写成 22 种实验条件(experimental conditions),这是理解本数据集价值的钥匙。22 种条件的组合维度:
- 物种:人类、小鼠、果蝇、斑马鱼等模式生物;
- 组织/来源:肺、乳腺、前列腺、膀胱、结肠、肾脏、胰腺、脾脏、肝脏、淋巴结、皮肤、骨髓、脑、子宫等,外加培养细胞系;
- 染色:H&E、DAB 等组织化学染色,DAPI、组蛋白、GFP 等荧光标记;
- 显微成像方式:宽场、共聚焦、多光子荧光、相差(phase contrast);
- 分辨率/倍率:15 档,培养细胞与组织切片尺度差异极大。
两点必须澄清的口径问题:
- 「22 cell types」是转述失真(坑 1)。HF 镜像描述写作「22 cell types, 15 resolutions, 30+ experiments」,但论文口径是 22 种实验条件——多为物种/组织/染色/成像方式的组合,不是细胞类型学分类。把 DSB2018 当「22 类细胞分类数据」用是方向性错误。
- 多样性设计直接服务泛化评测。竞赛与论文都在度量「一个模型能不能同时处理从未见过的染色与成像方式」——这正是它区别于单中心数据集(如 consep、pannuke 各自固定染色与扫描仪)的地方(§6.4、§9)。
2.4 文件清单与大小(Kaggle Data 页标注)
| 文件 | 大小 | 内容 |
|---|---|---|
| stage1_train.zip | 82.9 MB | 670 张训练图像 |
| stage1_train_labels.csv.zip | 11.4 MB | 训练集 RLE 标注 |
| stage1_test.zip | 22.4 MB | 65 张公榜测试图像 |
| stage1_test_ids.csv.zip | 0.7 KB | 公榜图像 ID 列表 |
| stage1_solution.csv.zip | 962.8 KB | 公榜真值(归档期可见) |
| stage1_sample_submission.csv.zip | 55.3 KB | 提交格式样例 |
| stage2_test_final.zip | 24.4 MB | 隐藏测试图池(约 3,019 张) |
| stage2_sample_submission_final.csv.zip | 2.6 MB | 终榜提交样例 |
全量下载约 143 MB,是「一个晚上跑通端到端管线」量级的数据集——这也是它在教学与快速实验场景长盛不衰的原因之一。BBBC038v1 归档版另有四包(§5.2),其中 masks_and_labels 包达 449.7 MB,因为内含逐核多通道 mask 原件。
2.5 机制设计:stage1/stage2 与 BBBC038v1 归档口径
- 双阶段赛制:stage1(2018-01-16 开赛)用公开的 stage1_test 公榜;stage1 结束后于 2018-04-18 公布 stage2_test_final,队伍只有约 48 小时提交终榜——防止对测试集的过拟合式「榜工程」,这个「隐藏图池 + 短窗终榜」设计后来被大量 Kaggle 医学竞赛复制。
- 公榜/私榜分离:stage1_test 65 图全量进入公榜(304 系社区误记,不采用,坑 5 详述);stage2 106 张计分为最终成绩。
- BBBC038v1 归档口径:Broad 归档时把 670 训练图 + 65 张 stage1_test 合并为「735 image sets 的训练数据集」发布(官方页原文),论文摘要沿用 735。竞赛 670 与归档 735 都对,差值恰是 65 张 stage1_test(坑 3);stage2 的 106 张计分图作为独立测试部分归档。
- 版本链:BBBC038v1 是唯一发布版本(无 v0/v2);BBBC 官方页长期留有「publication to be submitted」旧文案,实为页面未更新——论文 2019 年已发表(坑 6)。
§3 标注流水线:Broad 的 two-pass 人工工艺
3.1 工具与流程:GIMP + 内部 web 工具
DSB2018 的标注由 Broad Institute Imaging Platform 统一执行——即 Anne Carpenter(CellProfiler 作者)领导的团队,通讯作者 Juan C. Caicedo 与 Shantanu Singh 均出自该平台。流程:
- 初标:每图由 1 名标注者完成。工具是开源图像编辑器 GIMP(逐核手绘多边形/套索)加上一个可放大的内部 web 标注工具——先用自动阈值方法生成候选,再人工修正边界,兼顾速度与精度。
- 复核:每图至少 1 名审核者复查(two-pass 制),重点检查相邻核拆分与模糊边界。
- 边界案例规则:相接触但边界可分辨的核,按可分辨轮廓拆分为独立实例;无法稳定分辨的模糊团——有丝分裂相、细胞碎屑、聚集体——不计为核,直接排除。
- 质量观:论文人机对比实验(§3.3)坦诚承认人类标注者之间的不一致性——这不是流水线瑕疵,而是研究结论的一部分:在光镜分辨率下,「完美」的核边界本身不存在。
3.2 不重叠约束:标注规则与提交侧的双重关卡
- 标注侧:mask 互不重叠(官方规则原文「masks are not overlapping」)——每个像素最多属于一个实例,使多通道 PNG 可以无损编码整图实例分割。
- 提交侧:参赛者的预测 mask 允许重叠,但评测时重叠像素需要参赛者自行拆分(官方 sample submission 给出拆分指引)——大量队伍在这一步折戟,著名的「watershed 拆粘连核」后处理(第 3 名方案的核心)正是为满足该约束而生。
- 工程后果:从多通道 PNG 重组实例分割时,直接对通道求和会得到二值图;要保留实例 ID 必须逐通道编号——常见 bug 源(坑 8 展开工程细节)。
3.3 人机对比实验:50 名标注者 vs 算法
论文最有方法学价值的部分之一:Broad 组织 50 名人类标注者通过 web 工具执行与算法完全相同的任务(同图、同评测协议),对比顶级算法成绩。结论有三层:
- 人类也不稳定:面对相邻核边界,不同标注者给出的轮廓差异显著——IoU 高阈值段(>0.7)人类与算法的表现同步恶化,说明该段失分主要源于任务本身的物理不确定性,而非算法缺陷。
- 算法的强项与弱项:在边界清晰的孤立核上,顶级算法(Mask R-CNN 类)已接近甚至达到人类水平;但在密集粘连、低对比度染色条件下全面落后。
- 对评测的启示:mAP@0.95 档的绝对分数天花板天然偏低,跨论文比较时应看分数差值而非绝对值——这一提醒今天读 monusac/pannuke 的论文同样适用(§4.4、§4.5)。
3.4 工艺对照:竞赛集中标注 vs 众包 vs 多专家委员会
把 DSB2018 放进库内条目的标注工艺光谱里看(对照 §9.1):
| 工艺 | 代表条目 | 人员结构 | DSB2018 的相对位置 |
|---|---|---|---|
| 机构集中标注 + two-pass | DSB2018 | Broad 平台专职标注者,1 初标 + ≥1 复核 | 质量稳定但人类间差异被论文如实暴露 |
| 众包 | Lizard(rid 238)等 | 大量非专家 + 共识聚合 | DSB2018 未走众包,靠平台内部保障一致性 |
| 多专家委员会 | NuCLS(rid 248)、monusac(rid 651) | 多名病理学家标注/仲裁 | DSB2018 无病理分型需求,单一类别「核」 |
| 学生流水线 + 专家终审 | panda-plus | 本科生初标 + 专家终审 | DSB2018 的「初标+复核」是同一思想的竞赛版 |
值得注意的定位:DSB2018 只做单一类别(细胞核)的实例分割,不带核型/病变分类标签——这正是 monusac(多器官 + 核四分类)作为其「有类别标签版后继」的生态位(§9.1)。
§4 评测协议与基准
4.1 mAP@IoU 0.5:0.05:0.95:协议精确语义
DSB2018 的官方评测是平均精度(mAP)在 IoU 阈值 0.5 至 0.95 之间的十一档扫描均值,逐步拆解:
- 逐实例匹配:把预测实例按置信度排序,与真值实例做一对一贪心匹配——一个真值实例只能被匹配一次,防止「一个大预测盖住三个核」刷分;IoU ≥ 阈值且未占用的匹配计 TP,预测未匹配计 FP,真值未被匹配计 FN。
- 单档 AP:在给定 IoU 阈值 t 下,AP = 各置信度档位 precision 的均值(即 PR 曲线下面积的近似)。
- 十一档扫描:t ∈ {0.50, 0.55, 0.60, …, 0.95},步长 0.05;最终 mAP = 11 档 AP 的算术平均。
- 跨图汇总:所有测试图逐图计算后汇总。
两条解读戒律(论文 §4.4 结论的延伸):
- 0.9+ 档的天花板效应:高 IoU 档考核的是边界精度,而人类标注者自己都无法稳定复现相邻核边界(§3.3),所以 mAP 的最后几档对所有方法都是深坑——平均数被高阈值段拖低是常态,跨论文比较时看差值、别看绝对值。
- 与检测式 mAP 的差异:COCO 式 mAP 以 box 为 IoU 载体,DSB2018 直接以实例 mask 为载体,分割边界误差进入 IoU——这也是后来 monusac/consep 沿用 mask 级 mAP 的原因。
4.2 RLE 提交格式:从本竞赛开始的社区默认件
- 格式:CSV 两列
ImageId,EncodedPixels;EncodedPixels为空格分隔的整数对(起始像素序号, 游程长度),可有多对,按列优先扫描序编码。 - 语义:一对 (start, length) 表示从 start 开始连续 length 个像素属于同一实例;多实例通过多对 + 实例分段表达;空预测写空串。
- 遗产:列优先 RLE 之后成为 Kaggle 分割竞赛(包括 2019 年后的多个医学影像赛题)的默认提交格式;本条目附录 E 提供解码-重组参考代码骨架。
4.3 Top-3 方案解剖:全部开源的冠军谱系
| 名次 | 团队/GitHub | 核心方案 | 终榜 mAP |
|---|---|---|---|
| 1 | selimsef/dsb2018_topcoders(albus + selim + victor 三人组) | U-Net/LinkNet/FPN 多骨干 + BCEDiceJaccardLoss + LightGBM 后处理 + 伪标签 | ≈ 0.600 |
| 2 | jacobkie/2018DSB(Jaykumar Patel) | Mask R-CNN(matterport 实现)+ 多尺度 + 轮廓损失 + watershed 拆分 | ≈ 0.593 |
| 3 | Lopezurrutia/DSB_2018(Daniel López Urrutia) | U-Net 类 + 形态学后处理 + watershed 分割粘连核 | ≈ 0.582 |
冠军方案的三个可迁移技巧,至今仍在分割竞赛工具箱里:
- BCEDiceJaccardLoss 组合损失:BCE 管像素级稳定收敛,Dice/Jaccard 直接优化评测指标——区域级损失与指标对齐的组合后来成为医学分割的标配起点。
- LightGBM 元后处理:对预测出的每个连通域提取特征(面积、面积变化、score 均值/方差、B/W 特征等),训练梯度提升树对「这个连通域是不是真核」打分再过滤——把实例级判别从分割网络中剥离出来交给表格模型,是当年最亮的一步。
- 伪标签二阶段:先用训练集训练,再把模型对 stage1_test 的预测当伪标签合并训练——65 张公榜图的每一分信息都被榨干。
分数戒律:引用冠军成绩写到 0.600 即可,公榜 0.6001/私榜 0.60035 的第四位小数以 Kaggle leaderboard 为准,二手转述别写死(坑 8)。
4.4 论文再评测:20 方案统一重测的结论
竞赛结束后,Broad 团队在 Nature Methods 论文中把 **12 支队伍的 20 个方案(14 个深度学习 + 6 个非深度学习)**放到统一的 train/validation/test 划分上重测(论文 Table 1:24,062/1,419/4,721 核,注意与竞赛口径的分解方式不同——该划分只在论文评测体系内成立)。结论:
- 深度学习方法显著优于传统方法,但在不同实验条件间的波动远大于传统方法——多样性既是考题也是镜子。
- IoU>0.7 高阈值段所有算法性能急剧下降,与人类标注者的表现下降同步(§3.3)——论文据此提出核分割评测应报告整段阈值曲线而非单点分数。
- 任务本身的不确定性有下限:边界模糊核的标注一致性决定了 mAP@0.95 档的理论天花板。
4.5 协议遗产:从 Kaggle 溢出到学术评测
- Kaggle 后续分割类竞赛普遍沿用「mask 级 mAP@多档 IoU + RLE 提交」组合;
- 学术侧,CellPose、StarDist、HoverNet、DeepCell 等通用核分割代表作都以 DSB2018(BBBC038)为标准外部验证集之一,报告口径多为「在 BBBC038 上的平均精度」;
- 库内条目 monusac(rid 651)、consep(rid 228)、pannuke(rid 218)的实例分割评测协议均可见 DSB2018 的直接影响(§9.1 逐一对照)。
§5 获取与许可:CC0 零门槛的双渠道
5.1 双渠道总览
| 渠道 | 载体 | 内容口径 | 门槛 |
|---|---|---|---|
| A 竞赛原始版 | Kaggle data-science-bowl-2018 |
stage1/stage2 全量 7 件文件(§2.4 表) | 需 Kaggle 账号 + 接受竞赛规则 |
| B 归档镜像版 | Broad BBBC038v1 | 841 图 + 37,329 mask 四包 + 逐图元数据 | 无注册、直接 HTTP 下载 |
| C 衍生修订版 | nucleaizer.org(EMBL) | 人工修订 mask 集 + ilastik 工具链 | 免费开放 |
三渠道分工明确:跑管线用 Kaggle 版(RLE 现成、体积小);做数据审计或元数据分析用 BBBC038v1(四包分立 + metadata CSV 记录每图来源平台、染色、显微方式、物种、组织——这是 22 条件研究的钥匙,Kaggle 版没有);要「更干净」的 mask 用 nucleaizer 修订版。
5.2 BBBC038v1 四包明细
| 包名 | 大小 | 内容 |
|---|---|---|
| masks_and_labels | 449.7 MB | 841 图 + 37,329 个逐核 mask(zip) |
| images | 176.5 MB | 841 张原始 PNG |
| human_labels | — | 人机对比实验子集(论文 §3.3 的 50 人标注) |
| metadata | 16.5 KB | 逐图 csv:来源平台、染色、显微方式、物种、组织 |
官方页口径注意两点:页面把「670 train + 65 stage1_test」合并称「training data set of 735 image sets」(坑 3);页面至今保留「publication to be submitted」旧文案,论文实已发表(坑 6)。
5.3 许可条款细读
- 数据:CC0 1.0(公共领域贡献)。Kaggle 竞赛数据页与 HF 镜像 license 标签(
cc0-1.0)一致,论文数据声明亦写明「available under CC0」。实际效果:复制、修改、商用、再分发、闭源衍生均无需授权与署名(学术礼仪上仍建议引论文)。 - 论文:CC BY 4.0(Nature Methods,PMCID PMC6919559 开放获取)——引用与转载需署名,但商用不受限。
- 对比参照:库内 panola/panda 系(CC BY-NC-SA)与请求制掩码(panda-plus)都远比 CC0 苛刻——DSB2018 是本库可获取性光谱最宽松端(§6.4、附录 B DAIMS)。
5.4 衍生修订包:nucleaizer.org(EMBL)
EMBL 团队基于 DSB2018 训练集发布了 nucleaizer.org:对原 mask 做人工修订(其官网口径约 87,000 个 mask 级修正,含大量新增此前漏标的核),并提供 ilastik 批处理与假阴性检测工具。使用建议:做 SOTA 对比时,原始 BBBC038v1 与 nucleaizer 修订版是两套不同的真值,混用会导致分数不可比——引用时必须声明用的是哪一套。
5.5 AI-Ready 评估
- 格式友好:PNG 图 + PNG mask + CSV RLE,无需专业病理格式解析器(对比:库内 WSI 类条目的 .svs/.tiff 门槛);
- 体量友好:全量约 143 MB(Kaggle 版),笔记本可跑;
- 元数据完备度中等:BBBC038v1 metadata CSV 覆盖逐图条件,但 Kaggle 版不带;无患者维度(非患者队列,属设计使然而非缺陷);
- 许可满分:CC0 无任何附加条款;
- 短板:无官方数据加载器(HF 镜像为社区整理);多通道 mask 重组需要自写代码(附录 E 提供骨架)。
§6 生态与影响
6.1 竞赛生态:时间线与规模
- 2018-01-12 数据发布(stage1 train + test 上线);01-16 竞赛正式开始;04-13 奖牌/组队截止;04-17 竞赛结束;04-18 stage2 终榜开算。
- 3,891 支队伍(论文与 Kaggle 口径一致;媒体稿「861 队」为口径错误,坑 4);前 106 名进入 stage2 计分。
- 奖池 100,000 美元,Booz Allen Hamilton 赞助——主办方是美国最大的政府咨询承包商之一,Data Science Bowl 是其年度品牌赛事(2015 起第三届:2015 肺癌 3D CT、2016 心脏病、2017 肝癌 WSI,均与本条目数据不同源)。
- 竞赛页与获奖者访谈见 Kaggle 官方博客(来源列表见附录 C)。
6.2 HuggingFace 镜像生态(hf-mirror.com 检索时点)
| 仓库 | 性质 | 下载/赞 | 备注 |
|---|---|---|---|
MedOtter/2018-Data-Science-Bowl |
BBBC038v1 口径镜像 | 276 / 2 | license cc0-1.0,task image-segmentation,tags 含 bbbc038/nuclei/cell-segmentation |
MounaAjaani/data_science_bowl_2018 |
社区镜像 | 148 / — | 规模口径未审计 |
liantian/Data_Science_Bowl |
社区镜像 | 12 / — | 同上 |
两条卫生提示:①MedOtter 卡片描述「22 cell types, 15 resolutions, 30+ experiments」系转述口径(坑 1);②检索 HF 时别把 2019 年 Bowl(pytorch-lifestream/datascience-bowl2019,血管血栓数据)误收进来——名字只差一年,内容毫无关系(坑 7)。
6.3 工具生态:BBBC 的枢纽位置
- CellProfiler / Cellpose 教程:Broad 自家的 CellProfiler 示例管线与 Cellpose 文档均引用 BBBC038 作示例数据,使其成为新工具的「默认测试驱动」;
- nucleaizer.org(§5.4):EMBL 把它变成半自动化标注工具的训练底座;
- Kaggle 竞赛复用:其 mAP 协议与 RLE 格式被后续分割赛题直接继承(§4.5)。
6.4 在核分割数据集景观中的位置
| 数据集 | 规模 | 条件覆盖 | 类别 | 与 DSB2018 的关系 |
|---|---|---|---|---|
| DSB2018 | 841 图/37,329 核 | 22 种条件、跨物种跨染色 | 单类(核) | 本体 |
| monusac(rid 651) | 多器官 H&E | 4 器官 | 核 4 类 | 有类别标签版后继 |
| consep(rid 228) | 结直肠 H&E | 单器官 | 核 7 类 | 标注协议直接可比 |
| pannuke(rid 218) | 泛癌 WSI patches | 多组织多癌种 | 核 6 类 | 大规模化路线 |
| nuinsseg | 多组织 | 多组织多物种 | 核 + 组织 | 不在库内,不写互链 |
一句话定位:DSB2018 是广度最大、许可最松、但类别最简的核分割基准——它是这个景观里唯一把「跨条件泛化」当第一设计变量的条目,也是后续条目集体超越但从未绕开的参照系。
6.5 八年生态演进:五个阶段的时间结构
DSB2018 的生态位不是静态的,按社区用法可分五个阶段(划分依据为库内事实与 §7.4 时间线,非官方分期):
| 阶段 | 主导用法 | 标志事件 |
|---|---|---|
| 竞赛期(2018-01 至 04) | 排行榜驱动的方法竞赛 | 3,891 队、Top-3 开源 |
| 归档期(2018 年中至 2019) | 学术引用与复现素材 | BBBC038v1 CC0 归档 |
| 方法学固化期(2019-12 起) | 评测协议与人类一致性参照 | Nature Methods 论文刊出 |
| 通用模型世代(2020 前后起) | CellPose/StarDist 等的标准外部验证集 | 通用核分割工具成熟 |
| 基础模型世代(近年) | 从「训练资源」漂移为「条件异构压力测试」 | 预训练模型评测需求上升 |
阶段视角的两个推论:①同一份数据在不同阶段回答不同问题——竞赛期问「谁分得最准」,基础模型世代问「模型在没见过的染色上会不会崩」;②本条目的 §8.4「规模偏小」局限只在最后阶段才成立——评估数据集价值必须放回它的生态位。
6.6 社区资产:Kaggle 论坛与开源复现的挖掘指南
竞赛留下的资产不止数据,还有一套社区沉淀(均可公开访问):
- 方案讨论帖:Kaggle 竞赛论坛的 winner interview 与 solution thread 是 Top-3 方案的设计笔记——LightGBM 后处理、伪标签等技巧的原始讨论都在其中(§4.3 的工程细节溯源首选);
- EDA kernels/notebooks:社区公开的探索性分析(条件分布可视化、RLE 解码示例、mask 统计)可直接复用——但注意其数字口径可能踩本条目八坑,引用前过附录 F;
- 第三方复现包:GitHub 上以
dsb2018、kaggle-nuclei为主题的复现仓库数量庞大,质量参差——优先以 Top-3 官方仓库(§4.3)为锚,复现包仅作参考实现。
挖掘卫生三条:①社区帖的数字(如计分图数)是八坑的高发区;②论坛方案与最终代码可能有版本差,以仓库为准;③引用社区内容时注明「Kaggle 论坛帖」而非当作论文结论。
6.7 二次利用形态:这份数据还能怎么用
除标准的「训练分割模型」外,DSB2018 在生态中被验证过的二次利用形态:
- 标注工具的训练底座:nucleaizer.org 用它训练半自动标注与假阴性检测模型(§5.4)——「用 DSB2018 训练标注辅助工具,再用工具标注新数据」是它撬动数据增量的独特路径;
- 无标注图池:stage2 约 2,913 张无真值图像可作半监督、域适应、伪标签流程的无标注素材(§8.1);
- 教学与工具测试:CellProfiler/Cellpose 教程将其作示例数据(§6.3)——143 MB 体量 + PNG 格式使其成为「第一份数据集」的最优选择之一;
- 评测协议的对照实验床:研究评测协议本身(mAP 扫描 vs AJI vs PQ)时,它有完整的人机对比数据可作参照(附录 N);
- 跨数据集泛化的源域:与 monusac/consep/pannuke 构成「训练-验证-压力测试」组合(§9.1/附录 O)。
两条边界提醒:①二次利用仍受 CC0 保护,无需授权;②二次利用产出的新数据集(如 nucleaizer 修订版)是独立资产,引用时与原版分开声明。
§7 方法学启示:三条可迁移的经验
7.1 竞赛制数据生产的得与失
DSB2018 证明了「小数据 + 大赛制」可以撬动远超数据体量的研究产出:670 张训练图换来 3,891 支队伍、Top-3 全开源、20 个方案被论文统一评测。得在于排行榜把方法创新压榨到极致;失在于竞赛期的方法演化会向测试集收敛——这正是它设置隐藏 stage2 图池与 48 小时短窗终榜的原因(§2.5)。复制这套机制的团队需要记住:数据本身可以小,评测协议的独立性不能省。
7.2 多样性作为第一设计变量
22 种实验条件的设计在 2018 年是激进的:它让模型没法靠记住某一种染色纹理过关。后续数据集走了两条不同的路线——pannuke(rid 218)用「单染色 × 大规模多组织」堆广度,monusac(rid 651)用「多器官 × 有类别标签」堆语义——但没有一个像 DSB2018 这样把染色、成像方式、物种三个维度同时打开。做跨中心泛化研究时,DSB2018 至今仍是「条件异构压力测试」的首选。
7.3 评测协议本身是公共资产
mAP@IoU 0.5:0.05:0.95、逐实例一对一匹配、RLE 列优先编码——这三件事都不难发明,但 DSB2018 把它们打包成了社区默认件。方法学论文(§4.4)进一步把「报告整段阈值曲线而非单点分数」写成了规范。一个数据集最重要的遗产可以不是图像,而是协议——这是它对库内 monusac/consep/pannuke 评测设计的共同贡献(§9.1)。
7.4 时间线定位:竞赛 → 论文 → 基准地位
- 2018-01 至 2018-04:竞赛期(数据发布 → 终榜);
- 2018 年内:BBBC038v1 归档,CC0 释放;
- 2019-12:Nature Methods 论文刊出(16(12):1247–1253),20 方案统一重测 + 人机对比,把竞赛结果升格为方法学结论;
- 2020 至今:CellPose/StarDist/HoverNet 世代把它当标准外部验证集,HF 镜像陆续出现。
「竞赛发布、机构归档、论文背书、社区固化」四步走的时间结构,是数据集运营的教科书案例——对比库内「论文先行」的条目(如 consep),DSB2018 的社区影响力恰恰早于正式论文两年。
§8 使用指南:怎么把这个数据集用好
8.1 三条快速上手路径
| 目标 | 路径 |
|---|---|
| 今晚跑通第一个分割模型 | Kaggle 版 7 件文件 → 解码 RLE(附录 E 骨架)→ U-Net + BCEDiceJaccardLoss(Top-3 配方起点) |
| 做跨条件泛化研究 | BBBC038v1 四包 → 用 metadata CSV 按 22 条件分层切分 → 逐条件报告性能(勿只报总分) |
| 评测已有模型 | 只用 670 train 训练、65 张 stage1_test 内部验证、106 张 stage2 计分图做最终测试——严禁混入训练(见 8.3) |
8.2 训练建议
- 损失函数:BCEDiceJaccardLoss 或其变体是经过 3,891 支队伍验证的起点(§4.3);
- 分辨率异构:15 档分辨率 + 尺寸差异大,训练时按图裁 patch 并保持实例完整性(跨 patch 的实例要么裁掉要么整实例保留);
- 粘连核是主战场:与真值的差距主要在相邻核拆分——距离变换 + watershed、实例级后处理(冠军的 LightGBM 打分)都是被验证过的补救;
- 伪标签可用但要小心:stage1_test 65 图作伪标签是冠军做法,但那是 2018 年「公榜可见」时代的操作;如今做严肃基准评测时,stage1_test 应保留为验证集。
8.3 评测注意事项
- 别把 stage2 图池当测试集:约 3,019 张里只有 106 张计分图带真值,其余没有评估价值(坑 5);
- mAP 之外的补充指标:建议同报逐档 IoU 曲线与按条件分层的 mAP——总分会被容易条件稀释;
- 真值版本要声明:BBBC038v1 原版 vs nucleaizer 修订版是两套真值(§5.4),混用不可比;
- 复现 Top-3 分数:注意三方案都大量依赖后处理,纯网络输出分数会显著低于 0.600。
8.4 已知局限(论文与社区共识)
- 无类别语义:只有「核」一个类别,无核型/病变标签——需要分类监督请转 monusac(rid 651);
- 无患者维度:非患者级队列,无人口学/结局标签,不可做临床相关推论;
- 边界不确定性下限:mAP@0.95 档存在任务固有天花板(§3.3、§4.4),跨论文比较绝对分数意义有限;
- 数据规模按 2026 年标准已偏小:670 训练图在基础模型时代更像评测集而非预训练集——它在当代生态位中的角色正在从「训练资源」漂移为「验证基准」。
8.5 从零到可复现分数:一条 48 小时路线图
把 §8.1-8.4 的建议串成可执行顺序(引用均为本条目既有章节,不引入新事实):
| 步骤 | 动作 | 参照 |
|---|---|---|
| 1 | 下载数据:Kaggle 版 7 件文件(跑通优先)或 BBBC038v1 四包(含元数据) | §5.1/5.2 |
| 2 | 写数据层:RLE 解码 + 多通道 mask 重组 + 全零通道过滤,跑通三则 bug 双检 | 附录 E/R |
| 3 | 视觉审计:12 张抽样 + 叠色检查 + 人工数核校验 | 附录 Z |
| 4 | 划分锁定:670 train / 65 stage1_test 内部验证 / 106 stage2 计分图封存 | §8.3 |
| 5 | 基线模型:U-Net + BCEDiceJaccardLoss,先二值后实例 | 附录 P |
| 6 | 实例化后处理:距离变换 + watershed(最低成本)→ 按需升级 | 附录 J |
| 7 | 评测:一对一匹配 mAP 扫描 + 逐档曲线 + 按 22 条件分层 | §4.1/附录 Q |
| 8 | 加固:数据增强(旋转/翻转/弹性形变)、多尺度、条件平衡采样 | §8.2 |
| 9 | 对标:与 Top-3 分数比较时声明后处理配置差异 | §4.3/8.3 |
两条纪律:①第 4 步的划分在任何「涨点」诱惑下都不松动;②第 7 步之前不要调参——评测实现错误会让一切优化失去意义(先用附录 AA 的 toy 数例验证评测代码)。
8.6 与其他核分割数据集混合训练的策略
当 DSB2018 作为辅助数据源与库内其他条目联合使用时的一般性策略(跨库组合的具体数字以各条目页为准):
- 类别体系对齐:DSB2018 单类别核 mask 可无损降维进任何核分割任务(全部实例 → 「核」类);反向不可行——把多类数据当单类用会丢语义(§8.4)。
- 条件平衡采样:22 种条件的样本天然不均衡,与单中心数据(consep)混训时建议按「条件 × 数据源」双层采样器,防止单一数据源主导梯度。
- 标注协议差异:各库对「接触核拆分」与「模糊团排除」的执行尺度不同(§3.4)——混训前先做 20 张抽样的人工对照(附录 Z 流程跨库复用),估计标注偏差方向。
- 评测隔离:无论怎么混训,最终评测集必须是单一来源单一协议——跨库混评测的 mAP 不可比(§4.5)。
- 许可一致性:DSB2018 的 CC0 可兼容下游任何许可组合;混训产出的模型分发条款由「最严格的数据源」决定(对照附录 O 许可行)。
8.7 三大失败模式与诊断
按社区与论文复盘经验,使用本数据集的高频失败模式及第一诊断动作:
| 症状 | 高频根因 | 第一诊断动作 |
|---|---|---|
| 训练损失正常、mAP 极低 | 评测实现错(一对一匹配缺失、RLE 转置) | 用附录 AA toy 数例单测评测代码 |
| 分数依赖后处理剧烈波动 | 预测 mask 重叠未拆分 / watershed 参数不适配尺度 | 固定后处理配置再比较模型本体 |
| 单条件好、跨条件崩 | 隐性过拟合单一染色/分辨率(条件不平衡采样) | 附录 Q 分层报告定位短板条件 |
| 实例数系统性偏多 | 全零占位通道被计入 / 连通域过分裂 | 过滤全零通道(附录 R BUG 2) |
| 实例数系统性偏少 | patch 裁剪切碎实例 / 阈值过高 | 检查裁剪策略保实例完整(§8.2) |
| 与 Top-3 差距悬殊 | 复现了网络没复现后处理与伪标签 | 声明配置差异再看差距(§8.3) |
诊断纪律:先怀疑评测与数据加载(本数据有三个非默认约定,§附录 R),再怀疑模型——这是本条目复现实践里最省时间的顺序。
8.8 报告规范:引用本数据集时应写明的事项
基于 §4 与附录 F/G 的口径漂移风险,凡发表使用 DSB2018 的结果,建议报告以下要素(多数审稿人会追问前四条):
- 数据口径:训练/验证/测试各用了哪些阶段(670/65/106),与竞赛划分还是论文划分(Q22);
- 真值版本:BBBC038v1 原版或 nucleaizer 修订版(§5.4);
- 评测实现:一对一匹配语义、IoU 档位、是否含后处理(§4.1/附录 J);
- 分层结果:至少按染色/显微方式两组分层报告(附录 I);
- 对比基线:与传统方法(阈值/形态学)及 Top-3 的比较口径(附录 X);
- 许可与引用:数据 CC0、论文 CC BY 4.0,附附录 K BibTeX;
- 局限性声明:非患者队列、单类别、规模有限(§8.4)——这三条写明可预防大部分审稿意见。
§9 与库内条目的关系
9.1 家族图谱
- monusac(rid 651):MoNuSAC 多器官核分类分割集。与 DSB2018 共享「跨器官通用核分割」的问题意识,并在其上增加核四分类(上皮/淋巴细胞/巨噬细胞/中性粒细胞等)与病理专家标注——taxonomy 上是 DSB2018 的「有类别标签版」后继;DSB2018 无类别语义的短板(§8.4)正是 monusac 的立意起点。
- consep(rid 228):CoNSeP 结直肠癌核实例分割。同为核实例分割 + mask 级 mAP 评测;其「相邻核按可分辨轮廓拆分、重叠实例禁止」的标注协议与 DSB2018 的不重叠约束(§3.2)直接可比——用两者做标注一致性对照研究是现成课题。
- pannuke(rid 218):PanNuke 泛癌核分割。大规模多组织路线(数十万核、6 类),组织覆盖广度与 DSB2018 的 22 条件设计呼应,但固定染色与扫描条件、规模换多样性;评测上 pannuke 的多类混淆矩阵与 DSB2018 的 mAP 阈值扫描互补。
- Lizard/nucls 类条目(若库内后续收录):标注工艺光谱上与 DSB2018 构成众包/多专家/机构集中三种模式的对照(§3.4)。
- 检索卫生:nuinsseg(多组织核分割)不在本库,勿写入互链;2019 Data Science Bowl 与本条目无数据承继关系(坑 7)。
9.2 检索路径建议
- 检索词组合:「2018 Data Science Bowl」精确短语 + 「BBBC038」+ 「nuclei segmentation」;用「DSB2018」单独检索会漏掉 BBBC 归档口径的文献,两个名字必须都试。
- 别用「Data Science Bowl」裸词检索——会命中 2015/2016/2017/2019 四届不相关赛事。
- 引用分数时:top1 写 0.600(§4.3 戒律);训练核数写 29,461(坑 2);图数按「竞赛 670 / 归档 735」双口径并写(坑 3)。
- 要元数据分析:走 BBBC038v1 的 metadata CSV,不走 Kaggle 版(§5.2)。
§10 避坑清单:八个已踩过的坑
坑 1:「22 cell types」不是论文口径。HF 镜像卡片与部分二手文章写「22 cell types, 15 resolutions, 30+ experiments」,论文口径是 22 种实验条件(experimental conditions)——物种/组织/染色/成像方式的组合,不是细胞类型学分类。按「22 类细胞」设计分类头是方向性错误;BBBC038v1 的 metadata CSV 才是条件维度的权威记录。
坑 2:训练集核数 29,461 vs 29,443 双口径。29,461 与 Kaggle stage1_train_labels.csv 的 RLE 行数直接可算(HF MedOtter 口径一致),本条目采用;29,443 见于部分二手论文(如 Disco arXiv)。引用时任选其一并全文一致,交叉核对文献数字时先确认对方口径。
坑 3:735 vs 670 图——归档口径与竞赛口径之差。论文摘要写「735 image sets」(BBBC038v1 把 670 train + 65 stage1_test 合并发布的口径),Kaggle 竞赛训练集是 670。两个数字都对,差值恰为 65;写作时双口径并写,别用 735 去质疑 670 或反之。
坑 4:参赛规模 861 vs 3,891 队。媒体稿(网易等转载链)写「861 队」,论文与 Kaggle 官方口径为 3,891 teams(双源一致,本条目采用);另有「约 18,000 参与者」的无源数字,不采用。引用参赛规模只认论文/Kaggle 页。
坑 5:stage1 公榜计分图数「304」系误记。社区笔记流传「stage1 公榜 304 张计分」,竞赛页 Data 说明的实际口径是 stage1_test 65 图全量进入公榜;304 与 stage2 的 106 计分图亦不吻合。本条目只写:stage1 公榜 65 图、stage2 终榜 106 图;stage2 图池约 3,019 张中其余无真值。
坑 6:BBBC038 官方页的「publication to be submitted」旧文案。归档页至今留有「论文待发表」文案,实为页面未更新——论文 2019 年已发表于 Nature Methods(DOI 10.1038/s41592-019-0612-7)。别据旧文案在综述里写「DSB2018 无配套论文」。
坑 7:2018 Data Science Bowl ≠ 2019 Data Science Bowl。pytorch-lifestream/datascience-bowl2019 等资源属 2019 年 Bowl(血管/血栓数据),与 DSB2018 无数据承继关系;HF 检索「data science bowl」时极易混收。2015-2017 三届(肺癌 CT、心脏病、肝癌 WSI)同样不同源。
坑 8:多通道 mask 重组与不重叠约束的工程坑。三个高频翻车点:①直接对 mask 通道求和会把实例分割降级成二值图,实例 ID 丢失;②部分图存在全零占位通道(空 mask 语义,§2.2),统计实例数时要把全零通道剔除;③提交侧预测 mask 允许重叠但评测要求实例独立,需自行拆分(watershed 类后处理)——跳过拆分会被评测直接惩罚。
§11 总结
11.1 三句话总结
- DSB2018 用 841 张跨 22 种实验条件的显微图像和 37,329 个 CC0 释放的核实例 mask,把「跨条件泛化」变成了核分割的第一个可度量问题。
- 它的 mAP@IoU 阈值扫描协议与 RLE 提交格式从 Kaggle 溢出为社区默认件,Top-3 方案全部开源至今仍是最实用的配方起点。
- 它的当代角色正从训练资源漂移为验证基准——在 CellPose/StarDist 世代,它的价值更多在于条件异构压力测试,而非数据规模。
11.2 适合谁
- 需要跨染色/跨成像方式泛化评测的分割团队:22 条件 + metadata CSV 是现成的分层评测框架。
- 教学与快速原型:143 MB 全量、CC0 零门槛、笔记本可跑,分割入门的最佳第一数据集之一。
- 方法论研究者:竞赛机制设计(隐藏 stage2)、人机对比实验、标注一致性下限分析都是可引用的完整案例。
- 构建多数据集评测矩阵的团队:与 monusac(rid 651)/consep(rid 228)/pannuke(rid 218)拼接可覆盖「广度 × 语义 × 规模」三轴。
11.3 不适合谁
- 需要核型/病变分类监督的项目(单类别数据,转 monusac)。
- 需要患者级标签、临床结局或队列设计的研究(非患者队列)。
- 需要大样本预训练的团队(670 训练图规模不足)。
- 需要 WSI 全切片上下文的计算病理流程(本数据是视野级显微图像)。
11.4 30 秒决策卡
| 你的情况 | 行动 |
|---|---|
| 想立刻跑通分割管线 | Kaggle 版 7 件文件 + 附录 E 骨架 + §8.2 配方 |
| 做跨条件泛化评测 | BBBC038v1 四包 + metadata CSV 分层 + §8.3 注意事项 |
| 要引用基准分数 | top1 写 0.600;图数双口径并写(坑 3);核数写 29,461(坑 2) |
| 要分类监督 | 转库内 monusac(rid 651);本数据仅作外部验证 |
| 要更干净的 mask | nucleaizer 修订版(§5.4),但需声明真值版本 |
| 写综述/教学材料 | §7 三条经验 + §10 八坑可直接引用 |
11.5 全条目结构导航
| 区块 | 章节/附录 | 一句话 |
|---|---|---|
| 正文 | §0-§1 | 导读与十问速答 |
| 正文 | §2-§3 | 数据规格与标注流水线 |
| 正文 | §4-§5 | 评测协议与获取许可 |
| 正文 | §6-§8 | 生态、方法启示与使用指南 |
| 正文 | §9-§11 | 库内关系、八坑、总结 |
| 问答 | FAQ 32 问(A-D 组) | 高频问题逐条击破 |
| 清单 | 事实 36 条 / 术语 28 条 | 硬事实与概念底座 |
| 附录 | A-L | 速查卡、DAIMS、证据链、决策树、代码骨架、口径表 |
| 附录 | M-AC | 条件清单、四库对照、训练与评测代码、检索与检查单 |
| 附录 | AD-AK | 选型决策、口径声明、路径、Data Card、记录模板 |
FAQ(高频问答 32 问)
A. 基础认知
Q1:DSB2018 和 BBBC038v1 是什么关系?
同一批数据的两个名字与两个阶段:DSB2018 是 2018 年 Kaggle 竞赛名(口径 841 图/37,329 核,含竞赛机制),BBBC038v1 是赛后 Broad Institute 的永久归档编号(口径「735 训练图 + 106 测试图」,合并 stage1)。引用数据本体时两个名字都该出现。
Q2:为什么一个 2018 年的竞赛数据集现在还重要?
三个原因:①它是唯一把「跨 22 种实验条件泛化」当第一设计变量的核分割数据集;②它的 mAP 协议与 RLE 格式已成社区默认件;③CC0 许可 + 143 MB 体量使它成为新模型、新工具的标准外部验证集(CellPose/StarDist/HoverNet 论文可见)。
Q3:主办方 Booz Allen Hamilton 是什么机构?
美国大型商业与技术咨询服务公司,长期承接政府项目。Data Science Bowl 是其年度公益品牌赛事(2015 起),2018 年为第三届;奖金 100,000 美元由该公司赞助。数据标注则由学术机构 Broad Institute 执行——商业赞助 + 学术生产的分工是其公信力来源。
Q4:Data Science Bowl 系列都有哪几届?
2015 肺癌 3D CT 诊断、2016 心脏病预测、2017 肝癌病理 WSI、2018 细胞核分割(本条目)、2019 血管/血栓。各届数据互不承继;检索时务必带年份限定词(坑 7)。
Q5:配套论文是什么、谁写的?
Caicedo 等 12 人(Broad Institute Imaging Platform),「Evaluating automatic algorithms for nucleus segmentation across multiple experiments」,Nature Methods 16(12):1247–1253, 2019,DOI 10.1038/s41592-019-0612-7,PMCID PMC6919559,CC BY 4.0 开放获取。论文把 12 队 20 方案统一重测并做人机对比,是数据集的方法学背书。
Q6:它和 monusac(rid 651)/pannuke(rid 218)的区别?
DSB2018:单类别(核)、22 种条件、mAP 阈值扫描、竞赛制;monusac:多器官 + 核四分类、病理专家标注;pannuke:泛癌多组织、6 核类、大规模。三者构成「条件广度 × 类别语义 × 数据规模」互补三角(§9.1)。
Q7:数据是真实的患者数据吗?
部分图像来自人体组织(手术/活检标本的染色切片),但数据集不含任何患者身份、人口学或临床结局信息,不构成患者级队列;另有相当比例图像来自培养细胞与模式生物。用它做临床相关推论是误用。
Q8:命名习惯哪个对?
文献惯例:正文用「2018 Data Science Bowl」或缩写「DSB2018」,代码/数据仓库常用小写「dsb2018」「data-science-bowl-2018」(Kaggle slug)。检索时「DSB」裸缩写歧义大( Data Science Bowl/Deep Set/Broadcast),建议全称 + 年份。
Q9:一句话卖点?
细胞核分割领域第一个跨条件大规模公开基准:841 图、37,329 核、22 种条件、CC0 零门槛,外加一套沿用至今的评测协议。
B. 数据与获取
Q10:从哪下?
渠道 A:Kaggle 竞赛页(需账号,7 件文件约 143 MB);渠道 B:Broad BBBC038v1 页(免注册,四包);渠道 C:HF 镜像(MedOtter 口径最全);渠道 D:nucleaizer.org 修订版。详见 §5.1 与附录 D 决策树。
Q11:Kaggle 版和 BBBC038v1 版选哪个?
跑管线用 Kaggle 版(RLE 现成、体积小、社区脚本多);做条件分层研究或数据审计用 BBBC038v1(metadata CSV 记录逐图来源/染色/显微方式/物种/组织,Kaggle 版没有)。两者图像一致,mask 组织方式不同(BBBC 版含逐核 mask 原件)。
Q12:BBBC038v1 四包里都有什么?
masks_and_labels(449.7 MB:841 图 + 37,329 mask)、images(176.5 MB:原始 PNG)、human_labels(人机对比子集)、metadata(16.5 KB csv)。见 §5.2 表。
Q13:需要什么环境读这批数据?
无专业依赖:PNG 用任意图像库可读;RLE 解码十余行 numpy(附录 E);多通道 PNG mask 即普通 PNG 的多帧读取。对比 WSI 类数据(OpenSlide/tifffile 门槛),这是它适合教学的原因。
Q14:license 具体允许什么?
CC0 1.0:复制、修改、商用、再分发、闭源衍生全部允许,无需署名(学术礼仪建议引论文)。注意两点不受 CC0 管辖:论文文本本身 CC BY 4.0;Kaggle 账号注册时接受的竞赛规则仅约束获取过程。
Q15:HF 镜像哪个可信?
MedOtter/2018-Data-Science-Bowl 口径与 BBBC038v1 一致(276 下载/2 赞/license cc0-1.0);另两个社区镜像(MounaAjaani 148、liantian 12)下载量小、未审计。任何镜像都建议与官方四包抽查比对后再用于严肃评测。卡片描述「22 cell types」勿信(坑 1)。
Q16:nucleaizer.org 的修订版是什么?
EMBL 团队对 DSB2018 mask 的人工修订集(官网口径约 87,000 个 mask 级修正,多为补漏标的核)+ ilastik 批处理与假阴性检测工具。它是不同的真值版本,与原版分数不可比;引用时必须声明用哪套(§5.4)。
Q17:stage2 那两千多张图怎么用?
只有 106 张计分图带真值,其余约 2,913 张在归档中无标注。可用作:①竞赛复现的提交模拟;②半监督/域适应研究的无标注图池;③无法作为带真值测试集(坑 5)。
C. 评测与基准
Q18:mAP@IoU 0.5:0.05:0.95 具体怎么算?
预测实例与真值实例做一对一贪心匹配(一个真值只匹配一次),在 IoU 阈值 0.50/0.55/…/0.95 共 11 档分别算 AP,取算术平均。完整语义见 §4.1,实现参考 Top-3 仓库或 pycocotools 改造。
Q19:为什么我的复现分数远低于 0.600?
三个常见原因:①Top-3 方案的分数都包含重后处理(watershed 拆分、LightGBM 过滤),纯网络输出显著更低;②预测 mask 未做不重叠拆分被评测惩罚;③验证集口径不同(stage1_test vs 论文划分)。
Q20:冠军的 LightGBM 后处理是什么思路?
把「这个连通域是不是真核」从分割网络中剥离:对预测 mask 逐连通域提取特征(面积、面积变化、score 均值/方差、B/W 特征等),用梯度提升树打分过滤假阳性。实例级判别交给表格模型是当年最亮的一步,思路可迁移到任何分割任务。
Q21:伪标签技巧怎么用的?
先用 670 张训练图训练 → 对 stage1_test 65 图生成预测 → 把高置信度预测作为伪标签与原训练集合并再训练。榨干公榜图信息是 2018 年竞赛时代的标准操作;做严肃基准评测时勿模仿(stage1_test 应保留为验证集)。
Q22:论文的 24,062/1,419/4,721 划分是什么?
论文把训练数据重新三分(train/validation/test,核数口径)用于统一重测 20 方案——与竞赛的 670/65/106 图划分不同体系。引用时注明口径:竞赛划分 vs 论文划分数字不可混用。
Q23:人机对比实验说了什么?
50 名人类标注者用同样工具执行同任务:人类之间对相邻核边界也不一致,且在高 IoU 阈值段与算法同步恶化——说明 mAP@0.95 档的失分有任务固有的物理下限,不全是算法问题(§3.3)。
Q24:高 IoU 阈值段为什么所有方法都崩?
IoU>0.7 考核边界精度:光镜分辨率下相邻核边界本身是模糊的,人类标注者也画不出稳定「真值」。这是任务不确定性而非方法缺陷;跨论文比较应看整段曲线与差值(§4.1、§4.4)。
Q25:mAP 之外建议补什么指标?
逐档 IoU 曲线(暴露边界精度)、按 22 条件分层的 mAP(暴露泛化短板)、AJI(aggregated Jaccard index,核分割社区常用补充)、逐图实例数误差。只报总分会被容易条件稀释。
D. 工程与复现
Q26:RLE 怎么解码成 mask?
十余行 numpy:解析 (start, length) 对 → 按列优先序填充。注意 Kaggle 该竞赛用列优先(COCO 风格),与部分库的行优先默认不同——转置错误是最高频 bug。代码骨架见附录 E。
Q27:多通道 PNG mask 怎么读?
即多帧 PNG:PIL Image.seek(k) 逐帧或 imageio/tifffile 直接读为数组,第 k 帧即第 k 个实例的二值掩码。实例 ID = 帧序号 + 1。
Q28:遇到全零通道怎么办?
官方语义:第 k 通道第 1 像素有值代表第 k 实例存在;全零通道为空占位。统计实例数、拼 batch 时剔除全零通道,否则会把「空实例」算进损失与指标(坑 8)。
Q29:预测 mask 重叠怎么拆分?
标准做法:对预测概率图做距离变换 + watershed(第 3 名方案公开实现);或按实例置信度排序、逐实例写入输出并屏蔽已占用像素(贪心拆分,官方 sample submission 建议思路)。跳过拆分会被一对一匹配评测直接惩罚。
Q30:训练时怎么处理分辨率异构?
15 档分辨率、尺寸差异大。通行做法:按图内实例完整性的约束裁 patch(跨 patch 实例要么整实例保留要么丢弃)、多尺度训练、推理时滑窗 + 重叠融合。别把小图暴力 resize——核的形态学特征会失真。
Q31:怎么按 22 条件分层评测?
用 BBBC038v1 的 metadata CSV(物种/组织/染色/显微方式字段)给每图打条件标签 → 分层计算 mAP → 报告逐条件表。Kaggle 版无此文件,需先在 BBBC 侧对齐图 ID。
Q32:想做核分类,这个数据能用吗?
不能直接用(单类别、无核型标签)。推荐路径:以 DSB2018 作跨条件外部验证,主训练用 monusac(rid 651,4 类核)或 pannuke(rid 218,6 类);或参考 consep(rid 228)的 7 类协议(§9.1)。
事实清单(硬事实 36 条)
- 官方名称 2018 Data Science Bowl,Kaggle slug
data-science-bowl-2018,归档编号 BBBC038v1(Broad Bioimage Benchmark Collection)。 - 主办方 Booz Allen Hamilton,赞助奖池 100,000 美元;平台 Kaggle。
- 数据标注执行方为 Broad Institute Imaging Platform(通讯作者 Juan C. Caicedo,合作者 Shantanu Singh、Anne Carpenter)。
- 时间线:2018-01-12 数据发布;01-16 开赛;04-13 奖牌/组队截止;04-17 竞赛结束;04-18 stage2 终榜开算。
- 参赛规模 3,891 支队伍(论文与 Kaggle 口径一致);媒体稿「861 队」为口径错误。
- 配套论文:Caicedo et al., Nature Methods 16(12):1247–1253, 2019;DOI 10.1038/s41592-019-0612-7;PMID 31636459;PMCID PMC6919559(CC BY 4.0);作者 12 人;Google Scholar 口径被引约 965。
- 论文核心工作:统一重测 12 支队伍的 20 个方案(14 深度学习 + 6 非深度学习)+ 50 人人机对比实验 + mAP@IoU 阈值扫描协议。
- 总量:841 张显微图像、37,329 个细胞核实例 mask(论文口径;BBBC 官方页写 tens of thousands)。
- 阶段构成:stage1_train 670 图/29,461 核;stage1_test 65 图/4,152 核;stage2 约 3,019 图中 106 图计分/3,716 核;三列严格闭合。
- 训练核数双口径:29,461(Kaggle RLE 行数可算,本条目采用)vs 29,443(部分二手论文)。
- 图像格式 PNG(灰度/彩色混合);分辨率跨度约 360×360 至 1094×1300,共 15 档(论文口径)。
- mask 为多通道 PNG,每核一通道;通道互不重叠;空 mask 以全零通道占位(官方 sample submission 说明)。
- 训练参考标注以 RLE CSV 提供(
ImageId,EncodedPixels,列优先扫描序)。 - Kaggle 数据页 8 件文件:stage1_train.zip 82.9 MB、stage1_train_labels.csv.zip 11.4 MB、stage1_test.zip 22.4 MB、stage1_test_ids.csv.zip 0.7 KB、stage1_solution.csv.zip 962.8 KB、stage1_sample_submission.csv.zip 55.3 KB、stage2_test_final.zip 24.4 MB、stage2_sample_submission_final.csv.zip 2.6 MB。
- 多样性设计:训练集覆盖 22 种实验条件(论文口径)——多物种(人/小鼠/果蝇/斑马鱼等)、多组织(肺/乳腺/前列腺/膀胱/结肠/肾/胰/脾/肝/淋巴结/皮肤/骨髓/脑/子宫等 + 培养细胞)、多染色(H&E/DAB/DAPI/组蛋白/GFP)、多显微方式(宽场/共聚焦/多光子/相差)。
- 「22 cell types, 15 resolutions, 30+ experiments」为 HF 镜像转述口径,「cell types」系失真——条件组合非细胞类型学分类。
- 标注工具:GIMP + Broad 内部 web 标注工具(先自动候选后人工修正);每图 1 人初标 + ≥1 人复核(two-pass)。
- 标注规则:mask 互不重叠;接触核按可分辨轮廓拆分;有丝分裂相/碎屑等模糊团不计为核。
- 官方评测:mAP@IoU,阈值 0.5:0.05:0.95 共 11 档取均值;逐实例一对一匹配;RLE CSV 提交。
- 第 1 名 selimsef/dsb2018_topcoders(团队 albu/selim/victor = Alexander Buslaev/Selim Seferbekov/Victor Durnov):U-Net + LinkNet/FPN 混合(ResNet/SE-ResNeXt/Inception-resnet-v2 骨干)、BCEDiceJaccardLoss、LightGBM 连通域打分后处理、stage1_test 伪标签二阶段;mAP ≈ 0.600。
- 第 2 名 jacobkie/2018DSB(Jaykumar Patel):Mask R-CNN(matterport 实现)+ 多尺度 + 轮廓损失 + watershed 拆分;mAP ≈ 0.593。
- 第 3 名 Lopezurrutia/DSB_2018(Daniel López Urrutia):U-Net 类 + 形态学后处理 + watershed 分割粘连核;mAP ≈ 0.582。
- 论文重测划分:train/validation/test = 24,062/1,419/4,721 核(论文 Table 1,仅在论文评测体系内成立,与竞赛划分不同体系)。
- 论文结论:深度学习显著优于传统方法;IoU>0.7 段所有算法急剧下降,与人类标注者表现下降同步。
- 人机对比:50 名人类标注者(web 工具)与算法同任务对比,由 Broad 组织。
- 数据许可 CC0 1.0(公共领域贡献;Kaggle 与 HF 镜像
cc0-1.0标签一致;论文数据声明 available under CC0);论文文本 CC BY 4.0。 - BBBC038v1 四包:masks_and_labels 449.7 MB(841 图 + 37,329 mask)、images 176.5 MB、human_labels(人机对比子集)、metadata 16.5 KB csv(来源平台/染色/显微方式/物种/组织逐图记录)。
- BBBC038v1 官方页口径「training data set of 735 image sets」= 670 train + 65 stage1_test 合并;竞赛训练口径 670。两口径并写,差值 65。
- BBBC038v1 是唯一发布版本(无 v0/v2);官方页留有「publication to be submitted」旧文案,论文实已发表。
- 衍生修订集:nucleaizer.org(EMBL)人工修订 mask(官网口径约 87,000 mask 级修正)+ ilastik/假阴性检测工具。
- HF 镜像三则:MedOtter/2018-Data-Science-Bowl(276 下载/2 赞)、MounaAjaani/data_science_bowl_2018(148)、liantian/Data_Science_Bowl(12);
pytorch-lifestream/datascience-bowl2019属 2019 年 Bowl(血管血栓),非本条目。 - stage1 公榜计分图数为 65(全量);「304」系社区误记不采用;stage2 终榜 106 图。
- top1 分数戒律:引用写 0.600;公榜 0.6001/私榜 0.60035 第四位小数以 Kaggle leaderboard 为准。
- CellPose、StarDist、HoverNet、DeepCell 等通用核分割工作均以 DSB2018/BBBC038 为常用外部验证集;CellProfiler/Cellpose 教程引用其作示例。
- 库内互链:monusac(rid 651)、consep(rid 228)、pannuke(rid 218);nuinsseg 不在库内不写互链。
- Data Science Bowl 系列:2015 肺癌 3D CT、2016 心脏病、2017 肝癌 WSI、2018 核分割(本条目)、2019 血管血栓——各届数据互不承继。
术语表(28 条)
| 术语 | 释义 |
|---|---|
| 实例分割(instance segmentation) | 同时回答「哪里有目标」与「哪个目标是哪个」的任务;本数据集逐核给独立 mask |
| 语义分割 | 逐像素二分类(核/背景),不区分实例;DSB2018 提交侧等价于先语义后拆分 |
| IoU | 交并比:预测与真值 mask 交集面积除以并集面积,实例匹配的基本度量 |
| mAP | 平均精度:各 IoU 阈值下 PR 曲线下面积的近似,再跨阈值取均值 |
| 阈值扫描(0.5:0.05:0.95) | IoU 阈值从 0.5 到 0.95 步长 0.05 共 11 档,度量「边界画得多准」的谱系 |
| RLE(run-length encoding) | 游程编码:用 (起始序号, 长度) 对稀疏表达像素集合;本竞赛列优先扫描 |
| 多通道 PNG mask | 每个实例占一个通道的二值掩码集合;通道间不重叠是标注硬约束 |
| 全零占位通道 | 空实例的占位语义:通道第 1 像素无值即该实例不存在 |
| 公榜/私榜 | 公开榜(stage1_test 65 图)与终榜(stage2 106 图);防止榜工程的双榜机制 |
| stage1/stage2 | 竞赛两阶段:公开训练+公榜 → 隐藏图池短窗终榜(约 48 小时) |
| BBBC | Broad Bioimage Benchmark Collection,Broad Institute 的显微图像基准集系列,038 为本数据编号 |
| Imaging Platform | Broad Institute 的成像平台团队,CellProfiler 出品方,本数据集标注执行者 |
| GIMP | GNU Image Manipulation Program,开源图像编辑器,标注初标工具之一 |
| two-pass 标注 | 初标 + 至少一人复核的双通道质控流程 |
| 伪标签(pseudo-labeling) | 把模型对无标注数据的预测当真值补充训练;冠军方案用 stage1_test 65 图 |
| watershed | 分水岭算法:以距离变换局部极大值为种子切分粘连实例;本竞赛标配后处理 |
| BCEDiceJaccardLoss | BCE + Dice + Jaccard 加权组合损失:像素级稳定项与区域级指标项结合 |
| U-Net | 编码器-解码器 + 跳连的分割主干网络,本竞赛多数方案的基础 |
| LinkNet / FPN | 两种轻量跳连分割架构;冠军方案与 U-Net 混用 |
| Mask R-CNN | 两阶段检测式实例分割框架(第 2 名方案核心,matterport 实现) |
| SE-ResNeXt / Inception-resnet-v2 | 冠军方案使用的分类骨干(作 U-Net 编码器) |
| LightGBM | 微软梯度提升树库;冠军方案用作实例级连通域打分过滤 |
| H&E | 苏木精-伊红染色:病理标准染色,本数据集组织切片类图像的主要染色 |
| DAPI / GFP | 荧光染料/标记:核染与荧光蛋白标记,荧光类图像的来源 |
| 共聚焦 / 相差 | 两种显微成像方式;前者光学切片高对比,后者无染色活细胞观察 |
| CC0 1.0 | 公共领域贡献许可:放弃全部版权主张,无署名/商用限制 |
| CC BY 4.0 | 署名许可:允许任何用途含商用,须注明出处;论文文本采用 |
| AJI | Aggregated Jaccard Index:核分割社区常用的 mAP 补充指标,聚合全部实例的交并比 |
附录
附录 A:条目信息速查卡
| 项 | 值 |
|---|---|
| 条目名 | 2018 Data Science Bowl |
| url_name | dsb2018 |
| 类型 | 挑战赛数据集 + 方法学论文 + 永久归档(三合一) |
| 主办/赞助 | Booz Allen Hamilton(100,000 美元奖池) |
| 标注方 | Broad Institute Imaging Platform |
| 规模 | 841 图(670+65+106)/ 37,329 核(29,461+4,152+3,716) |
| 多样性 | 22 种实验条件 / 15 档分辨率 |
| 许可 | 数据 CC0 1.0;论文 CC BY 4.0 |
| 论文 | Nature Methods 16(12):1247–1253, 2019;DOI 10.1038/s41592-019-0612-7 |
| 抓取时点 | 2026-10-04 |
| 库内互链 | monusac(651)/consep(228)/pannuke(218) |
| 竞赛成绩 | top1 selimsef mAP ≈ 0.600;top2 jacobkie ≈ 0.593;top3 Lopezurrutia ≈ 0.582 |
附录 B:DAIMS 评估全表
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性 | 9 | Kaggle/BBBC/HF 三渠道均可索引;双名制(DSB2018/BBBC038)要求检索者都知道,轻微扣分 |
| A 可获取性 | 9 | CC0 + BBBC 免注册直链 + 143 MB 体量;Kaggle 版需账号接受规则为唯一门槛 |
| I 可互操作 | 8 | PNG/CSV 通用格式、无专业解析器依赖;扣分:多通道 mask 重组与 RLE 需自写代码、无官方加载器 |
| M 元数据质量 | 7 | BBBC metadata CSV 逐图条件完备(本库少见的逐图元数据);扣分:Kaggle 版无 metadata、口径漂移多(八坑中五坑为数字口径) |
| S 可持续性 | 9 | Kaggle + Broad 双机构归档、八年稳定在线、版本唯一;扣分:BBBC 页个别文案未更新(坑 6) |
| 综合评级 | 8.4/10(优) | 本库可获取性与许可最宽松端;主要风险集中在「数字口径漂移」而非可用性 |
附录 C:逐项证据链自证
| 关键数字 | 来源 | 位置 |
|---|---|---|
| 841 图 / 37,329 核 | 论文摘要与 BBBC038 页 | Nature Methods / bbbc.broadinstitute.org/BBBC038 |
| 670 图 / 29,461 核(train) | Kaggle 数据页 + train_labels RLE 行数 | kaggle.com/c/data-science-bowl-2018/data |
| 65 图 / 4,152 核(stage1_test) | BBBC038 页口径 | bbbc.broadinstitute.org/BBBC038 |
| ~3,019 图 / 106 计分 / 3,716 核(stage2) | BBBC038 页口径 | 同上 |
| 22 种条件 / 15 档分辨率 | 论文(train set 描述) | PMC6919559 |
| 3,891 队 / 100,000 美元 | Kaggle 竞赛页 + 论文 | 竞赛页 Overview |
| mAP 协议 0.5:0.05:0.95 | 竞赛 Evaluation 页 + 论文 | 竞赛页 / PMC6919559 |
| top1 0.600 / top2 0.593 / top3 0.582 | Kaggle leaderboard | 私榜终榜 |
| 标注工具与 two-pass | 论文 Methods | PMC6919559 |
| 50 人人机对比 | 论文(human study) | PMC6919559 |
| 论文三分 24,062/1,419/4,721 核 | 论文 Table 1 | PMC6919559 |
| CC0 1.0 | 竞赛数据页 + HF 镜像 license 标签 + 论文 Data availability | 三源一致 |
| BBBC 四包大小 | BBBC038 下载页 | bbbc.broadinstitute.org/BBBC038 |
| 7 件 Kaggle 文件大小 | Kaggle Data 页标注 | 2026-10-04 抓取 |
| HF 三镜像下载/赞数 | hf-mirror.com API | 2026-10-04 检索 |
| nucleaizer 修订口径(~87,000 mask 修正) | nucleaizer.org 官网自述 | 2026-10-04 抓取 |
附录 D:数据获取决策树
需求是什么?
├── 只想最快跑通一个分割模型
│ └── Kaggle 版 7 件文件(143 MB)→ 附录 E 骨架 → §8.2 配方
├── 做跨条件泛化/条件分层研究
│ └── BBBC038v1 四包 → metadata CSV 打条件标签 → §8.3 分层评测
├── 想要免注册直接下载
│ └── BBBC038v1(images 176.5 MB + masks_and_labels 449.7 MB)
├── 想要 Python 生态直接加载
│ └── HF 镜像 MedOtter/2018-Data-Science-Bowl(先抽查比对官方)
├── 想要更干净的真值做 SOTA 对比
│ └── nucleaizer.org 修订版(声明真值版本!与原版分数不可比)
├── 想复现 Top-3 成绩
│ ├── github.com/selimsef/dsb2018_topcoders(冠军)
│ ├── github.com/jacobkie/2018DSB(亚军)
│ └── github.com/Lopezurrutia/DSB_2018(季军)
└── 想要核分类监督
└── 本数据不可用 → 库内 monusac(rid 651)/ pannuke(rid 218)
附录 E:RLE 解码与 mask 重组骨架(代码)
import numpy as np
def rle_decode(rle_str: str, shape: tuple[int, int]) -> np.ndarray:
"""DSB2018 RLE → 二值 mask。列优先扫描序(与 COCO 相同)。
rle_str: 空格分隔的 (起始序号, 游程长度) 对;空串返回全零。"""
h, w = shape
if not rle_str or rle_str.strip() == "":
return np.zeros(h * w, dtype=np.uint8)
nums = np.asarray(list(map(int, rle_str.split())))
starts, lengths = nums[0::2] - 1, nums[1::2] # Kaggle 序号从 1 起
flat = np.zeros(h * w, dtype=np.uint8)
for s, l in zip(starts, lengths):
flat[s:s + l] = 1
return flat.reshape((w, h)).T # 列优先 → 行主序还原
def rles_to_instances(rles: list[str], shape: tuple[int, int]) -> np.ndarray:
"""一张图的全部 RLE → 实例 ID 图(0=背景,k=第 k 个实例)。"""
h, w = shape
out = np.zeros((h, w), dtype=np.int32)
k = 0
for r in rles:
k += 1
out[rle_decode(r, shape) == 1] = k
return out # 实例互不重叠:直接覆盖安全
def multichannel_png_to_instances(path: str) -> np.ndarray:
"""BBBC038v1 多通道 PNG mask → 实例 ID 图;剔除全零占位通道(坑 8)。"""
import imageio.v3 as iio
frames = iio.imread(path) # (C, H, W)
out = np.zeros(frames.shape[1:], dtype=np.int32)
k = 0
for ch in frames:
if ch[0, 0] == 0 and ch.sum() == 0:
continue # 全零占位通道
k += 1
out[ch > 0] = k
return out
附录 F:双口径登记表(写作与引用对照)
| 议题 | 口径 A | 口径 B | 本条目采用 | 对应坑 |
|---|---|---|---|---|
| 实验条件描述 | 22 种实验条件(论文) | 22 cell types(HF 镜像转述) | 口径 A | 坑 1 |
| 归档图数 | 735 image sets(BBBC 合并) | 670 train(Kaggle 竞赛) | 双口径并写 | 坑 3 |
| 训练核数 | 29,461(RLE 可算) | 29,443(二手论文) | 29,461 | 坑 2 |
| 参赛规模 | 3,891 teams(论文+Kaggle) | 861 队(媒体稿) | 3,891 | 坑 4 |
| stage1 公榜 | 65 图全量(竞赛页) | 304 张(社区误记) | 65 | 坑 5 |
| 论文状态 | 已发表(Nature Methods 2019) | to be submitted(BBBC 页旧文案) | 已发表 | 坑 6 |
| 数据身份 | 2018 DSB = BBBC038v1 | 2019 DSB(另一赛事) | 2018 = 本条目 | 坑 7 |
| top1 分数 | 0.600(两位有效引用) | 0.6001/0.60035(第四位) | 0.600 | §4.3 戒律 |
附录 G:坑点档案(与 §10 对照)
| 坑 | 一句话 | 高发场景 |
|---|---|---|
| 坑 1 | 「22 cell types」是转述失真 | 引 HF 卡片/二手文章写综述 |
| 坑 2 | 训练核数 29,461 vs 29,443 | 文献交叉核对 |
| 坑 3 | 735 vs 670 图 | 混读 BBBC 页与 Kaggle 页 |
| 坑 4 | 861 vs 3,891 队 | 引媒体稿 |
| 坑 5 | stage1 计分 304 误记 | 读社区经验帖 |
| 坑 6 | BBBC 页旧文案「论文待发表」 | 只看归档页不查论文 |
| 坑 7 | 2018 ≠ 2019 DSB | HF/关键词检索 |
| 坑 8 | mask 重组三翻车点(求和降级/全零通道/重叠未拆) | 数据加载与提交代码 |
附录 H:竞赛时间线大事记
| 日期 | 事件 |
|---|---|
| 2018-01-12 | Kaggle 竞赛页建立,stage1 数据发布 |
| 2018-01-16 | 竞赛正式开始 |
| 2018 年 1-4 月 | 3,891 支队伍参与;公榜以 stage1_test 65 图滚动 |
| 2018-04-13 | 奖牌与组队截止 |
| 2018-04-17 | 竞赛结束(stage1 关闭) |
| 2018-04-18 | stage2_test_final 约 3,019 张公布,48 小时短窗提交终榜 |
| 2018 年(赛后) | BBBC038v1 归档发布,CC0 释放 |
| 2019-12-12 | Nature Methods 论文刊出(16(12):1247–1253) |
| 2020 至今 | CellPose/StarDist/HoverNet 世代沿用为标准外部验证集 |
附录 I:metadata 字段与 22 条件研究指南
BBBC038v1 metadata CSV(16.5 KB)逐图记录以下字段,是按条件分层评测的钥匙:
| 字段 | 内容 | 分层研究用法 |
|---|---|---|
| 来源平台(source plate) | 图像产出实验室/项目 | 评估实验室效应 |
| 染色(stain) | H&E/DAB/DAPI/组蛋白/GFP 等 | 染色泛化矩阵 |
| 显微方式(microscopy) | 宽场/共聚焦/多光子/相差 | 成像方式消融 |
| 物种(organism) | 人/小鼠/果蝇/斑马鱼等 | 跨物种迁移 |
| 组织(tissue/cell line) | 14+ 组织与培养细胞 | 器官维度泛化 |
推荐协议:①以 metadata 给 670 训练图打条件标签;②留出 2-3 个条件做 hold-out(如「全部相差图像」);③报告逐条件 mAP + hold-out 降幅——这比总分更能回答「模型会不会泛化」。
附录 J:Top-3 方案对照表
| 维度 | 第 1 名 selimsef | 第 2 名 jacobkie | 第 3 名 Lopezurrutia |
|---|---|---|---|
| GitHub | selimsef/dsb2018_topcoders | jacobkie/2018DSB | Lopezurrutia/DSB_2018 |
| 架构 | U-Net + LinkNet/FPN(ResNet/SE-ResNeXt/Inception-resnet-v2 骨干) | Mask R-CNN(matterport) | U-Net 类 |
| 损失 | BCEDiceJaccardLoss | 轮廓损失(多任务) | 标准 BCE/Dice |
| 后处理 | LightGBM 连通域打分过滤 | watershed 拆分 | 形态学 + watershed |
| 训练技巧 | stage1_test 伪标签二阶段 | 多尺度训练 | — |
| mAP | ≈ 0.600 | ≈ 0.593 | ≈ 0.582 |
| 可迁移要点 | 实例级判别交给表格模型 | 检测式框架处理粘连 | watershed 是最低成本拆分方案 |
附录 K:引文规范(BibTeX)
@article{caicedo2019nucleus,
author = {Caicedo, Juan C. and Cooper, Jonathan and Heifetz, Asa and others},
title = {Evaluating automatic algorithms for nucleus segmentation
across multiple experiments},
journal = {Nature Methods},
volume = {16},
number = {12},
pages = {1247--1253},
year = {2019},
doi = {10.1038/s41592-019-0612-7},
note = {PMID 31636459, PMCID PMC6919559}
}
@misc{dsb2018data,
author = {{Booz Allen Hamilton and Kaggle}},
title = {2018 Data Science Bowl (BBBC038v1)},
howpublished = {Kaggle competition data-science-bowl-2018; archived at
Broad Bioimage Benchmark Collection BBBC038v1},
year = {2018},
note = {License: CC0 1.0}
}
作者列表以论文页为准(12 位作者,此处为缩略格式模板);引用前核对 Nature Methods 页面的完整作者序。
附录 L:本条目生产档案
| 项 | 值 |
|---|---|
| 写手代理 | agent-d-dsb2018(RSI 闭环) |
| 工作目录 | /workspace/qianfanghub-study |
| FACTS 底稿 | writing/dsb2018/FACTS.md(十节,12 来源 URL) |
| 研究渠道 | Kaggle 竞赛页/Data 页、BBBC038 页、Nature Methods/PMC、三 GitHub、nucleaizer.org、hf-mirror.com |
| 抓取与核验时点 | 2026-10-04 |
| slug 查重 | ILIKE '%dsb%' 返回 0 行 |
| 校验工具 | scripts/check_md.py + scripts/preflight_check.py(双零目标) |
| 互链对象 | monusac(rid 651)/consep(rid 228)/pannuke(rid 218) |
附录 M:22 条件的四维度全清单
论文口径「22 种实验条件」是四个维度的组合采样(精确的 22 项逐条对照以论文 Methods 表为准;BBBC038v1 metadata CSV 是逐图落地记录)。四维度全清单:
| 维度 | 取值(论文描述收集) | 对分割的影响 |
|---|---|---|
| 物种 | 人类、小鼠、果蝇、斑马鱼等模式生物 | 核大小/密度/形态分布漂移 |
| 组织/来源 | 肺、乳腺、前列腺、膀胱、结肠、肾脏、胰腺、脾脏、肝脏、淋巴结、皮肤、骨髓、脑、子宫等 14+ 组织,外加培养细胞系 | 组织学结构与背景复杂度差异 |
| 染色/标记 | H&E、DAB(组织化学);DAPI、组蛋白、GFP(荧光) | 对比度极性反转(亮核 vs 暗核)、通道数不同 |
| 显微方式 | 宽场、共聚焦、多光子荧光、相差 | 点扩散函数、噪声模型、背景水平不同 |
| 分辨率/倍率 | 15 档(约 360×360 至 1094×1300) | 单视野核数从个位数到数百,尺度不均 |
组合语义提醒:22 是「条件组合数」,不等于 4 维度取值的笛卡尔积——并非每个组合都有样本;做 hold-out 设计时先查 metadata 的实际分布(附录 I)。
附录 N:人机对比实验细读
| 设计要素 | 内容 |
|---|---|
| 参与者 | 50 名人类标注者(Broad 组织) |
| 工具 | 与标注流水线相同的 web 工具(放大、逐核手绘) |
| 任务 | 与算法完全同图同协议:逐实例分割 + 同一 mAP 评测 |
| 对照算法 | 竞赛 Top 方案(Mask R-CNN 类)与传统方法 |
三层结论与引用建议:
- 人类间不一致:相邻核边界的人类标注方差显著——引用时表述为「人类标注者间亦无法稳定一致」,不要写成「人类标注互相矛盾」。
- 高阈值段同步恶化:IoU>0.7 段人类与算法表现同步下降——这是「任务物理不确定性」的核心证据,支撑 mAP@0.95 档天花板论(§4.4)。
- 方法学定位:该实验把「评测协议的合理性」本身变成研究对象——这是论文被引近千次的主因之一,与数据集本身同等重要。
附录 O:四库逐维对照总表(DSB2018 × monusac × consep × pannuke)
| 维度 | DSB2018(本条目) | monusac(rid 651) | consep(rid 228) | pannuke(rid 218) |
|---|---|---|---|---|
| 规模 | 841 图/37,329 核 | 多器官 H&E 数千核 | 结直肠 18 H&E | 泛癌数百万核级 patch |
| 条件覆盖 | 22 种条件、跨物种跨染色 | 4 器官、单染色系 | 单器官单中心 | 多癌种、单染色 |
| 类别 | 1(核) | 4 核类 | 7 核类 | 6 核类 |
| 标注者 | Broad 平台 two-pass | 病理专家 | 专家 | 众包+质检(社区口径) |
| 评测 | mAP@IoU 0.5:0.05:0.95 | mask mAP + F1 | 实例 mAP/PQ | 多类 PQ/mPQ |
| 许可 | CC0 1.0 | 学术许可(条目页为准) | 学术许可 | CC BY-NC-SA 口径 |
| 获取 | 双渠道免申请 | 条目页渠道 | 条目页渠道 | 条目页渠道 |
| 生态位 | 条件广度基准 | 语义扩展后继 | 协议可比对 | 规模化路线 |
引用提示:其余三库的数字以库内条目页为准,本表只做关系定位;跨库跑分时注意各库评测实现差异(一对多匹配策略、空洞处理)。
附录 P:训练最小复现骨架(代码)
# 环境参考:torch >= 2.0, segmentation-models-pytorch >= 0.3
import numpy as np
import torch
import torch.nn as nn
import segmentation_models_pytorch as smp
class BCEDiceJaccardLoss(nn.Module):
"""冠军方案同型组合损失:像素级稳定项 + 两个区域级指标项。"""
def __init__(self, bce_weight=0.5, dice_weight=0.5, jaccard_weight=0.5):
super().__init__()
self.bce = nn.BCEWithLogitsLoss()
self.bce_weight = bce_weight
self.dice_weight = dice_weight
self.jaccard_weight = jaccard_weight
def forward(self, logits, targets):
bce = self.bce(logits, targets)
probs = torch.sigmoid(logits)
smooth = 1.0
intersect = (probs * targets).sum(dim=(2, 3))
union_d = probs.sum(dim=(2, 3)) + targets.sum(dim=(2, 3))
union_j = union_d - intersect
dice = 1 - ((2 * intersect + smooth) / (union_d + smooth)).mean()
jacc = 1 - ((intersect + smooth) / (union_j + smooth)).mean()
return (self.bce_weight * bce
+ self.dice_weight * dice
+ self.jaccard_weight * jacc)
def build_model(encoder="se_resnext50_32x4d"):
return smp.Linknet(
encoder_name=encoder, encoder_weights="imagenet",
in_channels=3, classes=1) # 二值 logits,实例级后处理交给附录 Q/R
# 训练要点(与 §8.2 对应):
# 1) 输入:任意图先转 RGB 三通道(灰度荧光图复制通道,勿丢对比度信息);
# 2) 目标:二值 mask(实例 mask 直接求和——训练侧允许,评测侧不行);
# 3) 裁 patch 时保持实例完整(跨 patch 实例整保留或丢弃);
# 4) 优化器 Adam lr=1e-4,cosine 退火,早停看 val mAP@0.5 而非 loss。
附录 Q:按条件分层评测骨架(代码)
import collections
import pandas as pd
def per_condition_map(pred_masks: dict, gt_masks: dict,
meta: pd.DataFrame) -> pd.DataFrame:
"""按 metadata 条件字段分层报告 mAP。
pred_masks/gt_masks: {image_id: 实例 ID 图(附录 E 产出)}
meta: BBBC038v1 metadata CSV,index 为 image_id"""
rows = []
for cond_col in ["stain", "microscopy", "organism", "tissue"]:
groups = meta.groupby(cond_col).groups
for cond, ids in groups.items():
scores = [map_at_ious(pred_masks[i], gt_masks[i])
for i in ids if i in pred_masks and i in gt_masks]
if scores:
rows.append({"field": cond_col, "condition": cond,
"n_images": len(scores),
"mAP": float(np.mean(scores))})
return pd.DataFrame(rows).sort_values(["field", "mAP"])
def map_at_ious(pred, gt, thresholds=np.arange(0.5, 1.0, 0.05)):
"""单图 mAP:11 档 IoU 的 AP 均值。匹配规则见 §4.1(一对一贪心)。"""
aps = []
for t in thresholds:
matched_gt, tp_flags = set(), []
# pred/gt 均为实例图:按预测实例面积降序贪心一对一匹配
for p_inst in instances_by_area_desc(pred):
best_iou, best_g = 0.0, None
for g_inst in range(1, gt.max() + 1):
if g_inst in matched_gt:
continue # 一对一:真值只许匹配一次
iou = iou_of(p_inst, g_inst, pred, gt)
if iou > best_iou:
best_iou, best_g = iou, g_inst
if best_iou >= t:
matched_gt.add(best_g)
tp_flags.append(True)
else:
tp_flags.append(False)
n_gt = gt.max()
prec = np.cumsum(tp_flags) / (np.arange(len(tp_flags)) + 1)
aps.append(prec[tp_flags].sum() / n_gt if n_gt else 0.0)
return float(np.mean(aps)) if aps else 0.0
附录 R:常见 bug 三则(代码对照)
# BUG 1:通道求和把实例分割降级成二值图(坑 8)
wrong = (channels.sum(axis=0) > 0).astype(int) # 实例 ID 全部丢失!
right = multichannel_png_to_instances(path) # 附录 E:逐通道编号
# BUG 2:忘记剔除全零占位通道,空实例计入损失与指标
n_instances_wrong = channels.shape[0] # 含空占位,虚高
frames = [ch for ch in channels if ch.sum() > 0] # 先过滤再计数
# BUG 3:RLE 行优先解码导致整体转置错位(Q26)
mask = rle_decode(rle, (h, w)) # 附录 E 已按列优先转置还原
# 若你的下游管线再 .T 一次,会得到「看起来像图但核位置全错」的结果——
# 用「实例数与标注 CSV 行数一致 + 抽 1 图人工比对」双检收尾。
三则 bug 的共同教训:DSB2018 的数据格式有三个「非默认约定」(列优先 RLE、通道即实例、全零占位)——任何复用现成分割代码库的场景都要先核对这三点。
附录 S:检索路径示范(关键词组合与查询式)
| 目标 | 推荐查询式 |
|---|---|
| 找数据本体 | 「2018 Data Science Bowl」精确短语;「BBBC038」;Kaggle slug data-science-bowl-2018 |
| 找论文与复现 | 「nucleus segmentation」+「data science bowl」+「Nature Methods」;Caicedo 2019 |
| 找方案代码 | GitHub 主题:dsb2018、kaggle-nuclei;三个 Top-3 仓库名直查(§4.3) |
| 找后续评测引用 | 「BBBC038」+「external validation」+ CellPose/StarDist/HoverNet |
| HF 生态 | hf-mirror 搜 data-science-bowl/bbbc038;勿收 2019 Bowl(坑 7) |
| 库内关联 | monusac/consep/pannuke 条目页 → 核分割家族检索面(§9) |
检索卫生三条:①「DSB」裸缩写歧义大,必带年份;②「Data Science Bowl」裸词会命中四届不相关赛事;③引用任何二手数字前先过附录 F 双口径表。
附录 T:FAIR/AI-Ready 检查单
| 检查项 | 状态 | 说明 |
|---|---|---|
| F1 全局唯一标识 | 通过 | DOI(论文)+ Kaggle slug + BBBC 编号三重标识 |
| F2 富描述元数据 | 通过 | BBBC 页描述 + metadata CSV + 论文 Methods |
| F3 标准化标识符 | 部分通过 | 图像无逐图 DOI(metadata csv 内部 ID) |
| A1 可检索协议 | 通过 | HTTPS 直链 + Kaggle 检索 |
| A2 标准格式 | 通过 | PNG/CSV,无专有格式 |
| A3 许可明确 | 通过 | CC0 1.0 三源一致,本库最宽松档 |
| I1 表示格式开放 | 通过 | PNG/CSV/zip |
| I2 词汇表对齐 | 部分通过 | 条件维度自定义字段,未对齐本体检索词表 |
| R1 来源溯源 | 通过 | 论文 + BBBC 归档链完整 |
| R2 社区维护 | 通过 | Broad 长期归档 + HF 镜像 + nucleaizer 衍生 |
| AI-R 就绪性 | 通过 | 体量/格式/许可三项全绿;无官方加载器为唯一短板(附录 B) |
附录 U:基于本数据集的研究检查清单(12 项)
- 训练/测试划分是否严格隔离 stage2 图池(106 计分图之外无真值,坑 5)?
- mask 加载是否处理了全零占位通道(坑 8)?
- RLE 解码是否按列优先还原(附录 E)?
- 评测是否一对一匹配(一个真值只匹配一次)?
- 是否报告了逐档 IoU 曲线而非单一 mAP?
- 是否按 22 条件分层报告(附录 I/Q)?
- 引用的核数口径是 29,461 还是 29,443(坑 2),全文是否一致?
- 图数口径按「竞赛 670 / 归档 735」双写了吗(坑 3)?
- 真值版本声明了吗(BBBC 原版 vs nucleaizer 修订版)?
- 与 Top-3 比较时是否复现了其后处理(纯网络分数不可比)?
- 是否误把「22 cell types」写成了细胞类型分类(坑 1)?
- 许可声明是否区分了数据(CC0)与论文(CC BY 4.0)?
附录 V:维护计划与触发点
| 触发点 | 动作 |
|---|---|
| BBBC038v1 发布新版本(v2) | 核对四包结构变化,更新 §5.2/附录 C |
| Kaggle 竞赛页下线或迁移 | 以 BBBC038v1 为新主渠道改写 §5.1 |
| HF 镜像下载/赞数大幅变化 | 更新 §6.2 表与附录 C 抓取行 |
| 论文被引跨越千次 | 更新 §1/事实清单第 6 条口径与抓取时点 |
| 库内新增核分割条目(如 nuinsseg 入库) | 扩 §9.1 家族图谱与附录 O |
| 通用核分割 SOTA 更换主力架构 | 复核 §8.2 配方建议的新鲜度 |
附录 W:缩写速查
| 缩写 | 全称/释义 |
|---|---|
| DSB2018 | 2018 Data Science Bowl(本条目主名) |
| BBBC | Broad Bioimage Benchmark Collection(038 = 本数据编号,v1 = 版本) |
| RLE | Run-Length Encoding,游程编码 |
| mAP | mean Average Precision,平均精度均值 |
| IoU | Intersection over Union,交并比 |
| TP/FP/FN | 真/假阳性、假阴性 |
| AP | Average Precision,PR 曲线下面积近似 |
| WSI | Whole Slide Image,全切片图像(本数据集不含,见 §11.3) |
| H&E | Hematoxylin and Eosin,苏木精-伊红染色 |
| DAB | 3,3’-Diaminobenzidine,DAB 显色底物 |
| DAPI | 4’,6-二脒基-2-苯基吲哚,核荧光染料 |
| GFP | Green Fluorescent Protein,绿色荧光蛋白 |
| FPN | Feature Pyramid Network,特征金字塔 |
| SE | Squeeze-and-Excitation,通道注意力模块 |
| AJI | Aggregated Jaccard Index |
| PQ | Panoptic Quality,全景质量指标(pannuke 系使用) |
| CC0 / CC BY | 知识共享公共领域 / 署名许可 |
附录 X:论文 20 方案重测的结构化要点
论文把 12 队 20 方案(14 深度学习 + 6 非深度学习)放到统一划分(24,062/1,419/4,721 核)重测,结构化要点:
| 发现 | 内容 | 对使用者的意义 |
|---|---|---|
| 深度学习整体占优 | 14 个深度方案在多数条件上领先 6 个传统方案 | 传统方法(阈值/形态学)仍值得做基线与兜底 |
| 条件间波动更大 | 深度方案跨 22 条件的成绩方差高于传统方案 | 报告逐条件成绩,别只报总分 |
| 高阈值段普遍崩塌 | IoU>0.7 段全体(含人类)急剧下降 | 评测报告建议附整段曲线(§4.4) |
| 后处理不可分 | 竞赛方案普遍以 watershed/过滤后处理拔分 | 复现对比须声明后处理配置 |
附录 Y:竞赛机制设计复盘(对组织者的启示)
| 机制 | DSB2018 做法 | 复盘要点 |
|---|---|---|
| 双阶段 + 隐藏图池 | stage2 约 3,019 张、106 计分、48 小时短窗 | 防榜工程的关键是「图池大、计分小、窗口短」 |
| 公榜/私榜分离 | stage1_test 65 图公榜滚动 | 公榜图全量可见时,伪标签等操作会「合法泄漏」——如今设计基准需引以为鉴 |
| 评测协议前置 | mAP@IoU 扫描 + RLE 格式在开赛即固化 | 协议即资产:固化协议比堆数据量更长寿 |
| 数据与运营分工 | Broad 标注/背书,Booz Allen/Kaggle 运营 | 质量关与流量关分离,公信力来自分工 |
附录 Z:如何快速浏览这批数据(30 分钟视觉审计流程)
- 随机抽 12 张(每个条件组至少 1 张),平铺查看:核对灰度/彩色、亮核/暗核、视野大小的直观差异;
- 叠 mask 着色:把多通道 mask 转成随机色板叠加原图,肉眼检查对齐与漏标;
- 数一数:抽 3 图人工数核,与 mask 通道数对照(误差 >2 值得警惕全零通道 bug);
- 查极端:找最大视野(1094×1300)与最小视野(360×360)各一张,确认裁 patch 策略(§8.2/Q30);
- 对 metadata:抽 2 图核对 metadata CSV 的染色/显微方式字段与图像实际观感一致——发现不一致先修分层标签再训练。
附录 AA:mAP 计算逐步数值小例(toy 演示)
自造最小例子演示一对一匹配与 AP(非真实数据,仅演示协议语义):
- 设一张图有 3 个真值实例(GT1/GT2/GT3),4 个预测(按置信度降序);
- IoU=0.5 档:P1(0.9)↔GT2 IoU 0.8 → TP;P2(0.8)↔GT1 IoU 0.6 → TP;P3(0.7) 最优匹配是 GT2 但 GT2 已被 P1 占用(一对一规则)→ FP;P4(0.4) 无 ≥0.5 匹配 → FP;GT3 未被匹配 → FN;
- AP@0.5 = 逐 TP 累计 precision 之和 ÷ 真值数 = (1/1 + 2/2) ÷ 3 = 0.667;
- IoU=0.8 档:仅 P1↔GT2 成立 → AP@0.8 = (1/1) ÷ 3 = 0.333;
- 两档均值(演示用 2 档简化)= 0.5;真实协议为 11 档(0.5:0.05:0.95)。
两个可迁移的直觉:①一对多「一盖三」在协议下只得 1 TP + 2 隐性 FP,分数反而更低——协议天然惩罚粘连未拆;②高 IoU 档对边界精度指数级苛刻,最后一两档常把均值拖低 0.1 以上。
附录 AB:常见误解澄清清单
- 「841 张都是患者组织切片」——错:相当比例来自培养细胞与模式生物(附录 M)。
- 「22 类细胞分类数据集」——错:单类别实例分割,22 是实验条件数(坑 1)。
- 「mask 有重叠需要我处理」——真值 mask 互不重叠(标注规则);只有你的预测需要拆分。
- 「stage2 的 3,019 张都有真值」——错:归档仅 106 计分图带真值(坑 5)。
- 「DSB2018 是 BBBC038v2」——不存在 v2,唯一版本 v1(§2.5)。
- 「冠军是单个大模型端到端」——错:三段式(分割 + LightGBM 过滤 + 伪标签二阶段),后处理贡献显著(附录 J)。
- 「mAP 0.6 很低所以任务没做好」——错:mAP@0.95 档天花板低是任务属性(附录 N/X)。
- 「CC0 = 不需要引用论文」——法律上无需署名,学术规范仍应引用论文与数据(附录 K)。
附录 AC:从 DSB2018 出发的进阶资源地图
| 方向 | 资源 | 关系 |
|---|---|---|
| 官方归档 | bbbc.broadinstitute.org/BBBC038 | 数据主渠道之一(§5.2) |
| 竞赛原站 | kaggle.com/c/data-science-bowl-2018 | 数据 + 论坛(方案讨论富矿) |
| 方法学论文 | PMC6919559(CC BY 4.0) | 协议语义与人机对比的权威文本 |
| 冠军代码 | github.com/selimsef/dsb2018_topcoders | 附录 P 配方的完整工程版 |
| 修订真值 | nucleaizer.org | 更干净 mask + ilastik 工具链(§5.4) |
| 通用核模型 | CellPose / StarDist / HoverNet 论文 | 把本数据当外部验证集的当代范式 |
| 库内后继 | monusac(651)/consep(228)/pannuke(218) | 语义与规模扩展(§9.1/附录 O) |
| 教学线 | CellProfiler/Cellpose 教程引用 BBBC038 | 零门槛入门材料(§6.3) |
附录 AD:跨库选型决策扩展(什么时候选 DSB2018)
附录 D 决策树回答「怎么获取本数据」,本表回答「什么时候该选它而不是库内邻居」:
| 你的需求 | 选谁 | 理由 |
|---|---|---|
| 跨染色/成像方式泛化评测 | DSB2018 | 唯一把 22 条件当设计变量的条目 |
| 核分类(核型语义) | monusac(rid 651) | 4 核类专家标注;DSB2018 单类 |
| 单中心深度基准(7 类核) | consep(rid 228) | 协议精细;DSB2018 广而浅 |
| 大规模训练监督 | pannuke(rid 218) | 核数量级差距;DSB2018 670 图偏小 |
| 工业商用许可 | DSB2018 | CC0 本库最宽松(pannuke 系 NC 口径) |
| 标注辅助工具训练 | DSB2018(或其 nucleaizer 修订版) | nucleaizer 路径已验证(§6.7) |
| 教学第一课 | DSB2018 | 143 MB/PNG/笔记本可跑(§6.7) |
| 评测协议研究 | DSB2018 | 完整人机对比数据(附录 N) |
组合建议:以 DSB2018 打广度、monusac/pannuke 给语义与规模、consep 做协议对照——四库拼图覆盖核分割研究的全部主要维度(§9.1)。
附录 AE:文档口径版本声明
本条目自身的口径约定(写作规范存照,供后续维护者对照修订):
| 项 | 本条目约定 | 理由 |
|---|---|---|
| 数据名 | 正文首次「2018 Data Science Bowl」,此后 DSB2018 与 BBBC038v1 按语境使用 | 论文/归档双名制(Q1/Q8) |
| 图数 | 竞赛口径 670/65/106 为主,归档口径 735 并写一次(坑 3) | 避免正文数字混乱 |
| 核数 | 29,461(train)/4,152(stage1_test)/3,716(stage2 计分) | RLE 可算口径(坑 2) |
| 队伍数 | 3,891(唯一口径,媒体数不引) | 双源一致(坑 4) |
| 分数 | top1 0.600 / top2 0.593 / top3 0.582 | 两位小数戒律(§4.3) |
| 条件描述 | 「22 种实验条件」,禁用「22 cell types」 | 论文口径(坑 1) |
| 时间 | 事件级日期(发布/开赛/截止/结束/终榜/论文刊出) | 附录 H 大事记为锚 |
| 抓取时点 | 2026-10-04(Kaggle 页/BBBC 页/HF API/nucleaizer 官网) | 附录 A/C |
附录 AF:标注格式对照与转换表(RLE × 多通道 PNG × 实例 ID 图)
| 属性 | RLE CSV | 多通道 PNG mask | 实例 ID 图(附录 E 产物) |
|---|---|---|---|
| 载体 | 文本(ImageId,EncodedPixels) | 多帧 PNG | 单通道整型数组 |
| 扫描序 | 列优先(Kaggle 本赛约定) | 通道即实例,帧内行列自然序 | 行主序数组 |
| 体积 | 最小(稀疏文本) | 中(无损 PNG 压缩) | 大(未压缩) |
| 实例数读取 | 数 RLE 对段数 | 帧数 − 全零占位帧 | max() 值 |
| 空实例表达 | 空 EncodedPixels | 全零占位帧 | 无对应值 |
| 重叠可能 | 可(多段交叠) | 否(帧间互斥约定) | 否(后写覆盖) |
| 转出 | → 实例 ID 图:逐对填充(附录 E) | → 实例 ID 图:逐帧编号 | → 二值图:(x>0);→ RLE:游程压缩重编码 |
转换链推荐:以实例 ID 图为中间格式做一切检查(对齐、计数、可视化),训练时降为二值,提交时再回 RLE——单向链路避免多次往返引入的转置/占位 bug(附录 R)。
附录 AG:逐章来源引用索引(对应 FACTS 12 个来源 URL)
| 章节 | 主要来源(FACTS §10 编号) |
|---|---|
| §1/§2 规模与文件 | 竞赛页+数据页(URL 1/2)、BBBC038v1(URL 3) |
| §2.3 条件多样性 | 论文(URL 4/5)、HF MedOtter 卡片(URL 11,口径存照) |
| §3 标注 | 论文 Methods(URL 4/5) |
| §4 评测与 Top-3 | 竞赛 Evaluation 页(URL 1/2)、三 GitHub(URL 7/8/9)、论文(URL 4/5) |
| §5 获取与许可 | 竞赛数据页(URL 2)、BBBC038v1(URL 3)、nucleaizer.org(URL 10)、HF 镜像(URL 11/12/13) |
| §6 生态 | Kaggle 博客(URL 14)、hf-mirror API(URL 11/12/13) |
| §7/§8 方法与使用 | 论文结论(URL 4/5)+ 本条目综合分析 |
| §9 互链 | 库内条目 monusac(651)/consep(228)/pannuke(218) |
| §10 八坑 | 各口径源对照(FACTS §9 存照 1-8) |
全量 URL 见条目配套 FACTS 底稿(writing/dsb2018/FACTS.md §10,12 条);本索引保证成稿任一硬数字可在一跳内回溯到来源与位置(附录 C 为数字级索引,本表为章节级索引)。
附录 AH:七日上手路径(新手到首个可复现分数)
| 日 | 任务 | 产出与验收 | 参照 |
|---|---|---|---|
| Day 1 | 注册 Kaggle、下载数据、浏览 BBBC 页与论文摘要 | 数据就位;能说出 670/65/106 划分 | §5.1/5.2 |
| Day 2 | 实现数据层:RLE 解码 + 多通道重组 + 全零过滤 | 附录 R 三则 bug 双检通过 | 附录 E/R |
| Day 3 | 视觉审计:抽 12 图叠色、人工数核、核对 metadata | 确认对齐无误、条件观感与 metadata 一致 | 附录 Z/I |
| Day 4 | 基线训练:U-Net + BCEDiceJaccardLoss,二值输出 | 训练收敛;单条件过拟合测试通过 | 附录 P |
| Day 5 | 实例化:距离变换 + watershed 拆分预测 mask | 提交格式合法、无重叠实例 | 附录 J/Q26-29 |
| Day 6 | 评测搭建:toy 数例验证评测代码 → 全量 mAP + 分层 | 附录 AA 验证通过;逐条件表产出 | §4.1/附录 AA/Q |
| Day 7 | 对标与报告:与 Top-3 比较声明配置;写结果小结 | 按 §8.8 七要素成文 | §8.8/附录 K |
节奏说明:Day 2 与 Day 6 是全路径的成败关键——数据加载与评测实现各占踩坑量的一半(§8.7 诊断顺序同源);Day 4 不追求分数只追求「管线端到端跑通」。
附录 AI:分角色阅读路径
| 角色 | 建议路径 | 核心问题 |
|---|---|---|
| 快速决策者 | INFOBOX → §1 十问 → 11.4 决策卡 | 这数据能不能解决我的问题(5 分钟) |
| 复现工程师 | §5 获取 → 附录 E/R → §8.5 路线图 → 附录 P/Q | 怎么最快跑出可信分数 |
| 综述/论文作者 | §4 评测 → §10 八坑 → 附录 F/G → 附录 K | 哪些数字口径必须核对 |
| 教师/课程设计 | §6.7 → 附录 Z/AH → §1 | 怎么把它设计成练习 |
| 数据工程/治理 | 附录 B DAIMS → 附录 T FAIR → §5.3 许可 | 元数据与许可完备度如何 |
| 库内互链维护者 | §9 → 附录 O/AD → 附录 AE | 与邻居条目的边界与分工 |
附录 AJ:Data Card 摘要(标准卡片式重述)
| 卡片字段 | 内容 |
|---|---|
| 动机 | 建立跨条件通用核分割基准;服务生物学图像分析自动化(论文动机节) |
| 构成 | 841 图(670+65+106)/37,329 核;22 条件;PNG + RLE + metadata |
| 收集过程 | Broad Imaging Platform 汇集多方来源图像,GIMP+web 工具 two-pass 标注(§3) |
| 预处理 | 官方未统一归一化;原始 PNG 直出; mask 零降采样对齐 |
| 分发 | Kaggle 7 件 / BBBC 四包 / HF 镜像 / nucleaizer 修订(§5) |
| 维护 | Broad BBBC 长期归档;竞赛页由 Kaggle 维护;无版本更新计划公告 |
| 使用限制 | 非患者队列;单类别;stage2 大部分无真值(§8.4) |
| 许可 | CC0 1.0;论文 CC BY 4.0(§5.3) |
| 引用 | 附录 K BibTeX 两条 |
| 已知偏差 | 条件不平衡采样、边界不确定性、人类标注方差(附录 N/X) |
附录 AK:评测结果记录模板(研究者自用)
[实验记录] 日期:____ 作者:____
数据口径:train=stage1_train 670 图 | val=stage1_test 65 图 | test=stage2 计分 106 图
真值版本:BBBC038v1 原版 / nucleaizer 修订(圈选)
模型:____ 骨干:____ 输入尺寸:____ 增强:____
后处理:watershed(____) / LightGBM(____) / 其他:____
┌──────────────┬──────┬──────┬──────┐
│ 条件组 │ n 图 │ mAP │ AJI │
├──────────────┼──────┼──────┼──────┤
│ 全量 │ 106 │ │ │
│ H&E 系 │ │ │ │
│ 荧光系 │ │ │ │
│ 宽场/共聚焦 │ │ │ │
│ 相差 │ │ │ │
│ hold-out 条件│ │ │ │
└──────────────┴──────┴──────┴──────┘
与 Top-3 对比:__(声明后处理配置差异:____)
遗留问题与下一步:____
模板设计要点:条件分组行按 metadata 字段预填(附录 I);「hold-out 条件」行提醒泛化实验;每行都可回溯 §8.8 报告七要素。
尾注
本条目为 AI-Ready Wikipedia 数据集条目,生产于 2026-10-04,抓取与核验时点见附录 A/L/AC。事实陈述以论文(Nature Methods 16(12):1247–1253, 2019,DOI 10.1038/s41592-019-0612-7)、Kaggle 竞赛页与 BBBC038v1 官方页、Top-3 开源仓库及 hf-mirror.com API 为源;训练核数双口径(29,461/29,443)、归档与竞赛图数口径(735/670)、参赛规模口径(3,891/861)、stage1 计分图数误记(304)、BBBC 页旧文案等原始文档缺陷已在坑点与附录 F/G 存照。条目与库内 monusac(rid 651)、consep(rid 228)、pannuke(rid 218)互链,构成「条件广度 × 类别语义 × 数据规模」的核分割检索面;2015-2017 及 2019 届 Data Science Bowl 均为独立赛事数据,检索与引用时注意年份限定(坑 7)。维护触发点见附录 V,口径约定见附录 AE。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- neurips22-cellseg — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 挑战赛数据集 / 评测基准
- wsss4luad — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 挑战赛数据集 / 评测基准
- monusac — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 挑战赛数据集 / 评测基准
- segpc-2021 — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 挑战赛数据集 / 评测基准
- kpis — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 挑战赛数据集 / 评测基准
- cosas — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 挑战赛数据集
- psfhs — 共享标签:医学影像 / 医学图像分割 / 挑战赛数据集 / 评测基准
- monuseg — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 评测基准
- puma — 共享标签:医学影像 / 医学图像分割 / 病理图像 / 挑战赛数据集
- siim-acr-pneumothorax — 共享标签:医学影像 / 医学图像分割 / 挑战赛数据集 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

