一种基于卷积神经网络的双目立体匹配方法

文档序号:1773186 发布日期:2019-12-03 浏览:29次 >En<

阅读说明:本技术 一种基于卷积神经网络的双目立体匹配方法 (A kind of binocular solid matching process based on convolutional neural networks ) 是由 王亮 赵长双 于 2019-09-09 设计创作,主要内容包括:本发明公开了一种基于卷积神经网络的双目立体匹配方法。对于匹配代价计算,在初始特征的基础上利用稠密块整合上下文信息。对于匹配代价聚和,提出一个小型编解码结构正则化代价量。对于视差计算,在代价量的视差维度上执行一个可微分的soft argmin操作获取初始视差。对于视差细化,以残差块为主,相似性度量为辅指导细化初始视差。本发明严格遵照立体匹配算法的4个阶段,并将4个步骤整合到一个网络中,可端对端的对网络进行训练。本发明的立体匹配方法在特征提取过程中整合上下文信息有效的缓解了病态区域内像素点的误匹配,正则化过程中小型编解码结构显著减少了网络训练/推测期间的内存占用和运行时间,提高了视差预测精度。(The invention discloses a kind of binocular solid matching process based on convolutional neural networks.Matching cost is calculated, integrates contextual information using dense piece on the basis of initial characteristics.Matching cost is gathered and proposes a small-sized encoding and decoding structure regularization cost amount.For disparity computation, a differentiable soft argmin operation is executed in the parallax dimension of cost amount and obtains initial parallax.Parallax is refined, the guidance refinement initial parallax based on residual block, supplemented by similarity measurement.The present invention is strictly integrated into a network in accordance with 4 stages of Stereo Matching Algorithm, and by 4 steps, end-to-end can be trained to network.Solid matching method of the invention integrates the error hiding that contextual information effectively alleviates pixel in ill region in characteristic extraction procedure, the middle-size and small-size encoding and decoding structure of regularization process significantly reduces EMS memory occupation and runing time during network training/supposition, improves parallax precision of prediction.)

一种基于卷积神经网络的双目立体匹配方法

技术领域

本发明涉及计算机视觉的机器人导航、三维重建等领域,具体涉及一种基于卷积神经网络的双目立体匹配方法。

背景技术

从立体图像对中进行深度估计是许多立体视觉任务的核心问题,并且在很多领域上有应用,例如3D重建、无人驾驶、物体检测、机器人导航和虚拟现实、增强现实等。立体匹配的目的是估计两个矫正图像之间所有像素点的对应关系。给出一对矫正的立体图像,视差估计的目的是计算参考图像中每个像素的视差d。视差指参考图像和目标图像一对对应点之间的水平位移。对于参考图像某点像素为(x,y),如果在目标图像(x-d,y)处找到对应的像素点,那么,这个点的深度可以通过fb/d进行计算,其中f是相机的焦距,b是两个相机之间的距离。

一种典型的立体匹配算法包括4个步骤:匹配代价计算、匹配代价聚和、视差计算和视差细化。对于立体匹配的整体性能而言,每个步骤都起到至关重要的作用。由于深度卷积神经网络在各种视觉任务中都表现出强大的特征表达能力,因此,卷积神经网络已经被应用到立体匹配中去提高视差估计精度,并且显著地超过了传统的方法。Zbontar和LeCun首次引入卷积神经网络去计算两个输入图像之间像素相似性(J.Zbontar andY.LeCun.Stereo matching by training a convolutional neural network to compareimage patches.Journal of Machine Learning Research,17(1-32):2,2016)。他们认为对于匹配代价仅考虑像素的灰度差异或者人工的图像特征是不可靠的;相反,卷积神经网络可以从图像中学习更健壮、有区别度的特征来提高立体匹配代价。遵循这一思想,若干方法被提出来去提升计算效率或者匹配精度。然而,这些方法仍然有一些限制。第一,网络模型常常在遮挡区域、重复纹理和反射表面等病态区域无法准确的找到像素对应的匹配点。第二,现存的网络运行存在巨大的内存消耗并且需要强大的计算处理能力。第三,网络要求若干的后处理步骤。

发明内容

本发明主要采用深度学习的方法对输入立体图像对进行处理,以获取连续精确的视差图。首先是利用残差块和稠密块构造孪生网络并对输入立体图像对进行特征提取,然后构建代价量完成匹配代价计算。随后,利用小型的编解码结构对代价量进行代价聚和,缓解代价量的误匹配,并通过soft argmin函数回归预测初始视差图。最后利用相关层获取特征图的相似性度量,并指导细化初始视差图,以获得精确的视差估计。

为了实现上述目的,本发明提供了如下方案:

一种基于卷积神经网络的双目立体匹配方法,所述方法包括:

步骤1:数据处理;

步骤2:构建立体匹配网络;

步骤3:训练网络模型;

步骤4:利用训练完成的立体匹配网络模型进行双目立体匹配。

所述的数据处理,具体包括如下步骤:

步骤1:数据集:在没有特殊说明的情况下,所述数据集左侧图像作为参考图像,右侧图像作为对应的目标图像,参考图像和目标图像作为一组立体图像对。所有的立体图像对都经过矫正,即只在水平方向有偏移,垂直方向无偏移。

步骤2:预处理:对数据集中每个输入立体图像对进行随机裁剪,裁剪尺寸为512×256,然后对其进行归一化操作,使图像像素值范围在[-1,1]之间。

所述的构建立体匹配网络,具体包括如下模块:

模块1:初始特征提取模块

所述的初始特征提取模块是构建一个共享权重的孪生网络对输入立体图像对进行特征提取,其输入是待匹配的输入立体图像对,输出是两个一元特征。其中所述的孪生网络首先利用一个卷积核为5×5、步长为2的卷积层对输入立体图像对进行一次下采样,接下来是2个残差层进一步对输入立体图像对进行处理,其中第一个残差层包括3个残差块,第二个包括4个残差块。每个残差块结构为BN-conv-BN-ReLU-conv-BN,其中BN、conv和ReLU分别指批归一化、卷积层和修正线性单元,且卷积核均为3×3,特征维度均为32,除了第二个残差层中第一个残差块步长为2,其余步长都为1。经过上述卷积操作后,所述孪生网络的输出是两个尺寸为H/4×W/4×F的一元特征,其中H、W分别表示原始输入图像的高和宽,F表示特征维度。

模块2:相关层模块

所述的相关层模块是在孪生网络的第一个残差层输出的立体图像对之间和原始输入立体图像对之间分别执行矩形块点积操作来获取两组立体图像对的相似性,即相关层Mf和相关层Mc,其输入是立体图像对,输出是包含相似性度量的相关层。对于单通道的一元特征,其中所述的矩形块点积操作可以如下定义:

c(x1,x2)=∑o∈[-k,k]×[-k,k]<f1(x1+o),f2(x2+o)> (1)

其中f1、f2指输入的两个单通道一元特征,x1、x2分别指f1、f2一元特征上矩形块的中心,k指矩形块的大小。相关层执行的效果是让f1中的每个矩形块与f2中的每个矩形块进行比较。给出最大位移d,对于f1的每个矩形块中心x1,相关层c(x1,x2)仅在f2的每个矩形块中心x2的2d+1邻域内进行点积计算,而不是整个f2。限制相关层操作的位移可有效减少计算量。

相关层能够有效的反映两个输入立体图像对的相似性。在视差细化阶段需要两个相关层来指导视差细化操作,即:第一个残差层的立体图像对输出构成粗的(d=20)相关层Mf,原始输入立体图像对作为细的(d=10)相关层Mc

模块3:上下文信息模块

所述的上下文信息模块是构建稠密块为两个一元特征加入上下文信息,其输入是两个一元特征,输出是两个包含上下文信息的特征图。其中所述的稠密块包含6个卷积层,且卷积层之间以稠密的方式进行连接,其每次连接维度的增长率为16。此外,每个卷积层带有膨胀率,分别为1,2,4,8,16,1。在不改变输入特征维度大小的前提下可以进一步增大感受野,并以稠密连接的形式在不同尺度上聚集更多的上下文信息可有效地缓解病态区域的误匹配。最后,应用一个1x1的卷积层对特征图进行降维操作以方便构建代价量。所述的上下文信息模块输出的两个包含上下文信息的特征图维度为H/4×W/4×F,其中H、W分别表示原始输入图像的高和宽,F表示特征维度。

模块4:代价量模块

所述的代价量模块是利用两个包含上下文信息的特征图构建代价量计算匹配代价,其输入是两个包含上下文信息的特征图,输出是一个代价量。其中所述的计算匹配代价是将包含上下文信息的参考特征图与对应的包含上下文信息的目标特征图之间在每个可能视差下进行连接,并将其打包成一个4D代价量。所述的代价量模块输出的代价量维度为H/4×W/4×(D+1)/4×F,其中H、W分别表示原始输入图像的高和宽,D表示最大的可能视差值,F表示特征维度。

模块5:正则化模块

所述的正则化模块是利用一个紧凑的小型编解码结构在代价量上学习一个正则函数来进行代价聚和,其输入是代价量,输出是正则化特征图。其中所述的小型编解码结构包括编码和解码两个阶段。编码阶段包含6个3D卷积层,每个编码层次应用两个卷积核为3x3x3的卷积层,且只有首个卷积层后面跟着一个BN和ReLU。此外,第三个和第五个卷积层的步长为2,其余的步长为1。在解码阶段只应用两个3D反卷积层进行上采样,其步长为2,并在每个上采样之前从编码阶段加上对应维度的特征图以保留粗糙的高层信息和详细的低层信息。最后,利用两个3D卷积层进一步减少特征维度为1。所述的正则化模块输出的正则化特征图维度为H/4×W/4×(D+1)/4×1,其中H、W分别表示原始输入图像的高和宽,D表示最大的可能视差值。

模块6:视差计算模块

所述的视差计算模块是利用一个可微分的soft argmin操作在正则化特征图的视差维度上进行视差回归来预测平滑连续的初始视差图,其输入是正则化特征图,输出是初始特征图。其中所述的可微分的soft argmin操作定义如下:

其中d′指初始视差图,cd指正则化特征图,d指可能的视差值,Dmax指最大的视差值,σ(·)指softmax函数。初始特征图d′可以通过对每个视差d和它的概率值的乘积求和获得,而每个视差d的概率可以利用σ(·)函数计算正则化特征图cd得到。所述的视差计算模块输出的初始视差图维度为H/4×W/4×1,其中H、W分别表示原始输入图像的高和宽。

模块7:视差细化模块

所述的视差细化模块的任务是找到一个增量图在初始视差图上加或减以进一步细化视差估计,其输入是初始视差图,输出是最终视差图。在模块2中给出了两个相关层Mf、Mc的定义,此阶段利用Mf、Mc来指导视差细化操作。其中所述的视差细化操作过程如下:首先,初始视差图利用双线性插值上采样到和Mf同等大小的分辨率,并同Mf合并在一起。然后通过一个卷积核为3x3,通道为32的卷积层,其输出结果再通过带有膨胀率为1,2,4,8,1,1的6个残差块。随后,残差块的输出送入一个维度为1,卷积核为3x3的卷积层,该卷积层没有BN和ReLU,并将输出与前一个视差图进行相加。最后,应用一个ReLU确保预测的视差值为正。将Mf替代为Mc再重复一次该步骤,输出结果即为最终视差图。所述的视差细化模块输出的最终视差图维度为H×W×1,其中H、W分别表示原始输入图像的高和宽。

所述训练网络模型,具体包括如下步骤:

步骤1:将训练数据集立体图像对输入给立体匹配网络的模型进行前向传播训练,该模型的学习参数包括权重和偏置,随机初始化参数从头开始训练网络模型。

步骤2:引入平滑损失函数L1

其中,N是真实视差图像素的数量,d是真实视差图,d′是预测视差图,di是预测视差图的每个像素点,d′i是真实视差图的每个像素点,x是di-d′i。根据L1损失函数利用批量梯度下降法进行反向传播,更新模型的学习参数,包括权重和偏置。

步骤3:重复步骤1和步骤2,不断迭代训练网络模型参数,以获得最优的立体匹配网络模型。

利用训练完成的立体匹配网络模型进行双目立体匹配。

有益效果:

本发明提供一种基于卷积神经网络的双目立体匹配方法,严格遵照立体匹配算法的4个步骤,包括匹配代价计算、匹配代价聚和、视差计算和视差细化,并详细的设计每个步骤,同时将4个步骤整合到一个网络中,可端对端的对网络进行训练。本发明的立体匹配方法在特征提取过程中整合上下文信息有效地缓解了病态区域内像素点的误匹配,正则化过程中小型编解码结构显著地减少了训练/推测期间的内存占用和运行时间,并回归预测亚像素级别的视差图,同时利用相似性度量进一步细化初始视差图,提高视差预测精度。

附图说明

图1是本发明提供的基于卷积神经网络双目立体匹配方法的网络流程图;

图2是本发明提供的基于卷积神经网络双目立体匹配方法的网络结构图;

图3是本发明实施例提供的KITTI2015数据集中待匹配的参考图像和目标图像的示意图:其中图3(a)为参考图像、图3(b)为目标图像;

图4是采用发明方法得到的KITTI2015数据集中实施例立体图像对的视差图。

具体实施方式

本发明的目的是提供一种基于卷积神经网络的双目立体匹配方法,可端对端地完成网络的训练,无需任何后处理过程,以解决现有基于卷积神经网络的立体匹配方法在病态区域无法准确找到像素对应匹配点的问题,同时可显著地减少训练/推测期间的内存占用和运行时间。

下面将结合附图对本发明加以详细说明,应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。

图1是本发明提供的基于卷积神经网络的双目立体匹配方法的网络流程图。

图2是本发明提供的基于卷积神经网络的双目立体匹配方法的网络结构图。本发明提供的基于卷积神经网络的双目立体匹配方法具体包括:

步骤1:数据处理;对含有真实视差值的左右图像进行随机裁剪,裁剪尺寸为512×256,对裁剪后的图像进行归一化处理,使图像像素值的范围在[-1,1]之间。默认左侧图像为参考图像,右侧图像为目标图像,由参考图像和目标图像构成一组立体图像对。所述训练样本立体图像对为FlyingThings3D数据集,迁移样本立体图像对为KITTI2015数据集。

步骤2:构建立体匹配网络;首先,学***滑连续的初始视差图。具体的,在代价量上利用softmax操作计算每个视差的概率。预测视差可以通过对每个视差和它的概率值的乘积求和获得。在视差细化阶段,利用相似性测量来指导膨胀卷积的残差块生成视差细化的残差图。初始视差图和视差细化的残差图的和作为最终的视差图,该网络明确地修正细化初始视差图。

步骤3:训练网络模型:首先将预处理后的训练数据集FlyingThings3D立体图像对输入到立体匹配网络的模型中进行前向传播训练,该模型的学习参数包括权重和偏置。然后,将输出视差图和真实视差图输入到L1损失函数中,利用批量梯度下降法进行反向传播。最后,根据梯度多次更新迭代模型的学习参数以获得最优的立体匹配网络模型。

步骤4:迁移学习;

通过步骤3获得了立体匹配网络模型,现在通过迁移学习的方式利用迁移数据集KITTI2015立体图像对进行实际场景的测试(如果训练数据集选用实际场景的图像,则无需再进行迁移学习,训练完毕后可以直接进行双目立体匹配)。图3是本发明实施例提供的待匹配的立体图像对。其中图3(a)为参考图像,3(b)为目标图像。本实施例中,所述待匹配实施例的立体图像对是从KITTI2015数据集中提取的。参考图1和图2,本发明基于卷积神经网络的立体匹配方法,使用KITTI2015数据集中实施例的立体图像对进行迁移学习说明(所述3阶张量维度为H×W×F,4阶张量维度为H×W×D×F,H、W分别表示原始输入图像的高和宽,D表示最大的可能视差值,默认为192,F表示特征维度):

1)将KITTI2015数据集中实施例的立体图像对进行随机裁剪到512×256大小的图像块,然后对其进行归一化处理,使图像像素值范围在[-1,1]之间,完成预处理阶段后,将立体图像对输入到训练好的立体匹配网络中。

2)如图2所示,对实施例的输入立体图像对进行特征提取。首先,利用2个残差层对立体图像对进行特征特取,然后利用包含6个稠密连接卷积层的稠密块整合上下文信息,其初始特征维度为32,增长率为16。此时输出特征图维度为128×64×128。然后利用一个卷积核为1x1、特征维度为32的卷积层进行降维,以方便构建代价量。

3)将输出的立体图像对级联起来组成四阶张量构建代价量。此时输出特征图维度为128×64×48×32。该张量先经过一个包含6个3D卷积的编码过程,然后又经过两次上采样,此时输出特征图维度为128×64×48×32。随后,输入到两个3D卷积中分别进行代价正则和减少特征维度为1,此时输出特征图维度为128×64×48×1。

4)初始视差的计算。在代价量cd上利用softmax操作σ(·)计算每个视差d的概率。预测视差d′可以通过对每个视差d和它的概率值的乘积求和获得。公式如下:

利用上述操作在代价量的视差维度上进行视差回归预测平滑连续的初始视差图。此时输出特征图维度为128×64×1。

5)正如图2所示,利用两次相关层作为指导,残差层进行视差细化操作,每次将生成的残差图与前一个视差图相加得到最终的视差图。第一个视差图维度为256×128×1,第二个视差图维度为512×256×1。正好恢复到原始输入图像大小,这得益于每次细化网络都先通过一个双线性插值操作进行上采样。

6)将输出视差图和真实视差图输入到L1损失函数中,利用批量梯度下降法进行反向传播。最后,根据梯度多次更新迭代模型的学习参数,包括权重和偏置,以获得训练最优的立体匹配网络模型。

迁移学习完成后可利用训练得到的网络进行双目立体匹配。

图4采用本发明方法得到的KITTI2015数据集中实施例立体图像对的视差图。根据图4中视差预测结果可知,本发明方法有效地解决了在病态区域无法准确找到像素匹配点的问题,且没有任何后处理过程。处理整张KITTI2015数据集图像(1242×375)可达到5Hz,相比现存的立体匹配网络,在测试期间的运行速度得到显著提升。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换和替代,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:桥梁裂缝宽度高精度测量方法及测量装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!