论文阅读笔记:Bilateral Grid Learning for Stereo Matching Networks

摘要

立体匹配网络的实时性能对于许多应用都很重要,例如自动驾驶、机器人导航和增强现实 (AR)。尽管近年来立体匹配网络取得了重大进展,但平衡实时性能和准确性仍然具有挑战性。在本文中,我们提出了一种有效的边缘保留的匹配代价卷上采样模块,它是基于可学习的双边网格中的切片操作。切片层是无参数的,在可学习引导图的作用下,这使我们能够从低分辨率的特征图获得高质量的匹配代价卷。我们提出的成本量上采样模块可以无缝嵌入到许多现有的立体匹配网络中,例如 GCNet、PSMNet 和 GANet。这些网络可因此被加速,同时保持了相当的准确性。此外,我们基于该模块设计了一个实时网络(名为 BGNet),其性能优于现有已发布的实时深度立体匹配网络以及 KITTI 立体数据集上的一些复杂网络。
代码已开源,地址为:https://github.com/3DCVdeveloper/BGNet

1简介

立体匹配是 3D 重建的关键步骤,它在 3D 建模、机器人技术、无人机、增强现实 (AR) 和自动驾驶领域有大量应用。给定一对立体图像,立体匹配的目的是在左右图像中的像素之间建立密集的对应关系。尽管这个问题已经研究了 40 多年,但由于一些困难还没有完全解决因素,例如传感器噪声、前景-背景遮挡、弱或重复的纹理、反射区域和透明物体。
近年来,深度学习在立体匹配领域表现出强大的潜力,一些基于深度学习的工作都很大提高了深度估计的精度,但与此同时,3D卷积的操作非常耗时,这也限制了其部署在实时系统上。
双边滤波器是一种边缘保留滤波器,它在图像去噪、视差估计和深度上采样中具有广泛的应用。双边滤波的知识可以参考这篇博客:双边滤波算法 - 啊哈彭 - 博客园 (cnblogs.com)
在这里插入图片描述
然而,双边滤波器的原始实现是耗时的。陈等人提出的双边网格是一种加速双边滤波的技术。它将过滤器视为“splat/blur/slice”三个过程。也就是说,像素值被“拼接”到网格中的一小组顶点上,然后这些顶点值被模糊,最后通过模糊的“切片”(插值)产生过滤的像素值顶点值。最近,Gharbi 等利用双边网格的思想来估计实时图像增强网络中的局部仿射颜色变换。
这篇文章的主要出发点是想要提出一种以高分辨率回归视差图、保持高精度,同时保持高效率的方案。这项工作的主要贡献如下:
(1)我们提出了一种有效的边缘保留的匹配代价卷上采样模块。它可以通过切片操作从低分辨率成本量中有效地重建用于视差估计的高分辨率成本量。使用此模块,可以在低分辨率下执行成本量聚合(例如 3D 卷积)。建议的成本量上采样模块可以无缝嵌入到许多现有网络中,例如GCNet、PSMNet 和 GANet,由此产生的网络可以加速 4~29 倍,同时保持相当的精度。据我们所知,这是第一次将差分双边网格操作应用于深度立体匹配网络。
(2) 基于所提出的成本量上采样模块的优点,我们设计了一个实时立体匹配网络,名为 BGNet。它可以以 39fps 的速度处理 KITTI 2012 和 KITTI 2015 数据集上的双目图像。实验结果表明:在 KITTI 2012 和 KITTI 2015 立体数据集上,BGNet 优于现有已发布的实时深度立体匹配网络以及一些复杂网络,例如 GCNet、AANet、DeepPruner-Fast 和 FADNet。

2相关工作

立体匹配网络:

在这里插入图片描述

双边网格:

双边网格最初是为了加速双边滤波器而引入的。它由三个步骤组成,包括splatting, blurring, slicing。对于输入图像 I 和引导图像 G,splatting 操作将 I 的原始像素投影到 3D 网格 B 中,其中前两个维度 (x,y) 对应于图像平面中的 2D 位置并形成空间域,而第三维g对应引导图像的图像强度。然后在3D双边网格B中进行高斯模糊。 最后,基于模糊双边网格和引导图像G,得到2D值图 I ˉ \bar{I} Iˉ是通过使用三线性插值访问网格 ( s x , s y , s G G ( x , y ) ) (sx,sy,s_GG(x,y)) (sx,sy,sGG(x,y))来提取的,其中 s s s是网格尺寸与原始图像尺寸的宽度或高度比,而 s G ∈ ( 0 , 1 ) s_G\in(0,1) sG(0,1)是网格的灰度与引导图像G的灰度的比值。这种在双边网格引导图像引导下的线性插值称为切片。网格只需要粗分辨率,其中网格单元的数量远小于图像像素。有关更多详细内容,可以参阅Real-time Edge-Aware Image Processing with the Bilateral Grid。

3方法

受双边网格处理的启发,我们提出了一种边缘感知成本量上采样模块。使用此模块,我们可以在低分辨率下执行大部分计算。同时,我们可以在高分辨率下通过上采样成本量获得准确的视差预测。在本节中,我们首先详细描述所提出的成本量上采样模块。然后,我们表明上采样模块可以用作许多现有立体匹配网络中的嵌入式模块。此外,基于该模块的优点,我们设计了一个实时立体匹配网络。

3.1双边网格的成本量上采样:

如第 1 节所述,本文的目标是寻求一种能够以高分辨率回归视差图以保持高精度、同时保持高效率的解决方案。为了实现这一目标,我们设计了一个双边网格中的成本量上采样模块(CUBG),CUBG模块可以将低分辨率(例如1/8)计算的成本量上采样到高分辨率。 如图所示,CUBG模块的输入是低分辨率成本量和图像特征图,输出是上采样的高分辨率成本量。 CUBG 模块中的操作包括双边网格创建和切片。
在这里插入图片描述

成本量转化为双边网格:

给定一个在低分辨率(例如,1/8)下具有四个维度(包括宽度 x、高度 y、视差 d 和通道 c)的聚合成本量 ,从成本量 到双边网格 B 的转换很简单.在所有实验中,我们使用3×3×3的3D卷积来实现转换。双边网格B中有四个维度:宽度x、高度y、视差d和引导特征g。双边网格中的值由 B(x,y,d,g) 表示。

通过切片层进行上采样:

使用双边网格,我们可以通过切片层生成 3D 高分辨率成本量 C H ( C H ∈ R W , H , D ) C_H(C_H\in R^{W,H,D}) CH(CHRW,H,D)。该层在匹配成本的低分辨率网格中执行依赖于数据的查找,具体来说,切片操作是在高分辨率的二维引导图G的引导下,在四维双边网格中进行线性插值。切片层是无参数的,可以高效实现。形式上,切片操作定义为
在这里插入图片描述
其中 s ∈ ( 0 , 1 ) s\in(0,1) s(0,1)是网格维度与高分辨率成本体积维度的宽度或高度比, s G ∈ ( 0 , 1 ) s_G\in(0,1) sG(0,1)是网格灰度值 l g r i d l_{grid} lgrid与引导图灰度值 l g u i d l_{guid} lguid的比。引导图 G 是通过两个 1×1卷积从高分辨率特征图生成的。请注意,每个像素的引导信息取决于其自身的特征向量,因此,我们可以获得锐利的边缘。与原论文中设计的原始网格不同,这项工作中的双边网格是自动从成本量中学习的。在实验中,网格的大小通常设置为W/8×H/8×Dmax/8×32,其中 W 和 H 分别是图像宽度和高度。 Dmax 是最大视差值。

3.2网络结构:

基于CUBG模块,我们还设计了一个高效的端到端立体匹配网络,命名为BGNet。下图提供了网络概览。该网络由特征提取、成本量聚合、成本量上采样和残差视差细化四个模块组成。它可以在 KITTI 立体数据集的分辨率下实时运行。下面我们将详细介绍这些模块。
在这里插入图片描述

特征提取:

类 ResNet 架构广泛用于立体匹配网络。我们利用类似的架构来提取图像特征进行匹配。对于前三层,使用步长为 2,1 和 1 的 3×3 内核的三个卷积对输入图像进行下采样。然后,跟随步长为 1、2、2 和 1 的四个残差层以 1/8 分辨率快速生成一元特征。遵循两个沙漏网络以获得大的感受野和丰富的语义信息。最后,将所有 1/8 分辨率的特征图连接起来,形成 352 个通道的特征图,用于生成成本量。我们使用 f l f_l fl f r f_r fr分别表示从左右图像中提取的最终特征图。

成本聚合:

在特征提取模块之后,我们为成本聚合构建了一个分组相关成本量,它结合了串联量和相关量的优点。通过将特征通道划分为 Ng 组,为视差d 的每个像素位置 (x,y) 计算分组相关,具体算法过程请参考Group-wise correlation stereo network。在我们的实验中,Ng=44。在 PSMNet 中,使用堆叠沙漏架构来优化使用上下文信息的成本量。在这里,考虑到效率,我们只使用了一个沙漏架构来过滤成本量。具体来说,我们首先使用两个 3D 卷积将代价量的通道数从 44 减少到 16,然后,使用类似 U-Net 的 3D 卷积网络进行代价聚合,其中跳过连接被元素级求和操作取代以降低计算成本。我们使用 C L C_L CL以 1/8 分辨率表示聚合成本量。

视差回归:

在这里插入图片描述

损失函数:

在这里插入图片描述

4实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5结论

在本文中,我们利用可学习的双边网格提出了一个成本量上采样模块,该模块可以无缝嵌入到许多现有的端到端网络架构中,并且可以显着加速这些网络,同时保持可比的准确性。此外,基于这个上采样模块,我们设计了两个实时网络,BGNet 和 BGNet+。它们在 KITTI 2012 和 KITTI2015 数据集上以小于 50 ms 的计算时间优于所有已发布的网络。实验结果也证明了我们网络的良好泛化能力。

(后面应该会有论文配合代码的说明,本文仅代表个人见解,如有不妥,欢迎大家共同探讨!如需转载,请联系本人。)

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值