Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

(2016   KITTI 2012 2015 前列)

(引入跳跃连接-λ比例系数

反射置信度

混合权重)

 

摘要:我们提出立体匹配问题三步流程,每个步骤介绍多个创新。提出新的高速路网络结构对于在每个可能视差的匹配代价计算,基于多层加权的残差捷径,混合损失训练,支持图像块的多级比较。引入新的后处理步骤,用第二个深度卷积网络来从多个视差池化全局信息,代替传统胜者为王策略,和预测的置信度。置信度分数通过训练新技术的网络实现,称为反射损失。最后,学习的置信度用于更好的检测优化步骤的异常值。所提流程在大数据集实现了现有的精度和更有竞争力的框架,学习置信度优于现有替代方案。

 

1介绍

立体匹配现代流程,在最具有挑战的基准测试中实现了最先进的结果,包括深度神经网络计算匹配得分,以及一些启发式的后处理步骤。这些处理步骤的主要目的是结合空间信息验证所提匹配的合理性和选择性的平滑和优化所得结果。

 

我们提出模型提高了深度匹配网络,通过结合或其他提高,用多级跳跃连接结构的高速网络的变体和固定为常数的门控信号。提供了对该体系结构的分析,实验结果显示了他的支持优势,在许多现有残差网络替代方案。

为了计算视差图片,第二个网络引进介绍胜者为王规则,它通常用来得到每个位置的预测视差和置信度在这个结果中作为单独输出。

视差预测的置信度测量成为大量研究的主题。更一般的,评价cnn输出的正确性也是主题。我们提出新的训练信号,称为反射损失。用这种损失的标签动态改变,基于目前每个训练样本的cnn的成功。在我们情况,在训练期间当网络对于给定样本的视差预测是正确的,目标置信标签被设置为1.否则为0.

所提置信度是流程后续优化步骤的关键部分,检测不正确视差预测,用邻近像素插值替代。

本文贡献

1提出新的高速路结构来块匹配,包括多级常数高速路收益和控制网络感受野大小的缩放层。

2网络用新的混合损失训练,更好的使用描述-决策网络结构。

3用cnn代替传统WTA策略计算视差图

4通过反射学习,介绍新的方法度量cnn输出的正确性,由于文献中的立体匹配评估置信的其他技术

5展示了置信得分更好的异常值检测和优化过程的正确性

6在KITIT2012 和KITTI2015数据集实现了最好的结果,错误率2.27 和3.43,分别提高2.43和3.89与MC-CNN基线。

7提高了最快的结构实现了最好的结果 KITTI2012 KITTI2015运行时间低于5秒的方法。

8开源代码简单实用和改进流程

 

2相关工作

3计算匹配代价

 

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

A 2个内残差块组成外残差块

B 5个残差块组成   conv+ReLU+Quter+ReLU x 5

C 决策网络   铰链损失     0.8  

点积       交叉熵损失   0.2    相似性得分

 

现代立体匹配流程的第一步是基于计算每个像素的匹配代价,对于考虑的每个视差。从两个图像开始,对于左图像的每个点p和视差d,我们计算匹配代价,左图像点p(x,y)为中心的块和右图像pd(x-d,y)为中心的块。相同3d位置为中心的块期预计的代价低,此外高。相似于以前工作,我们用卷积神经网络,训练用小图形块对,真实视差已知。

网络结构包括以下几个部分

常数高速路残差块作为内-λ-残差,包括两个卷积层,3x3过滤器,1x1填充,为了保留空间大小,ReLU非线性,跟常数高速路跳跃连接。两个这种块,跟另外常数高速路连接,组合成第二级残差块作为外-λ-残差块。在外-λ-残差块有另外卷积层,作为缩放层,3x3过滤器没有填充,跟ReLU非线性,为了增加网络的感受野。由于内-残差块保持了空间大小,缩放层仅影响感受野的大小。比如,3x3过滤器的5缩放层有11x11感受大小,不论使用多少内-外块。这些工作,我们用了描述符网络由5外块组成,由缩放层分割。

为了比较两个图像块,采样两个相同的描述网络(绑定权重),提取两个描述符向量ul和ur。训练期间,两个路径用来比较块产生匹配代价。第一个路径,记为决策子网络,是个全连接网络,连接两个表示成一个向量,通过交叉熵损失训练。第二个路径直接用铰链损失标准用于两个表示的点积。

当计算两个全大小图像的匹配代价,两个图像的描述张量,Ul  Ur,可以在描述子网络单个前向传播中计算。然后,对于每个考虑的视差d,匹配代价C(p,d)通过在决策子网络传播Ul(p)和Ur(pd)计算。这需要总共最大视差前向传播,使其成为方法运行时的主要因素。

为了在精度和速度有选择的灵活性,应用一个全决策网络,或者仅用点积基于相似性得分。所有情况下,添加项,在运行时未使用,提高了匹配网络的性能。

3.1内-外残差块

用深度网络不总是意味着更好的预测。比如,MC-CNN 5层和6层结构对于预测网络由于所提出的4层结构。我们先加深网络通过添加跳跃连接和应用残差块。但是,残差网络对于匹配是无效的。

我们经验,堆叠残差块(有或没有如下所述的恒定公路跳跃连接),导致网络收敛到有意义的解决方案有巨大困难并不提高预测质量。因此我们觉得进一步加深我们的网络通过引入跳跃连接的第二等级和采用另一个连接每两个内-残差块。另外,空间池化层跟批量标准化被丢弃。他们对于匹配网络是潜在有害的,因为他们减少了分辨率和敏感度。因此对于立体匹配任务不兼容。

我们相信添加所提框架的能力提高了数量和质量的结果,因为他们允许我们应用新的信息资源,对于传统结构是无法访问的。比如,我们的网络受益颜色的使用,文献中没有。

(skip connection 就是一种跳跃式传递。在ResNet中引入了一种叫residual network残差网络结构,其和普通的CNN的区别在于从输入源直接向输出源多连接了一条传递线,这是一种identity mapping,也就是所谓的恒等映射,用来进行残差计算。这叫是shortcut connection,也叫skip connection。其效果是为了防止网络层数增加而导致的梯度弥散问题与退化问题。)

 

3.2恒定高速路跳跃连接

为了进一步提高残差捷径的有效性,我们引入了恒定高速路跳跃连接,残差构建块的身份捷径由学习因子λ加权,制定为

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

在高速路网络,两个项fi+1(yi) and yi分别由ti+1 and 1 − ti+1加权,ti+1是yi的函数。在我们的情况,加权折叠到参数λi+1。

(λi+1就是个比例参数,替换以前的ti+1 and 1 ti+1形式)

(fi+1(yi)表示卷积核操作,yi表示参数传递,由比例系数控制大小)

 

为了进一步理解多级恒定高速路连接的效果,我们解开它。考虑到有两个内块组成的外块。输出y2的公式本质上是递归的,可以展开为

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

可以看出增加的参数λ2控制f1的流动,λ1平衡输入到f2,外参数λ0控制y0.这样,当残差网络作为可能路径上的集合插入时,学习的参数确定每个路径对集合的贡献。(λ控制贡献比例) 比如,我们观察到,他们在网络的上层采用了更小的值,以减少最短路径的影响,并使网络偏向更深的表示。

所有λ参数用1初始化,以模拟天然残差连接,然后用后向传播调整,这项不适用正则化。

(残差块连接方式,λ控制各个输入权重,输出就是各个路径的加权和)

(高层权重小,有利于减小网络偏差)

 

3.3混合损失

进一步处理两个描述网络的输出提高匹配和不匹配块的判别能力,但代价是使描述符不那么明确。因此,我们建议将两个损失结合到一起,点积Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning的铰链损失和决策网络输出v的交叉熵损失。我们考虑样本对,匹配和不匹配,相同图像位置为中心,混合损失如下

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

点积产生相似性得分,因此,当选择最快通路时,输出乘-1表示匹配代价。在整个实验中,使用铰链损失m=0.2 α=0.8的余量。

(  决策网络   铰链损失     0.8   

点积       交叉熵损失   0.2    相似性得分

 

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

4计算视差图(HxWxd 转换成HxW)

匹配代价计算形成图C(p,d)大小HxWx最大视差,每个位置的匹配代价计算,对于每个可能的视差。下一步的目标是输出视差图D(p)大小HxW,每个位置的预测视差。

许多立体匹配算法流程用几个后处理步骤,然后用胜者为王。需要后处理,因为即使使用改进的匹配网络,为了有竞争力,方法需要结合相邻像素的信息,超过了简单最大化的范围。我们开始用交叉代价聚合来组合相邻像素信息,用平均代价,对于深度不连续,继续半全局匹配实施视差图平滑约束,然后用几次代价聚合的迭代。

CBCA 和SGB对于立体匹配流程贡献了巨大的成功,他们也限制于某些错误尤其在挑战的情形,机器学习可以帮忙。情形包括遮挡和扭曲区域,高反射和稀疏纹理区域和照明变化。无法纠正汽车玻璃等反射区域的匹配。

为了克服这样的挑战,object-category 视差方法站了出来,这需要充分利用物体的先验知识以及图像语义分割,两个原因取消这个:引入了计算复杂度和特殊物体形状所带来的损失。相反,我们提议用学习标准和代替WTA方法。我们构建全局视差卷积神经网络,传播整个匹配代价图以输出每个位置的视差。

 

4.1全局视差网络

用于训练视差网络的数据集是从训练数据的匹配代价网络提取处理过的图像。对于每个左右图像对,我们在每个可能的视差计算全图像大小匹配代价,然后用CBCA和SGB。匹配网络返回独立的概率估计,在CBCA和SGM之后,值变成负值并不限于特定范围。因此,我们用than把值固定到[-1,1]。每个匹配代价块的目标值(真值)是中心像素的视差。通过这种方式采样9x9块,我们收集25(17)百万训练样本来训练KITTI视差网络。

块送入全局视差网络。两个层被看成目标层,FC3,出现向量y,对于每个视差d的得分yi,和FC5,描述了预测的置信度c。FC3的损失函数,是加权交叉熵损失,主块围绕地面真值yGT,相对于数据集的错误度量

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

p(yi, yGT )是平滑目标分布,中心围绕地面真值yGT。对于KITTI数据集,我们使用3像素错误度量,

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

与[21]的主要区别是我们允许真实yGT和损失可以相应修改。我们工作使用值1 = 0.65, 2 = 0.25, 3 = 0.1。输出视差而不是得分向量的模型也用不同的回归损失测试了发现不如我们的模型。

(两个输出层:FC3输出向量y是每个视差d的得分。FC5表示某个预测的置信度c。FC3的loss函数是带权重的cross-entropy loss 。所以这一部分输出是一个视差的得分而不是只输出视差。其实这个输出就是类似于softmax输出。)

 

4.2反射置信度

为了从视差网络得到置信度测量,我们同时训练二元分类器,包括两个全连接层通过二元交叉熵损失。这个损失的训练标签反应了得分向量y的正确性,也是分类器的输入。每个前向传播后,最大yi和地面真实视差yGT比较。如果预测是正确的,与地面真值差异少于一个像素,样本为正,否则为负。尽管KITTI数据集需要错误少于三个像素,我们发现训练置信度允许三个像素(不止1个),导致太多正集样本是不高效的。

这种损失是非传统的,因为目标值不信取决于地面真值,还取决于网络的**。据我们所知,这是文献中第一次基于标签的损失,以这种方式在训练期间动态改变。

反射损失分别有由FC3权重15:85的加权交叉熵损失组成。我们用128的小批量和动量0.9.网络训练15非epoch,从学习率0.003开始,在12个epoch后抽取它。

 

5视差优化

全局视差网络非常有助于预测视差图的质量,它仍然遭受已知的问题比如深度不连续和异常像素值预测。第三步和最后一步的目标是优化视差图和输出最终预测。我们用三步优化过程,1左右一致性检查对于异常像素检测和插值,其中我们结合了置信度得分。2亚像素增强为了增加图像分辨率3中值和双边过滤器,平滑视差图去除模糊边缘。

记CL(p)为置信度得分在位置p处 视差d,用左图像为参考图像得到的,CR(pd)为预测DR(pd)相应位置p-d处置信度得分。我们标记每个点p用这些规则

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

这意味这像素标记为正确的,如果两个预测DL(p) and DR(pd)匹配,或者他们不匹配但参考预测D(p) = DL(p)非常可信。当都不成立,像素被认为是不匹配的,如果这里存在另一个视差ˆ d,使得如果是预测,他将有匹配DR(pˆd)。如果不存在,像素被认为是遮挡。纵观我们实验,我们用T1=1最大左右预测位移,T2=0.7最小预测置信得分,T3=0.1最小最有置信区间,T4=1最大左右置信位移对于其他可能视差。

对于像素标签如果是不匹配,我们想视差值来自可信相邻像素,所以用从16个方向临近标签为正确的中值。标记为遮挡的异常值很可能来自于背景。因此,往左移动直到第一个正确像素然后用它的值插值。

 

 

残差网络

(跳跃连接好处——误差逆传播的时候只需要传播残差部分,从而解决了梯度消失问题。)

(残差网络主要是为了解决网络层数增加时而导致的信息丢失等情况,从而将输入加和到输出中来保存信息。)

 

(随着网络层级的不断增加,模型精度不断得到提升,而当网络层级增加到一定的数目以后,精度饱和,训练精度和测试精度迅速下降,这说明当网络变得很深以后,深度网络就变得更加难以训练了。这种问题称为degradation,该问题不同于梯度消失/梯度爆炸。梯度消失/梯度爆炸从一开始就阻碍网络收敛,我们通过标准初始化或者中间层归一化已经能够解决。

 

那么我们作这样一个假设:假设现有一个比较浅的网络(Shallow Net)已达到了饱和的准确率,这时在它后面再加上几个恒等映射层(Identity mapping,也即y=x,输出等于输入),这样就增加了网络的深度,并且起码误差不会增加,也即更深的网络不应该带来训练集上误差的上升。而这里提到的使用恒等映射直接将前一层输出传到后面的思想,便是著名深度残差网络ResNet的灵感来源。

ResNet引入了残差网络结构(residual network),通过这种残差网络结构,可以把网络层弄的很深(据说目前可以达到1000多层),并且最终的分类效果也非常好,残差网络的基本结构如下图所示,很明显,该图是带有跳跃结构的:

Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning

残差网络借鉴了高速网络(Highway Network)的跨层链接思想,但对其进行改进(残差项原本是带权值的,但ResNet用恒等映射代替之)。

 

假定某段神经网络的输入是x,期望输出是H(x),即H(x)是期望的复杂潜在映射,如果是要学习这样的模型,则训练难度会比较大;

 

回想前面的假设,如果已经学习到较饱和的准确率(或者当发现下层的误差变大时),那么接下来的学习目标就转变为恒等映射的学习,也就是使输入x近似于输出H(x),以保持在后面的层次中不会造成精度下降。

 

在上图的残差网络结构图中,通过“shortcut connections(捷径连接)”的方式,直接把输入x传到输出作为初始结果,输出结果为H(x)=F(x)+x,当F(x)=0时,那么H(x)=x,也就是上面所提到的恒等映射。于是,ResNet相当于将学习目标改变了,不再是学习一个完整的输出,而是目标值H(X)和x的差值,也就是所谓的残差F(x) := H(x)-x,因此,后面的训练目标就是要将残差结果逼近于0,使到随着网络加深,准确率不下降。

 

这种残差跳跃式的结构,打破了传统的神经网络n-1层的输出只能给n层作为输入的惯例,使某一层的输出可以直接跨过几层作为后面某一层的输入,其意义在于为叠加多层网络而使得整个学习模型的错误率不降反升的难题提供了新的方向。