EdgeStereo: A Context Integrated Residual Pyramid Network for Stereo Matching

引:本文更关注context信息简化多阶段学习提升视差细节,首先,提出一阶段网络CP-RPN来做视差估计,接着,用多任务,EdgeStereo用mid-level特征来修复视差中丢失的细节。边缘检测与视差估计将会互相促进

1.介绍

以往的方法有很多局限性:1.接受域限制。2.使用后处理导致速度很慢。

1)困难无纹理区域较难理解。

2)多阶段网络效率很低

3)计算很复杂

3 Approach

先介绍原始的CP-RPN,接着介绍端到端多任务的EdgeStereo,包括HED网络以及CP-RPN与HED之间的关系

3.1 CP-RPN

三部分:

local stereo volume extraction 提取成本向量

context pyramid 内容金字塔

2-D编解码(残差金字塔)


local stereo volume extraction 提取成本向量

就是VGG的conv1_1至conv3端,左右共享权重,在ImageNet上面预训练,随后1dcorrelation与dispnet-C类似。细节不阐述。个人觉得这个特征提取的过于长了,不知道速度如何


Context Pyramid

我们的网络内容尺度应该是多尺度的,如果是单尺度,尺度过小,则很多连续的视差将会变得不连续以及出现断层。尺度过大,那么小物体以及一些细节信息将会丢失。

再比如,如果只考虑了全局先验,视差图将会过于平滑没有一些精细的细节,比如像素层大的梯度跳跃将难以反映到视差的跳跃上。因此,我们应当结合局部先验与多尺度的文本线索。

何为接受域的尺度,就是我们利用文本的程度大小。随后,这些多尺度得到的结果是concat一起的。第一层通道数256,随后第二层就降低4倍。

三种内容金字塔context pyramid:

EdgeStereo: A Context Integrated Residual Pyramid Network for Stereo Matching

1)卷积内容金字塔convolution context pyramid:

同样kernel大小的两个卷积层 从上至下kernel size越来越小 ,比如卷积核是7,5,3,1

2)池化内容金字塔pooling context pyramid

这个变化的就是池化核比如,1×1,2×2,4×4,8×8.后面接一个1×1的卷积。再接上采样,使得输出的分辨率尺寸与local stereo volume一样。

3)Dilation context pyramid:


Encoder-Decoder(Residual Pyramid)编解码(残差金字塔)

编码很直接,四个卷积层块,每个都是两个3×3卷积,stride分别为2和1,最后的下采样因素是64。

解码与编码对应。学习最小尺度是最容易的,因为输出很小啊~所以需要的细节就很少。先学习最小的视差,再上采样,再与更大尺度上的残差map进行refine,直到最终,全部分辨率的视察映射。

EdgeStereo: A Context Integrated Residual Pyramid Network for Stereo Matching

竟然是第一个求视差disparity block,后面全部学习的是视差的残差residual blocks,以前做过实验,貌似效果不是很好。disparity block是置于bottommost来学习1/64的尺度的disparity map。其余上面层就是预测对应尺度的residual map。结构如图,没什么好说的

最后是L1Loss


3.2 EdgeStereo

边缘检测网络HED

边缘映射通常是由中间层来学习的,因此,这些中间层特征往往有益于细节的学习。HED也是基于VGG的。

CP-RPN与HED的关系

1)首先从HED中构建共享边缘特征,即aggregated edg channel feature aec。这样CP-RPN就学到了很多有意义的语义边缘信息。首先,aec可以与cost volume 以及unary feature map 一起构建新的local stereo volume。其次,在多尺度concat中,aec可以下采样以及减少通道数。最终aec是concat到aggregation A中,生成最终的视差或者残差map。

2)也可以利用HED的结果来regularize视差估计。直接把结果downsample到各个scale当中进行concat。也有助于产生最终的结果。


Multi - stage training strategy

第一步,基于边缘检测数据训练HED。VGG当中的(conv1_1到conv5_3都固定住!)

第二步,固定VGG与HED,用视差训练集来训练edgestereo。

第三步,联合训练。


4.试验

数据集

只用了flythings3d,如果样本集中有25%的部分视差值大于300的,就都去除掉。

Ablation Studies for Stereo Matching Task

Local Stereo Volume Extraction

说本文的vgg extraction tower优于dispnet-C中的(???别人就两层卷积,你当然会优秀于它啊!),生成lsv的时候concat这个unary feature进一步提升了效果,毕竟汲取到了更多的语义信息。

context pyramid

加了这个之后效果进一步提升。由表可以发现,其实任何多尺度的context先验都会提升最终的视差估计结果。

Encoder-Decoder


本文算法适合于多场景,KITTI太过单调了,所以效果不是很好。

EdgeStereo: A Context Integrated Residual Pyramid Network for Stereo MatchingEdgeStereo: A Context Integrated Residual Pyramid Network for Stereo Matching

EdgeStereo: A Context Integrated Residual Pyramid Network for Stereo Matching

网络部分

EdgeStereo: A Context Integrated Residual Pyramid Network for Stereo Matching