极市导读
本文首次提出基于在噪声位姿等退化场景下的多视角深度估计的鲁棒性基准测试,分析了这些退化的原因以及如何解决这些退化场景,通过提出的自适应融合方法AFNet,充分结合了单视角和多视角深度估计的优势。实验表明,AFNet在非退化场景(位姿,内参等精准)以及退化场景下同时达到了SOTA。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

论文标题:Adaptive Fusion of Single-View and Multi-View Depth for Autonomous Driving
论文链接:https://arxiv.org/pdf/2403.07535.pdf
代码链接:https://github.com/Junda24/AFNet/
文章第一作者是来自华中科技大学的博士生程俊达,其他作者来自大疆科技。
1.引言
随着计算机视觉的发展,基于深度学习的单目多视角深度估计已经在多个公开数据集上展现出了卓越的性能,在理想情况下,它比单视角深度估计拥有更高的精度(metric scale)和鲁棒性。但是多视角深度估计的精度高度依赖于相机内参,相机位姿的精度,以及足够的translation来进行三角化获取metric depth。而在实际的自动驾驶应用场景中,通过SLAM获得的位姿以及相机内参是带有噪声的,并且汽车可能会在交通灯处停车或者因掉头而没有足够的translation,这些不可避免的退化场景是无法满足投影原理的,进而极大的影响多视角深度估计的精度。
为了应对退化场景这一挑战,我们提出了单视角和多视角的自适应融合方法AFNet。相比多视角,单视角深度估计更多的是依赖于从训练数据中获取的对场景的语义理解以及透视投影线索,在无纹理区域,以及动态场景会更加鲁棒,并且不依赖于相机位姿,所以对于上述退化场景下是更有优势的。但是由于尺度模糊问题,单视角深度估计的精度是低于多视角深度估计的。
因此我们认为,能不能通过一种融合方式,充分的发挥单视角和多视角深度估计的优势,在保持多视角的高精度的同时,融合获得单视角深度估计在退化场景下的鲁棒性,同时达到精度高鲁棒性好。
因此,我们通过设计基于重投影置信度的自适应融合方法,在不同场景下去自适应选择单视角和多视角深度估计中更可靠的分支,实现了同时在噪声pose以及精准pose下的高精预测,极大的提升了深度估计系统的鲁棒性。
作者的贡献可以总结如下:
-
我们提出了AFNet来自适应的融合单视角和多视角深度从而获得了更加鲁棒高精的fusion depth,在DDAD和KITTI自动驾驶数据集达到了SOTA。 -
我们是第一个提出融合单视角和多视角来解决多视角深度估计在噪声pose等退化场景下会fail的,并且提出了一个新的鲁棒性测试benchmark来评估多视角深度估计系统在噪声pose下的性能。我们的方法在鲁棒性测试benchmark上也是达到了SOTA。 -
我们提出的AF module能够提升多视角深度估计方法在动态物体区域的性能。
2.方法
1.整体结构

AFNet 的整个网络架构如上图所示, 网络主要由三个模块组成: 单视角分支, 多视角分支以及自适应融合模块 (AF module)。单视角分支和多视角分支共享特征提取网络,拥有各自的预测和置信度图, 即 和 , 然后由 模块进行融合, 得到最终准确、鲁棒的融合深度
2.单视角和多视角分支
单视角分支和多视角分支共享特征提取,单视角分支是常规的 encoder-decoder 架构,得到 single-view depth feature ,然后对 沿着通道进行 softmax 操作得到 depth probability volume 最后一个通道纬度是对应的 confidence map 。最终的 single-view depth 由下述公式得到:
是对深度概率体进行加权求和得到最终的单目深度。
这里面还有一个比较关键的点是 feature fusion, 由于 single-view depth 是从语义中回归深度, multi-view depth 更多的是从多视角的特征匹配中获取深度, 那么本质上二者学习到的特征是不同的模态,能够进行互补,所以在这里我们进行了 feature fusion:
通过将单视角分支的特征以残差结构的形式融入到多视角的特征中,用于补充多视角分支 cost volum 在不断地聚合,上下采样中极易丢失的语义信息和细节信息,提升了多视角分支在无纹理区域和边缘区域的表现。
多视角分支的输入是关键帧和参考帧,以及相对 pose,使用了经典的基于 cost volume 聚合的架构, 对 cost volume 进行解码得到最终的 multi-view depth 以及对应的 confidence map 。在这两个分支中, 和 一定程度上分别反映了二者 depth 的可靠程度。
3.自适应融合模块
自适应融合模块是 AFNet 的核心模块,它的作用是将两个分支的深度进行融合,从而发挥各自的优势, 达到更高精度且更鲁棒的效果。我们通过三个置信度 和 来进行融合,其中 是关键。我们通过将非关键帧根据多视角深度 以及输入 pose 进行 warping 到关键帧, warping 后的 image 表示为 , 理论上,当 depth 和 pose 以及相机内参精准时, warping image 和关键帧 在静态且非遮挡区域应当是完全一致的, 因此这就能给我们提供是否出现退化的信息。因此我们通过下述公式得到 warping confidence:
无论是 pose 含有噪声, 多视角深度 不准,多视角之间没有位移,还是处于动态物体区域,都不满足投影关系,这种产生的像素级别的不一致性都包含在了 warping confidence map 中,涵盖了多视角深度的可靠性。因此最终鲁棒的融合深度,是基于上述三个互补的 confidence map 进行共同指引融合得到的。
3.实验
1.benchmark performance
当拥有gt pose作为输入时,我们在单目深度估计方法中达到SOTA,并且具有很明显的优势,并且我们实现了精度和效率的优异平衡。
2.动态物体区域表现
我们的AF module能够显著提升多视角深度估计在动态物体区域的表现,如上表所示。
3.Robustness benchmark performance
AFNet在所提出的鲁棒性基准测试中也是显著优于其他sota方法,AFNet随着pose噪声的逐渐增大,仍旧保持较高的精度,拥有最佳的鲁棒性。
4.可视化结果
可以看出我们的AFNet在边缘细节等区域性能更佳
随着噪声的增大,可以看出其他方法由于噪声而出现明显的噪点甚至完全fail,而我们的AFNet始终保持精准预测,具有更强的抗噪声干扰能力。

多帧点云融合可视化结果,可以看出我们的depth具有很好的多帧一致性以及精准的边缘细节。
4.结论
作者提出了一个单视角,多视角自适应融合的深度估计系统,有效解决了多视角深度估计无法处理退化场景的难题,同时提升了精度和鲁棒性,大量实验证明了该方法的优越性和有效性。

公众号后台回复“数据集”获取100+深度学习各方向资源整理
极市干货

点击阅读原文进入CV社区
收获更多技术干货

