Stereo Matching by Training a Convolutional Neural Network to Compare Image Patches 译文

摘要

我们提出了一种从已纠正的一对图片来提取深度信息的方法。我们的方法聚焦于很多立体构建算法的第一阶段:匹配损失(match cost)计算。我们通过卷积神经网络通过对小的图像块的相似度的学习,来解决这个问题。通过构建一个二分类的数据集(相似,不相似的样本)进行有监督的训练。我们提出连个网络去实现这个任务,一个调整速度、一个调整精度。cnn的输出被用作立体匹配的成本(stereo matching cost)。接下来进行:cross-base 成本聚合、SGM、左右一致性检查,亚像素级增强、中值滤波、双边滤波。我们把该方法在KITTI2012,KITTI2015以及Middlebury stereo数据集进行评估,可以看到我们的方法比其他的方法效果好

1.简介

考虑一下问题:给定相机在不同水平位置拍摄的两幅图像,我们希望计算左侧图像中每个像素的视差d。视差是指一个物体在图像左右两个位置的水平差,例如,物体在左侧图片中的左边是(x,y),那么这个物体就会出现在右侧图片的(x-d,y)的位置。所以,已知d,我们就可以计算出该物体的深度z。

上式中f是摄像头的焦距,B是双目摄像头两个摄像头值(中心)间的距离,下图一是本文所述方法的苏如何输出。

图1:输入时双目相机拍摄的一对图片,两幅图主要的区别是两张图相同物体的水平坐标的差异(其他差异:反光、遮挡、镜头畸变等)。可见越接近于镜头的物体,视差越大,上图右侧显示的是视差密度图。暖色调区域表示视差大的区域,或者说是比较小的深度值。

 

据某某权威显示,立体匹配在自动驾驶,机器人,中间视图的生成,3D场景的重建都有重要意义。一个典型的立体算法有四个步骤:匹配成本计算、聚合成本、最优化、完善视差。本文参考Hirschmuller and Scharstein (2009)前两层的匹配成本计算,以及最后两部的立体匹配算法。本文工作的重点是计算一个良好的匹配成本。

本文尝试对一堆小的图像块进行训练。 神经网络的输出被用作初始化匹配成本。我们继续进行一些后处理步骤,这些步骤并不新颖,但却是必要的。采用基于交叉的代价聚合方法,将具有相似图像强度的相邻像素之间的匹配代价进行组合。利用半球形匹配实现平滑约束,利用左右一致性检验检测和消除遮挡区域的误差。我们应用亚像素增强、中值滤波、双边滤波获取最终的深度图。

本文的贡献:

  • 基于卷积神经网络的立体匹配代价计算方法,
  • 有效的方法以及提供了源码
  • 实验对比,我和其他方法,我和我的不通过超参数的方法

 

2.相关工作:

KITTI and Middlebury 数据集的准备,相关使用ground truth方式去学习模型参数的立体匹配算法。在这部分就是其他立体算法的概述。

XXXXX

3.匹配代价

一种典型的立体视觉算法是从计算每个位置p的匹配代价开始的。
计算匹配代价的一个简单方法是绝对差的和。

是位置p左右图像的强度 (啥意思?),Np是以p为中心的矩形框内的位置集合。

未完。。。。。。。。

 

 

 

 

 

 

 

 

 

 

posted @ 2019-03-06 17:14  dyigstraw  阅读(402)  评论(0编辑  收藏  举报
foot