信息速览

Derm7pt — 皮肤镜七点检查法多模态数据集 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | Derm7pt |
| 英文全称 | Derm7pt: A Dermatology Dataset with Seven-Point Checklist Criteria Labels |
| 别名 / 简称 | derm7pt、7-Point Checklist Dataset、SFU 七点皮肤镜数据集 |
| 疾病分类 | ICD-11:2C30 皮肤黑色素瘤 / 2E63.0 皮肤原位黑色素瘤 / 2C32 皮肤基底细胞癌 / 2F20 良性黑素细胞痣 / 2F21 脂溢性角化病 |
| SNOMED CT | 372244006 Malignant melanoma / 254701007 Basal cell carcinoma of skin / 254599003 Seborrhoeic keratosis / 49409001 Dermatofibroma(详见 §2.2) |
| 数据模态 | 影像(皮肤镜图像 + 临床照片)+ 结构化元数据(七点检查标注、诊断、患者与皮损属性) |
| AI 任务类型 | 图像多标签分类、多模态融合分类、概念瓶颈/可解释分类、图像检索 |
| 样本总数 | 1,011 例皮损病例 / 2,045 张图像(每例 1 张皮肤镜图 + 配对临床照片,4 例缺临床照片) |
| 数据大小 | 官方未标注压缩包大小(release_v0.zip 内含 2,045 张 JPEG,单机磁盘即可容纳) |
| 数据格式 | JPEG(皮肤镜约 1024×683 px)/ CSV(meta.csv + train/valid/test 索引) |
| 许可证 | CC BY-NC-ND 4.0(署名—非商业—禁止演绎) |
| 访问级别 | 注册后开放(Google 表单申请后即时获得下载密码) |
| DUO 标签 | HMB, NPUNCU |
| 语言 | 英文(标签与元数据) |
| 首发日期 | 2018-04-09(IEEE JBHI 论文在线发表,数据集站点同步上线) |
| 最后更新 | 2018-12(release_v0;此后官方无版本更新,GitHub 仓库仅文档级维护) |
| 发布机构 | Simon Fraser University 计算科学学院(Hamarneh 医疗影像分析组)& 意大利坎帕尼亚大学(那不勒斯)皮肤科 Argenziano 团队 |
| 官方主页 | http://derm.cs.sfu.ca |
| 下载地址 | http://derm.cs.sfu.ca/restricted/release_v0.zip(密码经 https://forms.gle/iPnCEVkUKYwWYALh9 获取) |
| DOI | 10.1109/JBHI.2018.2824327(数据集论文) |
| 引用次数 | 750+(Google Scholar,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 官方固定划分 + 官方 Python 加载器 + 许可证明确;扣分项:规模小、表单申请、标签口径复杂、年龄字段大量缺失 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、七点检查法临床定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(meta.csv 字段与七点标签口径)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与 Simon Fraser University、坎帕尼亚大学、EDRA 出版社及论文作者无任何商业利益关联。本页面不销售 Derm7pt 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Derm7pt 采用 CC BY-NC-ND 4.0 许可证——禁止商业用途、禁止演绎作品的再分发,使用时必须署名并引用 Kawahara et al. 2019 论文。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
Derm7pt 是 Simon Fraser University 与意大利皮肤科权威 Giuseppe Argenziano 团队于 2018 年联合发布的多模态皮肤病变数据集,包含 1,011 例病例、2,045 张图像——每例病例同时配有一张皮肤镜放大图像和一张临床特写照片,并附带结构化病例元数据。
它的独特价值在于把皮肤科医生的诊断思维过程变成了可训练的标签:数据集中的每一例都按照国际通行的"七点检查法"逐条标注了 7 项皮肤镜特征(色素网、蓝白幕、血管结构、色素沉着、条纹、点球、回归结构),而不仅仅是一个"良性/恶性"结论。这让 AI 模型第一次可以像皮肤科医生一样"先描述特征、再下诊断",直接催生了可解释皮肤病 AI 这一研究分支,被引 750 余次(截至 2026-09),并被 MONET 等基础模型选作概念标注评测集。
你可以用它来:训练一个会"解释自己判断依据"的黑色素瘤辅助诊断模型、评测多模态(皮肤镜+临床照片+元数据)融合算法、研究概念瓶颈(Concept Bottleneck)等可解释 AI 方法、或者把在 ISIC/HAM10000 上训练的模型拿到这里做外部验证。
§1.1 摘要
Derm7pt 的图像核心源自皮肤镜发展史上的经典教学资产——EDRA《Interactive Atlas of Dermoscopy》(Argenziano et al., 2000),该图集由奥地利格拉茨大学、意大利那不勒斯大学和佛罗伦萨大学三家欧洲医院联合采集,包含 1,039 张 1024×683 像素的皮肤镜图像。Kawahara 等人(Simon Fraser University,Hamarneh 医疗影像分析组)在此基础上为 1,011 例病例补齐了配对的临床照片与结构化元数据,将七点检查法标准逐项标注到每例病例上,以 release_v0 单一版本公开发布。数据集提供官方固定的 413 训练 / 203 验证 / 395 测试病例划分索引,诊断标签含 20 个细粒度子类(官方聚合为 BCC / NEV / MEL / MISC / SK 5 类),配套 GitHub 官方 Python 加载模块(Derm7PtDatasetGroupInfrequent)自动完成低频标签归并。论文提出的多任务多模态基线(双 Inception-V3 晚期融合)在测试集上取得诊断类别平均准确率 74.2%、七点标准平均 73.7%,此后 FusionM4Net(2022)、TFormer(2022)、SkinM2Former(WACV 2025)将该基准推进至诊断 77.85% / 综合 77.27%。
§1.2 战略价值分析
可解释 AI 范式维度:在 Derm7pt 之前,皮肤病 AI 几乎是"黑箱二分类"的代名词——输入一张皮肤镜图,输出一个恶性概率,医生无法知晓模型依据。Derm7pt 首次把皮肤科医生百年沉淀的"七点检查法"规则体系转化为机器可学习的逐概念标注,使"模型先预测临床概念、再由概念组合出诊断"的概念瓶颈(Concept Bottleneck)范式在皮肤病领域落地。2024 年 Nature Medicine 发表的 MONET 基础模型将 Derm7pt 列为核心概念评测集,2026 年 Scientific Reports 的 Derm7pt+ 研究又以粗糙集理论剖析其概念一致性——一个 2018 年的数据集在八年后仍在定义可解释皮肤病 AI 的研究议程,这在数据集迭代以月计的领域极为罕见。
多模态评测标准维度:Derm7pt 是皮肤病领域首个"皮肤镜 + 临床照片 + 患者元数据"三模态配对数据集,且给出了官方固定划分。在 HAM10000(仅皮肤镜)、ISIC 系列(单模态为主)统治的时代,它是唯一能让"多模态融合算法"公平竞技的标准场地:从 Kawahara 的晚期融合基线,到 FusionM4Net 的多阶段融合、TFormer 的纯 Transformer 层级融合、SkinM2Former 的三模态交叉注意力,七年间多模态融合架构的每一次方法论迭代都在这 1,011 例上接受检验。
小数据方法学维度:1,011 例、最小类别仅 42 例的规模,使 Derm7pt 成为"小数据 + 多标签 + 类别不平衡"这一医疗 AI 典型困境的标准试验场。在此之上发展的多任务损失组合、标签归并策略、多标签相关建模等技术,对所有标注昂贵的专科影像任务都有迁移价值。
§1.3 横向对比
| 数据集 | 图像数 | 模态 | 标注方式 | 核心差异化 |
|---|---|---|---|---|
| Derm7pt | 2,045(1,011 例) | 皮肤镜 + 临床照片 + 元数据 | 七点检查逐概念标注 + 20 子类诊断 | 唯一带临床规则概念标注的双模态基准 |
| HAM10000 | 10,015 | 仅皮肤镜 | 7 类诊断 | 大规模单模态分类标准集,无概念标注 |
| ISIC 2018-2024 系列 | 数千至 40 万 | 皮肤镜为主 | 诊断 + 部分分割掩码 | 规模最大、竞赛驱动,无双模态配对 |
| PH² | 200 | 仅皮肤镜 | 8 项皮肤镜特征 + 分割掩码 | 有概念标注但规模小、无双模态 |
| BCN20000 | 约 19,000 | 皮肤镜 | 8 类诊断 | 疑难病例为主,适合 OOD 评估 |
| SkinCon (Fitzpatrick17k 派生) | 3,230 | 临床照片 | 48 个专家概念 | 概念密度更高但仅临床照片 |
Derm7pt 的不可替代性在于三点:七点检查法这一国际临床标准的逐概念标注(PH² 的特征体系不同且仅 200 例)、皮肤镜与临床照片的逐例配对(HAM10000/ISIC 均无)、以及官方固定划分带来的七年可比文献链。
§1.4 版本演进时间轴
| 时间 | 事件 |
|---|---|
| 1998-12 | Argenziano et al. 在 Arch. Dermatol. 发表七点检查法(342 例,Arch Dermatol 134(12):1563-1570) |
| 2000 | EDRA《Interactive Atlas of Dermoscopy》出版(1,039 张皮肤镜图,Graz/Naples/Florence 三中心) |
| 2000s | 七点法阈值由 t=3 修订为 t=1 以提高黑色素瘤敏感性(Kawahara 论文引用文献 [8]) |
| 2017-10-31 | Kawahara et al. 论文投稿 IEEE JBHI |
| 2018-04-09 | 论文 IEEE Early Access 上线(DOI: 10.1109/JBHI.2018.2824327),数据集站点 derm.cs.sfu.ca 同步开放 |
| 2018-10-28 | GitHub 官方仓库 jeremykawahara/derm7pt 创建 |
| 2018-12 | release_v0 与仓库 LICENSE 定型,此后数据本体冻结 |
| 2019-03 | 期刊正式发表:IEEE JBHI 23(2):538-546 |
| 2020 | ISIC Workshop 多任务学习探索将 Derm7pt 作为标准多标签测试床 |
| 2022 | FusionM4Net(Information Fusion)与 TFormer 先后刷新多模态融合基准 |
| 2024-05 | MONET(Nature Medicine 30:1154-1165)将 Derm7pt 列为概念标注评测集 |
| 2025-01 | SkinM2Former(WACV 2025)以 77.27% 综合平均准确率居官方划分榜首 |
| 2026-03 | Derm7pt+(概念一致性清洗版)发布(github.com/gnapoles/Consistent-Derm7pt) |
| 2026-06 | Derm7pt+ 配套论文在 Scientific Reports 上线(Nápoles, Grau, Salgueiro) |
§1.5 典型 AI 应用场景
- 可解释黑色素瘤辅助诊断:先预测 7 项皮肤镜标准,再按七点评分规则推断黑色素瘤——输出可直接转化为皮肤科医师可读的结构化报告。
- 多模态融合算法评测:皮肤镜 + 临床照片 + 元数据三模态在官方固定划分上的标准竞技场,已有七年可比文献链(Kawahara→FusionM4Net→TFormer→SkinM2Former)。
- 概念瓶颈与概念一致性研究:305 个概念画像、已知概念-标签不一致案例,是研究 Concept Bottleneck Model 精度上限与概念学习的标准素材。
- 黑色素瘤模型外部验证:把在 ISIC/HAM10000 上训练的单模态模型拿到 Derm7pt 皮肤镜子集做零样本外测,检验跨域泛化。
- 图像检索与教学:多模态特征向量支持"按皮肤镜特征检索相似病例",是皮肤科住院医师七点法教学的数字化教具。
§2 医学背景
§2.1 ICD-11 疾病分类锚定
Derm7pt 覆盖色素性与非色素性皮肤病变的核心鉴别谱。其 5 个聚合诊断类到 ICD-11 的映射如下:
| 数据集标签 | 细粒度子类(例数) | ICD-11 对应 | 中文名称 |
|---|---|---|---|
| MEL | melanoma in situ(64)、<0.76 mm(102)、0.76-1.5 mm(53)、>1.5 mm(28)、metastasis(4)、melanoma 未特指(1) | 2C30 / 2E63.0 | 皮肤黑色素瘤 / 皮肤原位黑色素瘤 |
| BCC | basal cell carcinoma(42) | 2C32 | 皮肤基底细胞癌 |
| NEV | clark(399)、reed or spitz(79)、dermal(33)、blue(28)、congenital(17)、combined(13)、recurrent(6) | 2F20 | 良性黑素细胞痣(2F20.1 非典型痣、2F20.2 先天性痣) |
| SK | seborrheic keratosis(45) | 2F21 | 脂溢性角化病 |
| MISC | dermatofibroma(20)、lentigo(24)、melanosis(16)、vascular lesion(29)、miscellaneous(8) | 2F22 / EH90 等 | 皮肤纤维瘤、雀斑样痣等良性病变 |
临床口径提示:Derm7pt 的病例选择服务于"黑色素瘤鉴别诊断"这一教学与诊断场景——恶性病例(MEL 252 + BCC 42 = 294 例,占 29.1%)的占比远高于真实筛查人群(门诊可疑皮损中黑色素瘤检出率通常不足 5%),这是教学图集的典型谱系特征,建模与报告性能时必须声明(见 §7.1)。
§2.2 SNOMED CT 映射
| 数据集标签 | ICD-11 | SNOMED CT | SNOMED CT 术语 |
|---|---|---|---|
| MEL(黑色素瘤) | 2C30 / 2E63.0 | 372244006 | Malignant melanoma (disorder) |
| BCC(基底细胞癌) | 2C32 | 254701007 | Basal cell carcinoma of skin (disorder) |
| SK(脂溢性角化病) | 2F21 | 254599003 | Seborrhoeic keratosis (disorder) |
| MISC-皮肤纤维瘤 | 2F22 | 49409001 | Dermatofibroma (disorder) |
§2.3 疾病简介
皮肤癌是浅肤色人群中最常见的恶性肿瘤,其中黑色素瘤虽然发病率不占首位,却贡献了皮肤癌死亡的大多数——早期黑色素瘤的 5 年生存率超过 99%,而发生远处转移后骤降至约 35%(SkinM2Former 论文引述的流行病学数据),"早诊"几乎是唯一的生存率杠杆。皮肤镜检查(dermoscopy)是一种无创的偏振光放大成像技术,能揭示肉眼不可见的表皮下色素结构;有证据表明,对经验丰富的皮肤科医生而言,皮肤镜可将色素性皮损诊断准确性显著提升(Kittler et al., 2002,Kawahara 论文引用)。但对非专科医生,皮肤镜图像的判读学习曲线陡峭——这正是七点检查法(1998 年由 Argenziano 团队基于 342 例色素性皮损提出)的临床价值:把依赖经验的"模式分析"简化为 7 条可打分的规则,使住院医师也能达到可接受的诊断敏感性。Derm7pt 所做的事情,本质上是把这套"规则化的临床推理"翻译成机器可学习的标注体系。
§2.4 临床任务定义
| AI 任务 | 临床定义 | 标准参考 | 在 Derm7pt 中的操作化 |
|---|---|---|---|
| 皮损鉴别诊断 | 对可疑皮损给出良恶性与病种判断 | 皮肤科常规诊疗路径 | diagnosis 列,5 大类 / 20 细粒度子类 |
| 七点标准判读 | 逐项识别 7 个皮肤镜特征 | Argenziano et al. 1998 | 7 个多分类标签列(ABS/TYP/ATP 等) |
| 黑色素瘤筛查 | 七点总分 ≥ 阈值判为黑色素瘤 | 原始阈值 t=3,修订阈值 t=1 | seven_point_score 或由预测标准重算 |
| 诊断难度分级 | 专家对该病例诊断难度的主观分级 | 图集教学语境 | level_of_diagnostic_difficulty 元数据 |
| 处置决策记录 | 活检 / 切除 / 随访等处置 | 临床工作流 | management 元数据 |
七点检查法规则(临床原文口径):3 条主标准——非典型色素网(atypical pigment network)、蓝白幕(blue-whitish veil)、非典型血管结构(atypical vascular pattern)——每条计 2 分;4 条次标准——不规则条纹(streaks)、不规则色素沉着(pigmentation)、不规则点/球(dots and globules)、回归结构(regression structures)——每条计 1 分。总分 ≥3 诊断黑色素瘤(Argenziano 1998 原始阈值);后续修订将阈值降至 t=1 以优先保证敏感性(Kawahara 论文文献 [8])。
§2.5 患者人群特征
| 维度 | 特征 |
|---|---|
| 数据来源 | 三家欧洲大学附属医院:奥地利格拉茨大学、意大利那不勒斯大学、意大利佛罗伦萨大学(经 EDRA 教学图集汇集);发布方标注地域来源为意大利为主的欧洲人群 |
| 采集时间 | 1990 年代(图集 2000 年出版),2018 年由 SFU 整理发布 |
| 病例规模 | 1,011 例皮损病例(病例级,非患者级;无患者唯一标识字段) |
| 恶性占比 | 294 例恶性(MEL 252 + BCC 42)vs 717 例良性,恶性占 29.1% |
| 性别 | sex 字段全量可用;恶性组 F 160 / M 134,良性组 F 362 / M 355(Raumanns et al. 2026 统计口径) |
| 年龄 | age_approx 字段存在但缺失严重,多数清洗管道直接弃用(Raumanns et al. 2026 版本即不含年龄) |
| 肤色 | 无 Fitzpatrick 肤色标注;来源人群以欧洲浅肤色为主 |
| 皮损属性 | location(解剖部位)、elevation(隆起与否)、level_of_diagnostic_difficulty(诊断难度)等元数据较完整 |
| 黑色素瘤专有病历 | melanoma_breslow(Breslow 厚度)、melanoma_ulceration(溃疡)、family/personal_history_melanoma,仅黑色素瘤病例有值 |
口径警示:本数据集是病例(lesion case)级而非患者级——meta.csv 无患者唯一 ID,无法确认多例是否来自同一患者。官方划分按病例索引切分,若同一患者的多枚皮损分落训练与测试两侧,存在轻度泄漏风险(官方与文献均未讨论,见 §5.3)。
§2.6 金标准/参考标准
| 标签层 | 标注方式 | 标注者/来源 | 金标准性质 |
|---|---|---|---|
| 诊断(diagnosis) | 图集原始诊断,恶性病例以组织病理为准 | EDRA 图集(Argenziano 等皮肤科专家)+ diagnosis_confirm_type 字段区分确认方式 | 恶性经活检病理确认;部分良性为专家共识诊断 |
| 七点标准(7 列) | 逐例皮肤镜特征判读 | 继承自 EDRA 图集的皮肤镜特征标注体系 | 专家教学标注,无多标注者一致性统计公开 |
| 七点总分(seven_point_score) | 由七点标签按 1998 规则自动计算 | 派生字段 | 与标签完全共线(特征泄漏源,见 §6.5 坑点 2) |
| 元数据(部位/性别/难度等) | 病例档案记录 | 三家采集医院 | 临床常规记录 |
标注口径要点:七点标准的判读存在公认的阅片者间差异(dermoscopy 文献中对 streaks、regression 等标准的一致性中等),Derm7pt 未发布多标注者重标数据,所有基准结果都建立在"图集单一专家标注即真值"的假设上——2026 年 Derm7pt+ 研究从概念一致性角度首次系统量化了这一假设的边界(见 §7.2)。
§3 数据集规格
§3.0 版本抉择矩阵
| 你的需求 | 推荐版本 | 规模 | 理由 |
|---|---|---|---|
| 复现 Kawahara / FusionM4Net / TFormer / SkinM2Former 等多模态基准 | 官方 release_v0 | 2,045 张图 + 4 个 CSV | 七年文献链全部基于该版本与官方索引,唯一可比口径 |
| 概念瓶颈模型 / 概念一致性研究 | Derm7pt+(社区清洗版) | 与官方划分兼容 | 剔除概念画像不一致病例,附 Scientific Reports 2026 理论分析 |
| ISIC/HAM10000 模型的外部验证 | 官方 release_v0 皮肤镜子集 | 1,011 张皮肤镜图 | 与单模态训练集域差异明确,社区标准外测场 |
| 快速跑通管道 / 教学 | 官方 release_v0 + derm7pt Python 模块 | 同上 | minimal_example.py 十分钟出第一张标签表 |
一句话结论:任何用途都先取官方 release_v0;只有做概念瓶颈(CBM)研究时才需要叠加 Derm7pt+ 清洗清单。
§3.1 模态详细说明
Derm7pt 包含三种模态:
- 皮肤镜图像(dermoscopic):每例 1 张,共 1,011 张。源自 EDRA 图集的皮肤镜检查图像,典型分辨率 1024×683 像素,展示皮损的表皮下微观结构(色素网、条纹、点球、血管等七点标准所关注的特征均以此为主要观察窗)。
- 临床照片(clinical):多数病例 1 张、部分病例多张,官方站点标注全库共 2,045 张图像(即临床照片约 1,034 张)。数码相机拍摄的皮损宏观特写,提供颜色、边界、整体形态与皮肤背景信息。4 例病例缺失临床照片(原论文以皮肤镜图替代其多模态输入)。
- 结构化元数据(meta.csv):每例 1 行,含诊断、七点标准、七点总分、诊断确认方式、解剖部位、性别、近似年龄(大量缺失)、诊断难度、隆起度、处置方式、黑色素瘤 Breslow 厚度与溃疡信息、个人/家族黑色素瘤史。
§3.2 样本量拆分
官方固定划分(按病例索引,分层保持类别分布):
| 子集 | 病例数 | 占比 | 用途 |
|---|---|---|---|
| train | 413 | 40.8% | 训练 |
| valid | 203 | 20.1% | 调参与模型选择 |
| test | 395 | 39.1% | 报告结果 |
| 合计 | 1,011 | 100% |
划分内的诊断分布(MEL/NEV 口径,据 CFCML 等文献复核):train 含 MEL 90 / NEV 256;valid 含 MEL 61 / NEV 100;test 含 MEL 101 / NEV 219。黑色素瘤在三个子集中占比约 21.8% / 30.0% / 25.6%。
§3.3 数据格式详情
| 文件类型 | 格式 | 说明 |
|---|---|---|
| 皮肤镜图像 | JPEG,约 1024×683 px | images/derm_XXXX.jpg,每例 1 张 |
| 临床照片 | JPEG,分辨率不一 | images/clinic_XXXX.jpg,多数 1 张/例,部分多张,4 例缺失 |
| 病例元数据 | CSV | meta/meta.csv,1,011 行,约 25 列 |
| 划分索引 | CSV × 3 | meta/train_indexes.csv、valid_indexes.csv、test_indexes.csv,单列病例索引 |
| 官方加载器 | Python 模块 | github.com/jeremykawahara/derm7pt(Jupyter Notebook 为主) |
§3.4 存储大小
官方未标注 release_v0.zip 的压缩包大小。按 2,045 张 JPEG(主体为 1024×683 量级)估算为数百 MB 量级——单笔记本电脑即可完成全部下载、解压与训练,无对象存储或分布式文件系统需求。
§3.5 标注方式
标注分两层:
- 七点标准 + 诊断(核心资产):继承自 EDRA《Interactive Atlas of Dermoscopy》的专家标注体系——皮肤科专家按 1998 年 Argenziano 七点检查法逐例判读皮肤镜特征,并给出经组织病理(恶性)或专家共识(部分良性)确认的诊断。SFU 团队将其整理为结构化 CSV 标签。
- 派生标签:seven_point_score 由七点标签按"主标准 2 分 + 次标准 1 分"规则自动求和;诊断 20 子类由官方加载器归并为 5 大类(Derm7PtDatasetGroupInfrequent 的默认行为)。
§3.6 标注者资质
标注源头为国际皮肤镜学奠基团队——Giuseppe Argenziano(时任那不勒斯第二大学/现坎帕尼亚大学皮肤科)及其合作者,七点检查法的提出者本人。EDRA 图集作为皮肤镜教学的国际标准教材发行,其标注代表了该领域的专家共识水平。官方未发布逐例标注者人数与阅片者间一致性(kappa)统计。
§3.7 数据采集时间范围
图像采集于 1990 年代(EDRA 图集 2000 年出版,其素材为此前十余年三家医院的教学积累);2017-2018 年由 SFU 团队完成结构化整理、配对与发布。病例级采集日期字段不公开。
§3.8 地理覆盖
欧洲三国三中心:奥地利格拉茨(University of Graz)、意大利那不勒斯(University of Naples)、意大利佛罗伦萨(University of Florence)。人群以欧洲浅肤色为主——这是泛化到深肤色人群时的结构性限制(见 §7.1)。
§3.9 采集设备规格
| 项目 | 规格 | 说明 |
|---|---|---|
| 皮肤镜图像 | 约 1024×683 px,JPEG | EDRA 图集统一规格;具体皮肤镜型号未公开 |
| 临床照片 | 分辨率不一,JPEG | 各中心数码相机拍摄,含标尺/比例参照物的病例存在 |
| 元数据 | CSV(ASCII) | 无 Unicode 陷阱,可直接 pandas 读取 |
§3.10 深度溯源链
| 环节 | 系统/方法 | 关键转换 |
|---|---|---|
| 1. 临床采集 | Graz / Naples / Florence 三家大学医院皮肤科门诊 | 可疑与教学价值皮损被选择性收录,构成"教学图集谱系" |
| 2. 图集编纂 | EDRA《Interactive Atlas of Dermoscopy》(2000) | 1,039 张皮肤镜图统一为 1024×683;专家标注七点特征与诊断 |
| 3. 数据集化 | SFU Hamarneh 组(Kawahara et al. 2017-2018) | 筛选 1,011 例;补齐临床照片与元数据;结构化为 meta.csv |
| 4. 划分与发布 | 分层抽样 413/203/395;derm.cs.sfu.ca | 固定索引文件随 release_v0 发布;CC BY-NC-ND 4.0 |
| 5. 工具链 | GitHub derm7pt 模块(2018-10 起) | 低频标签归并、数值编码、notebook 示例 |
| 6. 社区再加工 | Derm7pt+(2026,TU/e) | 粗糙集分析剔除概念不一致病例,服务 CBM 研究 |
§4 数据结构详解
§4.0 目录结构预览
release_v0/
├── images/
│ ├── derm_0001.jpg # 皮肤镜图像(每例 1 张,共 1,011 张)
│ ├── clinic_0001.jpg # 临床照片(多数病例 1 张,部分多张;4 例缺失)
│ ├── derm_0002.jpg
│ └── ... # 全库共 2,045 张 JPEG
└── meta/
├── meta.csv # 1,011 行 × 约 25 列:诊断 + 七点标准 + 元数据
├── train_indexes.csv # 训练集病例索引(413 行)
├── valid_indexes.csv # 验证集病例索引(203 行)
└── test_indexes.csv # 测试集病例索引(395 行)
§4.1 DAIMS 标准化字段描述表
核心表:meta.csv(每行 = 1 例皮损病例)
| 字段名 | 数据类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| case_num | int | 病例唯一索引 | 42 | 关联图像文件名与划分索引 | 无 | 不允许缺失 | 0-1010 |
| derm | str | 皮肤镜图像文件名 | derm_0042.jpg | 图像输入路径 | 无 | 不允许缺失 | images/ 内文件名 |
| clinic | str | 临床照片文件名 | clinic_0042.jpg | 多模态输入路径 | 无 | 4 例缺失(空值) | images/ 内文件名或空 |
| diagnosis | str | 诊断(细粒度) | melanoma (in situ) | 主标签 | 良性部分为专家共识 | 不允许缺失 | 20 个子类,官方聚合为 BCC/NEV/MEL/MISC/SK |
| diagnosis_confirm_type | str | 诊断确认方式 | histopathology | 标签可信度分层 | 记录方式因中心而异 | 部分缺失 | histopathology / 其他确认类型 |
| pigment_network | str | 七点标准 1:色素网 | atypical | 概念标签;得分 0/0/2 | 阅片者间差异中等 | 不允许缺失 | absent / typical / atypical |
| blue_whitish_veil | str | 七点标准 2:蓝白幕 | present | 概念标签;得分 0/2 | 较可靠 | 不允许缺失 | absent / present |
| vascular_structures | str | 七点标准 3:血管结构 | dotted | 概念标签;REG 0 / IR 2 | 亚型多,判读差异大 | 不允许缺失 | absent / arborizing / comma / hairpin / within regression / wreath / dotted / linear irregular |
| pigmentation | str | 七点标准 4:色素沉着 | diffuse irregular | 概念标签;REG 0 / IR 1 | 边界情形多 | 不允许缺失 | absent / diffuse regular / localized regular / diffuse irregular / localized irregular |
| streaks | str | 七点标准 5:条纹 | irregular | 概念标签;REG 0 / IR 1 | 阅片者间差异中等 | 不允许缺失 | absent / regular / irregular |
| dots_and_globules | str | 七点标准 6:点/球 | irregular | 概念标签;REG 0 / IR 1 | 阅片者间差异中等 | 不允许缺失 | absent / regular / irregular |
| regression_structures | str | 七点标准 7:回归结构 | combinations | 概念标签;PRS 1 | 白色/蓝色区域判读主观 | 不允许缺失 | absent / blue areas / white areas / combinations |
| seven_point_score | int | 七点总分(派生) | 4 | ⚠️ 与标签共线,禁作特征 | 派生无误差 | 不允许缺失 | 0-10 |
| sex | str | 性别 | female | 协变量/公平性 | 记录可靠 | 基本无缺失 | male / female |
| age_approx | str/float | 近似年龄 | 55 | 协变量 | 粗粒度 | 大量缺失 | 数值或空 |
| location | str | 解剖部位 | back | 协变量 | 记录可靠 | 少量缺失 | 头颈/躯干/四肢等部位枚举 |
| level_of_diagnostic_difficulty | str | 专家诊断难度分级 | medium | 难度分层评估 | 主观分级 | 部分缺失 | easy / medium / difficult 等 |
| elevation | str | 皮损隆起 | raised | 元数据特征 | 临床触诊记录 | 部分缺失 | flat / raised 等 |
| management | str | 处置方式 | excision | 工作流分析 | 记录因中心而异 | 部分缺失 | biopsy / excision / follow-up 等 |
| melanoma_breslow | float | Breslow 厚度(mm) | 0.85 | 黑色素瘤亚组分析 | 病理测量 | 仅 MEL 病例有值(结构性缺失) | ≥0 浮点 |
| melanoma_ulceration | str | 黑色素瘤溃疡 | present | 预后因素分析 | 病理判读 | 仅 MEL 病例有值 | present / absent |
| family_history_melanoma | str | 家族黑色素瘤史 | no | 风险协变量 | 自述史 | 大量缺失 | yes / no / 空 |
| personal_history_melanoma | str | 个人黑色素瘤史 | no | 风险协变量 | 自述史 | 大量缺失 | yes / no / 空 |
§4.2 标签分布统计
诊断(官方聚合 5 类,全库 1,011 例):
| 类别 | 例数 | 占比 | 备注 |
|---|---|---|---|
| NEV(痣) | 575 | 56.9% | clark nevus 399 为最大子类 |
| MEL(黑色素瘤) | 252 | 24.9% | 含 in situ 64、各厚度档 187、转移 4 |
| MISC(杂项良性) | 97 | 9.6% | 5 个良性子类合并 |
| SK(脂溢性角化病) | 45 | 4.5% | 小类 |
| BCC(基底细胞癌) | 42 | 4.2% | 最小类,5 分类任务的主要噪声源 |
七点标准分布(全库,含 7pt 得分):
| 标准 | 取值与例数 | 计分规则 |
|---|---|---|
| 1. PN 色素网 | ABS 400 / TYP 381 / ATP 230 | ATP 计 2 分 |
| 2. BWV 蓝白幕 | ABS 816 / PRS 195 | PRS 计 2 分 |
| 3. VS 血管结构 | ABS 823 / REG 117 / IR 71 | IR 计 2 分 |
| 4. PIG 色素沉着 | ABS 588 / REG 118 / IR 305 | IR 计 1 分 |
| 5. STR 条纹 | ABS 653 / REG 107 / IR 251 | IR 计 1 分 |
| 6. DaG 点/球 | ABS 229 / REG 334 / IR 448 | IR 计 1 分 |
| 7. RS 回归结构 | ABS 758 / PRS 253 | PRS 计 1 分 |
类别不平衡特征:七点标签内部同样高度不平衡——BWV 阳性率 19.3%、VS-IR 仅 7.0%、PIG-REG 仅 11.7%;DaG-IR(44.3%)与 PIG-IR(30.2%)是最常见的"恶性指向"特征。多标签任务必须按类别平均准确率(balanced accuracy)评估,否则 ABS 大类会主导指标(见 §6.9)。
§4.3 关键字段描述性统计
- 恶性病例(MEL+BCC)294 例占 29.1%;良性 717 例占 70.9%。
- 黑色素瘤厚度结构:in situ 64 例 + <0.76 mm 102 例 + 0.76-1.5 mm 53 例 + >1.5 mm 28 例 + 转移 4 例——以早期薄层黑色素瘤为主,与教学图集定位一致。
- 七点总分与诊断的耦合:按 1998 规则,PN-ATP(230 例)、BWV-PRS(195 例)、VS-IR(71 例)三项主标准的阳性率远低于次标准,任何一项主标准阳性即贡献 2 分。
- 概念画像空间:7 个标准按得分口径二值化后,全库 1,011 例仅覆盖 305 个不同概念画像(Nápoles et al. 2026 粗糙集分析)——概念空间利用稀疏,是概念瓶颈模型的结构性约束。
§4.4 数据层级关系
病例(case_num,1,011 例)
├─ 皮肤镜图像(derm_XXXX.jpg,恒为 1 张)
├─ 临床照片(clinic_XXXX.jpg,0-N 张;4 例为 0)
├─ 七点标准 × 7(多分类标签)
│ └─ seven_point_score(派生总分,0-10)
├─ 诊断(diagnosis,20 子类 → 聚合 5 类)
│ └─ diagnosis_confirm_type(确认方式)
└─ 元数据(sex / age_approx / location / difficulty / elevation / management
└─ 黑色素瘤专有:breslow / ulceration / family_history / personal_history)
要点:数据集是扁平病例级结构——没有患者层、没有时间序列、没有随访层。任何需要"患者级去重"或"纵向演变"的研究设计都不适用于本数据集。
§4.5 缺失值情况与信息性缺失编码
| 缺失类型 | 字段示例 | 缺失原因 | 信息性缺失编码 | 对 AI 的影响 |
|---|---|---|---|---|
| 结构性缺失 | melanoma_breslow、melanoma_ulceration | 仅黑色素瘤病例有病理报告 | 非 MEL 病例为空属正常 | 不可填充;仅限 MEL 亚组分析 |
| 随机缺失(高比例) | age_approx | 图集编纂时未系统记录 | 缺失不代表任何临床含义 | 多数管道弃用该列 |
| 随机缺失(低比例) | clinic 文件名(4 例) | 原始档案缺临床照片 | 缺失 = 该病例无双模态 | 多模态模型需缺模态策略(原论文以皮肤镜图替代) |
| 部分缺失 | family/personal_history_melanoma、management | 病史采集不全 | 空白 ≈ 未记录而非否定 | 勿将空值编码为 “no” |
| 无标签维度 | Fitzpatrick 肤色 | 图集从未采集 | 整列不存在 | 肤色公平性分析不可行 |
§5 数据划分与使用建议
§5.1 官方数据划分
Derm7pt 提供官方固定划分,这是它区别于绝大多数皮肤病数据集的核心优势:train 413 / valid 203 / test 395,以病例索引文件(train_indexes.csv / valid_indexes.csv / test_indexes.csv)随数据发布,按类别分布分层抽样。Kawahara(2019)、FusionM4Net(2022)、TFormer(2022)、SkinM2Former(2025)等全部基准结果均报告在该划分上。与文献比较时必须使用该划分——自行重划的数字与文献不可比。
§5.2 推荐划分策略
- 默认:官方索引文件(任何基准对比场景的强制选择)。
- 交叉验证:如需 K 折,仅在 train+valid(616 例)内部进行,test 395 例保持封存。
- 子集口径声明:文献存在两种任务口径——全量 5 分类(1,011 例)与 MEL/NEV 二分类(827 例,CBE/MICA 等概念模型常用)。两者数字不可比,论文中必须显式声明口径。
- 不要按图像重划:同一病例的皮肤镜与临床照片必须同侧,任何按"图像"而非"病例"的随机切分都会造成同例泄漏。
§5.3 数据泄漏风险防御
| # | 泄漏模式 | 严重程度 | 防御措施 |
|---|---|---|---|
| 1 | seven_point_score 作为输入特征 | 极高 | 该列由真实七点标签计算,任何特征工程前显式 drop |
| 2 | 七点标签列作为诊断任务的输入特征 | 高 | 概念标签与诊断强相关;只有 CBM 设计允许"概念→诊断"链路 |
| 3 | 按图像而非病例切分 | 高 | 以 case_num 为分组键;同例双模态必须同侧 |
| 4 | 患者级泄漏(潜在) | 中 | 无患者 ID 可验证;报告时声明该限制即可 |
| 5 | 用 test 集做早停/选模 | 中 | 使用 valid 203 例做模型选择,test 仅评估一次 |
§5.4 交叉验证建议
- 标准做法:在 616 例 train+valid 上做 5 折交叉验证用于超参搜索;最终模型在官方 test 上报告一次。
- 小样本提示:BCC(42 例)与 SK(45 例)在 5 折中每折不足 10 例,分层 K 折(StratifiedKFold)是底线;报告均值 ± 标准差而非单次结果。
- 多次运行:TFormer 原文与 10 次运行复现之间相差约 2.5 个百分点(80.03% vs 77.5% DIAG),至少 3-5 次不同种子运行是该数据集上的发表级要求(见 §6.5 坑点 5)。
§5.5 外部验证
Derm7pt 的外部验证有两个方向:
- Derm7pt 作为外测场(主流用法):ISIC/HAM10000 训练的单模态模型 → Derm7pt 皮肤镜子集零样本评估(semiquark1/skin 的 dataset-dependence 研究、Raumanns et al. 2026 的人口学偏倚研究均采用此路径)。
- Derm7pt 训练的模型外推:受 1,011 例规模限制,Derm7pt 很少作为唯一训练集;常见做法是 ISIC 预训练 → Derm7pt 微调 → PH² / BCN20000 / PAD-UFES-20 外测。
§6 AI 就绪指南
§6.0 云端快速启动
零配置起步:Derm7pt 全库仅 2,045 张 JPEG,在 Google Colab 免费 GPU 上即可完成全流程——下载 release_v0.zip(需先在浏览器中填写 Google 表单获取密码)、解压、用官方 derm7pt 模块加载,10 分钟内可复现 Kawahara 基线的标签统计。数据规模对单卡训练友好:双模态 ResNet-50 基线在 Colab T4 上约 1-2 小时可完成一次完整训练。
§6.1 快速上手
# ========================================
# Derm7pt 快速上手 — 官方加载器版
# 环境要求: python>=3.8, pandas, git clone jeremykawahara/derm7pt
#
# ⚠️ 目录结构预期:
# 将从 derm.cs.sfu.ca 下载的 release_v0.zip 解压至任意目录,确保:
# ./release_v0/
# ├── images/ # derm_XXXX.jpg + clinic_XXXX.jpg(2,045 张)
# └── meta/
# ├── meta.csv # 1,011 行病例元数据与标签
# ├── train_indexes.csv # 413 个训练索引
# ├── valid_indexes.csv # 203 个验证索引
# └── test_indexes.csv # 395 个测试索引
#
# 官方模块通过 meta.csv 中的 derm / clinic 列定位图像:
# full_path = os.path.join(dir_images, row['derm'])
# ========================================
import sys, os
import pandas as pd
sys.path.insert(0, os.path.abspath('derm7pt')) # 官方仓库克隆目录
from derm7pt.dataset import Derm7PtDatasetGroupInfrequent
dir_release = './release_v0'
# 官方推荐入口:自动归并低频标签并做数值编码
derm_data = Derm7PtDatasetGroupInfrequent(
dir_images=os.path.join(dir_release, 'images'),
metadata_df=pd.read_csv(os.path.join(dir_release, 'meta/meta.csv')),
train_indexes=list(pd.read_csv(os.path.join(dir_release, 'meta/train_indexes.csv'))['indexes']),
valid_indexes=list(pd.read_csv(os.path.join(dir_release, 'meta/valid_indexes.csv'))['indexes']),
test_indexes=list(pd.read_csv(os.path.join(dir_release, 'meta/test_indexes.csv'))['indexes']))
df = derm_data.df # 预处理后的全量标签表
print(df['diagnosis'].value_counts())
print(df.iloc[0]) # 查看单例的数值化标签与图像路径
§6.2 数据获取流程
| 获取方式 | 链接/位置 | 规模 | 流程 |
|---|---|---|---|
| 官方 zip 下载 | http://derm.cs.sfu.ca/restricted/release_v0.zip | 2,045 张图 + 4 个 CSV | ① 打开 Google 表单 https://forms.gle/iPnCEVkUKYwWYALh9 填写基本信息;② 页面即时显示用户名与密码;③ 凭密码下载 zip 并解压 |
| 官方主页 | http://derm.cs.sfu.ca | — | 数据集说明、七点标准汇总图、全库缩略图预览 |
| 官方加载器 | github.com/jeremykawahara/derm7pt | 92 stars(截至 2026-09) | git clone 后按 README 运行 minimal_example.py |
| 社区清洗版 | github.com/gnapoles/Consistent-Derm7pt | Derm7pt+ | 概念一致性过滤清单,配合官方数据使用 |
合规义务(CC BY-NC-ND 4.0):必须署名并引用 Kawahara et al. 2019;禁止商业用途;禁止将修改后的数据(如重新标注版、增强版)公开再分发——内部加工可用,但衍生数据集的公开发布需另行获得授权。
§6.3 预处理 Pipeline
<details>
<summary><b>点击展开完整预处理代码(双模态 PyTorch Dataset 版)</b></summary>
# ========================================
# Derm7pt 预处理全流程 — 双模态输入
# 步骤: ① 读取 meta.csv 与官方索引 ② 标签分组与编码
# ③ 缺失临床图处理 ④ 图像变换约定 ⑤ 泄漏列剔除
# ========================================
import os
import numpy as np
import pandas as pd
from PIL import Image
from torch.utils.data import Dataset
from torchvision import transforms
DIR_RELEASE = './release_v0'
DIR_IMAGES = os.path.join(DIR_RELEASE, 'images')
# ① 读取元数据与官方划分
meta = pd.read_csv(os.path.join(DIR_RELEASE, 'meta/meta.csv'))
splits = {name: pd.read_csv(os.path.join(DIR_RELEASE, f'meta/{name}_indexes.csv'))['indexes'].tolist()
for name in ['train', 'valid', 'test']}
# ② 标签分组与编码(与官方 Derm7PtDatasetGroupInfrequent 口径一致)
DIAG_GROUPS = {
'basal cell carcinoma': 'BCC',
'nevus': 'NEV', 'blue nevus': 'NEV', 'clark nevus': 'NEV',
'combined nevus': 'NEV', 'congenital nevus': 'NEV',
'dermal nevus': 'NEV', 'recurrent nevus': 'NEV', 'reed or spitz nevus': 'NEV',
'melanoma': 'MEL', 'melanoma (in situ)': 'MEL',
'melanoma (less than 0.76 mm)': 'MEL',
'melanoma (0.76 to 1.5 mm)': 'MEL',
'melanoma (more than 1.5 mm)': 'MEL', 'melanoma metastasis': 'MEL',
'seborrheic keratosis': 'SK',
}
def group_diag(d):
return DIAG_GROUPS.get(d, 'MISC') # dermatofibroma/lentigo/melanosis/vascular/misc → MISC
meta['DIAG'] = meta['diagnosis'].map(group_diag)
CRITERIA = ['pigment_network', 'blue_whitish_veil', 'vascular_structures',
'pigmentation', 'streaks', 'dots_and_globules', 'regression_structures']
# 7pt 得分口径的分组:ABS=0 / TYP或REG=1 / ATP或IR或PRS=2(用于七点得分复算,非训练标签)
SCORE_MAP = {
'pigment_network': {'absent': 0, 'typical': 0, 'atypical': 2},
'blue_whitish_veil': {'absent': 0, 'present': 2},
'vascular_structures': {'absent': 0, 'dotted': 2, 'linear irregular': 2},
'pigmentation': {'absent': 0, 'diffuse irregular': 1, 'localized irregular': 1},
'streaks': {'absent': 0, 'irregular': 1},
'dots_and_globules': {'absent': 0, 'irregular': 1},
'regression_structures': {'absent': 0, 'blue areas': 1, 'white areas': 1, 'combinations': 1},
}
def compute_7pt_score(row):
return sum(SCORE_MAP[c].get(row[c], 0) for c in CRITERIA)
# 自检:复算分数应与 meta 中的 seven_point_score 一致
assert (meta.apply(compute_7pt_score, axis=1) == meta['seven_point_score']).all()
# ⑤ 泄漏列剔除(任何特征工程之前)
LEAKAGE_COLS = ['seven_point_score'] + CRITERIA # 除非做 CBM,否则不进入诊断模型输入
# ③ 缺失临床图处理:4 例 clinic 为空,多模态输入用皮肤镜图替代(原论文策略)
def resolve_clinic(row):
f = row['clinic']
if isinstance(f, str) and os.path.exists(os.path.join(DIR_IMAGES, f)):
return f
return row['derm'] # fallback
# ④ 图像变换约定(社区通行口径:224×224 + ImageNet 归一化)
train_tf = transforms.Compose([
transforms.Resize((224, 224)),
transforms.RandomHorizontalFlip(),
transforms.RandomVerticalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
eval_tf = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
class Derm7ptMultiModal(Dataset):
"""双模态 Dataset:返回 (derm_tensor, clinic_tensor, targets_dict)"""
def __init__(self, meta_df, indexes, tf):
self.df = meta_df.iloc[indexes].reset_index(drop=True)
self.tf = tf
def __len__(self):
return len(self.df)
def __getitem__(self, i):
row = self.df.iloc[i]
derm = Image.open(os.path.join(DIR_IMAGES, row['derm'])).convert('RGB')
clinic = Image.open(os.path.join(DIR_IMAGES, resolve_clinic(row))).convert('RGB')
targets = {'diagnosis': row['DIAG']}
return self.tf(derm), self.tf(clinic), targets
</details>
§6.4 框架加载
import torch
from torch.utils.data import DataLoader
train_ds = Derm7ptMultiModal(meta, splits['train'], train_tf)
valid_ds = Derm7ptMultiModal(meta, splits['valid'], eval_tf)
test_ds = Derm7ptMultiModal(meta, splits['test'], eval_tf)
train_loader = DataLoader(train_ds, batch_size=32, shuffle=True, num_workers=2)
valid_loader = DataLoader(valid_ds, batch_size=64, shuffle=False, num_workers=2)
test_loader = DataLoader(test_ds, batch_size=64, shuffle=False, num_workers=2)
# 双分支晚期融合骨架(Kawahara 2019 风格)
import torch.nn as nn
from torchvision import models
class DualBranch(nn.Module):
def __init__(self, n_diag=5, n_concepts=(3, 2, 3, 3, 3, 3, 2)):
super().__init__()
self.branch_derm = models.resnet50(weights='IMAGENET1K_V2')
self.branch_clinic = models.resnet50(weights='IMAGENET1K_V2')
d = self.branch_derm.fc.in_features
self.branch_derm.fc = nn.Identity()
self.branch_clinic.fc = nn.Identity()
self.head_diag = nn.Linear(2 * d, n_diag)
self.head_concepts = nn.ModuleList([nn.Linear(2 * d, n) for n in n_concepts])
def forward(self, x_derm, x_clinic):
z = torch.cat([self.branch_derm(x_derm), self.branch_clinic(x_clinic)], dim=1)
return self.head_diag(z), [h(z) for h in self.head_concepts]
TensorFlow / Keras 用户:tf.keras.utils.image_dataset_from_directory 不适合本数据集的双模态配对结构,建议用 tf.data.Dataset.from_generator 包装上述解析逻辑,或以 tf.py_function 按 meta.csv 行读取双图。
§6.5 常见坑点
⚠️ 坑点 1:把七点标准粗暴二值化,丢掉计分口径(分类:标签理解)
问题:七点标准的"分"不在"有/无",而在"典型/非典型"——PN 的 typical 与 absent 同为 0 分,只有 atypical 计 2 分;VS 的 arborizing 等 5 种 REG 亚型虽然"存在"但计 0 分。把标签二值化为 present/absent 会系统性算错七点总分,并破坏与临床规则的对齐。
症状:复算的 seven_point_score 与 meta.csv 原列对不上;模型"概念准确率很高"但推断的黑色素瘤敏感性异常低。
解决:训练标签用官方三分类(ABS/TYP/ATP 或 ABS/REG/IR);七点得分只按 §6.3 的 SCORE_MAP 规则复算,并用
assert与官方 seven_point_score 列全量比对。参考:Kawahara et al. 2019 论文 Table I;Argenziano et al. 1998 原始评分规则。
⚠️ 坑点 2:seven_point_score 列造成标签泄漏(分类:数据泄漏)
问题:meta.csv 中的 seven_point_score 由真实七点标签直接计算,而七点标签与诊断强相关——把它(或七点标签列)当作诊断模型的输入特征,等价于把答案的近亲喂给模型。
症状:诊断任务测试准确率异常高(>90%),但剔除该列后骤降;特征重要性分析中 seven_point_score 一枝独秀。
解决:在 DataFrame 入口处显式
drop(columns=['seven_point_score']);诊断模型只允许图像与人口学元数据输入;只有显式设计为"概念→诊断"的 CBM 链路才允许概念进入下游。参考:Derm7pt+ 论文(arXiv:2604.19323)对概念-诊断依赖关系的粗糙集形式化。
⚠️ 坑点 3:5 分类(1,011 例)与 MEL/NEV 二分类(827 例)两种文献口径混用(分类:评估误用)
问题:多模态基准文献(Kawahara/FusionM4Net/TFormer/SkinM2Former)用全量 1,011 例 5 分类;概念模型文献(CBE、MICA、CFCML 等)常用 827 例 MEL/NEV 二分类子集。两条文献线的"准确率"处于完全不同的任务难度上。
症状:把自己 5 分类的 77% 与某论文报告的 90%+ 二分类 AUC 比较,误判模型优劣。
解决:论文与方法部分必须显式声明口径(全量 5 分类 / MEL+NEV 827 / MEL vs all);对比表只收录同口径结果;二分类口径下报告 AUC 与敏感性-特异性对。
参考:SkinM2Former(arXiv:2409.12390)§4.1;CFCML 论文的 827 例子集定义。
⚠️ 坑点 4:4 例缺失临床照片 + 双模态分辨率差异(分类:预处理陷阱)
问题:4 例病例没有临床照片,多模态管道若不做缺模态处理会直接报错或静默丢样本;皮肤镜图(约 1024×683)与临床照片(分辨率不一、长宽比各异)直接暴力 resize 到 224×224 会引入不同程度的形变。
症状:DataLoader 在特定 batch 崩溃;双分支模型对缺失病例的预测全部偏向某一类。
解决:缺失病例以皮肤镜图替代临床输入(原论文策略)或引入模态掩码;统一以短边缩放 + 中心裁剪替代直接拉伸,保持纵横比;将"临床图缺失"作为样本属性记录,评估时可单独剔除核对。
参考:Kawahara et al. 2019 论文(“Four cases were missing clinical images, and were replaced with dermoscopic image”)。
⚠️ 坑点 5:指标口径与运行方差——单次运行结果不可发表(分类:评估误用)
问题:Derm7pt 文献混用三种指标——DIAG(5 类类别平均准确率)、AVG(8 任务的类别平均准确率均值)、AUC;且小样本导致运行间方差显著:TFormer 原文自报 DIAG 80.03%,SkinM2Former 用官方代码 10 次运行复现仅为 77.5±0.2%。
症状:同一模型两次训练相差 2-3 个百分点;与文献比较时口径错位。
解决:至少 3-5 个随机种子,报告均值 ± 标准差;明确声明指标口径(推荐同时报 DIAG 与 AVG);比较时优先引用同样多次运行的复现数字(如 SkinM2Former Table 2)。
参考:SkinM2Former(arXiv:2409.12390)Table 2 及其复现协议说明。
⚠️ 坑点 6:概念-标签不一致——硬概念瓶颈存在精度上限(分类:标签理解)
问题:Nápoles et al.(Scientific Reports 2026)用粗糙集理论证明:1,011 例在 7 个二值概念下仅有 305 个不同概念画像,且部分画像内部同时包含黑色素瘤与非黑色素瘤病例——这意味着任何"仅通过概念做诊断"的硬 CBM 存在可证明的精度上限,与模型容量无关。
症状:CBM 的诊断准确率在某个天花板停滞,增加 backbone 容量无效;概念预测很准但诊断仍错。
解决:硬 CBM 研究先阅读该文并考虑使用其清洗版 Derm7pt+;或改用软瓶颈/概念+残差通道设计;评估时同时报告概念一致性子集上的表现。
参考:Nápoles G, Grau I, Salgueiro Y. “Concept Inconsistency in Dermoscopic Concept Bottleneck Models”, Scientific Reports (2026);github.com/gnapoles/Consistent-Derm7pt。
⚠️ 坑点 7:低频标签分组规则各实现不同(分类:工程陷阱)
问题:诊断 20 子类 → 5 类、VS 的 7 个亚型 → REG/IR、RS 的 3 个亚型 → PRS,这些归并规则在各家复现代码中并不一致(例如 reed or spitz nevus 归 NEV 还是单列、vascular lesion 归 MISC 的处理),导致同一"官方划分"上的结果出现不可解释的差异。
症状:严格按官方索引复现,指标仍与论文差 1-2 个点;混淆矩阵中 NEV 与 MISC 边界漂移。
解决:统一使用官方模块 Derm7PtDatasetGroupInfrequent 的归并结果作为 ground truth;自写归并时逐行核对 §6.3 的 DIAG_GROUPS 映射并在论文附录公开映射表。
参考:github.com/jeremykawahara/derm7pt README 与 minimal_example notebook。
⚠️ 坑点 8:人口学字段缺失与教学图集谱系——公平性结论不可外推(分类:偏倚陷阱)
问题:age_approx 大量缺失、无 Fitzpatrick 肤色标注、病例源自 1990 年代欧洲三家教学医院的图集选例——在该数据上做的任何"跨肤色/跨年龄公平性"结论都没有数据支撑;恶性占比 29.1% 也与真实筛查场景相距甚远。
症状:模型在深肤色数据集(如 DDI)上性能骤降;按年龄分层时大量样本无法归类。
解决:公平性研究改用 Fitzpatrick17k、DDI、PAD-UFES-20 等带肤色标注的数据集,Derm7pt 仅作概念/多模态基准;报告性能时声明谱系偏倚(教学图集、欧洲浅肤色、高恶性占比)。
参考:Raumanns et al. 2026(arXiv:2606.03214)对 Derm7pt 人口学字段的清洗记录。
§6.6 数据增强
| ✅ 安全增强 | ❌ 危险增强(禁止) |
|---|---|
| 水平/垂直翻转(皮肤镜图像无方向先验) | 强色彩抖动/通道置换(颜色与蓝白幕、色素沉着是诊断性特征) |
| 90° 整数倍旋转 | 任意角度旋转引入的黑边插值(伪影会被误认为回归结构) |
| 小幅亮度/对比度扰动(±10%) | 裁剪掉皮损主体的 RandomResizedCrop 激进参数 |
| 轻量高斯噪声 | 跨概念画像的 Mixup/CutMix(破坏概念-标签对应,CBM 任务禁止) |
| 按类别频率的加权采样 | 对 BCC/SK 小类的过采样复制而不声明 |
§6.7 模型推荐
| 任务 | 推荐方案 | 预期性能(官方 test 口径) |
|---|---|---|
| 快速基线(单模态) | ResNet-50 单分支,仅皮肤镜,5 分类 | DIAG 约 65-70% |
| 标准双模态基线 | 双 ResNet-50 晚期融合 + 多任务(DIAG + 7 标准) | DIAG 约 74%(Kawahara 水平) |
| 多模态 SOTA 复现 | Swin-T 三模态交叉注意力(SkinM2Former 架构) | DIAG 约 77.9% / AVG 约 77.3% |
| 概念瓶颈研究 | 硬 CBM + Derm7pt+ 清洗清单 | 概念 AUC 高,诊断受理论上限约束(坑点 6) |
| 黑色素瘤二分类 | ImageNet 预训练 + MEL vs all 口径,报 Sens/Spec | t=1 推断:Sens 约 96% / Spec 约 36%(Kawahara 推断口径) |
§6.8 计算资源需求
| 硬件 | 最小配置 | 推荐配置 |
|---|---|---|
| 磁盘 | 2 GB(zip + 解压) | 5 GB(含增强缓存与实验产物) |
| 内存 | 8 GB | 16 GB |
| GPU | Colab 免费 T4(双模态 ResNet-50 可训) | 1 × 24 GB(Swin-T 三模态、batch 32) |
| 训练时间 | 单模态基线 <1 小时 | 三模态 SOTA 单次 2-4 小时;5 种子一晚完成 |
§6.9 评估指标
import numpy as np
from sklearn.metrics import balanced_accuracy_score, roc_auc_score
# 社区共识指标 1:DIAG —— 5 类诊断的类别平均准确率
diag_acc = balanced_accuracy_score(y_true_diag, y_pred_diag)
# 社区共识指标 2:AVG —— 8 个任务(DIAG + 7 标准)类别平均准确率的均值
per_task_acc = [balanced_accuracy_score(y_true[t], y_pred[t]) for t in TASKS]
avg_acc = np.mean(per_task_acc)
# 社区共识指标 3:七点推断黑色素瘤(按 1998 规则从预测概念重算总分)
def infer_melanoma(pred_concepts, threshold=3):
score = sum(SCORE_MAP[c].get(pred_concepts[c], 0) for c in CRITERIA)
return score >= threshold # t=1 高敏感性 / t=3 原始阈值
# 黑色素瘤二分类补充:Sens / Spec / AUC 三联报告
auc = roc_auc_score(y_true_mel, y_prob_mel)
口径声明模板(写论文时直接套用):“We report on the official Derm7pt split (413/203/395) using the 5-class diagnosis task. DIAG = mean per-class accuracy of the diagnosis task; AVG = mean of per-class accuracies over all 8 tasks. Results are mean ± std over N seeds.”
§6.10 MLOps 笔记
- 版本锁定:数据本体自 2018 年 release_v0 起冻结,无版本演进风险;论文中标注 “Derm7pt release_v0 + 官方索引” 即可完全锁定数据侧。
- 引用义务:CC BY-NC-ND 4.0 要求署名——引用 Kawahara et al. 2019(见 §9 BibTeX);衍生数据(如重标注版)不得公开再分发。
- 合规红线:NC 条款禁止将该数据用于任何商业产品研发与商业基准服务;企业内部分析可用,对外商业输出需另行授权。
- 社区监控:Derm7pt+(2026)代表概念一致性方向的最新进展,CBM 方向项目建议将其纳入数据版本声明。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 教学图集谱系偏倚 | 病例为三家欧洲教学医院选编的图集素材,偏向典型、教科书式表现;恶性占比 29.1% 远高于真实筛查 | 高 | 报告性能时声明谱系;临床转化前用真实世界队列重估 |
| 地域与肤色偏倚 | 欧洲(意大利/奥地利)浅肤色人群;无 Fitzpatrick 标注 | 高 | 肤色公平性改用 DDI/Fitzpatrick17k/PAD-UFES-20 评估 |
| 时代偏倚 | 1990 年代采集,皮肤镜设备与当代偏振光数字皮肤镜存在代差 | 中 | 与 ISIC 当代数据联合训练;评估跨时代鲁棒性 |
| 标注单一来源偏倚 | 七点标注继承图集专家标注,无多标注者一致性统计 | 中 | 高风险结论参考 Derm7pt+ 的概念一致性分析 |
| 类别不平衡 | BCC 42 / SK 45 极小类;NEV 占 56.9% | 中 | 类别平均准确率 + 加权采样;小类结果附置信区间 |
| 缺失人口学偏倚 | age_approx 大量缺失;sex 全量但良性/恶性性别构成不同 | 低-中 | 性别分层报告(Raumanns 2026 口径);年龄分析不可行需声明 |
§7.2 标注质量评估
| 标注类型 | 可靠性 | 一致性 | 局限性 |
|---|---|---|---|
| 诊断(恶性) | 高(组织病理确认) | — | 教学图集选例偏"典型" |
| 诊断(良性) | 中-高 | 专家共识 | 部分良性无病理确认(diagnosis_confirm_type 可分层) |
| 七点标准 | 领域奠基团队标注 | 未发布 kappa;皮肤镜文献对 streaks/regression 等标准一致性中等 | 单一标注源;2026 年粗糙集分析发现概念画像内存在诊断不一致(305 个画像) |
| 元数据 | 临床常规记录 | 因中心而异 | age_approx 缺失严重;无肤色字段 |
概念一致性的量化发现(Derm7pt+,Scientific Reports 2026):7 个二值化概念下全库仅 305 个不同概念画像;不一致画像(同一概念组合下同时含黑色素瘤与非黑色素瘤)的存在,为"仅靠概念的硬瓶颈诊断"设定了理论精度上限。这不否定标注质量本身,而是量化了"7 个概念对诊断的描述力边界"——对 CBM 研究者是必读结论。
§7.3 泛化性讨论
| 场景 | 失效风险 | 证据 |
|---|---|---|
| 跨数据集(ISIC/HAM10000 ↔ Derm7pt) | 中高 | dataset-dependence 研究(semiquark1/skin)显示 HAM10000 训练的模型在 Derm7pt 皮肤镜子集上零样本性能明显下降,需集成与校准缓解 |
| 跨人群(欧洲浅肤色 → 深肤色) | 高 | 无肤色标签可直接验证;DDI 等研究显示皮肤 AI 在深肤色上系统性降级,Derm7pt 训练的模型不应外推 |
| 跨成像设备(1990s 图集 → 当代数字皮肤镜/手机) | 中 | 图集统一 1024×683 规格与当代设备分辨率/色温差异显著;临床照片与当代手机照片域差更大 |
| 跨任务口径(5 分类 → 真实筛查) | 高 | 恶性占比 29.1% vs 真实门诊 <5%,阈值与 PPV 不可直接迁移 |
| 概念泛化(七点标准 → 其他特征体系) | 中 | 七点法是多种皮肤镜评分体系之一(ABCD/Menzies/CASH),模型学到的概念不能覆盖全部临床流派 |
§7.4 伦理考量
- 图像为皮损局部特写与皮肤镜视野,不含面部与可识别特征,隐私风险低;但 ND 条款限制再分发,二次发布衍生数据需授权。
- 数据源自 1990 年代教学图集,反映了当时的伦理审查与知情同意实践;现代再利用研究应遵循机构伦理委员会的二次使用审查。
- 黑色素瘤是生死攸关的漏诊方向——任何基于该数据集的演示系统都必须显著标注"非诊断用途",尤其是 t=1 高敏感阈值会以特异性为代价换取召回(Sens 96% / Spec 36%,Kawahara 推断口径)。
- CC BY-NC-ND 的 NC 条款意味着该数据集不可用于商业产品开发;科研团队与商业团队的合规路径不同,立项时即应确认。
§7.5 公平性评估
from fairlearn.metrics import MetricFrame
from sklearn.metrics import balanced_accuracy_score
# sex 是全库唯一完整的人口学维度(Raumanns et al. 2026 口径)
frame = MetricFrame(
metrics={"bal_acc": balanced_accuracy_score},
y_true=y_test, y_pred=y_pred,
sensitive_features=test_df["sex"]
)
print(frame.by_group)
已知差异与盲区:良性/恶性组的性别构成不同(恶性 F 160/M 134,良性 F 362/M 355),性别分层评估是必要的最低限度;肤色公平性在本数据集上不可评估(无标注、人群单一),任何相关结论必须交由 DDI、Fitzpatrick17k、PASSION 等数据集回答。
§7.6 数据漂移提示
- 图集成像停留在 1990 年代:色温、分辨率、浸润介质痕迹与当代数字皮肤镜存在系统性差异——部署当代设备图像前,建议在 Derm7pt 上微调后于当代 ISIC 数据上复核。
- 临床实践漂移:黑色素瘤管理指南(活检阈值、Breslow 分层处置)自 1990 年代以来多轮更新,数据中的 management 字段反映的是当时实践,仅作历史参考。
- 标签语义稳定:七点检查法的定义自 1998 年以来未变(仅阈值 t=3→t=1 的用法演进),概念标签本身不存在语义漂移。
§7.7 DAIMS 24 项数据就绪度评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 数据为宽格式(每行一个样本/事件) | ✅ | meta.csv 每行 1 例病例 |
| 2 | 有唯一标识符列 | ✅ | case_num + derm/clinic 文件名 |
| 3 | 无 Unicode 或特殊字符 | ✅ | 标签与字段全 ASCII |
| 4 | 无重复行 | ✅ | 1,011 例索引唯一;同例多张临床图按文件名区分 |
| 5 | 缺失值已识别并编码 | ⚠️ | 4 例缺临床图已在论文说明;age_approx 缺失无官方编码规范 |
| 6 | 标签列被明确标识 | ✅ | diagnosis + 7 个标准列 + seven_point_score |
| 7 | 已对罕见类别(<3%)进行分组 | ✅ | 官方模块归并 20 子类 → 5 类、VS/RS 亚型 → REG/IR/PRS |
| 8 | 偏倚评估已完成 | ⚠️ | 原论文未正式评估;Raumanns 2026 与 Derm7pt+ 2026 社区补位 |
| 9 | 有完整的数据字典 | ⚠️ | 无独立数据字典文档;字段语义散见论文 Table I 与 GitHub 模块 |
| 10 | 对"信息性缺失"有明确编码解释 | ⚠️ | breslow/ulceration 仅 MEL 有值属结构性缺失,未正式文档化 |
| 11 | 数据采集设备和设置已记录 | ⚠️ | 图像规格与三中心来源明确,具体皮肤镜型号未公开 |
| 12 | 已移除完全共线性变量 | ❌ | seven_point_score 与七点标签完全共线,仍保留在 meta.csv(泄漏源) |
| 13 | 对编码的映射标准已说明 | ✅ | 七点标签映射 Argenziano 1998 评分规则,论文 Table I 全量给出 |
| 14 | 对时间戳的处理已明确说明 | ⚠️ | 无病例级采集日期,仅有图集出版年代信息 |
| 15 | 训练/验证/测试划分建议已给出 | ✅ | 官方 413/203/395 固定索引随数据发布 |
| 16 | 数据泄漏风险已被讨论 | ⚠️ | 官方未讨论;本百科 §5.3/§6.5 补齐 |
| 17 | 标签分布已被分析 | ✅ | 论文 Table I 给出全量计数(§4.2 转载) |
| 18 | 选择性测量偏倚已被讨论 | ⚠️ | 教学图集选例偏倚在综述文献有讨论,官方未文档化 |
| 19 | 外部验证建议已给出 | ⚠️ | 官方未提供;社区惯例(ISIC→Derm7pt 外测)成熟 |
| 20 | 数据更新和版本信息已记录 | ⚠️ | 单一 release_v0,无变更日志;2018 年后无更新 |
| 21 | 最小必要预处理脚本已提供 | ✅ | 官方 derm7pt Python 模块 + minimal_example.py + notebooks |
| 22 | 合规使用要求已明确 | ✅ | CC BY-NC-ND 4.0 在下载页明确标注 |
| 23 | 多模态对齐方法已说明 | ✅ | 病例级配对(同 case_num);缺失临床图的替换策略见论文 |
| 24 | 去标识化方法已被记录 | ⚠️ | 图像为皮损局部不含面部,但无正式去标识化文档 |
DAIMS 评分:17.5 / 24
评分解读:良好——官方划分、官方加载器、完整标签计数与明确许可证构成扎实底座;扣分集中在文档化的历史欠账(无独立数据字典、无缺失编码规范、无变更日志)与一个必须主动防御的泄漏列。
对你意味着什么:Derm7pt 的 12 个 ✅ 项全部落在"机器学习可直接消费"的关键路径上——固定划分、官方预处理模块、完整的标签-得分映射、病例级多模态对齐、明确许可证。扣分项里只有一个是真正的工程地雷:seven_point_score 与标签完全共线却保留在 meta.csv 中,任何特征工程前必须显式剔除(§6.5 坑点 2)。其余 ⚠️ 多为"官方没说、社区已补"的文档欠账——概念一致性上限(Derm7pt+)、人口学清洗记录(Raumanns 2026)、指标口径混乱(SkinM2Former 复现协议)——本百科 §6.5 的 8 个坑点即是对这些欠账的系统补齐。上手路径:下载 release_v0 → 跑通 minimal_example → 用官方划分 + 多种子协议开始实验。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部测试集变化 | 关键发现 |
|---|---|---|---|---|---|
| HAM10000 训练 → Derm7pt 皮肤镜子集(零样本) | 多中心(dataset-dependence 研究) | 皮肤病变分类 | 集成模型 + 概率校准 | 明显下降 | 跨数据集域差真实存在;模型集成与校准是已知缓解手段(semiquark1/skin) |
| ISIC 训练 → Derm7pt 全库(人口学偏倚研究) | Raumanns et al. 2026(TU/e 等) | 良/恶二分类外部评估 | 按性别分层 | 分层差异可测 | Derm7pt 是检验 ISIC 模型性别公平性的标准外测场之一 |
| MONET 零样本概念标注 vs Derm7pt 监督模型 | Stanford/UW(Nature Medicine 2024) | 皮肤镜概念标注 | 皮肤科医师验证的概念准确性 | 与监督模型相当 | 图文基础模型无需微调即可复现七点概念级标注,验证 Derm7pt 概念体系的锚点地位 |
| Derm7pt 概念空间自洽性检验(粗糙集) | TU/e(Scientific Reports 2026) | 硬概念瓶颈诊断 | 理论精度上限 | 上限客观存在 | 305 个概念画像中的不一致案例为纯概念诊断设定可证明的天花板 |
Derm7pt 在 2026 年还值得用吗? 值得——但定位要准。它是多模态融合与可解释概念模型的标准考场,不是大规模预训练燃料。1,011 例的规模决定了它适合"评测与方法论研究",不适合"从零训练大模型";用于后者时,正确姿势是 ISIC 预训练 + Derm7pt 微调/评测。
§8 基准性能与生态
§8.1 排行榜(官方划分,test 集)
口径:全部结果为官方 413/203/395 划分上的 5 分类任务;DIAG = 诊断类别平均准确率(%),AVG = 8 任务类别平均准确率均值(%)。多次运行结果标注均值 ± 标准差。
| 排名 | 模型 | DIAG | AVG | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|---|
| 1 | SkinM2Former | 77.85±0.09 | 77.27±0.47 | 2025 | Swin-T 三模态交叉注意力(TMCT)+ 多标签相关建模 + 不平衡鲁棒训练 | Zhang Y, Xie Y, Wang H, Avery JC, Hull ML, Carneiro G. “A Novel Perspective for Multi-modal Multi-label Skin Lesion Classification.” WACV 2025. arXiv:2409.12390 | — |
| 2 | FusionM4Net | 77.6±1.5 | 76.3±0.7 | 2022 | 多阶段训练 + 验证集决策权重搜索的晚期融合 | Tang P et al. “FusionM4Net: A multi-stage algorithm integrating multimodal multi-task learning for skin lesion diagnosis.” Information Fusion, 2022 | — |
| 3 | TFormer | 77.5±0.2 | 76.2±0.5 | 2022 | 纯 Transformer 双分支层级融合(HMT)+ 图文后融合(MTP);注:原文自报 80.03/77.99,表中为 10 次运行复现值 | Zhang Y, Xie F, Chen J. “TFormer: A throughout fusion transformer for multi-modal skin lesion diagnosis.” arXiv:2211.11393 | https://github.com/zylbuaa/TFormer |
| 4 | AMFAM | 75.4 | 76.0 | 2022 | 注意力多模态融合对齐 | 转引自 SkinM2Former Table 2(arXiv:2409.12390) | — |
| 5 | Kawahara Inception_CB(官方基线) | 74.2 | 73.7 | 2019 | 双 Inception-V3 晚期融合 + 多模态多任务损失组合 | Kawahara J, Daneshvar S, Argenziano G, Hamarneh G. “Seven-Point Checklist and Skin Lesion Classification using Multitask Multimodal Neural Nets.” IEEE JBHI 23(2):538-546, 2019. DOI: 10.1109/JBHI.2018.2824327 | https://github.com/jeremykawahara/derm7pt |
| 6 | HcCNN | 69.9 | 74.9 | 2020 | 超图卷积分层分类 | 转引自 SkinM2Former Table 2 | — |
| 7 | EmbeddingNet | 68.6 | 71.7 | 2018 | 度量学习嵌入 | 转引自 SkinM2Former Table 2 | — |
| 8 | TripleNet | 68.6 | 72.7 | 2017 | 三联网络嵌入 | 转引自 SkinM2Former Table 2 | — |
Kawahara 官方基线分项准确率(test,%):BWV 87.1 / PN 70.9 / VS 79.7 / RS 77.2 / STR 74.2 / DaG 60.0 / PIG 66.1 / DIAG 74.2。
七点推断黑色素瘤(Kawahara x_combine 口径):阈值 t=1 → 敏感性 96.0% / 特异性 36.1%;阈值 t=3 → 敏感性 69.3% / 特异性 77.6%。这精确复现了七点检查法的临床设计意图——低阈值优先召回,高阈值平衡误报。
数值不可直接比较的注意事项:(1) 单次运行与多次运行均值存在 2-3 个百分点的系统性差距(TFormer 案例);(2) DIAG 与 AVG 是不同指标;(3) 827 例 MEL/NEV 二分类文献(CBE/MICA 等)不在本表口径内;(4) 本表全部结果转引自各论文及 SkinM2Former 的复现汇编(其 Table 2 注明复现协议)。
§8.2 SOTA 总结与选型建议
| 如果你… | 推荐方案 | 为什么 |
|---|---|---|
| 快速建立可比基线 | Kawahara 官方模块 + 双 ResNet-50 晚期融合 | 与 74.2% 文献锚点直接可比,一天内完成 |
| 冲击多模态 SOTA | SkinM2Former 架构(Swin-T + TMCT) | 当前官方划分榜首(AVG 77.27%),端到端无需多阶段训练 |
| 研究可解释/CBM | 硬/软概念瓶颈 + Derm7pt+ 清洗清单 | 概念一致性理论分析完备,审稿人认可度高 |
| 验证临床可用性叙事 | 预测概念 → 七点规则推断黑色素瘤,报 t=1/t=3 双阈值 | 输出直接对应临床检查表,易与皮肤科沟通 |
| 外部验证现有模型 | 冻结 ISIC 模型 → Derm7pt 皮肤镜子集零样本 | 社区标准外测路径,domain shift 结论可发表 |
§8.3 官方评测协议
原论文协议:官方 413/203/395 固定划分;多任务输出(DIAG 5 分类 + 7 标准多分类);报各标准与诊断的准确率;黑色素瘤双路径评估(直接诊断分类 vs 七点得分推断,t=1 与 t=3 双阈值)。社区演进协议(推荐):DIAG + AVG 双指标、类别平均准确率、≥3 个随机种子报均值 ± 标准差、声明任务口径(1,011 全量 / 827 子集)。
§8.4 相关数据集
| 数据集 | 关系 | 说明 |
|---|---|---|
| EDRA Interactive Atlas of Dermoscopy | 前身 | 2000 年出版的教学图集(CD-ROM 1,039 图),Derm7pt 的图像与标注源头 |
| Derm7pt+ | 派生清洗版 | 2026 年 TU/e 发布,粗糙集概念一致性过滤,服务 CBM 研究 |
| HAM10000 | 互补 | 10,015 张皮肤镜单模态;常与 Derm7pt 互作外测 |
| ISIC 2018-2024 系列 | 互补 | 大规模单模态训练燃料;Derm7pt 是其概念维度的补充 |
| PH² | 同类 | 200 张皮肤镜 + 特征标注 + 分割掩码,规模过小仅作辅助外测 |
| SkinCon / Fitzpatrick17k | 互补 | 临床照片概念标注 + 肤色标签,补 Derm7pt 的公平性盲区 |
| DDI | 互补 | 深肤色临床照片,检验 Derm7pt 训练模型的肤色泛化 |
§8.5 关键论文 Top 10
- Kawahara J, Daneshvar S, Argenziano G, Hamarneh G (2019), IEEE JBHI 23(2):538-546. “Seven-Point Checklist and Skin Lesion Classification using Multitask Multimodal Neural Nets.” — 数据集本体与官方基线,权威引用入口。DOI: 10.1109/JBHI.2018.2824327
- Argenziano G et al. (1998), Arch. Dermatol. 134(12):1563-1570. “Epiluminescence microscopy for the diagnosis of doubtful melanocytic skin lesions. Comparison of the ABCD rule of dermatoscopy and a new 7-point checklist based on pattern analysis.” — 七点检查法的临床源头,理解标签语义的必读文献。
- Argenziano G et al. (2000), Edra Medical Publishing. “Interactive Atlas of Dermoscopy”(专著/CD-ROM)— 数据集图像与标注的原始出处。
- Zhang Y, Xie Y, Wang H, Avery JC, Hull ML, Carneiro G (2025), WACV. SkinM2Former — 当前官方划分榜首(AVG 77.27%),三模态交叉注意力 + 多标签相关建模。arXiv:2409.12390
- Zhang Y, Xie F, Chen J (2022). TFormer — 纯 Transformer 全程融合架构;其原文与复现数字的差异是小样本基准方法学的经典教材。arXiv:2211.11393
- Tang P et al. (2022), Information Fusion. FusionM4Net — 多阶段多任务融合,DIAG 77.6% 的高水位线。
- Kim C et al. (2024), Nature Medicine 30:1154-1165. MONET — 图文基础模型将 Derm7pt 列为核心概念评测集,确立其概念锚点地位。
- Nápoles G, Grau I, Salgueiro Y (2026), Scientific Reports. “Concept Inconsistency in Dermoscopic Concept Bottleneck Models: A Rough-Set Analysis of the Derm7pt Dataset.” — 概念一致性理论分析与 Derm7pt+ 清洗版。arXiv:2604.19323
- Raumanns R et al. (2026). “Effect of Demographic Bias on Skin Lesion Classification.” — Derm7pt 人口学字段清洗记录与性别分层外测协议。arXiv:2606.03214
- Patrício C et al. (2023). CBE 概念解释模型(MEL/NEV 827 子集口径)— 概念一致性损失 + 分割注意力的可解释诊断代表工作。
§8.6 社区活跃度
| 维度 | 数据 |
|---|---|
| Google Scholar 引用(Kawahara 2019) | 750+(截至 2026-09) |
| GitHub 官方仓库 | 92 stars / 19 forks / 9 open issues(截至 2026-09,API 快照) |
| 基准文献链 | Kawahara 2019 → HcCNN 2020 → FusionM4Net/TFormer 2022 → SkinM2Former 2025,连续多年刷榜 |
| 基础模型采用 | MONET(Nature Medicine 2024)概念评测集;皮肤分割基础模型亚组分析(ICCVW 2025) |
| 派生数据集 | Derm7pt+(2026,TU/e,Scientific Reports 配套) |
| 教学采用 | 皮肤镜七点法教学与医疗 AI 课程的常用数据集 |
§8.7 生态快照
| 资源 | 类型 | 链接 | Star/Fork(截至 2026-09) | 为什么值得关注 |
|---|---|---|---|---|
| jeremykawahara/derm7pt | 官方代码 | https://github.com/jeremykawahara/derm7pt | 92 / 19 | 官方加载器:低频标签归并、数值编码、minimal_example 与完整 notebooks |
| zylbuaa/TFormer | 模型代码 | https://github.com/zylbuaa/TFormer | 活跃 | 多模态 Transformer 基准复现入口 |
| gnapoles/Consistent-Derm7pt | 派生数据 | https://github.com/gnapoles/Consistent-Derm7pt | 2026 新建 | Derm7pt+ 概念一致性清洗版 + 粗糙集分析代码 |
| suinleelab/MONET | 预训练模型 | https://github.com/suinleelab/MONET | 高影响力 | 图文基础模型,含 Derm7pt 概念评测脚本与权重 |
| EPVT / Skin-DG benchmark | 基准套件 | https://github.com/SiyuanYan1/EPVT-and-Skin-DG-benchamrk | 活跃 | 将 Derm7pt 双模态作为域泛化测试域的标准管道 |
| derm.cs.sfu.ca | 官方主页 | http://derm.cs.sfu.ca | — | 下载入口、七点标准汇总图、全库缩略图预览 |
§9 相关资源与引用
官方资源
- 数据集主页:http://derm.cs.sfu.ca
- 下载(密码保护):http://derm.cs.sfu.ca/restricted/release_v0.zip
- 密码申请表单:https://forms.gle/iPnCEVkUKYwWYALh9
- 官方加载器:https://github.com/jeremykawahara/derm7pt
- 许可证:CC BY-NC-ND 4.0(https://creativecommons.org/licenses/by-nc-nd/4.0/)
BibTeX 引用
% 1) 数据集论文(使用 Derm7pt 必须引用)
@article{Kawahara2018-7pt,
author = {Kawahara, Jeremy and Daneshvar, Sara and Argenziano, Giuseppe and Hamarneh, Ghassan},
title = {Seven-Point Checklist and Skin Lesion Classification using Multitask Multimodal Neural Nets},
journal = {IEEE Journal of Biomedical and Health Informatics},
volume = {23},
number = {2},
pages = {538--546},
year = {2019},
doi = {10.1109/JBHI.2018.2824327}
}
% 2) 七点检查法临床原始文献(涉及七点标签语义时引用)
@article{argenziano1998seven,
author = {Argenziano, Giuseppe and Fabbrocini, Gabriella and Carli, Paolo and De Giorgi, Vincenzo and Sammarco, Elena and Delfino, Mario},
title = {Epiluminescence microscopy for the diagnosis of doubtful melanocytic skin lesions. Comparison of the ABCD rule of dermatoscopy and a new 7-point checklist based on pattern analysis},
journal = {Archives of Dermatology},
volume = {134},
number = {12},
pages = {1563--1570},
year = {1998}
}
% 3) 如使用 Derm7pt+ 概念一致性清洗版
@article{napoles2026derm7ptplus,
author = {N{\'a}poles, Gonzalo and Grau, Isel and Salgueiro, Yenisel},
title = {Concept Inconsistency in Dermoscopic Concept Bottleneck Models: A Rough-Set Analysis of the Derm7pt Dataset},
journal = {Scientific Reports},
year = {2026},
note = {E-pub ahead of print; arXiv:2604.19323}
}
% 4) 如引用 MONET 概念评测结论
@article{kim2024monet,
author = {Kim, Chanwoo and Gadgil, Soham U. and DeGrave, Alex J. and Omiye, Jesutofunmi A. and Cai, Zhuo Ran and Daneshjou, Roxana and Lee, Su-In},
title = {Transparent medical image AI via an image-text foundation model grounded in medical literature},
journal = {Nature Medicine},
volume = {30},
pages = {1154--1165},
year = {2024},
doi = {10.1038/s41591-024-02887-x}
}
教程与学习资源
- 官方 minimal_example 与完整 notebooks:https://github.com/jeremykawahara/derm7pt(含七点标准分类示例)
- ISIC 2020 Workshop 多任务学习教程幻灯片(Derm7pt 多标签建模入门):https://workshop.isic-archive.com/2020/
- MONET 概念评测脚本:https://github.com/suinleelab/MONET(含 Derm7pt 基准管道)
- Derm7pt+ 粗糙集分析代码与清洗清单:https://github.com/gnapoles/Consistent-Derm7pt
原始论文
- Kawahara J, Daneshvar S, Argenziano G, Hamarneh G. “Seven-Point Checklist and Skin Lesion Classification using Multitask Multimodal Neural Nets.” IEEE Journal of Biomedical and Health Informatics 23(2):538-546, 2019. DOI: 10.1109/JBHI.2018.2824327. PMID: 29993994.
- Argenziano G, Fabbrocini G, Carli P, De Giorgi V, Sammarco E, Delfino M. “Epiluminescence microscopy for the diagnosis of doubtful melanocytic skin lesions.” Archives of Dermatology 134(12):1563-1570, 1998.
- Argenziano G et al. “Interactive Atlas of Dermoscopy.” Edra Medical Publishing, 2000(专著与 CD-ROM)。
- Kim C et al. “Transparent medical image AI via an image-text foundation model grounded in medical literature.” Nature Medicine 30:1154-1165, 2024. DOI: 10.1038/s41591-024-02887-x.
§10 AI 使用声明卡
§10.1 AI 模型使用
| AI 模型 | 版本 | 用途 |
|---|---|---|
| deep-model(WorkBuddy) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09-05 | 7 组检索:论文与引用量核实、规模与划分交叉验证、七点标准计数、下载与 license 原文、SOTA 对比表、2026 新动态、ICD-11/SNOMED 编码 |
§10.2 AI 参与范围
AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。
AI 在本页面的工作中负责:(1) 从 derm.cs.sfu.ca 官方页面、Kawahara 2019 原始论文、GitHub 官方仓库与社区文献中整理结构化信息;(2) 生成 §6 的 Python 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。
§10.3 输入来源
- Kawahara et al. (2019), IEEE JBHI 23(2):538-546 — 数据集原始论文(DOI: 10.1109/JBHI.2018.2824327,含 Table I 全量标签计数与 413/203/395 划分说明)
- derm.cs.sfu.ca 官方主页与下载页 — “over 2000 images”、“2045 images”、release_v0.zip 下载机制、CC BY-NC-ND 4.0 license 原文
- github.com/jeremykawahara/derm7pt — 官方加载器 README、BibTeX、minimal_example 用法;GitHub API 快照(92 stars / 19 forks,截至 2026-09)
- PubMed PMID: 29993994 — 论文元数据核实
- Google Scholar 引用快照 — 750+ 引用(截至 2026-09,两个镜像快照交叉)
- Argenziano et al. (1998), Arch. Dermatol. 134(12):1563-1570 — 七点检查法原始定义(3 主标准 ×2 分 + 4 次标准 ×1 分,阈值 3)
- Zhang Y et al. (2024/2025), SkinM2Former, arXiv:2409.12390 — SOTA 对比 Table 2 全量数字、划分内诊断分布、评估口径定义
- Zhang Y, Xie F, Chen J (2022), TFormer, arXiv:2211.11393 — 原文自报指标与标签统计表
- ICBES 2020(EECSS proceedings)多数据集训练论文 — Kawahara 基线分项准确率与七点推断敏感性/特异性引用
- Nápoles G, Grau I, Salgueiro Y (2026), arXiv:2604.19323 + Scientific Reports + TU/e 机构页 — 305 概念画像、Derm7pt+ 发布信息
- Raumanns R et al. (2026), arXiv:2606.03214 — 人口学字段清洗记录(sex 全量、age 弃用、良恶性性别构成)
- SFU 皮肤病分割综述(arXiv:2206.00356)— EDRA 图集规格(1,039 图、1024×683、三中心)与 derm7pt 公开化历史
- Kim C et al. (2024), Nature Medicine 30:1154-1165 — MONET 将 Derm7pt 列为评测集(DOI: 10.1038/s41591-024-02887-x)
- CFCML 论文 — MEL/NEV 827 子集的划分内分布(train 346 / val 161 / test 320)
- WHO ICD-11 中文站 / KEGG ICD-11 表 / DermNet — ICD-11 编码(2C30/2C32/2F20/2E63.0)与 SNOMED CT(372244006 等)核实
- semiquark1/skin — HAM10000 → Derm7pt 零样本外测路径
- AxDante/skin-lesion-dataset-analysis — 同类数据集横向对比参数复核
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED 映射、七点法定义、金标准) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §3 数据集规格(规模、划分、溯源链) | 千方病案医学编辑部 | 与官方页面及论文交叉比对 | ✅ 已验证 |
| §4 数据结构(meta.csv 字段、DAIMS 字典、标签分布) | 千方病案医学编辑部 | 与论文 Table I 及官方模块交叉比对 | ✅ 已验证 |
| §5 数据划分策略 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §6 代码示例与坑点 | 千方病案医学编辑部 | 逻辑审查 + 与官方模块及社区文献比对 | ✅ 已通过 |
| §7 质量评估与 DAIMS 评分 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 排行榜与引用数表述 | 千方病案医学编辑部 | 与各原文及 Scholar 快照交叉比对 | ✅ 已验证 |
| §C JSON-LD @graph | 千方病案医学编辑部 | Schema v3.9 字段逐项校验 | ✅ 已通过 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§3.0 版本抉择矩阵、§6.0-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.5 公平性评估代码、§7.7 DAIMS 评估表与评分、§8.7 生态快照、§C JSON-LD。
§10.6 最后审核
最后一次人工审核日期:2026-09-05
页面状态:published(全部内容已完成审核并发布)
