0. 简介

深度估计任务是计算机视觉领域中的一个重要任务,旨在从单个或多个图像中推断出场景中物体的距离或深度信息。深度估计任务对于理解场景的三维结构、实现虚拟现实、增强现实、自动驾驶以及机器人导航等应用都具有重要意义。常用的深度估计算法包括:单目深度估计、双目深度估计、RGBD深度估计等。由于当前的单目深度估计算法效果不理想、而RGBD深度估计不仅需要依赖于RGBD相机,而且成本和功耗比较高,因而双目深度估计是主要的落地方案。《Zero-Shot Metric Depth with a Field-of-View Conditioned Diffusion Model》一文将给大家介绍一个单目深度估计算法,它可以极大的提升之前的单目深度估计算法的性能,效果比肩双目和RGBD深度估计算法!相关的网页主页可以在:https://diffusion-vision.github.io/dmd/这里看到。

1. 主要贡献

在本文中,我们提倡使用去噪扩散模型进行零次测量深度估计,并通过几项关键创新来获得最佳性能。特别是,在训练期间使用视场(FOV)增强来提高对不同相机内参的泛化能力,而在训练和推断中使用 FOV 调节有助于解决内在尺度歧义,从而进一步提高性能。以对数域表示深度能更平衡地分配模型容量,以适应室内和室外场景,改善室内性能。最后,我们发现在神经网络去噪中使用 v-参数化大大提高了推断速度。由此产生的模型,被称为 DMD(用于测量深度的扩散),表现优于最近提出的测量深度模型 ZoeDepth [5]。特别是,DMD 在所有八个 [5] 中提到的分布外数据集上的相对深度误差远低于 ZoeDepth,前提是在相同数据上进行微调。扩展训练数据集将进一步提高性能(见图 1)。

总结来说,我们做出了以下贡献:

  1. 我们提出了 DMD,这是一种简单而有效的方法,用于零次测量一般场景中的深度。

  2. 我们提议通过合成增强 FOV 来改善泛化能力,通过 FOV 调节来解决深度尺度歧义,并通过以对数尺度表示深度来更好地利用模型的表征能力。

  3. DMD 在零次测量深度方面确立了最新的技术水平,与 ZoeDepth 相比,在室内和室外数据集上的相对误差分别降低了 25% 和 33%,同时由于使用 v-参数化扩散,具有高效性。

2. 测量深度的扩散模型(DMD)

在接下来的部分,我们将描述 DMD(用于测量深度的扩散)及其解决这些问题的设计决策。特别是,我们将单目深度估计视为使用去噪扩散的生成性 RGB 到深度的转换任务。为此,我们在传统扩散模型和训练程序中引入了几项技术创新,以适应零次测量的度量深度。

3. 扩散模型

扩散模型是概率模型,假设有一个前向过程逐渐将目标分布转换为易处理的噪声分布。训练有素的神经去噪器被训练来逆转这一过程,迭代地将噪声样本转换为来自目标分布的样本。它们在图像和视频方面表现出了惊人的有效性,并且最近开始用于像分割、跟踪、光流和深度估计这样的密集视觉任务。它们吸引人的原因在于,在回归任务上表现强劲,能够捕获后验不确定性,而不需要特定任务的架构、损失函数和训练程序。

对于 DMD,我们基于 DDVM [40] 的任务不可知的高效 U-Net 架构。尽管 DDVM 使用了ϵ-参数化来训练神经深度去噪器,但在这里我们改用 v-参数化 [39]。我们发现 v-参数化提供了极为高效的推断,只需一到两个细化步骤,无需逐步蒸馏 [39]。

v-参数化下,去噪网络被给予一个带噪声的目标图像(在我们的案例中是深度图)z_t = α_tx+σ_tϵ,其中 x 是无噪声的目标输入(深度图),ϵ ∼ N (0, I),t ∼ U(0, 1),σ^2_t = 1−α^2_tα_t > 0 是由预定的噪声时间表计算的,去噪网络预测 v ≡ α_tϵ−σ_tx。从去噪网络的输出,即 v_θ(z_t, y, t),其中 y 是一个可选的条件信号(在这个案例中是 RGB 图像),可以在第 t 步获得 x 的估计值,即 \hat{x}_t = α_tz_t − σ_tv_θ(z_t, y, t),以及相应的噪声估计,表示为 \hat{ϵ}_t

在这种参数化下,使用传统的 L2 范数,训练目标基于预期的“截断 SNR 加权”损失,即 max(∥x − xˆt∥^2_2, ∥ϵ − ϵˆt∥^2_2) [39]。

受到 L1 损失在训练 DDVM [40] 时相比于 L2 表现出色的启发,我们同样对 DMD 采用了 L1 损失,从而得出以下目标:

4. 室内外联合建模

训练一个室内外联合模型可能会很困难,因为室内外场景中深度分布的差异很大。大多数可用的室内训练数据的深度最多为10米,而室外场景则包含高达80米的真实深度。此外,训练数据通常缺乏相机内参的变化,这对于不同相机拍摄的图像的鲁棒性是必需的。相反,许多数据集是用固定的相机拍摄的。为了缓解这些问题,我们提出了三项创新,即使用对数深度、视野增强和视野条件化。

4.1 对数深度

扩散模型通常在 [-1, 1] 范围内建模数据分布。人们可能会通过线性缩放将度量深度转换为这个范围,即:

其中 d_r 为原始深度(以米为单位),d_{max} 通常取为 80 米,以适应常见的室外深度范围normalize(d) = clip(2 ∗ d−1, −1, 1)。然而,这种方法为室内场景(深度通常小于 10 米)分配了较少的表示能力。

相反,我们可以通过对数缩放深度(d_{log})作为推理的目标,为室内场景分配更多的表示能力,即:

其中 dmin 和 dmax 表示支持的最小和最大深度(例如,0.5 米和 80 米)。从经验上来看,我们发现对数缩放对提升性能非常有益。

4.2 视场范围增强

因为用于深度估计的数据集往往在视场范围方面几乎没有变化,所以模型很容易过拟合,从而导致对具有不同相机内参的图像泛化能力差。为了鼓励模型能够很好地适应不同的视场范围,我们提议通过裁剪或扩展来增强训练数据,以模拟多样化的视场。虽然裁剪相对直接,但对于扩展而言,如何最好地填充扩大的图像尚不清楚。我们的初步实验使用了 Palette [37] 进行生成性扩展,但我们发现用高斯噪声(均值为零,方差为 1)填充 RGB 图像同样有效,且更简单、高效。
对于扩展增强中缺失的真实深度数据,我们采用了 [40] 中的方法,使用近邻填充和分步去噪训练相结合。[40] 中显示,这种技术在处理训练和测试之间的固有分布偏差时非常有效,尤其是在真实数据噪声较大或不完整的情况下。

4.3 视场条件化

从单一图像估计度量深度在未知相机内参的情况下是不确定的,因为深度与视场范围成反比。虽然人们可能希望通过视场增强来多样化相机内参,从而帮助泛化到不同的相机,但我们和其他人 [48] 观察到,这本身并不足以实现。视场增强确实有助于模拟一些相机内参的变化,但像焦距这样的其他因素的变化很难模拟。
作为条件信号,为了帮助消除深度尺度的歧义,我们使用 tan(θ/2),其中 θ 是垂直视场范围。我们也探索了以水平视场为条件,但这并没有显著改善结果。

5. 参考链接

https://mp.weixin.qq.com/s/rGYEoxNeCeFbhd_cCUO3Qw