OCTID (octid) — 光学相干断层扫描视网膜图像库 AI-Ready Wikipedia

加拿大滑铁卢大学 TEEL 实验室 2018 年发布的开放获取 SD-OCT 视网膜图像库:5 类疾病(正常/黄斑裂孔/AMD/CSR/DR)582 张同设备 fovea-centered B-scan,另附 25 张正常图专家手工分层分割金标准与 MATLAB 分割 GUI,全库 CC0 公有领域

来源 Borealis(原 Scholars Portal Dataverse)dataverse/OCTID 七子库:5 个疾病类别图像子库(NO 208/MH 104/AMD 57/CSR 104/DR 109)+ Manual Segmentation 子库(25 jpeg + 25 .mat 分层 GT);Cirrus HD-OCT 采集,raster scan,2mm 扫描长度,逐类独立 DOI发布时间: 2026-09-27最后更新: 2026-09-27 阅读 19
OCTID (octid) — 光学相干断层扫描视网膜图像库 AI-Ready Wikipedia

信息速览

数据集名称OCTID (octid) — 光学相干断层扫描视网膜图像库 AI-Ready Wikipedia
数据类型人工标注,影像数据,原始数据
规模582 张 fovea-centered B-scan(5 类:NO 208 / MH 104 / AMD 57 / CSR 104 / DR 109);患者级数量未披露;分割子集 25 张正常图
接入方式Borealis(原 Scholars Portal Dataverse)dataverse/OCTID 七子库:5 个疾病类别图像子库(NO 208/MH 104/AMD 57/CSR 104/DR 109)+ Manual Segmentation 子库(25 jpeg + 25 .mat 分层 GT);Cirrus HD-OCT 采集,raster scan,2mm 扫描长度,逐类独立 DOI
AI 就绪度

INFOBOX — OCTID 一屏速览

维度 内容
本质 滑铁卢大学 TEEL 实验室的开放获取 SD-OCT 视网膜 B-scan 图像库(非挑战赛、无 leaderboard)
团队 TEEL(Theoretical & Experimental Epistemology Lab),视光学与视觉科学学院;一作 Peyman Gholami,资深作者 Vasudevan Lakshminarayanan
论文 arXiv:1812.07056(2018-12-17 v1 / 2019-05-27 v2);期刊版 Comput Electr Eng 81:106532(2020,Elsevier)
数据 582 张 fovea-centered B-scan(JPEG):NO 208 / MH 104 / AMD 57 / CSR 104 / DR 109
规格 Cirrus HD-OCT(Zeiss)采集,raster scan,2mm 扫描长度,论文口径 512×1024,轴向 5μm / 横向 15μm
附加资产 25 张正常图 专家手工分层 GT(.mat)+ MATLAB 手动/半自动分割 GUI
采集地 印度钦奈 Sankara Nethralaya 眼科医院
差异化 全库同设备同协议可公平比较;CSR(中心性浆液性脉络膜视网膜病变)类目为主流 OCT 库罕见
获取 Borealis dataverse/OCTID,按类 7 条目独立 DOI,无需注册直接下载
许可 CC0 1.0(7/7 子库 API 验证)——比绝大多数医学影像库更彻底的开放
引用 scite 记录 72 条引文(2020-2025);MDPI 综述以 “University of Waterloo Database” 收录
库内互链 oct2017(rid 311)、octa-500(rid 341)、octdl(rid 690)、idrid(rid 191)、refuge(rid 62)

OCTID 是一个"小而干净"的眼科影像数据集样本:582 张视网膜 OCT(Optical Coherence Tomography,光学相干断层扫描)B-scan,全部来自同一台 Zeiss Cirrus HD-OCT、同一种扫描协议、同一个采集医院,按五类视网膜状态整整齐齐分好——正常、黄斑裂孔、年龄相关性黄斑变性、中心性浆液性脉络膜视网膜病变、糖尿病视网膜病变。它没有挑战赛的光环,没有十万张的体量,却把"跨类别可比性"这件大多数 OCT 大库做不到的事做到了极致,并且以 CC0(公有领域贡献)许可发布——在医学影像数据集的许可光谱里,这几乎是最彻底的开放等级。

它的第二张面孔是"分层分割基准":25 张正常眼 OCT 图附带一位资深临床医生手工勾勒的视网膜逐层边界金标准(MATLAB .mat 文件),配套一个手动/半自动分割 GUI。这让 OCTID 同时覆盖了"按疾病分类"与"逐层分割"两类任务——前者是主流用法,后者是它区别于纯分类库的技术纵深。

导语读法三则:

  1. 只想下数据:直奔 §4 获取与许可——Borealis 主条目本身只有一个 PDF,图像分散在 6 个子库里(坑 1),按类独立 DOI 下载。
  2. 关心规模与口径:直奔 §2.1 规模三口径对照——582(实抓)/572(第三方)/>500(论文)三个数字并存,引用前先定口径。
  3. 做分层分割:直奔 §3.3 Manual Segmentation——25 张图 + .mat 边界 + GUI 的用法与限制。

检索者速记三行(带着这三句走,90% 的坑已避开):主条目只有 PDF,数据在 6 个子库;数字引用写"582(Borealis 实抓 + 日期)";AMD 子库文件前缀是 AMRD。

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

OCT 是眼科临床的常规断层成像手段:用近红外低相干光对视网膜做横截面扫描,能分辨出十层左右的视网膜微结构,是黄斑疾病与糖尿病视网膜病变(Diabetic Retinopathy,DR)诊断与随访的一线工具。深度学习方法进入这一领域时,首先撞上的不是算法问题,而是数据问题——2018 年前后公开可用的 OCT 图像库大多有至少一条"硬伤":要么规模太小,要么只含正常眼,要么聚焦单一疾病,要么各库之间设备、分辨率、视野范围互不相同,导致算法跨库比较基本失真。OCTID 论文引言把这个问题点得很直白:研究者需要的是同一设备、同一协议、覆盖多种眼部状态的图像库,用来公平地评估分割与分类算法。

OCTID 的回答是"标准化的小而全":从印度钦奈 Sankara Nethralaya 眼科医院的 Cirrus HD-OCT volumetric scan(体扫描)中,每例由一位资深临床视光师(MKP)挑选一张 fovea-centered(中心凹居中)B-scan,按临床诊断归入五类。每一张图都经过同样的筛选规则、同样的设备、同样的扫描参数(raster scan,2mm 扫描长度),因此类别之间的差异反映的是疾病本身而不是采集差异——这是它作为算法评估基准的核心设计。

第二层回答是"给出可评测的分割金标准":25 张正常眼图附带逐层手工分割(.mat 文件存边界),并由同一位临床医生完成;配套 GUI 支持手动与半自动两种重分割模式,既是金标准的校验工具,也是面向临床新手的教学工具。

先补 30 秒成像背景(非影像背景读者够用版):OCT 用近红外低相干干涉光测深——一束光射入视网膜,不同深度结构反射回来的光程不同,干涉仪据此重建出一条"深度方向反射率曲线";横向扫一行、深度走一列,就得到一张二维横截面(B-scan),图像纵轴是深度(约 2-3mm 组织)、横轴是横向位置。OCTID 采用的谱域实现(SD-OCT,Spectral-Domain)一次曝光取全深度谱,速度快、灵敏度均匀,是 2010 年代后的临床主流。B-scan 上正常视网膜呈十层左右的明暗交替条带(ILM 到 RPE/脉络膜),疾病改变这些条带的形态(水肿增厚、缺损、下积液)——"分类"读的是整体形态,"分层分割"抠的是条带边界,这正是 OCTID 两个任务共享的解剖基础。Cirrus HD-OCT 的 2mm raster 扫描长度意味着每张 B-scan 覆盖黄斑中心周围 2mm——视野窄、细节足,这也是"小而精"路线在物理层面的根源。

§0 读法三则:

  1. 这个条目覆盖"分类+分割"双任务:582 张五类图是分类任务的本体,25 张带分层 GT 的正常图是分割任务的金标准子集——两者规模、用途、引用方式都不同,别混为一谈(§3)。
  2. 全文规模数字以 Borealis API 实抓为准(582 张);论文口径与第三方口径的分歧已在坑 2/坑 3 存照,自动化抽取请指定官方库实抓数。
  3. OCTID 不是挑战赛数据集,没有 leaderboard 与"冠军方案"叙事——它的生态位置是"算法评估基准+跨库对照锚点"(§5、§7)。

§1 数据集速览:十问十答

Q1:OCTID 有多少张图?
官方 Borealis 库实抓 582 张 JPEG:正常 208、黄斑裂孔(MH)104、AMD 57、CSR 104、DR 109。论文 abstract 只说"超过 500 张";第三方文献有按 572 张引用的记录(每类比实抓少 2 张)。三个口径详见坑 2。

Q2:图像是怎么来的?
印度钦奈 Sankara Nethralaya 眼科医院的 Zeiss Cirrus HD-OCT 采集。每例 volumetric scan 中由资深临床视光师 MKP 挑一张 fovea-centered B-scan 入库——即每张图都是"扫描体积中穿过黄斑中心凹的那一帧",而非整卷。轴向分辨率 5μm、横向 15μm(组织内),扫描长度 2mm。

Q3:分辨率到底是多少?
论文口径 512×1024 像素(Cirrus B-scan 原生规格)。但至少两个独立复用方实测导出的 JPEG 是 750×500(或 500×750)灰度图——官方 JPEG 导出可能经过缩放(坑 4)。做像素级实验前先量一下你手里那份文件的尺寸。

Q4:五类分别是什么病?
正常(NO)、黄斑裂孔(Macular Hole,MH)、年龄相关性黄斑变性(Age-related Macular Degeneration,AMD)、中心性浆液性脉络膜视网膜病变(Central Serous Retinopathy,CSR)、糖尿病视网膜病变(DR)。其中 CSR 在 OCT2017 等主流大库中没有——这是 OCTID 的差异化类目。

Q5:标注是谁做的?
分类标签继承自 Sankara Nethralaya 的临床诊断(图像提供方),不是独立双盲重标注;25 张正常图的分层分割由资深临床医生 MKP 一人手标,无多人重复标注协议。这是"临床遗产型标注"而非"研究级双标型标注"(§3.4)。

Q6:有没有患者信息?
没有。官方不提供人口学元数据,也没有患者-图像映射表(文件名中偶见 OD/OS 即右眼/左眼痕迹,但无对照说明)。因此不能做患者级分层分析,也不能假设"582 张=582 个患者"。患者数整体未披露(坑 8)。

Q7:怎么下载?
Borealis(borealisdata.ca)dataverse/OCTID,七个条目各持独立 DOI,无需注册即可整库或按类下载 zip。Harvard Dataverse 有一个论文声明的镜像(doi:10.3886/E108503V1),但匿名访问受限,别把它当主渠道(坑 7)。

Q8:许可是什么?
CC0 1.0(公有领域贡献)——主条目与六个子库共 7 个 Dataverse 条目全部经 API 验证为 CC0。注意 arXiv 论文本体是 nonexclusive-distrib 许可,别把论文许可与数据许可混引(坑 6)。

Q9:它和 OCT2017 怎么选?
要规模和病种覆盖广度(CNV/DME/drusen/normal 8 万+)选 OCT2017;要同设备同协议的公平比较、要 CSR 类、要干净的跨类对照选 OCTID。两者不是竞争关系而是互补关系(§7.2),自监督预训练工作常把两者联用。

Q10:为什么它对 AI-Ready 重要?
它是"许可满分、元数据中等、规模小而精"的光谱左端样本:CC0 + 公开直链 + 独立 DOI 让机器可获取性拉满;但患者元数据缺失、标签口径不一、无版本化 changelog 提醒我们——开放许可不等于 AI-Ready 全部(§6)。

§2 数据构成与规格

2.1 规模三口径:582 / 572 / >500

OCTID 的规模数字是本条目最需要"先定口径再引用"的部分。三个来源给出三个数字:

口径 来源 总量 NO MH AMD CSR DR
Borealis API 实抓(2026-09-27) 官方发布库文件清单 582 208 104 57 104 109
第三方引用口径 scite 收录的某研究引用 572 206 102 55 102 107
论文 abstract 口径 arXiv:1812.07056 摘要 “>500” — — — — —
论文正文结构节 arXiv v2 §2 Database structure 470(仅 4 类) 206 102 55 — 107

三处分歧的模式很清楚:第三方口径恰好每类比实抓少 2 张(208→206、104→102、57→55、104→102、109→107),更像是从某个早期快照或下载包统计;论文正文只列了 4 类数字、恰好漏了 CSR——而 CSR 在 Borealis 里有独立的 104 张子库。本条目正文一律按 Borealis 实抓 582 引用,其余口径仅作对照存照(坑 2、坑 3)。自动化抓取建议:以 https://borealisdata.ca/api/datasets/:persistentId?persistentId=doi:10.5683/SP/WLW4ZT 等 6 个 API 端点的 files 数组为准,数 JPEG 扩展名文件。

实抓方法学备忘(复现本条目口径时照做):抓取端点为 Borealis 标准 Dataverse REST API(匿名可访问),每个子库一次 GET;计数规则为 data.latestVersion.files 数组中扩展名为 .jpeg/.jpg 的条目——Manual Seg 子库另有 25 个 .mat(GT,单列)与少量非数据文件,不计入图像数;抓取时点(2026-09-27)随数字一同记录,未来官方若发 V2,新旧口径以日期区分。这一套"端点+计数规则+时点"三要素是跨时点数字可比性的最低配置,缺一不可。

2.2 采集规格与设备

属性 规格
设备 Cirrus HD-OCT(Carl Zeiss Meditec, Dublin, CA)
扫描协议 raster scan(栅格扫描),2mm 扫描长度
入库规则 每例 volumetric scan 取一张 fovea-centered B-scan(由资深临床视光师 MKP 挑选)
像素规格 论文口径 512×1024(第三方复用实测 750×500,坑 4)
轴向分辨率 5 μm(in tissue)
横向分辨率 15 μm(in tissue)
文件格式 JPEG(按类打包 zip)
采集医院 Sankara Nethralaya (SN) Eye Hospital,印度钦奈

"每例取一帧 fovea-centered"这个设计值得展开:临床 OCT 检查一次产生一整个体积(几十到上百帧 B-scan),其中真正穿过黄斑中心凹的那一帧携带最多诊断信息。OCTID 放弃了体积冗余、保留了诊断核心帧,好处是 582 张图内部没有"同一病灶的近重复帧"问题(对比:某些 Kaggle 眼科库的近重复帧污染),代价是放弃了体积数据可以做的一切(如层间平滑、三维重建)。每帧由资深临床视光师确认中心凹居中,这本身就是一个质量控制步骤。

2.3 子库结构与文件命名

Borealis dataverse/OCTID 下共 7 个条目(全部 2018-12-19 发布、V1 版本、CC0 许可):

子库 DOI 内容 文件名模式
OCTID citation(主条目) 10.5683/SP2/W43PFI 仅 1 个 PDF(382.1 KB,论文预印本) —
Normal Retinal OCT images 10.5683/SP/WLW4ZT 208 张正常眼 NORMAL1.jpeg…NORMAL208.jpeg
Macular Hole Retinal OCT images 10.5683/SP/MBMQGD 104 张 MH MH1.jpeg…
Age-related Macular Degeneration 10.5683/SP/YEM3RA 57 张 AMD AMRD1.jpeg…(前缀 AMRD,坑 5)
Central serous retinopathy 10.5683/SP/FVLZIL 104 张 CSR CSR1.jpeg…
Diabetic Retinopathy 10.5683/SP/FLGZZE 109 张 DR DR1.jpeg…
Manual Segmenation(原站拼写) 10.5683/SP/UIOXXK 25 jpeg + 25 .mat “06 OS - Copy.jpeg” + “…jpeg_octSegmentation.mat”

三条抓取注意事项:

  1. 主条目 ≠ 数据本体。主条目(OCTID citation)只挂了论文 PDF——不少综述引用主条目 DOI 就以为"下到了数据",实际图像全在 6 个子库里(坑 1)。
  2. AMD 前缀是 AMRD。写脚本按 AMD*.jpeg glob 会得到 0 张,正确前缀是 AMRD(坑 5)。
  3. Manual Segmenation 是原站拼写(Segmenation 少了 ti 两个字母),检索子库时按官方拼写才能命中;子库内文件名含空格与 “- Copy” 后缀(macOS 拷贝痕迹),解析时要处理(§3.2)。

2.4 CSR 类目:OCTID 的差异化资产

中心性浆液性脉络膜视网膜病变(CSR,Central Serous Retinopathy)在 OCTID 的五类里常被一笔带过,但它恰恰是这套库在数据集景观里最稀缺的一块:主流大规模 OCT 库(OCT2017 的 CNV/DME/drusen/normal 四类)不含 CSR,其他公开库也极少以独立类目收录。CSR 的 OCT 特征是视网膜神经上皮层下浆液性脱离(论文展示了从轻到重的分期样本),好发于中年男性、常与精神压力和糖皮质激素相关,临床鉴别诊断中与 AMD 的渗出表现有交叉。

对建模者的含义有三条:

  1. 做 CSR 相关研究时,OCTID 的 104 张几乎是公开域里的主要选择之一——这个规模的类目做二分类微调可行,做从头训练不足。
  2. 跨库疾病谱对齐:OCTID(NO/MH/AMD/CSR/DR)与 OCT2017(CNV/DME/drusen/normal)只有"正常"和部分 AMD/CNV 重叠,CSR 类无法跨库对齐——联合训练时类别空间要重新设计。
  3. CSR 的轻微期与 AMD 早期在 B-scan 上形态学接近,论文 Fig 6 专门展示了 CSR 轻重两期样本——用 OCTID 做 CSR/AMD 鉴别时轻症 CSR 是最难的部分。

2.5 与主流 OCT 库的规格对照

库 规模 设备/协议 类目 分割 GT 许可
OCTID(2018) 582 张单帧 Cirrus HD-OCT 统一协议 5 类(含 CSR) 25 张分层边界 CC0
OCT2017(2018) 8 万+ 裁剪图 多设备混合 4 类(无 CSR) 无 CC BY-NC-ND 口径
Srinivasan 2014 3,231 帧 Spectralis 3 类(AMD/DME/normal) 无 学术可用
AROI(2021) 3,200 B-scan / 25 例 Zeiss Cirrus 4000 多病理像素级 全量像素级 申请制
OCTA-500(2020) 500 例 3D 体 OCTA 设备 血流成像 血管分割 学术申请

OCTID 在表里的位置是"规格最统一、许可最开放、规模最小"。这个位置的实用价值在于:它适合做方法学对照实验(消融、可解释性、域偏移分析这类对数据一致性敏感的研究),而不是刷榜式的规模竞赛。

2.6 五类子库逐类画像

以下画像基于 Borealis API 实抓(2026-09-27)的文件清单与文件大小,配合论文与临床背景综合整理:

NO(正常,208 张)——对照组的最大类

  • 文件名 NORMAL1.jpeg 至 NORMAL208.jpeg,单文件约 79-84 KB(实抓样例 80523-83381 字节)。
  • 正常眼占全库约 35.7%,是最大类——五类任务的"多数类"由它担当,类不平衡讨论(§5.3)主要围绕它与最小类 AMD 的 3.6:1 比例。
  • 建模提示:正常类内部的层间结构一致性高,是层分割方法验证(配合 25 张 GT)与"病类→正常"异常检测设计的天然参照。
  • 注意:25 张分割 GT 全部出自该类——正常类因此是全库唯一有像素级监督的类。

MH(黄斑裂孔,104 张)——形态变化最"锐利"的类

  • 文件名 MH1.jpeg 起,单文件约 68-74 KB(实抓样例 68963-73981 字节)。
  • 黄斑裂孔在 B-scan 上表现为中心凹区全层或部分层的组织缺损,边界锐利、形态特征明显——对小样本分类器而言是"最容易学到判别特征"的类之一。
  • 临床背景:老年女性多见,玻璃体黄斑牵拉是主要机制,手术(玻璃体切除+气体填充)预后与病程相关。
  • 建模提示:MH vs NO 的二分类是该库上最常见的 sanity check 实验——如果模型连这都分不动,先查数据管线而不是调参。

AMD(年龄相关性黄斑变性,57 张)——最小类 + 检索坑

  • 文件名 AMRD1.jpeg 起(前缀坑 5),单文件约 100-117 KB(实抓样例 104436-116180 字节)——是五类中单文件体积普遍最大的一类,可能反映病变更复杂/内容更"满",官方未解释,仅作工程观察记录。
  • 57 张是全库最小类:与 NO 的 3.6:1 差距要求分层抽样与平衡指标(macro-F1);从头训练少样本类极易过拟合。
  • 临床背景:AMD 是老年致盲首因;干性(玻璃膜疣)与湿性(CNV 新生血管)谱系宽——OCTID 未细分干湿,标签粒度是"病"而非"亚型"。
  • 跨库提示:OCT2017 的 CNV/DME 类目与 AMD 有临床重叠但类目体系不同(CNV≈湿性 AMD 的表现),跨库映射要按附录 M 的对照表做,别直接当同类合并。

CSR(中心性浆液性脉络膜视网膜病变,104 张)——稀缺类目 + 异质性类

  • 文件名 CSR1.jpeg 起,单文件约 69-105 KB(实抓样例 69321-104621 字节,波动大——与轻重分期混布一致)。
  • 论文 Fig 6 专门展示了轻症与重症两期样本——类内异质性是五类中最高,做 CSR 研究建议先目检或聚类分桶再建模。
  • 临床背景:中浆好发于中年男性,与精神压力、糖皮质激素使用相关,多数自限但易复发;OCT 征象为神经上皮层下浆液性脱离。
  • 战略价值:这是 OCTID 在数据集景观中最稀缺的供给——主流大库(OCT2017 等)没有 CSR 独立类,相关研究可选项极少。

DR(糖尿病视网膜病变,109 张)——跨模态研究的关键供给

  • 文件名 DR1.jpeg 起,单文件约 66-104 KB(实抓样例 66581-104259 字节)。
  • 临床背景:糖尿病人群的微血管并发症,眼底筛查刚需;OCT 侧的典型征象是糖尿病黄斑水肿(DME,层间囊样积液)与硬性渗出——OCTID 未单列 DME 亚型。
  • 跨模态价值:与库内 idrid(眼底彩照 DR 分级,rid 191)构成"同一疾病、两种模态"的对——fundus 看微血管瘤/出血点,OCT 看层间水肿,多模态 DR 研究两条腿都要。
  • 建模提示:DR 类与 NO 的区分在轻症端依赖细微层间变化,是五类任务里真正难的部分;评估时把 DR 的混淆矩阵单拎出来看。

Manual Segmentation(25 图 + 25 mat)——正常眼专属的分割纵深

  • 文件名模式 “编号 + OD/OS + 可选 macula 标记 + ‘- Copy’”(如 “06 OS - Copy.jpeg”、“10 macula - Copy.jpeg”),对应 “_octSegmentation.mat” 边界文件。
  • 全部为正常眼——这是它的能力边界:病态层的分割不覆盖(§3.2)。
  • 文件名里的 OD/OS 成对现象(如 69 OD 与 69 OS 同时在列)提示同受检者双眼可能分别成图——患者级独立性分析的唯一线索(坑 8)。

2.7 文件级工程观察汇总

观察 数值/事实 建模含义
总文件数(数据文件) 582 类别图 + 50 分割文件(25 jpeg+25 mat) 解析脚本按扩展名分流
单文件大小范围 约 66-117 KB 全库体量约 50 MB 量级——zip 直下即可,无需分块
类间大小差异 AMD 类单文件普遍偏大(~100-117 KB) 无官方解释;按工程观察记录,不作医学推断
命名规范度 类内连续编号(NORMAL1-208);分割子库为自由命名 类别图可按编号确定完整性;分割子库需清单核对
完整性校验 无官方 md5/校验和清单 建议下载后按 API files 清单做文件数与大小比对

§3 任务与标注体系

3.1 双任务定义

OCTID 官方声明的用途覆盖两类任务:

任务 数据 监督形式 典型用法
五类疾病分类 582 张(NO/MH/AMD/CSR/DR) 类别标签(继承临床诊断) CNN 分类、迁移学习基准、特征可视化
视网膜分层分割 25 张正常图 + .mat 分层边界 逐层边界 GT(单专家手标) 分割算法评估、边界检测、半自动分割研究

两任务的数据不重叠使用是默认姿势:分类任务的 582 张里包含 208 张正常图,而分割 GT 只覆盖其中 25 张(25 张正常图即来自正常类子库,第三方复用者称对应 25 位健康受检者,官方未确认 1:1 关系——坑 8 存照)。论文自己给出的用法定位是"评估分割与分类算法的性能"——注意是评估而非大规模训练:582 张的体量从头训练深度网络不足,官方基线也正是按"经典方法为主、迁移学习为辅"设计的(§5.2)。

3.2 分割金标准:25 张、逐层边界、.mat 格式

Manual Segmentation 子库的构成(API 实抓):

  • 25 张正常眼 JPEG:文件名如 “06 OS - Copy.jpeg”、“10 macula - Copy.jpeg”、“105 OD - Copy.jpeg”——编号 + OD/OS(右眼/左眼)+ “macula”(黄斑居中)标记 + macOS 拷贝产生的 “- Copy” 后缀。
  • 25 个 .mat 文件:文件名模式为 <原文件名>_octSegmentation.mat,内容为逐层边界的坐标数据。MATLAB load 后即可读出各边界点的位置序列。
  • 配套论文 Fig 7 的 GUI 截图可见边界命名采用 ILM、ISOS、RPE 等视网膜层间界面缩写;第三方复现者按 8 层结构使用(NFL / GCL+IPL / INL / OPL / ONL / Ellipsoid zone / RPE / Choroid)。

金标准的三条使用注意:

  1. 单专家手标、无重复标注协议:GT 由一位资深临床医生(MKP)完成,论文未提供观察者间变异度量——用它报告 Dice/边界误差时,"金标准本身的方差"是未知量,宜在论文中声明这一局限。
  2. 只覆盖正常眼:25 张全部来自健康视网膜。病态视网膜(MH/AMD/CSR/DR)的分层形变恰恰是分割的难点——OCTID 的分割 GT 回答不了"病变层分割"问题,那是 octdl 等库的领域(§7.1)。
  3. 文件名的空格与特殊字符:批量读入时注意 " - Copy.jpeg" 这类后缀与空格,建议脚本里做文件名规范化。

GT 覆盖的层结构速览(配合论文 GUI 截图与第三方复现口径):正常视网膜自内向外依次为玻璃体-ILM(内界膜)-NFL(神经纤维层)-GCL+IPL(神经节细胞+内丛状)-INL(内核层)-OPL(外丛状层)-ONL(外核层)-ELZ(外界膜)-EZ/ISOS(椭球带/内外节交界)-RPE(色素上皮)-脉络膜。十层条带在正常眼 B-scan 上呈连续平滑的波浪状明暗带,中心凹处 NFL 以下各层轻微下陷——这正是 25 张 GT 所刻画的"标准形态"。两条建模含义:其一,正常层边界的"波浪"是平滑先验极强的任务,经典方法(DP+活动轮廓)与现代方法(带形状正则的深度模型)都吃这个先验;其二,EZ/ISOS 这类低对比边界的标注误差天然偏大,单专家 GT 在这里的方差要重点怀疑——评测时按边界分层报告误差(附录 L),别只给全层均值。

3.3 MATLAB 分割 GUI:半自动协议的官方实现

论文随库发布了一个 MATLAB GUI,功能三块:

  1. 边界列表选择:下拉框列出所有层间界面,选中哪层就编辑哪层。
  2. 手动模式(manual):鼠标点击逐点重画整条边界。
  3. 半自动模式(semi-auto):只修正自动分割出错的区段,其余沿用——这是典型的"人机协同"标注协议设计。

这个 GUI 的意义超出"附赠工具":它是作者方法学(活动轮廓 + 动态规划初始化)的交互式封装,即官方自动分割结果的可视化与修正入口。复现作者基线(§5.2)的研究者可以借它核对边界定义;临床新手可以用它学习 OCT 分层。局限也明显:MATLAB 专属、无 Python 替代、无跨平台打包——2026 年的复现者多半要自己写 .mat 读取(scipy.io.loadmat 即可)。

3.4 标注性质:临床遗产型 vs 研究级双标型

把标注协议放回标注方法学光谱里看:

维度 OCTID 研究级双标型(如 AROI 双标)
标签来源 采集医院临床诊断直接继承 独立标注协议、按指南重判
标注人数 分割 1 人(资深);分类 0(继承) 分割 2 人+仲裁
一致性报告 无 观察者间 κ/Dice 常规报告
优势 零额外标注成本、标签与临床实践对齐 可量化标签方差、支持不确定性建模
风险 医院诊断错误直接进入数据集;无方差度量 成本高、规模受限

这不是贬低 OCTID:它的定位本就是"临床遗产数据的标准化整理",标签继承临床诊断在"研究临床对齐"意义上反而是优点。使用者的正确姿势是:把分类标签当作"临床诊断级"而非"金标准级"监督,在报告结果时注明标签来源;把分割 GT 当作"单专家参考"而非"共识金标准"。

3.5 数据质量与已知问题

官方在论文中披露的限制不多,以下综合官方与第三方口径:

  1. 近重复问题未见官方讨论:因为每例只取一帧 fovea-centered,同例近重复的风险比"整卷入库"的库小;但同一患者的双眼(OD/OS)可能各自成图,官方未提供患者映射,跨图独立性无法验证。
  2. CSR 分期混布:CSR 子库含轻重两期(论文 Fig 6),类内异质性大于其他类——做 CSR 相关分析时建议先做分期聚类或目检分桶。
  3. JPEG 压缩:官方以 JPEG 分发(非 PNG/TIFF),压缩伪影在低对比度层间边界处可能影响精细分割评测——用前可量化 SSIM 损失。
  4. 无官方 train/test 划分:库没有自带切分,复现者各自划法不一,跨论文分数不可直接比较——这是"无 leaderboard 数据集"的通病,横向对比时只认同一划法的数字。

3.6 标注劳动结构复盘:一个人、两条劳动线

把 OCTID 的标注劳动摊开看,会发现它是一条极简的"单点依赖"结构:

劳动线 执行者 劳动内容 依赖深度
选帧 MKP(资深临床视光师) 从每例 volumetric scan 中确认并选出 fovea-centered 帧 临床判断——全库一致性的第一道闸
分类标签 Sankar a Nethralaya 临床侧 疾病诊断随图像"自带",零额外标注劳动 采集医院的诊断质量
分割 GT MKP 25 张正常图逐层手工勾勒 单人专家劳动——GT 的天花板与方差来源
GT 工具化 作者团队 MATLAB GUI 封装手动/半自动修正 工程劳动

这套结构的三点启示:

  1. 选帧是隐形标注:每例挑一帧 fovea-centered 本身就是一个临床判断任务(判断哪帧过中心凹),论文把它算作采集流程而非标注流程——但它实质上决定了全库的"视角一致性"。复现"OCTID 式小库"时,这笔劳动预算常被低估。
  2. 单点依赖的风险与收益:分割 GT 只有 MKP 一人——收益是风格一致(无多标注者融合噪声),风险是系统性偏差无制衡(无第二人交叉验证)。使用 GT 报告分割指标时,应表述为"与该专家标注的一致性"。
  3. 零标注成本的分类标签是双刃剑:582 张的标签"白拿"自临床诊断,成本优势明显;但诊断分歧(如早期 AMD vs 正常、轻症 CSR)被原样固化进数据——分析类间混淆时,先把"标签不确定性"列为候选解释。

§4 获取与许可:CC0 之下还有哪些门

4.1 渠道总表

渠道 入口 内容 门槛 状态(2026-09-27 抓取)
Borealis(主渠道) borealisdata.ca/dataverse/OCTID 7 条子库全量数据 无(免注册直下) ✅ 活跃,各条目 V1
Harvard Dataverse(镜像) doi.org/10.3886/E108503V1 论文声明的镜像版本 匿名访问受限(页面 JS 渲染、API 拒绝 guest) ⚠️ 存在性按论文存照
arXiv(论文) arxiv.org/abs/1812.07056 论文本体(v1/v2) 无 ✅ 活跃
Elsevier(期刊版) doi.org/10.1016/j.compeleceng.2019.106532 Comput Electr Eng 81:106532 付费墙 ✅ DOI 验证有效

主渠道的操作路径:进入 Borealis dataverse/OCTID 主页 → 页面列出 7 个子数据集卡片 → 点入目标类别 → 右上 Download zip(整类打包)或逐文件下载;也可走 API 脚本化(附录 C 骨架)。各子库独立 DOI 意味着引用粒度可以到"类"——比如只用了 CSR 子库的研究可以只引 CSR 条目 DOI,但更稳妥的引用方式是主条目 DOI + 论文(官方在主条目描述里给出的建议引用格式即 arXiv/期刊论文)。

4.2 CC0 1.0:许可光谱的最开放端

OCTID 的 7 个 Dataverse 条目(主条目 + 6 子库)全部挂 CC0 1.0(Creative Commons Public Domain Dedication)——2026-09-27 经 API 逐一验证。CC0 的实际含义:

  1. 无署名义务:法律上不要求署名(CC-BY 要求 attribution,CC0 连这条都不要)。但学术伦理上仍应引用论文与数据 DOI——这是惯例而非法律义务。
  2. 无使用领域限制:商业用途、衍生数据集再分发、模型权重的许可传递链都不受数据许可约束——这与 OCT2017 的 CC BY-NC-ND(禁商用+禁衍生再分发)形成鲜明对比。
  3. 无"研究用途"限定:不需要签 EULA、不需要说明用途、不需要机构背书。

在库内 AI-Ready 评估的"许可明确性"维度上,OCTID 是天花板级别。一个容易被忽略的细节:arXiv 论文本体的许可(nonexclusive-distrib 1.0)与数据许可(CC0)是两回事(坑 6)——论文 PDF 不能像数据那样自由再分发,期刊版(Elsevier)更要走付费墙。引用时"数据按 CC0、论文按其各自许可"分开声明。

CC0 三个高频误区(合规审查时反复被问):

  1. “CC0 = 不用引用”——错。法律义务与学术伦理要分开:CC0 免除的是署名的法律义务,学术写作中不引数据来源仍属学术不端。正确姿势:照引(附录 H 模板),且引用是零成本的。
  2. “CC0 数据训练的模型自动 CC0”——不成立。模型权重许可是模型许可问题,数据 CC0 只保证数据层无约束;模型许可证(如 Apache-2.0/MIT/自定)由发布者另定。
  3. “CC0 可以不标注数据来源做商业产品”——法律上可以,产品伦理上建议披露。医学 AI 产品审查(监管/医院采购)必然追问数据来源,披露记录从第一天就要建。

误区之外还有一个边界提醒:CC0 覆盖的是OCTID 发布的这 582+25 份数据文件本身;如果使用者拿它做了衍生标注(社区自标的 mask 等),衍生品许可由衍生者自定——引用他人衍生品时先查其许可,别被"基于 CC0 数据"误导成"衍生品也是 CC0"。

4.3 Harvard 镜像的定位与陷阱

论文 v2 正文写明数据"available at http://doi.org/10.3886/E108503V1 and at https://dataverse.scholarsportal.info/dataverse/OCTID"——两个渠道并列。2026 年视角下的实测状态:

  • Harvard Dataverse 的 E108503V1 页面依赖 JS 渲染(静态抓取只见 “Loading”),匿名 API 访问返回 “User :guest is not permitted”——内容构成无法脚本化验证。
  • Borealis(Scholars Portal Dataverse 的新名字)完全开放,API 与页面均可匿名访问。

结论:主渠道锁定 Borealis,Harvard 镜像仅作存在性存照(坑 7)。文献里两条 DOI 都会出现——引用别人论文时看到 Harvard DOI 不必惊讶,但自己取数别走那条路。另外 Scholars Portal Dataverse 的旧域名(dataverse.scholarsportal.info)会跳转到 borealisdata.ca,老论文里的旧链接仍可达(平台更名注意,坑 9)。

4.4 版本链与时间线

2018-12-17  arXiv v1 提交(382 KB)
2018-12-19  Borealis dataverse/OCTID 上线:7 子库全部 V1
2019-05-27  arXiv v2(541 KB):正文补 750×500 无关修订,结构节仍缺 CSR 数字
2019 年     Harvard Dataverse 镜像上线(doi:10.3886/E108503V1)
2020        期刊版发表:Computers & Electrical Engineering 81:106532(Elsevier)
2018→2026   Borealis 各子库维持 V1 未再更新(抓取时点观察)

值得注意的时间倒挂:数据发布(2018-12-19)早于 arXiv v2(2019-05-27)——作者先挂库再修论文,v2 的修订没有回写到数据(Borealis 至今 V1)。这也解释了为什么论文正文的类别数字与库内实抓数对不上:论文写的是写作时点的统计,库是活的。反过来,"数据 V1 恒定"对复现者是好消息:六年无版本漂移,跨年实验可比。

4.5 AI-Ready 视角的获取评估

以库内 AI-Ready 检查单过一遍获取环节:

  • 机器可读入口:Borealis API(Dataverse 标准 REST API)支持元数据与文件清单的程序化获取——良好。
  • 公开直链:全部子库免注册下载——满分。
  • 许可:CC0 1.0 全覆盖——满分。
  • 版本化:单版本 V1 + 论文版本链——中等(无 changelog,但六年不变即无漂移)。
  • 格式:JPEG + .mat——通用,但 .mat 需要 scipy/MATLAB 读取,无官方 Python 加载器。
  • 元数据完备度:患者级信息缺失、划分缺失——主要失分项。

综合:获取与许可环节是 AI-Ready 满分模板,元数据环节是主要短板。这个组合在库内属于"低门槛高透明"型——适合作为许可开放度的对照锚点(§6.4)。

4.6 十分钟下载实操路径

按顺序执行,从零到本地可用数据:

  1. 进入主 dataverse:浏览器打开 https://borealisdata.ca/dataverse/OCTID——页面列出 7 张子库卡片(1 主条目 + 6 子库)。认准卡片标题里的疾病名,主条目(OCTID citation)只有 PDF(坑 1)。
  2. 按类下载:点入子库 → 右上 “Access Data” → “Download Zip”(整类打包)。五个类别子库 + Manual Segmentation 各下一次;全库合计约 50 MB 量级(§2.7),一次拿完。
  3. 校验完整性:对照 API 文件清单核对文件数(附录 C 骨架)——Borealis 无官方校验和,文件数+大小比对是唯一校验手段。
  4. 文件名规范化:分割子库文件名含空格与 " - Copy" 后缀,先跑一遍重命名脚本(去空格、统一小写)再入管线。
  5. 实测分辨率:img.size 一行确认你拿到的 JPEG 尺寸(512×1024 还是 750×500)——把它写进实验记录,后续所有 resize 决策基于实测值(坑 4)。
  6. 记录口径:在实验日志里记下抓取日期与文件计数(582 口径的来源),引用与复现都以此为准。

常见失败模式两则:用 AMD*.jpeg glob 得 0 张(前缀是 AMRD,坑 5);走 Harvard 镜像 DOI 卡在登录墙(切回 Borealis,坑 7)。

§5 评估、基线与复用生态

5.1 官方基线:从硕士论文来的两条线

OCTID 没有挑战赛意义上的 leaderboard,官方基线出自一作 Gholami 的滑铁卢硕士论文(UWSpace 收录)与同组 SPIE 前期工作:

分割线:

  1. 预处理:小波去噪(小波域降噪降低散斑噪声影响)。
  2. 初始化:Viterbi 动态规划找初始层边界(利用 OCT 分层结构强先验)。
  3. 精化:Chan-Vese 无边缘活动轮廓 + 自适应加权边界能量项,把初始曲线收敛到精确边界。
  4. 评估:对 25 张金标准报告各边界误差(mean±std)。

分类线:

  1. 特征工程版:LBP(Local Binary Pattern,局部二值模式)纹理描述子 + 多阶段 SVM(MSVM)。
  2. 深度版:AlexNet/GoogLeNet/ResNet 迁移学习 + 数据增强消融。
  3. 消融:去噪(WNNM 类方法)对分类准确率的影响、各深度架构的计算成本对照。

论文对深度基线的一个诚实观察:在不做增强的小数据上,深度模型容易过拟合;增强与迁移学习把分类准确率拉起来——这正是 582 张体量下的标准叙事,也预示了 OCTID 的最佳用法是"预训练模型的下游微调/评测集"而非"从头训练的训练集"。

官方基线结果的读法:这套基线是 2018 年的方法学快照——经典方法(LBP+MSVM、活动轮廓)在当时的意义是"给深度模型一个非深度参照";迁移学习部分(AlexNet/GoogLeNet/ResNet)则记录了小数据条件下各代的可用架构。2026 年视角下的复现价值排序:其一,DP 初始化+活动轮廓对"层间边界先验"的建模思路仍值得借鉴(现代端到端模型把它内化成了归纳偏置,显式先验在极小样本下依然有优势);其二,去噪消融(WNNM 类)的结论(去噪对分类的增益有限)与后来"让网络自己学去噪"的主流演进一致——引用时当作历史证据链,而非当前最优实践。

5.2 第三方复用生态(scite 72 条引文画像)

scite 记录 OCTID 自 2020 至 2025 年间被引 72 次(citation statements),画像呈三类:

复用类型 代表 用法
综述收录 MDPI Bioengineering 2023(“University of Waterloo Database” 条目)、OCT 相关 ML 综述 数据集景观表中的"小而干净"参照系
分割方法验证 beasygo1ng/OCT-Retinal-Layer-Segmenter(UNet 8 层多类分割) 用 25 张正常图 + 自标 GT 训练/评估层分割
预训练联用 Mercury22 多阶段自监督项目 OCTID 与 OCT2017、Srinivasan2014 联合预训练自监督骨干

三个复用细节值得记录:

  1. 第三方自标现象:UNet 分割项目没有直接用官方 .mat(25 张正常图),而是用 makesense.ai 自行标注——侧面说明 .mat 格式 + 单专家 GT 的"可接驳性"不够顺滑(无官方 Python 加载器、无逐层像素掩码导出),复现者宁愿重标。
  2. 引用口径漂移:72 条引文里出现 “Waterloo, n = 572” 与 512×1024 / 750×500 两种分辨率口径并存(坑 2/坑 4 的传播链)——引用 OCTID 的论文自己也要先核口径。
  3. 期刊版是正式引用锚:复现项目的 BibTeX 用 gholami2020octid(CEE 81:106532),而非 arXiv 版——期刊版已成为事实上的规范引用。

5.3 评估协议建议:如何在无 leaderboard 的库上做可比实验

OCTID 没有官方划分,跨论文分数不可直接比。要做出可比、可复现的数字,建议遵循四条:

  1. 划分写死并公开:582 张按类分层抽样(如 60/20/20),随机种子写进论文;或直接采用固定文件名列表(附录 D 建议)。
  2. 患者独立性自检:虽然患者映射缺失,文件名 OD/OS 痕迹可提示同源可能——至少对 Manual Seg 子集(同一编号的 OD/OS 对)做组内聚合评估。
  3. 分辨率声明:报告输入尺寸与插值方式(750×500 vs 512×1024 的 resize 路径会影响细层边界误差)。
  4. 类不平衡处理:NO 208 vs AMD 57,比例 3.6:1——报告 macro-F1/平衡准确率而非裸准确率。

5.4 与同类库的基准位置

评估维度 OCTID 的表现
分类基准体量 小(582 张)——适合微调与评测,不适合从头训练
类目稀缺性 CSR 几乎独一份(主流库无此独立类)
分割金标准 25 张单专家——足够做方法对比,不足以训分割模型
跨库可比性 设备/协议统一带来高内部效度;与异质库联用时需域适应
时间定位 2018 年发布时的"最大开放 OCT 库"定位已被 OCT2017 等超越

一句话定位:OCTID 是"评测锚"不是"训练燃料"——它的价值在协议一致性与 CSR 类稀缺性,不在规模。

5.5 复现生态的方法学沉淀

把散落在论文、硕士论文与第三方项目里的方法学碎片收拢成一张"谁解决了什么问题"的表:

问题 官方方案(硕士论文/论文) 第三方方案 遗留空间
散斑噪声 小波域去噪;WNNM 类多帧方法(前序工作) 复现者多用标准预处理 官方未发布去噪权重
分层初始化 Viterbi 动态规划(利用分层强先验) UNet 端到端(跳过 DP) DP 初始化在深网络时代的增益未被系统复测
边界精化 Chan-Vese 活动轮廓 + 自适应加权边界项 makesense.ai 自标 + UNet 多类分割 活动轮廓代码未开源发布
小样本分类 LBP+MSVM;深度迁移学习+增强 自监督联用(OCT2017/Srinivasan2014 预训练) OCTID 专属骨干不存在也不必要
GT 工具化 MATLAB GUI(manual/semi-auto) 无 Python 替代 Python 端 .mat 读取+栅格化已成事实标准(附录 E)
跨库可比 —(官方未做) 综述层面对照表 固定划分基准(附录 D 方向)至今无人统一

这张表的核心结论:OCTID 的方法学资产(活动轮廓、DP 初始化、GUI)停留在 2018 年形态,代码未随数据发布——数据是 CC0 的,方法不是。复现者事实上用"深度学习端到端 + 自标/外标"绕开了官方方法学,这让 OCTID 在实践中更像"纯数据集"而非"数据+方法包"。

两个复现项目的细节档案(检索者大概率会遇到):

  • beasygo1ng/OCT-Retinal-Layer-Segmenter:任务定位是 8 层多类语义分割(NFL/GCL+IPL/INL/OPL/ONL/EZ/RPE/Choroid);数据用法很有代表性——只取 25 张正常图当输入 X,GT 不用官方 .mat 而用 makesense.ai 人工重标(作者自述"官方标注我拿来当参考,自己重标更顺");图像口径记录为 750×500 灰度(坑 4 的又一独立证据)。它示范了"官方 GT 太小/格式不顺时社区的实际行为":绕过而不是扩展。
  • Mercury22/multi-stage-self-supervised-learning-model-for-OCT-classification:多阶段自监督骨干(先自监督预训练后微调),训练语料横跨 OCT2017 + Srinivasan2014 + KNUH_OCT,OCTID 以期刊版 BibTeX(gholami2020octid)正式入引用清单、数据走 borealisdata.ca 直下——是"跨库联用 + 规范引用"的标准示范。其 config 文件同时管理三个库的目录结构,OCTID 作为最小配置库接入。

两条档案合起来给出一个社区行为画像:OCTID 在复现实践中的典型角色是**“引用必带、数据轻用”**——挂在参考文献里抬高覆盖面,实际训练里只当小评测集或补充语料。这与本条目"评测锚"的定位判断(§5.4)互相印证。

§6 AI-Ready 评估:开放度满分、元数据短板

6.1 DAIMS 快评

OCTID 的 AI-Ready 画像可以压缩成一句话:许可与获取是教科书级的开放,元数据与标注协议是 2018 年的时代限制。全表见附录 B,此处只列核心:

  • 可发现性(D):主条目 + 论文(arXiv/期刊)+ 通用 Dataverse 索引——找到它不难;难的是"找到后立刻搞清规模口径"(三口径并存)。
  • 可获取性(A):CC0 + 免注册直下 + REST API——库内光谱最开放端。
  • 可互操作性(I):JPEG 通用、.mat 需转换、无官方 Python 加载器——中上。
  • 元数据质量(M):类标签有、患者级无、划分无、分辨率双口径——主要失分区。
  • 可持续性(S):Borealis 是加拿大国家级学术数据基础设施,平台稳定性高;六年 V1 无漂移;Harvard 镜像存在但不可脚本化验证——高。

6.2 "CC0 不等于 AI-Ready"的三点提醒

OCTID 是"许可满分但 AI-Ready 仍有失分"的活教材:

  1. 患者元数据缺失是硬伤:没有患者映射意味着所有"患者级泛化"的实验设计(跨患者划分、按患者聚合评估)都做不了严格版——582 张可能只有几百个患者,模型可能在"同一患者的双眼图分属训练与测试"的泄漏上刷分而不自知。
  2. 标签的临床遗产性质:标签=临床诊断。模型学到的上限是"复制这家医院的诊断一致性",不是"复现教科书定义"。
  3. 口径混乱的维护成本:三口径数字、双口径分辨率、AMRD 前缀——每个都是自动化管线的潜在断点。官方若做一次数据卡(datasheet for datasets)式的统一声明,这些问题本可消除。

这三条合起来给出一个库内评估经验:AI-Ready = 许可 × 元数据 × 可复现协议的乘积,OCTID 的许可项是 1.0,乘积仍被后两项拉低到"中上"。

6.5 官方 datasheet 缺位:本条目充当临时数据卡

OCTID 没有发布过 datasheet for datasets 式的统一数据卡——规模口径、标注协议、限制声明分散在论文与 Dataverse 描述里,这正是三口径混乱的根源。在官方补卡之前,本条目充当临时数据卡,最小必填项对照:

数据卡字段 OCTID 现状 本条目对应章节
动机与构成 论文引言有 §0
规模与类分布 三口径并存,无官方统一数 §2.1(锁定实抓口径)
采集与设备 论文方法节有 §2.2
标注协议 论文零散描述 §3.4-3.6
预处理/清洗 无官方声明 §3.5(JPEG 压缩等)
划分建议 无 附录 D
已知限制 论文未系统披露 §3.5、§6.2、坑点清单
维护计划 无 §4.4(V1 恒定观察)

给数据集维护者的反面教材价值:如果 2018 年发布时附带一页这样的表,582/572/>500 的口径分裂与 “four categories” 笔误大概率不会发生。检索者则可以反向使用这张表——遇到其他"无数据卡"的老库,按同款字段自查一遍再引用。

6.6 一屏对照:OCTID vs “理想 AI-Ready 库”

把 §6 各节结论压成一张对照表,供快速定位差距:

检查项 理想态 OCTID 现状 差距动作
许可 CC-BY 以上 CC0(超理想态) 无
获取 公开直链 + API 免注册直下 + API 无
规模口径 单一官方数字 三口径并存 引用锁定实抓(§2.1)
患者元数据 匿名化映射表 缺失 联系官方或降级实验设计(坑 8)
划分 官方固定 split 无 自建+发布(附录 D)
格式文档 数据卡+Python 加载器 论文+GUI(MATLAB) 附录 E 骨架代偿
版本治理 changelog V1 恒定无说明 按时点记录口径

差距栏里没有一项是"许可/获取"——OCTID 的失分全部集中在元数据治理层。这印证了 §6.2 的判断,也给了库内评估一个标尺:许可与获取决定"能不能用",元数据决定"用得多顺"——OCTID 前者满分、后者欠账,两笔账分开记。

6.3 与库内可获取性光谱的对照

档位 库内参照 OCTID 对应
注册墙/申请制(最严) AROI 型申请制、LMC2(rid 531,注册+审批) —
学术请求制 PANDA-PLUS 掩码(rid 560) —
平台托管 Zenodo 型(TopBrain,rid 632) Harvard 镜像(受限)
公开直链 HF/Zenodo 直链型 Borealis 7 子库(CC0)

OCTID 独占"公开直链 + CC0"档位——同档的医学影像库在库内屈指可数。做"许可严格度"维度的库内对照时,它是该维度的上界锚点。

§7 生态与影响:小库的标准生存方式

7.1 在 OCT 数据集景观中的生态位

OCTID 发布于 2018-12,恰好是 OCT 深度学习研究的第一波爆发期(OCT2017 引爆的 Kermany 数据集热潮之后一年)。它以"统一协议小库"切入,在景观里的位置随时间演变:

  • 2018-2019:论文自称"possibly the largest OCT retinal image database currently available"——以"最大+多病种+开放"三重卖点切入。
  • 2020-2022:被更大的库(OCT2017 全量、AROI 等)在规模上超越,转型为"协议统一性"卖点的评测锚;scite 引文画像里综述占比上升。
  • 2023-2026:稳定输出——自监督预训练联用数据、CSR 类目的独占供给、CC0 许可的对照锚。六年 72 条引文对 582 张的小库而言是健康的转化率。

7.2 与 OCT2017 的互补关系(最常被问的组合)

两者是 OCT 图像库光谱的两端,联合使用已是复现者的常规操作:

维度 OCTID OCT2017
规模 582 单帧 8 万+ 裁剪图
设备协议 统一(Cirrus,2mm raster) 混合多设备、含裁剪增强痕迹
类目 NO/MH/AMD/CSR/DR CNV/DME/drusen/normal
分割 GT 有(25 张分层) 无
许可 CC0 CC BY-NC-ND 口径
典型角色 下游评测/微调 + 层分割 大规模预训练

联用模式三种:预训练→微调(OCT2017 训骨干、OCTID 做分布外评测)、互补类目(OCT2017 缺 CSR/MH 单独类,用 OCTID 补)、域偏移研究(同病不同库的设备域差正是天然域适应素材)。注意联合时按各自许可合规使用——OCT2017 的 NC 条款不传染 CC0 的 OCTID,但混合训练出的模型许可边界要单独论证。

7.3 采集与资助生态

  • Sankara Nethralaya(钦奈):印度顶级眼科医院之一,提供图像与临床诊断——OCTID 是"南亚临床数据 + 北美学术整理"合作模式的样本,论文致谢点名的对接人是 Dr. Muna Bhende 与 Ms. Girija。
  • NSERC Discovery Grant(加拿大自然科学与工程研究委员会):资助资深作者 Lakshminarayanan 的实验室(TEEL)。
  • Schlumberger Foundation Faculty for the Future:资助 MKP 的 fellowship——数据集的标注劳动来自此资助下的研究人员。

这条生态链的启示:OCTID 的"同协议统一性"不是天生而是筛选的结果——单一设备、单一医院、单人选帧,每一步都在收窄数据来源。规模小是这套工艺的成本,干净是它的回报。

补充一点采集侧背景:Sankara Nethralaya 是印度历史最久、规模最大的眼科专科医院之一(1978 年建院于钦奈),临床量与病种谱保证了五类样本的可得性——尤其 CSR 这类在南亚临床量不小的病种。而 Cirrus HD-OCT 是 2010 年代全球装机量最大的 SD-OCT 设备家族之一,其 raster 扫描协议与 512×1024 B-scan 规格是该设备线的标准输出——"最大装机量设备 + 大临床量医院"的组合,也是数据可复制采集的现实基础。这套"设备-医院-协议"三元组对想做同类库的团队是个参考模板:统一性不是靠后期清洗出来的,是靠采集端一次性锁定的。

7.4 引用与传播现状

  • scite 记录 72 条 citation statements(2020-2025),多为方法论文与综述的正面引用。
  • 期刊版(CEE 81:106532)是规范引用锚;arXiv 版是免费阅读锚。
  • 复现项目集中在 GitHub(层分割、自监督),无 Kaggle 官方镜像——检索时注意别把第三方上传的转包装当官方版。

7.6 引用画像的三条细节

72 条 scite 引文的分布里藏着三条对引用者有用的细节:

  1. 期刊版压倒 arXiv 版成为默认锚:正式引用几乎清一色 gholami2020octid(CEE 81:106532)——Elsevier 期刊的"正式感"在引用习惯里起了决定作用。反过来说,只读 arXiv 版会漏掉期刊版可能的编辑修订(本条目已在遗留疑点存照两者未逐字比对)。
  2. 口径错误有传播链:572 张口径与 750×500 分辨率在引文之间复现——一篇带误差的早期引用被后续综述转引,口径就"洗白"成了常识。防传播的姿势只有一个:回到 Borealis API 重新数一遍(§2.1 备忘)。
  3. “Waterloo Database” 别名已被综述固化:MDPI 2023 综述用它代指 OCTID 后,这个别名进入了引用网络——检索时把机构名当关键词之一,否则会漏掉一半相关文献。

这三条合起来是同一个教训的不同切面:小数据集的引用生态里,二手转引的误差累积速度比大库更快——大库错个位数没人发现,582 张的库错 10 张就是 1.7% 的口径漂移。

7.5 OCT 公开数据集十年时间线(2014-2026):OCTID 的位置

把 OCTID 放回十年时间轴,能看到"规模军备竞赛"与"协议精细化"两条暗线:

年份 事件 对 OCTID 的意义
2014 Srinivasan et al.(Spectralis,3 类 3,231 帧) 多病种 OCT 分类的开山数据集;OCTID 前的默认选择
2015-2017 各单病种小库零散发布;Kermany 团队积累中 "统一协议多病种"的空窗期
2018-04 OCT2017(Kermany)引爆:8 万+ 裁剪图 4 类 规模路线确立;CSR/分层 GT 仍是空白
2018-12 OCTID 发布(arXiv v1 + Borealis 上线) 以"统一设备+CSR+分层 GT+CC0"差异化切入;自称当时最大开放 OCT 库
2019 arXiv v2;Harvard 镜像上线 数据恒定 V1,论文补版
2020 期刊版 CEE 81:106532;AROI(像素级标注 3,200 B-scan)出现 OCTID 转型"协议统一评测锚";像素级赛道被 AROI 接棒
2020-2022 OCTA-500 等 OCTA 体数据库兴起 3D 体路线分流;OCTID 的单帧定位更趋"轻量对照"
2023-2026 自监督/基础模型时代:大规模预训练 + 小库下游评测 OCTID 嵌入"大预训练 + 小评测"的下游位;CC0 使其成为跨库联用里许可最干净的成员

两点读法:其一,OCTID 发布时点(2018-12)恰在 OCT2017 热潮(2018-04)之后八个月——它不是对"规模路线"的无知,而是对它的回应:既然规模有人做了,就把"协议一致性+稀缺类目+彻底开放"做满。其二,六年无版本更新在快速迭代的眼科数据集界反而成了稀缺属性——锚点的价值恰在于不动。

§8 与库内条目的关系

8.1 家族图谱:OCT/视网膜域互链

库内条目 rid 模态 与 OCTID 的关系
oct2017 311 OCT B-scan 最直接的对照:规模 vs 协议、类目互补(CSR 缺席)、预训练-微调联用(§7.2)
octa-500 341 OCTA 血管成像 模态升级对照:结构 OCT(OCTID)vs 血流 OCTA;单帧 vs 3D 体
octdl 690 OCT 病变分割 任务粒度对照:OCTID 的分层边界 GT vs octdl 的病变区域 GT;OCTID 无病态层 GT 的空白由 octdl 补位
idrid 191 眼底彩照 同病跨模态(DR):fundus 看血管与出血点、OCT 看层间水肿——多模态 DR 研究的两个支柱
refuge 62 眼底彩照 眼科影像分割任务横向互链:视杯视盘分割 vs 视网膜分层分割的方法学互鉴

8.2 检索路径建议

  • 检"OCT 分类" → OCTID(rid 本条)+ oct2017(311)成对出现,按"规模/协议"两维区分。
  • 检"视网膜分层分割" → OCTID(25 张分层 GT)+ octdl(病变分割)互补,前者正常层、后者病态区。
  • 检"DR 多模态" → idrid(191,fundus)+ OCTID(DR 类 109 张,OCT)+ octa-500(341,OCTA)三模态链。
  • 检"CC0 医学影像" → OCTID 是库内该许可档的代表锚点。
  • 检"CSR OCT"/“中浆 数据集” → OCTID CSR 子库是公开域主要供给(§2.4)。
  • 检"fovea-centered B-scan"/“Cirrus 统一协议” → 本条目为库内唯一样本。
  • 检"25 张分层 GT"/“正常眼层分割” → Manual Segmentation 子库 + 附录 E 读取骨架。
  • 检"SD-OCT 数据集对比"/“OCT library comparison” → §2.5 景观对照 + §7.5 时间线。

8.3 与超声域条目的边界

本条目生产任务原属超声域改道而来(ultrasound-nerve-segmentation → palmpy → octid),但 OCTID 与超声影像无模态关联——互链不跨入超声族(acouslic-ai/busi 等),仅保留"医学影像 AI-Ready 数据集"的横向参照意义。域归属:眼科影像。

8.4 互链条目双向对照:OCTID 能给什么、要什么

互链不是"名字放一起",逐条看双向价值:

对面条目 OCTID 能给对方 对方能给 OCTID
oct2017(rid 311) CSR 独立类供给;同协议干净子集;CC0 联用自由度 大规模预训练权重与管线;CNV/DME 类目扩展
octa-500(rid 341) 结构 OCT 的分层参照(血管分析需先懂分层) 3D 体视角与血流信息;患者级数据组织范式
octdl(rid 690) 正常眼分层边界 GT(病变分割的层定位先验) 病态区像素级标注(OCTID 分割 GT 缺病态的补位)
idrid(rid 191) DR 的 OCT 侧供给(层间水肿视角) DR 的 fundus 侧供给(血管/出血视角)+ 分级标签体系
refuge(rid 62) OCT 分层分割方法学的迁移素材 眼底分割任务的大标注规模与双标注协议

组合拳三个已验证的打开方式:

  1. “大预训练+小评测”:oct2017 训骨干 → OCTID 五类做分布内评测 → octdl 做跨任务泛化——三级评测链。
  2. “DR 双模态”:idrid(fundus)+ OCTID(OCT)做特征级融合或一致性学习——受限于 OCTID 无患者映射,融合粒度只能到"分布级"而非"病例级"(坑 8 的实际代价)。
  3. “分割先验迁移”:OCTID 的正常分层 GT 用于预训练层定位头 → 迁移到 octdl 的病态区分割——层结构知识是病态分割的天然先验。

§9 避坑清单:九个已知的坑

坑 1:主条目不是数据本体。Borealis 主条目(doi:10.5683/SP2/W43PFI)里只有一个 382.1 KB 的论文 PDF——图像全在 6 个子库里,各有独立 DOI。只引主条目 DOI 或只从主条目下载都会空手而归。正确姿势:从 dataverse/OCTID 主页进,按类下 6 个子库。

坑 2:总量三口径。Borealis 实抓 582(NO 208/MH 104/AMD 57/CSR 104/DR 109)、第三方引用 572(每类恰少 2)、论文 abstract 仅 “>500”。本条目按 582 引用;自动化抽取以 Borealis API files 计数为准,别抄二手综述数字。

坑 3:论文正文 “four categories” 笔误且缺 CSR 数字。arXiv v2 §2 写 “more than 500 … consisting of four categories” 后接 5 类列表;Database structure 节只给 4 类数字(206 NO/102 MH/55 AMD/107 DR),CSR 无数字。读论文时别被 four 带偏,CSR 子库真实存在(104 张)。

坑 4:分辨率双口径。论文 512×1024(Cirrus 原生 B-scan)vs 第三方复用实测 750×500(或 500×750)JPEG——官方 JPEG 导出可能经缩放。做像素级实验前先实测文件尺寸;跨论文比较边界误差时先对齐分辨率口径。

坑 5:AMD 文件名前缀是 AMRD。Borealis AMD 子库文件名是 AMRD1.jpeg…(Age-related Macular Degeneration 的全拼缩写),不是 AMD*.jpeg。按 AMD 前缀 glob 会静默得 0 张——静默失败比报错更危险。

坑 6:论文许可 ≠ 数据许可。arXiv 论文本体是 nonexclusive-distrib 1.0,期刊版在 Elsevier 付费墙内;数据本体是 CC0 1.0(7/7 子库验证)。"CC0"只覆盖数据——再分发论文 PDF 不在其列。

坑 7:Harvard 镜像不可脚本化访问。doi:10.3886/E108503V1 页面 JS 渲染、匿名 API 返回 “User :guest is not permitted”——存在性按论文存照,取数走 Borealis(borealisdata.ca)。旧 Scholars Portal 域名会跳转 Borealis,老链接仍可达(平台更名,见坑 9)。

坑 8:患者数未披露,别写 “582 患者”。官方无患者映射;文件名 OD/OS 提示同患者双眼可能各成一图;第三方称分割子集 25 张≈25 位健康受检者(非官方口径)。正确表述:“582 张 B-scan,患者级数量未披露”。

坑 9:平台已更名,旧链接会"消失感"。原 Scholars Portal Dataverse(dataverse.scholarsportal.info)已整体迁移为 Borealis(borealisdata.ca)。老论文里引用的旧域名会重定向可达,但抓取脚本若硬编码旧域名证书/路径可能失败——统一换用 borealisdata.ca 新域名,引用时注明平台曾用名。

§10 总结

10.1 三句话总结

  1. OCTID 用 582 张同设备同协议的 fovea-centered B-scan 换来了 OCT 库里罕见的"跨类可比性",并以 CC0 加独立 DOI 做到许可与获取的天花板级开放。
  2. 25 张单专家分层 GT + MATLAB GUI 给它添加了"分类库之外的分割纵深",但也锁定了"正常眼 only、无方差度量"的天花板。
  3. 它的三大口径(582/572/>500)与双口径分辨率是使用者的必修坑——一切以 Borealis API 实抓为准,引用时写明口径与抓取日期。

10.2 适合谁

  • 需要 CSR 独立类目的研究者(公开域主要供给之一)。
  • 做 OCT 分类方法学对照(消融/可解释性/域偏移)的团队——统一协议是硬需求。
  • 写数据集综述需要"许可开放度上界"与"小而干净"参照系的作者。
  • OCT2017 预训练流水线要找下游评测集的工程团队。

10.3 不适合谁

  • 要大规模从头训练的团队(582 张不够,去 OCT2017)。
  • 需要病态视网膜分层 GT 的分割研究(OCTID 只有正常眼 25 张,去 octdl 类库)。
  • 需要患者级元数据/纵向随访的项目(官方未披露,硬缺失)。
  • 需要 3D 体积数据的任务(每例只有一帧,去 OCTA-500 类库)。

10.4 30 秒决策卡

你的情况 行动
要立刻下数据跑通 Borealis dataverse/OCTID → 按类下 zip(CC0,免注册)
要做分类微调 先量分辨率(750×500?)→ 分层抽样划分 → 报告 macro-F1
要做分层分割 Manual Seg 子库 25 图 + .mat(scipy.io.loadmat)→ 注意 “- Copy.jpeg” 文件名清洗
要 CSR 数据 OCTID 的 104 张是公开域主要选择 → 注意分期混布(坑 3.5)
要联合 OCT2017 按 §7.2 三种联用模式设计 → 许可边界单独论证
要引用 期刊版 CEE 81:106532 为规范锚 + 主条目 DOI 10.5683/SP2/W43PFI

10.5 一句话给三类人

  • 给工程师:CC0 + API + 50 MB 体积——这是你能在十分钟内接进 CI 的眼科基准,但先把 AMRD 前缀和文件名空格处理掉。
  • 给研究者:582 张买不到规模,买得到"设备协议恒定 + CSR 独类 + 单专家分层 GT"三个稀缺品——把它用在它擅长的实验上。
  • 给数据集研究者:OCTID 是"许可满级、元数据欠账、六年不变"的三角样本——研究数据基础设施的人能从这三条腿各读出一篇讨论。

FAQ(高频问答 45 问)

A. 基础认知

Q1:OCTID 是挑战赛数据集吗?
不是。没有比赛、没有 leaderboard、没有奖金。它是滑铁卢大学 TEEL 实验室整理发布的开放图像库,论文发表在 arXiv(2018)与 Computers and Electrical Engineering(2020)。

Q2:OCTID 四个字母代表什么?
OCT Image Database 的缩写——OCT(Optical Coherence Tomography,光学相干断层扫描)+ ID(Image Database)。检索时注意与泛称"OCT database"区分,OCTID 是这套库的专有名。

Q3:它为什么也被叫作 “University of Waterloo Database”?
MDPI Bioengineering 2023 综述等文献用机构名指代它。看到 “University of Waterloo Database”(OCT 语境下)即 OCTID,下载链接都指向同一个 Borealis dataverse。

Q4:数据是什么时候发布的?
2018-12-19 上线 Borealis(原 Scholars Portal Dataverse),早于 arXiv v2(2019-05-27)。各子库至今保持 V1 未再更新(2026-09-27 抓取观察)。

Q5:现在还有人用吗?
有。scite 记录 2020-2025 年 72 条引文;GitHub 上有层分割与自监督的复现项目;综述里稳定作为"统一协议小库"参照系收录。

Q6:它和 OCT2017 是什么关系?
互补而非竞争。OCT2017 大而异质(8 万+ 裁剪图、多设备),OCTID 小而统一(582 张单帧、单设备单协议)。自监督预训练项目常把两者联用(§7.2)。

Q7:里面有视频或 3D 体数据吗?
没有。每例 volumetric scan 只取 fovea-centered 单帧 B-scan 入库。要体数据去 OCTA-500 类库。

Q8:支持中文检索吗?
数据本身全英文(文件名、标签)。中文语境的疾病对照:MH=黄斑裂孔、AMD=年龄相关性黄斑变性、CSR=中心性浆液性脉络膜视网膜病变(中浆)、DR=糖尿病视网膜病变。

B. 数据与获取

Q9:一共多少张图?按什么口径?
按 Borealis API 实抓(2026-09-27):582 张(NO 208 / MH 104 / AMD 57 / CSR 104 / DR 109)。另有 572(第三方旧快照口径)与 “>500”(论文 abstract)两个口径并存(坑 2)。

Q10:去哪下载?要注册吗?
borealisdata.ca/dataverse/OCTID,7 个条目免注册直接下载,按类 zip 打包或逐文件取。不需要申请、不需要机构邮箱。

Q11:Harvard Dataverse 那个 DOI 是什么?
论文声明的镜像渠道(doi:10.3886/E108503V1)。匿名访问受限(页面 JS 渲染、API 拒绝 guest),无法脚本化验证内容——主渠道用 Borealis(坑 7)。

Q12:许可是什么?商用可以吗?
CC0 1.0——7 个条目全部验证。法律上允许商用、再分发、衍生,无署名义务;学术伦理上仍请引用论文与 DOI。注意论文 PDF 本身不是 CC0(坑 6)。

Q13:图像是什么格式?多大尺寸?
JPEG(按类 zip)。尺寸双口径:论文称 512×1024,第三方实测 750×500 灰度——下载后先实测你的文件(坑 4)。

Q14:有患者信息吗?
没有。无人口学、无患者映射表;文件名偶见 OD/OS(右眼/左眼)痕迹但无对照说明。患者级数量整体未披露(坑 8)。

Q15:有没有官方 train/test 划分?
没有。复现者各自划法不一,跨论文分数不可直接比——建议按类分层抽样 + 公开随机种子,或采用固定文件名列表(附录 D)。

Q16:下载时要注意什么文件名细节?
三类:主条目只有 PDF(坑 1);AMD 前缀是 AMRD(坑 5);Manual Seg 子库文件名含空格与 " - Copy" 后缀,脚本解析需清洗。

C. 任务与标注

Q17:分类标签可靠吗?
标签继承自 Sankara Nethralaya 医院的临床诊断,非独立双盲重标。作"临床诊断级"监督使用并在论文中声明来源,别当"共识金标准"引。

Q18:分割金标准覆盖哪些图?
仅 25 张正常眼图(Manual Seg 子库),单专家手标逐层边界(.mat)。病态眼的分层 GT 没有。

Q19:.mat 文件里是什么?
各视网膜层间界面的坐标序列(ILM、ISOS、RPE 等边界命名)。Python 用 scipy.io.loadmat 即可读取;第三方复现者按 8 层结构组织(NFL/GCL+IPL/INL/OPL/ONL/EZ/RPE/Choroid)。

Q20:那个 MATLAB GUI 是什么?
官方手动/半自动分割工具:下拉选边界、manual 整条重画、semi-auto 只修错段。它是作者分割方法学的交互式封装,也可用于教学。无 Python 版。

Q21:能用来训练分割模型吗?
25 张不够训练——定位是"方法评估金标准"。要训层分割需要自标扩充(第三方做法)或换用大标注库(octdl 等)。

Q22:CSR 类有什么特别的?
CSR(中浆)在主流 OCT 库中几乎无独立类目,OCTID 的 104 张是公开域主要供给。类内含轻重症分期混布,分析前建议分桶。

D. 复现与工程

Q23:怎么脚本化抓取?
Borealis 标准 Dataverse REST API:/api/datasets/:persistentId?persistentId=doi:10.5683/SP/... 逐子库取 files 清单,匿名可访问(附录 C 骨架)。

Q24:读取 .mat 有什么坑?
文件名带空格与 “- Copy” 后缀先清洗;.mat 内是边界坐标不是像素掩码,要自己栅格化成 mask;不同边界的点数不同,按变长数组处理。

Q25:分辨率该按哪个报?
实验报告里两个都写:论文口径 512×1024 + 你实测的 JPEG 尺寸;resize 路径(保纵横比/直接拉伸)写明——细层边界误差对插值敏感。

Q26:类不平衡怎么处理?
NO 208 vs AMD 57(3.6:1)。报告 macro-F1/平衡准确率;训练用加权采样或 focal loss;划分时分层抽样保比例。

Q27:跨库联合 OCT2017 时注意什么?
设备域差(统一 vs 混合)、类目不对齐(CSR/drusen 互缺)、许可差异(CC0 vs CC BY-NC-ND 口径)。域适应或至少做分库评测。

Q28:想引用,BibTeX 用哪条?
期刊版是规范锚:Gholami et al., “OCTID: Optical coherence tomography image database,” Computers & Electrical Engineering 81:106532, 2020(附录 H 完整条目);数据另引主条目 DOI。

E. 与库内条目的关系

Q29:库里还有哪些 OCT 条目?
oct2017(rid 311,大规模分类)、octa-500(rid 341,OCTA 血管成像)、octdl(rid 690,OCT 病变分割)——四者按"规模×任务粒度×模态"互补(§8.1)。

Q30:做 DR 研究怎么组合库?
眼底侧 idrid(rid 191)+ OCT 侧 OCTID(DR 109 张)+ OCTA 侧 octa-500(rid 341)三模态链;多模态融合时按患者对齐——OCTID 无患者映射是限制(坑 8)。

Q31:它是 CC0,还有别的库也 CC0 吗?
库内"公开直链 + CC0"档位罕见,OCTID 是该档代表锚点。多数医学影像库为 CC BY-NC 系列、申请制或注册墙(§6.3 光谱表)。

Q32:这个条目的规模数字以后会变吗?
Borealis 六年 V1 无漂移;若未来官方更新版本,应以 API 实抓重新计数并在引用中带抓取日期。本条目口径锁定 2026-09-27 实抓。

F. 工程细节补充

Q33:图像能不能直接当 PNG 用?
可以读但别转存覆盖。JPEG 是有损压缩,转 PNG 只是格式转换不回损失;但预处理管线里任何"另存"都应保留原图副本并固定文件名映射,保证可回溯。

Q34:五类任务用什么输入尺寸最稳?
跟随实测尺寸(如 750×500)整除 32 的最近值 resize(如 736×480),避免多层上采样时的尺寸失配;若沿论文口径 512×1024,注意纵横比翻转 2 倍——细层会被非等比拉伸压扁,边界误差会虚高。

Q35:分割 GT 能转成像素级 mask 吗?
可以:相邻边界坐标之间填充即得逐层 mask(scikit-image 的 poly2mask 类操作)。注意边界是"线"语义,像素归属约定(线内/线外)要与对比方法一致,否则 Dice 会有 1-2 个点的系统差。

Q36:做域适应实验怎么设源域/目标域?
自然组合:OCT2017(多设备混源)→ OCTID(单设备);或 OCTID → octdl(正常层先验 → 病态区)。评测时锁目标域划分并公开,域差用 PS/分类偏移量化先验一遍。

Q37:CSR 分期混布怎么处理最省事?
先无监督:对 CSR 子库抽特征(脱离高度、形态描述子)做 2-3 簇聚类,簇标签做协变量;或最粗粒度——按图像中脱离区占 B-scan 高度比例二分"轻/重",两行代码可复现。

Q38:类标签有没有编码表?
无官方编码文件。类别即子库名(NO/MH/AMD/CSR/DR)+ 文件前缀(NORMAL/MH/AMRD/CSR/DR);自建编码建议 0-4 对应 NO/MH/AMD/CSR/DR 并随划分表发布。

Q39:同一批图会被 OCT2017 覆盖吗?
不会——两者采集医院、设备、协议均不同,无官方重叠声明。跨库联用时按"两库独立"假设处理,无需去重。

Q40:想贡献标注或反馈错误给官方怎么办?
Borealis 子库页有 Contact Owner 通道(Dataverse 标准功能)。但注意主创团队与大学的机构邮箱稳定性未知,关键争议(如标签错误)留存书面记录并标注日期。

G. 检索与引用场景

Q41:在综述里引用它该写几张?
写"582 张(Borealis 实抓,2026-09-27)“,脚注补一句"论文摘要口径 >500”。别直接抄 572——那是二手快照口径(坑 2)。

Q42:被审稿人问"为什么用这么小的库"怎么答?
三段式:统一协议带来的内部效度(§2.2)→ CSR/分层 GT 的稀缺供给(§2.4/§3.2)→ CC0 与独立 DOI 的可复现性(§4.2)。小不是缺陷,是定位。

Q43:和 OCT2017 同时引用时先引谁?
按角色:预训练来源引 OCT2017,评测基准引 OCTID(CEE 81:106532)。两库分工写进实验设置段,避免"两个 OCT 库"的模糊表述。

Q44:有没有官方的中文资料?
没有。本条目与库内互链条目即中文语境下的主要结构化资料;疾病名中文对照见 Q8 与附录 G。

Q45:数据更新了怎么知道?
在 Borealis 子库页用 “Get Updates” 订阅(Dataverse 标准功能),或定期跑附录 C 脚本比对文件数——六年 V1 恒定的库,低频巡检即可。

事实清单(硬事实 40 条)

  1. OCTID = Optical Coherence Tomography Image Database,滑铁卢大学 TEEL 实验室发布。
  2. 论文作者 4 人:Peyman Gholami(一作)、Priyanka Roy、Mohana Kuppuswamy Parthasarathy(MKP)、Vasudevan Lakshminarayanan(资深)。
  3. 机构:Theoretical & Experimental Epistemology Lab (TEEL), School of Optometry and Vision Science, University of Waterloo。
  4. arXiv:1812.07056,v1 2018-12-17(382 KB)、v2 2019-05-27(541 KB)。
  5. 期刊版:Computers & Electrical Engineering 81:106532(2020,Elsevier),doi:10.1016/j.compeleceng.2019.106532(2026-09-27 DOI 解析验证)。
  6. 数据发布:2018-12-19,Borealis dataverse/OCTID,7 条目全部 V1。
  7. 主条目 doi:10.5683/SP2/W43PFI 仅含 1 个 PDF(382.1 KB),不含图像。
  8. 五个子库图像实抓:NO 208 / MH 104 / AMD 57 / CSR 104 / DR 109,合计 582 张 JPEG。
  9. 第三方引用口径 572 张(每类比实抓少 2);论文 abstract 口径 “>500”;论文正文结构节仅 4 类共 470 张(缺 CSR)。
  10. 论文正文写 “four categories” 后列 5 类——笔误。
  11. 采集设备:Cirrus HD-OCT(Carl Zeiss Meditec, Dublin, CA)。
  12. 扫描协议:raster scan,2mm 扫描长度;每例取一张 fovea-centered B-scan。
  13. 像素口径:论文 512×1024;第三方复用实测 750×500(或 500×750)灰度。
  14. 轴向/横向分辨率:5μm / 15μm(in tissue)。
  15. 采集医院:Sankara Nethralaya (SN) Eye Hospital,印度钦奈;对接人 Dr. Muna Bhende 与 Ms. Girija。
  16. 选帧与标注人:资深临床视光师 MKP。
  17. 分类标签继承医院临床诊断,非独立双盲标注。
  18. Manual Segmentation 子库:25 张正常眼 JPEG + 25 个 _octSegmentation.mat 逐层边界文件。
  19. 分割 GT 为单专家手标,无观察者间变异报告。
  20. 分割 GUI:MATLAB,manual/semi-auto 两模式,边界下拉选择。
  21. 文件名前缀:NORMAL/MH/AMRD/CSR/DR——AMD 类前缀为 AMRD。
  22. License:CC0 1.0,7/7 条目 API 验证(2026-09-27)。
  23. arXiv 论文许可 nonexclusive-distrib 1.0,与数据 CC0 为两套许可。
  24. Harvard Dataverse 镜像 doi:10.3886/E108503V1(论文声明;匿名访问受限,2026 实测)。
  25. Scholars Portal Dataverse 平台已更名 Borealis(borealisdata.ca),旧域名跳转可达。
  26. 患者级元数据未披露;文件名 OD/OS 痕迹无映射说明。
  27. CSR 子库含轻重分期样本(论文 Fig 6)。
  28. 官方基线(Gholami 硕士论文):分割 = 小波去噪 + Viterbi DP 初始化 + Chan-Vese 活动轮廓 + 自适应加权边界项;分类 = LBP + 多阶段 SVM,及 AlexNet/GoogLeNet/ResNet 迁移学习。
  29. Gholami 硕士论文收录于 UWSpace;委员会含 Daphne McCulloch、Alexander Wong。
  30. 资助:NSERC Discovery Grant(VL);MKP 受 Schlumberger Foundation Faculty for the Future 支持。
  31. scite 记录 72 条 citation statements(2020-2025)。
  32. MDPI Bioengineering 2023 综述以 “University of Waterloo Database” 收录(>500 张、2mm、512×1024 口径)。
  33. 第三方 UNet 分割项目(beasygo1ng)称 25 张≈25 健康患者、750×500 灰度——均非官方口径。
  34. 第三方自监督项目(Mercury22)以期刊版 BibTeX(gholami2020octid)引用,OCTID 与 OCT2017/Srinivasan2014 联训。
  35. 论文 2018 年自称 “possibly the largest OCT retinal image database”——时效性已过。
  36. OCTID 无官方 train/test 划分。
  37. 类分布不平衡:NO 208 vs AMD 57(约 3.6:1)。
  38. Borealis 各子库 2018-12 上线后维持 V1 无版本更新(2026-09-27 观察)。
  39. 库内互链:oct2017(311)、octa-500(341)、octdl(690)、idrid(191)、refuge(62)。
  40. 本条目改道链:ultrasound-nerve-segmentation(rid 537 已占用)→ palmpy(证伪)→ octid。

来源锚点清单

# 锚点 URL 用途
1 arXiv 论文 v2 https://arxiv.org/abs/1812.07056 论文全文(规格/任务/致谢)
2 期刊版 DOI https://doi.org/10.1016/j.compeleceng.2019.106532 规范引用锚(2026-09-27 解析验证)
3 Borealis dataverse/OCTID https://borealisdata.ca/dataverse/OCTID 数据主渠道总入口
4 主条目 DOI https://doi.org/10.5683/SP2/W43PFI 引用主条目(仅 PDF+元数据)
5 Normal 子库 https://doi.org/10.5683/SP/WLW4ZT 208 张
6 MH 子库 https://doi.org/10.5683/SP/MBMQGD 104 张
7 AMD 子库 https://doi.org/10.5683/SP/YEM3RA 57 张(前缀 AMRD)
8 CSR 子库 https://doi.org/10.5683/SP/FVLZIL 104 张
9 DR 子库 https://doi.org/10.5683/SP/FLGZZE 109 张
10 Manual Segmentation 子库 https://doi.org/10.5683/SP/UIOXXK 25 图 + 25 mat
11 Harvard 镜像 https://doi.org/10.3886/E108503V1 论文声明渠道(匿名受限,存照)
12 scite 引文记录 https://scite.org/reports/octid-optical-coherence-tomography-image-4ZMglra 72 条引文与第三方口径证据
13 MDPI 综述收录 https://www.mdpi.com/2076-3417?(Bioengineering 10(4):407) “University of Waterloo Database” 条目
14 UNet 复现项目 https://github.com/beasygo1ng/OCT-Retinal-Layer-Segmenter 第三方层分割与 750×500 口径证据
15 自监督复现项目 https://github.com/Mercury22/multi-stage-self-supervised-learning-model-for-OCT-classification 期刊版 BibTeX 与跨库联用证据
16 UWSpace 硕士论文 https://uwspace.uwaterloo.ca/bitstreams/2eeebed7-0102-4377-9c81-0011d83b3cf8/download 官方基线方法学

(注:#13 的 MDPI 页面为 Bioengineering 2023;10(4):407 综述 “On Machine Learning in Clinical Interpretation of Retinal Diseases Using OCT Images”;检索时按论文标题定位。)

术语表(40 条)

术语 释义
OCT Optical Coherence Tomography,光学相干断层扫描;近红外低相干光视网膜横截面成像
SD-OCT Spectral-Domain OCT,谱域 OCT;当前主流 OCT 实现方式
B-scan Brightness scan,OCT 的二维横截面图像;OCTID 全库皆为单帧 B-scan
Volumetric scan 体扫描;一次 raster 协议产生的 B-scan 堆栈,OCTID 从中只取一帧
Fovea-centered 中心凹居中;B-scan 穿过黄斑中心凹的帧,携带最多诊断信息
Raster scan 栅格扫描协议;OCTID 采用 2mm 扫描长度
ILM Internal Limiting Membrane,内界膜;视网膜最内层界面
ISOS Inner/Outer Segment junction,光感受器内外节交界
RPE Retinal Pigment Epithelium,视网膜色素上皮层
NFL Nerve Fiber Layer,神经纤维层
GCL+IPL 神经节细胞层+内丛状层
INL / OPL 内核层 / 外丛状层
ONL 外核层
Ellipsoid zone (EZ) 椭球带;光感受器代谢活跃区
Choroid 脉络膜;RPE 下的血管层
MH Macular Hole,黄斑裂孔
AMD Age-related Macular Degeneration,年龄相关性黄斑变性
CSR Central Serous Retinopathy,中心性浆液性脉络膜视网膜病变(中浆)
DR Diabetic Retinopathy,糖尿病视网膜病变
CNV Choroidal Neovascularization,脉络膜新生血管(OCT2017 类目,wet AMD 表现)
DME Diabetic Macular Edema,糖尿病黄斑水肿(OCT2017 类目)
LBP Local Binary Pattern,局部二值模式;纹理描述子,官方分类基线特征
MSVM Multi-stage Support Vector Machine,多阶段支持向量机
Chan-Vese 无边缘活动轮廓模型;官方分割基线核心
Viterbi dynamic programming 维特比动态规划;官方分割的初始边界搜索方法
Dice Dice 系数;分割重叠度指标
CC0 1.0 Creative Commons 公有领域贡献许可;OCTID 数据许可
Dataverse 开源研究数据发布平台;Borealis 的底层系统
Borealis 原 Scholars Portal Dataverse,加拿大学术数据基础设施
OD / OS 右眼(oculus dexter)/ 左眼(oculus sinister);OCTID 文件名中的痕迹性标记
raster scan 栅格扫描;OCTID 的采集协议(2mm 扫描长度)
JPEG 联合图像专家组格式;OCTID 的分发格式(有损压缩)
.mat MATLAB 数据文件;OCTID 分层 GT 的存储格式
TEEL Theoretical & Experimental Epistemology Lab;滑铁卢大学作者所属实验室
NSERC 加拿大自然科学与工程研究理事会;OCTID 资助方
Borealis 加拿大学术数据平台(原 Scholars Portal Dataverse)
DOI 数字对象唯一标识符;OCTID 七子库各持一个
CC0 知识共享公有领域贡献许可;OCTID 数据许可
AI-Ready 数据可被机器学习管线直接消费的综合属性(许可/获取/元数据/协议)

附录

附录 A:条目信息速查卡

项 值
条目 slug octid
全称 OCTID — Optical Coherence Tomography Image Database
一句话 582 张同设备五类 fovea-centered OCT B-scan + 25 张正常眼分层 GT,CC0 全开
规模 582 JPEG(NO 208/MH 104/AMD 57/CSR 104/DR 109)+ 25 对图-标注
发布 2018-12-19(Borealis V1,至今未更新)
论文 arXiv:1812.07056;CEE 81:106532(2020)
团队 滑铁卢大学 TEEL(Gholami/Roy/Parthasarathy/Lakshminarayanan)
采集 Sankara Nethralaya 眼科医院(钦奈),Cirrus HD-OCT
获取 borealisdata.ca/dataverse/OCTID,免注册直下
许可 CC0 1.0(7/7 条目验证)
任务 五类分类 + 正常眼分层分割
本条目口径 规模/分辨率以 Borealis 实抓与实测为准(2026-09-27)

附录 B:DAIMS 评估全表

维度 评分(1-10) 依据
D 可发现性 7 arXiv/期刊/Borealis 三锚点可索引;但 “OCTID” 易淹没在 “OCT database” 泛称里,机构别名(Waterloo Database)分散检索命中
A 可获取性 10 CC0 + 免注册直下 + 7 子库独立 DOI + 匿名 REST API——库内光谱最开放端
I 可互操作 6 JPEG 通用;.mat 需 scipy 转换、无官方 Python 加载器;无固定划分需自行建立
M 元数据质量 5 类标签有、患者级无、分辨率双口径、规模三口径、正文 “four categories” 笔误——自动化抽取风险点密集
S 可持续性 8 Borealis 为国家级学术基础设施,六年 V1 无漂移;Harvard 镜像存在但受限
综合评级 7.2/10(中上) 许可获取满分、元数据被口径问题拖低——"开放 ≠ 齐备"的典型样本

附录 C:Borealis API 抓取骨架(Python)

import requests, json

SUBSETS = {
    "NO":  "10.5683/SP/WLW4ZT",
    "MH":  "10.5683/SP/MBMQGD",
    "AMD": "10.5683/SP/YEM3RA",   # 注意文件前缀是 AMRD
    "CSR": "10.5683/SP/FVLZIL",
    "DR":  "10.5683/SP/FLGZZE",
    "SEG": "10.5683/SP/UIOXXK",
}
BASE = "https://borealisdata.ca/api/datasets/:persistentId"

def count_images(doi):
    r = requests.get(BASE, params={"persistentId": f"doi:{doi}"}, timeout=30)
    files = r.json()["data"]["latestVersion"]["files"]
    jpegs = [f["dataFile"] for f in files
             if f["dataFile"]["filename"].lower().endswith((".jpeg", ".jpg"))]
    return jpegs

for cls, doi in SUBSETS.items():
    js = count_images(doi)
    print(cls, len(js))
    # 逐文件下载:GET /api/access/datafile/{dataFile_id}

要点:匿名可访问;数图像时按扩展名过滤(Manual Seg 子库混有 .mat);下载走 /api/access/datafile/<id>。

附录 D:可复现划分建议(固定文件名法)

OCTID 无官方划分,建议以"类内排序 + 固定种子哈希"生成公开划分表:

import hashlib

def bucket(filename, ratios=(0.6, 0.2, 0.2), salt="octid-split-v1"):
    h = int(hashlib.md5(f"{salt}:{filename}".encode()).hexdigest(), 16) / 16**32
    return "train" if h < ratios[0] else "val" if h < ratios[0]+ratios[1] else "test"

配套三条纪律:划分表随论文发布;报告各 split 类分布(分层比例);OD/OS 同名编号(如 69 OD 与 69 OS)在无患者映射前提下按"疑似同源"做敏感性分析。

附录 E:分层 GT 读取骨架(Python)

from scipy.io import loadmat
from pathlib import Path

def read_layers(mat_path: Path):
    m = loadmat(mat_path)
    layers = {k: v for k, v in m.items() if not k.startswith("__")}
    # 每个键对应一条层间边界的坐标序列(变长)
    return layers

mat = read_layers(Path("06 OS - Copy.jpeg_octSegmentation.mat"))
for name, pts in mat.items():
    print(name, getattr(pts, "shape", None))

要点:文件名先清洗空格与 " - Copy" 后缀;边界是坐标不是掩码,栅格化需自写;变长数组按每键独立处理。

附录 F:跨库口径对照速查

口径项 官方/Borealis 实抓 论文口径 第三方口径
总量 582 >500(abstract);470(正文 4 类) 572
NO / MH 208 / 104 206 / 102 206 / 102
AMD / CSR 57 / 104 55 / —(缺) 55 / 102
DR 109 107 107
分辨率 实测优先 512×1024 750×500
患者数 未披露 未提及 25(仅分割子集,非官方)
类目数 5 five(abstract)/ four(正文笔误) 5

附录 G:五类疾病临床背景速查

类 疾病 OCT 典型征象 临床要点
NO 正常 十层结构清晰、中心凹凹陷完整 对照组;分割 GT 的 25 张出自此类
MH 黄斑裂孔 中心凹全层/部分层缺损 老年女性多见;玻璃体牵拉相关
AMD 年龄相关性黄斑变性 玻璃膜疣、RPE 异常、(湿性)CNV 老年致盲首因;OCTID 57 张
CSR 中浆 神经上皮层下浆液性脱离 中年男性、压力与激素相关;公开库稀缺类目
DR 糖尿病视网膜病变 层间水肿(DME)、硬性渗出 糖尿病人群筛查刚需;与 idrid 构成跨模态对

附录 H:引用模板(BibTeX)

@article{gholami2020octid,
  title   = {OCTID: Optical coherence tomography image database},
  author  = {Gholami, Peyman and Roy, Priyanka and
             Parthasarathy, Mohana Kuppuswamy and
             Lakshminarayanan, Vasudevan},
  journal = {Computers \& Electrical Engineering},
  volume  = {81},
  pages   = {106532},
  year    = {2020},
  publisher = {Elsevier},
  doi     = {10.1016/j.compeleceng.2019.106532}
}
@dataset{octid2018,
  author = {Gholami, Peyman and Kuppuswamy Parthasarathy, Mohana and
            Roy, Priyanka and Lakshminarayanan, Vasudevan},
  title  = {{OCTID citation}},
  year   = {2018},
  doi    = {10.5683/SP2/W43PFI},
  url    = {https://borealisdata.ca/dataset.xhtml?persistentId=doi:10.5683/SP2/W43PFI}
}

附录 I:坑点档案(与 §9 对照)

坑 一句话 对应正文
坑 1 主条目只有 PDF,数据在 6 个子库 §2.3
坑 2 总量 582/572/>500 三口径 §2.1
坑 3 正文 “four categories” 笔误、缺 CSR 数字 §2.1
坑 4 分辨率 512×1024 vs 750×500 §2.2
坑 5 AMD 前缀是 AMRD §2.3
坑 6 论文许可(nonexclusive-distrib)≠ 数据许可(CC0) §4.2
坑 7 Harvard 镜像匿名不可读,主渠道锁定 Borealis §4.3
坑 8 患者数未披露,禁写 “582 患者” §3.4
坑 9 平台更名 Scholars Portal → Borealis,旧域名跳转 §4.3

附录 J:检索决策树

需要 OCT 数据
├─ 要大规模预训练 → oct2017(rid 311,8 万+ 裁剪图,CC BY-NC-ND 口径)
├─ 要协议统一的小库做对照/微调 → 本条目 OCTID(CC0)
│   ├─ 只要 CSR 类 → CSR 子库(104 张,doi:10.5683/SP/FVLZIL)
│   ├─ 要层分割 GT → Manual Seg 子库(25 图+25 mat)
│   └─ 要全量五类 → 5 个类别子库(582 张)
├─ 要 3D 体/血管成像 → octa-500(rid 341)
├─ 要病态区像素级分割 GT → octdl(rid 690)
└─ 要眼底彩照(同病跨模态) → idrid(rid 191)/ refuge(rid 62)

附录 K:改道声明(生产过程存照)

本条目生产任务原指派 slug 为 ultrasound-nerve-segmentation(Kaggle 2016「Ultrasound Nerve Segmentation」)。开工核验发现该数据集已被库内条目 us-nerve-seg(rid 537,status=1) 覆盖,属重复主题;备选 palmpy 经三轮检索证伪(github.com/stefanfluck/palmpy 为 PALM 大气边界层模型系统的地理数据预处理工具,气象域,非医学影像数据集);按任务规则就地改道至备选顺序第 2 位 octid,三源核验(arXiv/期刊论文、Borealis 官方 API、第三方综述与复现)全部通过后成稿。生产代理:agentB-usnerveseg,2026-09-27。

附录 L:评测指标计算骨架(分割/分类)

import numpy as np

def dice(pred_mask: np.ndarray, gt_mask: np.ndarray) -> float:
    """二值 mask 的 Dice 系数;双空约定为 1.0(与 Kaggle OCT 惯例一致)"""
    p, g = pred_mask.astype(bool), gt_mask.astype(bool)
    denom = p.sum() + g.sum()
    if denom == 0:
        return 1.0
    return 2.0 * np.logical_and(p, g).sum() / denom

def boundary_error(pred_pts, gt_pts):
    """平均边界误差:两条边界点序列的双向最近邻距离均值(像素)"""
    from scipy.spatial import cKDTree
    d1 = cKDTree(gt_pts).query(pred_pts)[0].mean()
    d2 = cKDTree(pred_pts).query(gt_pts)[0].mean()
    return (d1 + d2) / 2

def macro_f1(y_true, y_pred, n_classes=5):
    """五类 macro-F1:类不平衡下的主指标(NO 208 vs AMD 57)"""
    from sklearn.metrics import f1_score
    return f1_score(y_true, y_pred, labels=range(n_classes), average="macro")

配套三条报告纪律:分割指标分边界报告(每层一行,别只给均值);分类混淆矩阵全文贴出(582 张的混淆矩阵一目了然);所有指标附带划分表 hash,保证可复现。

附录 M:五类跨库类目映射表

OCTID 类 OCT2017 最近类 关系说明 联用建议
NO(正常) NORMAL 语义一致;采集协议不同 可跨库对齐,域差实验素材
MH(黄斑裂孔) 无 OCT2017 无此独立类 OCTID 独有供给
AMD CNV(部分重叠) CNV≈湿性 AMD 表现;OCTID 未分干湿 只可做"AMD↔CNV"弱映射,别当同类合并
CSR 无 OCT2017 无此独立类 OCTID 独有供给
DR DME + DRUSSEN(部分重叠) OCTID 的 DR 含 DME 表现但未单列;DRUSSEN≈干性 AMD 体征 按征象级(水肿/玻璃膜疣)映射,不做病名直译

映射表三条使用规则:一是映射只在"征象层"成立,病名直译会制造假阳性;二是联合训练时类空间重建(征象多标签)优于类目硬合并;三是所有映射决策写进实验配置并引用本表,方便审稿复核。

附录 N:多库联合实验的域偏移检查单

跨库(OCTID ↔ OCT2017 ↔ Srinivasan2014 等)联用前过一遍:

  1. 设备域:单设备库(OCTID)→ 多设备库(OCT2017)必现域差;先抽 50 张目检对比亮度/噪声纹理/视野范围。
  2. 预处理痕迹:OCT2017 类图含裁剪与标注痕迹(非原生 B-scan),OCTID 为原生单帧——输入分布不同,模型会把"裁剪边框"当特征。
  3. 分辨率/纵横比:按坑 4 逐一实测;resize 策略全库统一并记录。
  4. 类目空间:按附录 M 征象级映射;CSR/MH 类做 OCTID 单库评测,不强行跨库。
  5. 许可对齐:OCTID CC0 可自由联用;OCT2017 CC BY-NC-ND 口径限商用——联合产物(权重/数据卡)按最严许可声明。
  6. 评测隔离:目标域(OCTID)的划分一旦固定不得因源域调参而改动——防"评测集调参"泄漏。

附录 O:图像质量与分辨率实测指南

拿到数据后 15 分钟内做完的五件事:

  1. 逐库抽 5 张读尺寸:PIL.Image.open(...).size——记录是 512×1024、750×500 还是混合;混合则需全库扫描归一策略。
  2. 灰度确认:np.array(img).shape 通道数——第三方口径称灰度;若实际是三通道同值 JPEG,按灰度处理可省 2/3 内存。
  3. JPEG 质量粗估:对层间边界处做局部放大目检——块效应明显则精细分割评测要降权或改用边界平滑指标。
  4. 亮度分布:按类抽 20 张画直方图——类间亮度系统差会被 CNN 当捷径特征,必要时做直方图均衡或按类报告基线率。
  5. 大小-内容相关性抽检:AMD 类文件普遍偏大(§2.7)——确认是否只是纹理复杂度所致(高频成分多),排除"分辨率不一致"的技术性原因。

附录 P:自动化管线断点清单(检索者必存)

断点 现象 规避
主条目误当本体 下载主条目 DOI 只有 PDF 从 dataverse/OCTID 进 6 子库(坑 1)
AMD glob 落空 AMD*.jpg 得 0 张且无报错 前缀 AMRD(坑 5)
文件名空格 分割子库 “06 OS - Copy.jpeg” 读入失败/错配 先规范化重命名(附录 E)
.mat 误当 mask 直接 reshape 崩溃 它是边界坐标,需栅格化(Q35/附录 E)
分辨率假设 按 512×1024 写死 reshape 崩溃 实测优先(附录 O)
Harvard 墙 镜像 DOI 脚本卡登录 主渠道 Borealis(坑 7)
旧域名失效感 scholarsportal.info 链接打不开 会跳转 borealisdata.ca,等跳转或换新域名(坑 9)
三口径混引 论文/综述/实抓数字打架 全链路锁定实抓 582 口径 + 抓取日期(坑 2)

附录 Q:读者路径推荐

读者 推荐路径 预计用时
数据工程师(要接管线) §4.6 下载实操 → 附录 P 断点清单 → 附录 C 脚本 → 附录 O 实测 30 分钟
分类算法研究者 §2.1 口径 → §3.1 任务定义 → §5.3 评估协议 → 附录 L 指标 45 分钟
分割算法研究者 §3.2 分割 GT → §3.3 GUI → 附录 E 读取骨架 → §5.1 官方基线 45 分钟
综述作者 §2.5 景观对照 → §7.5 时间线 → 附录 F 口径表 → 附录 H 引用模板 40 分钟
跨库实验设计者 §7.2 与 OCT2017 互补 → §8.4 双向对照 → 附录 M 映射表 → 附录 N 检查单 60 分钟
许可/合规审查 §4.2 CC0 细读 → 坑 6 → §6.3 光谱表 → INFOBOX 许可行 15 分钟

附录 R:缩写全展开速查

检索文献时最常见的缩写陷阱对照(OCT 语境):

缩写 全称 常见误读
OCTID OCT Image Database 误作 “OCT ID”(编号)或与 OCT 前缀文件混淆
AMRD Age-related Macular Degeneration(文件前缀) 误作 AMD 拼写错误——是官方前缀(坑 5)
MH Macular Hole 与 “Malignant Hyperthermia”(恶性高热)无关
CSR Central Serous Retinopathy 与 “Corporate Social Responsibility” 撞名——医学语境无歧义
DME Diabetic Macular Edema OCT2017 类目;OCTID 未单列(附录 M)
CNV Choroidal Neovascularization OCT2017 类目;≈湿性 AMD 表现
SD-OCT Spectral-Domain OCT 与 TD-OCT(时域,旧技术)区分
DP Dynamic Programming(此处) 分割基线的初始化方法;与"动态规划决策"无关语境
LBP Local Binary Pattern 纹理特征;与医学"腰椎穿刺"(lumbar puncture)撞名
GT Ground Truth 标注金标准;OCTID 中仅 25 张正常图持有

附录 S:五类疾病的 OCT 读图要点(教学速览)

供非影像背景读者建立"模型为什么能分类"的直觉。每类列三个信号:典型征象、易混淆对象、模型可学特征。

NO(正常)

  • 征象:十层条带连续平滑,中心凹凹陷完整,层间无积液无缺损。
  • 易混淆:轻症 CSR(少量浆液积液初看像正常)、早期 AMD(玻璃膜疣小而不显)。
  • 可学特征:层带连续性与中心凹形态——最"模板化"的类。

MH(黄斑裂孔)

  • 征象:中心凹区全层或部分层组织缺失,孔缘常有囊样改变与"盖膜"征。
  • 易混淆:假性裂孔(视网膜前膜牵拉形成的假象)——OCTID 未含此亚型,标签内不含此类干扰。
  • 可学特征:中心凹区局部结构中断——五类中最锐利的判别信号,二分类 sanity check 的首选正类。

AMD(年龄相关性黄斑变性)

  • 征象:RPE 层不规则增厚/隆起、玻璃膜疣沉积、(湿性)CNV 表现为 RPE 下的高反射团块伴积液。
  • 易混淆:DR 的黄斑水肿(同为"层间液性暗区")、CSR(浆液性脱离)。
  • 可学特征:RPE 复合带的形态破坏——57 张小样本里还要承担干湿谱系的类内变异,是最难学的类。

CSR(中心性浆液性脉络膜视网膜病变)

  • 征象:神经上皮层与 RPE 之间的浆液性脱离(低反射液腔),轻症只有局部浅脱离,重症脱离范围大且伴 RPE 损伤。
  • 易混淆:AMD 湿性的浆液性 PED、DME 的囊样水肿。
  • 可学特征:液腔的位置(神经上皮下)与光滑边界——分期混布(§2.6)使类内差异大,聚类分桶后再看特征更稳。

DR(糖尿病视网膜病变)

  • 征象:DME 表现为层间囊样积液(海绵状暗区)、硬性渗出(高反射点)、视网膜增厚。
  • 易混淆:AMD 的积液形态、正常眼的伪影。
  • 可学特征:层间积液的"蜂窝状"分布——与 NO 的区分在轻症端最难,混淆矩阵重点盯 DR↔NO 与 DR↔AMD 两个格子。

读图要点到此为止——建模者不需要成为眼科医生,但知道"模型该看什么"能显著提高 debug 效率(比如模型靠"图像右下角水印"分类时,征象知识能立刻判死这条路)。

附录 T:跨模态方法学互鉴(OCT vs 眼底彩照)

OCTID(OCT)与库内眼底库(idrid rid 191、refuge rid 62)共享"眼科影像分割/分类"的方法学空间,但两侧技术迁移不是镜像对称:

方法学维度 眼底彩照侧(idrid/refuge) OCT 侧(OCTID) 迁移方向与修正
标注粒度 图像级分级(DR 五期)+ 病灶框 层间边界 GT + 图像级病类 OCT 的分层 GT 更"细",fundus 的分级标签更"临床"
分割对象 视杯/视盘(大结构、2D 区域) 层间边界(细条带、1D 曲线) 区域分割法(UNet 系)双向可用;边界任务加形状正则
类不平衡 分级长尾(重度期稀少) 类目比 3.6:1 同款对策:分层抽样+macro 指标
跨模态融合点 出血/渗出/微血管瘤(2D 投影) 层间水肿/缺损(深度信息) 病例级融合受 OCTID 无患者映射限制(坑 8);分布级融合可行
质量伪影 亮度不均、视野裁切 散斑噪声、JPEG 压缩 各自的预处理管线不可互换,先实测(附录 O)

两条可操作的互鉴结论:其一,把 OCT 分层先验(OCTID GT)当"解剖约束"迁移到眼底库的视盘分割——解剖结构相对位置在两模态间有对应关系;其二,DR 研究做"fundus 筛查阳性 → OCT 确认"的两级流水线设计时,OCTID 是 OCT 确认级的最小可行评测集——这比硬造一个"fundus+OCT 同患者"对齐数据集便宜一个数量级。

附录 U:582 张能做什么——实验设计菜单

按"体量现实"把可行实验分成三档,供选题时对号入座:

绿档(582 张直接可行)

实验 设计要点
五类分类评测基准 预训练骨干 + 冻结特征线性探针 / 轻量微调;分层抽样划分 + macro-F1
MH vs NO 二分类 sanity check 最锐利判别对;任何新管线先用它验证数据装载正确性
正常眼分层分割评测 25 张 GT 做"留一/交叉"式方法对比;按层报告边界误差
CSR 供给研究 类内聚类分期 → 分期条件下的特征分析;公开域几乎唯一选择
可解释性/显著性分析 统一协议让显著性图跨类可比——大库做不到

黄档(需外部配合)

实验 需要什么
从头训练 CNN 数据增强全开 + 极小模型;预期方差大,需多种子
跨库域适应 OCT2017 等作源域;附录 N 检查单全项执行
分割模型训练 自标扩充(社区做法)或半监督;官方 GT 只作评测
患者级泛化分析 官方发患者映射才行——目前不可行

红档(数据不支持,别立项)

  • 3D 体数据分析(每例仅 1 帧)。
  • 病态视网膜分层分割训练(GT 只有正常眼 25 张)。
  • 纵向随访/进展建模(无时间轴元数据)。
  • 人口学亚组分析(无年龄性别等元数据)。

这张菜单的本质是把"规模"翻译成"实验可行性边界"——引用 OCTID 的立项书里如果出现红档条目,审稿人一票否决的概率极高。

附录 V2:五类之间的两两判别难度排序

给做混淆矩阵分析的人一个先验预期(基于 §2.6/附录 S 的征象分析,非实验数据):

对 难度 主导因素
NO vs MH ★☆☆ 全层缺损信号极强
MH vs AMD ★★☆ 裂孔 vs 隆起形态差异明显
NO vs DR(轻症端除外) ★★☆ 囊样积液显性
NO vs CSR(轻症端) ★★★ 浅脱离与正常皱褶难分
NO vs AMD(早期) ★★★ 玻璃膜疣细小
CSR vs AMD ★★★ 浆液性脱离 vs 纤维血管性 PED 形态学交叠
DR vs AMD(水肿为主时) ★★★ 都是"层间液性暗区",位置与伴随征是关键

排序的用法:跑完五类分类后,把实际混淆矩阵与这张预期表对照——若"简单对"(如 NO vs MH)误分率高,先查数据管线而非模型;若混淆集中在预期"三星对"上,说明模型行为正常,改进方向是特征而非流程。

附录 W:检索关键词面板

把本条目可能被检索到的词集中列出(SEO 与站内互链参考):

  • 英文主词:OCTID、OCT Image Database、Optical Coherence Tomography Image Database、Waterloo OCT database、University of Waterloo Database。
  • 疾病词:macular hole、AMD、age-related macular degeneration、central serous retinopathy、CSR、diabetic retinopathy、DR、retinal layer segmentation。
  • 技术词:B-scan、fovea-centered、raster scan、Cirrus HD-OCT、SD-OCT、512×1024、retinal layers。
  • 中文词:光学相干断层扫描、视网膜图像库、黄斑裂孔、黄斑变性、中浆、糖尿病视网膜病变、视网膜分层分割、眼科影像数据集。
  • 平台词:Borealis、Dataverse、Scholars Portal、CC0、10.5683。
  • 坑词(错误拼法但会命中):AMRD(文件前缀)、Segmenation(子库原始拼写)、“OCT-ID”。

面板末条的"坑词"值得多看一眼:AMRD 与 Segmenation 是官方数据里的真实字符串——站内检索索引若能命中这两个错误拼法,反而会帮检索者直达数据本体。

附录 V:Borealis/Dataverse 平台速览(取数前 5 分钟)

OCTID 托管在 Dataverse 系平台——了解平台行为能省掉很多试错:

  • 平台:Borealis(borealisdata.ca),加拿大高校联合的学术数据仓储,底层是开源 Dataverse 软件;前身 Scholars Portal Dataverse(旧域名会 302 到新域名,坑 9)。
  • 条目结构:一个 Dataverse(dataverse/OCTID)下挂 7 个 Dataset(条目);每个 Dataset 有独立 DOI 与版本号(V1, V2…);文件挂在 Dataset 的版本里。
  • 访问端点:网页 /dataset.xhtml?persistentId=doi:...(JS 渲染,爬虫不友好);REST API /api/datasets/:persistentId?persistentId=doi:...(JSON,匿名可读);文件直下 /api/access/datafile/<id>。
  • 许可机制:license 是 Dataset 级字段(API 里 latestVersion.license)——OCTID 七条目全 CC0(本条目已逐一验证);遇到 license 字段为 null 的 Dataverse 条目要看 Terms 页,别默认开放。
  • 版本行为:新版本发布后旧 DOI 永久指向最新版(可加 ?version=1.0 锁版本);OCTID 至今 V1,无锁版本需求,但复现脚本建议显式锁版本号,防未来漂移。
  • 订阅:每条目页 “Get Updates”/RSS 可订阅版本变更——监控 OCTID 是否突然发 V2 的零成本手段。

平台的通用性是双刃剑:好处是 API 稳定、元数据规范、长线托管可靠(国家级基础设施);代价是"条目≠数据包"的间接性(OCTID 主条目只有 PDF 即典型,坑 1)。取数脚本按本速览的端点结构写,迁移到库内其他 Dataverse 系条目(如 Zenodo 之外的大学托管库)时基本零改动。


相关数据集导航

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

  • fgadr — 共享标签:医学影像 / 眼科影像 / 图像分类 / 医学图像分割 / 糖尿病视网膜病变
  • octa-500 — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 糖尿病视网膜病变
  • duke-dme — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 糖尿病视网膜病变
  • oimhs — 共享标签:医学影像 / 眼科影像 / 图像分类 / 医学图像分割
  • palm — 共享标签:医学影像 / 眼科影像 / 图像分类 / 医学图像分割
  • fives — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 糖尿病视网膜病变
  • iostar — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 糖尿病视网膜病变
  • eyepacs — 共享标签:医学影像 / 眼科影像 / 糖尿病视网膜病变
  • messidor — 共享标签:医学影像 / 眼科影像 / 糖尿病视网膜病变
  • ddr — 共享标签:医学影像 / 眼科影像 / 糖尿病视网膜病变

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

返回 AI-Ready 数据集