0. 摘要

  立体匹配算法通常由四个部分组成,包括:匹配代价计算,代价聚合,视差计算和视差优化。现有的基于CNN 的方法知识采用CNN解决了这四步中的一部分,或者使用不同的网络处理不同的步骤,使得它们很难获得整体的最优化结果。在这篇文章中,我们提出了一种网络结构将立体匹配的所有步骤结合起来。这个网络由三部分构成。第一部分计算多尺度下的共享特征(即从左右两幅图中按共享权值的方法提取特征)。第二部分执行匹配代价计算,代价聚合和视差计算步骤,利用共享特征来估算初始的视差图。初始视差图和共享特征都用于计算特征连续性——测算两幅输入图像之间一致性的准确率。初始视差图和特征连续性都输出次级网络用于优化视差图。

1. 介绍

  立体匹配是众多机器视觉任务的核心部分,传统算法通常分为四个部分。由于深度卷积神经网络具有强大的表征能力,因此CNN被用于提高立体匹配的效果。Zbontar 和 LeCun 最早将CNN应用到匹配代价计算中。然而该方法依然存在许多局限性。首先,为了计算所有可能视差的匹配代价,需要进行多次的前向运算,这导致较大的计算负担。其次,在遮挡区域的像素点不能用于训练,这意味着很难在这些区域获得可靠的视差估计。第三,需要几个后处理的步骤来优化视差。因此这些方法的表现和泛化能力就很有限,并且许多参数需要实验确定。
  除此之外,匹配代价计算,代价聚合和视差计算步骤可以整合到一个CNN网络中,直接从立体图像来估算视差。Mayer 和 Kendall 等人直接在匹配代价上堆叠卷积层,训练整个网络使得网络的输出与真实视差值之间的距离最小。这些方法实现了更高的准确性和计算效率,相比于只把CNN用于匹配代价的计算。
  如果所有的步骤都整合到一个网络中,预期能够有更好的视差预测效果。然而,将视差优化和其他三个步骤结合起来并不是一项简单的任务。现有的方法选择为视差优化增加网络。特别地,当视差计算得到后,一个或多个网络进入模型中用于结合输入空间(包括立体图像和初始视差值)和输出空间(优化后的视差)来优化视差值。
  为了跨越视差计算和视差优化之间的鸿沟,我们提出使用特征连续性来确定初始视差值的准确性,然后利用特征连续性来优化视差。这里的“连续性”借用了光流估计领域里“灰度连续性”和“梯度连续性”的概念。特征连续性表示两个像素在特征空间上的一致性。具体来说,特征连续性包括两个方面:特征相关性(feature correlation)和重构误差(reconstruction error)。从左右图中提取的特征的相关性看作是特征连续性的第一项,它计算了所有可能视差的一致性。重构误差看作是特征连续性的第二项,他通过初始差值估算出来。然后,视差优化任务的目标就是在给定的特征连续性的条件下提高初始视差值的质量,这可以通过一个小的次级网络实现。我们的方法将视差计算和视差优化无缝地整合到一个网络中,有效的提高了初始视差的准确性。
  本篇论文的贡献可以总结为如下三条:

  1. 我们将立体匹配的所有步骤整合到一个网络中提高了准确率和效率
  2. 我们利用特征连续性通过一个次级网络对视差进行了优化
  3. 我们在KITTI数据集上达到最优结果

2. 相关工作

  过去几年,CNN被用于解决立体匹配领域的许多问题。现有的基于CNN的方法可以被分为三类:

2.1 CNN用于匹配代价学习

  在这类中,CNN被用来学习匹配代价。Zbontar 和 LeCun 训练一个网络用于计算两个图块之间的匹配代价,后续跟着一系列后处理步骤,包括十字交叉的代价聚合,半全局匹配,左右一致性检测,亚像素增强,中值滤波和双边滤波。这一结构需要多次前向运算来计算所有视差可能性的匹配代价。因此,该方法的计算成本较高。Luo 等人引入了点乘层来计算两个siamese结构的表征之间的内积,把网络训练成为包含所有可能视差值的多类别分类网络来减少计算时间。Park 和 Lee 引入了像素维度上的金字塔池化概念来扩大感受野。该方法得到了更加精确的匹配代价,相比于Shaked 和 Wolf 提出的利用带有多级权重残差捷径的高速网络来深化匹配代价计算网络的方法。这说明这一结构比其他几个网络都优秀,如基于MC-CNN的传统高速网络,ResNets,DenseNet 和 ResNets of ResNets 。

2.2 CNN用于视差回归

  在这一类别中,CNN被用于直接估算视差,其可以端到端的训练。Mayer的人为视差回归提出一种编码解码结构。匹配代价计算被整合到编码部分中。视差直接在前向运算中回归得到。Kendall 等人在匹配代价上应用3D卷积来结合上下文信息并引入可微分的“soft argmin”操作来回归视差。两个方法的运算速度都很块,在单个Nvidia GTX Titan X GPU分别需要0.06s和0.9s。然而这些网络中不包含视差优化部分,这限制了它们的表现。

2.3 多次级网络

  在这一类中,不同的网络用于处理立体匹配中的四个步骤。Shaked 和 Wolf 使用高速网络来计算匹配代价,用一个额外的全局视差CNN来代替传统匹配代价聚合和视差计算中的“赢家通吃”策略。这一方法改善了几个困难情况下的表现,如遮挡区域,扭曲区域,反光表面和弱纹理区域。Gidaris 等人先计算视差值在用三个额外的神经网络用于视差优化。Seki 和 Pollefeys 使用 SGM-Nets 去学习SGM参数。它们的惩罚项比MC-CNN采用的手动设定方法更加合理。Peng 等人通过级联额外的视差优化网络来构建他们的网络。
  在我们的网络中,我们整合了所有步骤到一个网络中。结果是,所有的步骤可以共享相同的特征,并可以共同进行优化。除此之外,我们海引入了特征连续性来利用特征相关性和重构误差来提高视差优化的效果。本文方法实现的更加优化的视差预测结果明确的证明了这一点。

3. 方法

  本文提出的网络包括三个部分:多尺度共享特征提取,初始化视差估计和视差优化。网络框架如图1所示,网络结构如表1所示。

图1. 本文提出的网络框架

表1. 本文提出的网络细节结构

3.1 多尺度特征提取的主干网络

  主干部分从两幅输入的图像中提取多尺度共享特征,用于初始视差估计和视差优化。它包括两个步长为2的卷积层以降低分辨率,两个反卷积层上采样得到全分辨率的输出。上采样得到的特征图通过一个额外的1*1的卷积层进行融合。主干网络的输出分为三个类别:

  1. 第二个卷积层的输出(如由左图得到的conv2a和由右图得到的conv2b)。在conv2a和conv2b之间执行一个位移较大(如40)的相关操作(correlation)获得范围较大但纹理粗糙的两幅图像之间的相关性。他被用于第一个子网络进行初始视差估计。
  2. 第一个卷积层的输出(如conv1a和conv1b)。它们首先通过卷积核大小为3*3的卷积层被压缩到一个较小的通道中得到c_conv1a和c_conv1b,在经过位移较小(如20)的相关操作得到范围较小但纹理精细的相关性,作为先前相关层的一个补充。除此之外,这些特征作为第一个特征连续性项被应用于第二级次级网络。
  3. 多尺度融合特征(如up_1a2a和up_1b2b)。他们首先作为跳跃链接特征为第一级次级网络带来细节信息。然后被用于为第二级次级网络计算第二个特征连续性项。

3.2 初始化视差计算次级网络

  这个次级网络通过编码解码结构由“conv2a”和“conv2b”得到一幅视差图,这是受到DispNetCorr1D的启发。DispNetCorr1D只能输出一般分辨率的视差图。通过使用全分辨率的多尺度融合特征作为跳跃连接特征,我们能够估算全分辨率的初始视差图。多尺度的融合特征也被用于计算重构误差。在这个次级网络中,一个关联层首次被引入用于计算特征空间上的匹配代价。这存在一个匹配代价计算的精确性和效率之间的妥协。如果使用较高层的特征计算匹配代价,会丢失更多的细节,一些相似的对应可能无法区分开来。相反的是,如果使用较低层的特征计算匹配代价,由于特征图较大而使得计算成本较高,并且感受野较小而无法获得鲁棒性更强的特征。
  匹配代价之后与左图得到的特征级联起来。通过级联,我们期待次级网络能够在执行视察估计时考虑较低层级的语义信息。在一定程度上有助于成本聚合和改善视差估计。
  在解码部分完成多尺度的视差估计,每个尺度上都引入了跳跃连接。为了提高运算效率,多尺度融合特征至于解码部分的最后一层跳跃连接,以获得全分辨率的视差图估计。这个次级网络被称为DES-net。

3.3 视差优化次级网络

  即使初始视差估计已经很好了,但它仍受到深度不连续的点或异常值的影响。因此,需要视差优化进一步改善距离估计结果。
  在这篇论文中,我们利用特征连续性来完成视差优化。特别的,在获得初始视差图之后,我们计算了两个特征连续性项(特征相关性fcfcfc和重构误差rerere)。获得优化视差disprdisp_rdispr​的任务要考虑以下三个因素:
{dispi,fc,re}→CNNdispr\left\{disp_i,fc,re\right\}\overset{CNN}{\rightarrow}disp_r{dispi​,fc,re}→CNNdispr​
  特别的,第一个特征连续性项fcfcfc是计算左右两幅图的特征图之间的相关性(correlation)(如c_conv1a和c_conv1b)。fcfcfc表示在视差范围内所有位移情况下的两幅特征图之间的一致性。第二个特征连续性项rerere计算初始视差图的重构误差,如计算左图的融合特征图和右图经过弯曲(warp)之后的融合特征图之间的绝对值差。需要注意的是,在计算rerere时,在特征图上的每个位置只位移一次,位移的大小取决于初始视差值(如左图某点处的视差为2,则右图在做弯曲操作时,对应的像素点应右移2)如果重构误差较大,则孤寂的误差可能不正确或者是来自于遮挡区域。
  在实践中,由视差估计次级网络给出初始视差值,视差优化网络由初始视差图来计算残差值。残差值与初始视差值的和即为优化视差图。因为初始视差图和两个特征连续性项都用于生成视差图,所以视差估计结果会有所改善。这个次级网络称为DRS-net。由于立体匹配的四个步骤都被整合到一个CNN网络中,因此端到短的训练得到了保证。

3.4 迭代优化

  为从多尺度融合特征图中提取更多的信息,从根本上改善视差估计的准确性,采用了迭代优化的方法。具体地说,第二个次级网络得到的优化视差图又被作为初始视差图,重新计算特征连续性和进行视差优化以期获得更好的视差优化结果。这个过程一直重复,直至两次迭代之间效果提升已经很小了为止。值得注意的是,随着迭代次数增加,效果的提升在减弱。

4. 实验

  在这一节,我们在两个数据集上评估了我们的方法iResNet网络。我们的算法是基于CAFFE架构实现的,优化方法为Adam算法,参数β1=0.9,β2=0.999\beta_1=0.9,\beta_2=0.999β1​=0.9,β2​=0.999批尺寸batch size为2。训练过程中采用多级学习率。具体来说,在SceneFlow数据集上,初始学习率为10−410^{-4}10−4,然后在第20K次迭代,35K次迭代,50K次迭代时减小一半,训练共进行65K次迭代。训练过程会重复一个循环来进一步优化模型。对于在KITTI数据集上的优化,前20K次迭代的学习率为2×10−52\times10^{-5}2×10−5,然后在剩下的120K次迭代中减少到10−510^{-5}10−5。
  训练过程中也采取了数据扩充,包括空间和色彩变换。空间变换包括旋转,翻转,裁剪和缩放。色彩变换包括颜色,对比度和亮度变换。数据扩充有助于得到更具鲁棒性的模型以对抗光照变化和噪声问题。

4.1 消融实验

  在这一节中我们在SceneFlow数据集上设置了几个消融实验来验证我们的设计选择。我们使用终点误差(EPE)来作为评价指标,EPE 是指预测值与真实值之间的欧式距离的平均值。我们也使用了EPE超过t个像素的视差值所占比例。

4.1.1 多尺度跳跃连接

  多尺度跳跃连接用于获得不同级别的特征以改善视差估计和优化结果。为了说明他的有效性,我们用单一尺度跳跃连接代替多尺度跳跃连接,对比结果如表2所示。很明显多尺度跳跃连接要优于单一尺度跳跃连接,EPE由2.55下降到2.5。这是由于第一个卷积层数初中包含很多高频信息,它产生了很高的重构误差在物体边缘区域和颜色变化剧烈的区域。值得注意的是,在物体远离边缘的表面区域,通常初始视差估计更加精确,即使由于纹理变化造成颜色变化较大。因此,这些区域得到的重构误差是不准确的。在这种情况下,多尺度跳跃连接能够提高重构误差的可靠性。除此之外,引入高级别的特征也有助于特征连续性的计算,因为高级别特征用更宽广的感受野获得更多环境信息。

表2.单一尺度跳跃连接和多尺度跳跃连接结果对比

4.1.2 特征连续性对视差优化的影响

  为了将初始视差估计次级网络和视差优化次级网络无缝结合起来,特征连续性计算和它接下来的次级网络发挥了重要作用。为了说明他的有效性,我们先是移除了所有的特征连续性,然后重新训练网络。结果如表3所示,可以清楚的看到如果视差优化不包含特征连续性,效果提升非常小,EPE由2.81降低到2.72。

表3. 不同的次级优化网络设置条件下的结果对比
  然后我们评估了三个信息(初始视差图,特征相关性和重构误差)的重要性。结果如表3所示,可以看到重构误差发挥了最主要的作用。如果去掉重构误差,EPE由2.50提高到2.70。这是因为重构误差提供了许多有关初始视差的信息。这样一些初始视差估计效果较差的区域可以被确定,然后被对应的优化。除此之外,去掉初始视差值或特征相关性会让整个效果有轻微的下降。它们的EPE值分别由2.50上升到2.56和2.61。

4.1.3 迭代优化的影响

  迭代的特征连续性计算会进一步提高整个效果。实践中,我们并没有训练多个DRS-nets。而是,直接堆叠额外的DRS-net,权重与最初的DRS-net相同。随着迭代次数的增加,表现的提升效果迅速下降。第一次迭代,EPE由2.50下降到2.46,第二次迭代只从2.46下降到2.45。第三次迭代之后就没有明显的改善了。这可能由几个原因:1.我们的模型能够有效的使用特征连续性中提取有用的信息用于视差估计;2.特征空间中包含的信息是有限的。因此,可能要引入更多有效的特征才能提高视差优化效果。

4.1.4 特征连续性vs颜色连续性

  在这个实验中,证明特征连续性要优于颜色连续性。我们与级联残差学习方法(CRL)进行了比较,该方法计算了颜色空间上的重构误差。直觉上看,计算特征空间上的重构误差能够获得更具鲁棒性的结果,因为学习的特征对于光照变化和噪声更不敏感。除此之外,通过在第一个网络中共享特征,第二个网络可以设计的更浅,这又助于提高特征的效果,减少运行时间。对比结果如表4所示,我们的方法和CRL得到的EPE分别是1.40和1.60,不仅如此,我们的方法需要的参数更少,计算时间更短。

表4.iREsNet和CRL试验结果对比

4.2 排行结果

如表5所示

表5. KITTI2015数据集的排行结果

5. 结论

  在这篇论文中,我们提出了一个网络结构将立体匹配的四个步骤整合到一起,并一起进行训练。我们的网络先估计一个初始视差,然后使用两个特征连续性项来优化视差。精细化操作采用了特征相关性和重构误差,这使得网络达到最优化。试验结果表明,我们的方法在KITTI2012和KITTI2015数据集上达到最佳效果。不仅如此,我们的方法也具有较高的计算效率。
原文链接:https://arxiv.org/pdf/1712.01039.pdf
代码链接:未开源

论文阅读笔记《Learning for Disparity Estimation through Feature Constancy》相关推荐

  1. 《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs》论文阅读笔记

    <Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs>论文阅读笔记 主要挑战贡献: KG上的推理挑战主要 ...

  2. 论文阅读 | NIPS‘20 | Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs

    很有意思的一篇paper.在众多Knowledge Graph Embedding (KGE) 的论文中通过问题设计和有意思的解决方式脱颖而出. 首先来看看问题设计. 一般的KGE model都是利用 ...

  3. Beta Distribution Guided Aspect-aware Graph for Aspect Category Sentiment Analysis论文阅读笔记(EMNLP2021)

    目录 标题翻译:基于Beta分布引导方面感知图的方面类别情感分析 原文链接:https://aclanthology.org/2021.emnlp-main.19.pdf 摘要: 1 引言 2 相关工 ...

  4. Phrase-BERT: Improved Phrase Embeddings from BERT with an Application to Corpus Exploration论文阅读笔记

    问题: 因为bert是在长文本(512token长度)预训练的,因此,如果没有特定于任务的微调,BERT在短语和句子上的表现通常比简单基线(如GLoVe的平均池化)更差.且字节2020在EMNLP上的 ...

  5. DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记

    DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记 Article Background ...

  6. [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings

    [论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 购物返利 www.cpa5.cn 本文结构 解 ...

  7. 论文阅读笔记—Reasoning on Knowledge Graphs with Debate Dynamics(AAAI,2020)

    这是一篇非常有趣的工作,看完会觉得眼前一亮. 论文标题:Reasoning on Knowledge Graphs with Debate Dynamics 发表于AAAI,2020 动机  很多机器 ...

  8. 论文阅读笔记——《a simple but tough-to-beat baseline for sentence embeddings》

    <a simple but tough-to-beat baseline for sentence embeddings>published at ICLR 2017. ICLR会议的论文 ...

  9. Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction论文阅读笔记

    我的博客链接 0. 前言 1. 作者试图解决什么问题? 作者想在KGE中对语义层级(semantic hierarchies)进行建模. 2. 这篇论文的关键元素是什么? semantic hiera ...

  10. 斯坦福图机器学习CS224W笔记自用: Reasoning in Knowledge Graphs using Embeddings

    1. 基于嵌入的知识图推理 目标:如何对知识图进行多跳推理? 知识图推理: 回答多跳查询 路径查询 连接查询 Query2box 示例:生物医学图 知识图谱上的预测查询 我们是否可以进行多跳推理,即在 ...

最新文章

  1. PyTorch 笔记(10)— Tensor 与 NumPy 相互转换、两种共享内存以及两者的广播法则
  2. oracle之alter学习笔记
  3. python编写统计选票的程序_使用python编写微信公众号发稿统计程序
  4. wxPython做界面的适用性
  5. 计算机维修法宝,计算机的三大法宝
  6. 广播路由算法: 如何优雅地传递悄悄话?
  7. jQuery中文文档
  8. 简单好用的照片恢复软件推荐
  9. 7. Simple Product
  10. 凸优化第二章凸集 2.3 保凸运算
  11. 一个比CAM350好用的看GERBER软件
  12. VB .NET-文本文件读写
  13. 计算机语言栏不能添加,电脑电脑输入法添加不了怎么办
  14. android 国际区号注册手机号编码 以及常用城市列表
  15. 关于word2016保存失败
  16. 基于PHP的人才招聘网站设计
  17. 微软技术交流群 303295519
  18. for in 用法
  19. 【python】Matplotlib作图常用marker类型、线型和颜色
  20. win7卡在正在启动windows界面_一键还原怎么用董哥教你win7一键还原怎么用

热门文章

  1. iOS使用第三方AppleID账号
  2. Django讲课笔记02:Django环境搭建
  3. Python创意编程100例turtle篇题目串烧
  4. 读书笔记---阶级逆袭——三代人的卵巢彩票
  5. 每日新闻丨​百度地图发布语音定制功能​;Windows 10高CPU使用率问题已解
  6. 【音频特征】语音特征小结
  7. [HNOI2008]玩具装箱(1D/1D动态规划)
  8. 解决idea控制台中文乱码问题
  9. SQL语句和sql函数
  10. 班章管家有20万想去理财,买什么理财产品靠谱一点?