UniDepthV2 革新单目深度估计 | 自Prompt相机+几何不变性损失实现跨域零样本泛化

向量数据库大模型机器学习

点击下方卡片,关注

「集智书童」

公众号

点击加入👉

「集智书童」

交流群

picture.image

picture.image

picture.image

picture.image

picture.image

picture.image

导读

精确的单目度量深度估计(MMDE)对于解决3D感知和建模中的下游任务至关重要。然而,近年来MMDE方法的显著精度仅限于其训练域。即使在存在适度的域差距的情况下,这些方法也无法泛化到未见过的域,这阻碍了它们的实际应用。作者提出了一种新的模型,UniDepthV2,能够从单一图像中跨域重建度量3D场景。

与现有的MMDE范式不同,UniDepthV2在推理时直接从输入图像预测度量3D点,无需任何额外信息,力求实现通用和灵活的MMDE解决方案。特别是,UniDepthV2实现了一个可自 Prompt 的相机模块,预测密集的相机表示以条件化深度特征。UniDepthV2利用了伪球形输出表示,解耦了相机和深度表示。此外,作者提出了一种几何不变性损失,促进了相机 Prompt 的深度特征的不变性。UniDepthV2通过新的边缘引导损失改进了其前驱模型UniDepth,该损失增强了度量深度输出中的边缘定位和锐度,重新审视、简化和更高效的架构设计,以及额外的置信度 Level 输出,后者使得需要置信度的下游任务成为可能。

在零样本模式下,对十个深度数据集的彻底评估一致地证明了UniDepthV2的优越性能和泛化能力。

代码和模型:github.com/piccinelli-eth/UniDepth

  1. 引言

M Reist皮层深度估计在3D建模[1]、机器人[2]、[3]和自动驾驶汽车[4]、[5]等领域具有广泛的应用。然而,为了有效地进行3D重建,提供可靠的度量尺度深度输出是必要的,因此推动了单目度量深度估计(MMDE)这一具有挑战性和本质上的不适定任务的产生。

现有多模态深度估计(MMDE)方法[6]-[12]在不同基准测试中表现出显著的准确性,但它们需要在具有相似相机内参和场景尺度的数据集上进行训练和测试。此外,训练数据集通常规模有限,场景和相机多样性不足。这些特点导致在真实世界推理场景[13]中泛化能力较差,在这些场景中,图像是在不受控制、任意结构的环境中捕获的,且相机具有任意的内参。使情况更加糟糕的是,实际使用的真实深度图存在不完美性,这些深度图用于监督MMDE模型,其特征是Sparse性和边缘附近的缺失,这导致预测模糊,细粒度几何细节不准确。

仅有少数方法[14]-[16]解决了可推广的MMDE这一挑战性任务。然而,这些方法在测试时假设了受控的设置,包括相机内参。虽然这种假设简化了任务,但它有两个显著的缺点。首先,它没有涵盖完整的应用范围,例如野外视频处理和众包图像分析。其次,固有的相机参数噪声直接注入到模型中,导致在高噪声情况下出现较大的不准确度。

在本工作中,作者解决了更具挑战性的任务,即无需依赖任何额外外部信息(如相机参数)的通用多模态深度估计(MMDE),从而定义了通用MMDE任务。UniDepthV2名为UniDepthV2,它扩展了UniDepth [17],并且是第一个尝试在场景组成和设置上无限制地解决这一挑战性任务的方法,其通过其通用和适应性脱颖而出。与现有方法不同,UniDepthV2仅从单一图像中提供任何场景的度量3D预测,无需额外关于场景或相机的信息。此外,UniDepthV2在测试时灵活地允许纳入额外的相机信息。同时,得益于一种新颖的边缘引导损失,该损失增强了深度预测边缘局部结构的连续性与地面真相中相应结构的一致性,UniDepthV2实现了比原始UniDepth模型更清晰的深度预测和更好的深度不连续性定位。

UniDepthV2的设计引入了一个相机模块,该模块输出非参数化的、即密集的相机表示,作为深度模块的 Prompt 。然而,仅依赖这个额外的单一模块明显会导致与训练稳定性和尺度模糊性相关的挑战。作者提出了一种有效的伪球形表示方法,以解开该空间中相机和深度维度。这种表示方法采用方位角和仰角分量来表示相机,以及径向分量来表示深度,从而在相机平面和深度轴之间形成一个完美的正交空间。此外,基于针孔的相机表示在UniDepthV2中通过正弦编码进行位置编码,与原始UniDepth中基于针孔的表示的球谐编码相比,计算效率显著提高。图1展示了作者的相机自 Prompt 机制和输出空间。此外,作者引入了一种几何不变性损失,以增强深度估计的鲁棒性。其基本思想是,来自同一图像的两个视图的相机条件化深度输出应表现出相互一致性。特别是,作者采样两种几何增强,为每个训练图像创建不同的视图,从而模拟原始场景的不同可见相机。除了上述以一致性为导向的不变性损失之外,UniDepthV2还具备额外的不确定性输出及其相应的损失。这些像素级不确定性通过相应深度预测与其对应真实值之间的差异进行监督,并使得作者的MMDE模型能够在需要置信度感知输入[18]-[21]的下游任务,如控制中得以应用。

picture.image

本篇扩展后的期刊版本工作的整体贡献包括首次提出的通用MMDE方法、原始的UniDepth以及更新的UniDepthV2,这些方法能够仅通过单张图像输入预测出每个像素在度量3D空间中的点。本工作的早期版本已在计算机视觉与模式识别会议上发表[17],并介绍了作者的原始UniDepth模型。在[17]中,作者首先设计了一个可 Prompt 的相机模块,这是一种学习密集相机表示的架构组件,并允许进行非参数化的相机条件化。其次,作者提出了输出空间的伪球面表示,从而解决了相机和深度预测的交织性质。此外,作者还引入了几何不变性损失,以将相机信息从场景的底层3D几何中分离出来。此外,在会议版本中,作者对UniDepth在十个不同的数据集上进行了广泛的评估和比较,以公平且可比的零样本设置为基础,为作者的新型广义MMDE任务奠定基础。由于其设计,UniDepth即使在非零样本方法中也能持续保持最先进水平,在其出现在竞争性的官方KITTI深度预测基准时排名第一。

与上述会议版本相比,本文做出了以下额外贡献:

    1. 重新审视的相机条件单目度量深度估计网络架构设计,该设计使得UniDepthV2更加简洁,在计算时间和参数方面大幅提高效率,同时比UniDepth更准确。这一设计升级涉及网络中相机模块与深度模块之间连接的简化、作者新采用的基于小孔的密集相机表示的更经济的正弦嵌入、在深度解码器中包含多分辨率特征和卷积层,以及仅在输出空间特征上应用几何不变性损失。
    1. 一种新颖的边缘引导尺度不变损失函数,该函数通过输入图像几何边缘周围的预测深度图和真实深度图计算得出,鼓励UniDepthV2更好地保持深度图局部结构,从而与UniDepth相比,在训练过程中未见过的相机和场景域中,显著提高了深度输出的锐度。
    1. 一种改进的实用训练策略,该策略在每一个小批量中向网络呈现更多样化的输入图像形状和分辨率,从而扩大了假设的针孔相机模型的内在参数范围,进而提高了在推理过程中对特定输入分布的鲁棒性。
    1. 一种额外的、不确定性 Level 的输出,在训练过程中不需要额外的监督信号,但能够在推理过程中可靠地量化置信度,从而使得需要置信度感知的深度输入的下游应用,例如控制,成为可能。

引入的方法论创新使得UniDepthV2在广泛的相机和场景领域内相较于UniDepth实现了性能、鲁棒性和效率的提升。这通过大量与最新最先进方法的比较以及针对10个深度估计基准的消融研究得到证明,这些研究既包括具有挑战性的零样本评估设置,也包括实际的有监督微调设置。UniDepthV2在多模态深度估计(MMDE)中确立了新的整体最先进水平,并在竞争激烈的官方公开KITTI深度预测基准中排名第一。

  1. 相关工作

度量与尺度无关的深度估计。区分单目度量深度估计(MMDE)与尺度无关(即至某一尺度)的单目深度估计至关重要。MMDE SotA方法通常将训练和测试限制在同一领域内。然而,这会引发一些挑战,如过度拟合训练场景,导致在存在微小领域差距的情况下性能显著下降,这在像NYU-Depthv2 [22](NYU)和KITTI [23]这样的基准测试中往往被忽视。另一方面,尺度无关的深度方法,如MiDaS [24]、OmniData [25]和LeReS [26]所开创,通过在广泛的数据集上训练展现出强大的泛化能力。这一范式通过将深度条件生成方法从RGB扩展到RGB条件深度生成方法 [27]或像DepthAnything系列 [28]、[29]中的大规模半监督预训练等方法得到了提升。所有这些方法的局限性在于缺乏度量输出,这阻碍了它们在下游应用中的实际使用。

单目度量深度估计。[6]率先引入端到端可训练的神经网络到单目度量深度估计(MMDE)领域,标志着这一领域的重大里程碑,同时也引入了通过尺度不变对数损失(

)的优化过程。随后的研究见证了High-Level网络的出现,从基于卷积的架构[7]、[10]、[30]、[31]到基于Transformer的方法[8]、[11]、[12]、[32]。尽管在现有的基准测试上取得了令人印象深刻的成果,但MMDE模型在零样本场景中面临挑战,揭示了对抗外观和几何域变化的鲁棒泛化需求。

通用单目度量深度估计。近期的研究主要集中在开发多模态度量深度估计(MMDE)模型[14]、[15]、[33],以实现跨不同领域的通用深度预测。这些模型通常利用相机感知能力,要么通过直接将外部相机参数纳入计算[15]、[34],要么通过基于内在特性的形状或输出深度进行归一化,如[14]、[16]、[35]、[36]中所示。近期出现了一种新的范式[17]、[37],其目标是直接从输入图像中估计3D场景,而无需除RGB输入之外的其他任何附加信息。UniDepthV2符合后一种新范式,即通用MMDE:在测试时,作者不需要任何额外的先验信息,例如访问相机信息。

  1. UNIDEPTHV2

大多数SotA MMDE方法通常假设可以访问相机内参,从而模糊了纯深度估计和实际3D估计之间的界限。相比之下,UniDepthV2旨在创建一个通用的MMDE模型,该模型可以在各种场景中部署,而不依赖于任何其他外部信息,如相机内参,从而通过设计实现3D空间估计。然而,试图直接从单张图像中预测3D点而没有适当的内部表示,忽略了几何先验知识,即透视几何,这给学习过程带来了重新从数据中学习透视投影定律的负担。

第IMI-A节引入了输出空间的伪球形表示,以固有地分离相机射线的角度和深度。此外,作者的初步研究表明,深度预测受益于对采集传感器的先验信息,导致在第IMI-B节中引入了自 Prompt 相机操作。通过第MI-C节中概述的几何不变性损失,在深度预测层面实现了进一步的分离。这种损失确保了在条件于自举相机预测时,深度预测保持不变,从而促进了鲁棒的相机感知深度预测。此外,通过在深度预测上施加边缘引导的归一化损失,提高了空间分辨率,迫使网络学习深度值中的锐利过渡和平滑表面。整体架构和由设计选择组合引起的优化在第IHI-E节中进行了详细说明。

A. 三维表示

作者的MMDE方法具有通用性,需要推理深度和相机内参才能仅基于图像观测进行3D预测。作者设计了3D输出空间,该空间自然地分离了两个子任务,即深度估计和相机标定。具体来说,作者利用了伪球面表示,其中基由方位角、仰角和对数深度定义,即

,与笛卡尔表示

相对。所提出的伪球面表示的强大之处在于它将相机

和深度

分量解耦,通过设计确保它们的正交性,与笛卡尔表示中存在的纠缠相对。

值得强调的是,在这个输出空间中,摄像机的非参数密集表示在数学上表示为张量

,其中

分别是输入图像的高度和宽度,最后一个维度对应方位角和仰角值。而在典型的笛卡尔空间中,反向投影涉及齐次相机射线与深度的乘积,而在所提出的表示空间中的反向投影操作则考虑了相机和深度表示的连接。射线束定义为

,其中

是校准矩阵,

是像素坐标中的像素位置,1 是全为1的向量。因此,齐次相机射线

对应于

。此外,这种密集的相机预设可以通过标准的正弦编码嵌入,每个齐次射线维度的谐波总数为64,即总共有128个通道。

B. 可自 Prompt 的相机

相机模块在最终的3D预测中扮演着至关重要的角色,因为其角密集输出涵盖了输出空间中的两个维度,即方位角和仰角。最重要的是,这些嵌入 Prompt 深度模块确保了对输入场景全局深度尺度的自举先验知识。这种 Prompt 对于避免场景尺度上的模式坍塌至关重要,并且可以减轻深度模块从零开始预测深度的负担,因为尺度已经被相机输出所建模。

尽管如此,相机模块的内部表示基于针孔参数化,即通过焦距

和主点

。与内禀参数相对应的四个 Token 随后被投影为标量值,即

。然而,它们并不直接代表相机参数,而是代表针对针孔相机初始化的乘性残差,即 y 分量的

分量的

,导致以下结果:

从而使得对输入图像大小具有不变性。

随后,基于内在参数的逆投影操作应用于每个像素坐标,以产生相应的光线。这些光线被归一化,因此代表单位球上的向量。关键步骤涉及从逆投影光线中提取方位角和仰角,从而有效地创建一个“密集”的角相机表示。这种密集表示经过正弦编码以产生嵌入

。嵌入表示随后无缝传递到深度模块作为 Prompt ,在其中它们作为条件因素发挥着至关重要的作用。条件通过投影编码器特征图

与相机嵌入

之间的交叉注意力层来强制执行,其中

。相机 Prompt 的深度特征

被定义为

其中,CA代表交叉注意力块,MLP是一个具有一个

通道隐藏层的多层感知器。

C. 几何不变性损失

不同相机从同一场景捕获的空间位置应与特定相机条件下的深度模块相对应。为此,作者提出了一种几何不变性损失,以强制不同采集传感器从同一场景中提取的相机 Prompt 深度特征的一致性。特别是,一致性是在从相同的3D位置提取的特征上强制执行的。

对于每张图像,作者执行

种不同的几何增强操作,记为

,在实验中

。此操作涉及采样一个缩放因子

和一个相对平移

,然后将其裁剪到当前步骤随机选择的输入形状。这类似于从同一场景中采样一对图像和外部参数,但由不同的相机捕获。令

分别描述对应于增强

的预测相机表示和相机感知深度输出。显然,当应用两种不同的几何增强时,相机表示会有所不同,即如果

,则

。因此,几何不变性损失可以表示为:

表示在相机 Prompt

条件化后,如第 II-B 节所述,解码得到的深度输出;

对应于停止梯度分离操作,用于将

作为伪真实GT(GT)进行利用。双向损失可以计算为:

在对相机感知的组件,如输出深度图,应用几何不变性损失是必要的。否则,损失将强制跨特征的一致性,而这些特征故意携带不同的相机信息。

D. 边缘引导归一化损失

现代深度估计方法需要在全局场景理解和局部几何精度之间取得平衡。虽然UniDepth在全局场景理解方面表现出色,但在描绘场景的局部、细粒度几何细节方面缺乏精度。为了解决这个问题,UniDepthV2引入了一种新的损失函数,称为边缘引导尺度平移不变损失(Edge-Guided Scale-Shift Invariant Loss,

),该损失函数专门设计用于提高局部精度。该损失函数在从RGB空间梯度排名位于前5%分位数的区域提取的图像块上计算,这些区域很可能包含深度不连续的高对比度区域。图像块的大小在输入图像最小维度的4%到8%之间随机采样。通过专注于这些视觉显著区域,UniDepthV2学会了区分真实的几何不连续性和误导性的高频纹理,这些纹理不对应实际的深度变化。例如,如棋盘纹理或平坦表面上的重复细节等结构化模式可能会错误地暗示深度变化,导致幻觉不连续性。

UniDepthV2通过强制预测深度和真实深度之间的局部一致性来避免此类错误。在所选的每个 Patch 位置,作者应用一个局部归一化步骤,其中预测深度和真实深度都是基于 Patch 的统计信息独立地进行缩放和偏移对齐。这确保了损失函数直接衡量形状一致性,而不是绝对深度值,使得模型对场景中深度尺度变化具有鲁棒性。具体来说,作者的损失函数表述如下:

分别表示预测和真实逆深度,

是提取的RGB图像块集合,

表示图像块

内的深度值。函数

表示通过从图像块

中减去中位数并除以平均绝对偏差(MAD)进行标准化操作。这种公式的关键优势在于它惩罚了两种不同的失败情况:(i)模型忽略强烈颜色线索的区域,未能捕捉到真实的深度不连续性;(ii)模型错误地仅利用外观变化,产生了与实际几何边缘不符的深度不连续性幻觉。由于在标准的机器学习框架(如PyTorch)中随机图像块提取计算效率低下,作者实现了一个定制的CUDA Kernel ,通过加速损失计算提高了

的效率。

E. 网络设计

架构。如图2所示,作者的网络包括一个编码器主干、一个相机模块和一个深度模块。编码器基于ViT [38],在四个不同的“尺度”上产生特征,即

,其中

,其中

。四个相机模块参数初始化为ViT风格主干中存在的类别 Token 。在此初始化之后,它们通过以下步骤进行处理:(i) 经过2层自注意力机制以获得相应的针孔参数,这些参数用于生成最终密集表示

,具体细节见第MI-B节;(ii) 通过正弦编码进一步嵌入到

picture.image

深度模块接收来自编码器的四个特征图

。每个特征图

基于相机 Prompt

进行条件化,以获得

,如第III-B节所述,使用不同的交叉注意力层。然后,这四个特征图通过一个FPN风格的解码器进行处理,其中“横向”卷积是转置卷积,以匹配ViT的分辨率与其他FPN层级的分辨率。对数深度预测

对应于最后一个FPN特征图,该特征图被上采样到原始输入形状,并通过两个卷积层进行处理。最终的3D输出

是预测光线和深度的拼接,

,其中

的逐元素指数运算。优化过程由第III-A节中从最终3D输出空间

重新表述的均方误差(MSE)损失指导,如下:

,其中

是预测的3D输出,

是GT 3D值,

是输出每个维度的权重向量。

是计算所有像素在三个输出维度上的经验方差和均值向量。

。注意,如果维度

,则损失表示该维度的标准MSE损失。如果

,则在该维度以对数空间表示时,添加一个尺度不变损失项;如果该输出以线性空间表示,则添加一个平移不变损失项。特别是,如果只考虑最后一个输出维度,即深度对应的维度,并且使用

,则相应的损失是标准的

。在作者的实验中,作者设置

。此外,作者通过不确定性预测的监督扩展了优化,该不确定性预测定义为预测不确定性与预测深度

和GT深度

在对数空间中的分离误差之间的L1损失。更正式地,

表示停止梯度操作。因此,最终的优化损失定义为

此处定义的损失函数为设计输出表示提供了动机。具体而言,采用笛卡尔表示并将损失直接应用于输出空间会导致通过

误差进行反向传播。然而,如第III-A节所述,

分量被推导为

。因此,以

表示的相机分量梯度和深度梯度相互交织,导致优化效果不佳,如第IV-C节所述。深度估计器通常通过在图像维度中隐式编码相机参数的方面,将图像形状与场景尺度相互纠缠[14]。这种对固定输入形状的依赖限制了它们在不同图像分辨率和宽高比上的泛化能力。相比之下,UniDepthV2旨在对图像形状的变化具有鲁棒性,确保无论输入分辨率如何,预测的场景几何和相机视场角都保持一致。这种灵活性使得模型能够适应不同的计算约束,在更精细的细节和处理速度之间取得平衡,同时保持全局场景精度。为了实现这种鲁棒性,作者在动态变化图像形状和分辨率上进行训练,确保模型能够学习在广泛的输入条件下一致地推理深度。具体来说,作者采样像素计数在0.2MP到0.6MP之间的图像,使模型能够在不同的分辨率下有效运行,而不会偏向于单个固定的输入大小。

  1. 实验

A. 实验设置

数据。训练数据是24个公开数据集的组合:A2D2 [39]、Argoverse2 [40]、ARKit-Scenes [41]、BEDLAM [42]、BlendedMVS [43]、DL3DV [44]、DrivingStereo [45]、DynamicReplica [46]、EDEN [47]、HOI4D [48]、HM3D [49]、Matterport3D [50]、Mapillary-PSD [36]、MatrixCity [51]、MegaDepth [52]、NianticMapFree [53]、PointOdyssey [54]、ScanNet [55]、Scan

[56]、TartanAir [57]、Taskonomy [58]、Waymo [59] 和 WildRGBD [60],总计1600万张图像。作者通过在8个未见过的数据集上测试模型来评估模型的泛化能力,这些数据集根据室内或室外设置分为不同的领域。室内组对应于SUN-RGBD [61]、IBims [62]、TUM-RGBD [63] 和 HAMMER [64] 的验证分割,而室外组包括 ETH3D [65]、Sintel [66]、DDAD [67] 和 NuScenes [68]。

评估细节。所有方法都使用公平且一致的流程进行了重新评估。特别是,作者没有利用任何测试时增强,并且对所有零样本评估使用了相同的权重。作者使用对应于每个方法的零样本模型的预训练权重,即没有在KITTI或NYU上微调。主实验中使用的指标是

衡量深度估计性能。

是F1分数曲线下面积(AUC),直到数据集最大深度的

,用于评估3D估计精度。

评估相机性能,是相机射线平均角度误差的AUC,直到

。作者不使用例如焦距等参数评估,因为它是一个在多种相机模型和完美未校正图像中不太灵活的指标。此外,作者通过在KITTI和NYU-Depth V2上训练最终预训练权重并按标准实践进行域内评估,展示了UniDepthV2的微调能力。

实现细节。UniDepthV2采用PyTorch [7O] 和CUDA [71] 进行实现。在训练过程中,作者使用AdamW [72] 优化器(

,初始学习率为

)。对于 Backbone 网络权重,每个实验的学习率均除以10,权重衰减设置为0.1。作者从整个训练的30%开始,利用余弦退火作为学习率和权重衰减调度器,将它们降至十分之一。作者运行了300k次优化迭代,批大小为128。在16个NVIDIA 4090显卡上以半精度计算,训练时间总计为6天。数据集采样过程遵循加权采样器,其中每个数据集的权重是其场景数量。作者的增强包括几何和光度学增强,即前者为随机调整大小、裁剪和平移,后者为亮度、伽玛、饱和度和色调偏移。作者随机从每批图像中采样2:1到1:2的图像比例。作者的ViT [38] Backbone 网络使用DINO预训练 [73] 模型的权重进行初始化。对于消融实验,作者使用ViT-S Backbone 网络运行了100k次训练步骤,其训练流程与主实验相同。

B. 与现有技术的比较

作者在八个零样本验证集上评估了UniDepthV2,这些集涵盖了室内和室外场景,分别如表1和表2所示。

picture.image

UniDepthV2在性能上优于或至少与所有 Baseline 相当,甚至超过了在推理时需要真实相机参数的方法,例如[14]、[16]。值得注意的是,UniDepthV2在3D估计方面表现出色,这从

指标中可以看出,它在第二好的方法上实现了从

的持续改进。此外,它在几乎所有情况下都优于UniDepth [17],除了在IBims-1、DDAD和NuScenes上的

指标。这表明UniDepthV2在性能和效率方面都取得了重大进步。然而,相机参数估计(

)只有微小的改进,这表明训练相机种类的多样性有限仍然是一个挑战,可以通过额外的仅相机训练来解决,如[37]中建议的那样。

picture.image

表2和表4显示了在NYU和KITTI训练集上微调并在各自的验证分割上评估的结果,遵循标准协议。微调性能是衡量模型将特定下游任务和领域专业化的能力的指标。UniDepthV2能够有效地适应新的领域,并在微调NYU或KITTI之前在大规模、多样化的数据集上预训练的方法(如[16]、[29]、[33])上表现出色,这在表4所示的室外设置(KITTI)中尤为明显。

picture.image

如第MI-E节所述,作者的训练策略在同一个分布式批次中包含了可变图像宽高比和分辨率。结合相机条件和不变性学习,这种方法增强了模型对输入图像形状变化的鲁棒性。图4量化了这种效果:y轴表示归一化指标精度(

按方法的最大值缩放),而x轴变化图像形状。归一化确保了模型之间的尺度一致。UniDepthV2几乎对图像形状不变,这表明它可以在不牺牲精度的前提下,有效地在分辨率和速度之间进行权衡,如图4所示。

C.消融研究

在第二节中,通过在表5、VI和VII中移除方法来评估UniDepthV2中引入的每个新组件的重要性。所有移除实验都利用了预测的相机表示,除非另有说明。

picture.image

表5评估了与UniDepth [17]相比的各种架构修改的影响,分析了它们对性能和效率的影响。

picture.image

表6评估了所提出损失函数(第MI-D节)的重要性,并检查了在不同空间中应用最初在UniDepth [17]中引入的几何不变性损失(第MI-C节)的影响。作者设计选择背后的理由是在保持简洁的同时最大化有效性。

picture.image

此外,在表7中,作者分析了相机条件化的作用,并报告了在相同训练和评估设置下原始UniDepth的结果,以进行直接比较。评估基于四个关键指标:

,它衡量度量深度精度;

,它评估尺度不变场景几何;

,它捕捉3D估计能力;和

,它评估单目相机参数估计。所有报告的指标对应于数据集上的聚合零样本性能,具体细节见第IV-A节。

架构。表5概述了将原始UniDepth [17]架构转换为UniDepthV2的关键修改。首先,作者移除了基于球谐函数(SH)的编码,因为这种编码在计算上效率低下。相反,作者回归到标准的正弦编码(第2行)。虽然在作者当前的设置中,性能差异很小,但作者假设随着模型从更大、更多样化的训练数据中受益,编码的影响会减弱。接下来,由于注意力机制的计算成本较高,作者在第3行中将其移除。这种移除导致性能显著下降,例如

下降了

,但效率提升了超过

。在第4行中,作者用ResNet块替换了纯MLP解码器,引入了空间

卷积。这种修改通过利用局部空间结构来提升性能,同时对效率的影响最小。最后,在第5行中,作者整合了从编码器到解码器的多分辨率特征融合,遵循FPN风格的设计。这种最终架构显著降低了计算成本,同时保持了整体性能:最终模型(第5行)实现了与原始UniDepth(第1行)相似的性能,但所需的计算量仅为三分之一。

损失。在第III-D节中详细描述的

损失的有效性,在表6的第2行与第3行进行了评估。引入这种损失导致

提高了4.7%,

提高了1.8%,这证明了其对指标精度和3D估计的贡献。有趣的是,尽管

并没有明确监督相机参数估计,但

指标也显示出改进。这表明该损失有助于减少训练过程中的噪声,从而在编码器中产生更好的特征表示。

的影响的定性比较在图6中展示。第三列与第四列之间的差异突出了所提损失在细化深度不连续性方面的视觉影响。此外,第二列与第三列之间的比较说明了架构变化和数据多样性增加的综合影响,显示出对更精细细节(如之前被平滑或遗漏的身体部位)的重构得到改善。

picture.image

输出空间。UniDepthV2引入了多个与相机条件相关的深度特征实例

,对应不同的解码器分辨率,如第II-E节所述。这与原始的UniDepth [17] 相比,后者依赖于单个条件点。鉴于这种架构上的转变,作者认为深度条件可能不是最佳选择。不同分辨率的特征编码了不同层次的概念,而强制实施深度条件引入了额外的设计自由度。表6调查了应用[17]中的一致性损失

的位置:直接在输出空间中(

,第2行)或在每个尺度的相机条件特征内(

,第1行)。结果表明,直接在输出空间中应用损失与在特征中应用损失之间的差异最小。因此,根据奥卡姆剃刀原则,作者采用第2行中更简单、更有效的设计方案作为最终方法。

条件影响。如前文所述[17],作者在表7中分析了所提相机条件化的影响。该消融实验包括在相同条件下对UniDepth和UniDepthV2的分析——既没有使用

,也没有对深度特征

应用不变性。结果显示,条件化对UniDepthV2的正向影响更为显著,这可以通过比较第3行与第4行,以及第1行与第2行的对比来证实。

置信度。第MI-E节中引入的置信度度量在三个零样本数据集上进行了评估,如图5所示。y轴表示归一化均方根误差(RMSE),计算方法为RMSE除以其在

时的数据集值,而

轴对应于置信度分位数。对于每个分位数,评估仅考虑置信度超过给定阈值的像素。理想情况下,置信度应与误差呈负相关:如果置信度估计是可靠的,则高置信度区域应表现出较低的RMSE。具体而言,图5验证了UniDepthV2预测的置信度与误差的负相关性,从而证明了其可靠性。

picture.image

  1. 结论

作者引入了UniDepthV2,这是一个通用的单目度量深度估计模型,能够在不要求测试时相机参数的情况下,增强跨不同领域的泛化能力。通过改进模型架构并在训练目标中引入新的损失函数,UniDepthV2实现了最先进的性能,同时提高了计算效率,这通过广泛的零样本和微调评估得到了证明。

此外,作者的训练策略允许在测试时通过允许可变输入分辨率来实现推理速度与细节保留之间的灵活权衡,同时保持全局尺度一致性。

参考

[1]. UniDepthV2: Universal Monocular Metric Depth Estimation Made Simpler

picture.image

扫码加入👉

「集智书童」

交流群

(备注:

方向

学校/公司+

昵称

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论