信息速览
INFOBOX — ISIC 2020 Challenge 一屏速览
维度 内容 本质 ISIC + SIIM 联合主办、在 Kaggle 平台举办的第 5 届 ISIC 皮肤镜挑战赛(2016/2017/2018/2019/2020 序列之 2020 届);数据集与挑战赛事件并重的一条 任务 二分类:皮肤镜图像判别良性 vs 恶性(黑色素瘤);支持图像+患者级元数据 数据 训练 33,126 张 + 测试 10,982 张;训练集来自 2,056 名患者 / 32,701 个病灶(Cassidy 2022 分析口径),平均每人约 16 个病灶——ISIC 谱系首个患者中心(patient-centric)设计 类别分布 恶性 584 张(1.76%,全部组织病理确认)vs 良性 32,542 张(98.2%,专家一致/纵向随访/组织病理确认) 主指标 AUC(Kaggle 官方口径 Mean Columnwise AUC) 时间线 Kaggle Start 2020-05-28 → Close 2020-08-18;数据描述论文 Rotemberg et al. 2021(Sci Data 8:34) 奖金 $30,000 参与规模 14,838 entrants / 4,110 participants / 3,308 teams / 101,845 submissions 冠军 Ha/Liu/Liu 团队(LINE Corp/NVIDIA/ReadSense):EfficientNet B3-B7+SE-ResNeXt-101+ResNeSt-101 多骨干集成(部分融合患者级元数据),CV AUC 0.9600 / 私榜 AUC 0.9490 license CC-BY-NC 4.0;强制引用 doi:10.34970/2020-ds01 + 六机构来源声明 基准地位 Kaggle 史上参与度最高的医学影像挑战赛之一;患者中心设计+"外部数据稳定验证"范式的方法学源头 库内互链 isic-archive(rid 56)、isic-2019(rid 707)、isic-2018(rid 710)、slice-3d(rid 141)——通用主库与上届细节以这些条目为准
ISIC 2020 Challenge 是 ISIC 系列的"范式转折点":前四届(2016-2019)比的是"给一张图,说出诊断",2020 届第一次问的是"给你一个病人的所有病灶图和年龄性别部位,判断哪张危险"——训练集 33,126 张图只属于 2,056 名患者,平均每人 16 个病灶,每张图带着 patient_id 和 lesion_id,把皮肤科医生真实的"通看全身、找丑小鸭"(ugly duckling)诊断逻辑搬进了机器学习任务。同时这届比赛第一次与 SIIM(医学影像信息学会)联合、第一次搬上 Kaggle,3,308 支队伍提交了 101,845 次,把皮肤影像 AI 从小圈子竞赛变成了万人级公共事件。
挑战赛留给出入这个领域的人三个硬门槛:恶性只有 1.76%(accuracy 彻底失效)、同一患者多图(随机切分必泄漏)、测试标签永不公开(官方成绩只有一个数——冠军私榜 AUC 0.9490)。冠军方案 Ha/Liu/Liu 的关键一招不是什么新模型,而是把 2018+2019 年的数据(正例率 17.85%,约为当年 10 倍)合并进来做验证——这个"外部数据稳定验证"策略此后成为所有医学影像 Kaggle 赛的标配。
分工声明:本库已有 isic-archive(rid 56,ISIC Archive 通用主库条目)、isic-2019(rid 707)、isic-2018(rid 710,HAM10000 届)与 slice-3d(rid 141,ISIC 2024 挑战)。本条目记录 2020 年 Kaggle/SIIM 主办的这一独立挑战赛:其患者中心数据设计、评估协议、冠军方法与基准地位为本条独有内容;2018/2019 届的协议细节与数据构成请走对应条目,ISIC Archive 的机构沿革与通用检索请走 rid 56,互不复读。
导语读法三则:
- 只想下数据跑基线:直奔 §6 获取与许可——注意 CC-BY-NC 的强制引用格式(六机构声明不可省),以及"DICOM 原始版 vs corrected 版"不是两个数据集(坑 5)。
- 要做模型:先读 §8 十大坑——1.76% 不平衡(坑 2)、患者级泄漏(坑 3)、425 张官方公布重复(坑 4)三件事不做对,任何成绩都不可信。
- 关心挑战赛设计与基准演化:直奔 §3(协议)、§5(冠军方法解剖)与 §7(患者中心范式)——2020 届对领域的真正遗产在这三节。
§0 导读:这个挑战赛解决什么问题
皮肤癌是全球最常见的癌症,黑色素瘤(melanoma)是其中最致命的形态。前四届 ISIC 挑战赛(2016-2019)把"单张皮肤镜图像分类"这件事的基准从无到有搭了起来:2018 届靠 HAM10000 把训练集做到 10,015 张,2019 届聚合 BCN20000 扩到 25,331 张。但到 2019 年底,领域里有一层窗户纸始终没捅破——算法在"单图判断"上已经能追平专家(2018 届冠军算法在 reader study 中胜过 500 多名临床读者),可真实临床从来不是看一张图。
皮肤科医生看可疑病灶时,手里有算法没有的两样东西:其一,病人的整体背景——年龄、性别、病灶位置;其二,更关键的,这个病人身上其他病灶的样子。皮肤科有一条经典诊断直觉叫"丑小鸭征"(ugly duckling sign):在一个满身都是非典型痣的患者身上,一颗"看起来跟大家差不多"的痣危险度有限,而一颗"跟所有痣都不一样"的孤立病灶才是真正要活检的对象。要教机器这个逻辑,数据集必须记录"哪些图来自同一个人"——这就是 2020 届的设计起点。
2020 届由此做了三件前四届都没做的事。第一,患者中心数据结构:为每张图像配 patient_id 与 lesion_id,同一患者的多张病灶图可互相关联;数据描述论文(Rotemberg et al. 2021, Sci Data)直接以 “A patient-centric dataset…” 为题,标题就写着"using clinical context"。第二,机构与平台升级:ISIC 与医学影像信息学会(SIIM)联合主办,比赛搬上 Kaggle——ISIC 系列第一次接入 Kaggle 的十万级提交基础设施,参赛规模从 2019 届的数百队跳到 3,308 队。第三,评估架构换代:从官方自建评分系统改为 Kaggle 公共榜/私榜双段评估,测试集 10,982 张的标签由官方持有、永不公开(官网 Test Ground Truth 栏至今标注 “Not Available”)。
任务本身反而是历届最"简单"的:不做 8 类细分,只做二分类——这张图是不是黑色素瘤/恶性。但简化任务是为了聚焦新问题:当你知道一个病人有 16 个病灶、恶性只占 1.76% 时,怎么让模型既看得懂单图、又用得上"病人背景",还要在 55:1 的类不平衡下交出稳定的 AUC。冠军方案给出的答案是"多骨干集成 + 合并往年数据稳定验证 + 少量元数据融合",这三板斧在之后几年的医学影像竞赛里被反复复制。
§0 读法三则:
- 这个条目是"挑战赛事件+患者中心数据包+基准协议"三合一:事件层讲 2020 年夏天的 Kaggle 大赛怎么打(§4/§5),数据层讲 33,126 张图背后的 2,056 个病人(§2),协议层讲 AUC、双段榜与"标签不公开"如何塑造领域评测习惯(§3/§8)——三层各有独立检索价值。
- 全文硬数字均出自 ISIC 官网、Kaggle 官方页、数据描述论文(Rotemberg et al. 2021)与冠军论文(arXiv:2010.05351)四个一手来源,核心数字(33,126/2,056/10,982/584/0.9490)已三源以上互证;二次分析口径(如 32,701 个病灶、子数据集行数)逐条标注"Cassidy 2022 分析口径"。
- 检索时最容易犯的两个错:把 2020 当作与往年完全无关的"全新独立数据集"去跨集评估(2020 与 2018/2019 存在图像重叠,坑 1);以及把冠军私榜 0.9490 与文献自切分的 0.98+ AUC 混为一谈(切分方式、重复清洗、患者级约束都不同,坑 10)。
为什么值得单独立条目:与 2019 届"纯聚合既有图像"不同,2020 届训练集有真实的新增图像(Brisbane 8,449 张、MSKCC 11,108 张等子集为当年新并入),且首次引入患者级结构——数据集属性与事件属性并重。更重要的是:"患者中心"这个至今仍在影响医学影像数据集设计的概念,就是从这届比赛开始变成工程现实的;而"外部数据稳定验证"这个 Kaggle 医学赛的方法学共识,也是从这里定型的。理解这两件事的原始语境,必须回到 2020 届。
0.5 章节导航
| 章节 | 内容 | 适合谁 |
|---|---|---|
| §0 导读 | 范式转折点定位、三件新事、读者路径 | 所有人 |
| §1 十问十答 | 全条目压缩包,每问带深读锚点 | 快速了解者 |
| §2 数据构成 | 六机构来源、标签分布、患者结构、文件字典 | 用数据的人 |
| §3 协议与指标 | 二分类任务、Mean Columnwise AUC、双段榜 | 复现/评测者 |
| §4 时间线与规模 | 2020-05-28→08-18、3,308 队、主办方 | 引用事实者 |
| §5 冠军方法 | 集成阵容、外部数据、弃用公共榜 | 方法研究者 |
| §6 获取与许可 | S3 直链、CC-BY-NC、强制引用块 | 下载/引用者 |
| §7 患者中心范式 | 设计动机、版本链、基准演化 | 领域研究者 |
| §8 十大坑 | 泄漏/不平衡/口径三重陷阱及速查卡 | 所有人(最高优先级) |
| §9 库内分工 | 与 rid 56/141/707/710 的边界 | 库内导航 |
| 附录 | 文献清单、术语表、上手清单、FAQ | 按需 |
0.6 读者路径矩阵
| 你是谁 | 推荐路径 |
|---|---|
| 数据工程师(第一次接触) | §1 → §2.0/2.6 → §6.4 → §8 → 附录 C |
| 论文写作者(要报成绩) | §3 → §8 坑 8/坑 9 → §7.4 → 附录 A |
| Kaggle 参赛者/复现者 | §5 全节 → §3.3 → §8 坑 3/坑 7 → §6.1 |
| 领域综述者 | §0 → §7 全节 → §4 → 附录 A |
| 库内编辑/审校 | §9 → §1 Q10 → §2.0 → FACTS.md |
0.7 三件新事 × 三份遗产(一页对照)
| 2020 届的新事 | 直接产物 | 留给领域的遗产 | 本条目位置 |
|---|---|---|---|
| 患者中心数据结构 | patient_id/lesion_id;摄取管线(≥3 情境病灶准入) | 数据集设计以患者为原子;切分必须患者级成为常识 | §2.3/§7.1-7.2 |
| ISIC×SIIM×Kaggle | 3,308 队 / 101,845 提交 / $30,000 | 医学影像挑战赛的规模天花板与运营模板 | §4.2/§4.4 |
| 双段榜+标签永久封闭 | 私榜 0.9490 锚点;公共榜噪声暴露 | "只信 CV"的验证纪律;测试封闭式评测的利弊样本 | §3.3/§5.4 |
| (方法侧)外部数据+多骨干集成 | CV 0.9600 | "外部数据稳验证+跨族集成"的标准 playbook | §5.2-5.3 |
0.8 正文与 FACTS.md 的关系
本条目与同目录 FACTS.md(事实档案)配套:FACTS 承载全部事实、口径与来源强度分级(九节结构),正文负责把这些事实组织成可读叙事。规则:正文引用的每个硬数字都应能在 FACTS 找到出处;两者冲突以 FACTS 为准(并回改正文);FACTS 的"存照与待核"节是正文所有"官方未公布/单源/待核"限定语的最终依据。读者若只需事实,读 FACTS 即可;需要语境、方法与坑点,读正文。
§1 数据集速览:十问十答
本节是全条目的压缩包:十个问题覆盖"这是什么、从哪来、怎么打、谁赢了、现在怎么用"。每问末尾给出深读锚点;要细节请顺着锚点跳。
Q1 这到底是一个数据集还是一场比赛?
两者合一,且这两层属性都足够强。事件层:SIIM-ISIC Melanoma Classification,2020-05-28 至 2020-08-18 在 Kaggle 举办,$30,000 奖金,3,308 队 / 101,845 次提交——Kaggle 史上参与度最高的医学影像挑战赛之一。数据层:背后的 “SIIM-ISIC 2020 Challenge Dataset”(DOI 10.34970/2020-ds01)是 ISIC 谱系中数据集属性最强的一届——训练集相对 2019 届有真实新增图像(非纯聚合既有数据包),且首次引入 patient_id/lesion_id 患者级结构。这也是 ISIC 系列首次与 SIIM 合作、首次搬上 Kaggle(2016-2019 届为 ISIC 自办/官方系统评分)。→ 深读 §2(数据)、§4(赛事)。
Q2 33,126 张训练图从哪来?
六个机构、横跨三大洲:Memorial Sloan Kettering Cancer Center(美国纽约)、Hospital Clínic de Barcelona(西班牙)、Medical University of Vienna(奥地利)、Melanoma Institute Australia(澳大利亚)、The University of Queensland(澳大利亚)、University of Athens Medical School(希腊)。按 Cassidy 2022 分析口径,最大两块为 MSKCC 贡献 11,108 张与 Brisbane 8,449 张。→ 深读 §2.1。
Q3 任务是什么?为什么只有二类?
二元分类:给定皮肤镜图像(可选加 metadata),输出恶性(malignant,target=1)vs 良性(benign,target=0),本质是"这块病灶是不是黑色素瘤"的筛查判据。8 类多分类在 2018/2019 届已经打过两轮,2020 届 deliberately 收缩到临床最要命的那个判断——做不做活检(biopsy vs don’t biopsy)。这不是降级:恶性仅 584 张(1.76%)的极端不平衡下,二分类 AUC 的每一分都比 8 类 balanced accuracy 更难涨。→ 深读 §3.1、§8 坑 2。
Q4 metadata 里有什么?
四+一个字段:patient_id(患者)、sex(性别)、age_approx(近似年龄)、anatom_site_general_challenge(解剖部位),官方 v2 metadata 与 Kaggle 更新后的 train.csv 另含 lesion_id(病灶)。注意测试集 metadata 提供前四个字段——lesion_id 是训练侧独有的防泄漏钥匙。→ 深读 §2.5、§8 坑 6。
Q5 “患者中心”(patient-centric)到底是什么意思?
一句话:数据按病人组织,而非按图组织。2,056 名患者贡献 33,126 张图,平均每人约 16 个病灶,20.8% 的患者至少有一个黑色素瘤。动机来自皮肤科的真实读片逻辑:医生判断一个病灶,参考的是该患者全身病灶的"背景生态"——著名的丑小鸭征(ugly duckling sign):与该患者其他病灶相比外观异样的那个,恶性风险更高。数据描述论文(Rotemberv et al. 2021)的标题就把这个词写进了主标题。→ 深读 §2.3、§7。
Q6 怎么评分?
Mean Columnwise AUC——对 target 列计算 ROC 曲线下面积(Kaggle 官方 Metrics 栏原文 “Mean Columnwise Area Under Receiver Operating Characteristic Curve”)。公共榜/私榜双段:测试标签不公开(官网 GT 栏标注 “Not Available”),公共榜约用测试集 1/10(冠军论文口径≈3,300 张),私榜持有真值定胜负。→ 深读 §3.2、§8 坑 7。
Q7 谁赢了?成绩多少?
Qishen Ha(LINE Corp)、Bo Liu(NVIDIA)、Fuxu Liu(ReadSense)三人组,3,308 队中夺冠:交叉验证 AUC 0.9600,私榜 AUC 0.9490(冠军论文 arXiv:2010.05351 摘要原文)。方案:EfficientNet B3-B7 + SE-ResNeXt-101 + ResNeSt-101 多骨干集成,外加一项让全场 converges 的操作——合并 2018+2019 数据做训练。→ 深读 §5。
Q8 为什么冠军非要合并 2018+2019 的外部数据?
正例率:2020 训练集 1.76%(584/33,126),2019 训练集 17.85%(4,522/25,331)——差 10 倍。只训 2020 数据时,584 个正例让验证 AUC 剧烈抖动,模型选择近乎盲猜;掺入高正例率的旧数据后验证曲线立刻稳定。官方规则明确允许外部数据,这届之后"外部数据稳定验证"成为 Kaggle 医学赛的方法学共识。但注意:用了外部数据的成绩与没用外部数据的成绩不可直接对比。→ 深读 §5.3、§8 坑 8。
Q9 现在能拿到什么?
官网 challenge.isic-archive.com/data/#2020 提供 S3 直链(训练 DICOM 48.9GB / corrected 23.0GB / JPEG 23GB + GroundTruth.csv + Duplicates.csv;测试 JPEG 6.7GB + Metadata.csv,无 GT);Kaggle 同源镜像 kaggle.com/c/siim-isic-melanoma-classification。License CC-BY-NC 4.0(非商业),引用格式官方强制全文(§6.2 给出逐字引用块)。测试集 GT 至今未公开。→ 深读 §6。
Q10 与 2018/2019 两届是什么关系?
同一谱系的邻居,且有真实的图像重叠:HAM10000 子集 2018-2020 三届共用,BCN20000 为 2019-2020 两届共用。直接后果:其一,把 2020 与 2018/2019 当"完全独立数据集"做跨集评估会高估泛化(§8 坑 1);其二,官方允许的"外部数据"实为自家往届数据。库内分工:2019 届细节见 rid 707 isic-2019,2018 届见 rid 710 isic-2018,通用主库见 rid 56 isic-archive,ISIC 2024 见 rid 141 slice-3d——本条目不重复上述内容。→ 深读 §7.3、§9。
1.1 一分钟版本(电梯陈述)
SIIM-ISIC Melanoma Classification(2020)是 ISIC 挑战赛谱系从"多图分类"转向"患者中心筛查"的那一届:33,126 张六机构皮肤镜图、2,056 名患者、584 个组织病理学确认的黑色素瘤(1.76%),任务二分类、指标 AUC、测试标签永不公开。10 万次提交打出的冠军私榜 0.9490 靠三件事:患者级上下文建模、2018+2019 外部数据稳验证、高多样性骨干集成。它留给领域的遗产有二:patient-centric 数据集设计(Rotemberg et al. 2021 的论文标题级创新)与"外部数据+双 CV 跟踪"的医学赛验证范式。若只记三件事:1.76% 不平衡、患者级泄漏、官方 0.9490 与文献自切分 0.98+ 不可比。
1.2 引用须知:本条目名与数据集名的区别
- “SIIM-ISIC Melanoma Classification” 是 Kaggle 挑战赛名(事件层)——引用赛事、冠军成绩、参与规模时用此名。
- “SIIM-ISIC 2020 Challenge Dataset” 是数据集官方引用名(DOI 10.34970/2020-ds01)——论文数据节引用数据时用此名+官方引用块(§6.2)。
- “ISIC 2020” 是口语简称——对话可用,正式写作首次出现时给全称;且注意与"ISIC 2020 届数据"(可能泛指当届训练+测试)及"ISIC Archive 2020 年状态"(主库快照)区分——三种所指在文献里混用是常见歧义源。
- 本条目 slug
isic-2020指向上述事件+数据的整体(条目定位见 §0/§9);引用本条目时建议表述为"千方病案医数集 isic-2020 条目(SIIM-ISIC Melanoma Classification)"。
§2 数据构成与规格
2.0 数据集身份证(DAIMS 一览)
| 维度 | 内容 |
|---|---|
| 正式名称 | SIIM-ISIC Melanoma Classification Challenge(赛事);SIIM-ISIC 2020 Challenge Dataset(数据引用名) |
| DOI | 10.34970/2020-ds01(数据集);10.1038/s41597-021-00815-z(数据描述论文) |
| 任务 | 二元分类(benign vs malignant,黑色素瘤筛查) |
| 模态 | 皮肤镜图像(dermoscopy)+ 结构化 metadata |
| 训练规模 | 33,126 张图像 / 2,056 患者 / 584 恶性(1.76%) |
| 测试规模 | 10,982 张图像(GT 不公开) |
| 图像格式 | JPEG 与 DICOM 双格式;分辨率 0.5–24 megapixels |
| metadata | patient_id / sex / age_approx / anatom_site_general_challenge(+v2 的 lesion_id) |
| 患者结构 | 平均约 16 病灶/患者;20.8% 患者至少一个黑色素瘤 |
| License | CC-BY-NC 4.0(非商业) |
| 获取 | challenge.isic-archive.com/data/#2020(S3 直链);Kaggle 同源 |
| 谱系 | ISIC 2016→2017→2018→2019→2020→2024(SLICE-3D)/ MILK10k |
2.1 六机构来源与子数据集构成
训练集的 33,126 张图按来源机构拆分如下(Cassidy 2022 分析口径——研究者对底层子数据集的归属拆分,官方未逐源公布;引用时须带此限定):
| 子数据集 | 机构 | 张数 | 备注 |
|---|---|---|---|
| ISIC 2020 Challenge - MSKCC contribution | Memorial Sloan Kettering(纽约) | 11,108 | 最大单一来源 |
| Brisbane ISIC Challenge 2020 | The University of Queensland(布里斯班) | 8,449 | 2020 届真实新增主力 |
| ISIC 2020 Vienna (part 1) | Med Uni Vienna(维也纳) | 2,231 | |
| ISIC 2020 Vienna (part 2) | Med Uni Vienna(维也纳) | 2,143 | |
| BCN 2020 Challenge | Hospital Clínic de Barcelona(巴塞罗那) | 731 | BCN20000 底层池的 2020 切片 |
| UDA-1 | University of Athens(雅典) | 557 | |
| UDA-2 | University of Athens(雅典) | 60 | |
| (跨届共享底层)HAM10000 | Med Uni Vienna 系 | — | 2018-2020 三届共用 |
| (跨届共享底层)BCN20000 | Barcelona 系 | — | 2019-2020 两届共用(19,424 张进入 2019+2020 合并口径) |
三个结构性观察:
- 2020 届不是"纯聚合":与 2019 届"图像本体全部既有、只做并入选取"不同,Brisbane 8,449 张与 MSKCC 11,108 张的主体是当年真实新增的采集——这是 2020 届"数据集属性最强"的直接证据。
- 跨届共享是事实而非风险假设:HAM10000 三届共用、BCN20000 两届共用,意味着"2020 训练图 ∩ 2018/2019 训练图 ≠ ∅“是确定事件(重叠规模见 §8 坑 1),不是"可能有”。
- 机构来源=采集协议异质性:六机构的设备、放大率、采集流程不同,图像分辨率横跨 0.5–24 MP——这既是泛化挑战(域偏移),也是数据集的价值所在("in the wild"的多样性)。
来源构成的读法提示:MSKCC+Brisbane 两块合计 19,557 张(约 59%),构成数据集的绝对主体——分析"2020 届数据的典型样貌"时实际主要在看这两家的采集风格(MSKCC 的随访型多病灶拍摄传统与 UQ 的全身摄影协议);余下四成分散在 Vienna、BCN、UDA 与跨届共享底层子集(HAM10000/BCN20000 的拆分行,Cassidy 口径未全部归入上表)。做域分层评估时,机构间样本量的悬殊本身就是一个需要报告的事实——"六机构"是构成事实,不是均衡设计。
2.2 标签分布:584 张恶性与它的诊断构成
GroundTruth.csv 为每图一个二元 target:1 = malignant(恶性),0 = benign(良性)。
| 口径 | 数字 | 来源 |
|---|---|---|
| 恶性(target=1) | 584 张(1.8%) | 数据描述论文摘要(四舍五入口径) |
| 恶性占比(精确计算) | 584/33,126 = 1.763% | 冠军论文口径 1.76% |
| 良性(target=0) | 32,542 张(98.2%) | 584 与总数互算 |
| 恶性确认方式 | 全部组织病理学确认(histopathologically confirmed) | 论文摘要原文 |
| 良性确认方式 | 专家一致(三读一致)、纵向随访或组织病理确认 | Sci Rep 2024 口径 |
恶性的底层诊断构成(Cassidy 2022 Table 3 分析口径)值得展开——"恶性"这一列并非只有黑色素瘤一个病名,但几乎全部是黑色素瘤:
| 底层诊断 | 张数 | 占比 | target |
|---|---|---|---|
| melanoma | 584 | 97.6%(良性侧的 nevus 为 32,317) | 1 |
| nevus | ≈32,317 | 97.6% | 0 |
| seborrheic keratosis | 135 | 0.4% | 0 |
| lentigo simplex (NOS) | 44 | 0.1% | 0 |
| lichenoid keratosis | 37 | 0.1% | 0 |
| solar lentigo | 7 | <0.1% | 0 |
| café-au-lait macule | 1 | <0.1% | 0 |
| atypical melanocytic proliferation | 1 | <0.1% | 0 |
三个数据-临床联动提醒:
- 对比 2019 届的量级差:2019 届 MEL 类 4,522 张(17.8%),2020 届恶性 584 张(1.76%)——同一谱系里正例供给差了 10 倍,这就是冠军必须合并旧数据的数字根源(§5.3)。
- ** nevus 一类独大**:良性侧 97.6% 是黑色素细胞痣,模型实质在学"痣 vs 黑色素瘤"的鉴别——这与 2016 届 ISBI 挑战(黑色素瘤 vs 痣二分类)的任务形态遥相呼应,2020 届等于绕了一大圈回到筛查本质,但数据规模、患者结构与 metadata 丰富度已完全不同。
- 584 张的"全组织病理确认"含金量:标签噪声是皮肤影像数据集的常见软肋(专家目测一致性可能仅 60-80%),2020 届把正例全部钉死在病理金标准上——这是 AUC 能被认真讨论的前提,也是后续研究愿意把它当基准的原因。
诊断细分口径的使用警告:上表(Cassidy 2022 Table 3 分析口径)是把二元 target"逆向拆解"回底层诊断的研究结果,官方 GroundTruth.csv 里没有这些细分列——只有 target 一列。用途与限制:可用于理解数据构成、写论文的数据节描述;不可用于训练多类模型(数据里不存在该粒度的官方标签),也不可用于任何声称"官方多类标签"的表述。
2.2.1 恶性 vs 良性:二分类背后的镜下判据(读数据前先看病)
2020 届把 8 类问题收缩为二类后,模型实际要学的判据就是皮肤镜的教科书对照——下表为定性临床通识(无数字引用需求,供数据使用者建立直觉):
| 维度 | 恶性倾向(黑色素瘤) | 良性倾向(黑色素细胞痣等) |
|---|---|---|
| 对称性 | 不对称(ABCDE 的 A) | 两侧对称 |
| 边界 | 边缘不规则、模糊、骤变 | 边界清晰平滑 |
| 颜色 | 多色斑驳(棕/黑/蓝/红/白混杂,ABCDE 的 C) | 颜色均匀 |
| 直径 | 常 >6mm 且持续扩大(ABCDE 的 D) | 稳定 |
| 演化 | 短期变化(ABCDE 的 E,随访关键) | 多年稳定 |
| 镜下结构 | 蓝白幕、不规则条纹/点/球、伪足 | 均匀色素网、规则球状/脑回样结构 |
| 患者级线索 | 与本人其他病灶相比"格格不入"(丑小鸭征) | 与本人其他病灶风格一致 |
三个数据-临床联动提醒:
- "E(演化)"正是患者级结构的临床根据:单张图无法编码"变化",只有同一患者的随访多图才能——2020 届的 lesion_id 随访结构是把 ABCDE 的 E 从"问病史"变成"数据字段"的尝试。
- "丑小鸭征"是多非典型痣患者的救命判据:此类患者全身痣都不典型,单图分类器会系统性误报;只有患者内相对比较才能把他们救回来——论文明确以此作为 patient-centric 的动机之一(§2.3)。
- 二分类收缩的临床代价:良性侧把 seborrheic keratosis、lentigo 等非痣病变也并进来(§2.2 诊断细分表),模型对"良性但需要处理"的病变不再有独立输出——筛查(要不要担心黑色素瘤)与诊断(这是什么病)在本届是明确分开的两件事,引用模型输出时勿越界表述为"诊断"。
2.3 患者与病灶结构:patient-centric 的工程落地
这是本数据集区别于一切前届的核心设计,值得逐条读:
- 2,056 名唯一患者贡献 33,126 张图——平均每人约 16 个病灶(论文摘要 “an average of 16 lesions per patient”)。作为对照:2018/2019 届的图像基本以"单图独立"组织,同一患者的图即便存在也不可关联(2019 届只有 lesion_id,无 patient_id)。
- 患者级恶性分布:20.8% 的患者至少有一个黑色素瘤,79.2% 的患者零黑色素瘤(论文摘要原文)。注意两个百分比的换算直觉:584 个恶性病灶分布在 428 名患者身上(584/33,126≈1.76% 按图计,20.8% 按患者计)——按患者算的"有病率"是按图算的"恶性率"的近 12 倍,这本身就是"多病灶患者"结构的体现:一个有黑色素瘤的患者往往带来多张恶性图。
- lesion_id:同一病灶的多次拍摄(不同时间/放大倍率/随访点)共享一个 lesion ID。Cassidy 2022 分析口径给出 32,701 个唯一 lesion ID(官方未直接公布该数;2,056×16≈32,896 与之同量级互洽)。
- 临床动机——丑小鸭征(ugly duckling sign):皮肤科医生读片的真实逻辑是"先扫这个人的全部病灶建立基线,再看哪个病灶相对异样"。多非典型痣(atypical mole syndrome)患者全身痣都长得"像恶性",单图分类器会对他们大量误报;而患者级上下文让模型学会"在同一个患者的背景里比较"——论文特别指出该设计用于排除多非典型痣患者的假阳性。
- 摄取管线(论文 Fig.2/Fig.3):无 ≥3 个合格诊断与质量的情境病灶(contextual lesions)的患者被整位移除;患者按疾病类别做平衡子采样。换句话说,“患者能进训练集"的门槛是"该患者的背景病灶足够多”——这是把"临床读片需要背景"直接写进了数据准入规则。
一句话总结本节:在 2020 届之前,ISIC 数据集是"图的集合";从 2020 届开始,它是"病人的集合"。这个视角转换的下游影响(元数据融合、患者级切分、contextual modeling)见 §7。
患者级视角的三个反直觉事实(换个角度再理解一遍 §2.3):
- "正例率 1.76%"是图的说法,患者的说法是 20.8%——同一份数据,按图统计与按患者统计给出相差近 12 倍的"有病率";引用时不说清口径,读者对"这个数据集里癌症多罕见"的理解会差一个数量级。
- 多数患者是"纯良性"的(79.2%)——他们入组的意义是提供"背景生态"(供丑小鸭式比较),不是提供恶性样本;这解释了为什么摄取管线要求 ≥3 个情境病灶而不是要求恶性样本。
- 患者数(2,056)比图像数(33,126)更能代表数据集的真实规模——统计学上的有效样本量介于两者之间(聚类数据的 design effect),"3 万张图"的宣传数字会系统性夸大信息量;做任何功效分析(power analysis)都要以患者为单位。
2.3.1 患者级切分骨架(本数据集的标准起手式)
import pandas as pd
import numpy as np
from sklearn.model_selection import StratifiedGroupKFold
train = pd.read_csv("train.csv") # 需含 patient_id 列(v2 metadata 或 Kaggle 更新版)
# 患者是切分的最小原子:同一患者的所有图必须落在同一折
# 分层键用 target(保各折正例率),组键用 patient_id(防患者级泄漏)
sgkf = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=42)
for fold, (_, val_idx) in enumerate(sgkf.split(train, train.target, groups=train.patient_id)):
train.loc[val_idx, "fold"] = fold
# 切分后自检三件事(缺一不可):
patient_per_fold = train.groupby("fold").patient_id.nunique()
assert train.groupby("patient_id").fold.nunique().max() == 1, "患者跨折 → 泄漏!"
print("每折患者数:", patient_per_fold.to_dict())
print("每折正例率:", train.groupby("fold").target.mean().round(4).to_dict())
# 严格档:病灶级约束(需 v2 metadata 的 lesion_id)
if "lesion_id" in train.columns:
lesion_ok = train.groupby("lesion_id").fold.nunique().max() == 1
print("病灶级约束满足:" , lesion_ok)
骨架说明:StratifiedGroupKFold 同时照顾"折间正例率均衡"(分层)与"患者不跨折"(分组)——单用 GroupKFold 会在 584 个正例的稀疏分布下出现某折正例过少的运气风险。自检第二行是底线:患者跨折即为泄漏(§8 坑 3)。若 metadata 只有 v1(无 lesion_id),至少做到患者级,并在论文中如实报告切分粒度(§8 坑 6)。
2.4 图像规格
- 格式:JPEG 与 DICOM 双格式并行提供——ISIC 谱系首次将 DICOM 作为一等公民(此前各届为 JPEG/纯图)。DICOM 内嵌完整 metadata(患者/设备/采集参数),是"医疗互操作"路线的表态。
- 分辨率:0.5–24 megapixels(Med Image Analysis 综述口径)——跨度近 50 倍,是 ISIC 谱系分辨率异质性之最。openmedlab 单源存照:min 640×480 / median 5184×3456 / max 6000×6000(待核,见 FACTS §9)。
- 体量:训练 JPEG 23GB;训练 DICOM 48.9GB(原始)/ 23.0GB(corrected);测试 JPEG 6.7GB / DICOM 15.3GB(原始)/ 6.7GB(corrected)。
- DICOM 双版本说明:48.9GB 与 23.0GB 不是两个不同的数据集——corrected 版是用 dciodvfy(dclunie.com dicom3tools)严格校验后的兼容性修正版,图像内容一致,修复的是 DICOM 头部字段的规范符合性。官网脚注原文:新版用于避免执行严格 DICOM 校验时的潜在报错。工程建议:除非你要做 DICOM 互操作研究,直接用 corrected 版或 JPEG 版(详见 §8 坑 5)。
分辨率异质的使用建议:
| 你的目标 | 建议输入策略 |
|---|---|
| 快速 baseline | 统一 resize 到 224²/384²,接受信息损失 |
| 认真建模 | 2-3 档分辨率(如 384/512/768)各训一份再集成(冠军做法 §5.2) |
| 高分辨率敏感研究 | 保留原始分辨率做 ROI 裁剪(黑色边框去除后中心区域),或 tile 化处理 |
| 中心/设备分析 | 保留原始尺寸元数据做域分层(坑 10 的域差评估要用) |
2.5 metadata 字段字典
| 字段 | 类型 | 取值/范围 | 训练 | 测试 | 建模提示 |
|---|---|---|---|---|---|
| image_name(Kaggle 键)/ ISIC_ID(官网键) | 字符串 | ISIC_xxxxxxx | 有 | 有 | 主键;跨包映射用 |
| patient_id | 字符串 | IP_xxxxxxx | 有 | 有 | 患者级切分的分组键 |
| sex | 类别 | male/female(缺失归 unknown) | 有 | 有 | 存在缺失;缺失模式可能携带中心信息 |
| age_approx | 分箱数值 | 0-90 岁近似分箱 | 有 | 有 | 缺失类别化处理,勿均值插补 |
| anatom_site_general_challenge | 类别 | head/neck、upper extremity、lower extremity、anterior torso、posterior torso、palms/soles、oral/genital 等 | 有 | 有 | 高基数低频部位可归并 |
| lesion_id(仅官方 v2 / Kaggle 更新版) | 字符串 | IL_xxxxxxx | 有 | 无 | 病灶级切分键;同一病灶多图共享 |
| target(训练标签) | 二值 | 0/1 | 有 | 无 | 测试 GT 永不公开 |
四个使用要点:
- v1/v2 双版本并存:官方 metadata v1 CSV(patient ID/sex/age/site 四字段)与 v2 CSV(新增 lesion ID)同时挂在官网——用哪个直接决定你能不能做病灶级切分(§8 坑 6)。
- Kaggle 原始 train.csv 不含 lesion_id 列(仅 patient_id/sex/age_approx/anatom_site/target),2021 年后 Kaggle 数据页更新才补入——读旧 notebook 与旧论文时注意口径。
- 缺失不是均匀噪声:各字段缺失率随机构/设备而异,"缺失模式"本身可能成为机构指纹——metadata 建模需防"缺失即标签"的伪相关。
- anatom_site_general_challenge 的命名带 “_challenge” 后缀,取值体系与 ISIC Archive 主库的 anatom_site_general 不同(如 palms/soles 与 oral/genital 合并档位)——跨数据集对齐字段时别想当然。
2.5.1 解剖部位取值域与跨数据集对齐
| anatom_site_general_challenge 取值 | 临床含义 | 建模提示 |
|---|---|---|
| head/neck | 头颈部 | 慢性日光暴露区,恶性风险偏高 |
| upper extremity | 上肢 | |
| lower extremity | 下肢 | 黑色素瘤性别差异部位(女性下肢多发——临床通识,供特征工程直觉) |
| anterior torso | 躯干前侧 | |
| posterior torso | 躯干后侧 | 患者自检盲区,"隐匿病灶"高发区 |
| palms/soles | 手掌/足底 | 肢端部位,黑色素瘤亚型相关,样本量小 |
| oral/genital | 口腔/生殖器 | 罕见部位,与主库取值档位不同 |
| (缺失) | NaN | 见要点 3"缺失即标签"风险 |
对齐三警告:其一,本字段与 ISIC Archive 主库(rid 56 体系)的 anatom_site_general 粒度不同——主库另有 specific_anatom_site(更细),跨库合并时须建映射表而非直接 join;其二,与 2019 届的 anatom_site_general 取值域接近但非完全一致(palms/soles、oral/genital 的合并/拆分档位差异),合并 2019+2020 数据时(§5.3)此字段要做归一;其三,部位与恶性率相关(头颈/肢端偏高),是 metadata 融合模型里信息量最大的表格特征之一——这也是缺失模式伪相关(坑 10)最爱寄生的字段。
2.5.2 metadata 特征工程建议
| 字段 | 建议处理 | 理由 |
|---|---|---|
| age_approx | 分箱保留(如 <45/45-60/60-75/75+)或样条变换;缺失单列一档 | 恶性风险随年龄单调上升,但分箱边界处易过拟合;缺失与采集中心相关 |
| sex | 二值+缺失档 | 信息量中等,与部位有交互 |
| anatom_site_general_challenge | one-hot 或目标编码;罕见档(oral/genital)并入"rare" | 高基数低频档噪声大 |
| patient_id | 绝不作为特征 | 泄漏通道(模型可记患者);只作切分组键 |
| lesion_id | 绝不作为特征 | 同上;只作病灶级切分 |
| (衍生)本人病灶计数 | 可做(仅用训练侧统计) | 丑小鸭征的工程代理——但构造时必须只用同患者非本图的信息,防图级泄漏 |
最后一行是进阶技巧也是高危区:患者上下文特征(如"该患者其他病灶的最大恶性概率")是 patient-centric 建模的直接实现,但其构造天然容易把标签信息漏进特征——构造与评估都要在患者级切分的框架内做(§2.3.1),并在论文中明确特征构造的信息边界。
2.6 官方数据包文件字典
| 文件名 | 体量 | 行/张数 | 内容 |
|---|---|---|---|
| ISIC_2020_Training_Dicom.zip | 48.9GB | 33,126 | 训练图 DICOM(原始) |
| ISIC_2020_Train_DICOM_corrected.zip | 23.0GB | 33,126 | 训练图 DICOM(dciodvfy 兼容修正) |
| ISIC_2020_Training_JPEG.zip | 23GB | 33,126 | 训练图 JPEG |
| ISIC_2020_Training_Metadata.csv(v1) | 2MB | 33,126 | patient ID / sex / age / general anatomic site |
| ISIC_2020_Training_Metadata_v2.csv | 2MB | 33,126 | v1 字段 + lesion ID |
| ISIC_2020_Training_GroundTruth.csv | 2MB | 33,126 | 二元 target(gold standard lesion diagnoses) |
| ISIC_2020_Training_Duplicates.csv | 2MB | 425 | 官方主动公布的重复图像列表 |
| ISIC_2020_Test_Dicom.zip | 15.3GB | 10,982 | 测试图 DICOM(原始) |
| ISIC_2020_Test_Dicom_corrected.zip | 6.7GB | 10,982 | 测试图 DICOM(修正) |
| ISIC_2020_Test_JPEG.zip | 6.7GB | 10,982 | 测试图 JPEG |
| ISIC_2020_Test_Metadata.csv | 458KB | 10,982 | patient ID / sex / age / site(无 lesion ID) |
| 测试 GroundTruth | — | — | Not Available(官网原样标注;私榜持有,永不公开) |
Kaggle 侧同源结构:train.csv / test.csv / train/(JPEG 目录)/ test/(JPEG 目录),另有 train_image(2019 合并版)等派生包由社区上传。
2.6.1 社区镜像与派生包使用警告
社区在 Kaggle Datasets 与各托管平台上维护了大量派生包,使用前过三道检查:
- 来源核对:派生包是否声明逐字节对应官方包(如给出 MD5/SHA256)?无校验信息者按"不可信"处理。
- "GT 类"文件一律怀疑:任何名为 test ground truth / private labels 的社区文件都不是官方 GT(官方从未发布,§2.7)——它们要么是参赛者预测,要么是用公共榜反馈重构的伪标签,两者都不该进你的评估管线。
- 版本漂移:Kaggle 竞赛数据页在 2021 年后更新过 train.csv(补入 lesion_id),社区 notebook 的列名假设因此分两代(有无 lesion_id 列)——旧代码在新数据上跑会 KeyError,新代码在旧镜像上跑会静默丢字段,两边都要显式断言列存在。
2.7 测试集与"永不公开"的标签
测试集 10,982 张,挑战期间由 Kaggle 自动评估系统持有真值计分;挑战结束后官方也未公开测试 GT——ISIC 2019 届挑战后公开了测试 GT(454KB CSV),2020 届没有跟进,官网至今标注 “Not Available”。Cassidy 2022 综述对此的原话是 “diagnostic distribution unknown”——测试集的诊断分布官方从未公布,文献中一切"测试集分布如何如何"的表述均为推测,本条目按"官方不公开"陈述。
这个设计的双面性:一方面,永久私榜保证了一个不可被污染的评测金标准(0.9490 至今仍是可信的复现锚点);另一方面,社区无法对测试集做任何离线分析(包括域偏移诊断、错误分析),复现研究只能转向自建切分——而这又埋下了 0.9490 与自切分 0.98+ 不可比的长期混乱(§8 坑 9)。
社区对"GT 封闭"的应对方式(各有代价,了解后选择):
- 自建留出集:从训练集按患者级切分划出固定留出集,冻结后作为社区事实标准(部分论文这样做)——代价是与他人留出集不重合,数字仍只在协议内可比。
- K 折全训练+CV 报告:不留出集,报 5 折均值±方差——最通用;缺点是"每折都见过数据"的方差易被低估(须报折间方差而非只报均值)。
- 复用公共榜反馈做代理评估:不可取——公共榜信号被证明与 CV 解耦(§5.4)。
- 等 ISIC 后续公开:2019 届赛毕公开了 GT,部分研究者期待 2020 届跟进——截至撰写时点(2026-09)仍未发生,官网维持 “Not Available”。
2.8 与 2018/2019 两届的数据关系速览
| 届 | 训练 | 测试 | 任务 | 患者结构 | 评估 |
|---|---|---|---|---|---|
| 2018 | 10,015(=HAM10000 全集) | 1,512 | 7 类 | 无 patient_id | balanced accuracy |
| 2019 | 25,331(聚合) | 8,238 | 8 类+UNK | 仅 lesion_id(23,247 张有值) | balanced accuracy |
| 2020 | 33,126(真实新增为主) | 10,982 | 二分类 | patient_id+lesion_id 全覆盖 | Mean Columnwise AUC |
一句话:2019 届是"类的扩张"(8 类+开放集),2020 届是"结构的革命"(患者级)+ “任务的收缩”(二分类)。跨届重叠(HAM10000/BCN20000 共用)与外部数据实践详见 §5.3 与 §8 坑 1、坑 8。
2.9 数据质量画像:缺失、重复与中心效应
把散在各节的质量问题集中一页,供数据审计用:
| 质量维度 | 事实 | 影响 | 对应处理 |
|---|---|---|---|
| 类别不平衡 | 584/33,126=1.76% | accuracy 失效;训练塌方风险 | AUC/AP;加权损失(坑 2) |
| 患者聚集 | 2,056 患者、平均约 16 图/患者 | 图级切分必然泄漏 | GroupKFold(坑 3) |
| 完全重复 | 425 张(官方公布) | 跨切分泄漏;规模虚高 | Duplicates.csv(坑 4) |
| 跨届重复 | HAM10000/BCN20000 多届共用 | 跨集评估虚高 | ISIC ID 去重(坑 1) |
| 分辨率异质 | 0.5-24 MP | 低分辨率细节丢失;域伪相关 | 多分辨率输入(坑 10) |
| metadata 缺失 | 各字段缺失率不均,随机构而异 | "缺失即标签"伪相关 | 缺失类别化(坑 10) |
| 格式双版本 | DICOM 48.9GB/23.0GB 并存 | 重复下载/误引体量 | 用 corrected(坑 5) |
| 标注双版本 | metadata v1/v2 并存 | 粒度口径混乱 | 用 v2(坑 6) |
| 测试 GT | 永不公开;分布未知 | 离线分析不可行 | 只信 CV(坑 7) |
审计建议顺序:先跑 §6.4 的完整性断言(行数/键集合/正例率),再按上表逐行核对处理措施——该表就是"十坑"的数据审计投影。
§3 任务协议与评估指标
3.1 任务定义:一次刻意的收缩
官方任务:给定皮肤镜图像(及可选 metadata),预测恶性概率。提交格式为每测试图一行 image_name,target,target 为 [0,1] 区间的恶性概率值。
与 2018/2019 届的多分类任务相比,这次收缩有三层含义:
- 临床层:回到筛查(screening)本质——"要不要活检"是二分决策。2016 届 ISBI 挑战就是这个任务(900 训练图时代),2020 届用 33,126 图 + 患者结构 + metadata 重做同一道题,数据条件早已天壤之别。
- 统计层:8 类多分类中,模型可以用"把恶性样本分到 BCC/AK"这类近邻错误稀释责任;二分类把所有恶性类内混淆全部压回同一个指标——漏检就是漏检,没有借口。配合 1.76% 正例率,AUC 从 0.95 提到 0.96 的难度远超 8 类任务同幅度提升。
- 方法层:二分类+metadata 的组合把"图像+表格特征融合"(image + tabular fusion)推成这届的主流玩法——患者级 metadata(年龄/部位/性别)第一次有了明确的评分回报,因为恶性风险本身就与年龄、部位强相关(老年、男性、四肢/躯干为主)。
官方允许外部数据——这一条写进规则的外部数据许可直接塑造了整届比赛的方法分布(详见 §5.3),也是赛后文献比较成绩时最大的口径陷阱(§8 坑 8)。
3.1.1 三届任务形式对比
| 维度 | 2018 届 | 2019 届 | 2020 届 |
|---|---|---|---|
| 输出空间 | 7 类 one-hot | 9 类 one-hot(含 UNK) | 1 个连续概率 [0,1] |
| 主指标 | balanced accuracy(AUC 平局裁定) | balanced multi-class accuracy | Mean Columnwise AUC |
| metadata 输入 | Task 2(年龄/性别/部位) | Task 2(同左,测试无 lesion_id) | 训练测试均含(官方计分图像为主) |
| 开放集要求 | 无 | 有(UNK 检测) | 无 |
| 赛道结构 | Task 1/Task 2 双轨 | Task 1/Task 2 双轨(Task 2 须兼报 Task 1) | 单赛道 |
| 提交格式 | 9 列 one-hot | 9 列 one-hot | 2 列(image_name,target) |
表格读法:任务空间从 9 维离散(2019)收缩到 1 维连续(2020),赛道从双轨并成单轨——赛制的简化与数据结构的复杂化(患者级)形成方向相反的两股变化:出题变简单了,数据变"深"了。这也是为什么本届的方法论文大多聚焦验证与数据策略而非任务建模本身(§5)。
3.2 评估指标:Mean Columnwise AUC
Kaggle 官方 Metrics 栏原文:“Mean Columnwise Area Under Receiver Operating Characteristic Curve”。
- 定义:对唯一标签列 target 计算 ROC AUC("columnwise"在二分类下退化为单列 AUC——这个命名是 Kaggle 对多标签场景通用指标的沿用,本赛实际就是标准二分类 AUC)。
- 语义:AUC = 随机取一恶性图与一良性图,模型给恶性图更高恶性概率的概率。它与阈值无关、对类别不平衡不敏感(相对 accuracy 而言),这正是 1.76% 正例率下仍能稳定排名的原因——accuracy 在这个分布下毫无区分度(全猜良性得 98.2%,§8 坑 2)。
- 与 2019 届指标的哲学对比:2019 届 balanced accuracy(average recall)是"阈值化指标"——依赖你选的决策点,且强行抬升少见类;2020 届 AUC 是"排序指标"——只看恶性概率的排序质量,不问阈值。对筛查任务,排序质量(谁该先进活检室)恰是临床语义最贴近的量。
- 平局处理:Kaggle 标准做法按提交时间排序(本赛无额外平局指标公布)。
3.2.1 指标复算骨架
import numpy as np
from sklearn.metrics import roc_auc_score
# 提交格式:每测试图一行 image_name,target(恶性概率)
y_true = np.array([0, 1, 0, 0, 1]) # 测试 GT(私榜持有,此处示意)
y_pred = np.array([0.05, 0.80, 0.12, 0.30, 0.65]) # 你的提交
# Mean Columnwise AUC(二分类下 = 标准二分类 ROC AUC)
auc = roc_auc_score(y_true, y_pred)
print(f"private AUC = {auc:.4f}")
复算要点:提交值必须是概率或有序分数——AUC 只依赖排序,任何单调变换(如 logit、温度缩放)不改变成绩;但非单调变换(如把概率四舍五入到 0/1)会严重破坏排序细节。这也是为什么集成时"概率平均"与"排名平均"会有成绩差。
3.2.2 AUC 之外:筛查工作点(operating point)讨论
AUC 是排序质量的总分,但临床筛查最终要在某个阈值上做决定(“恶性概率 > t 就转活检”)。同一 AUC 下,不同模型的 ROC 曲线形状可以不同——在高敏感度区(筛查关心的左上角)表现可以有实质差异。报告本数据集结果时的进阶姿势:
- 补报固定敏感度下的特异度(如 sens=90% 时的 spec)或固定特异度下的敏感度——这两个"工作点"数字比 AUC 更贴临床语义;
- 补报 AP(average precision / PR-AUC)——1.76% 正例下,AP 对"高概率端排序质量"的刻画比 AUC 更严格(AUC 的负例基数极大,容易给出"高分幻觉");
- 报告决策曲线分析(DCA)或净获益——文献中此做法已渐成皮肤筛查模型的标准配置。
冠军论文与多数前排方案只报 AUC(Kaggle 赛制使然),但赛后医学期刊论文普遍被要求补充工作点指标——两条报告传统的差异,源于"竞赛排序"与"临床部署"的目标差。引用成绩时清楚自己在哪条传统上即可。
3.3 双段榜机制与测试协议
- 公共榜(Public LB):约测试集 1/10(冠军论文口径 ≈3,300 张)即时反馈;参赛期间每日可提交(Kaggle 标准配额),全程累计 101,845 次提交。
- 私榜(Private LB):剩余约 9/10 测试图,赛毕一次性定最终名次;真值至今未公开。
- 官方 GT 状态:官网 Test Ground Truth 栏 “Not Available”——与 2019 届"赛毕公开 GT"的做法不同,2020 届的测试标签永久封闭。
这个机制在本届被推到了方法学讨论的中心,原因是本届公共榜的统计质量极差(详见 §5.4 与 §8 坑 7):约 3,300 张图上 1.76% 正例率意味着公共榜仅含约 58 个正例——单个正例的排位变化就能掀起榜单大地震。冠军论文的原话:公共榜与交叉验证的相关系数≈0,全程不使用公共榜反馈。这是医学影像 Kaggle 赛史上"公共榜噪声"最极端的公开案例之一。
3.3.1 理性参赛者的提交策略(事后总结)
把冠军团队的实践抽象成时间线模板(供后续参赛者/复现者参照):
| 阶段 | 动作 | 依据 |
|---|---|---|
| 开赛第 1 周 | 搭 CV 框架(患者级切分+外部数据合并),跑通 end-to-end 提交 | 验证基础设施优先于模型 |
| 第 2-6 周 | 模型迭代:骨干扩族、分辨率加档、metadata 融合实验——选型只看 cv all/cv 2020 | 公共榜无效(§5.4) |
| 全程 | 每日提交配额用于"管线回归测试"(确认新代码没把提交搞坏),不用来冲榜 | 提交即格式验证 |
| 收官周 | 从 CV 稳定排序选 2 个私有提交(选方差小的而非榜分高的) | 私榜一次性定胜负 |
3.4 参赛约束与合规
- 单队最终须指定 1-2 个私有提交(private submissions)进入私榜终评。
- 外部数据:允许,须遵守各来源许可且不与测试集重叠(官方规则原文要求外部数据不得包含测试集图像)。
- 代码分享:Kaggle 公开 notebook 文化在本届极活跃(社区著名内核如"Melanoma compilation of top solutions"等),赛毕大量公共 notebook 成为后来者的入门教材——但公共 notebook 的验证切分普遍存在患者级泄漏(§8 坑 3),复用其 CV 成绩须谨慎。
3.5 提交格式与校验骨架
import pandas as pd
# 官方提交格式:两列,image_name 与 target(恶性概率,[0,1] 连续值)
sub = pd.DataFrame({
"image_name": test_meta["image_name"], # 必须与测试 metadata 的 image_name 逐行对应
"target": model.predict_proba(X_test)[:, 1],
})
# 五道提交前自检(Kaggle 自动判分不报语义错误,错了只会掉分):
assert sub["image_name"].is_unique, "1. image_name 重复"
assert set(sub.image_name) == set(test_meta.image_name), "2. 与测试集键集合不一致(多行/少行)"
assert sub.target.between(0, 1).all(), "3. target 越界 [0,1]"
assert sub.target.notna().all(), "4. 存在 NaN(AUC 会直接判失败)"
assert sub.target.nunique() > 100, "5. 分辨率过低(四舍五入成 0/1 会毁掉排序细节,§3.2)"
sub.to_csv("submission.csv", index=False)
校验要点:第 5 条是新手高频事故——把概率舍入到两位小数以下甚至 0/1,AUC 排序细节大量丢失;概率的精度应保持 float 全量。另注意 image_name 与 ISIC ID 的对应:Kaggle 键为 image_name(如 ISIC_0074542),官网包键名体系一致但文件后缀不同,跨包对齐时统一去后缀。
§4 挑战赛时间线与参与规模
4.1 时间线(Kaggle 官方口径)
| 节点 | 日期 | 说明 |
|---|---|---|
| 竞赛开始(训练数据发布) | 2020-05-28 | Kaggle 官方页 Starts 栏 |
| 提交截止(竞赛关闭) | 2020-08-18 | Kaggle 官方页 Closes 栏 |
| 私榜终评 | 赛后 | 双段榜机制,私榜一次性定名次 |
| 冠军论文公开 | 2020-10-11 | arXiv:2010.05351 v1 |
| 数据描述论文发表 | 2021-01-28 | Rotemberg et al., Sci Data 8:34(PMID 33510154) |
| Author Correction | 2021-03-05 | Sci Data 8:81 |
赛程约 11.5 周,与 ISIC 2018/2019 届(约 8 周)相比略长;处在 COVID-19 大流行中期——线下学术会议(ISIC 传统上的发布场合)停摆,Kaggle 平台成为那一年医学影像社区的主要会合点,这也是本届参与规模空前的一个背景因素。
4.1.1 关键日期细读
- 发布与截稿同框 11.5 周:训练数据开赛即发(2020-05-28),无 2019 届"测试 metadata 晚于图像两周"的两段式发布——任务收缩为二分类后,测试 metadata 随测试图一并给出,赛道结构因此比 2019 届(Task 1/Task 2 双轨)简单。
- 赛毕 54 天出冠军论文:2020-08-18 关赛 → 2020-10-11 冠军论文挂 arXiv——Kaggle 冠军方案从出分到公开的历史级速度之一,使这届的方法学教训(外部数据、公共榜噪声)在赛后 immediately 可读。
- 赛毕 5 个多月出数据论文:2021-01-28 Rotemberg et al. 登 Sci Data——数据描述滞后于赛事是挑战赛数据集的常态(数据论文要把摄取管线、患者级设计写透,比方法论文慢);引用本数据集时两篇各司其职:方法演进引冠军论文,数据设计引 Rotemberg。
- 勘误紧跟:Author Correction(2021-03-05)在正式发表 5 周后刊出——核对 Rotemberg 论文数字时注意勘误内容(FACTS §2 存照)。
4.2 参与规模:医学影像赛的历史极值
| 指标 | 数字 | 来源 |
|---|---|---|
| Entrants(注册者) | 14,838 | Kaggle 官方页(2026-09-28 抓取) |
| Participants(有效参与) | 4,110 | 同上 |
| Teams(组队) | 3,308 | 同上(冠军论文 “more than 3300 teams” 一致) |
| Submissions(总提交) | 101,845 | 同上 |
四个对照,感受这个规模:
- 纵向对比 ISIC 系:2016 届 ISBI 挑战参与者以个位数论文作者计;2018 届约 460 队;2019 届约 800 队——2020 届 3,308 队是上一届的 4 倍、2018 届的 7 倍。
| 届 | 年份 | 队数(约) | 平台 |
|---|---|---|---|
| ISBI/ISIC 2016 | 2016 | 个位数 | ISIC 自办 |
| ISIC 2018 | 2018 | ≈460 | ISIC 官方系统 |
| ISIC 2019 | 2019 | ≈800 | ISIC 官方系统 |
| ISIC 2020 | 2020 | 3,308 | Kaggle |
(2018/2019 队数为库内邻条口径的约数,详见 rid 710/rid 707;2020 为 Kaggle 官方精确数。)
2. 横向对比 Kaggle 医学赛:3,308 队 / 10 万+ 提交使本届成为 Kaggle 史上参与度最高的医学影像挑战赛之一(Cassidy 2022 将其列为 ISIC 系最大数据集时同时强调了这一赛事规模)。
3. 人均提交:101,845/3,308≈31 次/队——双段榜+每日提交配额下,这个数字说明大部分队伍把提交预算花在了公共榜上,而公共榜恰恰是被证明噪声最大的(§5.4)——参与规模与方法学教训同样极端,是本届的讽刺性对照。
4. 奖金与规模比:$30,000 总奖金对 3,308 队——性价比惊人的低($9/队),但参赛回报主要是排名与公开方案本身;冠军开源代码(github.com/haqishen/SIIM-ISIC-Melanoma-Classification-1st-Place-Solution)成为该领域复现率最高的参考实现之一,其影响力远超奖金数字。
4.2.1 规模数字的引用注意
- 14,838 entrants 与 4,110 participants 的差值(约 10,700 人)是注册未有效提交者——引用"参赛人数"时须注明用哪个口径(推荐 teams=3,308,与冠军论文 “more than 3300 teams” 互证,最为稳妥)。
- 101,845 submissions 是所有队伍全程的提交总数;引用"提交/队"均值(约 31 次)时注意它是队均而非人均。
- 智源社区等转述来源曾有 “1/3314” 的队数口径(次要差异,弃用)——引用队数一律以 Kaggle 官方页 3,308 为准。
4.3 主办与人物
- 主办方:ISIC(International Skin Imaging Collaboration)+ SIIM(Society for Imaging Informatics in Medicine)——ISIC 谱系首次与 SIIM 合作、首次上 Kaggle。Kaggle 官方页 Competition Host 栏原文 “SIIM & ISIC”。
- Committee Chairs(官网原表):H. Peter Soyer(The University of Queensland,皮肤科)、Allan Halpern(MSKCC)、Pascale Guitera(Melanoma Institute Australia & Sydney Melanoma Diagnostic Center)、Noel C. F. Codella(微软)、Marc Combalia(Fundació Clínic, Barcelona)、Veronica Rotemberg(MSKCC)。
- Partners(官网原表,节选):George Shih / Steve Langer / Anna Zawacki(SIIM);Jochen Weber / Nick Kurtansky / Steve Dusza(MSKCC);Josep Malvehy(Hospital Clínic Barcelona);Harald Kittler / Philipp Tschandl(Med Uni Vienna);David Gutman(Emory);Brigid Betz-Stablein(UQ);Konstantinos Liopyris / Alexander Stratigos(U Athens)。
- 组织结构观察:Chairs 六人覆盖三个大洲的六大来源机构中的五个——数据提供机构与赛事治理机构高度重合,这是 2020 届"数据即赛事"一体化的组织证据(2016-2019 届数据方与出题方的界限更分明)。
人物-机构-角色对应速览(官网两表合并视图):
| 机构 | Chairs 侧 | Partners 侧 | 在数据中的角色 |
|---|---|---|---|
| MSKCC(纽约) | Allan Halpern、Veronica Rotemberg | Jochen Weber、Nick Kurtansky、Steve Dusza | 最大单一图像来源(11,108 张)+ 评估委员会 |
| Med Uni Vienna(维也纳) | — | Harald Kittler、Philipp Tschandl | 图像来源(Vienna part 1/2)+ HAM10000 系 |
| The University of Queensland(布里斯班) | H. Peter Soyer | Brigid Betz-Stablein | 图像来源(Brisbane 8,449)+ 数据描述论文通讯作者所在单位 |
| Hospital Clínic Barcelona(巴塞罗那) | Marc Combalia | Josep Malvehy | 图像来源(BCN 731)+ BCN20000 系 |
| Melanoma Institute Australia | Pascale Guitera | — | 图像来源机构之一 |
| University of Athens(雅典) | — | Konstantinos Liopyris、Alexander Stratigos | 图像来源(UDA 557+60) |
| SIIM | — | George Shih、Steve Langer、Anna Zawacki | 联合主办与平台协调 |
| Emory / 微软 | — | David Gutman / Noel Codella | 技术合作侧(Gutman 为 ISIC 谱系技术元老;Codella 为历届挑战组织者) |
4.4 赛事背景与社区生态
时代背景:赛程(2020-05-28 → 2020-08-18)正值 COVID-19 大流行中期——线下学术会议停摆,ISIC 传统上的发布场合(MICCAI 工作坊等)转入线上,Kaggle 平台成为那一年医学影像社区的主要会合点。参与规模空前(§4.2)与这一背景互为因果:既放大了参赛人数,也放大了社区讨论与 notebook 共享的密度。
官方沟通渠道:Kaggle 论坛为主阵地——主办方(含 MSKCC 的 Veronica Rotemberg 等)在论坛直接答疑,规则澄清(如外部数据边界、测试集构成说明)多以论坛帖形式发布;官方同时说明数据描述论文当时为 preprint 尚未同行评审(“has not undergone peer review… if accepted the below will be updated accordingly”——该论文现已正式发表于 Sci Data,引用时以正式版为准)。
社区生态的三个标志性现象:
- 公共 notebook 军备竞赛:从 EDA(探索性分析)、去重方案到患者级切分模板,公共 notebook 覆盖了全部工程环节;头部 notebook 得票以千计。副作用是"公共 notebook 依赖症"——大量队伍直接复用含图级切分的验证方案而不自知(坑 3 的社区传播路径)。
- 图像预处理技术栈的普及:毛发去除(inpainting 类算法在社区被大规模复用与改良)、黑色边框裁剪、DICOM 窗宽窗位讨论——这些工程细节经由本届社区讨论成为皮肤影像 pipeline 的默认件。
- 101,845 次提交的"公共榜内卷":多数提交预算投向公共榜(§4.2 观察三),而冠军论文事后证明该信号与 CV 相关系数≈0(§5.4)——参赛规模的历史极值与反馈信号的历史级失效同时发生,是本届留给竞赛设计者的双重遗产。
给竞赛设计者的三条启示(本届作为"自然实验"的证据):
- 小正例赛必须防"公共榜依赖":正例率低+公共榜小 ⇒ 反馈信号失效。后续赛制的改进方向包括提高公共榜正例占比、延迟公开公共榜、或限制提交频次——2020 后的部分 Kaggle 医学赛确实开始做此类调整。
- 外部数据规则要"许可+披露"双轨:只许可不披露,赛后文献比较就会失序(坑 8 的混乱是规则留白的结果);要求参赛者勾选声明外部数据使用并在赛毕公示,成本极低而收益长期。
- 测试集"永久封闭"是双刃剑:金标准不可污染的收益对应复现研究的成本(§2.7 双面性)——后续赛制(如 ISIC 2024)在封闭与开放之间的再平衡,可视作对本届经验的回应。
§5 冠军方法解剖
冠军论文:Qishen Ha, Bo Liu, Fuxu Liu. “Identifying Melanoma Images using EfficientNet Ensemble: Winning Solution to the SIIM-ISIC Melanoma Classification Challenge.” arXiv:2010.05351(2020-10-11)。代码开源:github.com/haqishen/SIIM-ISIC-Melanoma-Classification-1st-Place-Solution。本节结构与论文自述的四个获胜关键对齐:稳定验证方案 / 正确的模型目标选择 / 精调管线 / 高多样性集成。
5.1 成绩与名次
| 指标 | 数字 |
|---|---|
| 名次 | 1 / 3,308 队 |
| 交叉验证 AUC(cv all) | 0.9600 |
| 私榜 AUC | 0.9490 |
| CV-私榜差 | 0.0110(在"合并外部数据 CV"与"2020-only 私榜"的口径差下属健康区间,见 §5.3) |
论文摘要原文成绩双数字(0.9600 CV / 0.9490 private)是本条目所有成绩引用的锚点。切勿把这对数字与文献自切分成绩混用(§8 坑 9)。
成绩的上下文解读(防止两个方向的误读):
- 别低估 0.9490:它是在 1.76% 正例、无标签反馈(公共榜无效)、六机构域异质三重条件下打出的——比皮肤影像文献里常见的"干净单中心自切分 0.98+“难得多。私榜第一名与第三千名的差距(榜单末位 AUC 约 0.7-0.8 量级,社区口径存照)也说明这个任务远非"随便训训就有 0.95”。
- 别高估 0.9490 的临床含义:AUC 0.9490 的筛查系统仍意味着在临床工作点上漏诊/误报的非平凡比例——高 AUC 与"可以部署"之间隔着工作点选择、前瞻验证、监管审批三层(§3.2.2)。赛事成绩是研究信号,不是医疗器械结论。
5.2 模型阵容:多骨干高多样性集成
最终集成(ensemble)的骨干构成:
| 骨干族 | 成员 | 输入尺寸策略 |
|---|---|---|
| EfficientNet B3-B7 | B3 / B4 / B5 / B6 / B7 | 多种输入尺寸(不同分辨率训练多份) |
| SE-ResNeXt-101 | 32x4d | 多分辨率输入 |
| ResNeSt-101 | — | 多分辨率输入 |
三个方法学观察:
- 多样性即收益:三种骨干族(复合缩放 CNN / 注意力增强残差 / Split-Attention 网络)在错误模式上互补——这是集成增益的主要来源,也是论文把"高多样性集成"列为四获胜关键之一的原因。
- 多分辨率输入:针对 0.5-24 MP 的分辨率异质性(§2.4),同一骨干用不同输入尺寸训练多份再集成——让"擅长细节的低分辨率模型"与"擅长全局纹理的高分辨率模型"各司其职。
- 纯图像为主、图像+metadata 为辅:多数模型只吃图像,少数融合患者级 metadata(年龄/性别/部位)——metadata 模型的贡献是锦上添花而非主力,这个结论被赛后大量复现工作确认:2020 届的图像信号仍远强于结构化信号。
骨干选择的逻辑:EfficientNet 家族(B3→B7)是 2019 年末至 2020 年 CV 社区的效率-精度甜点——B3-B5 适合多份多分辨率快训(集成的"数量与多样性"),B6-B7 充当单模型精度上限(集成的"质量");SE-ResNeXt-101 与 ResNeSt-101 分别代表注意力增强与 Split-Attention 两条与 EfficientNet 互补的架构路线。三族混编的实质是用架构族间差异最大化错误不相关——同族不同规模(如 B4 与 B5)的错误相关性强,集成收益小;异族同规模差异大,收益大。这一"跨族混编"原则后来成为集成方案的标准思路。
5.3 外部数据:这届比赛真正的胜负手
官方允许外部数据,冠军团队的选择是合并 ISIC 2018 + 2019 全部训练数据与 2020 数据同训:
| 数据源 | 规模 | 正例率 |
|---|---|---|
| ISIC 2020 训练集 | 33,126 | 1.76%(584/33,126) |
| ISIC 2019 训练集 | 25,331 | 17.85%(4,522/25,331) |
| ISIC 2018 训练集(HAM10000) | 10,015 | 约 11%(MEL 1,113) |
| 合并后 | ≈68,000+ | 被显著抬升 |
为什么这一步是胜负手:
- 验证稳定性:只用 2020 数据做 5 折 CV 时,每折正例约 117 个——AUC 的折间方差大到无法可靠区分两个相近模型,模型选择近乎抛硬币。掺入 2019 的 4,522 个正例后,折间正例数提升一个量级,验证曲线立刻可读。冠军论文的原话:外部数据使 AUC 验证更稳定。
- 双 CV 跟踪:冠军团队同时维护两套 CV——“cv all”(合并数据上切分)与 “cv 2020”(仅 2020 数据上切分),用前者选模型、用后者预判私榜。CV 0.9600 报的就是这套双跟踪体系的产物。
- 标签体系对齐:2018/2019 的 MEL 类映射为 2020 的 target=1,其余类映射为 0——把 8 类问题压扁成二分类后跨届合并。注意这里的口径细节:2019 的"良性"包含 7 类良性肿瘤,与 2020 的良性侧分布并不完全同质,合并本身引入了轻度分布偏移,但正例收益远大于偏移代价。
- 合规性:官方规则允许外部数据(§3.1),且 2018/2019 数据不含 2020 测试图(三届测试集互不相交)——合规无争议。
赛后影响:这一策略在本届后被模式化为 Kaggle 化医学影像赛的标准操作——“找高正例率的历史同源数据稀释验证方差”。但它同时制造了文献里最普遍的口径混乱:用了外部数据的方法与没用外部数据的方法成绩不可直接比较(§8 坑 8)。
外部数据的边界与合规口径:官方规则的要求是外部数据不得包含测试集图像(避免直接泄题),除此之外不限制来源——这意味着理论上 ISIC Archive 主库的任何子集、PH2、MED-NODE 等公开皮肤影像集都可用;实践中绝大多数前排队伍选择 2018+2019(同源、规模大、正例多、标签体系可直接映射)。使用非 ISIC 外部数据的队伍需自行处理标注口径差异(如 PH2 的标签只有黑色素瘤/痣/其他三分类),成本高收益不定——这也是"合并往届"成为默认配方的原因之一。报论文时把外部数据列到数据集清单里并注明用途(训练/验证/均无),是赛后逐渐形成的规范。
5.3.1 外部数据合并与双 CV 跟踪骨架(冠军策略的工程化)
import pandas as pd
import numpy as np
# 三届数据合并(官方许可的外部数据配方,§5.3)
df2020 = pd.read_csv("train.csv") # 33,126 行;target 二值
df2019 = load_isic2019_as_binary() # 25,331 行;MEL→1,其余 7 类→0
df2018 = load_isic2018_as_binary() # 10,015 行;MEL→1,其余→0
for df, tag in [(df2019, "y19"), (df2018, "y18")]:
df["source"] = tag # 数据配方标记(报成绩必声明,坑 8)
merged = pd.concat([df2020, df2019, df2018], ignore_index=True)
# 双 CV 跟踪(冠军核心验证策略):
# cv all —— 合并数据上 5 折(正例充足,用于选模型)
# cv 2020 —— 仅 2020 数据上 5 折(分布对齐私榜,用于预判名次)
folds_all = make_patient_folds(merged, group="patient_id", stratify="target")
folds_2020 = make_patient_folds(df2020, group="patient_id", stratify="target")
# 每个候选模型记录两个分数,选型看 cv all、报私榜预期看 cv 2020
# 注意:两套折的 AUC 不可互相替代——cv all 高不代表 cv 2020 高(分布差异)
骨架要点:其一,source 列必须伴随合并数据全程——赛后报成绩、写论文时"数据配方"是必填项(坑 8);其二,两套折都必须患者级(坑 3);其三,2019/2018 的 8 类/7 类标签压扁为二值时,seborrheic keratosis 等良性肿瘤与 2020 良性侧的分布差异是已知的轻度偏移来源(§5.3 观察三),merged 上训出的概率需要用 2020-only 验证集校准后再比较。
5.4 弃用公共榜:被数据证伪的反馈回路
冠军论文最反直觉、也最有教育意义的一段:全程不使用公共榜反馈调模型。依据是其单模型公共榜成绩与 cv all 的相关系数≈0。
为什么公共榜如此失效(数字推演):
- 公共榜 ≈ 测试集 1/10 ≈ 3,300 张图;
- 按 1.76% 正例率,公共榜仅含 约 58 个正例;
- AUC 对正例排序极端敏感:58 个正例下,一个正例与一小撮高难度良性图的位置互换就能造成千分位级的榜上波动;
- 于是公共榜上"涨了 0.002"的信号与真实泛化能力几乎解耦——冠军用相关系数 0 把这个直觉钉死成了论文级证据。
处理方式(后来成为高正例噪声赛的标准 playbook):
- 以 CV 为唯一选型依据(且是合并外部数据的稳定 CV);
- 公共榜只用于验证提交格式无 bug;
- 最终私榜提交选择"CV 排名稳定"的两个模型,而非"公共榜表现最好"的两个。
这个教训在赛后 101,845 次提交的语境下格外响亮:大部分队伍的提交预算花在了统计上无效的反馈信号上。
5.4.1 公共榜噪声的数学直觉(示意推算)
正例数量决定 AUC 估计的稳定度。公共榜约 3,300 张 × 1.76% ≈ 58 个正例。AUC 的方差近似与正例数、负例数相关——正例 58 个量级下,AUC 估计的抽样标准差在千分位量级(粗略直觉:58 个正例各与 3,200+ 负例做配对比较,任一正例的高排位抖动都会传导到 AUC);而两个强队的真实差距常也在千分位量级——信号与噪声同阶,公共榜排名的差异就无法区分"模型更好"与"运气更好"。合并外部数据后的 5 折 CV 用约 1.3 万个正例(2020+2019 合并)做验证,噪声低一个数量级以上——这就是"CV 0.9600 可信、公共榜不可信"的数字根源。(推算为示意性质,精确方差公式见 AUC 文献;核心事实——相关系数≈0——出自冠军论文实测。)
5.5 训练管线要点
- 数据增强:几何(翻转/旋转/裁剪)+ 色彩抖动(亮度/对比度/色相)+ 毛发去除类增强(如 shave/hair augmentation 的社区变体)——皮肤镜图的两大物理噪声(毛发、黑色框)在冠军管线里以增强与预处理双管齐下。增强尺度的拿捏原则:模拟"换一台设备再拍一次"的分布变化(颜色/几何),而不模拟"换一个病灶"的语义变化(不破坏结构性特征如条纹/蓝白幕)。
- 损失与训练:BCE(二分类交叉熵)为主,部分模型辅以 focal 类加权处理不平衡;学习率调度用 cosine 类周期策略。1.76% 正例下损失加权的作用主要是稳定早期训练(防恶性召回塌方),对最终 AUC 的边际贡献小于验证策略——这是冠军论文"四关键"里没有损失函数的深层原因。
- 测试时增强(TTA):多视角推理平均,标准操作——皮肤镜图的旋转等变性使其收益稳定(同一病灶换个角度拍在临床上是同一诊断)。
- 伪标签与蒸馏:冠军方案未以伪标签为主轴(与前几届某些冠军不同),集成多样性优先——在外部数据已提供充足正例的条件下,伪标签的边际收益被压缩,风险(引入测试分布的错误自证)却不变,弃用是理性选择。
- 复现提示:开源仓库提供了完整训练/推理脚本与单模型权重;社区复现普遍确认——不合并 2018/2019 数据时,任何单模型 CV 都会在 0.86-0.90 区间打转且折间方差大;合并后单模型 CV 立刻上 0.94+ 且稳定(社区口径,非论文数字,存照)。
5.6 冠军方案的遗产
- "外部数据+双 CV"成为医学影像 Kaggle 赛的标准配置——2021 年后各大赛的获奖方案几乎照抄此框架。
- "公共榜无用论"的经典案例——被后续多届比赛反复引用的统计学教材级教训。
- EfficientNet 家族在医学影像的地位由这届比赛奠定——赛后两年 EfficientNet 及其变体成为皮肤影像论文的默认 backbone。
- 患者级 metadata 融合的"锦上添花"结论——图像信号主导、metadata 辅助的格局持续到 ISIC 2024 届才被大规模 3D/上下文任务改写。
5.7 冠军团队与开源生态
- 团队:Qishen Ha(LINE Corp)、Bo Liu(NVIDIA,通讯作者)、Fuxu Liu(ReadSense Ltd)——论文脚注声明三人贡献等同(∗ contributed equally)。典型的 Kaggle 顶赛"三人工厂"配置:一人主攻验证体系、一人主攻模型与训练、一人主攻集成与提交策略(分工据论文作者排序惯例推断,存照)。
- 开源:完整方案开源在 github.com/haqishen/SIIM-ISIC-Melanoma-Classification-1st-Place-Solution——含训练/推理脚本与模型配置,是该领域复现率最高的参考实现之一(FACTS §8)。仓库的 star/引用量使其成为"Kaggle 医学赛冠军方案长什么样"的通用教材。
- 开源的正确打开方式:复现时先读论文 §验证(双 CV)再读代码——仓库里最有价值的不是模型定义(EfficientNet 皆标准件),而是折划分、TTA 与集成加权的选择逻辑;直接跑仓库而沿用其默认切分者,注意确认所用 metadata 版本与切分粒度(坑 6)。
5.8 若要复现:四周路线图
基于冠军论文与开源仓库的复现节奏(单人+单卡环境的事后估算,供规划参考而非承诺):
| 周 | 任务 | 产出 |
|---|---|---|
| 第 1 周 | 数据落地与审计:下载(§6.4)、断言自检、患者级 5 折、Duplicates 处理 | 干净的折划分 + 数据审计报告 |
| 第 2 周 | 基线:单 EfficientNet-B3 纯图像,2020-only CV 与合并 CV 各跑一轮 | 亲手量出"合并数据带来多少稳定"(§5.3 的复现) |
| 第 3 周 | 扩族与加档:加 B5/SE-ResNeXt、第二分辨率档、metadata 融合小模型 | 5-8 个单模型 + 双 CV 记录表 |
| 第 4 周 | 集成与校准:概率平均/排名平均对比、TTA、(可选)患者上下文特征实验 | 最终集成 + 完整实验记录(含数据配方声明) |
复现的核心收获不在追平 0.9490(私榜不可得),而在亲手验证三条纪律:患者级切分的 CV 差值、外部数据对折间方差的影响、metadata 融合的边际收益——这三条正是 §5 与 §8 的全部技术内容。
§6 获取与许可
6.1 获取渠道
官方渠道(ISIC 官网直链):challenge.isic-archive.com/data/#2020(原 challenge2020.isic-archive.com 现跳转至此),S3 直链前缀 isic-archive.s3.amazonaws.com/challenges/2020/,文件清单见 §2.6。无需注册即可下载(与 Kaggle 需账号同意竞赛条款不同)。
Kaggle 镜像:kaggle.com/c/siim-isic-melanoma-classification —— train.csv / test.csv / train/ / test/ 结构;需注册账号并接受竞赛规则(一次性点击)。Kaggle 版 train.csv 原始版不含 lesion_id 列(2021 年后更新补入,§2.5 要点 2)。
论文配页:数据描述论文的机器可读元数据另挂 figshare:doi.org/10.6084/m9.figshare.13070345。
选择建议:只做图像建模 → Kaggle 或官网 JPEG 包(23GB/6.7GB);做 DICOM 互操作或需要设备元数据 → 官网 corrected DICOM 包(23.0GB/6.7GB),跳过 48.9GB 原始版除非确需研究 DICOM 规范符合性问题;做病灶级/患者级切分 → 务必确认拿到的是 v2 metadata(含 lesion_id)。
6.1.1 三种下载路径对比
| 路径 | 注册要求 | 格式 | 适合 | 注意 |
|---|---|---|---|---|
| 官网 S3 直链 | 无 | JPEG + DICOM(双版本)+ 官方全套 CSV(v1/v2/Duplicates) | 数据审计、DICOM 研究、批量脚本下载 | 文件名不规则(坑 5);无账号即无条款绑定 |
| Kaggle 竞赛页 | 账号+接受条款 | JPEG + train/test CSV | 复现社区方案、notebook 环境 | 原始 train.csv 无 lesion_id(2021 后更新版才有,坑 6) |
| Kaggle Datasets(社区镜像) | 账号 | 混杂(含派生包) | 快速预览 | 逐包核对来源与校验值(§2.6.1 三道检查) |
6.2 License 与强制引用格式
License:CC-BY-NC 4.0(非商业)。官方引用块(官网原样,使用数据时建议逐字复制):
International Skin Imaging Collaboration. SIIM-ISIC 2020 Challenge Dataset. International Skin Imaging Collaboration https://doi.org/10.34970/2020-ds01 (2020). Creative Commons Attribution-Non Commercial 4.0 International License. The dataset was generated by the International Skin Imaging Collaboration (ISIC) and images are from the following sources: Hospital Clínic de Barcelona, Medical University of Vienna, Memorial Sloan Kettering Cancer Center, Melanoma Institute Australia, The University of Queensland, and the University of Athens Medical School.
引用块逐段拆解(改写前先明白每段承担的义务):
| 段落 | 义务 | 改写后果 |
|---|---|---|
| International Skin Imaging Collaboration. SIIM-ISIC 2020 Challenge Dataset. | 数据集名称与主体署名 | 名称写错=引用失效 |
| https://doi.org/10.34970/2020-ds01 (2020). | DOI 持久标识+年份 | 缺 DOI 则不可溯源 |
| Creative Commons Attribution-Non Commercial 4.0 International License. | 许可声明 | 缺失则再分发链条断裂 |
| The dataset was generated by… | 六机构图像来源声明 | 缺失则侵犯机构署名要求 |
实践建议:论文的数据集节整块复制上述引用(可置于脚注或数据可得性声明),自己的句子只写"使用了该数据集的训练集 33,126 张"级别的使用描述——义务交给引用块,描述留给自己。
三点许可提示:
- NC(非商业)的实际边界:商业公司内部评估通常也踩线,商用产品训练基本不可用;"非商业用途+署名"是安全区。与 ISIC Archive 主库各子集许可可能不同的情况——引用本数据集时以上述官方块为准,勿套用主库许可表述。
- 论文引用义务:官方指定引用数据描述论文 Rotemberg et al. 2021(Sci Data 8:34,DOI 10.1038/s41597-021-00815-z)——该论文同时是 patient-centric 设计方法学的唯一权威描述(摄取管线 Fig.2/Fig.3 的细节只在这里)。
- 患者隐私:数据已按 HIPAA 标准去标识化,患者以 patient_id 匿名;但"同一患者多图"结构意味着任何再分发的衍生数据须保持原有去标识状态,不得尝试重识别。
6.2.1 许可场景判定表(定性指引)
| 使用场景 | CC-BY-NC 4.0 下的判定 | 备注 |
|---|---|---|
| 学术论文研究/发表 | 可用 | 附官方引用块(§6.2 上方)+ 引 Rotemberg 2021 |
| 课程教学/作业 | 可用 | 同上 |
| 非营利机构内部评估 | 可用 | 署名义务不豁免 |
| 商业产品训练 | 基本不可用 | NC 条款直接排除;商业公司内部非产品化评估是否越线需法务判定 |
| 再分发原始图像 | 可用(非商业前提) | 须携带完整署名与来源声明;禁止尝试重识别 |
| 训练赛/二次竞赛 | 逐案判断 | 平台条款叠加(如 Kaggle 竞赛条款另有规定),需双重核对 |
(本表为定性指引,不构成法律意见;商用前的正式判定请咨询法务并核对 creativecommons.org/licenses/by-nc/4.0/ 原文。)
6.3 与获取相关的两个易错点
- "两个 DICOM 包"不是两个数据集(§2.4、§8 坑 5):48.9GB 与 23.0GB 的差异仅是 DICOM 头部规范符合性修正,图像内容一致。
- 测试集没有 GT 文件可下载——在 Kaggle 或任何镜像里找 “test ground truth” 都是徒劳(部分第三方上传的"GT"实为参赛者预测或重构的伪标签,使用前务必核对来源)。
6.4 下载与完整性校验实操
# 1. 官网 S3 直链下载(无需注册;以训练 JPEG 包为例)
curl -O https://isic-archive.s3.amazonaws.com/challenges/2020/ISIC_2020_Training_JPEG.zip
# 2. Kaggle 镜像(需账号已接受竞赛条款)
kaggle competitions download -c siim-isic-melanoma-classification
# 3. 解压后逐包校验(行数/键集合与官方口径对齐)
python - <<'EOF'
import pandas as pd
gt = pd.read_csv("ISIC_2020_Training_GroundTruth.csv")
md = pd.read_csv("ISIC_2020_Training_Metadata_v2.csv")
dup = pd.read_csv("ISIC_2020_Training_Duplicates.csv")
assert len(gt) == 33126 and len(md) == 33126, "CSV 行数不符官方口径"
assert gt.image_name.is_unique and md.image_name.is_unique, "键重复"
assert set(gt.image_name) == set(md.image_name), "GT 与 metadata 键集合不一致"
print("v2 metadata 含 lesion_id:", "lesion_id" in md.columns) # 坑 6 自检
print("官方重复图行数:", len(dup)) # 预期 425(坑 4)
print("正例率:", round(gt.target.mean(), 4)) # 预期 ≈0.0176(坑 2)
EOF
实操三提醒:其一,官网与 Kaggle 的 CSV 键名可能有 image_name/ISIC_ID 之别,对齐前先统一去后缀;其二,DICOM 包体量大(48.9GB/23.0GB),先想清楚是否需要(§2.4 建议),避免双版本都下;其三,下载后第一时间跑上述自检——把"数据是否如 FACTS 所说"变成断言而非假设,是 §8 十坑的最前置防线。
6.4.1 常见下载事故急救表
| 症状 | 诊断 | 处方 |
|---|---|---|
| 解压后图像只有 32,701 张(≠33,126) | 下载中断/解压截断 | 校验压缩包大小对齐官方体量后重下缺失部分 |
| train.csv 没有 lesion_id 列 | 拿到的是 Kaggle 原始版(非 2021 后更新版) | 换官网 metadata v2 CSV,或显式合并(坑 6) |
| 读 DICOM 全部报错 | 用了原始版+严格校验器 | 换 corrected 版(坑 5) |
| 找不到测试 GT | 正常现象——不存在 | 停止寻找,转自建切分(§2.7) |
| 社区"GT"文件与你的提交对不上 | 那是伪标签 | 丢弃,勿进评估管线(§2.6.1) |
| 同名文件官网两个 DICOM 包 | 版本并存非重复 | 按 §2.4 建议选 corrected |
§7 患者中心范式与基准演化
7.1 "patient-centric"从哪来:一篇论文的设计雄心
数据描述论文的标题就是宣言:“A patient-centric dataset of images and metadata for identifying melanomas using clinical context”(Sci Data 8:34, 2021)。在这篇论文之前,"同一患者的多病灶关联"在皮肤影像 AI 里是散落的想法;论文把它变成了一套可复现的工程流程:
- 采集端:六机构按统一协议对患者做全身病灶拍摄——不是"有图交图",而是"有病人交病人"。
- 准入端(论文 Fig.2):无 ≥3 个合格诊断与质量的情境病灶(contextual lesions)的患者被移除——保证每个进入数据集的患者都有足够的"背景病灶"可供上下文建模。
- 平衡端(论文 Fig.3):患者按疾病类别做平衡子采样,控制恶性患者占比。
- 交付端:每图携带 patient_id + lesion_id,把"临床读片的整体观"(biologic skin ecosystem / ugly duckling sign,§2.3)编码进数据结构本身。
这篇论文随之成为 ISIC 谱系的分水岭文献:2016-2019 各届的数据描述散见在挑战赛报告里,2020 届第一次拥有了 Nature 系(Scientific Data)的正式数据论文——此后"数据集要有正式描述论文"成为医学影像领域的默认期待。
7.1.1 摄取管线文字图解(论文 Fig.2/Fig.3 流程化)
六机构原始采集(患者级全身多病灶拍摄)
│
▼
质量与诊断合格性筛选 ──► 每个患者的"情境病灶"(contextual lesions)计数
│ │
│ ▼
│ 合格情境病灶 < 3 个?──是──► 整个患者移除
│ │否
▼ ▼
按疾病类别做患者级平衡子采样(Fig.3)
│
▼
交付:33,126 张图 / 2,056 名患者,每图带 patient_id + lesion_id
管线解读三则:其一,"患者"是准入原子——不合格的是人不是图(整位患者移除,而非剔除个别图),这保证了存活下来的患者都有可用的"背景生态";其二,平衡子采样发生在患者层——控制的是"有黑色素瘤的患者"占比(20.8%),不是"恶性图"占比(1.76%),两个百分比的差异正是患者级采样的痕迹(§2.3 的换算直觉);其三,管线细节只有论文一处信源——复现"官方同款"数据构成时以 Rotemberg 2021 正文与 Fig.2/3 为准。
7.2 范式对比:单图分类 vs 患者级上下文
| 维度 | 2016-2019 届(单图范式) | 2020 届(患者中心范式) |
|---|---|---|
| 数据组织单位 | 图像 | 患者(图是患者的属性) |
| 可关联结构 | 无(2019 有 lesion_id 但无 patient_id) | patient_id + lesion_id 全覆盖 |
| 临床语义 | 单病灶判读 | 全身背景下的病灶判读(丑小鸭征) |
| 泄漏风险 | 图级随机切分看似安全 | 图级随机切分必然泄漏(§8 坑 3) |
| 建模选项 | 图像单流 | 图像单流 / 图像+metadata 融合 / 患者级上下文模型 |
| 评估粒度 | 按图 | 按图计分(官方)但切分必须按患者(自建) |
范式转换在数据使用上最直接的表现是切分粒度:2019 届图级随机切分大体安全(同病灶多图占比低);2020 届同样的操作会让 CV 与真实泛化产生巨大裂缝——同一个患者平均 16 张图散在训练与验证两侧,验证集的"新图"其实是训练集见过的"老病人"。
范式转换的两个反向提醒(防止把 patient-centric 神化):
- 患者级结构不是性能魔法:metadata 融合与上下文建模在本届的增益有限(§5.2 观察 3)——患者结构的最大价值在防泄漏与防假阳性(多非典型痣患者),不在直接涨分。把它理解为"数据卫生基础设施"比"性能技巧"更准确。
- 官方计分仍是按图:私榜 AUC 按测试图逐张计分——患者级结构改变了训练与验证的正确姿势,但没有改变评分粒度;把"患者级预测"(如同患者多图概率共享)直接用于提交反而可能与官方口径错位。结构归结构,协议归协议。
7.3 版本链全景:2020 在 ISIC 谱系中的位置
| 届 | 年份 | 训练 | 测试 | 任务 | 关键创新 | 库内条目 |
|---|---|---|---|---|---|---|
| ISBI/ISIC | 2016 | 900 | 379 | 二分类 | 首届 | — |
| ISIC | 2017 | 2,000 | 600 | 3 类 | 加入角化病 | — |
| ISIC | 2018 | 10,015 | 1,512 | 7 类 | =HAM10000 | rid 710 |
| ISIC | 2019 | 25,331 | 8,238 | 8 类+UNK | 聚合扩张;balanced accuracy;UNK 协议 | rid 707 |
| ISIC | 2020 | 33,126 | 10,982 | 二分类 | 患者中心;Kaggle 化;DICOM;外部数据时代 | 本条目 |
| ISIC | 2024 | — | — | — | SLICE-3D(401,059 crops) | rid 141 |
跨届重叠明细(重叠是确定事件,不是风险假设):
- HAM10000(2018-2020 三届共用):2018 届训练集本体全部 10,015 张进入后续合并口径。
- BCN20000(2019-2020 两届共用):19,424 张进入 2019+2020 合并口径(Cassidy 2022)。
- 含义一:把 2019 与 2020 当独立数据集做跨集泛化实验(如"train on 2019, test on 2020")会因共享子集而显著高估泛化——正确的做法是先按 ISIC ID 或病灶指纹去重。
- 含义二:2020 届官方允许的"外部数据"(§5.3)实际主要就是这两个共享池——所谓"外部"是赛制意义(当届发布之外),不是"从未见过"的意义。
跨届重叠检查清单(跨集实验前逐项过):
- 按 image_name(ISIC_xxxxxxx)取交集,记录重叠规模——这一步是陈述事实;
- 感知哈希二次查重——同一病灶不同次扫描可能换 ID,图像内容近重复;
- 决定去重策略:跨集评估通常"以目标测试集为准,从源训练集剔除重叠";
- 在论文里报告重叠规模与处理方式——不做这一步的跨集泛化数字不具备审稿可信度。
7.4 基准地位:0.9490 之后的世界
私榜 0.9490 成为皮肤影像筛查方向的事实锚点:
- 不可复算性:测试 GT 永不公开(§2.7),0.9490 是唯一官方口径——任何人无法在官方测试集上复算或超越后验证(只能通过 Kaggle 重开赛道的提交,而该赛道已关闭多年)。
- 文献引用惯例:后续论文报告成绩时逐渐形成两种诚实写法——“自建患者级切分,CV AUC x.xx”(与 0.9490 无直接可比性)或"使用官方协议的验证子集"(多数已不可得)。混淆这两者的论文是重灾区(§8 坑 9)。
- 后续基准的演化:ISIC 2024 挑战(SLICE-3D,rid 141)转向大规模 3D 上下文(401,059 crops)与 MILK10k 基准——从"患者级二分类"走向"多病灶联合判读"的下一步,患者中心思想以更激进的形态延续。
- 方法论遗产:二分类+AUC+双段榜+外部数据许可的赛制组合,被 2020 后的 Kaggle 各医学影像赛反复复制,成为"临床筛查类挑战赛"的默认模板。
引用 0.9490 的规范句式(三种正确写法示例):
- 句式一(引事件):“在 SIIM-ISIC Melanoma Classification 挑战赛中,冠军方案取得私榜 AUC 0.9490(1/3,308 队)。”——只陈述赛事事实,无比较含义。
- 句式二(引方法):“冠军方案(EfficientNet 集成+2018/2019 外部数据)报告 CV AUC 0.9600 与私榜 AUC 0.9490。”——连同方法与数据配方一起引。
- 句式三(自建基准时划界):“本研究使用自建患者级切分(5 折,按 patient_id 分组),CV AUC 0.9xx;该结果与官方挑战赛私榜成绩(0.9490)不具可比性。”——主动声明口径边界。
错误句式(反例):“本方法 AUC 0.98,优于挑战赛冠军的 0.9490。”——三重口径错误叠一句(切分/清洗/配方均不同)。
7.5 范式的下游影响:从 2020 届到今天
patient-centric 从这届比赛出发,沿三条线扩散:
- 数据集设计线:此后的皮肤影像数据发布普遍携带患者/病灶关联结构(或至少讨论其缺失的代价);Cassidy 2022 综述在评估 ISIC 各届数据集时把"是否支持患者级切分"列为正式评估维度——这一维度的标杆就是 Rotemberg 2021。
- 方法学线:患者级切分(GroupKFold 类)从 Kaggle 社区技巧升格为论文审查常识——2020 后皮肤影像论文报告 CV 时被普遍要求声明切分粒度;“metadata 融合”(图像+年龄/部位/性别)成为标准 baseline 配方,其源头就是本届的 metadata 融合模型(§5.2 观察 3)。
- 赛事设计线:ISIC 2024 挑战(SLICE-3D,rid 141)把患者上下文推向极端——直接以 3D 重建的全景扫描 crops(401,059 张)为对象,多病灶联合判读成为任务本身;从"患者级 metadata"到"患者级任务",谱系一脉相承。
回望视角:2016 届比"谁能分清痣和黑色素瘤"(900 张图);2020 届比"谁能在这个病人的背景下分清"(2,056 个病人);2024 届比"谁能读整个病人的 3D 体表"——数据集结构的三次跃迁,对应临床读片逻辑的三次逼近。这是 ISIC 谱系最有意思的一条主线,也是 2020 届在其中的枢纽位置所在。
7.6 一分钟带走本节(三句话)
- 2020 届让"patient-centric"从临床口号变成数据字段——patient_id/lesion_id 与"≥3 情境病灶"准入是它的两个工程锚点。
- 患者结构的第一受益者是数据卫生(防泄漏、防假阳性),第二才是模型能力(metadata 融合、上下文建模)——引用其价值时勿倒置主次。
- 谱系坐标:它在 2019 届"类的扩张"之后、2024 届"3D 全身尺"之前,是把临床读片逻辑第一次写进数据结构的枢纽届。
§8 十大坑:使用本数据集前必须知道的事
排序按"踩坑概率×踩坑代价"。每坑四段:现象 → 后果 → 正确姿势 → 出处;另附自检动作与关联坑(8.3 给出坑间依赖)。
十坑按来源分三层,理解分层有助于记忆:
- 数据固有层(坑 1/2/3/4/10):数据本身的性质——重叠、不平衡、患者聚集、重复、分辨率异质。它们不会"犯错",只是等着被错误的使用方式放大;处理它们的本质是"尊重数据结构"。
- 发布形态层(坑 5/6/7):官方发布方式的产物——双版本 DICOM、双版本 metadata、GT 封闭。它们是官方选择的副产品,社区只能适应不能修复。
- 口径层(坑 8/9):数据与赛制交互产生的解释问题——外部数据配方、成绩可比性。它们不在数据里,在"你如何报告"里;论文事故九成发生在这层。
坑 1:跨届图像重叠——"独立数据集"是错觉
现象:2020 训练集与 ISIC 2018/2019 存在确定的重叠——HAM10000 三届共用、BCN20000 两届共用(§7.3)。
后果:跨集评估(train on 2019 → test on 2020)或"逐届独立报告"的论文系统性高估泛化;把两届数据合并训练时按 ISIC ID 去重不彻底则 CV 虚高。
正确姿势:跨集实验前按 image name(ISIC_xxxxxxx 跨届稳定)或感知哈希去重;引用任何"跨数据集泛化"数字时核对原文是否做了去重。
出处:Cassidy 2022(HAM10000/BCN20000 共用口径);冠军论文(外部数据=2018+2019)。
自检:len(set(df2020.image_name) & set(df2019.image_name)) 的输出应当被打印在实验记录里,而不是假设为 0。
关联:坑 8(外部数据)、坑 9(可比性)。
坑 2:1.76% 正例率——accuracy 是无意义的指标
现象:33,126 张训练图仅 584 张恶性(1.763%)。
后果:全猜"良性"即得 98.2% accuracy——任何用 accuracy 报告的成绩都是噪声;不平衡同样会骗过"表面健康"的训练过程(loss 被良性主导,恶性召回塌陷到个位数而总 loss 仍在下降)。
正确姿势:指标只用 AUC/AP(average precision 对不平衡更敏感,作为 AUC 的互补);训练用加权损失/过采样/focal 类手段;报告成绩同时给出敏感度-特异度配对(筛查语境临床关心的操作点)。
出处:论文摘要 584/1.8%;冠军论文 1.76% 口径。
自检:训练日志里同时打印每折的恶性召回率——总 loss 下降而恶性召回为 0 是经典的"隐性塌方"信号。
关联:坑 2↔坑 10(不平衡与伪相关叠加);§3.2(AUC)。
坑 3:患者级泄漏——平均 16 张图/患者的必然代价
现象:2,056 名患者平均贡献约 16 张图;同一患者的病灶在皮肤镜下高度相似(同一人的摄影条件、皮肤底色、痣模式一致)。
后果:图级随机切分下,验证图与训练图来自同一患者——CV AUC 虚高可达数个百分点;凡是"CV 0.98+ 但说不上为什么"的自切分,第一嫌疑就是它。
正确姿势:切分必须按 patient_id 分组(GroupKFold/组分层抽样),更严格者按 lesion_id;引用文献成绩先看其切分粒度声明。
出处:论文摘要 “2,056 patients / average of 16 lesions per patient”;Rotemberg et al. 2021 patient-centric 设计本身即为此风险的官方回应。
自检:切分后运行 §2.3.1 的断言(患者跨折即失败);对比图级切分与患者级切分的 CV 差值并记录——差值本身就是泄漏量的度量。
关联:坑 4(重复图加剧泄漏)、坑 9(CV 虚高的头号来源)。
坑 4:官方主动公布的 425 张重复图
现象:训练集内部存在 425 张完全重复图像,官方以 Duplicates.csv 主动公布——这在数据集史上罕见(多数数据集的重复靠社区自查)。
后果:重复图若散落训练/验证两侧,是比患者泄漏更硬的泄漏(同一像素级图像两侧出现);未清洗的重复也会让"图数"虚高 425。
正确姿势:训练前读 Duplicates.csv 并按用途决策——评估侧严格剔除;训练侧可保留(重复对集成训练影响有限,但须保证不跨切分边界)。
出处:官网 ISIC_2020_Training_Duplicates.csv(2MB)。
自检:len(pd.read_csv("...Duplicates.csv")) 应为 425;再对全训练集做感知哈希查重,检查官方清单之外是否还有近重复(官方清单只覆盖完全重复)。
关联:坑 3(跨切分泄漏)、坑 1(跨届重复的同族问题)。
坑 5:DICOM 双版本误读——48.9GB 与 23.0GB 不是两个数据集
现象:官网同时挂 ISIC_2020_Training_Dicom.zip(48.9GB)与 ISIC_2020_Train_DICOM_corrected.zip(23.0GB),测试侧同理(15.3GB/6.7GB)。
后果:误以为是两个不同数据版本(或不同图像集)导致下载两遍、或引用体量时张冠李戴。
正确姿势:corrected 版=dciodvfy(dicom3tools)严格校验兼容性修正版,图像内容一致;一般用途直接取 corrected 或 JPEG。注意文件名不一致(Training_Dicom vs Train_DICOM_corrected)——官网原始命名如此,引用时照抄。
出处:官网脚注原文(dciodvfy / dclunie.com dicom3tools)。
自检:两个包各解压 10 张,感知哈希逐对比较——内容一致即确认双版本关系,再把结论写进项目文档防队友重复下载。
关联:坑 6(同属"官方多版本并存"家族)。
坑 6:v1/v2 metadata 并存与 lesion_id 的可得性口径
现象:官方 metadata v1(patient ID/sex/age/site)与 v2(+lesion ID)同时挂官网;Kaggle 原始 train.csv 又不含 lesion_id 列(2021 年后更新补入)。
后果:用 v1 或 Kaggle 原始版者无法做病灶级切分却不自知;读 2020-2021 年早期 notebook/论文时,其"患者级切分"实际多为"患者级"(lesion 级不可得)——两档粒度的成绩有差异。
正确姿势:官网取 v2;引用他人切分方案时确认其 metadata 版本;自建 pipeline 时 patient_id 与 lesion_id 双层分组各跑一遍,量化病灶级约束的增益。
出处:官网 v1/v2 双 CSV;Kaggle 数据页更新史。
自检:assert "lesion_id" in df.columns 写进 pipeline 第一行;引用他人切分方案时先问"用的 v1 还是 v2"。
关联:坑 3(切分粒度)、坑 9(口径漂移的源头之一)。
坑 7:测试 GT 永不公开 + 公共榜统计噪声
现象:测试集 10,982 张的 GT 官网标注 “Not Available” 且赛毕也未公开(与 2019 届公开 GT 相反);公共榜仅约 3,300 张、按 1.76% 正例率仅含约 58 个正例。
后果:其一,公共榜波动与真实泛化解耦——冠军论文实测单模型公共榜与 CV 相关系数≈0;其二,社区一切"测试集分布"表述均为推测(Cassidy 2022 原话 “diagnostic distribution unknown”)。
正确姿势:选型只信 CV(患者级切分+外部数据稳定化,§5.3/5.4);公共榜只验提交格式;第三方"测试 GT"文件一律怀疑其来源。
出处:官网 Test Ground Truth 栏 “Not Available”;冠军论文 §LB 分析。
自检:把自己的提交与随机基线的公共榜成绩对比——若随机提交也排中游,说明榜上信号量不足以支撑任何结论。
关联:坑 8(外部数据让 CV 更可信,进一步压低公共榜的相对价值)、坑 9。
坑 8:外部数据口径——成绩可比性的最大裂缝
现象:官方允许外部数据;冠军与大量前排队伍合并 2018+2019 数据(正例率 17.85% 对 1.76%,10 倍差)。
后果:文献里"本方法在 ISIC 2020 上 AUC 0.9x"的两个数字可能来自完全不同的数据条件(纯 2020 / 2020+2019 / 2020+2018+2019)——直接横排比较是方法论事故。
正确姿势:读成绩先找"是否用外部数据"的声明;自己报成绩时显式声明数据配方;复现论文时用与其相同的数据配方,否则差异无法归因。
出处:官方规则(外部数据许可);冠军论文(合并数据策略)。
自检:实验记录表加"数据配方"列(2020 / +2019 / +2018+2019),任何成绩没有配方标注即视为无效记录。
关联:坑 1(跨届重叠)、坑 9(可比性)。
坑 9:官方 0.9490 vs 文献自切分 0.98+——不可比三要素
现象:文献常见"我们在 ISIC 2020 上达到 AUC 0.98+",与官方私榜 0.9490 并存,初读者困惑谁更强。
后果:三个口径差异叠加使数字完全不可比——(1) 切分方式(自切分 vs 官方私榜测试集);(2) 重复与跨集清洗(0.9490 的测试集与训练集同源采集,自切分常含坑 1/坑 3/坑 4 的泄漏);(3) 外部数据配方(坑 8)。
正确姿势:0.9490 只能与私榜其他名次比较(官方排行榜内部可比);自切分成绩只与同切分协议的成绩比。写论文时两组数字分栏呈现,永不混排。
出处:冠军论文摘要(0.9600/0.9490);§7.4 基准地位讨论。
自检:写论文前回答三问——测试集是谁切的?重复和跨届重叠清了吗?外部数据用了吗?三问答案与 0.9490 的协议不一致就分栏。
关联:坑 3、坑 8(不可比三要素的两大来源)。
坑 10:分辨率异质性与"缺失即标签"的伪相关
现象:图像分辨率横跨 0.5-24 MP(六机构设备差异);metadata 各字段缺失率同样随机构而异。
后果:其一,固定 resize 到小尺寸(如 224²)会系统性抹掉高分辨率子集的微细结构(黑色素瘤的蓝色白幕、不规则条纹常在细纹理里)——模型学到的可能是"低分辨率=良性中心"这类机构伪相关;其二,metadata 缺失模式携带机构指纹,模型可借"缺失本身"猜中心、再借中心猜良恶性(某些中心良性占比高)。
正确姿势:多分辨率输入或按原始分辨率分桶训练(冠军实践 §5.2);metadata 缺失做显式类别而非插补;训练前按机构做域分层评估,量化"跨中心泛化缺口"。
出处:Med Image Analysis 综述(0.5-24 MP);论文 metadata 缺失画像(§2.5)。
自检:按机构/缺失模式分层评估 AUC——层间差值就是伪相关啃掉的部分;metadata 模型加"缺失指示特征"与不加各跑一遍,成绩若明显依赖缺失指示,即伪相关实锤。
关联:坑 2(不平衡放大伪相关危害)。
8.1 十坑速查卡
| 坑 | 一句话 | 检查动作 |
|---|---|---|
| 1 跨届重叠 | HAM10000/BCN20000 多届共用 | 跨集实验先按 ISIC ID 去重 |
| 2 极端不平衡 | 584/33,126=1.76% | 弃 accuracy,用 AUC/AP |
| 3 患者级泄漏 | 平均 16 图/患者 | GroupKFold by patient_id |
| 4 官方重复 | 425 张,官方公布 | 读 Duplicates.csv,评估侧剔除 |
| 5 DICOM 双版本 | 48.9GB=23.0GB 内容一致 | 直接用 corrected/JPEG |
| 6 metadata 双版本 | v2 才有 lesion_id | 官网取 v2,确认 Kaggle 版本 |
| 7 GT 封闭+公共榜噪声 | 公共榜正例≈58 个 | 只信 CV,公共榜仅验格式 |
| 8 外部数据口径 | 冠军合并 2018+2019 | 报成绩必声明数据配方 |
| 9 0.9490 vs 0.98+ | 切分/清洗/配方三不同 | 分栏呈现,永不混排 |
| 10 分辨率+缺失伪相关 | 0.5-24 MP,缺失含机构指纹 | 多分辨率输入+域分层评估 |
8.2 按使用场景排坑
| 场景 | 必排的坑(按顺序) |
|---|---|
| 自建 CV 报成绩 | 3 → 4 → 2 → 9 |
| 跨届合并训练(2020+2019/2018) | 1 → 8 → 6 |
| 论文横向比较文献数字 | 9 → 8 → 6 |
| 复现冠军方案 | 8 → 3 → 6 → 7 |
| 纯推理/演示 demo | 5 → 2 |
| metadata 融合建模 | 10 → 6 → 3 |
| 长期基准维护 | 7 → 9 → 1 |
8.3 坑点依赖关系(为什么不能只排一个坑)
十个坑不是并列的,存在传导链——只处理其中一个往往无效:
坑 1(跨届重叠)──┐
├──► 合并数据 CV 虚高 ──► 坑 9(与 0.9490 不可比的错误比较)
坑 3(患者泄漏)──┤ ▲
├──► CV 不可信 ────────────┘
坑 4(重复图)────┘
坑 8(外部数据)──► 报成绩不声明 ──► 坑 9
坑 10(伪相关)──► CV 验证通过的假特征 ──► 坑 2(不平衡放大其危害)
坑 7(GT 封闭)──► 无法离线发现以上任何问题 ──► 一切自检只能靠 CV 纪律
读法:坑 7 是"元坑"——测试封闭意味着所有其他坑都无法用官方数据自检,全部压力转移到 CV 纪律(§2.3.1/§6.4 的断言与自检流程)上;坑 9 是多数链路的终点,也是文献混乱的集中爆发点。
8.4 论文引用自查单(对照 E13 五件套的展开版)
写完方法节后逐项打勾:
- [ ] 数据声明:明确写出训练用了哪些数据包(2020 训练集;是否含 2018/2019 及其版本),并引用官方引用块与 Rotemberg 2021。
- [ ] 切分声明:患者级/病灶级/图级三选一说清楚,附折数、种子、分层键。
- [ ] 重复声明:Duplicates.csv 是否使用及方式(评估侧剔除/训练侧保留)。
- [ ] 指标声明:主指标 AUC;建议补 AP 与固定敏感度工作点(§3.2.2)。
- [ ] 可比性声明:与官方私榜 0.9490 的关系一句话说清(可比/不可比及原因,参照 §7.4 句式三)。
- [ ] 许可声明:数据可得性节附 CC-BY-NC 与获取路径。
- [ ] 口径一致性:1.76% 还是 1.8%(选定一种并注明换算);lesion 数是否引用 Cassidy 口径(带限定语)。
七项全勾后,本文 §8 与附录 G 的口径护栏才算真正生效——引用自查单与十坑速查卡(8.1)配合使用:速查卡防实验事故,自查单防写作事故。
本条目在库内的邻居与分工(撞库核验结论,详见 FACTS §1/§8):
- rid 56
isic-archive(ISIC Archive 通用主库条目):主库的注册体系、子数据集总目录、通用下载流程在那边描述。本条目不重复主库通用描述;涉及"从主库取 2020 数据"的路径差异(挑战赛专用 S3 直链)在本条目 §6 单独说明。 - rid 707
isic-2019:上一届挑战赛。2019 届的 8 类标签体系、UNK 协议、balanced accuracy 指标细节在那边展开;本条目仅在与 2020 直接相关处(外部数据正例率 17.85%、跨届重叠、指标哲学对比)引用其结论。互链建议:rid707 的"版本链"表与本条目 §7.3 互为镜像,建议双向锚点。 - rid 710
isic-2018:HAM10000 届。HAM10000 本体的采集协议、三读一致性标注细节在那边;本条目仅在三届共用重叠(§7.3)与外部数据配方(§5.3)处引用。 - rid 141
slice-3d(ISIC 2024 SLICE-3D):谱系下游。3D 上下文挑战的设计在那边;本条目 §7.4 只做"患者中心思想延续"的一句话衔接。 - 外部关联(库外,仅点名):HAM10000(=rid710 主体)、BCN20000、PH2、MED-NODE——文献中的常用对照集。
一句话分工:本条目 = 2020 届的"事件+患者中心数据结构+评估协议"三层合一;不承载主库通用描述(rid56)、不展开邻届细节(rid707/710)、不预支下游设计(rid141)。
9.1 互链操作建议
- 本条目 → rid 707(isic-2019):在 §2.8 与 §7.3 的版本链表处挂链接,锚文本建议"ISIC 2019 届(8 类+UNK 协议)"。
- 本条目 → rid 710(isic-2018):在 §2.1 跨届共享行与 §7.3 处挂链接,锚文本"HAM10000 届(rid 710)"。
- 本条目 → rid 56(isic-archive):在 §6.1 获取渠道处挂"ISIC Archive 主库"链接;提醒读者本条目仅覆盖挑战赛专用发布路径。
- 本条目 → rid 141(slice-3d):在 §7.5 第三条挂"ISIC 2024 SLICE-3D(rid 141)"。
- 反向链建议(写入库内邻条的待办):rid707 的版本链表加"2020 届见 isic-2020";rid56 的挑战赛谱系段加 2020 一行;rid141 的谱系上游段加"patient-centric 起点见 isic-2020"。
互链完成后的自检:全文搜索 “rid 56/707/710/141” 确认四处上下文均为"分工指向"而非内容重复;搜索 "isic-2019"“isic-2018” 确认未展开邻届细节(对应 9.2 负面清单逐条过一遍)。
9.2 避免重复的负面清单(本条目不写什么)
- 不写 ISIC Archive 主库的注册流程、API 用法与全子集目录——rid 56 的领地;本条目仅写挑战赛专用发布路径(§6.1)。
- 不展开 2019 届 8 类标签定义、UNK 协议细节与 balanced accuracy 公式——rid 707 的领地;本条目仅在对比处引用其结论(§2.8/§7.3/附录 F)。
- 不展开 HAM10000 的采集协议与三读标注一致性——rid 710 的领地;本条目仅写"三届共用"这一事实及其后果。
- 不写 ISIC 2024 的 3D 挑战设计与 MILK10k 细节——rid 141 的领地;本条目 §7.5 仅做一句话衔接。
- 不写皮肤影像临床读片法的教科书体系(pattern analysis、两步法等)——库外文献领域;本条目 §2.2.1 的 ABCDE 对照仅为数据使用者的最小背景。
§10 总结:一页带走 isic-2020
10.1 定位三句话
- 事件:ISIC×SIIM 首次联合、首次上 Kaggle 的黑色素瘤筛查挑战赛(2020-05-28 → 2020-08-18),3,308 队、101,845 次提交、$30,000 奖金——Kaggle 史上参与度最高的医学影像赛之一。
- 数据:33,126 张六机构皮肤镜图(0.5-24 MP)+ 10,982 张测试图,2,056 名患者平均约 16 病灶/患者,584 个全病理确认恶性(1.76%)——ISIC 谱系第一个患者中心数据集(DOI 10.34970/2020-ds01,CC-BY-NC 4.0)。
- 协议:二分类 + Mean Columnwise AUC + 公共/私榜双段,测试 GT 永不公开——冠军私榜 0.9490(CV 0.9600)成为领域事实锚点。
10.2 三层价值对照(检索定位用)
| 你检索的是 | 答案所在 | 关键词 |
|---|---|---|
| 一场 2020 年的医学影像 Kaggle 赛 | §4(时间线/规模/主办方)、§5(冠军方法) | SIIM-ISIC、3,308 队、EfficientNet 集成、外部数据 |
| 一个患者级组织的皮肤影像数据集 | §2(构成/患者结构/文件字典)、§7(设计动机与谱系) | patient-centric、2,056 患者、lesion_id、丑小鸭征 |
| 一套筛查型 AI 评测协议 | §3(任务/AUC/双段榜)、§8(口径陷阱) | Mean Columnwise AUC、0.9490、测试 GT 封闭 |
10.3 使用守则五条(全文浓缩)
- 切分必按 patient_id(严格者加 lesion_id),先跑 §2.3.1 断言再谈模型——坑 3。
- 指标用 AUC/AP,弃 accuracy;报工作点配对——坑 2/§3.2.2。
- 任何跨数据集动作先去重(HAM10000/BCN20000 多届共用)——坑 1。
- 报成绩必附数据配方(2020 alone 或 +2018/2019)——坑 8;与 0.9490 分栏——坑 9。
- 公共榜与社区"GT"不进评估管线;一切以患者级 CV 为准——坑 7。
10.4 一句话终评
ISIC 2020 把"看图识病"的挑战赛做成了"看人识病"的数据工程:它在数据结构上引入患者、在赛制上验证了外部数据与 CV 纪律、在基准上留下一个至今不可复算也不可替代的 0.9490——理解今日医学影像数据集的"患者中心"默认设定,回到这一届。
附录
A. 引用文献清单
| # | 文献 | 角色 |
|---|---|---|
| 1 | Rotemberg V, et al. “A patient-centric dataset of images and metadata for identifying melanomas using clinical context.” Scientific Data 8:34 (2021). DOI 10.1038/s41597-021-00815-z | 数据描述论文(官方指定引用) |
| 2 | Rotemberg V, et al. Author Correction. Scientific Data 8:81 (2021). DOI 10.1038/s41597-021-00865-3 | 论文勘误 |
| 3 | International Skin Imaging Collaboration. SIIM-ISIC 2020 Challenge Dataset. DOI 10.34970/2020-ds01 (2020) | 数据集本体 |
| 4 | Ha Q, Liu B, Liu F. “Identifying Melanoma Images using EfficientNet Ensemble: Winning Solution to the SIIM-ISIC Melanoma Classification Challenge.” arXiv:2010.05351 (2020) | 冠军论文 |
| 5 | Cassidy B, et al. “Analysis of the ISIC image datasets: Usage, benchmarks and recommendations.” Medical Image Analysis 75 (2022). DOI 10.1016/j.media.2021.102305 | 二次分析口径(子数据集拆分/32,701 lesion) |
| 6 | Codella N, et al. ISIC 2018 challenge 论文(arXiv:1902.03368);Tschandl P, et al. HAM10000(Sci Data 5:180161, 2018) | 谱系上游 |
| 7 | ISIC 官网 challenge.isic-archive.com/data/#2020;Kaggle 竞赛页 kaggle.com/c/siim-isic-melanoma-classification | 官方数据页(2026-09-28 抓取) |
B. 术语表
| 术语 | 释义 |
|---|---|
| patient-centric | 数据按患者组织的采集与发布设计;患者可关联多病灶图 |
| contextual lesions | 情境病灶——同一患者身上用于建立"背景基线"的其他病灶 |
| ugly duckling sign | 丑小鸭征——与该患者其他病灶相比外观异样者恶性风险更高的临床法则 |
| Mean Columnwise AUC | 官方指标;二分类下即标准 ROC AUC |
| public/private leaderboard | 双段榜;公共榜≈测试 1/10 即时反馈,私榜定最终名次 |
| external data | 官方许可的外部训练数据;本届实践中主要指 ISIC 2018/2019 |
| Duplicates.csv | 官方公布的 425 张训练集重复图清单 |
| DICOM corrected | 经 dciodvfy 严格校验兼容性修正的 DICOM 版本 |
| GroupKFold / StratifiedGroupKFold | 按组切分(组内样本不跨折)/叠加分层的组切分——患者级切分的标准工具 |
| AP(average precision) | PR 曲线下面积;不平衡场景对高概率端排序更敏感的补充指标 |
| operating point | ROC 曲线上选定的(敏感度,特异度)工作点;筛查部署的实际决策阈值 |
| design effect | 聚类抽样下有效样本量相对表观样本量的折扣;患者聚集数据的功效分析须计入 |
| TTA(test-time augmentation) | 测试时多视角增强取平均的推理技巧 |
| UNK | 2019 届引入的开放集"其他类";本条目仅作谱系对照,2020 届任务无此类 |
J. 版本与更新记录
| 版本 | 日期 | 说明 |
|---|---|---|
| v1.0 | 2026-09-28 | 初稿成稿(agent-f-isic2020);FACTS.md 同日建立,九节结构 |
| — | 待库内流程 | 互链锚点待与 rid 56/141/707/710 的维护代理对齐后回填(§9.1 清单) |
| — | 持续项 | 若官方未来公开测试 GT 或发布数据更新(如 ISIC 2024 后续整合),按 FACTS §9 存照流程更新坑 7/坑 9 相关段落 |
C. 快速上手清单(copy-paste 顺序)
预估耗时:下载 1-3 小时(视带宽)+ 审计与切分半天 + 基线训练视算力。清单本身五分钟走完。
- 下载:Kaggle(要切分实验)或官网 JPEG 包(纯图像基线)。
- 确认 metadata 版本:v2(含 lesion_id)——坑 6。
- 读 Duplicates.csv:评估侧剔除——坑 4。
- 切分:GroupKFold by patient_id(严格者再按 lesion_id)——坑 3。
- 指标:roc_auc_score;补报 AP 与敏感度/特异度配对——坑 2。
- 若做跨集实验:先按 ISIC ID 与 2018/2019 去重——坑 1。
- 报告:显式声明数据配方(是否合并 2018/2019)——坑 8;成绩与 0.9490 分栏——坑 9。
D. 本条目不覆盖的问题(去哪找)
| 问题 | 去处 |
|---|---|
| ISIC 主库注册、API、全部子集目录 | rid 56 isic-archive |
| 2019 届 8 类标签与 UNK 协议细节 | rid 707 isic-2019 |
| HAM10000 采集协议与标注一致性 | rid 710 isic-2018 |
| ISIC 2024 3D 挑战与 MILK10k | rid 141 slice-3d |
| 皮肤影像临床读片法(pattern analysis)教科书体系 | 库外临床文献 |
E. 常见问题 FAQ
E1:一句话说清 ISIC 2020 和 ISIC 2019 数据集的区别?
2019 是 8 类多分类的聚合扩张(图像多为既有,25,331 张);2020 是二分类的患者中心新采集(33,126 张,含大量新图,2,056 名患者结构化组织),指标从 balanced accuracy 换成 AUC,测试 GT 至今不公开。详见 §2.8/§7.3。
E2:训练集的"恶性 1.76%"和论文里"1.8%"矛盾吗?
不矛盾——同一事实的不同精度:584/33,126=1.763%,论文摘要四舍五入为 1.8%,冠军论文写 1.76%。引用任一口径均可,建议注明分子分母。见 §2.2 与 FACTS §9。
E3:为什么我的 CV AUC 有 0.98+ 但感觉不太对?
三连检查:切分是否按 patient_id 分组(坑 3)、是否剔除官方 425 张重复(坑 4)、是否合并了 2018/2019 又在合并全集上切分(cv all 与私榜口径不同,坑 8/坑 9)。三处全中时 0.98+ 完全可能但无意义。
E4:能把 2019 和 2020 的数据直接堆一起训练吗?
能(官方许可外部数据),且这是冠军做法;但必须按 ISIC ID 去重(两届共享 HAM10000/BCN20000 子集,坑 1)、标签压扁口径统一(MEL→1 其余→0)、部位字段归一(§2.5.1)、并在报成绩时声明配方(坑 8)。
E5:测试集 GT 到底在哪能找到?
nowhere——官方从未发布(官网 “Not Available”,赛毕亦未公开),与 2019 届公开 GT 的做法不同。社区流传的"GT"均为伪标签,见 §2.7/§2.6.1。
E6:metadata 用 v1 还是 v2?
用 v2(含 lesion_id);v1 只在复刻历史实验时用。Kaggle 侧注意 train.csv 是否为 2021 年后更新版(含 lesion_id 列)。见 §2.5/坑 6。
E7:DICOM 包 48.9GB 和 23.0GB 下哪个?
一般用途下 corrected 23.0GB 或直接 JPEG 23GB;48.9GB 原始版仅在研究 DICOM 规范符合性时需要。两者图像内容一致。见 §2.4/坑 5。
E8:0.9490 能作为"我们的方法要打败的 SOTA"吗?
只能作为参照系,不能作为同表比较对象——0.9490 是官方私榜(测试集与协议固定),文献自切分成绩与之不可比(切分/清洗/配方三不同)。正确写法是分栏呈现并声明口径。见坑 9/§7.4。
E9:测试集里的图和训练集来自同样的患者吗?
官方未说明测试患者的构成,GT 与患者分布均未公开——一切关于测试集患者构成的表述都是推测。可确认的只有:测试集 10,982 张、带 patient_id 的 metadata(可用于推理时的上下文特征,但无标签可依)。
E10:lesion_id 缺失(v1 时代)怎么办?
退而求其次做患者级切分(patient_id 始终可得);同患者不同病灶图之间的相似度低于同病灶多图,患者级约束可挡住大头泄漏。并如实报告切分粒度。见坑 6/§2.3.1。
E11:能不能用测试集 metadata 做"测试时上下文"?
可以且合法(metadata 官方随测试集发布)——前排方案的 metadata 融合模型正是这么用的;但注意缺失模式伪相关(坑 10),且测试 GT 不可得意味着你无法离线评估其增益(坑 7),一切以 CV 为准。
E12:这个数据集适合做什么、不适合做什么?
适合:不平衡学习、metadata/上下文融合、患者级泄漏研究、跨中心域泛化(六机构)、筛查型 AUC 协议研究。不适合:多类疾病诊断(只有二值 target,诊断细分仅 Cassidy 分析口径)、分割/检测(无 mask/框标注)、商用部署(NC 许可)。
E13:论文里写"在 SIIM-ISIC 2020 上验证"最少要披露什么?
五件套:数据配方(是否用外部数据及来源清单)/切分协议(患者级与否、折数、随机种子)/重复处理(是否用 Duplicates.csv)/指标(AUC,建议补 AP 与工作点)/与官方 0.9490 的关系声明(可比或不可比及原因)。见 §8.2 与附录 C。
E14:患者级切分后各折正例率不均怎么办?
用 StratifiedGroupKFold(§2.3.1)同时按 target 分层、按 patient_id 分组;若仍有个别折正例过少(584 个正例的极端分布所致),改 10 折或对折分配做贪心平衡,并报告各折正例数。
E15:如何向非技术读者解释这届比赛的意义?
“以前 AI 像看照片一样看痣,现在 AI 学会像医生一样看人——先看这个人全身的痣长什么样,再判断哪一颗不对劲。这届比赛就是让 AI 学会’看人’的那一步。”
E16:官方为什么不公开 2020 测试 GT(2019 届都公开了)?
官方未给出解释,官网仅维持 “Not Available” 标注——任何"因为防过拟合/因为要留基准"的说法都是社区猜测。可确认的事实只有:2019 届赛毕公开(454KB CSV),2020 届至今未公开(FACTS §9 存照)。引用时按"官方未公布"陈述,勿替官方补理由。
E17:复现冠军方案最少需要下载哪些文件?
最小集:Kaggle 的 train.csv/test.csv + train/test JPEG 目录,外加官网 metadata v2(补 lesion_id)与 Duplicates.csv——合计约 30GB(JPEG 23GB+6.7GB)。DICOM 包对复现冠军方案非必需(其管线以 JPEG 为主);2018/2019 外部数据按论文配方另下。清单与校验见 §6.4。
F. 与 2019 届(rid 707)口径对照总表
| 维度 | ISIC 2019 | ISIC 2020 |
|---|---|---|
| 训练规模 | 25,331 张(聚合既有为主) | 33,126 张(真实新增为主) |
| 测试规模 | 8,238 张 | 10,982 张 |
| 任务 | 8 类+UNK 开放集 | 二分类(benign vs malignant) |
| 患者结构 | 仅 lesion_id(23,247 张有值,无 patient_id) | patient_id + lesion_id 全覆盖 |
| 正例规模 | MEL 4,522(17.8%) | 恶性 584(1.76%) |
| 主指标 | balanced multi-class accuracy(=average recall) | Mean Columnwise AUC |
| 测试 GT | 赛毕官方公开(454KB) | 永不公开(“Not Available”) |
| 举办平台 | ISIC 官方系统 | Kaggle(SIIM & ISIC 联合主办) |
| 奖金 | 每赛道 $4,000/$2,000/$1,000(Canfield 提供) | 总 $30,000 |
| 冠军成绩口径 | balanced accuracy(见 rid707) | CV 0.9600 / 私榜 AUC 0.9490 |
| 跨届重叠 | — | 共享 HAM10000(三届)/BCN20000(两届) |
| 库内条目 | rid 707 | 本条目 |
G. 全条目硬数字速查卡
| 数字 | 含义 | 来源强度 |
|---|---|---|
| 33,126 | 训练图张数 | 三源(官网+论文+Cassidy) |
| 10,982 | 测试图张数 | 三源 |
| 2,056 | 唯一患者数 | 三源(论文摘要原文) |
| 584(1.76%/1.8%) | 恶性图张数(全部病理确认) | 三源 |
| 32,701 | 唯一 lesion ID | 单源分析口径(Cassidy 2022) |
| ≈16 | 平均病灶数/患者 | 论文摘要 |
| 20.8% / 79.2% | 有≥1黑色素瘤 / 零黑色素瘤的患者占比 | 论文摘要 |
| 425 | 官方公布的重复图数 | 官网 Duplicates.csv |
| 0.5–24 MP | 分辨率跨度 | Med Image Analysis 综述 |
| 23GB / 48.9GB / 23.0GB | 训练 JPEG / DICOM 原始 / corrected | 官网 |
| 2020-05-28 → 2020-08-18 | 赛期 | Kaggle 官方页 |
| $30,000 | 总奖金 | Kaggle 官方页 |
| 14,838 / 4,110 / 3,308 / 101,845 | entrants / participants / teams / submissions | Kaggle 官方页 |
| 0.9600 / 0.9490 | 冠军 CV AUC / 私榜 AUC | 冠军论文摘要 |
| 1 / 3,308 | 冠军名次 | 冠军论文 + Kaggle |
| 10.34970/2020-ds01 | 数据集 DOI | 官网强制引用块 |
| 10.1038/s41597-021-00815-z | 数据描述论文 DOI | Sci Data |
| CC-BY-NC 4.0 | License | 官网 |
H. 事实来源强度分级表
| 强度 | 定义 | 本条目中的项 |
|---|---|---|
| 三源+ | 官网+Kaggle+论文(或综述)互证 | 33,126 / 10,982 / 2,056 / 584 / CC-BY-NC / DOI / 赛期 / 六机构 |
| 双源 | 两个独立来源 | 0.9600/0.9490(论文摘要+榜单)、队数 3,308(Kaggle+冠军论文)、六机构子集构成(官网名单+Cassidy 拆分互洽) |
| 单源(分析口径) | 单一研究者口径,官方未直接公布 | 32,701 lesion ID、子数据集行数拆分(Cassidy Table 3/4) |
| 单源(存照待核) | 单一来源,无第二出处 | openmedlab 分辨率三元组(640×480/5184×3456/6000×6000) |
| 推断/示意 | 正文明示为推算或示意 | 公共榜正例≈58 个(1/10×1.76% 推算)、§5.4.1 方差直觉、冠军团队分工推断 |
引用纪律:三源+项可直接当硬数字用;单源分析口径引用时必须带"Cassidy 2022 分析口径"限定;存照项不进正文硬数字(正文主口径用 0.5-24 MP)——分级依据详见 FACTS.md §9。
I. 撰写时点与核验声明
- 撰写时点:2026-09-28(agent-f-isic2020);官网与 Kaggle 页抓取同日。
- 核验路径:ISIC 官网(challenge.isic-archive.com/data/#2020)+ Kaggle 官方竞赛页 + Rotemberg et al. 2021(Sci Data,经 PubMed/PMC 及机构库镜像获取摘要与数字)+ 冠军论文(arXiv:2010.05351)四路互证;二次分析口径经 Cassidy 2022(Med Image Analysis,MMU e-space PDF 与 ScienceDirect 页双径核对 Table 3/4)。
- 核验限制存照:Nature 官网直抓被反爬拦截(改用镜像);Kaggle leaderboard 页 WebFetch 未返回有效内容(冠军成绩改从 arXiv 论文获取);测试 GT 官方永不公开——测试分布相关的一切均按"未知"陈述。
- 事实档案:全部事实与其来源强度分级见同目录 FACTS.md(九节结构);正文与 FACTS 冲突时以 FACTS 为准并回改正文。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- isic-2019 — 共享标签:医学影像 / 皮肤影像 / 图像分类 / 挑战赛数据集 / 评测基准 / 皮肤癌
- skincon — 共享标签:医学影像 / 皮肤影像 / 图像分类 / 评测基准 / 皮肤癌
- med-node — 共享标签:医学影像 / 皮肤影像 / 图像分类 / 评测基准 / 皮肤癌
- isic-2018 — 共享标签:医学影像 / 皮肤影像 / 图像分类 / 挑战赛数据集 / 皮肤癌
- derm12345 — 共享标签:医学影像 / 皮肤影像 / 图像分类 / 评测基准 / 皮肤癌
- isic-archive — 共享标签:医学影像 / 皮肤影像 / 挑战赛数据集 / 皮肤癌
- ph2 — 共享标签:医学影像 / 皮肤影像 / 图像分类 / 皮肤癌
- ddi — 共享标签:医学影像 / 皮肤影像 / 评测基准 / 皮肤癌
- dermacon-in — 共享标签:医学影像 / 皮肤影像 / 图像分类 / 评测基准
- bcn20000 — 共享标签:医学影像 / 皮肤影像 / 皮肤癌
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

