论文阅读笔记《End-to-End Disparity Estimation with Multi-granularity Fully Convolutional Network》

0. 摘要

  视差估计是机器视觉领域中一个具有挑战性的任务。在这篇论文中,我们提出一个多粒度的全卷积网络结构用于端到端的视差估计。首先,我们使用一个训练好的残差网络用于提取多粒度和多层级的特征。然后,对三个不同粒度的特征图使用correlation层,来获得左右特征图之间的分层匹配信息。第三步,我们采用级联的反卷积操作输出视差图。

1. 介绍

  生成一个准确的视差图是很有难度的,尤其是预测一个稠密的视差图。立体算法的主要任务是一个匹配问题,测量左右图对应图块之间的相似程度。从这个观点来看,这些算法主要思想是为这些图片找到更有力的特征表现。得到的特征向量可以用于计算匹配代价,然后选取左右图之间最佳匹配点。近些年来,卷积神经网络已经在多个领域有些突出的表现。利用卷积神经网络得到的特征,这些基于图块匹配的方法能够显著提高视差预测的准确性。
  除了基于图块相似性的视差计算方法,稠密视差图预测问题也可以被看作一个像素级的贴标签问题,每个像素都要分配一个真实的视差。受到全卷积网络在语义分割任务中的出彩表现的启发,一些端到端的结构用于预测视差。结合编码解码结构可以有效的将全局场景信息和局部视差预测关联起来,这进一步提高了视差预测的精确度和速度。
  通常来说,用于视差估计的FCN模型包含一个correlation模块,从左右特征图中提取匹配信息。有些方法将correlation操作部署在低层次的特征图上。我们的观点是,匹配信息不仅仅存在于低层次特征图中,也存在于高层次的特征中。不仅如此,高层次特征中的分类信息可以被用来补充低层次特征中丢失的匹配信息。例如,在城市场景中,相邻的道路和人行道,由于颜色和纹理相近很难从低层次的特征中区分开来。然而他可以很容易的从高层次的语义特征中区分出来。因此,本文从不同粒度的特征图中提取匹配信息,并将它们聚合起来。在本文的方法中,我们首先利用训练好的ResNet-50网络来获得不同粒度的分层特征。然后使用不同粒度的correlation层来得到包含多种匹配信息的特征图。最后,我们设计了一个级联的反卷积结构来聚合不同粒度的匹配信息,并得到像素级别的视差值。
  本文的主要贡献有:

  1. 我们学习去表征三个不同粒度的匹配信息
  2. 匹配信息级联起来用于增强视差计算的能力
  3. 在KITTI2012数据集上取得了靠前的名次

2.相关工作

3.模型架构

  我们的多粒度全卷积神经网络结构如图1所示。他可以分为三个子网络:多粒度特征表示,correlation层和级联的反卷积层。
论文阅读笔记《End-to-End Disparity Estimation with Multi-granularity Fully Convolutional Network》
图1.MG-FCN架构。Res Blocks表示残差网络的组成部分,其由卷积层,批规范化和ReLU层构成,蓝色方块表示特征图

3.1 多粒度特征表示

  不同于直接计算原始图片的匹配代价,本文从左右图中提取了三个粒度的分层特征。我们采用了在大规模数据集ImageNet上预训练好的ResNet-50网络。该网络被认为是最好的CNN模型之一,因为其允许网络拥有更深的层次。如图1所示,由ResNet-50构成的三个块分别输出三个不同粒度的特征M1L,M1R,M2L,M2R,M3L,M3R,这些特征图将用作correlation层的输入。

3.2 Correlation层

  三个不同粒度的correlation层,包含了对应图块之间的匹配代价,这是MG-FCN结构的关键。本文利用三个不同粒度的correlation层来获得多种匹配信息。给定一个位移值,correlation层对左右特征图MiL,MiR(i=1,2,3)做卷积运算,然后对不同通道下的结果求和来得到一个最终的匹配特征图。,MiL中中心坐标为x1的图块和,MiR中中心坐标为x2的图块之间的correlation关系定义如下:

c(x1,x2)=o[k,k]×[k,k]MiL(x1+o),MiR(x2+o)

式中:K=2k+1是图块的大小。我们设定最大的位移值为βi来限制可能图块对的搜索范围。相关性c(x1,x2)只在大小为si=βi+1的邻域内计算,这意味着只在MiR上单向搜索。最终,每个correlation层输出的特征图尺寸为si×w×h

3.3 级联的反卷积层

论文阅读笔记《End-to-End Disparity Estimation with Multi-granularity Fully Convolutional Network》
表1.级联反卷积结构的层,上标表示步长,下标表示卷积核大小
  级联的反卷积结构是在correlation层获得的包含不同粒度匹配信息的特征图的基础上,对特征进行聚合并得到视差。如图1和表1所示,在级联之前,三个残差块用于进一步编码对应的匹配特征。为了减少特征通道的数目,我们用一个1*1的卷积层来合并级联的特征图。最后,三个反卷积层和一个额外的卷积层用于生成视差图。
  最后一个卷积层输出预测的视差图。为了实现端到端的训练,需要定义一个损失函数用于计算预测视差图和真实视差图之间的误差。本文直接计算两者之间的绝对值差(L1损失函数)。相较于其他的损失函数范式,我们相信L1损失函数能够更直观的描述预测视差图与真实视差图之间的差异。

Loss(Il,Ir,D)=1NΩDiΩDdid^i1

式中:ΩD表示有真实视差值的像素的集合,N_{\Omega _D}表示有效像素的数量,Il表示左图,Ir表示右图,D表示真实视差图。

4.实验结果

4.1实现细节

  我们首先在大规模数据集ImageNet上预训练ResNet-50。其中conv1,pool1和res4a层输出的三个特征图分别用于三个粒度的correlation操作。在三个correlation层中,我们设置最大位移值分别为96,48,24。级联反卷积结构与Delving deep into rectifiers: surpassing humanlevel performance on ImageNet classification这篇文章的设置相同。同时,我们用Caffe框架实现我们的网络,采用SGD方法,动量为0.9,训练网络。为了避免过拟合,我们对权重采用L2规则化,衰退率wd=0.0001
  考虑到KITTI数据集较小,我们首先在CityScapes数据集上,以学习率lr=0.01进行初始训练,然后再KITTI数据集上,以学习率lr=0.001做优化训练。我们采用多项式学习率策略,迭代90K次。除此之外,我们随机调整图片大小,比率α[0.5,2.0],修剪尺寸为512*321。

4.2结果

论文阅读笔记《End-to-End Disparity Estimation with Multi-granularity Fully Convolutional Network》
表2 SG-FCNs和MG-FCN的测试误差,#i表示只用第 i个粒度分支
论文阅读笔记《End-to-End Disparity Estimation with Multi-granularity Fully Convolutional Network》
表3 KITTI2012数据集上最先进算法比较

5.结论

  在这篇文章中,我们提出一个MG-FCN模型用于端到端的视差预测。在这个新型的像素级视差预测方法中,首先使用训练好的ResNet-50来表征左右图中多尺度多层次的特征。然后使用三个不同粒度的correlation层来获得多种匹配信息。最后,包含匹配信息的特征图级联合并起来用于生成视差图。在未来,我们将聚焦于利用弱监督或者无监督学习来解决这样的具有挑战性的问题。同时,我们也对将上述方法压缩到实时装置中,例如自动驾驶车辆。