专栏名称: 智驾实验室
欢迎关注“智驾实验室”!本公众号专注于自动驾驶领域,为您带来世界模型的最新研究,多模态大模型的深入解析,以及多模态大模型在自动驾驶领域的应用与落地。在这里,您可以了解到自动驾驶技术的最新动态,洞察行业趋势,与我们一起探索未来出行的无限可能。
目录
相关文章推荐
51好读  ›  专栏  ›  智驾实验室

DCPI-Depth 无监督单目视频深度估计的挑战与解决方案 !

智驾实验室  · 公众号  ·  · 2024-09-15 08:00

正文

ADAS Laboratory




点击上方 蓝字 关注 智驾实验室

加入【 智驾实验室 】交流群, 获取更多内容和资料

近年来,人们对于以无监督方式从单目视频中学习感知深度的兴趣日益浓厚。

这一领域的一个关键挑战是在具有挑战性的场景中实现健壮且准确的深度估计,尤其是在纹理较弱或存在动态物体的区域。

本研究通过深入探讨密集对应先验,为现有框架提供明确的几何约束,做出了三个主要贡献。第一个新颖之处在于上下文-几何深度一致性损失,它利用基于估计的自运动从密集对应三角测量的深度图来指导从上下文中学习深度感知,因为显式三角测量的深度图捕捉了像素间准确的相对距离。

第二个新颖之处来自于观察到光学流散度与深度梯度之间存在一种明确且可推导的关系。因此,设计了一种微分属性相关损失,以强调局部变化来细化深度估计。

第三个新颖之处是一种双向流协同调整策略,它增强了刚体流与光学流之间的互动,在静态场景假设下,鼓励前者朝向更准确的对应,使后者在不同场景中更具适应性。

DCPI-Depth框架融合了所有这些创新组件,并耦合了两个双向协同的流,在多个公开数据集上实现了最先进的表现和泛化能力,超越了所有现有的先前技术。

特别是,它在无纹理和动态区域展示了准确的深度估计,并显示出更合理的平滑性。

I Introduction

单目深度估计是计算机视觉和机器人领域的一个关键研究课题,其应用范围涵盖了自动驾驶[1]、增强现实[2]和具身人工智能[3]等多个领域。它为智能体提供了强大的环境感知能力,能够实现稳健的自我运动估计和三维几何重建[4]。早期基于监督学习的单目深度估计方法,通常需要大量精心标注的、逐像素的深度真实值(一般通过高精度的激光雷达获取)用于模型训练[8, 9]。然而,收集和标注这类数据既繁琐又成本高昂[8, 10]。因此,这些监督方法的实际应用受到了限制。

近年来,无监督/自监督的单目深度估计受到了广泛关注。这些方法通过利用立体图像对[15, 16]或单目视频联合学习深度和自我运动估计[4],从而避免了大量的深度真实值需求。

具体来说,给定目标和源图像,通过使用估计的深度图(在目标视图中)和相机自我运动将源图像变换到目标视图。然后,深度估计网络(以下称为_DepthNet_)和姿态估计网络(以下称为_PoseNet_)通过最小化光度损失(衡量重建图像和原始目标图像之间的一致性)以无监督/自监督的方式联合训练[4, 10, 13]。

尽管已取得进展,现有框架中的三个限制因素仍然阻碍了单目深度估计的进一步发展:

  1. DepthNet基于RGB图像中的上下文信息感知深度。虽然它有效地判断一个物体是在另一个物体的前面还是后面,但通过最小化光度损失准确高效地学习它们之间的相对距离是具有挑战性的。这是因为光度损失不能直接反映深度误差的大小,有时会导致在反向传播过程中优化深度时产生不合适的梯度。
  2. 局部深度变化通常受到边缘感知平滑性损失的限制,该损失基于图像梯度鼓励局部深度平滑[15]。然而,由于图像强度的变化并不直接与局部深度变化相关,这种强制的平滑可能会在深度估计中引入错误。
  3. 不同的刚体流可能导致可比较的光度损失,这可能将像素映射到具有相似像素强度错误候选点。这意味着由光度损失为DepthNet和PoseNet提供的监督信号是间接的,可能导致单目深度估计的鲁棒性不足,尤其是在纹理较弱的区域。

因此,在本文中,作者提出了一种新颖的无需监督的单目深度估计框架,称为密集对应先验融合深度( DCPI-Depth ),通过利用密集对应先验中的深度线索来克服上述限制。作者的DCPI-Depth包括两个双向协作流:一个是传统的基于光度一致性指导(PCG)的流,另一个是作者提出的使用对应先验指导(CPG)的流。

PCG流遵循普遍使用的方法[13, 14, 4, 10],使用估计的深度和自我运动信息将源帧扭曲到目标视图,然后计算光度损失以提供监督信号。另一方面,CPG流利用预训练的FlowNet[17]提供密集对应先验。这些先验首先与估计的自我运动一起通过三角测量[18]构建基于几何的深度图。

这种明确推导的深度图捕捉了像素之间准确的相对距离。通过作者新开发的环境-几何深度一致性(CGDC)损失,强制这两种深度图源之间的一致性,作者显著优化了DepthNet在训练过程中的收敛性。此外,发现密集对应先验的光流散度与深度梯度具有明确的关系。

基于这种关系,作者开发了一种新颖的微分性质相关(DPC)损失,从局部变化的角度改善深度质量。最后,采用双向流协同调整(BSCA)策略,使两个流相互补充,其中PCG流中的刚性流主要减轻CPG流对动态目标深度的误导,而CPG流中的光流则用密集对应细化PCG流的刚性流。

总结来说,本文的主要贡献包括:

  • DCPI-Depth,一个将密集对应先验融入到传统PCG流中的无需监督的单目深度估计框架;
  • 一个CGDC损失,使用通过三角测量密集对应先验与估计的自我运动构建的几何基础深度图来优化DepthNet的收敛性;
  • 一个DPC损失,基于光流散度与深度梯度的明确关系,从局部变化的角度进一步细化估计深度的质量;
  • 一个BSCA策略,使两个流能够相互补充,特别强调在不使用 Mask 技术的情况下改善动态区域的深度准确性。

本文的其余部分组织如下:

第二部分概述了现有的单目深度估计方法。

在第三部分,作者详细介绍了所提出的DCPI-Depth框架。

在第四部分,作者展示了在几个公共数据集上的实验结果。

最后,在第五部分,作者总结了本文并讨论了可能的未来工作。

II Related Work

Supervised Monocular Depth Estimation

监督式单目深度估计方法需要深度真值用于模型训练。首次尝试中,研究[5]提出了一种从粗到精的架构和一个尺度不变的损失函数,以从单一图像中感知深度。随后研究主要关注通过探索更复杂的网络架构[19, 6, 7]或开发新的损失函数[20, 21, 22]来提高深度估计性能。

例如,在研究[19]和[22]中,单目深度估计被重新定义为每个像素的分类任务,其中预测的是深度范围而不是确切的深度值。此外,为了结合回归和分类任务的优势,研究[23]将此问题重新定义为每个像素的分类-回归任务。

在[24]中,引入了多尺度引导层,以建立中间层特征与最终深度图之间的联系。[25]中开发了一种基于视觉Transformer(ViT)的架构,以捕获深度估计中的长距离相关性。最近,Depth Anything[26]展示了出色的性能,这主要归功于其强大的基础网络(基于ViT的视觉基础模型),能够提取通用的、信息丰富的深度特征。

它首先复现了一个基于MiDaS[27]的教师模型,使用来自DINOv2[28]的预训练权重,然后利用教师的预测作为伪标签,在大型 未标注 数据上训练学生模型。

尽管这些方法显示了有希望的结果,但对监督模型训练的大量真实深度数据的需求带来了相当大的成本,从而限制了它们在自动驾驶等领域的广泛应用。因此,无/自监督单目深度估计方法需要更多的关注。

Un/Self-Supervised Monocular Depth Estimation

为了使单目深度估计摆脱对大量真实数据的依赖,非/自监督方法已经成为了明显的替代选择。这些方法通常利用估计的深度在两张图像之间建立可微分的扭曲,并使用光度损失作为监督信号[4, 29]。研究[29]是首次报道的尝试在自监督框架内从立体图像对中学习单目深度估计。

随后,研究[4]通过结合从单目视频中学习深度和自我运动估计来扩展这种方法。然而,非/自监督方法通常面临独立移动目标和多视角模糊的问题[13],这导致在保持清晰目标边界方面存在挑战。因此,在[10]中,引入了最小重投影损失和自动 Mask 技术,在模型训练期间排除这些区域,显著提高了深度估计的性能。

在这些前期工作的基础上,一些研究探索了更复杂的网络架构以提升性能。

其他研究则通过多任务学习,例如光流估计[36, 37, 38]和语义分割[39, 40],来解决动态目标的挑战。

尽管这些努力已经显示出有希望的性能,现有的非监督框架仍有很大的改进空间[13]。这种局限性主要源于对上下文信息的依赖,以推理像素级的深度图,这是通过最小化光度损失间接监督的。在没有额外和有意义的前置知识引导的情况下,DepthNet在具有挑战性的场景中难以进行稳健的估计。

因此,在研究[13]中,利用在大规模数据集上预训练的单目深度估计模型来提供伪深度,设计了一个单图像深度先验和两个深度细化损失函数,以实现更稳健和可靠的深度估计。

然而,伪深度的有限准确性显著限制了这些损失函数的细化能力。因此,在本文中,作者求助于密集对应先验来进行深度细化。与伪深度不同,这些先验通过作者开发的CGDC和DPC损失提供了更直接、可靠和可解释的几何引导。

III Methodology

Overall Architecture

如图1所示,作者提出的DCPI-Depth框架包括两个协作的双向流:PCG和CPG。

前者遵循先前的研究[10, 13, 14],通过光度损失间接但有效地监督DepthNet和PoseNet的训练,而后者将密集对应先验(由预训练的FlowNet提供)注入到前者中,以克服当前SoTA框架[13, 14, 35]仅依赖PCG流的局限性。

具体来说,在CPG流中,作者引入了两个新的损失函数:

(1)一个CGDC损失,通过强制几何基础和上下文基础的深度图之间的一致性,指导DepthNet的训练,使DepthNet能够捕捉像素间的准确相对距离,从而优化其在训练过程中的收敛性;

(2)一个DPC损失,根据光流散度和深度梯度之间的显式关系,限制深度的局部变化。

此外,作者开发了一个BSCA策略,以共同提高上述两个流:在CPG流中,刚性流确保了动态目标上的深度估计的准确几何引导,而光流在PCG流中用密集对应细化刚性流,从而使这两个流能够有效地相互补充。

Contextual-Geometric Depth Consistency Loss

在传统的PCG流中,给定目标视频帧和源视频帧 ,DepthNet以 作为输入,根据上下文信息推理深度图 ,其中 分别表示输入图像的高度和宽度,而PoseNet估计自我运动,包括一个旋转矩阵 和一个平移向量 ,从源视图到目标视图。然后可以生成从目标视图到源视图的刚性流图 ,如下所示:

其中符号 表示两个向量除了一个尺度因子外相等, 表示相机内参矩阵, 表示一个2D像素, 是其齐次坐标。然后使用刚性流图 变换到目标视图,生成 。通过比较 ,计算以下光度损失以提供对DepthNet和PoseNet训练的监督信号[41]:

其中 表示逐像素的结构相似性指数操作[42], 是一个经验权重,设置为0.85。

传统的PCG流中的DepthNet通过最小化(2)基于给定的RGB图像对,从上下文信息中推理每个像素的深度值。以前的研究忽略了将几何引导纳入DepthNet训练,这是一个重大限制。尽管DepthNet可以从上下文中确定一个物体相对于相机原点是位于另一个物体的前方还是后方,但它通过仅最小化光度损失很难有效地学习它们的相对距离。这个挑战出现是因为图像强度的错误在幅度上并不直接反映深度错误,使得反向传播期间的光度损失梯度并不总是适合深度优化。

为了解决这些限制,作者求助于密集对应先验,基于多视图几何的成熟且可解释的原则生成另一张深度图,从而为从RGB图像进行深度估计提供了额外的约束。首先,作者引入了一个预训练的FlowNet [17] 来生成光流图 ,从中推导出以下密集对应先验:

其中 分别表示目标视图和源视图中沿光学轴的一对标准化相机坐标。然后,作者利用这样的密集对应先验以及PoseNet估计的自运动来构建基于三角测量的几何深度图 ,基于以下关系:

中的第 个元素( ),表示如下:

然后可以得出 如下:







请到「今天看啥」查看全文