SeeClear: Reliable Transparent Object Depth Estimation via Generative Opacification¶
会议: ECCV2026
论文: ECCV 原文
领域: 3D 视觉
关键词: 单目深度估计、透明物体、生成式不透明化、掩码细化、配对渲染
一句话总结¶
SeeClear 用扩散模型把透明物体改成保留轮廓与表面明暗的不透明外观,再接入不微调的深度模型,使 DA3 在 ClearGrasp 透明物体区域的 RMSE 从 24.03 降至 21.45 mm。
研究背景与动机¶
单目深度模型通常依靠轮廓、纹理、明暗和场景语义推断表面位置,但透明物体把这些线索混在了一起。 玻璃杯内部的纹理可能来自杯后桌面,折射又会扭曲背景,使模型把本应属于杯壁的像素预测到更远处。 对重建或机器人交互而言,这不是单纯的视觉瑕疵:错误的玻璃表面深度会让碰撞区域缺失。 Depth4ToM、D4RD 和 DKT 等专门方法尝试让深度网络适应透明材质,但这通常依赖透明 RGB 与深度监督,并与特定模型的训练绑定。 当通用深度骨干更新时,针对透明物体的适配往往还要重做。
SeeClear 把注意力转向了输入:既然现有模型已经善于理解不透明物体,能否先把透明外观转换成它们熟悉的视觉证据? 难点在于,“看不见背景”不等于“有正确几何”。 把杯子涂成一块平面颜色虽然遮住了桌面,也同时丢掉了描述曲率和开口的明暗线索。 另一种风险来自生成模型本身:如果轮廓被改写,或者原本可靠的背景被 VAE 重建模糊,深度输入可能变得更差。 因此这项工作要求生成结果既覆盖透明区域,又保持物体边界和背景上下文,而非仅追求图像编辑的观感。
作者通过固定几何、相机和光照的透明与不透明配对渲染,让模型学习外观变化与几何不变之间的关系。 分割掩码约束编辑范围,CLIP 类别语义帮助维持物体身份,后续掩码细化负责把生成物体放回原场景。 这里的几何一致性主要来自配对数据、空间条件和感知监督,不是额外求解折射方程,也不是保证恢复真实形状的硬约束。 核心 idea:训练一个生成式不透明化前端,把透明材质造成的深度输入分布偏差转成外观编辑问题,让已有深度模型继续处理其擅长的不透明表面。
方法详解¶
整体框架¶
输入是含透明物体的单张 RGB 图像,输出仍是场景深度图,不需要测试时提供真实深度或法线。 训练阶段的配对渲染数据教会生成式不透明化模块改变材质但保留几何;部署时则先定位透明物体,再逐实例生成不透明外观。 掩码细化合成模块把生成的物体区域与原始背景拼合,最终由冻结的 DA3 或 MoGe-2 预测深度。 因此“无需重训练”仅指深度骨干,不能理解成整个 SeeClear 前端没有训练。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
DATA["配对渲染数据"] -.->|仅训练监督| GEN["生成式不透明化"]
INPUT["输入 RGB 图像"] --> SEG["分割与实例裁剪"]
SEG --> GEN
GEN --> MIX["掩码细化合成"]
SEG -->|分割掩码| MIX
INPUT -->|原始背景| MIX
MIX --> DEPTH["冻结深度模型"]
DEPTH --> OUTPUT["场景深度图"]
关键设计¶
1. 配对渲染数据:只改材质,让监督对应同一个几何表面
SeeClear-396k 使用 11 种日常透明物体及家具和 10 个室内场景,组成 110 个物体与场景组合。 每个组合采样 10 个相机视点和 2 种照明设置,并在 6 种各向异性变形模式下使用 5 个缩放幅度。 这些变形模式为沿 x、y、z 轴及 xy、yz、xz 组合缩放,目的是扩大形状变化,而不是只换背景。 每个组合因此对应 600 组渲染,总计 66,000 组配置。 每组包含透明 RGB、不透明 RGB、绝对深度、相对深度、法线和掩码,共 396,000 张渲染输出;396k 不是 396k 个独立透明场景。
同组透明与不透明图像保持几何、相机和照明一致,只将玻璃类材质替换成固定颜色的漫反射材质。 这让目标图像保留曲面和遮挡产生的明暗,同时去除背景透射与折射外观。 对网络而言,监督不是“画一个相似的杯子”,而是“把这一位置、这一形状的杯子变成可读的表面”。 作者按照非朗伯外观、物体表面与背景的深度歧义、细边界与多层遮挡等失败因素设计数据覆盖。 数据虽附带深度和法线,主文描述的不透明化训练并没有把它们作为测试时条件,也没有列出显式深度或法线损失。 大量渲染变化有助于覆盖视角和外观,但其基础物体种类仍只有 11 种,不能把样本数量等同于类别多样性。
2. 生成式不透明化:以精确空间范围和全局语义替代不可靠的透明纹理
实现先用 Trans4Trans 得到初始定位,再把它作为空间提示交给 SAM 3,获得透明物体掩码。 每个实例按包围框中心裁出局部图块,缩放到 512 × 512 后处理,使生成器集中学习物体外观,不必适应整幅图像中的任意尺寸与位置。 训练时先通过预训练 VAE 编码配对的不透明目标,再向其潜变量加噪,让条件扩散网络学习预测噪声。 去噪网络的输入沿通道拼接三种信息:带噪目标潜变量、原透明 RGB 的 VAE 编码、下采样的分割掩码。 原图提供实例和场景信息,掩码则明确哪些像素应该从透明转为不透明,避免把编辑范围完全交给语义猜测。 这也是掩码优于点热图和包围框的原因:后两者能指出物体在哪里,却不能准确界定透明表面的空间范围。
与此同时,原透明图像经 CLIP 图像编码器提取类别 token,再由轻量 Transformer Mapper 投影到去噪网络的交叉注意力条件空间。 作者只保留类别 token,不使用全部 patch token,因为局部 token 可能携带透过物体看到的背景纹理。 类别级表示更侧重“这是什么物体”,与掩码提供的“物体占据哪里”互补,帮助生成器维持物体身份而不照搬折射外观。 这种设计不是说 CLIP 能直接恢复几何,而是降低条件表示对透明区域局部污染的依赖。 训练还会在掩码边界附近随机增删圆形、矩形等小区域,使生成器适应自动分割中常见的边界误差。 测试时没有配对不透明目标,模型仅依赖图像和预测掩码生成外观;多个物体的图块可组成同一批次处理。
3. 掩码细化合成:只替换需要编辑的像素,保留原场景证据
直接把生成图像交给深度模型会引入另一个问题:VAE 编解码可能使背景模糊或偏色。 直接用初始分割掩码硬贴物体也不充分,因为预测轮廓与生成边界稍有偏差,就会留下透明边缘或接缝。 掩码细化模块 MRM 因而同时查看不透明候选图、原透明图和掩码,学习在哪里采用生成结果、在哪里保留原图。 它是轻量全卷积网络,包含 3 个 3 × 3 卷积层及一个 1 × 1 投影层,并使用 GroupNorm 和 SiLU。 训练输入为真实不透明图、透明图和扰动后的真值掩码;测试时前两类条件中的不透明图替换为扩散生成结果,掩码替换为自动分割结果。 这一训练与测试输入差异意味着 MRM 也需要面对生成误差,不能被视为完美边界修复器。
MRM 在训练时输出软掩码,测试时再二值化,进行像素级硬合成。 以下是依据第 3.2 节文字对合成规则的等价表达,不是对缓存中损坏的式 (5) 的逐字符恢复:
其中二值掩码选择生成物体像素,其补集选择原透明图中的背景像素,\(\odot\) 表示逐元素乘法。 保留原图上下文不仅避免背景退化,也减少多实例图块相互覆盖时把已经不透明化的物体恢复为透明外观的风险。 合成后才运行深度模型;MRM 本身不预测深度,也不改变骨干网络结构。
一个完整示例¶
以桌上的透明开口杯为解释性示例,原始 RGB 中杯身内部可能显示桌面纹理,导致深度模型把杯壁当作背景。 分割和裁剪首先明确杯子的图像范围,生成器在 512 × 512 局部图块内将杯身转换为有明暗变化的不透明表面。 空间掩码约束杯壁轮廓,CLIP 条件保留杯子身份,配对渲染训练提供曲面外观的先验。 MRM 随后沿物体边界选择生成像素,同时保留桌面和其他未编辑区域的原始 RGB。 最后深度骨干从新的杯身明暗与未改动场景中估计表面距离;它没有额外接收杯子的真实深度。 这个流程旨在让模型区分更近的杯身与开口内较远区域,但并不保证任何杯子都能被正确补全。 该例只用于说明信息流,不是额外实测样本;论文对开口容器的定性讨论见第 13 页图 4 的说明。
损失函数 / 训练策略¶
生成器采用标准 DDPM 噪声预测监督,并加入仅作用于透明物体掩码内的 LPIPS 感知损失。 感知损失比较解码后的生成预测与配对不透明真值,利用多层 VGG 特征补充潜空间逐元素监督对细边界和表面结构的不敏感。 其总目标按第 6 页文字为:
LPIPS 仅在低噪声时间步使用,因为高噪声下解码预测离干净图像很远,过早施加强感知约束可能损害采样多样性。 MRM 使用二元交叉熵和惩罚中间掩码值的附加项,促使输出更接近明确的前景或背景选择。 缓存中的式 (2)、(4)、(5) 存在符号缺损,因此这里不猜补精确噪声损失、掩码惩罚的归约方式或未报告的阈值。 扩散前端从 Paint-by-Example 初始化,基础学习率为 \(1\times10^{-5}\),采用线性预热,报告批大小为 4。 训练在 4 张 NVIDIA H100 NVL 上运行 328,339 次迭代;主文未明确批大小是每卡还是全局值。 测试使用 UniPC 的 10 步采样,论文报告单张 H100 上每幅图像处理约 7.65 s。 DA3 与 MoGe-2 均不微调;论文中的零样本指未在评测数据集上训练,不代表未使用 SeeClear-396k 学习前端。
实验关键数据¶
主实验¶
下表摘自第 11 页表 1 和第 12 页表 2;RMSE 单位为 mm,AbsRel 越低越好,阈值精度以百分比表示、越高越好。 ClearGrasp 的 ToM 是透明物体区域,All 是整图;TransPhy3D 因没有真值对象掩码,仅报告整图结果。 需仿射对齐的模型先通过最小二乘与真值对齐,视差输出模型在视差域对齐后再转深度,因此不能把所有数值直接理解为未校准的绝对测距性能。 阈值精度 \(\delta_{1.025}\) 是满足预测深度与真值的双向比值最大值小于 1.025 的有效像素比例。 带 † 的 DKT 在相应评测数据集上微调过,其训练条件与 SeeClear 不同。
| 数据集与区域 | 方法 | AbsRel | RMSE (mm) | \(\delta_{1.025}\) (%) | 来源 |
|---|---|---|---|---|---|
| ClearGrasp ToM | DA3 | 0.038 | 24.03 | 46.89 | 表 1 |
| ClearGrasp ToM | SeeClear + DA3 | 0.033 | 21.45 | 51.27 | 表 1 |
| ClearGrasp ToM | MoGe-2 | 0.101 | 56.83 | 5.63 | 表 1 |
| ClearGrasp ToM | SeeClear + MoGe-2 | 0.043 | 26.62 | 42.75 | 表 1 |
| ClearGrasp ToM | DKT† | 0.035 | 22.43 | 52.69 | 表 1 |
| ClearGrasp All | MoGe-2 | 0.020 | 22.30 | 77.51 | 表 1 |
| ClearGrasp All | SeeClear + MoGe-2 | 0.016 | 17.87 | 80.63 | 表 1 |
| TransPhy3D All | DA3 | 0.023 | 53.25 | 76.00 | 表 2 |
| TransPhy3D All | SeeClear + DA3 | 0.017 | 47.46 | 88.01 | 表 2 |
| TransPhy3D All | MoGe-2 | 0.016 | 39.78 | 89.58 | 表 2 |
| TransPhy3D All | SeeClear + MoGe-2 | 0.012 | 38.91 | 94.43 | 表 2 |
| TransPhy3D All | DKT† | 0.014 | 33.20 | 89.20 | 表 2 |
消融实验¶
以下均为第 14 页表 4 的 ClearGrasp Real、ToM 区域、DA3 骨干设置,RMSE 越低越好。 只摘录数值可由清晰表格行或紧邻正文交叉确认的配置,避免给粘连的编码器变体行猜测列对应关系。 纯色基线分别使用红、绿、蓝填充同一掩码区域,再取三次深度预测的逐像素中位数,而非随意挑选一次填色结果。
| 配置 | RMSE (mm) | 说明 |
|---|---|---|
| 完整 SeeClear | 21.45 | 掩码条件、CLIP 类别 token、MRM 与合成 |
| 包围框替代掩码 | 22.96 | 粗范围条件无法精确约束轮廓 |
| 点热图替代掩码 | 22.38 | 空间范围更模糊 |
| 去掉 MRM | 21.73 | 缺少学习式边界细化 |
| 去掉 blending | 23.60 | 按图块范围覆盖,影响背景和重叠实例 |
| 原始 DA3 | 24.03 | 不进行不透明化 |
| 纯色填充 | 33.09 | 遮蔽透射纹理,但缺乏表面明暗 |
关键发现¶
- 生成的表面线索比单纯“遮住透明区域”更关键:纯色填充的 33.09 mm 比未修改 DA3 的 24.03 mm 更差,完整生成方法则为 21.45 mm。
- 收益与骨干和评测区域有关:ClearGrasp ToM 上 DA3 更强,但整图上 SeeClear + MoGe-2 的 RMSE 更低,不能把两种排名混为一谈。
- 不存在所有指标全面领先:DKT† 在 ClearGrasp ToM 的严格阈值精度更高,在 TransPhy3D 上 RMSE 也优于 SeeClear + MoGe-2。
- 第 12 页正文把 DA3 的 \(\delta_{1.025}\) 从 76.00% 到 88.01% 写作“reducing”;表 2 数字表示上升,本笔记保留数值并标明原文方向用词错误。
亮点与洞察¶
- 适配对象从深度网络变成输入外观,能复用已有骨干。论文在两个骨干上验证了这一思路,但尚不能推断任意未来骨干都会同等受益。
- CLIP 类别 token 的价值不是提供更细的纹理,而是避免把透明物体后方的纹理重新带入生成条件。这体现了条件信息并非越多越好的任务依赖性。
- 将原始背景保留下来,使不透明化成为局部而非全图重建。对依赖全局上下文的深度模型而言,减少无关区域变化同样重要。
局限与展望¶
- 作者明确展示的失败包括大面积、近乎不可见且边框只部分可见的玻璃,以及掩码严重错位;前者可能继续出现深度穿透,后者会把生成内容贴错位置。
- 读者判断:生成的合理明暗不等于被观测证实的几何,尤其在上下文很弱时,外观先验仍可能产生形状幻觉。
- 读者判断:约 7.65 s 的单图开销限制实时机器人应用,主文也未给出随实例数增加的完整延迟曲线。
- 作者计划扩展到视频及更复杂的镜面、半透明和多层透明材质,并引入时间一致性与空间连贯性约束;这些属于后续方向,不是本篇已完成结果。
相关工作与启发¶
- 与 Depth4ToM、D4RD、DKT 对比:这些方法围绕深度估计本身适配复杂材质,SeeClear 则学习透明到不透明的前端映射。其可插拔性较强,但增加了生成和分割依赖。
- 与 Marigold、GenPercept、GeoWizard 对比:这些方法把生成先验用于几何预测,SeeClear 先生成 RGB 外观再调用深度骨干。评估中应区分外观修复收益与骨干本身的能力。
- 与 Alchemist、Materialist 对比:它们主要关注可控材质编辑或物理一致编辑,SeeClear 把编辑目标限定为有助于深度估计的外观。其核心验收指标是下游几何误差,不只是图像逼真程度。
- 可延伸方向,读者建议:检验不同不透明化采样之间的深度分歧能否提示低置信度区域,但需要额外实验,不能把采样一致性当成几何正确性的证明。
评分¶
- 新颖性: 4/5。用生成式外观适配解耦透明材质与深度骨干,问题重述清晰。
- 实验充分度: 4/5。覆盖真实与合成数据、两个骨干及关键消融,但训练条件与区域划分需要谨慎比较。
- 写作质量: 4/5。方法与失败案例解释明确,正文存在一处阈值方向笔误;缓存公式损坏属于文本提取限制。
- 价值: 4/5。适合离线重建和输入适配研究,部署价值受运行成本及分割可靠性制约。