2021_Exploiting Semantic and Boundary Information for Stereo Matching

本文介绍了一种新颖的深度学习网络,它将语义分割、边界检测与立体匹配相结合,通过注意力机制优化混合成本量,利用语义、边界和空间特征提升视差估计的准确性。网络结构包括共享特征提取模块,逐步细化视差,同时引入语义和边界信息增强细节匹配。
摘要由CSDN通过智能技术生成

1.

贡献:

1.提出了一个用于联合语义分割、边界检测和立体匹配的神经网络,其中语义和边界信息一致性成为视差估计的积极指导。

2.设计了一种使用注意力机制构建混合成本量的方法,该方法分别结合了三种不同的成本量,它们是语义成本量、边界成本量和空间特征成本量。

4.

 

4.1 Basic Network Architecture

包括语义分割、边界检测和立体匹配三个分支。 以上三个分支共享特征提取模块,减少了计算参数,从而提高了计算速度。

 

首先,立体图像对流入特征提取块,如图3所示,主要由二维卷积层和空间金字塔池化模块组成。同时,共享左右图像的特征提取块参数。

然后,将特征Fil 和Fir 馈入三个子网络。 语义特征Fisl 和Fisr 在语义分割子网中计算,边界特征Fibl 和Fibr 在边界检测子网中计算。

然后将语义特征、边界特征和空间特征输入立体匹配神经网络。 立体匹配神经网络的结构基于从粗到细的准则,分为三个阶段。在每个阶段,混合成本量由三个成本量构成,分别由空间特征Fil 和Fir 、语义特征Fisl 和Fisr 以及边界特征Fibl 和Fibr 组成。

最后利用3D CNN块学习代价量,利用视差回归层生成视差图d或残差图。 值得注意的是,在最高分辨率(eg.1/8)阶段计算完整的视差图在较低分辨率(例如1/41/2)阶段逐渐细化视差,这样可以减少内存 消耗并提高整个神经网络的速度。

4.2 StereoMatching Neural Network

部署由粗到细的残差学习机制,有利于整体训练并保持低计算时间。特征提取块、语义分割子网和边界检测子网用于提取不同分辨率的空间、语义和边界特征。然后将相同分辨率的特征输入混合匹配模块,得到混合成本量

立体匹配神经网络主要由三个阶段组成。

 第一阶段,建立完整的视差图(分辨率大小为1/8)。匹配的搜索范围是24,是1/4分辨率范围的一半。 然后在第二阶段建立视差残差图。 第二阶段的视差图是将第一阶段的视差图与第二阶段的视差残差图相加得到的(分辨率大小为1/4)。 第三阶段进一步确立为第二阶段。最后,第三阶段的视差图进行上采样操作以获得最终的预测视差。

di代表1/2i分辨率下的视差图,ri代表视差残差图,u代表双线性上采样操作,如图4所示。给定 P11 (x1, y1)、P12 (x1, y2)、P21 (x2, y1) 和 P22 (x2, y2) 的像素值为 f (P11)、f (P12)、f(P21) 和 f (P22),点Q(x,y)的像素值f(Q)计算如下:

 

在第一阶段,成本量直接由左右特征形成。 在第二和第三阶段,成本量由左 Fil合成的左特征 ˆFil 形成。将先前分辨率(如1/8或1/4)得到的视差图像通过双线性上采样操作进行上采样,然后使用视差值对正确的特征Fir(如1/4或1/2)得到合成的左特征 ^Fil(例如 1/4 或 1/2)。该过程定义为Fil (x,y) = Fir(x-u(ds+1),y)

在1/8分辨率阶段,3D CNN模块由两个卷积下采样块和两个反卷积上采样块组成,如图2所示。首先使用步长为2的3D卷积进行下采样,然后使用步长为2的3D反卷积进行上采样,然后在两个块之间添加跳跃连接以防止卷积中的信息丢失。并且 Batchnorm3d 和 Relu 之后是卷积和反卷积层以对数据进行归一化。 在 1/4 和 1/2 分辨率阶段,3D CNN 模块用于学习大小为 D×H×W×C(D 为 5,H,W,C 为长度、高度和通道数)的成本量 相应的分辨率特征)。

而大多数3D卷积立体匹配算法的成本vome是D×H×W×C,其中D为48或96。因此减少了所提出的立体匹配算法的计算量。 由于视差通道 D 的值相对较小,因此 3D CNN 模块由步长为 1 的堆叠 3D 卷积层组成,如图 2 所示。

当特征图从 1 / 4 分辨率卷积到 1/8 分辨率时,会丢失一些信息。因此,1/4和1/2分辨率的残差图可以补充1/8 和 1/4 分辨率生成的视差图中忽略的细节。

4.3 HybridMatching Module

一个由三个代价量组成的混合代价量,用于捕获语义和边界信息,从左右语义分割和边界特征中学习像素之间的相似性,如图5所示。特征代价量 Cf 由特征提取块中提取的左右特征生成,语义代价量 Cs 由左右语义特征在双线性上采样和串联预测前构造而成,边界代价量 Cb 为 由左右边界特征形成。构造三个成本量的方法定义为。

 

其中 modl 和 modr 代表左右移位函数。Fil 和Fir 是左右特征,其中i∈{1/2 , 1/4 , 1/8 } 是分辨率。  d ∈ [0,1,···,D] 是视差值,D 在 1/8 分辨率下为 24,在 1/4 和 1/2 分辨率下为 5。  Cd 是视差 d 下的成本量。

将三个成本体直接串联在一起形成混合成本体会导致计算量大,包含冗余和重复信息,因为混合成本体的大小为D×H×W×3C,其中H、W、C 是长度,高度和对应分辨率特征的通道数,D是最大视差值。为了平衡三个代价量,引入了注意力机制[59]来引导三个代价量之间的信息传递,选择性地关注特征信息,如图6所示。首先,从成本量 Cf 中生成注意力图 G 以进行选择:

 

其中 Wf 表示卷积核矩阵,σ 表示用于对注意力图进行归一化的 sigmoid 函数。  ⊗ 表示卷积。 因此大小为 D×H×W×C 的混合成本体积描述如下:

 

其中 是逐元素乘法。  Ws 和 Wb 分别代表卷积核矩阵。  C是3D CNN模块最终输入的成本量。

 

4.4 Semantic Segmantation and Boundary Detection Sub-network

为了提高速度,快速立体匹配神经网络在一定程度上忽略了图像的细节,导致在无纹理和近边界区域的精度下降。 为了提高这种准确性,使用语义信息和边界信息来辅助立体匹配神经网络的视差生成。 语义信息和边界信息可以帮助立体匹配算法更加关注边界、无纹理和小物体边界区域的像素,从而提高算法在这些区域的匹配精度。 语义分割和边界检测子网的结构设计相同。

子网络结构基于 FPN 中的金字塔结构。该模型主要由自下而上的下采样结构和自上而下的上采样结构两种路径组成。两条路径通过卷积水平连接。首先,根据图3中提到的特征提取块,对输入图像提取1/2、1/4和1/8分辨率的特征。1*1卷积层分别用于进一步降低1/2、1/4和1/8特征的维度。然后对1/8(1/4)特征进行双线性上采样,并添加到原来的1/4(1/2)特征上,得到最终的1/4(1/2)特征。 三个分辨率的特征通过3*3的卷积层进行卷积,目的是消除混叠效应,即上采样特征与原始特征重叠造成的特征不连续和失真。 不同分辨率的特征后面是双线性插值操作,将特征分辨率上采样到原始输入图像的1/2,并使用堆栈算子级联三个特征。 最后使用1*1卷积层来预测输出。

4.5 Loss Function

语义感知平滑损失指导上下文信息的学习,边界感知平滑损失指导提取与边界相关的空间信息,这也对估计连续视差图施加了有益的对象级约束。此外,我们使用参数 λ1、λ2 和 λ3 来控制三个任务之间的权重。 边界图的ground truth是二元表示,因此使用标准的二元交叉熵损失来衡量边界图的预测与ground truth标签之间的差异。语义分割损失函数是标准的交叉熵损失,作为语义分割算法的大部分。 在 KITTI 和 Cityscapes 数据库中,只有左边的图像有语义标签和边界标签。 然而语义分割和边界检测都需要预测输入的左右图像的输出。 因此,右侧的输出与左侧的预测视差值发生扭曲。 左输出和右输出都可以由左地面实况监督。对于立体匹配任务,视差回归用于为每个分辨率生成视差图。 

lossdisp 定义为:

 

超参数 α1、α2 和 α3 用于平衡三种分辨率的输出。  d1、d3、d3分别代表1/8、1/4、1/2分辨率的预测视差值。平滑的 L1 损失函数在很多回归任务中被广泛使用,可以避免梯度爆炸,更加鲁棒。 损失函数定义为:

 

其中 ˆd 指的是视差的真实情况,d 是预测图。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值