信息速览

Harvard FairSeg — 公平性医学图像分割数据集 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | Harvard-FairSeg(FairSeg) |
| 英文全称 | Harvard-FairSeg: A Large-Scale Medical Image Segmentation Dataset for Fairness Learning Using Segment Anything Model with Fair Error-Bound Scaling |
| 别名/简称 | FairSeg、Harvard FairSeg、FairSeg10k、harvard-fairseg10k |
| 疾病分类 | 青光眼(ICD-11:9C61 青光眼 / 9C61.0 原发性开角型青光眼,详见 §2.1) |
| SNOMED CT | 23986001 Glaucoma / 77075001 Primary open-angle glaucoma / 84494001 Open-angle glaucoma(详见 §2.1b) |
| 数据模态 | 扫描激光检眼镜(SLO)眼底图像(2D 眼科影像) |
| AI 任务类型 | 医学图像分割(视盘/视杯)、公平性学习、青光眼筛查辅助研究 |
| 样本总数 | 10,000 名受试者 / 10,000 张 SLO 眼底图像(训练 8,000 + 测试 2,000) |
| 数据大小 | 3.9 GB(Zenodo zip)/ 约 47.7 GB(Hugging Face 镜像全量) |
| 数据格式 | NPZ(图像 + 掩膜 + 属性字段)、CSV(data_summary.csv 概览) |
| 许可证 | CC BY-NC-ND 4.0 |
| 访问级别 | 开放获取(官方数据页直链下载;Google Drive 权限受限时需申请访问,官方承诺 3-5 天内授权) |
| DUO 标签 | NCU(非商业使用;ND 禁止再分发衍生数据) |
| 语言 | 英文(文档与标注) |
| 首发日期 | 2023-11-03(arXiv 首次提交)/ 2024(ICLR 2024 正式发表) |
| 最后更新 | 2024-05(arXiv v5,此后未见官方修订记录) |
| 发布机构 | Harvard Ophthalmology AI Lab(哈佛医学院眼科系) |
| 官方主页 | https://ophai.hms.harvard.edu/datasets/harvard-fairseg10k/ |
| 下载地址 | https://ophai.hms.harvard.edu/datasets/harvard-fairseg10k/(内含 Google Drive 下载入口) |
| DOI | 10.48550/arXiv.2311.02189 |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 有官方 8,000/2,000 划分、统一 NPZ 格式、data_summary.csv 字典与官方训练代码;扣分项:无官方一键预处理脚本、掩膜像素编码需自行确认、Google Drive 访问需申请且早期 lists 文件曾有错位修复记录 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、青光眼临床任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(NPZ 字段与属性编码、信息性缺失编码)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与 Harvard Ophthalmology AI Lab、哈佛医学院无任何商业利益关联。本页面不销售 Harvard-FairSeg 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受哈佛大学、哈佛医学院及其附属机构的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Harvard-FairSeg 采用 CC BY-NC-ND 4.0 许可,仅限非商业研究使用,任何时候不得用于临床决策或患者护理,且不得再分发衍生数据;官方声明"Harvard"一词仅表明数据来自哈佛医学院眼科系,不代表哈佛大学或哈佛医学院作为法律实体的背书。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? Harvard-FairSeg(常简称 FairSeg)是全球第一个专门面向"医学图像分割公平性"研究的大型公开数据集,由哈佛医学院眼科系的 Harvard Ophthalmology AI Lab 构建,随 ICLR 2024 论文发布。它包含 10,000 名受试者的 10,000 张扫描激光检眼镜(SLO)眼底图像,每张图像配有像素级的视盘(optic disc)与视杯(optic cup)分割掩膜,并且每名受试者都带有 6 个敏感人口学属性:年龄、性别、种族、民族、首选语言与婚姻状况(arXiv:2311.02189)。
为什么重要? 在 FairSeg 出现之前,医疗公平性数据集几乎全部服务于分类任务,分割任务长期没有公平性基准——而分割恰恰是青光眼等疾病定量评估的核心环节。更关键的是,已有研究发现 AI 模型对黑人受试者的眼底分割精度往往最低,而黑人群体面临的青光眼风险约为其他群体的两倍,模型偏倚可能直接放大健康差异(Lacuna 论文解读)。FairSeg 用数据与指标把这类差距变成了"可测量、可优化"的问题。
我能用它做什么? 训练与评测视盘/视杯分割模型(含 SAMed、TransUNet 等官方基线);按 6 个属性分组测量分割性能差距;开发与复现公平性学习方法(如官方 FEBS、ADV、GroupDRO 对比);设计公平性评估指标(如 ES-Dice);以及把"公平性审计"流程移植到你自己的医学分割任务上。注意:它只能用于非商业研究,禁止临床决策用途。
§1.1 摘要
Harvard-FairSeg 的核心工程决策有三点。第一,标注迁移:高质量视盘/视杯边界直接从 3D OCT 扫描获得,先以 NiftyReg 将 SLO 眼底图像与 OCT 衍生眼底图像配准,再把 OCT 侧掩膜经仿射变换映射到 2D SLO 图像,绕开了昂贵的逐像素手工标注;该自动流程经验成功率约 80%,失败样本被剔除,剩余掩膜由五名医疗专业人员组成的小组人工审核定稿。第二,属性设计:每名受试者标注 6 个敏感属性(年龄、性别、种族、民族、首选语言、婚姻状况),是同类医学影像数据集中属性最全的。第三,方法与指标配套:论文提出 FEBS(Fair Error-Bound Scaling,按各身份组的误差上界重加权损失)与 ES-Dice(总体 Dice 除以 1 加各组 Dice 标准差)两类工具,并给出 SAMed 与 TransUNet 两条骨干的完整训练代码。数据划分固定为 8,000 张训练、2,000 张测试,所有文件统一为 NPZ 格式(腾讯云社区解读)。
§1.2 战略价值
公平性研究基础设施维度:在 FairSeg 之前,公平性机器学习的公共数据集以表格数据(如 Adult、COMPAS)与分类影像为主,"组间性能差距"在分割任务上长期不可度量。FairSeg 首次让研究者可以回答"视杯分割在亚洲人、黑人、白人三个群体上的 Dice 差距有多大"这类问题,并提供 ES-Dice 这样的单一聚合指标把精度与公平性同时纳入模型选择。对于医疗 AI 监管与上市前评估而言,这种"分组可审计"的数据设计正在成为事实上的模板(Lacuna 论文解读)。
基础模型时代基准维度:FairSeg 发布于 Segment Anything Model(SAM)之后,直接回答了"通用分割基础模型在医学影像上是否天然公平"这一尖锐问题——官方实验表明,未经公平性约束的 SAM 变体(SAMed)在身份组之间仍存在明显性能差距,FEBS 方法在 Rim 任务上将 ES-Dice 从 0.7478 提升至 0.7529(Lacuna 论文解读)。这使它成为"基础模型 + 公平性微调"研究的理想试验场,也是同实验室 FairCLIP、FairDomain、FairVision 等公平性数据集家族的分割任务支点(Zenodo 合集)。
数据工程教学维度:FairSeg 的"OCT 标注迁移 + 人工审核"流水线为大规模医学标注工程提供了一个低成本范本:当金标准模态(OCT)昂贵而目标模态(SLO)普及,配准迁移可以用约 80% 的自动成功率换来远低于手工标注的边际成本,剩余样本经专家小组把关后入库。这套"自动 + 质量闸门 + 专家定稿"的三段式流程,可直接迁移到其他"贵模态标注 → 便宜模态复用"的场景(如 CT 标注迁移到 X 光),其工程决策记录(配准工具、成功率、剔除规则)在论文与社区解读中均有披露(腾讯云社区解读)。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态 | 敏感属性 | 任务 | 与 FairSeg 的差异 |
|---|---|---|---|---|---|
| Harvard-FairSeg | 10,000 名受试者 / 10,000 张图像 | SLO 眼底图像 | 6 个(年龄、性别、种族、民族、语言、婚姻状况) | 视盘/视杯像素级分割 | 唯一同时具备大规模、像素级标注与 6 属性的分割公平性数据集 |
| HAM10000 | 10,015 张皮肤镜图像 | 皮肤镜 | 年龄、性别 | 皮肤病变分类为主 | 分类任务为主,属性较少;FairSeg 论文将其作为迁移实验对象 |
| CheXpert | 224,316 张胸片 | X 光 | 年龄、性别(部分元数据) | 多标签分类 | 分类任务,无像素级分割标注,无语言/婚姻状况属性 |
| MIMIC-CXR | 377,110 张胸片 | X 光 | 年龄、性别、种族(部分) | 分类/报告生成 | 分割标注非原生,公平性属性依赖 NLP 推断 |
| FairCLIP | 同实验室公平性家族成员 | 眼科影像 + 文本 | 多属性 | 视觉-语言分类 | 服务于视觉-语言任务,与分割任务互补 |
上表的解读要点:公平性医学数据集的"稀缺资源"不是影像数量,而是像素级标注 × 敏感属性数量的乘积——CheXpert 与 MIMIC-CXR 体量占优但标注以分类为主;HAM10000 体量相近却只有两个属性;FairSeg 用 10,000 级样本换来了"6 属性 × 2 区域像素级掩膜"的独特组合,这正是它被论文定位为"首个医学分割公平性数据集"的原因。
§1.4 版本时间轴
| 时间 | 版本/事件 | 说明 |
|---|---|---|
| 2023-11-03 | arXiv v1 提交 | 论文 “FairSeg: A Large-Scale Medical Image Segmentation Dataset for Fairness Learning…”(arXiv:2311.02189)首次公开 |
| 2024 | ICLR 2024 发表 | 论文被 The Twelfth International Conference on Learning Representations 接收(OpenReview ID: qNrJJZAKI3) |
| 2024-05 | arXiv v5 | 第三方镜像记录的最新论文版本时点,此后未见官方修订 |
| 2024-12 | Zenodo 合集收录 | Harvard Ophthalmology AI Datasets 合集(含 Harvard-FairSeg.zip 3.9 GB)在 Zenodo 提供存档下载 |
§1.5 典型应用场景
- 公平性分割基准评测:在官方 8,000/2,000 划分上训练分割模型,按 6 个属性分组报告 Dice/ES-Dice,量化模型在不同人群上的性能差距。
- 公平性学习方法研究:复现与对比 FEBS、ADV(对抗公平表征)、GroupDRO(组分布鲁棒优化)等方法在同一骨干上的公平性表现。
- 基础模型公平性微调:以 SAM 系(SAMed)为基础,研究参数高效微调能否以及如何消除组间差距。
- 青光眼筛查算法研发的前置验证:在临床试验前评估视杯分割(CDR 计算的核心步骤)是否存在系统性人群偏倚。
- 公平性指标方法论研究:以 ES-Dice 为起点设计新的"精度-公平性"联合评估指标,并检验其在其他分割任务上的可迁移性。
§2 医学背景
§2.1 ICD-11 编码映射
Harvard-FairSeg 面向的疾病谱为青光眼及其相关视神经病变,核心相关 ICD-11 编码如下:
| 标签 | ICD-11 编码 | 中文名称 |
|---|---|---|
| 青光眼(总类) | 9C61 | 青光眼 |
| 原发性开角型青光眼 | 9C61.0 | 原发性开角型青光眼(含 9C61.00 正常眼压型、9C61.01 高眼压症、9C61.02 高眼压型 POAG) |
| 原发性闭角型青光眼 | 9C61.1 | 原发性房角关闭或闭角型青光眼 |
| 继发性开角型青光眼 | 9C61.2 | 继发性开角型青光眼 |
| 发育性青光眼 | 9C61.4 | 发育性青光眼 |
| 青光眼疑似 | 9C60 | 青光眼疑似状态 |
| 青光眼性视神经病变 | 9C40.9 | 青光眼性视神经病变 |
(编码依据:ICD-11 第 9 章"视觉系统疾病",eMedCodes ICD-11 浏览器)
§2.1b SNOMED CT 映射
| 标签 | ICD-11 | SNOMED CT | 术语 |
|---|---|---|---|
| 青光眼 | 9C61 | 23986001 | Glaucoma (disorder) |
| 原发性开角型青光眼 | 9C61.0 | 77075001 | Primary open angle glaucoma |
| 开角型青光眼 | 9C61.0 / 9C61.2 | 84494001 | Open-angle glaucoma |
(映射依据:autoicdapi 9C61.Z 交叉映射与 MalaCards POAG 条目;SNOMED CT 概念码以官方术语服务器核验为准)
§2.2 疾病简介与流行病学
青光眼是一组以视神经进行性损害和特征性视野缺损为特征的视神经病变,是全球首位不可逆性致盲眼病。其临床评估的核心解剖标志是视盘(optic disc)与视杯(optic cup)——杯盘比(cup-to-disc ratio, CDR)是青光眼筛查与随诊中广泛使用的形态学指标,而精确计算 CDR 的前提正是对视盘、视杯(以及两者之间的神经纤维边缘 rim)进行准确分割(Lacuna 论文解读)。
流行病学上,青光眼风险存在显著的人群差异:黑人个体的青光眼发病风险约为其他群体的两倍,但已有 AI 研究显示模型恰恰对这一群体给出最低的分割精度——这种"高风险 × 低精度"的组合意味着算法偏倚可能直接转化为延误诊断与健康差异。Harvard-FairSeg 队列的平均年龄为 60.3 ± 16.5 岁,与青光眼高发年龄段一致;队列以 White(7,608 人)为主,Black(1,473 人)与 Asian(919 人)为少数组,女性占 58.5%(腾讯云社区解读)。
从形态学到定量化的转换是理解本数据集医学逻辑的关键:视盘是视神经纤维汇聚离开眼球的盘状结构,视杯是其中央凹陷的明亮区域,二者之间的环状组织即 rim(神经纤维边缘)。青光眼的病理过程表现为视网膜神经节细胞丢失 → rim 变薄 → 视杯扩大(凹陷加深),因此"杯径/盘径"(CDR)随疾病进展单调增大,是少数能直接从眼底形态推读疾病负荷的定量指标。自动化分割模型的价值在于把这一形态学判读从"医师主观估读"升级为"可重复的像素级测量",而 FairSeg 提供的正是这套测量的训练信号。
§2.3 临床任务定义
| 任务类型 | 具体内容 | 与数据集的关系 |
|---|---|---|
| 筛查 | 基于 SLO 眼底图像的青光眼人群筛查,CDR 为核心筛选指标 | 分割掩膜是 CDR 自动计算的直接输入 |
| 诊断辅助 | 视盘/视杯边界定量分析,辅助眼科医师判断青光眼分期 | rim(盘缘)区域分割是论文中难度最高、公平性差距最大的任务 |
| 分级/监测 | CDR 随访变化用于疾病进展监测 | 本数据集为单时点横断面数据,不含随访序列 |
三项任务对分割精度的容忍度差异很大:筛查任务允许较粗的 CDR 估计(只做排序分流),诊断辅助要求边界误差控制在临床可接受范围,进展监测则对系统性测量偏差最敏感——同一模型在三个任务上的"够用"标准完全不同。FairSeg 论文把 Rim 任务单列并报告其为最困难任务,正是因为 rim 的细环形结构对边界误差的放大效应最强,也最贴近诊断级应用的精度要求。
§2.4 患者人群画像
| 维度 | 取值/分布 | 来源 |
|---|---|---|
| 来源机构 | 单中心:哈佛医学院眼科系所属大型学术眼科医院 | 官方数据页 |
| 样本构成 | 10,000 名受试者,每人 1 张 SLO 眼底图像 | 论文 |
| 平均年龄 | 60.3 ± 16.5 岁 | 腾讯云社区解读 |
| 性别 | 女性 58.5%,男性 41.5% | 腾讯云社区解读 |
| 种族 | Asian 919 人、Black 1,473 人、White 7,608 人 | 腾讯云社区解读 |
| 民族 | 非西班牙裔 90.6%、西班牙裔 3.7%、未说明 5.7% | 腾讯云社区解读 |
| 首选语言 | 英语 92.4%、西班牙语 1.5%、其他 1%、未确定 5.1% | 腾讯云社区解读 |
| 婚姻状况 | 已婚/有伴侣 57.7%、单身 27.1%、离婚 6.8%、丧偶 5.2%、合法分居 0.8%、未说明 2.4% | 腾讯云社区解读 |
§2.5 临床价值
对临床研究者而言,FairSeg 的价值不在"多一个眼底数据集",而在于它把分割模型从"总体精度报告"推向"分人群精度报告"。青光眼筛查的公共卫生价值高度依赖筛查覆盖弱势人群的能力:如果一个 CDR 计算模型在黑人或非英语受试者上系统性偏倚,筛查项目反而可能扩大健康差距。FairSeg 提供 6 个属性轴,使研究者能够在模型定型前定位差距来源(解剖变异、样本失衡或语言/社会经济代理因素),并利用 FEBS 等方法在训练阶段校正。官方论文还观察到,按首选语言分组时性能差距同样显著,提示社会经济代理变量对模型行为的影响不容忽视(Lacuna 论文解读)。
§2.6 金标准与参考标准描述
| 项目 | 内容 |
|---|---|
| 参考标准成像 | 3D OCT 扫描(精度更高但设备昂贵、基层普及率低) |
| 标注迁移方式 | NiftyReg 配准 SLO 眼底与 OCT 衍生眼底 → 仿射变换迁移 disc/cup 掩膜 |
| 自动流程成功率 | 经验观察约 80%,失败与位置错误掩膜被剔除 |
| 人工审核 | 五名医疗专业人员组成小组确定最终 disc/cup 区域注释 |
| 标注性质 | 半自动(自动配准 + 人工审核定稿),非纯手工逐像素标注 |
使用金标准视角解读:3D OCT 对盘边界的分辨能力是公认的参考标准级,因此"从 OCT 迁移"在标注精度上具备理论优势;但迁移链路本身引入了配准误差这一新误差源,官方以"约 80% 成功率 + 五人审核剔除"控制该误差。这意味着:对 CDR 排序类应用,标注质量充裕;对边界级研究(如边界检测),建议先做小规模标注一致性抽检再大规模使用。
§3 数据集规格
§3.0 获取渠道抉择矩阵
Harvard-FairSeg 官方未设多版本号(唯一版本随 ICLR 2024 论文发布),但存在三个获取渠道,按需求选择:
| 你的需求 | 推荐渠道 | 大小 | 理由 |
|---|---|---|---|
| 快速获得官方原始数据 | 官方数据页 → Google Drive | 约 3.9 GB(zip) | 官方第一发布渠道,含 ReadMe 与 data_summary.csv |
| 需要可长期引用的稳定存档 | Zenodo 合集记录 | 3.9 GB(Harvard-FairSeg.zip,附 MD5) | 提供 MD5 校验值与机构存档,适合论文复现材料 |
| 网络受限、需要在线预览 | Hugging Face 镜像 harvardairobotics/FairSeg | 约 47.7 GB(全量) | 社区镜像,可逐文件浏览(Test 目录 9.54 GB,单 npz 约 4.77 MB);注意为非官方镜像,引用请以官方渠道为准 |
§3.1 模态详情
数据模态为扫描激光检眼镜(Scanning Laser Ophthalmoscopy, SLO)眼底图像。与常见的彩色眼底彩照(color fundus photography)不同,SLO 使用激光逐点扫描视网膜成像,具有视野范围大、对比度特性不同、对屈光间质混浊更宽容等特点;这也意味着在彩色眼底照上训练的分割模型不能假设可以零成本迁移到 SLO 图像上。选择 SLO 作为载体的动机在论文中表述明确:OCT 设备昂贵且在初级保健中不普及,将 OCT 级别的标注迁移到 2D SLO 眼底,可以让标注成果服务于更广泛的基层青光眼筛查场景(腾讯云社区解读)。三种眼底成像方式的定位对比:
| 成像方式 | 原理 | 在本数据集中的角色 | 特点 |
|---|---|---|---|
| SLO(数据主体) | 激光逐点扫描视网膜成像 | 训练/评测的输入模态 | 视野大、对比度特性特殊、对屈光间质混浊宽容 |
| 彩色眼底彩照(不在数据内) | 白光成像 | 常被误认的"眼底图"默认形态 | 与 SLO 强度分布不可互换,模型不能直接迁移 |
| 3D OCT(标注来源) | 干涉测量层析成像 | 提供盘/杯边界的参考标准 | 精度高但设备昂贵、基层普及率低 |
每名受试者对应 1 张 SLO 图像(10,000 受试者 = 10,000 张图像),图像与配套掩膜、属性共同封装在单个 NPZ 文件中。
§3.2 子集与样本数分布
| 子集 | 样本数 | 文件编号 | 说明 |
|---|---|---|---|
| 训练集 | 8,000 | data_00001.npz – data_08000.npz | 官方 lists 文件夹 train.txt 指定 |
| 测试集 | 2,000 | data_08001.npz – data_10000.npz | 官方 lists 文件夹 test.txt 指定 |
| 合计 | 10,000 | data_00001.npz – data_10000.npz | 与论文 “10,000 subject samples” 一致 |
种族维度的样本分布(全部 10,000 名受试者):Asian 919 人、Black 1,473 人、White 7,608 人——White 组约为 Black 组的 5.2 倍、Asian 组的 8.3 倍,这种失衡正是公平性评测设计的"原生考题"(腾讯云社区解读)。
§3.3 数据格式
| 格式 | 用途 | 说明 |
|---|---|---|
| NPZ | 单受试者数据容器 | 每 npz 含 slo_fundus(SLO 眼底图像)、disc_cup_mask(视盘/视杯掩膜)与 6 个属性字段 |
| CSV | 数据总览 | ReadMe 文件夹下 data_summary.csv 提供全部受试者属性概览 |
| ZIP | 分发容器 | Zenodo Harvard-FairSeg.zip(3.9 GB,MD5: b5d4de9869064df7786b7ba29ed84faa) |
§3.4 存储大小
| 形态 | 大小 | 备注 |
|---|---|---|
| Zenodo Harvard-FairSeg.zip | 3.9 GB | MD5 b5d4de9869064df7786b7ba29ed84faa(Zenodo) |
| Hugging Face 镜像全量 | 约 47.7 GB | 含逐文件存储(第三方数据卡镜像) |
| HF 镜像 Dataset/Test 目录 | 9.54 GB | 2,000 个 npz(Hugging Face 文件树) |
| 单个 NPZ 文件 | 约 4.77 MB | 以 HF 镜像抽样为准 |
| 磁盘预留建议 | ≥ 60 GB | 解压冗余 + 预处理中间产物 + 训练缓存 |
§3.5 标注方式
标注采用"自动迁移 + 人工审核"的半自动流水线,而非纯手工逐像素标注。具体流程:先以 NiftyReg 工具将 SLO 眼底图像与 OCT 衍生眼底图像对齐;随后将 NiftyReg 的仿射度量应用于 OCT 眼底图像上的视杯/视盘掩膜,使其与 SLO 眼底对齐;自动生成的掩膜再经严格检查,由五名医疗专业人员组成的小组人工评分,剔除盘/杯位置错误与配准失败的掩膜。整个自动配准流程的经验成功率约为 80%(腾讯云社区解读、bendi.news 论文转载)。
标注流水线按以下五步执行(依据腾讯云社区对论文的解读与官方论文):
- OCT 侧标注获得:从 3D OCT 扫描中确定视盘与视杯边界(结构分辨率高于任何 2D 眼底成像);
- 图像配准:用 NiftyReg 工具将 2D SLO 眼底图像与 OCT 衍生眼底图像对齐;
- 掩膜迁移:将 NiftyReg 的仿射度量作用于 OCT 侧 disc/cup 掩膜,映射到 SLO 图像坐标;
- 质量闸门:经验成功率约 80%,配准失败或位置错误的掩膜直接剔除(不进入数据集);
- 人工定稿:五名医疗专业人员小组审核入库掩膜,确定最终注释。
这一流水线的工程含义:数据集中不存在"配准失败但被保留"的样本,但也因此丢失了约两成潜在样本——丢失模式可能与图像质量相关(质量差的图更难配准),构成 §7.1 所列的迁移偏倚。
§3.6 标注者资质与一致性
| 项目 | 内容 |
|---|---|
| 标注来源 | 3D OCT 扫描衍生的 disc/cup 边界(设备级自动分割 + 迁移) |
| 审核团队 | 五名医疗专业人员(medical professionals)组成的小组 |
| 审核职责 | 确定 disc/cup 区域精确注释;排除位置错误掩膜与配准失败样本 |
| 一致性报告 | 官方论文与 README 未公布标注者间一致性系数(如 Dice@annotators)——使用时建议自行抽样复核 |
§3.7 采集周期
官方论文、GitHub README 与数据页均未公布影像采集的起止年份,仅说明数据回顾性来源于哈佛医学院眼科系的临床影像。使用者在引用"采集时间"时应表述为"官方未公布",禁止自行推断具体年份区间。
§3.8 地域覆盖
单中心数据,来源于美国马萨诸塞州波士顿的哈佛医学院眼科系所属大型学术眼科医院。这一属性直接决定了它的泛化性边界(详见 §7.3):跨设备、跨地域、跨人群的失效风险需要在使用前评估。
§3.9 设备规格
数据包含两类成像:作为数据主体的 SLO 眼底成像,以及作为标注来源的 3D OCT 成像。官方论文与 README 均未公布 SLO/OCT 的具体厂商与型号,也未公布 SLO 图像的原生分辨率矩阵——使用前请以实际加载到的数组尺寸为准,不要假设固定分辨率。
已知与未知清单:
| 项目 | 状态 |
|---|---|
| 成像类型(SLO + OCT) | 官方明确 |
| 设备厂商/型号 | 官方未公布 |
| SLO 原生分辨率 | 官方未公布,以实际数组为准 |
| OCT 采集协议 | 官方未公布细节 |
| 单/双眼归属 | 官方表述为 10,000 名受试者对应 10,000 个样本,未逐样本标注眼别 |
§3.10 深度溯源链
| 层级 | 实体 | 说明 |
|---|---|---|
| 资助方 | NIH R01 EY036222 “Developing Equitable Deep Learning Models for Automated Glaucoma Screening” | 项目主题即"公平的青光眼自动筛查"(Zenodo) |
| 构建机构 | Harvard Ophthalmology AI Lab(哈佛医学院眼科系) | 作者邮箱域名为 meei.harvard.edu |
| 原始数据 | 临床常规 SLO + OCT 影像(单中心,回顾性) | 脱敏后使用 |
| 标注工程 | NiftyReg 配准迁移 + 五人专家审核 | 成功率约 80% |
| 学术发表 | ICLR 2024(OpenReview: qNrJJZAKI3)+ arXiv:2311.02189 | 方法与基准的权威出处 |
| 分发渠道 | 官方数据页 / Google Drive / Zenodo / GitHub 代码库 | 见 §6.2 |
§4 数据结构
§4.0 目录树
以下为数据解压后的典型目录结构(以 Hugging Face 镜像 harvardairobotics/FairSeg 的文件布局为例,官方 Google Drive 包内容一致,个别子目录命名可能不同):
FairSeg/
├── README.md # 数据说明(npz 字段编码表)
├── ReadMe/ # 官方说明文件夹
│ └── data_summary.csv # 全部 10,000 名受试者属性概览
├── Dataset/
│ ├── Train/
│ │ ├── data_00001.npz # 训练集样本 1(slo_fundus + disc_cup_mask + 属性)
│ │ ├── data_00002.npz
│ │ ├── ...
│ │ └── data_08000.npz # 训练集共 8,000 个 npz
│ └── Test/
│ ├── data_08001.npz # 测试集样本 1
│ ├── data_08002.npz
│ ├── ...
│ └── data_10000.npz # 测试集共 2,000 个 npz
└── lists/ # 官方代码仓库 SAMed/lists/FairSeg_final/ 下
├── train.txt # 训练样本列表(与 npz 文件名一一对应)
└── test.txt # 测试样本列表
配套的官方代码仓库 Harvard-Ophthalmology-AI-Lab/FairSeg 结构如下:
FairSeg/ # GitHub: Harvard-Ophthalmology-AI-Lab/FairSeg
├── README.md # 数据下载、字段编码、BibTeX
├── SAMed/ # SAMed 骨干训练代码(含 FEBS 实现)
│ ├── lists/FairSeg_final/ # train.txt / test.txt
│ ├── utils.py # 损失函数与工具
│ └── train.py / train_novel.py # 基线训练 / FEBS 训练入口
└── TransUNet/ # TransUNet 骨干训练代码
§4.1 DAIMS 字段字典
每个 NPZ 文件包含以下字段(编码表来自官方 GitHub README):
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| slo_fundus | 数组(图像) | SLO 眼底灰度/激光扫描图像 | 形状随文件而异的二维数组 | 分割网络输入 | SLO 成像噪声、屈光间质影响 | 无(图像必含) | 原生分辨率以实际数组为准 |
| disc_cup_mask | 数组(掩膜) | 像素级视盘与视杯分割掩膜 | 与 slo_fundus 同尺寸的二维数组 | 分割标签;CDR 计算 | 配准迁移误差(约 80% 成功率后人工过滤) | 无 | 离散区域码(官方 README 未公布逐值编码表,加载后须检查唯一值,见坑点 2) |
| age | 数值 | 受试者年龄 | 58.42 | 分组公平性评测(连续/分箱) | 登记误差 | 无(age 必含) | 连续值(均值 60.3 ± 16.5 岁) |
| gender | 整数码 | 性别 | 0 | 分组公平性评测 | 登记误差 | 无 | 0 = Female,1 = Male |
| race | 整数码 | 种族 | 2 | 分组公平性评测(核心轴) | 自报/登记误差 | 无 | 0 = Asian,1 = Black,2 = White |
| ethnicity | 整数码 | 民族(西班牙裔) | 0 | 分组公平性评测 | 自报/登记误差 | -1 = Unknown | 0 = Non-Hispanic,1 = Hispanic,-1 = Unknown |
| language | 整数码 | 首选语言 | 0 | 分组公平性评测(社会经济代理) | 登记误差 | -1 = Unknown | 0 = English,1 = Spanish,2 = Others,-1 = Unknown |
| maritalstatus | 整数码 | 婚姻状况 | 0 | 分组公平性评测(社会经济代理) | 登记误差 | -1 = Unknown | 0 = Married or Partnered,1 = Single,2 = Divorced,3 = Widowed,4 = Legally Separated,-1 = Unknown |
字段使用的三个注意事项:其一,6 个属性字段全部是受试者级标注(每人的 1 张图携带全部属性),不存在图级独立变化;其二,age 在 npz 中以数值存储(第三方镜像数据卡中可见 42.22、75.48 等小数形态),做年龄分组时需自行定义分箱边界并保持全实验一致;其三,三个含 -1 编码的字段在统计分组数时要把 -1 当作独立组而非无效值(见 §4.5)。
§4.2 标签分布
分割标签为 disc(视盘)与 cup(视杯)双区域像素级掩膜;由 disc 与 cup 可派生 rim = disc − cup 及 CDR = 杯径/盘径。官方 README 未公布掩膜的逐像素值编码表,也未公布各区域平均像素占比——实践中的标准做法是加载若干样本后用 np.unique 确认掩膜取值体系(详见 §6.5 坑点 2)。官方论文报告的主要性能轴为 Cup 与 Rim 两个分割任务(Cup 任务 ES-Dice 约 0.825、Rim 任务约 0.705 量级,见 §8.1 与 §8.2 的口径说明)。
由单一掩膜可派生的三个评测任务:
| 派生任务 | 定义 | 难度 | 论文角色 |
|---|---|---|---|
| Cup 分割 | 直接预测视杯区域 | 相对低 | 主表任务之一 |
| Disc 分割 | 直接预测视盘区域 | 相对低 | 完整性评测 |
| Rim 分割 | disc − cup 的环形差集 | 最高(细环、边界敏感) | 论文重点任务,FEBS 增益主战场 |
属性维度的分布已在 §2.4 汇总;需要特别注意的三个"少数组"是:Asian(919 人)、西班牙语首选(1.5%)、合法分居(0.8%)——这些组上的分组指标天然高方差,评估时应报告置信区间而非单点值。
§4.3 关键统计
| 统计项 | 数值 | 来源 |
|---|---|---|
| 受试者/图像总数 | 10,000 / 10,000 | 官方 README |
| 训练/测试划分 | 8,000 / 2,000 | 官方 README 及论文 |
| 平均年龄 | 60.3 ± 16.5 岁 | 腾讯云社区解读 |
| 女性占比 | 58.5% | 腾讯云社区解读 |
| 最大种族组 | White 7,608 人(76.1%) | 腾讯云社区解读 |
| 最小种族组 | Asian 919 人(9.2%) | 腾讯云社区解读 |
| 英语首选占比 | 92.4% | 腾讯云社区解读 |
| 已婚/有伴侣占比 | 57.7% | 腾讯云社区解读 |
§4.4 数据层级
受试者(10,000 名,唯一编号 data_00001–data_10000)
└── 1 张 SLO 眼底图像(每受试者 1 图,无多次检查)
└── 1 个 NPZ 文件
├── slo_fundus(图像数组)
├── disc_cup_mask(掩膜数组)
└── 6 个属性字段(age/gender/race/ethnicity/language/maritalstatus)
层级结构是"每受试者 = 每图像 = 每 NPZ"的一对一扁平结构,不存在患者-检查-序列的多级嵌套。这带来两个直接推论:其一,不存在跨文件的同一患者重复,数据集层面的受试者级泄漏风险天然较低;其二,无法做"眼内一致性"或"纵向随访"类研究。
§4.5 缺失值与信息性缺失编码
| 字段 | 缺失编码 | 数据集内占比 | 对建模的含义 |
|---|---|---|---|
| ethnicity | -1(Unknown) | 5.7% | 分组评测时 -1 组不应与 Hispanic/Non-Hispanic 合并 |
| language | -1(Unknown) | 5.1% | Unknown 组本质是"语言未登记",其性能差距可能反映信息采集差异而非语言本身 |
| maritalstatus | -1(Unknown) | 2.4% | 同上 |
| gender / race | 无缺失编码 | — | 全部样本均有取值 |
| slo_fundus / disc_cup_mask | 无 | — | 图像与掩膜必含;但存在个别掩膜异常的报告(见坑点 2) |
关键提醒:-1 是信息性缺失——"未知"在人群中的分布本身与登记流程相关,直接丢弃 -1 样本会引入选择偏倚,保留则需在论文中单独报告该组的性能。
三种处理策略的取舍:
| 策略 | 做法 | 适用 | 风险 |
|---|---|---|---|
| 删除 | 丢弃 -1 样本 | 仅当研究目标明确限定"已登记人群" | 引入选择偏倚,破坏"全人群公平性"叙事 |
| 独立组 | 把 -1 作为第 4/3 组单独报告 | 公平性审计(推荐默认) | 组小、方差大,需报置信区间 |
| 合并 | -1 并入多数组 | 基本禁止 | 把"信息缺失"伪装成"信息已知",语义污染 |
§5 数据划分与使用建议
§5.1 官方划分
官方划分固定为训练集 8,000、测试集 2,000,由代码仓库 SAMed/lists/FairSeg_final/ 下的 train.txt 与 test.txt 显式指定。论文全部主表结果基于该划分;第三方复现应优先采用同一列表文件以保证可比性(官方 GitHub、GitHub issues)。
§5.2 社区惯例与验证集
官方未提供独立验证集。社区通行做法是从 8,000 张训练集中按 9:1 或 8.5:1.5 分层切出验证集,分层键推荐 race × gender 交叉格(以保证 White/Black/Asian 三组在验证集中均有足够样本)。腾讯云社区的一篇复现教程还演示了自行搭建 VNet2d 基线(512×512 输入、AdamW、300 epoch)的流程,可作为非官方参考实现(腾讯云社区解读)。
划分相关的两个实践细节:其一,官方 lists 文件经历过一次修复(issue #4),任何从旧教程或缓存复制 train.txt/test.txt 的做法都必须重新核对(详见坑点 1);其二,测试集 2,000 张中少数组的绝对样本量很小(如 Asian 按比例约 184 张),任何"按组 × 按任务"的交叉评测格子里都会出现几十张量级的格子,指标噪声不可忽略。
§5.3 划分策略与泄漏风险
| 风险点 | 场景 | 防范 |
|---|---|---|
| 预处理统计泄漏 | 在全量 10,000 张上计算归一化均值/方差后再划分 | 统计量只在 8,000 张训练集上计算,测试集只应用 |
| 增强策略泄漏 | 用测试集分布调增强超参 | 验证/测试集不参与任何超参选择 |
| 列表错位 | 使用旧版 lists 文件(官方曾修复 npz 文件名与列表不匹配问题) | 用最新版仓库 lists,并抽样核对文件名(见坑点 1) |
| 分组指标泄漏 | 在测试集上按组选择模型/阈值 | 组间差距只做报告,不做选择依据 |
受试者级泄漏(同一患者跨训练/测试)在本数据集中结构性不存在(一对一扁平结构),这是它相对于多时点影像数据集的天然优势。
§5.4 交叉验证建议
若做方法学论文,建议采用 5 折交叉验证并以 race 分层(保证每折内三组比例一致),折间报告 ES-Dice 的均值 ± 标准差;单点 8,000/2,000 上的 ES-Dice 受少数组方差影响较大,论文级结论应以交叉验证或自助法置信区间支撑。
§5.5 外部验证建议
官方论文自身将 FEBS 方法迁移到了 HAM10000(皮肤镜)数据集上做了跨数据集公平性实验(按年龄 ≥40 / ≥20 分组,Dice 88.4 / 87.1),示范了"方法外推"路径;但截至本页审核日,尚未见第三方机构发布在 FairSeg 上训练、在其他机构眼底数据上验证的同行评审研究。青光眼方向的自然外部验证候选是同实验室发布的多中心/跨域数据集家族(如 FairDomain,Zenodo 合集),使用时应核实其许可与人群重叠情况。
§6 AI 就绪指南
§6.0 云端快速启动
数据托管于官方数据页(Google Drive 直链)与 Zenodo,无官方 Colab 一键笔记本。云端最小路径:在 Colab/Kaggle 中下载 Zenodo zip 并解压,直接运行下文 §6.4 的 Dataset 类。Kaggle 用户可将 zip 作为私有 Dataset 上传后离线挂载,避免每次会话重复下载 3.9 GB。
§6.1 快速上手
下方代码假设的目录结构为 data_root/ 下平铺 data_00001.npz … data_10000.npz(或 data_root/Train、data_root/Test 两个子目录,与 §4.0 目录树一致);data_root 与 list_dir 两个路径参数拼接关系为:list_dir 中的 train.txt/test.txt 每行是 npz 文件名,代码按 {data_root}/{文件名} 加载;最小可用子集是任意 10 个 npz 文件(无需先下载全量即可跑通加载链路)。
import numpy as np
# 最小加载示例:单个受试者的完整数据
# 预期目录:data_root/data_00001.npz
npz = np.load("data_root/data_00001.npz")
image = npz["slo_fundus"] # SLO 眼底图像数组
mask = npz["disc_cup_mask"] # 视盘/视杯掩膜数组
age, gender, race = npz["age"], npz["gender"], npz["race"]
ethnicity, language, marital = npz["ethnicity"], npz["language"], npz["maritalstatus"]
print(image.shape, image.dtype) # 先看形状与取值范围,勿假设分辨率
print(np.unique(mask)) # 确认掩膜像素值编码(官方未公布编码表,见坑点 2)
§6.2 数据获取
| 渠道 | 链接 | 形式 | 大小 | 备注 |
|---|---|---|---|---|
| 官方数据页 | https://ophai.hms.harvard.edu/datasets/harvard-fairseg10k/ | 页面入口 | — | 含 Google Drive 下载与论文信息 |
| Google Drive 直链(经官方页入口) | 官方数据页内链接 | 文件夹 | 约 3.9 GB | 无法直接下载时在 Drive 内点"申请访问",官方承诺 3-5 天内授权 |
| Zenodo 存档 | https://zenodo.org/records/13178701 | Harvard-FairSeg.zip | 3.9 GB | MD5: b5d4de9869064df7786b7ba29ed84faa |
| Hugging Face 镜像 | https://huggingface.co/datasets/harvardairobotics/FairSeg | 逐文件 | 约 47.7 GB | 社区镜像,逐 npz 可预览;非官方 |
| 官方代码 | https://github.com/Harvard-Ophthalmology-AI-Lab/FairSeg | Git 仓库 | — | SAMed + TransUNet 双骨干,含 FEBS |
| 联系邮箱 | harvardophai@gmail.com / harvardairobotics@gmail.com | 邮件 | — | 数据/代码问题官方通道 |
Google Drive 申请访问的标准流程:登录 Google 账号 → 打开官方数据页内 Drive 链接 → 对文件夹提交"请求访问"→ 同步发送说明用途的邮件至 harvardophai@gmail.com(官方承诺 3-5 天内授权)。若急需开跑实验,建议并行走 Zenodo 渠道(无需任何审批)作为过渡,两渠道数据一致。
申请访问与校验的实用代码:
# 1) Zenodo 下载后先校验 MD5(官方公布值)
# 期望:b5d4de9869064df7786b7ba29ed84faa
import hashlib
def md5sum(path, chunk_size=1 << 22):
h = hashlib.md5()
with open(path, "rb") as f:
for chunk in iter(lambda: f.read(chunk_size), b""):
h.update(chunk)
return h.hexdigest()
print(md5sum("Harvard-FairSeg.zip")) # 应等于上表 MD5
# 2) 解压后抽查文件计数
from pathlib import Path
npzs = sorted(Path("FairSeg").rglob("data_*.npz"))
assert len(npzs) == 10000, f"样本数异常: {len(npzs)}" # 应为 10,000
§6.3 预处理全流程
以下流水线覆盖:NPZ 解包 → 掩膜一致性校验 → 尺寸归一 → 标准化 → 保存为训练就绪格式。社区复现常用 512×512 固定输入(如腾讯云社区 VNet2d 复现教程),官方 SAMed/TransUNet 代码内部亦做尺寸归一,具体目标尺寸以你复现的骨干配置为准。
import numpy as np
from pathlib import Path
def preprocess_one(npz_path, target_size=(512, 512)):
"""单文件预处理:解包 → 校验 → resize → 标准化。
返回 (image, mask, meta);任何校验失败抛出 ValueError。"""
npz = np.load(npz_path)
img, msk = npz["slo_fundus"], npz["disc_cup_mask"]
# 校验 1:图像与掩膜空间尺寸必须一致
if img.shape[:2] != msk.shape[:2]:
raise ValueError(f"尺寸不一致: image={img.shape}, mask={msk.shape}")
# 校验 2:掩膜取值体系确认(官方未公布编码表)
uniq = np.unique(msk)
if uniq.size < 2:
raise ValueError(f"疑似全零/全同掩膜: {npz_path}, unique={uniq}") # 见坑点 2
# 校验 3:图像取值范围探测(0-1 / 0-255 / 0-65535 均可能出现)
imax = float(img.max())
if imax > 1.5: # 粗判为 0-255 或更高位深
img = img.astype(np.float32) / (255.0 if imax <= 255.0 else imax)
# resize(最近邻用于掩膜,双线性用于图像)
from PIL import Image
img_r = np.asarray(Image.fromarray((img * 255).astype(np.uint8)).resize(
target_size, Image.BILINEAR)).astype(np.float32) / 255.0
msk_r = np.asarray(Image.fromarray(msk.astype(np.uint8)).resize(
target_size, Image.NEAREST))
# 标准化(mean/std 应在全训练集上预计算,此处用占位示例值演示流程)
mean, std = 0.5, 0.25 # 示例值:实际请统计训练集
img_r = (img_r - mean) / std
return img_r.astype(np.float32), msk_r, {"age": float(npz["age"])}
# 批处理:只处理训练集,统计后回填 mean/std
for p in sorted(Path("FairSeg/Dataset/Train").glob("data_*.npz")):
preprocess_one(p) # 首轮先跑通校验,再落盘缓存
§6.4 PyTorch DataLoader 完整代码
<details>
<summary>展开完整 Dataset + DataLoader 代码(约 60 行)</summary>
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from pathlib import Path
class FairSegDataset(Dataset):
"""Harvard-FairSeg NPZ 数据集。
目录预期:data_root 下可按 {list_dir}/train.txt 每行文件名定位 npz;
data_root 与文件名的拼接关系:data_root / <文件名>.npz(或直接含 .npz 后缀)。
最小可用子集:任意包含若干 npz 的目录即可实例化调试。"""
def __init__(self, data_root, list_file, target_size=512):
self.data_root = Path(data_root)
self.target_size = target_size
# 官方 lists 每行可能是文件名或带路径条目,统一取末段做文件名匹配
self.samples = [ln.strip() for ln in Path(list_file).read_text().splitlines() if ln.strip()]
def __len__(self):
return len(self.samples)
def _resolve(self, name):
if not name.endswith(".npz"):
name += ".npz"
hits = list(self.data_root.rglob(name)) # 兼容 Train/Test 子目录布局
if len(hits) != 1:
raise FileNotFoundError(f"{name} 命中 {len(hits)} 个文件,检查 data_root")
return hits[0]
def __getitem__(self, idx):
npz = np.load(self._resolve(self.samples[idx]))
img = npz["slo_fundus"].astype(np.float32)
msk = npz["disc_cup_mask"]
imax = float(img.max())
if imax > 1.5:
img = img / (255.0 if imax <= 255.0 else imax)
# 最近邻缩放掩膜、双线性缩放图像(保持标签完整性)
from PIL import Image
img = np.asarray(Image.fromarray((img * 255).astype(np.uint8))
.resize((self.target_size,)*2, Image.BILINEAR)).astype(np.float32) / 255.0
msk = np.asarray(Image.fromarray(msk.astype(np.uint8))
.resize((self.target_size,)*2, Image.NEAREST))
img = (img - img.mean()) / (img.std() + 1e-8) # 逐样本标准化示例;正式训练请用训练集统计
attrs = {k: int(npz[k]) for k in
("gender", "race", "ethnicity", "language", "maritalstatus")}
attrs["age"] = float(npz["age"])
return (torch.from_numpy(img[None].copy()), # (1, H, W)
torch.from_numpy(msk.astype(np.int64)),
attrs)
train_ds = FairSegDataset("FairSeg/Dataset", "lists/train.txt", target_size=512)
train_dl = DataLoader(train_ds, batch_size=16, shuffle=True,
num_workers=4, pin_memory=True)
images, masks, attrs = next(iter(train_dl))
print(images.shape, masks.shape, attrs["race"]) # 验证一个 batch
</details>
§6.5 坑点清单(8 个)
⚠️ 坑点 1:lists 列表文件与 npz 文件名错位(分类:工程陷阱)
问题:早期版本代码仓库中,lists 文件夹内的 train.txt/test.txt 与实际 npz 文件名存在不匹配(用户反馈训练代码按 1-8000 顺序加载数据,而 train.txt 内条目无序,二者无法配对),按旧列表训练会静默加载错误样本或直接报 FileNotFoundError。
症状:Dataset 报错"文件不存在";或训练能跑通但样本与属性对不上,分组指标出现莫名漂移。
解决:
- 简单方法:始终使用官方仓库最新版的
SAMed/lists/FairSeg_final/列表文件(官方已在 issue #4 中确认修复了 list 文件夹问题)。- 进阶方法:加载前做一致性自检——遍历列表每个文件名,断言
data_root下恰好命中 1 个同名 npz,并对首个样本断言npz["race"]与 data_summary.csv 中同编号行一致(示例代码见 §6.4_resolve)。- SOTA 方法:以 data_summary.csv 为唯一属性真值源,训练时忽略 npz 内属性、按文件编号 join CSV,彻底消除列表错位影响,并便于属性级审计。
参考:GitHub issue #4 “why the npz filename cannot match that in lists folder?”
⚠️ 坑点 2:disc_cup_mask 像素编码未公开与全零掩膜风险(分类:标签理解)
问题:官方 README 只说明字段名为 disc_cup_mask,未公布掩膜像素值的逐级编码表(背景/盘/杯分别对应什么整数);同时有用户报告下载到的部分 npz 中 disc_cup_mask 矩阵全为零。直接假设"0/1/2 三值编码"或"0-255 灰度编码"都可能让损失函数静默学到错误前景。
症状:训练损失快速收敛但 Dice 恒为 0 或 1;np.unique(mask)只返回 [0];或分割结果中盘/杯区域互相包含。
解决:
- 简单方法:加载 20-50 个样本,统计掩膜唯一值直方图,人工比对 SLO 图像确认背景/盘/杯的对应码值后再接入损失函数。
- 进阶方法:在预处理阶段加入硬校验(示例见 §6.3 校验 2)——唯一值少于 2 个即视为异常样本并记录清单;对全零掩膜样本,向官方邮箱(harvardophai@gmail.com)确认是否为分发问题。
- SOTA 方法:构建标签审计脚本,输出每张图的掩膜面积占比分布,以 3σ 离群规则自动标记可疑掩膜,人工复核后生成"清洗版"样本清单并在论文中披露剔除比例。
参考:GitHub issues 讨论区 “Issue with disc_cup_mask in NPZ files”、官方 README 字段编码
⚠️ 坑点 3:Google Drive 访问权限受限与下载链路不可靠(分类:工程陷阱)
问题:官方主下载渠道为 Google Drive 文件夹,多位用户报告即使拿到链接也无法直接下载(需要逐个申请访问权限),多次申请可能无响应;3.9 GB 的 zip 在跨境网络下中断风险高。
症状:Drive 提示"您需要申请访问权限";或大文件下载反复中断、解压报 CRC 错误。
解决:
- 简单方法:在 Drive 界面用申请的 Google 账号提交访问请求,同时邮件 harvardophai@gmail.com 与 harvardairobotics@gmail.com 说明用途(官方承诺 3-5 天内授权)。
- 进阶方法:改用 Zenodo 存档下载并做 MD5 校验(MD5: b5d4de9869064df7786b7ba29ed84faa,示例代码见 §6.2),绕开 Drive 权限环节。
- SOTA 方法:将数据集固化为内部私有对象存储版本(记录来源 URL、MD5 与下载日期三要素),团队内一次性获取、多次复用,避免每个成员重复申请。
参考:官方 GitHub README 下载说明、GitHub issues “limited access to your dataset”
⚠️ 坑点 4:FairDiceLoss 实现与论文叙述可能不一致(分类:偏倚陷阱)
问题:社区用户在 issue 中指出三点质疑:其一,FairDiceLoss 似乎只在 train_novel.py 中定义、未真正参与部分训练流程的计算;其二,
SAMed/utils.py中权重公式tmp_weights = (np.min(tmp_weights) / tmp_weights)**self.gamma给"总体 dice loss 较大"的组分配了更小的学习权重,与论文"难例组需要更大学习权重"的叙述方向相反;其三,训练日志中 fair dice loss 恒为 1.0000。这意味着直接跑官方脚本未必等于复现 FEBS。
症状:FEBS 训练与普通 SAMed 训练结果几乎无差别;fair dice loss 曲线为水平直线;组间差距未见收敛。
解决:
- 简单方法:训练前通读
SAMed/utils.py与train_novel.py,确认 FairDiceLoss 在总损失中的权重系数非零且随 epoch 生效。- 进阶方法:打印每个 identity group 的 dice loss 与对应权重,验证"高损失组 → 高权重"的方向性;若方向相反,自行按论文公式重写权重(weight ∝ 上误差界)并做消融对比。
- SOTA 方法:以论文公式为准做最小可信复现——按各组上误差界重加权损失,与官方实现、GroupDRO 三方对比组间最差性能,将实现差异本身作为实验发现报告。
参考:GitHub issues “some problem about FairDiceLoss” / “problem of FairDiceLoss”、官方论文 FEBS 章节
⚠️ 坑点 5:Rim 任务复现结果与论文不一致(分类:评估误用)
问题:有用户按论文实施设置(SAMed ViT-B、lr 0.005、momentum 0.9、weight decay 0.1、batch size 42、70 epochs、A800)复现时,发现 Cup 任务上 SAMed+FEBS 全面占优,但 Rim 任务上 FEBS 反而全面劣于 SAMed——与论文方向相反。Rim 是盘减杯的细环形区域,对边界误差与超参更敏感。
症状:Cup 复现吻合、Rim 偏离;换随机种子后 Rim 结论翻转。
解决:
- 简单方法:固定随机种子并跑 3 个种子取均值,先排除方差因素再下结论。
- 进阶方法:对 Rim 任务单独做超参敏感性扫描(lr ∈ {0.001, 0.005, 0.01}、gamma ∈ {0.5, 1, 2}),报告"FEBS 是否稳健优于基线"的区间而非单点。
- SOTA 方法:复现协议升级为 5 折交叉验证 + 按 race 分层,报告每折最差组的 ES-Dice 与全距,把"复现差异"量化为可审计的方差证据后再与论文对比。
参考:GitHub issues “unusual performance on Rim when the sensitive attribute is Gender”
⚠️ 坑点 6:种族/语言样本失衡导致分组指标高方差与总体指标掩盖差距(分类:偏倚陷阱)
问题:White 7,608 / Black 1,473 / Asian 919 的三组失衡,加上英语首选 92.4%,使得总体 Dice 被多数组主导;少数组(尤其 Asian、西班牙语组)在 2,000 张测试集中的样本量很小,单次评测的组指标方差极大。只报告总体 Dice 会系统性地隐藏对少数组的性能差距。
症状:总体 Dice 很高但 ES-Dice 明显更低;少数组指标随种子剧烈波动;按语言分组出现反直觉差距。
解决:
- 简单方法:所有评测同时报告总体 Dice 与按属性分组的 Dice/标准差,禁止只报总体值。
- 进阶方法:采用官方 ES-Dice(总体 Dice ÷ (1 + 各组 Dice 标准差))作为模型选择主指标,并对少数组指标报告自助法 95% 置信区间(实现见 §6.9)。
- SOTA 方法:补充最差组性能(worst-group Dice)与组间极差双指标,并做样本量加权敏感性分析(如对 Asian 组重采样后观察结论稳定性),将失衡本身作为实验变量讨论。
参考:官方论文 equity-scaled 指标定义、腾讯云社区解读属性分布
⚠️ 坑点 7:预处理统计与超参选择引入的数据泄漏(分类:数据泄漏)
问题:FairSeg 为一对一扁平结构,受试者级泄漏不存在,但工程级泄漏依然常见:在全量 10,000 张图上计算归一化均值/方差、用测试集调增强强度或选模型,都会让测试 ES-Dice 虚高。
症状:测试指标与验证指标系统性偏差;换一次官方测试划分评估,性能大幅回落。
解决:
- 简单方法:归一化统计只在 8,000 张训练集上计算;验证集从训练集切出,测试集只在最终评估时触碰一次。
- 进阶方法:把"统计计算范围"写进配置文件并在训练日志中输出,保证任何模型权重都能追溯到其统计量来源(示例流程见 §6.3)。
- SOTA 方法:采用"冻结评估"协议——划分、统计量、模型选择步骤全部版本化(数据哈希 + 配置哈希),复现者可用哈希比对确认无泄漏链路。
参考:官方 lists 划分、本页 §5.3
⚠️ 坑点 8:CC BY-NC-ND 4.0 的使用边界——非商业、禁衍生再分发、禁临床(分类:合规要求)
问题:许可为 CC BY-NC-ND 4.0:ND(禁止演绎再分发)意味着不能把预处理后的图像/掩膜重新打包公开分发;NC(非商业)禁止商业化训练与产品集成;官方反复强调任何时点不得用于临床决策或患者护理。许多团队在"发布预处理版数据集"或"接入产品 demo"时踩线。
症状:开源仓库收到许可质疑 issue;论文投稿被问数据再分发授权;商业项目评审卡在数据合规环节。
解决:
- 简单方法:发布成果时只分发"加载与预处理代码 + 官方下载指引",不托管任何图像/掩膜文件;论文与产品文档明确署名来源与许可。
- 进阶方法:为衍生工件(如清洗清单、分组划分文件)建立合规审查清单——逐项确认不含受 ND 约束的原始像素数据,仅含统计与索引信息。
- SOTA 方法:面向产品化的团队应在立项阶段评估替代路径(自采数据或获得机构商业授权),把 FairSeg 严格限定为研究基线;任何临床相关评估均以"研究用途"表述并避免给出临床决策建议。
参考:Zenodo 合集许可声明、官方 GitHub README 使用声明
§6.6 数据增强策略
| 类别 | 增强方式 | 说明 |
|---|---|---|
| 安全 ✅ | 水平/垂直翻转 + 掩膜同步变换 | 眼底近似旋转对称;务必对图像与掩膜施加同一随机变换 |
| 安全 ✅ | 随机旋转(±15° 内)+ 同步掩膜变换 | 小角度旋转模拟拍摄角度差异 |
| 安全 ✅ | 轻度亮度/对比度抖动(±10%) | 模拟激光功率与曝光差异 |
| 危险 ❌ | 仅对图像做几何变换、掩膜不同步 | 标签错位,损失静默污染 |
| 危险 ❌ | 强非线性弹性形变 | 破坏视盘/视杯的椭圆几何形态,改变 CDR 语义 |
| 危险 ❌ | 强度直方图均衡到极端 | SLO 激光成像的强度分布携带组织信息,激进均衡可能抹掉组间解剖差异(公平性研究的信号所在) |
§6.7 模型推荐
| 模型 | 类型 | 适用场景 | 官方支持 | 备注 |
|---|---|---|---|---|
| SAMed | SAM 参数高效微调 | 公平性方法研究主骨干 | 官方仓库内置 | 论文 FEBS/ADV/GroupDRO 对比均基于此 |
| TransUNet | ViT+CNN 混合分割 | 验证方法骨干无关性 | 官方仓库内置 | FEBS 在该骨干上同样有效(论文) |
| U-Net / VNet2d | 轻量卷积基线 | 快速迭代与教学复现 | 社区教程 | 腾讯云社区有 VNet2d 复现教程 |
| nnU-Net | 自配置强基线 | 精度上限探索 | 需自行适配 | 注意按组报告而非只调总体 Dice |
§6.8 硬件需求
| 场景 | 显存 | 存储 | 说明 |
|---|---|---|---|
| 数据加载与审计 | 无 GPU 要求 | ≥ 60 GB | 解压冗余 + 预处理缓存 |
| SAMed 微调(论文复现) | ≥ 24 GB(社区复现用 A800) | ≥ 100 GB | batch 42、512 输入、70 epochs |
| TransUNet 训练 | ≥ 16 GB | ≥ 100 GB | 官方配置较 SAMed 轻 |
| 轻量基线(U-Net 类) | ≥ 8 GB | ≥ 60 GB | 适合分组消融的批量实验 |
§6.9 评估指标代码
import numpy as np
def dice(pred, gt):
"""二值 Dice 系数。pred/gt 为 0/1 数组。"""
inter = np.logical_and(pred, gt).sum()
denom = pred.sum() + gt.sum()
return 2.0 * inter / denom if denom > 0 else 1.0
def es_dice(group_scores):
"""Equity-scaled Dice(官方论文定义口径):
ES-Dice = 总体 Dice ÷ (1 + 各组 Dice 标准差)。
group_scores: dict[group_id, dice_value]"""
scores = np.asarray(list(group_scores.values()), dtype=np.float64)
overall = scores.mean() # 组均值近似总体(严格口径用全体样本重算)
penalty = scores.std()
return overall / (1.0 + penalty)
# 分组评测示例:按 race 分组报告 + ES-Dice
results = {}
for g in (0, 1, 2): # 0=Asian, 1=Black, 2=White
results[g] = dice(pred=g, gt=g) # 实际代码中 pred/gt 为该组样本集合上的聚合
print("ES-Dice =", round(es_dice(results), 4))
§6.10 MLOps 笔记
- 数据版本化:以 MD5(b5d4de9869064df7786b7ba29ed84faa)+ 文件计数(10,000)作为数据集指纹写入实验配置;任何实验不可复现时先查指纹。
- 许可合规即流水线:ND 条款禁止再分发衍生数据——训练产物只入模型权重与指标,不落原始像素副本到共享存储。
- 公平性指标入 CI:把 ES-Dice、worst-group Dice 加入回归测试,组间差距劣化超过阈值即阻断合并。
- 属性审计留痕:按 data_summary.csv 生成每期训练的分组覆盖报表(各属性组样本数),作为模型卡(model card)的固定附件。
- 屏蔽临床误用:在推理服务的 README 与接口文档中显式声明"非临床用途",与许可条款保持一致。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解建议 |
|---|---|---|---|
| 种族失衡 | Asian 919 / Black 1,473 / White 7,608,White 占 76.1% | 高 | 分组报告 + ES-Dice;少数组指标报置信区间 |
| 语言失衡 | 英语首选 92.4%,西班牙语仅 1.5% | 高 | 语言组分析仅作探索性结论;合并 -1 组需谨慎 |
| 标注迁移偏倚 | OCT→SLO 配准约 80% 成功率,失败样本被剔除,可能系统性排除配准困难的眼底 | 中 | 对被排除模式做敏感性讨论;避免声称"全人群代表" |
| 单中心设备偏倚 | 全部影像来自同一学术眼科医院的成像设备 | 高 | 外部验证前不宣称跨设备泛化 |
| 年龄结构偏倚 | 平均 60.3 ± 16.5 岁,老年为主 | 中 | 不适合儿科/年轻人群应用评估 |
| 登记信息性缺失 | ethnicity/language/marital 的 Unknown 占 2.4%-5.7%,与登记流程相关 | 低-中 | 单独报告 Unknown 组,勿静默丢弃 |
§7.2 标注质量
标注质量的制度保障有三层:其一,标签源头是 3D OCT 衍生的 disc/cup 边界,其结构精度高于在 2D 图像上直接手绘;其二,自动配准后有约 20% 的样本被拒绝入库,构成事实上的质量闸门;其三,入库掩膜经五名医疗专业人员小组审核定稿。局限同样明确:官方未公布标注者间一致性系数(如组内 Dice),也未公布对迁移误差幅度的定量界——需要高质量边界真值的研究(如边界检测网络)建议先抽样自评标注噪声水平。
按研究用途的标注质量置信分级:
| 用途 | 标注质量置信度 | 依据与建议 |
|---|---|---|
| CDR 排序/筛查类研究 | 高 | 掩膜区域级误差对 CDR 排序影响有限,OCT 源 + 人工审核兜底 |
| 总体 Dice 基准对比 | 高 | 与官方口径一致的评测下,标注噪声对所有方法同置 |
| Rim 边界级分析 | 中 | 细环对 1-2 像素级边界误差敏感,建议先抽 50 例人工复核 |
| 亚像素/定位精度研究 | 低 | 无逐样本误差界数据,不宜作为定位精度金标准 |
§7.3 泛化性评估
| 外推场景 | 失效风险 | 证据/理由 |
|---|---|---|
| 学术眼科医院 → 社区/基层设备 | 高 | 单中心 SLO 设备分布与基层不同(论文动机即基层筛查,但数据未含基层影像) |
| SLO → 彩色眼底彩照 | 高 | 成像物理机制不同,强度与对比特性不可互换(§3.1) |
| 美国人群 → 其他地域人群 | 高 | 种族/民族类别体系(Asian/Black/White + Hispanic)为美式登记口径,跨地域迁移需重新映射 |
| 视盘/视杯 → 其他眼底结构 | 中 | 标注仅覆盖 disc/cup,无血管/黄斑等结构 |
| 静态单时点 → 疾病进展建模 | 高 | 无随访时序,无法学习进展轨迹 |
§7.4 伦理考量
数据含 6 个敏感人口学属性,属于"有意保留敏感信息"的设计——这正是其研究价值,也构成伦理责任:使用者应防止属性被用于区分性对待的下游应用,发布结果时应避免对少数组形成污名化叙述。数据经脱敏处理,不含姓名与病历号,SLO 眼底图像不暴露面部特征。官方许可与声明均明确禁止临床决策与患者护理用途,并声明"Harvard"不构成机构背书(Zenodo 合集、官方 GitHub README)。
§7.5 公平性设计
FairSeg 是"为公平性而生"的数据集:6 属性覆盖了人口学(race/ethnicity/gender/age)与社会经济代理(language/marital status)两大类轴,且每轴均报告了组分布。配套的 ES-Dice 指标把组间标准差显式写进模型选择目标,官方论文进一步发现按首选语言分组时性能差距显著——提示不平等可以经由非种族路径进入模型行为。使用者应当把"按全部 6 轴分别报告"作为最低公平性审计标准,而非只挑有利轴汇报。
六轴公平性审计最小清单:
| 审计轴 | 分组数 | 检查要点 |
|---|---|---|
| race | 3 | Black/Asian 组 vs White 组的 Dice 差与最差组 |
| ethnicity | 2 + Unknown | Hispanic 组样本少(3.7%),必须报置信区间 |
| gender | 2 | 论文复现 issue 显示 gender 轴 Rim 任务曾有异常(坑点 5) |
| age | 连续 → 自定分箱 | 分箱边界须全实验冻结;官方未给标准分箱 |
| language | 3 + Unknown | 论文发现语言轴差距显著,属必查轴 |
| maritalstatus | 5 + Unknown | 合法分居组仅 0.8%,只做探索性分析 |
§7.6 数据漂移风险
数据为单时点横断面切片,无采集年份与随访序列;SLO/OCT 设备迭代会带来强度分布与分辨率漂移,而本数据集无法用于量化这类漂移。长期项目应将 FairSeg 定位为"算法公平性研究的静态基准",对生产环境的漂移监测另行建设数据源。
§7.7 DAIMS 数据质量评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式数据 | ✅ | 每受试者单 NPZ,字段扁平,无需多表 join |
| 2 | 唯一标识 | ✅ | data_00001–data_10000 编号唯一且连续 |
| 3 | 特殊字符处理 | ✅ | 字段名全小写无空格,跨平台加载无障碍 |
| 4 | 重复行检测 | ✅ | 一对一结构 + 连续编号,重复风险结构性趋零 |
| 5 | 缺失编码 | ✅ | ethnicity/language/maritalstatus 以 -1 显式编码 Unknown |
| 6 | 标签标识 | ⚠️ | 掩膜含 disc/cup 双区域,但官方未公布像素值编码表 |
| 7 | 罕见类分组 | ⚠️ | 合法分居(0.8%)、西班牙语(1.5%)等组样本过少,分组指标方差大 |
| 8 | 偏倚评估 | ✅ | 官方论文以公平性为核心命题,属性分布披露完整 |
| 9 | 数据字典 | ✅ | README 编码表 + data_summary.csv 概览 |
| 10 | 信息性缺失解释 | ⚠️ | -1 编码存在,但官方未解释 Unknown 产生流程 |
| 11 | 设备记录 | ❌ | SLO/OCT 厂商型号与原生分辨率均未公布 |
| 12 | 共线性检查 | ⚠️ | 官方未做/未披露属性间共线性分析 |
| 13 | 编码映射 | ✅ | 每个整数码在 README 中有明确定义 |
| 14 | 时间戳处理 | ❌ | 无采集日期、无随访时点 |
| 15 | 划分建议 | ✅ | 官方 8,000/2,000 + lists 文件显式指定 |
| 16 | 泄漏讨论 | ✅ | 一对一结构天然免疫受试者级泄漏(详见 §5.3) |
| 17 | 标签分布 | ⚠️ | 属性分布披露完整,但掩膜区域像素占比未公布 |
| 18 | 测量偏倚 | ⚠️ | 迁移标注约 80% 成功率提示潜在选择偏倚,官方已声明但未定量 |
| 19 | 外部验证建议 | ⚠️ | 论文示范了向 HAM10000 的方法迁移,第三方外部验证尚缺 |
| 20 | 版本记录 | ⚠️ | 官方未设版本号,仅论文版本可考(arXiv v1–v5) |
| 21 | 预处理脚本 | ⚠️ | 提供训练代码但无一键预处理脚本,掩膜编码需自行确认 |
| 22 | 合规要求 | ✅ | CC BY-NC-ND 4.0 + 非商业/禁临床声明清晰完整 |
| 23 | 多模态对齐 | ✅ | 图像-掩膜-属性同封装于单 NPZ,对齐由格式保证 |
| 24 | 去标识化 | ✅ | 无姓名/病历号/面部特征,SLO 影像天然不含身份信息 |
DAIMS 评分:18.5 / 24
评分解读:这是一个"研究意图极清晰、工程细节留白"的数据集。格式统一、编码透明、划分明确、合规严谨是其强项(8 项 ✅);失分集中在三类:元数据缺失(设备、时间戳、标注一致性系数)、掩膜编码表未公布(6/17/21 三项连锁扣分)、以及失衡分组下官方未提供方差处理指引(7/10/18)。它足以支撑公平性方法学研究,但不足以直接支撑多中心临床级评估。
对你意味着什么:
- 若你做公平性方法研究:可以直接开跑,但第 1 周请先完成三件事——确认掩膜编码、校验 lists 对齐、冻结训练集统计量(对应坑点 1/2/7)。
- 若你做临床转化前的模型验证:18.5 分意味着 FairSeg 只能作为"内部基准",不能替代多中心验证;设备与人群外推风险(§7.3)需在研究设计阶段就写入局限声明。
- 若你做数据工程/基准建设:把本表 6 个 ⚠️/❌ 项当作你的预处理 checklist——补齐设备元数据、掩膜编码文档与标注一致性报告,就能显著提升你自己的衍生基准质量。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| HAM10000(论文内迁移实验) | MedUni Wien 等多源皮肤镜 | 皮肤病变分割(按年龄 ≥40 / ≥20 分组的公平性评测) | Dice 88.4 / 87.1 | —(方法迁移实验,非模型直接迁移) | FEBS 方法可跨模态(眼底→皮肤镜)与跨分组轴(种族→年龄)泛化,验证了方法学而非数据本身的外部效度 |
§8 基准性能与生态
§8.1 排行榜
下表收录官方论文主表的可考数字(Rim 任务 ES-Dice;口径:官方 8,000/2,000 划分 + SAMed 骨干)。第三方榜单(Papers with Code 口径)另记录了 Cup 任务 ES-Dice 约 82.5、Rim 任务约 70.5 的聚合数字(Wizwand 论文页快照),因模型归属不完整,仅作量级参考不列入排名表。
| 排名 | 模型 | Rim ES-Dice | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | SAMed + FEBS | 0.7529 | 2024 | SAM 参数高效微调 + 组误差上界损失重加权 | Tian, Y., Shi, M., Luo, Y., Kouhana, A., Elze, T., & Wang, M. (2024), ICLR. arXiv:2311.02189 | 官方仓库 |
| 2 | SAMed(基线) | 0.7478 | 2024 | SAM 参数高效微调 | Zhang, K., & Liu, D. (2023). Customized Segment Anything Model for Medical Image Segmentation. arXiv:2304.13785(骨干出处) | 官方仓库 |
数值不可直接比较的警示:不同论文/榜单对"Cup / Rim / All"任务定义、ES 缩放口径、划分与输入尺寸的处理存在差异;引用任何数字前务必核对原始论文表格口径,禁止跨口径比较。
§8.2 SOTA 总结与选型建议
截至本页审核日,FairSeg 上的公开可考最优结果仍来自官方论文体系:SAMed + FEBS 在最难的 Rim 任务上取得 ES-Dice 0.7529,FEBS 的增益主要体现在"抬高最差组下限"而非总体精度。选型建议:方法学论文优先复现 SAMed + FEBS 作为主对照,TransUNet 作为骨干无关性验证;工程实践优先轻量骨干 + 分组审计,避免一开始就卷总体 Dice。
结果的合理解读框架:ES-Dice 的分母惩罚项(1 + 组间标准差)意味着"总体高但组间差距大"的模型得分会被显著拉低,因此 FEBS 相对基线的 +0.0051 量级提升,其公平性含义远大于表面数字——它是在总体几乎不损失的前提下改善了最差组表现。复现者如果把"总体 Dice 不降"与"组间标准差收窄"拆开报告,会比单一 ES-Dice 数字更有信息量。
§8.3 评测协议
官方评测协议要点:划分用 SAMed/lists/FairSeg_final/ 的 train.txt(8,000)/test.txt(2,000);骨干 SAMed(ViT-B)与 TransUNet 两条;论文实施设置(据社区复现引用)为 lr 0.005、momentum 0.9、weight decay 0.1、batch size 42、70 epochs;指标为 ES-Dice(总体 Dice ÷ (1 + 各组 Dice 标准差))与 ES-IoU;分组轴覆盖全部 6 个属性。复现时建议追加:3 随机种子均值、少数组自助置信区间(见坑点 5/6)。
协议参数速查表:
| 参数 | 官方值 | 备注 |
|---|---|---|
| 训练/测试划分 | 8,000 / 2,000 | lists 文件显式指定 |
| 骨干 | SAMed(ViT-B)、TransUNet | 双骨干验证方法一致性 |
| 学习率 | 0.005 | 社区复现引用的论文设置 |
| Batch size | 42 | 同上 |
| Epochs | 70 | 同上 |
| Weight decay / momentum | 0.1 / 0.9 | 同上 |
| 主指标 | ES-Dice、ES-IoU | 公平性缩放口径 |
| 对照方法 | ADV、GroupDRO | 公平性学习代表作 |
§8.4 相关数据集
| 数据集 | 机构 | 关系 | 差异要点 |
|---|---|---|---|
| FairCLIP | Harvard Ophthalmology AI Lab | 同家族(公平性) | 视觉-语言任务,与分割互补 |
| FairDomain | Harvard Ophthalmology AI Lab | 同家族(公平性) | 跨域(眼底/CT)分割公平性,可作泛化性延伸 |
| FairVision | Harvard Ophthalmology AI Lab | 同家族(公平性) | 多病种眼科公平性数据集合 |
| HAM10000 | 多中心(MedUni Wien 等) | 论文迁移实验对象 | 皮肤镜、分类为主、属性较少 |
| CheXpert / MIMIC-CXR | Stanford / MIT | 医学公平性研究常用参照 | 胸片分类任务,无像素级公平性分割基准 |
数据集选择的实用建议:做分割公平性方法研究,FairSeg 为唯一选择级基准,FairDomain 作跨域延伸;做分类公平性研究,HAM10000(年龄轴)与胸片系更合适;做"模态迁移稳健性",FairSeg(SLO)与彩色眼底数据集的对比本身就是有价值的实验设计。
§8.5 关键论文 Top 6
- Tian, Y., Shi, M., Luo, Y., Kouhana, A., Elze, T., & Wang, M. (2024). “FairSeg: A Large-Scale Medical Image Segmentation Dataset for Fairness Learning Using Segment Anything Model with Fair Error-Bound Scaling.” ICLR 2024. arXiv:2311.02189 — 数据集与 FEBS/ES-Dice 的原始出处,一切引用的锚点。
- Zhang, K., & Liu, D. (2023). “Customized Segment Anything Model for Medical Image Segmentation.” arXiv:2304.13785 — SAMed 骨干论文,官方两条基线之一。
- Kirillov, A., et al. (2023). “Segment Anything.” ICCV 2023. arXiv:2304.02643 — SAM 基础模型,FairSeg 方法路线的前提。
- Chen, J., et al. (2021). “TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation.” arXiv:2102.04306 — 官方第二骨干。
- Sagawa, S., et al. (2020). “Distributionally Robust Neural Networks for Group Shifts: On the Importance of Regularization for Worst-Case Generalization.” ICLR 2020. arXiv:1911.08731 — GroupDRO 原始论文,官方公平性对照组之一。
- Tschandl, P., Rosendahl, C., & Kittler, H. (2018). “The HAM10000 dataset: a large collection of multi-source dermatoscopic images of common pigmented skin lesions.” Scientific Data 5:180161. DOI: 10.1038/sdata.2018.161 — 论文迁移实验使用的外部数据集。
§8.6 社区活跃度
官方 GitHub 仓库(Harvard-Ophthalmology-AI-Lab/FairSeg)收录 SAMed/TransUNet 双骨干实现,仓库历史约 55 个提交(截至 2026-09 第三方镜像快照);issue 区覆盖数据获取、加载错位、损失实现与复现差异等真实问题,且作者有修复与回应记录(如 lists 错位已在 issue #4 修复)。中文社区存在多篇高质量复现与解读(腾讯云社区、极市平台),Hugging Face 存在社区镜像(harvardairobotics/FairSeg)。总体判断:中等规模的活跃研究型社区,问题响应可用但非商业级 SLA。
给不同角色的社区资源使用路径:研究者从 GitHub issue 区入手(复现问题大多已有讨论);工程师从 Zenodo + README 编码表入手(获取与加载一条线);教学场景从腾讯云社区中文教程入手(属性分布与基线复现最完整)。所有第三方资源使用前先与官方版本核对口径,以官方为准。
§8.7 生态快照
| 资源 | 类型 | 链接 | 活跃度(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| 官方数据页 | 官方入口 | https://ophai.hms.harvard.edu/datasets/harvard-fairseg10k/ | 稳定 | 数据下载与官方信息第一入口 |
| GitHub 仓库 | 官方代码 | https://github.com/Harvard-Ophthalmology-AI-Lab/FairSeg | 约 55 commits(第三方镜像快照),issue 有响应 | FEBS/SAMED/TransUNet 唯一官方实现 |
| Zenodo 合集 | 官方存档 | https://zenodo.org/records/13178701 | 存档级稳定 | 带 MD5 的可靠下载与长期引用 |
| Hugging Face 镜像 | 社区镜像 | https://huggingface.co/datasets/harvardairobotics/FairSeg | 社区维护 | 逐文件预览与网络受限时的备选 |
| ICLR 2024 OpenReview | 论文页 | https://openreview.net/forum?id=qNrJJZAKI3 | 稳定 | 同行评审材料与官方版本 |
| 腾讯云社区解读 | 中文教程 | https://cloud.tencent.com/developer/article/2395685 | 社区文章 | 中文世界最完整的属性分布与复现参考 |
§9 相关资源与引用
§9.1 官方资源
- 官方数据页(下载入口、论文与联系信息):ophai.hms.harvard.edu/datasets/harvard-fairseg10k
- 官方 GitHub 代码仓库(SAMed + TransUNet + FEBS):github.com/Harvard-Ophthalmology-AI-Lab/FairSeg
- Zenodo 长期存档(Harvard Ophthalmology AI Datasets 合集):zenodo.org/records/13178701
- ICLR 2024 论文(OpenReview):openreview.net/forum?id=qNrJJZAKI3
- arXiv 预印本:arxiv.org/abs/2311.02189
- 实验室数据集家族总览:ophai.hms.harvard.edu/datasets
- 官方联系邮箱:harvardophai@gmail.com / harvardairobotics@gmail.com
- Hugging Face 社区镜像:huggingface.co/datasets/harvardairobotics/FairSeg
§9.2 BibTeX 引用
@inproceedings{tianfairseg,
title = {FairSeg: A Large-Scale Medical Image Segmentation Dataset for
Fairness Learning Using Segment Anything Model with Fair
Error-Bound Scaling},
author = {Tian, Yu and Shi, Min and Luo, Yan and Kouhana, Ava and
Elze, Tobias and Wang, Mengyu},
booktitle = {The Twelfth International Conference on Learning Representations
(ICLR)},
year = {2024},
note = {arXiv:2311.02189}
}
@article{zhang2023samed,
title = {Customized Segment Anything Model for Medical Image Segmentation},
author = {Zhang, Kaidong and Liu, Dong},
journal = {arXiv preprint arXiv:2304.13785},
year = {2023}
}
@inproceedings{kirillov2023sam,
title = {Segment Anything},
author = {Kirillov, Alexander and Mintun, Eric and Ravi, Nikhila and
Mao, Hanzi and Rolland, Chloe and Gustafson, Laura and
Xiao, Tete and Whitehead, Spencer and Berg, Alexander C. and
Lo, Wan-Yen and Doll{\'a}r, Piotr and Girshick, Ross},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer
Vision (ICCV)},
year = {2023}
}
@article{chen2021transunet,
title = {TransUNet: Transformers Make Strong Encoders for Medical Image
Segmentation},
author = {Chen, Jieneng and Lu, Yongyi and Yu, Qihang and Luo, Xiangde and
Adeli, Ehsan and Yan, Yan and Choy, Sarma and Yu, Le and
Zhang, Alan and Lu, Minh and others},
journal = {arXiv preprint arXiv:2102.04306},
year = {2021}
}
@inproceedings{sagawa2020groupdro,
title = {Distributionally Robust Neural Networks for Group Shifts: On the
Importance of Regularization for Worst-Case Generalization},
author = {Sagawa, Shiori and Koh, Pang Wei and Hashimoto, Tatsunori B. and
Liang, Percy},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2020}
}
§9.3 引用指南
使用本数据集时:论文正文引用 @inproceedings{tianfairseg};同时使用官方代码时请保留仓库链接与许可声明;若在论文中报告分组指标,建议注明划分文件版本(SAMed/lists/FairSeg_final)与 ES-Dice 定义式,以便口径可比。引用本百科页面时,请以页面脚注所示审核日期为准。
§10 AI 使用声明卡
§10.1 AI 模型使用
| AI 模型 | 版本 | 用途 |
|---|---|---|
| fast-model(CodeBuddy) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09-13 | 6 组检索:官方页面、ICLR 2024 论文与 arXiv 版本、属性分布与获取渠道、基准数字、GitHub issues 坑点、ICD-11/SNOMED CT 编码核实 |
§10.2 AI 参与范围
AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。
AI 在本页面的工作中负责:(1) 从官方数据页、ICLR 2024 论文(arXiv:2311.02189)、GitHub README 与 issues、Zenodo 存档及社区解读中整理结构化信息;(2) 生成 §6 的 Python 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。
§10.3 输入来源
- Tian, Y., Shi, M., Luo, Y., Kouhana, A., Elze, T., & Wang, M. (2024). “FairSeg: A Large-Scale Medical Image Segmentation Dataset for Fairness Learning Using Segment Anything Model with Fair Error-Bound Scaling.” ICLR 2024, arXiv:2311.02189, OpenReview ID: qNrJJZAKI3
- Harvard Ophthalmology AI Lab 官方数据页 FairSeg(ophai.hms.harvard.edu/datasets/harvard-fairseg10k/)
- Harvard-Ophthalmology-AI-Lab/FairSeg 官方 GitHub README(npz 字段编码、下载与授权说明、BibTeX)
- GitHub issues 记录(issue #4 npz/lists 错位与修复;FairDiceLoss 实现质疑;Google Drive 访问受限;disc_cup_mask 全零报告;Rim 复现差异;fair dice loss 恒 1.0 报告)
- Zenodo record 13178701(Harvard Ophthalmology AI Datasets 合集:许可 CC BY-NC-ND 4.0、Harvard-FairSeg.zip 3.9 GB 与 MD5、NIH R01 EY036222 资助信息、"Harvard"背书免责声明)
- Hugging Face 镜像 harvardairobotics/FairSeg(数据卡、Dataset/Test 目录 9.54 GB、单 npz 约 4.77 MB、Pickle imports 标注)
- 腾讯云开发者社区《FairSeg10k2024——SLO 眼底视杯视盘分割》(8,000/2,000 划分、60.3 ± 16.5 岁、六属性分布、NiftyReg 80% 成功率、VNet2d 复现)
- 极市开发者平台《ICLR 2024 首个!Harvard FairSeg》(作者团队、ICLR 收录、下载渠道中文说明)
- Lacuna(tiptreesystems.com)FairSeg 论文解读两篇(FEBS/ESSP 方法分析、0.7529 vs 0.7478 数字、单中心局限与 80% 配准成功率)
- Wizwand 论文页 Papers with Code 口径基准快照(Cup ES-Dice 82.5、Rim ES-Dice 70.5、HAM10000 迁移实验数字)
- arxivlens 论文元数据页(arXiv 2311.02189 版本时间线、2024-05 发布时点、引用网络快照)
- WHO ICD-11 第 9 章编码(eMedCodes ICD-11 浏览器:9C61、9C61.0、9C60、9C40.9 等)
- autoicdapi.com 9C61.Z 交叉映射(SNOMED CT 23986001 Glaucoma 等 10 个概念映射)
- MalaCards POAG 条目(SNOMED CT 77075001 Primary open-angle glaucoma、84494001 Open-angle glaucoma、ICD-10 H40.1 映射)
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED 映射、人群统计、金标准) | 千方病案医学编辑部 | 与 WHO ICD-11 浏览器、MalaCards 及论文原文交叉比对 | ✅ 已验证 |
| §3 数据集规格(样本数、格式、大小、溯源链) | 千方病案医学编辑部 | 与官方数据页、Zenodo、GitHub README 交叉比对 | ✅ 已验证 |
| §4 数据结构(目录树、DAIMS 字段字典、属性编码) | 千方病案医学编辑部 | 与官方 README 编码表及 Hugging Face 文件树交叉比对 | ✅ 已验证 |
| §5 数据划分策略 | 千方病案医学编辑部 | 与官方 lists 及论文表述交叉比对 | ✅ 已验证 |
| §6 代码示例与坑点 | 千方病案医学编辑部 | 逻辑审查 + 与官方仓库结构及 GitHub issues 比对 | ✅ 已通过 |
| §7 质量评估与 DAIMS 评分 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 排行榜与引用表述 | 千方病案医学编辑部 | 与论文原文及第三方榜单快照交叉比对 | ✅ 已验证 |
| §C JSON-LD @graph | 千方病案医学编辑部 | Schema v3.9 字段逐项校验 | ✅ 已通过 |
§10.5 AI 生成章节标注
本页面 §1-§9 正文与 §C JSON-LD 由 AI 生成初稿;§2 医学编码、§3 规格数字、§4 字段编码与 §8 基准数字均逐项溯源至 §10.3 所列来源,并经 §10.4 所列人工校验流程核验。
§10.6 最后人工审核日期
最后人工审核日期:2026-09-05(与 §0 审核日期一致)
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- idrid — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- refuge — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- rose — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- octa-500 — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- duke-dme — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- oimhs — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- drive — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- chase-db1 — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- hrf — 共享标签:医学影像 / 医学图像分割 / 眼科影像
- palm — 共享标签:医学影像 / 医学图像分割 / 眼科影像
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

