Efficient Deep Learning for Stereo Matching

摘:product layer计算双塔结构网络的内积。问题是多分类识别问题,类别是各种可能的偏移,可以获得矫正得分,与现在的方法相比匹配效果更好。

介:

以前,给一个左图,然后网络判断右图是不是一个合适的匹配。这是一个二分类。相反,这篇文章设计匹配网络可以产生精确的结果。为了达到这样的效果,产生一个product层来计算双塔结构的两个表示的内积。将此类问题看成多分类问题,每一类都是可能的偏移。这将产生矫正得分。将会带来更佳的匹配性能。

2.相关工作

早些年的工作大都集中在合适的计算匹配成本。学习被用在能量最小化的参数调节上。slanted模型是非常鲁棒的。具有着悠久的历史。这篇论文两个贡献:1.对所有的偏移值都有平滑目标分布来预测。因此,我们可以获得不同偏移的相关值。这限制了图像块的独立二值预测。第二,使用了点product层来连接网络的两个分支。这将使得我们更快的计算。

3.立体匹配的深度学习

根据立体图对来计算距离图像。假设图像对是矫正后的,因此核线是与水平图像的轴线相均衡。yi代表着第i个像素的偏差。|yi|就是数据集的基。立体算法估算左图上每个像素的3维成本。通过开采给定像素周边块且将每个块的人工简单表示来完成这样的操作。相反,这篇论文中,我们将会学习卷积神经网络如何匹配。

有了这样的目标,我们可以利用双峰结构,每个边分别处理左右图像。特别的是,每个分支都将一个图片作为输入,将其穿过一系列的层。每个都包含一个空间卷积。这个卷积是由5×5的滤波器构成。后面是空间块规范化层和ReLU层。注意到我们将从最后一层中移走ReLU层为了不分散负值的信息。试验中,共享参数同时多尝试每一层中的滤波器。

后续处理相比于融合法。我们使用了product层来进行计算匹配得分的两个代表的点乘。这个简单的操作极大的加快了计算效率。图2所示,4层的网络,滤波器3×3.产生了9×9的可接受域。

训练:使用随机挑选的左图块来训练网络。这个策略带来了充足且有效的训练例子。特别的是,每个左图块大小都与网络接受域的尺寸大小相符。(xi,yi)是由左图中随机提取块的中心。d是相应的真值偏差。使用了右图更大的块。块中包括可接受区域的尺寸和所有可能的偏差,双峰网络的两支路输出是代表着左分支的64维的代表。还有代表着右分支的|yi|×64。这两个向量接着作为内积层的输入对每个|yi|偏差值都计算一个得分。这使得我们对所有可能的偏差的每个像素都计算一个softmax。

训练过程中,以权重w最小化交叉熵损失网络。

测试:测试阶段为了加速,每个像素只计算一次64维的特征表示。为了有效的获得成本列。

4.平滑深度网络输出

通过CNN得到一元的数据,我们根据每个图像为止得到所有偏移的预测。注意到,对于每个像素仅输出最可能的配置并不适合于现在的立体算法,这与成本聚合,预处理和平滑化的模式不同。以闭合,饱和或者重复模块对复杂的区域进行处理是非常重要的。

这么多年来,许多MRF被提出来用来解决立体匹配问题。大多数方法都是定义每个像素的偏差值中每个随机值、然后再在周边连续像素中进行平滑。一种有效的方法是将图像分割成一个个的区域然后估算每个区域的3D倾斜程度。这篇文章中将会尝试很多有效的平滑方法。为了完成这样的目标,我们在几个不同的MRF中进行立体匹配。为了平滑我们卷积神经网络的匹配结果。特别的,我们将使用成本聚合,半球块匹配作为平滑的倾斜平面方法。接下来将会简要回顾下这些技术

成本聚合:这是一个比较简单的成本聚合方法,只是简单的以5×5大小的窗口进行简单的平均

半球块匹配:半球块匹配通过介绍额外的对特性来增大一元项的能量项。同时进行平滑偏差值。一元能量是网络输出。后面指的是4领域区域。

倾斜平面:进行深度映射,这个方法进行块降低以位置,深度,平滑度和边界能量。对于每个超级像素,计算倾斜平面估计。迭代这两个步骤最小化能量函数,考虑形状,位置,深度,平滑度还有边界能量。

诡辩的预处理:三步预处理被用在插值中,亚像素增强还有优化。插值步骤包括计算左右两图的差异。亚像素增强适合二次元方程领域点得到一个增强的深度映射网络。为了以模糊边界平滑偏移映射。最后的优化步骤采用中值滤波和双边滤波。我们只使用插值操作,不采用其他步骤。

5.实验步骤

训练之前,将每幅图片的均值归一化至0而方差至1。使用归一化分布来初始化网络的参数。




你可能感兴趣的:(Efficient Deep Learning for Stereo Matching)