Deep Stereo Matching with Explicit Cost Aggregation Sub-Architecture

Deep Stereo Matching with Explicit Cost Aggregation Sub-Architecture

(KITTI 2015 排名第二  第一名PSMNet)

(北京理工)

(优点  改进代价聚合  低层结构信息和高层语义信息结合)

(端到端训练网络

匹配代价计算

      A1 特征提取——ResNet

      A2 卷构建——平移

      A3 相似性度量——编码解码器

代价聚合

      B1 生成提议——产生聚合结果,高层语义信息

      B2 选择提议——评价聚合结果,低层结构信息

视差计算

       Argmin

 

摘要:深度卷神经网络显示出卓越性能在立体匹配。许多工作聚焦于匹配代价计算步骤的特征提取和相似性度量,少注意力放在代价聚合,对于立体匹配至关重要。本文我们提出了基于学习的代价聚合方法对于立体匹配,通过一个新颖的子结构用端到端的训练流程。我们制定代价聚合为一个学习过程,代价聚合的生成和选择提议(代价聚合可能的结果)。代价聚合子结构通过双流网络实现。一个生成代价聚合提议,另一个选择提议。选择的准则是从轻卷积神经网络得到的低层结构信息。双流网络提供全局视角指引来代价聚合,修正由匹配代价计算的限制视角得到的不匹配值。全面的实验(一点也不全面)在有挑战的数据集上显示我们的方法优于现有方法。

(特征提取  相似性度量  训练方式(损失函数设计  样本选择) )

 

1介绍

立体匹配是计算机视觉的基本问题。立体匹配目标是立体相机得到的图像计算视差图。视差图广泛用于3d场景重建、机器人、自动驾驶。由于大尺度数据集和计算能力发展的出现,深度神经网络对于立体匹配展现了高效性。许多现有方法提高了性能,通过学习鲁棒本地特征或相似性度量对于代价计算。但是这些方法在无纹理区域和遮挡区域还有困难,因为在代价计算有限的视野。

为了解决匹配代价计算结果的不匹配值,代价聚合对于传统立体匹配方法是必不可少的。代价聚合用于代价卷修正不正确值通过聚合计算的匹配代价。它通过在恒定视差的支持域内对匹配代价求和或均值来执行。但是传统代价聚合方法受限于浅层、手工设计框架来执行聚合。他们不能有效的考虑全局视角指引保持局部适应性。本文我们提出了基于学习的代价聚合方法保持平衡--全局视角和局部适应性,用双流神经网络。

提出的代价聚合可以合并其他立体匹配流程在端到端方式,因为他作为整个网络的子结构进行。通过基于学习的代价聚合,端到端的训练立体匹配流程,不仅只学习特征和相似性度量,还执行代价聚合。基于学习的代价聚合通过双流网络 显示的方式 执行。

代价聚合过程被制定为学习机制来生成潜在代价聚合结果—提议,然后选择最好的那个。相应,基于学习代价聚合通过双流网络实现:一个流用来生成提议,另一个用来评估提议。第一个流根据代价计算得到代价卷通过生成潜在聚合结果保持局部适应性。生成通过卷积操作沿代价卷的三个维度执行,聚合空间和深度空间信息。第二个流提高全局视角指引来代价聚合通过评估每个提议。对于每个提议,通过与相同大小图像的指引来评估,考虑全局视角指引。指引通过轻卷积网络来获得,提高低层结构信息,被看做提议的评估标准。因为结构信息仅包括2d信息,对于深度独立,指引沿深度维度是不变的。因此,对于每个提议的评估共享相同指引对于不同视差。评估每个提议后,执行胜者为王来选择最好的聚合值来形成代价聚合卷。

贡献有三

1第一次显式模型来代价聚合基于学习的框架对于立体匹配。制定代价聚合为一个学习过程,代价聚合提议的生成和选择。

2提出新颖双流网络来执行代价聚合提议的生成和选择。所提双流网络包括丰富的语义信息和低层结构信息,展现了融合高层特征和低层特征的能力。

3提出基于学习的代价聚合作为深度立体匹配流程的子结构执行,端到端方式训练。

 

 

2相关工作

深度神经网络对于代价计算

对于立体匹配任务,siamese结构(双塔 孪生)用来提取每个像素的深度表示。原始简单卷积层受限于生成丰富语义表示,所以改进的高速路网络(残差网络)来提高表示基于siamese结构。然后相似性度量用来计算相应像素的匹配代价。

 

代价聚合

通常代价聚合执行局部聚合匹配代价值在支持域内假设相同视差。

 

 

 

 

3网络结构

作为像素级的匹配任务,立体匹配需要计算每个像素的相似性,左图像和右图像d相应像素,D是最大视差。计算匹配代价可以形成代价卷C0(h w d)。立体匹配流程带有提议的代价聚合端到端训练网络。与使用网络作为黑盒比较,我们从经典立体匹配算法获得经验,来显式的通过双流网络代价聚合。我们以左图像为参考图像,右图像为目标图像,视差从参考图像计算。

匹配代价计算分为三部分:特征提取,卷构建,相似性计算。双流网络具有提议的代价聚合:提议网络和指引网络。

 

匹配代价计算

匹配代价计算被设计用来计算参考图像和目标图像相应像素间的相似性。视差图然后从代价卷得到。为了得到像素集匹配代价,我们首先生成每个像素的代价表示,用残差siamese网络。然后siamese网络输出送入特征卷构建(转换特征到特征卷),最后相似性度量用3d自动编码器用于特征卷计算匹配代价卷。

A1特征提取

为了计算两个像素的相似性,我们需要每个像素有力的表示。跟传统原始像素强度比较,深度特征表示更高效和鲁棒来减去无纹理区域和弱结构。Siamese网络提取每个像素的特征。Siamese网络包括两个共享权重的子网络,同时处理两个输入图像。每个子结构包括几个残差块,每个包括两个3x3卷积层。为了减少计算需求,我们应用5x5卷积层 2x2步长作为子采样操作在残差连接之前。对于每个残差块,在残差操作之前被激活。每个卷积层跟批量归一化和ReLU在最后一层。Siamese网络产生两个H/2 x W/2 x F的特征图,HW原始图像输入大小 F过滤器通道。两个特征图分别包括参考图像和目标图像每个像素的深度特征。

输入:(H, W,n) , (H, W, n)

输出:(H/2, W/2, F), (H/2, W/2, F)

为了节省计算资源,先对图像进行5x5 stride =2 的卷积,然后使用ResNet18进行特征提取,图像大小变为H/2, W/2, F

A2特征卷构建(转换特征到特征卷)

得到每个像素的表示,下一步是计算两个像素的相似性。因为卷输入可以高效用来3d卷积计算,我们转换特征到特征卷,包括基础像素组。特征卷的每个元素表示特征来计算两个像素的相似性。因为输入图像被修正过,我们简单应用位移操作来形成特征卷。我们设置左子机构输出为基础特征,右网络输出为位移特征。基础特征在底部等待被连接,位移特征在基础特征滑动。位移特征在基础特征滑动,沿特征通道与基础特征连接。数学定义式

B代表基础特征 S代表滑动特征 +代表连接操作。连接操作打包后我们得到4D特征卷DxH/2xW/2x2F D最大视差。

(已得特征表示,构建特征卷)

(输入:(H/2, W/2, F) , (H/2, W/2, F)

输出:(D, H/2, W/2, 2F), 其中D =最大可能视差

3D卷积高效处理volume类型的3D输入构造特征卷

以左特征图基础,然后沿着W方向移动右特征图,移动{1,最大视差}个像素,每次移动将超出的部分用于补充缺少的部分。

A3相似性计算

匹配代价被设计来计算相应像素的相似性。代价计算的关键是两个像素的相似性度量。我们得到特征卷,我们学习相似性度量

设计成转出特征卷为代价卷。代价卷的每个元素表示相似性,从特征卷的相应元素计算得到。

3D卷积网络高效的考虑上下文和几何信息,操作计算从 高 宽 视差 三个维度。但是3d卷及操作通常受计算时间和中间结构存世的负担。用自动编码器,计算负担可以被减少通过下采样和上采样操作。

我们应用4子采样单元作为编码器  4子采样单元为解码器。对于编码器每个子采样单元包括3个3d卷积层和第一个卷积层用2x2x2步长,此外,卷积输出添加相同分辨率特征图从编码器相应子采样单元的最后一个层。

因为我们用了子采样特征提取,为了达到原始图像相同分辨率,我们添加额外上采样单元用单个卷积层。最后代价计算的输出是代价卷(HWD)每个元素C(dhw)表示匹配代价,像素==参考图像像素R(hw)和目标图像像素T(h w-d)。

(已得特征卷,进行相似性度量,转出代价卷,(HWD),每个元素C(dhw)表示匹配代价)

输入:(D, H/2, W/2, 2F)

输出:(D, H, W,)

(一个编码单元包含两个普通的s=1x1x1的卷积层和一个s=2x2x2的卷积层,使得原特征图在D,H,W维度各自减半。

一个解码单元包含一个s=2x2x2的上采样卷积层,并且,每一层都使用ResNet的思想,和编码器中对应位置、相同大小的feature map 相连。

最后我们添加一个2x2的上采样层,使得输出图像恢复原图的大小(D, H, W)代价图。)

 

代价聚合(代价卷优化,低层结构信息(全局指引)+高层语义信息(局部提议))

代价聚合方法用来修正不匹配代价值,从局部特征根据全局视角指引计算得到。此外,代价聚合确平滑和连续的保高质量视差图。通过匹配代价计算,我们得到初始代价卷C0(DHW)。通常,代价聚合生成支持域在代价卷,通过静态或动态相似性函数。得到区域,聚合可以被制定为卷及操作在代价卷上,

W表示过滤器 x表示卷积操作

跟传统用手工设计相似性度量的代价聚合相比,我们提出基于学习的双流网络代价聚合。提出的卷积聚合可以直接用于原始代价卷,和深度代价计算网络结合端到端训练。相反用深度神经网络作为黑盒,我们提出显示方式利用神经网络。代价聚合被制定为代价聚合提议的选择,提议是潜在代价聚合结果。双流网络被设计:一个流生成代价聚合提议,另一个流选择最好的提议。提议流用3d卷积网络产生可能的代价聚合结果。结果包括大的感受野和语义信息,从代价计算转换得到。指引流直接用2d卷积网络从参考图像提取信息。一个轻卷积网络用来提取低层结构信息作为全局视角指引来选择。

许多工作致力于深度神经网络发现:前面几个卷积层的特征包含丰富的低层结构信息。相反。最后几个层的特征包含有力的高层语义信息。结构和语义信息对于代价聚合都是至关重要的。提议流包括语义信息,指引流包含结构信息。丰富的语义信息隐含的通过生成提议,结构信息用来作为全局指引来评估每个提议。代价聚合显式的融合两个流。

(匹配代价聚合的目的是为了修正一些错误的匹配代价值。)

(因为匹配代价是基于局部区域计算得到的,我们现在用全局的信息来进行修正。保持视差图平滑连续)

(已得初始代价卷C0(DHW)

输出聚合代价卷)

 

B1 提议子结构

提议流被设计生成可能的代价聚合结果通过在 高 宽 视差 三个维度聚合匹配代价值。聚合操作用有矩形过滤器的3d卷积网络实现。3d卷积网络包括包括前边匹配代价计算步骤的大的感受野。3个3d卷积层用来生成初始代价卷。第一次用3x1x1卷积过滤器来沿深度来聚合代价值,然后用1x3x1 和1x1x3过滤器沿高和宽维度。矩形卷积过滤器用来模拟代价值聚合过程沿不同维度。与方形过滤器比较,矩形过滤器可以运行在更多显式方式沿不同维度来聚合信息,有效减少3d卷及操作的计算负担。最后,1x1x1过滤器的卷积层用来总结潜在代价聚合结果成G潜在聚合提议,大小DxHxWxG,G表示代价聚合提议的数字。

沿一个维度操作

F表示矩形过滤器,i表示卷及方向,x表示卷及操作

输入:(D, H, W )

输出:(D, H, W, G)  G可能提议

 

B2指引流

因为提议是从最后一个层的特征计算得到,包含丰富的语义信息,但缺少低层结构信息。指引流设计来引入结构信息作为全局视角指引来选择提议。他可以提取结构信息从参考图像来评估生成的提议。我们用2d卷积网络在参考图像提取低层结构信息。卷积过滤器设置5x5到3x3,可以提取结构信息用大的感受野视角。更多,最后1x1过滤器用来总结指引成对应大小生成提议HxWxG。更多,指引用softmax方法沿G维度转出成概率值。,确保提议评估的和是1.因为假设指引对于代价聚合在不同视差是不变的,概率值计算可以被看成不同聚合提议的评估。指引G2(HWi)作为提议(DHWi)评估。

最后,提议的选择通过融合框架实现。融合用指引来评估提议,选择融合结果最好的评估来形成聚合代价卷。全局视角指引评估相应聚合结果,用矩阵乘法以广播方式。对于每个提议的评估是基于真个参考图像结构信息的,所以指引对于选择是全局视角。聚合代价卷可以通过沿G维度选择最大值得到。聚合框架

Gp是提议,Gg是指引 ,*是矩阵乘法,max是最大值函数。

(输入:(H, W, n) 左参考图像

输出:(H, W, G) 沿G维度,把指引的结果用sofmax转换为概率,代表取当前位置(h,w) 在目标图中对应代价的概率。指引G2(HWi)作为提议(DHWi)评估。)

 

(用矩阵乘法可以比较好的结合两个分支的优势,同时可以使两个分支在反向传播过程中同步优化。我们用加法来做对比:用乘法进行融合,可以使两个分支的梯度相互影响,共同优化。相反地,如果用简单地加法,就不能很好地结合两个分支提供的信息。因为这个时候相当于两个网络,梯度的调整也是相互独立的。)

 

C视差计算

 

聚合代价卷将被转换成视差,通过soft-argmin函数,保持子像素视差精确性。匹配代价值转换成概率值,通过softmax函数沿深度维度。最后视差得到通过概率值加权和,权重是相应深度值d。数学公式

σ表示softmax函数,Ca是聚合代价卷 d是视差

 

与传统WTA相比,soft argmin能够使计算视差受到所有视差代价值的影响。因此,可以得到更好的平滑性和子像素级别精度。Soft_argmin是完全可微的,确保可以反向传播训练。

训练模型赢L1错误,地面真值和预测视差。监督损失

丨丨1表示L1范式,Dg表地面真实视差图,Da表示预测视差图。

 

(将匹配代价沿着d维度,使用softmax函数映射为概率,则-C(h,w,d)可以用来来表示位置(h, w)处的视差为d的可能性。然后使用概率的加权和计算最后的视差。其中,权重就是对应位置的视差值d。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值