跳转至

Real2Sim2Real: RetinalDepth-64K for Depth Estimation in Posterior Segment Ophthalmic Surgery

会议: CVPR 2026
论文: CVF Open Access
代码: 项目页 https://retinaldepth.github.io/
领域: 医学图像 / 深度估计 / 合成数据集
关键词: 眼底手术、深度估计、合成数据、Sim2Real、时序一致性

一句话总结

针对眼底(后段)显微手术缺乏深度真值数据这一空白,作者用 Blender 走通一条 Real2Sim2Real 流水线,构建了首个后段眼科手术合成深度数据集 RetinalDepth(44,800 对双目立体序列、896 个场景,带像素级深度/法线/器械分割/相机参数),并提出时序深度方差 TDV 指标衡量视频深度的帧间稳定性,证明在该数据上微调能显著提升单目/立体/视频深度模型在真实眼底手术场景的泛化。

研究背景与动机

领域现状:深度估计是计算机辅助手术中 3D 重建、术中导航、增强现实的基石。内窥镜场景(腹腔、结肠等)已有结构光(SCARED)、CT(SERV-CT)、立体匹配(Hamlyn)等手段获取深度真值,并积累了一批真实/合成深度数据集。

现有痛点:显微镜下的眼科后段手术几乎没有可用的深度真值数据。原因有三:① 后段术野狭小、视场受限,结构光/CT 等设备无法安全靠近娇嫩的眼内组织;② 眼科立体显微镜基线极短,视差范围小,立体匹配误差大;③ 现有唯一的眼科合成集 SMDE 只覆盖前段白内障静态手术,缺少动态器械-组织交互、时序序列与双目视图。结果是后段眼科手术深度估计长期"无米下锅"。

核心矛盾:真实采集既不安全也不可行,而已有合成集又不针对后段、不含立体/时序/法线等关键标注——数据的"可得性"与"标注完整性 + 领域贴合度"之间存在缺口。

本文目标:造一个专为后段眼科显微手术服务、支持立体/视频/单目深度训练的高保真合成数据集,并验证"在合成数据上微调能迁移到真实手术场景"。

切入角度:既然真值采不到,就用图形学把整条采集链路"逆向重建"——从真实手术视频里提炼视觉特征(复杂视网膜纹理、动态器械、昏暗光照、暗角),在 Blender 里造解剖准确的眼球与器械模型把这些特征还原出来,渲染即可得到像素级完美真值。

核心 idea:用一条 Real2Sim2Real(真实→建仿真→仿真→回真实)闭环流水线生成带完美标注的合成数据,并为视频场景补一个专门衡量帧间稳定性的指标 TDV,把"合成训练 → 真实部署"的 Sim2Real gap 打通。

方法详解

整体框架

整篇工作是"造数据集 + 给指标",核心是 Real2Sim2Real 四段式流水线:从真实后段手术视频中提取关键视觉特征(Real)→ 在 Blender 里对眼球和器械做解剖级 3D 建模并配置光照与双目相机(Real2Sim)→ 渲染出带深度/法线/器械分割/相机参数的双目立体序列并做后处理清洗(Sim)→ 用合成数据微调单目/立体/视频深度基础模型并迁移回真实手术场景,配合新指标 TDV 评估时序稳定性(Sim2Real)。最终产出 44,800 对 512×512 立体图,分布在 896 个场景、每场景 50 帧。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["真实后段手术视频<br/>(提取纹理/器械/暗光/暗角)"] --> B["解剖级 3D 建模:眼球 + 器械<br/>超广角眼底贴图 + 视杯视盘起伏 + 折射玻璃球"]
    B --> C["光照与双目相机仿真<br/>角膜反光 + 内部多光源 + 组织运动近似为相机晃动"]
    C --> D["渲染 + 后处理清洗<br/>50 帧立体序列 + 径向畸变/渐变模糊 + 五项校验"]
    D --> E["Sim2Real 微调 + TDV 评估<br/>单目/立体/视频深度模型迁移回真实场景"]

关键设计

1. Real-to-Sim 解剖级 3D 建模:把真实眼底"长"进仿真里

直接拿管状几何体堆视网膜血管会很假,作者改用"贴图 + 雕刻"的方式还原后段眼底。以一个 3D 球面为基底,把超广角眼底图像作为纹理贴到球面上,再依据图中视杯/视盘的位置在球面上雕出凸起与凹陷,从而在光滑球面上引入真实的深度起伏;用了 10 张代表不同眼病的超广角眼底图来产生多样化的深度图(论文称该数量"待核实其准确性",⚠️ 以原文为准)。为还原眼睛复杂的光学特性,额外套一个玻璃球模拟玻璃体,随机调整颜色(对应不同房水)、折射率与粗糙度,制造跨场景的光学多样性。器械侧单独建模六类眼科器械(抓持镊、剥膜镊、异物镊、眼内磁铁、视网膜脱离气体钩、弯头眼内激光探头),赋金属反光材质,并给镊子做铰接前端,模拟抓取、剥膜等小幅精细动作与抖动轨迹。这一步把"真实手术的视觉/动力学特征"反向编码进可渲染的 3D 资产,是后续完美真值的来源。

2. 光照与双目相机仿真:还原显微镜视角下的成像条件

真实后段手术的成像很特殊:外部手术灯打到角膜会形成强反光导致局部过曝、遮挡视网膜细节,而眼内只有有限照明且随器械形变和视角变化而改变。作者据此设计光照仿真——在眼球上方放点光源模拟角膜反光过曝,在视网膜纹理上方的左上/右上/左下/右下放一到两个光源模拟眼内照明,并避免固定光照、引入跨场景的亮度与阴影微扰。相机侧用两台相机生成立体对模拟显微镜双目视角;针对"视网膜组织受器械力发生细微形变难以精确建模"这一难点,作者把组织相对运动近似为相机运动,对两台相机施加同步的晃动与抖动来逼近组织漂移;同时在眼球与相机之间放一个只开小孔的圆盘模拟经瞳孔的光路,得到真实手术那种受限视野。这些设置让合成图在光照、视场、动态上贴近真实显微镜输出。

3. 渲染 + 后处理清洗:拿到像素级完美标注并保证可靠性

在每个搭好的场景里连续采样,用 Blender 内置 Cycles 渲染器生成每场景 50 帧动画(512×512),每帧从两个微偏视角渲染立体 RGB,并同步输出初始深度图、法线图、有效区域掩码与器械掩码;50 帧可当视频序列也可当独立标注图。渲染后做严格清洗:先对动画做五项校验(器械-视网膜尺度合理、器械贴近视网膜、运动限制在视场内、器械持续存在、光照范围正常但偶含极端情况以覆盖罕见手术);再做针对性精修——用掩码盖掉无效深度区域,加径向镜头畸变 \(r = 1 + k\cdot d^2\)(其中 \(k=0.00001\)\(d=\sqrt{(x-x_{center})^2+(y-y_{center})^2}\),坐标按 \(x' = x_{center}+(x-x_{center})\cdot r\) 重映射)模拟显微镜成像缺陷,用渐变模糊柔化边缘以匹配真实光照效果(并用器械掩码保护器械清晰度),最后统一校验为 \(512\times512\times3\) 格式。最终得到 44,800 对带深度/法线/相机内外参/分割掩码/时序的完整标注立体图(见 Table 1、Table 2),是首个在后段眼科显微术上"标注最全"的合成集。

4. 时序深度方差 TDV:给视频深度补一个稳定性指标

已有深度指标只看逐帧精度,不显式量化时序稳定性,但术中导航对帧间抖动极其敏感。作者据此提出 Temporal Depth Variance(TDV):注意到相机固定、只有器械在动,因此静态视网膜背景的深度本应跨帧不变,于是用背景区域相邻帧深度差的平方衡量不必要的波动:

\[\text{TDV}_{seq} = \frac{1}{T-1}\sum_{t=1}^{T-1}\frac{1}{N_t}\sum_{p\in\mathcal{B}_t}\bigl(d_t(p)-d_{t+1}(p)\bigr)^2\]

其中 \(T=50\) 为序列长度,\(d_t(p)\) 为第 \(t\) 帧像素 \(p\) 的预测深度,\(\mathcal{B}_t\)\(t\)\(t{+}1\) 帧之间的静态背景区域,\(N_t=|\mathcal{B}_t|\)。背景掩码取器械掩码并集的补集:\(\mathcal{B}_t = \neg(m_t \lor m_{t+1})\)\(m_t\in\{0,1\}^{H\times W}\)。TDV 越低表示时序越稳。它把"逐帧准但跳变大"这种对手术导航有害的现象量化出来——例如逐帧精度最高的 VGGT 反而 TDV 偏高,恰好说明该指标抓到了单帧先验模型的时序短板。

实验关键数据

主实验

数据集本身用于评测一批 SOTA 深度模型在零样本与微调两种设定下的表现。下表为 RetinalDepth 单图测试集上的零样本结果(节选关键指标,↑ 越大越好,↓ 越小越好):

模型 类型 \(\delta_{0.5}\) \(\delta_1\) Abs Rel↓ RMSE↓
Depth Anything (DA) 单目 0.323 0.591 0.331 0.108
Marigold 单目 0.307 0.587 0.343 0.112
DA V2 单目 0.281 0.547 0.376 0.119
ZoeDepth 单目 0.273 0.428 75.463 0.223
VGGT 立体 0.332 0.612 0.322 0.107
DUSt3R 立体 0.006 0.015 0.833 0.824

零样本下,DA 在单目里最强、Marigold 与 DA V2 紧随,ZoeDepth/MoGE 较弱;立体里 VGGT 一枝独秀、DUSt3R 与 MASt3R 因医学训练数据不足而崩坏。但即便最好的 VGGT/DA,误差仍偏高,说明存在明显领域 gap。

下表为微调后单图测试集(按"整图 / 器械"两类区域分别报告,节选):

模型 区域 \(\delta_1\) Abs Rel↓
VGGT(立体) 整图 0.956 0.061
DA(单目) 整图 0.975 0.055
DA V2(单目) 器械 0.889 0.097
VGGT(立体) 器械 0.339 93.901

在 RetinalDepth 上微调后所有模型整图精度大幅提升(验证数据集有效弥合领域 gap);整图上立体 VGGT 与单目 DA 都达到顶尖。但器械深度预测上立体模型即便微调后仍很差(VGGT/MASt3R 误差极高,疑因反光动态器械表面的立体对应难建),而单目模型微调后在器械上表现良好(DA V2 领先),凸显单目线索在精细器械深度上的灵活性。

视频深度估计

利用 RetinalDepth 的时序序列评测视频深度:把单图模型逐帧应用 vs. 视频专用模型零样本。结论是单图微调模型逐帧应用在空间精度上反超视频专用方法,但后者时序一致性更好;VGGT 空间精度最佳却 TDV 偏高(时序不稳),正好印证 TDV 抓到了逐帧预测的时序短板。

关键发现

  • 即便是 DA/VGGT 这类强基础模型,零样本到眼底手术场景也明显掉点,证明后段眼科领域 gap 真实存在、专用数据集有必要。
  • 微调后整图精度普涨,但"器械"这一精细动态区域成为分水岭:单目受益、立体受限——为后续"如何在立体下建模反光器械"留下问题。
  • 空间精度与时序稳定性是两条不同的轴:逐帧最准的模型未必时序最稳,TDV 让这一矛盾可量化。

亮点与洞察

  • 用图形学"逆向"采集链路造完美真值:在无法安全采深度的眼内场景,先从真实视频提特征、再在 Blender 里解剖级还原,把"采不到的真值"变成"渲染即得",思路对其他难采集的医学/手术场景(如内耳、血管腔内)有迁移价值。
  • 把难建模的组织形变近似成相机晃动:视网膜受力形变难以精确仿真,作者用相机同步晃动来逼近组织漂移,是一个低成本但有效的工程取巧,值得在其他软组织仿真里借鉴。
  • TDV 把"逐帧准但跳变"显式量化:利用"相机固定、背景应静止"的先验,用背景相邻帧深度差衡量稳定性,给视频深度评测补了一条被忽视的轴,且定义清晰可复现。
  • 完整标注矩阵:双目 + 深度 + 法线 + 器械分割 + 相机内外参 + 时序一次集齐(Table 1 中相对已有医学深度集最全),单一数据集可同时喂单目/立体/视频三类模型。

局限与展望

  • 合成-真实差距未完全消除:尽管做了畸变/模糊等后处理,仍是 Blender 渲染图,真实手术的血流、组织半透明、动态高光等细节难以完全还原,真实数据上只做了定性评估(缺真值)。
  • 器械深度在立体设定下仍差:反光、动态、细长的器械表面立体对应困难,微调也救不回来,说明数据集解决了"有没有数据"但没解决"如何建模反光器械"。
  • 多处参数"待核实":作者自承如"10 张超广角眼底图"等数量需进一步验证准确性(⚠️ 以原文为准),仿真保真度与真实分布的对齐程度仍待更系统验证。
  • TDV 依赖"相机固定 + 背景静止"假设:一旦真实场景相机移动或背景非刚性,TDV 的可比性会下降,需配合背景估计或运动补偿。
  • 展望:补充真实标注子集做定量 Sim2Real 验证、引入更强的器械材质/反光建模、把 TDV 推广到相机运动场景。

相关工作与启发

  • vs SMDE(唯一眼科合成深度集): SMDE 只覆盖前段白内障静态手术、单目、无时序/法线/立体;本文专攻后段、提供双目立体 + 时序 + 法线 + 器械分割,标注与场景维度全面更广。
  • vs 内窥镜真实深度集(SCARED / SERV-CT / Hamlyn): 它们靠结构光/CT/立体匹配在腹腔等大视场场景采真值,但这些手段在狭小、短基线的眼内场景不可用;本文用合成渲染绕开物理采集限制。
  • vs 通用深度基础模型(Depth Anything / Marigold / VGGT / DUSt3R): 这些模型零样本到眼底手术明显掉点,本文不造新模型而是造数据集——证明"专用合成数据微调"是弥合医学领域 gap 的有效路径。

评分

  • 新颖性: ⭐⭐⭐⭐ 首个后段眼科手术合成深度集 + Real2Sim2Real 闭环 + TDV 指标,问题与方案都新;但单项技术(Blender 合成、Sim2Real)非首创。
  • 实验充分度: ⭐⭐⭐⭐ 覆盖单目/立体/视频三类、零样本与微调两设定、多指标,较系统;但真实数据仅定性评估、缺真实定量 Sim2Real 验证。
  • 写作质量: ⭐⭐⭐⭐ 流水线与动机清晰、表格完整;个别参数自承"待核实",公式排版在原文中略有 OCR 噪声。
  • 价值: ⭐⭐⭐⭐ 填补眼科后段手术深度数据空白,对手术导航/3D 重建/新手训练有实用价值,数据集与指标可被社区直接复用。