SLICE-3D — ISIC 2024 3D 全身照相皮损数据集 | 千方病案医数集

全球最大 3D-TBP 皮肤癌筛查数据集 · 40.1 万皮损裁剪 · 约 1:1,000 极端不平衡

来源 国际皮肤影像协作组(ISIC)& 纪念斯隆凯特琳癌症中心(MSK) url: https://challenge2024.isic-archive.com/发布时间: 2026-09-07最后更新: 2026-09-07 阅读 7

信息速览

数据集名称SLICE-3D — ISIC 2024 3D 全身照相皮损数据集 | 千方病案医数集
数据类型401,059 张皮损裁剪图,1,042 名患者,恶性率仅 0.1%,约 1.2GB 图像,CC-BY-NC / CC-BY 双许可,Kaggle 8 万美元竞赛
规模1,042 名患者 · 40.1 万张皮损图
接入方式国际皮肤影像协作组(ISIC)& 纪念斯隆凯特琳癌症中心(MSK) url: https://challenge2024.isic-archive.com/
AI 就绪度

数据集封面

SLICE-3D — 3D 全身照相皮肤癌筛查数据集 AI-Ready Wikipedia


INFOBOX

数据集名称 SLICE-3D
英文全称 SLICE-3D: Skin Lesion Image Crops Extracted from 3D Total Body Photography
别名/简称 SLICE-3D、ISIC 2024 Challenge Dataset、ISIC 2024 3D-TBP 数据集
疾病分类 ICD-11:2C30 皮肤黑色素瘤 / 2C31 皮肤基底细胞癌 / 2C32 皮肤鳞状细胞癌 / EK00 光线性角化病
SNOMED CT 209056003 Malignant melanoma / 1330007 Basal cell carcinoma / 28899001 Squamous cell carcinoma / 201101007 Actinic keratosis(详见 §2.2)
数据模态 影像(3D 全身摄影皮损裁剪图,临床照片级质量)+ 结构化元数据
AI 任务类型 图像二分类(恶性/良性)、皮损分诊(triage)、极端不平衡学习、多模态融合(图像+元数据)、患者级上下文建模
样本总数 401,059 张皮损裁剪图(1,042 名患者,恶性 393 张 / 不确定 114 张 / 良性 400,552 张);竞赛隐藏测试集约 50 万张(未公开)
数据大小 ~1.2 GB(训练图像)+ 40 MB(补充元数据)+ 7 MB(标签);Permissive 版 623 MB
数据格式 JPEG(15mm×15mm FOV,平均约 133×133 px)/ CSV(元数据与标签)/ HDF5(Kaggle 打包)
许可证 CC-BY-NC 4.0(完整版)/ CC-BY 4.0(Permissive 子集,217,477 张)
访问级别 开放(ISIC Archive / challenge2024 站点直接下载;Kaggle 竞赛页需注册)
DUO 标签 HMB, NPUNCU, PUB(完整版)/ GRU, PUB(Permissive 版)
语言 英文(元数据字段与文档)
首发日期 2024-06-27(Kaggle 竞赛开赛)/ 2024-08-14(Scientific Data 描述论文)
最后更新 2024-08-14(ISIC Archive 永久存档版;后续 ISIC Archive 主站元数据可能微调)
发布机构 国际皮肤影像协作组(ISIC)& 纪念斯隆凯特琳癌症中心(MSK)& Canfield Scientific
官方主页 https://challenge2024.isic-archive.com/
下载地址 https://challenge2024.isic-archive.com/(SLICE-3D 与 Permissive 版)/ https://www.kaggle.com/competitions/isic-2024-challenge/data(Kaggle 打包)
DOI 10.1038/s41597-024-03743-w(描述论文)/ 10.34970/2024-slice-3d(数据集)/ 10.34970/2024-slice-3d-permissive(Permissive 版)
引用次数 38+(OpenAlex,截至 2026-09;Scopus 口径 26)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方双许可开放下载、结构化元数据完备、Kaggle 竞赛生态成熟;扣分项:无公开测试集、无官方训练/验证划分、弱标签占比 99.9%
页面状态 published

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

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 映射、皮肤癌三主病种临床定义、活检金标准描述)、§7 偏倚分析。

数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(tbp_lv_* 字段体系、ISIC-DX 诊断层级)、§5 数据划分策略(patient_id 分组)、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

审核方式:交叉审核

利益冲突声明:千方病案医数集与 ISIC、纪念斯隆凯特琳癌症中心、Canfield Scientific、Kaggle 无任何商业利益关联。本页面不销售 SLICE-3D 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。SLICE-3D 完整版为 CC-BY-NC 4.0(禁止商业用途),Permissive 子集为 CC-BY 4.0;两版均要求按官方 DOI 规范署名(见 §9)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 30 秒速览

SLICE-3D 是国际皮肤影像协作组(ISIC)为 2024 年皮肤癌检测挑战赛发布的超大规模数据集:从 3D 全身摄影(3D-TBP)设备拍摄的全身照中,自动切出 401,059 张以单个皮损为中心的 15mm×15mm 小图,覆盖 1,042 名患者、三大洲七家皮肤癌高危诊所(2015-2024 年)。其中只有 393 张是病理确诊的恶性肿瘤——黑色素瘤、基底细胞癌、鳞状细胞癌——恶性率仅 0.1%,约等于 1:1,000 的真实筛查不平衡。

它的独特价值在于第一次把"从几百颗痣里找出那一两颗癌"的真实临床场景做成了公开数据集。过去的皮肤 AI 数据集(如 HAM10000)全是医生已经挑出来、用专业皮肤镜拍好的"可疑"皮损;而 SLICE-3D 模拟的是智能手机拍照质量、全身无差别筛查的分诊场景——这正是 AI 最有可能改变基层医疗和远程医疗的地方。围绕它举办的 Kaggle 竞赛吸引了 3,410 名参赛者、近 8 万次提交,奖金池 8 万美元。

你可以用它来:训练一个"手机拍照初筛皮肤癌"的分诊模型、研究极端类别不平衡下的机器学习方法(冠军方案 pAUC 也仅 0.173/0.2,天花板远未触顶)、或者开发"丑小鸭征"式的患者级上下文建模——把同一患者身上的几百颗痣放在一起比较,找出最反常的那一颗。

§1.1 摘要

SLICE-3D(Skin Lesion Image Crops Extracted from 3D TBP)由 MSK 的 Nicholas Kurtansky、Veronica Rotemberg 团队牵头,联合巴塞罗那、巴塞尔、布里斯班、悉尼、维也纳、雅典共七家中心构建,2024-08-14 以 Data Descriptor 形式发表于 Scientific Data。数据产自 Canfield Vectra WB360 全身摄影系统——92 台固定相机在一次拍摄中重建患者全身 3D 皮肤表面,再由 DermaGraphix 软件中的 Lesion Visualizer AI 工具自动检出所有皮损(>2.5mm),连同医生手工标记的病灶(22,058 张,占 5.5%)一起导出为 15mm 视野的 JPEG 裁剪图,平均约 133×133 像素,光学分辨率刻意对标智能手机。标签体系分两层:393 张恶性与约 561 张良性为 strong-label(活检病理确诊),其余 399,991 张良性为 weak-label(临床推定、从未活检)。元数据除人口学与解剖部位外,还附带 30 余个 Canfield Lesion Visualizer 派生的形态、颜色、对称性量化特征(tbp_lv_* 系列)。数据集即 ISIC 2024 Kaggle 竞赛训练集;竞赛隐藏测试集(约 50 万张,含 Alfred Hospital 与 FNQH Cairns 两家全新中心)未公开发布。

§1.2 战略价值分析

范式转移维度:皮肤 AI 的第一个十年(2016-2023)建立在 HAM10000、ISIC 2018-2020 等皮肤镜数据集上——图像是医生用专业设备对"已选中的可疑皮损"拍摄的,模型学的是"辅助诊断"。SLICE-3D 把问题往前推了一步:在患者还没有被专家筛选之前,从全身几百颗皮损中找出值得专家看的那几颗(triage,分诊)。这个任务的数据分布(手机级画质、全身无差别采样、0.1% 恶性率)与皮肤镜数据集根本不同,npj Digital Medicine 2025 年官方复盘直言:在皮肤镜精选皮损上训练的模型"可能难以泛化到分诊任务"。SLICE-3D 因而不是"又一个皮肤数据集",而是皮肤 AI 从"辅助诊断"走向"主动筛查"的范式拐点。

真实世界不平衡维度:1:1,019 的恶性率不是缺陷,而是这个数据集最忠实的设计。真实皮肤癌筛查中,一位高危患者全身可能有 300+ 颗痣,其中恶性通常不超过 1-2 颗。以往数据集为了让模型"好训练"而人为富集恶性样本(HAM10000 恶性+癌前病变占比超过 30%),导致模型在真实筛查流水中假阳性爆炸。SLICE-3D 强迫研究社区直面这个问题:竞赛评测指标 pAUC(仅计算 TPR≥80% 区段的部分 AUC,满分 0.2)就是为了惩罚"靠低灵敏度换好看指标"的模型。冠军方案在隐藏测试集上 pAUC 仅 0.17264——按满分 0.2 折算约 86%,说明即便 3,410 名顶尖参赛者也远未解决这个问题,天花板本身就是研究机会。

技术生态维度:SLICE-3D 是第一批把"图像 + 结构化形态测量元数据"深度绑定的皮肤数据集。每张图附带 30 余个 Vectra WB360/Lesion Visualizer 派生的物理量——面积(mm²)、周长(mm)、LAB 色差、边缘不规则度、颜色不对称性、痣置信度等——这些量来自 3D 重建的物理尺度,不是像素统计。冠军方案证明了这个设计的价值:纯表格元数据 + GBDT 即可达到相当高的 pAUC,患者级上下文特征(如"这颗痣相对该患者其他痣有多反常")带来进一步提升。图像+物理测量+患者上下文的三层结构,为多模态医疗 AI 提供了一个教科书级实验场。

§1.3 横向对比

数据集 图像数 模态 恶性/阳性占比 标注质量 核心差异化
SLICE-3D(ISIC 2024) 401,059 3D-TBP 临床照片级裁剪 + 物理测量元数据 0.098%(393 恶性) 恶性全部病理确诊;良性 99.9% 为临床推定弱标签 唯一模拟全身无差别筛查场景;极端不平衡即真实分布
HAM10000(ISIC 2018) 10,015 皮肤镜 约 14.5%(mel 1,113 + bcc 514,另含 akiec 327) 超半数病理确诊,7 类细分诊断 皮肤镜诊断标杆;精选可疑皮损,存在选择偏倚
ISIC 2020(SIIM-ISIC) 33,126 皮肤镜 约 1.8%(584 恶性) 病理确诊 + 专家共识 首次引入患者级去重与 pAUC 类指标
ISIC 2019 25,331 皮肤镜 多分类(8 类 + outlier) 混合 类别最多的皮肤镜集,含分布外检测
Derm7pt 2,022 皮肤镜 + 临床照片双视图 约 40%(含癌前) 7 点评分体系结构化标注 双模态对照与 ABCD 规则可解释性
PAD-UFES-20 2,298 智能手机临床照片 约 52%(6 类) 病理确诊 巴西基层人群,手机画质,但规模小

一句话总结:比规模,SLICE-3D 是 HAM10000 的 40 倍;比场景,它是唯一一个"不挑皮损"的筛查数据集;比难度,它的 0.1% 恶性率让所有在皮肤镜集上调好的先验全部失效。

§1.4 版本演进时间轴

时间 事件
2015-2024 七家中心使用 Vectra WB360 回顾性累积 3D 全身摄影数据(各中心 IRB/HREC 批准)
2016-2020 ISIC 2016/2017/2018(HAM10000)/2019/2020 历届挑战赛建立皮肤镜 AI 评测传统
2024-06-27 ISIC 2024 挑战赛在 Kaggle 开赛,SLICE-3D 作为训练集发布,奖金池 $80,000
2024-08-14 SLICE-3D 描述论文在线发表(Kurtansky et al., Scientific Data 11:884,DOI: 10.1038/s41597-024-03743-w)
2024-09-05/06 竞赛截止提交并关闭:3,410 名参赛者、2,739 支队伍、约 79,000 次提交、102 个国家
2024-09 私有排行榜公布:冠军 Ilya Novoselskiy,private pAUC 0.17264;8 支队伍获金牌
2024-10-10 第 9 届 ISIC 皮肤影像分析研讨会 @ MICCAI(摩洛哥马拉喀什)
2024 下半年 SLICE-3D 与 SLICE-3D Permissive(CC-BY,217,477 张)在 challenge2024 站点永久存档
2025-06 社区复现方案陆续发表(如 Hasan & Rifat 的 EVA02+GBDT 混合集成,arXiv:2506.03420,pAUC 0.1755 自报口径)
2025-11-21 官方竞赛复盘论文发表(Kurtansky et al., npj Digital Medicine 8:708,DOI: 10.1038/s41746-025-02070-7),证实患者内上下文建模的增益并公布消融结果

§1.5 典型 AI 应用场景

  1. 皮肤癌筛查分诊模型:在智能手机级画质下做恶性/良性二分类,目标是"宁可错转、不可漏诊"的高灵敏度 triage 工具——竞赛官方设定的核心场景,面向基层医疗与远程医疗。
  2. 极端类别不平衡方法研究:1:1,019 的原生分布 + 官方 pAUC(TPR≥80%) 指标,是检验重采样、代价敏感学习、合成数据(冠军方案用 Stable Diffusion 生成恶性皮损)等技术的理想试验场。
  3. 患者级上下文建模(丑小鸭征):同一患者平均 385 张皮损图 + patient_id 分组,支持"与患者自身基线比较找异常"的建模范式——npj 2025 复盘证实这是相对单图模型的确定性增益来源。
  4. 图像 + 结构化元数据多模态融合:30 余个物理测量特征(面积 mm²、周长 mm、LAB 色差、对称性评分)与图像联合建模,冠军方案证明 GBDT 吃元数据 + CNN 吃图像的双塔结构是当前最优解。
  5. 跨中心泛化与公平性研究:七家中心恶性率相差约 8 倍(Basel 0.02% vs Brisbane 0.16%)、光照双模态(白光/交叉偏振),为域泛化、混杂因子控制提供天然实验设计(注意:肤色未记录,见 §7.1)。

§2 医学背景

§2.1 ICD-11 疾病分类锚定

SLICE-3D 的二分类标签(恶性/良性)由 ISIC-DX 共识诊断层级派生。恶性类别(393 张 strong-label)对应的 ICD-11 编码如下:

ISIC-DX 诊断(iddx 层级) 计数 ICD-11 编码 中文名称
Adnexal epithelial proliferations – Follicular(BCC) 163 2C31 皮肤基底细胞癌
Epidermal proliferations – Malignant(SCC) 73 2C32 皮肤鳞状细胞癌
Melanocytic proliferations – Malignant(Melanoma in situ) 80 2C30.0 原位黑色素瘤
Melanocytic proliferations – Malignant(Melanoma invasive) 63 2C30 皮肤侵袭性黑色素瘤
Melanocytic proliferations – Malignant(NOS) 14 2C30.Z 黑色素瘤,未特指
(不确定类)Epidermal – Actinic keratosis 39 EK00 光线性角化病(癌前病变)
(不确定类)Melanocytic – Indeterminate 75 D22.- / D48.5 性质未定黑色素细胞病变

良性类别以黑色素细胞痣(Nevus)为主,对应 ICD-11 的 D22(黑色素细胞痣)与 F00-EH9 系列良性皮肤病变编码。注意:竞赛与绝大多数文献将 114 张"不确定"(indeterminate)样本并入良性侧训练或剔除——原始 Kaggle target 仅区分 malignant(393)与非恶性(400,666),引用计数时请声明口径(见 §6.5 坑点 1)。

§2.2 SNOMED CT 映射

数据集诊断 ICD-11 SNOMED CT SNOMED CT 术语
黑色素瘤(原位/侵袭) 2C30 209056003 Malignant melanoma (disorder)
基底细胞癌 2C31 1330007 Basal cell carcinoma (disorder)
鳞状细胞癌 2C32 28899001 Squamous cell carcinoma (disorder)
光线性角化病 EK00 201101007 Actinic keratosis (disorder)
黑色素细胞痣 D22 400096008 Melanocytic nevus (disorder)
全身皮肤检查(场景) 162573006 Skin examination (procedure)
皮肤活检(金标准流程) 277590007 Biopsy of skin (procedure)

§2.3 疾病简介

皮肤癌是全球发病率最高的恶性肿瘤类别。三大主病种中:基底细胞癌(BCC) 最常见、转移罕见但局部破坏性强;鳞状细胞癌(SCC) 次之,有一定转移风险;黑色素瘤 占比最小却贡献了皮肤癌死亡的绝大多数——其预后与发现时的厚度强相关,原位黑色素瘤五年生存率接近 100%,而远处转移后骤降至 35% 以下。这意味着早诊早筛是皮肤癌防控中投入产出比最高的环节。现实瓶颈在于:高危人群(白皙肤色、多发痣、家族史)全身常有数百颗皮损,皮肤科医生逐颗皮肤镜检查耗时 15-30 分钟/人,基层与非专科场景几乎无法覆盖。3D 全身摄影 + AI 自动分诊的组合,正是为填平这道"可及性鸿沟"而生。

§2.4 临床任务定义

AI 任务 临床定义 在 SLICE-3D 中的操作化 评测指标
恶性皮损识别(核心任务) 从全部皮损中识别需活检/专家评估的恶性病变 单张 15mm 皮损裁剪图 + 元数据 → 恶性概率(target=1) pAUC(TPR≥80% 区段部分 AUC,满分 0.2)
全身检查皮损筛选(triage) 在一名患者的数百颗皮损中选出 top-K 最值得专家评估者 患者级风险排序 SEtop-15(患者级 top-15 敏感性,竞赛次要奖)
转诊效率优化 在固定敏感性下最小化转诊/活检数 阈值化风险分数 NNT80%SE / NNT90%SE(类比 Number Needed to Biopsy)
患者级异常检测 丑小鸭征:与患者自身皮损基线比较找反常者 patient_id 内特征归一化 / LOF 离群度 消融研究(npj 2025)

需要强调的任务边界:SLICE-3D 的标签是二分类恶性 vs 非恶性,不支持病种细分(melanoma/BCC/SCC 三分类需自行从 iddx 字段派生且样本极少)、不支持黑色素瘤厚度或分期预测(mel_thick_mm / mel_mitotic_index 仅侵袭性黑色素瘤子集有值)、不支持分割或检测(图像已是裁剪好的 tile)。

§2.5 患者人群特征

维度 特征
数据来源 三大洲七家皮肤癌高危专科中心:美国 MSK(纽约)、西班牙 Hospital Clínic de Barcelona、瑞士 University Hospital Basel、澳大利亚 University of Queensland(布里斯班)、Melanoma Institute Australia(悉尼)、奥地利 Medical University of Vienna、希腊 University of Athens
采集时间 2015-2024 年(回顾性收集)
患者数 1,042 名(人均约 385 张皮损图)
性别 男 551(52.9%)/ 女 458(44.0%)/ 未知 33(3.2%)
年龄 峰值集中于 50-70 岁;<40 岁占 16.1%,≥80 岁占 4.4%,未知 1.2%
肤色 未记录(回顾性收集的公认局限);来源人群以白皙肤色高危筛查人群为主
人群性质 皮肤癌高危筛查人群(多发痣、监测随访),非普通人群随机抽样
解剖部位(按图像) 后躯干 30.4% / 下肢 25.7% / 前躯干 21.9% / 上肢 17.6% / 头颈 3.0% / 未知 1.4%
恶性数按中心 MSK 174 / Brisbane 81 / Barcelona 72 / Sydney 33 / Vienna 14 / Basel 13 / Athens 6

恶性率按中心分布(选择偏倚的量化证据)

中心 图像数 恶性数 恶性率
Brisbane(UQ) 51,768 81 0.156%
Sydney(MIA) 28,665 33 0.115%
Vienna 12,640 14 0.111%
MSK 129,068 174 0.135%
Athens 7,976 6 0.075%
Barcelona 105,724 72 0.068%
Basel 65,218 13 0.020%

最高与最低相差约 8 倍——attribution 字段是强混杂因子(见 §6.5 坑点 7)。

§2.6 金标准/参考标准

标签层 规模 确定方式 金标准性质
恶性(strong-label) 393 张 3D-TBP 采集前后 3 个月内初次活检的组织病理报告(黑色素瘤/BCC/SCC) 组织病理学,医学金标准;原位与侵袭性黑色素瘤合并编码为 melanoma
良性(strong-label) 约 561 张 同上(活检证实良性:黑色素细胞性 443、表皮增生 83、纤维组织细胞 15、血管 3、囊肿 2 等) 组织病理学
良性(weak-label) 399,991 张 临床推定:从未活检、未被医生标记为 biopsied/excised、在高危患者全身检查中被皮肤科医生判为不可疑 临床共识(非病理),存在漏诊残余风险
不确定(indeterminate) 114 张 活检后诊断未定(AK 39、黑色素细胞性 75) 组织病理学但良恶未定
患者级元数据 1,042 名 各中心 EHR/登记系统导出 行政记录
LV 派生特征(tbp_lv_*) 全量 Canfield Lesion Visualizer 算法自动测量 机器测量(专有算法,口径见 §4.1)

标签强度的工程含义:393 张恶性是"铁板钉钉"的病理标签;而 99.9% 的良性侧本质是"医生没觉得可疑所以没活检"——这与真实筛查的 ground truth 结构完全一致(真实世界也不可能给每颗痣做活检),但意味着良性侧存在不可消除的残余标签噪声。官方用 MONET 嵌入模型审计了 strong/weak 标签间的近重复泄漏(<5% 配对被移除),任何严肃实验都不应跳过对这一设计的理解(见 §6.5 坑点 2)。


§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
发表论文 / 与 ISIC 2024 文献和 Kaggle 方案对齐 SLICE-3D 完整版(CC-BY-NC) 图 1.2 GB + 元数据 47 MB 全量 401,059 图、全部七中心、30+ LV 特征;竞赛与 npj 复盘的标准口径;仅限非商业研究
商业产品原型 / 宽松许可需求 SLICE-3D Permissive(CC-BY) 图 623 MB + 元数据 25 MB 217,477 张,来自 MSK/UQ/Athens(CC-BY)与 MIA(CC-0);可商用但少了 Barcelona/Vienna/Basel 三家中心,恶性样本相应减少
复现 Kaggle 竞赛 / 跑公开 baseline Kaggle 竞赛打包 HDF5 + CSV train-image.hdf5 + train-metadata.csv,与 2,739 支队伍的公开 Notebook 生态直接兼容
快速调通管道 / 教学 Kaggle 公开 Notebook + 小子集抽样 自定义 免下载整包,Kaggle 免费 GPU 直接跑(见 §6.0)

一句话结论:做研究用完整版(CC-BY-NC),要商用切 Permissive 版,复现竞赛用 Kaggle 打包。

§3.1 模态详细说明

SLICE-3D 包含两大模态:

  1. 皮损裁剪影像(tiles):以每颗皮损为中心的 15mm×15mm 视野 JPEG 裁剪图,从 Vectra WB360 的 3D 全身重建中自动导出。物理视野恒定(15mm),但像素分辨率可变——平均约 133×133 px,随皮损距相机角度与距离浮动。官方建议:涉及距离/面积的计算一律用毫米(元数据中的物理量),不要用像素。图像质量刻意对标智能手机近摄——不含皮肤镜的偏振放大细节,这是设计而非缺陷:它模拟的是基层医生或患者自行拍照的场景。照明分两种:非偏振白光(115,156 张,28.7%)与交叉偏振光(285,903 张,71.3%),是图像间色调差异的最大技术来源。
  2. 结构化元数据:每张 tile 一行,含患者人口学(age_approx, sex)、解剖部位(anatom_site_general)、临床尺寸(clin_size_long_diam_mm,AI 近似值)、光照类型(tbp_tile_type)、ISIC-DX 诊断层级(iddx_full / iddx_1-5)、恶性标签(target),以及 30 余个 Lesion Visualizer 派生的物理测量特征(tbp_lv_* 系列:面积 mm²、周长 mm、短轴 mm、LAB 内外色差、色调、边缘不规则度、颜色不对称性、对称轴角度、离心率、痣置信度、DNN 病灶置信度、3D 坐标 x/y/z 等)。

§3.2 样本量拆分

子集 图像数 患者数 恶性数 说明
SLICE-3D 完整版(竞赛训练集) 401,059 1,042 393 CC-BY-NC;七中心
— 其中恶性(strong-label) 393 393 病理确诊:BCC 163 / SCC 73 / Mel 157
— 其中不确定 114 AK 39 / 黑色素细胞性 75
— 其中良性 strong-label 约 561 病理证实良性
— 其中良性 weak-label 399,991 临床推定 NOS
SLICE-3D Permissive 217,477 子集 子集 CC-BY;MSK/UQ/Athens/MIA 四源
竞赛隐藏测试集 约 500,000 未公开 未公开 未公开发布;含 Alfred Hospital 与 FNQH Cairns 两家训练集之外的新中心;private leaderboard 用其中约 72%
全竞赛合计 >900,000 npj 2025 官方口径

恶性构成(393 张)

诊断 计数 占比
基底细胞癌(BCC) 163 41.5%
黑色素瘤——原位 80 20.4%
黑色素瘤——侵袭性 63 16.0%
黑色素瘤——NOS 14 3.6%
鳞状细胞癌(SCC) 73 18.6%

§3.3 数据格式详情

形态 格式 说明
ISIC 官方发布 JPEG + CSV challenge2024.isic-archive.com:图像包 1.2 GB、补充元数据 40 MB、标签 7 MB(三个独立下载)
Permissive 版 JPEG + CSV 同站:图像 623 MB、元数据 21 MB、标签 4 MB
Kaggle 打包 HDF5 + CSV train-image.hdf5(图像字节按 isic_id 索引)+ train-metadata.csv;测试集仅 1 张占位图(提交走 Kaggle 推理 API 逐批喂图)
ISIC Archive 主站 在线图库 collection 390(api.isic-archive.com/collections/390/),支持 isic-cli 批量拉取;主站元数据可能随 Data Dictionary 更新微调

§3.4 存储大小

版本 图像包 元数据 标签 合计(约)
SLICE-3D 完整版 1.2 GB 40 MB 7 MB 1.25 GB
SLICE-3D Permissive 623 MB 21 MB 4 MB 0.65 GB
解压后工作目录(含派生特征) 建议预留 5 GB

磁盘压力极小——这个数据集的难度不在"大",而在"不平衡"与"弱标签"。

§3.5 标注方式

标注流水线分四层(对应 §3.10 溯源链):

  1. 病灶识别:双通道——(a) 临床医生在 DermaGraphix 中手工标记(manual tags,22,058 张,5.5%,metadata 中 lesion_id 非空即人工标记,常用于关联活检);(b) Lesion Visualizer AI 自动检出(94.5%),仅导出估计直径 >2.5mm 者。
  2. 标签赋予:恶性侧 100% 为 strong-label——与 3D-TBP 采集前后 3 个月内初次活检病理报告关联;活检超出 3 个月窗口、或标记为已活检却找不到病理报告的样本被剔除。
  3. 良性推定:其余皮损保留为 weak-label(NOS,临床推定良性)。
  4. 质控:全部 tile 经人工视觉审查,剔除 PHI 残留与软件误检(指关节、乳头、肚脐、纹身等);精确重复检测为零;用 MONET 嵌入模型审查 strong-label 与其最近邻 weak-label,同一病灶的 weak-label 近重复被移除(<5% 配对)。

§3.6 标注者资质

环节 执行者 资质/依据
人工病灶标记 各中心临床医生 皮肤癌高危筛查专科(MSK、MIA 等均为顶级中心)
病理诊断(strong-label) 各中心病理科 ISIC-DX 共识诊断层级(Delphi 流程制定的国际共识分类体系)
良性推定(weak-label) 接诊皮肤科医生 高危患者标准诊疗流程中的全身皮肤检查
自动病灶检出与测量 Canfield Lesion Visualizer 研究用 AI 工具;nevi_confidence CNN 训练于约 57,000 个皮肤科医生标注病灶
隐私与误检审查 ISIC 策展团队 人工逐张审查

§3.7 数据采集时间范围

2015-2024 年回顾性收集。未公开逐年分布;各中心加入 WB360 监测项目的时间不同(Basel 数据来自 NCT04605822 注册试验)。

§3.8 地理覆盖

三大洲七家中心(训练集)+ 两家仅测试集中心(Alfred Hospital 墨尔本、FNQH Cairns 凯恩斯,均未公开)。按图像量排序:MSK 纽约 129,068 > Barcelona 105,724 > Basel 65,218 > Brisbane 51,768 > Sydney 28,665 > Vienna 12,640 > Athens 7,976。高危专科筛查人群,非普通人群——这既是质量保证(恶性均为病理确诊),也是泛化边界(见 §7.3)。

§3.9 采集设备规格

组件 规格 说明
成像系统 Canfield Vectra WB360 3D 全身摄影(3D-TBP)系统
相机阵列 92 台固定相机(46 对立体相机对) 一次瞬时拍摄覆盖全身可见皮肤表面
光源 氙气闪光灯 支持交叉偏振(XP)与非偏振白光双照明
重建软件 DermaGraphix 3D 体表重建、病灶标记与随访管理、关联病理报告
病灶检测 Lesion Visualizer(研究用) AI 自动检出 + 形态/颜色/对称性/置信度量化
导出工具 ISIC2024 Tile Export Tool 15mm×15mm FOV 居中裁剪;为每颗病灶选最正交视角源照片以最小化畸变;不做提取后预处理
平均像素 约 133×133 px / tile 可变;物理 FOV 恒定 15mm

§3.10 深度溯源链

环节 系统/方法 关键转换
1. 临床场景 七家皮肤癌高危中心的 WB360 监测项目(2015-2024) 高危患者按诊疗常规接受全身 3D 摄影;活检决策由临床医生裁量
2. 图像采集 Vectra WB360:92 相机 + 氙气闪光,白光/交叉偏振双照明 一次拍摄生成全身 3D 体表重建(含全部可见皮损)
3. 病灶识别与标记 医生 DermaGraphix 手工标记(5.5%)+ Lesion Visualizer AI 自动检出(94.5%,>2.5mm) 每颗病灶获得 3D 坐标(tbp_lv_x/y/z)与 LV 量化特征
4. 标签关联 活检病理报告 ↔ 3D-TBP 采集时间 ±3 个月窗 strong-label(恶性 393 + 良性约 561);窗口外或无报告者剔除或保留为 weak-label
5. 裁剪导出 ISIC2024 Tile Export Tool 15mm FOV 居中 tile;最正交视角;15mm 小视野本身即第一层隐私保护
6. 去标识与质控 元数据 PHI 刮除 + 人工逐张审查 + MONET 近重复审计 剔除 PHI/误检/标签泄漏近重复(<5%)
7. 发布 challenge2024 站点(双许可)+ Kaggle + ISIC Archive collection 390 CC-BY-NC 完整版 / CC-BY Permissive 版;DOI 永久存档

§4 数据结构详解

§4.0 目录结构预览

ISIC 官方三个下载包解压后建议整理为:

slice3d/
├── train-image/                     # 401,059 张 JPEG(文件名 = isic_id.jpg)
│   ├── ISIC_0000000.jpg
│   ├── ISIC_0000001.jpg
│   └── ...
├── train-metadata.csv               # 401,059 行 × 50+ 列(Kaggle 同名文件,含 target)
├── supplemental-metadata.csv        # 401,059 行 LV 补充属性(交叉验证用)
├── permissive/
│   ├── train-image/                 # 217,477 张 JPEG(CC-BY 子集)
│   ├── train-metadata.csv
│   └── supplemental-metadata.csv
└── LICENSE.txt                      # CC-BY-NC 4.0 / CC-BY 4.0 文本

Kaggle 打包形态(复现竞赛时):

isic-2024-challenge/
├── train-image.hdf5                 # 图像字节流,key = isic_id
├── train-metadata.csv               # 与官方一致,含 target 列
├── test-image.hdf5                  # 1 张占位图(线上推理 API 逐批喂真实测试图)
├── test-metadata.csv
└── sample_submission.csv            # isic_id,target

§4.1 DAIMS 标准化字段描述表

标识与诊断字段

字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
isic_id TEXT ISIC Archive 唯一图像 ID(= 文件名) “ISIC_0000001” 主键 不允许缺失 ISIC_ + 7 位数字
patient_id TEXT 脱敏患者 ID “IP_8624506” 分组划分唯一合法键 不允许缺失 编码字符串
lesion_id TEXT 病灶 ID(人工标记专属) “IL_0285519” 识别 manual tags;关联多次拍摄同一病灶 人工标记位置有偏差 空 ≈ 自动检出病灶(信息性缺失) 编码或空
attribution TEXT 来源中心 “Memorial Sloan Kettering Cancer Center” 混杂因子控制/域泛化 不允许缺失 七家中心名
copyright_license TEXT 单图许可 “CC-BY-NC” 许可过滤(商用筛 CC-BY/CC-0) 不允许缺失 CC-BY-NC / CC-BY / CC-0
iddx_full TEXT 完整诊断文本 “Melanoma Invasive, NOS” 细粒度任务派生 病理报告措辞差异 weak-label 为 “Benign, NOS” ISIC-DX 文本
iddx_1 … iddx_5 TEXT ISIC-DX 诊断层级第 1-5 级 “Melanocytic proliferations” → “Malignant” → “Melanoma” 多级分类/层级损失 层级越深缺失越多 深层级为空(诊断未细分,信息性缺失) ISIC-DX 层级值
mel_thick_mm FLOAT 黑色素瘤侵袭厚度(mm) 0.8 预后研究(样本极少) 病理测量 非侵袭性黑色素瘤为空(结构性缺失) ≥0 或空
mel_mitotic_index TEXT 有丝分裂指数 “1/mm²” 预后研究(样本极少) 病理测量 同上 分级文本或空
target INT 恶性二分类标签 0 核心靶标 良性侧 99.9% 为弱标签 不允许缺失 0 / 1

患者与采集字段

字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
age_approx FLOAT 成像时约龄 65.0 强协变量(年龄是皮肤癌首要风险因子) 约龄取整到 5 1.2% 为空 0-90
sex TEXT 患者性别 “male” 协变量/公平性 登记误差 3.2% 未知 male / female / 空
anatom_site_general TEXT 解剖部位(6 类) “posterior torso” 强协变量;患者内分层 人工归类 1.4% 未知 head/neck、torso anterior/posterior、upper/lower extremity、空
clin_size_long_diam_mm FLOAT 病灶长径(mm,AI 近似) 4.2 强特征(冠军方案 top 特征) 边界不清病灶不可靠 部分为空 0-50
tbp_tile_type TEXT 源图照明方式 “3D: XP” 光照混杂控制 不允许缺失 “3D: white” / “3D: XP”

Lesion Visualizer 派生字段(tbp_lv_*,机器测量,节选核心项)

字段名 数据类型 说明 典型范围 AI 用途与注意
tbp_lv_areaMM2 FLOAT 病灶面积(mm²) 0.5-500 大小特征;与 perimeterMM 派生圆整度
tbp_lv_perimeterMM FLOAT 周长(mm) 3-80 同上
tbp_lv_minorAxisMM FLOAT 短轴直径(mm) 0.5-20 细长比 = 长径/短轴
tbp_lv_area_perim_ratio FLOAT 周长/面积比(边缘锯齿度代理) 0-10 边界不规则性
tbp_lv_norm_border FLOAT 边缘不规则度(归一化) 0-10 ABCD 规则之 B
tbp_lv_norm_color FLOAT 颜色变化(归一化) 0-10 ABCD 规则之 C
tbp_lv_color_std_mean FLOAT 颜色不规则度 0-10 与 norm_color 冗余度高
tbp_lv_radial_color_std_max FLOAT 径向颜色不对称性 0-10 不对称性代理
tbp_lv_symm_2axis / _angle FLOAT 双轴对称性评分与角度 0-10 / 角度 ABCD 规则之 A
tbp_lv_deltaL/A/B FLOAT 病灶内外 LAB 平均色差 依通道 病灶-背景对比
tbp_lv_deltaLBnorm FLOAT 病灶与周围皮肤归一化对比度 5.5-25 强特征(npj 2025 重要性靠前)
tbp_lv_L/A/B/C、stdL 及 ext 后缀 FLOAT 病灶内(无后缀)/外(ext)LAB、Chroma 及标准差 依通道 颜色分布建模;内/外成对使用
tbp_lv_H / Hext FLOAT 病灶内/外色调 25(红)-75(棕) 色素定性
tbp_lv_Eccentricity FLOAT 椭圆离心率 0-1 形状
tbp_lv_nevi_confidence FLOAT 痣置信度(CNN,0-100) 0-100 强特征;训练于约 5.7 万皮肤科医生标注病灶
tbp_lv_dnn_lesion_confidence FLOAT DNN 病灶检出置信度(0-100) 0-100 检出质量代理;勿与 nevi_confidence 混淆(坑点 6)
tbp_lv_Location / location_simple TEXT 解剖位置(详细/简易) 与 anatom_site_general 交叉验证
tbp_lv_x / y / z FLOAT 病灶在 3D 体表重建中的坐标 患者内空间分布/对称分析

§4.2 标签分布统计

口径 计数 占比 说明
恶性(target=1) 393 0.098% 全部 strong-label
非恶性(target=0) 400,666 99.902% 良性 400,552 + 不确定 114(Kaggle 口径并入 0)
良性 weak-label(NOS) 399,991 99.73% 未活检临床推定
良性 strong-label 约 561 0.14% 病理证实
恶性:非恶性 1 : 1,019 本数据集第一数字特征
恶性中黑色素瘤 157 / 393 40.0% 原位 80 + 侵袭 63 + NOS 14
人工标记占比 22,058 5.5% lesion_id 非空者

§4.3 关键字段描述性统计

  • 人均皮损数:401,059 / 1,042 ≈ 385 张(高危多发痣人群特征,患者内上下文建模的数据基础)。
  • 恶性患者集中度高:393 张恶性分布在各中心的少数患者身上,SEtop-15 指标按患病患者等权以避免多癌患者主导。
  • 照明:交叉偏振 71.3% / 白光 28.7%,两模态色调分布显著不同。
  • 尺寸:自动检出仅含 >2.5mm 病灶;人工标记无下限。
  • 部位:躯干前后合计 52.3%,四肢 43.3%——与高危筛查的全身覆盖一致。

§4.4 数据层级关系

患者(patient_id,1,042 名)
  └─ 拍摄会话(一次 WB360 全身照;可多次随访,但时间戳未公开)
      └─ 病灶(lesion_id 仅人工标记者;自动检出无跨会话病灶级 ID)
          └─ tile 图像(isic_id,401,059 张;每 tile 一颗中心病灶)
              ├─ 元数据行(train-metadata.csv)
              └─ LV 特征组(tbp_lv_*,同表内列)

三个工程要点:

  1. 没有 visit/时间戳列——同一患者多次随访的图像只能靠 3D 坐标(tbp_lv_x/y/z)近似聚类,纵向变化分析受限。
  2. 自动检出的病灶无 lesion_id——无法跨会话追踪同一颗痣;人工标记(5.5%)才有病灶级 ID。
  3. 相邻病灶可能入镜:tile 边缘常出现邻近皮损,元数据永远对应最靠近画面中心的那颗(官方 Usage Notes 明示)。

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

缺失类型 字段示例 缺失原因 信息性缺失编码 对 AI 的影响
结构性缺失 mel_thick_mm、mel_mitotic_index 仅侵袭性黑色素瘤适用 非侵袭性病变为空(不适用) 不可填充;仅预后子研究使用
诊断深度缺失 iddx_3-5 weak-label 无病理细分 良性 NOS 深层级为空 细粒度分类只能用 strong-label 子集
标记方式标识 lesion_id 自动检出病灶无此 ID 空 ≈ 自动检出(二值信息本身) 可作"标记通道"特征;也提示标签强度
随机缺失 age_approx(1.2%)、sex(3.2%)、anatom_site(1.4%) 登记不全 未知即缺失 直接置缺失类别或中位数填充均可
机器测量缺失 部分 tbp_lv_* LV 算法在个别 tile 上失败 算法不可算 GBDT 原生处理缺失;深度模型需填充
不可恢复缺失 肤色(skin tone) 回顾性收集未记录 整列不存在 公平性分析的硬边界(§7.1/§7.4)

§5 数据划分与使用建议

§5.1 官方数据划分

官方不发布 train/validation/test 划分,测试集完全不公开。 ISIC 2024 竞赛的隐藏测试集(约 50 万张,private leaderboard 取其中约 72% 评分)包含 Alfred Hospital 与 FNQH Cairns 两家训练集中不存在的新中心,赛后亦未释放。这意味着:(1) 所有本地实验必须自行在 401,059 张训练集内做交叉验证;(2) 与竞赛排行榜的可比性只能通过 Kaggle 在线提交获得;(3) 论文中的"test"一般指作者自行划分的留出集,不同论文间数字不可直接比较(见 §8.1 注意)。

§5.2 推荐划分策略

  1. Stratified Group KFold(按 patient_id 分组 + 按 target 分层)——唯一正确的默认选择。冠军方案与绝大多数 top 队伍均用 5 折 StratifiedGroupKFold。393 个阳性在 5 折下每折约 78 个,仍具统计意义;切忌更少的折数。
  2. 必须患者级分组:人均 385 张图,同一患者的皮损在外观、肤色背景、设备参数上高度相关,随机划分会让模型"记住患者"——排行榜级别的泄漏(见 §6.5 坑点 3)。
  3. 多 seed 稳定性验证:阳性极少导致 CV 方差大。冠军方案的做法:10 个不同 seed 跑同一 CV,用配对 t 检验(scipy.stats.ttest_rel)判断改动是否显著,避免被单 seed 噪声误导。
  4. 按中心留一验证(leave-one-center-out):评估跨中心泛化的零成本方案——Basel 恶性率仅 0.02%,其折内阳性可能只有个位数,解读时注意置信区间。
  5. 光照分层检查:保证每折内 tbp_tile_type 两种模态比例大致一致,避免某折恰好全偏振光。
import pandas as pd
from sklearn.model_selection import StratifiedGroupKFold

meta = pd.read_csv("train-metadata.csv")
sgkf = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=42)
for fold, (tr, va) in enumerate(sgkf.split(meta, meta["target"], groups=meta["patient_id"])):
    assert not set(meta.iloc[tr].patient_id) & set(meta.iloc[va].patient_id)  # 患者级零泄漏
    print(f"fold {fold}: val_pos={meta.iloc[va].target.sum()}, "
          f"val_n={len(va)}, prevalence={meta.iloc[va].target.mean():.5f}")

§5.3 数据泄漏风险防御

# 泄漏模式 严重程度 防御措施
1 不按 patient_id 分组(人均 385 图,同人皮损高度相似) 极高 StratifiedGroupKFold(groups=patient_id),划分后断言患者集合零交集
2 weak-label 与 strong-label 同灶近重复(同一颗痣先被推定良性、后活检确诊) 官方已用 MONET 审计移除 <5%,但残余风险仍在;跨折复核 patient_id + 3D 坐标
3 患者级特征在全数据上计算(如患者均值、LOF)再用折内数据训练 所有患者级聚合特征必须仅在训练折内拟合,再变换验证折
4 外部 ISIC 皮肤镜数据与训练集含同一病灶的皮肤镜/tile 双版本 用外部数据预训练时按 attribution + 坐标近似去重,或仅做预训练不做特征
5 合成数据(Stable Diffusion 恶性图)与真实恶性近重复 合成图只进训练折;用嵌入模型抽查与验证折阳性的最近邻距离

§5.4 交叉验证建议

  • 标准:5 折 StratifiedGroupKFold × 多 seed(≥3,理想 10),报告 pAUC 均值 ± 标准差。
  • 折内阳性约 78 个:任何宣称"<0.001 pAUC 提升"的结论都低于噪声水平,用配对 t 检验或 bootstrap 验证。
  • 消融/特征重要性实验必须与冠军方案同款协议(5 折 80/20,图像+元数据双分支),否则无法与 npj 2025 消融结果对照。

§5.5 外部验证

  • 官方隐藏测试集不可获得——最权威的"外部验证"是 Kaggle 赛后提交(post-competition submission 仍可打分)。
  • 学术外部验证路径:ISIC 2020 皮肤镜集(跨模态迁移,预期显著掉点)、PAD-UFES-20(巴西手机照片,最接近的真实世界外部集)、MILK10k(ISIC 2024 后续基准平台,2025-08 开放提交)。
  • 跨许可迁移注意:Permissive 版训练、完整版验证是合法且常用的组合(反向则引入 CC-BY-NC 数据到商业管道,违规)。

§6 AI 就绪指南

§6.0 云端快速启动

零配置体验:Kaggle 竞赛页(https://www.kaggle.com/competitions/isic-2024-challenge/)自带免费 GPU(T4×2,每周 30 小时配额),数据已挂载,无需下载。搜索公开 Notebook “ISIC 2024 | Only Tabular Data”(@greysky)——仅用元数据 + LightGBM 即可在 20 分钟内得到 pAUC 约 0.16-0.17 的强基线,这也是冠军方案的起点。

本地最小路径:下载官方 1.2 GB 图像包 + 7 MB 标签 → §6.1 代码 10 分钟跑通首个 GBDT 模型。磁盘需求 <5 GB,纯 CPU 可完成表格基线;图像模型需 ≥16 GB 显存 GPU。

§6.1 快速上手

# ========================================
# SLICE-3D 快速上手 — 元数据 GBDT 基线(纯 CPU,10 分钟)
# 环境要求: pandas, scikit-learn, lightgbm
#
# ⚠️ 目录结构预期:
#   ./slice3d/
#   ├── train-image/            # 401,059 张 JPEG(本基线不读图)
#   └── train-metadata.csv      # 元数据 + target 列
#
# 关键约定:
#   1. 分组键永远是 patient_id(人均 385 图,随机划分必泄漏)
#   2. 评测指标是 pAUC(TPR>=0.80),不是 AUC、不是 accuracy
#   3. 114 张 indeterminate 在 Kaggle target 中为 0——本示例沿用
# ========================================
import numpy as np
import pandas as pd
import lightgbm as lgb
from sklearn.model_selection import StratifiedGroupKFold
from sklearn.metrics import roc_auc_score

meta = pd.read_csv("./slice3d/train-metadata.csv")

def pauc_above_tpr80(y_true, y_prob):
    """竞赛官方指标:TPR>=0.80 区段的部分 AUC,满分 0.2。"""
    # sklearn 的 roc_auc_score(max_fpr=...) 从特异性侧计算;
    # TPR>=0.80 等价于 FPR 从最小到 (1-特异性下限)——直接用社区标准实现:
    from sklearn.metrics import roc_curve
    fpr, tpr, _ = roc_curve(y_true, y_prob)
    mask = tpr >= 0.80
    if mask.sum() < 2:
        return 0.0
    return np.trapezoid(tpr[mask] - 0.80, fpr[mask])  # 面积 = (TPR-0.80) dFPR

FEATURES = ["age_approx", "clin_size_long_diam_mm", "tbp_lv_areaMM2",
            "tbp_lv_perimeterMM", "tbp_lv_minorAxisMM", "tbp_lv_deltaLBnorm",
            "tbp_lv_norm_border", "tbp_lv_norm_color", "tbp_lv_radial_color_std_max",
            "tbp_lv_nevi_confidence", "tbp_lv_dnn_lesion_confidence",
            "tbp_lv_symm_2axis", "tbp_lv_Eccentricity"]

X, y, groups = meta[FEATURES], meta["target"], meta["patient_id"]
sgkf = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=42)
scores = []
for tr, va in sgkf.split(X, y, groups):
    model = lgb.LGBMClassifier(n_estimators=800, learning_rate=0.03,
                               scale_pos_weight=20)  # 不平衡补偿起点
    model.fit(X.iloc[tr], y.iloc[tr])
    prob = model.predict_proba(X.iloc[va])[:, 1]
    scores.append(pauc_above_tpr80(y.iloc[va].values, prob))
    print(f"fold pAUC: {scores[-1]:.5f}  full-AUC: {roc_auc_score(y.iloc[va], prob):.4f}")
print(f"CV pAUC(TPR>=80%): {np.mean(scores):.5f} ± {np.std(scores):.5f}")

§6.2 数据获取流程

获取方式 链接/位置 大小 流程
官方完整版(CC-BY-NC) https://challenge2024.isic-archive.com/ 1.2 GB + 47 MB 直接下载(Training Data / Supplemental Metadata / Ground Truth 三个包),无需申请;引用须按 DOI 10.34970/2024-slice-3d 署名
Permissive 版(CC-BY) 同上页面 623 MB + 25 MB 直接下载;DOI 10.34970/2024-slice-3d-permissive 署名;可商用
Kaggle 打包 https://www.kaggle.com/competitions/isic-2024-challenge/data ~1.2 GB 注册 Kaggle + 接受竞赛规则(赛后仍可取数);HDF5 格式
ISIC Archive 主站 api.isic-archive.com/collections/390/ 在线 isic-cli 批量下载;主站元数据为活动版本

许可合规要点:完整版含 Barcelona/Vienna/Basel 三家 CC-BY-NC 数据,任何商业用途(含公司内部模型)须切 Permissive 版或逐中心获取授权;两版均要求署名(CC 的 BY 条款),发表时按 §9 引用。竞赛规则额外禁止将测试预测用于其他用途(赛后规则以 Kaggle 页面为准)。

§6.3 预处理 Pipeline

<details>
<summary><b>点击展开完整的 5 步预处理代码(图像 + 元数据双分支)</b></summary>

# 步骤 1:读元数据,确立标签口径(393 恶性 / 400,666 非恶性,含 114 indeterminate=0)
import pandas as pd, numpy as np
meta = pd.read_csv("train-metadata.csv")
print(meta["target"].value_counts())          # 0: 400666, 1: 393
meta["is_manual"] = meta["lesion_id"].notna() # 人工标记通道特征(5.5%)

# 步骤 2:患者级分组划分(任何特征工程之前!)
from sklearn.model_selection import StratifiedGroupKFold
sgkf = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=42)
folds = list(sgkf.split(meta, meta["target"], groups=meta["patient_id"]))

# 步骤 3:患者级上下文特征(只在训练折内 fit —— 丑小鸭征的核心实现)
def add_patient_features(train_df, val_df):
    num_cols = ["tbp_lv_areaMM2", "tbp_lv_deltaLBnorm", "clin_size_long_diam_mm",
                "tbp_lv_norm_color", "tbp_lv_nevi_confidence"]
    stats = train_df.groupby("patient_id")[num_cols].agg(["mean", "std"])
    stats.columns = [f"pt_{c}_{s}" for c, s in stats.columns]
    for df in (train_df, val_df):
        df = df.join(stats, on="patient_id")
        for c in num_cols:  # 相对值:这颗痣比该患者平均大多少/反常多少
            df[f"{c}_rel"] = df[c] - df[f"pt_{c}_mean"]
        df["patient_lesion_count"] = df["patient_id"].map(
            train_df["patient_id"].value_counts())
    return train_df, val_df

# 步骤 4:图像解码(Kaggle HDF5 形态 → 统一边长的 letterbox)
import h5py, io
from PIL import Image
def load_image(hdf5_path, isic_id, size=224):
    with h5py.File(hdf5_path, "r") as f:
        img = Image.open(io.BytesIO(f[isic_id][()]))
    return img.resize((size, size))  # 注意:resize 破坏像素-毫米对应,物理尺寸一律用元数据

# 步骤 5:光照模态归一(白光与交叉偏振分开标准化,或统一走 XP 子集)
meta["is_xp"] = (meta["tbp_tile_type"] == "3D: XP").astype(int)
# 保守做法:首版模型只在 XP 子集(71.3%)上训练,白光作为域偏移测试

</details>

§6.4 框架加载

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

class Slice3DDataset(Dataset):
    """图像 + 元数据双分支 Dataset(PyTorch)。"""
    def __init__(self, df, img_dir, tab_feats, transform=None):
        self.df, self.img_dir = df.reset_index(drop=True), img_dir
        self.tab_feats, self.transform = tab_feats, transform
    def __len__(self):
        return len(self.df)
    def __getitem__(self, i):
        r = self.df.iloc[i]
        img = Image.open(f"{self.img_dir}/{r.isic_id}.jpg").convert("RGB")
        if self.transform:
            img = self.transform(img)
        tab = torch.tensor(r[self.tab_feats].fillna(0).values, dtype=torch.float32)
        return img, tab, torch.tensor(r.target, dtype=torch.float32)

# 不平衡采样:恶性全部保留,良性按 1:N 欠采样(冠军方案 N≈20-50 区间调优)
from torch.utils.data import WeightedRandomSampler
w = np.where(df["target"] == 1, 30.0, 1.0)   # 恶性权重 ×30
loader = DataLoader(Slice3DDataset(df, "./slice3d/train-image", TAB_FEATS),
                    batch_size=64, sampler=WeightedRandomSampler(w, len(df)),
                    num_workers=8, pin_memory=True)
# TensorFlow / Keras 等价路径(tf.data)
import tensorflow as tf
ds = tf.data.Dataset.from_tensor_slices((paths, tab_values, labels))
ds = ds.map(load_and_augment, num_parallel_calls=tf.data.AUTOTUNE)
ds = ds.shuffle(10_000).batch(64).prefetch(tf.data.AUTOTUNE)
# 类别权重
class_weight = {0: 1.0, 1: 1019.0}  # 全权重太极端,实战取 20-100 配合采样

§6.5 常见坑点

⚠️ 坑点 1:1:1,019 极端不平衡——accuracy 与常规 AUC 都是陷阱指标(分类:评估误用)

问题:恶性率 0.098%。全部预测良性的"模型"accuracy 高达 99.90%;即便全 AUC 0.95,在 TPR≥80% 的高灵敏度区段表现也可能一塌糊涂——而筛查场景唯一关心的恰是这个区段。

症状:本地 accuracy/AUC 很漂亮,Kaggle 提交 pAUC 却只有 0.05-0.10(满分 0.2);模型把全部样本压到低概率区,高灵敏度段完全没有排序能力。

解决:(1) 评测只用 pAUC(TPR≥80%)(§6.9 给出官方实现),全 AUC 仅作辅助诊断;(2) 训练用欠采样(良性 1:20-50)或 scale_pos_weight=20-100,切忌 1:1,019 全权重;(3) 输出校准后再排序,pAUC 对高段排序敏感。

参考:Kaggle 竞赛 Evaluation 页;npj 2025 复盘(DOI: 10.1038/s41746-025-02070-7)。

⚠️ 坑点 2:99.9% 良性是弱标签——把"未活检"当"病理阴性"会高估模型(分类:标签理解)

问题:399,991 张良性为 weak-label(NOS),即"医生没觉得可疑所以没活检"。它们不是病理阴性;其中混有漏诊恶性(真实世界同构)。把 weak-label 当金标准做阈值调优或错误分析,结论必然失真。

症状:模型在约 561 张病理确诊良性上的表现显著差于全量良性;top-K"假阳性"里反复出现形态高度可疑的皮损——其中一些可能是真·漏标。

解决:(1) 错误分析与阈值选择优先在 strong-label 子集(393 恶性 + 约 561 病理良性)上做;(2) 把 lesion_id 非空/活检状态作为样本权重或置信度信号;(3) 论文中必须声明良性侧标签性质,禁止写"ground truth benign";(4) 训练损失可对 weak-label 做标签平滑(ε≈0.01-0.05)。

参考:SLICE-3D 描述论文 Methods 与 Technical Validation 节(DOI: 10.1038/s41597-024-03743-w)。

⚠️ 坑点 3:患者级数据泄漏——人均 385 张图,随机划分必翻车(分类:数据泄漏)

问题:1,042 名患者贡献 401,059 张图。同一患者的皮损共享肤色背景、拍摄参数、体质特征。按行随机划分后,模型靠"认出患者"即可在验证集获得虚高性能。

症状:本地 CV pAUC 比 Kaggle public 高 0.02-0.05;同一模型换成 GroupKFold 后性能明显"缩水"——缩水部分就是泄漏。

解决:(1) 一律 StratifiedGroupKFold(groups=patient_id),划分后断言患者集合零交集(§5.2 代码);(2) 患者级聚合特征(均值、LOF、计数)只在训练折内拟合;(3) 外部预训练数据与本集做同灶去重。

参考:冠军方案 write-up(Kaggle ISIC 2024 discussion);§5.3 泄漏模式表。

⚠️ 坑点 4:光照双模态混杂——白光 28.7% vs 交叉偏振 71.3%(分类:偏倚陷阱)

问题:tbp_tile_type 是图像间色调差异的最大技术来源(官方 Usage Notes 明示)。两种照明下 LAB 色度分布系统性不同,LV 颜色特征与图像像素同时受影响;若恶性样本在两模态间分布不均,模型可能学到"光照=恶性"的伪相关。

症状:按 tbp_tile_type 分层评估,两子集 pAUC 差距 >0.01;颜色类特征重要性异常高但跨模态不稳定。

解决:(1) 保守路线:只用 “3D: XP” 子集训练(71.3%,色调最标准化),白光作域偏移测试;(2) 全量路线:分两模态做标准化或在模型中加入模态嵌入;(3) 报告指标必须分模态分层。

参考:描述论文 Usage Notes;cait-2025-0021 预处理复现(仅保留 XP 子集的做法)。

⚠️ 坑点 5:像素 ≠ 物理尺度——15mm FOV 恒定但分辨率可变(分类:预处理陷阱)

问题:tile 物理视野恒为 15mm×15mm,像素平均约 133×133 但随拍摄角度/距离浮动。统一 resize 到 224×224 后,"10 像素"在不同 tile 上对应不同物理长度;clin_size_long_diam_mm 又是 AI 近似值,边界不清病灶上不可靠。

症状:用像素尺寸做特征与 tbp_lv_areaMM2 对不上;按像素阈值过滤"过小病灶"误伤远距离拍摄的正常痣。

解决:(1) 一切尺寸/距离计算用毫米字段(clin_size_long_diam_mm、tbp_lv_areaMM2/perimeterMM/minorAxisMM);(2) 像素-毫米换算系数 = 15 / 图像像素边长,逐图计算;(3) resize 仅用于网络输入,不用于任何定量分析。

参考:描述论文 Usage Notes(“use relative pixel distances”)。

⚠️ 坑点 6:tbp_lv_ 特征为专有算法输出——两个 confidence 极易混淆*(分类:工程陷阱)

问题:tbp_lv_nevi_confidence(“这是一颗痣的把握”,CNN,训练于约 5.7 万皮肤科医生标注)与 tbp_lv_dnn_lesion_confidence(“这里有一颗病灶的检出把握”)语义完全不同;LV 为 Canfield 专有研究工具,口径不透明且个别 tile 上输出缺失。

症状:把 dnn_lesion_confidence 当恶性特征喂模型,重要性分析得出反直觉结论;填充缺失时把"算法失败"与"低置信"混为一谈。

解决:(1) 逐字段对照 §4.1 字典确认语义;(2) 缺失单独建模(GBDT 原生支持;深度模型加缺失指示位);(3) 特征重要性结论须在 npj 2025 消融框架下复核(其把 LV appearance 特征作为独立特征类消融)。

参考:npj 2025 消融研究(Table 1 特征分类);描述论文 Table 1。

⚠️ 坑点 7:attribution 是强混杂因子——中心恶性率相差约 8 倍(分类:偏倚陷阱)

问题:Basel 恶性率 0.020% vs Brisbane 0.156%。模型若学到"来源中心→恶性先验",等于用流行病学先验替代视觉证据;跨中心部署时先验失效,性能崩塌。attribution 还部分决定许可(Barcelona/Vienna/Basel = CC-BY-NC)。

症状:留出某一中心验证时 pAUC 显著低于随机 CV;特征重要性中 attribution 独热编码排名靠前。

解决:(1) 训练时显式去混杂——不给模型 attribution,或用留一中心 CV 监控;(2) 评估报告分中心 pAUC;(3) 用因果视角解读:中心的活检阈值与人群不同本身就是数据生成机制。

参考:§2.5 中心恶性率表(描述论文 Table 3 口径)。

⚠️ 坑点 8:Public/Private 排行榜鸿沟——过拟合 public LB 是本届竞赛最流行的失败方式(分类:评估误用)

问题:private 用约 72% 隐藏测试数据评分,含训练集中不存在的新中心(Alfred、FNQH Cairns)。冠军 public 约 0.186 vs private 0.173;多名高 public 选手 private 大幅掉队(排行榜大洗牌)。

症状:public LB 每改必涨、private 结算暴跌;本地 CV 与 public 走势背离。

解决:(1) 以多 seed 本地 GroupKFold CV 为主决策依据(冠军用 10 seed + 配对 t 检验),public LB 只做最终确认;(2) 测试中包含对新中心泛化的代理评估(留一中心 CV);(3) 提交预算留给 CV 最稳的方案而非 public 最高的方案。

参考:Kaggle 官方收官公告(3,407 参与者 / 78,645 提交 / 排行榜清洗说明);冠军 write-up 中"降 p 值阈值依赖 public"的自我批评。

版本提示:ISIC Archive 主站(collection 390)的元数据随 Data Dictionary 更新可能微调(如 2026-04 解剖部位层级更新);challenge2024 站点的存档包不受影响。引用数字时以 DOI 存档版为准。

§6.6 数据增强

✅ 安全增强 ❌ 危险增强(禁止)
水平/垂直翻转(皮损无方向先验) 任何改变病灶-背景对比度的强色彩抖动(deltaLBnorm 是核心语义)
小角度旋转(±30°)与轻微缩放 弹性形变(扭曲边缘形态,norm_border 类特征失真)
亮度/对比度微扰(模拟白光-偏振差异) 跨光照模态的风格迁移(白光↔XP 互转会污染模态标签)
合成恶性样本(Stable Diffusion 等生成模型,冠军方案验证有效) 合成图泄漏进验证集(只能进训练折)
Mixup/CutMix 仅在同患者内使用 跨患者 Mixup(制造不存在的"混合患者",破坏分组纯洁性)
恶性侧过采样 + 良性欠采样组合 SMOTE 作用于 tbp_lv_* 特征(物理量插值无意义)

§6.7 模型推荐

任务 推荐方案 关键配置 预期性能(pAUC@TPR80,满分 0.2)
快速基线(纯 CPU) LightGBM + §4.1 核心 LV 特征 欠采样 1:30,5 折 GroupKFold 约 0.14-0.16
强基线 GBDT 三件套(CatBoost+LGBM+XGBoost)rank 平均 + 患者级特征 冠军表格分支配置 约 0.16-0.17
图像单模态 EVA02-small / EdgeNeXt(timm) 224-336px,ImageNet 预训练,恶性过采样 约 0.12-0.15
冠军架构(复现) GBDT × 3 + EVA02 + EdgeNeXt 双分支 + 患者上下文 + 合成数据 见 §8.1 第 1 名 0.1726(private)/ 约 0.186(public)
外部数据增强 EVA02 先用 ISIC 皮肤镜历史数据预训练再微调 tile npj 2025 消融中确认增益 +0.005-0.01
教学演示 仅 nevi_confidence + deltaLBnorm + 年龄 3 特征 LR 课堂 30 分钟全流程 约 0.10-0.13

§6.8 计算资源需求

硬件 最小配置 推荐配置
磁盘 5 GB(官方包 + 工作区) 20 GB(含 HDF5、派生特征、合成数据)
内存 8 GB(元数据全量入内存 <2 GB) 32 GB(图像解码 + 特征工程)
GPU 不需要(GBDT 基线) 1 × 16 GB(EVA02-small 336px 微调);2 × T4(Kaggle 免费额度可复现 top 方案)
训练时间 GBDT 全量 <20 分钟(CPU) 图像模型 5 折约 4-12 小时/架构
云端替代 Kaggle Notebooks(免费 T4×2) Colab Pro / 单卡 A10G

§6.9 评估指标

竞赛官方指标为 pAUC above 80% TPR:仅对 ROC 曲线上 TPR≥0.80 的区段计算部分 AUC,理论满分 0.2(该区段 TPR 跨度恰为 0.2)。社区标准实现(Kaggle 公开 Notebook 共识版):

import numpy as np
from sklearn.metrics import roc_auc_score

def pauc_tpr80(y_true, y_prob, min_tpr=0.80):
    """ISIC 2024 官方评测指标(社区标准实现,与评测服务一致)。"""
    # 利用对偶关系:TPR>=t 区段的 AUC = 对"翻转标签"在 max_fpr=1-t 下的 partial AUC
    v_gt = np.abs(np.asarray(y_true) - 1)
    v_pred = -1.0 * np.asarray(y_prob)
    max_fpr = 1 - min_tpr
    partial_auc_scaled = roc_auc_score(v_gt, v_pred, max_fpr=max_fpr)
    # 去 McClish 标准化(sklearn 默认对 partial AUC 做了标准化,需还原)
    partial_auc = 0.5 * max_fpr**2 + (max_fpr - 0.5 * max_fpr**2) / (1.0 - 0.5) * (partial_auc_scaled - 0.5)
    return partial_auc

次要指标(npj 2025 定义,论文报告建议一并给出):SEtop-15(患者级 top-15 敏感性,按患病患者等权)、NNT80%SE / NNT90%SE(达到 80%/90% 敏感性时平均需转诊的皮损数,类比皮肤科 NNB)。辅助诊断:全 AUC、分中心/分光照分层 pAUC。禁止单独报告 accuracy / F1(坑点 1)。

§6.10 MLOps 笔记

  • 引用合规:CC-BY-NC 的 BY 条款要求按 DOI 10.34970/2024-slice-3d 署名(见 §9);模型卡中须声明训练数据含弱标签(99.9% 良性未病理确诊)。
  • 版本锚定:论文统一引用 challenge2024 存档版 + Scientific Data 描述论文(10.1038/s41597-024-03743-w);若用 ISIC Archive 主站活动版,记录下载日期。
  • 推理口径:竞赛提交为 isic_id → target 概率;生产化时 pAUC 指标无法逐样本计算,部署监控建议用患者级 SEtop-15 代理。
  • 模型登记:Kaggle Models 上已有多个 top 方案权重(竞赛鼓励赛后发布模型);复用前核对其训练数据许可(含 CC-BY-NC 者不可商用)。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
弱标签偏倚 99.9% 良性未经病理确诊,"未活检≈良性"继承医生活检决策偏误 strong-label 子集做错误分析;弱标签标签平滑
选择偏倚(人群) 全部为皮肤癌高危专科筛查人群(多发痣、随访监测),非普通人群 部署到普通人群前必须外部验证(如 PAD-UFES-20)
中心混杂 恶性率跨中心相差约 8 倍;中心与设备、人群、活检阈值共线 留一中心 CV;不给模型 attribution
肤色缺失 肤色未被记录;来源人群以白皙肤色为主 高(公平性) 无法内部缓解;论文必须声明,部署前做肤色分层外部验证
光照模态偏倚 白光/交叉偏振色调分布系统性不同 分模态标准化或仅用 XP 子集
检测阈值偏倚 自动检出仅含 >2.5mm 病灶(人工标记除外),小病灶(含早期黑色素瘤)系统性欠采样 声明下限;小病灶性能单独评估
视角选择偏倚 每病灶仅导出最正交视角一张 tile,斜视角/遮挡情况缺失 视为标准化流程的一部分
时间偏倚 2015-2024 回顾性收集,WB360 软硬件迭代不可控 无时间戳可用,只能声明

§7.2 标注质量评估

标注类型 可靠性 一致性 局限性
恶性(393,病理确诊) 极高(组织病理金标准,±3 个月窗) ISIC-DX Delphi 共识层级 不区分原位/侵袭建模标签(合并为 melanoma)
良性 strong-label(约 561) 高(病理证实) 同上 样本太少,单独评估统计功效低
良性 weak-label(399,991) 中高(专科医生全身检查推定) 未量化评估者间一致性 含不可知漏诊;MONET 审计仅覆盖 strong-weak 近重复
不确定(114) 病理确诊但良恶未定 Kaggle 并入 target=0,口径需声明
LV 机器测量(tbp_lv_*) 机器一致性强 专有算法,口径不透明 极端形态 tile 上存在缺失/失效
隐私审查 人工逐张 官方质控流程 残余 PHI 风险不可绝对排除

§7.3 泛化性讨论

场景 失效风险 证据
跨中心(训练七中心 → 新中心) 中高 竞赛隐藏测试集含 Alfred/FNQH Cairns 两家新中心,public→private 普遍掉分约 0.01-0.015
跨模态(3D-TBP tile → 皮肤镜) 皮肤镜模型在精选皮损上训练,npj 2025 明示其"可能难以泛化到分诊任务";反向同理
跨画质(WB360 → 真实智能手机) tile 刻意对标手机近摄,但 WB360 的标准化光照仍优于真实手机;无公开的真手机外部验证
跨人群(高危筛查 → 普通人群/深肤色) 高危人群恶性富集 + 肤色未记录;深肤色人群性能完全未知
跨任务(分诊 → 诊断) 133px/15mm 分辨率不含皮肤镜结构细节,无法支撑"诊断"级结论

§7.4 伦理考量

  1. 数据来自七国真实皮肤癌高危患者,均经各中心 IRB/HREC 批准(MSK 16-974、Barcelona HCB/2023/0213、Vienna 1996/2023、Sydney X20-0241、Basel 2020-02482/NCT04605822 等);回顾性数据经伦理委员会豁免或知情同意。
  2. 隐私保护的设计哲学值得学习:不共享全身照,15mm 小视野 tile 在源头上切断身份识别面;元数据刮除 PHI;人工逐张审查残余 PHI 与误检。
  3. 肤色未记录是双刃剑:避免了敏感属性滥用,但也使"算法是否对深肤色人群失效"无法回答——部署方负有外部验证义务。
  4. 分诊模型的失败不对称:漏诊(假阴性)代价远高于误转(假阳性)。pAUC@TPR80 指标设计体现了这一伦理权重,任何把指标改成 accuracy 的"优化"都是伦理倒退。
  5. CC-BY-NC 许可禁止商业使用完整版;商业分诊产品请用 Permissive 版或逐中心授权——这本身就是对患者数据主权的尊重机制。

§7.5 公平性评估

可用分层变量:性别(sex)、年龄组(age_approx)、解剖部位、中心(attribution)、光照模态。不可用:肤色(未记录)——这是本数据集公平性分析的硬边界。

from fairlearn.metrics import MetricFrame
from sklearn.metrics import roc_auc_score

frame = MetricFrame(
    metrics={"AUC": roc_auc_score},
    y_true=y_val, y_pred=y_prob,
    sensitive_features=meta_val["sex"]        # 或 age 分箱 / attribution / tbp_tile_type
)
print(frame.by_group)
# 已知差异线索(竞赛社区与 npj 2025):
# - 头颈部恶性占比相对高但 tile 少(3.0%),亚组置信区间宽
# - 白光 vs XP 子集间存在系统性指标差(坑点 4)
# - 中心亚组间差异显著(坑点 7),attribution 分层是泛化审计的核心

§7.6 数据漂移提示

  • 训练分布锚定 2015-2024 年 WB360 设备输出;Vectra 硬件/DermaGraphix 软件升级会引入采集漂移,部署到新批次 WB360 数据前建议重校验 LV 特征分布(PSI 监控 tbp_lv_* 与像素统计)。
  • 监测人群变化(筛查指南更新、人群结构变化)会改变恶性先验(0.1%),按先验校准过的阈值需定期重校准。
  • 若管道混入皮肤镜外部数据,注意皮肤镜集自身的选择偏倚漂移(精选可疑皮损)与 tile 分布的长期背离。

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

# 检查项 状态 说明
1 数据为宽格式(每行一个样本/事件) 一 tile 一行,CSV 直接可读
2 有唯一标识符列 isic_id(图像级)+ patient_id + lesion_id(部分)
3 无 Unicode 或特殊字符问题 字段名全 ASCII 规范命名
4 无重复行 精确像素比对零重复;MONET 近重复审计移除 <5%
5 缺失值已识别并编码 §4.5 信息性缺失编码表(lesion_id 空=自动检出等)
6 标签列被明确标识 target 二分类 + iddx 五级诊断层级
7 已对罕见类别(<3%)进行分组 恶性合并为二分类靶标(原层级的 157/163/73 可在 iddx 中还原)
8 偏倚评估已完成 §7.1 八类偏倚(官方论文亦明示选择/弱标签偏倚)
9 有完整的数据字典 描述论文 Table 1 全字段定义 + ISIC Archive Data Dictionary
10 对"信息性缺失"有明确编码解释 §4.5(lesion_id 空、iddx 深层级空、mel_thick 不适用)
11 数据采集设备和设置已记录 §3.9(WB360/92 相机/双照明/导出工具链完整记录)
12 已移除完全共线性变量 ⚠️ 未执行:norm_color 与 color_std_mean 等 LV 特征高度冗余,需自行降维
13 对编码的映射标准已说明 ISIC-DX 共识诊断层级(Delphi);本文 §2.1/§2.2 提供 ICD-11/SNOMED CT 映射
14 对时间戳的处理已明确说明 ⚠️ 采集年份区间已声明(2015-2024),但无 tile 级时间戳,纵向分析受限
15 训练/验证/测试划分建议已给出 ⚠️ 官方无划分、测试集不公开;社区共识(StratifiedGroupKFold)补位
16 数据泄漏风险已被讨论 官方 MONET 同灶近重复审计 + 本文 §5.3 五类泄漏模式
17 标签分布已被分析 §4.2(含分中心恶性率、强弱标签分层)
18 选择性测量偏倚已被讨论 >2.5mm 检出阈值、活检决策偏误、最正交视角选择(§7.1)
19 外部验证建议已给出 §5.5/§7.8(Kaggle 赛后提交、PAD-UFES-20、MILK10k)
20 数据更新和版本信息已记录 DOI 永久存档 + 主站活动版区分说明
21 最小必要预处理脚本已提供 官方 github.com/ISIC-Research/2024-challenge-dataset + Kaggle 数百公开 Notebook
22 合规使用要求已明确 CC-BY-NC/CC-BY 双许可 + 逐图 copyright_license 字段 + 署名 DOI
23 多模态对齐方法已说明 图像-元数据行级一一对应(isic_id 主键);3D 坐标支持患者内空间对齐
24 去标识化方法已被记录 15mm FOV 隐私设计 + PHI 刮除 + 人工审查 + MONET 审计全记录

DAIMS 评分:20.5 / 24

评分解读优秀——文档化、隐私工程与合规设计均为当代医疗影像数据集的第一梯队;主要失分在无公开测试集/官方划分、LV 特征冗余未降维、tile 级时间戳缺失。

对你意味着什么:SLICE-3D 的 21 个 ✅ 中,最难得的是第 4、16、24 项——绝大多数数据集声称"已去重/已脱敏",SLICE-3D 是极少数用 MONET 嵌入模型量化审计近重复并公布移除率(<5%)的数据集,这套隐私工程值得所有医学影像发布者抄作业。三个 ⚠️ 项的应对:(1) 无官方划分 → 直接用 §5.2 的 StratifiedGroupKFold 社区共识协议,与 2,700+ 队伍结果可比;(2) LV 特征冗余 → GBDT 不受影响,深度模型先做相关性剪枝;(3) 无时间戳 → 纵向研究请绕道(选 BD-SCAN 等随访型数据集)。扣分项全部"有成熟的社区补位方案",不影响开箱训练。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部测试集变化 关键发现
ISIC 2024 隐藏测试集(含 Alfred Hospital、FNQH Cairns 两家新中心) Kaggle/ISIC(约 50 万张,private 取 72%) 恶性二分类 冠军 pAUC 0.17264(private)vs 约 0.186(public) 约 -0.013(-7%) 唯一官方外部验证;新中心 + 弱标签结构导致排行榜大洗牌,本地 CV 稳定者受益
ISIC 皮肤镜历史数据(预训练→tile 微调) ISIC Archive 恶性二分类 npj 2025 消融:外部数据预训练的 EVA 分支有正增益 不适用(训练侧迁移) 跨模态迁移预训练有效、直接零样本无效——皮肤镜特征需经 tile 域适配
患者内上下文消融(库内准外部) npj 2025 官方消融 恶性二分类 加入患者上下文特征类后 pAUC 确定性提升 N/A "丑小鸭征"建模范式被官方证实优于此前发表的单图方法
PAD-UFES-20(巴西手机照片) 巴西 UFES 恶性二分类(社区实验) 无同行评审共识数值 预期显著下降 最接近的真实世界外部集;公开文献中尚缺标准化对照结果

约束说明:本数据集 2024 年才发布,经同行评审的标准化外部验证研究仍少;上表第 4 行标注为社区实验口径。竞赛隐藏测试集是目前唯一具有官方效力的外部验证,其"训练外新中心 + public/private 鸿沟"结构本身就是最诚实的泛化性证据。


§8 基准性能与生态

§8.1 排行榜(ISIC 2024 Kaggle 竞赛)

排行榜口径:private leaderboard(约 72% 隐藏测试数据),指标 pAUC@TPR80(满分 0.2)。竞赛 2024-09-06 关闭,成绩已冻结;赛后提交仍可打分但不改变奖牌归属。

排名 参赛者 private pAUC 年份 关键技术 完整引用 代码
1 Ilya Novoselskiy 0.17264 2024 CatBoost/LGBM/XGBoost 三件套 rank 集成(150 模型)+ EVA02-small & EdgeNeXt 图像分支 + 患者级 LOF 特征 + Stable Diffusion 合成恶性 + 10-seed 5 折 GroupKFold Kaggle ISIC 2024 1st Place Solution write-up(2024-09,竞赛官方 writeup) https://github.com/ilyanovo/isic-2024
2 Yakiniku 0.17243 2024 GBDT + CNN 集成(公开 writeup) Kaggle ISIC 2024 2nd Place writeup Kaggle 竞赛 Code 区
3 KS 0.17229 2024 GBDT + 图像集成 Kaggle ISIC 2024 3rd Place writeup 同上
4 DungNB 0.17225 2024 特征工程 + GBDT 集成 Kaggle ISIC 2024 4th Place writeup 同上
5 Kanna Hashimoto friends 2 0.17210 2024 GBDT + 图像集成 Kaggle ISIC 2024 5th Place writeup 同上
8 Ujjwal Pandey 0.17158 2024 公开 Notebook 方案 Kaggle ISIC 2024 8th Place writeup 同上

头部拥挤度:第 1-10 名差距不足 0.0013——顶级分层下胜负由 CV 稳定性与集成纪律决定,而非单点架构创新。

赛后学术复现(口径与竞赛不同,数值不可与上表直接比较)

工作 自报 pAUC 关键技术 完整引用
Hasan & Rifat 混合集成 0.1755(自报口径) EVA02 + 自研 EdgeNeXtSAC + 分割辅助分类 + GBDT + Stable Diffusion 合成 + 外部数据重标定 Hasan MZ, Rifat FY. arXiv:2506.03420 (2025-06)
npj 2025 官方复现冠军方案 复现确认有效 2×EVA(其一外部皮肤镜预训练)+ EdgeNeXt + 3×GBT + 患者上下文;5 折 80/20 Kurtansky NR et al. npj Digital Medicine 8:708 (2025). DOI: 10.1038/s41746-025-02070-7

数值比较警告:(1) 竞赛分数基于不可获得的隐藏测试集,任何本地"test"分数都不等于排行榜分数;(2) arXiv 自报分数多基于作者自行划分,恶性样本划分稍有不同即不可比;(3) 引用性能数字时必须同时注明口径(private/public/本地 CV)。

§8.2 SOTA 总结与选型建议

如果你… 推荐方案 为什么
复现/对齐竞赛结果 冠军架构:GBDT 三件套 + EVA02/EdgeNeXt + 患者特征 + 10-seed CV 官方消融背书(npj 2025);代码开源
快速出论文基线 纯元数据 GBDT(§6.1) 20 分钟 pAUC 约 0.16,已超多数图像单模态
验证新方法(不平衡/合成数据/上下文建模) 固定 §5.2 协议 + 报告 pAUC ± std 与 2,700+ 队伍同一坐标系
商业原型 Permissive 版 + 纯表格 GBDT CC-BY 合规;部署成本最低
研究患者级建模 患者上下文特征 + SEtop-15 指标 npj 2025 证实的确定性增益方向

§8.3 官方评测协议

  • 主指标:pAUC above 80% TPR(满分 0.2),对隐藏测试集在线评分;private 用约 72% 测试数据。
  • 次要奖指标:SEtop-15(患者级 top-15 敏感性,患病患者等权)。
  • npj 2025 补充指标:NNT80%SE / NNT90%SE(转诊效率)。
  • 提交格式:isic_id,target(恶性概率),Kaggle 推理 API 逐批喂图(防测试集泄露)。
  • 规则要点:禁止手工标注测试集、禁止外部账号共享;赛后官方清洗了违规队伍。
数据集 关系 说明
SLICE-3D Permissive 官方子集 217,477 张,CC-BY(MSK/UQ/Athens)+ CC-0(MIA),商业可用
HAM10000(ISIC 2018) 前代标杆 10,015 张皮肤镜 7 类;SLICE-3D 的"对照组"——精选 vs 无差别、皮肤镜 vs 手机级
ISIC 2020 前代竞赛 33,126 张皮肤镜;首次引入患者级去重与 pAUC 类指标
ISIC 2024 隐藏测试集 官方测试集 约 50 万张,含两家新中心,不公开
MILK10k 后继基准 ISIC 2024 之后的基准平台,2025-08 开放提交与排行榜
PAD-UFES-20 外部验证候选 巴西基层智能手机照片,2,298 张 6 类病理确诊
Derm7pt 互补 皮肤镜+临床照片双视图 2,022 张,7 点结构化标注

§8.5 关键论文 Top 10

  1. Kurtansky NR et al. (2024), Scientific Data 11:884. “The SLICE-3D dataset: 400,000 skin lesion image crops extracted from 3D TBP for skin cancer detection.” — 数据集本体,权威引用入口。DOI: 10.1038/s41597-024-03743-w
  2. Kurtansky NR et al. (2025), npj Digital Medicine 8:708. “Automated triage of cancer-suspicious skin lesions with 3D total-body photography.” — 官方竞赛复盘:患者内上下文增益、特征消融、SEtop-15/NNT 指标定义。DOI: 10.1038/s41746-025-02070-7
  3. Tschandl P, Rosendahl C, Kittler H (2018), Scientific Data 5:180161. HAM10000——理解 SLICE-3D 设计动机的必读前史(精选皮肤镜集的选择偏倚正是 SLICE-3D 要解决的问题)。DOI: 10.1038/sdata.2018.161
  4. Esteva A et al. (2017), Nature 542:115-118. “Dermatologist-level classification of skin cancer with deep neural networks.” — 皮肤 AI 的奠基论文(Inception v3 皮肤镜分类)。
  5. Codella NCF et al. (2018), IEEE TBME. ISIC 2018/HAM10000 挑战赛总结——ISIC 竞赛系列评测传统的确立。
  6. Rotemberg V et al. (2021), JAMA Dermatology. ISIC 2020 挑战赛数据集与患者级去重——SLICE-3D 患者上下文建模的直接先声。
  7. Hasan MZ, Rifat FY (2025), arXiv:2506.03420. 混合集成复现:EVA02+EdgeNeXtSAC+GBDT+合成数据,自报 pAUC 0.1755——赛后社区最优公开复现之一。
  8. Tschandl P et al. (2020), Nature Medicine. “Human–computer collaboration for skin cancer recognition.” — 人机协作框架,分诊场景的临床定位参考。
  9. Combalia M et al. (2022), JID. Validation of a 3D-TBP 临床研究线——WB360 在高危人群监测中的临床证据基础。
  10. Betz-Stablein B et al. (2022), Cancers. 3D-TBP 影像分析综述——Vectra WB360 技术体系与皮损自动检出的系统梳理。

§8.6 社区活跃度

维度 数据
Kaggle 竞赛参与 3,410 名参赛者 / 2,739 支队伍 / 13,149 注册(截至 2024-09 收官)
提交量 约 79,000 次(102 个国家;614 人首次参赛)
奖金 $80,000,8 个金牌位
描述论文引用 38+(OpenAlex,截至 2026-09);FWCI 9.431(98.76 百分位)
公开 Notebook/代码 冠军等 top 方案全部开源(Kaggle Code 区 + GitHub)
后续研究 arXiv 复现与方法论文持续增长(2025-06 起)
基准延续 MILK10k 平台 2025-08 开放,承接 ISIC 评测体系

§8.7 生态快照

资源 类型 链接 规模(截至 2026-09) 为什么值得关注
Kaggle ISIC 2024 竞赛页 竞赛 https://www.kaggle.com/competitions/isic-2024-challenge/ 3,410 参赛者 数据+评测+2,700 队方案的一站式入口
ilyanovo/isic-2024 冠军代码 https://github.com/ilyanovo/isic-2024 top-1 官方消融的复现对象,三层 stacking 教科书
ISIC-Research/2024-challenge-dataset 官方代码 https://github.com/ISIC-Research/2024-challenge-dataset 官方 数据集构建/导出工具链(Python 3.10)
ISIC Archive 图库 https://www.isic-archive.com/ collection 390 在线浏览、isic-cli 批量下载、Data Dictionary
challenge2024 存档站 官方下载 https://challenge2024.isic-archive.com/ 双版本 CC-BY-NC/CC-BY 永久存档 + 官方引用格式
Kaggle 公开 Notebook “Only Tabular Data” 教程 Kaggle Code 区(@greysky) 高星 纯表格基线 20 分钟上手,冠军方案起点
MILK10k 排行榜 challenge2024.isic-archive.com/stats 2025-08 开放 后继基准平台,持续承接提交
npj 2025 复盘 论文 https://doi.org/10.1038/s41746-025-02070-7 官方方法论:上下文建模 + 消融 + 分诊指标

§9 相关资源与引用

官方资源

BibTeX 引用

% 1) 数据集描述论文(期刊引用首选)
@article{kurtansky2024slice3d,
  title={The SLICE-3D dataset: 400,000 skin lesion image crops extracted from 3D TBP for skin cancer detection},
  author={Kurtansky, Nicholas R and D'Alessandro, Brian M and Gillis, Maura C and Betz-Stablein, Brigid and Cerminara, Sara E and others and Rotemberg, Veronica},
  journal={Scientific Data},
  volume={11}, number={1}, pages={884},
  year={2024}, doi={10.1038/s41597-024-03743-w}
}

% 2) 数据集本体(CC-BY-NC 署名条款要求,DOI 永久存档)
@misc{isic2024slice3d,
  author={{International Skin Imaging Collaboration}},
  title={SLICE-3D 2024 Challenge Dataset},
  year={2024}, doi={10.34970/2024-slice-3d},
  note={Creative Commons Attribution-NonCommercial 4.0 International License}
}

% 3) Permissive 版(CC-BY 署名条款要求)
@misc{isic2024slice3dpermissive,
  author={{International Skin Imaging Collaboration}},
  title={SLICE-3D 2024 Permissive Challenge Dataset},
  year={2024}, doi={10.34970/2024-slice-3d-permissive},
  note={Creative Commons Attribution 4.0 International License}
}

% 4) 官方竞赛复盘(引用竞赛结果/消融结论时)
@article{kurtansky2025triage,
  title={Automated triage of cancer-suspicious skin lesions with 3D total-body photography},
  author={Kurtansky, Nicholas R and Gillis, Maura C and Codella, Noel C F and others and Rotemberg, Veronica and Kose, Kivanc},
  journal={npj Digital Medicine},
  volume={8}, pages={708}, year={2025}, doi={10.1038/s41746-025-02070-7}
}

CC 许可的 BY 条款硬性要求第 2(或第 3)条署名——只用 Kaggle 打包数据而未署名 ISIC DOI 是常见违规点。

教程与学习资源

  • 冠军方案 write-up(Kaggle discussion,1st Place Solution):三层 stacking 的完整工程叙述
  • @greysky “ISIC 2024 | Only Tabular Data” 公开 Notebook:纯表格基线,最佳入门路径
  • npj 2025 复盘的 Methods 节:SEtop-15/NNT 指标与消融协议的操作定义
  • ISIC 皮肤影像分析研讨会系列(MICCAI 卫星会):历届挑战赛方法沉淀
  • DeepWiki 对 ilyanovo/isic-2024 的架构导览:冠军代码的导读地图

原始论文

  1. Kurtansky NR et al. (2024). “The SLICE-3D dataset: 400,000 skin lesion image crops extracted from 3D TBP for skin cancer detection.” Scientific Data 11:884. DOI: 10.1038/s41597-024-03743-w. PMID: 39143096. PMCID: PMC11324883.
  2. Kurtansky NR et al. (2025). “Automated triage of cancer-suspicious skin lesions with 3D total-body photography.” npj Digital Medicine 8:708. DOI: 10.1038/s41746-025-02070-7.
  3. Tschandl P, Rosendahl C, Kittler H (2018). “The HAM10000 dataset…” Scientific Data 5:180161. DOI: 10.1038/sdata.2018.161.

§10 AI 使用声明卡

§10.1 AI 模型使用

AI 模型 版本 用途
deep-model(WorkBuddy) 2026-09 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建
WebSearch/WebFetch(多源检索) 2026-09-06 6 组检索 + 2 篇全文提取:官方页面、Scientific Data 描述论文全文、npj 2025 复盘、Kaggle 排行榜与 writeup、引用量快照交叉验证

§10.2 AI 参与范围

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

AI 在本页面的工作中负责:(1) 从 challenge2024 官方站点、Scientific Data 描述论文(PMC11324883)、npj Digital Medicine 2025 复盘与 Kaggle 竞赛页中整理结构化信息;(2) 生成 §6 的 Python 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。

§10.3 输入来源

  1. Kurtansky NR et al. (2024), Scientific Data 11:884 — SLICE-3D 描述论文全文(DOI: 10.1038/s41597-024-03743-w,PMC11324883)
  2. challenge2024.isic-archive.com — 官方下载页、双许可文本、官方引用格式、中心与赞助名单
  3. Kurtansky NR et al. (2025), npj Digital Medicine 8:708 — 竞赛复盘与消融研究(DOI: 10.1038/s41746-025-02070-7)
  4. Kaggle ISIC 2024 竞赛页 — Leaderboard(private 前 18 名分数)、Evaluation、Data 描述
  5. Kaggle 官方收官公告(Elizabeth Park, 2024-09)— 3,407 参与者 / 2,737 队 / 78,645 提交 / 102 国口径
  6. Kaggle 1st Place Solution write-up(Ilya Novoselskiy)— 冠军方案架构与 CV 协议细节
  7. albumentations.ai 竞赛采用页 — 3,410 参赛者 / 2,739 队 / $80,000 / 8 金复核
  8. isic-archive.com 公告流 — 竞赛时间线(2024-06-27 开赛、09-06 关闭、79,008 提交)、2025-11 npj 复盘公告
  9. Hasan MZ, Rifat FY (2025), arXiv:2506.03420 — 赛后混合集成复现(pAUC 0.1755 自报口径)
  10. Sciendo cait-2025-0021 — SLICE-3D 预处理与 Vectra WB360/DermaGraphix/Lesion Visualizer 工具链复核
  11. OpenAlex W4401577856 / PlumX — 引用量快照(OpenAlex 38 / Scopus 26,FWCI 9.431)
  12. Tschandl P et al. (2018), Scientific Data 5:180161 — HAM10000 对比口径(DOI: 10.1038/sdata.2018.161)
  13. ilyanovo/isic-2024 GitHub 与 DeepWiki 导览 — 冠军代码结构
  14. GitHub krishnaura45/tbp-skin-detect 等社区方案 — pAUC 指标社区实现与 public/private 分差证据

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景(ICD-11/SNOMED 映射、人群统计、金标准) 千方病案医学编辑部 交叉审核 ✅ 已通过
§3 数据集规格(中心分布、双版本、设备链) 千方病案医学编辑部 与 challenge2024 官方页面及描述论文交叉比对 ✅ 已验证
§4 数据结构(tbp_lv_* 字典、强弱标签口径) 千方病案医学编辑部 与 Scientific Data 论文 Table 1 交叉比对 ✅ 已验证
§5 数据划分策略 千方病案医学编辑部 交叉审核 ✅ 已通过
§6 代码示例与坑点 千方病案医学编辑部 逻辑审查 + 与冠军 writeup 及社区 Notebook 比对 ✅ 已通过
§7 质量评估与 DAIMS 评分 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 排行榜与引用数表述 千方病案医学编辑部 与 Kaggle 排行榜及 OpenAlex/Scopus 快照交叉比对 ✅ 已验证
§C JSON-LD @graph 千方病案医学编辑部 Schema v3.9 字段逐项校验 ✅ 已通过

§10.5 AI 生成章节标注

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

§10.6 最后审核

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

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

返回 AI-Ready 数据集