论文阅读笔记之《Learning Deep Correspondence through Prior and Posterior Feature Constancy》
本篇博客记录一下最近看的一篇KITTI2015上排名第二的网络结构iResNet-i2e2
一 、论文贡献
在该论文中,总结了三个贡献:
- 将立体匹配的四个步骤都集成到了一个网络中,这样有效的提高了精确度和其效率;
- 将视差优化构想为使用特征稳定性来进行贝叶斯推理的过程;
- 在KITTI的基准上实现了最先进技术的表现。
二 、基础知识
a. 贝叶斯推导
贝叶斯公式是建立在条件概率的基础上寻找事件发生的原因(即大事件A已经发生的条件下,分割中的小事件Bi的概率),设B1,B2,…是样本空间Ω的一个划分,则对任一事件A(P(A)>0),有
上式即为贝叶斯公式(Bayes formula),Bi 常被视为导致试验结果A发生的”原因“,P(Bi)(i=1,2,…)表示各种原因发生的可能性大小,故称先验概率;P(Bi|A)(i=1,2…)则反映当试验产生了结果A之后,再对各种原因概率的新认识,称为后验概率。
b. 概念解释
- feature constancy 特征不变性
- 在特征空间中两个像素的对应关系
- prior disparity 先验视差
- 将初始化的视差作为贝叶斯推导中的先验
- the posterior feature constancy 后验特征不变性
- 特征空间中重建误差被看作是基于初始视差的后验特征不变性
- the prior feature constancy 先验特征不变性
- 从左、右图中提取的特征之间的相关性被视为先验特征不变
三 、 iResNet-i2e2的网络结构
1、 组成
主要分为三个部分
- 计算多尺度的共享特征;
- 执行匹配代价计算、代价聚合、和视差计算,利用共享特征估计初始化视差;
- 将初始视差、先验特征和后验特征的稳定性引入一个子网络,通过贝叶斯推到过程细化初始视差。
2、 网络架构
下图是网络框架
a. 茎块——多尺度特征提取
- 这个块的输出结果可以划分成三个类型:
a.第二个卷积层conv2a/conv2b的输出——捕捉两幅图像之间总体的、粗略的对应关系;被第一个子网络用于视差估计
b.第一个卷积层conv1a/conv1b的输出——捕捉两幅图像之间短程的、细密的对应关系;该特征充当了第二个子网络所使用的先验特征不变性
c.多尺度融合特征up_conv1a/up_conv1b——用于计算第二个子网络的后验特征不变性
b. 初始化视差估计子网络
- 子网络的输入是上一部分中的第二个卷积层conv2a/conv2b的输出;输出是视差图;中间过程是通过一个编码-解码结构完成的(这一点和FlowNet、DispNet相似)。
- 在计算匹配代价的时候,其精度和效率之间存在一个权衡关系:如果利用高层特征来计算匹配代价,会丢失很多细节,一些很相似的对应关系不能被区分;相反,如果利用低层特征来计算,因为特征图很大,所以计算成本很高,不过感受野很小,以至于捕获更鲁棒的特征。
-skip connection:利用ResNet中的短路思想,其作用是结合低层次特征(通常包含了位置信息)和高层次特征(包含语义信息),因为经过一些卷积层后,feature map里面都是一些高层的特征,丢失了一些细节,加入skip connection可以使得最终的结果加入一些细节(低层特征)。最后会发现提取的特征中包含了更多的信息,使得模型更加鲁棒。
c. 视差优化子网络
- 前面的网络的输出是初始化的视差图,但是这个视差图并布不能作为最终的输出,原因在于初始化的视差图还面临一些深度不连续以及异常值的挑战。所以需要再进一步的进行视差估计。
- 前面提到过在本论文中,将视差优化的任务当作是贝叶斯推理过程。公式为
- 将视差估计子网络产生的初始化视差放发票视差优化子网络中,会估计这个初始化视差的残差。
- 最终的视差图是=初始化视差+残差
d. 迭代优化
- 这个过程重复执行,直到相邻两次迭代之间的改进很小。值得注意的是:随着迭代次数的增加,改进减小。
3、 网络体系结构
下图是网络体系构
本博客只是对论文的初步理解,后期还会再跟进。