准确的单目度量深度估计(MMDE)对于解决3D感知和建模中的下游任务至关重要。然而,最近MMDE方法的显著准确性仅限于它们的训练领域。 这些方法在存在适度领域差距时甚至无法推广到未见过的领域,这阻碍了它们的实际应用性。 作者提出了一种新的模型UniDepth,它能够仅从单一图像跨领域重建度量3D场景。 与现有的MMDE方法不同,UniDepth在推理时直接从输入图像预测度量3D点,无需任何额外信息,力求实现通用和灵活的MMDE解决方案。特别是,UniDepth实现了一个可自我提示的相机模块,预测密集的相机表征以调节深度特征。 作者的模型利用了一种伪球形输出表征,它解耦了相机和深度表征。此外,作者提出了一种几何不变性损失,促进了相机提示深度特征的不变性。 在零样本状态下对十个数据集进行的全面评估一致展示了UniDepth的卓越性能,即使与直接在测试领域训练的方法相比也是如此。 代码和模型可在以下链接获取:github.com/lpiccinelli-eth/unidepth。
1 Introduction
精确的逐像素深度估计对于理解几何场景结构至关重要,其应用包括3D建模[10]、机器人学[11, 63]和自动驾驶车辆[38, 51]。然而,为了有效地进行3D重建,提供可靠的度量尺度深度输出是必要的,这促使了单目度量深度估计(MMDE)这一具有挑战性和内在不适定问题的任务。
尽管现有的多模态深度估计方法[3, 14, 16, 40, 41, 43, 61]在不同的基准测试中展示了卓越的准确性,但它们需要在具有相似相机内参和场景尺度的数据集上进行训练和测试。此外,训练数据集通常规模有限,并且在场景和相机多样性方面也较为缺乏。这些特点导致在真实世界的推理场景[52]中泛化能力较差,在这些场景中,图像是在未受控制、任意结构的环境和具有任意内参的相机中捕获的。
仅有少数方法[21, 59]致力于解决可泛化的MMDE这一具有挑战性的任务。然而,这些方法假设在测试时具有受控的设置,包括相机内参。虽然这个假设简化了任务,但它有两个明显的缺点。首先,它没有涵盖全部应用范围,例如野外视频处理和众包图像分析。其次,固有的相机参数噪声直接注入到模型中,在高噪声情况下会导致很大的不准确性。
图1:作者介绍了UniDepth,一种新颖的方法,它仅通过输入单张图片就能直接预测场景中的3D点。UniDepth融合了相机自我提示机制,并利用由方位角和高度角以及深度(,,)定义的伪球形3D输出空间。这种设计有效地将相机和深度优化分离,避免了由于深度相关误差()导致的梯度流向相机模块。
在这项工作中,作者解决了更加困难的泛化多模态深度估计任务,且完全不依赖于任何额外外部信息,如摄像机参数,从而定义了通用多模态深度估计任务。作者的方法,名为UniDepth,是首个尝试在不限制场景构成和设置的情况下解决这一挑战性任务的方法,并通过其通用和适应性强的特点而脱颖而出。与现有方法不同,UniDepth仅从单一图像出发为任何场景提供度量三维预测,无需关于场景或摄像机的额外信息。此外,UniDepth在测试时灵活地允许加入额外的摄像机信息。
作者的设计引入了一个摄像头模块,该模块输出非参数化的,即密集的摄像头表示,作为深度模块的提示。然而,仅依赖于这个单一的附加模块显然会导致训练稳定性和尺度模糊性相关的问题。作者提出了一种有效的伪球形输出空间的表示方法,以解开该空间的摄像头和深度维度。这种表示方法为摄像头使用方位角和高度角分量,为深度使用径向分量,形成了摄像头平面与深度轴之间的完美正交空间。此外,摄像头分量通过拉普拉斯球面谐波编码嵌入。图1展示了作者的摄像头自提示机制和输出空间。另外,作者引入了几何不变性损失,以增强深度估计的鲁棒性。其基本思想是,同一图像两个视角的以摄像头为条件的深度特征应表现出相互一致性。特别是,作者采样两种几何增强,为每个训练图像创建一对不同视角,从而模拟原始场景的不同外观摄像头。
作者的总体贡献是第一种普遍适用的多模态深度估计方法,名为UniDepth,它仅凭单张图像就能预测出每个像素在度量三维空间中的点,无需任何其他输入。特别是,首先,作者设计了一个可提示的相机模块,这是一个学习密集相机表示并允许非参数相机条件的架构组件。其次,作者提出了输出空间的伪球形表示,从而解决了相机和深度预测的交织特性。此外,作者引入了几何不变性损失,以将相机信息从场景的底层三维几何中分离出来。此外,作者在公平且可比较的零样本设置下广泛测试了UniDepth,并对七个多模态深度估计领域的最新(SotA)方法在十个不同的数据集上进行了重新评估,为广义多模态深度估计任务奠定了基础。由于其设计,即使与零样本方法相比,UniDepth也一致地设定了新的技术水平,在竞争激烈的官方KITTI深度预测基准测试中排名第一。
2 Related Work
度量与尺度无关的深度估计。 区分单目度量深度估计(MMDE)与尺度无关的,即最多一个尺度的,单目深度估计至关重要。MMDE的最先进方法通常将训练和测试限制在相同的领域内。然而,诸如过拟合到训练场景等问题随之出现,导致在存在微小区域名隙时性能显著下降,这一点在NYU-Depthv2 [35](NYU)和KITTI [18]等基准测试中常常被忽视。另一方面,包括MiDaS [42]、OmniData [13]和LeReS [58]在内的尺度无关深度方法,通过在广泛的数据集上训练,展现出强大的泛化能力。它们的局限性在于缺乏度量输出,这阻碍了在下游应用中的实际使用。
单目度量深度估计。 由[14]开创的端到端可训练神经网络在MMDE中的应用,标志着一个重要的里程碑,同时也引入了通过尺度不变对数损失()的优化过程。后续的发展见证了从基于卷积的架构[16, 27, 31, 40]到基于 Transformer 的方法[3, 41, 57, 61]等高级网络的涌现。尽管在已建立的基准测试中取得了令人印象深刻的成就,但MMDE模型在零样本场景下面临挑战,揭示了在外观和几何领域的域偏移中需要强大的泛化能力。
通用单目度量深度估计。 近期的努力集中在开发MMDE模型 [4, 21, 59] 以实现跨不同领域的通用深度预测。这些模型通常利用相机的感知能力,要么是直接将外部相机参数整合到计算中 [15, 21],要么是根据内在属性对形状或输出深度进行归一化,如 [1, 28, 59] 所见。
然而,这些可泛化的多模态深度估计方法通常采用特定的策略来提升性能,例如几何预训练[4]或针对数据集的特定先验如 Reshape [59]。此外,这些方法假设在训练和测试时都能访问到无噪声的相机内参,这也限制了它们在针孔相机模型上的适用性。另外,最先进的方法依赖于预定义的反投影操作,这模糊了学习深度和三维场景之间的区别。相比之下,作者的方法旨在克服这些限制,提出了一个更有挑战性的视角,例如通用多模态深度估计。通用多模态深度估计直接从输入图像预测三维场景,不需要除图像本身之外的任何附加信息。值得注意的是,作者在测试时不需要任何额外的先验信息,比如访问相机信息。
3 UniDepth
MMDE最先进的方法通常假定可以获取到相机内参,这样就模糊了纯深度估计与实际3D估计之间的界限。相比之下,UniDepth旨在创建一个通用的MMDE模型,可以在不依赖任何其他外部信息(如相机内参)的多样化场景中部署,从而设计出3D空间估计。然而,如果不通过适当的内部表示直接从单一图像尝试预测3D点,就会忽略几何先验知识,即透视几何,这使学习过程负担重新从数据中学习透视投影法则。
第3.1节引入了一种伪球形输出空间的表示,以固有地分离摄像机射线角度与深度。此外,作者的初步研究显示,深度预测明显受益于对采集传感器的先验信息,这导致了在第3.2节中引入了一种自我提示的摄像机操作。通过在第3.3节中概述的几何不变性损失,实现了内部深度特征层面的进一步解耦。这种损失确保了在条件引导的摄像机预测下,深度特征保持不变性,从而促进了鲁棒的摄像机感知深度预测。第3.4节详细介绍了整体架构以及由设计选择组合所引起的优化。
3D Representation
作者的MMDE方法的一般性用途特性要求仅通过对图像观察来推理深度和相机内参,以进行3D预测。作者设计的3D输出空间自然地解耦了两个子任务,即深度估计和相机校准。特别是,作者利用了伪球形表示,其中基础由方位角、高度角和对数深度定义,即(θ,φ,z_log),与笛卡尔表示(x,y,z)形成对比。所提出的伪球形表示的优势在于将相机(θ,φ)和深度(z_log)分量解耦,确保它们在设计上的正交性,与笛卡尔表示中的纠缠情况形成对比。
值得强调的是,在这个输出空间中,相机的非参数密集表示在数学上被表示为一个张量 ,其中 和 分别是输入图像的高度和宽度,最后一个维度对应于方位角和高度值。而在典型的笛卡尔空间中,反向投影涉及到齐次相机光线与深度的乘积,在所提出的表示空间中的反向投影操作则考虑了相机和深度表示的拼接。光线锥定义为 ,其中 是校准矩阵, 和 是像素坐标系中的像素位置, 是一个全为一的向量。因此,齐次相机光线 对应于 。
此外,角密度表示可以通过拉普拉斯球面调和编码(SHE)进行嵌入。相机嵌入张量定义为 ,其中 是选择的谐波数量。 计算球面调和集合,即 ,其度数为 和序数为 ,并在通道维度上进行拼接,其中 为谐波的一部分。
其中 是关联的勒让德多项式,度数为 和阶数 ,而 是一个归一化常数。特别是,单位球面上的球谐函数构成了球面流形的正交基,并保持内积。所使用的球谐函数总数为 ,这是将度数 上限设为 8 所得出的结果。与例如傅里叶变换相比,SHE 被用作一个数学上更合理的选择,以生成相机嵌入。
Self-Promptable Camera
摄像机模块在最终的3D预测中扮演着至关重要的角色,因为其角度密集输出占据了输出空间的两个维度,即方位角和高度角。最重要的是,这些嵌入提示深度模块确保了对输入场景全局深度尺度的引导先验知识。这种提示对于避免场景尺度上的模式崩溃是基本的,并减轻深度模块从零开始预测深度的负担,因为尺度已经由摄像机输出建模。
图2:模型架构。 UniDepth仅使用输入图像来生成3D输出(O)。它从相机模块启动密集的相机预测(C),并通过交叉关注层将场景尺度的先验知识注入到深度模块中。相机表示对应于方位角和高度角。几何不变性损失()强制在不同几何增强(,)条件下基于相机的深度特征张量之间的一致性。将停止梯度应用于流向相机模块的编码特征(F),以防止相机梯度在编码器中主导深度梯度。通过三个自注意力块与可学习的x上采样交错获得深度输出()。最终输出是相机和深度张量的 ConCat (),为创建了两个独立的优化空间。
然而,相机模块的内部表示是基于针孔参数化,即通过焦距(, )和主点(, )。概念上对应的四个标记随后被投影到标量值,即 , , , 。然而,它们并不直接表示相机参数,而是表示相对于针孔相机初始化的乘性残差,即对于y分量是 ,对于x分量是 ,导致 , , , ,这样就能保持对输入图像尺寸的不变性。
随后,基于内在参数的后投影操作被应用于每个像素坐标,以产生相应的光线。这些光线被归一化,因此它们代表单位球面上的向量。关键步骤包括从后投影的光线中提取方位角和高度角,有效地创建一个“密集”的角相机表示。这种密集表示经过SHE处理以产生嵌入。这些嵌入表示随后无缝地传递到深度模块作为提示,它们在那里作为一个条件因素发挥着至关重要的作用。条件通过深度模块的初始化特征与相机嵌入之间的交叉关注层来加强,其中。由相机提示的深度特征定义如下:
其中 是一个交叉注意力块,而 是一个带有单个 通道隐藏层的多层感知机。
图3展示了作者相机模块的一个主要优点。特别是,在高噪声内在参数或与相机无关的场景中,UniDepth可以引导相机预测,从而显示出对噪声的完全不敏感性。然而,如果提供了任何外部密集相机表示,作者可以用相机模块的输出替代来提升3D重建的最高性能。这种适应性增强了模型的多样性,使其能够在不同的设置中无缝运行。此外,图3还表明,如果测试时给出噪声自提示,通过训练可以增强UniDepth对更噪声的外部内在参数的鲁棒性。
Geometric Invariance Loss
当深度模块针对特定相机进行条件设置时,由不同相机捕获的同一场景的空间位置应当相对应。为此,作者提出了一种几何不变性损失,用以强制执行从不同采集传感器获取的同一场景在相机提示下的深度特征的一致性。特别是,一致性被强制应用于从相同3D位置提取出的特征。
对于每一张图像,作者执行了种不同的几何变换,表示为,在作者的实验中,。这个操作包括采样一个重缩放因子和在轴上的相对平移,然后将其裁剪成网络的输入形状。这类似于从同一场景和不同的相机捕获的具有不同外部参数的一对图像的采样。设和分别描述对应于变换的预测相机表示和由相机提示的深度特征。显而易见,当应用两种不同的几何变换时,相机表示是不同的,即如果,则。
其中 表示经过相机提示 条件化后的深度特征,如第3.2节所述,而 对应于将 作为伪 GT 值(GT)所需的停止梯度分离操作。双向损失可以计算为:。在特征经过视图信息(即相机)条件化之后,应用几何不变性损失是必要的。否则,损失将会强制具有本质上不同相机信息的特征之间的一致性。
Network Design
架构。如图2所描述,作者的网络包括一个编码器 Backbone 网、一个相机模块和一个深度模块。编码器可以是卷积的或者基于ViT的[12],生成不同“尺度”的特征,,其中,。
图3:相机内参中噪声的影响。 x轴上显示了内参的相对失真量(),而y轴上是在OOD测试集上的性能。依赖外部输入本质上是会受到其噪声的影响。UniDepth在双模态下运行,既有使用外部内参的,也有不使用的。在未知内参或高噪声的情况下,UniDepth通过自举相机预测展现出完全的鲁棒性(_作者的方法_)。相比之下,在低噪声内参的情况下,作者利用它来提升峰值性能(_作者的方法-CAM_)。
摄像机模块参数是用于ViT风格的初始化类 Token ,或是用于卷积式 Backbone 网络的池化特征图。编码器 Backbone 网络产生的编码特征作为一系列分离的 Token 传递给摄像机模块,编码器的类 Token 被用作摄像机参数的初始化。这些特征经过处理以获得最终的密集表示 ,具体如第3.2节所述,并通过第3.1节中概述的 进一步嵌入到 中。需要注意的是,由于有效摄像机的种类相对于图像多样性较少,因此停止梯度操作是必要的。实际上,摄像机模块组件很容易过拟合,并且明显主导整个 Backbone 网络的梯度。
深度模块接收编码器特征,通过一层跨注意力层来调节初始潜在特征 以获得初始深度特征 。潜在特征张量 是沿着 维度对特征 求平均得到的。此外,深度特征在相机提示 的条件下,按照第3.2节描述得到 。相机提示的深度特征通过自注意力层进一步处理,其中使用的位置编码是 ,并经过上采样以生成多尺度输出。对数深度预测 对应于插值的中间表示的平均值。最终的3D输出 是预测光线和深度的 ConCat ,,其中 是 的逐元素指数运算。
优化。 优化过程是由作者在第3.1节中最终3D输出空间(,,)中对均方误差(MSE)损失的重新公式化指导的,具体为:
其中 , 是预测的3D输出, 是GT 3D值,而 是每个输出维度的权重向量。 和 被计算为所有像素上三个输出维度的经验方差和均值的向量,即 。注意,如果一个维度 的 ,则损失表示该维度的标准MSE损失。如果 ,在以对数空间表达时,该维度会加入一个尺度不变的损失项,例如对深度维度 ;如果该输出以线性空间表达,则会加入一个平移不变的损失项。特别是,如果只考虑最后一个输出维度,即对应深度的那个,并使用 ,相应的损失就是标准的 。在作者的实验中,作者设置 和 。因此,最终的优化损失定义为:
这里定义的损失函数作为设计输出表示的驱动力。具体来说,采用笛卡尔表示,并将损失直接应用于输出空间,将导致通过(,)以及错误的反向传播。然而,如第3.1节详细描述的,和分量被推导为和。因此,相机分量(由,表示)和深度的梯度相互交织,导致第4.3节讨论的次优优化。
4 Experiments
Experimental Setup
领域内训练数据集。 所使用的训练数据集是由Argoverse2 [53],Waymo [49],DrivingStereo [56],Cityscapes [7],BDD100K [60],MapillaryPSD [1],A2D2 [19],ScanNet [8],以及Taskonomy [62]的数据集组合而成。该数据集大约包含300万张具有不同相机和领域真实世界的图像,与Metric3D [59]和ZeroDepth [21]相比,它们分别利用了800万和1700万训练图像。
零样本测试数据集。 作者通过在训练期间未见过的十个数据集上测试比较模型来评估它们的泛化能力。更准确地说,每种方法都在来自SUN-RGBD [48](不包括NYU划分)、Diode Indoor [50]、IBims-1 [26]、VOID [54]、HAMMER [25]、ETH-3D [44]、nuScenes [5]和DDAD [20](使用[41]提出的划分)的验证分割上进行测试,并使用官方 Mask 进行评估。此外,UniDepth和来自[21, 59]的模型还在NYU-Depth V2 [35]和KITTI [18]上进行零样本测试。特别是,KITTI测试是在校正后的Eigen划分测试集 [14] 上进行的,使用Garg评估 Mask [17],而NYU测试使用来自[28]的评估 Mask 。
评估细节。 所有方法都已用公平且一致的流程重新评估。特别是,作者没有利用任何测试时的增强技术。作者使用训练图像的大小进行零样本测试,并在相同的验证分割和 Mask 上进行评估。不幸的是,ZeroDepth缺乏完整的代码可复现性,因此作者仅报告原论文中的结果,并且为了可视化,作者使用了他们提供的代码和权重。当方法没有报告特定测试数据集的配置时,作者分别使用NYU和KITTI的设置进行室内和室外测试。作者使用了常见的深度估计评估指标:均方根误差()及其对数变体(),绝对平均相对误差(),阈值下的内点像素百分比(),对数尺度下的尺度不变误差(): 。此外,作者还报告了在[37]中提出的基于点云的指标,即Chamfer距离()和F分数(),后者作为曲线下面积直至数据集最大深度的进行汇总。所有方法在评估过程中都使用了真实的内参。尽管如此,作者展示了有和没有真实内参的UniDepth的结果。
实现细节。 UniDepth是在PyTorch [39]和CUDA [36]中实现的。对于训练,作者使用了AdamW [34]优化器(,),初始学习率为。每次实验中,主干权重的学习率都除以10,权重衰减设置为。作为学习率调度器,作者从训练的30%开始使用余弦退火将学习率降至十分之一。作者运行了1M优化迭代,批次大小为128,每个训练数据集在每个批次中均匀表示。特别是,作者采样了64张图像,然后对同一图像的两个不同增强视图进行采样以保持一致性损失。增强包括了几何和外观(随机亮度、伽马、饱和度、色调偏移和灰度)增强。ViT-L [12]主干使用来自DINO预训练[6]模型的权重进行初始化,而ConvNext-L [33]则是ImageNet [9]预训练的。所需的训练时间大约为12天,在8个NVIDIA A100上完成。消融研究使用三个不同的随机种子,针对100k训练迭代进行,使用随机抽样的大小等于原始训练集20%的子集。
Comparison with the State of the Art
作者的方法如表1所示,一致性地超越了之前的最新(SotA)方法。作者在尺度不变性方面特别出色,由表示,平均提高了34.0%,而和的平均提升分别为12.3%。然而,在某些情况下,例如ETH3D和IBims-1,UniDepth可能无法捕捉到特定的场景尺度。这一缺陷通过尺度相关指标的下降得到体现,例如的下降分别为11.8%和31.4%,尽管在尺度不变性方面有明显的提升,分别为36.9%和28.5%。因此,作者推测作者的方法仍将从特定领域的微调中大大受益。
表1的最后两行展示了UniDepth的整体设计,即仅通过输入图像自我提示预测的密集相机表征来发挥作用,如公式(3)中详细描述的。实验表明,不仅对于大多数测试集而言性能得到了保持,而且带有自举相机的UniDepth还可以胜过具有真实相机数据的模型,例如在ETH3D和IBims-1中的。另一方面,在具有特别偏离域的相机类型的情况下,如ETH3D或HAMMER,自举相机预测结果会给缩放深度预测带来额外的噪声,从而使得的结果变得更差。
表2和表3展示了在两个流行基准NYU [35]和KITTI [18] Eigen-split上的结果。尽管与在相同领域上训练的模型进行比较,UniDepth在这两个基准上仍创造了最新的技术水平。重要的是,KITTI深度预测基准为作者提供完全公平的评价,突显了作者方法卓越的零样本性能及其相较于当前MMDE SotA方法的鲁棒性,在提交时UniDepth在此基准上排名第一,并且在上比第二名方法提高了15.5%。性能上的差异不仅仅归因于数据集特性,在与Metric3D和ZeroDepth的比较中也观察到了这一点。尽管在较小数据集上进行了训练,UniDepth还是优于这两种方法。特别是,UniDepth在NYU(表2)上的比Metric3D和ZeroDepth分别提高了5.8%和7.3%,在KITTI(表3)上分别提高了1.1%和9.4%。此外,ZoeDepth拥有与基于作者的ViT方法相似的能力,并且在多样的MiDaS数据集[42]上进行预训练,在表1中的通用零样本场景显示出其局限性,尤其是在尺度不变指标上的性能与传统的MMDE方法相仿。
为了进行公平的比较,作者在表4中提供了Metric3D、iDisc和UniDepth之间的对比,其中后两者是在Metric3D数据的一个严格子集上重新训练的,这个子集相当于原始Metric3D数据集的四分之一,并使用第4.1节详细描述的相同框架。结果有两方面:一方面展示了UniDepth在训练子集的情况下仍然超越了Metric3D;另一方面表明,为单一领域设计的MMDE SotA方法不能完全利用训练的多样性。图4中的定性结果突显了该方法在零样本设置下捕捉整体规模和场景复杂性的优势。
Ablation Study
在第3节中引入的UniDepth中每个组件的重要性通过表5中的消融法进行了评估。所有消融法都利用了预测的相机表示,除非有另外的说明。首先区别是_Oracle_模型,该模型在理想的条件下运行,在训练和测试时拥有已知的相机信息,处理的任务类似于[21, 59]。另一方面,_Baseline_是一个直接的编码器-解码器实现,具有(,,)输出,正如第3节开始时所概述的,而_Baseline _利用了所提出的拟球面表示。模块架构在所有实验中保持一致。_In-Domain_列反映了在训练域的验证分割上的测试,而_Out-of-Domain_对应于零样本测试,具体在第4.1节中介绍。值得注意的是,与_Out-of-Domain_相比,_In-Domain_的结果显示出更高程度的同质性,虽然后者存在较多噪声,但对于衡量下游应用和在野外部署中预期的性能更有信息量。
架构。 与_Full_模型相比,_Oracle_模型在零样本测试中表现出更稳健的尺度依赖性能,这突显了所提出任务的内在更高要求。_Baseline_模型展示了一种不利用外部信息且缺乏内部和输出空间适当设计的解决问题的方法。这种方法在深度和3D重建指标方面,明显导致了_In-Domain_和_Out-of-Domain_场景下的结果较差。
表4:与等效训练设置的对比。 所有方法都具有相同的主干网络,即 ConvNext-L [33],并在 KITTI Eigen-split 和 NYU 上以零样本模式进行测试。iDisc 和 UniDepth 按照文献 [59] 在 Metric3D 的严格子集上重新训练了 50万次迭代。
图4:零样本定性结果。 每一对连续的行对应一个测试样本。每奇数行展示输入的RGB图像以及基于绝对相对误差以_coolwarm_颜色编码的预测点云。每偶数行显示真实的深度图和预测的深度图。最后一列表示深度和误差的具体颜色条范围。():训练集中的KITTI和NYU。
相机模块。在表5的第3行中,相机模块的优势变得明显,显示出该模块在域内和域外测试中对尺度不变和尺度依赖指标影响的显著差异。这种差异源于模型在尺度方面缺乏先验知识,阻碍了其对多样化训练集的最优利用。专注于预测深度,而不是完整的3D输出,在训练过程中有助于避免收敛问题。这与预测3D的方法进行比较时显而易见,这些方法要么不依赖相机信息(第8和9行),要么受到交织优化的影响(第4行),如第3节所述。不依赖相机也限制了模型恢复域外样本的多模态分布的能力。缺乏(自举的)先验阻止了深度模块作为基于初始尺度估计的校正机制,并强加了不必要的计算负担,即从头开始恢复深度值。这种局限性在比较使用或缺失相机信息的测试集中表现得尤为明显,这些测试集强烈偏离分布,如KITTI(第2行和第3行)。特别是,“Full”在KITTI上达到了95.2%的,而“-Camera”在同一测试集上获得了58.9%,尽管这两个版本在nuScenes和DDAD上的差距仅为2%。
优化与输出表示。 所有消融研究都采用了相同的损失 ,但应用于不同的输出空间。在第4行中,使用了笛卡尔输出空间,而不是第3.1节中的拟球面空间,这导致性能大幅下降,因为相机和深度输出空间的相互交织的公式。_基准模型_(第8行)也采用了笛卡尔表示,但由于缺少相机模块,这种选择对该模型的影响较小。更具体地说,_基准模型_的解码器没有像第4行那样依赖于不准确的先验相机和比例信息。此外,第9行对应于采用拟球面表示的_基准模型_。第8行与第9行的比较显示,在直接预测3D输出时,输出表示的选择在定义更好的内部表示和优化方面仍然很重要。第5行展示了几何不变性损失的积极影响。这种损失通过促进深度特征对不同相机内参引起的外观变化的的不变性,提高了域内和域外的性能。此外,如第3.4节所述,阻止从相机模块到编码器的梯度传播在零样本测试中特别有助于避免比例和相机的过拟合,并稳定训练。通过限制相机监督对编码器权重梯度的主导作用相对于深度监督,可以获得更稳定的训练。
相机表示法。 在第6行中,模型融合了一种稀疏的相机表示法,具体来说,是带有参数 (, , , ) 的针孔相机模型,这导致了稀疏相机提示和标量监督;相机模块仍然预测残差分量,如第3.2节所述。这种方法损害了泛化能力,正如在域外评估中的 所证明的,尽管在域内 有轻微的改善。作者推测这四个提示相比于它们的密集形式向深度模块传递了较不鲁棒的信息,导致在域内和域外的深度指标性能相比于 Full 都较差。
5 Conclusion
在这项工作中,作者提出了UniDepth方法,仅依赖单一输入图像来预测多样化场景中的度量三维点。通过细致的消融研究,作者系统地解决了通用多模态深度估计任务中固有的挑战,强调了作者工作的关键贡献。所设计的自我提示相机允许在测试时无需相机的应用,并使模型更能抵抗相机噪声。引入的拟球面输出空间表示充分解耦了相机与优化过程中的深度。此外,所提出的几何不变性损失有效地确保了相机感知的深度一致性。广泛的验证工作明确展示了UniDepth如何在零样本状态下,在多个基准测试中达到最新水平,甚至超越了领域内训练的方法。这证明了作者模型的鲁棒性和有效性,最重要的是,它概述了推动多模态深度估计领域到达新前沿的潜力。
参考
[1].UniDepth: Universal Monocular Metric Depth Estimation.