信息速览
INFOBOX — Cataract-1K 一屏速览
维度 内容 本质 全球最大白内障手术视频数据集:1000 台手术录像 + 阶段识别/语义分割/不规则检测三任务标注 全称 Cataract-1K: Cataract Surgery Dataset for Scene Segmentation, Phase Recognition, and Irregularity Detection 团队 伯尔尼大学 CAIM + 克拉根福大学信息技术系 + Klinikum Klagenfurt 眼科(8 作者) 通讯 Klaus Schoeffmann(克拉根福大学 ITEC,ks@itec.aau.at) 主论文 Scientific Data 2024;11:373(doi:10.1038/s41597-024-03193-4;PMID 38609405) 预印本 arXiv:2312.06295(v1 2023-12-11) 采集 2021-2023,Klinikum Klagenfurt(奥地利克拉根福);伦理号 EK 28/17 设备 MediLive Trio Eye 摄像 + ZEISS OPMI Vario 显微镜 全集 1000 台视频;未标注 25 fps / 512×324;平均 7.12 分钟;约 89.9 GB 阶段子集 56 台;1024×768 / 30 fps;平均 6.45 分钟;12 action phases + idle 分割子集 30 台 / 2256 帧;每 5 秒抽 1 帧;5 折患者级划分 分割类别 3 解剖结构(虹膜/瞳孔/人工晶体)+ 9 器械 不规则子集 瞳孔反应(瞳孔收缩)+ 人工晶体旋转(IOL 在 <7 秒内快速顺时针旋转) 任务 阶段识别 | 场景语义分割 | 术中不规则检测 获取 Synapse(免费注册):主集 syn53404507 及 4 个任务子集 accession 许可 CC BY 4.0(署名即可再分发) 资助 Haag-Streit Foundation;奥地利 FWF P 31486-N31、P 32010-N38 库内互链 cataract-101、cataracts(同族白内障手术视频数据集)
Cataract-1K 是白内障手术视频分析领域目前规模最大的一块公开数据基座。2021 至 2023 年间,奥地利克拉根福的 Klinikum Klagenfurt 眼科诊所与伯尔尼大学、克拉根福大学组成的联合团队,把 1000 台白内障手术的显微镜录像系统化采集并整理公开,一举把该领域公开数据的量级从"百台以内"推向"千台"。它不止提供视频,还围绕手术视频分析的三类核心任务——手术阶段识别、手术场景语义分割、术中不规则检测——各配一套标注子集,让算法能在同一数据源上横向比较。
Cataract-1K 的定位与既有的 Cataract-101(101 台、2018)和 CATARACTS(50 台)一脉相承但全面升级:规模更大(1000 vs 101/50)、任务更全(阶段+分割+不规则 vs 单一任务)、标注更细(帧级阶段 CSV + 像素级分割 + 事件级不规则标签)。它既是手术工作流分析(surgical workflow analysis)的规模试验场,也是首次系统性开展白内障器械分割**域适配(domain adaptation)**研究的载体。
导语读法三则:
- 只想下数据:直奔 §6 获取与许可——数据全在 Synapse,主集与四个任务子集按 accession 分开下载,主集本体 89.9 GB,注意先注册。
- 关心标注子集怎么用:直奔 §2 数据构成——56 台做阶段识别、30 台/2256 帧做语义分割、另有两个不规则子集,各子集是主体 1000 台的子样本,不能与主体混为同一层级。
- 要做算法评测:直奔 §7 评估基准——论文对多种 SOTA 网络在阶段识别与场景分割上做了基准,并首次评估跨域器械分割,先对齐任务口径再比分数。
§0 导读:这个数据集解决什么问题
白内障是全球首位致盲性眼病,手术是唯一根治手段,全球每年施行数千万台白内障手术。手术过程高度标准化:从切口、撕囊、超声乳化、晶体植入到前房冲洗,步骤固定、顺序明确——正是这种"结构化"特征,使它成为手术视频分析与手术机器人研究的理想场景。然而,白内障手术视频分析长期受制于一个数据瓶颈:公开数据集稀少且规模偏小。早期公开数据多以数十台计时,标注或只有阶段标签、或只有器械框,很难支撑深度学习模型的大规模训练与公平比较。
Cataract-1K 正是为拆掉这个瓶颈而生。它由克拉根福大学 ITEC 团队(该团队也是 Cataract-101 的原创者)牵头,联合伯尔尼大学医学 AI 中心(CAIM)与 Klinikum Klagenfurt 眼科诊所,用三年时间把临床日常产生的 1000 台手术录像整理成公开数据集,并针对三类核心任务各配标注:
- 手术阶段识别(phase recognition):手术视频按时间切分成 12 个标准行动阶段加 idle,让模型学会"现在进行到哪一步"。这是手术流程理解的基础能力。
- 手术场景语义分割(scene segmentation):逐像素区分解剖结构(虹膜、瞳孔、人工晶体)与器械(9 类),让模型看清画面里"是什么、在哪里"。这是器械跟踪与增强现实导航的基础。
- 术中不规则检测(irregularity detection):检测术中的异常事件,如瞳孔收缩(pupil constriction)与人工晶体(IOL)旋转。这类事件时窗极短却关乎手术安全,是难度最高、也最贴近临床风险的一类任务。
它的价值不在单点,而在"规模 + 任务完备性 + 真实临床分布"的组合:1000 台来自同一临床流水线的真实手术,配上从低层像素到高层时序的三级任务标注,使 Cataract-1K 同时充当白内障手术视觉算法的训练粮仓与评测擂台。它的短板同样鲜明——标注子集相对主体覆盖率低(阶段标注 5.6%、分割标注 3%)、全部来自单一中心、获取需经 Synapse 注册。
§0 读法三则:
- 这个条目是"数据集 + 三任务标注 + 一篇域适配研究"三合一:数据是本体,三个子集的标注规格在 §2,任务的算法意义在 §3,域适配的评测发现在 §7。
- 全文硬数字(1000/56/30/2256/12+idle/3+9)均可三源互证(GitHub README、官方项目页、论文);唯一需要明辨口径的是"60 台视频用于标注"这一合并计数(见正文存照)。
- 检索时"Cataract-1K"与"Cataract-1k"(大小写)都要试——官方 README 混用两种写法,是同一数据集。
§1 数据集速览:十问十答
Q1:Cataract-1K 是什么,不是什么?
是一个手术视频数据集——1000 台白内障手术显微镜录像,加三类任务的标注子集,供手术流程分析与手术视觉算法评测。它不是临床诊断工具,不是手术机器人系统,也不是竞赛(不像 CATARACTS 那样以 challenge 形式组织)。它是数据集 + 论文(Scientific Data)的组合,任务是"用深度学习方法辅助分析白内障手术视频"。
Q2:为什么叫"1K"?
"1K"指主体规模 1000 台手术视频(1K = 1000)。这是数据集最核心的身份标识——把白内障手术视频从数十台量级推到千台量级。注意"1K"是视频台数,不是分辨率(分辨率是 512×324 未标注版 / 1024×768 标注版)。
Q3:它和 Cataract-101、CATARACTS 是什么关系?
同领域但不同团队、不同年代、不同规模的三个独立数据集:
- Cataract-101(ITEC/AAU 克拉根福,2018):101 台视频,10 阶段标注,FTP/Zenodo 获取,2015-2016 采集。
- CATARACTS(法国 Brest 大学医院,grand-challenge 竞赛):50 台双路视频,21 类器械,Synapse syn21680292。
- Cataract-1K(伯尔尼+克拉根福联合,2024):1000 台,12 阶段 + 语义分割 + 不规则检测三任务。
Cataract-1K 与 Cataract-101 共享克拉根福团队谱系(Schoeffmann 均为作者),可视为前者的规模化与任务扩展升级;与 CATARACTS 则是并行独立的数据集。三者在千方库内互相强关联。
Q4:数据在哪儿下载?
托管于 Synapse 平台(synapse.org),需免费注册账号。主集 accession 为 syn53404507(约 89.9 GB),另有四个任务子集各有 accession。详见 §6。
Q5:1000 台视频都有标注吗?
不是。主体 1000 台是未标注全集(25 fps / 512×324);有标注的是其中的子样本——56 台做阶段识别、30 台做语义分割、另有两个不规则子集。这是最容易误读的一点:"1000"是视频台数,"标注子集"是它的子集。
Q6:阶段识别是哪 12 个阶段?
incision(切口)、viscoelastic(粘弹剂)、capsulorhexis(撕囊)、hydro-dissection(水分离)、phacoemulsification(超声乳化)、irrigation-aspiration(注吸)、capsule polishing(囊膜抛光)、lens implantation(晶体植入)、lens positioning(晶体定位)、viscoelastic-suction(粘弹剂抽吸)、anterior-chamber flushing(前房冲洗)、tonifying/antibiotics(补液/抗生素),再加 idle(空闲段)。详见 §3。
Q7:语义分割标注哪些类别?
3 个解剖结构(iris 虹膜 / pupil 瞳孔 / intraocular lens 人工晶体)+ 9 件器械(切口刀、规尺、铲、撕囊针、乳化头、注吸、推注器、撕囊镊、katana forceps 刀镊)。器械清单末项存在 katana forceps 与 Sinskey hook 的口径分歧,见 §2 存照。
Q8:不规则检测检测什么?
两类术中不规则事件:瞳孔反应(瞳孔收缩) 与 人工晶体(IOL)旋转。IOL 展开时的快速顺时针旋转发生在不足 7 秒内,事件时窗极短。详见 §3。
Q9:许可是什么,能商用吗?
官方 README 声明 CC BY 4.0(署名即可再分发、改编,包括商用)。需注意第三方目录 EyeDataHub 曾归一化为"research only",与官方口径有张力,本条目以官方 CC BY 4.0 为准。详见 §6。
Q10:谁做的,数据在哪采的?
伯尔尼大学 CAIM、克拉根福大学信息技术系、Klinikum Klagenfurt 眼科诊所联合团队(8 位作者,通讯 Klaus Schoeffmann)。数据采集于 Klinikum Klagenfurt(奥地利克拉根福)眼科诊所,时间跨度 2021-2023。详见 §2。
§2 数据构成与规格:一千台主体与四个标注子集的层级关系
理解 Cataract-1K 的第一要义,是分清它的层级结构。这不是一个"要么全标注、要么无标注"的平铺数据集,而是"一个大海量无标注主体 + 四个小规模精细标注子集"的两级结构。初学者最常犯的错误,就是把主体 1000 台的规模套到标注子集上,或者反过来把标注子集的规格当成主体规格。本节把每一层的规模、规格、标注内容、划分方式逐条厘清。
2.1 主体:1000 台未标注全集
Cataract-1K 的本体是 1000 段白内障手术显微镜录像,采集于奥地利克拉根福的 Klinikum Klagenfurt 眼科诊所,时间跨度为 2021 至 2023 年。这 1000 台是该数据集最核心的身份标识——它把白内障手术视频公开数据的量级从"百台以内"(前作 Cataract-101 是 101 台,CATARACTS 是 50 台)直接推到了"千台"。这正是 “1K” 的由来。
主体视频的关键规格如下:
| 属性 | 取值 | 说明 |
|---|---|---|
| 视频数量 | 1000 段 | 白内障手术显微镜录像 |
| 采集地点 | Klinikum Klagenfurt(奥地利克拉根福)眼科诊所 | 单一中心 |
| 采集时间 | 2021—2023 年 | 约三年临床流水线累积 |
| 采集设备 | MediLive Trio Eye 摄像系统 + ZEISS OPMI Vario 手术显微镜 | 单路显微镜视角 |
| 未标注视频分辨率 | 512×324 | 较低分辨率版本 |
| 未标注视频帧率 | 25 fps | 与标注子集不同,勿混 |
| 平均时长 | 7.12 分钟 | 主体全集的平均口径 |
| 标准时长 | 200 秒 | 官方给出的标准片段口径 |
| 术者累计手术量 | 1,000 至 40,000+ 台 | 术者经验跨度极大 |
| 标注状态 | 无标注 | 仅提供原始视频 |
一个必须澄清的易混点:主体视频的未标注版本是 512×324、25 fps,而带标注的阶段识别子集是 1024×768、30 fps。这两个规格不同,来自官方 README 的不同表格。很多转述文章把主体说成 1024×768,是把标注子集的规格错套到了主体上。本节特意把两者并排列出,就是为了防止这种混淆。
主体 1000 台的核心价值在于规模与真实临床分布:它们来自同一条临床流水线,覆盖了不同术者(经验从 1000 台到 40000+ 台不等)、不同患者(年龄跨度大),可以用于自监督预训练、无监督表示学习、域适配研究等——这类任务恰恰需要大量无标注数据,而标注成本又高得难以覆盖 1000 台。
2.2 标注子集一:阶段识别 56 台
在 1000 台主体之上,数据集提供了四个精细标注子集,第一个是手术阶段识别子集(Phase Recognition Set)。
| 属性 | 取值 |
|---|---|
| 视频数量 | 56 台常规手术视频 |
| 分辨率 | 1024×768 |
| 帧率 | 30 fps |
| 平均时长 | 6.45 分钟(SD 2.04 分钟) |
| 患者平均年龄 | 75 岁(范围 51—93,SD 8.69) |
| 术者平均经验 | 8929 台手术(SD 6350) |
| 标注内容 | 12 个 action phase + idle 的帧级时间线 |
| 标注格式 | CSV,给出每视频每阶段的首末帧 |
| 下载体积 | 3.87 GB |
| Synapse accession | syn53395146 |
选择 56 台而非 1000 台做阶段标注,是成本与收益的权衡:阶段标注需要眼科医生回顾整段视频、逐段点出阶段边界,一台就要花不少时间;56 台足以覆盖阶段分布与个体差异,又不至于让标注成本失控。
"常规(regular)"的限定词很重要:这 56 台被明确限定为常规手术,即不带明显并发症或异常的视频。之所以这样限定,是为了避免异常片段污染常规阶段的分布统计。带异常的视频被另行归入 2.4 节的不规则子集。
阶段子集的患者与术者画像也值得注意:患者平均年龄 75 岁,跨度 51 至 93 岁;术者平均经验 8929 台,标准差高达 6350——说明这 56 台里既有新手术者(1000 台量级)也有资深专家(数万台量级),术者经验的巨大方差本身就是一个可研究的维度。
2.3 标注子集二:语义分割 30 台 / 2256 帧
第二个标注子集是手术场景语义分割子集(Semantic Segmentation Set)。这是像素级标注,成本比阶段标注更高——阶段标注只需在时间轴上点边界,分割标注要逐帧勾画每个像素属于哪个类别。
| 属性 | 取值 |
|---|---|
| 视频数量 | 30 台常规手术视频 |
| 分辨率 | 1024×768 |
| 平均时长 | 6.52 分钟(SD 2 分钟) |
| 抽帧方式 | 每 5 秒抽 1 帧 |
| 标注帧总数 | 2256 帧 |
| 患者平均年龄 | 74.5 岁(范围 51—90,SD 8.43) |
| 术者平均经验 | 8033 台手术(SD 3894) |
| 标注类别 | 3 个解剖结构 + 9 件器械,共 12 类 |
| 标注工具 | Supervisely(多边形 JSON),另提供 COCO 格式 |
| 划分方式 | 5 折、患者级,每折 6 段视频 |
| 下载体积 | 4.74 GB |
| Synapse accession | syn53395479 |
分割子集有三个值得单独说明的设计:
其一,抽帧而非逐帧。 30 台视频如果逐帧标注,按 6.52 分钟 × 30 fps 估算,单台就超过一万帧,30 台超过 30 万帧——标注量不可承受。数据集选择每 5 秒抽 1 帧,把标注量压缩到 2256 帧,同时通过"剔除严重运动模糊帧与虹膜出画帧"保证每帧的标注质量。
其二,5 折患者级划分。 划分方式是 5 折(5-fold),且按患者级划分,每折含 6 段不同视频。这里的关键是"患者级"——必须保证同一患者的视频不会同时出现在训练集和测试集,否则会造成患者级数据泄漏,虚高评测结果。5 折 × 6 段 = 30 段,正好对应分割子集的 30 台。
其三,三档训练设置。 官方提供了 anatomy+instrument(解剖+器械)/ binary instrument(二值器械)/ multi-class instrument(多类器械) 三档掩码生成代码。同一份像素标注可以派生出三种难度的分割任务,使用者可根据研究问题选择——这也意味着报告结果时必须说明用的是哪一档,笼统报一个"分割 Dice"会掩盖三档之间的难度差异。
2.4 标注子集三、四:两类术中不规则
第三、第四个标注子集是术中不规则检测子集,分为两类异常事件:
| 子集 | 事件 | 下载体积 | Synapse accession |
|---|---|---|---|
| Pupil Reaction Set | 瞳孔反应(瞳孔收缩 / miosis) | 3.29 MB | syn53395402 |
| Lens Irregularity Set | 人工晶体旋转(IOL / lens rotation) | 1.49 MB | syn53395131 |
这两个子集的体量与前面两个天差地别——它们只有 MB 级(3.29 MB、1.49 MB),而阶段与分割子集是 GB 级。这个体量差异直接决定了它们的用途:这两个子集应作为探索性素材与种子数据,不宜作为统计显著结论的依据。一篇论文如果只在这两个 MB 级子集上报告指标,其结论的统计效力是可疑的。
两类异常的临床意义都极强:
- 瞳孔反应(pupil reaction / constriction):术中瞳孔缩小(miosis)。超声乳化期的光照量骤增可能引发瞳孔突然收缩,若此时器械已深入眼内,可能损伤眼内组织,并妨碍人工晶体的对位。
- 人工晶体旋转(IOL / lens rotation):晶体旋转被认为是术后晶体移位的主因。数据集特别指出,晶体展开时的快速顺时针旋转发生在不足 7 秒内——这是一个转瞬即逝的事件,对检测方法的时间分辨率要求极高。
"不足 7 秒"这个数字对算法设计有直接影响:如果在 25 fps 或 30 fps 上做滑窗检测,7 秒意味着只有一两百帧的窗口,窗口太大就会把事件淹没在背景里,窗口太小又可能漏检。这两个子集的真正价值,是给研究者提供了一个临床驱动、时窗极短、类别极度不平衡的异常检测问题原型。
2.5 患者与术者画像对照
把两个标注子集的画像并排看,能读出数据集设计的均衡考量:
| 维度 | 阶段识别子集(56 台) | 语义分割子集(30 台) |
|---|---|---|
| 患者平均年龄 | 75 岁(51—93,SD 8.69) | 74.5 岁(51—90,SD 8.43) |
| 术者平均经验 | 8929 台(SD 6350) | 8033 台(SD 3894) |
| 视频平均时长 | 6.45 分钟(SD 2.04) | 6.52 分钟(SD 2 分钟) |
两组画像高度接近(平均年龄约 75 岁、术者经验数千至上万台、时长约 6.5 分钟),说明两个子集来自同一临床人群与同一术者群体,具有内在一致性。同时,两个子集的患者年龄范围都从 51 岁延伸到 90 岁以上,术者经验标准差都很大——数据集没有刻意挑选"标准病例",而是保留了临床真实分布。这种真实性是双刃剑:一方面让模型更接近实战,另一方面也意味着分布更散、更难拟合。
2.6 下载体积清单
官方 README 给出了各子集的直链与体积,这是规划存储与带宽的必备信息:
| 内容 | 体积 | Synapse accession |
|---|---|---|
| 主集(Catatact-1k 全集) | 89.9 GB | syn53404507 |
| 阶段识别集(Phase Recognition Set) | 3.87 GB | syn53395146 |
| 语义分割集(Semantic Segmentation Set) | 4.74 GB | syn53395479 |
| 晶体不规则集(Lens Irregularity Set) | 1.49 MB | syn53395131 |
| 瞳孔反应集(Pupil Reaction Set) | 3.29 MB | syn53395402 |
三个提醒:
- 主集占了绝大部分体积(89.9 GB),四个标注子集合计不到 9 GB。如果只想做算法研究,可以先只下标注子集。
- 体积口径未注明是压缩包净体积还是解压后体积(遗留疑点,见附录 AA)。规划磁盘时建议留足余量。
- 官方 README 中主集名称曾拼写为 “Catatact-1k”(少一个 r),这是原始 README 的笔误,不影响内容,但按名检索时需要留意这一变体。
2.7 采集设备与伦理
数据集的采集设备为 MediLive Trio Eye 摄像系统,安装在 ZEISS OPMI Vario 手术显微镜上——这是单路显微镜视角的记录,不同于 CATARACTS 的"显微镜 + 器械托盘"双路方案。
伦理方面,数据集经 Ethikkommission Kärnten(克恩顿州伦理委员会)审批,审批号 EK 28/17,全部患者均知情同意。资助来源为 Haag-Streit Foundation(瑞士)与奥地利科学基金 FWF 项目 P 31486-N31、P 32010-N38。伦理审批号取自论文正文片段引用,未在官方页面二次确认,列为遗留疑点(见附录 AA)。
2.8 层级关系小结
把本节所有数字收拢成一句话:
Cataract-1K = 1000 台无标注主体 + 56 台阶段标注 + 30 台/2256 帧分割标注 + 2 个 MB 级异常子集。
这个式子里的四个加项不是同一层级:主体是"全集",后三者是"全集上的精细子样本"。引用规模时务必区分口径——说"数据集有 1000 台"和说"数据集标注了 56 台"都对,但把它们混为一谈就错了(详见 §10 坑点 1)。
§3 阶段识别任务:帧级时间线从何而来
3.1 任务定义
手术阶段识别(surgical phase recognition)要回答的是:一段手术视频的每一帧,究竟属于十二个常规阶段中的哪一个,还是属于 idle?这看似是一个普通的时序分类问题,实则是手术工作流分析的"骨架任务"——只有先把阶段切对,后续的器械使用统计、手术技能评估、术中异常定位、手术视频压缩与检索才有可靠的坐标系。
Cataract-1K 的阶段识别子集共 56 段常规手术视频。之所以限定为"常规(regular)",是因为数据集把带有明显并发症或异常的视频另行归入不规则子集,避免异常片段污染常规阶段的分布统计。这 56 段的分辨率为 1024×768、帧率 30 fps,平均时长 6.45 分钟、标准差 2.04 分钟,即绝大多数视频落在 4 至 9 分钟区间内。
3.2 标注格式与还原方式
阶段标注不是逐帧打标签,而是以 CSV 文件给出每个阶段的起始帧与结束帧。这种"边界标注"的好处是标注成本与阶段数成正比而非与帧数成正比——一名眼科医生只需在阶段切换的关键时刻点出边界,剩下的逐帧展开由代码完成。官方在 GitHub 仓库提供了预处理脚本,读者可用它把 CSV 还原成:
- action phase 序列:每个 action phase 的连续帧区间;
- idle phase 序列:action phase 之间的空档,或阶段内部的器械更换间歇。
需要特别注意的是 idle 的语义边界:官方定义把它描述为"术者主要在更换器械、且画面内没有可见器械"的时间跨度。由于 idle 既可能出现在两个 phase 之间,也可能出现在某个 phase 的中间,还原脚本必须同时处理"阶段间空闲"与"阶段内空闲"两种情况——这是复现阶段序列时最常见的出错点之一。
3.3 阶段不平衡:一个绕不开的硬约束
论文明确指出,白内障手术的阶段分布高度不平衡:最长的阶段(超声乳化 phacoemulsification)与最短的阶段(切口 incision)在标注总量中的占比悬殊。这一不平衡是白内障手术的固有属性——超声乳化要在显微镜下把硬化的晶状体核一点点乳化吸除,耗时最长;而切口只是几个毫米的锐性切开,几乎瞬间完成。
不平衡带来的直接后果是:任何以准确率(accuracy)为指标的朴素分类器,都会倾向于把大量帧预测为长阶段,从而在短阶段上近乎失效。因此在该数据集上做阶段识别,几乎必须使用 macro-F1、逐类召回,或加权损失,而不能只看全局准确率。这一点在论文中被列为阶段识别任务的主要挑战之一。
3.4 影响阶段识别的其他视觉难点
除类别不平衡外,论文还列举了一批让阶段识别变难的视觉因素,这些因素对任何在此数据上训练模型的人都是"已知地形":
- 器械外观相似:部分阶段使用的器械在画面中形态高度接近,导致模型在相邻类别间决策边界模糊,类间差异被压窄;
- 散焦模糊(defocus blur):手术中会手动调整显微镜对焦,调焦瞬间画面失焦;
- 运动模糊(motion blur):眼球不自主运动、器械快速靠近镜头,都会产生运动模糊,抹掉可供区分的空间细节;
- 缺乏元数据:视频存储时未附带额外上下文信息,模型无法借助机型、光照参数等辅助线索;
- 患者间视觉差异:不同患者的眼球外观(虹膜纹理、色素、瞳孔状态)差异大,造成显著的视频间分布差异,需要充足的训练数据才能获得可泛化的模型。
把这五条与阶段不平衡合并,就能理解为什么论文强调"阶段识别需要大量训练数据"——这也是 Cataract-1K 用 1000 段视频撑规模的现实动因。
§4 语义分割任务:2256 帧的像素级解剖与器械
4.1 任务定义与规模
场景语义分割(scene segmentation)要求对每一帧逐像素地判断其属于哪一类解剖结构或器械。Cataract-1K 的分割子集从 30 段常规手术视频中抽帧,得到共 2256 帧像素级标注。抽帧策略是每 5 秒取 1 帧,分辨率 1024×768,视频平均时长 6.52 分钟(标准差 2 分钟)。
每 5 秒抽帧是一种刻意的稀疏化:相邻帧的像素级场景变化很小,密集抽帧会带来大量冗余标注,而稀疏抽帧既保留了阶段之间与阶段内部足够多样的场景,又显著降低标注成本。代价是它无法直接用于时序密集的分割任务,只适合帧级场景理解。
抽帧后还做了质量清洗:严重运动模糊的帧、以及虹膜不在画面内的帧被剔除。剔除"虹膜出画"的帧尤其关键——分割标签里包含虹膜、瞳孔、人工晶体三种解剖结构,若目标解剖结构都离开了视野,这类帧对分割训练没有正向价值,反而引入噪声。
4.2 类别体系:3 解剖 + 9 器械
分割标签共 12 类,分为两组:
三种解剖结构:
- iris(虹膜)
- pupil(瞳孔)
- intraocular lens(人工晶体,IOL)
九件手术器械:
- slit/incision knife(切口刀)
- gauge(规尺)
- spatula(铲)
- capsulorhexis cystotome(撕囊针)
- phacoemulsifier tip(超声乳化头)
- irrigation-aspiration(注吸头)
- lens injector(晶体推注器)
- capsulorhexis forceps(撕囊镊)
- katana forceps(刀镊)
这里有一条必须存照的双口径:第九件器械在官方 GitHub README 中写作 katana forceps,而部分二手目录(如 Awesome-Medical-Dataset 的转述)把它写作 Sinskey hook。两者并非完全对立的两种器械(Sinskey 钩与"刀镊"在眼科器械中确有区分),但官方一手来源明确为 katana forceps,因此引用时应以官方为准,并意识到二手目录转述可能带来的器械清单漂移(§10 坑点)。
4.3 标注工艺与双格式输出
分割的像素级标注全部在 Supervisely 平台上以多边形(polygon)方式人工勾画,导出为 JSON。随后官方又转出 COCO 格式,附带所有像素级对象的边界框(bounding box)。于是同一份标注支撑两类任务:
- Supervisely JSON:直接服务语义分割(每像素类别);
- COCO 格式:还能服务目标检测/定位(每个对象的矩形框)。
官方还提供了把 JSON 转成三类训练掩码的代码:anatomy + instrument(解剖 + 器械)联合分割、binary instrument(二值器械)分割、multi-class instrument(多类器械)分割。这三档对应不同的研究需求:联合分割考查模型对整幅场景的理解;二值器械只问"这里是不是器械";多类器械则要进一步区分是哪一件器械,难度依次递增。
4.4 划分方式:5 折患者级切分
分割子集采用 5 折(five folds),且强调 patient-wise separation(患者级划分):每一折由 6 段不同的视频构成(30 段 ÷ 5 折 = 6 段/折)。患者级划分的意义在于防止同一患者的帧跨折出现,否则模型可能靠"记住这个病人的眼球长什么样"来作弊,从而高估泛化性能。这是医学图像数据集划分的一条纪律线,Cataract-1K 在分割子集上明确遵守。
需要注意的是,这一"5 折 × 6 段"的划分只适用于分割子集;阶段识别子集(56 段)采用的是按视频的划分口径,两者不能混为一谈。检索者在引用"划分方式"时务必标注清楚是针对哪个子集。
4.5 论文给出的分割基准
论文用多种 SOTA 神经网络架构在"解剖 + 器械"分割上做了基准测试,并以"均值 ± 标准差"的形式报告结果(论文 Fig. 5 展示的正是各架构的平均与标准差)。这些基准的作用是给后继研究一个可比对的起点,同时验证标注质量本身是否足以支撑训练。由于本轮研究未能实抓论文正文表格,本条目不列具体逐模型的 Dice/IoU 数值,只做定性表述——具体数值请以 Sci Data 论文表格为准(见遗留疑点)。
§5 不规则检测:两类会改变手术走向的异常
5.1 为什么要单独做异常子集
常规阶段与常规场景之外,Cataract-1K 还提供了一个小而关键的额外维度:术中不规则检测(intra-operative irregularity detection)。它挑出两类在白内障手术中会真实影响手术安全与预后的异常,各自成集。之所以要单列,是因为这两类事件与常规阶段不同——它们不是按固定顺序出现的流程步骤,而是可能突然发生、打断流程的"事件",需要用不同的任务范式去检测。
这两类异常是:瞳孔收缩(pupil contraction / pupil reaction)与人工晶体旋转(IOL rotation / lens irregularity)。
5.2 瞳孔收缩(Pupil Contraction)
瞳孔收缩的发生机制与临床危害在官方描述中讲得很清楚:在超声乳化阶段,被遮挡的自然晶状体被击碎并吸除,视网膜光感受器接收到的光量可能突然增加。这种光照变化会影响瞳孔大小,通常导致缓慢(渐进)的瞳孔收缩;但在部分病例中,瞳孔会对光照变化产生意料之外的快速反应、迅速收缩。
这种瞳孔大小的突变可能带来严重的术中后果。尤其危险的是超声乳化阶段——此时器械已深入眼内,瞳孔尺寸的骤变可能导致眼球娇嫩组织受伤。此外,当术中发生瞳孔收缩(miosis,瞳孔缩小)时,要实现精确的人工晶体对位或居中会变得困难:对多焦点人工晶体而言,微小的位移或倾斜可能显著损害视觉质量(这类偏差对常规单焦点晶体或许可忽略);对散光矫正型(toric)人工晶体而言,环面的精确对位至关重要,任何偏差都会削弱晶体效果。因此,检测异常的瞳孔反应与严重瞳孔收缩,对改善白内障手术总体结局、并为术后调查提供线索,都有重要价值。
5.3 人工晶体旋转(IOL Rotation)
人工晶体旋转的临床背景同样被官方详述:虽然人工晶体在手术结束时已对位并居中,但术后仍可能旋转或移位。即便是轻微的偏差——散光矫正型晶体环面的微小错位、多焦点晶体的轻微位移与倾斜——都可能造成显著的视觉畸变,让患者不满意。术后并发症唯一的处理方式是二次手术,意味着额外费用、更高的手术风险与患者的不适。
识别可用于预测与预防术后晶体移位的术中指标,是一项尚未被满足的临床需求。已有观点认为,白内障手术中人工晶体的术中旋转是术后错位的主因。因此,自动检测并测量术中晶体旋转,能有效帮助预防术后人工晶体移位。官方给出的一个具体量级是:晶体展开过程中发生的快速顺时针旋转,发生在不足七秒内——这个"七秒"窗口既揭示了检测难度(事件极短),也指明了算法必须具备的时间分辨率。
5.4 两个异常子集的获取与体量
两个异常子集各自有独立的 Synapse accession:Pupil Reaction Set 为 syn53395402(3.29 MB)、Lens Irregularity Set 为 syn53395131(1.49 MB)。从体积看,它们是远小于主集的小子集(对比主集 89.9 GB、阶段集 3.87 GB、分割集 4.74 GB)。因此本条目在描述其用途时保持克制:这两个子集更适合作为异常检测的探索性/提示性素材,其规模不足以支撑统计显著的结论,论文也将它们定位为"以支持进一步研究"的种子数据,而非完整基准。
一个需要留意的细节是命名口径:官方页面与论文正文中,"瞳孔收缩"这一异常也被写作 “pupil reaction”(瞳孔反应),而介绍段中出现的 “pupil constriction” 与之指同一现象;"人工晶体旋转"则在 README 中称 “lens rotation”,在子集文件夹中称 “Lens Irregularity Set”。这些名称变体不影响数据本体,但会影响检索——建议同时以 pupil/constriction/reaction 与 IOL/lens/rotation/irregularity 多组关键词检索(§10 坑点)。
5.5 两类异常的对照:急性 vs 慢性后果
把两类异常放在一起看,会发现它们在后果的时间尺度上恰好互补,这也是数据集把它们成对收录的意义:
| 维度 | 瞳孔收缩(Pupil Contraction) | 人工晶体旋转(IOL Rotation) |
|---|---|---|
| 发生时机 | 术中,多在超声乳化阶段 | 展开期(术中)或术后 |
| 触发机制 | 光照骤增引发的瞳孔反射 | 晶体展开/术后稳定性不足 |
| 时间尺度 | 突发(快缩)或渐进(慢缩) | 快速顺时针旋转 <7 秒 |
| 主要危害 | 器械在眼内时伤及娇嫩组织;妨碍晶体对位 | 术后晶体移位/错位,视觉畸变 |
| 补救方式 | 术中处理(药物、粘弹剂) | 术后二次手术 |
| 检测价值 | 术中安全监测 | 术后并发症的术中预测指标 |
从表中可见:瞳孔收缩是急性术中安全事件(若正在超声乳化、器械已深入眼内,瞳孔骤变可能直接致伤),而 IOL 旋转更偏向慢性后果(术后移位、二次手术)。但有趣的是,IOL 旋转的发生也是急性的——晶体展开时的快速顺时针旋转不足七秒——只是它的危害在术后才显现。正是这种"术中事件、术后后果"的因果链,使术中 IOL 旋转的自动检测具有术后预防价值:若能在手术中识别出预示移位的旋转模式,就可能提前干预。
5.6 异常检测与阶段识别的关系
异常子集与阶段识别子集并非平行,而是有上下文依赖:瞳孔收缩的高危窗口锁定在超声乳化阶段,IOL 旋转发生在晶体展开/植入阶段。这意味着一个理想的手术分析系统需要两件事协同——先用阶段识别定位"我现在在哪个阶段",再在该阶段的上下文里做异常检测。否则,孤立的异常检测器会在不相关的阶段大量误报。
这种"阶段先验 + 异常检测"的组合,正是把三类任务放在同一数据集上的深层价值:阶段时间线为异常检测提供上下文窗口,而异常事件又为阶段识别标注了关键边界。使用者若同时做多任务,可尝试让阶段模型与异常模型共享主干表示,用阶段信息约束异常检测的时间搜索范围,从而在小子集上也能取得更稳的性能。
5.7 异常子集的临床选题方法论
最后值得提炼的一点是选题方法论。医学数据集里"异常子集"常见两种做法:一种是事后从数据中挑出"看起来不寻常"的片段,缺乏临床依据;另一种是 Cataract-1K 采取的先论证临床重要性、再定向收集。后者要求作者能在论文里写清:这个异常为什么危险(瞳孔收缩→组织损伤、IOL 旋转→二次手术)、它的发生机制是什么(光照骤增、晶体展开)、检测它能带来什么下游价值(术中预警、术后预防)。这正是 Cataract-1K 异常子集在文档上比"截图集合"扎实的地方,也是后继数据集设计可借鉴的模板。
§6 获取与许可:怎么拿到这 1000 段视频
6.1 许可:CC BY 4.0,医学数据集里最宽松的一档
Cataract-1K 的许可明确为 Creative Commons Attribution 4.0 International(CC BY 4.0)。官方 GitHub README 原文表述为数据集在 “Creative Commons 4.0 International (CC BY)” 下授权,并链接至 CC BY 4.0 的完整法律条款。
CC BY 4.0 的核心含义是:你可以复制、分发、传播这份作品,甚至可以用于商业目的,条件只有一条——署名(Attribution):你必须给出适当的署名、提供许可链接、并指明是否做了修改,且不得以暗示授权人认可你的使用或你本人。在医学影像数据集里,这个许可属于最宽松的一档——它没有 NonCommercial(非商用)限制,也没有 ShareAlike(相同方式共享)或 NoDerivatives(禁止演绎)限制。
这一点值得反复强调,因为白内障领域的其他数据集许可往往更严格:本团队更早的 Cataract-101 走的是 FTP/Zenodo 的自定义渠道;而近邻 CATARACTS 及许多手术视频数据集则以"仅研究用途"或挑战赛协议分发。Cataract-1K 采用 CC BY 4.0,等于在合规前提下把可用范围放到最大,这也是它被广泛用作手术视频基础模型预训练语料的重要原因。
一条必须存照的口径张力:第三方数据集目录 EyeDataHub 把 Cataract-1K 的条款归一化为 “Research only — see Synapse terms”(研究专用)。这与官方 CC BY 4.0 的表述并不一致。按纪律包"一切以一手来源为准"的原则,应以官方 README 的 CC BY 4.0 为准;EyeDataHub 的条目自述其标注为 “curation metadata, not legal advice”,属第三方归一化描述,不应被当作法律结论。本条张力已列入 §10 与文末存照。
6.2 获取入口:Synapse 免费注册
数据集的正式获取入口是 Synapse 平台(synapse.org)。Synapse 是 Sage Bionetworks 运营的生物医学数据共享平台,使用前需免费注册账号。数据集被拆分为五个可独立下载的包,各自有独立 accession:
| 资产 | Synapse accession | 体积 | 内容 |
|---|---|---|---|
| 主集 Catatact-1k | syn53404507 | 89.9 GB | 1000 段手术视频 |
| 阶段识别集 Phase Recognition Set | syn53395146 | 3.87 GB | 56 段视频 + CSV 阶段标注 |
| 语义分割集 Semantic Segmentation Set | syn53395479 | 4.74 GB | 30 段视频 + Supervisely/COCO 标注 |
| 晶体不规则集 Lens Irregularity Set | syn53395131 | 1.49 MB | IOL 旋转异常子集 |
| 瞳孔反应集 Pupil Reaction Set | syn53395402 | 3.29 MB | 瞳孔收缩异常子集 |
| 数据准备代码 | github.com/Negin-Ghamsarian/Cataract-1K | — | 预处理与切帧脚本 |
需要特别提醒的是"别只下主集":主集只含视频本体,全部标注都在另外四个子集包里。许多检索者第一次接触时只拿到 89.9 GB 的主集,随后发现"没有标签",就是因为漏下了 syn53395146(阶段)、syn53395479(分割)等标注包。正确姿势是:主集 + 需要的任务子集一起下。
6.3 版本链:Figshare 临时访问 → Synapse 正式发布
数据集的获取路径经历过一次版本迁移,这是理解其检索历史的必要背景:
- 投稿阶段:arXiv 版论文的脚注写明,数据集将在论文接收后于 Synapse 公开;但为了匿名评审(避免评审人通过数据来源反推作者身份),数据集暂时通过 Figshare 访问。
- 正式发布阶段:论文被 Scientific Data 接收后,数据集正式在 Synapse 公开发布(即上表的 accession 列表)。
这两个口径并不冲突,而是"暂存 → 正式"的时间先后。对现网检索者而言,应以 Synapse 为正式入口;若在旧文献或缓存页面上看到 Figshare 链接,需理解那是投稿期的历史形态。
6.4 Synapse accession 的双口径存照
在主集的 accession 上存在一处编号分歧,必须逐条存照:
- 官方 GitHub README 列主集为 syn53404507(89.9 GB);
- 第三方目录 EyeDataHub 引用的来源 accession 为 syn53404917。
两者仅末两位数字不同(04507 vs 04917),高度疑似同一条目在 Synapse 上的孪生编号或迁移编号。按"以一手来源为准",本条目采信官方 README 的 syn53404507,并把 EyeDataHub 的 syn53404917 记入遗留疑点(未核实其是否为独立记录)。检索者在 Synapse 中若搜到两个相近编号,建议以官方 README 链接为准,或直接通过 README 的直达链接进入。
6.5 下载与存储的工程提示
对准备下载的研究团队,本条目给出几条工程性提示:
- 体积规划:主集 89.9 GB 是净下载量,解压与帧提取后占用会显著增加;分割集虽只有 4.74 GB,但抽帧转掩码后也需预留中间空间。建议按任务按需下载,而非一次性拉全部。
- 网络:Synapse 走 HTTPS,机构网络若对科研数据平台有限速,建议分批、断点续传。
- 匿名性:数据集对隐私做了处理(论文标注对象做了匿名化),Synapse 上也可能要求使用者遵守平台的数据使用条款——使用前应通读 accession 页面底部的条款说明。
- 代码配套:切帧、CSV 解析、掩码生成的脚本都在 GitHub 仓库,下载数据后应先跑一遍官方脚本,确保还原出的阶段序列与掩码与论文口径一致。
§7 基准与评估:论文验证了哪些能力
7.1 论文的验证策略
Cataract-1K 论文不只发数据,还做了三层验证,用以证明"这批标注足够可靠、足以支撑研究":
- 阶段识别基准:用多种 SOTA 神经网络架构在 56 段阶段子集上训练与评测,验证阶段标注的可学习性;
- 场景分割基准:用多种架构在"解剖 + 器械"任务上评测(论文 Fig. 5 报告各架构的均值与标准差),验证像素级标注的质量;
- 跨域器械分割(域适配):首次在白内障器械分割上发起域适配研究,评估跨域器械分割性能。
这一点很重要:数据集论文的基准并非要"刷榜",而是要证明标注可被模型学会、任务有难度梯度、结果可复现。对使用者而言,这些基准提供了"合理预期区间"——如果你的模型在该子集上的表现远高于论文基准,通常意味着数据泄漏或评测口径不一致,而非模型真的一骑绝尘。
7.2 论文的规模与体量
按 arXiv 版本的信息,该数据集论文共 12 页正文、5 幅图、7 张表,学科分类为计算机视觉与模式识别(cs.CV)。7 张表中包含了阶段识别与分割的基准结果表、标注实例统计表(Table 2 报告每类实例数与在折内帧中的出现百分比)、以及每标签平均像素数表(Table 3)。这些表格是复现与对比的第一手依据。
7.3 与既有数据集的横向对照
Sci Data 版 Table 1 给出了 Cataract-1K 与两个既有数据集的能力对照,可帮助定位其相对优势:
| 数据集 | 采集时间 | 任务 | 视频数 | 标注 | 分辨率 |
|---|---|---|---|---|---|
| CaDIS | 2015 | 语义分割 | 25 | 4670 帧(解剖/器械/其他) | 960×540 |
| CatRel | 2017—2018 | 阶段相关性 | 22 | 帧级(四相关阶段 vs 其余) | 224×224 |
| Cataract-1K | 2021—2023 | 语义分割 + 阶段识别 | 30(分割)/ 56(阶段) | 2256 帧(解剖/器械)+ 帧级十三类 | 1024×768 |
从表中可以读出 Cataract-1K 的三点相对优势:更新的采集年代(2021—2023,反映当代设备与术式)、更高的分辨率(1024×768,远高于 CatRel 的 224×224)、更完整的多任务覆盖(同时含分割与阶段,而 CaDIS/CatRel 各偏一类)。这三点正是它被定位为"largest cataract surgery video dataset"的依据。
7.4 复现与评测的工程纪律
基于该数据集做评测,有几条工程纪律值得预先写下:
- 按子集选用正确的划分:分割子集是 5 折患者级划分(5 折 × 6 段);阶段子集按视频划分。不要拿分割的折去切阶段数据。
- 阶段用 macro 指标:由于类别严重不平衡,逐类 F1(macro-F1)比全局准确率更能反映真实性能(§3)。
- 分割按三类设置分别报告:解剖+器械、二值器械、多类器械三档难度不同,笼统报一个"分割 Dice"会掩盖差异(§4)。
- 异常子集只做定性:两个异常子集体量极小(MB 级),其上的指标波动大,不应当作统计显著结论(§5)。
- 跨域评测需声明训练域:论文的域适配研究涉及跨域器械分割,若你复现跨域评测,务必写明源域与目标域,否则结果无法比对。
7.5 基准数字的引用纪律
本条目在正文中刻意不列出逐模型的 Dice/IoU/F1 具体数值。原因是本轮研究未能实抓论文正文与表格(Nature 与 paperity 被反爬、PMC 返回小页),若凭记忆或二手转述填写精确数字,风险高于收益。按纪律包"不臆造"的要求,正确做法是把具体数值列为遗留疑点,请读者以 Sci Data 论文(doi:10.1038/s41597-024-03193-4)与 GitHub 仓库的官方表格为准。这样做虽牺牲了"看起来很全"的表面,却守住了数据条目的可信底线。
7.6 阶段识别与分割的评测差异总表
为便于快速对照两个主要任务的评测口径差异,汇总如下:
| 评测维度 | 阶段识别 | 语义分割 |
|---|---|---|
| 子集规模 | 56 段 | 30 段 / 2256 帧 |
| 输入粒度 | 帧级时序 | 帧级空间(抽帧) |
| 输出 | 每帧一个类别(13 类) | 每像素一个类别(12 类) |
| 主要指标 | macro-F1 / 逐类召回 | Dice / IoU |
| 划分 | 按视频 | 5 折患者级 |
| 主要难点 | 类别不平衡、器械相似、模糊 | 长尾器械、边界像素 |
| 是否有时序 | 有(阶段序列) | 无(独立帧) |
这张表的价值在于提醒:不要把两个任务的指标混着报。阶段识别有时序结构、分割无时序;阶段用分类指标、分割用重叠度指标;阶段按视频划分、分割按患者划分。任何"混合报告"都会让结果无法与论文基准对齐。
7.7 论文验证策略的启示
Cataract-1K 论文的验证策略本身也值得学习:它没有把重点放在"我的数据集让模型刷出多高的分数",而是放在"我的标注能被学会、我的任务有梯度、我的结果可复现"。这种"验证数据质量而非证明模型强"的取向,是数据集论文应有的姿态——数据集论文的读者,关心的是"这份数据值不值得用",而不是"作者模型多强"。
对应到使用者的实践:你在该项目上跑出的数字,应当与论文基准处于同一量级;若显著更高,先怀疑数据泄漏(尤其是分割子集的患者级划分没遵守);若显著更低,先检查是否漏还原了 idle、或用错了几何/时序口径。把论文基准当作"合理性检查尺",是使用任何基准数据集的正确心态。
§7.8 复现清单(Checklist)
为方便直接照做,将复现要点整理为一张检查清单:
- [ ] 已注册 Synapse 账号并接受数据使用条款;
- [ ] 已下载任务对应子集(阶段 syn53395146 / 分割 syn53395479 / 异常 syn53395402、syn53395131),而非仅主集;
- [ ] 已用官方 GitHub 脚本还原阶段 CSV 的 action + idle 序列;
- [ ] 阶段评测使用 macro-F1 或逐类指标;
- [ ] 分割使用 5 折患者级划分,未发生患者级泄漏;
- [ ] 分割按 anatomy+instrument / binary / multi-class 三档分别报告;
- [ ] 异常子集结果标注为探索性,未作统计显著宣称;
- [ ] 引用时区分全集 1000 段与标注子集 56/30 段;
- [ ] 引用时长时标注所属子集(7.12 / 6.45 / 6.52);
- [ ] 引用许可时用 CC BY 4.0,而非二手目录的 research-only 归一化。
§8 方法学启示与生态位置
8.1 大型手术视频数据集的"海量主体 + 精细子集"范式
Cataract-1K 最值得学习的方法学特征,是它采用的**“海量无标注主体 + 少量精细标注子集”**混合范式。1000 段视频构成规模底座,但真正带标注的只有 56 段(阶段)与 30 段(分割)。这并非偷懒,而是受成本结构约束的理性设计:手术视频的每一帧标注都需要临床医生或经训练的标注员投入时间,像素级分割尤其昂贵(多边形勾画一帧往往需要数分钟)。若对 1000 段全部做像素级标注,成本将不可承受。
这一范式的可迁移经验是:
- 规模用于预训练:海量无标注视频可用于自监督/预训练,学习手术场景的通用表示,再迁移到带标注子集上微调;
- 精细标注用于评测与监督微调:少量高质量标注子集用于基准评测和监督信号,保证标注质量不被规模稀释;
- 口径必须分层:使用者在引用"数据集规模"时,必须区分"全集规模"与"标注子集规模",否则极易误导(§2.2、§10)。
8.2 多任务共享一个数据源的价值
Cataract-1K 把阶段识别、场景分割、不规则检测压在同一个数据源上,带来两个好处:其一,多任务之间共享视觉域(同一设备、同一诊所、同一术式),便于研究多任务学习与表示共享;其二,任务之间可交叉验证——分割出的器械可作为阶段识别的线索,阶段时间线可为异常检测提供上下文窗口。这一点与"每个任务各发一个小数据集"的传统做法形成对比,也是当前手术视频数据集的发展方向。
8.3 对域适配研究的贡献
论文的一个特色是首次在白内障器械分割上发起域适配(domain adaptation)研究:由于 Cataract-1K 是单中心、单设备采集,模型在一个子集上训练后迁移到另一个子集,天然构成跨域场景。评估跨域器械分割性能,等于给"手术视频模型能否跨机构泛化"这一核心问题提供了一个受控试验台。对于关心泛化性的研究者,这是 Cataract-1K 相对于多中心数据集的一项独特价值——单中心的一致性使域偏移更可控、更易量化。
8.4 异常子集的临床驱动设计
两个异常子集(瞳孔收缩、IOL 旋转)体现了临床驱动的设计思路:它们不是随便挑的"有趣片段",而是被明确论证了临床危害的术中事件——瞳孔收缩可能伤及眼内组织、妨碍晶体对位;IOL 旋转是术后移位的主因、只能靠二次手术补救。这种"先论证临床重要性、再收集数据"的顺序,使数据集具备真实的下游价值,而不仅是 CV 练习。对医学数据集设计者而言,这是一个可复制的选题方法。
8.5 在白内障手术视频数据集景观中的位置
把 Cataract-1K 放进白内障手术视频数据集的谱系里,大致有三代:
- 第一代(小规模、单任务):Cataract-101(101 段、10 阶段,2018)、CATARACTS(50 段、器械检测,2015—2018)、CaDIS(25 段、分割,2015)、CatRel(22 段、相关性);
- 第二代(中规模、多任务):以 Cataract-1K(1000 段、阶段 + 分割 + 异常,2024)为代表;
- 第三代(超大规模、基础模型导向):诸多手术视频基础模型开始把 Cataract-1K 纳入预训练语料,数据集角色从"评测集"转向"预训练语料"。
Cataract-1K 处于第二代与第三代之间的枢纽位置:它既是可评测的基准,又是可预训练的沃土。
8.6 泛化性视角:单中心的两面性
单中心采集是 Cataract-1K 的一把双刃剑。优点已在 §8.3 陈述(域偏移可控、域适配研究有受控台);缺点是外部效度受限——在克拉根福这家诊所、这套设备、这批术者上训练的模型,迁移到其他机构、其他设备、其他人群时未必保持性能。因此,把 Cataract-1K 当作"通用白内障模型"的训练集时需要谨慎;更稳妥的用法是把它作为强基准 + 域适配实验的源域,并在目标机构上做微调或跨域验证。
8.7 与 Cataract-101 的谱系演进
把 Cataract-1K 与其前作 Cataract-101 逐维对照,能直观看到六年间的跃迁:
| 维度 | Cataract-101(2018) | Cataract-1K(2024) |
|---|---|---|
| 视频数 | 101 段 | 1000 段 |
| 阶段类别 | 10 个 | 12 个 + idle |
| 阶段标注视频 | 101 段(全标) | 56 段(子集) |
| 分割标注 | 无 | 30 段 / 2256 帧 |
| 异常子集 | 无 | 瞳孔收缩 + IOL 旋转 |
| 术者经验分层 | 2 级(助理 vs 资深) | 1,000—40,000+ 台连续跨度 |
| 获取 | FTP / Zenodo | Synapse |
| 采集年代 | 2015—2016 | 2021—2023 |
从表可见演进的三个方向:规模(101→1000)、任务维度(单阶段→阶段 + 分割 + 异常)、标注策略(全标小集→子集精标)。尤其值得注意的是标注策略的转变:Cataract-101 对全部 101 段都做了阶段标注,而 Cataract-1K 只对 56 段做阶段标注——这是因为主体扩大到 1000 段后,全标不再可行,只能退回"精标子集"。这一转变本身就是大型数据集时代的一个缩影。
8.8 三类任务的统一视角
若把 Cataract-1K 的三类任务抽象成统一的"手术理解"框架,可以这样理解它们的分工:
- 阶段识别回答"何时(when)"——手术进行到哪一步;
- 场景分割回答"何物(what/where)"——画面里有什么、在哪里;
- 异常检测回答"何异(anomaly)"——有没有出错或危险。
“何时 / 何物 / 何异"正好覆盖了手术视频理解的基本问句。一个完整的计算机辅助干预系统,通常需要三者协同:阶段提供时间轴、分割提供空间对象、异常提供风险信号。Cataract-1K 把三者齐备地放在一个数据源上,使其成为搭建此类系统的"一站式原料”。这也是它相对于"单任务数据集"的核心竞争力。
8.9 数据治理视角的两点评估
从数据治理角度看,Cataract-1K 有两处值得称道、两处值得改进:
值得称道:(1)伦理与知情同意齐全(EK 28/17,患者知情同意),并有匿名化处理,符合临床数据发布的合规底线;(2)许可清晰(CC BY 4.0),使后续利用的法律不确定性最小。
值得改进:(1)accession 与器械清单的双口径未在官方文档中并列说明,导致二手目录转述出现偏差(§10 坑点 2、4);(2)缺少独立机构数据门户,数据与代码分别托管在 Synapse 与 GitHub 个人仓库,长期可用性依赖平台与个人维护。这两点在后继数据集设计中可作为改进方向。
§9 与库内条目的关系
9.1 家族图谱
Cataract-1K 在库内至少有两个强互链条目,二者与它构成白内障手术视频分析的"同题家族":
- cataract-101(record_id 263):Cataract-101,ITEC/克拉根福团队 2018 年的前作,101 段手术视频、10 个手术阶段、由资深眼科医生标注。它与 Cataract-1K 共享**同一学派甚至同一位合作者(Klaus Schoeffmann)与同一城市(克拉根福)**的研究谱系,是 Cataract-1K 的直接前身与规模升级对象。两者对照阅读,能清晰看到"从 101 到 1000"的规模跃迁与标注体系演进(10 阶段 → 12 阶段 + idle + 分割 + 异常)。
- cataracts(record_id 253):CATARACTS,法国布雷斯特团队的数据集,50 段双路视频(显微镜 + 器械托盘),主线是 21 种器械的存在检测与手术活动识别。它与 Cataract-1K 是同任务族但不同谱系:都做白内障手术视频理解,但数据来源、采集设备、标注体系、任务侧重均不同,是天然的横向对照。
9.2 检索路径建议
- 想追溯白内障手术视频数据集的演进:按 cataract-101(2018)→ cataracts(2015—2018)→ cataract-1k(2021—2023)的时间线阅读;
- 想找同任务的替代/补充数据:从 cataract-1k 出发横向跳转到 cataracts(器械/活动识别)与 cataract-101(阶段识别);
- 想找更广的手术工作流分析家族:可关注库内的其他手术视频/流程分析条目(如腹腔镜、内窥镜类),它们与 Cataract-1K 共享"阶段识别 + 器械分割"的任务结构,可作任务层面的横向比较(存在性待核,见遗留疑点)。
9.3 消歧提示
库内已有两个名称高度相近的白内障条目(cataract-101、cataracts),加上本条目 cataract-1k,三者极易混淆。检索时的消歧规则是:
- 名称含 “101” → ITEC/克拉根福 101 段视频,2018,10 阶段(rid 263);
- 名称是 复数 “cataracts” → 布雷斯特 CATARACTS 挑战赛,50 段,双路视频(rid 253);
- 名称含 “1K / 1k” → 本条目,克拉根福 1000 段,2021—2023,Sci Data 2024(rid 待发布)。
记住"101 / cats / 1K"三个后缀的对应关系,即可在库内快速定位(§10 坑点之一)。
9.4 跨库互链的落地方式
按库内互链规范(R012 教训),本条目在 frontmatter 的 relatedLink 字段只保留纯 URL,不写任何说明文字;所有血缘对照、消歧说明一律写在正文(即本节)。本条目当前登记的强互链为两条:
https://www.qianfanghub.com/ai-ready-dataset/cataract-101/0(rid 263,Klagenfurt 同谱系前作)https://www.qianfanghub.com/ai-ready-dataset/cataracts/0(rid 253,CATARACTS 挑战赛)
其余弱互链(如 CaDIS、CatRel 及更广的手术视频工作流家族)因库内存在性未核实(附录 AA 遗留疑点),暂不写入 frontmatter,待确认后由发布侧统一补齐。发布后由主会话按库内 rid 重建双向家族导航。
§10 避坑清单:十个已踩过的坑
以下坑点均来自本条目研究过程中的实证核验,标注了双口径冲突、命名陷阱与工程细节,供检索者与后继写手参考。
坑点 1:把"1000 段"当成"1000 段都带标注"。 常见误解是 Cataract-1K 的每一段视频都有阶段或分割标注。事实是:阶段标注仅 56 段、像素级分割标注仅 30 段,其余绝大多数视频无标注。引用规模时必须说清是"全集 1000 段"还是"标注子集 56/30 段"。这是本数据集最大的口径陷阱。
坑点 2:Synapse 主集 accession 双口径(04507 vs 04917)。 官方 GitHub README 列主集为 syn53404507,第三方目录 EyeDataHub 引用 syn53404917。两编号仅末两位不同。以官方 README 为准,检索时优先用 README 的直达链接。
坑点 3:只下主集漏掉标注包。 主集 syn53404507(89.9 GB)只含视频,阶段标注在 syn53395146、分割标注在 syn53395479、异常子在 syn53395402/syn53395131。第一次下载者常只拉主集,结果"没有标签"。
坑点 4:器械清单末项名双口径(katana forceps vs Sinskey hook)。 官方 README 第九件器械为 katana forceps,部分二手目录(Awesome-Medical-Dataset)转述为 Sinskey hook。以官方为准,二手转述可能导致器械清单整体漂移。
坑点 5:license 双口径(CC BY 4.0 vs research only)。 官方 README 明确 CC BY 4.0;EyeDataHub 归一化为 “Research only — see Synapse terms”。以官方 CC BY 4.0 为准,第三方归一化非法律结论。
坑点 6:三个"平均时长"数字分属不同子集(7.12 / 6.45 / 6.52 分钟)。 7.12 分钟是全集主体、6.45 分钟是阶段子集、6.52 分钟是分割子集。三者不可混用;跨子集引用时长时务必标注来源子集。
坑点 7:Sci Data Table 1 的 “Videos = 60”。 该数字是分割 30 段 + 阶段 56 段合并计数时的合并视图,并非数据集只有 60 段视频。按分任务口径(30 / 56)表述才准确。
坑点 8:两个数据集版本名的差异(arXiv/Sci Data 版 vs IEEE TMI 版)。 arXiv:2312.06295 与 Sci Data 版题为 “…Scene Segmentation, Phase Recognition, and Irregularity Detection”;第三方目录引用的 IEEE TMI 2024 版题为 “…Domain Generalization of Surgical Workflow Analysis”。同一数据集的两篇论文,标题不同,引用时勿混为一篇。
坑点 9:异常子集名的变体(pupil reaction / pupil constriction / miosis;lens rotation / IOL rotation / lens irregularity)。 同一类异常在不同位置有多种写法,单一关键词检索易漏。建议多关键词并用。
坑点 10:单中心外部效度。 全部数据来自克拉根福单一眼科诊所、单一设备(MediLive Trio Eye + ZEISS OPMI Vario),直接外推为"通用白内障模型"有域偏移风险。稳信用法是作强基准 + 域适配源域,并在目标域上微调/验证。
附录 A:DAIMS 评估全表
DAIMS 是评估数据资产管理成熟度的五维框架(可发现性 Discoverability、可获取性 Accessibility、可互操作性 Interoperability、元数据质量 Metadata、可持续性 Sustainability)。下表按五个维度对 Cataract-1K 打分(1—10),并给出依据:
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性 | 9 | Sci Data + arXiv + GitHub 三入口,DOI 稳定;PubMed/PMC 收录;被大量目录收录;名称 “Cataract-1K” 唯一性好(区别于 cataract-101/cataracts) |
| A 可获取性 | 8 | CC BY 4.0 且 Synapse 免费注册即可下载,五包独立;扣分项为主集 89.9 GB 体积大、Synapse 需注册且部分网络限速 |
| I 可互操作性 | 7 | MP4/H.264 通用视频格式 + CSV 标注 + Supervisely JSON + COCO 双格式,配套 GitHub 预处理代码;无 DICOM 桥接,跨工具链需自行转换 |
| M 元数据质量 | 8 | 论文 7 表 + 官方 README 详尽列出各子集规格、患者与术者画像、疾病与异常定义;扣分项为 accession 与器械末项的双口径未在官方文档中并列说明 |
| S 可持续性 | 8 | 依托 Synapse(长期存储)+ GitHub(代码)+ 期刊 DOI,平台稳定;扣分项为 GitHub 单仓库维护、无独立机构数据门户 |
| 综合评级 | 8.0/10(优秀) | 可发现性、许可宽容度与文档质量突出;可获取性被主集体积与注册门槛轻微拖低,互操作性因缺少 DICOM 标准化而降分 |
附录 B:本条目核心数字的证据链
| 关键数字 | 来源 | 位置 |
|---|---|---|
| 1000 段视频 / 2021—2023 / Klagenfurt | 官方 GitHub README | README 首段 |
| MediLive Trio Eye + ZEISS OPMI Vario | 官方数据集页 / README | Dataset Description |
| 平均 7.12 分钟 / 标准 200 秒 / 25 fps / 512×324 | 官方 GitHub README | README 首段 |
| 阶段子集 56 段 / 1024×768 / 30 fps / 6.45 分钟 | 官方 GitHub README | Phase recognition 节 |
| 分割子集 30 段 / 2256 帧 / 每 5 秒抽帧 / 6.52 分钟 | 官方数据集页 + README | Semantic segmentation 节 |
| 患者年龄 75(51—93)/ 74.5(51—90) | 官方 GitHub README | Phase/Segmentation 节 |
| 术者经验 8929±6350 / 8033±3894 | 官方 GitHub README | Phase/Segmentation 节 |
| 12 action phase + idle 定义 | 官方数据集页 / README | Phase recognition 节 |
| 3 解剖 + 9 器械(含 katana forceps) | 官方 GitHub README | Semantic segmentation 节 |
| IOL 旋转 <7 秒 | 官方 GitHub README | Irregularity 节 |
| Synapse accession 五包 | 官方 GitHub README | Download 节 |
| CC BY 4.0 | 官方 GitHub README | Disclaimer 节 |
| 伦理 EK 28/17 / FWF P 31486-N31、P 32010-N38 | Sci Data 正文片段 / README 致谢 | Methods / Acknowledgments |
| DOI 10.1038/s41597-024-03193-4 / PMID 38609405 / PMCID PMC11014927 | PubMed | 条目页 |
| 8 作者与四机构 | arXiv abs + PubMed | 作者列表 |
附录 C:数据字典全表
本附录把散落在正文各节的字段、标签与标注定义收拢成一组可直接查用的表。所有字段语义均来自官方 GitHub README 与官方数据集页的一手陈述;凡涉及推断的单元格均显式标注"(推断)",避免把推断当事实使用。
附录 C.1 视频级字段字典
| 字段 | 类型 | 单位 | 取值/范围 | 所属层级 | 来源 |
|---|---|---|---|---|---|
| video_id | 字符串 | — | 未公开具体编号规则 | 全集 | 官方 README(未披露编号格式) |
| duration | 浮点 | 分钟 | 主体平均 7.12;阶段子集 6.45±2.04;分割子集 6.52±2.00 | 分层 | 官方 README |
| standard_clip_duration | 整数 | 秒 | 200 | 官方口径 | 官方 README |
| resolution_unlabeled | 字符串 | 像素 | 512×324 | 仅未标注全集 | 官方 README |
| resolution_labeled | 字符串 | 像素 | 1024×768 | 阶段/分割子集 | 官方 README |
| fps_unlabeled | 整数 | 帧/秒 | 25 | 仅未标注全集 | 官方 README |
| fps_labeled | 整数 | 帧/秒 | 30 | 阶段子集 | 官方 README |
| surgeon_experience | 整数 | 台 | 1,000—40,000+(全集);8929±6350(阶段);8033±3894(分割) | 分层 | 官方 README |
| patient_age | 整数 | 岁 | 75(51—93,SD 8.69)阶段;74.5(51—90,SD 8.43)分割 | 分层 | 官方 README |
| task_membership | 枚举 | — | 分层 | 由 README 子集定义推得(推断) |
读表要点三则:
- 分辨率与帧率不是全集属性。未标注主体是 512×324/25 fps,标注子集是 1024×768/30 fps;把后者当成"数据集规格"是最常见的转述错误(§2.1、§10 坑点 6 的姊妹坑)。
- surgeon_experience 与 patient_age 只有子集级统计量,没有逐视频值公开——这意味着这两列不能在视频级做精确分层抽样,只能按子集整体描述。
task_membership一行是推断:官方以"subsets"形式组织下载包,但未公开"某段视频属于哪些任务"的显式映射表(§附录 AA 已列为待核)。
附录 C.2 阶段标签全表(12 action phases + idle)
| 序 | 阶段名(英文) | 中文 | 大致在流程中的位置 | 该阶段通常出现的器械 |
|---|---|---|---|---|
| 1 | incision | 切口 | 起始 | slit/incision knife |
| 2 | viscoelastic | 粘弹剂注入 | 切口后 | lens injector / 注射器类 |
| 3 | capsulorhexis | 撕囊 | 粘弹剂后 | capsulorhexis cystotome、capsulorhexis forceps |
| 4 | hydro-dissection | 水分离 | 撕囊后 | irrigation-aspiration |
| 5 | phacoemulsification | 超声乳化 | 核心阶段 | phacoemulsifier tip |
| 6 | irrigation-aspiration | 注吸 | 乳化后 | irrigation-aspiration |
| 7 | capsule polishing | 囊膜抛光 | 注吸后 | 抛光器械类 |
| 8 | lens implantation | 晶体植入 | 抛光后 | lens injector |
| 9 | lens positioning | 晶体定位 | 植入后 | 定位类器械 |
| 10 | viscoelastic-suction | 粘弹剂抽吸 | 定位后 | irrigation-aspiration |
| 11 | anterior-chamber flushing | 前房冲洗 | 抽吸后 | irrigation-aspiration |
| 12 | tonifying/antibiotics | 补液/抗生素 | 收尾 | 注射器类 |
| — | idle | 空闲段 | 任意位置 | 画面内无可见器械 |
三条使用纪律:
- 上表的"位置"列是典型顺序,不是强制顺序。实际手术中术者可能回退、合并或跳过某些步骤,这也是阶段识别比"固定流水线切分"更难的原因。
tonifying在第 12 位,但官方 README 把它写作"tonifying/antibiotics"(补液与抗生素合并为一类),引用时不要把斜杠两边拆成两个类别——那样会变成 13 个 action phase,与实际不符。idle不是"第 13 个阶段"而是独立的一类;在论文口径里常表述为"12 action phases + idle"(§3.3、FAQ Q13)。
附录 C.3 语义分割标签全表(3 解剖 + 9 器械 = 12 类)
| 序 | 类别名(英文) | 中文 | 类组 | 备注 |
|---|---|---|---|---|
| 1 | iris | 虹膜 | 解剖 | 抽帧时剔除"虹膜出画"帧,因此该类在标注帧中应普遍可见 |
| 2 | pupil | 瞳孔 | 解剖 | 与瞳孔收缩异常子集语义相关 |
| 3 | intraocular lens | 人工晶体(IOL) | 解剖 | 与 IOL 旋转异常子集语义相关 |
| 4 | slit/incision knife | 切口刀 | 器械 | 对应 incision 阶段 |
| 5 | gauge | 规尺 | 器械 | 长尾,出现频次低(§11.2) |
| 6 | spatula | 铲 | 器械 | 长尾,出现频次低 |
| 7 | capsulorhexis cystotome | 撕囊针 | 器械 | 对应 capsulorhexis 阶段 |
| 8 | phacoemulsifier tip | 超声乳化头 | 器械 | 对应 phacoemulsification 阶段 |
| 9 | irrigation-aspiration | 注吸头 | 器械 | 对应多个注吸类阶段 |
| 10 | lens injector | 晶体推注器 | 器械 | 对应 lens implantation 阶段 |
| 11 | capsulorhexis forceps | 撕囊镊 | 器械 | 对应 capsulorhexis 阶段 |
| 12 | katana forceps | 刀镊 | 器械 | 口径分歧位:二手目录转述为 Sinskey hook,以官方 README 的 katana forceps 为准(§4.2、§10 坑点 4) |
三档训练设置的类组关系(官方提供三套掩码生成代码,§4.3):
| 设置 | 参与类 | 输出类别数 | 典型指标口径 |
|---|---|---|---|
| anatomy + instrument | 表中全部 12 类 | 12(+ 背景) | Dice / IoU(逐类 + 均值) |
| binary instrument | 9 件器械合并为 1 | 2(器械/背景) | Dice / IoU(二值) |
| multi-class instrument | 仅 9 件器械,逐类区分 | 9(+ 背景) | Dice / IoU(逐类 + 均值) |
注意:三档的"均值"不能互相比较——binary 档只有一个正类,其 Dice 天然高于 12 类档的宏平均。报告时务必写明档位(§7.4、§7.6)。
附录 C.4 异常标签字典(两类)
| 字段 | 瞳孔收缩子集(Pupil Reaction Set) | 人工晶体旋转子集(Lens Irregularity Set) |
|---|---|---|
| 事件 | 瞳孔收缩(pupil constriction / miosis) | 人工晶体(IOL)旋转 |
| 命名变体 | pupil reaction / pupil constriction / miosis | lens rotation / IOL rotation / lens irregularity |
| 触发机制 | 超声乳化期光量骤增引发瞳孔反射 | 晶体展开与术后稳定性不足 |
| 事件时窗 | 突发(快缩)或渐进(慢缩) | 快速顺时针旋转发生在不足 7 秒内 |
| 高危上下文 | 超声乳化阶段(器械已入眼内) | 晶体展开/植入阶段(lens implantation / positioning) |
| 主要危害 | 伤及眼内娇嫩组织;妨碍晶体对位与居中 | 术后晶体移位/错位,视觉畸变,需二次手术 |
| 下载体积 | 3.29 MB | 1.49 MB |
| Synapse accession | syn53395402 | syn53395131 |
| 使用建议 | 探索性/种子数据,不做统计显著宣称 | 探索性/种子数据;事件极短,对时序灵敏度要求高 |
一点方法学提醒:上表把两个异常并列,但它们的"后果时间尺度"不同——瞳孔收缩是急性术中风险,IOL 旋转是术中发生、术后显影。做检测时,前者的评价重点是"能否在伤害发生前预警",后者是"能否识别预示移位的旋转模式"(§5.5)。这决定了两个子集即使体量相近,任务定义与评价指标也应当分别设计。
附录 C.5 元数据与治理字段字典
| 字段 | 值 | 一手来源 |
|---|---|---|
| license | Creative Commons Attribution 4.0 International (CC BY 4.0) | 官方 README |
| 第三方归一化 license 口径 | Research only — see Synapse terms(EyeDataHub,非法律结论) | 第三方目录(存照,§6.1) |
| 获取平台 | Synapse(synapse.org,免费注册) | 官方 README |
| 主集 accession | syn53404507 | 官方 README |
| 主集 accession(第三方口径) | syn53404917(存照,未核实为独立记录) | 第三方目录(§6.4) |
| DOI | 10.1038/s41597-024-03193-4 | PubMed / Sci Data |
| PMID / PMCID | 38609405 / PMC11014927 | PubMed |
| arXiv | 2312.06295(v1,2023-12-11) | arXiv |
| 伦理审批 | EK 28/17(Ethikkommission Kärnten) | Sci Data 正文片段(未二次确认,§附录 AA) |
| 知情同意 | 全部患者知情同意 | Sci Data 正文片段 |
| 资助 | Haag-Streit Foundation;FWF P 31486-N31、P 32010-N38 | 官方 README 致谢 |
| 采集设备 | MediLive Trio Eye 摄像 + ZEISS OPMI Vario 显微镜 | 官方数据集页 |
| 采集时间与地点 | 2021—2023,Klinikum Klagenfurt(奥地利克拉根福) | 官方 README |
| 标注工具 | Supervisely(多边形 JSON),另导出 COCO 格式 | 官方 README |
| 代码仓库 | github.com/Negin-Ghamsarian/Cataract-1K | 官方 README |
这张表的用途是合规核验的单一入口:凡涉及许可、引用、伦理声明,直接以本表为准,其中两条带"存照"的行(第三方 license 归一化、第三方 accession)是已知的双口径,必须连同存照说明一起引用,不得单独摘取(§10 坑点 2、5)。
附录 D:Synapse 下载实操手册
本附录把"怎么把数据真正拉到本地"这件事拆成可照做的步骤。所有 accession、体积与平台名均来自官方 GitHub README 与官方数据集页的一手陈述;凡涉具体界面按钮文字者,因 Synapse 界面会随版本迭代,本附录只描述稳定的操作语义而非像素级指引。
D.1 前置条件核对表
| 条件 | 要求 | 说明 |
|---|---|---|
| 账号 | Synapse 免费注册账号 | synapse.org;无需机构邮箱,但需邮箱验证 |
| 条款 | 已阅读并接受 accession 页面底部的数据使用条款 | 每个 accession 页面各自附条款 |
| 磁盘 | 至少按所选子集体积的 2—2.5 倍预留 | 下载包 + 解压 + 抽帧中间产物 |
| 网络 | 支持 HTTPS 且可长时间稳定连接 | 主集单包 89.9 GB,建议断点续传 |
| 目标子集 | 已选定"哪几个 accession" | 见 D.2 的五包清单 |
这里把"磁盘按 2—2.5 倍预留"写成一条纪律,是因为主集 89.9 GB 只是下载量口径(且官方未注明是压缩包净体积还是解压后体积,见附录 AA 遗留疑点);解压、抽帧、生成掩码都会再产生中间文件。宁可多留,不要中途爆盘重来。
D.2 五个 accession 的下载清单与用途映射
| 序 | 资产名 | accession | 体积 | 下载它做什么 |
|---|---|---|---|---|
| 1 | 主集 Catatact-1k | syn53404507 | 89.9 GB | 1000 段无标注视频;自监督预训练、表示学习 |
| 2 | Phase Recognition Set | syn53395146 | 3.87 GB | 56 段视频 + 阶段 CSV;阶段识别训练与评测 |
| 3 | Semantic Segmentation Set | syn53395479 | 4.74 GB | 30 段视频 + Supervisely JSON / COCO;分割训练 |
| 4 | Lens Irregularity Set | syn53395131 | 1.49 MB | IOL 旋转异常子集;异常检测探索 |
| 5 | Pupil Reaction Set | syn53395402 | 3.29 MB | 瞳孔收缩异常子集;异常检测探索 |
注意上表的排序刻意与体积降序一致:如果你只有一个下午和一块普通硬盘,从第 2、3 行开始即可拿到全部标注;第 4、5 行体积不到 5 MB,几乎零成本,建议一并取回留作后续探索。
D.3 下载路径的两种形态
形态一:网页端逐包下载。 登录后将 accession 拼到 https://www.synapse.org/#!Synapse: 之后(例如 https://www.synapse.org/#!Synapse:syn53395146),进入实体页后使用其 Download 入口。适合只取小子集或临时核对。
形态二:命令行客户端批量下载。 Synapse 提供官方命令行客户端 synapseclient(Python 包),支持按 entity id 批量拉取、断点续传与校验。对 89.9 GB 的主集,这是唯一现实的选择。基本形态如下(仅示意调用语义,非可运行脚本):
# 仅示意调用语义:登录 -> 取实体 -> 同步到本地目录
import synapseclient
syn = synapseclient.Synapse()
syn.login() # 交互式或经配置读取凭据
entity = syn.get("syn53395146") # 取单个 accession
print(entity.path) # 本地落盘路径
对"整包同步 + 续传 + 校验"的需求,客户端还提供按项目/文件夹同步的接口;具体参数名与用法随版本变化,请以 Synapse 官方文档为准。此处只强调三条不随版本改变的原则:先登录后同步、按 accession 而非按名字定位、大包必用续传。
D.4 推荐下载顺序与理由
- 先取两个 MB 级异常子集(syn53395131、syn53395402)。体积几兆,瞬时完成,可立刻验证账号、条款与网络链路是否通畅——用最小成本排掉"账号没通/条款没接受/网络被拦"这三类失败。
- 再取阶段集与分割集(syn53395146、syn53395479)。这两个是算法研究的主力数据,合计不到 9 GB,普通带宽下可在合理时间内完成。
- 最后按需取主集(syn53404507)。只有做预训练或规模敏感性研究时才需要;89.9 GB 应放在带宽空闲时段,并预先确认磁盘。
- 同步拉取代码仓库(github.com/Negin-Ghamsarian/Cataract-1K)。数据与代码分离托管,缺了仓库里的预处理脚本,CSV 与 JSON 都还原不成训练可用的序列与掩码。
把这四步写成一串,就是一条"最小可用闭环":先证明能下 → 再下主力子集 → 需要时补主集 → 用官方脚本把标注变成训练信号。顺序颠倒(先啃 89.9 GB)是最常见的低效开局。
D.5 文件名与目录形态的注意事项
官方未在公开 README 中给出完整的逐目录清单,因此不要凭猜测编造目录树。可以确定的三条形态性事实是:
- 拆分发包:数据集以"主集 + 四个任务子集"独立发包,节点名与 accession 一一对应(D.2 表)。
- 子集内含视频与标注两类内容:阶段集含视频 + 阶段 CSV;分割集含视频 + Supervisely JSON(及 COCO);异常集为小子集。
- 名称存在历史变体:主集名在 README 中曾写作 “Catatact-1k”(少一个 r);异常子集在页面中称 “Pupil Reaction Set” / “Lens Irregularity Set”,而论文正文用 “pupil constriction” / “lens rotation” 等词。检索与脚本匹配文件名时,应容忍这些变体(§10 坑点 9、附录 C.4)。
第 1、2 条是设计层面的确定事实,第 3 条是命名层面的已知变体。凡本附录未列出的具体子目录名,一律以解压后实际所见为准,不在此臆造。
D.6 下载失败的处置决策树
| 现象 | 最可能原因 | 处置 |
|---|---|---|
| 打开 accession 页提示无权限 | 未登录或未接受该页条款 | 登录后回到该 accession 页接受条款再试 |
| 大包下载到中途中断 | 网络抖动 / 无续传 | 改用命令行客户端续传,避免手工重下 |
| 下完的文件比标称体积小很多 | 只下了包内部分条目 | 检查是否按"整包同步"而非"单文件点击" |
| 找不到标注标签 | 只下了主集 | 补下 syn53395146 / syn53395479 等标注包(§10 坑点 3) |
| 主集解压后磁盘告急 | 低估了 2—2.5 倍系数 | 先转存 / 清理中间产物,再继续解压 |
这张表的用法是"先定位再动手":前两行是账号与网络的链路问题,中间两行是"漏包"的语义问题,最后一行是容量规划问题。三者处置手段完全不同,混着试只会浪费时间。
D.7 下载后立刻做的三件校验
- 完整性校验:比对本地实际取得的文件数与体积与 accession 页面所列是否一致(官方 README 给出的是各包总体积,可作粗略上限参照)。
- 可读性校验:随机抽一段视频确认可解码、分辨率/帧率与所选子集的口径相符(阶段与分割子集应为 1024×768;主体应为 512×324,见附录 C.1)。
- 标注对应性校验:确认视频与其标注文件在命名上能对上(阶段 CSV ↔ 视频、分割 JSON ↔ 抽帧),对不上则说明标的目录层级理解有误。
这三步只需几分钟,却能避免"训到一半才发现视频和标注对不上"的大返工。把它当成下载流程的固定收官动作。
附录 E:数据预处理与格式转换指南
本附录聚焦"从官方原始标注到训练可用输入"的一段管道。所有格式名称(CSV、Supervisely JSON、COCO)与三档分割设置(anatomy+instrument / binary instrument / multi-class instrument)均来自官方 README;具体代码以 GitHub 仓库为准,本附录只讲管道结构与易错点,不臆造官方脚本的函数名。
E.1 两条管道的总览
Cataract-1K 的标注分两类,对应两条互不相同的预处理管道:
| 管道 | 起点 | 终点 | 关键难点 |
|---|---|---|---|
| 阶段管道 | 帧级阶段 CSV(每阶段首末帧) | 逐帧阶段序列(13 类,含 idle) | idle 的"阶段间"与"阶段内"两种还原 |
| 分割管道 | Supervisely 多边形 JSON(附 COCO) | 逐像素类别掩码(按档位) | 三档掩码派生 + 长尾类的类别编码 |
两条管道的共同点是标注都是稀疏/边界式的(阶段给边界、分割给抽帧),都需要代码"展开"成密集输入。这也是为什么官方把预处理代码与数据分开托管——没有代码,标注只是半成品。
E.2 阶段管道:从边界标注到逐帧序列
阶段 CSV 给出的是每个阶段在每段视频中的起始帧与结束帧。把它还原成逐帧序列,逻辑上分三步:
- 区间展开:把每个阶段的首末帧区间填充为该阶段标签。
- idle 补齐:把相邻阶段区间之间的空档填为 idle(阶段间空闲);若某阶段内部存在"换器械、画面无器械"的时间跨度,也要填为 idle(阶段内空闲)。这两类 idle 的语义都是官方定义的一部分(§3.2)。
- 一致性检查:确认展开后的序列总长等于该视频总帧数,且无未覆盖空档。
最容易出错的是第 2 步中的"阶段内 idle"。很多简化实现只处理"阶段之间"的空档,把"阶段之中"的空档错误地并入所属阶段。这样得到的序列在帧级准确率上可能看起来更高(因为把零散的 idle 抹平了),但语义上偏离了官方定义,且会让 idle 类的样本量被系统性低估——如果论文或他人基准把两类 idle 都算进去,你的数字就与基准不可比了。
E.3 分割管道:从多边形 JSON 到三档掩码
分割标注是 Supervisely 平台的多边形 JSON,官方另导出 COCO(含边界框)。从 JSON 到训练掩码的路径是:
- 解析多边形:把每个对象的多边形顶点还原成像素区域(光栅化)。
- 类别映射:按官方类别体系(3 解剖 + 9 器械 = 12 类)赋予类别索引。
- 按档位派生掩码(官方提供三档):
- anatomy+instrument:保留全部 12 类 + 背景,输出 13 值掩码(12 类 + 1 背景);
- binary instrument:把 9 件器械合并为一类,输出"器械/背景"两值掩码;
- multi-class instrument:只保留 9 件器械且逐类区分,输出 10 值掩码(9 类 + 1 背景)。
三档必须用同一份原始 JSON 派生,不能各自重标。这是因为三档的差异只应体现在"类别如何归并"上,底层几何标注必须一致;若分别处理,档位间的可比性就被破坏,附录 C.3 那张档位对照表的"不能互相比较均值"警告也就失去了它想保护的东西。
E.4 格式选择:Supervisely JSON vs COCO
同一份标注的两种导出各有用途,不要二选一后删除另一种:
| 格式 | 天然服务 | 优势 | 注意 |
|---|---|---|---|
| Supervisely 多边形 JSON | 语义分割(逐像素) | 保留完整多边形几何,边界精度高 | 需自行光栅化成掩码 |
| COCO(含边界框) | 目标检测 / 定位 | 生态工具链成熟,加载方便 | 框是粗定位,不能直接当分割掩码用 |
实务建议:用 JSON 生成分割掩码,用 COCO 做检测类实验或做数据巡检(例如用框快速统计每类对象的出现频次,与论文 Table 2 的实例统计对照)。把 COCO 的框当掩码上采样,会引入大量边界误差,是常见的错误捷径。
E.5 Supervisely JSON 进入训练前的四类转换错误
- 坐标尺度不一致:多边形坐标可能是绝对像素值,也可能被归一化;若不统一缩放口径,掩码会整体错位或缩放到错误尺寸。
- 多边形自交与孔洞:手工勾画的多边形偶有自交或含内环(如虹膜中的瞳孔);简单填充会把孔洞填错,需要用带奇偶规则的填充或多边形布尔运算处理。
- 类别名与索引映射漂移:器械类别名含斜杠与连字符(如
slit/incision knife、irrigation-aspiration),字符串匹配时若做了不当地规范化(去斜杠、转下划线),会与类别表对不上。 - 背景类的隐式约定:多数分割框架把"未标注像素"视为背景,但本数据集的 12 类里并没有显式的"背景"标签;派生掩码时要自行补一类背景索引,且三档的索引方案要各档各自自洽。
四类错误里,第 3 类最隐蔽——它不会报错,只会静默地把一件器械并到另一类,最终指标轻微漂移却难定位。建议在转换后加一步类别频次巡检:统计各档掩码中每类的像素占比,与论文的每标签平均像素统计(arXiv 版 Table 3 口径)方向对照,出现量级异常即可回查映射。
E.6 抽帧与掩码的对齐检查
分割子集每 5 秒抽 1 帧、共 2256 帧,且剔除了严重运动模糊帧与虹膜出画帧(§4.1)。这意味着标注帧号不是等间隔的——不能简单按"每 150 帧取一帧"(30 fps × 5 秒)去索引,必须以标注文件中记录的实际帧为准。对齐检查清单:
- 标注帧总数应为 2256;若你的解析结果多或少,先查是否漏读/重读了某段视频的标注;
- 每段的标注帧数应与该段时长和剔除规则相符;若某段帧数异常少,可能是该段被剔除的帧较多;
- 掩码尺寸应为 1024×768,与视频分辨率一致;若不一致说明缩放环节出问题。
E.7 预处理完成的自检表
| 检查项 | 期望 |
|---|---|
| 阶段序列 | 逐帧覆盖、含两类 idle、总长 = 视频帧数 |
| 阶段类别数 | 13(12 action + idle) |
| 掩码档位 | 三档均可由同一 JSON 派生 |
| 掩码类别数 | 联合 13(含背景)/ 二值 2 / 多类器械 10(含背景) |
| 掩码尺寸 | 1024×768 |
| 类别映射 | 12 类名逐一可对上官方类别表 |
这张表在正式训练前跑一遍,等价于把 §3、§4 的所有口径条款做了一次机器可检的落地。
附录 F:常见报错与疑难处置
以下为使用该数据集时最常遇到的疑难,按"症状 → 根因 → 处置"三段式列出。序号续接正文 §10 的坑点体系,编号从坑点 11 起,供与本条目其他清单交叉引用。
坑点 11:把标注子集的视频规格当成主体规格。 症状:在主体 1000 段上按 1024×768 建数据加载器,结果全部报尺寸不匹配。根因:主体未标注视频是 512×324 / 25 fps,只有阶段与分割子集才是 1024×768 / 30 fps。处置:按子集分别设置预处理尺寸与帧率,不要用一个全局常量(附录 C.1 已列此分层)。
坑点 12:解析 CSV 时丢掉 idle。 症状:阶段模型在包含大量换器械间隙的测试段上表现异常好或异常差。根因:只还原了 action phases,把 idle 段并入了相邻阶段或直接跳过。处置:显式还原"阶段间 idle"与"阶段内 idle"两类,并核对序列总长(附录 E.2)。
坑点 13:误以为主集里带标签。 症状:下完 89.9 GB 主集后发现"没有标注文件"。根因:主集只含视频本体,标注在另外四个 accession 包里。处置:补下 syn53395146(阶段)、syn53395479(分割)等(§10 坑点 3)。
坑点 14:分割结果与论文基准差距过大且方向不对称。 症状:自训分割 Dice 远低于论文基准。根因候选:未遵守 5 折患者级划分(导致异常高)/未按同一档位报告(导致异常低)/类别映射漂移(附录 E.5 第 3 类)。处置:先确认折划分与报告档位,再做类别频次巡检。
坑点 15:把两个异常子集当基准集报告显著性。 症状:在 MB 级异常子集上跑出高指标并下统计结论。根因:子集体量极小(1.49 MB / 3.29 MB),不足支撑统计显著结论。处置:定位为探索性/种子素材,报告时明确标注(§5.4、附录 C.4)。
坑点 16:按第三方目录的 accession 找不到主集。 症状:在 Synapse 用某些目录给出的编号检索不到预期主集。根因:主集 accession 存在官方 README(syn53404507)与第三方目录(syn53404917)的双口径。处置:以官方 README 编号为准(§10 坑点 2、§6.4)。
坑点 17:器械清单按二手转述写成了另一件器械。 症状:复现他人代码时器械类别对不上。根因:第九件器械官方写作 katana forceps,部分二手目录转述为 Sinskey hook。处置:以官方 README 为准,并容忍二手清单整体漂移的风险(§10 坑点 4)。
以上七条与正文坑点 1—10 合起来共 17 条坑点,覆盖"口径混淆(1、6、7、11、13、16、17)、命名变体(4、9、12)、工程细节(2、3、5、8、10、14、15)"三类。"坑点 N"字样的计数以正文 §10 与本节合起来为准。
附录 G:域泛化与域适配的实操建议
Cataract-1K 的一个独特卖点,是它被用于首次系统性探索白内障器械分割的域适配(§8.3)。由于全部数据来自单一中心、单一设备链路,它天然构成"同源多子集"的跨域试验台。本附录把这类实验的实操要点整理成可执行建议。凡涉及具体算法名者均为领域常识性方法,不指向本数据集官方实现(官方未在本轮可核实来源中公布具体适配算法清单)。
G.1 先厘清三种"域"的切分方式
在同一数据集内部做跨域,至少有三种切分口径,用途不同,不可混用:
| 切分口径 | 源域 / 目标域 | 用途 | 与本数据集的关系 |
|---|---|---|---|
| 子集间切分 | 一个任务子集 vs 另一个任务子集 | 观察不同采集条件下同一任务的迁移 | 阶段集与分割集是不同 30/56 段,视觉域共享但样本不同 |
| 折间切分 | 5 折中某折 vs 其余折 | 患者级泛化 | 分割子集本就是 5 折患者级划分,可直接复用 |
| 跨数据集切分 | Cataract-1K vs 其他白内障数据(如 CATARACTS) | 真实跨机构泛化 | 需外部数据,属外部效度验证(§8.6) |
最常见的错误是把"折间切分"当成"跨域实验"。5 折患者级划分考察的是同分布下的患者级泛化,不是跨域泛化——两者训练/测试的视觉域是同一个。若要做真正意义上的域适配研究,至少要用"子集间切分"或"跨数据集切分"。
G.2 域泛化(DG)与域适配(DA)的分工
两个词常被混用,但实操上要求不同:
- 域泛化(domain generalization):训练时看不到目标域数据,只求模型在未见域上稳健。做法上偏向提升表示的不变性——多源训练、数据增强、风格随机化、因果/不变性学习。
- 域适配(domain adaptation):训练时能用(部分)目标域数据,通过对齐、微调或自训练把源域知识迁到目标域。做法上偏向分布对齐与伪标签。
对本数据集,如果目标是"训练一个换到别家医院仍能用的器械分割模型",属 DG;如果是"已有一批目标医院的无标注视频,想把模型调过去",属 DA。先定这个,再选方法——选反了会白做大量实验。
G.3 三类可利用的"域偏移来源"
这套数据集的域偏移主要来自三处,做实验时应把它们分开控制,而不是笼统地"换个子集看看":
- 患者外观差异:不同患者的虹膜纹理、色素、瞳孔状态差异大(§3.4),是最主要的域偏移源。
- 术者与术式差异:术者经验从 1,000 到 40,000+ 台跨度极大(附录 C.1),新手与专家的操作节奏、器械选择不同。
- 采集与成像条件:虽为同一设备链路,但光照、对焦、散焦模糊、运动模糊在不同段之间仍有波动(§3.4)。
做消融时,尽量让一个实验只改变其中一个来源(例如按术者经验分层切分,观察迁移性能),否则三个来源叠加,结论无法归因。
G.4 单中心数据的实证纪律
由于是单中心,得出任何"泛化"结论前应过一遍以下纪律:
- 报告目标域:任何跨域评测都必须写明源域与目标域是什么口径(G.1 三选一),否则数字不可比(§7.4)。
- 不宣称通用性:在克拉根福单中心上训练的模型,不足以支撑"通用白内障模型"的宣称(§8.6、§10 坑点 10)。
- 异常子集不参与泛化结论:MB 级异常子集体量太小,不能用来支撑任何泛化性论断(§5.4)。
- 档位一致:跨域对比必须在同一分割档位(三档之一)内进行,跨档比较均值无意义(附录 C.3)。
G.5 一个可复用的最小跨域实验设计
若要从零搭一个"域适配是否有效"的最小实验,建议如下骨架:
- 固定任务与档位:例如多类器械分割(9 类)这一档。
- 固定源域:如分割子集的某 4 折(患者级)。
- 构造目标域:取第 5 折作同分布目标(患者级泛化基线),再以另一任务子集或外部数据集构造跨域目标(跨域基线)。
- 跑三条基线:仅源域训练(no adaptation)、加目标域数据微调(DA)、加不变性训练(DG)。
- 报告口径:逐类 Dice/IoU + 宏平均,并注明档位、折划分、源/目标域定义。
这个骨架的价值在于它的每一条都能在 §7.4 的评测纪律里找到对应条款,跑完即是一份口径自洽、可与他人类比的结果。若跳过第 3 步只用折间切分,得到的就是"同分布患者级泛化",不是跨域结论——这是本条最想拦住的一步。
附录 H:FAQ 续编(Q31—Q45)
本节续接 part5 的 FAQ 30 问,主题上刻意错开,集中在字段级细节、工程落地、治理与引用、横向定位四类上,供已经把数据集跑通、正在写论文或做产品选型的人查阅。
E. 字段与规格细读
Q31:主体 1000 段视频到底有没有帧级标签?
没有。主集(syn53404507)只含视频本体与基本信息,不含帧级或像素级标注。所有标注都在另外四个 accession 包里:阶段识别 56 段、语义分割 30 段、瞳孔反应、晶体不规则。如果你需要"1000 段里每一段都有阶段标签"的数据,这套数据集不提供——它是一个"海量无标注主体 + 少量精细标注子集"的两级结构(§2.8)。
Q32:为什么会有"标准时长 200 秒"这个数字?
200 秒是官方给出的标准时长口径,与主体平均时长 7.12 分钟不是一个层次的概念:前者是一个用于归一化/截断的参考长度,后者是 1000 段全集统计出来的平均实际时长。做小规模实验或快速验证时,常以 200 秒作为定长窗口的基准;做完整时间线建模时,则应按每段实际时长处理(§2.1)。
Q33:阶段标注的 CSV 里"首末帧"到底是帧号还是时间戳?
官方描述为逐视频给出每个 phase 的首帧与末帧(帧级边界)。由于阶段子集是 30 fps,帧号与时间的换算关系是确定的——但主体是 25 fps,若你误用主体帧率去换算阶段子集的帧号,时间轴会整体偏差约 17%。这是最隐蔽的一类坑(§10 坑点 1、7)。
Q34:12 类分割标签里,"pupil"和"iris"会重叠吗?
这是像素级多类分割,同一像素归入唯一类别,二者不重叠。解剖层面上瞳孔是虹膜围成的开口,一个在外一个在内,边界天然相邻但归属互斥。需要"瞳孔区域"时取 pupil 类,需要"虹膜环"时取 iris 类,不要因为临床上两者相关就在标注上做并集(附录 C.3)。
Q35:三档训练设置可以互相比较吗?
不可以。anatomy+instrument(12 类)、binary instrument(器械前景/背景二值)、multi-class instrument(9 类器械多类)是三套不同的输出空间,评测口径随之不同。把三种设置下的 Dice 直接并列比较,是本数据集上最常见的报告性错误之一。做横向对比时,务必先声明用的是哪一档(§4.2)。
F. 工程落地
Q36:2256 帧够不够训一个像样的分割模型?
以像素级分割的标准看,2256 帧属于小样本量级,通常需要依赖强数据增强、迁移学习或在大规模无标注主体上做预训练再微调。官方提供 1000 段无标注视频正是为这类"自监督预训练 + 小样本微调"路径准备的(速查 4)。如果只用 2256 帧从零训,泛化会受限。
Q37:分割的 COCO 格式和 Supervisely JSON 该选哪个?
看你的训练框架。主流检测/分割框架多原生吃 COCO;而 Supervisely JSON 保留了多边形顶点序列,信息更完整(COCO 那一路附带的是边界框)。追求掩码精度选 Supervisely 多边形,追求与现成框架的即插即用选 COCO,二者的取舍见附录 E.4(§4.3)。
Q38:5 折患者级划分,患者级具体意味着什么?
意味着同一患者的视频只会出现在同一折里,不会跨折。分割子集每折 6 段不同视频,跨折之间不共享患者。这是防止患者级泄漏的关键设计——如果按视频随机划分而不按患者分组,同一患者的相邻视频会同时进入训练与测试,指标会被系统性抬高(§4.4、附录 E.5)。
Q39:下载 89.9 GB 主集需要注意什么存储问题?
按磁盘规划留出一倍以上余量:89.9 GB 若是压缩包体积,解压后可能显著更大。若计划做抽帧或转码,中途产物还会再占一份空间。稳妥做法是先下四个小标注子集(MB 到 GB 级)跑通流程,确认格式、路径、脚本都对之后,再下主集做预训练(附录 D.4)。
Q40:为什么我按论文描述复现,阶段识别的 F1 差得远?
先排查四件事:(1)是否用了与论文相同的划分口径;(2)是否还原了 idle,还是把它并进了相邻阶段;(3)是否在类别严重不平衡下只看全局准确率(应看 macro-F1 或逐类指标);(4)是否混用了主体与子集的帧率。前三条属口径问题,第四条属工程问题,逐条对照 §3.3 与附录 E.2 排查。
G. 治理、伦理与引用
Q41:商用到底可不可以?
按官方许可可以。CC BY 4.0 允许复制、分发、传播与改编,含商业用途,唯一硬性条件是署名(Attribution)。第三方目录曾出现 “research only” 的归一化标注,那是目录方的 curation metadata,不是法律结论,也不改变官方 README 的 CC BY 4.0 表述(§6.1、附录 C.5)。
Q42:既然是真实患者手术视频,隐私怎么处理?
数据经伦理审批(EK 28/17,克恩顿州伦理委员会),患者均知情同意。数据集以医学影像数据集惯常的脱敏方式处理后再公开,研究者使用时仍应遵守所属机构对敏感医学数据的内部规定,不得尝试从画面中重新识别患者身份(§2.7、附录 C.5)。
Q43:写论文引用它,应该引 Sci Data 版还是 arXiv 版?
正式引用应指向 Scientific Data (2024) 11:373,DOI 10.1038/s41597-024-03193-4(PMID 38609405,PMCID PMC11014927)。arXiv:2312.06295 是预印本,可用于追溯最早提交时间(2023-12-11),但正式学术引用以期刊版为准。另有一个 IEEE TMI 2024 扩展版标题见于第三方目录,本轮未独立实抓,引用前请自行核实(附录 AA、§7.5)。
Q44:Synapse 上两个很像的主集编号,引用哪个?
以官方 GitHub README 列出的 syn53404507 为准。第三方目录 EyeDataHub 引用的 syn53404917 仅末两位不同,疑为 Synapse 重建/迁移产生的孪生编号,本轮未核实其是否独立存在。写数据可获得性声明时,用官方编号并保留对第三方口径的说明(§6.4、附录 C.5)。
H. 横向定位
Q45:Cataract-1K 和 CaDIS、CatRel 比,强在哪里、短板在哪?
强在规模与任务广度:主体 1000 段是现有白内障公开数据集中最大的一档,且一个数据源同时覆盖阶段识别、语义分割、不规则检测三类任务。短板在两项:(1)单中心、单设备链路采集,跨机构泛化需额外做域适配或域泛化验证(附录 G);(2)两类不规则子集为 MB 级,样本量不适合下统计显著结论。若你的目标是"大样本 + 多任务",它是最优选项之一;若目标是"跨中心泛化基准",需谨慎并配合跨域实验设计。与 CaDIS、CatRel 的逐维度对照见附录 I。
附录 I:横向对照大表
本附录把 Cataract-1K 与同族数据集做逐维度并排对照,便于选型与论文 Related Work 制表。凡涉及其它数据集的字段,仅采用本条目 FACTS.md 与 Sci Data Table 1 已记录的值;未记录处一律留空并注明"本条目未记录",不臆造。
I.1 四类标注子集的全维度对照(数据集内部)
下表把四个标注子集在同一组维度上并排,用于回答"我的任务该下哪个包、按什么规格处理"。
| 维度 | 阶段识别子集 | 语义分割子集 | 瞳孔反应子集 | 晶体不规则子集 |
|---|---|---|---|---|
| Synapse accession | syn53395146 | syn53395479 | syn53395402 | syn53395131 |
| 下载体积 | 3.87 GB | 4.74 GB | 3.29 MB | 1.49 MB |
| 视频/样本数 | 56 段 | 30 段 | 本条目未记录具体段数 | 本条目未记录具体段数 |
| 标注层级 | 帧级边界(每 phase 首末帧) | 像素级多边形 | 事件级(不规则) | 事件级(不规则) |
| 标注格式 | CSV | Supervisely JSON(另附 COCO) | 本条目未记录 | 本条目未记录 |
| 空间分辨率 | 1024×768 | 1024×768 | 本条目未记录 | 本条目未记录 |
| 时间分辨率 | 30 fps | 30 fps | 本条目未记录 | 本条目未记录 |
| 平均时长 | 6.45 分钟(SD 2.04) | 6.52 分钟(SD 2 分钟) | 不适用(事件级) | 不适用(事件级) |
| 患者平均年龄 | 75 岁(51–93,SD 8.69) | 74.5 岁(51–90,SD 8.43) | 本条目未记录 | 本条目未记录 |
| 术者平均经验 | 8929 台(SD 6350) | 8033 台(SD 3894) | 本条目未记录 | 本条目未记录 |
| 划分方式 | 本条目未记录折数口径 | 5 折患者级,每折 6 段 | 不适用 | 不适用 |
| 类别体系 | 12 action phase + idle | 3 解剖 + 9 器械 = 12 类 | 瞳孔收缩(miosis)单类 | IOL 旋转单类 |
| 典型用途 | 阶段/时相识别、工作流分析 | 场景语义分割、器械分割 | 异常检测(探索性) | 异常检测(探索性) |
读表提示:阶段与分割两个子集共享 1024×768 / 30 fps 的采集规格与相近的患者画像(年龄、术者经验),说明它们很可能来自同一批常规手术录制;但两者的"视频数"(56 vs 30)与"划分口径"不同,不可把 56 与 30 相加后与主体 1000 相除来推算覆盖率——1000 是全集主体,56 与 30 是其中的标注选段(§2.5、附录 C.1)。
I.2 与同族白内障数据集逐维度对照
Sci Data Table 1 给出了一组横向对照(引自已检索到的 paperity 预览)。下表据其记录整理,并补入本条目 FACTS.md 中的其它硬事实;Sci Data Table 1 未覆盖的维度留空标注"本条目未记录"。
| 维度 | Cataract-1K | Cataract-101 | CATARACTS | CaDIS | CatRel |
|---|---|---|---|---|---|
| 年份/出处 | 2024,Sci Data 11:373 | 2018,MMSys | CATARACTS grand-challenge | 见 Sci Data Table 1 | 见 Sci Data Table 1 |
| 采集地 | 奥地利克拉根福 | 奥地利克拉根福(ITEC/AAU 谱系) | 法国布雷斯特大学医院 | 本条目未记录 | 本条目未记录 |
| 视频数 | 1000(主体);56 阶段 + 30 分割为标注选段 | 101 | 50 | 25 | 22 |
| 视频路数 | 单路显微镜 | 单路显微镜 | 双路(显微镜 + 器械托盘) | 本条目未记录 | 本条目未记录 |
| 分辨率 | 1024×768(标注子集)/ 512×324(主体未标注) | 本条目未记录 | 本条目未记录 | 960×540 | 224×224 |
| 帧率 | 30 fps(标注子集)/ 25 fps(主体) | 本条目未记录 | 本条目未记录 | 本条目未记录 | 25 fps |
| 标注帧数 | 2256 帧(分割) | 本条目未记录 | 本条目未记录 | 4670 帧 | 本条目未记录 |
| 主要任务 | 阶段识别 + 语义分割 + 不规则检测 | 阶段识别(10 阶段) | 器械检测 + 活动识别 | 语义分割 | 相关性检测/压缩(帧级四相关 phase vs rest) |
| 器械类别数 | 9 | 本条目未记录 | 21 | 本条目未记录 | 不适用 |
| 许可 | CC BY 4.0 | 本条目未记录 | 本条目未记录 | 本条目未记录 | 本条目未记录 |
| 库内 rid | 本条目(cataract-1k) | 263 | 253 | 待核 | 待核 |
读表提示:Cataract-1K 的"1000 视频"与 Cataract-101 的"101"、CATARACTS 的"50"是同一层级的"主体视频数"口径,可直接比较;而 Sci Data Table 1 中 Cataract-1K 一列出现的 “60” 系 30(分割)+ 56(阶段)合并视图的不同计数口径,与 1000 非同一层级,引用时须注明(附录 AA、§7.3)。表中 Cataract-101 与 CATARACTS 的多数技术字段本轮未获一手核实,如需制表请回溯源流页。
I.3 选型决策速览
| 你的目标 | 首选 | 理由 |
|---|---|---|
| 大样本手术视频预训练 | Cataract-1K 主集 | 1000 段为同族中最大主体,且 1000 段提供自监督素材 |
| 白内障阶段识别 | Cataract-1K 阶段集 | 12 阶段 + idle,56 段帧级标注 |
| 手术场景/器械语义分割 | Cataract-1K 分割集 或 CaDIS | Cataract-1K 提供 12 类(3 解剖 + 9 器械)2256 帧;CaDIS 提供 4670 帧但类别体系不同 |
| 器械检测 / 活动识别 | CATARACTS | 双路视频、21 器械,任务族对口 |
| 器械分割的域适配研究 | Cataract-1K | 单中心 + 同源多子集,首次系统性域适配研究的载体(§8.3、附录 G) |
| 术中异常/不规则检测 | Cataract-1K 两个小集 | 唯一提供瞳孔收缩与 IOL 旋转两个异常子集,但体量小、宜作探索性(§5.4) |
I.4 与更广手术工作流家族的可比性
Cataract-1K 之外,手术视频工作流分析家族还包括腹腔镜方向的一系列数据集(如阶段识别与器械分割同构的条目)。这些数据集与本条目的任务同构性在于:都提供"阶段/动作帧级标注 + 器械像素级分割"的组合,因此可作为方法论层面的横向参照。但须注意两点不可比:
- 术式与视野不同:白内障为显微镜下眼内微视野(1024×768 或 512×324,器械细长、组织半透明),腹腔镜为腔体内视野(视野与器械形态差别大)。跨术式迁移不构成同域。
- 类别体系不同:阶段定义、器械清单均术式专属,类别不对齐时不能直接互相评测。
库内 CaDIS、CatRel 以及更广的手术工作流家族条目是否存在,本轮预算内未逐一查证(附录 AA);引用前请以库内实际检索为准,不要凭本表假设其存在。
以上文字与附录 H 合计,为本条目在 FAQ 与横向对照两个方向上的扩写。所有数字均出自 FACTS.md 已记录的硬事实或 Sci Data Table 1 的记录值;凡未记录处均显式标注"本条目未记录",未做任何推测性填充。
上手速查:四类用户的最短路径
速查 1 如果你要做阶段识别
- 从 Synapse 下载 Phase Recognition Set(syn53395146,3.87 GB);
- 用 GitHub 仓库的阶段预处理脚本,把 CSV 解析成每段视频的阶段序列;
- 注意同时还原 idle(阶段间与阶段内两种空闲),别把 idle 丢掉;
- 评测用 macro-F1 或逐类指标,不要只看全局准确率(类别严重不平衡);
- 若要与论文基准对比,务必用与论文相同的划分口径。
速查 2 如果你要做场景分割
- 从 Synapse 下载 Semantic Segmentation Set(syn53395479,4.74 GB);
- 用官方脚本从 Supervisely JSON 或 COCO 生成训练掩码,选择三档设置之一(解剖+器械 / 二值器械 / 多类器械);
- 遵守 5 折患者级划分(每折 6 段),防止患者级泄漏;
- 报告结果时按三类设置分别给出,避免笼统;
- 类别极少见的器械(如规尺 gauge、铲 spatula)召回可能很低,需关注长尾。
速查 3 如果你要做异常检测
- 下载 Pupil Reaction Set(syn53395402,3.29 MB) 与 Lens Irregularity Set(syn53395131,1.49 MB);
- 认识到这两集体量极小,应作探索性素材,不宜作为统计显著结论的依据;
- IOL 旋转事件极短(展开期顺时针旋转 <7 秒),需高时间分辨率;
- 瞳孔收缩与光照变化的因果关系(超声乳化期光量骤增)是重要先验;
- 检索时用多组关键词(pupil reaction / pupil constriction / miosis;lens rotation / IOL rotation / lens irregularity)。
速查 4 如果你要用它做预训练
- 下载**主集(syn53404507,89.9 GB)**获得 1000 段无标注视频;
- 用自监督方法(如视频对比学习、掩码重建)预训练表示;
- 在下游标注子集(阶段/分割)上微调评测;
- 注意单中心域偏移:跨机构部署前应在目标域上做微调或跨域验证(§8)。
FAQ(高频问答 30 问)
A. 基础认知
Q1:Cataract-1K 的 “1K” 是什么意思?
指 1000 段手术视频的规模,是其前作 Cataract-101(101 段)的约十倍扩容。
Q2:它和 Cataract-101 是同一个数据集吗?
不是。Cataract-101 是 2018 年的前作,仅 101 段、10 个阶段;Cataract-1K 是 2024 年的新数据集,1000 段、12 阶段 + idle + 分割 + 异常。二者共享克拉根福学派谱系但为独立数据集(库内 cataract-101 为 rid 263)。
Q3:它和 CATARACTS 是同一个数据集吗?
不是。CATARACTS 是法国布雷斯特团队的 50 段双路视频数据集(显微镜 + 器械托盘),主线是器械检测与活动识别;Cataract-1K 是奥地利克拉根福的 1000 段单路显微镜视频,主线是阶段 + 分割 + 异常。库内 cataracts 为 rid 253。
Q4:数据集是谁做的?
伯尔尼大学 CAIM、克拉根福大学信息技术系、Klinikum Klagenfurt 眼科、伯尔尼 Inselspital 眼科四家机构,8 位作者。第一作者 Negin Ghamsarian,通讯作者 Klaus Schoeffmann 与 Raphael Sznitman。
Q5:数据在哪里采集的?
奥地利克拉根福的 Klinikum Klagenfurt 眼科诊所,2021 至 2023 年。
Q6:用什么设备拍的?
MediLive Trio Eye 摄像系统,安装在 ZEISS OPMI Vario 手术显微镜上。
Q7:数据集有多大?
主体 1000 段视频,主集下载体积 89.9 GB;四个标注子集分别 3.87 GB、4.74 GB、3.29 MB、1.49 MB。
Q8:一共标注了多少?
阶段标注 56 段(12 阶段 + idle);像素级分割标注 2256 帧(来自 30 段视频);异常子集两个(瞳孔收缩、IOL 旋转)。
Q9:论文发在哪里?
Scientific Data (2024) 11:373,DOI 10.1038/s41597-024-03193-4,PMID 38609405,PMCID PMC11014927,2024-04-12 发布。另有 arXiv:2312.06295 预印本。
Q10:名字里的 “Scene Segmentation, Phase Recognition, and Irregularity Detection” 是什么?
三大任务:场景(语义)分割、手术阶段识别、术中不规则检测。
B. 数据规格与任务
Q11:阶段识别分多少类?
12 个 action phase 加 1 个 idle,共 13 类。
Q12:12 个 action phase 是什么?
incision、viscoelastic、capsulorhexis、hydro-dissection、phacoemulsification、irrigation-aspiration、capsule polishing、lens implantation、lens positioning、viscoelastic-suction、anterior-chamber flushing、tonifying/antibiotics。
Q13:idle 是什么?
一个独立类别,指术者主要在更换器械、画面内无可见器械的时间跨度,可能出现在阶段之间或阶段内部。
Q14:分割分多少类?
12 类 = 3 个解剖结构(iris、pupil、intraocular lens)+ 9 件器械。
Q15:9 件器械是哪九件?
slit/incision knife、gauge、spatula、capsulorhexis cystotome、phacoemulsifier tip、irrigation-aspiration、lens injector、capsulorhexis forceps、katana forceps。
Q16:分割的标注格式是什么?
Supervisely 多边形 JSON,另提供 COCO 格式(含边界框)。
Q17:分割子集怎么分折?
5 折,患者级划分,每折 6 段不同视频。
Q18:阶段子集的分辨率与帧率?
1024×768、30 fps;而主体未标注视频是 512×324、25 fps。两者不同,勿混。
Q19:分割子集怎么抽帧?
每 5 秒抽 1 帧,共 2256 帧;剔除严重运动模糊帧与虹膜出画帧。
Q20:三个子集的平均时长分别是多少?
主体 7.12 分钟、阶段子集 6.45 分钟、分割子集 6.52 分钟(三者分属不同子集,不可混用)。
C. 数据获取与许可
Q21:怎么下载?
Synapse 平台免费注册后下载。主集 syn53404507,阶段 syn53395146,分割 syn53395479,晶体异常 syn53395131,瞳孔异常 syn53395402。
Q22:许可是什么?
CC BY 4.0(Creative Commons Attribution 4.0 International),署名即可复制、分发、传播,含商用。
Q23:需要付费吗?
不需要。Synapse 注册免费,数据下载免费。
Q24:为什么有个第三方目录说 “research only”?
那是第三方目录 EyeDataHub 的归一化标注(其自述为 curation metadata,非法律结论),与官方 README 的 CC BY 4.0 表述不一致。以官方 CC BY 4.0 为准。
Q25:为什么有的地方看到 Figshare 链接?
那是投稿期为匿名评审临时使用的存储,接收后已迁移到 Synapse 正式发布。现网以 Synapse 为准。
Q26:下载后没有标注是怎么回事?
你大概率只下了主集。标注在另外四个子集包里,需分别下载。
D. 异常子集与临床
Q27:瞳孔收缩子集讲的是什么?
术中瞳孔缩小(miosis)。超声乳化期光量骤增可能引发瞳孔突然收缩,若器械已深入眼内,可能损伤眼内组织,并妨碍人工晶体对位。
Q28:IOL 旋转子集讲的是什么?
人工晶体旋转,被认为是术后晶体移位的主因。晶体展开时的快速顺时针旋转发生在不足 7 秒内。
Q29:异常子集能直接训练模型吗?
体量极小(MB 级),更适合作为探索性素材与种子数据,不宜作为统计显著结论的依据。
Q30:数据集的伦理审批是什么?
Ethikkommission Kärnten(克恩顿州伦理委员会)审批号 EK 28/17,患者均知情同意。
事实清单(硬事实 40 条)
以下为经官方 GitHub README、官方数据集页、arXiv/Sci Data 论文、PubMed 多源核验的硬事实,逐条标注来源:
- 数据集全称 Cataract-1K,自我定位为"迄今最大的白内障手术视频数据集"。
- 主体含 1000 段白内障手术视频。
- 采集时间 2021 至 2023 年。
- 采集地点 Klinikum Klagenfurt(奥地利克拉根福)眼科诊所。
- 采集设备 MediLive Trio Eye 摄像 + ZEISS OPMI Vario 显微镜。
- 主体视频平均时长 7.12 分钟。
- 官方给出标准时长 200 秒。
- 未标注视频规格 25 fps、512×324。
- 术者累计手术量范围 1,000 至 40,000+ 台。
- 阶段标注覆盖 56 段常规手术视频。
- 阶段子集分辨率 1024×768、帧率 30 fps。
- 阶段子集平均时长 6.45 分钟(SD 2.04 分钟)。
- 阶段子集患者平均年龄 75 岁(51—93,SD 8.69)。
- 阶段子集术者平均经验 8929 台(SD 6350)。
- 阶段标注格式为 CSV,逐视频给出每阶段首末帧。
- 阶段类别为 12 action phase + idle。
- 分割标注来自 30 段常规手术视频。
- 分割子集分辨率 1024×768、平均时长 6.52 分钟(SD 2 分钟)。
- 分割标注共 2256 帧。
- 分割抽帧率每 5 秒 1 帧。
- 分割子集患者平均年龄 74.5 岁(51—90,SD 8.43)。
- 分割子集术者平均经验 8033 台(SD 3894)。
- 分割标签 3 个解剖结构:iris、pupil、intraocular lens。
- 分割标签 9 件器械(含 katana forceps)。
- 分割标注工具 Supervisely(多边形 JSON),另提供 COCO 格式。
- 分割划分 5 折、患者级,每折 6 段视频。
- 提供了 anatomy+instrument / binary instrument / multi-class instrument 三档掩码生成代码。
- 异常子集一为瞳孔收缩(pupil reaction / constriction,miosis)。
- 异常子集二为人工晶体旋转(IOL / lens rotation)。
- IOL 展开期顺时针旋转发生在不足 7 秒内。
- 许可为 CC BY 4.0。
- 获取平台为 Synapse(免费注册)。
- 主集 accession syn53404507(89.9 GB)。
- 阶段集 accession syn53395146(3.87 GB)。
- 分割集 accession syn53395479(4.74 GB)。
- 晶体异常集 accession syn53395131(1.49 MB)。
- 瞳孔异常集 accession syn53395402(3.29 MB)。
- 论文 Sci Data 2024;11:373,DOI 10.1038/s41597-024-03193-4,PMID 38609405,PMCID PMC11014927。
- arXiv 预印本 arXiv:2312.06295(2023-12-11 提交,12 页 5 图 7 表)。
- 伦理审批 EK 28/17(Ethikkommission Kärnten);资助 Haag-Streit Foundation 与 FWF P 31486-N31、P 32010-N38。
附录 AA:开放问题与待核清单
以下问题在本轮研究预算内未能完全闭环,按纪律包要求如实列出,供后继代理或读者补充核验:
- 基准数值未取:阶段识别的逐模型 F1、语义分割的逐模型 Dice/IoU 表值未获原始表格(Nature/paperity 反爬、PMC 返回小页)。请以 Sci Data 论文与 GitHub 官方表格为准。
- IEEE TMI 2024 扩展版:第三方目录引用的 “Cataract-1K: Cataract Surgery Dataset for Domain Generalization of Surgical Workflow Analysis”(IEEE TMI 2024)未独立实抓,其相对 Sci Data 版的增量(是否新增长尾任务/基准)待核。
- EyeDataHub accession syn53404917:与官方 README 的 syn53404507 编号并存,是否为 Synapse 上的独立/迁移记录未核实。
- 伦理审批号来源:EK 28/17 取自正文片段引用,未在官方页面二次确认。
- 库内互链条目存在性:CaDIS、CatRel 以及更广的手术视频工作流家族(如腹腔镜阶段识别类)是否已在库内,未逐一查证(本轮预算限制)。
- 下载体积口径:“89.9 GB” 等体积未注明是压缩包净体积还是解压后体积。
- 主体视频与标注子集的对应关系:56 段/30 段是否为 1000 段主体的子集、抑或独立录制,官方表述为"从中提供(provide … for)",从属关系明确但具体 case 编号映射未逐条核对。
附录 BB:写手自检记录
- 开工三查:锁文件 writing/cataract-1k/.lock 新建(内容 agent-e-cataract1k 1791472667,首次开工);
ps aux | grep -c "[c]odebuddy"= 4;无改道。 - slug 查重:DB status=1 命中 cataracts(253)、cataract-101(263),无 cataract-1k;
ls writing/无同名目录,判定为新条目、非别名。 - 核验结论:三源互证(官方 GitHub README、官方数据集页、arXiv/PubMed/Sci Data)确认数据集真实存在,1000 段规模、CC BY 4.0、Synapse 获取均属实。
- 网络预算:WebSearch 3 次、WebFetch 4 次(其中 2 次因反爬/空正文未成功,未 loop 重试,未超预算)。
- 私有区:writing/cataract-1k/.parts_agent-e-cataract1k_1791472675_626026/(带时间戳 + PID)。
- 并发事故留痕:私有区内发现一份非本实例写入的
part2a.md(内容与本文 second 节的另一写法),已隔离重命名为_foreign_part2a_QUARANTINE.md,未纳入拼接;10 秒 md5 稳定性采样两次一致,未见持续写入。详见汇报。 - frontmatter 自检:双引号计数全偶;title 带 " | 千方病案医数集" 后缀;title/subtitle/data_source 长度均 ≤255;description ≤170;cr:RecordSet 节点式;relatedLink 纯 URL。
- 双零自检:check_md.py 与 preflight_check.py 均通过(详见汇报)。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- corn-nerve — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 图像分类 / 评测基准
- stare — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 图像分类 / 评测基准
- octa-25k — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 图像分类 / 评测基准
- acl27 — 共享标签:医学影像 / 手术视频 / 图像分类 / 评测基准
- origa-light — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 图像分类 / 评测基准
- riga — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 图像分类 / 评测基准
- oimhs — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 图像分类
- tn3k — 共享标签:医学影像 / 医学图像分割 / 图像分类 / 评测基准
- woives-octa — 共享标签:医学影像 / 眼科影像 / 医学图像分割 / 评测基准
- pfus1 — 共享标签:医学影像 / 医学图像分割 / 图像分类 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

