信息速览
C-NMC 2019 — ISBI 急性淋巴细胞白血病细胞分类挑战数据集
一句话概括:C-NMC 2019 是一份用外周血涂片显微图像回答「这一个淋巴细胞是正常还是白血病」的公开数据集——它把血液科医生在显微镜下最难的判断题,做成了 118 位受试者、约 1.5 万张 450×450 单细胞图像的机器学习基准。
INFOBOX · 速览卡
| 字段 | 内容 |
|---|---|
| 全称 | Classification of Normal versus Malignant Cells in B-ALL White Blood Cancer Microscopic Images |
| 简称 / slug | C-NMC 2019 / cnmc-2019 |
| 中文名 | C-NMC 2019 急性淋巴细胞白血病细胞分类数据集 |
| 数据模态 | 外周血涂片(peripheral blood smear)单细胞显微图像,24-bit RGB BMP |
| 疾病领域 | 血液肿瘤 — B 系急性淋巴细胞白血病(B-ALL) |
| 任务类型 | 单细胞二分类(leukemic B-lymphoblast vs normal B-lymphoid precursor / hematogone) |
| 受试者数 | 118(ALL/cancer 69 + Normal 49) |
| 图像总数 | 约 15,135(集合页口径)/ 15,114(竞赛数据集页口径) |
| 图像尺寸 | 450 × 450 像素 |
| 划分方式 | 患者级(subject-level)三折 Fold1/Fold2/Fold3,subject 不跨折 |
| 官方指标 | weighted F1 score(加权 F1) |
| 挑战赛 | ISBI 2019(2019-04-11,意大利威尼斯);CodaLab Competition 20429 |
| 冠军成绩 | Yongsheng Pan,weighted F1 = 0.910 |
| 主办机构 | SBILab / IIIT-Delhi + AIIMS 新德里 |
| 托管平台 | The Cancer Imaging Archive (TCIA) |
| DOI | 10.7937/tcia.2019.dc64i46r |
| 许可 | CC BY 3.0 Unported(可商用,需署名) |
| 数据体积 | 10.44 GB(官方 BMP + CSV + PDF 包) |
| 版本 | Version 1(Current,Updated 2019/03/26) |
| 获取门槛 | 免费注册后下载;Box 有 15 GB 限额,须分批 |
| 社区镜像 | HuggingFace dwb2023/cnmc-leukemia-2019(10,661 张,1.1 GB) |
| 关联论文 | Med Eng Phys 2022;103:103793(doi 10.1016/j.medengphy.2022.103793) |
§0 导读:这份数据集为什么值得单独写一条
在人工智能进入医学影像的十年里,公开数据集大多围绕「看得见的解剖结构」——CT 里的结节、X 光里的浸润、眼底照片里的出血点。C-NMC 2019 却把镜头对准了更小、更微妙、也更依赖形态学经验的对象:一张外周血涂片里的单个淋巴细胞。
它的价值来自一个临床事实。急性淋巴细胞白血病(acute lymphoblastic leukaemia, ALL)是儿童期最常见的恶性肿瘤之一,B 系(B-lineage)病例占绝对多数。诊断的关键步骤之一,是医生在显微镜下观察骨髓或外周血涂片,判断看到的淋巴样细胞究竟属于恶性增殖的白血病性 B 淋巴母细胞(leukemic B-lymphoblast),还是正常造血过程中出现的 B 淋巴前体细胞(normal B-lymphoid precursor,又称 hematogone / 造血母细胞)。这两类细胞在形态上高度相似——同样的圆形轮廓、相近的核质比、染色质细节肉眼难辨——即便是经验丰富的血液科医师,在部分样本上也会犹豫。
C-NMC 2019 正是把这个「医生也要犹豫」的判读任务,转成一个有标准答案、有排行榜、有官方划分的二分类问题。它由印度理工学院德里分校(IIIT-Delhi)的信号与生物医学成像实验室(SBILab)联合全印医学科学研究所(AIIMS)新德里构建,2019 年在国际生物医学成像研讨会(ISBI 2019)上作为官方挑战赛发布,随后由美国国家癌症研究所(NCI)支持的 The Cancer Imaging Archive(TCIA)长期托管,成为血液细胞学 AI 领域被引用最广的公开基准之一。
本条目面向三类读者:想复现 baseline 的算法工程师、评估数据可用性的临床研究者、以及做数据治理与合规的科研管理者。全文按「身份 → 数据构成 → 任务与标注 → 挑战赛与评估 → 获取与许可 → 生态与互链 → 避坑 → 导航」组织,所有硬数字均给出出处口径,遇到官方自身说法冲突处逐条存照(见 §10)。
关于一个必须提前澄清的误会:本条目在派发阶段曾收到「CNMC-2019 为宫颈细胞学/阴道镜相关竞赛数据集」的描述。经 TCIA 集合页、ISBI 2019 官方挑战页、SBILab 官网与 2022 年数据集论文四源交叉核验,C-NMC 2019 是外周血涂片 B-ALL 白血病细胞二分类数据集,与宫颈细胞学无关。库内相邻的三条「宫颈」条目——cric(rid 847)、cervix93(rid 848)、intel-mobileodt(rid 846)——与本数据集在模态、疾病、任务三个维度上均不相同,详见 §7 与 §10 的专门划界说明。
§1 速览十问十答
下面十个问答,是读者在决定「要不要下载这份数据」之前最常问的问题。答案均可在正文后续章节找到更详细的展开与出处。
Q1:这份数据到底是干什么用的?
用于训练和评测「单细胞二分类」模型:输入一张 450×450 的外周血涂片单细胞图像,输出该细胞是白血病性 B 淋巴母细胞(ALL)还是正常 B 淋巴前体细胞(Normal/HEM)。它是 ISBI 2019 官方挑战赛的数据基础,也是 ALL 形态学 AI 的社区基准。
Q2:数据规模有多大?
官方集合页口径为 118 位受试者、约 15,135 张图像;其中训练集 10,661 张(73 subjects)、预测试集 1,867 张(28 subjects)、最终测试集 2,586 张(17 subjects)。另有 TCIA 竞赛数据集页口径为 15,114 张。两者差 21 张,本条目在 §3 与 §10 逐条存照。
Q3:图像长什么样?
450×450 像素、24-bit RGB 的 BMP 文件,是从血涂片显微图中预分割出来的单个淋巴细胞,细胞居中、黑色背景。原图带有染色噪声与光照误差,构建团队用自研染色归一化方法做了大体修正。染色方法一说为 Jenner–Giemsa(单源,见 §10 待核)。
Q4:划分是不是患者级的?会不会泄漏?
是。数据集采用 subject-level(患者级)三折划分:Fold1/Fold2/Fold3,同一个 subject ID 只出现在一折里,因此不会出现「同一患者的细胞既在训练集又在测试集」的图像级泄漏。这是它相对很多早期细胞学数据集的重要优势。
Q5:任务难在哪?
难在两类细胞形态高度相似。论文与 TCIA 原文都把 subject-level variability(个体间变异) 列为关键挑战——不同患者之间的染色、光照、细胞成熟度差异,比两类细胞之间的平均差异还大。
Q6:官方用什么指标衡量?
weighted F1 score(加权 F1)。竞赛排行榜按此排序,冠军成绩为 0.910(Yongsheng Pan)。
Q7:谁赢了比赛?
冠军是西北工业大学夏勇教授课题组与北卡罗来纳大学教堂山分校沈定刚教授团队的联队,获奖博士生 潘永生(Yongsheng Pan),加权 F1 = 0.910,是排行榜上唯一突破 90% 的成绩。方法为深度残差网络 + Fisher Vector 特征聚合 + Fisher Vector 空间标签校正。
Q8:怎么下载?要钱吗?
免费,但需注册。官方主渠道是 TCIA 集合页,提供 10.44 GB 的 BMP + CSV + PDF 包,需用 NBIA Data Retriever 或 IBM Aspera Connect 下载;TCIA 明确提示 Box 有 15 GB 下载限额,须分批下载。印度镜像 IBDC 与社区 HuggingFace 镜像可作为备选,但口径与文件命名可能不同。
Q9:许可能商用吗?
可以。许可是 CC BY 3.0 Unported,允许商用、科研、教育用途,条件是署名。注意:数据集论文本身是 Elsevier 订阅制文章(© 2022 IPEM,保留所有权利),论文版权与数据集许可是两回事,不要混淆。
Q10:它和别的血液/细胞数据集有什么不一样?
与 bccd(rid 851)、acevedo-blood(rid 722)等血细胞检测数据集相比,本数据集聚焦单一疾病的二分类且带患者级划分;与 cric(847)、cervix93(848)、intel-mobileodt(846)等宫颈细胞学数据集相比,模态(外周血 vs 宫颈涂片/阴道镜)、疾病(血液肿瘤 vs 宫颈病变)、任务(白血病细胞二分类 vs 筛查/检出)三者皆不同。互链关系详见 §7。
§2 名称与身份:一个数据集的三重身份证
任何一个「AI-Ready 数据集」条目,最容易被写坏的部分就是「名称与身份」——因为同一个数据集往往背着一串别名,散落在论文、挑战赛、云盘、社区镜像里。C-NMC 2019 尤其如此。本节把它的别名、托管、责任方、持久标识符一次说清,并顺带把派发阶段的一处误记钉在明面上。
2.1 名称的官方版本与常用简称
下面把该数据集在不同语境下的名称逐一列出。全称是理解它为何存在的前提:它出生自一场竞赛,所以名字里嵌着竞赛的年份与缩写。
| 语境 | 名称 | 说明 |
|---|---|---|
| 数据集全称 | C-NMC 2019 | C = Classification(分类任务);NMC = Nucleus/Neutrophil? 非也,官方展开为 Normal vs Malignant Cells 的挑战主题缩写,读作「C 减 NMC 二零一九」 |
| 官方展开 | Classification of Normal vs Malignant Cells (C-NMC) | TCIA 竞赛数据集页所用完整表述 |
| 任务全称 | Classification of Normal vs Malignant Cells in B-ALL Subject Images | ISBI 2019 官方挑战条目标题 |
| 常用简称 | C-NMC / C-NMC 2019 | 社区与论文中最常见的两种写法 |
| TCIA 集合名 | c-nmc-2019 | TCIA 集合页 URL 与目录名所用小写连字符形式 |
| DOI 标识 | 10.7937/tcia.2019.dc64i46r | TCIA 持久标识符(详见 2.4) |
| 本条目 slug | cnmc-2019 | 千方库内 URL 名(见 2.5 查重) |
需要说明的是,简写中的 NMC 并非「Nucleus Morphology Classification」等坊间误读,其正源是挑战主题「Normal vs Malignant Cells」。凡见到把这四个字母解释成别的含义的二手材料,都应以官方展开为准。
2.2 托管机构:TCIA 与 NBIA
C-NMC 2019 的官方托管方是 The Cancer Imaging Archive(TCIA,癌症影像存档库),它由美国国家癌症研究所(NCI)资助、阿肯色大学医学科学中心(UAMS)等机构运维,是医学影像领域最主流的公开归档之一。TCIA 的底层检索系统是 NBIA(National Biomedical Imaging Archive),数据集下载器 NBIA Data Retriever 即来自这里。
这条身份链可以写成一句话:
ISBI 2019 挑战赛 → 数据集由 SBILab/IIIT-Delhi 与 AIIMS 新德里构建 → 归档于 TCIA → 通过 NBIA 检索与下载。
把这条链记住,后面凡遇到「这数据是不是官方的」「该去哪儿下」之类问题,就不会被杂七杂八的转载站带偏。
2.3 构建方与研究团队
该数据集由 印度德里英迪拉·甘地信息技术学院(IIIT-Delhi)SBILab(Signal and Biomedical Imaging Lab,信号与生物医学成像实验室) 与 全印医学科学研究所(AIIMS,All India Institute of Medical Sciences)新德里 合作构建。前者负责图像处理与机器学习,后者提供临床血液学专业支持与样本来源。
关键人物:
- Anubha Gupta:SBILab 负责人、IIIT-Delhi 教授,系数据集论文通讯/资深作者,长期从事血液肿瘤影像 AI;
- Shiv Kumar Gehlot:SBILab 研究者,2019 挑战赛主要组织者与数据论文第一作者之一;
- Ritu Gupta 等 AIIMS 临床血液学家:提供 B-ALL 病例与临床标注支撑。
需要提醒的是,不同来源对作者署名顺序的呈现略有出入(有的把临床方排前、有的把技术方排前),本条目在 §9 存照中给出原文出处,读者引用时请以数据集论文(见 §2.5)的正式作者列表为准。
2.4 DOI 与持久标识
数据集通过 DOI 10.7937/tcia.2019.dc64i46r 获得持久标识。这是 TCIA 为每个集合分配的 DataCite DOI,可在 DataCite 元数据中检索到。引用数据集时应引用该 DOI,而不是 TCIA 网页链接——网页会改版,DOI 不会。
数据集论文的 DOI 则是 10.1016/j.medengphy.2022.103793(Med Eng Phys 2022;103:103793,PMID 35500994)。两个 DOI 分工明确:
- 数据集 DOI(10.7937/…):引用「数据」本身;
- 论文 DOI(10.1016/…):引用「对数据的描述性研究」。
规范引用的写法是两者都列,并注明「data accessed via TCIA」。
2.5 本库内的身份核验与查重
按写手纪律包 §1 的存在性核验要求,本条目在动笔前完成了三轮工作:精确搜索、三源互证、slug 查重。
(1)存在性核验结论:C-NMC 2019 真实存在,托管于 TCIA,DOI 10.7937/tcia.2019.dc64i46r,许可 CC BY 3.0,体积 10.44 GB,ISBI 2019 官方挑战赛数据,2022 年由 SBILab 团队发表数据集论文。三条独立来源(TCIA 集合页、ISBI 2019 挑战页、SBILab 官网 resources.html)互相印证,无「不存在」风险。
(2)slug 查重:使用任务头指定的 SQL,对库内 ai_ready_dataset 表做 url_name ILIKE '%cnmc%' 检索,结果为 0 rows——库内尚无同名条目,不存在撞库。相邻的 rid 846/847/848(intel-mobileodt / cric / cervix93)均为宫颈相关数据集,与 C-NMC 2019 分属不同主题。
(3)误记澄清:派发阶段曾收到「CNMC-2019 为宫颈细胞学/阴道镜相关竞赛数据集」的描述。经四源交叉核验,该描述与事实不符。C-NMC 2019 是 B-ALL(B 系急性淋巴细胞白血病)外周血涂片单细胞二分类数据集,模态是血液涂片显微成像,不是宫颈细胞学,也不是阴道镜。这一误记疑似来自「库内相邻 rid 是宫颈数据集」的邻接污染,或把 C-NMC 与其他以 C 开头的宫颈数据集混同。本条目已在 §0 导读与 §10 坑点中双重存照,并在此正式更正。
2.6 一句话身份卡
若只用一句话定义它:
C-NMC 2019 是 ISBI 2019 官方挑战赛「正常 vs 恶性 B 淋巴细胞分类」所发布、由 IIIT-Delhi SBILab 与 AIIMS 新德里构建、归档于 TCIA(DOI 10.7937/tcia.2019.dc64i46r)、以 CC BY 3.0 开放的 B-ALL 外周血涂片单细胞图像数据集。
§3 数据规模:硬数字与双口径存照
数据规模是「AI-Ready」条目里最容易被读者当成唯一指标、却也最容易出错的一节。C-NMC 2019 存在官方双口径:TCIA 集合页说一套,TCIA 竞赛数据集页说另一套,差 21 张图。本节把所有硬数字列全,并如实存照两套口径,不做「择一取整」的偷懒处理。
3.1 三折结构与受试者总数
数据集按 subject-level(患者级)三折组织。核心结构性数字如下:
| 指标 | 数值 | 口径来源 |
|---|---|---|
| 受试者总数(subjects) | 118 | TCIA 集合页 |
| 其中 ALL(白血病)受试者 | 69 | TCIA 集合页 |
| 其中 Normal(正常)受试者 | 49 | TCIA 集合页 |
| 折数 | 3(Fold1 / Fold2 / Fold3) | 论文与挑战赛说明 |
| 划分原则 | 同一 subject 只出现在一折 | 论文与挑战赛说明 |
118 = 69 + 49 的加和自洽。这个数字的重要性在于:它决定了任务的评测是患者级的。竞赛把「同一患者的细胞不能跨折」作为硬约束,就是为了逼出「能跨患者泛化」的模型,而不是「记住某个患者的染色风格」。
3.2 图像总数:两级口径与 21 张的差额
图像总数存在两个官方口径,差额 21:
| 口径 | 图像总数 | 备注 |
|---|---|---|
| 口径 A:TCIA 集合页 / IBDC / 多篇论文 | 15,135 | 社区与镜像最常引用 |
| 口径 B:TCIA 竞赛数据集页(pageId=52758429) | 15,114 | 竞赛页面口径 |
| 差额 | 21 | 未在页面中说明来源,疑为某折去重/替换所致 |
本条目不擅自判定哪个正确,而是两个都列、并提示读者「引用时注明口径」。这种「差 21 张」的不确定性在真实数据集中非常常见,正是「AI-Ready 元数据要如实存照」的典型场景。
3.3 官方三分:train / preliminary test / final test
按任务阶段,数据被切成三块。这套数字在 TCIA 集合页与竞赛说明中高度一致(仅 subject 数在最终测试存在口径出入,见 3.4):
| 子集 | 图像数 | 受试者数 | ALL 图 | Normal/HEM 图 |
|---|---|---|---|---|
| 训练集(train) | 10,661 | 73 | 7,272 | 3,389 |
| 预测试集(preliminary test) | 1,867 | 28 | 1,219 | 648 |
| 最终测试集(final test) | 2,586 | 17(另说 15) | — | — |
训练集 10,661 = 7,272 + 3,389 自洽;预测试 1,867 = 1,219 + 648 = 1,867 自洽。三个子集相加 10,661 + 1,867 + 2,586 = 15,114——注意,这正好等于口径 B。换句话说:
- 口径 B(15,114)= train + preliminary + final 的加和,是「竞赛子集口径」;
- 口径 A(15,135)比它多 21 张,是「集合页口径」,疑含某些未进入竞赛子集的冗余/补充图像。
这个发现让「双口径」不再是悬案,而是可以互证的:两个数字各自有内部逻辑,差额 21 有明确落点(集合总数 − 竞赛子集加和)。本条目据此在 §9 建议:做基准复现时用口径 B(15,114)以便与排行榜对齐;做资产盘点时用口径 A(15,135)以便与 TCIA 集合页对齐。
3.4 最终测试集 subject 数的口径冲突
最终测试集的受试者数存在一条页面内部自相矛盾的记录,必须存照:
- TCIA 集合页:17 subjects;
- TCIA 竞赛数据集页:标注 15 subjects,但同一页把 final test 拆成两个子项并给出 9 + 8 —— 9 + 8 = 17,与它自称的 15 又对不上。
因此本条目采取的处理是:取 17 为可信值(因 9 + 8 内部加和指向 17),同时把 15 与「9+8 却标 15」的矛盾完整存照。这不是本条目算错,而是源页面自身存在排版/口径瑕疵。类似的源瑕疵在公开数据集中并不罕见,如实记录反而是「AI-Ready」应有的诚实。
3.5 标注集规模的口径差异
除图像总数外,「有多少张图带标注」也存在两个口径,差约 1,867~1,900:
| 口径 | 标注图数 | 说明 |
|---|---|---|
| 口径 X:IBDC 合并口径 | 12,528 | train + preliminary 合并,覆盖 101 patients |
| 口径 Y:TCIA 训练口径 | 10,661 | 仅训练集 |
口径 X 的 12,528 ≈ 10,661 + 1,867 = 12,528,加和完全自洽:它是把「训练集 + 预测试集」都算作「已知标注可用于训练的图」,对应 73 + 28 = 101 patients。口径 Y 则严格只算官方训练集。两个口径差一个预测试集的量,不是错误,而是「标注可用范围」定义不同所致。读者若见某论文说「12,528 张」,应理解它把 preliminary test 也纳入了训练。
3.6 HuggingFace 社区镜像的第三口径
社区把该数据集整理并上传至 HuggingFace(镜像域 hf-mirror.com,仓储 dwb2023/cnmc-leukemia-2019)。该镜像只含 10,661 张训练图、约 1.1 GB,即严格对应口径 Y。这带来三点提示:
- 镜像规模(10,661)小,适合快速做 baseline,但不含 preliminary/final test,无法复现排行榜;
- 镜像体积 1.1 GB 远小于官方 10.44 GB,因为官方包含未配平的原始 BMP 与测试图;
- 镜像的文件命名与目录结构可能与官方不同,跨源混用需重新对齐标签。
结论:HuggingFace 镜像可作为「快速起步」通道,但做严格基准必须回官方 TCIA 取全量。
3.7 规模数字速查表
把本节所有硬数字汇总成一张速查表,供引用时直接取用(并强制标注口径):
| 数字 | 值 | 可信度 | 备注 |
|---|---|---|---|
| 受试者总数 | 118(ALL 69 + Normal 49) | 高(多源一致) | — |
| 图像总数 | 15,135(A) / 15,114(B) | 双口径 | B = train+prelim+final 加和 |
| 训练集 | 10,661(73 subjects;ALL 7,272 / HEM 3,389) | 高 | — |
| 预测试集 | 1,867(28 subjects;ALL 1,219 / Normal 648) | 高 | — |
| 最终测试集 | 2,586(17 subjects) | 高(15 为瑕疵口径,见 3.4) | — |
| 标注集 | 12,528(train+prelim,101 patients) | 中(合并口径) | 与 10,661 不矛盾 |
| HF 镜像 | 10,661 张 / 约 1.1 GB | 高 | 仅训练集 |
| 官方包体积 | 10.44 GB | 高 | BMP + CSV + PDF |
§4 任务与标注:一张 450×450 的 BMP 里藏着什么
如果说 §3 回答「有多少」,本节回答「是什么」与「怎么标」。这一节的技术细节,直接决定了任何模型在它上面能不能跑通。
4.1 任务定义:二分类,但别小看「二」
正式任务定义是:给定一张单细胞图像,判定其为
- 类 0(label 0):正常 B 淋巴前体细胞(normal B-lymphoid precursor / hematogone,简称 HEM);
- 类 1(label 1):白血病性 B 淋巴母细胞(leukemic B-lymphoblast,简称 ALL)。
只有两类,看起来简单——这正是本数据集一个「反直觉的坑」:类别少,但类间可分性低。ALL 淋巴母细胞与正常淋巴前体细胞在形态上高度重叠,专业血液科医生在部分边界样本上也会犹豫。数据集论文因此把难点锚定在 subject-level variability,而非类间距离。
4.2 图像规格:450×450、24-bit RGB、BMP、黑底
图像的技术规格如下,任何预处理流水线都必须先对齐这些参数:
| 属性 | 值 | 说明 |
|---|---|---|
| 尺寸 | 450 × 450 像素 | 正方形,单细胞居中 |
| 位深 | 24-bit RGB | 三通道真彩色 |
| 格式 | BMP | 未压缩位图,故包体大(10.44 GB) |
| 背景 | 黑色 | 预分割掩膜外区域置黑 |
| 内容 | 单个淋巴细胞 | 已从全片裁切 |
| 预处理 | 染色归一化 | 由构建团队自研方法大致校正 |
三个工程提示:
- BMP 未压缩是包体 10.44 GB 的主因。转存为 PNG/JPG 可把体积降到十分之一量级,但会引入压缩伪影,做像素级基准时慎用有损格式。
- 黑色背景意味着不需要再做前景分割即可直接送入 CNN,但也意味着不能用「白色背景假设」的现成预处理。
- 已预分割是双刃剑:好处是省去分割步骤,坏处是分割误差被固化为标称输入,模型的上限受制于构建团队的分割质量。
4.3 从全片到单细胞:掩膜与裁剪的来源
单细胞图像不是凭空来的,其前身是全片血涂片显微图 + 细胞掩膜。构建团队沿用了自有/前序工作的分割流程:先在血涂片上标出细胞核与细胞边界,再以掩膜裁出单细胞并置黑底。
一个需要标注的点:这类「细胞掩膜来源」在文献中常可上溯至 SBILab 团队的早期工作(如 Duggal 等 2016 年的血细胞分割/分类研究),但C-NMC 2019 是否直接复用该掩膜,本条目未取得一手代码级确认,故在 §9 记为待核。读者若要做像素级溯源,应回到数据集论文的方法部分与 SBILab 仓库核对。
4.4 文件命名约定:标签藏在文件名里
C-NMC 2019 的一个实用特性是标签可从未配平原始文件的命名中推断。社区整理的命名模式大致为:
| 类别 | 命名模式(示例形态) | 关键标记 |
|---|---|---|
| 白血病(ALL,label 1) | UID_P_N_C_all |
结尾 _all |
| 正常(Normal/HEM,label 0) | UID_HS_N_C_hem |
结尾 _hem |
其中 UID 是受试者标识,P/HS 等区分病例来源层级,N 为细胞序号,C 疑为裁剪/通道标记。关键是从前缀 UID 可以恢复 subject 归属——这正是实现患者级划分的前提。
必须强调:命名约定不是稳定的公开 API。TCIA 官方包、IBDC 镜像、HuggingFace 镜像三者的命名可能互不相同。任何「靠文件名切标签」的脚本,在换源后都必须重新验证。本条目不建议在生产流水线里强依赖文件名解析,而应优先使用官方随包的 CSV 标注表。
4.5 类别不平衡:训练集 2.15:1
训练集内部类别不均衡:
- ALL(label 1):7,272 张;
- HEM(label 0):3,389 张;
- 比值 ≈ 2.15 : 1(ALL 约为 HEM 的 2.15 倍)。
这有两个直接后果:
- 评测必须用 weighted F1 而非 accuracy——否则多数类会虚高(官方正是用 weighted F1,见 §6);
- 训练时需处理类偏:常见做法包括类别加权、重采样、或用 focal loss 等。若直接按原分布训练且按 accuracy 选模型,会在少数类(正常细胞)上系统性偏低。
4.6 染色与成像:一个待核的单源信息
TCIA 与挑战赛材料对染色方法的描述,本条目取得的单一来源指向 Jenner–Giemsa 染色(一种罗马诺夫斯基类血涂片染色)。因为该信息仅一个来源支撑、且未见第二源交叉印证,本条目不将其作为确定性事实,而是在 §9 记为待核项。
对建模的实际影响:染色类型决定了颜色分布的先验。若读者要把本数据集与其他血涂片数据集(如 bccd rid 851)混训,必须确认两者染色一致,否则颜色域偏移会主导误差。这也是为什么「染色归一化」在源论文里被列为关键处理步骤。
4.7 任务与标注的边界条件
最后交代三条容易踩的边界:
- 不是检测任务:本数据集给的是「已裁好的单细胞」,没有检测框。想做细胞检测,应去 bccd(rid 851)这类带框数据集。
- 不是多类任务:只有 ALL / HEM 两类,不含 T-ALL、AML 等分型。想做白血病分型,本数据集不够。
- 不是全片任务:输入是单细胞,不是全片 WSI。想做全片级诊断,需要自行引入切片与聚合环节。
把这三条边界记住,就不会在选型阶段「拿着二分类单细胞数据集,去解多类全片诊断问题」。
§5. 挑战赛:ISBI 2019 C-NMC 的来龙去脉
5.1 挑战赛的基本盘
C-NMC 2019 的正式全称是 ISBI 2019 Challenge on Classification of Normal versus Malignant Cells in B-ALL Microscopic Images,作为 IEEE International Symposium on Biomedical Imaging (ISBI) 2019 的卫星挑战赛举办。这是本数据集之所以被称作「竞赛数据集」的直接原因——它不是一个先有数据、后来才附赠一场比赛的普通集合,而是为挑战赛发布、并由挑战赛结果反向定义了它的基准意义。
先把挑战赛的关键信息列成一张速览表:
| 项目 | 内容 |
|---|---|
| 挑战赛全称 | ISBI 2019 Challenge on Classification of Normal vs Malignant Cells in B-ALL |
| 届次 | ISBI 2019(第 16 届,Venice, Italy) |
| 主题域 | 血液肿瘤 / 细胞形态学 / 显微图像二分类 |
| 官方平台 | CodaLab Competition(原编号 20429) |
| 数据托管 | The Cancer Imaging Archive(TCIA),DOI 10.7937/tcia.2019.dc64i46r |
| 数据构建方 | SBILab, IIIT-Delhi 联合 AIIMS 新德里血液科 |
| 主评测指标 | Weighted F1-score |
| 参赛规模 | 六十余家团队(单源口径,见 §9 存照) |
| 冠军成绩 | Weighted F1 = 0.910(潘永生团队) |
| 组织者 baseline | SDCT-AuxNetθ 架构 |
一句话:这是一场「把血液科医生的细胞判读任务,形式化为图像二分类问题」的 ISBI 竞赛,评测的核心难点不在分类器本身,而在「跨患者的泛化」。
5.2 为什么会有这场比赛
要理解这场挑战赛为何在 2019 年出现,需要看当时的两个现实。
第一,B-ALL 诊断高度依赖人工镜检。 B 系急性淋巴细胞白血病是儿童中最常见的恶性肿瘤之一,诊断与疗效评估的一个关键环节,是在外周血或骨髓涂片上区分白血病性 B 淋巴母细胞(leukemic B-lymphoblast)与正常 B 淋巴系前体细胞(hematogone / normal B-lymphoid precursor)。这两类细胞在形态上高度相似,尤其在化疗后、或做微小残留病(MRD)评估时,用肉眼区分极易出错,且高度依赖阅片者的年资与经验。
第二,深度学习方法已经在自然图像与病理图像上证明了自己。 于是「能不能让算法做这件事、并且做到和医生一样稳」成为一个自然的问题。SBILab(IIIT-Delhi 的 Signal and Biomedical Imaging Lab)与 AIIMS 新德里合作,把这批来自真实临床流程的细胞图像整理、标注、分层,做成公开挑战赛——既发布数据,也发布一个可比较的基准。
这就是本数据集最重要的增量价值:它不只提供了图像,更提供了一套被多方复现过的评测协议(weighted F1 + patient-level 划分)。在医学 AI 领域,「有一个大家都同意的评测协议」往往比「多几千张图」更稀缺。
5.3 两阶段赛制与数据切分
挑战赛采用经典的两阶段设计,这也是理解 §3 那三组数据(train 10,661 / preliminary 1,867 / final 2,586)的关键:
┌─────────────────────────────────────────┐
│ 阶段 0:训练集公开 │
│ train 10,661 张 / 73 subjects │
│ ALL 7,272 + HEM 3,389 │
│ 标签公开,供建模 │
└───────────────────┬─────────────────────┘
│
┌───────────────────┴─────────────────────┐
│ 阶段 1:Preliminary(预赛) │
│ 1,867 张 / 28 subjects │
│ ALL 1,219 + Normal 648 │
│ 通常在赛期内给出标签/部分反馈 │
└───────────────────┬─────────────────────┘
│
┌───────────────────┴─────────────────────┐
│ 阶段 2:Final(决赛) │
│ 2,586 张 / 17 subjects │
│ 标签封存,仅在终榜结算时使用 │
└─────────────────────────────────────────┘
这个切分方式有两个非常重要的特性,值得单独强调。
特性一:切分是 patient-level(subject-level)的,不是 image-level 的。 也就是说,同一个人的细胞不会同时出现在训练集和测试集里。这是本数据集在设计上最值得称道的一点,也是它至今仍被引用的核心理由。原因在于:同一个患者的多张细胞图会共享大量「患者特异」的线索——染色批次、涂片厚度、扫描仪状态、甚至细胞整体色调。如果按图像随机划分,训练集里只要有一个病人的图,模型就可能通过「记住这个人」而在测试集上虚高。按患者划分,才逼着模型去学真正与细胞类别相关、而非与患者身份相关的特征。
特性二:preliminary 与 final 是两次独立的评测,不合并。 很多读者会以为「预赛数据最后并进训练集一起用」,其实不是。预赛阶段的提交用于实时反馈/排名,决赛阶段的数据在赛期内标签不可见,只在终榜结算时公布。这一点直接决定了:如果你要复现一个「公平的基准」,必须严格按这三个子集的原始划分来做,不能图省事把 preliminary 混进训练。
5.4 参赛情况与结果
据多方报道(单源口径,见 §9 存照),本次挑战赛吸引了六十余家团队参加。竞赛最终给出 weighted F1 排名,冠军由潘永生(Yongsheng Pan)团队的方案取得,weighted F1 = 0.910,是公开榜单中唯一突破 0.90 的方案。该方案的方法要点见 §3 与 §7(深度残差网络 + Fisher Vector 特征聚合 + Fisher Vector 空间标签校正)。
这里要提醒读者注意一个常见误读:0.910 这个数字不是「分类准确率」,而是 weighted F1。在类不平衡(见 §3.5)的场景下,两者不可互换。看到榜单时如果把它当成 accuracy 解读,会系统性地高估「在少数类上的表现」。
5.5 组织者 baseline:为什么值得关注
挑战赛组织方通常会提供一个 baseline 供参赛者对照,C-NMC 2019 的 baseline 是 SDCT-AuxNetθ(一种结合空间分块与辅助任务的 CNN 架构)。它的意义不在于成绩高低,而在于:
- 提供参照系:参赛者的增益是相对于这个 baseline 说的,脱离 baseline 谈「90% 很高」就没有意义;
- 暴露难点:baseline 与冠军之间的差距,恰好量化了「跨患者泛化」这个核心难点有多难;
- 定义评测口径:baseline 用什么指标、怎么划分,后续所有方法都得对齐,否则不可比。
5.6 一个必须记录的现状:旧链接已失效
到本条目撰写时,挑战赛最初托管的 CodaLab Competition 编号 20429 页面已返回 404。这意味着:
- 想通过原始竞赛页面复现「当年提交、当年排名」的完整流程,已经不可行;
- 榜单与成绩信息目前主要依赖后续论文、综述与镜像站点的转述(本条目 FACTS §7 已逐条记录来源);
- 但数据集本体不受影响——它托管在 TCIA,有独立 DOI,仍可正常下载(见 §8)。
这带来一个方法论上的提醒:竞赛页面会消失,但数据集与 DOI 才是长期可用资产。 如果你在做复现,永远优先依赖 DOI 与数据集本体,而不是赛事网页。
5.7 挑战赛之后:本数据集还活着吗
一个诚实的观察是:C-NMC 2019 作为「竞赛」在 2019 年就结束了,但作为「数据集」它仍在被持续使用——后续有多篇工作以它为基准,报告出显著高于 0.910 的结果(见 §6.4 与 FACTS §7 的存照)。这既是它生命力的证明,也带出一个陷阱:新旧数字口径不同、切分不同,不可直接比较。这一点在 §6.4 展开。
§6. 评估与基准:怎么算「好」,以及数字该怎么读
6.1 官方指标:weighted F1-score
本挑战赛的官方评测指标是 weighted F1-score(加权 F1)。它由每一类的 F1 按其支持度(该类真实样本数)加权后求和:
Weighted_F1 = Σ_c ( n_c / N ) · F1_c
其中 F1_c 是第 c 类的 F1 分数,n_c 是第 c 类的真实样本数,N 是总样本数。
为什么是它,而不是 accuracy 或 macro F1? 因为本数据集是类不平衡的(ALL:HEM ≈ 2.15:1,见 §3.5),不同指标在这个场景下给出截然不同的印象:
- accuracy 会被多数类主导——一个「永远猜 ALL」的懒惰分类器也能拿到不低的准确率;
- macro F1(各类 F1 简单平均)会把少数类抬到与多数类同等权重,虽然对少数类公平,但它「不反映总体业务的错分代价分布」;
- weighted F1 折中:既考虑了每一类自身的精确率/召回率平衡(比 accuracy 强),又按真实分布加权(比 macro 更贴近整体表现)。
对医学筛查场景,这个选择是合理的:你既不能忽略少数类,也不能假装两类同等重要。
6.2 一个必须理解的前提:为什么不能用图像级随机划分
这是读本数据集榜单时最容易犯的错,值得单独讲清楚。
错误做法:把全部图像打乱,按 8:2 随机拆成训练/测试。
后果:同一个患者的细胞同时出现在两侧。模型会学到「这个人的整体色调/背景特征 → 直接对应他的诊断标签」,从而在测试集上异常高分。这个高分是假的——它衡量的是「模型记住患者的能力」,不是「模型识别细胞类别的能力」。
正确做法:按患者(subject)划分。训练集里的患者,其任何一张图都不得出现在测试集。
本数据集的官方切分(train 73 subjects / preliminary 28 subjects / final 17 subjects,见 §3.1)本身就是按患者分的。任何声称「在这个数据集上超过 0.9x」的后续工作,如果没说明是按患者划分,其数字都不可信。 这句话是本条目能给出的最有价值的提醒之一。
6.3 公开榜单(Top 榜)
下表整理了本挑战赛公开可见的排名信息。注意:所有数字均为 weighted F1,且因原始 CodaLab 页面已 404(见 §5.6),榜单主要来自后续论文与综述的转述,条目 FACTS §7 已逐条溯源。
| 排名 | 团队/作者(姓氏口径) | Weighted F1 | 备注 |
|---|---|---|---|
| 1 | Pan(潘永生) | 0.910 | 唯一突破 0.90 |
| 2 | Verma | 0.894 | — |
| 3 | Prellberg | 0.889 | — |
| 4 | Xiao | 0.885 | — |
| 5 | Shi | 0.879 | — |
| 6 | Liu | 0.876 | — |
| 7 | Shah | 0.866 | — |
| 8 | Ding | 0.855 | — |
| 9 | Xie | 0.848 | — |
读这张表有两点提醒:
- 冠军与第二名只差 0.016——说明「跨患者泛化」这个难点被多个团队逼近到相近水平,方法论的边际收益在迅速收窄;
- 榜单中位段(0.85–0.89)密集——反映出「能上 0.85」是当时的准入线,而「站稳 0.90 以上」是明确的难点。
6.4 后续 SOTA 与「数字漂移」警示
挑战赛结束后,陆续有后续工作在本数据集上报告出显著高于 0.910 的数字,例如有工作报告基于 EfficientNetV2-B3 的方法达到约 97.89% 的准确率量级(FACTS §7 已记录来源与口径)。
这些数字不能和 §6.3 的榜单直接比较,原因有三:
- 指标不同:0.910 是 weighted F1,97.89% 是 accuracy,二者在类不平衡下不可互换;
- 切分不同:后续工作若未严格采用官方的 patient-level 三分,而是自行按图像划分或用全部数据重划分,则评测难度根本不同;
- 数据类型不同:有的后续工作做了额外数据处理(如染色归一化、数据增强策略、外部数据预训练),改变了任务的输入分布。
结论:把「0.910」当作竞赛口径的官方基准,把后续更高数字当作不同设定下的独立报告,二者并存但分层。永远先问「这个数字是在什么划分、什么指标、什么预处理下得到的」,再决定能不能比。
6.5 评测协议速查
把本数据集的评测要点压成一张清单,方便复现时对照:
| 维度 | 官方设定 | 常见误用 |
|---|---|---|
| 指标 | weighted F1 | 用 accuracy 直接比 |
| 划分 | patient-level(按 subject) | 按图像随机划分 |
| 阶段 | train / preliminary / final 三集独立 | 把 preliminary 混进训练 |
| 类别 | 二分类(ALL / HEM) | 当成多类白血病分型 |
| 输入 | 已裁切单细胞 450×450 BMP | 当成检测或全片任务 |
| 颜色 | 24-bit RGB,黑底 | 直接转灰度而丢失染色信息 |
6.6 跨患者评测的普遍意义
最后升华一层:C-NMC 2019 采用的 patient-level 划分,不只是一个数据集的技术细节,而是医学影像 AI 评测的一条通用原则。
任何「同一患者的多份样本」场景——多张切片、多次随访、多个病灶——都存在这种「患者泄漏」风险。C-NMC 2019 在 2019 年就把这条原则做进了公开挑战赛,这使得它除了作为白血病细胞分类数据集,还常被引为**「医学图像评测规范」的正面案例**。对做医学 AI 的读者,这个数据集值得学的不只是数据本身,还有它的评测设计。
§7. 技术生态与配套支持
7.1 托管与分发链路
本数据集的分发链路是一条典型的「学术数据集托管链」:
SBILab (IIIT-Delhi) + AIIMS 新德里
│ 采集、标注、分层
▼
ISBI 2019 挑战赛(CodaLab,原编号 20429,现已 404)
│ 竞赛分发
▼
The Cancer Imaging Archive (TCIA) ←── 长期托管 + DOI
│ ← NBIA Data Retriever / Aspera / Box
▼
镜像与聚合层(如 IBDC、HuggingFace 镜像 dwb2023/cnmc-leukemia-2019)
理解这条链路的价值在于:当某一环失效时,你知道下一环在哪里找。 例如挑战赛页面 404 后,数据仍可从 TCIA 取;TCIA 下载若受 Box 15GB 限额影响(见 §8),可走镜像。
7.2 TCIA 生态的配套能力
TCIA(The Cancer Imaging Archive)作为托管方,为本数据集提供了几项「额外服务」,这些是单纯下载一个压缩包得不到的:
- 稳定 DOI:
10.7937/tcia.2019.dc64i46r,可作为长期引用锚点; - 版本与更新记录:Version 1,Updated 2019/03/26(见 §8);
- 标准检索接口:可通过 NBIA 检索器按集合检索、按 Series 下载;
- 集合页与元数据:包含数据集描述、伦理与许可声明、引用要求。
对做可复现研究的人,「有 DOI 的数据集」和「网盘里的一个 zip」是两个物种——前者可被引用、可被追溯、可被版本化。C-NMC 2019 属于前者。
7.3 构建方 SBILab 的家族资产
C-NMC 2019 出自 SBILab(Signal and Biomedical Imaging Lab, IIIT-Delhi),该实验室由 Anubha Gupta 教授牵头,在数字病理与医学影像方向产出了系列公开数据集与工具(如 MiMM_SBILab 系列)。这意味着:
- 如果你认可 C-NMC 2019 的采集与标注质量,同实验室的其他数据集值得作为后续候选(FACTS §8 已记为潜在后续条目);
- 家族内数据集在标注规范、染色流程、数据格式上往往有一致性,便于联合建模;
- 但同样要警惕:家族内不同数据集的任务边界不同,不可默认「能直接拼接」。
7.4 与库内相邻数据集的划界
这是本条目必须交代清楚的一节,因为知识库里存在一批容易被误认为同类的数据集。尤其是:本库内 rid 846/847/848 三个相邻编号的数据集均为宫颈相关,与 C-NMC 2019 的血液细胞主题完全不同。下表逐一划清边界:
| 库内条目 | rid | 主题域 | 与 C-NMC 2019 的关系 | 能否混用 |
|---|---|---|---|---|
| C-NMC 2019(本条) | — | 外周血涂片 / B-ALL / 二分类 | 基线本体 | — |
| cric | 847 | 宫颈细胞学 | 同为细胞学,但部位/染色/任务不同 | 不可直接混训 |
| cervix93 | 848 | 宫颈细胞学 | 同上 | 不可直接混训 |
| intel-mobileodt | 846 | 阴道镜(Cervix)图像 | 部位与成像模态均不同 | 不可混淆 |
| bccd | 851 | 血涂片(带检测框) | 同为血涂片,但任务是检测非二分类 | 任务不同,可互补 |
| acevedo-blood | 722 | 血细胞图像 | 同为血液系,标注体系不同 | 需核对染色与标签 |
| cytoimagenet | 31 | 细胞图像大集合 | 可作为预训练来源 | 非同一任务 |
| lightmycells2 | 631 | 细胞显微图像 | 主题接近,采集来源不同 | 需核对域偏移 |
| human-cell-atlas | 319 | 单细胞图谱 | 模态不同(组学/成像混合) | 不适用 |
| single-cell-portal | 359 | 单细胞数据门户 | 模态不同 | 不适用 |
| all-of-us | 575 | 人群队列 | 层级完全不同 | 不适用 |
一句话记法:「血涂片找 C-NMC/bccd/acevedo-blood,宫颈看 cric/cervix93/intel-mobileodt;前者是白血病二分类,后者是宫颈细胞学,两者不是一回事。」
7.5 工程侧的常见配套做法
从复现本数据集的经验看,工程上有几件「标配动作」值得记录:
- 染色归一化:源论文将颜色/染色一致性列为关键处理步骤,跨数据集混训前必须先做(见 §4.6);
- 类别加权或重采样:应对 §3.5 的 2.15:1 类偏,避免模型偏向多数类;
- 按患者分组划分:训练/验证/测试都应在 subject 层面切,绝不能图省事按图像切(见 §6.2);
- 保留原始 BMP 尺寸:450×450 是原始裁切规格(见 §4.2),随意缩放会改变细胞纹理尺度,影响与既有基准的可比性;
- 评测脚本对齐:自己写的 weighted F1 需与官方口径核对,尤其「support 加权」与「平均方式」的细节。
7.6 本条目为何记录「技术支持」这一章
对一份 AI-Ready 数据集条目而言,把「数据本身」讲清楚只是一半,另一半是**「怎么把它用起来、以及用的时候会碰到什么」**。本章与 §8(获取)配合,构成从「知道有这个数据集」到「真的能跑起来」的完整通路。如果你只读一章就动手,建议至少读本章 + §8 + §10(坑点)。
§8. 许可、获取与引用
数据集的「能不能用、怎么拿到、怎么引用」是三点一线。本章按「许可 → 体量与存放位置 → 下载通路 → 引用格式 → 引用示例」的顺序拆开讲,末尾给出一个可直接照抄的获取清单。
8.1 许可:CC BY 3.0 Unported
C-NMC 2019 在 TCIA 上以 Creative Commons Attribution 3.0 Unported(CC BY 3.0) 发布,这是本条目最重要的「能否商用/能否再分发」判据。要点如下:
| 维度 | CC BY 3.0 下的结论 | 实务注意 |
|---|---|---|
| 可否商用 | 可以 | 无需单独申请授权 |
| 可否修改/再分发 | 可以 | 须保留署名 |
| 是否要求署名 | 要求 | 引用数据 DOI 即满足 |
| 是否要求相同方式共享 | 不要求 | 衍生作品不强制同许可 |
| 是否要求非商业 | 不要求 | 与 NC 系许可不同 |
一句话:CC BY 3.0 = 「署名即可,随便用」。这比许多医学数据集的「申请—审批—签协议」流程友好得多,也是本数据集被大量论文当作基准的原因之一。
存照(单源未复核):许可信息取自 TCIA 集合页与竞赛数据集页的 License 字段,两处一致,均标注 CC BY 3.0。未见官方明示的额外使用限制条款。若用于临床相关用途,仍须自行评估合规性——数据集合规 ≠ 临床可用,这一点在任何医学数据集上都必须单独判断。
8.2 体量、存放位置与版本
| 项目 | 值 | 说明 |
|---|---|---|
| 数据总量 | 约 10.44 GB | TCIA 集合页标注 |
| 图像总数 | 15,135 或 15,114(双口径,见 §3.2) | 两口径差 21 张 |
| 存放位置(官方) | TCIA 集合页(DOI 10.7937/tcia.2019.dc64i46r) |
主分发点 |
| 分发形态 | 原始 BMP 图像 + 标注文件(压缩包 / 目录) | 非 DICOM,为普通图像文件 |
| 版本号 | Version 1,Updated 2019/03/26 | TCIA 页脚版本行 |
| 关联研究编号 | IBDC Study HISTOS_1000000025 | 分析结果库编号 |
注意版本语义:TCIA 的「Updated 2019/03/26」表示该集合自 2019 年 3 月 26 日起算的当前版本,并非再次上传。「Version 1」是关键——所有以本数据集为基准的论文,理论上用的都是同一版;但双口径数字(§3.2)说明 TCIA 不同页面的统计口径并不完全同步,引用数量时最好注明口径来源。
8.3 TCIA 的下载通路
TCIA 不提供「点一下就下」的网页直链,必须走桌面端工具。三条通路如下:
| 通路 | 工具 | 适用场景 | 备注 |
|---|---|---|---|
| 标准通路 | NBIA Data Retriever | 桌面批量下载 | 官方推荐,跨平台 |
| 高速通路 | Aspera Connect | 大体量高速传输 | 需先装 IBM Aspera |
| 浏览通路 | TCIA 网页缩略图 / IBDC | 先看后下 | 不适合批量 |
下载流程(标准通路):
1. 打开 TCIA 集合页 → 找到 C-NMC 2019(DOI 10.7937/tcia.2019.dc64i46r)
2. 在下载区点击 "Download" → 得到 .tcia 清单文件(而非数据本身)
3. 安装 NBIA Data Retriever → 用其打开 .tcia 清单
4. 选择目标目录 → 开始下载(约 10.44 GB)
5. 下载完成后,目录内即为图像与标注文件
关键认知:网页上点下载得到的是一个 .tcia 清单(manifest),不是数据。必须装 NBIA Data Retriever 才能把清单解析成真正的文件下载。第一次用的人常在此卡住——以为点了下载就有数据,结果拿到一个几 KB 的文本文件。
8.4 Box 分流与 15 GB 限额的应对
TCIA 的部分集合同时通过 Box 提供镜像下载,但 Box 免费账号对单次分享链接有 15 GB 的下载配额限制。本数据集约 10.44 GB,虽在限额内,但实务中常见两种麻烦:
- 多人共用同一链接:一旦累计下载量触顶 15 GB,链接会被临时限流,后来者下不动;
- 重复试错占用配额:中途断点续传反复重试,也会消耗配额。
应对建议:
- 优先用 NBIA Data Retriever / Aspera(走 TCIA 自有通道),把 Box 当备用;
- 若必须用 Box,先规划好目录与磁盘空间再开下,避免重复拉取;
- 下载后做一次完整性核对(文件数、总大小),把校验结果记进团队文档,方便他人复用而无需重下。
8.5 镜像通路:HuggingFace
除 TCIA 官方通路外,社区在 HuggingFace 上有镜像版本,代表性的仓库为 dwb2023/cnmc-leukemia-2019,其标注为约 10,661 张、约 1.1 GB,仅含训练集。
| 通路 | 覆盖范围 | 体量 | 适用 |
|---|---|---|---|
| TCIA 官方 | 全量(train + prelim + final) | 10.44 GB | 复现完整评测 |
HF 镜像 dwb2023/cnmc-leukemia-2019 |
仅训练集 10,661 张 | 约 1.1 GB | 快速上手 / 预训练 |
重要提醒:镜像只有训练集,缺 preliminary 与 final test。若你的目标是「与公开榜单可比」,必须回 TCIA 拿全量切分;用镜像自造测试集,得到的分数与 §6.3 榜单不可比。
下载纪律:如在受限网络环境中访问 HuggingFace,一律使用镜像站 hf-mirror.com(将仓库地址中的
huggingface.co替换为hf-mirror.com)。
8.6 引用格式
数据集本身(TCIA):
Gupta, A., Gehlot, S., & Gupta, R. (2019).
C-NMC 2019: Classification of Normal versus Malignant Cells in B-ALL
[Data set]. The Cancer Imaging Archive.
DOI: 10.7937/tcia.2019.dc64i46r
配套论文(描述数据集的正式论文):
Gupta, R., Gehlot, S., & Gupta, A. (2022).
C-NMC: B-lineage acute lymphoblastic leukaemia: A blood cancer dataset.
Medical Engineering & Physics, 103, 103793.
DOI: 10.1016/j.medengphy.2022.103793
PMID: 35500994
挑战赛(如引用赛制/榜单):
ISBI 2019 C-NMC Challenge (CodaLab Competition 20429).
Classification of Normal versus Malignant Cells in B-ALL.
IEEE International Symposium on Biomedical Imaging (ISBI), Venice, Italy, 2019.
引用栈建议:学术论文里最稳妥的做法是数据集 DOI + 配套论文两者同引。前者保证可定位数据,后者保证可追溯方法与口径。若引用的是榜单名次,还应额外标注 CodaLab 竞赛编号 20429。
存照:CodaLab 的竞赛页面(20429)在撰写本条目时已 404(见 §5.6)。因此不要把 CodaLab 链接当作长期可访问的引用目标,优先用 TCIA DOI 与论文 DOI。
8.7 获取清单(可直接照抄)
[ ] 1. 读许可:确认 CC BY 3.0,规划是否商用/再分发
[ ] 2. 备磁盘:预留 >15 GB(数据 10.44 GB + 解压空间)
[ ] 3. 装工具:NBIA Data Retriever(首选),Aspera(可选)
[ ] 4. 取清单:TCIA 集合页下载 .tcia manifest
[ ] 5. 拉数据:用 Retriever 打开清单,下载约 10.44 GB
[ ] 6. 核完整:核对文件数与总大小,记录校验结果
[ ] 7. 读切分:区分 train / preliminary / final(§3.1、§5.3)
[ ] 8. 定协议:按患者切分 + weighted F1(§6.1、§6.2)
[ ] 9. 抄引用:数据集 DOI + 论文 DOI 同引(§8.6)
新手最快路径:若只想先跑通流程,可先用 HF 镜像(dwb2023/cnmc-leukemia-2019,仅训练集、约 1.1 GB)熟悉数据形态;等要复现榜单,再回 TCIA 补全 preliminary 与 final。
§9. 生态位、互链与 DAIMS
本章回答三个问题:这个数据集在更大的数据生态里站在哪、在本站内应该跟谁互链、如果并入数据资产目录该用什么元数据。
9.1 生态位:三层定位
C-NMC 2019 可以放在三个同心圆里理解:
最外圈:医学影像公开数据集(TCIA 系、Kaggle 系、Grand Challenge 系)
└─ 中圈:血液病理 / 血细胞显微图像数据
└─ 内圈:B-ALL 单细胞二分类基准(本数据集)
- 最外圈(医学影像公开数据):强调「谁能拿到、许可多宽松、有没有榜单」——本数据集属宽松许可 + 有公开榜单的一档;
- 中圈(血液病理显微图像):强调「染色、成像、标签体系」——本数据集是 Jenner–Giemsa 染色、外周血涂片、单细胞裁片;
- 内圈(B-ALL 二分类基准):强调「任务定义与评测协议」——本数据集是正常 vs 恶性二分类、weighted F1、按患者切分。
定位一句话:C-NMC 2019 是医学影像公开数据里、专注血液病理显微图像、以 B-ALL 单细胞二分类为核心任务、且带官方榜单与配套论文的基准数据集。
9.2 上游:数据从哪来
| 上游环节 | 承担方 | 产物 |
|---|---|---|
| 病例与采集 | AIIMS 新德里(All India Institute of Medical Sciences) | 外周血涂片原始样本 |
| 图像制备与标注 | IIIT-Delhi SBILab + AIIMS 团队 | 单细胞裁片 + 二分类标签 |
| 赛事组织 | ISBI 2019(Venice)+ CodaLab | 挑战赛赛制与榜单 |
| 公开托管 | TCIA(The Cancer Imaging Archive) | DOI + 长期分发 |
9.3 下游:谁在用它
C-NMC 2019 的下游使用者大致分三类:
- 方法研究者:把它当标准的「小样本细胞分类」基准,验证新网络、新特征聚合、新正则方法;
- 基准复现者:用它检验公开榜单的分数是否可复现(这直接引出 §6.4 的「数字漂移」警示);
- 教学与入门者:因为体量适中(10 GB 级)、任务清晰(二分类)、许可宽松,常被用作医学影像深度学习课程案例。
9.4 站内互链(relatedLink)
按「主题邻近度」排序,本站内与 C-NMC 2019 最值得互链的条目如下(共 8 条,落在 6–10 条的推荐区间):
| # | 条目 | rid | 互链理由 |
|---|---|---|---|
| 1 | cric | 847 | 同为细胞学分类任务,是「宫颈 vs 血液」的关键对照 |
| 2 | cervix93 | 848 | 同为单细胞/细胞学图像,域不同,形成对照 |
| 3 | intel-mobileodt | 846 | 同为宫颈相关图像集,厘清「C-NMC 非宫颈」的边界 |
| 4 | bccd | 851 | 同为血涂片,但任务是检测而非分类,任务互补 |
| 5 | acevedo-blood | 722 | 同为血细胞图像,标注体系不同,可对比 |
| 6 | cytoimagenet | 31 | 细胞图像大集合,可作预训练/上游来源 |
| 7 | lightmycells2 | 631 | 细胞显微图像主题接近,跨域迁移对照 |
| 8 | single-cell-portal | 359 | 单细胞数据门户,扩展「单细胞」主题阅读 |
互链纪律提示:rid 846/847/848 是宫颈相关(cervix),与 C-NMC 2019(血液)分属不同部位与不同疾病,互链的价值在划清边界而不在「相似」。撰写相关条目时务必不要把它们写成同一类数据集(这也是本条目反复强调的「宫颈误记」澄清的直接动机)。
9.5 DAIMS 元数据表
DAIMS(Data Asset Information Metadata Standard)用于把数据集登记为可检索、可审计的数据资产。C-NMC 2019 的 DAIMS 关键字段如下:
| DAIMS 字段 | 值 |
|---|---|
| 资产名称 | C-NMC 2019 |
| 英文全称 | Classification of Normal versus Malignant Cells in B-ALL |
| 别名/简称 | C-NMC 2019、C-NMC Challenge、cnmc-2019 |
| 数据类型 | 图像(24-bit RGB 显微图像) |
| 主题域 | 医学影像 / 病理与细胞学 / 血液肿瘤 |
| 任务类型 | 图像分类(二分类) |
| 疾病 | B 系急性淋巴细胞白血病(B-ALL) |
| 样本来源 | 外周血涂片(peripheral blood smear) |
| 物种 | 人类(Homo sapiens) |
| 构建方 | IIIT-Delhi SBILab(Anubha Gupta、Shiv Kumar Gehlot)+ AIIMS 新德里(Ritu Gupta) |
| 托管方 | The Cancer Imaging Archive(TCIA) |
| 分发 DOI | 10.7937/tcia.2019.dc64i46r |
| 配套论文 DOI | 10.1016/j.medengphy.2022.103793 |
| 发布年份 | 2019(数据集)/ 2022(论文) |
| 许可 | CC BY 3.0 Unported |
| 数据体量 | 约 10.44 GB |
| 图像数量 | 15,135 或 15,114(双口径,见 §3.2) |
| 图像规格 | 450 × 450,24-bit RGB,BMP,黑色背景 |
| 患者/受试者 | 118 subjects(ALL 69 + Normal 49) |
| 类别 | 2 类(normal / malignant) |
| 类不平衡 | 约 2.15 : 1 |
| 评测指标 | weighted F1 |
| 划分层级 | patient-level(subject-level) |
| 关联赛事 | ISBI 2019 C-NMC Challenge(CodaLab 20429) |
| 关联研究编号 | IBDC Study HISTOS_1000000025 |
| 版本 | Version 1(Updated 2019/03/26) |
| 状态 | 公开、可获取(CodaLab 页面已 404,见 §5.6) |
| 站内 rid 占位 | cnmc-2019 |
9.6 一句话生态总结
「上游靠 AIIMS 采血、SBILab 加工、ISBI 办赛,中游靠 TCIA 托管与 DOI 长期可寻,下游靠论文与课程持续消费;在站内它站在『血液病理』一侧,与『宫颈细胞学』一侧的 cric/cervix93/intel-mobileodt 互为边界。」
§10. 使用坑点清单(坑 1 – 坑 8)
前面各章把 C-NMC 2019 的「是什么、有多少、怎么评、去哪拿」讲清了。这一章是全篇最实用的部分:把写这条目过程中真实撞过的坑、以及后来者最容易踩的坑,逐条编号列出。每条都给出「现象 → 为什么错 → 正确做法」三段式,能直接当操作手册用。
坑 1:把 C-NMC 2019 当成「宫颈细胞学 / 阴道镜」数据集
现象:搜索资料时,很容易因为「ISBI 挑战赛 + 细胞显微图像 + 女性高发癌」这几个标签,把 C-NMC 2019 和库内的 cric(847)、cervix93(848)、intel-mobileodt(846) 混为一谈。本次任务头文件里就有一处误记,把 C-NMC 2019 描述为「宫颈细胞学/阴道镜相关竞赛数据集」。
为什么错:这是两个完全不同的疾病、两种完全不同的样本、两类完全不同的任务:
| 维度 | C-NMC 2019 | cric 847 / cervix93 848 / intel-mobileodt 846 |
|---|---|---|
| 疾病 | 急性淋巴细胞白血病(B-ALL),血液系统恶性肿瘤 | 宫颈癌及癌前病变 |
| 样本 | 外周血涂片(peripheral blood smear) | 宫颈 Pap 涂片 / 阴道镜图像 |
| 细胞 | 白细胞(B 淋巴母细胞 vs 正常淋巴前体) | 宫颈上皮细胞 |
| 来源机构 | IIIT-Delhi SBILab + AIIMS 新德里 | 巴西 / 美国等不同机构 |
| 任务 | 单细胞二分类 | 细胞学分类 / 核点检测 / 阴道镜分型不等 |
| 物种标本 | 血液(抽血) | 宫颈(刮片/镜检) |
正确做法:认「样本来源」和「疾病」这两个字段。看到 peripheral blood smear + leukemia/ALL/B-ALL,就是血液病理数据集;看到 Pap smear / colposcopy + cervix/cervical,才是宫颈数据集。C-NMC 2019 与三者是并列的边界关系,不是同类,切勿混用、切勿互相对比准确率。本条目的 §7.4 已列了 11 行划界表,§9.4 也在互链纪律里重申过。
坑 2:混用 15,135 与 15,114 两个总数口径
现象:不同官方页面给出的图像总数不一致——TCIA 集合页与 IBDC 写 15,135,TCIA 竞赛数据集页写 15,114,相差 21。做元数据表或写综述时如果随手挑一个,就会和另一份权威来源对不上。
为什么错:这两个数各有各的内部逻辑,不是简单的「谁抄错了」:
- 口径 B(15,114)= 训练集 10,661 + 预测试 1,867 + 最终测试 2,586,三项相加恰好 15,114,是按挑战赛阶段切分的加和口径(本文 §3.3 已论证)。
- 口径 A(15,135)是 TCIA 集合页给出的总数,比阶段加和多 21,推测与标注/去重/版本更新有关,官方未明示(见 §9 待核)。
正确做法:引用时必须带上口径标签,例如「按挑战赛阶段切分合计 15,114 张(训练 10,661 + 预测试 1,867 + 最终测试 2,586)」,而不是干巴巴写「共 15,135 张」。如果非要用单一总数,优先用能自洽加和的 15,114,并在脚注注明「TCIA 集合页另有 15,135 口径」。永远不要把两个数当成一个数的不同版本随意互换。
坑 3:用 accuracy 代替 weighted F1 汇报成绩
现象:论文和博客里常见「在 C-NMC 2019 上达到 97.89%」「准确率 95.43%」这类说法,看起来比官方榜单冠军的 0.910 漂亮得多,于是有人直接拿来做对比表。
为什么错:C-NMC 2019 官方评测指标是 weighted F1,不是 accuracy,也不是 macro F1。原因在于类别高度不平衡(恶性 : 正常 ≈ 2.15 : 1,见 §4.5)——如果模型倾向于预测多数类,accuracy 会虚高,而 weighted F1 会如实惩罚。因此:
- 0.910 是 weighted F1(冠军潘永生),不是 accuracy;
- 那篇报告 97.89% 的论文用的是 accuracy 且自建切分(§7.4 与 §9 已存照),与官方榜单不可直接比;
- 指标不同、切分不同、预处理不同,三个变量只要有一个不一致,数字就不可比(本文 §6.4「数字漂移」三因已详述)。
正确做法:汇报 C-NMC 2019 成绩时,先声明三件事——「指标是什么(weighted F1?accuracy?)」「划分是 patient-level 还是 image-level」「输入尺寸与是否染色归一化」。只有三项都对齐官方协议,数字才能进同一张表。跨来源的领先数字,一律标注「口径不同,非直接可比」。
坑 4:用图像级随机划分导致患者泄漏
现象:图省事,把全部图像堆在一起 train_test_split 随机切 8:2,结果测试集准确率高得离谱,一上真实场景就崩。
为什么错:C-NMC 2019 是单细胞图像数据集,同一患者的血涂片会产生大量图像(同源的细胞形态、染色、扫描条件高度相似)。如果按图像随机划分,同一个患者的细胞会同时出现在训练集和测试集里,模型其实是在「背患者」,测试分数被严重高估——这就是 patient leakage(患者泄漏 / subject leakage)。
正确做法:必须做 patient-level(subject-level)划分,即以「受试者」为最小不可分割单位,同一患者的所有图像只能进同一个子集。C-NMC 2019 官方本身就是这么切的:训练 73 subjects、预测试 28 subjects、最终测试 17 subjects(见 §5.3 流程图),且 preliminary 与 final 独立、不合并。复现时若做不到 118 subjects 的原始划分,至少也要保证「同一 patient_id 不跨集」。
坑 5:把 HuggingFace 镜像当成完整数据集
现象:在 HF 上搜到 dwb2023/cnmc-leukemia-2019,顺手 load_dataset 下来,开开心心拿来评测,却发现结果和论文对不上,或者复现不了榜单。
为什么错:该镜像只含训练集(约 10,661 张、约 1.1 GB),不含预测试 1,867 与最终测试 2,586(本文 §8.5 已对照说明)。用它只能做训练/自划分实验,无法复现官方 prelim/final 榜单。此外,镜像的目录组织、文件名清洗方式可能与 TCIA 原始 .tcia 分发包不同,直接混用会造成样本错配。
正确做法:HF 镜像只当快速上手的样本集;要做可比实验,必须从 TCIA 官方渠道取全量数据(NBIA Data Retriever / Aspera,见 §8.3)。且注意:受限网络下 HF 请走镜像站 hf-mirror.com(HF_ENDPOINT=https://hf-mirror.com),不要直连。
坑 6:把 .tcia manifest 当成数据本体
现象:从 TCIA 下载页拿到一个几百 KB 的 .tcia 文件,以为「数据集下好了」,解压发现里面全是元数据,没有一张图。
为什么错:TCIA 的下载机制是 **「manifest 清单 + 下载器」**两步走——.tcia 文件只是一个 清单(manifest),记录要下载哪些 Series 及其校验信息;真正把图像拉下来的是 NBIA Data Retriever(或 Aspera 客户端)。清单本身不含图像像素。
正确做法:标准流程是「下载 .tcia → 用 NBIA Data Retriever 打开清单 → 由下载器批量拉取图像(约 10.44 GB)」(见 §8.3 的 5 步流程图)。首次使用需要安装 Retriever 并接受许可;大文件建议用 Aspera 加速。
坑 7:忽视 Box 15 GB 限额,下载中途失败
现象:从 TCIA 的 Box 链接直接下载压缩包,下到一半报错,或者干脆打不开、提示已超限。
为什么错:C-NMC 2019 在部分分发路径上通过 Box 提供,而 Box 有单文件/单账户 15 GB 的限制;当数据集(10.44 GB)加上其他内容接近上限,或 Box 策略变动时,直链下载就会出问题(本文 §8.4 已列两种麻烦)。
正确做法:优先走 NBIA Data Retriever / Aspera 而非 Box 直链;若必须用 Box,注意 15 GB 限额、分批下载、并保留校验。遇到下载失败先换通路,而不是反复重试同一条直链。
坑 8:把「数据集合规」当成「临床可用」
现象:看到许可是 CC BY 3.0 Unported(署名即可、可商用),就以为可以直接拿去做临床辅助诊断产品。
为什么错:开源许可管的是版权,不管医疗器械合规。C-NMC 2019 的 CC BY 3.0 只授权你复制、改编、再分发数据(需署名),但:
- 数据集是研究用途采集与标注的,未经临床验证;
- 任何用于诊断的算法属医疗器械范畴,需另走监管审批(如器械注册 / 临床评价);
- 标注本身也可能有噪声(单细胞分类 vs 患者最终诊断之间仍有距离)。
正确做法:把 CC BY 3.0 理解为**「可以自由研究、可以署名再分发」;一旦涉及临床决策**,必须另行完成器械合规、独立前瞻验证与伦理审查(本文 §8.1 的「数据集合规 ≠ 临床可用」提醒即此意)。
§11. 导航章节
11.1 本文阅读路径
本文共 11 章 + 附录,按「认识 → 数字 → 任务 → 评测 → 获取 → 避坑」递进。不同读者可按需跳读:
【我是第一次听说这个数据集】
§1 速览十问十答 → §2.6 一句话身份卡 → §9.6 一句话生态总结
(10 分钟建立整体印象)
【我要用它做方法研究 / 复现榜单】
§3 数据规模 → §4 任务与标注 → §6 评估与基准 → §8 许可与获取
(重点记:patient-level 划分 + weighted F1 + 官方三阶段切分)
【我要写综述 / 做数据集调研】
§2 名称与身份 → §5 挑战赛 → §7 技术生态 → §9 生态位与 DAIMS → 附录来源
(重点记:双口径数字 + 冠军 0.910 + 三源互证)
【我踩坑了 / 要避免踩坑】
§10 使用坑点清单(坑 1–坑 8)
(直接查编号,看「现象→为什么错→正确做法」)
11.2 全文速查索引(按主题定位章节)
| 你想查什么 | 去第几章 |
|---|---|
| 它是什么、全称、别名 NMC 的展开 | §2.1、§2.2 |
| 谁做的、托管在哪、DOI 是什么 | §2.3、§2.4、§8.2 |
| 一共多少张图、多少患者 | §3.1–§3.3、§3.7 |
| 15,135 与 15,114 谁对 | §3.2、§3.3、坑 2 |
| 图像什么规格、怎么命名 | §4.2、§4.4 |
| 类别不平不平衡、该怎么评 | §4.5、§6.1 |
| 挑战赛怎么比的、冠军是谁 | §5.1、§5.3、§5.4 |
| 官方榜单数字 | §6.3 |
| 为什么不能用 accuracy | §6.1、坑 3 |
| 为什么不能随机划分 | §6.2、坑 4 |
| 许可能不能商用、怎么引用 | §8.1、§8.6 |
| 怎么下载、用哪个通路 | §8.3、§8.5、坑 6、坑 7 |
| 和哪些站内数据集相邻 | §7.4、§9.4 |
| 完整元数据字段表 | §9.5(DAIMS) |
| 常见踩坑与对策 | §10(坑 1–坑 8) |
| 原始来源链接 | 附录 A |
11.3 站内互链条目(relatedLink 汇总)
本文在 §7.4 与 §9.4 中反复与以下站内条目做边界对照,此处汇总为速查表,便于互链与交叉阅读:
| 站内条目 | 约略 rid | 与本条目关系 |
|---|---|---|
| cric | 847 | 宫颈 Pap 涂片细胞学(宫颈,非血液,划界对照) |
| cervix93 | 848 | 宫颈 Pap 涂片核点检测(宫颈,非血液,划界对照) |
| intel-mobileodt | 846 | 宫颈癌筛查阴道镜图像(宫颈,非血液,划界对照) |
| bccd | 851 | 血细胞检测(血液,同类模态,互链) |
| acevedo-blood | 722 | 血细胞图像(血液,同类模态,互链) |
| cytoimagenet | 31 | 细胞显微图像大规模预训练数据集(模态相邻) |
| lightmycells2 | 631 | 细胞显微图像(模态相邻) |
| single-cell-portal | 359 | 单细胞组学(主题相邻,模态不同) |
| all-of-us | 575 | NHLBI 队列(血液癌症流行病学,弱关联) |
一句话记法:「血涂片找 C-NMC / bccd / acevedo-blood,宫颈看 cric / cervix93 / intel-mobileodt;前者是白血病二分类,后者是宫颈细胞学,两者不是一回事。」
11.4 关键数字速记卡
把全文最容易被记错、也最该记牢的数字集中如下:
规模三阶段 训练 10,661(73 subjects)
预测试 1,867(28 subjects)
最终测试 2,586(17 subjects)
合计 15,114(TCIA 集合页另有 15,135 口径)
患者总数 118 subjects = ALL 69 + Normal 49
类不平衡 恶性 : 正常 ≈ 2.15 : 1
图像规格 450 × 450,24-bit RGB,BMP,黑底
官方指标 weighted F1(不是 accuracy)
冠军 潘永生,weighted F1 0.910(唯一 >0.90)
许可 CC BY 3.0 Unported(署名可再分发)
体量 约 10.44 GB
DOI 分发 10.7937/tcia.2019.dc64i46r
论文 10.1016/j.medengphy.2022.103793
11.5 术语表(缩写速查)
| 缩写 | 全称 | 含义 |
|---|---|---|
| C-NMC | Classification of Normal vs Malignant Cells | 挑战赛/数据集名 |
| NMC | Normal vs Malignant Cells | 官方展开,非「Nuclear Morphology Challenge」等坊间误读 |
| ALL | Acute Lymphoblastic Leukemia | 急性淋巴细胞白血病 |
| B-ALL | B-cell Acute Lymphoblastic Leukemia | B 系急性淋巴细胞白血病 |
| HEM | Hematogone | 正常 B 淋巴前体(对照组) |
| TCIA | The Cancer Imaging Archive | 托管机构 |
| NBIA | National Biomedical Imaging Archive | TCIA 下载器所属系统 |
| SBILab | Signal and Biomedical Imaging Lab, IIIT-Delhi | 构建方实验室 |
| AIIMS | All India Institute of Medical Sciences | 样本采集方医院 |
| ISBI | IEEE International Symposium on Biomedical Imaging | 办赛会议 |
| IBDC | Indian Biological Data Centre | 印度生物数据中心,关联编号 HISTOS_1000000025 |
| DAIMS | Data and Information Management System | TCIA 元数据规范 |
| weighted F1 | 加权 F1 | 官方评测指标 |
§12. 实战复现问答(FAQ)
前面 §1 速览十问偏「认识层」,§10 坑点清单偏「避坑层」;这一章补上「动手层」——把最常被问到的实操问题按 Q&A 形式逐条回答。每条都给出可直接照做的步骤或配置,并回指相关章节,方便按图索骥。
Q1:我只想快速跑个 demo,最短路径是什么?
答:走 HuggingFace 镜像 dwb2023/cnmc-leukemia-2019 最快(约 1.1 GB,仅训练集)。三步:
① 设置镜像端点(受限网络必做):
export HF_ENDPOINT=https://hf-mirror.com
② 拉取数据集:
huggingface-cli download dwb2023/cnmc-leukemia-2019 --local-dir ./cnmc
③ 自行按 patient_id 做 train/val 划分后训练
⚠️ 但记住 坑 5:镜像只有训练集,跑出来的数字不能和官方榜单比。要写进论文、要做可比实验,请走 TCIA 官方全量路径(见 Q2)。
Q2:要复现官方榜单,完整数据怎么拿?
答:走 TCIA 官方渠道,五步(见 §8.3 流程图):
① 打开 TCIA C-NMC 2019 集合页 / 下载页
② 下载 .tcia manifest 清单文件(注意:它不是图像本体,见坑 6)
③ 安装 NBIA Data Retriever(首次需接受许可)
④ 用 Retriever 打开 .tcia,批量下载(约 10.44 GB)
⑤ 校验完整性;图像为 450×450 24-bit RGB BMP,黑底
加速提示:大文件建议用 Aspera;若走 Box 通路,注意 15 GB 限额(坑 7)。下载完成后,目录里应按患者/阶段组织,训练 10,661 / 预测试 1,867 / 最终测试 2,586(§3)。
Q3:训练集内部还要不要再划分验证集?怎么分?
答:必须,且必须 patient-level(坑 4)。官方给的是 train / prelim / final 三阶段划分(73 / 28 / 17 subjects),但 prelim 与 final 的标签不公开(它们才是真正的测试集)。因此本地实验应:
- 从 10,661 张训练集里,按 subject 分组再切出验证集(例如 80/20 subject-wise);
- 绝不能按图像随机切——同一患者的细胞会跨集,产生患者泄漏;
- 若用交叉验证,也请用 subject-wise K-fold,而非 image-wise。
Q4:类别不平衡怎么处理?
答:训练集恶性 : 正常 ≈ 2.15 : 1(ALL 7,272 / HEM 3,389,§4.5)。可选:
- 类别加权(class weight)损失,按频率反比赋权;
- 重采样(对少数类过采样 / 多数类欠采样),但重采样也要 patient-level;
- 不要只看 accuracy——用 weighted F1 作主指标,或同时报 per-class F1 / macro F1 / AUC。
Q5:输入尺寸和颜色怎么处理?
答:原始图像为 450×450、24-bit RGB、BMP、黑色背景(§4.2)。常见做法:
- 保持 450×450,或按所用主干网络的标准尺寸缩放(如 224×224 / 380×380);
- 是否转灰度:视模型而定,但要注意染色信息可能含判别线索,转灰度会损失;
- 染色归一化(如 Macenko / Reinhard):跨机构数据常做,但本数据集为单机构采集(AIIMS),归一化的收益需自行验证;
- 不要随意裁剪黑底——细胞的相对位置与形态可能被破坏。
Q6:评测脚本怎么写才对齐官方?
答:对齐三点即为「同口径」:
① 指标:weighted F1 = Σ_c (n_c / N) · F1_c (§6.1 公式)
② 划分:patient-level(subject-wise),prelim/final 独立不合并(§5.3)
③ 类别:label 0 = normal,1 = malignant(以官方 label 映射为准,§4.1)
推荐用 sklearn.metrics.f1_score(y_true, y_pred, average="weighted") 直接算;若自己实现,务必核对「按类别样本数加权」这一口径,而非简单平均(那是 macro F1)。
Q7:为什么我复现不出论文里的 97.89%?
答:大概率是口径不同(§6.4 数字漂移三因):
| 变量 | 官方榜单 | 那类高数字论文常见做法 |
|---|---|---|
| 指标 | weighted F1 | accuracy |
| 划分 | patient-level,三阶段独立 | 常为 image-level 随机划分 |
| 数据 | 官方全量 | 可能只用训练集自划分 |
三处只要有一处不同,数字就不可比。别把 0.910 和 97.89% 放进同一张对比表——那是拿苹果比橘子。先统一口径,再比数字。
Q8:想在论文 / 报告里引用这个数据集,格式怎么写?
答:三段式引用(§8.6 有完整模板)——数据集(TCIA,DOI 10.7937/tcia.2019.dc64i46r)、论文(Gupta, Gehlot & Gupta, Med Eng Phys 2022,DOI 10.1016/j.medengphy.2022.103793)、挑战赛(ISBI 2019 C-NMC Challenge)。建议三者都引:数据集给出处,论文给方法与基准,挑战赛给评测协议背景。注意 CodaLab 20429 页面已 404,若需引用提交赛请补 SBILab 官网佐证(§5.6)。
Q9:这个数据集适合做迁移学习 / 预训练吗?
答:适合,但要分场景:
- 作为下游微调目标:非常适合——它是干净的、patient-level 划好的二分类基准,适合验证「血液细胞形态」相关的迁移效果;
- 作为预训练源:规模中等(约 1.5 万张),单靠它做大规模预训练收益有限,建议与 bccd(851)、acevedo-blood(722)、cytoimagenet(31) 等血液/细胞显微数据集联合(§7.4、§9.4);
- 跨域迁移:从 C-NMC 迁到宫颈数据(cric / cervix93 / intel-mobileodt)属于跨病种跨模态,不要想当然认为会正向迁移——它们是不同样本来源(坑 1)。
Q10:数据集的标注可靠吗?能直接用于临床吗?
答:研究可用,临床不可直接使用(坑 8):
- 标注由血液学专家基于单细胞形态给出,属研究级标注,仍可能有噪声与灰度地带;
- 单细胞分类 ≠ 患者最终诊断,中间还差临床综合判断;
- 许可是 CC BY 3.0(署名即可再分发),但许可不覆盖医疗器械合规。任何诊断用途须另走器械注册 / 前瞻验证 / 伦理审查。
Q11:常见预处理 pipeline 长什么样?
答:一个稳妥的基线 pipeline:
读入 BMP(450×450, RGB)
→ 检查是否需 resize(如 224/380)
→ 训练时数据增强(翻转、小角度旋转、颜色抖动)
→ 归一化(ImageNet mean/std 或自算)
→ 主干网络(ResNet / EfficientNet 等)
→ 分类头 2 类 + 类别加权损失
→ 每 epoch 在 subject-wise 验证集上算 weighted F1
→ 保存最优权重,最终在独立测试集上评测
关键纪律:增强不能破坏细胞形态语义(如大角度旋转、强裁剪需谨慎);验证划分始终 patient-level。
Q12:和冠军的方法思路差在哪?
答:冠军潘永生(西工大夏勇课题组 + UNC 沈定刚团队)的思路要点是:深度残差网络提特征 + Fisher Vector 特征聚合 + Fisher Vector 空间标签校正(§3)。组织者 baseline 则是 SDCT-AuxNetθ(DCT + 光密度空间特征 + 辅助分类器,§5.5)。给你的启示:
- 单纯换主干网络(ResNet→EfficientNet)收益可能有限;
- 特征聚合(把局部特征编码成全局描述子)与空间/标签后处理往往是拉开差距的关键;
- 榜单前列(§6.3)多在「表征 + 后处理」上做文章,而非只堆层数。
Q13:如果只想做一个教学 demo,推荐什么配置?
答:面向教学/入门,推荐「小、快、可解释」:
数据:HF 镜像训练集(约 1.1 GB)
模型:ResNet-18 / MobileNetV3(CPU 也能跑)
划分:subject-wise 8:2
指标:weighted F1 + 混淆矩阵
时长:单卡几十分钟级
教学点:① 类不平衡 ② patient-level 划分 ③ weighted F1
用教学最想讲清的三个概念(不平衡、泄漏、指标选择)都天然体现在这个数据集里,是很好的课堂案例。
Q14:想扩展研究,有哪些方向可做?
答:可沿几个方向延伸:
- 多类细化:从二分类扩展到 ALL 亚型(B/T、不同成熟阶段);
- 检测 vs 分类:从「单细胞已切好」走向「全片检测 + 分类」(注意本数据集不含全片,§4.7);
- 跨域泛化:训练于 AIIMS,测试于其他机构涂片,考察域偏移;
- 可解释性:可视化模型关注的细胞区域,与血液科医生判读对齐;
- 半监督 / 自监督:利用未标注的 prelim / final 图像做表征学习。
Q15:哪里能找到同团队 / 同系列的后续数据集?
答:构建方 SBILab(IIIT-Delhi,Anubha Gupta 课题组)另有 MiMM_SBILab(多发性骨髓瘤显微图像,同由 TCIA 托管),可作为后续候选(§7.3、§8)。站内亦已有 cytoimagenet(31)、lightmycells2(631) 等细胞显微条目可直接互链。
章节定位小结
本章 15 问覆盖「快跑 demo → 官方复现 → 划分与指标 → 引用与合规 → 扩展研究」全链路。若你只记三句:
- 快速玩用 HF 镜像,可比实验用 TCIA 全量(坑 5、坑 6、坑 7);
- 划分 patient-level、指标 weighted F1、prelim/final 独立(坑 3、坑 4、§6);
- 它是血液的、不是宫颈的,研究可用、临床不可直接用(坑 1、坑 8)。
附录
附录 A:来源 URL 列表(16 条)
本文所有可核查事实均溯源自以下来源,按类型分组:
A.1 官方托管与竞赛页
- https://www.cancerimagingarchive.net/?p=41845 —— TCIA 集合页(最详细权威,含 118 subjects、450×450 规格、CC BY 3.0、10.44 GB、榜单入口)
- https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=52758429 —— TCIA 竞赛数据集页(15,114 口径、final test subjects 页内子项 9+8)
- https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=52758223 —— TCIA 下载页(NBIA Data Retriever / Aspera / Box 通路)
- https://www.cancerimagingarchive.net/collection/c-nmc-2019/ —— TCIA 集合规范页
- https://biomedicalimaging.org/2019/challenges/ —— ISBI 2019 官方挑战页
B. 构建方与关联机构
- https://sbilab.iiitd.edu.in/resources.html —— SBILab 官网(排行榜 Top10、MiMM_SBILab 同团队数据集)
- https://ibdc.dbt.gov.in/ibia/study_details_browse_l/HISTOS_1000000025 —— IBDC 关联研究编号(12,528 / 101 口径)
- https://jsj.nwpu.edu.cn/info/1598/7506.htm —— 西北工业大学通稿(冠军潘永生,唯一 >90%)
- https://icncq.nwpu.edu.cn/info/1022/1921.htm —— 西工大另一通稿(冠军团队口径互证)
C. 论文与方法
- https://beta.iopscience.iop.org/article/10.1016/j.medengphy.2022.103793 —— 数据集配套论文(Gupta, Gehlot, Gupta, Med Eng Phys 2022)
- https://repository.ias.ac.in/142451 —— 论文摘要(IAS repository)
- https://www.medscape.com/medline/abstract/35500994 —— PubMed PMID 35500994 摘要
- https://link.springer.com/article/10.1007/s00521-023-08607-9/tables/1 —— Springer 综述 benchmark 表(后续 SOTA 数字)
- https://www.mdpi.com/2813-0464/4/1/9 —— MDPI 综述(含 C-NMC 局限性与数字漂移讨论)
D. 格式互证与镜像
- https://www.engineeringletters.com/issues_v33/issue_7/EL_33_7_18.pdf —— Engineering Letters(450×450 规格互证)
- https://huggingface.co/datasets/dwb2023/cnmc-leukemia-2019 —— HuggingFace 镜像(仅训练集,约 10,661 张 / 1.1 GB;受限网络用 hf-mirror.com)
补充:CodaLab Competition 20429(原挑战赛提交页)已 404,无法现场核验,相关数字以 SBILab 官网与通稿转引,已存照(§5.6)。
附录 B:三条最重要的「记住它」
- 它是血液的,不是宫颈的:外周血涂片 B-ALL 单细胞二分类,与 cric/cervix93/intel-mobileodt 是边界关系。
- 它的官方指标是 weighted F1:别提 accuracy,别拿自建切分的 97.89% 去比官方 0.910。
- 它的划分是 patient-level 且三阶段独立:训练 10,661 / 预测试 1,867 / 最终测试 2,586,合计 15,114(另有 15,135 口径),病人级不可拆。
本文为千方病案医数集(AI-Ready Wikipedia)条目,遵循 CC BY 3.0 Unported 授权口径转述原始数据集;引用请保留署名并回链原始来源。如发现事实性错误,请以附录 A 官方来源为准并反馈更正。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- camelyon17 — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学 / 评测基准
- unitopatho — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学 / 评测基准
- mendeley-lbc — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学 / 评测基准
- all-idb — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学 / 评测基准
- endo-aid — 共享标签:医学影像 / 病理图像 / 图像分类 / 挑战赛数据集 / 肿瘤学
- rare25 — 共享标签:医学影像 / 图像分类 / 挑战赛数据集 / 肿瘤学 / 评测基准
- ihc4bc — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学 / 评测基准
- echorisk — 共享标签:医学影像 / 图像分类 / 挑战赛数据集 / 肿瘤学 / 评测基准
- pair-bst — 共享标签:医学影像 / 病理图像 / 图像分类 / 肿瘤学 / 评测基准
- rare26 — 共享标签:图像分类 / 挑战赛数据集 / 肿瘤学 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

