ACRIMA (acrima) — 青光眼视盘眼底分类基准数据集 — AI-Ready Wikipedia

705 张视盘居中的彩色眼底照片(396 青光眼 + 309 正常),西班牙 Valencia 单中心、双专家 8 年经验标注、Topcon TRC 35° 视场,2019 年 Figshare CC BY 4.0 公开——曾自述为当时「最大的公开青光眼诊断数据库」,CNN 交叉库泛化评测的经典试炼场

来源 西班牙 Valencia 单中心采集的视盘(optic disc)居中彩色眼底照片:Topcon TRC 眼底相机 + IMAGEnet® 采集系统,35° 视场,2048×1536 px,多数取自散瞳后的左右眼;每张配二分类标签(青光眼/正常),无分割掩码;官方 Figshare 包另附复现论文的 Python 脚本与五种 CNN 权重发布时间: 2026-09-30最后更新: 2026-09-30 阅读 9
ACRIMA (acrima) — 青光眼视盘眼底分类基准数据集 — AI-Ready Wikipedia

信息速览

数据集名称ACRIMA (acrima) — 青光眼视盘眼底分类基准数据集 — AI-Ready Wikipedia
数据类型人工标注,影像数据,原始数据
规模患者级数量未披露(NR,Lancet Digital Health 综述口径);数据集层面共 705 张图像,其中青光眼 396 张、正常 309 张
接入方式西班牙 Valencia 单中心采集的视盘(optic disc)居中彩色眼底照片:Topcon TRC 眼底相机 + IMAGEnet® 采集系统,35° 视场,2048×1536 px,多数取自散瞳后的左右眼;每张配二分类标签(青光眼/正常),无分割掩码;官方 Figshare 包另附复现论文的 Python 脚本与五种 CNN 权重
AI 就绪度

ACRIMA — 青光眼视盘眼底分类基准数据集

一句话定义:ACRIMA 是 2019 年由西班牙瓦伦西亚理工大学(UPV)I3B 团队联合 FOM 眼科机构公开的 705 张视盘居中彩色眼底照片二分类数据集(396 青光眼 + 309 正常),以 CC BY 4.0 许可在 Figshare 发布,并随包附赠五种 ImageNet 预训练 CNN 的微调权重与复现脚本——它既是青光眼自动筛查的入门级基准库,也是「跨库泛化」这一方法论问题的经典试验场。

§0 导读:这个数据集解决什么问题

0.1 从「手工特征」到「端到端学习」的转折点

青光眼的诊断在临床上高度依赖对视盘(optic disc, OD)与视杯(optic cup, OC)形态的判读——尤其是视杯视盘比(cup-to-disc ratio, CDR)。在深度学习兴起之前,自动青光眼筛查的主流路线是「分割 → 量测 → 分类」:先用算法分割出视盘与视杯边界,再计算 CDR、盘沿面积比(ACDR)、血管弯折(vessel kinks)、ISNT 规则等手工特征,最后送进 SVM 等分类器。

这条路线有一个被论文反复点名的痛点:手工特征本身在人类专家之间就存在显著分歧。CDR 的目测估计、盘沿的定性判断,即使资深青光眼医师之间也难有稳定一致的结果——上游分割的误差会被下游量测放大。

ACRIMA 数据集及其首发论文的定位,正是要回答一个方法论问题:如果不做分割、不做手工特征,直接让 ImageNet 预训练的卷积神经网络(CNN)从原始像素学习判别特征,能做到多好? 论文用五种架构(VGG16/VGG19/InceptionV3/ResNet50/Xception)在五个公开数据库共 1707 张图上做了「交叉验证 + 交叉测试」的大范围验证(extensive validation),并顺带把一个新的临床数据库 ACRIMA 公开出来作为试炼场。

0.2 为什么 ACRIMA 值得单独成条

在眼底影像数据集里,ACRIMA 的体量并不大(705 张),分辨率也非最高(2048×1536)。但它有三个独特价值点,使其成为眼科 AI 生态中被引用最多的入门基准之一:

  1. 标注纯度与许可友好度俱佳:CC BY 4.0 明确许可、Figshare 自助下载、无审批门槛;类别分布相对均衡(396:309),不像 REFUGE2 那样 80:720 的极端偏斜。
  2. 「随包附权重与脚本」的复现友好设计:官方 Figshare 包不仅给图,还给论文用到的 Python 脚本和五种 CNN 的微调权重,这在 2019 年的眼底数据集里相当超前。
  3. 跨库泛化评测的天然坐标:论文本身就用它做了「训练库 vs 测试库异构」的实验,ACRIMA 作纯测试集时的 AUC(0.7678)与同库交叉验证(0.9605)之间的落差,成为后续大量域适应研究的引用锚点。

0.3 本条目与其他青光眼眼底条目的边界

本库已有的 REFUGE(rid 62)/ REFUGE2(rid 766) 是挑战赛驱动、多相机多中心、含视盘视杯分割 GT 的复杂数据集;DRISHTI-GS(rid 301) 是 101 张的分割基准(含 expert soft map);HRF(rid 261) 是血管分割基准且同时是 ACRIMA 论文的五对照库之一。ACRIMA 与它们的区别在于:

  • 单中心、单设备、纯分类、无分割 GT——数据「轻」,入门门槛低;
  • 不是挑战赛——没有官方排行榜与固定划分,社区划分各行其是;
  • 含权重脚本——偏向可复现的对照实验而非竞赛。

0.4 本条目结构导航

章节 内容
§1 数据集速览(十问十答 + 横向对比 + 时间轴)
§2 医学背景(青光眼、视盘形态、CDR 与任务定义)
§3 数据集规格(模态/格式/采集/标注/溯源)
§4 数据结构(目录树 + DAIMS 字段字典 + 标签分布)
§5 划分与使用建议(泄漏风险 + 交叉验证 + 外部验证)
§6 AI 就绪指南(加载/预处理/DataLoader/坑点/模型)
§7 质量评估与局限性(偏倚/泛化/伦理/DAIMS 评估)
§8 基准性能与生态(排行榜/协议/相关数据集/关键论文)
§9 相关资源与引用
§10 AI 使用声明卡

§1 数据集速览

1.1 十问十答

Q1:ACRIMA 是什么?
西班牙瓦伦西亚理工大学(UPV)I3B 团队联合 FOM 眼科机构,于 2019 年公开的青光眼二分类眼底照片数据集,全称 “ACRIMA: Glaucoma Optic Disc Fundus Database”。

Q2:ACRIMA 这个名字怎么来的?
它是西班牙 MINECO 资助的科研项目名(项目编号 TIN2013-46751-R,“ACRIMA project”),不是首字母缩写。原始论文与 Figshare 页面均未给出 ACRIMA 的字母展开,本条目按「项目名」处理,不臆造全称。

Q3:有多少张图?类别怎么分?
705 张,其中青光眼 396 张 + 正常 309 张。此为本条目采用的权威口径(Figshare 官方描述 + 论文 Table 1 + PMC 摘要一致)。

Q4:图像是什么规格?
彩色眼底照片,分辨率 2048×1536 px,35° 视场,Topcon TRC 眼底相机 + IMAGEnet® 采集系统,视盘居中裁剪,多数取自散瞳后的左右眼。

Q5:谁标的?可靠吗?
由两名青光眼专家(各 8 年经验)独立标注为青光眼/正常,仅依据其判读标准与检查时的临床发现,未使用 IOP、视野等其他临床信息。论文未报告标注者间一致性(inter-observer agreement)的量化指标。

Q6:有分割标注(视盘/视杯轮廓)吗?
没有。 论文明确:“This first version of ACRIMA database could only be used for classification tasks. Optic disc and optic cup segmentation are not provided.”

Q7:怎么获取?要钱吗?要申请吗?
免费且自助。主渠道是 Figshare 短链 https://figshare.com/s/c2d31f850af14c5b5232(对应 article 7613135),直接下载 zip;亦可从 Kaggle 多个镜像获取。

Q8:什么许可?能商用吗?
CC BY 4.0(署名即可自由使用、共享、改编,含商用),以 Figshare 官方条款为准。⚠️ 注意部分 Kaggle 镜像页把 License 标为 “Unknown”,属镜像页疏漏,不代表官方许可。

Q9:用它发论文常拿来干嘛?
最常见的三种用法:① 训练/评测青光眼二分类 CNN;② 作为跨库泛化实验的异构测试集;③ 作为合成数据增强(GAN/自编码器)方法的效果验证库。

Q10:有什么坑?
① 无分割 GT,别拿它做视杯分割;② 单中心单设备,跨人群泛化未验证;③ 无官方划分,社区划分随意,同一患者/眼的图像可能跨 train/test 泄漏;④ 患者数为 NR,无法做患者级分层。

1.2 一眼看清:ACRIMA 关键数字

维度 数值 来源
总图像数 705 Figshare / 论文 Table 1
青光眼(阳性) 396 同上
正常(阴性) 309 同上
类别比 396:309 ≈ 1.28:1 计算
分辨率 2048×1536 px Diaz-Pinto 博士论文 / IIETA
视场(FOV) 35° 论文正文
相机 Topcon TRC(+ IMAGEnet® 系统) 论文正文
图像格式 彩色眼底照片(JPEG) Lancet 综述 / Kaggle
标注者 2 名青光眼专家(各 8 年经验) 论文正文
分割 GT 无 论文正文
许可证 CC BY 4.0 Figshare
患者级数量 未披露(NR) Lancet 综述
官方包体积 Kaggle 镜像约 25.62 MB Kaggle
公开日期 2019-03-15(数据)/ 2019-03-20(论文) Figshare / PMC

1.3 横向对比:ACRIMA 与同域青光眼库

数据集 图像数 青光眼:正常 任务 分割 GT 采集 许可 库内 rid
ACRIMA 705 396:309 分类 无 单中心 Topcon TRC 35° CC BY 4.0 本条
DRISHTI-GS 101 70:31 分割+分类 有(soft map) 单中心 Aravind 30° 学术使用 301
REFUGE 1200 多类 分类+分割 有 多中心 非商用 62
REFUGE2 2000 80:720(训练) 分类+分割 有 4 相机多中心 CC BY-NC-ND 766
HRF 45 27:18 血管分割 有(血管) 单中心 CC BY-NC-SA 261
RIM-ONE 455 194:261 分类+分割 有 3 家西班牙医院 研究用途 —
ORIGA-light 650 168:482 分类+分割 有 新加坡 SiMES 研究用途 —
LAG(AG-CNN) 5824 2392:3432 分类 无 北京同仁医院 部分需申请 —

读法:ACRIMA 的体量居中、类别最均衡、许可最宽松,且是表中唯一「随包附 CNN 权重」的库。DRISHTI-GS 与本库已有条目可作学习用视盘形态的对照;REFUGE2 代表「多域挑战赛」形态。

1.4 版本时间轴

2013 ── MINECO 批准 ACRIMA 项目 TIN2013-46751-R(西班牙)
2014-2018 ── 图像采集与双专家标注(Topcon TRC,35°,散瞳视盘居中)
2019-03-07 ── 姊妹论文 IEEE TMI 38(9) 在线(DCGAN 半监督,非首发)
2019-03-15 ── 【数据发布】Figshare article 7613135 公开(705 张 + 脚本 + 权重)
2019-03-20 ── 【首发论文】BioMedical Engineering OnLine 2019;18:29 见刊
2019-09 ── IEEE TMI 38(9):2211-2218 正式出版
2020-01 ── Lancet Digital Health 眼科影像数据集全球综述收录(Spain / 705 / OA)
2020s ── Kaggle 多个社区镜像流转;被 HiGANCNN、MM-Retinal-Reason 等衍生数据集引用
2026-09-30 ── 本条目撰写与事实核验

1.5 典型应用场景

  • 教学与入门:体量小、许可清晰、类别均衡,是眼底分类课程的经典「Hello World」数据集;
  • 方法对照:因其论文提供了五模型的基准数字与权重,便于复现与公平对比;
  • 跨库泛化研究:作为异构测试集,衡量模型从其他库迁移到本库的衰减;
  • 合成数据增强:GAN/自编码器生成图像后,用 ACRIMA 验证分类增益(如 ViT 增强实验 AUC 0.94→0.99);
  • 类别不平衡处理:1.28:1 的轻度不平衡,适合作为加权损失/重采样的温和练习场。

1.6 名词速查

术语 英文 一句话解释
视盘 optic disc (OD) 视网膜上视神经纤维汇合处,眼底照片中的亮白色圆盘
视杯 optic cup (OC) 视盘中央更亮、更凹陷的区域
视杯视盘比 cup-to-disc ratio (CDR) 视杯直径/视盘直径,青光眼常增大,是经典筛查指标
盘沿 neuro-retinal rim 视盘外圈、视杯之外的神经组织带
视场 field of view (FOV) 相机单次成像覆盖的视网膜角范围,此处 35°
散瞳 dilation 用药扩大瞳孔以获取更大视野与更清晰图像
交叉库测试 cross-testing 在一个库训练、在另一个库测试,考察泛化
域偏移 domain shift 训练与测试分布不一致(人群/设备/协议差异)

1.7 本条目的事实纪律说明

本条目所有硬数字均以三源互证为准(首发论文 PMC 全文 / Figshare 官方描述 / Lancet Digital Health 综述或 Diaz-Pinto 博士论文)。凡遇口径冲突(尤其是类别标签互换与采集机构名称两处),均按权威源采用并在 §9 与全文相应位置逐条存照,不掩盖、不臆改。ACRIMA 是项目名而非缩写,本条目不为其编造字母展开。

1.8 三条最容易被误传的说法(澄清)

常见误传 事实
「ACRIMA 有 396 正常 + 309 青光眼」(Eyedatahub 口径) 实为 396 青光眼 + 309 正常(Figshare/论文一致)
「ACRIMA 采集自 Hospital Clínico San Carlos」 实为 FOM / FISABIO Oftalmología Médica(Valencia);San Carlos 是 RIM-ONE 的来源医院
「ACRIMA 是某缩写,如 Automatic Classification of Retinal Images…」 ACRIMA 是项目名(TIN2013-46751-R),原始文献未给字母展开

这三条是本数据集在二次传播中最易出错的点,本条目在正文相应位置均作了标注。

1.9 一分钟上手路径

1. 打开 https://figshare.com/s/c2d31f850af14c5b5232 下载 zip
   (或 kaggle datasets download -d toaharahmanratul/acrima-dataset)
2. 解压,找到 705 张 *ACRIMA.jpg
3. 用 "_g_" in filename 解析标签 → 396 青光眼 / 309 正常
4. 断言数量无误 → resize 到 224/299 + ImageNet 归一化
5. 用 ImageNet 预训练骨干微调 → 分层 k 折报告 AUC/sens/spec
6. 若要评泛化:在别的库训练、在 ACRIMA 上测(或反之)

1.10 引用本数据集时的一句话模板

「我们在 ACRIMA 数据集(705 张视盘居中眼底照片,396 青光眼 + 309 正常;Diaz-Pinto et al., BioMedical Engineering OnLine 2019;CC BY 4.0)上评估了……(划分协议……;同库 / 跨库口径……)。」

该模板强制补齐许可、划分、口径三要素,避免引用时的常见歧义。

§2 医学背景

2.1 青光眼:不可逆的「沉默视力杀手」

青光眼(glaucoma)是一组以视神经纤维进行性丢失、视网膜神经节细胞凋亡为共同特征的神经退行性眼病,也是全球主要致盲原因之一。首发论文引用 WHO 数据指出,青光眼全球影响超过 6500 万人;TMI 姊妹论文则称其为「全球第二大致盲原因」。其关键临床特征是不可逆性——一旦视神经纤维死亡,视力损失无法恢复,因此早期发现与及时干预(药物、激光、手术)是保住视力的核心。

青光眼主要分两型:

  • 开角型(open-angle):进展缓慢、早期几无症状,是欧美裔人群的主要类型;
  • 闭角型(angle-closure):亚洲人群更常见,起病急、可伴眼痛与视力骤降。

注:上文分型表述综合自 openmedlab 数据集卡片与临床常识,ACRIMA 论文本身未做分型标注——ACRIMA 的标签是二值(青光眼/正常),不含分期与分型。

2.2 为什么诊断要看「视盘」

论文明确指出:眼压(IOP)测量既不够特异也不够敏感——视神经损伤可以在眼压不升高的情况下出现,因此单靠眼压无法作为可靠的青光眼指标。临床因此转向视神经乳头(optic nerve head, ONH)形态学评估:

在眼底照片中,视盘可视觉区分为两个区域:

  • 视杯(optic cup):中央较亮的凹陷区;
  • 盘沿(neuro-retinal rim):视盘外围的神经组织带。

青光眼的形态学标志是「视杯相对视盘异常增大」——即 CDR 升高、盘沿变窄。这一形态改变是 ACRIMA 这类「视盘居中」图像能够支持青光眼识别的解剖学基础。论文图示(Fig. 1)对比了健康眼与青光眼眼的视盘结构差异。

2.3 任务定义

ACRIMA 支持且仅支持一个任务:图像级二分类(binary image-level classification)——给定一张视盘居中的彩色眼底照片,输出 青光眼(glaucomatous)/ 正常(normal) 标签。

属性 说明
输入 单张彩色眼底照片(2048×1536,视盘居中,JPEG)
输出 二分类标签(青光眼 / 正常)
监督信号 图像级标签(非像素级、非区域级)
不可用任务 视盘/视杯分割、CDR 回归、青光眼分期、进展预测

论文强调其方法的卖点是不依赖分割与几何量测:与「先分割 OD/OC 再算 CDR」的传统路线不同,CNN 直接从原始像素学习判别特征,无需特征选择,也无需精确量测视神经乳头结构。这一「端到端」定位正是 ACRIMA 作为分类(而非分割)数据集的设计初衷。

2.4 患者人群

维度 情况
来源人群 西班牙 Valencia 单地区
采集机构 FOM / FISABIO Oftalmología Médica
患者筛选 由专家依临床标准与检查发现挑选青光眼与正常患者
年龄/性别 未披露
眼别 多数图像取自左右眼(未标注具体眼别)
患者数 未披露(NR)
知情同意 获患者事先同意

⚠️ 患者级元数据(年龄、性别、眼别配对、每患者图像数)的缺失,是本数据集在公平性评估与患者级分层上的硬约束。

2.5 临床价值

  • 筛查原型:为低成本、无创的眼底照片青光眼筛查算法提供训练与评测基础;
  • 减少人工负担:自动分类可作为大规模眼底筛查的初筛环节,缓解眼科医师不足;
  • 早期干预窗口:青光眼不可逆,自动筛查若能提前发现可疑病例,具有真实临床意义;
  • 教学与标准化:相对均衡的样本分布使其适合训练与教学中的方法对照。

2.6 金标准表

层面 金标准 强度说明
图像级标签 2 名青光眼专家(各 8 年经验)独立判读 专家判读,非组织学/纵向随访确证;无 agreement 量化
诊断依据 专家判读标准 + 检查时的临床发现 未纳入 IOP/视野/眼底 OCT 等辅助信息
分割 GT 无 第一版未提供
患者级诊断 未提供 仅图像级标签

读法:ACRIMA 的标签是「专家图像级判读」,在青光眼这种存在主观判读差异的疾病上,没有量化观察者间一致性是使用时应知晓的监督信号局限。

2.7 青光眼筛查的临床工作流与 ACRIMA 的定位

理解 ACRIMA 的临床价值,需要把它放回真实的筛查工作流:

人群筛查入口(≥40 岁 / 家族史 / 高眼压等高危)
   │
   ├─ (1) 眼底照相(本次数据集的成像环节,Topcon TRC,35° 视盘居中)
   │        └─ 真实场景常为未散瞳、视野偏离、画质参差 ←→ ACRIMA 均为散瞳、视盘居中、已清洗
   │
   ├─ (2) 视神经乳头判读(临床金标准环节)
   │        └─ 眼科医师目测 CDR / 盘沿 / 出血等 ←→ ACRIMA 标签即此环节的双专家判读
   │
   ├─ (3) 辅助检查(IOP / 视野 / 眼底 OCT / 房角镜)
   │        └─ ACRIMA 标签未纳入这些信息 ← 关键局限
   │
   └─ (4) 诊断与随访

ACRIMA 对应的是工作流中 (1)+(2) 的「照相 → 判读」两端,目标是让算法替代/辅助 (2) 的初筛判读。这也解释了其设计取舍:

  • 只做视盘居中的图:因为判读依据主要是视盘形态,居中构图能最大化形态信息的可读性;
  • 只做二分类:因为 (2) 环节的临床输出就是「可疑/不可疑」的二值决断,分期需要 (3) 的辅助信息;
  • 不含临床协变量:因为算法被定位为「仅凭眼底照片」的筛查器,纳入 IOP 等会改变任务定义。

2.8 CDR:既是金指标又不可单独依赖

视杯视盘比(CDR) 是青光眼形态学筛查中引用最广的量化指标,但它在 ACRIMA 的语境里有双重身份:

  1. 它解释了「为什么视盘图像能分类」:CDR 升高是青光眼的形态学标志,CNN 从像素中学到的判别特征在相当程度上对应这一形态差异;
  2. 它恰恰是论文要绕开的对象:传统方法「先分割 OD/OC → 再算 CDR」的路线,其瓶颈在于分割误差与目测 CDR 的专家间分歧。论文明确指出,基于手工特征(CDR、ACDR、血管弯折、ISNT 规则)的方法「即使专家之间也有显著分歧」。ACRIMA 首发论文的方法不做分割、不算 CDR,直接端到端分类。

这一层张力值得读者注意:ACRIMA 是一个「视盘形态学」数据集,却刻意不提供形态学的几何标注(分割 GT)——它把「形态识别」这件事整个交给网络从原始像素去学。这也是为什么它不能用于 CDR 回归任务,却非常适合考察「端到端 vs 手工特征」的方法论对比。

2.9 与库内同类数据集的临床任务边界

数据集 临床任务 需要的标注深度 ACRIMA 能否替代
ACRIMA 青光眼二分类 图像级标签 —
DRISHTI-GS 视盘/视杯分割 + CDR 像素级 soft map ✗(无分割 GT)
REFUGE / REFUGE2 分类 + 分割 + 中心凹定位 多任务像素级 ✗(任务更宽)
HRF 血管分割 血管像素级 ✗(任务不同)
DRIVE 血管分割 血管像素级 ✗(任务不同)

结论:在青光眼眼底的**「纯分类」这一细分任务上,ACRIMA 是库内最轻、许可最宽松**的入口;一旦任务涉及分割或几何量测,必须换用其他条目。

§3 数据集规格

3.1 版本抉择矩阵

问题 结论
有几个官方版本? 只有一个(2019-03-15 Figshare 首发),无多版本演进
Kimi/社区有分叉版本吗? 有多个 Kaggle 社区镜像(原图重新打包),非官方新版本
该用哪个? 研究引用与公平对比应优先用 Figshare 官方包(含脚本与权重)
有预处理版本吗? 部分第三方提供 resize/划分版本,非官方,慎用于可复现对比

3.2 模态详情

项 内容
成像模态 彩色眼底照相(color fundus photography, CFP)
解剖部位 眼(视网膜 / 视神经乳头区域)
视角 视盘居中(optic disc-centred)
图像维度 2D
通道 RGB 彩色

3.3 格式表

项 内容 来源口径
图像格式 JPEG Lancet 综述、Kaggle、PeerJ-CS(多数权威源)
图像格式(异说) PNG openmedlab GitHub 元信息表(⚠️ 少数口径,见 §9)
分辨率 2048×1536 px Diaz-Pinto 博士论文、IIETA、PeerJ-CS
位深/通道 RGB(未特别说明) —
标签载体 文件名编码(_g_ = 青光眼、_ = 正常) Figshare / Kaggle readme
附带内容 Python 复现脚本 + 五种 CNN 权重 Figshare 描述

3.4 存储大小

口径 数值 说明
Kaggle 镜像 Version 1 约 25.62 MB(706 files) 纯图像包(705 图 + 1 readme)
Eyedatahub 记录 Size 0.5 GB 疑为含脚本/权重的整包或不同压缩口径

⚠️ 两个数字相差一个数量级,属口径差异而非冲突:705 张 2048×1536 的 JPEG 压缩后确实在几十 MB 量级;0.5 GB 更可能是整包(含权重)或误记。使用时以实际下载为准。

3.5 标注方式

  1. 采集:Topcon TRC 相机 + IMAGEnet® 系统,35° 视场,散瞳、视盘居中拍摄;
  2. 清洗:剔除含伪影(artefacts)、噪声(noise)、低对比度(poor contrast)的图像;
  3. 裁剪重命名:围绕视盘裁剪并统一重命名为 Im<三位序号>[_g]_ACRIMA;
  4. 专家标注:两名青光眼专家(各 8 年经验)独立标注为青光眼或正常;
  5. 无分割:不提供视盘/视杯轮廓。

3.6 标注者资质与一致性

项 内容
标注者人数 2 名
专业资质 青光眼专家(glaucoma experts)
经验年限 各 8 年
标注依据 其判读标准 + 检查时的临床发现;未用其他临床信息
一致性指标 未报告(无 κ、无 agreement rate)

读法:两名专家、各 8 年经验、独立标注、无辅助临床信息、无一致性量化——这是 ACRIMA 标签质量的完整画像:专业但信息有限、且不确定性未被量化。

3.7 采集周期

未明确披露。据项目周期推断,采集发生在 ACRIMA 项目 TIN2013-46751-R 执行期(约 2014-2018)。

3.8 地域覆盖

项 内容
国家 西班牙
城市 Valencia
采集机构 Fundación Oftalmológica del Mediterráneo (FOM) / FISABIO Oftalmología Médica
中心数 1(单中心)
人群多样性 有限(单一地区人群)

3.9 设备规格

项 内容
相机 Topcon TRC 眼底相机(Topcon, 日本)
采集系统 IMAGEnet®
视场 35°
分辨率 2048×1536 px
瞳孔条件 多数图像散瞳后采集
构图 视盘居中

3.10 深度溯源链

临床场景:青光眼/正常患者的眼科检查
   └─ 患者事先同意(符合 1964 赫尔辛基宣言)
   └─ FOM / FISABIO Oftalmología Médica(Valencia)采集眼底照片
        └─ Topcon TRC + IMAGEnet®,35° 视场,2048×1536,散瞳视盘居中
        └─ 剔除伪影/噪声/低对比度图像
        └─ 视盘周围裁剪 + 重命名(Im###[_g]_ACRIMA)
   └─ 2 名青光眼专家(各 8 年)独立标注为青光眼/正常
        └─ 705 张(396 青光眼 + 309 正常)
   └─ 【发布】Figshare article 7613135(2019-03-15)+ Python 脚本 + 5 CNN 权重
   └─ 【论文】Diaz-Pinto et al., BioMedical Engineering OnLine 2019;18:29

3.11 官方包到底给了什么(与常见误解)

读者常误以为 ACRIMA 只是「一堆图 + 一个标签」。实际上 Figshare 官方包是一个可复现套件,包含三类内容:

内容 说明 对使用者的意义
705 张标注图像 396 青光眼 + 309 正常 数据本体
Python 复现脚本 论文结果的可运行代码 复现基准的门槛大幅降低
五种 CNN 权重 VGG16/VGG19/InceptionV3/ResNet50/Xception 可直接推理或继续微调

这一「数据 + 脚本 + 权重」三件套在 2019 年的眼底数据集里并不常见,是 ACRIMA 被反复用于公平对照实验的重要原因——复现者无需从零训练即可对齐基线。

3.12 与其他库的「信息完整度」对照

信息维度 ACRIMA DRISHTI-GS REFUGE2
图像数 705 101 2000
患者元数据 ✗ ✗ 部分
分割 GT ✗ ✓ ✓
官方划分 ✗ ✓(50/51) ✓
附带权重/脚本 ✓ 部分 ✗
观察者一致性量化 ✗ ✓(soft map 体现) ✓
许可宽松度 CC BY 4.0(最宽) 学术使用 CC BY-NC-ND

读法:ACRIMA 在「信息深度」上并非最强,但在「即取即用的可复现性」与「许可宽松度」上处于第一梯队。选数据集时应按任务需要权衡这两类属性。

3.13 采集参数对模型的影响

参数 值 对建模的含义
视场 35° 相对较小 视盘占画面比例较大,形态信息集中,利于分类;但视野边缘信息少
视盘居中 构图固定 减少位置变化带来的干扰,模型更易学到形态特征
散瞳 多数已散瞳 图像质量高、伪影少;但真实筛查常不散瞳,存在域差异
2048×1536 高分辨率 下采样到 224/299 后仍保有线盘细节,合适
单设备 Topcon TRC 色彩与成像特性一致;换设备会引入域偏移

3.14 与「临床可用性」的距离评估

把 ACRIMA 到临床落地之间需跨越的鸿沟列成检查表,有助于理性看待其分数:

关卡 ACRIMA 现状 临床落地要求 差距
样本量 705 数万-数十万 大
中心数 1 多中心 大
人群多样性 西班牙单一地区 目标人群覆盖 大
设备多样性 单相机 多厂商多型号 大
图像质量分布 已清洗的高质量 含真实劣质图 中
临床协变量 无 IOP/视野/OCT 大
标注深度 图像级二分类 分期/进展/多标注者 大
前瞻验证 无 前瞻性多中心试验 大

结论:ACRIMA 是算法研发与基准评测阶段的优秀工具,但距离临床部署尚有关键关卡未跨越。将其高分解读为「可临床使用」是过度外推。

§4 数据结构

4.0 目录树

官方 Figshare 包与主流 Kaggle 镜像的典型结构:

ACRIMA/
├── Images/                         # 或 Database/Images/(镜像差异)
│   ├── Im001_ACRIMA.jpg            # 正常(标签位为下划线占位)
│   ├── Im002_ACRIMA.jpg
│   ├── ...
│   ├── Im686_g_ACRIMA.jpg          # 青光眼(标签位为 g)
│   └── Im705_g_ACRIMA.jpg
├── Readme.txt                      # 命名与采集说明(镜像提供)
├── train.txt / val.txt             # 部分镜像提供的划分清单(非官方)
└── (官方包另含)Python 复现脚本 + 5 个 CNN 权重

⚠️ 不同镜像的目录名(Images / Database / train+test)与清单文件(train.txt/val.txt)不一致,且非官方划分。可复现实验应以文件名解析标签而非依赖镜像的目录划分。

4.1 命名规则(关键)

图像文件名结构固定:

Im <三位数字序号> [ _g_ | _ ] ACRIMA
│   │            │        └─ 固定后缀:数据库名 ACRIMA
│   │            └─ 类别位:青光眼 = "_g_";正常 = "_"(单下划线占位)
│   └─ 序号:001 —— 705
└─ 固定前缀:Im

示例:

  • 青光眼:Im686_g_ACRIMA (含 _g_)
  • 正常:Im001_ACRIMA (含单个下划线占位)

解析要点:判断青光眼应匹配 _g_,判断正常应匹配不含 _g_ 但含 _ACRIMA——单纯按「是否有下划线」会把正常图的两处下划线(标签位 + 后缀位)误判。稳健做法是 "_g_" in stem 判青光眼,否则为正常。

4.2 DAIMS 8 列字段字典

对照 DAIMS(Data and Analytics Information Management Specification)锚定数据管理要素,ACRIMA 的数据字典如下:

DAIMS 维度 ACRIMA 对应内容 证据/值
1. Dataset Identity(身份) 名称、版本、发布者 “ACRIMA: Glaucoma Optic Disc Fundus Database”;v1(2019-03-15);UPV I3B
2. Provenance(溯源) 采集机构、设备、时间、伦理 FOM/FISABIO Valencia;Topcon TRC 35°;患者同意 + 1964 赫尔辛基
3. Structure(结构) 文件组织、命名、粒度 扁平图像目录;Im###[_g]_ACRIMA.ext;图像级粒度
4. Content(内容) 模态、分辨率、通道 彩色眼底照片;2048×1536;RGB
5. Semantics(语义) 任务、标签体系 二分类;青光眼/正常;标签来自文件名编码
6. Quality(质量) 标注者、一致性、清洗 2 专家(8 年);无一致性量化;剔除伪影/噪声/低对比度
7. Access(访问) 许可、获取、格式 CC BY 4.0;Figshare 自助;JPEG zip
8. Governance(治理) 隐私、伦理、维护 去标识化图像;伦理合规;无持续更新(无版本演进)

4.3 标签分布

类别 数量 占比 文件名特征
青光眼(阳性) 396 56.2% 含 _g_
正常(阴性) 309 43.8% 不含 _g_
合计 705 100% —
  • 不平衡比:396:309 ≈ 1.28:1(轻度);阳性略多于阴性。
  • 与同类库对比:远好于 REFUGE2 训练集(80:720 ≈ 1:9),接近平衡。

4.4 关键统计

统计量 值
图像总数 705
类别数 2
分辨率(统一) 2048×1536
通道 3(RGB)
患者数 NR
官方划分 无
附带权重模型数 5(VGG16/VGG19/InceptionV3/ResNet50/Xception)

4.5 数据层级

数据集 ACRIMA
 └─ 图像 705 张(唯一数据单元)
      └─ 属性:文件名、分辨率、RGB
      └─ 标签:青光眼/正常(图像级)
      └─ 缺失层级:患者级、眼别级、分割级、分期级

读法:ACRIMA 是扁平的单层结构——没有患者分组、没有子集划分、没有分割图层。任何患者级/眼别级分析都无法在官方数据上完成。

4.6 缺失值与信息性缺失

缺失项 类型 影响
患者 ID / 数量 信息性缺失 无法做 GroupKFold,存在患者级泄漏风险
年龄/性别 信息性缺失 无法做公平性/亚组分析
眼别(左/右) 信息性缺失 无法做眼别配对分析
分割掩码 设计性缺失(第一版不含) 无法做分割/vCDR 任务
成像时间 信息性缺失 无法做时间漂移分析
标注一致性数值 信息性缺失 标签不确定性不可量化

4.7 文件名解析的工程细节

文件名是 ACRIMA 唯一的标签载体,因此解析正确性直接决定监督信号质量。三种常见解析的对比:

def label_wrong_a(stem):   # ❌ 错:按有无下划线判
    return 1 if "_" in stem else 0
# 问题:正常图 "Im001_ACRIMA" 也含下划线 → 全部误判为青光眼

def label_wrong_b(stem):   # ❌ 错:按末段精确匹配
    return 1 if stem.endswith("g_ACRIMA") else 0
# 问题:依赖后缀完整性,镜像重命名后失效

def label_right(stem):     # ✅ 对:只查 _g_ 子串
    return 1 if "_g_" in stem else 0
# 稳健:正常图无 _g_,青光眼图必有 _g_
文件名 正确标签 "_" in "_g_" in
Im001_ACRIMA 正常(0) 1 ✗ 0 ✓
Im686_g_ACRIMA 青光眼(1) 1 ✓ 1 ✓
Im705_g_ACRIMA 青光眼(1) 1 ✓ 1 ✓

工程建议:解析后断言总数=705、青光眼数=396,一旦不符立即报错,避免静默的错误标签污染训练。

4.8 元数据缺口对建模任务的映射

想做的分析 需要的元数据 ACRIMA 是否支持
图像级二分类 文件名标签 ✓
患者级分组划分 患者 ID ✗
眼别配对(左右眼) 眼别字段 ✗
亚组公平性(性别/年龄) 人口学 ✗
时间漂移分析 采集时间 ✗
分期/进展预测 分期/随访 ✗
分割/CDR 回归 分割掩码 ✗

4.9 数据治理视角的小结

从数据治理看,ACRIMA 是一个**「轻元数据、重可用性」的数据集:它把可解析、可自助获取、可复现做到了高分,却在患者级溯源、标注不确定性、临床协变量三个维度留白。使用者应在知情的前提下,用外部验证与明示局限性**来补偿这些留白。

§5 划分与使用建议

5.1 官方划分

ACRIMA 没有官方 train/val/test 划分。 这与挑战赛数据集(如 REFUGE2 有明确 cz 训练/验证/测试集)形成鲜明对比。部分 Kaggle 镜像附带 train.txt/val.txt,属社区自行划分,不可当作官方口径。

5.2 社区惯例划分

文献中的常见做法:

划分方式 典型比例 示例出处
80/20 训练测试 565 / 140 PMC12015992(No-Code 平台对比)
70/15/15 训练验证测试 图像级随机 PeerJ-CS 11:e2844
k=10 折交叉验证 10 折 首发论文 BEO 2019
70/30 训练测试 1195 / 512(五库合计) 首发论文同库实验

5.3 划分策略与泄漏风险

⚠️ 最大的隐患是患者级泄漏:由于患者数未披露、无患者 ID,随机划分可能把同一患者的左右眼图像或同一眼的多次拍摄分到 train 与 test 两侧,导致测试性能虚高。

缓解建议:

  • 若明知数据含左右眼,尽量识别成对图像并做眼级而非图像级划分;
  • 报告结果时明确划分方式,并对「患者级泄漏不可排除」作局限性声明;
  • 与文献数字对比时,注意划分方式差异会显著影响可比性(如 80/20 与 70/30 结果不可直接并比)。

5.4 交叉验证建议

  • 首选分层 k 折(StratifiedKFold):因存在轻度类别不平衡,分层可保持各折类别比例;
  • k 建议 5 或 10(首发论文用 k=10);
  • 若无法排除患者复用,至少做多次不同随机种子的重复 CV,报告均值与标准差,降低单次划分的偶然性。
# 分层交叉验证骨架(伪代码)
from sklearn.model_selection import StratifiedKFold
skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
for tr, va in skf.split(paths, labels):
    ...  # 训练/评估,记录每折 AUC、sensitivity、specificity

5.5 外部验证建议

ACRIMA 的论文本身就示范了跨库外部验证(cross-testing):在五个库上训练后逐库测试,ACRIMA 作纯测试集时 Xception AUC 为 0.7678。因此推荐:

  • 以 ACRIMA 作外部测试集:用其他库(如 RIM-ONE、ORIGA-light、DRIHTI-GS、HRF、sjchoi86-HRF)训练,在 ACRIMA 上测泛化;
  • 以 ACRIMA 作训练集:在 ACRIMA 上训练,在其他库上测——观察域偏移;
  • 多库联合训练 + 留一库测试:最严格的泛化评测协议。

提醒:跨库结果普遍低于同库交叉验证,这是域偏移的真实反映,而非模型缺陷。引用时务必区分「同库」与「跨库」两类数字。

5.6 使用检查清单

  • [ ] 用 _g_ 判定青光眼,勿按「有无下划线」判定;
  • [ ] 明确记录所用划分方式与随机种子;
  • [ ] 对患者级泄漏风险作局限性声明;
  • [ ] 报告 AUC 时同时给 sensitivity 与 specificity(类别不平衡下 AUC 单独不够);
  • [ ] 与文献对比时区分同库/跨库口径;
  • [ ] 不将本数据集结果直接外推为临床可用性结论(单中心小样本)。

5.7 划分的三种协议对比(推荐度)

协议 描述 优点 缺点 推荐度
单次随机划分 一次性 80/20 简单 方差大、可能泄漏 ★★
分层 k 折 CV k=5/10,分层 稳健、充分利用数据 无独立测试集 ★★★★
嵌套 CV 外层评估 + 内层调参 偏差最小 计算量大 ★★★★★
跨库留出 其他库训练、ACRIMA 测试 真实泛化估计 反映域偏移,分数偏低 ★★★★★(泛化目的)

实践建议:同库性能用分层 k 折报告,泛化性能用跨库留出报告,两套数字分别标注口径,不要混为一谈。

5.8 结果报告的必备信息(最小可复现集)

  1. 数据来源:Figshare 官方包 or 哪个 Kaggle 镜像(注明);
  2. 划分协议:随机种子、折数、是否分层、是否尝试患者/眼级隔离;
  3. 预处理:resize 尺寸、归一化方式、是否 CLAHE/增强;
  4. 模型:骨干网、是否 ImageNet 预训练、训练轮数与优化器;
  5. 指标:AUC + sensitivity + specificity(+accuracy),以及口径(同库/跨库);
  6. 局限声明:单中心、无患者元数据、无一致性量化。

这六项齐备的报告,才能与论文及其他工作的结果做有意义的比较。

§6 AI 就绪指南

6.0 云端快速启动

# Kaggle Notebook:数据集挂载路径示例(先在右侧 Add Input 添加 ACRIMA 镜像)
# 常见路径:/kaggle/input/acrima-dataset/Database/Images/
#          或 /kaggle/input/acrima-glaucoma-assessment-using-fundus-images/Database/
import os, glob
root = "/kaggle/input/acrima-dataset"
imgs = glob.glob(os.path.join(root, "**", "*.jpg"), recursive=True) \
     + glob.glob(os.path.join(root, "**", "*.png"), recursive=True)
print(len(imgs), "images found")   # 期望 705

6.1 快速上手(本地加载)

# pip install pillow numpy
import os, glob
from PIL import Image
import numpy as np

DATA_DIR = "./ACRIMA/Images"

def load_dataset(data_dir):
    paths, labels = [], []
    for p in sorted(glob.glob(os.path.join(data_dir, "*ACRIMA.*"))):
        stem = os.path.splitext(os.path.basename(p))[0]
        # 关键:用 "_g_" 判定青光眼,否则为正常
        labels.append(1 if "_g_" in stem else 0)
        paths.append(p)
    return paths, np.array(labels)

paths, y = load_dataset(DATA_DIR)
print("总数:", len(paths), "青光眼:", int(y.sum()), "正常:", int((y == 0).sum()))
# 期望:总数 705,青光眼 396,正常 309

# 读一张检查尺寸
img = Image.open(paths[0]).convert("RGB")
print(img.size)   # 期望 (2048, 1536) 或 (1536, 2048),视镜像旋转而定

6.2 数据获取

# 官方渠道(推荐,含脚本与权重):浏览器打开 Figshare 短链下载 zip
# https://figshare.com/s/c2d31f850af14c5b5232

# Kaggle CLI 拉取镜像(已配置 kaggle API key)
kaggle datasets download -d toaharahmanratul/acrima-dataset -p ./data --unzip
# 或
kaggle datasets download -d orvile/acrima-glaucoma-assessment-using-fundus-images -p ./data --unzip

# 下载后核对数量
find ./data -iname "*ACRIMA*" | wc -l        # 期望 705
find ./data -iname "*_g_ACRIMA*" | wc -l     # 期望 396

6.3 预处理全流程

# pip install pillow numpy
from PIL import Image
import numpy as np

def preprocess(path, size=(224, 224)):
    img = Image.open(path).convert("RGB").resize(size, Image.BILINEAR)
    x = np.asarray(img, dtype=np.float32) / 255.0   # 归一化到 [0,1]
    # 建议:按 ImageNet 均值方差归一化(与预训练权重匹配)
    mean = np.array([0.485, 0.456, 0.406], dtype=np.float32)
    std  = np.array([0.229, 0.224, 0.225], dtype=np.float32)
    x = (x - mean) / std
    return x.transpose(2, 0, 1)   # CHW

要点:

  1. 分辨率需下采样:原始 2048×1536 远超 CNN 输入(224×224 或 299×299),需 resize;
  2. 归一化要与预训练权重匹配:论文用 ImageNet 预训练模型,故按 ImageNet mean/std 归一化;
  3. 可做 CLAHE 等增强:论文提到相关工作用 CLAHE 与血管去除,但本文方法未强制;
  4. 勿做过度增强:跨库对比时过度增强会引入不可比因素。

6.4 PyTorch DataLoader

# pip install torch torchvision pillow
import glob, os
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms
from PIL import Image

class ACRIMA(Dataset):
    def __init__(self, root, size=224):
        self.paths = sorted(glob.glob(os.path.join(root, "*ACRIMA.*")))
        self.labels = [1 if "_g_" in os.path.basename(p) else 0 for p in self.paths]
        self.tf = transforms.Compose([
            transforms.Resize((size, size)),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
        ])
    def __len__(self): return len(self.paths)
    def __getitem__(self, i):
        img = Image.open(self.paths[i]).convert("RGB")
        return self.tf(img), self.labels[i]

ds = ACRIMA("./ACRIMA/Images")
dl = DataLoader(ds, batch_size=16, shuffle=True, num_workers=2)
print(len(ds))   # 期望 705

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

坑 1:按「有无下划线」判标签导致正常图被误标为青光眼。
正常文件名 Im001_ACRIMA 含下划线,若用 "_" in name 判标签会全部误判。必须用 "_g_" in name 判青光眼,其余为正常。

坑 2:把 Im686_g_ACRIMA 的 686 当作标签编号或患者号。
686 只是图像序号(001-705),不代表类别或患者。类别仅由 _g_ 位决定。

坑 3:误以为有视盘/视杯分割 GT。
ACRIMA 第一版明确不含分割标注。若任务需要分割,应改用 DRISHTI-GS/REFUGE/REFUGE2。试图在 ACRIMA 上做分割监督会在数据里找不到掩码文件而失败。

坑 4:忽略患者级泄漏做随机划分(最隐蔽的坑)。
患者数未披露、无患者 ID,左右眼图像可能被随机分到 train 与 test 两侧,导致测试性能虚高。需在局限性中声明,并尽量做眼级划分。

坑 5:直接用原始 2048×1536 喂 CNN。
原始分辨率远超网络输入,直接送入会 OOM 或维度不匹配。必须先 resize 到 224 或 299(对应所用骨干网)。

坑 6:忘记了 ImageNet 归一化。
论文用 ImageNet 预训练模型微调,若只用 /255 而不做 mean/std 归一化,会与预训练分布不匹配,性能下降。

坑 7:混淆「同库交叉验证」与「跨库测试」两套数字。
0.9605 是五库平均(Xception,含同库 CV),0.7678 是 ACRIMA 作纯外部测试集时的 AUC。混用会误导选型。

坑 8:把项目名当缩写去「还原」。
ACRIMA 是项目代号(TIN2013-46751-R),不是首字母缩写。引用时不臆造 "Automatic … " 之类的展开。

附加提示:Kaggle 镜像的 License 字段常标 “Unknown”,不要据此认定数据无许可;官方 Figshare 条款为 CC BY 4.0。

6.5b 坑点速查表(速览版)

# 坑 后果 一句话解法
1 按有无下划线判标签 正常全误判为青光眼 用 "_g_" in stem
2 把序号当患者/标签号 元数据误解 686 只是序号
3 以为有分割 GT 任务无法开展 分割请换库
4 忽略患者级泄漏 测试虚高 声明局限,尽量眼级划分
5 直接喂原始分辨率 OOM/维度错 先 resize
6 忘记 ImageNet 归一化 性能下降 加 mean/std
7 混淆同库/跨库数字 误导选型 分开标注口径
8 给 ACRIMA 编缩写 事实错误 它是项目名

6.5c 一个完整可跑的最小示例

# pip install torch torchvision pillow scikit-learn
import glob, os
import torch
from torch.utils.data import DataLoader
from torchvision import transforms, models
from PIL import Image
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import train_test_split

paths = sorted(glob.glob("./ACRIMA/Images/*ACRIMA.*"))
y = [1 if "_g_" in os.path.basename(p) else 0 for p in paths]
assert len(paths) == 705 and sum(y) == 396, "解析异常,检查命名"

class DS(torch.utils.data.Dataset):
    def __init__(self, ps, ys):
        self.ps, self.ys = ps, ys
        self.tf = transforms.Compose([
            transforms.Resize((224, 224)),
            transforms.ToTensor(),
            transforms.Normalize([0.485,0.456,0.406], [0.229,0.224,0.225]),
        ])
    def __len__(self): return len(self.ps)
    def __getitem__(self, i):
        return self.tf(Image.open(self.ps[i]).convert("RGB")), self.ys[i]

tr_p, va_p, tr_y, va_y = train_test_split(paths, y, test_size=0.2,
                                          stratify=y, random_state=42)
model = models.resnet50(weights=models.ResNet50_Weights.IMAGENET1K_V2)
model.fc = torch.nn.Linear(model.fc.in_features, 2)
opt = torch.optim.Adam(model.parameters(), lr=1e-4)
lossf = torch.nn.CrossEntropyLoss()
tl = DataLoader(DS(tr_p, tr_y), batch_size=16, shuffle=True)
vl = DataLoader(DS(va_p, va_y), batch_size=16)

model.train()
for xb, yb in tl:
    opt.zero_grad(); loss = lossf(model(xb), yb); loss.backward(); opt.step()

model.eval(); probs, gts = [], []
with torch.no_grad():
    for xb, yb in vl:
        probs += torch.softmax(model(xb), 1)[:,1].tolist(); gts += yb.tolist()
print("Val AUC:", roc_auc_score(gts, probs))

说明:这是同库单次划分的示例,结果仅作流程验证;正式评测请用分层 k 折并补报 sensitivity/specificity。

6.6 数据增强

论文报道用的增强:随机旋转、缩放(0-0.2)、水平/垂直翻转。建议:

增强 建议 说明
随机旋转 ✓ 小角度(±15-40°) 眼底图像旋转不变性较好
水平/垂直翻转 ✓ 论文采用
缩放/裁剪 ✓(0-0.2) 论文采用
颜色抖动 △ 谨慎 可能改变视盘颜色特征
强几何形变 ✗ 会破坏视盘形态学信息

6.7 模型推荐表

骨干网 输入尺寸 备注
VGG16 / VGG19 224 论文基准之一
ResNet50 224 论文基准之一
InceptionV3 299 论文基准之一
Xception 299 论文最优(五库平均 AUC 0.9605)
EfficientNet / DenseNet 224-299 现代替代,社区常用
ViT + 增强 224 增强后 AUC 可达 0.99(PMC39071920)

6.8 硬件需求表

规模 配置 说明
微调单骨干 单 GPU(≥8GB) 705 张小数据集,轻松
k 折 × 多骨干 单 GPU,数小时 论文规模
CPU 训练 可行但慢 数据集极小,CPU 亦可跑通
存储 <1 GB 数据本体约几十 MB

6.9 评估指标代码

# pip install scikit-learn
from sklearn.metrics import roc_auc_score, confusion_matrix

def metrics(y_true, y_prob, thr=0.5):
    y_pred = (y_prob >= thr).astype(int)
    tn, fp, fn, tp = confusion_matrix(y_true, y_pred, labels=[0, 1]).ravel()
    sens = tp / (tp + fn) if (tp + fn) else 0.0   # 敏感性 = 召回 = 检出青光眼能力
    spec = tn / (tn + fp) if (tn + fp) else 0.0   # 特异性 = 正确排除正常能力
    return {
        "AUC": roc_auc_score(y_true, y_prob),
        "sensitivity": sens,
        "specificity": spec,
        "accuracy": (tp + tn) / (tp + tn + fp + fn),
    }

青光眼筛查场景下,**sensitivity(不漏诊)**通常比 specificity 更关键,报告时应分别给出,勿只报 accuracy。

6.10 MLOps 笔记

  • 数据版本固定:ACRIMA 无版本演进,固定使用 v1(2019)即可,记录下载日期与镜像来源;
  • 可复现性:优先用 Figshare 官方包,社区镜像的目录结构与划分各异,会破坏可复现性;
  • 监控项:类别分布(应为 396:309)、分辨率一致性、文件名解析正确率;
  • 发布前对照:与论文的 Xception 基线(同库 CV vs 跨库)做 sanity check,避免划分差异造成的假高。

§7 质量评估与局限性

7.1 已知偏倚表

偏倚类型 表现 影响
选择性偏倚 单中心、单一地区人群 跨人群泛化未验证
设备偏倚 仅 Topcon TRC 一种相机 换设备性能可能下降
质量偏倚 剔除伪影/噪声/低对比度图 模型未见真实场景劣质图,实际部署或高估
构成偏倚 阳性略多(396:309) 轻度不平衡,影响阈值选择
标注者偏倚 仅 2 名专家、单一机构标准 标签带机构风格,跨库标签标准不一
泄漏偏倚 无患者 ID,随机划分可能泄漏 测试性能虚高风险

7.2 标注质量

  • 优点:由青光眼专科专家(各 8 年经验)标注,专业性有保障;说明标注依据(判读标准 + 临床发现),可追溯;
  • 局限:未报告观察者间一致性(无 κ、无 agreement rate);未纳入 IOP/视野/OCT 等客观检查;青光眼本身判读存在主观差异,标签不确定性未被量化。

7.3 泛化性表

论文 Table 4 的核心发现——Xception 微调后跨库测试:

测试库 图像数 AUC 95% CI
HRF 45 0.8354 50.00–100.00%
Drishti-GS1 101 0.8041 50.49–92.55%
RIM-ONE 455 0.8575 77.53–91.12%
sjchoi86-HRF 401 0.7739 66.44–86.85%
ACRIMA 705 0.7678 68.41–81.81%

读法:跨库 AUC 普遍低于同库交叉验证的平均 0.9605。这直接印证了论文自己的结论——泛化到不同数据库是主要难点,标注标准、人群与成像设备差异带来显著域偏移。作者直言这是「most publicly available databases differ in the way they are labelled」。

7.4 伦理

  • 图像获患者事先同意;
  • 符合 1964 年赫尔辛基宣言伦理标准;
  • 发布内容为眼底图像与标签,无患者身份信息;
  • ⚠️ 局限性:无独立伦理审查批号披露、无去标识化流程细节、无数据使用协议(CC BY 4.0 直接免申请)。

7.5 公平性

  • 无法开展亚组公平性分析:无年龄、性别、种族、眼别等元数据;
  • 单一人群采集:西班牙 Valencia 人群,对亚洲/非洲等人群的适用性未知;
  • 青光眼分型盲区:不区分开角型/闭角型,而闭角型在亚洲人群更常见——可能对亚洲人群表现更差。

7.6 数据漂移

ACRIMA 为静态快照,无时间维度元数据,无法评估时间漂移;发布后无更新,不会引入新版本漂移,但也意味着不会随临床实践演进而更新。

7.7 DAIMS 数据集评估

DAIMS 治理维度 评级 说明
数据身份清晰度 ★★★★☆ 名称、发布者、日期明确;无 DOI 数据集号(仅短链)
溯源完整性 ★★★★☆ 机构、设备、标注者、伦理齐全;时间与患者数缺失
结构规范性 ★★★★☆ 命名规整可解析;镜像目录不统一
内容描述 ★★★★★ 分辨率、模态、视场明确
语义标注 ★★★☆☆ 二分类语义清晰;无一致性量化、无分期
质量保证 ★★★☆☆ 专家标注 + 清洗;无 agreement、无交叉复核
可访问性 ★★★★★ CC BY 4.0 + 自助下载,门槛极低
治理与伦理 ★★★★☆ 同意 + 赫尔辛基合规;无批号、无患者元数据
综合 ★★★★☆ 定位清晰的入门级基准:许可与可访问性突出,监督信号深度与元数据完整性有限

7.8 外部验证矩阵

作为 训练库示例 测试库 论文 AUC 备注
测试集 五库混合微调 ACRIMA 0.7678 首发论文 Table 4
训练集 ACRIMA HRF/Drishti/RIM-ONE — 论文未逐项报告
联合训练 五库 五库 k 折 0.9605(均值) Xception

7.9 使用红线

  • 不用于临床诊断决策:单中心、小样本、无临床协变量、无前瞻验证;
  • 不外推患病率:非流行病学抽样,类别比例不能反映人群患病率;
  • 不声称泛化能力:跨人群/跨设备性能未知,须实测;
  • 不忽略标签不确定性:青光眼判读本身有主观性,标签非绝对金标准。

7.10 与其他青光眼库的质量对照

质量维度 ACRIMA DRISHTI-GS REFUGE2
标注者数 2 4 多名(挑战赛)
一致性量化 ✗ ✓(soft map) ✓
分割 GT ✗ ✓ ✓
患者元数据 ✗ ✗ 部分
多中心/多设备 ✗ ✗ ✓
图像量 705 101 2000
许可宽松 ✓✓ △ △

读法:ACRIMA 的优势在量与许可,劣势在多中心性与标注深度。它是优秀的「入门与泛化评测」库,但不是「临床级标注深度」库。

7.11 何时该用 ACRIMA,何时不该

适合:

  • 需要快速搭一个青光眼二分类基线;
  • 做跨库泛化/域适应的实验设计(作为训练库或测试库);
  • 验证合成数据增强方法的增益;
  • 教学与可复现性研究。

不适合:

  • 需要视盘视杯分割或 CDR 定量;
  • 需要青光眼分期/进展建模;
  • 需要患者级纵向随访;
  • 声称临床级诊断性能或跨人群泛化。

7.12 局限性一句话总结

ACRIMA 是一个**「小而清、许可宽、可复现,但单中心、无分割、无患者元数据、标签不确定性未量化」的分类基准——它的价值在于可复现的方法论对照与泛化评测**,而不在于临床级监督信号的深度。

§8 基准性能与生态

8.1 首发论文基准(BEO 2019)

五库 1707 张图,五种 ImageNet 预训练 CNN,k=10 交叉验证:

模型 备注
VGG16 基准
VGG19 基准
InceptionV3 基准
ResNet50 基准
Xception 最优:平均 AUC 0.9605,specificity 0.8580,sensitivity 0.9346

论文的选型结论:Xception 在 AUC 与参数量之间的权衡最优。数字来自五库混合(含 ACRIMA),非 ACRIMA 单库。

8.2 跨库测试(论文 Table 4)

Xception 微调后、对未见库的纯测试结果(见 §7.3 表):

测试库 AUC Sensitivity Specificity 图像数
HRF 0.8354 0.8000 0.7778 45
Drishti-GS1 0.8041 0.7525 0.7143 101
RIM-ONE 0.8575 0.7121 0.7990 455
sjchoi86-HRF 0.7739 0.7082 0.7030 401
ACRIMA 0.7678 0.6893 0.7020 705

同库 70/30 划分(1195/512):AUC 0.9464、accuracy 0.8908、sensitivity 0.9175、specificity 0.8571。

8.3 第三方基准(引用 ACRIMA 的 SOTA)

方法 出处 在 ACRIMA 的结果
ViT(原始数据) PMC39071920 AUC 0.94(sens 1.00 / spec 0.88)
ViT + 自编码器增强(+564 合成图) PMC39071920 AUC 0.99(sens 1.00 / spec 0.98)
HiGANCNN(DCGAN + DenseNet) IJCSNS 2022, 22(9):23-30 准确率 99.4%
多阶段预训练 CNN + 投票融合 Frontiers Physiol 2023, PMC10293617 二分类评测
ResNet200d / Teachable Machine / Create ML PMC12015992 80/20 划分对比
MCICNet(Conv-Involution 级联) PeerJ CS 2023, 11:e2844 附加评估集
注意力增强自定义 CNN MDPI 2024, 2673-4591/124/1/110 Drishti-GS1 + ACRIMA

观察:ACRIMA 上的报告准确率/ AUC 普遍很高(0.94-0.99),但这些数字多为同库划分结果,与跨库泛化的 0.7678 存在明显落差。引用高分时须注明划分口径。

8.3b 基准数字的分层解读

把 ACRIMA 上的报告数字按「可信度层级」拆开,有助于避免被高分误导:

层级 典型数字 含义 可信度
L1 同库同划分 0.99(ViT+增强)、0.994(HiGANCNN) 同一划分下的上界 低(易受泄漏与调参影响)
L2 同库交叉验证 0.94(ViT 原数据)、0.9605(五库均值) 库内泛化 中
L3 跨库测试 0.7678(Xception,ACRIMA 为测试集) 真实泛化 高
L4 多库留一 论文 cross-testing 均值约 0.81 跨库稳健性 高

建议:引用 ACRIMA 结果时优先看 L3/L4。L1 的高分(0.99+)在单中心、小样本、无患者隔离的情况下,很可能包含乐观偏倚,不构成「模型已可用于临床」的证据。

8.3c 增强方法在 ACRIMA 上的实证

方法 基线 增强后 增量 出处
ViT + 自编码器合成图(+564) AUC 0.94 AUC 0.99 +0.05 PMC39071920
ViT 在不同训练比例 10% AUC 0.62 起 逐步提升 — 同源(REFUGE2 主实验)

该实验的价值在于证明合成数据能在小样本时提升分类性能,ACRIMA 作为其中一档对照库被引用。注意其合成图增强后的 0.99 属 L1 层级,应与跨库数字区分看待。

8.4 SOTA 总结与选型建议

  • 同库刷分:现代 CNN/Transformer + 增强即可轻松 0.95+,参考价值有限;
  • 真正有区分度的评测:跨库测试与外部验证,ACRIMA 是常用的异构测试集;
  • 选型:若做公平对比,优先复现论文的 Xception 基线;若追求性能,用 ImageNet 预训练骨干 + 适度增强。

8.5 评测协议

社区无统一协议。建议报告时明确:

  1. 划分方式(随机 / 分层 / k 折)+ 随机种子;
  2. 输入尺寸与归一化;
  3. 是否做患者级隔离(并声明无法完全排除泄漏);
  4. 区分同库与跨库口径;
  5. 同时报告 AUC、sensitivity、specificity。

8.6 相关数据集表

数据集 关系 图像数 库内 rid
DRISHTI-GS 同域分割基准;论文对照库 101 301
REFUGE 同域青光眼挑战赛 1200 62
REFUGE2 同域多域挑战赛 2000 766
HRF 论文对照库;血管分割基准 45 261
DRIVE 同域血管分割 40 241
RIM-ONE 论文对照库 455 —
ORIGA-light 常见对照库 650 —
sjchoi86-HRF 论文对照库 401 —
HiGANCNN Generated Glaucoma 衍生数据集(ACRIMA 为源之一) 30,000(合成) —

8.7 关键论文 Top 6

  1. Diaz-Pinto et al., BioMedical Engineering OnLine 2019;18:29 — 首发论文,doi 10.1186/s12938-019-0649-y;
  2. Diaz-Pinto et al., IEEE TMI 2019;38(9):2211-2218 — 姊妹论文(DCGAN 半监督),doi 10.1109/TMI.2019.2903434;
  3. Sivaswamy et al., Drishti-GS(ISBI 2014)— 视盘/视杯分割基准;
  4. Fumero et al., RIM-ONE(2011)— 青光眼分类/分割;
  5. Orlando et al., REFUGE(MICCAI 2018 挑战赛);
  6. Elseid et al., ViT + 自编码器增强(PMC39071920)— 合成数据增强验证。

8.8 生态快照

作者团队(UPV I3B)
  ├─ ACRIMA(2019)──── 本条目,705 张青光眼分类
  ├─ REFUGE 系列关联工作(青光眼挑战赛生态)
  └─ GAN/半监督青光眼评估路线(TMI 2019)
下游衍生
  ├─ HiGANCNN Generated Glaucoma(30k 合成,源含 ACRIMA/Drishti-GS/HRF/ORIGA-light/RIM-ONE)
  └─ MM-Retinal-Reason(CFP/OCT 来源之一)
平台分发
  ├─ Figshare article 7613135(官方)
  ├─ Kaggle toaharahmanratul/acrima-dataset
  └─ Kaggle orvile/acrima-glaucoma-assessment-using-fundus-images
综述收录
  └─ Lancet Digital Health 2021 全球眼科影像数据集综述(Spain / 705 / OA)

§9 相关资源与引用

9.1 官方与权威资源

资源 链接
数据(官方短链) https://figshare.com/s/c2d31f850af14c5b5232
Figshare article article 7613135
首发论文 https://doi.org/10.1186/s12938-019-0649-y(PMC6425593 / PMID 30894178)
姊妹论文 https://doi.org/10.1109/TMI.2019.2903434
博士论文(细节源) UPV riunet handle 10251/124351
Kaggle 镜像 1 https://www.kaggle.com/datasets/toaharahmanratul/acrima-dataset
Kaggle 镜像 2 https://www.kaggle.com/datasets/orvile/acrima-glaucoma-assessment-using-fundus-images

9.2 BibTeX 完整引用

@article{diazpinto2019acrima,
  title   = {CNNs for automatic glaucoma assessment using fundus images: an extensive validation},
  author  = {Diaz-Pinto, Andres and Morales, Sandra and Naranjo, Valery and
             K{\"o}hler, Thomas and Mossi, Jose M. and Navea, Amparo},
  journal = {BioMedical Engineering OnLine},
  volume  = {18},
  number  = {29},
  year    = {2019},
  doi     = {10.1186/s12938-019-0649-y}
}

@article{diazpinto2019retinal,
  title   = {Retinal Image Synthesis and Semi-supervised Learning for Glaucoma Assessment},
  author  = {Diaz-Pinto, Andres and Colomer, Adri{\'a}n and Naranjo, Valery and
             Morales, Sandra and Xu, Yanwu and Frangi, Alejandro F.},
  journal = {IEEE Transactions on Medical Imaging},
  volume  = {38},
  number  = {9},
  pages   = {2211--2218},
  year    = {2019},
  doi     = {10.1109/TMI.2019.2903434}
}

@misc{acrima_dataset,
  title        = {ACRIMA: Glaucoma Optic Disc Fundus Database},
  author       = {Diaz-Pinto, Andres and Morales, Sandra and Naranjo, Valery and
                  K{\"o}hler, Thomas and Mossi, Jose M. and Navea, Amparo},
  year         = {2019},
  publisher    = {Figshare},
  howpublished = {\url{https://figshare.com/s/c2d31f850af14c5b5232}}
}

9.3 引用指南

  • 引用数据集时注明 Figshare article 7613135 与 CC BY 4.0;
  • 引用方法基准时区分 BEO 2019(分类验证) 与 **TMI 2019(合成/半监督)**两篇;
  • 使用其图像时按 CC BY 4.0 署名(Diaz-Pinto et al., 2019)。

9.4 存照与待核(双口径冲突逐条)

  1. ⚠️ 类别标签互换(最严重):Eyedatahub 页面写「396 normal + 309 glaucoma」,与 Figshare/论文/PMC/Kaggle 的「396 glaucomatous + 309 normal」相反。本条目采用权威口径 396 青光眼 + 309 正常。
  2. ⚠️ 采集机构错误:Eyedatahub 写 “Hospital Clinico San Carlos”,实为 FOM(Fundación Oftalmológica del Mediterráneo)/ FISABIO Oftalmología Médica(Valencia);San Carlos 是 RIM-ONE 的协作医院之一,疑为跨库混淆。
  3. 机构称谓双口径:Diaz-Pinto 博士论文写 “Fundación Oftalmológica del Mediterráneo (FOM)”,Kaggle/GitHub 写 “FISABIO Oftalmología Médica”——同一实体不同称谓(FISABIO 为母基金会)。
  4. 图像格式双口径:Lancet 综述 / Kaggle / PeerJ-CS 作 JPEG;openmedlab GitHub 元信息表作 PNG。本条目按 JPEG(多数权威源)。
  5. 存储体积双口径:Kaggle 镜像 25.62 MB vs Eyedatahub 0.5 GB——后者疑为含脚本权重整包或误记。
  6. Kaggle 镜像 License 不一:toaharahmanratul 标 Unknown,orvile 标 CC BY 4.0;以 Figshare 官方 CC BY 4.0 为准。
  7. Figshare API 403:沙箱内 api.figshare.com/v2/articles/7613135 返回 403(环境反爬),未能取得机器可读 license 字段;license 由多源网页互证。
  8. 遗留疑点:患者数、年龄、性别、眼别配对均未披露;TMI 姊妹论文的 “86926 images from 14 databases” 是更大语料,非 ACRIMA 本体,切勿混淆;「largest public database for glaucoma diagnosis」为 2019 年自述口径,现已被 REFUGE2/LAG 超越。

9.5 库内互链点(建议)

互链条目 rid 互链理由
drishti-gs 301 同域青光眼视盘基准;ACRIMA 论文 Table 1 对照库之一
refuge 62 同域青光眼眼底挑战赛
refuge2 766 同域多域青光眼挑战赛;分类任务的现代对照
hrf 261 ACRIMA 论文五对照库之一(青光眼眼底)
drive 241 同域眼底影像(血管分割),模态相近

9.6 关键事实的一句话回扣

  • 是什么:705 张视盘居中眼底照片的青光眼二分类库(396+309);
  • 从哪来:UPV I3B + FOM/FISABIO(Valencia),两名 8 年经验专家标注;
  • 怎么取:Figshare 短链自助下载,CC BY 4.0;
  • 怎么用:分类基线、迁移学习、跨库泛化评测、合成增强验证;
  • 注意啥:无分割 GT、单中心、无患者元数据、同库高分≠泛化能力。

§10 AI 使用声明卡

10.1 AI 模型列表

本条目由「千方病案医数集」写手代理在人工编排与核验下撰写,事实抽取与交叉核对借助检索与语言模型辅助完成。

10.2 AI 参与范围

  • 辅助:从公开一手来源(首发论文 PMC 全文、Figshare 页面、Diaz-Pinto 博士论文、Lancet 综述、Kaggle 页面)抽取硬数字与表述;
  • 人工核验:硬数字三源互证,口径冲突逐条存照,查重与许可口径人工确认;
  • 不臆造:ACRIMA 未给字母展开则不编造;未披露项(患者数等)标注 NR。

10.3 输入来源列表

来源 用途
BioMedical Engineering OnLine 2019;18:29(PMC6425593) 论文事实、Table 1/4、标注与采集参数
Figshare article 7613135 页面 数据规模、许可、发布日
Diaz-Pinto 博士论文(UPV riunet 10251/124351) 采集机构 FOM、分辨率 2048×1536
Lancet Digital Health 2021 综述(PMC7618278) 国家/图像数/OA 属性
Kaggle 镜像页 命名规则、镜像口径
IEEE TMI 2019;38(9)(White Rose 全文) 姊妹论文、86,926 图像语料

10.4 人工校验表

项 结论
数据集真实性 ✅ 多源确证存在
规模数字 ✅ 705(396+309)三源一致
许可 ✅ CC BY 4.0(Figshare)
机构 ✅ FOM/FISABIO(已纠正 Eyedatahub 错误口径)
查重 ✅ 库内无同名/别名
存照 ✅ 8 条口径冲突/疑点逐条记录

10.5 AI 生成章节标注

§0-§10 全文为基于一手来源的整理与撰写,所有硬数字均标注来源,冲突处显式存照。

10.6 最后人工审核日期

2026-09-30

10.7 核验证据链摘要

待核事实 主张 佐证来源 1 佐证来源 2 佐证来源 3 结论
总图像数 705 Figshare 描述 论文 Table 1 Lancet 综述 ✅ 确证
青光眼数 396 Figshare 描述 论文 Table 1 PMC 摘要 ✅ 确证
正常数 309 Figshare 描述 论文 Table 1 PMC 摘要 ✅ 确证
分辨率 2048×1536 Diaz-Pinto 博士论文 IIETA 述评 PeerJ-CS ✅ 确证
视场 35° 论文正文 博士论文 IIETA ✅ 确证
相机 Topcon TRC 论文正文 Lancet 综述 博士论文 ✅ 确证
标注者 2 名/8 年 论文正文 Kaggle readme PMC10293617 ✅ 确证
机构 FOM/FISABIO 博士论文 Kaggle/GitHub Toxics 2021 ✅ 确证(纠 Eyedatahub 错)
许可 CC BY 4.0 Figshare/Eyedatahub 抓取 Kaggle (orvile) — ✅ 确证
发布日 2019-03-15 Figshare 页面 Eyedatahub — ✅ 确证
患者数 NR Lancet 综述 无其他披露 — ⚠️ 未披露

10.8 免责声明

本条目为数据集百科整理,非临床指南、非医疗器械说明、非法律许可意见。数据使用请以 Figshare 官方条款(CC BY 4.0)与原始论文为准;任何临床决策须由执业医师依据完整临床信息作出。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • justraigs — 共享标签:医学影像 / 眼科影像 / 图像分类 / 青光眼 / 评测基准
  • origa-light — 共享标签:医学影像 / 眼科影像 / 图像分类 / 青光眼 / 评测基准
  • riga — 共享标签:医学影像 / 眼科影像 / 图像分类 / 青光眼 / 评测基准
  • g1020 — 共享标签:眼科影像 / 图像分类 / 青光眼 / 评测基准
  • dermacon-in — 共享标签:医学影像 / 图像分类 / 评测基准 / 医学问答与基准
  • drive — 共享标签:医学影像 / 眼科影像 / 评测基准 / 医学问答与基准
  • drions-db — 共享标签:医学影像 / 眼科影像 / 青光眼 / 评测基准
  • med-node — 共享标签:医学影像 / 图像分类 / 评测基准 / 医学问答与基准
  • nct-crc-he-100k — 共享标签:医学影像 / 图像分类 / 评测基准 / 医学问答与基准
  • rfmid — 共享标签:医学影像 / 眼科影像 / 图像分类

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集