Efficient Deep Learning for Stereo Matching

Efficient Deep Learning for Stereo Matching

(优点是加了內积层,速度很快,

缺点无纹理和重复模式处理不好,损失少量精度)

(其使用的主要框架与MC-CNN类似,尤其是Fast 框架,直接对两个由Siamese network得到feature vectors进行inner product计算。然后对结果的预测采用多类分类的模型,类别即不同大小的disparity(MC-CNN中采用二元分类),这样可以输出结果的置信度,用来帮助判断结果是否可信。)

 

摘要:过去几年,卷积网路在立体估计展现出了很好的表现。但是,当前的结构依赖于siamese网络,利用卷积,后跟进一步处理层,需要一分钟的gpu计算每个图像对。相反,我们本文提出了匹配网络,能够产生非常精确的结果远少于一秒钟的gpu计算。为了实现目标,我们利用产品层,在siamese结构的两个表示之间。我们训练网络看成多分类问题,分类是所有可能的视差这允许我们获得校准得分,与现有方法比较获得更好的表现。

 

1介绍

3d场景重建是许多应用的关键,如机器人和自动驾驶。为了简化这一过程,3d传感器如Lidar通常使用。利用相机是一个更有吸引力的选择,这是一种更具有效代价的解决方法。但是,经过十年研究,从立体对估计深度还是一个开放性问题,由于遮挡,大饱和区域和重复模式是现有的挑战。

许多方法被踢出来,试图从局部块聚合信息。代价聚合,比如本地邻域内平均视差估计。相似,半全局匹配和马尔科夫随机场基于的方法,结合像素预测和本地平滑性成一个能量函数。但是他们的方法用代价函数是手工制作的,仅从数据中学习特征的线性组合。

过去几年,我们目睹了高层视觉的革命,从像素直接学习深度表示来解决许多场景理解任务,有出乎意料表现。这些方法最近任务如检测 分割 和分类。

更近,卷积网络用来学习如何匹配对于立体估计的任务。目前方法学习匹配网络的参数,把问题看成二分类。给定左图一个块,任务是预测右图像的块是否正确匹配。Lecun在有挑战的框架显示了良好的性能,KITTI,但计算很昂贵,在GPU需要一分钟计算。这是由于他们用siamese结构,然后连接和通过更多层进一步处理计算最终得分。

相反,此文我们提出了匹配网络,能够产生更精确的结果少于一分钟的gpu计算。为了实现这个额目标,我们利用产品层,简单计算siamese结构的两个表示的内部产品。我们训练我的网络看成多分类问题。分类是所有可能的视差。允许我们获得校准的分,导致更好的匹配效果,我们介绍了我们方法的有效性在挑战KITTI框架,用平滑技术展示了有竞争性的结果。

(给一个左图,然后网络判断右图是不是一个合适的匹配。这是一个二分类。本文将此类问题看成多分类问题,每一类都是可能的偏移。这将产生矫正得分。)

2相关工作

过去近许多算法被踢出来。所有现存方法的讨论超过此文范畴,我们将自己限制在最近学习方法的子集,利用学习和大多数可以表述为能量最小化。

早些基于学习的方法关注于正确初始化计算匹配代价。学习被用来调整能量最小化任务的超参数。首先训练这些超参数,研究了不同形式的概率图模型。

倾斜表面模型模拟具有倾斜3d表面的像素组。他们在自动驾驶非常有竞争力,关键是鲁棒性。他们有一个很长的历史,在Middleburry显示非常成功。

整体模型联合解决许多任务的方法被探索。优点是许多任务在低视觉和高视觉是相关的,因此有意与一起解决他们。比如,联合解决立体和语音分割。  研究了高层视觉任务的实用性对象识别和语义分割用于立体匹配。

估计每个块的置信度是关键,当将立体估计作为流程的一部分是。学习方法成功应用与这项任务。通过组合几个置信度度量方法通过随机森林分类器。或者通过随机森林预测纳入马尔科夫随机场。

Cnn在高层视觉中显示了卓越的性能比如图像分类,目标检测和语义分割。更近,cnn应用于低层视觉任务比如立体估计。在立体估计中利用cnn计算两个两个图像块的匹配代价。尤其,用siamese网络提取相同大小的左右图片块,在顶部用一个全连接层预测匹配代价。他们训练网络通过最小化二分类交叉熵损失。相似于,研究了基于cnn的不同的结构来比较图像块。他们发现连接左右图像块用不同的通道效果更好,代价时更慢。

 

我们有俩主要区别。第一,我们提出了学习概率分布,在所有视差值用平滑目标分布。因此我们能够隐含地捕捉不同视差的相关性。对与29相反which图像块执行独立的二分类预测。第二,卷积层的顶部,我们用简单的点产品层来连接网络的两个通道。这允许我们更快数量级的运算。

 

 

3深度学习立体匹配

我们有兴趣计算给定立体对的视差。本文我们假定图像对是修正过的,因此极线和水平图像轴是对齐的。yi∈Yi代表第i个像素相关联的视差,让丨Yi丨是集的基数(128或256)。立体算法估计3d代价卷,通过计算得分 左图像的每个像素对于每个可能的视差值。这通常通过给定像素周围的小块和每个块的简单的手工制作的表示。相反,本文我们利用卷积网络学习如何匹配。

为了实现目标,我们用siamese结构,每个分支分别处理左右图像块。尤其,每个采集图像为输入,通过一些层传递它,每个包含空间卷积,用一个小过滤器(5x5 3x3),后面接空间批量归一化和ReLU。我们移除随后层的ReLU以免丢失负值的编码信息。我们探索了每个层不同数目的过滤器,32或64,两个分支共享参数。

与现有方法(利用连接层后跟进步一步处理)相比,我们用产品层进一步简单计算两个表示之间的内部产品来计算匹配得分。这种简单操作显著加速了计算。描述如图二,4层网络 3x3过滤器  感受野大小9x9

uploading.4e448015.gif转存失败重新上传取消

 

uploading.4e448015.gif转存失败重新上传取消

 

(siamese 网络是由两个相同分支网络组成的结构,能够对两组输入数据进行相同的处理。我们采用传统的 卷积 →→ BN →→ RELU →→ pooling →→ 卷积 →→ … 卷积 →→ BN →→ Softmax 形式构建网络。卷积核为(5x5或3x3 的大小) , 一般我们每一层用32或者64个卷积核。上图是一个用了3x3卷积核的4层的网络,因此整个网络对输入数据具有一个9x9的感受野(如果用3x3的kernel,stride=1,每一次卷积都会增大感受野(如何用kernel_size和s表示),感受野长度此时+1,所以在经过四次卷积之后,网络感受野增加至9x9)

 

 

训练:我们用从像素集中随机挑选的小左图像块可用于训练网络。这种策略给我们提供了各种各样的例子和内存效率。尤其,每个左图像的大小等于我们网络感受野的大小。让(xi yi)是图像块中心坐标,从左图像随机提取,让d xi yi 是相应的地面真实视差。我们用右图像更大的块,同时扩大了感受野的大小和可能的视差(位移)。Siamese网络两个分支的输出是左分支的单个64维表示,和丨yi丨x64对于右分支。这两个向量然后作为内部产品层的输入,对于每个丨yi丨视差计算得分。这允许我们计算softmax对于每个像素在所有可能的视差。

 

(我们从以左图块为输入的siames网络得到64维的特征向量,从另一分支得到 |Yi|64的特征向量(或者说 |Yi| 个64维的特征向量,其中 |Yi|是disparity的可能值的数量。然后对每个可能的disparity,我们计算两个分支(共享参数)的输出的inner product,最后通过一个softmax计算如下损失函数)

(一个64维向量代表一个左图像一个像素点为中心的块即9x9感受野,左图像块正方形,右图像块增加了长度即可能的视差,即假设在水平方向发生的位移)

 

训练期间,我们最小化交叉熵损失关于参数网络的权重w

 

uploading.4e448015.gif转存失败重新上传取消

 

(学习概率分布,在所有视差值用平滑目标分布。因此我们能够隐含地捕捉不同视差的相关性。对与29相反which图像块执行独立的二分类预测。)

因此我们对3错误像素度量感兴趣,我们用平滑目标分布uploading.4e448015.gif转存失败重新上传取消,以地面真值uploading.4e448015.gif转存失败重新上传取消为中心。

uploading.4e448015.gif转存失败重新上传取消

本文我们设置λ1=0.5 λ2 =0.2 λ3=0.05,这会对交叉熵进行分类,uploading.4e448015.gif转存失败重新上传取消是一个delta函数,将所有的主要分布放在注释的真值配置上。

我们用SGD 反向传播 AdaGrad训练网络。相似于基于monment的SGD,AdaGrad采样基于梯度的历史信息。对比基于monment的方法,他强调罕见但信息丰富的特征。我们按照实验描述的每千次迭代调整学习率。

 

测试:对于训练过程我们组合最小块 从不同训练图像随机采样位置,我们可以在测试阶段提高速度表现。我们的siamese网络计算64维特征对于每个像素i。为了高效得到代价卷,对于每个像素i我们计算64维表示仅一次,然后在计算代价卷期间,我们对于设计该位置所有视差重用他的值。

 

4平滑深度网络输出

给定从cnn获得的一元,我们在每个图像位置对于所有视差计算预测。对于每个像素简单输出最可能的配置,与现代立体匹配算法不具有竞争性。现代立体匹配算法利用不同形式的代价聚合 后处理和平滑。这尤其终于对于解决复杂区域(遮挡 饱和 重复模式)。

 

过去十年许多MRFs被踢出来解决立体估计问题。许多方法定义每个随机变量为像素的视差,在连续或附近像素编码平滑性。另一个方法是分割图像成区域,对于每个区域估计3d倾斜表面。此文我们研究了不同平滑技术的影响。为了实现目标,我们制定立体匹配看成几个不同MRF的推理,目的是平滑我们卷积网络产生的结果。尤其关注代价聚合半全局匹配和倾斜表面方法作为平滑手段。

代价聚合:我们利用非常小的代价聚合方法,简单执行5x5平均池化

半全局匹配:半全局块匹配增强了从卷积神经网络获得的一元能量项,通过引入额外的成对潜能促进网络平滑。

uploading.4e448015.gif转存失败重新上传取消

我们定义成对能量

uploading.4e448015.gif转存失败重新上传取消

可变常数c1<c2.如果存在一个有力的证据对于边缘在对应位置在左图像或右图像,c1c2减小。

倾斜表面:为了构建深度图,这个方法执行块坐标下降在一个能量设计外观位置视差平滑度和边界能量。更具体,我们首先使用SLIC能量的拓展过度分割图像。对于每个超像素我们计算倾斜表面估计,应该遵循从卷及神经网络得到的深度图证据。我们然后迭代这两步来最小化能量函数,考虑外观 位置 视差 平滑度和能量边界。

精密后处理:三步后处理被设计来执行插值 亚像素增强 和细化。插值步骤解决冲突,在执行左右一致性检查对左右图像计算的视差图间。子像素增强拟合邻近点的二次函数来得到加强的深度图。为了平滑视差图不模糊边缘,最终细化步骤应用中值滤波器和双边滤波器。我们仅用插值步骤,我们发现其他两个并不总在我们情况下提升性能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值