【论文简述】Learning to Fuse Monocular and Multi-view Cues forMulti-frame Depth Estimation in(CVPR 2023)

一、论文简述

1. 第一作者:Rui Li

2. 发表年份:2023

3. 发表期刊:CVPR

4. 关键词:深度感知、MVS、单目、动态区域、交叉注意力

5. 探索动机:多帧深度估计通常依赖于多视图的几何一致性来达到较高的精度。当应用于动态场景时,例如自动驾驶,这种一致性通常在动态区域被破坏,导致估计受损。许多多帧方法通过使用启发式掩码识别动态区域,并用局部单目深度或特征表示为单目线索补偿多视图线索来处理动态区域。改进是有限的,因为掩码的质量不受控制,并且未充分利用两种类型线索融合的好处。

单目和多目深度估计的优势:The single image-based methods learn the monocular cues, e.g., the texture or object-level features, to predict the depth, while multi-frame methods can generally obtain higher overall accuracy relying on the multi-view geometric cues. Specifically, the 3D cost volume has been proved simple and effective for depth estimation, which encodes the multi-frame matching probabilities with a set of depth hypotheses.

多目深度估计的劣势:Although multi-frame methods are widely used in scene reconstruction, they encounter non-negligible challenges in the dynamic scenes with dynamic areas (e.g., moving cars and pedestrians). The dynamic areas cause corrupted values in the cost volume due to the violation of multi-view consistency and mislead the network predictions. However, depth estimation for the dynamic areas is usually crucial in most applications.

现有方法及缺点:To handle the dynamic areas violating the multi-view consistency, a few multi-frame depth estimation methods try to identify and exclude the dynamic areas through an explicit mask obtained relying on some assumptions or heuristics. Specifically, some method excludes the multi-frame cost volume relying on a learned dynamic mask and compensates the excluded areas with monocular features; some methods directly adjust the dynamic object locations in input images or supervise multi-frame depth with predicted monocular depth. However, these methods are usually sensitive to the explicit mask’s quality, and the masks are obtained from additional networks or manually crafted criteria. Although some self-supervised monocular depth estimation methods also address the multi-view inconsistency issues, they mainly focus on handling the unfaithful self-supervision signals.

6. 工作目标:尽管目前多视角加单视图的方法的性能优于纯多视图方法,但与额外引入的单目线索相比,这些方法的性能改进有限,这意味着多视角和单目线索融合的好处未得到充分利用。

7. 核心思想:为了解决上述问题,提出了一种新的方法,融合了单目和多视角线索的各自优势,从而显著改善了动态场景中的每个单独源。

  1. We analyze multi-frame and monocular depth estimations in dynamic scenes and unveil their respective advantages in static and dynamic areas. Inspired by this, we propose a novel method that fuses depth volumes from each cue to achieve significant improve ment upon individual estimations in dynamic scenes.
  2. We propose a cross-cue fusion (CCF) module that utilizes the cross-cue attention to encode non-local intrarelations from one depth cue to guide the representation of the other. Different from methods using local masks, the attention weights learn mask-free global geometric information according to the geometric properties of each depth cue

8. 实验结果:

The proposed method outperforms the state-of-the-art method in dynamic areas with a significant error reduction of 21.3% while retaining its superiority in overall performance on KITTI. It also achieves the best generalization ability on the DDAD dataset in dynamic areas than the competing methods

9.论文下载:

https://github.com/ruili3/dynamic-multiframe-depth

https://openaccess.thecvf.com/content/CVPR2023/papers/Li_Learning_To_Fuse_Monocular_and_Multi-View_Cues_for_Multi-Frame_Depth_CVPR_2023_paper.pdf

二、实现过程

1. 多视角和单目线索的特点

本文用两种类型的线索实现了两种深度估计方法,即图中的Multi Cue和Mono Cue,在KITTI上训练,使用U-Net。具体来说,具有多视图线索的模型(Multi Cues)将代价体作为输入。为了分析动态区域的性能,使用了通过阈值化光度误差和深度不一致计算动态掩码。

如图(b)所示,多帧深度估计通常依靠多视角线索获得较高的整体精度。但在动态区域由于违背了输入代价体的多视图一致性,导致性能下降。图(a)显示,多帧方法在静态区域(黄色框)生成精细的3D结构,而其对运动汽车(红色框)的估计受损了,而单目线索在动态区域(红框)学习了良好的结构关系。与多帧方法相比,单目深度估计方法的综合性能较差,如图(b)所示,没有几何线索。另一方面,它不受多视图不一致的影响,因此在动态区域中表现更好。在图(a)(b)中,可以观察到两种深度线索在动态场景的不同区域和不同方面显示出各自的好处,而普通体融合方案表现出明显的性能改进,跨线索融合显示出更好的处理动态深度的能力。c)深度预测显示了从普通体融合到跨线索体融合的逐步改进。

2. 融合的潜在好处

为了处理违背多视图一致性的动态区域,以前的多视角深度估计方法尝试使用单目信息作为动态区域的输入。然而,由于两种线索的优势未得到充分利用,这种改进是有限的。尤其是在动态区域的表现很容易被单目线索所限定。除了在动态区域使用单目线索外,还希望通过静态区域的多视角线索学习到的几何信息能够得到传播,从而增强动态区域的单目线索,这需要更全面的融合过程。

为了统一来自多帧和单目线索的信息,以代价体和从估计的单目深度图转移的单热深度体的形式对深度线索进行编码。在分析中,首先考虑使用连接和卷积操作的普通体融合。这种可学习的融合方案在动态场景下带来了明显的改善,这意味着适当的融合方法有助于在动态场景中发挥潜在的优势。基于可学习融合的可行性,进一步研究了跨线索体融合,并显示出进一步的改进。

3. 方法概述

目标是对包含各种具有挑战性的动态对象的动态场景图像It进行准确的深度Dt估计。图像序列定义为{It−1,It, It+1},其中{It−1,It+1}是与目标帧相邻的图像。如下图所示,该方法由三个主要部分组成,首先构建代价体和深度单热向量变换将多视图和单目线索表示为体,然后交叉线索融合(CCF)模块利用注意力机制融合多帧和单目线索,即提取每个线索的相对内部关系,以指导其他线索,从而产生改进的动态场景结构的几何表示。深度模块采用融合表示来估计最终深度。

​4. 表示单目和多视角线索

多视图线索作为代价体。通过计算多视图立体(MVS)机制的代价体来表示多视图线索。通过单应性变化,在逆深度空间中均匀采样一组深度假设d∈{dk}M,其中M为深度假设个数,本文设为32。本文构建了多帧代价体Cmulti∈H×W ×M,通过测量变化图像与目标图像之间的像素相似性,使用
SSIM。Cmulti∈[0,1]H×W ×M的每个像素(i, j),通道位置k∈{1,…,M}匹配分数大的表示包含真实场景深度的可能性更高。

单目线索作为深度体。我们通过估计单视图深度图来构建单目线索,然后将深度转换成one-hot深度体。利用U-Net结构,没有任何复杂的单视图深度估计设计,产生单目预测Dmono = fθmono(It),其中Dmono∈H×W, fθmono是单目网络。为了促进多帧和单目线索之间的平滑融合,不同于使用单视图特征或深度值的方法,本文通过将每个绝对深度值转换为一个one-hot向量将整个深度图Dmono转换为深度体Cmono∈{0,1}H×W×M,

其中Cmono,(i,j)∈{0,1}M表示Cmono中与像素(i,j)对应的单热向量,dmono为逐像素深度值。原文也尝试了一些soft表示,但没有观察到明显的改进。

5. 交叉线索融合模块

提出了一个交叉线索融合(CCF)模块来融合多帧和单目深度线索。与利用掩码局部深度线索进行动态深度估计的方法不同,CCF模块使用深度体融合了整个深度线索,保留了利用这两种优势进行进一步改进的潜力。

跨线索融合机制。给定体Cmulti, Cmono∈H×W×M,首先通过浅卷积层对它们进行处理,得到下采样的单目和多帧深度特征Fmulti, Fmono∈h×w×M。然后,将Fmulti和Fmono输入到交叉线索注意力(CCA)中,通过提取彼此的相对内部关系来增强每个深度线索,

增强后的特征被连接以产生融合特征F~fused。为了保留初始深度线索的细节信息,通过Fcat =Cat(Conv(Cmulti), Conv(Cmono))处理输入深度线索并添加残差连接。最终的交叉线索特征可以写成

其中γ是学习到的加权因子,'↑'表示上采样操作。然后将融合特征F与图像上下文特征一起输入到深度网络,得到最终的深度预测Dt∈H×W。

交叉线索注意力。交叉线索注意力(CCA)的目标是利用一个深度线索的相对内部关系来改善另一个深度线索的几何信息。CCA模块以并行方式部署,如下图所示,以Fmulti = CCAmulti(Fmono, Fmulti)为例详细介绍。

给定深度特征Fmono, Fmulti∈h×w×M,通过卷积运算f(·,θ)将Fmono变换为查询特征Qmono和关键特征Kmono,然后将Fmulti变换为值特征Vmulti。

将所有特征重构为大小(hw, M)后,通过矩阵乘法⊗和softmax运算计算单目特征的非局部相对内关系:

其中Rmono∈hw×hw表示单目深度线索的非局部内部关系。然后利用Rmono改进多帧特征Vmulti的几何表示:

其中,Femulti表示得益于单目深度线索的改进的多帧表示。对Fmono = CCAmono(Fmulti, Fmono)进行类似的操作,其中Rmulti代表多帧线索的内部关系,可以用来改善单目深度特征。 

CCA的有效性。如下图所示,尽管使用相同的CCA操作,但Rmono和Rmulti的内部关系在改善动态深度方面涉及不同的领域,表明它们能够从单目(更好的动态深度)和多帧线索(更好的静态深度)中获益。这个学习的特性使在两种预测上的无界动态深度性能,即,单目深度可以通过多帧线索的静态深度(使用Rmulti)来改善,并且动态区域的改进的单目深度将进一步传播(使用Rmono)到多帧预测中。

6. 损失函数

给定预测深度D和真实深度D~,损失可描述为:

其中LSI为尺度不变损失,LVNL为虚拟法向损失[42,43],β为权重因子,设为4。由于有单目深度Dmono和最终深度预测Dt,因此最终损失Lfinal为

7. 实验

7.1. 数据集

KITTI。评估KITTI Odometry数据集上的动态序列数据,该数据集包含13666个训练样本和8634个测试样本。使用[37]提供的动态掩码进行评估。测试集中超过1300个样本包含动态目标。本文评估了中分辨率(MR: 256×512)和高分辨率(HR: 352×1216)深度结果,并在0-80m范围内计算指标。

DDAD。使用包含3848个测试样本的前向相机来评估方法的泛化能力。由于DDAD没有预定义的动态掩码,通过对相邻图像使用GT深度的变化并选择具有高光度误差的实例掩码来构建DDAD。超过70%的测试集包含动态目标。所有方法都在0-80m深度范围内进行评估。

7.2. 实现细节

使用Pytorch实现,并使用NVIDIA TITAN RTX进行训练。除特别说明外,单目网络和深度网络均与[37]的深度模块一致,以ResNet-18[18]为主干,使用ImageNet[6]预训练参数。使用Adam优化器训练了80个epoch的模型,学习率为10−4,65个epoch后进一步下降到10−5,批大小设置为8。

7.3. 与先进技术的比较

KITTI

DDAD

7.4. 消融实验

8. 限制

仍然存在性能差距,特别是在动态区域,需要更好地融合线索。同时,对于一般多帧方法具有挑战性的遮挡问题,需要进一步探索。 

猜你喜欢

转载自blog.csdn.net/qq_43307074/article/details/130659441
今日推荐