《RAFT-Stereo:Multilevel Recurrent Field Transforms for Stereo Matching》论文笔记

本文是《RAFT-Stereo:Multilevel Recurrent Field Transforms for Stereo Matching》的论文笔记,介绍了如何将RAFT算法应用于立体匹配,并进行了两方面的改进:专注于X轴视差和在更新阶段使用多尺度Conv-GRU。文章详细阐述了算法流程、特征抽取、基于Conv-GRU的迭代更新模块,包括相关性金字塔构建和X维度采样,以及损失函数。实验结果显示,该方法在多个立体匹配基准测试集上表现出色。
摘要由CSDN通过智能技术生成

参考代码:RAFT-Stereo

1. 概述

导读:RAFT算法是非常经典的立体匹配算法,在光流和立体匹配任务中有着广泛的运用。而这篇文章正是基于RAFT并将其运用到了立体匹配中,并且在如下的几个方面进行改进:
1)相比原生的RAFT算法钟重点关注X轴(W方向)的视差信息,前提是输入的图像对需要事先经过极线校准;
2)在GPU的update阶段使用stride为 [ 8 , 16 , 32 ] [8,16,32] [8,16,32]的特征图进行运算,这样可以在迭代优化的同时更加增大网络感受野,从而增加对与大范围无/弱纹理区域的适应性;
通过上述两点的改进文章的立体匹配算法在现有的一些基准测试集上均取得了较为不错的结果,而且基于RAFT其泛化性能也是不错的。

文章的方法通过聚焦X维度视差,并且在update阶段采用多尺度优化的形式,极大增强了在极线对齐情况下网络的性能,文章的算法得到的效果见下图所示:
在这里插入图片描述
文章的算法在时间上的对比:
在这里插入图片描述

2. 方法设计

2.1 算法pipline

文章算法的pipeline见下图所示:
在这里插入图片描述
可以看到文章的pipeline主要由三个部分组成:左右视图特征抽取网络,使用左视图的内容特横抽取网络,基于Conv-GPU的迭代更新模块。

2.2 特征抽取模块

从图1中可以看到文章的特征抽取网络包含两个部分:

  • 1)左右视图特征抽取:这里将左右视图输入同一网络得到它们的特征,需要注意的是这里使用了Instance Norm,参考:
# core/raft_stereo.py#L39
self.fnet = BasicEncoder(output_dim=256, norm_fn='instance', downsample=args.n_downsample)
  • 2)context特征抽取:这里是对左视图进行特征抽取,这里使用的归一化为BatchNorm,参考:
# core/raft_stereo.py#L29
self.cnet = MultiBasicEncoder(output_dim=[args.hidden_dims, context_dims], norm_fn="batch", downsample=args.n_downsample)

2.3 基于Conv-GRU的迭代更新模块

2.3.1 相关性金字塔构建与X维度采样

回顾原生RAFT中是通过矩阵相乘,也就是torch.matmul()的形式实现相关性计算的,而在这篇文章中也是通过矩阵相乘的形式,只不过在后面对其中一个X维度进行归约得到,其公式为:
C i j k = ∑ h f i j h ⋅ g i k h ,   C ∈ R H ∗ W ∗ W C_{ijk}=\sum_hf_{ijh}\cdot g_{ikh},\ C\in R^{H*W*W}

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值