【论文笔记-Stereo】Deep Stereo Matching with Explicit Cost Aggregation Sub-Architecture

目录

简介

Deep Stereo Matching with Explicit Cost Aggregation Sub-Architecture
AAAI2018 ,KITTI2015目前(20180320)排名第二,PSMNet
https://arxiv.org/abs/1801.04065

摘要

深度卷积神经网络,在解决双目立体匹配问题上已经取得了非常不错的表现。很多工作都专注于特征提取和相似度的计算,但是,很少人关注匹配代价聚合,这个在视差计算中很重要的一步。在这篇文章中,我们将介绍一种基于学习的匹配代价聚合方法来进行立体匹配,通过引入新的子结构使得整个视差计算网络可以被端到端训练。我们将匹配代价聚合转化为可学习的匹配代价生成和挑选两个过程。
使用双束流网络:一个分支用来产生可能的匹配代价融合结果,另一个用来挑选最后的结果。挑选的准则由浅层的图像信息(形状,边缘)决定。通过这种方式,我们很好地矫正了视差的计算,我们在KITTI上进行验证,得到了超越前沿算法的效果。

论文主要内容

Architecture

我们通过三个步骤实现时差的计算:匹配代价计算,匹配代价聚合和视差计算

  1. 匹配代价计算包含三个部分:特征提取(A1), volume构建(A2),相似度计算(A3)

    • A1是一个特征提取网络,使用ResNet结构
    • A2使用简单的平移实现
    • A3通过编码-解码结构进行相似度计算
  2. 匹配代价聚合包含两个子结构:一个产生聚合结果的proposal(B2),另一个结合图像浅层信息对匹配代价进行融合(B1)。

  3. 最后一部分(C)主要负责视差计算

A: 匹配代价计算

特征提取(ResNet18)

这里写图片描述
输入:(H, W, nChannel) , (H, W, nChannel)
输出:(H/2, W/2, F), (H/2, W/2, F)
为了节省计算资源,先对图像进行5x5 stride =2 的卷积,然后使用ResNet18进行特征提取,图像大小变为H/2, W/2, F。

特征Volume构建

这里写图片描述
输入:(H/2, W/2, F) , (H/2, W/2, F)
输出:(D, H/2, W/2, 2F), 其中D = max_possible_disparity
3D卷积能够非常有效地处理volume类型的3D输入,因此,我们通过提取的特征构建feature volume。构造的方式很简单,通过平移feature map然后拼接实现。我们以左图feature map为基础,然后沿着W方向移动右图的feature map,移动{1, max_disparity}个像素,每次移动将超出的部分用于补充缺少的部分。

相似度计算

这里写图片描述
输入:(D, H/2, W/2, 2F)
输出:(D, H, W,1) cost map
因为,“3D convolutional networks are effective to take into account the context and geometry information ”。直接对feature volume进行学习得到相似度。
由于3D卷积耗时,耗内存,所以采用auto-encoder结构(FCN结构?)。使用4层编码单元 + 4层解码单元的结构。

  • 一个编码单元包含两个普通的s=1x1x1的卷积层和一个s=2x2x2的卷积层,使得原feature map在D,H,W维度各自减半。
  • 一个解码单元包含一个s=2x2x2的上采样卷积层,并且,每一层都使用ResNet的思想,和编码器中对应位置、相同大小的feature map 相连。

最后我们添加一个2x2的上采样层,使得输出图像恢复原图的大小(D, H, W),这个图就是初始的匹配代价图。

B: 匹配代价聚合

匹配代价聚合的目的是为了修正一些错误的匹配代价值。因为匹配代价是基于局部区域计算得到的,我们现在用全局的信息来进行修正。另外,匹配代价融合还可以让我们的到高质量的视差图,保证视差图有非常好的平滑性和连续性。
传统的匹配代价融合使用人工定义的方程实现(论文提到“static or dynamic function”,不是很理解)。这里我们使用学习的方法对初始匹配代价进行融合。我们使用一个双分支的网络。

  • proposal stream:这一分支用来产生可能的匹配代价聚合结果, 我们直接在初始的匹配代价计算网络上添加匹配代价聚合网络(与其他端到端的方法不同,我们显示地定义聚合网络),是整个网络可以end-to-end训练。这一分支可以使得匹配代价计算考虑足够大的receptive filed,和足够丰富的语义信息。
    输入:(D, H, W, 1)
    输出:(D, H, W, G) G是所有可能的匹配代价聚合结果。如果只看一个维度,C(d,h,w,G)就表示在像素(h, w)处,视差为d时,聚合后的cost的可能结果有G个。

  • guidance stream:这一分支直接使用CNNs从reference图片中提出浅层的图像结构信息,这种信息可以作为全局信息来对前一分支的结果进行选择。我们使用轻量化的网络进行特征提取,因为很多工作已经证明,在深度CNNs中,浅层网络能够提取浅层的结构信息,而高层网络往往提取的是高层的语义信息。两者对于匹配代价融合都是非常重要的。前一分支负责的结果富含语义信息,而这一分支的结果则主要提供结构信息。
    输入:(H, W, nChannel)
    输出:(H, W, G) 我们沿着G维度,把guidance的结果用sofmax转换为概率,代表取当前位置(h,w) 在target图中对应的cost的概率。

最后,我们结合两个分支的结果进行匹配代价聚合结果的结算:

Cd
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值