SCIN — 众包真实世界皮肤影像 AI-Ready Wikipedia | 千方病案医数集

10,408 张众包皮肤状况照片与加权鉴别诊断标注,覆盖美国公众常见皮肤病谱

来源 Google Research 与 Stanford Medicine url: https://github.com/google-research-datasets/scin发布时间: 2026-09-08最后更新: 2026-09-08 阅读 3

信息速览

数据集名称SCIN — 众包真实世界皮肤影像 AI-Ready Wikipedia | 千方病案医数集
数据类型约 10,408 张 PNG 照片,5,033 个贡献案例,12.6 GB 免费开放下载,加权鉴别诊断标注
规模5,033 个公众贡献案例(约 5,000 余名美国志愿者)
接入方式Google Research 与 Stanford Medicine url: https://github.com/google-research-datasets/scin
AI 就绪度

数据集封面

SCIN(谷歌皮肤状况影像网络)— 众包真实世界皮肤病影像 AI-Ready Wikipedia


INFOBOX

字段 内容
数据集名称 SCIN(Skin Condition Image Network,皮肤状况影像网络)
英文全称 SCIN: Skin Condition Image Network
别名/简称 SCIN Dataset、谷歌 SCIN、dx-scin-public-data
疾病分类(ICD-11) EA88 特应性皮炎、EA89 接触性皮炎、EA90 银屑病、EA80 痤疮、第 1 章感染性皮肤病(代表性示例,见 §2.1)
SNOMED CT 24079001(特应性皮炎)、43116000(接触性皮炎)、90140009(银屑病)等(见 §2.1b)
数据模态 众包皮肤/指甲/毛发自拍照(近距离特写、斜角、远景三档)+ 自报元数据
AI 任务类型 多标签条件分类、加权鉴别诊断学习、肤色公平性评估、图像质量研究
样本总数 10,408 张图像 / 5,033 个贡献案例(每案例最多 3 张)
数据大小 12.6 GB
数据格式 PNG 图像 + CSV 元数据(scin_cases.csv、scin_labels.csv)
许可证 SCIN Data Use License(自定义开放许可)
访问级别 开放(GCS 公开 bucket 直接下载,无需注册)
DUO 标签 NRES(无限制研究使用,附加禁止再识别条款)
语言 英文元数据
首发日期 2024-02-20(GitHub 公开)
最后更新 2024-11-23(论文链接更新,release 1.0.0)
发布机构 Google Research 与 Stanford Medicine
官方主页 https://github.com/google-research-datasets/scin
下载地址 https://console.cloud.google.com/storage/browser/dx-scin-public-data
DOI 10.5281/zenodo.10819503
引用次数 17+(OpenAlex,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 元数据 schema 完整、官方提供演示笔记本与字段文档;扣分项:无官方 train/test 划分、加权标签需自行解析、存在重复图像与 1 个缺失文件
页面状态 published

§0 E-E-A-T 审核与信任声明

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、皮肤病流行病学、临床任务定义)、§7 偏倚分析(人群代表性、标注质量、公平性局限)。

数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。SCIN 以 SCIN Data Use License 开放发布,禁止尝试重新识别或重新链接任何贡献者个体数据,部分图像内容敏感或具有医学图像特征。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 30 秒速览

这是什么? SCIN(Skin Condition Image Network)是谷歌与斯坦福医学院在 2023 年用 Google 搜索广告招募美国公众、由志愿者用手机自拍上传皮肤/指甲/毛发问题照片并自愿填写症状与人口学信息的众包数据集,最终发布 10,408 张图像与 5,033 个贡献案例(JAMA Network Open 2024)。每张照片配有皮肤科医生的回顾性鉴别诊断标签与置信度,以及三套肤色标签。

为什么重要? 临床皮肤影像数据集几乎都聚焦良性/恶性肿瘤、且严重偏向浅肤色;而普通人最常困扰的皮疹、过敏、感染在公开数据中几乎缺席。SCIN 的 89% 为过敏性、感染性与炎症性条件,54% 是一周内新发的早期病变,Fitzpatrick 3-6 型占比显著高于同类数据集(Google Research Blog),为常见病 AI 与肤色公平性研究提供了稀缺的真实世界基准。

我能用它做什么? 训练/评估面向真实世界自拍图像的皮肤病多标签分类器;研究肤色标签(sFST/eFST/eMST)与模型公平性;开展图像质量与标注置信度关系研究;构建患者端预分诊与科普工具原型。注意它不能替代皮肤癌筛查数据集(如 ISIC/HAM10000),也不用于临床诊断。

§1.1 摘要

SCIN 是一项 IRB 批准的前瞻性观察研究(2023 年 3 月至 11 月,8 个月)的产物:研究者将广告投放在移动端皮肤病相关搜索查询旁,成年用户点击后经数字知情同意进入图像捐献应用,提交特写与远景照片并自报年龄组、出生性别、种族/族裔、Fitzpatrick 皮肤类型(由日晒反应问题映射)、病变纹理、部位、症状与持续时间(Ward et al., JAMA Network Open 2024)。8 个月共收到 5,749 份提交,经图像安全过滤后 5,631 份(97.9%)为真实皮肤病图像,最终整理发布 5,033 个贡献案例、10,408 张 PNG 图像,总量 12.6 GB。每案例由 1-3 名皮肤科医生回顾性标注最多 3 个候选条件并给出 1-5 置信度;多标注者结果经逆秩重加权聚合为加权鉴别诊断字典(weighted_skin_condition_label)。数据集另附皮肤科医生估计 Fitzpatrick 肤色(eFST)与两地外行标注者估计的 Monk Skin Tone(eMST,1-10 级)。数据托管于 Google Cloud Storage 公开 bucket,附官方 schema 文档与 Colab 演示笔记本,以 SCIN Data Use License 开放获取。

§1.2 战略价值

维度一:补齐常见病与早期病变的公开数据真空。 临床数据集天然受就诊行为过滤——只有病情持续或严重的人才会出现在皮肤科诊所,因此公开数据里几乎找不到发病不足一天的照片。SCIN 的招募方式(搜索广告 + 自拍捐献)恰好捕捉到症状出现前的“搜索时刻”:54% 的病变在拍照前一周内出现、30% 不足一天(Google Research Blog)。这让 SCIN 成为研究“就诊前”图像分布、构建公众预分诊与自查工具的唯一大规模开放资源之一,也是对 ISIC、HAM10000 等病灶特写数据集的正交补充。

维度二:肤色与公平性研究的三重标注基础设施。 SCIN 同时提供 sFST(自报)、eFST(皮肤科医生从图像估计)与 eMST(Monk Skin Tone 1-10,印度与美国两地受训外行独立标注)三套肤色标签,并完整发布自报种族/族裔布尔列。这使其成为系统性研究“肤色标注方法本身”的实验场:论文 Figure 3C 展示了同一组图像在两地标注者之间 eMST 的差异,sFST 则包含 NONE_SELECTED 缺失值。任何需要在 Fitzpatrick/Monk 标度上做公平性审计的团队,都可以把 SCIN 当作标注方法学的对照基准。

维度三:众包建库方法的可复制模板。 论文完整披露了广告投放、数字知情同意、图像安全过滤、清晰度/曝光自动阈值(补充材料 eTable 3)、隐私移除与标注聚合的工程细节,日均 22 份提交的稳定产出证明了其可扩展性。对任何计划用互联网渠道建立患者捐献队列的团队,SCIN 提供了从伦理到数据工程的端到端参考实现。

§1.3 同类数据集横向对比

数据集 规模 模态/来源 标注 与 SCIN 的差异化
SCIN 10,408 图 / 5,033 案例 众包自拍照片(美国公众) 1-3 名皮肤科医生加权鉴别诊断 + 置信度 常见过敏/感染/炎症为主,含三套肤色标签
Fitzpatrick17k 16,577 图 / 114 条件 网络皮肤病图谱(DermAmin 等) 条件标签 + FST 图谱质量图,FST1-2 偏多(Life 2024 综述
HAM10000 10,015 图 皮肤镜(临床) 组织学/随访确认 黑色素瘤筛查专用,与 SCIN 病谱几乎正交
DDI 4,106 图 临床照片(深肤色富集) 皮肤科医生诊断 NeurIPS 2022 发布,深肤色但仍是临床场景(JAMA 论文对比对象)
SD-198 6,584 图 / 198 类 网络收集临床图 单标签 类别多但无肤色/人口学元数据
PAD-UFES-20 2,000+ 图 远程皮肤科照片 + 元数据 诊断标签 巴西远程医疗来源,同样含自报元数据(Google Blog 对比对象)

§1.4 版本时间轴

时间 事件 说明
2023-03 至 2023-11 数据采集 Google 搜索广告招募,中位 22 份/天(IQR 14-30)
2024-02-20 GitHub 仓库创建 google-research-datasets/scin 开源 schema 与演示笔记本
2024-02-28 arXiv 预印本 arXiv:2402.18545
2024-03 Zenodo DOI 注册 10.5281/zenodo.10819503
2024-05-09 Known Issues 更新 补充缺失图像说明(Issue #1
2024-11-20 JAMA Network Open 发表 Ward et al., 7(11):e2446615
2024-11-23 仓库最后更新 更新论文链接;数据 release 保持 1.0.0

§1.5 典型应用场景

  1. 真实世界皮肤病分类基线:用 SCIN 训练多标签分类器并按案例划分评估,C-Tran + 元数据已给出 mAP 82.37 的参考线(见 §8.1)。
  2. 肤色公平性审计:利用 eFST/eMST/sFST 三套标签分析模型在不同肤色层级的demographic parity 与 equalized odds(参考 SkinGPT-4 研究,见 §8.1)。
  3. 图像质量与标注置信度研究:官方发布 sharpness/exposure 阈值与置信度相关性数据(Spearman R=0.1537,P<0.001),可复现质量-置信度分析。
  4. 患者端预分诊原型:结合自报症状/时长/部位元数据与图像,构建面向公众的初步分类工具(研究用途)。
  5. 众包数据采集方法学研究:作为广告招募 + 数字同意建库的参考实现,用于设计新的患者捐献研究。

§1.5b 应用场景与数据资产映射

应用场景 依赖的核心字段 不应依赖的字段 关键风险控制
多标签分类器训练/评估 image_*_path、weighted_skin_condition_label、confidence case 级划分 + 去重(坑点 1/2)
肤色公平性审计 eFST 列族、eMST 两池列、race_ethnicity_* sFST 单独作为真值 双池分别报告(坑点 6)
图像质量/域鲁棒性研究 image_*_shot_type、sharpness/exposure 阈值(补充材料) 评估集不做增强(坑点 8)
元数据融合建模 body_parts_、condition_symptoms_、textures_* 未验证的自报诊断性字段 元数据缺失模式分析(§4.5)
医学教育/科普 全字段 + 官方博客图文 图像敏感内容提示

§2 医学背景

§2.1 ICD-11 编码映射表

SCIN 的条件标签为皮肤科医生自由文本条件名(发布前做同义规范化),未内置 ICD-11 编码。下表给出加权标签中高频条件的代表性 ICD-11 映射(SCIN 相关章节:ICD-11 第 14 章 皮肤疾病 EA80-EA9Z 及感染章节 1E35 等):

SCIN 条件类别(代表) ICD-11 编码 中文名称 备注
Eczema / Atopic dermatitis EA88 特应性皮炎 加权标签示例中 Nummular eczema、Eczematous dermatitis 均映射至 Eczema 族
Contact dermatitis EA89 接触性皮炎 SCIN 中占条件分布约 10.05%(Life 2024 综述转述
Psoriasis EA90 银屑病 标注示例条件之一
Acne EA80 痤疮 related_category 自报字段中的 ACNE 类
Cutaneous infections 第 1 章(感染性疾病) 皮肤感染类 占条件分布约 21.81%(细菌/病毒/真菌性皮肤感染,具体病原按 1E 系细分编码)
Urticaria EA91 荨麻疹 过敏性条件代表

§2.1b SNOMED CT 映射表

条件/标签 ICD-11 SNOMED CT 码 术语(Fully Specified Name)
Atopic dermatitis EA88 24079001 Atopic dermatitis (disorder)
Contact dermatitis EA89 43116000 Contact dermatitis (disorder)
Psoriasis EA90 90140009 Psoriasis (disorder)
Urticaria EA91 42087000 Urticaria (disorder)

⚠️ 上表 SNOMED 码仅代表本编辑部高置信映射示例;SCIN 原始标签未做 SNOMED 归一化,使用前须以本机构术语服务复核。

§2.2 疾病简介与流行病学

SCIN 覆盖的病谱与美国公众在线搜索的皮肤困扰高度一致:以过敏性接触性皮炎、湿疹、皮肤感染(脓疱疮、癣)、荨麻疹、痤疮、良性痣/增生为主,辅以脱发、甲病、色素问题等(Google Research Blog)。论文补充材料 eTable 7 给出完整条件分布:皮肤感染约占 21.81%、接触性皮炎约 10.05%、发疹性(炎症/反应性/药物性)约 5.15%、血管性 2.24%、色素性 0.75%、甲病 0.25%、毛发 0.04%、良性肿物 3.85%、恶性/癌前仅 1.35%(Life 2024 综述转述)。

流行病学上,皮肤病是美国初级保健最高频就诊原因之一,约三分之一人口在一生中会出现需要就医的皮肤问题;特应性皮炎儿童患病率约 10-20%、成人约 1-3%,皮肤感染(如脓疱疮)在儿童中高发。这些常见病在公开影像数据中的占比却极低——临床数据集以皮肤镜下的色素性肿瘤为主,而 SCIN 恰好补上“日常皮肤病”的照片级真实分布。另一关键特征是时间窗:SCIN 中 54% 的病变在拍照前不足一周出现、30% 不足一天,这类早期病变在健康系统内几乎没有影像记录,因此对早期表现建模具有独特价值。

从自报元数据的维度看,SCIN 记录的症状分布与常见病谱一致:瘙痒(ITCHING)与外观困扰(BOTHERSOME_APPEARANCE)是最主要的就诊动因类症状;病变持续时间以 ONE_DAY 与 LESS_THAN_ONE_WEEK 档为主,构成“急性/早期”主导的病谱画像。受累部位覆盖 12 个体表区域(头颈、四肢、躯干前后、手足、生殖器/腹股沟等),其中手臂、腿部与躯干为高频区域——这与接触性皮炎、湿疹的典型分布吻合。这些元数据不仅服务于分类建模,也为流行病学视角的“公众自我报告皮肤病谱”提供了可计算的画像(dataset_schema.md)。

§2.3 临床任务定义

任务 定义 SCIN 支持度
条件识别/分类 从照片预测候选皮肤条件集合 多标签 + 置信度 + 加权鉴别诊断,天然支持 top-k 评估
鉴别诊断排序 按概率对候选条件排序 weighted_skin_condition_label 即为归一化权重字典
肤色估计 从图像估计 Fitzpatrick/Monk 肤色 eFST(3 名医生)+ eMST(两地外行池)双体系
可评级性判断 判断图像是否足以做出诊断 dermatologist_gradable_for_skin_condition_\d 布尔列
预分诊/自查 面向公众的症状-图像联合初筛 自报症状、部位、时长元数据齐备(研究用途)
皮肤癌筛查 恶性/癌前病变检出 不适用:恶性仅约 1.35%,无组织学金标准

§2.4 患者人群表

维度 分布 来源
来源 美国 Google 搜索用户(移动端,成人,数字知情同意) JAMA 2024
时间 2023-03 至 2023-11(8 个月) 同上
性别 女性 66.7%(1,732/2,596 自报者) 同上
年龄 <40 岁占 52.0%(1,329/2,556 自报者);字段为 7 档年龄组(18-29 至 80+) 同上 + dataset_schema.md
种族/族裔 非白人 32.6%(852/2,614 自报者);10 个布尔列含 TWO_OR_MORE_AFTER_MITIGATION 合并列 同上 + dataset_schema.md
肤色 sFST:FST2 40.21%、FST3 30.76%、FST4 13.64%、FST5 5.27%、FST6 0.57%、FST1 7.55%(综述转述) Life 2024
就医类型 无需就诊——搜索时刻直接捐献;54% 发病 <7 天 JAMA 2024 + Google Blog

§2.5 临床价值

对 AI 临床转化而言,SCIN 的价值在于“贴近模型真实部署环境”:移动端自拍、构图随意、光照不均、无专业摆位——这正是患者上传到远程皮肤科平台的图像形态。用临床照片训练的模型在自拍图像上性能通常显著下降,SCIN 提供了量化这一域差的公开基准。对公平性而言,SCIN 是少数在发布时即包含多体系肤色标注的数据集,可直接用于审计模型在 FST 4-6 层级的行为差异。对公共卫生与教育而言,覆盖公众最常搜索的皮肤问题、且附带症状/时长元数据,使其适合构建面向患者的科普与预分诊工具(研究用途,非诊断)。需要注意的是,SCIN 的标签是回顾性鉴别而非临床确诊,任何临床声明的权重都应低于前瞻性研究。

§2.6 金标准表

维度 内容
诊断划分 每标注者最多 3 个候选条件(按排名 1-3),每案例最多 3 名标注者
标注方式 回顾性阅片标注;1-5 整数置信度;不可评级单独打标(gradable=false 及原因)
标注者 皮肤科医生(1-3 名/案例,含斯坦福皮肤科协作团队);eMST 由印度与美国两地受训外行标注
性质 回顾性鉴别诊断,非临床确诊;无组织学/随访验证;聚合权重 = 逆秩重加权(1/0.5/0.3)求和归一化
一致性 官方未发布标注者间 Kappa;置信度随自报变量数增加而上升(Spearman R=0.1537,P<0.001)

§3 数据集规格

§3.0 版本抉择矩阵

SCIN 目前仅发布 release 1.0.0(无多版本竞争),但存在多个获取渠道。按需求选择:

你的需求 推荐渠道 大小 理由
完整官方数据 + 最新 schema GCS bucket dx-scin-public-data 12.6 GB 官方主发布渠道,含全部图像与 CSV
快速浏览字段/试运行 GitHub scin_demo.ipynb(Colab) 免下载 官方笔记本直接流式读取 GCS 样例
稳定可引用的快照 Zenodo DOI 10.5281/zenodo.10819503 视快照 DOI 引用与版本固化
已清洗的训练镜像 HuggingFace ekacare/SCIN 较小 社区转载 5,033 样本版,注意核对许可与完整性

§3.1 模态详情

  • 图像:PNG 格式消费级智能手机照片,拍摄于非受控环境(家居/户外),每案例最多 3 张,分三档取景:CLOSE_UP(特写)、AT_AN_ANGLE(斜角)、AT_DISTANCE(远景)。特写与远景组合是官方刻意设计——远景为皮肤科医生提供解剖部位上下文,论文显示可用变量越多标注置信度越高。
  • 隐私处理:发布前移除面部特征、纹身与地标性识别信息(Life 2024 综述),图像含医学敏感内容,官方 README 提示可能引起不适。
  • 自报元数据:年龄组、出生性别、种族/族裔、Fitzpatrick 皮肤类型(由日晒反应题映射)、相关类别、病变纹理(5 类)、受累部位(12 类)、条件症状(8 类)、全身症状(7 类)、持续时间(9 档)。
  • 专业标注:皮肤科医生条件标签 + 置信度、可评级性、eFST、外行 eMST(印度/美国两池)。
  • 无生理信号/病理切片:SCIN 为纯照片级影像,无皮肤镜、无组织学对应。

§3.2 按子集样本数表

子集 数量 说明
收到提交 5,749 份 8 个月广告招募总量
真实皮肤病提交 5,631 份(97.9%) 经图像安全与真实性过滤
发布贡献案例 5,033 案例 最终 release 1.0.0
发布图像 10,408 张 每案例最多 3 张
特写(CLOSE_UP) 多数案例含 ≥1 张 官方要求拍摄特写与远景
斜角(AT_AN_ANGLE) 部分案例 三档取景之一
远景(AT_DISTANCE) 多数案例含 ≥1 张 提供部位上下文
皮肤科可评级案例 未公布精确数 gradable 布尔列逐案例记录
eMST 可评级案例 未公布精确数 印度池与美国池分别记录

§3.3 格式表

文件/字段族 格式 说明
图像 PNG 存放于 GCS bucket 子目录,path 记录于 CSV
scin_cases.csv CSV(UTF-8) 案例级自报元数据 + 图像路径
scin_labels.csv CSV(UTF-8) 标签列含 List/Dict 序列化值,需按 schema 解析
scin_questions.csv CSV 用户问卷完整题目文本(schema 引用)
dataset_schema.md Markdown 官方字段文档
scin_demo.ipynb Jupyter 官方读取演示

§3.4 存储大小

全量数据约 12.6 GB(含 10,408 张 PNG 与 CSV 元数据,遇见数据集转述)。单卡实验无需全量下载——官方 Colab 支持按需读取样例;全量本地实验建议预留 30 GB 磁盘(解压 + 预处理缓存)。

§3.5 标注方式

  • 人工回顾性标注:皮肤科医生阅读案例全部图像 + 自报元数据后给出候选条件,属弱金标准(回顾性鉴别)。
  • 多标签多标注者:每案例 1-3 名标注者、每人最多 3 个条件;聚合策略为标注者内按排名逆秩重加权(第 1 名权重 1、第 2 名 0.5、第 3 名 0.3),跨标注者求和后归一化为概率和为 1 的字典。
  • 自动过滤:图像安全过滤(NSFW/非医学内容)+ 清晰度/曝光自动阈值(补充材料 eTable 3)。
  • 标签规范化:发布时对自由文本条件名做同义映射(如 Nummular eczema → Eczema),原始自由文本保留在 dermatologist_skin_condition_label_name。

§3.6 标注者资质与一致性

条件与 eFST 标注由皮肤科医生完成(协作团队含斯坦福医学院皮肤科 Dawn Siegel、Justin Ko 等);eMST 标注由受训外行完成(印度与美国两个标注池)。官方未公布标注者间一致性 Kappa 或 Fleiss 统计量;论文以“置信度与变量数/图像清晰度的相关性”替代一致性描述:置信度随自报变量数增加而上升(Spearman R=0.1537,P<0.001),与清晰度仅弱相关(P=0.01)(JAMA 2024)。使用时建议以 weighted_skin_condition_label 的权重阈值自行构建高置信子集并做敏感性分析。

§3.7 采集周期

2023 年 3 月至 11 月共约 8 个月,中位 22 份提交/天(IQR 14-30),无显著断档;数据分析于 2024 年 1-2 月完成,发布于 2024 年 2 月(JAMA 2024)。temporalCoverage 为 2023/2023。

§3.8 地域覆盖

仅覆盖美国境内 Google 搜索用户(广告仅投放美国移动端),但 eMST 标注者位于印度与美国两地,形成标注地理的对照。所有图像在美国境内拍摄,气候/光照/人群构成与美国人口普查分布相关——女性、年轻人、非白人自报者相对美国人口偏多(χ² 检验显著,见论文)。跨地域泛化(如热带皮肤病谱)不在 SCIN 覆盖范围内。

§3.9 设备规格

未约束拍摄设备——贡献者使用个人智能手机(iOS/Android 均可),分辨率、白平衡、焦距异构。官方仅通过自动 sharpness/exposure 阈值做质量下限过滤(阈值定义见 JAMA 补充材料 eTable 3),并在标注置信度分析中报告了清晰度分布(eFigure 2)。无 EXIF 标准化、无色彩校准卡,做色彩敏感任务(如肤色估计)时须自行做色域校正。

§3.10 深度溯源链

层级 环节 记录
采集 Google 搜索广告(皮肤病查询,移动端) eTable 4:月度曝光/点击率按性别年龄分解
同意 数字知情同意(IRB 批准) JAMA 方法节 + Supplement 2 数据共享声明
过滤 图像安全过滤 + 真实性审核(97.9% 通过) JAMA 结果节
隐私 移除面部特征/纹身/地标 Life 2024 综述转述
标注 1-3 名皮肤科医生 + 置信度 + gradable scin_labels.csv + eMethods 聚合公式
聚合 逆秩重加权 → weighted_skin_condition_label dataset_schema.md 示例
发布 GitHub + GCS + Zenodo DOI 官方仓库

§4 数据结构

§4.0 目录树

dx-scin-public-data/                    # gs://dx-scin-public-data(GCS 公开 bucket)
├── scin_cases.csv                      # 案例级元数据(5,033 行,一行一个贡献案例)
├── scin_labels.csv                     # 皮肤科医生标注(一行一个案例)
├── scin_questions.csv                  # 问卷题目全文
├── docs/
│   └── dataset_schema.md               # 官方字段文档(GitHub 仓库内)
└── images/                             # 图像目录(示意,按 bucket 实际结构)
    ├── {case_id}/
    │   ├── {image_1_path}.png          # CLOSE_UP / AT_AN_ANGLE / AT_DISTANCE
    │   ├── {image_2_path}.png          # 每案例最多 3 张
    │   └── {image_3_path}.png          # ⚠️ Issue #1:1 个文件缺失
    └── ...
# data_root = GCS bucket 或本地下载目录
# CSV 中 image_*_path 为相对路径,需与 data_root 拼接

§4.1 DAIMS 字段字典

字段名 类型 说明 示例值 AI 用途 观测误差/注意 信息性缺失编码 取值范围
case_id string 案例唯一标识,跨 release 稳定 case_0001 主键、按案例划分 唯一
source string 数据来源常量 SCIN 溯源 SCIN
release string 发布版本号 1.0.0 版本审计 major.minor.patch
year int 发布年份 2024 时间溯源 2024
age_group enum 自报年龄组(映射自整数年龄) AGE_30_TO_39 公平性分层 自报,存在缺失 列缺失=未自报 7 档(18-29 至 80+)
sex_at_birth enum 自报出生性别 FEMALE 公平性分层 OTHER/PREFER_NOT_TO_SAY 已合并 列缺失=未自报 FEMALE/MALE/OTHER_OR_UNSPECIFIED
fitzpatrick_skin_type enum 自报 FST(日晒反应题映射) FST3 肤色公平性 自评可靠性有限 NONE_SELECTED=无法自评 FST1-6/NONE_SELECTED
race_ethnicity_* bool 种族/族裔多选布尔列(10 列) race_ethnicity_ASIAN=1 公平性分层 低频组合已合并;可多选 全 0+PREFER 列=未答 0/1
textures_* bool 病变纹理自报(5 列) TEXTURE_RAISED_OR_BUMPY=1 元数据特征 自报主观 TEXTURE_UNSPECIFIED 0/1
body_parts_* bool 受累部位自报(12 列) BODY_PARTS_ARM=1 元数据特征 可多选 0/1
condition_symptoms_* bool 条件症状自报(8 列) CONDITION_SYMPTOMS_ITCHING=1 元数据特征 可多选 NO_RELEVANT_EXPERIENCE 0/1
other_symptoms_* bool 全身症状自报(7 列) OTHER_SYMPTOMS_FEVER=1 元数据特征 可多选 NO_RELEVANT_SYMPTOMS 0/1
related_category enum 自报相关大类 RASH 粗粒度标签 自报,非诊断 列缺失 9 值
condition_duration enum 症状持续时间 LESS_THAN_ONE_WEEK 时间分层 自报估计 UNKNOWN 9 档
image_\d_path string 图像存储相对路径(\d=1-3) images/xx/xx.png 图像加载 ⚠️ 1 个文件缺失(Issue #1) 列缺失=无该图 相对路径
image_\d_shot_type enum 取景档位 CLOSE_UP 构图分层 可缺失 列缺失 CLOSE_UP/AT_AN_ANGLE/AT_DISTANCE
dermatologist_gradable_for_skin_condition_\d bool 第 \d 名医生可评级判定(\d=1-3) True 质量过滤 ⚠️ 48 案例 gradable 但无标签 列缺失=未标注 True/False
dermatologist_skin_condition_label_name List[string] 全部医生原始条件名(可重复,重复=多人同标) [Nummular eczema, Psoriasis vulgaris] 多标签监督 自由文本+同义映射 列缺失=无标签 ≤9 项
dermatologist_skin_condition_confidence List[int] 与上表对齐的置信度 [3, 2, 1] 置信度加权 与 name 列按序对齐 列缺失 1-5
weighted_skin_condition_label Dict[str,float] 聚合加权鉴别诊断(和为 1) 训练/评估主标签 条件名已同义规范化 列缺失 权重和=1
dermatologist_gradable_for_fitzpatrick_skin_type_\d string eFST 可评级判定 YES 肤色过滤 最多 3 份 列缺失 YES/NO
dermatologist_fitzpatrick_skin_type_label_\d enum eFST 标签(第 \d 名医生) FST4 肤色公平性 与 sFST 不一致常见 列缺失 FST1-6
monk_skin_tone_label_india/us enum eMST 标签(印度/美国外行池) 6 肤色公平性 两地标签存在差异 列缺失=不可评级 1-10

§4.2 标签分布

  • 疾病大类(综述转述论文 eTable 7):皮肤感染 21.81%、接触性皮炎 10.05%、发疹性 5.15%、血管性 2.24%、色素性 0.75%、甲病 0.25%、毛发 0.04%、良性 3.85%、恶性/癌前 1.35%;总体 89% 为过敏性/感染性/炎症性条件(Life 2024)。
  • 时长:54% 发病 <7 天,30% <1 天;9 档自报 duration(Google Blog)。
  • 长尾结构:weighted_skin_condition_label 条件名经同义映射后仍为长尾分布(湿疹/皮炎/感染等头部类集中,数百个独特条件名构成尾部),稀有类建议按 §7.7 DAIMS“罕见类分组”策略聚合。
  • 肤色:sFST 以 FST2/FST3 为主(合计约 70.97%),FST6 仅 0.57%;eMST 印度/美国两池对同图标签不同(论文 Figure 3C)。

三种标签形态的解析对照(工程落地常用):

标签列 形态 解析方式 典型用途
dermatologist_skin_condition_label_name List[string],可重复且含自由文本 逗号/括号切分后去重计数 计算观测一致率、构建原始词表
dermatologist_skin_condition_confidence List[int](1-5),与 name 按序对齐 同步切分,zip 配对 置信度加权损失、高置信过滤
weighted_skin_condition_label Dict[str,float],权重和为 1 ast.literal_eval 训练主标签、top-k 评估

注意官方示例中聚合字典的条件名经过了映射(如 Nummular eczema → Eczema),因此三列的条件名词表并不一一对应;构建统一词表时以 weighted 列为主干、以原始列补充同义词映射关系。

§4.3 关键统计

统计项 数值 来源
提交→发布转化 5,749 → 5,033 案例(过滤 97.9% 真实 + 整理) JAMA 2024
每日提交 中位 22(IQR 14-30) 同上
置信度-变量数相关 Spearman R=0.1537,P<0.001 同上
重复图像 15 张重复,共出现 42 次 GitHub Known Issues
无标签但 gradable 48 案例 同上
缺失图像文件 1 个(Issue #1) 同上
总量 12.6 GB / 10,408 PNG 遇见数据集

§4.4 数据层级

贡献者(约 5,000+ 名,未单独发布贡献者 ID)
└── 贡献案例 case(5,033 个)—— 主键 case_id,所有标注/元数据的聚合单元
    ├── 图像 image(10,408 张,≤3 张/案例,shot_type 三档)
    ├── 皮肤科标注 label(1-3 名标注者 × ≤3 条件 + 置信度)
    │   └── 聚合标签 weighted_skin_condition_label(每案例 1 个字典)
    └── 肤色标注(sFST 自报 1 份;eFST ≤3 份;eMST 印度/美国各 ≤1 份)

数据层级的核心约束:同一案例的多张图像与多条标注共享同一 case_id,任何训练/评估划分都必须在 case 层级进行(详见 §5.3)。

§4.5 缺失值与信息性缺失编码表

字段族 缺失形态 信息性含义 建议处理
age_group / sex_at_birth / race_ethnicity_* 列缺失(sometimes present) 用户选择不自报 → 系统性缺失(更可能敏感群体) 勿删除行;公平性分析单列 UNKNOWN 组
fitzpatrick_skin_type = NONE_SELECTED 枚举值 用户认为 7 个日晒反应选项均不符 → 自评失败信号 视为“自评不可用”,改用 eFST
related_category / condition_duration 列缺失 用户跳过 缺失指示特征
image_2_path / image_3_path 列缺失 该案例仅提交 1-2 张图 Dataset 类按非空 path 动态加载
dermatologist_gradable_for_skin_condition_\d 列缺失 该案例标注者不足 3 名 用可用标注者均值
weighted_skin_condition_label 列缺失 不可评级或多条件冲突(48 案例 gradable 但无标签) 从训练集剔除,评估集单独统计
monk_skin_tone_label_india/us 列缺失 对应标注池判为不可评级 两池分别统计,勿混池平均

缺失值处理的总体原则:SCIN 的“sometimes present”设计意味着每列的缺失率本身就是信息——自报字段的缺失与隐私顾虑、用户交互疲劳相关,而标注字段的缺失与可评级性判断相关。建议在数据卡片(datasheet)中随代码一起发布每个关键列的缺失率表,并在分层评估时将 UNKNOWN/缺失作为显式分组,而不是默认丢弃。


§5 划分与使用建议

§5.1 官方划分

官方未提供 train/val/test 划分,仅发布完整数据与 schema(GitHub README)。这是 SCIN 与 MIMIC 系列、ISIC 竞赛数据的关键差异——所有对比实验都必须自建划分并完整披露划分脚本。

§5.2 社区惯例划分

  • 按案例随机划分:arXiv:2409.09520 采用按案例随机划分并取最高权重标签,防止同案例多图泄漏(arXiv)。
  • 元数据条件化评估:C-Tran 研究将 body_parts 与 condition_symptoms 元数据组作为输入,对比含/不含元数据的 mAP 差异(IJDS 2025)。
  • 置信度阈值子集:多篇工作按 weighted label 最高权重或置信度 ≥4 构建高置信子集;注意这会系统性改变类别分布(见坑点 5)。

§5.3 划分策略建议与泄漏风险

  1. 案例级分层划分(必须):以 case_id 为最小划分单元,按 weighted label 头部类做分层抽样,推荐 70/15/15。
  2. 去重优先(必须):划分前按图像内容哈希去重——官方已知 15 张重复图共出现 42 次(GitHub Known Issues),若同图跨 train/test,指标将被人为抬高。
  3. 贡献者不可用:数据未发布贡献者 ID,无法做贡献者级划分;同一贡献者多次提交的可能性不可排除,报告指标时应声明此局限。
  4. 禁止按图像划分:同案例 3 张图(特写/斜角/远景)互为近似副本,按图划分会导致 train/test 近重复,多标签 AUROC 可虚高数个百分点。
  5. 时间感知划分(可选):以 year/采集月(需从 release 推断)做时间外推验证,评估部署漂移。

§5.4 交叉验证建议

长尾多标签场景推荐 5 折分层交叉验证:以出现频次 ≥50 的头部条件做迭代分层(iterative stratification),稀有条件允许折间分布波动;同时固定一个按 eFST 分层的外层划分用于公平性报告。所有折统计(类别频次、肤色分布)应随代码发布。

§5.5 外部验证建议

  • 跨域临床验证:在 HAM10000/ISIC 上评估 SCIN 预训练特征(预期:常见病表征迁移好,肿瘤任务弱)。
  • 跨域图谱验证:Fitzpatrick17k 的 FST 5-6 子集检验肤色泛化。
  • 远程医疗域验证:PAD-UFES-20(巴西来源 + 自报元数据)检验“自拍 + 元数据”范式跨文化迁移。
  • 深肤色临床域:DDI 检验深肤色表现(注意 DDI 为临床照片域,存在域差)。
  • 结果解读遵循 §7.8 外部验证矩阵框架,域差导致的性能下降应与标签体系差异解耦分析。

§5.6 划分决策速查表

你的实验目的 推荐划分 关键控制
论文主表(方法对比) case 级 70/15/15 + 头部 20 类分层 内容哈希去重 + 划分脚本随论文发布
元数据消融 同上固定划分,仅切换输入特征 同一随机种子,禁止重划
公平性审计 外层按 eFST 分层 + 内层同主表 每肤色格报告样本量与置信区间
时间外推 按采集月份前 80% 训练 / 后 20% 测试 需自行从 release/year 推断并声明粒度
高置信子集分析 权重最高项 ≥0.5 的案例子集 同时报告全量口径(坑点 5)
与他人结果对比 不合并数字,标注子集与协议差异 引用 §8.1 不可比性说明

§6 AI 就绪指南

§6.0 云端快速启动

SCIN 托管于 GCS 公开 bucket,无需注册即可用 gsutil/gcloud 读取,官方提供 Colab 演示笔记本

# 方式一:gsutil 直接列出/下载
gsutil ls gs://dx-scin-public-data/
gsutil -m cp -r gs://dx-scin-public-data ./scin_data   # 全量约 12.6 GB

# 方式二:Colab 中按需读取单文件(免全量下载)
# !gsutil cp gs://dx-scin-public-data/scin_cases.csv .

§6.1 快速上手

以下代码假设目录结构为 ./scin_data/{scin_cases.csv, scin_labels.csv, images/...}——data_root 与 CSV 内 image_*_path 直接拼接即得图像绝对路径;最小可用子集为 scin_cases.csv + scin_labels.csv 两个 CSV(约数 MB),可先跑通标签解析再按需拉取图像。

# 环境要求:pandas、ast、Pillow;无需 GPU 即可运行本节
# 目录结构预期:
#   scin_data/
#   ├── scin_cases.csv      # 案例元数据
#   ├── scin_labels.csv     # 皮肤科标注
#   └── images/...          # 图像(可与 data_root 拼接 image_*_path 得到)
import pandas as pd, ast

data_root = "./scin_data"   # data_root 与 image_*_path 拼接 = 图像路径

cases = pd.read_csv(f"{data_root}/scin_cases.csv")
labels = pd.read_csv(f"{data_root}/scin_labels.csv")
df = cases.merge(labels, on="case_id", how="inner")

# 1) 解析加权鉴别诊断字典(字符串形式的 Dict[str, float])
def parse_weighted(s):
    try:
        d = ast.literal_eval(s) if isinstance(s, str) else {}
        return {str(k).strip(): float(v) for k, v in d.items()}
    except (ValueError, SyntaxError):
        return {}

df["weighted_label"] = df["weighted_skin_condition_label"].apply(parse_weighted)
has_label = df["weighted_label"].apply(len) > 0
print(f"有加权标签的案例: {has_label.sum()} / {len(df)}")   # 预期约 4,985+(剔除 48 个矛盾案例)

# 2) top-1 主标签:仅取权重最高且唯一最大者(并列则弃用,参考 arXiv:2409.09520)
def top1(d):
    if not d:
        return None
    m = max(d.values())
    keys = [k for k, v in d.items() if v == m]
    return keys[0] if len(keys) == 1 else None
df["top1_label"] = df["weighted_label"].apply(top1)
print(df["top1_label"].value_counts().head(10))

# 3) 构建可用图像清单(自动跳过 Issue #1 的缺失文件)
import os
rows = []
for _, r in df.iterrows():
    for i in (1, 2, 3):
        p = r.get(f"image_{i}_path")
        if isinstance(p, str) and os.path.exists(os.path.join(data_root, p)):
            rows.append({"case_id": r["case_id"], "path": os.path.join(data_root, p),
                         "shot_type": r.get(f"image_{i}_shot_type"),
                         "label": r["top1_label"]})
img_df = pd.DataFrame(rows)
print(f"可用图像: {len(img_df)}")

§6.2 数据获取

项目 内容
渠道 GCS 公开 bucket dx-scin-public-data(无需注册、无需申请)
大小 12.6 GB
格式 PNG 图像 + CSV 元数据
镜像 Zenodo DOI 10.5281/zenodo.10819503;HuggingFace ekacare/SCIN(社区版,注意核对完整性)
许可 SCIN Data Use License(开放使用、禁止再识别)
# 全量下载(约 12.6 GB,建议在云端或大磁盘环境执行)
gsutil -m cp -r gs://dx-scin-public-data ./scin_data

# 校验清单:下载后确认 10,408 张图像 + 2 个核心 CSV 齐全
find ./scin_data -name "*.png" | wc -l
ls -la ./scin_data/*.csv
# ⚠️ 已知 1 个图像文件缺失(GitHub Issue #1):path 存在于 CSV 但文件不存在,
# 加载时务必 os.path.exists 校验(见 §6.1 代码第 3 步)。

§6.3 预处理全流程

# 预处理流水线:校验 → 清洗 → 标准化 → 增强
# 输入:§6.1 得到的 img_df(case_id/path/shot_type/label)
import hashlib
from PIL import Image, ImageOps
import torch
from torchvision import transforms

# 1) 内容哈希去重:官方已知 15 张重复图共出现 42 次
def file_md5(path, chunk=1 << 20):
    h = hashlib.md5()
    with open(path, "rb") as f:
        for b in iter(lambda: f.read(chunk), b""):
            h.update(b)
    return h.hexdigest()

img_df["md5"] = img_df["path"].apply(file_md5)
img_df = img_df.drop_duplicates(subset="md5", keep="first").reset_index(drop=True)
print(f"去重后图像: {len(img_df)}")   # 剔除约 27 张重复副本

# 2) 尺寸统计与最小尺寸过滤(自拍图像异构,先查分布)
sizes = [Image.open(p).size for p in img_df["path"].sample(min(500, len(img_df)))]
MIN_SIDE = 224
keep = [s for s in sizes if min(s) >= MIN_SIDE]

# 3) 标准化 transform:自拍图像无色卡,用 ImageNet 统计量并加轻度几何/色彩增强
train_tf = transforms.Compose([
    transforms.RandomResizedCrop(224, scale=(0.7, 1.0)),
    transforms.RandomHorizontalFlip(),
    transforms.ColorJitter(0.2, 0.2, 0.2),        # 模拟光照/白平衡漂移
    transforms.ToTensor(),
    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
])
eval_tf = transforms.Compose([
    transforms.Resize(256),
    transforms.CenterCrop(224),
    transforms.ToTensor(),
    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
])

§6.4 PyTorch DataLoader 完整代码

# 案例级划分 + 多标签 Dataset;超过 30 行的完整脚本已折叠
import numpy as np
import pandas as pd
from collections import Counter
from sklearn.model_selection import StratifiedShuffleSplit
from torch.utils.data import Dataset, DataLoader

class SCINDataset(Dataset):
    """多标签 SCIN 数据集:一行 = 案例的一张可用图像。
    多标签向量基于 weighted_skin_condition_label 权重 > 0 的条件集合;
    label_vocab 须由训练集构建后传入,保证三折一致。
    """
    def __init__(self, frame, label_vocab, transform=None):
        self.frame = frame.reset_index(drop=True)
        self.vocab = {c: i for i, c in enumerate(label_vocab)}
        self.transform = transform

    def __len__(self):
        return len(self.frame)

    def __getitem__(self, idx):
        row = self.frame.iloc[idx]
        img = Image.open(row["path"]).convert("RGB")
        if self.transform:
            img = self.transform(img)
        target = torch.zeros(len(self.vocab))
        for cond in row["label_set"]:
            if cond in self.vocab:
                target[self.vocab[cond]] = 1.0
        return img, target

def build_case_splits(img_df, top1_col="label", seed=42):
    """按 case_id 唯一化后做头部类分层划分(70/15/15),图像随案例走。"""
    case_df = img_df.drop_duplicates("case_id").copy()
    case_df["label_set"] = case_df[top1_col].apply(
        lambda x: [x] if isinstance(x, str) else [])
    head = [c for c, n in Counter(
        [x for ls in case_df["label_set"] for x in ls]).most_common(20)]
    strat = case_df[top1_col].apply(
        lambda x: x if x in head else "OTHER")
    tr_idx, tmp_idx = next(StratifiedShuffleSplit(
        1, test_size=0.30, random_state=seed).split(case_df, strat))
    tmp_strat = strat.iloc[tmp_idx]
    va_idx, te_idx = next(StratifiedShuffleSplit(
        1, test_size=0.50, random_state=seed).split(
        case_df.iloc[tmp_idx], tmp_strat))
    cases_tr = set(case_df.iloc[tr_idx]["case_id"])
    cases_va = set(case_df.iloc[tmp_idx].iloc[va_idx]["case_id"])
    cases_te = set(case_df.iloc[tmp_idx].iloc[te_idx]["case_id"])
    masks = {"train": img_df.case_id.isin(cases_tr),
             "val": img_df.case_id.isin(cases_va),
             "test": img_df.case_id.isin(cases_te)}
    return {k: img_df[m].copy() for k, m in masks.items()}

<details>
<summary>完整训练循环(点击展开)</summary>

# 端到端训练循环:DenseNet-121 多标签 + BCEWithLogitsLoss
import torch.nn as nn
from torchvision import models

device = "cuda" if torch.cuda.is_available() else "cpu"
splits = build_case_splits(img_df)
label_vocab = sorted({c for ls in splits["train"]["label_set"] for c in ls})
loaders = {k: DataLoader(SCINDataset(v, label_vocab, train_tf if k == "train" else eval_tf),
                         batch_size=32, shuffle=(k == "train"),
                         num_workers=4, pin_memory=True)
           for k, v in splits.items()}

model = models.densenet121(weights="IMAGENET1K_V1")
model.classifier = nn.Linear(model.classifier.in_features, len(label_vocab))
model.to(device)
opt = torch.optim.AdamW(model.parameters(), lr=3e-4, weight_decay=1e-4)
crit = nn.BCEWithLogitsLoss()

for epoch in range(10):
    model.train()
    for x, y in loaders["train"]:
        x, y = x.to(device), y.to(device)
        opt.zero_grad()
        loss = crit(model(x), y)
        loss.backward()
        opt.step()
    model.eval()
    subset_acc, n_batches = 0.0, 0
    with torch.no_grad():
        for x, y in loaders["val"]:
            pred = (torch.sigmoid(model(x.to(device))) > 0.5).float().cpu()
            subset_acc += (pred == y).all(dim=1).float().mean().item()
            n_batches += 1
    print(f"epoch {epoch}: val subset accuracy={subset_acc / max(n_batches, 1):.3f}"
          "(按类别指标见 §6.9)")

</details>

§6.5 坑点 8 个(真实失败模式)

⚠️ 坑点 1:同案例多图 + 官方重复图导致按图划分的静默泄漏(分类:数据泄漏)

问题:每个案例最多 3 张图(特写/斜角/远景),互为同一病灶的近似副本;官方还确认 15 张图像重复出现共 42 次(GitHub Known Issues)。若按图像随机划分,近重复图会同时落入 train 与 test。
症状:多标签 AUROC/mAP 好得可疑;对同一 case 的不同图像预测几乎一致;换一批未见过的案例性能骤降。
解决

  1. 简单方法:一切划分以 case_id 为最小单元(groupby("case_id") 后划分,图像随案例走)。
  2. 进阶方法:先对全部图像计算感知哈希/MD5 去重(保留 42→15),再做 case 级 StratifiedGroup 划分(§6.4 build_case_splits)。
  3. SOTA 方法:按图像嵌入聚类(如 ViT 特征 + 凝聚聚类)识别跨案例近重复,将同簇案例约束在同侧,并在论文中报告去重前后指标差。
    参考GitHub Known IssuesarXiv:2409.09520(按 case 随机划分防泄漏)。

⚠️ 坑点 2:weighted_skin_condition_label 是聚合字典而非分类标签(分类:标签理解)

问题:主标签列是 Dict[str, float](权重和为 1),由 1-3 名医生的逆秩重加权(1/0.5/0.3)聚合而来;条件名经过同义映射(Nummular eczema、Eczematous dermatitis → Eczema),与原始列 dermatologist_skin_condition_label_name 的自由文本不一致(dataset_schema.md)。
症状:直接 pd.Series.nunique() 统计标签会高估类别数;把原始名与聚合名混用导致同类分裂;把权重当概率解释进损失函数后训练不稳定。
解决

  1. 简单方法ast.literal_eval 解析字典,取 argmax 为 top-1 标签,忽略权重。
  2. 进阶方法:多标签训练时以“权重 > 阈值(如 0.1)”构建正类集合;评估时按权重做加权 top-k。
  3. SOTA 方法:把权重作为 soft label 训练(KL/BCE with soft targets),并在类别体系上先做同义词归一(官方映射不完整,需自建词表对齐 ICD-11/SNOMED)。
    参考dataset_schema.md 聚合公式;JAMA 补充材料 eMethods。

⚠️ 坑点 3:48 个“可评级但无标签”案例与多条件冲突(分类:标签理解)

问题:官方确认 48 个案例被标记为 gradable 但没有任何皮肤状况标签——它们因“多条件并存”被判 ungradable,状态字段与标签字段出现矛盾(GitHub Known Issues)。
症状gradable=Trueweighted_label 为空 的案例混入训练集触发静默 NaN;统计“可评级案例数”与“有标签案例数”对不上。
解决

  1. 简单方法:训练/评估前强制过滤 gradable & 无标签 案例(约 48 个)。
  2. 进阶方法:将它们单独保留为“多条件/难例”评估桶,报告模型在这些案例上的 top-k 覆盖率,作为鉴别能力上限的敏感性分析。
  3. SOTA 方法:对多条件案例改用集合预测(set prediction)评估,避免强行单标签化。
    参考GitHub Known Issues

⚠️ 坑点 4:1 个图像文件缺失,path 存在但文件不存在(分类:工程陷阱)

问题:GitHub Issue #1 确认有 1 个图像文件在 GCS 中缺失,但其路径仍写在 CSV 里(Issue #1)。
症状PIL.Image.open 在数据集遍历中途抛 FileNotFoundError,多进程 DataLoader 下报错栈难定位到具体 case。
解决

  1. 简单方法:加载前 os.path.exists 过滤(§6.1 第 3 步)。
  2. 进阶方法:Dataset __getitem__ 内 try/except 回退到同案例其他 shot_type 图像,并记录降级清单。
  3. SOTA 方法:构建本地清单缓存(parquet 记录每图 md5/尺寸/存在性),任何环境先校验清单再训练。
    参考GitHub Issue #1

⚠️ 坑点 5:置信度阈值过滤会系统性扭曲类别分布(分类:预处理陷阱)

问题:皮肤科医生置信度与条件类型相关(常见病置信度高、罕见病低),且置信度随自报变量数增加(Spearman R=0.1537,P<0.001,JAMA 2024)。用“置信度 ≥4”或“最高权重 ≥0.5”过滤后,稀有类被不成比例剔除。
症状:过滤后长尾类别数量骤减甚至消失;与未过滤基线对比时性能差异主要来自分布变化而非方法改进。
解决

  1. 简单方法:同时报告全量与高置信子集两套指标。
  2. 进阶方法:按类别分层设置置信度阈值(头部严格、尾部宽松),保持各类样本量比例。
  3. SOTA 方法:把置信度作为样本权重或不确定性标签建模(evidential learning),不做硬过滤。
    参考JAMA 2024 Figure 2IJDS 2025(仅用置信度 4 的 718 样本导致性能受限)。

⚠️ 坑点 6:自报 Fitzpatrick 的 NONE_SELECTED 与 eMST 双池差异(分类:偏倚陷阱)

问题:sFST 由日晒反应题映射,官方明确 NONE_SELECTED 意味着用户无法自评(自评可靠性有限,dataset_schema.md);eMST 由印度与美国两个外行标注池独立给出,同图标签存在系统差异(JAMA Figure 3C)。
症状:把 sFST 直接当真值做公平性分析会引入自评噪声;混合两池 eMST 取平均产生无物理意义的中间色调。
解决

  1. 简单方法:公平性分析优先用 eFST;sFST 的 NONE_SELECTED 单列为 UNKNOWN 组而非剔除。
  2. 进阶方法:对 eMST 两池分别报告公平性指标,量化标注地理对结论的影响。
  3. SOTA 方法:用 eFST/eMST 与自报种族列做交叉校准,构建肤色不确定性区间(多标注者一致时才作为硬分组)。
    参考dataset_schema.mdJAMA 2024

⚠️ 坑点 7:拿 SCIN 评估皮肤癌模型是错误的任务匹配(分类:评估误用)

问题:SCIN 的 89% 为过敏性/感染性/炎症性条件、恶性仅约 1.35% 且无组织学验证(Life 2024 综述),与 ISIC/HAM10000 的肿瘤筛查任务几乎正交。
症状:在 SCIN 上微调的模型报告“黑色素瘤 AUROC”完全无意义;ISIC 模型在 SCIN 上性能暴跌被误读为模型差,实为域与任务双重错配。
解决

  1. 简单方法:把 SCIN 定位为常见病 + 真实世界自拍域的基准,与肿瘤基准并列报告、不互替。
  2. 进阶方法:做跨域迁移实验时固定特征提取器、只换分类头,将域差与任务差解耦。
  3. SOTA 方法:构建“SCIN(常见病)+ ISIC(肿瘤)”联合评测套件,报告各域分组指标。
    参考Google Research BlogJAMA 2024 eTable 8

⚠️ 坑点 8:自拍图像质量异构与面部移除痕迹(分类:预处理陷阱)

问题:消费级手机照片存在模糊/曝光异常(官方以 sharpness/exposure 阈值过滤,见 eTable 3/eFigure 2),且发布前移除了面部特征/纹身/地标,部分图像存在处理痕迹或解剖上下文缺失;医生标注置信度与清晰度仅弱相关(P=0.01),说明质量不是标注信心的唯一驱动。
症状: aggressive 中心裁剪把远景图中的关键病灶裁掉;对模糊图做强锐化放大伪影;训练集与推理时用户实拍图质量不匹配导致线上性能低于离线。
解决

  1. 简单方法:按 shot_type 分别设定裁剪策略(特写轻度裁剪、远景保留全局),评估集不做任何增强。
  2. 进阶方法:训练时加入质量模拟增强(高斯模糊/曝光扰动/压缩噪声),提升对低质量实拍图的鲁棒性。
  3. SOTA 方法:先用质量回归头预测可用性,低质量样本路由到“重拍提示”,模仿真实产品闭环。
    参考JAMA 补充材料 eTable 3/eFigure 2arXiv:2510.00055(SCIN 自拍域上的 VLM 偏倚研究)。

§6.6 数据增强(安全与危险)

增强 安全性 说明
随机水平翻转 ✅ 安全 皮肤病多数左右对称,仅部位敏感任务(手足)需检查标签
ColorJitter(亮度/对比度 ±0.2) ✅ 安全 模拟自拍光照漂移,提升真实域鲁棒性
RandomResizedCrop(scale 0.7-1.0) ⚠️ 谨慎 特写图安全;远景图可能裁掉病灶,按 shot_type 区分
高斯模糊/压缩噪声 ✅ 安全 模拟低质量实拍,属于域适配增强
垂直翻转 ❌ 危险 违反解剖方位常识,部位元数据矛盾
强色彩偏移(hue ±0.3+) ❌ 危险 破坏红斑/色素沉着色调,直接破坏肤色标签语义
灰度化 ❌ 危险 摧毁色素性条件与肤色信息
弹性形变 ❌ 危险 畸变皮损形态,改变诊断特征

针对自拍域的质量模拟增强示例(可在 §6.3 train_tf 中按概率插入):

# 域适配增强:模拟真实用户上传图像的退化路径
import torchvision.transforms as T

quality_tf = T.Compose([
    T.RandomApply([T.GaussianBlur(kernel_size=3, sigma=(0.1, 1.5))], p=0.2),
    T.RandomAdjustSharpness(sharpness_factor=2.0, p=0.1),      # 过度锐化伪影
    T.RandomAutocontrast(p=0.1),                                # 手机自动模式
])
# 拼接顺序:quality_tf → RandomResizedCrop → ColorJitter → Normalize
# 评估集禁止使用以上任何退化/增强(eval_tf 保持确定性)。

§6.7 模型推荐表

模型 适用场景 输入 备注
DenseNet-121 / EfficientNet-B0 单图多标签基线 224×224 医学图像标准基线,SCIN 域收敛快
ViT-B/16(ImageNet 预训练) 数据较充足的特征学习 224×224 长尾类上配合 focal loss
C-Tran(Transformer 多标签) 图像 + 元数据联合 图像 + body_parts/symptoms 官方参考:含元数据 mAP 82.37 vs 不含 47.02
BiomedCLIP / Derm Foundations 零样本/线性探针 224×224 评估皮肤域预训练表征
SkinGPT-4 类 VLM 生成式诊断与偏倚研究 图像 + 提示 已有 SCIN 肤色偏倚分析(arXiv:2510.00055)

§6.8 硬件需求表

配置 显存 适用
CPU CSV 解析、清单构建、评估脚本
单卡 T4/3060(12 GB) 12 GB EfficientNet-B0/DenseNet-121 @ 224,batch 32
单卡 A100(40 GB) 40 GB ViT-B/16 @ 384、混合精度、多标签大词表
多卡 2×A100 80 GB VLM 微调(LoRA)与公平性扫描

§6.9 评估指标代码

# 多标签指标:macro/micro AUROC + 加权 top-k + 按肤色分组公平性
import numpy as np, torch
from sklearn.metrics import roc_auc_score

@torch.no_grad()
def evaluate(model, loader, vocab, device="cuda"):
    model.eval()
    Y, P, FST = [], [], []
    for x, y, fst in loader:                     # loader 需同时返回 eFST 分组
        P.append(torch.sigmoid(model(x.to(device))).cpu())
        Y.append(y); FST.append(fst)
    P, Y, FST = torch.cat(P).numpy(), torch.cat(Y).numpy(), torch.cat(FST).numpy()
    aucs = {}
    for j, c in enumerate(vocab):
        if Y[:, j].sum() > 0 and Y[:, j].sum() < len(Y):
            aucs[c] = roc_auc_score(Y[:, j], P[:, j])
    macro = float(np.mean(list(aucs.values())))
    micro = roc_auc_score(Y, P, average="micro")
    # 按肤色分组的 macro-AUROC(公平性审计)
    per_fst = {}
    for g in np.unique(FST):
        m = FST == g
        if m.sum() > 50:
            per_fst[str(g)] = float(np.mean([
                roc_auc_score(Y[m, j], P[m, j])
                for j in range(len(vocab))
                if 0 < Y[m, j].sum() < m.sum()]))
    return {"macro_auc": macro, "micro_auc": micro,
            "per_fst_macro_auc": per_fst, "per_class": aucs}

§6.10 MLOps 笔记

  • 版本固化:以 Zenodo DOI(10.5281/zenodo.10819503)+ 本地 md5 清单双锚定数据版本;实验配置记录 release=1.0.0。
  • 清单即代码:把 §6.1 的可用图像清单(含 md5/存在性)存为 parquet 并入 git-lfs/dvc,任何训练可复现。
  • 漂移监控:线上实拍图的 shot_type 分布、置信度分布与 SCIN 训练分布做 PSI 监控;自拍域漂移远快于临床域。
  • 伦理审计钩子:每次发布模型附带 per-FST 指标表(§6.9 输出),公平性退化阻断发布。
  • 许可合规:SCIN Data Use License 禁止再识别,下游产品需保留去标识化声明与来源引用(§9 BibTeX)。

§7 质量评估与局限性

§7.1 已知偏倚表

偏倚类型 描述 严重程度 缓解建议
选择偏倚(人群) 女性 66.7%、<40 岁 52.0%、Google 搜索用户、智能手机拥有者偏多(JAMA 2024 公平性分析按性别/年龄分层;跨人群部署前做外部验证
选择偏倚(数字可达性) 广告渠道天然排除低数字素养/无智能手机人群 明示结论边界;补充线下队列验证
标签偏倚 回顾性鉴别诊断非确诊;置信度与变量数相关(R=0.1537) 用权重阈值构建高置信子集做敏感性分析
病谱偏倚 89% 过敏/感染/炎症,恶性 1.35%;不能代表肿瘤筛查场景 高(任务错配时) 与 ISIC 系并列使用、不互替(坑点 7)
肤色标注偏倚 sFST 自评含 NONE_SELECTED;eMST 印度/美国两池不一致 用 eFST 做主分析,两池 eMST 分别报告(坑点 6)
时间窗偏倚 54% <7 天早期病变,慢性病长期随访表现欠采样 按 condition_duration 分层评估
数据完整性 15 重复图(42 次)、1 缺失文件、48 无标签矛盾案例 低-中 去重 + 存在性校验 + 过滤(坑点 1/3/4)

§7.2 标注质量

标注质量的核心证据链:97.9% 提交被确认为真实皮肤病图像;皮肤科医生按统一协议(每人 ≤3 条件 + 1-5 置信度)标注;官方发布聚合公式(eMethods)。但官方未发布标注者间一致性统计(Kappa/Fleiss),无法直接引用 IAA 数字——这是使用 SCIN 时必须在论文中声明的局限。可用替代做法:利用多标注者重复出现的条件名(dermatologist_skin_condition_label_name 中的重复项)自行计算观测一致率;或按置信度分布(1-5)做加权一致性建模。与临床确诊(活检/随访)相比,回顾性鉴别的天花板明确,官方在博客中反复强调“标签不等同临床诊断”(Google Blog)。

§7.3 泛化性评估表

部署场景 失效风险 证据/机制
医院内临床照片 域反转:SCIN 是自拍域,临床摆位/背景/设备完全不同
远程医疗 App 实拍 低-中 与 SCIN 同为自拍域,但人种群/设备分布可能不同
深肤色人群(FST 5-6) FST6 仅 0.57%,深肤色尾部样本少;eMST 双池差异提示标注不确定性
肿瘤筛查 极高 恶性 1.35% 且无病理金标准(坑点 7)
儿童皮肤病 仅招募成人(18+),儿童病变缺直接覆盖
非美国人群 广告仅投放美国;气候/病谱/肤色分布不可迁移假设

§7.4 伦理

数据采集经 IRB 批准,全部贡献者完成数字知情同意(JAMA 2024)。发布前移除面部特征、纹身与地标信息;许可证明确禁止再识别或重链接个体。图像含医学敏感内容,官方 README 提示可能敏感/不适。肤色与种族字段为自报+标注估计的组合,任何对族裔群体的分析结论都应谨慎表述,避免强化刻板印象。未成年人不可参与(仅成人),相关儿科应用需另行评估。

§7.5 公平性

SCIN 的公平性资产与风险并存。资产:三套肤色标签(sFST/eFST/eMST)+ 10 列种族/族裔自报 + 7 档年龄 + 出生性别,构成公开皮肤数据集中最完整的公平性标注面板;已有研究用其在 Fitzpatrick 层级上量化 VLM 的 demographic parity(arXiv:2510.00055:最浅与最深肤色差 0.10-0.15)。风险:样本量随肤色加深衰减(FST6 仅 0.57%、FST5 5.27%),深肤色子集的统计功效有限;eMST 双池差异本身就是需要建模的对象而非真值。建议报告公平性指标时同时给出每格样本量与置信区间。

自报肤色分布一览(综述转述,画像用途):

sFST 层级 占比 公平性分析含义
FST1 7.55% 最浅组,样本充足
FST2 40.21% 最大组,统计功效最高
FST3 30.76% 次大组
FST4 13.64% 中等样本,适合主分析
FST5 5.27% 小样本,需合并或加权处理
FST6 0.57% 极小样本(数十例量级),仅做描述性统计
NONE_SELECTED 未公布 自评失败组,单列为 UNKNOWN

§7.6 数据漂移

SCIN 采集于 2023 年 3-11 月的美国单一渠道(Google 搜索广告)。潜在漂移源:(1) 手机摄像与图像质量的代际变化;(2) 皮肤病谱的季节与年度波动(采集期含夏秋);(3) 搜索广告生态与用户行为变化;(4) 公众对 AI 医疗产品的认知变化影响捐献意愿。部署监控建议:按 shot_type/时长/部位元数据分布做 PSI 月度监控;对“线上低置信样本”回流做主动学习闭环时,注意回流分布会进一步偏移(见坑点 5 的置信度-类别耦合)。

§7.7 DAIMS 24 项检查表

# 检查项 状态 说明
1 宽格式 scin_cases.csv 一行一案例,布尔列展开的宽表设计
2 唯一标识 case_id 全局唯一且跨 release 稳定
3 特殊字符 ⚠️ 标签列含 List/Dict 序列化字符串与方括号,需 ast 解析
4 重复行 官方确认 15 张重复图(42 次);行级无重复但图像级有
5 缺失编码 ⚠️ sometimes present + NONE_SELECTED + 全 0 多选列三种形态并存
6 标签标识 ⚠️ 标签为回顾性鉴别 + 权重,非确诊金标准
7 罕见类分组 长尾条件名未提供官方分组;TWO_OR_MORE_AFTER_MITIGATION 仅种族列有合并
8 偏倚评估 论文提供人群/病谱/FST 分布与普查对照(χ² 检验)
9 数据字典 dataset_schema.md 完整字段文档
10 信息性缺失解释 官方明确 NONE_SELECTED/OTHER_OR_UNSPECIFIED 的语义
11 设备记录 未记录手机型号/参数,仅有 sharpness/exposure 阈值过滤
12 共线性 ⚠️ 同案例 3 图高度相关;textures/symptoms 布尔列间存在关联
13 编码映射 ⚠️ 条件名有内部同义映射但未提供 ICD-11/SNOMED 官方对照
14 时间戳处理 ⚠️ 仅有 year 字段与 duration 分档,无采集日期
15 划分建议 官方无 train/test 划分,需自建(§5)
16 泄漏讨论 ⚠️ 官方披露重复图问题但未讨论划分泄漏;需自行处理
17 标签分布 eTable 7/9 给出条件与 FST 分布
18 测量偏倚 ⚠️ 标注置信度与变量数相关性已量化(R=0.1537);IAA 未公布
19 外部验证建议 论文与多个公开数据集做了分布对比(eTable 8)
20 版本记录 release 字段 + major.minor.patch 规则 + Zenodo DOI
21 预处理脚本 官方 scin_demo.ipynb(读取演示);训练级脚本需自建
22 合规要求 SCIN Data Use License + IRB/知情同意披露完整
23 多模态对齐 图像与元数据按 case_id/image path 严格对齐
24 去标识化 面部/纹身/地标移除;禁再识别条款

DAIMS 评分:16.0 / 24(24 项中 ✅ 12 项计 12 分、⚠️ 8 项计 4 分、❌ 4 项计 0 分,合计 16.0)

评分解读:SCIN 在数据字典、版本记录、去标识化、信息性缺失解释、多模态对齐、合规披露等"元数据工程"维度全部满分,反映出工业级数据集的规范水准。失分集中在四处硬伤:图像级重复未清理(❌ 重复行)、长尾条件无官方分组(❌ 罕见类分组)、未记录拍摄设备(❌ 设备记录)、无官方 train/test 划分(❌ 划分建议);另有标签为回顾性鉴别、条件名无 ICD-11/SNOMED 官方对照、时间戳仅到年份等八项半分局限。16.0/24 属于"研究可用性良好、生产部署需补工程"的水平。

对你意味着什么:(1) 可以直接把 SCIN 当作公平性与真实世界域研究的可靠底座——字典与去标识化无需你补课;(2) 上手第一天就要写三个脚本:内容哈希去重、case 级划分、48 个矛盾案例过滤,缺一个都会污染实验结论;(3) 若要做类目管理,预留时间自建条件名词表并映射 ICD-11/SNOMED(官方同义映射不完备);(4) 论文里必须声明"回顾性鉴别标签、无标注者间一致性统计"的局限,审稿人必问;(5) 若目标是产品化,设备信息缺失意味着你需要自采一批带 EXIF 的校准数据补齐域描述。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
SCIN 内部分类(参考线) Google/Stanford 五大类单标签分类 ViT+SAM 概念模型优于 ViT 基线 基准 取最高权重标签、按 case 划分(arXiv:2409.09520
C-Tran + 元数据 独立学术团队 多标签分类 mAP 82.37 / accuracy 70.83%(含元数据)vs 47.02 / 34.72%(不含) 元数据贡献 +35 mAP 身体部位与症状元数据是最强增益组(IJDS 2025
SkinGPT-4 肤色公平性 独立团队(EADV/SID) 6 类常见病诊断 + 公平性 微调后 F1 0.75 / AUROC 0.78;demographic parity 最优 0.83-0.90 原始 VLM parity 0.10,跨肤色差 0.10-0.15 SCIN 微调显著缓解深肤色偏差(arXiv:2510.00055
Fitzpatrick17k / PAD-UFES-20 / DDI / SKINL2(分布对照) 多方 条件与 FST 分布对比 非性能指标 SCIN FST3-6 占比更高 证实临床数据集浅肤色偏斜、SCIN 病谱互补(JAMA 2024 eTable 8/9

§8 基准性能与生态

§8.1 排行榜

SCIN 无官方竞赛与统一榜单;以下为公开文献报告的代表结果(数值基于不同子集/划分/标签体系,不可直接互相比较):

排名 模型 性能 年份 关键技术 完整引用 代码
1 Modified C-Tran(+元数据) mAP 82.37 / accuracy 70.83% 2025 Transformer 多标签 + body_parts/symptoms 元数据融合 Pratiwi, H., Nafiudin, F., Handajani, S., Respatiwulan, R., Susanti, Y & Nirwana, M., 2025, International Journal of Data and Network Science 9(4):957-966. DOI: 10.5267/j.ijdns.2025.5.012 未公开
2 Modified C-Tran(无元数据) mAP 47.02 / accuracy 34.72% 2025 同上消融组 同上 未公开
3 SkinGPT-4 微调 F1 0.75 / precision 0.78 / AUROC 0.78 2025 VLM 微调 + 公平性约束(300 案例 6 类) Nijjer, K., Bui, R., Jiu, D., Ahmed, A., Wang, P., Zhu, K. & Zhu, L., 2025, arXiv:2510.00055(EADV/SID 接收) 未公开
4 SAM 增强概念模型 vs ViT SCIN 五类分类优于 ViT top-k 基线 2024 SAM 局部概念 + 交叉注意力 Ding, Z. et al., 2024, arXiv:2409.09520 未公开

数值不可直接比较的原因:各工作使用不同样本子集(718 例 vs 五大类 vs 300 案例)、不同标签粒度(top-1 vs 多标签)、自建划分与不同指标(mAP vs F1 vs AUROC)。

§8.2 SOTA 总结与选型建议

现有证据的共同结论:(1) SCIN 的自报元数据(部位、症状)携带大量判别信息,融合元数据可带来超过 30 mAP 的增益——这是 SCIN 区别于纯图像数据集的最大红利;(2) 在 SCIN 自拍域上微调的模型能显著缓解通用模型(如 SkinGPT-4)的肤色偏差;(3) 尚无大规模基础模型以 SCIN 为主要训练集的公开报告,其角色更接近“评估基准 + 公平性试验场”。选型建议:以 C-Tran 式图像+元数据融合为强基线;公平性研究优先设计按 eFST 分组的消融;特征学习用 ViT/DenseNet 家族即可,暂无需更大容量。

面向不同研究目标的落地路径:

研究目标 起步方案 进阶方向
常见病分类基线 DenseNet-121 + top-1 标签 + case 划分 C-Tran 式元数据融合、soft label 训练
公平性审计 per-FST macro-AUROC(§6.9 代码) 多标注不确定性建模、双池 eMST 差异分析
域泛化研究 临床数据集预训练 → SCIN 线性探针 域对抗/风格不变表征学习
VLM 评测 SCIN 高置信子集 + 结构化提问 按肤色分层的 demographic parity 报告(arXiv:2510.00055 协议)

§8.3 评测协议

建议协议:case 级 70/15/15 分层划分(头部 20 类分层)+ 内容哈希去重;标签按 weighted dict 权重 >0.1 构建多标签集合;主指标 macro-AUROC 与 mAP,辅以 per-FST macro-AUROC;报告全量与高置信(最高权重 ≥0.5)双口径;所有划分与解析代码随论文发布。对比他人结果时声明子集差异(§8.1 不可比性说明)。

数据集 规模 来源 与 SCIN 关系
Fitzpatrick17k 16,577 图 / 114 条件 网络图谱 肤色分布对照(浅肤色偏多)
DDI 4,106 图 临床(深肤色富集) 深肤色临床域对照
HAM10000 / ISIC 10,015+ / 70,000+ 图 皮肤镜 肿瘤任务专用,与 SCIN 正交互补
SD-198 6,584 图 / 198 类 网络临床图 多类单标签对照
PAD-UFES-20 2,000+ 图 + 元数据 巴西远程医疗 自报元数据范式对照
SkinCAP 4,000 图 Fitzpatrick17k/DDI 子集 VLM 标注型对照

§8.5 关键论文 Top 6

  1. Ward, A., Li, J., Wang, J., et al., 2024, JAMA Network Open 7(11):e2446615. DOI: 10.1001/jamanetworkopen.2024.46615 — SCIN 主论文:广告众包方法、人群与病谱分析、发布细节。
  2. Ward, A., et al., 2024, arXiv:2402.18545 — 方法学预印本(Crowdsourcing Dermatology Images with Google Search Ads)。
  3. Pratiwi, H., et al., 2025, International Journal of Data and Network Science 9(4):957-966 — SCIN 多标签分类 + 元数据融合首个系统消融(mAP 82.37 vs 47.02)。
  4. Nijjer, K., et al., 2025, arXiv:2510.00055 — 用 SCIN 量化 SkinGPT-4 肤色偏倚并微调缓解(EADV/SID)。
  5. Ding, Z., et al., 2024, arXiv:2409.09520 — SAM 增强可解释概念发现在 SCIN 五类的验证。
  6. Daneshjou, R., et al., 2022, NeurIPS Datasets & Benchmarks(DDI 论文)— 深肤色临床对照数据集,SCIN 论文的主要对比系之一。

§8.6 社区活跃度

官方 GitHub 仓库 106 stars、10 forks、2 个 open issues(截至 2025-03 快照,ecosyste.ms);仓库无 release/无包发布,issues 均为数据完整性反馈且获官方回应。社区生态以 HuggingFace 镜像(ekacare/SCIN)与独立论文引用为主,2024-2025 年论文引用稳步增长(OpenAlex 17+,截至 2026-09)。无官方论坛;技术问题通过 GitHub issues 与论文通讯(联系表单)提交。

§8.7 生态快照表

资源 类型 链接 Star/热度 推荐理由
google-research-datasets/scin 官方仓库 GitHub 106(截至 2025-03) 数据入口 + schema + Known Issues
scin_demo.ipynb 官方教程 GitHub Colab 免下载上手
dataset_schema.md 官方文档 GitHub 字段唯一权威定义
dx-scin-public-data GCS bucket Google Cloud 全量 12.6 GB 下载
Zenodo DOI 数据快照 Zenodo 可引用版本固化
JAMA 论文 方法论文 JAMA Network Open 17+ 引用(截至 2026-09) 方法与统计权威来源
ekacare/SCIN 社区镜像 HuggingFace 已清洗 5,033 样本版(自行核对完整性)

§9 相关资源与引用

§9.1 官方资源

  1. GitHub 仓库https://github.com/google-research-datasets/scin — 数据说明、Known Issues、许可证全文。
  2. Schema 文档https://github.com/google-research-datasets/scin/blob/main/dataset_schema.md — 两个 CSV 的逐字段定义与聚合公式。
  3. GCS buckethttps://console.cloud.google.com/storage/browser/dx-scin-public-data — 全量数据下载。
  4. Colab 演示https://github.com/google-research-datasets/scin/blob/main/scin_demo.ipynb — 官方读取示例。
  5. 主论文https://doi.org/10.1001/jamanetworkopen.2024.46615 — JAMA Network Open 开放获取(含 Supplement 1/2)。
  6. Zenodo DOIhttps://zenodo.org/doi/10.5281/zenodo.10819503 — 可引用数据快照。
  7. Google Research Bloghttps://research.google/blog/scin-a-new-resource-for-representative-dermatology-images/ — 项目背景与动机解读。

§9.2 BibTeX 引用

@article{ward2024scin,
  author  = {Ward, Abbi and Li, Jimmy and Wang, Julie and Lakshminarasimhan, Sriram and Carrick, Ashley and Campana, Bilson and Hartford, Jay and Sreenivasaiah, Pradeep K. and Tiyasirisokchai, Tiya and Virmani, Sunny and Wong, Renee and Matias, Yossi and Corrado, Greg S. and Webster, Dale R. and Smith, Margaret Ann and Siegel, Dawn and Lin, Steven and Ko, Justin and Karthikesalingam, Alan and Semturs, Christopher and Rao, Pooja},
  title   = {Creating an Empirical Dermatology Dataset Through Crowdsourcing With Web Search Advertisements},
  journal = {JAMA Network Open},
  volume  = {7},
  number  = {11},
  pages   = {e2446615},
  year    = {2024},
  doi     = {10.1001/jamanetworkopen.2024.46615}
}

@misc{ward2024scin_preprint,
  author       = {Ward, Abbi and Li, Jimmy and Wang, Julie and Lakshminarasimhan, Sriram and Carrick, Ashley and Campana, Bilson and Hartford, Jay and Sreenivasaiah, Pradeep K. and Tiyasirisokchai, Tiya and Virmani, Sunny and Wong, Renee and Matias, Yossi and Corrado, Greg S. and Webster, Dale R. and Smith, Margaret Ann and Siegel, Dawn and Lin, Steven and Ko, Justin and Karthikesalingam, Alan and Semturs, Christopher and Rao, Pooja},
  title        = {Crowdsourcing Dermatology Images with Google Search Ads: Creating a Real-World Skin Condition Dataset},
  year         = {2024},
  eprint       = {2402.18545},
  archivePrefix= {arXiv},
  primaryClass = {cs.CY}
}

@misc{scin_dataset_2024,
  title  = {SCIN: Skin Condition Image Network},
  author = {Google Research and Stanford Medicine},
  year   = {2024},
  doi    = {10.5281/zenodo.10819503},
  url    = {https://github.com/google-research-datasets/scin}
}

§9.3 引用指南

  • 使用数据:必须引用主论文(ward2024scin)与数据集 DOI(scin_dataset_2024)。
  • 方法学引用:讨论广告众包方法时可引用预印本(ward2024scin_preprint)。
  • 完整性声明:论文中应注明使用的 release 版本(1.0.0)、是否去重、是否过滤 48 个矛盾案例,以及划分脚本的可获取性。
  • 合规声明:注明遵守 SCIN Data Use License、无再识别尝试。

§9.4 复现实验检查清单

发布基于 SCIN 的实验结果前,逐项核对以下清单:

# 检查项 通过标准
1 数据版本 注明 release 1.0.0 与下载日期
2 图像完整性 已处理 1 个缺失文件(Issue #1),记录受影响案例
3 去重 报告内容哈希去重前后图像数(15 张重复 / 42 次出现)
4 矛盾案例 已过滤或单独报告 48 个 gradable-无标签案例
5 划分单元 明确声明 case 级划分,脚本可获取
6 标签解析 weighted dict 解析逻辑与阈值(如 0.1)已披露
7 置信度口径 全量与高置信子集双口径报告
8 肤色口径 eFST/eMST 用途声明,双池未混用
9 指标定义 macro/micro AUROC、mAP 的类别集合定义
10 合规 SCIN Data Use License 遵守声明 + 禁再识别

§10 AI 使用声明卡

§10.1 本页面使用的 AI 模型列表

环节 模型/工具 用途
资料检索与整合 大语言模型(Claude 系列) 文献汇总、结构化写作辅助
无模型训练参与 本页面不包含本地产生的模型结果

§10.2 AI 参与范围

AI 用于检索资料的归纳、初稿起草与格式统一;所有数字均核对至原始来源(JAMA 论文、官方 schema、GitHub README、arXiv 摘要);医学判断(ICD-11/SNOMED 映射、偏倚评估)与最终结论由人工审核定稿。

§10.3 输入来源列表

  1. Ward, A., et al., 2024, JAMA Network Open 7(11):e2446615. DOI: 10.1001/jamanetworkopen.2024.46615 — https://jamanetwork.com/journals/jamanetworkopen/fullarticle/2826506
  2. Ward, A., et al., 2024, arXiv:2402.18545 — https://arxiv.org/abs/2402.18545
  3. SCIN Dataset 官方 GitHub README — https://github.com/google-research-datasets/scin
  4. SCIN Dataset Description(dataset_schema.md)— https://github.com/google-research-datasets/scin/blob/main/dataset_schema.md
  5. Google Research Blog: SCIN: A new resource for representative dermatology images — https://research.google/blog/scin-a-new-resource-for-representative-dermatology-images/
  6. GitHub Issue #1(缺失图像)— https://github.com/google-research-datasets/scin/issues/1
  7. Pratiwi, H., et al., 2025, Int. J. Data and Network Science 9(4):957-966 — https://growingscience.com/beta/ijds/7717-multi-label-classification-analysis-with-modified-c-tran-on-scin-dataset.html
  8. Nijjer, K., et al., 2025, arXiv:2510.00055 — https://www.arxiv.org/abs/2510.00055
  9. Ding, Z., et al., 2024, arXiv:2409.09520 — https://arxiv.org/html/2409.09520v1
  10. Life 2024, 14(12):1602(SCIN §2.11 综述条目)— https://www.mdpi.com/2075-1729/14/12/1602/pdf
  11. OpenAlex 作品页(引用统计)— http://openalex.org/W4404567871
  12. PlumX 指标页 — https://plu.mx/plum/a?doi=10.1001/jamanetworkopen.2024.46615
  13. 遇见数据集 SCIN 条目(大小/字段汇总)— https://www.selectdataset.com/dataset/c41a5d951f5388830c195357a62efcd7

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
§2 医学背景(ICD-11/SNOMED 映射) 千方病案医学编辑部 术语源交叉核对 ✅ 已通过
§3/§4 规模数字与字段字典 千方病案医学编辑部 对照官方 schema 与论文摘要逐项核对 ✅ 已通过
§5 划分策略 千方病案医学编辑部 数据工程评审(泄漏/去重逻辑) ✅ 已通过
§6 代码与坑点 千方病案医学编辑部 代码走查 + Known Issues 核对 ✅ 已通过
§7 DAIMS 与偏倚分析 千方病案医学编辑部 24 项逐项核查 ✅ 已通过
§8 基准数字 千方病案医学编辑部 原文引用核对(含不可比性标注) ✅ 已通过

§10.5 AI 生成章节标注

本页面由 AI 辅助起草(资料整合、表格与代码框架),经人工审核修订后发布;章节级无纯 AI 未审内容。

§10.6 最后人工审核日期

2026-09-05(与 §0.3 审核日期一致)

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

返回 AI-Ready 数据集