Pyramid Stereo Matching Network

Pyramid Stereo Matching Network

摘要

最近深度估计可以看出无监督学习任务,用卷积神经网络解决。但是都是基于块匹配的Siamese网络的结构,缺少利用环境信息取寻找不适定区域(遮挡区域,弱纹理区域等)一致性的能力。针对这个问题我们提出PSMNet(空间金字塔池化+3DCNN)。金字塔池化模块通过聚合不同尺度和不同位置的环境信息构建匹配代价卷来充分利用全局环境信息。3D CNN通过将多个堆叠的沙漏网络与中间监督结合起来,去调整匹配代价卷。2018年3月18 KITTI2012和2015第一。

 

1介绍

 

深度估计在计算机视觉有众多应用,车辆自动驾驶、3d建模、目标检测和识别。

 

典型的立体匹配流程包含基于匹配代价去寻找匹配点和后处理过程。MC-CNN用于学习如何匹配对应点。早期用cnn解决对应关系估计看成相似性度量问题。用相似性得分检测是否匹配。Cnn与传统方法比速度和精度有了提高,但在但在不适定区域(遮挡区域  重复模式 少纹理 反射表面 )很难找到对应关系。仅用强一致性约束在不适定区域找对应关系已经不行,在无纹理无效。因此,结合全局上下文信息的区域支持至关重要。

 

目前cnn主要问题是如何利用上下文信息。有些研究尝试整合语义信息来最大优化代价卷和视差图。DispLets用车辆3d模型目标信息去除立体匹配模糊。ResMatchnet学习测量视差的反射置信度来提高不适定区域表现。GCnet用编码-解码器结构合并多尺度特征调整匹配代价正则化。

 

此文 用PSMNet利用全局上下文信息。SPP空间金字塔池化和扩张卷积用来扩大感受野。用像素级别特征扩展到区域级别特征有不同尺度的感受野。把全局和局部特征结合起来做代价卷用来视察估计。堆叠沙漏cnn结合中间监督来正则化代价卷。堆叠3dcnn从上往下 从底往上重复处理代价卷来进一步利用全局上下文信息。

 

本文贡献

1 端到端框架不用任何后处理立体匹配

2 空间金字塔模型结合全局上下文信息图片特征

3 堆叠沙漏3dcnn上下文信息的区域支持在代价卷中

 

2相关工作

许多方法在深度估计来匹配代价计算和代价卷优化。

 

前沿研究聚焦精确计算匹配代价和用SGB优化代价卷。Zbontar lecun 用cnn匹配代价计算,网络学习预测块相似性。Luo提出更快网络结构吧匹配代价计算看成多标签分类。Shaked和Wolf提出高速路网络来匹配代价计算和全局视差网络来视差置信度得分,有助于进一步优化视差图。

 

许多研究聚焦视差图后处理。Displets基于物体通常表现出一个规则的结构并且不会随意变化这样一个事实。车辆3d模型用来去除匹配模糊在反射和少纹理区域。Gidaris和Komodakis(DRR)网络监测错误标签,并替换优化新标签。在视差图用DRR网络有更好表现并不需后处理。SGM-Net学习预测SGM惩罚替换正则化手动调整惩罚。

 

最近 , 端到端网络预测整个视差图不用后处理。Mayer提出端到端网络来视差估计(DispNet)和光流(FlowNet)。同时提供了大合成数据库用来网络训练。Pang拓展DispNet并加了两级网络,称为级联残差学习(CRL)。第一步第二部分别计算视差图和多尺度残差,然后两步加起来输出最后视差图。Kendall(GC net)端到端用3d卷积来代价卷正则化。利用多尺度特征估计视差。DispNet和CRL重用分层信息结合特征从低层到高层。CRL也用分层监督从多分辨率计算视差图。GC-Net用编码-解码器来正则化代价卷。结合上下文信息来减少模糊区域的错匹配来提高视差估计。

 

语义分割领域,上下文信息聚合对于目标分类标签至关重要。两个主要方法是利用全局上下文信息:编码-解码器和空间金字塔。编码-解码器从上到下 从下到上结合信息跳过连接。全连接网络(FCN)聚合由粗到细预测提高分割结果。U-net替换聚合由粗到细预测,改为聚合由粗到细特征。在医疗图像实现了很好的分割结果。更多的研究,SharpMask,RefineNet、分类优化网络,提出了更加复杂的结构来融合多尺度特征。此外,堆叠的多层编码-解码结构(沙漏结构)用于改善特征融合效果。

 

金字塔池化基于这样一个事实被踢出来:在深度神经网络中经验感受野比理论感受野更小。ParseNet表明:FCN的全局池化扩大了经验感受野在整个图像等级提取信息改善了语义分割结果。DeepLab v2提出有害空间金字塔(ASPP),多尺度特征嵌入,结合不同扩张率的平行扩张卷积。PSPNet提出金字塔池化模型来搜寻有效的多尺度上下文先验。DeepLab v3提出一种扩展为全局池化的新ASPP模块。

空间金字塔类似想法用于光流上下文,SpyNet介绍图像金字塔来估计光流从粗到细。PWCnet用特征金字塔提高了光流估计。

 

此文,利用语义分割研究和整个图像级别的全局上下文信息,提出多尺度上下文聚合,金字塔立体匹配网络用于视差估计。

 

3空间金字塔网络

SPP来有效结合全局信息 +  3dCNN堆叠沙漏模型优化代价卷。

 

残差块的结构由带有堆叠层数的方括号表示(如conv1_x就是由3个由2层卷积核为3*3的输出特征图个数为32的残差网络构成 。 x3并联)。在conv0_1和conv2_1层中采用了步长为2的下采样(池化,因此输出图像尺寸缩小了一倍)。

 

(CNN特征图计算+SPP结合多层级环境信息+ConV特征融合)

 

3.1 网络结构

与其他研究第一个卷积层7x7的大过滤器不同,3个小卷积过滤器串联起来构成一个更深的网络,可以获得相同感受野。(加深层) (VGG)conv1_x,conv2_x,conv3_x,conv4_x是基本的残差块用来学习提取一元特征。对于conv3_x,conv4_x扩大卷积(空洞卷积)被用来扩大感受野。输出特征图大小是输入图像的¼ x ¼ 。SPP然后应用来获得上下文信息。合并左右特征图成一个代价卷。送入3dcnn来优化。

 

3.2 空间金字塔池化模块(SPP)

仅从像素强度很难确定上下文关系,因此,有目标上下文信息的图像特征丰富有助于对应关系估计,特别是对于不适定区域。此文,目标(车)和子区域(车窗、轮胎)的关系在SPP模块结合上下文信息被学习。

在何凯文论文中,SPP设计用来去除CNN的固定大小约束。特征图在不同等级生成用SPP,被平整后送入全卷积层用于分类。ParseNet用全局平局池化来结合全局上下文信息。PSPNet

拓展ParseNet用全局分层先验,用不同尺度和子区域结合信息。还有,SPP模块用自适应平均池化来压缩特征到四个尺度,并紧跟一个1*1的卷积层来减少特征维度,之后低维度的特征图通过双线性插值的方法进行上采样以恢复到原始图片的尺寸。不同级别的特征图都结合成最终的SPP特征图。

我们设计了SPP的4中固定大小平均池化块:64x64  32x32  16x16  8x8。进一步操作,采用了1*1卷积和上采样。

3.3  代价卷

不止距离度量,MC-CNN  GC-Net用深度网络结合左右特征来学习匹配代价估计。我们用SPP特征来制定代价卷,结合做特征图和相应的右特征图,在每个视差等级,构成4D代价卷(高x宽x视差x特征大小)。

 

3.4  3dCNN

 

SPP模块引入特征的不同等级有利于立体匹配。为了在视差维度和空间维度聚合特征信息,我们提出2种3DCNN结构来代价卷正则化:基础和堆叠沙漏结构。基础结构用残差块简单建立,包括12个3x3x3 卷积层,然后我们通过双线性插值的上采样将匹配代价卷的尺寸恢复到HxWxD。最后,用回归计算HxW的视差图。

为了学习更多上下文信息,我们用编码-解码器(堆叠沙漏)结构,包括多个由上到下  由下到上 有中间层监督的重复过程。堆叠沙漏结果有三个主沙漏网络,每个都生成视差图。因此有三个输出和损失。训练过程中,总的损失是由三个损失值的加权求和得到的。在测试过程中,最终的视差图是由三个输出中的最后一个得到的。

 

3.5 视差回归

我们用视差回归来估计连续视差图。每个视差的概率从softmax运算符预测的代价计算得到。预测视差由每个视差加权和计得到。视差回归比分类器立体匹配方法更具有鲁棒性。

 

3.6 损失

因为视差回归,我们用平滑损失函数L1来训练PSMNet。平滑损失L1广泛应用于物体检测中的边缘箱回归,因为其对于异常点的鲁棒性和低敏感性,相比于L2。

PSMNet损失函数

4 实验

我们在三个数据集评估了我们的方法,sceneflow   kitti2015   kitti2012.

也在kitti2015进行了消融研究扩张卷积、金字塔池化不同大小、堆叠沙漏3DCNN。

 

4.1 实验细节

三个数据集实验

  1. sceneflow  大型合成数据库,包括35454 训练和4300测试 H=540 W=960。数据集提供有真实值的密集精细的视差图。许多有大视差的像素在损失计算被排除,如果视差大于我们实验的限制设置。
  2. kitti 015 现实世界数据集,驾驶车的接到视角。包括00个训练立体图片对,有用LiDARh获取的稀疏地面真实视差。另外00个没有真实视差的测试图片对。图片大小H=376,W=140.进一步把训练数据分成训练数据80%和测试数据0%
  3. KItti 2012

 

批量标准化和ReLU和ResNet相同,除了PSMNet在求和后不应用。

PSMNet用PyTorch实现。所有模型用Adam端到端训练(β1=0.9 β2=0.999)。数据预处理我们在整个数据集进行了颜色标准化。训练阶段,图片随机裁剪成H=256W=512。最大视差设置成192。用sceneflow数据库从头训练我们的模型,恒定的学习率0.001  10个时期。

对于sceneflow,训练模型直接用来测试。对于kitti,在kitti训练集微调300个时期后,用sceneflow训练模型。这个微调的学习率在前两百个时期为0.001在后100个时期为0.0001。

批量大小设置为12来训练,在4个GPU上(每个为3)。训练过程13个小时对于sceneflow 和5个小时对于Kitti.更多,我们延长训练过程1000个时期来得到最终模型,提交Kitti测试结果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值