Learning Depth Estimation for Transparent and Mirror Surfaces
核心贡献与创新点
- 问题背景:传统深度估计方法(如结构光、立体匹配)在透明和镜面表面表现不佳,因光线反射/透射导致信号丢失或噪声。
- 技术路线:
- 多模态输入:可能结合RGB图像与偏振光(偏振图像)或环境光场信息,捕捉透明/镜面表面的物理特性。
- 物理引导的深度学习:利用反射/折射模型作为先验,设计网络约束(如法向量一致性、边缘对齐)。
- 混合数据集:合成数据(物理渲染模拟透明物体)与真实数据结合,解决标注难题。
- 关键创新:
- 提出针对透明材质的反射-透射分解模块。
- 设计多任务损失函数,联合优化深度、表面法向和材质属性。
Abstract
推断透明或镜像 (ToM) 表面的深度对于传感器、算法或深度网络来说是一个艰巨的挑战。我们提出了一个简单的管道,用于学习使用神经网络正确估计此类表面的深度,而不需要任何基本事实注释。我们揭示了如何通过在图像中修复 ToM 对象并使用单目深度估计模型处理它们来获得可靠的伪标签。这些标签可用于微调现有的单目或立体网络,让它们学习如何处理 ToM 表面。Booster 数据集的实验结果表明,我们非常简单的提议实现了显着的改进。
1. Introduction
在我们的日常生活中,我们经常与各种外观的几个对象进行交互。其中是由透明或镜面(ToM)制成的,从建筑物的玻璃窗到汽车和电器的反射面。这些可能代表了利用计算机视觉在未知环境中运行的自主代理的艰巨挑战。具体来说,在空间人工智能所涉及的许多任务中,准确估计这些表面上的深度信息仍然是计算机视觉算法和深度网络的挑战性问题[63],但对于与机器人、自主导航、拾取和其他应用领域的环境进行适当的交互是必要的。这种困难的出现是因为 ToM 表面引入了关于场景几何的误导性视觉信息,这使得深度估计不仅对计算机视觉系统具有挑战性,而且对人类具有挑战性——例如,由于其透明度,我们可能无法区分我们面前玻璃门的存在。一方面,在这种情况下,深度本身的定义可能看起来模棱两可:是深度到玻璃门后面场景的距离或门本身。尽管如此,从实践的角度来看,我们认为实际定义取决于任务本身——例如,移动机器人肯定应该意识到玻璃门的存在。另一方面,由于人类可以通过经验来处理这一点,基于深度学习的深度传感技术,例如单目[37,36]或立体[26,22]网络,在给定足够的训练数据的情况下,有可能应对这一挑战[63]。
不幸的是,ToM表面的光反射和折射也违反了大多数主动深度传感器的工作原理,如飞行时间(ToF)相机或投影结构光模式的设备。这有两个实际后果:i)它使有源传感器不适合在实际应用中处理 ToM 对象,以及 ii) 阻止使用这些传感器来收集和标记训练数据来训练深度神经网络来处理 ToM 对象。作为证据,很少有具有透明物体的数据集提供地面真实深度注释,这些注释是通过非常密集的人工干预[63]、图形引擎[39]或基于ToM对象的CAD模型[5]的可用性获得的。
简而言之,准确感知 ToM 对象的存在(和深度)代表了传感技术和深度学习框架的开放挑战。目的上,本文提出了一种简单而有效的训练数据策略,从而大大提高了基于学习的深度估计框架处理ToM曲面的准确性。在观察到仅 ToM 对象负责误导最近的单目网络 [37, 36] 的驱动下,否则这将很好地推广到大多数看不见的环境,我们认为将它们替换为等效但不透明的对象将允许恢复环境布局,其中此类网络可以准确地估计场景的深度。为此,我们通过用任意均匀颜色修复图像中的 ToM 对象来掩盖图像中的 ToM 对象。然后,我们使用单目深度网络从修改后的图像生成虚拟深度图。通过对具有 ToM 对象的各种图像重复此过程,我们可以轻松有效地注释数据集,然后使用它来训练用于提取标签的相同单目网络,这将现在处理未绘制的图像。因此,经过训练的单目网络将学会处理 ToM 对象,即使在存在的情况下也能产生一致的深度。
我们的主要贡献如下:
• 我们提出了一种简单而非常有效的策略来处理 ToM 对象。我们通过将 ToM 对象替换为虚拟纹理对象来欺骗单目深度估计网络,从而诱导它产生它们的深度幻觉。
• 我们引入了一个处理管道来微调单目深度估计网络以处理 ToM 对象。我们的管道利用网络本身来生成虚拟深度注释,只需要描绘 ToM 对象的分割掩码——无论是由其他网络制成的还是预测的 [53, 59]——从而摆脱对任何深度注释的需求。
• 我们展示了我们的策略如何扩展到其他深度估计设置,例如立体匹配。我们在 Booster 数据集 [63] 上的实验表明,根据我们的方法进行微调后,单目和立体网络如何显着提高它们对 ToM 对象的预测。
2. 相关工作
单眼深度估计。早期的方法使用cnn进行像素级回归[10,11]。最近的方法,如 AdaBins [2]、DPT [36] 和 MiDaS [37] 使用自适应 bin 和视觉转换器进行深度回归,并通过混合多个数据集来利用大规模深度训练。自监督方法使用视图合成进行图像重建,其中预测的深度与已知或估计的相机姿态相结合,建立相邻图像之间的对应关系,利用立体对[10,11]或单目视频[69,12]。最近的工作旨在通过结合光度不确定性[56,34]、特征描述符[65,43,45]、3D几何约束[29]、代理监督[51,48]、光流[61,49]或对抗性损失[1,33]来提高基于SSIM和L1[67]的光度损失的鲁棒性。其他人提出架构更改,如 [68, 14, 32, 18, 13]。除了一些工作使用深度补全方法解决非朗伯深度估计和来自主动传感器的稀疏深度测量 [8, 39],据我们所知,我们不知道任何以前可以处理 ToM 表面的单视图深度估计网络。
立体匹配。传统的算法[41]利用手工制作的特征来估计视差图[62,17,58,57,24,46,21,3]。然后,深度学习方法取代了传统的匹配代价计算,如[64]所示,最终端到端方法成为视差估计最有效的解决方案。这些网络主要可以分为 2D 和 3D 架构,前者采用编码器-解码器设计 [30, 31, 25, 38, 44, 55, 60, 47],后者从图像对上的提取特征构建特征成本体积 [19, 4, 20, 66, 6, 7, 9, 54, 50, 16, 42]。对这些作品的全面回顾可以在[35]中找到。最近的论文利用迭代细化范式[26,22]或依赖于视觉变形器[23,15]。然而,由于其固有的不适定性质,处理非朗伯表面,例如 ToM 对象,对于任何类型的现有立体方法来说仍然是一个非常具有挑战性的问题。
非朗伯对象感知。由于处理 ToM 对象的相关性,最近的一些数据集专注于它们。Trans10K[53]和MSD[59]分别由透明物体和反射镜的10 000和4 000张真实野外图像组成。这两个数据集都提供了 ToM 材料的手动注释分割,尽管它们都没有提供深度标签。其他人提供深度注释:ClearPose [5] 包含超过 350 000 个标记的真实世界 RGB-D 帧,包含 63 个家庭对象。ClearGrasp [39] 由超过 50 000 张透明物体的合成 RGB-D 图像组成,以及真实世界的测试基准有286张RGB-D图像。此外,Booster [63] 专注于立体匹配,提供在具有镜面和透明表面的室内场景中获得的高分辨率深度标签和立体对。TOD [28] 包含 15 个透明对象,标有相关的 3D 关键点,包括 48 000 个立体和 RGBD 图像。StereOBJ-1M [27] 还处理立体视觉,但侧重于 ToM 对象的姿态估计,不提供深度地面实况。为这些类型的数据集获取深度标签是昂贵、具有挑战性和耗时的,因为它需要 ToM 对象的 CAD 模型 [5],在场景中绘制此类对象 [39, 63, 28] 或依赖于复杂的多摄像头设置 [52]。相比之下,我们的建议有效地回避了这些挑战,通过证明单目和立体网络可以在没有深度注释的情况下学习处理这些对象。
3.方法
我们的目标是以廉价和可扩展的方式为具有 ToM 对象的图像生成深度注释。这允许训练深度网络正确地估计它们的深度作为相机前最近表面的距离,而不是场景内容之间的距离折射/反射。我们的策略简单但非常有效,并且依赖于最近预训练的单目深度估计模型 [37, 36] 的可用性,这些模型能够在各种场景中进行强大的泛化,尽管难以处理 ToM 表面。基于上述情况,我们认为 ToM 对象通常是损害最近预训练的单目深度估计网络可靠性的唯一元素。因此,通过用类似于相同形状的纹理伪影虚拟替换这些对象,单目模型可能会被欺骗并诱导以估计不透明对象的深度,理想情况下放置在场景中完全相同的点。这种方法可以通过描述 ToM 对象、通过手动注释或分割网络来实现,从图像中屏蔽它们,然后在蒙面区域。一方面,由于正确检测 ToM 对象对于我们的方法至关重要,手动标记在计算上会导致最准确的选择,尽管它具有显着的注释成本。另一方面,依赖分割网络会减轻这种成本:需要一些初始人工注释进行训练,但这将允许免费分割大量图像。不幸的是,我们的方法的整体有效性将不可避免地受到训练分割模型的准确性的影响。然而,我们认为使用分割掩码注释图像肯定需要比深度注释低得多的努力[63,27]。因此,我们决定探索上述两种方法。
读者可能会争辩说,由于我们的直觉,训练一个深度网络来处理 ToM 对象可能是不必要的——事实上,在估计深度之前,在部署时间分割和修复此类对象就足够了。然而,我们重新认为这种方法将严重依赖经过训练以分割 ToM 对象的模型的实际准确性,这不会被授予泛化。此外,它将增加不可忽略的计算成本——即第二个网络的推理。相反,离线训练或微调过程允许利用人造注释——如果可用——并且可能使经过训练的网络能够学习如何正确估计 ToM 表面上的深度并摆脱第二个网络,并为其他深度估计框架(例如深度立体网络)设计高级策略。我们的实验将强调,前一种策略无效,而我们通过使用我们的方法微调深度模型来实现准确性的大幅提升。
在其余部分,我们描述了我们处理 ToM 对象的方法。给定图像 I 的数据集,我们在图 2 中概述的管道构建如下:i) 表面标记,ii) 修复和蒸馏,以及 iii) 对虚拟标签上的深度网络进行微调。此外,我们展示了如何修改它来微调深度立体网络。
表面标签。对于任何图像Ik∈I,我们产生一个分割掩码 Mk 将每个像素 p 分类为
如果像素分别属于 ToM 表面,则通过将像素标记为 1 或 0。这样的分割掩码可以通过手动注释或通过分割网络 Θ 作为 Mk = Θ(Ik) 获得。
修复和蒸馏。给定一个图像Ik及其对应的分割掩码Mk,我们生成一个增强图像̃Ik,应用in-painting操作将属于ToM对象的像素替换为颜色c:
然后,通过将 ̃Ik 转发到单目深度网络 Ψ 作为 ̃Dk = Ψ( ̃Ik),得到图像 Ik 的虚拟深度 ̃Dk。为每个单帧Ik随机采样颜色。然而,根据图像内容,某些颜色可能会导致无效并增加场景的歧义——例如,通过将白色像素涂成位于白色墙前面的透明对象。为了阻止这些出现,我们使用这些自定义颜色中的每一个对一组 N 个自定义颜色 ci, i ∈ [0, N -1] 和 in-paint Ik 进行采样,从而生成一组 N 个增强图像 ̃Ii k。然后,我们通过计算N个深度图之间的逐像素中值来获得最终的虚拟深度̃Dk
如图 3 所示,在某些情况下,油漆内颜色可能与背景相似——例如,当使用单个灰色掩码时,透明物体消失——而通过聚合多色修复可见。

对虚拟标签进行微调。到目前为止概述的步骤允许用不受 ToM 对象歧义影响的虚拟深度标签标记数据集 I。然后,我们的新注释数据集可用于训练或微调深度估计网络,从而使其能够稳健地处理上述困难对象。具体来说,在训练过程中,原始图像Ik被转发到网络,预测的深度 ^Dk 相对于从内涂图像获得的蒸馏虚拟地面实况图 ̃D∗k 进行优化。这个简单的管道在处理 ToM 对象时可以显着提高单目深度估计网络的准确性,正如我们将在实验中展示的那样
扩展到深度立体声。我们的管道也可以适应微调深度立体模型,如图4所示。同样,我们认为最先进的立体架构[26,22]在努力ToM对象时已经暴露了出色的泛化能力,因为匹配属于非朗伯曲面的像素本质上是模棱两可的。因此,我们利用单目深度估计网络仅为这些对象获取虚拟深度注释。给定一个由立体对 (Lk, Rk) 组成的数据集 S,我们从 Lk 中提取虚拟深度标签 ̃D∗k,并根据立体钻机的外部参数将它们三角化为差异 ̃d∗k。然后,我们通过将 (Lk, Rk) 转发到我们旨在微调的立体网络来预测基本视差图 dk。最终,我们根据 Mk 将 ToM 对象的差异替换为 dk 的对象的差异,后者一次在 Lk 上产生。形式上,这种操作即 Merge,定义为:
其中 αk、βk 是尺度和移位因子,因为单目预测最多是一个未知的比例因子。在[37]之后,αk, βk通过对dk的最小二乘估计(LSE)回归来估计,对于不属于任何ToM对象的像素,即Mk(p)=0:
4.实验设置
实现细节。我们使用 MiDaS [37] 和 DPT [36] 作为我们的单目网络,使用官方预训练权重,因为它们具有出色的野外泛化性能。为了微调它们,我们迭代 20 个 epoch,批量大小为 8,学习率为 10−7,指数衰减为 gamma 0.95。我们使用随机颜色和亮度和随机水平翻转增强。我们填充/裁剪和调整图像以匹配预训练分辨率,即长边或短边的 384 像素,分别为 MiDaS 或 DPT 保留镜像垫或方形裁剪的纵横比。我们将图像归一化为原始网络。关于立体网络,我们使用RAFT[26]和CREStereo[22],使用官方预先训练的权重,因为它们在已发表的方法中达到了Middlebury数据集[40]中排名靠前的排名。为了微调它们,我们运行 20 个 epoch,批量大小为 2,固定学习率 10−5。在 [63] 之后,我们将图像大小随机调整为原始数据集分辨率的一半或四分之一,RAFT 和 CREStereo 分别随机裁剪到 456×884 和 448×80,并进一步随机缩放图像和差异因子 ∈ [0.9, 1.1]。我们分别假设 RAFT-Stereo 和 CREStereo 训练期间有 22 和 10 次迭代。在测试期间,我们运行 32 和 20 次迭代。当使用我们的掩蔽策略创建虚拟标签时,我们将颜色采样的随机种子固定为 0。
数据集。在数据集中,我们选择了 Trans10K [53]、MSD[59] 和 Booster[63],因为它们专注于 ToM 表面并包含许多现实环境中获得的图像。Trans10K 分别包含 5 003、1 003、4 431 张图像用于训练、验证和测试集,具有常见的透明对象和东西。它提供了分割掩码,像素分为 12 个不同的类,我们将其折叠成 2 – ToM(第 1 到 11 类)。MSD 分别包含 3 066 和 958 张图像和用于训练和测试集的二进制分割掩码,具有镜像。Booster 包含 228 和 191 张图像训练和测试,分别。该数据集为训练集提供视差和分割图,其中分割图分为 4 个类别,我们将其分为 2 类 2-3 到“ToM”类别,0-1 类为“其他”材料。我们对单目模型的 Trans10K 和 MSD 以及立体网络的 Booster 训练拆分进行微调,不使用任何深度基本事实。
评估协议。我们使用几个指标来评估单目网络的准确性,包括相对于真实值 (ABS Rel.) 的绝对误差,预测/ground-truth 和 ground-truth/prediction 比率之间的最大像素百分比低于阈值(δi,其中 i 为 1.05、1.10、1.15、1、220 和 1.25)、平均绝对误差 (MAE) 和均方根误差 (RMSE)。此外,我们使用Booster[63]中定义的指标来评估立体网络,即bad-2、bad-4、bad-6、bad-8、MAE、RMSE。结果报告在所有有效像素(All)或属于 ToM 或其他对象的像素上,以评估我们的策略对不同类型表面的影响。对于为立体网络考虑的任何指标,越低越好——在表中用↓注释。这同样适用于单目网络的指标,除了 δi,导致更高的、更好的——表中报告了 ↑。由于单目网络的预测最多是一个未知的比例因子,我们根据Eq. 5中定义的[37]的LSE准则对它们进行缩放,但这里使用所有有效像素。单目网络在 Booster 训练集上进行了评估,而立体模型在 Booster 测试集上进行了评估。至于后者,根据我们定义的分割类,Booster 作者对分为“ToM”和“Other”对象的结果进行了类型计算
5.实验
5.1。单目深度估计。
In-Paintings的数量。我们通过改变 N 来研究虚拟深度标签的质量。当使用 N = 1 时,我们生成单个未绘制的图像,该图像被转发到单目网络,而在 N = 5 时,我们从 5 个不同颜色的蒙版图像生成虚拟深度,然后通过逐像素选择聚合深度中位数。在表1,我们报告了两种策略产生的深度图的准确性,以及基本架构的准确性,即不应用任何修复策略。首先,使用 MiDaS 和 DPT,两种修复策略都获得了对 TOM 区域更准确的虚拟深度,即基本架构。其次,N=5 图在大多数指标中产生了稍好的结果,尤其是在查看 DPT 性能时。我们将其归因于第二种策略更高的鲁棒性。对于剩余的实验,我们固定 N = 5,因为我们没有观察到更大的值有任何进一步的改进。

微调结果(GT 分割)。在表2,我们报告了Booster训练集的结果,在对来自Trans10K的所有可用数据进行微调MiDaS和DPT后获得和MSD。在 Base 行,我们使用官方发布的权重报告网络的结果,无需任何进一步的训练,并与 Ft 行的结果进行比较。虚拟深度,即我们方法的结果。我们注意到,我们的方法提高了所有像素的准确性。特别是,我们在 MiDaS [37] 的 ToM 表面的性能显着提高,MiDaS [37] 的 DPT[37] 的 4.37、5.72、8.97、111.112 和 11.57%、28.67mm、0.03%、35.51mm 和 3.91、7.19、11.25、16.8 和 16.97%、42.46mm、0.04%、53.255mm,δ1.25、δ1.20、δ1.15、δ1.15、δ1.10、δ1.05、MAE、Abs。Rel 和 RMSE 分别。我们强调,在微调期间,ToM 的准确度仅略低于 Other。此外,类 Other 指标也稍好一些,可能是因为网络提取的特征增强,可以更好地理解场景上下文。最后,我们在 Ft 中报告。基于在没有任何修复策略的情况下,通过自行预测对网络进行自我训练获得的微调结果。正如预期的那样,如果没有适当的虚拟深度标签,网络不能有效地从新数据集中学习,产生的结果与 Base 架构相当。对其他数据集的实验在附录中。

微调结果(Proxy 分割)。尽管获得语义标签比收集深度基本事实更便宜,但使用分割网络的预测作为代理语义注释将加速数据集收集过程。因此,我们研究了将管道中手动注释的掩码替换为 Trans2Seg[53] 和 MirrorNet[59] 的预测的影响,分别在 Trans10K 和 MSD 的训练集上进行预训练,在每个数据集的看不见的测试集上。我们使用权重作者提供。为了公平比较,我们还再次重新训练仅在两个数据集的测试集上利用 GT 分割的模型。标签。3 强调两个模型,使用 GT - Ft。虚拟深度 (GT) - 或代理分割 -Ft。与 Base 网络相比,虚拟深度 (Proxy) 实现了更准确的结果。有趣的是,这两个网络在 Other 类中产生了可比较的结果,而使用 GT 的网络在 ToM 类中略好于另一个网络,但仍然具有可比性。最后,在行虚拟深度 (Proxy) 中,我们报告了我们的修复方法(即没有微调)的结果,但根据代理分割对像素着色。我们注意到性能甚至比 Basemethod 更差。事实上,分割网络很难推广到Booster数据集,这使得深度模型无法估计正确的值,例如,由于一些过度扩展的in-painted TOM区域,如图5所示。然而,深度网络,在MSD和Trans10K的测试集上进行微调(行Ft。虚拟深度(Proxy)),在Booster.上进行适当的泛化。
5.2立体深度估计
虚拟视差生成替代方案。我们询问两个主要的替代方案来生成虚拟:i)虚拟视差:根据材料分割掩码屏蔽左右图像——因为只为左侧图像提供材料注释,我们根据地面真实视差将其扭曲到右侧图像上——然后用立体网络处理两者,我们要微调类似于单目网络,ii)合并:将立体模型本身产生的视差标签与原始DPT权重[36]生成的视差标签合并,如式4所示。虽然前者可能看起来是我们提议从单目到立体情况的自然扩展,但我们将证明其无效。
微调结果(GT 分割)。表4 通过我们的技术微调 RAFT-Stereo 和 CREStereo 获得的结果。从顶部到底部,我们报告了原始模型 (Base) 获得的结果以及根据自己的预测进行微调的实例 (Ft.Base) 或根据两种策略获得的伪标签 (Ft.虚拟深度Ft。合并)。

毫不奇怪,根据自己的预测对网络进行微调是有害的(RAFT-Stereo)或几乎没有有效的(CREStereo)。应用之前概述的两种策略中的第一个仅对 ToM 类的原始模型产生微不足道的改进。这一证据证实,我们为单目情况设计的管道不能通过修复两幅图像来扩展到立体情况,因为用恒定的col屏蔽ToM对象-ors 不容易匹配——相反,它引入了无纹理区域,这些区域可能被立体模型标记为平面表面。相反,第二种策略始终使用 RAFTStereo 和 CREStereo 改进预测。特别是,前者分别在 bad-2、bad-4、bad-6 和 bad-8 上实现了 9.23、13.83、15.62 和 16.69% 的绝对减少,在 ToM 区域上实现了 MAE 和 RMSE 的 7.62 和 9.13 减少。CREStereo 在坏指标上获得了 14.93、17.13、17.48 和 17.54%,MAE 和 RMSE 降低了 7.40 和 8.91。此外,其他像素的准确性也有所提高,尽管边距很小。图 6 提供了两种策略获得的标签之间的定性比较。前者为相对于墙壁完全错位的镜子生成一个平面表面,而后者将蒙版图像上的 DPT 的虚拟深度标签与视差标签相结合。


微调结果(Proxy 分割)。最后,我们将手动注释的分割掩码替换为 Trans2Seg 和 MirrorNet 预测的分割掩码,然后提取虚拟差异来微调两个立体网络。如前所述,Trans2Seg 和 MirrorNet 都没有在 Booster 上进行训练。因此,合并在使用手动注释的掩码方面产生了显着差异,如图 7 所示。然而,表 5 显示我们的管道提高了 RAFT-Stereo 和 CREStereo 在 ToM 对象上的性能,即使在非常嘈杂的代理语义注释的情况下也是如此。更准确地说,CREStereo 似乎比 RAFT-Stereo 从代理分割配置中受益更多。事实上,一方面,我们可以注意到RAFT-Stereo如何在ToM区域上提高,但代价是准确性使用代理分割时的其他像素。这会产生在所有像素上,bad-2 和 bad-4 错误率的增加,而 bad-6、bad-8、MAE 和 RMSE 仍然较低。另一方面,CREStereo 似乎能够更好地利用微调,从而在任何具有代理或 GT 掩码的指标上产生更准确的结果。这一结果证明,即使没有手动注释的掩码,我们的管道也可以有效地微调立体模型。尽管如此,通过人工标记分割图像会释放其全部潜力,与注释深度所需的方法相比,其成本要低得多。
5.3.定性结果
我们得出结论,图 8 显示了根据我们的建议进行微调的效果,分别从 Booster 训练集和测试集中有两个单目(顶部)和立体(底部)网络的示例。我们强调了 MiDaS、DPT、RAFT-Stereo 和 CREStereo 如何学会在依赖神经网络提供的代理分割掩码或人类准确注释时处理 ToM 表面。补充中的更多定性。

6.结论
我们提出了一种有效的方法来训练深度估计网络来处理透明和镜面。通过在 RGB 图像上修复这些表面,我们可以用虚拟深度标签快速注释数据集,可用于微调单目和立体网络,并具有出色的结果。一个有希望的未来方向是将我们的技术扩展到实例分割掩码,以便在同一场景中存在多个 ToM 对象的情况下获得更好的虚拟深度图。