信息速览
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 同时覆盖了"按疾病分类"与"逐层分割"两类任务——前者是主流用法,后者是它区别于纯分类库的技术纵深。
导语读法三则:
- 只想下数据:直奔 §4 获取与许可——Borealis 主条目本身只有一个 PDF,图像分散在 6 个子库里(坑 1),按类独立 DOI 下载。
- 关心规模与口径:直奔 §2.1 规模三口径对照——582(实抓)/572(第三方)/>500(论文)三个数字并存,引用前先定口径。
- 做分层分割:直奔 §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 读法三则:
- 这个条目覆盖"分类+分割"双任务:582 张五类图是分类任务的本体,25 张带分层 GT 的正常图是分割任务的金标准子集——两者规模、用途、引用方式都不同,别混为一谈(§3)。
- 全文规模数字以 Borealis API 实抓为准(582 张);论文口径与第三方口径的分歧已在坑 2/坑 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” |
三条抓取注意事项:
- 主条目 ≠ 数据本体。主条目(OCTID citation)只挂了论文 PDF——不少综述引用主条目 DOI 就以为"下到了数据",实际图像全在 6 个子库里(坑 1)。
- AMD 前缀是 AMRD。写脚本按
AMD*.jpegglob 会得到 0 张,正确前缀是AMRD(坑 5)。 - 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 的渗出表现有交叉。
对建模者的含义有三条:
- 做 CSR 相关研究时,OCTID 的 104 张几乎是公开域里的主要选择之一——这个规模的类目做二分类微调可行,做从头训练不足。
- 跨库疾病谱对齐:OCTID(NO/MH/AMD/CSR/DR)与 OCT2017(CNV/DME/drusen/normal)只有"正常"和部分 AMD/CNV 重叠,CSR 类无法跨库对齐——联合训练时类别空间要重新设计。
- 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,内容为逐层边界的坐标数据。MATLABload后即可读出各边界点的位置序列。 - 配套论文 Fig 7 的 GUI 截图可见边界命名采用 ILM、ISOS、RPE 等视网膜层间界面缩写;第三方复现者按 8 层结构使用(NFL / GCL+IPL / INL / OPL / ONL / Ellipsoid zone / RPE / Choroid)。
金标准的三条使用注意:
- 单专家手标、无重复标注协议:GT 由一位资深临床医生(MKP)完成,论文未提供观察者间变异度量——用它报告 Dice/边界误差时,"金标准本身的方差"是未知量,宜在论文中声明这一局限。
- 只覆盖正常眼:25 张全部来自健康视网膜。病态视网膜(MH/AMD/CSR/DR)的分层形变恰恰是分割的难点——OCTID 的分割 GT 回答不了"病变层分割"问题,那是 octdl 等库的领域(§7.1)。
- 文件名的空格与特殊字符:批量读入时注意 " - 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,功能三块:
- 边界列表选择:下拉框列出所有层间界面,选中哪层就编辑哪层。
- 手动模式(manual):鼠标点击逐点重画整条边界。
- 半自动模式(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 数据质量与已知问题
官方在论文中披露的限制不多,以下综合官方与第三方口径:
- 近重复问题未见官方讨论:因为每例只取一帧 fovea-centered,同例近重复的风险比"整卷入库"的库小;但同一患者的双眼(OD/OS)可能各自成图,官方未提供患者映射,跨图独立性无法验证。
- CSR 分期混布:CSR 子库含轻重两期(论文 Fig 6),类内异质性大于其他类——做 CSR 相关分析时建议先做分期聚类或目检分桶。
- JPEG 压缩:官方以 JPEG 分发(非 PNG/TIFF),压缩伪影在低对比度层间边界处可能影响精细分割评测——用前可量化 SSIM 损失。
- 无官方 train/test 划分:库没有自带切分,复现者各自划法不一,跨论文分数不可直接比较——这是"无 leaderboard 数据集"的通病,横向对比时只认同一划法的数字。
3.6 标注劳动结构复盘:一个人、两条劳动线
把 OCTID 的标注劳动摊开看,会发现它是一条极简的"单点依赖"结构:
| 劳动线 | 执行者 | 劳动内容 | 依赖深度 |
|---|---|---|---|
| 选帧 | MKP(资深临床视光师) | 从每例 volumetric scan 中确认并选出 fovea-centered 帧 | 临床判断——全库一致性的第一道闸 |
| 分类标签 | Sankar a Nethralaya 临床侧 | 疾病诊断随图像"自带",零额外标注劳动 | 采集医院的诊断质量 |
| 分割 GT | MKP | 25 张正常图逐层手工勾勒 | 单人专家劳动——GT 的天花板与方差来源 |
| GT 工具化 | 作者团队 | MATLAB GUI 封装手动/半自动修正 | 工程劳动 |
这套结构的三点启示:
- 选帧是隐形标注:每例挑一帧 fovea-centered 本身就是一个临床判断任务(判断哪帧过中心凹),论文把它算作采集流程而非标注流程——但它实质上决定了全库的"视角一致性"。复现"OCTID 式小库"时,这笔劳动预算常被低估。
- 单点依赖的风险与收益:分割 GT 只有 MKP 一人——收益是风格一致(无多标注者融合噪声),风险是系统性偏差无制衡(无第二人交叉验证)。使用 GT 报告分割指标时,应表述为"与该专家标注的一致性"。
- 零标注成本的分类标签是双刃剑: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 的实际含义:
- 无署名义务:法律上不要求署名(CC-BY 要求 attribution,CC0 连这条都不要)。但学术伦理上仍应引用论文与数据 DOI——这是惯例而非法律义务。
- 无使用领域限制:商业用途、衍生数据集再分发、模型权重的许可传递链都不受数据许可约束——这与 OCT2017 的 CC BY-NC-ND(禁商用+禁衍生再分发)形成鲜明对比。
- 无"研究用途"限定:不需要签 EULA、不需要说明用途、不需要机构背书。
在库内 AI-Ready 评估的"许可明确性"维度上,OCTID 是天花板级别。一个容易被忽略的细节:arXiv 论文本体的许可(nonexclusive-distrib 1.0)与数据许可(CC0)是两回事(坑 6)——论文 PDF 不能像数据那样自由再分发,期刊版(Elsevier)更要走付费墙。引用时"数据按 CC0、论文按其各自许可"分开声明。
CC0 三个高频误区(合规审查时反复被问):
- “CC0 = 不用引用”——错。法律义务与学术伦理要分开:CC0 免除的是署名的法律义务,学术写作中不引数据来源仍属学术不端。正确姿势:照引(附录 H 模板),且引用是零成本的。
- “CC0 数据训练的模型自动 CC0”——不成立。模型权重许可是模型许可问题,数据 CC0 只保证数据层无约束;模型许可证(如 Apache-2.0/MIT/自定)由发布者另定。
- “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 十分钟下载实操路径
按顺序执行,从零到本地可用数据:
- 进入主 dataverse:浏览器打开
https://borealisdata.ca/dataverse/OCTID——页面列出 7 张子库卡片(1 主条目 + 6 子库)。认准卡片标题里的疾病名,主条目(OCTID citation)只有 PDF(坑 1)。 - 按类下载:点入子库 → 右上 “Access Data” → “Download Zip”(整类打包)。五个类别子库 + Manual Segmentation 各下一次;全库合计约 50 MB 量级(§2.7),一次拿完。
- 校验完整性:对照 API 文件清单核对文件数(附录 C 骨架)——Borealis 无官方校验和,文件数+大小比对是唯一校验手段。
- 文件名规范化:分割子库文件名含空格与 " - Copy" 后缀,先跑一遍重命名脚本(去空格、统一小写)再入管线。
- 实测分辨率:
img.size一行确认你拿到的 JPEG 尺寸(512×1024 还是 750×500)——把它写进实验记录,后续所有 resize 决策基于实测值(坑 4)。 - 记录口径:在实验日志里记下抓取日期与文件计数(582 口径的来源),引用与复现都以此为准。
常见失败模式两则:用 AMD*.jpeg glob 得 0 张(前缀是 AMRD,坑 5);走 Harvard 镜像 DOI 卡在登录墙(切回 Borealis,坑 7)。
§5 评估、基线与复用生态
5.1 官方基线:从硕士论文来的两条线
OCTID 没有挑战赛意义上的 leaderboard,官方基线出自一作 Gholami 的滑铁卢硕士论文(UWSpace 收录)与同组 SPIE 前期工作:
分割线:
- 预处理:小波去噪(小波域降噪降低散斑噪声影响)。
- 初始化:Viterbi 动态规划找初始层边界(利用 OCT 分层结构强先验)。
- 精化:Chan-Vese 无边缘活动轮廓 + 自适应加权边界能量项,把初始曲线收敛到精确边界。
- 评估:对 25 张金标准报告各边界误差(mean±std)。
分类线:
- 特征工程版:LBP(Local Binary Pattern,局部二值模式)纹理描述子 + 多阶段 SVM(MSVM)。
- 深度版:AlexNet/GoogLeNet/ResNet 迁移学习 + 数据增强消融。
- 消融:去噪(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 联合预训练自监督骨干 |
三个复用细节值得记录:
- 第三方自标现象:UNet 分割项目没有直接用官方 .mat(25 张正常图),而是用 makesense.ai 自行标注——侧面说明 .mat 格式 + 单专家 GT 的"可接驳性"不够顺滑(无官方 Python 加载器、无逐层像素掩码导出),复现者宁愿重标。
- 引用口径漂移:72 条引文里出现 “Waterloo, n = 572” 与 512×1024 / 750×500 两种分辨率口径并存(坑 2/坑 4 的传播链)——引用 OCTID 的论文自己也要先核口径。
- 期刊版是正式引用锚:复现项目的 BibTeX 用 gholami2020octid(CEE 81:106532),而非 arXiv 版——期刊版已成为事实上的规范引用。
5.3 评估协议建议:如何在无 leaderboard 的库上做可比实验
OCTID 没有官方划分,跨论文分数不可直接比。要做出可比、可复现的数字,建议遵循四条:
- 划分写死并公开:582 张按类分层抽样(如 60/20/20),随机种子写进论文;或直接采用固定文件名列表(附录 D 建议)。
- 患者独立性自检:虽然患者映射缺失,文件名 OD/OS 痕迹可提示同源可能——至少对 Manual Seg 子集(同一编号的 OD/OS 对)做组内聚合评估。
- 分辨率声明:报告输入尺寸与插值方式(750×500 vs 512×1024 的 resize 路径会影响细层边界误差)。
- 类不平衡处理: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 仍有失分"的活教材:
- 患者元数据缺失是硬伤:没有患者映射意味着所有"患者级泛化"的实验设计(跨患者划分、按患者聚合评估)都做不了严格版——582 张可能只有几百个患者,模型可能在"同一患者的双眼图分属训练与测试"的泄漏上刷分而不自知。
- 标签的临床遗产性质:标签=临床诊断。模型学到的上限是"复制这家医院的诊断一致性",不是"复现教科书定义"。
- 口径混乱的维护成本:三口径数字、双口径分辨率、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 引文的分布里藏着三条对引用者有用的细节:
- 期刊版压倒 arXiv 版成为默认锚:正式引用几乎清一色 gholami2020octid(CEE 81:106532)——Elsevier 期刊的"正式感"在引用习惯里起了决定作用。反过来说,只读 arXiv 版会漏掉期刊版可能的编辑修订(本条目已在遗留疑点存照两者未逐字比对)。
- 口径错误有传播链:572 张口径与 750×500 分辨率在引文之间复现——一篇带误差的早期引用被后续综述转引,口径就"洗白"成了常识。防传播的姿势只有一个:回到 Borealis API 重新数一遍(§2.1 备忘)。
- “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 分层分割方法学的迁移素材 | 眼底分割任务的大标注规模与双标注协议 |
组合拳三个已验证的打开方式:
- “大预训练+小评测”:oct2017 训骨干 → OCTID 五类做分布内评测 → octdl 做跨任务泛化——三级评测链。
- “DR 双模态”:idrid(fundus)+ OCTID(OCT)做特征级融合或一致性学习——受限于 OCTID 无患者映射,融合粒度只能到"分布级"而非"病例级"(坑 8 的实际代价)。
- “分割先验迁移”: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 三句话总结
- OCTID 用 582 张同设备同协议的 fovea-centered B-scan 换来了 OCT 库里罕见的"跨类可比性",并以 CC0 加独立 DOI 做到许可与获取的天花板级开放。
- 25 张单专家分层 GT + MATLAB GUI 给它添加了"分类库之外的分割纵深",但也锁定了"正常眼 only、无方差度量"的天花板。
- 它的三大口径(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 条)
- OCTID = Optical Coherence Tomography Image Database,滑铁卢大学 TEEL 实验室发布。
- 论文作者 4 人:Peyman Gholami(一作)、Priyanka Roy、Mohana Kuppuswamy Parthasarathy(MKP)、Vasudevan Lakshminarayanan(资深)。
- 机构:Theoretical & Experimental Epistemology Lab (TEEL), School of Optometry and Vision Science, University of Waterloo。
- arXiv:1812.07056,v1 2018-12-17(382 KB)、v2 2019-05-27(541 KB)。
- 期刊版:Computers & Electrical Engineering 81:106532(2020,Elsevier),doi:10.1016/j.compeleceng.2019.106532(2026-09-27 DOI 解析验证)。
- 数据发布:2018-12-19,Borealis dataverse/OCTID,7 条目全部 V1。
- 主条目 doi:10.5683/SP2/W43PFI 仅含 1 个 PDF(382.1 KB),不含图像。
- 五个子库图像实抓:NO 208 / MH 104 / AMD 57 / CSR 104 / DR 109,合计 582 张 JPEG。
- 第三方引用口径 572 张(每类比实抓少 2);论文 abstract 口径 “>500”;论文正文结构节仅 4 类共 470 张(缺 CSR)。
- 论文正文写 “four categories” 后列 5 类——笔误。
- 采集设备:Cirrus HD-OCT(Carl Zeiss Meditec, Dublin, CA)。
- 扫描协议:raster scan,2mm 扫描长度;每例取一张 fovea-centered B-scan。
- 像素口径:论文 512×1024;第三方复用实测 750×500(或 500×750)灰度。
- 轴向/横向分辨率:5μm / 15μm(in tissue)。
- 采集医院:Sankara Nethralaya (SN) Eye Hospital,印度钦奈;对接人 Dr. Muna Bhende 与 Ms. Girija。
- 选帧与标注人:资深临床视光师 MKP。
- 分类标签继承医院临床诊断,非独立双盲标注。
- Manual Segmentation 子库:25 张正常眼 JPEG + 25 个
_octSegmentation.mat逐层边界文件。 - 分割 GT 为单专家手标,无观察者间变异报告。
- 分割 GUI:MATLAB,manual/semi-auto 两模式,边界下拉选择。
- 文件名前缀:NORMAL/MH/AMRD/CSR/DR——AMD 类前缀为 AMRD。
- License:CC0 1.0,7/7 条目 API 验证(2026-09-27)。
- arXiv 论文许可 nonexclusive-distrib 1.0,与数据 CC0 为两套许可。
- Harvard Dataverse 镜像 doi:10.3886/E108503V1(论文声明;匿名访问受限,2026 实测)。
- Scholars Portal Dataverse 平台已更名 Borealis(borealisdata.ca),旧域名跳转可达。
- 患者级元数据未披露;文件名 OD/OS 痕迹无映射说明。
- CSR 子库含轻重分期样本(论文 Fig 6)。
- 官方基线(Gholami 硕士论文):分割 = 小波去噪 + Viterbi DP 初始化 + Chan-Vese 活动轮廓 + 自适应加权边界项;分类 = LBP + 多阶段 SVM,及 AlexNet/GoogLeNet/ResNet 迁移学习。
- Gholami 硕士论文收录于 UWSpace;委员会含 Daphne McCulloch、Alexander Wong。
- 资助:NSERC Discovery Grant(VL);MKP 受 Schlumberger Foundation Faculty for the Future 支持。
- scite 记录 72 条 citation statements(2020-2025)。
- MDPI Bioengineering 2023 综述以 “University of Waterloo Database” 收录(>500 张、2mm、512×1024 口径)。
- 第三方 UNet 分割项目(beasygo1ng)称 25 张≈25 健康患者、750×500 灰度——均非官方口径。
- 第三方自监督项目(Mercury22)以期刊版 BibTeX(gholami2020octid)引用,OCTID 与 OCT2017/Srinivasan2014 联训。
- 论文 2018 年自称 “possibly the largest OCT retinal image database”——时效性已过。
- OCTID 无官方 train/test 划分。
- 类分布不平衡:NO 208 vs AMD 57(约 3.6:1)。
- Borealis 各子库 2018-12 上线后维持 V1 无版本更新(2026-09-27 观察)。
- 库内互链:oct2017(311)、octa-500(341)、octdl(690)、idrid(191)、refuge(62)。
- 本条目改道链:ultrasound-nerve-segmentation(rid 537 已占用)→ palmpy(证伪)→ octid。
来源锚点清单
(注:#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 等)联用前过一遍:
- 设备域:单设备库(OCTID)→ 多设备库(OCT2017)必现域差;先抽 50 张目检对比亮度/噪声纹理/视野范围。
- 预处理痕迹:OCT2017 类图含裁剪与标注痕迹(非原生 B-scan),OCTID 为原生单帧——输入分布不同,模型会把"裁剪边框"当特征。
- 分辨率/纵横比:按坑 4 逐一实测;resize 策略全库统一并记录。
- 类目空间:按附录 M 征象级映射;CSR/MH 类做 OCTID 单库评测,不强行跨库。
- 许可对齐:OCTID CC0 可自由联用;OCT2017 CC BY-NC-ND 口径限商用——联合产物(权重/数据卡)按最严许可声明。
- 评测隔离:目标域(OCTID)的划分一旦固定不得因源域调参而改动——防"评测集调参"泄漏。
附录 O:图像质量与分辨率实测指南
拿到数据后 15 分钟内做完的五件事:
- 逐库抽 5 张读尺寸:
PIL.Image.open(...).size——记录是 512×1024、750×500 还是混合;混合则需全库扫描归一策略。 - 灰度确认:
np.array(img).shape通道数——第三方口径称灰度;若实际是三通道同值 JPEG,按灰度处理可省 2/3 内存。 - JPEG 质量粗估:对层间边界处做局部放大目检——块效应明显则精细分割评测要降权或改用边界平滑指标。
- 亮度分布:按类抽 20 张画直方图——类间亮度系统差会被 CNN 当捷径特征,必要时做直方图均衡或按类报告基线率。
- 大小-内容相关性抽检: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 — 共享标签:医学影像 / 眼科影像 / 糖尿病视网膜病变
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

