ROSE — OCTA 视网膜血管分割基准数据集 AI-Ready Wikipedia

229 张人工标注 OCTA 图像,SVC/DVC 双层微血管中心线与像素双级标注

来源 中国科学院宁波材料技术与工程研究所(NIMTE, CAS)iMED-Lab url: https://imed.nimte.ac.cn/dataofrose.html发布时间: 2026-09-13最后更新: 2026-09-25 阅读 55
ROSE — OCTA 视网膜血管分割基准数据集 AI-Ready Wikipedia

信息速览

数据集名称ROSE — OCTA 视网膜血管分割基准数据集 AI-Ready Wikipedia
数据类型229 张 OCTA 图像,304×304 与 840×840 像素,中心线+像素双级标注,Zenodo CC BY 免费获取
规模ROSE-1 39 名受试者;ROSE-2 112 只眼
接入方式中国科学院宁波材料技术与工程研究所(NIMTE, CAS)iMED-Lab url: https://imed.nimte.ac.cn/dataofrose.html
AI 就绪度

数据集封面

ROSE — OCTA 视网膜血管分割基准数据集 AI-Ready Wikipedia

INFOBOX

数据集名称 ROSE
英文全称 ROSE: A Retinal OCT-Angiography Vessel SEgmentation Dataset
别名/简称 ROSE-1、ROSE-2、Retinal OCTA SEgmentation Dataset
疾病分类 阿尔茨海默病队列(ICD-11:6D85 阿尔茨海默病);分割对象为视网膜微血管结构(研究性表型,非疾病诊断)
SNOMED CT 26929004 Alzheimer’s disease / 21793004 Structure of retina(详见 §2.1)
数据模态 2D en face OCTA(OCT 血管成像)图像
AI 任务类型 二值语义分割(视网膜血管分割)、中心线/拓扑检测、分形维数分析、跨设备域泛化
样本总数 229 张 OCTA 图像(ROSE-1:117 张 / 39 名受试者;ROSE-2:112 张 / 112 只眼)
数据格式 PNG / TIFF 图像(img 与 gt 成对目录组织)
许可证 CC BY(Zenodo 数据元数据);官方声明仅限学术研究用途
访问级别 开放(Zenodo 公开归档;商业使用需联系发布团队授权)
DUO 标签 NPUNCU(非商业非营利)
语言 英文(文档与论文)
首发日期 2020-07(arXiv:2007.05201 预印本)/ 2021-07-19(Zenodo 归档)
最后更新 2021-07(Zenodo 记录 12775880;2024-07 存在同系列关联记录)
发布机构 中国科学院宁波材料技术与工程研究所(NIMTE, CAS)iMED-Lab
官方主页 https://imed.nimte.ac.cn/dataofrose.html
下载地址 https://doi.org/10.5281/zenodo.12775880
DOI 10.5281/zenodo.12775880(数据集)/ 10.1109/TMI.2020.3042802(论文)
引用次数 386+(Google Scholar,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方 train/test 划分 + 命名规范目录 + 官方评测脚本;扣分项:无官方预处理与加载脚本,ROSE-1(304×304)与 ROSE-2(840×840)分辨率与标注粒度不一致,混用需额外工程
页面状态 published

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

本页面由千方病案医学编辑部撰写并交叉审核。医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(OCTA 成像原理、视网膜血管复合层解剖、阿尔茨海默病眼-脑关联、ICD-11 与 SNOMED CT 映射)、§7 偏倚与质量分析。数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。审核日期:2026-09-05。

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。ROSE 数据在 Zenodo 以 CC BY 许可归档发布,官方同时声明仅限学术研究用途,商业使用需联系发布团队(yitian.zhao@nimte.ac.cn)获得授权。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? ROSE 是全世界第一个把"视网膜 OCT 血管成像(OCTA)里的血管自动分割"做成公开基准的数据集。它包含 229 张由真实临床 OCTA 设备采集的 en face 血管造影图,每一张都有经验丰富的影像专家和临床医生手工描记的血管标注:一部分是逐像素的血管掩膜(血管区域到底覆盖哪些像素),另一部分是血管中心线(血管走向的骨架)。数据由 ROSE-1(39 名受试者、117 张图)和 ROSE-2(112 只眼、112 张图)两个子集组成,由两台不同厂商的设备采集。

为什么重要? 在 ROSE 之前,想研究 OCTA 血管分割的团队只能用自家私有数据,论文之间无法比较。OCTA 能以毛细血管级分辨率无创观察眼底微血管,而视网膜微血管形态(比如分形维数)与阿尔茨海默病等神经退行性疾病相关——ROSE 的 ROSE-1 子集正是由 26 例阿尔茨海默病患者和 13 例健康对照组成,作者用它证明了自动分割出的微血管复杂度在两组间存在统计学差异。它发表于医学影像顶刊 IEEE Transactions on Medical Imaging,截至 2026-09 已被引用 386 次以上,是 OCTA 分割方向的标准起点。

我能用它做什么? 训练和评测视网膜血管分割模型(官方配套 OCTA-Net 基线与评测脚本)、研究跨设备(Optovue vs Heidelberg)域泛化、做微血管形态与眼-脑关联分析,或把你的新模型与 10 余个已发表基准直接对比。仅限学术研究用途;数据从 Zenodo 免费获取。

§1.1 摘要

ROSE 由中国科学院宁波材料技术与工程研究所(NIMTE, CAS)iMED-Lab 智能医学影像研究组构建,论文《ROSE: A Retinal OCT-Angiography Vessel Segmentation Dataset and New Model》发表于 IEEE Transactions on Medical Imaging 40 卷 3 期(Ma, Y., et al., 2021,DOI: 10.1109/TMI.2020.3042802)。团队以"粗细分离(split-based coarse-to-fine)"思路构建数据与模型:ROSE-1 子集来自 39 名受试者(26 例阿尔茨海默病患者 + 13 例健康对照),每人采集浅层血管复合层(SVC)、深层血管复合层(DVC)及二者复合(SVC+DVC)三种 en face 血管造影,共 117 张 304×304 像素图像(3×3 mm²,中心凹居中),由图像专家与临床医师分级并取共识作为 ground truth,同时提供像素级与中心线级两种标注;ROSE-2 子集来自 112 只眼的 SVC 层图像(840×840 灰度,Heidelberg 设备),由一名有经验临床眼科医师以 Matlab 自研程序描记全部可见血管的中心线,共 112 张。官方按 90/27(ROSE-1)与 90/22(ROSE-2)划分训练/测试集,并配套发布两阶段分割网络 OCTA-Net(代码仓库)。在 OCTA-Net 论文的评测中,OCTA-Net 在 ROSE-1 SVC 层取得 AUC 0.9453、Dice 0.7697,优于 U-Net、CE-Net、CS-Net 等十余个对比方法;对分割结果进一步做分形维数分析,显示阿尔茨海默病组浅/中/深层血管丛复杂度均显著低于健康对照组。

§1.2 战略价值

维度一:任务定义权与基准地位。 ROSE 是 OCTA 血管分割方向"第一个吃螃蟹"的公开数据集:在其 2020 年出现之前,该领域没有带人工分级血管标注的公开 OCTA 数据,论文只能各自在私有数据上报告结果,社区没有可比性。ROSE + OCTA-Net 的组合一举定义了这个子领域的评测协议(官方划分、AUC/ACC/Kappa/Dice/FDR/G-mean 指标族、中心线 3 像素容差判真阳性规则),随后 OCTAve(IEEE TBME 2022)、COSNet(Sensors 2022)、Little W-Net(Scientific Reports 2022)、OCT2Former(CMPB 2023)、LA-Net(2024)等一大批后续工作都直接在 ROSE 上对标,形成了小而活跃的基准生态。2025 年的一篇 OCTA 深度学习综述将 ROSE 与同团队的 OCTA-500 并列为"使用最广泛的两个公开 OCTA 数据集"(arXiv:2502.14935)。

维度二:标注粒度的教学价值。 ROSE 同时提供"像素级"与"中心线级"两种粒度的标注,这在血管类数据集中相当罕见。像素级掩膜适合传统分割训练,但专家对 2-4 像素宽的毛细血管宽度判断并不可靠;中心线标注刻意绕开宽度歧义、只回答"这里有没有血管",反而更适合评价拓扑正确性(用 3 像素容差判 TP)。对研究弱监督、拓扑保持损失(如 clDice)或"中心线检测"范式的团队而言,ROSE 是天然的实验床:同一张图既有粗掩膜又有骨架,可以定量研究两种监督信号的差异。

维度三:眼-脑关联研究的入口。 ROSE-1 的队列设计(阿尔茨海默病患者 + 健康对照)让这个分割数据集天然携带一层临床研究属性:论文用分割结果计算分形维数(FD),发现 AD 组的浅层(SRVP)、中层(MRVP)、深层(DRVP)血管丛 FD 均显著降低(如 SRVP p=0.004),支持"视网膜微血管是观察神经退行性疾病的窗口"这一假说。想做眼-脑关联、生物标志物挖掘或跨模态(影像+认知量表)研究的团队可以直接在此起步。

§1.3 同类数据集横向对比

数据集 模态 规模 血管标注 与 ROSE 的差异化
ROSE(本条目) 2D en face OCTA 229 图(39 名受试者 + 112 只眼) 中心线 + 像素双级(ROSE-1);仅中心线(ROSE-2) 首个 OCTA 血管分割基准;含 AD 队列与分形分析
OCTA-500 3D OCT/OCTA 体积 + en face 500 名受试者 6×6/3×3 mm² 双视野,ILM-OPL 与 ILM-RPE 两层血管分割标签 同团队更大规模产品,提供 3D 体积,面向 OCTA 全面研究
ROSE-O 2D en face OCTA 117 图(304×304) 视网膜血管(RV)、血管连接点(RVJ)、中心凹无血管区(FAZ)结构标注 姊妹数据集,任务从分割转向结构检测(配套 VAFF-Net)
OCTAGAN 2D en face OCTA 212 图(36 健康 + 17 DR 眼) FAZ 双专家标注 面向 FAZ 与糖尿病视网膜病变,非血管分割
Giarratano et al. 2D en face OCTA 55 图 / 11 只健康眼 像素级血管标注 规模小,覆盖 5 个临床感兴趣区而非仅中心凹

(对比表中 OCTA-500 / ROSE-O / OCTAGAN / Giarratano 信息来自 2025 年 OCTA 综述的公开数据集汇总表 arXiv:2502.14935 与 Zenodo 记录描述。)

§1.4 版本时间轴

时间 版本/事件 说明
2020-07 arXiv:2007.05201 预印本 数据集与 OCTA-Net 模型首次公开(dateCreated 起点)
2021-03 IEEE TMI 正式发表 IEEE Transactions on Medical Imaging 40(3):928-939,DOI: 10.1109/TMI.2020.3042802
2021-07-19 Zenodo 记录 12775880 发布 数据集正式归档(DOI: 10.5281/zenodo.12775880),此后成为官方下载地址
2024-07 Zenodo 同系列关联记录 OpenAIRE 收录同系列记录 12702719/12702720,其中包含姊妹数据集 ROSE-O 的描述

§1.5 典型应用场景

  1. 血管分割模型研发与论文对标:用官方 90/27、90/22 划分训练模型,与 OCTA-Net(ROSE-1 SVC Dice 0.7697)等已发表基准直接比较,是 OCTA 分割论文的标准实验设计。
  2. 拓扑/中心线分割范式研究:利用 ROSE-1 同图双级标注,研究"分割掩膜 vs 血管骨架"两种监督信号的差异,或验证拓扑保持损失(如 clDice)在毛细血管连通性上的收益。
  3. 跨设备域泛化:ROSE-1(Optovue,304×304)与 ROSE-2(Heidelberg,840×840)天然构成域差,可在"ROSE-1 训练 → ROSE-2 测试"设定下研究设备域漂移。
  4. 眼-脑关联与生物标志物研究:基于分割结果计算分形维数等微血管形态指标,复现或扩展论文中"AD 组 vs 健康组"的统计分析。
  5. 教学与课程实验:数据量小(229 张)、类别只有二值、官方划分清晰,非常适合作为医学图像分割课程或新手入门的实战数据集。
  6. 半监督/弱监督算法研究:标注成本高昂的血管描记 + 双级标注形态,天然适合研究"像素级掩膜 vs 中心线骨架 vs 无标注"混合监督下的性能梯度(OCTAve 的弱监督设定即为例证)。

§2 医学背景

§2.1 ICD-11 与 SNOMED CT 双映射

ROSE 是"面向血管分割任务的数据集",本身不对应单一疾病诊断;其临床关联主要落在 ROSE-1 的阿尔茨海默病队列与视网膜微血管形态分析两个概念上。下表给出可直接用于标签体系(labeling schema)的映射。

ICD-11 编码映射表(WHO ICD-11 浏览器):

概念标签 ICD-11 编码 中文名称 在 ROSE 中的角色
阿尔茨海默病 6D85 阿尔茨海默病 ROSE-1 疾病组(26 例受试者)的队列标签
视网膜血管疾患(邻近参考) 9B71 视网膜血管闭塞 与"视网膜血管形态异常"分析最邻近的 ICD-11 章节;ROSE 受试者并非按此诊断入组

SNOMED CT 映射表:

概念标签 ICD-11 SNOMED CT 码 术语
阿尔茨海默病 6D85 26929004 Alzheimer’s disease(disorder)
视网膜结构(分割解剖对象) 不适用(解剖结构无疾病编码) 21793004 Structure of retina(body structure)

说明:ROSE 的"标签"是血管分割掩膜而非疾病诊断码,上述映射用于把数据集的队列属性(AD/健康对照)与解剖对象(视网膜血管)挂接到标准术语体系;若需记录 ROSE-2 的眼部病变,因其病谱在官方页未列明,建议以自定义概念(如"他眼病(unspecified ocular pathology)")处理并在论文中明确声明。

§2.2 疾病与成像原理简介

OCTA 是什么。 光学相干断层血管成像(OCTA)是在谱域 OCT 基础上,通过对同一位置多次快速扫描做运动对比(去相关/分振幅方差等算法),无需注射造影剂即可生成视网膜血流信号的成像技术。把某一血管复合层内的血流信号沿深度方向投影(en face),就得到一张俯视视角的血管造影图。相比眼底荧光造影,OCTA 无创、快速、可在毛细血管级分辨率下分层观察视网膜血管丛,近年来在眼科与神经科学研究中快速普及。

浅层与深层血管复合层。 视网膜内层的血管呈分层排列:浅层血管复合层(SVC,Superficial Vascular Complex)位于内界膜至内丛状层一带,血管最粗、最易观察;深层血管复合层(DVC,Deep Vascular Complex)位于内核层至外丛状层一带,毛细血管更细密。ROSE 的 SVC+DVC(亦称内层视网膜血管丛)则把两者合并在一张投影图内。浅层血管会在深层投影中留下"投影伪影"(projection artifact),这是 OCTA 固有的成像学难题,也是理解 ROSE 标注歧义的关键背景(见坑点 6)。

阿尔茨海默病与视网膜微血管。 阿尔茨海默病(AD)是最常见的神经退行性疾病,病理过程早于临床症状多年,亟需无创、低成本的可重复筛查标志物。视网膜是中枢神经系统的延伸,其微血管形态可通过 OCTA 无创量化:既往研究报道 AD 患者视网膜血管密度降低、中心凹无血管区(FAZ)改变,分形维数(FD,描述血管分支复杂度的几何指标)亦见降低。ROSE 论文用分割结果定量验证了这一方向:AD 组 SRVP/MRVP/DRVP 三层血管丛的 FD 均显著低于健康对照(如 SRVP 层 p=0.004,合并层 p<0.01)。需要强调的是,ROSE 是分割数据集而非诊断数据集,任何基于它的"AD 检测"结论都应视为研究性发现,不能直接用于临床诊断。

与传统眼底影像的关系。 彩色眼底照(CFP)与荧光素血管造影(FA)是眼科经典血管影像手段:CFP 只能观察较大血管,FA 需注射造影剂且无法分层。OCTA 的独特之处是"无创 + 毛细血管级分辨率 + 分层(SVC/DVC)",这正是 ROSE 选择 OCTA 作为载体、且以毛细血管分割作为核心难点的原因。跨模态研究(如 CFP DRIVE 基准上的模型迁移到 OCTA)时,务必注意两种模态的血管外观与拓扑统计差异很大,不能直接套用 DRIVE 时代的结果作为 OCTA 性能预期。

§2.2b OCTA 关键术语速查表

读 ROSE 文档与论文前,先统一术语口径(官方页与 TMI 论文用法一致):

术语 英文全称 含义与在 ROSE 中的角色
OCTA Optical Coherence Tomography Angiography OCT 血管成像,无造影剂的血流成像技术,ROSE 全部图像的来源模态
SD-OCT Spectral-Domain OCT 谱域 OCT,Optovue 与 Heidelberg 两台设备均属此架构
en face — 沿深度方向投影得到的"俯视"二维图像,ROSE 图像即 en face 血管造影
SVC Superficial Vascular Complex 浅层血管复合层,血管最粗、分割最容易的一层
DVC Deep Vascular Complex 深层血管复合层,毛细血管最细密、标注与分割最难的一层
SVC+DVC Inner retinal vascular plexus 内层视网膜血管丛(两层合并投影),ROSE-1 第三种层位
FAZ Foveal Avascular Zone 中心凹无血管区,中心视网膜的血管空白区,常作为形态学指标
FD Fractal Dimension 分形维数,血管分支复杂度的几何度量,论文用于 AD vs 健康组比较
投影伪影 Projection artifact 浅层血管在深层图像中留下的阴影,DVC 标注歧义的主要来源(坑点 6)
VD Vessel Density 血管密度,由分割结果派生的常用临床指标

§2.3 临床任务定义

在 ROSE 上训练的模型对应的是"影像定量分析"这一研究性临床任务,而非直接的筛查/诊断决策:

  • 一级任务(数据集直接定义):给定一张 en face OCTA 图像,输出每个像素属于血管的概率(二值分割)或血管中心线的位置(骨架/拓扑检测)。
  • 二级任务(由一级结果派生):血管密度(VD)、分形维数(FD)、FAZ 面积与圆度、血管长度密度等微血管形态学指标的计算,用于组间比较(如 AD vs 健康)或纵向随访。
  • 对应临床链路:OCTA 采集 → 血管分割 → 形态学量化 → 组间统计/个体纵向监测 → (未来)辅助神经退行性疾病风险分层。分割的精度直接决定下游形态学指标的可信度,这正是 ROSE 把"分割"作为基准任务的意义所在。

围绕一级任务,模型输出常见三种形态,其评测口径各不相同(对应 §6.9 指标代码):

输出形态 形式 适用层位/子集 评测口径
像素级概率图 H×W 概率矩阵 ROSE-1(SVC/DVC/SVC_DVC) AUC、Dice、Kappa、FDR、G-mean
二值掩膜 阈值化后 0/1 图 ROSE-1 像素级 gt 轨 Dice、Kappa、连通性统计
中心线/骨架 细线骨架图 ROSE-2 全部、ROSE-1 中心线轨 3 像素容差命中率、clDice

§2.4 患者人群构成

维度 ROSE-1 ROSE-2
采集方 中国科学院宁波材料技术与工程研究所 iMED-Lab(与合作临床中心) 同左
样本规模 39 名受试者 / 117 张图 112 只眼 / 112 张图
组别构成 26 例阿尔茨海默病患者 + 13 例健康对照 官方页未列明病谱;第三方综述称均为患病眼
年龄 官方未公布 官方未公布
性别构成 官方未公布 官方未公布
种族/地域 中国(单中心采集) 中国(单中心采集)
就医类型 临床 OCTA 检查影像 临床 OCTA 检查影像
每人图像数 每名受试者 SVC/DVC/SVC+DVC 各 1 张(共 3 张) 每只眼 SVC 1 张

§2.5 临床与研究价值

  1. 为"视网膜窗口"假说提供可复现工具:AD 相关的视网膜微血管改变(血管密度降低、FD 下降)需要精确分割才能量化,ROSE 把这第一步变成了可对标、可复现的基准任务。
  2. 推动 OCTA 定量分析从手工作坊走向标准化:官方划分 + 指标族 + 开源评测脚本,使跨论文结果第一次有了共同的"度量衡"。
  3. 标注粒度对齐真实临床需求:临床关心的常常是"血管连不连通、走向对不对"(拓扑)而非逐像素边界,ROSE 的中心线标注正对应这一需求。
  4. 跨设备泛化的预演:Optovue 与 Heidelberg 是全球主流 OCTA 设备,ROSE 覆盖两者,是研究"模型能否跨厂商设备工作"的理想最小数据集。
  5. 算法审计与可复现性研究:ROSE 小巧、公开、协议清晰,已成为检验"评测实现差异"的标准案例——OCTAve、COSNet 与原论文对同一基线的数字差异,本身就是方法学论文素材。

§2.6 金标准对照表

划分 标注方式 标注者 性质
ROSE-1:90 train / 27 test(官方固定划分) 像素级掩膜 + 中心线双级 图像专家与临床医师分别分级,取共识作为 ground truth 多人共识金标准(掩膜与骨架同时可信)
ROSE-2:90 train / 22 test(官方固定划分) 仅中心线描记 1 名有经验临床眼科医师(Matlab 自研程序) 单标注者骨架金标准(宽度信息不提供)
评测协议 中心线检测以人工描记线 3 像素容差内判真阳性 论文 §4.C 定义 拓扑敏感的宽容评测,沿用曲线提取评测惯例

§3 数据集规格

§3.0 版本抉择矩阵

ROSE 不存在"新旧版本"之分(Zenodo 单一归档),但两个子集在设备、分辨率与标注粒度上差异显著,选错子集是新手最常见的浪费。按下表对号入座:

你的需求 推荐子集 规模 理由
复现 OCTA-Net 论文指标 ROSE-1(SVC 层优先) 117 图 像素级+中心线双标注,与论文 Table 数字一一对应
训练高分辨率模型 / 细节研究 ROSE-2 112 图 840×840 灰度图,毛细血管细节保留更多
跨设备域泛化实验 ROSE-1 train → ROSE-2 test 90 + 22 两台设备、两套分辨率,天然域差
眼-脑关联 / 分形维数分析 ROSE-1 117 图 唯一提供 AD/健康组别标签的子集
拓扑保持损失、弱监督研究 ROSE-1 双级标注 117 图 同图既有掩膜又有骨架,可做监督信号对比
需要 3D OCT/OCTA 体积 改用 OCTA-500(相关数据集) 500 名受试者 ROSE 只有 2D en face 投影图

§3.1 模态详情

ROSE 全部为 2D en face OCTA 血管造影图:由 SD-OCT 设备在中心凹周围 3×3 mm² 区域进行体积扫描,把指定血管复合层内的血流信号投影为俯视灰度图。ROSE-1 为 304×304 像素(Optovue RTVue XR Avanti + AngioVue 软件);ROSE-2 为采集后统一 resize 的 840×840 灰度图(Heidelberg OCT2 + Spectralis 软件)。血管呈亮色,背景为暗色;无 B 扫描原始体积、无 OCT 结构图,是纯 2D 投影数据集。

两点成像学补充:其一,中心凹 3×3 mm² 视野意味着全部图像都以 FAZ 为构图中心,数据集内不存在黄斑区外的扫描区域——模型对周边视网膜的适用性完全未经验证;其二,en face 投影是"深度压缩"的过程,层位选择(SVC/DVC/SVC_DVC)由设备软件决定,同一原始体积可产出不同层位图,这也是同一受试者三张图强相关的技术根源。若你的应用需要自定义层位或 3D 结构信息,应改用 OCTA-500 的体积数据。

§3.2 子集与样本数

子集 受试者/眼数 图像数 层位 官方划分(train/test) 像素分辨率
ROSE-1 39 名受试者(26 AD + 13 对照) 117 SVC / DVC / SVC+DVC 各 39 张 90 / 27(按层内划分) 304×304
ROSE-2 112 只眼 112 仅 SVC 90 / 22 840×840(resize 后)
合计 — 229 — 180 / 49 —

§3.3 文件格式

内容 格式 说明
ROSE-1 原始造影图(img) PNG(灰度) 304×304
ROSE-1 像素级/中心线标注(gt) PNG(二值/骨架) 与 img 同名对应
ROSE-2 原始造影图(original) TIFF/PNG(灰度) 840×840
ROSE-2 中心线标注(gt) TIFF/PNG(骨架) 与 img 同名对应
官方打包 Zenodo ZIP 归档 DOI: 10.5281/zenodo.12775880

§3.4 存储大小

官方页与 Zenodo 记录未公布压缩包总体积。按 229 张 304×304~840×840 的灰度 PNG/TIFF 估算,原始数据在数十 MB 量级,属轻量数据集;实际大小以 Zenodo 记录页列出的文件清单为准。

§3.5 标注方式

  • ROSE-1(双级标注):像素级掩膜与中心线骨架并行提供。掩膜标注由图像专家与临床医师分别分级(graded),以共识作为 ground truth;中心线由描记获得。同一图像的两种标注互补:掩膜回答"血管覆盖哪些像素",骨架回答"血管走向如何"。
  • ROSE-2(仅中心线):由 1 名有经验临床眼科医师使用基于 Matlab(Mathworks R2018)的自研程序,逐张描记全部可见视网膜血管的中心线。宽度不在标注范围内。
  • 标注文件形态:全部以图像文件分发(img/gt 同名成对),无 JSON/XML 附加元数据文件。

§3.5b 两个子集的标注生产流程对照

环节 ROSE-1 ROSE-2
图像采集 Optovue RTVue XR Avanti(AngioVue 软件),3×3 mm² Heidelberg OCT2(Spectralis 软件),3×3 mm²
层位投影 SVC、DVC、SVC+DVC 三种 en face 仅 SVC
发布尺寸 304×304(原生) 统一 resize 为 840×840 灰度
标注对象 血管掩膜 + 血管中心线 全部可见血管的中心线
标注者 图像专家与临床医师分别分级,共识为 ground truth 1 名有经验临床眼科医师
标注工具 分级评审流程(官方未公布具体软件) 基于 Matlab(Mathworks R2018)的自研描记程序
质控机制 多人共识 单标注者(无标注者间一致性公布)
产出 117 张图 × 双级标注 112 张图 × 中心线标注

§3.6 标注者资质与一致性

ROSE-1 的像素级标注采取"多专家分级 + 共识"策略,属于分割数据集中较严格的质控流程;ROSE-2 为单一有经验临床眼科医师描记。官方页与论文均未公布标注者间一致性系数(如 inter-rater Kappa 或 Dice),如需引用标注一致性请如实说明"官方未公布"。这也意味着:ROSE-2 的中心线包含单标注者的描记习惯(对极细毛细血管的取舍偏好),把它当作绝对真值时要保持谨慎。

§3.7 采集周期

官方页未公布具体采集起止时间。可确认的时间锚点:论文预印本于 2020-07 提交 arXiv,故采集完成于 2020 年年中之前。

§3.8 地域覆盖

单中心,中国(中国科学院宁波材料技术与工程研究所 iMED-Lab 及其合作临床中心)。ROSE-2 使用德国 Heidelberg Engineering 设备采集,但采集地点仍为国内临床中心。种族与地域多样性有限,外推到其他人群时需谨慎(见 §7.1)。

§3.9 设备规格

参数 ROSE-1 ROSE-2
设备 RTVue XR Avanti SD-OCT Heidelberg OCT2
厂商/产地 Optovue(美国) Heidelberg Engineering(德国)
采集软件 AngioVue Spectralis
扫描视野 3×3 mm²,中心凹居中 3×3 mm²,中心凹居中
发布分辨率 304×304 px 840×840 px(灰度;采集侧约 512×512 A-scan,发布前经 resize)
层位 SVC / DVC / SVC+DVC 仅 SVC
血管标注 中心线 + 像素双级 仅中心线

§3.10 深度溯源链

  1. 原始采集:受试者经临床 OCTA 检查(Optovue RTVue XR Avanti / Heidelberg OCT2),3×3 mm² 中心凹居中体积扫描。
  2. en face 投影:设备软件将指定血管复合层内血流信号投影为 2D 造影图(ROSE-2 另经统一 resize 至 840×840)。
  3. 人工标注:ROSE-1 由图像专家 + 临床医师分级并取共识(掩膜 + 中心线);ROSE-2 由 1 名临床眼科医师 Matlab 程序描记(中心线)。
  4. 学术发表与同行评审:arXiv:2007.05201(2020-07)→ IEEE TMI 40(3):928-939(2021-03,DOI: 10.1109/TMI.2020.3042802)。
  5. 公开归档:Zenodo 记录 12775880(2021-07-19,DOI: 10.5281/zenodo.12775880,CC BY)。
  6. 本条目:千方病案医数集基于上述一手来源整理(条目地址 https://www.qianfanghub.com/rose/331)。

§4 数据结构

§4.0 目录树

数据解压后的目录结构如下(据官方页描述与 OCTA-Net 仓库 README 的 data_dir 约定整理;文件名以实际下载包为准):

ROSE/
├── ROSE-1/
│   ├── SVC/                      # 浅层血管复合层(39 张)
│   │   ├── train/
│   │   │   ├── img/              # 90 张中的 SVC 部分:原始造影图(304×304 PNG)
│   │   │   └── gt/               # 与 img 同名对应:像素级掩膜 + 中心线
│   │   └── test/
│   │       ├── img/              # 27 张中的 SVC 部分
│   │       └── gt/
│   ├── DVC/                      # 深层血管复合层(目录结构同 SVC)
│   │   ├── train/{img,gt}/
│   │   └── test/{img,gt}/
│   └── SVC_DVC/                  # SVC+DVC 复合层(目录结构同 SVC)
│       ├── train/{img,gt}/
│       └── test/{img,gt}/
└── ROSE-2/
    ├── train/                    # 90 张(840×840)
    │   ├── original/             # 原始造影图
    │   └── gt/                   # 中心线标注
    └── test/                     # 22 张
        ├── original/
        └── gt/

注意两点:ROSE-1 的划分目录在每个层位内部(SVC/train、SVC/test……),而 ROSE-2 的划分目录在子集根部(ROSE-2/train、ROSE-2/test);ROSE-1 的 gt 同时承载掩膜与中心线两种标注形态,加载时需按你的任务选择使用方式(见坑点 2)。

下载后第一件事应做 img/gt 配对完整性自检——目录层级在两个子集间不同(ROSE-1 是 img/gt,ROSE-2 是 original/gt),最容易出"路径拼错导致空列表"的低级错误:

from pathlib import Path

def check_pair_integrity(rose_root: str) -> None:
    """遍历 ROSE-1 / ROSE-2 目录,校验 img/gt(ROSE-2 为 original/gt)同名配对完整性。"""
    issues, root = [], Path(rose_root)
    # ROSE-1:每层位每划分下 img ↔ gt
    for layer_dir in sorted((root / "ROSE-1").iterdir()):
        if not layer_dir.is_dir():
            continue
        for split in ("train", "test"):
            imgs = {p.name for p in (layer_dir / split / "img").glob("*")}
            gts  = {p.name for p in (layer_dir / split / "gt").glob("*")}
            issues += [f"ROSE-1/{layer_dir.name}/{split} 缺 gt: {n}" for n in sorted(imgs - gts)]
            issues += [f"ROSE-1/{layer_dir.name}/{split} 缺 img: {n}" for n in sorted(gts - imgs)]
    # ROSE-2:original ↔ gt
    for split in ("train", "test"):
        imgs = {p.name for p in (root / "ROSE-2" / split / "original").glob("*")}
        gts  = {p.name for p in (root / "ROSE-2" / split / "gt").glob("*")}
        issues += [f"ROSE-2/{split} 缺 gt: {n}" for n in sorted(imgs - gts)]
        issues += [f"ROSE-2/{split} 缺 img: {n}" for n in sorted(gts - imgs)]
    print("配对完整" if not issues else "\n".join(issues))

check_pair_integrity("/content/data/ROSE")

§4.1 DAIMS 数据字段字典

ROSE 以"图像文件对"而非表格形式组织,下表把隐含字段显式化为标准 8 列字典(供入库、建索引或写 Dataset 类时直接使用):

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
image_id string 由文件名派生的图像唯一标识 001.png 主键、img/gt 配对键 同名跨层可能重号,须带层位路径 无 与下载包文件名一致
subset string 所属子集 ROSE-1 域标签、分层评估 无 无
vascular_layer string 血管复合层(仅 ROSE-1) SVC 多层多任务学习 无 无
split string 官方划分 train 基线复现、防泄漏 自行重划分会破坏可比性 无
img_path string 原始造影图相对路径 ROSE-1/SVC/train/img/001.png 模型输入 无 无 存在路径
gt_path string 标注图相对路径 ROSE-1/SVC/train/gt/001.png 监督信号 需校验二值性/骨架性 无 存在路径
gt_granularity string 标注粒度 pixel 任务定义、指标选择 ROSE-2 仅有 centerline 无
resolution_px integer 图像边长(正方形) 304 预处理/resize 决策 840 为 resize 后值 无
fov_mm float 扫描视野边长(mm) 3.0 物理尺度换算、FD 归一 无逐图字段,子集级常量 无 3.0
device string 采集设备 Optovue RTVue XR Avanti 域自适应、漂移监控 无 无
diagnosis_group string 受试者组别(仅 ROSE-1 语义) AD 分层评估、公平性分析 ROSE-2 官方未公开逐眼标签 无

§4.2 标签分布

  • 像素级(ROSE-1):血管为正类、背景为负类。OCTA 中心凹区图像中血管像素占比明显低于背景(重度类不平衡),且细毛细血管占比越小层越显著(DVC 的细血管最多、最难)。官方未公布逐图血管占比统计,训练前建议自行统计 mask.mean() 并据此设定损失权重(见坑点 4)。
  • 组别分布(ROSE-1):AD 26 例 : 健康对照 13 例 = 2:1,疾病组过采样;做"组别分层评估"时注意 test 集内两组样本量。
  • 层位分布(ROSE-1):SVC / DVC / SVC_DVC 各 39 张(每人 3 层),三层同受试者强相关(见坑点 1)。
  • 粒度分布:117 张双级标注、112 张仅中心线,跨粒度的评测口径必须区分(见坑点 8)。

血管正类占比一行代码即可自行统计(官方未公布,自行统计后请写入你的数据卡):

import glob, cv2
import numpy as np

# 逐图统计 ROSE-1 SVC train 的血管像素占比,输出均值与分位数
ratios = []
for p in sorted(glob.glob("data/ROSE/ROSE-1/SVC/train/gt/*")):
    gt = cv2.imread(p, cv2.IMREAD_GRAYSCALE)
    ratios.append(float((gt > 127).mean()))
print(f"血管像素占比 mean={np.mean(ratios):.4f}, "
      f"p10={np.percentile(ratios, 10):.4f}, p90={np.percentile(ratios, 90):.4f}")
# 该占比是损失加权(坑点 4)与阈值选择(§6.9)的直接依据

§4.3 关键统计

统计项 数值 来源与说明
总图像数 229 官方页(117 + 112)
训练/测试图数 180 / 49 90+90 / 27+22,官方固定划分
图像分辨率 304×304(ROSE-1);840×840(ROSE-2) 官方页
扫描视野 3×3 mm²,中心凹居中 官方页(两子集一致)
毛细血管宽度量级 约 2-4 像素(ROSE-1) 论文对最细血管的描述;中心线标注的设计动机即规避宽度不确定
中心线评测容差 3 像素 论文评测协议
数据增强(论文训练) 随机旋转 -10°~+10° 论文实验设置

§4.4 数据层级

受试者(subject,仅 ROSE-1 可区分,39 名)
└── 眼(eye,ROSE-2 以眼为单位,112 只)
    └── 扫描(scan,每眼/人一次 3×3 mm² OCTA 体积扫描)
        └── 层位投影图(layer projection:SVC / DVC / SVC_DVC)
            └── 图像文件对(img + gt,1 张造影图 ↔ 1 份标注)

层级含义:同一受试者的三层图像不是独立样本;ROSE-2 的"眼"与 ROSE-1 的"受试者"之间无公开关联字段,两子集应视为两个独立队列。任何抽样、划分、bootstrap 都应在上层(受试者/眼)而不是图像层进行。

这一层级结构还决定了两件工程事实:其一,ROSE-1 的统计检验应以受试者为单位(39 个样本点)而非图像(117 个),否则 p 值会被"伪重复"稀释;其二,若你想给图像打受试者级标签(如 AD/对照),需要自己从目录或向发布方获取受试者-图像映射表——官方页描述了队列构成但未附带机器可读的映射文件。

§4.5 缺失值与信息性缺失

ROSE 是图像对数据集,不存在表格意义的缺失单元格,但有三种"结构性缺失"需要在管线中显式处理:

结构性缺失 表现 建议处理
ROSE-2 无像素级 gt gt 目录为中心线骨架 中心线评测协议(3 px 容差)或骨架加宽构造软掩膜(见坑点 2)
ROSE-2 无组别标签 官方未公开逐眼诊断 入库时以 unspecified 显式编码,禁止猜测填充
无逐图元数据 年龄、性别、采集日期等不存在 字段字典中标记"官方未公布",元数据仅到子集级

另一种容易踩的"隐性缺失"是组别标签的空间缺失:ROSE-1 的 gt 在某些区域(尤其 DVC 层外周)没有标注,这些区域既非血管也非背景,而是"未知"。把它们默认当负类喂给损失函数,是 DVC 层训练效果不佳的常见原因之一(对策见坑点 7)。


§5 数据划分与使用建议

§5.1 官方划分

子集 train test 说明
ROSE-1 90 27 官方固定划分,OCTA-Net 论文全部指标基于此
ROSE-2 90 22 同上

官方划分是论文数字的"契约":想与 Ma, Y., et al., 2021, IEEE TMI 及后续论文(OCTAve、COSNet、Little W-Net 等)的表格直接对话,必须使用该划分并配合一致的评价协议。

§5.2 社区惯例划分

绝大多数后续论文直接沿用官方 90/27、90/22 划分,仅个别工作(如做跨子集迁移或弱监督设定)会重组数据并在文中显式说明。社区没有形成第二种"事实标准"划分;若你改变了划分,请在结果表中明确标注"非官方划分",并避免与官方划分下的已发表数字并排比较。

一个常见的合理变体是"官方划分不变、从 train 内部再切 val"(见 §5.4):这不破坏与已发表数字的可比性(test 未动),又能支撑早停与调参,是目前社区事实上的推荐做法。

§5.3 泄漏风险(重点)

  1. 受试者级泄漏(ROSE-1 特有,高危):每名受试者贡献 SVC/DVC/SVC_DVC 三张强相关图像(同一血管系统的三个投影)。若随机打散 117 张图再划分,同一受试者的 SVC 图可能进 train、其 SVC+DVC 图进 test——模型实质上"背过"了这个人的血管形态,测试指标虚高。官方划分已按合理粒度分组,任何自定义重划分必须按受试者(或眼)分组(GroupShuffleSplit,group=受试者/眼)。
  2. 跨层监督泄漏(中危):SVC 与 SVC_DVC 的血管高度重叠(后者包含前者)。用 SVC_DVC 的 gt 给 SVC 任务做"辅助监督"时,要意识到这接近标签信息跨任务转移,消融实验须把"层位来源"作为受控变量。
  3. 评测脚本泄漏(低危但常见):对 test 集做任何统计(均值、分布、CLAHE 参数拟合)后把参数应用到全数据集,属于轻度泄漏;归一化参数只应从 train 拟合。

§5.4 划分策略建议

  • 首选:直接使用官方划分(复现与对标)。
  • 需要验证集时:从 train 内按受试者/眼分组再切 10-15% 作 val,保持 test 集不接触。
  • 需要交叉验证时:按受试者/眼做分组 K 折(ROSE-1 只有 39 名受试者,建议 K=5;ROSE-2 以眼为单位),报告各折均值±标准差。
  • 禁止:图像级随机划分、按文件名排序切分(ROSE-2 文件名若与设备采集顺序相关,排序切分会引入采集时间漂移)。

§5.4b 分组交叉验证参考代码

需要验证集或 K 折结果时,按"受试者/眼"分组(§5.3 泄漏纪律),参考实现:

import numpy as np
from sklearn.model_selection import GroupKFold

# image_ids: 全部图像的标识列表(ROSE-1 为 117 张)
# groups:    与 image_ids 对齐的受试者 ID(每名受试者 3 张图 → 同 ID 出现 3 次)
# 若文件名无法恢复受试者归属,请向发布团队确认命名规则,禁止猜测分组
gkf = GroupKFold(n_splits=5)
for fold, (tr, va) in enumerate(gkf.split(image_ids, groups=groups)):
    train_list = [image_ids[i] for i in tr]
    val_list   = [image_ids[i] for i in va]
    # 纪律断言:任一折内受试者组零重叠
    assert not (set(np.asarray(groups)[tr]) & set(np.asarray(groups)[va]))
    print(f"fold {fold}: train {len(train_list)} 图 / val {len(val_list)} 图")

ROSE-1 仅 39 名受试者,5 折下每折验证集约 8 名受试者、24 张图;报告 5 折 Dice 的均值±标准差比单次划分更有说服力。test 集(官方 27 张)始终保持不接触。

§5.5 交叉验证与外部验证建议

  • 内部 CV:如 §5.4,分组 K 折,K 折间不共享受试者/眼。
  • 跨设备外部验证:ROSE-1 train → ROSE-2 test(或反向),报告性能衰减作为域漂移量;注意两子集标注粒度不同,评测协议要统一到中心线容差口径。
  • 向 OCTA-500 迁移:OCTA-500(IEEE DataPort)提供 500 名受试者的 en face 与 3D 体积,取其 en face 分割标签子集做外部测试集,是验证"ROSE 上的模型是否过拟合于小样本"的首选。

§6 AI 就绪指南 ⭐

§6.0 云端快速启动

数据体积小(229 张灰度图),Colab/Kaggle 单卡即可全流程复现:

# Colab:直接从 Zenodo 拉取归档(DOI: 10.5281/zenodo.12775880)
!pip -q install opencv-python scikit-image
!wget -q "https://doi.org/10.5281/zenodo.12775880" -O rose_zenodo.html   # 先解析记录页获取直链
# Zenodo 记录页内含 files 列表;下载 ZIP 后解压:
# !unzip -q ROSE.zip -d /content/data
# 验证目录:
# !find /content/data -type d | sort

提示:Zenodo 页面链接可能重定向,若 wget 拿到的是 HTML 而非 ZIP,请打开记录页复制实际文件直链再下载。官方页 imed.nimte.ac.cn/dataofrose.html 提供同一 DOI 入口。

§6.1 快速上手

下面代码演示"最小可用子集"(ROSE-1 的 SVC 层 train 划分)的加载与可视化。目录结构预期:data_root 指向解压后的 ROSE 根目录;ROSE-1 的路径拼接规则为 {data_root}/ROSE-1/{层位}/{split}/img 与 {data_root}/ROSE-1/{层位}/{split}/gt;ROSE-2 为 {data_root}/ROSE-2/{split}/{original,gt}。

import os, glob
import cv2
import numpy as np
import matplotlib.pyplot as plt

data_root = "/content/data/ROSE"   # ← 改成你的解压路径

# 最小可用子集:ROSE-1 / SVC / train
img_dir = os.path.join(data_root, "ROSE-1", "SVC", "train", "img")
gt_dir  = os.path.join(data_root, "ROSE-1", "SVC", "train", "gt")

img_paths = sorted(glob.glob(os.path.join(img_dir, "*")))
gt_paths  = sorted(glob.glob(os.path.join(gt_dir, "*")))
assert len(img_paths) == len(gt_paths), "img/gt 数量不匹配,检查是否用错层位目录"

img = cv2.imread(img_paths[0], cv2.IMREAD_GRAYSCALE)
gt  = cv2.imread(gt_paths[0],  cv2.IMREAD_GRAYSCALE)
print("img:", img.shape, img.min(), img.max())   # 期望 (304, 304)
print("gt :", gt.shape, np.unique(gt)[:10])      # 检查标注是 {0,255} 二值还是骨架

fig, ax = plt.subplots(1, 2, figsize=(8, 4))
ax[0].imshow(img, cmap="gray"); ax[0].set_title("OCTA img")
ax[1].imshow(gt,  cmap="gray"); ax[1].set_title("gt")
plt.show()

若要在 ROC/AUC 意义下训练,还需确认 gt 的取值(0/255 还是 0/1):gt = (gt > 127).astype(np.uint8) 一行即可统一。

§6.2 数据获取

步骤 操作 说明
1 访问官方页 imed.nimte.ac.cn/dataofrose.html 核对数据描述与引用要求
2 跳转 Zenodo 记录 DOI: 10.5281/zenodo.12775880 下载 ZIP 归档(CC BY 元数据;2025 年综述将获取方式标注为 on request,若直链不可用按页面指引申请)
3 解压并核对目录 按本页 §4.0 目录树核对 img/gt 数量
4 遵守用途限制 官方声明仅限学术研究;商业使用联系 yitian.zhao@nimte.ac.cn
5 引用论文 Ma, Y., et al., 2021, IEEE TMI,DOI: 10.1109/TMI.2020.3042802

§6.2b 下载常见问题

  • 直链重定向:https://doi.org/10.5281/zenodo.12775880 是 DOI 重定向,脚本下载请先解析到 Zenodo 记录页,再从记录页 files 列表取文件直链。
  • 获取方式:官方页直接给出 DOI 下载入口;2025 年综述将 ROSE 标注为 “on request” 获取。若记录页要求填写用途,如实填写学术研究用途即可。
  • 完整性校验:解压后先跑 §4.0 的配对自检,再核对数量(ROSE-1 各层 train 90 / test 27;ROSE-2 train 90 / test 22)。
  • 版本锚定:下载后记录 Zenodo 记录号与下载日期写入实验日志;数据集自 2021-07 归档后无实质更新,无需担心"偷偷改版"。

§6.3 预处理全流程

推荐管线:读图 → 灰度归一化 → (可选)CLAHE 对比度增强 → 统一尺寸 → 二值化 gt → 按 split 保存为 npz。ROSE-1 与 ROSE-2 分辨率不同,混训前必须先定 resize 策略(见坑点 3)。

import cv2
import numpy as np

def preprocess_pair(img_path, gt_path, target=304):
    """读入一对 img/gt 并返回网络可用的 numpy 数组。"""
    img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
    gt  = cv2.imread(gt_path,  cv2.IMREAD_GRAYSCALE)

    # 1) 统一尺寸:ROSE-2 为 840×840 时才触发;最近邻用于 gt 以保骨架
    if img.shape != (target, target):
        img = cv2.resize(img, (target, target), interpolation=cv2.INTER_AREA)
    if gt.shape != (target, target):
        gt = cv2.resize(gt, (target, target), interpolation=cv2.INTER_NEAREST)

    # 2) 灰度归一化到 [0,1]
    img = img.astype(np.float32) / 255.0

    # 3)(可选)CLAHE:OCTA 图对比度偏低时对毛细血管可见性帮助明显
    clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
    img_clahe = clahe.apply((img * 255).astype(np.uint8)).astype(np.float32) / 255.0

    # 4) gt 二值化(掩膜任务);中心线任务请保留骨架形态、勿加宽
    gt = (gt > 127).astype(np.float32)

    return img, img_clahe, gt

归一化统计(均值/方差)只从 train 拟合;CLAHE 参数在验证集上选定后冻结,避免 test 信息回流(§5.3 第 3 条)。

§6.4 PyTorch DataLoader 完整代码

<details>
<summary>点击展开完整 Dataset 类 + transform + DataLoader 实例化代码(约 60 行)</summary>

import os, glob, random
import cv2
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader

class ROSEDataset(Dataset):
    """ROSE-1 单层位(SVC/DVC/SVC_DVC)血管分割 Dataset。

    目录约定(data_root 拼接关系):
        {data_root}/ROSE-1/{layer}/{split}/img/*.png   原始造影图
        {data_root}/ROSE-1/{layer}/{split}/gt/*.png    标注(掩膜或骨架)
    最小可用子集:layer="SVC", split="train"。
    """
    def __init__(self, data_root, layer="SVC", split="train", size=304, augment=True):
        self.img_paths = sorted(glob.glob(
            os.path.join(data_root, "ROSE-1", layer, split, "img", "*")))
        self.gt_paths  = sorted(glob.glob(
            os.path.join(data_root, "ROSE-1", layer, split, "gt", "*")))
        assert len(self.img_paths) == len(self.gt_paths) and len(self.img_paths) > 0
        self.size, self.augment = size, augment

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

    def _augment(self, img, gt):
        # 论文协议:随机旋转 -10°~+10°;配合水平翻转。
        # 大角度旋转/弹性形变会破坏毛细血管拓扑,见 §6.5 坑点 5。
        if random.random() < 0.5:
            img, gt = img[:, ::-1], gt[:, ::-1]
        angle = random.uniform(-10, 10)
        h, w = img.shape
        M = cv2.getRotationMatrix2D((w / 2, h / 2), angle, 1.0)
        img = cv2.warpAffine(img, M, (w, h), flags=cv2.INTER_LINEAR,
                             borderMode=cv2.BORDER_REFLECT)
        gt  = cv2.warpAffine(gt,  M, (w, h), flags=cv2.INTER_NEAREST,
                             borderMode=cv2.BORDER_CONSTANT, borderValue=0)
        return img, gt

    def __getitem__(self, idx):
        img = cv2.imread(self.img_paths[idx], cv2.IMREAD_GRAYSCALE)
        gt  = cv2.imread(self.gt_paths[idx],  cv2.IMREAD_GRAYSCALE)
        if img.shape != (self.size, self.size):
            img = cv2.resize(img, (self.size, self.size), interpolation=cv2.INTER_AREA)
        if gt.shape != (self.size, self.size):
            gt = cv2.resize(gt, (self.size, self.size), interpolation=cv2.INTER_NEAREST)
        img = img.astype(np.float32) / 255.0
        gt  = (gt > 127).astype(np.float32)
        if self.augment:
            img, gt = self._augment(img, gt)
        img = torch.from_numpy(np.ascontiguousarray(img)).unsqueeze(0)  # (1,H,W)
        gt  = torch.from_numpy(np.ascontiguousarray(gt)).unsqueeze(0)
        return img, gt

if __name__ == "__main__":
    ds = ROSEDataset(data_root="/content/data/ROSE", layer="SVC", split="train")
    loader = DataLoader(ds, batch_size=8, shuffle=True, num_workers=2, pin_memory=True)
    for imgs, gts in loader:
        print(imgs.shape, gts.shape, gts.mean().item())  # 检查正类占比
        break

</details>

§6.4b ROSE-2 中心线数据加载要点

ROSE-2 目录约定与 ROSE-1 不同(original/gt 而非 img/gt),且 gt 为中心线骨架。独立加载器如下:

class ROSE2CenterlineDataset(Dataset):
    """ROSE-2:仅中心线标注的 SVC 图像集。
    目录约定(data_root 拼接关系):
        {data_root}/ROSE-2/{split}/original/*   840×840 灰度造影图
        {data_root}/ROSE-2/{split}/gt/*         中心线骨架
    用途:中心线容差评测(§6.9)或骨架加宽后的弱监督训练(坑点 2)。"""
    def __init__(self, data_root, split="test", size=840):
        self.imgs = sorted(glob.glob(os.path.join(data_root, "ROSE-2", split, "original", "*")))
        self.gts  = sorted(glob.glob(os.path.join(data_root, "ROSE-2", split, "gt", "*")))
        assert len(self.imgs) == len(self.gts) and len(self.imgs) > 0
        self.size = size

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

    def __getitem__(self, idx):
        img = cv2.imread(self.imgs[idx], cv2.IMREAD_GRAYSCALE)
        gt  = cv2.imread(self.gts[idx],  cv2.IMREAD_GRAYSCALE)
        if img.shape != (self.size, self.size):
            img = cv2.resize(img, (self.size, self.size), interpolation=cv2.INTER_AREA)
        if gt.shape != (self.size, self.size):
            gt = cv2.resize(gt, (self.size, self.size), interpolation=cv2.INTER_NEAREST)
        img = (img.astype(np.float32) / 255.0)[None]
        gt  = (gt > 127).astype(np.float32)[None]
        return torch.from_numpy(img), torch.from_numpy(gt)

§6.5 八大坑点(数据集特有失败模式)

⚠️ 坑点 1:同一受试者跨层泄漏——三层图像不是独立样本(分类:数据泄漏)

问题:ROSE-1 每名受试者贡献 SVC、DVC、SVC_DVC 三张图,是同一血管系统的三个投影层,形态高度相关。若把 117 张图当独立样本随机重划分,同一受试者的图会同时出现在 train 与 test,测试集对模型而言近乎"背过题"。
症状:自定义随机划分得到的 Dice 比官方划分报告值高出 5-15 个百分点;逐测试图看,"恰好有一张孪生层位图在训练里"的图分数异常高。
解决:

  1. 简单方法:不做自定义重划分,直接用官方 90/27;需要在 train 内切 val 时按受试者分组。
  2. 进阶方法:以受试者 ID 为 group 使用 sklearn.model_selection.GroupShuffleSplit / GroupKFold;ROSE-1 需从文件名/目录结构恢复受试者归属(同受试者三层图的对应关系,必要时向作者确认命名规则)。
  3. SOTA 方法:报告"图像级"与"受试者级"两套指标,用受试者级 bootstrap 置信区间表达不确定性,杜绝评审质疑。
    参考:官方数据页(https://imed.nimte.ac.cn/dataofrose.html);OCTA-Net 论文划分描述(https://arxiv.org/abs/2007.05201)。

⚠️ 坑点 2:ROSE-2 只有中心线——把骨架当掩膜训练/评测会双重出错(分类:标签理解)

问题:ROSE-2 的 gt 是血管中心线骨架(1-2 像素宽的细线),不是像素级血管掩膜。把骨架直接当二值掩膜算像素级 Dice 或喂给分割损失,语义完全错误。
症状:ROSE-2 上的像素级 Dice 远低于文献值(骨架只覆盖血管区域的极小部分);训练时模型收敛到"全线预测为负",Dice 在 0 附近震荡。
解决:

  1. 简单方法:ROSE-2 只按论文评测协议做中心线检测——预测血管概率图后,落在人工描记线 3 像素容差内的判为真阳性。
  2. 进阶方法:用距离变换把骨架加宽为自适应宽度的"软掩膜"再训练(加宽半径 ≤2 px),并明确报告"骨架加宽"这一构造步骤;或仅在 ROSE-1 上训练、ROSE-2 只做测试。
  3. SOTA 方法:改用拓扑导向评测(如 clDice,https://arxiv.org/abs/2003.07311),直接度量骨架连通性,与中心线标注语义天然对齐。
    参考:官方页标注描述;COSNet 论文在 ROSE-2 上仅使用中心线分支的处理(https://www.mdpi.com/1424-8220/22/24/9847/htm)。

⚠️ 坑点 3:304×304 与 840×840 混用——跨子集统一尺寸会摧毁细节或虚占显存(分类:预处理陷阱)

问题:ROSE-1 是 304×304(Optovue),ROSE-2 是 840×840(Heidelberg)。混训时若简单 resize 到同一尺寸:840→304 用双线性会把 2-4 像素宽的毛细血管抹掉;304→840 则只是插值放大,白白增加 7.6 倍像素量。
症状:混训模型在 ROSE-2 上表现为"大血管尚可、毛细血管断裂";或显存 OOM、训练时长异常,而指标相对单子集训练无提升。
解决:

  1. 简单方法:按子集分别训练(论文的做法:OCTA-Net 对 ROSE-1、ROSE-2 各训练一套),完全回避尺寸混用。
  2. 进阶方法:多尺度训练——batch 内按子集分组,各自原生分辨率(配合 torch 的可变形状输入或 padding 到公倍尺寸);gt 一律最近邻插值。
  3. SOTA 方法:把"设备/分辨率"显式作为域标签做域泛化(style alignment、域对抗或 test-time adaptation),并将 ROSE-1→ROSE-2 作为标准域外测试报告衰减。
    参考:官方页两子集规格;OCTAve 论文对跨子集评测差异的讨论(https://personal.ntu.edu.sg/ctguan/Publications/2022_Amrest_IEEE_TBME(EA).pdf)。

⚠️ 坑点 4:重度类不平衡——Accuracy 在这个数据集上是"骗子指标"(分类:评估误用)

问题:3×3 mm² 中心凹区 OCTA 图中血管像素占比远小于背景(绝大多数像素为背景)。一个把所有像素判为背景的"全负分类器"也能拿到很高的 Accuracy,但对血管几乎零召回。
症状:训练早期 Accuracy 高达 90%+ 而看着预测图全是黑的;Kappa/Dice 为 0;loss 下降但可视化毫无进展。
解决:

  1. 简单方法:只看 Dice / Kappa / G-mean / AUC(论文指标族),永远不单独报告 Accuracy;全负分类器 Dice=0,无法作弊。
  2. 进阶方法:损失用 Dice loss + BCE 组合或 focal loss,并按 train 集实测正类占比设置权重;阈值在 val 集上扫 0.1-0.9 选最优而非默认 0.5。
  3. SOTA 方法:报告概率图层面的 AUC 与 PR 曲线,辅以 FDR(论文同款)控制假阳性讨论,避免阈值选择掩盖真实性能。
    参考:论文评测协议(AUC/SEN/SPE/ACC/Kappa/FDR/G-mean/Dice,https://arxiv.org/abs/2007.05201);COSNet 对类不平衡的处理动机(https://www.mdpi.com/1424-8220/22/24/9847/htm)。

⚠️ 坑点 5:2-4 像素细血管——下采样与大幅增强会切断毛细血管拓扑(分类:预处理陷阱)

问题:最细的毛细血管在 ROSE-1 里只有 2-4 像素宽。双线性/双三次下采样 + 低阈值二值化会把它们抹成断线;大角度旋转、弹性形变等增强会破坏血管走向的几何合理性;最近邻下采样则可能整行丢掉细血管。
症状:预测图里毛细血管"断成一串珠子",clDice/连通分量统计明显变差;FD(分形维数)等下游指标系统性偏低——因为 FD 对拓扑断裂极其敏感。
解决:

  1. 简单方法:保持原生分辨率训练(304 就用 304);增强只用论文协议(-10°~+10° 旋转 + 翻转);gt 插值一律最近邻。
  2. 进阶方法:必须缩小尺寸时,先对 img 做超分辨或对 gt 做骨架保持的形态学处理;评测同时报告像素级 Dice 与连通性指标(连通分量数、clDice)。
  3. SOTA 方法:引入拓扑保持损失(clDice,https://arxiv.org/abs/2003.07311)或多尺度监督,显式惩罚骨架断裂;细血管召回单列报告。
    参考:论文对细血管宽度与中心线标注动机的说明(https://arxiv.org/abs/2007.05201);Little W-Net 论文关于"极简模型 + 保守训练即可逼近 SOTA"的证据(https://pmc.ncbi.nlm.nih.gov/articles/PMC9007957/)。

⚠️ 坑点 6:投影伪影——浅层血管会在深层图像里"影子分身"(分类:标签理解)

问题:OCTA 的投影伪影(projection artifact)会让 SVC 的血管在 DVC 图像中留下暗影,模型很容易学到"沿着影子画血管"的捷径。DVC 标注共识中影子对应的伪影血管如何取舍,存在天然的标注歧义。
症状:DVC/SVC_DVC 模型的预测与 SVC 血管模式高度相关(把两层预测叠加对比,重合度高得可疑);在真实不同设备的深层图上泛化明显掉点。
解决:

  1. 简单方法:承认并报告这一限制——DVC 上的高分部分可能来自投影而非真实深层血流;与文献对比时优先看 SVC 层指标。
  2. 进阶方法:对深层图做投影伪影抑制预处理(利用 SVC 分割结果对深层图做掩蔽/校正后再分割);训练时把 SVC 图与 DVC 图组成对输入。
  3. SOTA 方法:采用论文 OCTA-Net 的 SRS 细化思路或后续专用去伪影网络,让模型在细化阶段利用邻域上下文区分真实血管与影子。
    参考:论文 limitations 对投影伪影与未来去伪影方向的说明(https://arxiv.org/abs/2007.05201);OCTA 生成与去噪综述(https://arxiv.org/abs/2502.14935)。

⚠️ 坑点 7:DVC 标注覆盖偏向中心凹周边——全图评测会"惩罚"远端血管(分类:偏倚陷阱)

问题:后续工作(OCTAve)观察到,ROSE-1 的 DVC 层专家标注集中于中心凹无血管区(FAZ)周边区域,远离 FAZ 的外周毛细血管可能没有标注。模型若在外周检测出真实血管,会被误判为假阳性而被损失惩罚。
症状:模型在 FAZ 附近贴合标注、在外周"学会保守"(预测偏空);弱监督/半监督方法在外周血管上的表现反而低于全监督基线的直觉预期。
解决:

  1. 简单方法:检查每张 gt 的标注覆盖(骨架密度随离心距离的分布),确认所用层位是否存在外周空白。
  2. 进阶方法:构造 ROI 掩码(如以 FAZ 为中心的标注覆盖区),仅在 ROI 内计算损失与指标,并在论文中声明评测范围。
  3. SOTA 方法:对无标注区域使用"未知区域损失"(把未标注像素从交叉熵中排除)或半监督一致性正则,避免把缺失标注当负类学习。
    参考:OCTAve 论文讨论(作者明确推测 DVC 标注限于 FAZ 周边导致其方法在远端欠拟合,https://personal.ntu.edu.sg/ctguan/Publications/2022_Amrest_IEEE_TBME(EA).pdf)。

⚠️ 坑点 8:跨论文基准数字不可直接比较——同一个 OCTA-Net 有两套 Dice(分类:评估误用)

问题:OCTA-Net 在 ROSE-1 SVC 的 Dice 在原论文中为 0.7697,但第三方论文(如 COSNet)在同一划分下的重评测为 0.7570;ROSE-2 上不同论文的评测分支与协议也不一致(COSNet 在 ROSE-2 仅用中心线分支)。预处理、插值、二值化阈值、容差实现、评测区域的差异都会让"同名指标"数值漂移。
症状:你的模型明明没改,换个评测脚本 Dice 变了 1-2 个百分点;论文对比表中自家方法"领先"幅度小于跨实现噪声。
解决:

  1. 简单方法:引用任何文献数字时连同其协议一起引用(划分、粒度、阈值、容差),绝不在同一列混合"原论文报告值"与"第三方重评测值"。
  2. 进阶方法:所有对比方法用同一份自实现评测代码统一重跑,表注明确"本文统一协议重评测"。
  3. SOTA 方法:直接使用官方仓库的 evaluation 平台(OCTA-Net 仓库自带评测脚本与预训练模型),以官方实现为准绳;新方法发布时附评测代码与随机种子。
    参考:原论文与官方仓库(https://github.com/iMED-Lab/OCTA-Net-OCTA-Vessel-Segmentation-Network);COSNet 表 3/4(https://www.mdpi.com/1424-8220/22/24/9847/htm);OCTAve 表 II(https://personal.ntu.edu.sg/ctguan/Publications/2022_Amrest_IEEE_TBME(EA).pdf)。

§6.6 数据增强:安全与危险清单

操作 判定 理由
随机旋转 -10°~+10° ✅ 安全 论文同款协议,保血管拓扑
水平/垂直翻转 ✅ 安全 中心凹区血管无严格方向语义
随机裁剪后 resize 回原尺寸 ✅ 安全(慎用) 仅小幅裁剪;大比例裁剪丢毛细血管
亮度/对比度小幅抖动、CLAHE ✅ 安全 对应设备增益差异,幅度宜小
双线性/双三次下采样至 ≤1/2 尺寸 ❌ 危险 2-4 像素毛细血管被抹除(坑点 5)
弹性形变 / 大幅剪切 ❌ 危险 破坏血管几何与 FD 语义,下游形态学指标失真
90° 旋转组合外的任意角度旋转 + 最近邻 gt ⚠️ 谨慎 大角度使 gt 阶梯化,中心线断裂
灰度反转 / 通道置换类增强 ❌ 危险 血管=亮色的成像语义被破坏
Copy-Paste 血管合成 ⚠️ 谨慎 伪影与层位上下文不一致,需极度小心

增强策略的整体原则:保守优先。ROSE 的论文基线只用了小角度旋转,Little W-Net 用极简配置即逼近 SOTA——在这个数据集上,激进的增强策略带来的收益经常被毛细血管拓扑破坏抵消。新增任何增强前,建议先在验证集上对比 clDice 与连通分量数,确认拓扑未受损再启用。

§6.7 模型推荐

模型 在 ROSE 上的证据 推荐场景 参考
OCTA-Net(官方基线) ROSE-1 SVC AUC 0.9453 / Dice 0.7697 复现基线、粗细两阶段思路 Ma, Y., et al., 2021, IEEE TMI
U-Net / ResU-Net Dice 0.7116 / 0.7461(ROSE-1 SVC) 快速 baseline、教学 Ronneberger et al., 2015, MICCAI;转引自 OCTAve 表 II
CS-Net / CE-Net 0.7608 / 0.7511(ROSE-1 SVC) 细血管上下文建模对比 转引自 OCTAve 表 II
Little W-Net ROSE-1 DVC AUC 97.71 / Dice 70.82(超 OCTA-Net) 极简架构、算力受限 Little W-Net, 2022, Scientific Reports
COSNet ROSE-1 Dice 0.7645 / ROSE-2 0.7104 类不平衡对比学习 COSNet, 2022, Sensors
OCT2Former / LA-Net 2023/2024 后续 SOTA Transformer 结构、3D-to-2D 层注意力 OCT2Former, 2023, CMPB;LA-Net, 2024, PMB

选型建议:先跑官方 OCTA-Net 建立可复现底线(它附带评测平台),再以 Little W-Net 做低成本强基线,最后才是自家创新点。

§6.8 硬件需求

场景 显存 建议
ROSE-1(304×304)训练,batch 8 6-8 GB RTX 3060 级即可,轻量数据集
ROSE-1 训练 + AUC 全图推理评测 8-11 GB 累计混淆矩阵分批计算
ROSE-2(840×840)训练,batch 4 11-16 GB 建议梯度累积或裁剪为 512×512 滑窗
官方 OCTA-Net 两阶段复现 8-16 GB 粗细两阶段分别训练,visdom 监控

以上为工程经验估计;数据集本身仅数十 MB,瓶颈在显存而非磁盘。

§6.9 评估指标代码

实现论文指标族(Dice/Kappa/FDR/G-mean/AUC)与中心线 3 像素容差评测:

<details>
<summary>点击展开评估指标完整代码(约 55 行)</summary>

import numpy as np
import cv2
from scipy import ndimage  # pip install scipy
from sklearn.metrics import roc_auc_score

def confusion(pred, gt):
    """pred, gt: 二值 {0,1} 数组"""
    tp = int(np.logical_and(pred == 1, gt == 1).sum())
    fp = int(np.logical_and(pred == 1, gt == 0).sum())
    fn = int(np.logical_and(pred == 0, gt == 1).sum())
    tn = int(np.logical_and(pred == 0, gt == 0).sum())
    return tp, fp, fn, tn

def dice(pred, gt):
    tp, fp, fn, _ = confusion(pred, gt)
    return 2 * tp / (2 * tp + fp + fn + 1e-9)

def kappa(pred, gt):
    tp, fp, fn, tn = confusion(pred, gt)
    acc = (tp + tn) / max(tp + fp + fn + tn, 1)
    n = tp + fp + fn + tn
    pe = ((tp + fn) * (tp + fp) + (tn + fp) * (tn + fn)) / max(n * n, 1)
    return (acc - pe) / max(1 - pe, 1e-9)

def fdr(pred, gt):
    tp, fp, _, _ = confusion(pred, gt)
    return fp / max(fp + tp, 1e-9)

def gmean(pred, gt):
    tp, fp, fn, tn = confusion(pred, gt)
    sen = tp / max(tp + fn, 1e-9)
    spe = tn / max(tn + fp, 1e-9)
    return float(np.sqrt(sen * spe))

def centerline_tp(pred_prob, centerline, tol_px=3, thr=0.5):
    """ROSE 中心线协议:预测在描记线 tol_px 容差内算 TP。
    pred_prob: 概率图 [0,1];centerline: 人工描记骨架 {0,1}"""
    pred_bin = (pred_prob >= thr).astype(np.uint8)
    # 对预测做距离变换:距最近预测像素的欧氏距离
    dist_to_pred = cv2.distanceTransform(1 - pred_bin, cv2.DIST_L2, 3)
    hit = (dist_to_pred <= tol_px) & (centerline > 0)
    return int(hit.sum()), int((centerline > 0).sum())

def auc_score(prob, gt, sample_step=4):
    y = gt[::sample_step, ::sample_step].ravel()
    p = prob[::sample_step, ::sample_step].ravel()
    return roc_auc_score(y, p) if 0 < y.mean() < 1 else float("nan")

</details>

指标选择速查:像素级掩膜任务报 Dice + AUC + Kappa + FDR + G-mean;中心线任务报 3 px 容差命中率与 clDice;永远不要单独报 Accuracy(坑点 4)。

§6.10 MLOps 笔记

  • 确定性:固定 random/np/torch 种子;数据小,建议直接把官方划分的文件清单入库(JSON 清单 + SHA1),保证每次训练的 train/test 恒定。
  • 数据版本化:以 Zenodo DOI(10.5281/zenodo.12775880)为不可变锚点;本地预处理产物(npz、归一化参数)单独版本化,与原始数据严格分离。
  • 评测自动化:把 §6.9 指标代码放进 CI,任何模型改动自动输出与 OCTA-Net 基线的差值;保存概率图而非只存指标,便于事后改阈值重评。
  • 漂移监控(若上线):监控输入图的分辨率、直方图统计与 FAZ 位置偏移;ROSE-1(Optovue)与 ROSE-2(Heidelberg)分布差异就是现成的"漂移演习场"。
  • 组别审计:若下游做了 AD 相关分析,把"受试者级分组"写进实验配置(39 个受试者 ≠ 117 个样本),审计时能直接回应"伪重复"质疑(呼应 §4.4)。
  • 可追溯:任何报告指标须能对应到"划分清单版本 + 预处理版本 + 评测代码版本"三元组(呼应坑点 8)。

§6.10b 下游分析参考:分形维数(FD)计算

ROSE 论文的临床价值出口是"分割 → 分形维数 → AD vs 健康组比较"。复现该链路的盒计数 FD 参考:

import numpy as np

def fractal_dimension(mask: np.ndarray, n_min: int = 2, n_max: int = 64) -> float:
    """盒计数法估计二值血管掩膜的分形维数。
    mask: {0,1} 二值图。FD ∈ [1, 2],越大表示血管分支越复杂。
    论文结论:AD 组浅/中/深层血管丛 FD 显著低于健康组(如 SRVP p=0.004)。
    注意:FD 对拓扑断裂极敏感(坑点 5),分割质量差会直接扭曲 FD。"""
    pixels = np.argwhere(mask > 0)
    if len(pixels) == 0:
        return float("nan")
    sizes = 2 ** np.arange(int(np.log2(n_min)), int(np.log2(n_max)) + 1)
    counts = [len(np.unique(pixels // int(s), axis=0)) for s in sizes]
    slope, _ = np.polyfit(np.log(sizes), np.log(counts), 1)
    return float(-slope)

# 组间比较(ROSE-1):对每名受试者(而非每张图)计算 FD,再按 AD/对照组做检验;
# 层位(SVC/DVC/SVC_DVC)作为受控变量分别报告——同受试者三图不独立(坑点 1)。

扩展指标:把 FD 与血管密度(mask.mean())、骨架总长度、FAZ 面积并列报告,是微血管形态学研究的标准组合。


§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解建议
疾病组过采样 ROSE-1 中 AD 患者(26)约为健康对照(13)两倍 中 组别分层评估;重加权或重采样
单中心 全部数据来自中国单中心团队及合作临床中心 中 外部验证(OCTA-500);谨慎外推
设备域偏移 Optovue(ROSE-1)vs Heidelberg(ROSE-2),分辨率与图像风格不同 高 子集分别建模;域自适应;报告跨设备衰减
标注覆盖偏倚 DVC 层标注集中于 FAZ 周边,外周毛细血管覆盖有限 中-高 ROI 内评测(坑点 7);半监督处理未标注区
组别信息有限 ROSE-2 无逐眼诊断标签;ROSE-1 无年龄/性别元数据 中 把 ROSE 定位为分割基准而非临床预测数据集
标注者规模 ROSE-2 单医师描记,无标注者间一致性数据 中 引用时如实说明;关键研究自行复标子集

按对结论威胁程度排序:设备域偏移 > 标注覆盖偏倚 > 单中心 > 组别过采样 > 标注者规模 > 元数据缺失。前两项直接影响指标数值本身(跨子集数字会系统性偏低/偏高),做任何跨论文对比前先确认双方在这两项上的口径一致;后四项主要影响结论外推范围,在 limitation 中声明即可。

§7.2 标注质量

ROSE-1 采用多专家分级 + 共识流程,掩膜与中心线双轨并供,属于同类分割数据集中质控较严的做法;但官方未公布标注者间一致性系数。ROSE-2 为单名有经验临床眼科医师用 Matlab 自研程序描记,过程可复现性受单标注者习惯影响。总体而言:SVC 层标注最可靠(血管粗、歧义少),DVC 层受细血管宽度不确定与投影伪影影响最大——这正是官方在 ROSE-2 只敢承诺中心线的原因之一。使用建议:像素级训练优先 SVC 与 SVC_DVC 层;DVC 层结论宜配合 ROI 内评测复核。

拿到数据后建议完成的标注质量自查清单(半天工作量,能避免大半评审问题):

  1. 逐层位抽 5 张图目检 gt:确认掩膜轨的二值性、中心线轨的连续性;
  2. 统计各层位 gt 的骨架密度与血管占比分布(§4.2 代码),标记异常低密度图;
  3. 检查 DVC 层标注的离心覆盖(坑点 7),确定自己的评测 ROI;
  4. 用官方预训练 OCTA-Net 在 test 上跑一遍,比对官方风格指标,校准你的评测实现(坑点 8)。

§7.3 泛化性

场景 失效风险 证据
ROSE-1 → ROSE-2(跨设备) 高:设备、分辨率、标注粒度同时变化 两子集规格差异显著(官方页);Little W-Net 指出 ROSE-2 图像视觉质量较低致性能整体下降(PMC9007957)
ROSE → 其他 OCTA 设备/协议 高:视野、层位、增益未覆盖 综述汇总显示各公开 OCTA 数据集采集协议差异大(arXiv:2502.14935)
AD 组 → 其他眼病/健康人群 中:队列特异性 ROSE-1 组别构成 2:1 且单中心;未含糖网、青光眼等病谱
中心凹 → 周边视网膜扫描区 高:训练分布仅中心凹 3×3 mm² 官方页扫描区域定义;标注亦集中于中心凹区
实验室 → 门诊真实流程 中:图像质量退化 OCTA 对运动伪影敏感,临床扫描质量参差(综述讨论)

§7.4 伦理与合规

官方声明数据集仅限学术研究用途,商业使用需联系 yitian.zhao@nimte.ac.cn 获得授权;Zenodo 元数据以 CC BY 许可归档。使用人类受试者影像数据集的通行要求适用:请在论文中引用原始论文、勿尝试从图像反推身份、再分发时保留原始许可与出处说明。涉及二次采集(把 ROSE 数据并入新数据库)时,建议与发布团队确认边界。DUO 标签参考:NPUNCU(非商业非营利)。

§7.5 公平性

  • 人群代表性:单中心、中国人群、年龄/性别元数据未公开,无法审计跨人群性能差异;非中国人群或其他年龄段使用时性能未知。
  • 疾病代表性:ROSE-1 聚焦 AD 与健康对照二分组,缺少糖尿病视网膜病变、青光眼等高患病率眼病谱;ROSE-2 病谱未列明。
  • 审计建议:若你的场景涉及多中心部署,请补充本地人群的分层评测(按年龄、性别、设备分桶报告 Dice),并公开分桶结果。

§7.6 数据漂移

ROSE 本身是静态归档(Zenodo 单记录,2021-07 后无实质更新),数据内漂移风险有限;真正需要警惕的是部署侧漂移:你的线上设备/采集协议与 Optovue/Heidelberg 3×3 mm² 中心凹协议的差异。建议以输入图统计(分辨率、灰度直方图、FAZ 位置)做漂移哨兵,超出 ROSE 训练分布即触发人工复核。

判断"是否已漂移出 ROSE 的适用范围"可参考三条简单阈值(工程经验值,供起步):输入分辨率与 304/840 显著不符;灰度直方图峰值位置大幅偏离 train 集分布;FAZ 检测不到或不在图像中心区域。任一触发即应标记该图"超出基准适用范围",而不是强行给出置信度很高的分割结果。

§7.7 DAIMS 数据集 AI 就绪度自检(24 项)

# 检查项 状态 说明
1 宽格式 ✅ 图像对数据集,img/gt 目录即"宽表",无需列拼接
2 唯一标识 ✅ 文件名即主键;跨层同名需带层位路径消歧
3 特殊字符 ✅ 文件名为常规字符,跨平台安全
4 重复行 ✅ 229 图无重复记录;加载时可哈希校验
5 缺失编码 ⚠️ 非表格数据无缺失编码概念;组别缺失需自定义 unspecified
6 标签标识 ✅ gt 与 img 同名成对,train/test 目录划分清晰
7 罕见类分组 ✅ AD/对照组别显式(ROSE-1);稀有结构(细血管)可用中心线轨研究
8 偏倚评估 ⚠️ 官方未做偏倚声明;本页 §7.1 已代为梳理,但非官方结论
9 数据字典 ⚠️ 官方页为叙述式描述,无机器可读字段字典;本页 §4.1 已补齐
10 信息性缺失解释 ✅ ROSE-2 无像素级 gt、无组别标签均为结构性事实,可显式编码
11 设备记录 ✅ 两台设备厂商/软件/分辨率完整记录
12 共线性 ✅ 无表格特征列,不存在特征共线性问题
13 编码映射 ✅ SVC/DVC/SVC_DVC 术语在官方页与论文中定义一致
14 时间戳处理 ⚠️ 无逐图采集日期;仅有发布时间锚点(2020-07 arXiv、2021-07-19 Zenodo)
15 划分建议 ✅ 官方 90/27、90/22 + 本页 §5.4 分组划分策略
16 泄漏讨论 ✅ 本页 §5.3 明确受试者级泄漏与对策
17 标签分布 ⚠️ 官方未公布血管像素占比/血管计数统计,需自行统计
18 测量偏倚 ⚠️ 跨设备(Optovue vs Heidelberg)与 resize 差异构成测量偏倚,官方未量化
19 外部验证建议 ✅ 本页 §7.8 给出可执行的外部验证矩阵
20 版本记录 ⚠️ Zenodo 单主记录 + 同系列关联记录,无显式语义版本号
21 预处理脚本 ⚠️ 官方提供评测平台,但无官方预处理/加载脚本;本页 §6.3-§6.4 已补齐
22 合规要求 ✅ 学术用途声明、商业授权联系人明确(CC BY 归档 + 官方限制)
23 多模态对齐 ✅ img/gt 严格同名成对;无跨模态时序对齐需求
24 去标识化 ✅ 纯影像数据,无姓名/病历号/生日等直接标识;组别标签仅在子集层

DAIMS 评分:20.5 / 24

评分解读:24 项中 16 项 ✅、8 项 ⚠️、0 项 ❌。✅ 项集中于"结构完整性"(标识、成对、划分、合规、去标识化)——这是小而精的人工标注数据集的典型优势;⚠️ 项集中于"文档机器可读性"(无字段字典、无逐图元数据、无官方预处理脚本)与"偏倚/分布量化"(未公布一致性系数与标签分布),反映 2020 年学术数据集的常见短板,而非数据本身缺陷。0 项 ❌ 说明没有"用了会错"的硬伤。

对你意味着什么:

  1. 可以放心直接拿来做分割训练与基准对比——结构、划分、合规三项底线全部过关;
  2. 上手前先花半天补齐"官方没给"的部分:用本页 §4.1 字典建索引、§6.3-§6.4 代码做加载、自行统计标签分布并固化到数据卡;
  3. 任何对外报告指标时,把 8 个 ⚠️ 当作"必须注明协议"的清单——特别是 ROSE-2 中心线口径与跨设备偏倚,这是审稿人最容易攻击的两点;
  4. 若用于 AD 相关研究,把 §7.1 的组别过采样与单中心偏倚写进 limitation,并考虑用 OCTA-500 做外部验证。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
OCTA-500 en face 子集 同团队(iMED-Lab,IEEE DataPort) 血管分割迁移测试 Dice/AUC(按各论文自报) 视论文而定,普遍低于 ROSE-1 内部值 更大规模、含 3D 体积,是首选外部测试床(OCTA-500)
ROSE-2(对 ROSE-1 训练的模型) iMED-Lab 跨设备域外测试 中心线容差命中率 显著下降(跨设备 + 分辨率 + 标注粒度三重变化) 官方两子集设计即含域泛化意图(官方页)
同划分第三方重评测(COSNet 协议) 北方民族大学等 统一协议重评 OCTA-Net ROSE-1 Dice 0.7570 vs 原论文 0.7697 -1.3 pt 量级 跨实现评测噪声不可忽略(Sensors 2022)
极简模型外部复核(Little W-Net) 独立团队 ROSE-1 DVC / ROSE-2 复核 ROSE-1 DVC Dice 70.82 vs OCTA-Net 70.74 持平或小幅超越 小模型+保守训练即可逼近 SOTA;ROSE-2 图像质量限制整体上限(Sci Rep 2022)

§8 基准性能与生态

§8.1 基准排行榜

下表汇总官方划分下各方法在 ROSE 上的 Dice(%)。加粗注意:前五行取自 OCTA-Net 论文报告值(经 OCTAve 表 II 转录核验),后四行为第三方论文自报值——不同行之间的评测实现存在差异,数字不可跨行直接比较(坑点 8)。

模型 ROSE-1 SVC ROSE-1 SVC+DVC ROSE-1 DVC ROSE-2 年份 关键技术 完整引用 代码
OCTA-Net 76.97 75.76 70.74 70.77 2021 粗细两阶段 + ResNeSt + 双级监督 Ma, Y., et al., 2021, IEEE TMI. DOI: 10.1109/TMI.2020.3042802 GitHub
Three-Stage 76.63 75.24 66.22 70.24 2019 三阶段级联 转引自 OCTAve 表 II(TBME 2022) —
CS-Net 76.08 74.88 58.84 70.10 2019 交叉上下文注意力 CS-Net, 2019, MICCAI(转引自 OCTAve 表 II) —
CE-Net 75.11 73.00 57.83 70.66 2019 上下文编码器 CE-Net, 2019, IEEE TMI(转引自 OCTAve 表 II) —
COSFIRE 75.17 66.71 24.50 61.42 2015 可训练滤波器(传统方法) Azzopardi, G., et al., 2015, Medical Image Analysis —
DUNet 75.05 74.03 58.50 69.35 2019 可变形卷积 U-Net DUNet, 2019, MICCAI(转引自 OCTAve 表 II) —
ResU-Net 74.61 73.09 65.67 67.25 2017 残差 U-Net 转引自 OCTAve 表 II —
U-Net 71.16 70.12 66.05 65.64 2015 编解码分割基线 Ronneberger, O., et al., 2015, MICCAI [GitHub 常见实现]
COOF 66.06 56.85 10.03 61.12 2020 方向场传统方法 转引自 OCTAve 表 II —
IPAC 57.51 52.23 39.11 55.90 2015 自适应聚类(传统方法) 转引自 OCTAve 表 II —
OCTAve(弱监督,自报) 78.03 81.42 62.55 71.18 2022 弱监督 + 局部性增强 OCTAve, 2022, IEEE TBME. DOI: 10.1109/TBME.2022.3232102 —
Little W-Net(自报,DVC/ROSE-2 口径) — — 70.82 69.70 2022 极简迭代 W-Net Little W-Net, 2022, Scientific Reports(PMC) —
COSNet(自报) 76.45 — — 71.04 2022 全局对比学习 COSNet, 2022, Sensors, 22(24):9847(MDPI) GitHub

注:OCTA-Net 论文同时给出概率图层面指标(ROSE-1 SVC AUC 0.9453、ACC 0.9098、Kappa 0.7022 等,见 COSNet 表 3 转录);传统方法(COSFIRE/IPAC/COOF)在 DVC 层的崩塌式低分正是"深层毛细血管难分"的直接证据。

§8.2 SOTA 总结与选型建议

  • ROSE-1 SVC:像素级 Dice 的天花板在 77% 附近震荡(OCTA-Net 76.97、OCTAve 78.03、COSNet 76.45),提升已进入"评测噪声"区间;想显著超越需转向拓扑指标或新监督范式。
  • ROSE-1 DVC:深度学习(70+)与传统方法(10-40)差距最大的一层,细血管+投影伪影是主因;新方法应主攻这一层才有区分度。
  • ROSE-2:受限于图像质量与仅中心线标注,各方法 Dice 集中在 70-71%;建议改报中心线容差命中与 clDice。
  • 选型:算力受限选 Little W-Net;要复现官方口径选 OCTA-Net;研究类不平衡选 COSNet 思路;拓扑导向研究配 clDice 损失。

如何报告你自己的结果(社区期望的标准格式):在结果表中同时给出 ROSE-1 SVC / SVC_DVC / DVC / ROSE-2 四列 Dice 与 ROSE-1 SVC 的 AUC/Kappa/FDR/G-mean;表注写明"官方划分、-10°~10° 旋转增强、阈值 0.5、中心线评测 3 px 容差",并与 OCTA-Net 原论文数字同列以示口径一致。若你做了任何协议偏离(重划分、尺寸统一、ROI 评测),必须在表注中显式声明,并与官方口径的结果分列展示。

§8.3 评测协议

  1. 使用官方 90/27(ROSE-1)与 90/22(ROSE-2)划分,勿重划分。
  2. 像素级任务:阈值化后计算 AUC/ACC/Kappa/FDR/G-mean/Dice(论文指标族,代码见 §6.9)。
  3. 中心线任务(ROSE-2、ROSE-1 中心线轨):预测落在人工描记线 3 像素容差内判 TP。
  4. 训练增强遵循论文协议(-10°~+10° 随机旋转)以保证可比。
  5. 报告数字时注明:原论文报告值 or 统一协议重评测值(坑点 8)。
  6. 随结果发布评测代码与随机种子;ROSE 体量小,完整的可复现包(划分清单 + 预处理 + 评测)不超过百行代码,没有理由省略。
数据集 机构 规模 与 ROSE 的关系
OCTA-500 iMED-Lab(NIMTE, CAS) 500 名受试者,3D OCT/OCTA + en face 同团队旗舰集;ROSE 的"放大版后继",Med Image Anal 2024(DOI: 10.1016/j.media.2024.103092)
ROSE-O iMED-Lab(NIMTE, CAS) 117 图,RV/RVJ/FAZ 结构标注 姊妹集,任务为结构检测(VAFF-Net 代码)
OCTAGAN VARPA(西班牙)等 212 图(36 健康 + 17 DR 眼) 同模态、面向 FAZ/DR(综述汇总)
Giarratano et al. 爱丁堡大学等 55 图 / 11 只健康眼 同模态小规模、多 ROI
DRIVE / STARE / CHASE-DB1 多机构 彩色眼底照血管标注 不同模态(CFP)的经典血管分割基准,常被论文作跨模态参照

§8.5 关键论文 Top 6

  1. Ma, Y., et al. (2021). ROSE: A Retinal OCT-Angiography Vessel Segmentation Dataset and New Model. IEEE Transactions on Medical Imaging, 40(3), 928-939. DOI: 10.1109/TMI.2020.3042802 — 数据集 + OCTA-Net 原始论文,一切评测的原点。
  2. Ma, Y., et al. (2020). ROSE: A Retinal OCT-Angiography Vessel Segmentation Dataset and New Model. arXiv:2007.05201 — 预印本全文开放(arXiv),含完整指标表与训练细节。
  3. OCTAve (2022). 2D en face OCTA Vessel Segmentation in Weakly-Supervised Learning with Locality Augmentation. IEEE TBME. DOI: 10.1109/TBME.2022.3232102 — 弱监督路线 + 对 ROSE 标注覆盖的关键观察(PDF)。
  4. COSNet (2022). Retinal OCTA Image Segmentation Based on Global Contrastive Learning. Sensors, 22(24), 9847 — 类不平衡对比学习;统一协议重评基准(MDPI)。
  5. Little W-Net (2022). State-of-the-art retinal vessel segmentation with minimalistic models. Scientific Reports — 极简模型逼近 SOTA 的外部复核(PMC9007957)。
  6. iMED-Lab (2024). OCTA-500: A retinal dataset for optical coherence tomography angiography study. Medical Image Analysis, 93, 103092. DOI: 10.1016/j.media.2024.103092 — 同团队后继大规模数据集(IEEE DataPort)。

§8.6 社区活跃度

  • 论文引用 386+(Google Scholar,截至 2026-09;Scopus 口径 301),引用年份分布持续到 2026,属持续活跃基准。
  • 官方代码仓库(OCTA-Net)自 2020 年维护,附带评测平台与预训练模型;官方页同步维护数据描述。
  • 2023-2024 年仍有 OCT2Former、LA-Net 等新方法在 ROSE 上对标;2025 年综述仍将其列为 OCTA 公开数据集的核心成员。
  • 无官方排行榜网站;"排行榜"以各论文表格 + 本页 §8.1 的转录汇总为准。
  • 引用者跨足眼科影像、神经科学(AD 眼-脑关联)与计算机视觉(分割方法论)三个社区,跨域讨论时注意术语口径差异(SVC/DVC 在眼科文献与 CV 文献中的用法偶有出入)。
  • 提问渠道:官方页给出的发布团队联系方式(yitian.zhao@nimte.ac.cn,学术用途咨询)与 GitHub 仓库 issue 区。

§8.7 生态快照

资源 类型 链接 维护方 推荐理由
ROSE 官方数据页 数据主页 imed.nimte.ac.cn/dataofrose.html iMED-Lab(NIMTE, CAS) 最权威的数据描述与入口
Zenodo 归档 数据下载 DOI: 10.5281/zenodo.12775880 Zenodo / iMED 持久 DOI + CC BY 元数据
OCTA-Net 仓库 代码 GitHub: OCTA-Net-OCTA-Vessel-Segmentation-Network iMED-Lab 官方基线 + 评测平台 + 预训练模型
VAFF-Net 仓库 代码 GitHub: VAFF-Net iMED-Lab 姊妹任务 ROSE-O 的官方实现
OCTA-500 数据集 IEEE DataPort iMED-Lab 更大规模、3D 体积的后继数据集
IEEE TMI 论文页 论文 ieeexplore.ieee.org/document/9284503 IEEE 同行评审版本(PMID: 33284751)

§9 相关资源与引用

§9.1 官方资源

  1. 官方数据页:ROSE — iMED-Lab(数据描述、下载入口、引用要求)
  2. Zenodo 归档:DOI: 10.5281/zenodo.12775880
  3. 官方代码:iMED-Lab/OCTA-Net-OCTA-Vessel-Segmentation-Network(官方页亦以 iMED-Lab/ROSE 链接)
  4. 正式论文:IEEE TMI document 9284503(PMID: 33284751)
  5. 预印本全文:arXiv:2007.05201
  6. 姊妹数据集 ROSE-O 与代码:VAFF-Net
  7. 同团队 OCTA-500:IEEE DataPort 开放获取

§9.2 BibTeX 引用块

@article{ma2021rose,
  title     = {ROSE: a retinal OCT-angiography vessel segmentation dataset and new model},
  author    = {Ma, Yuhui and Hao, Huaying and Xie, Jianyang and Fu, Huazhu and Zhang, Jiong and Yang, Jianlong and Wang, Zhen and Liu, Jiang and Zheng, Yalin and Zhao, Yitian},
  journal   = {IEEE Transactions on Medical Imaging},
  year      = {2021},
  volume    = {40},
  number    = {3},
  pages     = {928--939},
  doi       = {10.1109/TMI.2020.3042802},
  publisher = {IEEE}
}

@dataset{imed2021rose,
  title       = {ROSE: Retinal OCT-Angiography segmentation dataset (ROSE-1 \& ROSE-2)},
  author      = {{iMED-Lab, NIMTE, CAS}},
  year        = {2021},
  publisher   = {Zenodo},
  doi         = {10.5281/zenodo.12775880},
  note        = {Academic research use only; commercial use contact yitian.zhao@nimte.ac.cn}
}

@misc{imed2024octa500,
  title     = {OCTA-500: A retinal dataset for optical coherence tomography angiography study},
  author    = {{iMED-Lab, NIMTE, CAS}},
  year      = {2024},
  journal   = {Medical Image Analysis},
  volume    = {93},
  pages     = {103092},
  doi       = {10.1016/j.media.2024.103092}
}

@article{shit2021cldice,
  title   = {clDice - a Novel Topology-Preserving Loss Function for Tubular Structure Segmentation},
  author  = {Shit, Suprosanna and others},
  journal = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year    = {2021},
  note    = {arXiv:2003.07311}
}

§9.3 引用指南

  • 使用数据:引用 ma2021rose(论文)+ imed2021rose(Zenodo 数据集)。
  • 使用官方代码/预训练模型:同上,并在方法节注明"使用官方评测平台"。
  • 对比他人重评测数字:同时引用原论文与重评测论文(如 COSNet、OCTAve),标明协议差异。
  • 涉及拓扑损失:补充 shit2021cldice。
  • 引用次数等动态数据请标注"截至"日期(本页统一为 2026-09)。
  • 在中文论文中引用时,建议保留数据集英文官方名 “ROSE: A Retinal OCT-Angiography Vessel SEgmentation Dataset” 首次出现,避免与眼科文献中其他 ROSE 缩写混淆(本条目即 OCTA 血管分割数据集,与同名其他含义无关)。

§10 AI 使用声明卡

§10.1 AI 模型列表

  • 千方病案医数集 AI 辅助生产管线(CodeBuddy 编码代理,fast-model):本条目文字初稿、结构组织、代码示例生成。

§10.2 AI 参与范围

  • AI 参与:5 轮 WebSearch 事实检索与综合、章节撰写、代码示例编写、DAIMS 自检表初填、JSON-LD 生成。
  • AI 不参与:医学与数据工程结论的最终裁定(由编辑部交叉审核)、对未核实信息的采纳(检索未覆盖的字段一律省略而非推测)。

§10.3 输入来源列表

  1. Ma, Y., et al. (2021). ROSE: A Retinal OCT-Angiography Vessel Segmentation Dataset and New Model. IEEE Transactions on Medical Imaging, 40(3), 928-939. DOI: 10.1109/TMI.2020.3042802(IEEE 页)
  2. Ma, Y., et al. (2020). ROSE: A Retinal OCT-Angiography Vessel Segmentation Dataset and New Model. arXiv:2007.05201(arXiv)
  3. iMED-Lab. ROSE 官方数据页. https://imed.nimte.ac.cn/dataofrose.html
  4. iMED-Lab (2021). ROSE: Retinal OCT-Angiography segmentation dataset. Zenodo. DOI: 10.5281/zenodo.12775880(记录页)
  5. iMED-Lab. OCTA-Net: OCTA Vessel Segmentation Network. GitHub. https://github.com/iMED-Lab/OCTA-Net-OCTA-Vessel-Segmentation-Network
  6. dbLP 文献条目:MaHXFZYWLZZ21(卷期页码核验). https://dblp.org/rec/journals/tmi/MaHXFZYWLZZ21
  7. PubMed 收录:PMID 33284751. https://pubmed.ncbi.nlm.nih.gov/33284751/
  8. Google Scholar 引用统计(Yitian Zhao 主页条目,cited by 386,截至 2026-09). https://scholar.google.ae/citations?citation_for_view=8mULu94AAAAJ%3AIRz6iEL74y4C
  9. PlumX 指标(Scopus 301). https://plu.mx/plum/a/P4k2kU1K66cVaNd1Z10QgCB_TNvroIwdVlk7UoPE3fo
  10. OCTAve (2022). IEEE TBME. DOI: 10.1109/TBME.2022.3232102(PDF)
  11. COSNet (2022). Retinal OCTA Image Segmentation Based on Global Contrastive Learning. Sensors, 22(24), 9847. https://www.mdpi.com/1424-8220/22/24/9847/htm
  12. Little W-Net (2022). State-of-the-art retinal vessel segmentation with minimalistic models. Scientific Reports. https://pmc.ncbi.nlm.nih.gov/articles/PMC9007957/
  13. OCTA 深度学习综述 (2025). Denoising, segmentation and volumetric rendering of OCTA image using deep learning techniques: a review. arXiv:2502.14935
  14. OCTA-500 数据集页. IEEE DataPort. https://ieee-dataport.org/open-access/octa-500
  15. OpenAIRE 收录的 Zenodo ROSE 系列记录(ROSE-O 与 VAFF-Net 线索). https://explore.openaire.eu/search/result?pid=10.5281/zenodo.12775880
  16. OCT2Former (2023). Computer Methods and Programs in Biomedicine, 233, 107454. PMID: 36921468
  17. LA-Net (2024). Physics in Medicine & Biology, 69(4). PMID: 38237179

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
§0 审核声明与免责 千方病案医学编辑部 逐字对照金标准模板 + ROSE 协议适配复核 ✅ 已通过
§1-§2 概览与医学背景 千方病案医学编辑部 与 IEEE TMI 论文摘要、官方页逐条对照 ✅ 已通过
§3 规格(设备/分辨率/划分数字) 千方病案医学编辑部 官方页 + Zenodo/OpenAIRE 双源核验 ✅ 已通过
§4-§5 数据结构与划分 医疗 AI 数据工程师(编辑部交叉审核) 目录树对照 OCTA-Net 仓库 README 约定 ✅ 已通过
§6 AI 就绪指南与 8 坑点 医疗 AI 数据工程师(编辑部交叉审核) 坑点逐条回溯论文/OCTAve/COSNet 原文 ✅ 已通过
§7 DAIMS 24 项与偏倚 千方病案医学编辑部 逐项对照数据集公开事实,⚠️ 项仅记录"官方未公布" ✅ 已通过
§8 基准数字 医疗 AI 数据工程师(编辑部交叉审核) OCTAve 表 II / COSNet 表 3-4 / Little W-Net 表 7 三源互证 ✅ 已通过
§9-§10 引用与声明 千方病案医学编辑部 BibTeX 与 dbLP/官方页逐字段核对 ✅ 已通过

§10.5 AI 生成章节标注

除本声明卡外,本页全部正文章节由 AI 生产管线起草并经上表人工校验;其中坑点(§6.5)与 DAIMS(§7.7)的分析性结论均标注了可回溯的来源链接,未引入无出处推断。

§10.6 最后人工审核日期

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

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


相关数据集导航

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

  • idrid — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • fairseg — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • refuge — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • chase-db1 — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • hrf — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • e-ophtha — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • octa-500 — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • duke-dme — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • oimhs — 共享标签:医学影像 / 眼科影像 / 医学图像分割
  • drive — 共享标签:医学影像 / 眼科影像 / 医学图像分割

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

返回 AI-Ready 数据集