一种图像视差估计方法及装置、存储介质与流程

文档序号:16584792发布日期:2019-01-14 18:18阅读:228来源:国知局
一种图像视差估计方法及装置、存储介质与流程

本申请涉及计算机视觉技术领域,具体涉及一种图像视差估计方法及装置、存储介质。



背景技术:

视差估计是计算机视觉的基础研究问题,在诸多领域中有着深入的应用,例如深度预测、场景理解等等。大多数方法会将视差估计任务作为一个匹配问题,从这个角度出发,这些方法设计稳定可靠的特征来表示图像块,并从立体图像中寻找近似的图像块作为匹配,进而计算视差值。如何得到较为准确预测视差图是本领域的研究热点。



技术实现要素:

本申请提供一种图像视差估计的技术方案。

第一方面,本申请实施例提供了一种图像视差估计方法,所述方法包括:

获取目标场景的第一视角图像和第二视角图像;

对所述第一视角图像进行特征提取处理,得到第一视角特征信息;

对所述第一视角图像进行语义分割处理,得到第一视角语义分割信息;

基于所述第一视角特征信息、所述第一视角语义分割信息以及所述第一视角图像和所述第二视角图像的关联信息,得到所述第一视角图像和所述第二视角图像的视差预测信息。

上述方案中,可选地,所述方法还包括:

对所述第二视角图像进行特征提取处理,得到第二视角特征信息;

基于第一视角特征信息与第二视角特征信息,得到所述第一视角图像和所述第二视角图像的关联信息。

上述方案中,可选地,所述基于所述第一视角特征信息、所述第一视角语义分割信息以及所述第一视角图像和所述第二视角图像的关联信息,得到所述第一视角图像和所述第二视角图像的视差预测信息,包括:

对所述第一视角特征信息、所述第一视角语义分割信息以及所述关联信息进行混合处理,得到混合特征信息;

基于所述混合特征信息,得到视差预测信息。

上述方案中,可选地,所述图像视差估计方法通过视差估计神经网络实现,所述方法还包括:

基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络。

上述方案中,可选地,所述基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络,包括:

对所述第二视角图像进行语义分割处理,得到第二视角语义分割信息;

基于所述第二视角语义分割信息和所述视差预测信息,得到第一视角重建语义信息;

基于所述第一视角重建语义信息和所述第一视角语义分割信息,调整所述视差估计神经网络的网络参数。

上述方案中,可选地,所述基于所述第一视角重建语义信息和所述第一视角语义分割信息,调整所述视差估计神经网络的网络参数,包括:

基于所述第一视角重建语义信息和所述第一视角语义分割信息二者之间的差异,确定语义损失函数值;

结合所述语义损失函数值,调整所述视差估计神经网络的网络参数。

上述方案中,可选地,所述基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络,包括:

基于所述视差预测信息和所述第二视角图像,得到第一视角重建图像;

根据所述第一视角重建图像与所述第一视角图像二者之间的光度差,确定光度损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述光度损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

上述方案中,可选地,所述图像视差估计方法通过视差估计神经网络实现,所述第一视角图像和所述第二视角图像对应于标注视差信息,所述方法还包括:

基于所述视差预测信息和所述标注视差信息,训练所述视差估计神经网络。

上述方案中,可选地,所述基于所述视差预测信息和标注视差信息,训练所述视差估计神经网络,包括:

基于所述视差预测信息与标注视差信息,确定视差回归损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述视差回归损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

第二方面,本申请实施例提供了一种图像视差估计装置,所述装置包括:

图像获取模块,用于获取目标场景的第一视角图像和第二视角图像;

初级特征提取模块,用于对所述第一视角图像进行特征提取处理,得到第一视角特征信息;

语义特征提取模块,用于对所述第一视角图像进行语义分割处理,得到第一视角语义分割信息;

视差回归模块,用于基于所述第一视角特征信息、所述第一视角语义分割信息以及所述第一视角图像和所述第二视角图像的关联信息,得到所述第一视角图像和所述第二视角图像的视差预测信息。

上述方案中,可选地,所述初级特征提取模块,还用于对所述第二视角图像进行特征提取处理,得到第二视角特征信息;

所述装置还包括:

关联特征提取模块,用于:

基于第一视角特征信息与第二视角特征信息,得到所述第一视角图像和所述第二视角图像的关联信息。

上述方案中,可选地,所述视差回归模块,还用于:

对所述第一视角特征信息、所述第一视角语义分割信息以及所述关联信息进行混合处理,得到混合特征信息;

基于所述混合特征信息,得到视差预测信息。

上述方案中,可选地,所述装置还包括:

第一网络训练模块,用于基于所述视差预测信息,通过无监督方式训练用于实现图像视差估计方法的视差估计神经网络。

上述方案中,可选地,所述第一网络训练模块,还用于:

对所述第二视角图像进行语义分割处理,得到第二视角语义分割信息;

基于所述第二视角语义分割信息和所述视差预测信息,得到第一视角重建语义信息;

基于所述第一视角重建语义信息和所述第一视角语义分割信息,调整所述视差估计神经网络的网络参数。

上述方案中,可选地,所述第一网络训练模块,还用于:

基于所述第一视角重建语义信息和所述第一视角语义分割信息二者之间的差异,确定语义损失函数值;

结合所述语义损失函数值,调整所述视差估计神经网络的网络参数。

上述方案中,可选地,所述第一网络训练模块,还用于:

基于所述视差预测信息和所述第二视角图像,得到第一视角重建图像;

根据所述第一视角重建图像与所述第一视角图像二者之间的光度差,确定光度损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述光度损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

上述方案中,可选地,所述装置还包括:

第二网络训练模块,用于基于所述视差预测信息和标注视差信息,训练用于实现图像视差估计方法的视差估计神经网络;所述图像视差估计方法通过视差估计神经网络实现,所述第一视角图像和所述第二视角图像对应于标注视差信息。

上述方案中,可选地,所述第二网络训练模块,还用于:

基于所述视差预测信息与标注视差信息,确定视差回归损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述视差回归损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

第三方面,本申请实施例提供了一种图像视差估计装置,所述装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的图像视差估计方法的步骤。

第四方面,本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请实施例所述的图像视差估计方法的步骤。

本申请提供的技术方案,获取目标场景的第一视角图像和第二视角图像;对所述第一视角图像进行特征提取处理,得到第一视角特征信息;对所述第一视角图像进行语义分割处理,得到第一视角语义分割信息;基于所述第一视角特征信息、所述第一视角语义分割信息以及所述第一视角图像和所述第二视角图像的关联信息,得到所述第一视角图像和所述第二视角图像的视差预测信息;能提高视差预测的准确率。

附图说明

图1为本申请实施例提供的一种图像视差估计方法的实现流程示意图;

图2为本申请实施例提供的视差估计系统架构示意图;

图3为本申请实施例提供的kittistereo数据集上采用现有预测方法与本申请预测方法的效果对比图;

图4为本申请实施例提供的在kittistereo测试集上有监督的定性结果,其中,图4(a)为kitti2012测试数据定性结果,图4(b)为kitti2015测试数据定性结果;

图5为本申请实施例提供的cityscapes验证集上的无监督定性结果;

图6为本申请实施例提供的一种图像视差估计装置的组成结构示意图。

具体实施方式

为了更好的解释本申请,下面,先介绍一些现有技术中的视差估计方法。

视差估计是计算机视觉中的基本问题。它具有广泛的应用,包括深度预测、场景理解和自主驾驶。主要过程是从立体左右图像中找出匹配的像素,匹配像素间的距离即为视差。之前的大多数方法主要依靠设计可靠的特征来表示图像块,然后在图像上选择匹配的图像块,进而计算视差。这些方法中,大部分采用有监督的学习方式来训练网络预测视差,也有少部分方法尝试使用无监督方法进行训练。

最近,随着深度神经网络的发展,视差估计的性能大大提高。得益于深度神经网络在表示图像特征的鲁棒性,视差预测方法可以实现更加准确可靠的匹配图像块的搜索与定位。

尽管给定了特定的局部搜索范围,且深度学习方法本身具有较大的感受野,现有方法仍然难以克服局部歧义问题,这主要来自于图像中的无纹理区域。例如,道路和车辆中心以及强光、阴影区域的视差预测往往是不正确的,这主要是因为这些区域缺乏足够的纹理信息,定义的光度一致性损失函数不足以帮助网络寻求正确的匹配位置,而这个问题在有监督学习和无监督学习中都会遇到。

基于此,本申请提出了一种利用语义信息的图像视差估计的技术方案。

下面结合附图和具体实施例对本申请的技术方案进一步详细阐述。

本申请实施例提供一种图像视差估计方法,如图1所示,所述方法主要包括:

步骤101、获取目标场景的第一视角图像和第二视角图像。

这里,所述第一视角图像和所述第二视角图像是由双目视觉系统中的两个摄像机或两个相机在同一时刻所采集到的关于同一时空场景图像。

例如,所述第一视角图像可以是所述两个摄像机中的第一摄像机采集的图像,所述第二视角图像可以是所述两个摄像机中的第二摄像机采集的图像。

第一视角图像和第二视角图像表示针对同一场景在不同视角采集到的图像。在一些实现方式中,第一视角图像和第二视角图像可以为左视角图像和右视角图像。具体地,所述第一视角图像可以是左视角图像或右视角图像,对应的,所述第二视角图像可以是右视角图像或左视角图像,但本申请实施例对第一视角图像和第二视角图像的具体实现不作限定。

这里,所述场景包括辅助驾驶场景、机器人跟踪场景、机器人定位场景等。

步骤102、对所述第一视角图像进行特征提取处理,得到第一视角特征信息。

在一些实现方式中,步骤102可以利用卷积神经网络来实现。例如,所述第一视角图像可以输入到视差估计神经网络中进行处理,为了便于描述,下文中将该视差估计神经网络命名为segstereo网络。

作为一个例子,第一视角图像可以作为视差估计神经网络中的用于进行特征提取处理的第一子网络的输入。具体地,向所述第一子网络输入第一视角图像,经过多层卷积运算或者在卷积处理的基础上进一步地经过其他处理之后得到第一视角特征信息。

这里,在一些可选实现方式中,所述第一视角特征信息为第一视角初级特征图,或者,第一视角特征信息和第二视角特征信息可以为三维张量,并且包含至少一个矩阵,本公开实施例对第一视角特征信息的具体实现不做限定。

在一些实现方式中,利用视差估计神经网络的特征提取网络分支或卷积子网络提取第一视角图像的特征信息或初级特征图。

步骤103、对所述第一视角图像进行语义分割处理,得到第一视角语义分割信息。

在一些实现方式中,segstereo网络至少包括2个子网络,分别记为第一子网络和第二子网络;所述第一子网络可以是特征提取网络,所述第二子网络可以是语义分割网络。所述特征提取网络分支能够得到视角特征图,所述语义分割网络分支能够得到语义特征图。示例性地,第一子网络可以利用resnet-50的至少一部分实现,第二子网络的至少一部分可以利用pspnet-50实现,但本申请实施例对segstereo网络的具体实现不作限定。

在一些可选的实现方式中,可以将第一视角图像输入到语义分割网络中进行语义分割处理,得到第一视角语义分割信息。

在一些可选的实施方式中,可以将第一视角特征信息输入到语义分割网络中进行处理,得到第一视角语义分割信息。相应地,对所述第一视角图像进行语义分割处理,得到第一视角语义分割信息,包括:

基于第一视角特征信息,得到第一视角语义分割信息。

可选地,第一视角语义分割信息可以为三维张量或者第一视角语义特征图,本公开实施例对第一视角语义分割信息的具体实现不作限定。

作为一个例子,第一视角初级特征图可以作为视差估计神经网络中的用于进行语义信息提取处理的第二子网络的输入。具体地,向第二子网络输入第一视角特征信息或第一视角初级特征图,经过多层卷积运算或者在卷积处理的基础上进一步地经过其他处理之后得到第一视角语义分割信息。

步骤104、基于所述第一视角特征信息、所述第一视角语义分割信息以及所述第一视角图像和所述第二视角图像的关联信息,得到所述第一视角图像和所述第二视角图像的视差预测信息。

在一些可选的实现方式中,可以对第一视角图像和第二视角图像进行关联处理,得到第一视角图像和第二视角图像的关联信息。

在一些可选的实施方式中,基于第一视角特征信息与第二视角特征信息,得到所述第一视角图像和所述第二视角图像的关联信息;

其中,所述第二视角特征信息是经对所述第二视角图像进行特征提取处理得到的。

作为一个例子,第二视角图像可以作为视差估计神经网络中的用于进行特征提取处理的第一子网络的输入。具体地,向所述第一子网络输入第二视角图像,经过多层卷积运算之后得到第二视角特征信息。

具体地,基于所述第一视角特征信息与所述第二视角特征信息进行关联计算,得到所述第一视角图像和所述第二视角图像的关联信息。

作为一种实施方式,基于所述第一视角特征信息与所述第二视角特征信息进行关联计算,包括:

可选地,对所述第一视角特征信息与所述第二视角特征信息中可能匹配的图像块进行关联计算,得到关联信息。

也就是说,利用第一视角特征信息与第二视角特征信息做相关(correlation)计算,得到关联特征信息,关联特征信息主要用于匹配特征的提取。

作为一个例子,第一视角初级特征图和第二视角初级特征图可以作为视差估计神经网络中的用于关联运算的关联运算模块的输入。具体地,向所述关联运算模块输入第一视角初级特征图和第二视角初级特征图,经过关联运算之后得到所述第一视角图像和所述第二视角图像的关联信息。

在一些可选的实施方式中,所述基于所述第一视角特征信息、所述第一视角语义分割信息以及所述第一视角图像和所述第二视角图像的关联信息,得到所述第一视角图像和所述第二视角图像的视差预测信息,包括:

对所述第一视角特征信息、所述第一视角语义分割信息以及所述关联信息进行混合处理,得到混合特征信息;

基于所述混合特征信息,得到视差预测信息。

可选地,这里的混合处理可以为连接处理,例如融合或者按通道叠加,等等,本公开实施例对此不做限定。

在一些可选实现方式中,在对所述第一视角特征信息、所述第一视角语义分割信息以及所述关联信息进行混合处理之前,可以对第一视角特征信息、第一视角语义分割信息和关联信息中的一项或者多项进行转换处理,以使得所述转换处理后得到的第一视角特征信息、第一视角语义分割信息和关联信息具有相同的维度。在一个例子中,所述方法还包括:对所述第一视角特征信息进行转换处理,得到第一视角转换特征信息。此时,可以对第一视角转换特征信息、所述第一视角语义分割信息以及所述关联信息进行混合处理,得到混合特征信息。

比如,对所述第一视角特征信息进行空间转换处理,得到第一视角转换特征信息,其中,该第一视角转换特征信息的维度是预设的。

可选地,,第一视角转换特征信息可以为第一视角转换特征图,本公开实施例对第一视角转换特征信息的具体实现不作限定。

具体地,向所述第一子网络输入所述第一视角特征信息,再经过一个卷积层的卷积运算之后,得到第一视角转换特征信息。

更具体地,可采用卷积模块对第一视角特征信息进行处理,得到第一视角转换特征信息。

可选地,混合特征信息可以为混合特征图,本公开实施例对混合特征信息的具体实现不作限定;视差预测信息可以为视差预测图,本公开实施例对视差预测信息的具体实现不作限定。

本公开实施例中,segstereo网络除包括第一子网络和第二子网络外,还包括第三子网络。所述第三子网络用于确定第一视角图像和第二视角图像的视差预测信息,所述第三子网络可以是视差回归网络分支。

具体地,向所述视差回归网络分支输入所述第一视角转换特征信息、所述关联信息、所述第一视角语义分割信息,所述视差回归网络分支将这些信息合并成混合特征信息,基于所述混合特征信息回归得到视差预测信息。

在一些可选的实现方式中,基于所述混合特征信息,利用视差回归网络中的残差网络和反卷积模块预测得到视差预测信息。

也就是说,我们将第一视角转换特征图、关联特征图、第一视角语义特征图合并,得到混合特征图(也可称为组合特征图),从而实现语义特征的嵌入。

在得到混合特征图之后,我们继续利用视差回归网络分支的残差网络以及反卷积结构,最终输出预测的视差图。

本公开实施例中,segstereo网络主要采用了残差结构,能够提取更具辨识度的图像特征,并且在提取第一视角图像和第二视角图像的关联特征的同时,嵌入了高层的语义特征,如此,有助于提高预测的准确性。

在一些例子中,上述方法可以为视差估计神经网络的应用过程,即利用训练好的视差估计神经网络对待处理图像进行视差估计的方法。在一些例子中,上述方法可以为视差估计神经网络的训练过程,即上述方法可以应用于训练时差估计神经网络,相应地,第一视角图像和第二视角图像为样本图像,本公开实施例对此不做限定。

本公开实施例中,可通过无监督方式训练预定义的神经网络,得到包含所述第一子网络、所述第二子网络和所述第三子网络的视差估计神经网络;或者,通过有监督方式训练视差估计神经网络,得到包含所述第一子网络、所述第二子网络和所述第三子网络的视差估计神经网络。

可选地,所述方法还包括:

基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络。

在一些可选实施方式中,所述基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络,包括:

对所述第二视角图像进行语义分割处理,得到第二视角语义分割信息;

基于所述第二视角语义分割信息和所述视差预测信息,得到第一视角重建语义信息;

基于所述第一视角重建语义信息和所述第一视角语义分割信息,调整所述视差估计神经网络的网络参数。

在一些可选的实现方式中,可以对第二视角图像进行语义分割处理,得到第二视角语义分割信息。

在一些可选的实施方式中,可以将第二视角特征信息输入到语义分割网络中进行处理,得到第二视角语义分割信息。相应地,对所述第二视角图像进行语义分割处理,得到第二视角语义分割信息,包括:

基于第二视角特征信息,得到第二视角语义分割信息。

可选地,第二视角语义分割信息可以为三维张量或者第二视角语义特征图,本公开实施例对第二视角语义分割信息的具体实现不作限定。

作为一个例子,第二视角初级特征图可以作为视差估计神经网络中的用于进行语义信息提取处理的第二子网络的输入。具体地,向第二子网络输入第二视角特征信息或第二视角初级特征图,经过多层卷积运算或者在卷积处理的基础上进一步地经过其他处理之后得到第二视角语义分割信息。

在一些实现方式中,利用视差估计神经网络的语义分割网络分支或卷积子网络提取第一视角语义特征图和第二视角语义特征图。

在一些具体实现方式中,我们将第一视角特征信息和第二视角特征信息接入到语义分割网络,由语义分割网络输出第一视角语义分割信息和第二视角语义分割信息。

可选地,所述基于所述第一视角重建语义信息和所述第一视角语义分割信息,调整所述视差估计神经网络的网络参数,包括:

基于所述第一视角重建语义信息和所述第一视角语义分割信息二者之间的差异,确定语义损失函数值;

结合所述语义损失函数值,调整所述视差估计神经网络的网络参数。

具体地,基于预测得到的视差预测信息和第二视角的语义分割信息进行重建操作,得到重建的第一视角语义分割信息;将所述重建的第一视角语义分割信息与真实的第一语义标签进行比较,得到语义损失函数。

这里,在一些可选实现方式中,语义损失函数也可以为交叉熵损失函数,但本公开实施例对语义损失函数的具体实现不作实现。

这里,在训练视差估计神经网络时,我们定义了语义损失函数,该函数可以引入丰富的语义一致性信息,引导网络克服常见的局部歧义问题。

进一步可选地,所述基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络,包括:

基于所述视差预测信息和所述第二视角图像,得到第一视角重建图像;

根据所述第一视角重建图像与所述第一视角图像二者之间的光度差,确定光度损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述光度损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

具体地,通过对所述视差预测信息中不平滑区域施加约束,确定平滑损失函数。

具体地,基于预测得到的视差预测信息和真实的第二视角图像进行重建操作,得到第一视角重建图像;比较所述第一视角重建图像与真实的第一视角图像之间的光度差,得到光度损失函数。

这里,通过重建图像度量光度差的方式,我们能够以无监督的方式训练网络,很大程度上减少了对于真值图像的依赖。

优选地,所述基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络,包括:

基于所述视差预测信息和所述第二视角图像进行重建操作,得到第一视角重建图像;

根据所述第一视角重建图像与所述第一视角图像二者之间的光度差,确定光度损失函数;

通过对所述视差预测信息中不平滑区域施加约束,确定平滑损失函数;

基于所述第一视角重建语义信息和所述第一视角语义分割信息二者之间的差异,确定语义损失函数;

根据所述光度损失函数、所述平滑损失函数和所述语义损失函数,确定无监督方式训练下的总体损失函数;

基于使得所述总体损失函数最小化来训练视差估计神经网络。

其中,训练时所采用的训练集无需提供真值视差图像。

这里,所述总体损失函数等于各个损失函数的加权和。

如此,采用无监督的学习方式,不需要提供真值视差图像,可以根据重建图像与源图像的光度差来训练网络输出正确的视差值;在提取左右图像关联特征时,嵌入了语义特征图,并且定义了交叉熵损失函数,结合低层纹理信息与高层语义信息,增加了语义一致性约束,提高了网络在大目标区域的视差预测水平,在一定程度上克服了局部歧义问题。

可选地,所述方法还包括:

基于所述视差预测信息,通过有监督方式训练所述视差估计神经网络。

具体地,所述第一视角图像和所述第二视角图像对应于标注视差信息,基于所述视差预测信息和所述标注视差信息,训练所述视差估计神经网络。

可选地,所述基于所述视差预测信息和标注视差信息,训练所述视差估计神经网络,包括:

基于所述视差预测信息与标注视差信息,确定视差回归损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述视差回归损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

优选地,所述基于所述视差预测信息和标注视差信息,训练所述视差估计神经网络,包括:

基于预测得到的视差预测信息与标注视差信息,确定视差回归损失函数;

通过对预测得到的视差预测信息中不平滑区域施加约束,确定平滑损失函数;

根据所述视差回归损失函数和所述平滑损失函数,确定有监督方式训练下的总体损失函数;

基于使得所述总体损失函数最小化来训练预定义的神经网络;

其中,训练时所采用的训练集需要提供真值视差图像。

如此,可以通过有监督方式训练得到视差估计神经网络,对于有真值信号的位置,我们计算预测值与真实值之差,作为有监督的主体损失函数,此外,无监督训练的语义交叉熵损失函数与平滑损失函数在这里仍然适用。

本公开实施例中,所述第一子网络、所述第二子网络和所述第三子网络均是对视差估计神经网络进行训练得到的子网络。对于不同子网络,即对于第一子网络、第二子网络和第三子网络,不同子网络的输入和输出内容是不一样的,但是,它们针对的都是同一目标场景。

作为一种可选的实施方式,本公开实施例中,对视差估计神经网络进行训练的方法包括:

采用训练集对视差估计神经网络同时进行视差图预测训练与语义特征图预测训练,以得到所述第一子网络和所述第二子网络。

作为另一种可选的实施方式,本实施例中,对视差估计神经网络进行训练的方法包括:

先采用训练集对视差估计神经网络进行语义特征图预测训练;在完成对所述视差估计神经网络的语义特征图预测训练后,再采用所述训练集对经过语义特征图预测训练的视差估计神经网络进行视差图预测训练,以得到所述第二子网络和所述第一子网络。

也就是说,在对视差估计神经网络进行训练时,可分阶段对其进行语义特征图预测训练与视差图预测训练。

本申请实施例提出的基于语义信息的图像视差估计方法,利用端到端的视差预测网络,输入左右视角的图像,可以直接预测视差图,能满足实时性需求;同时,通过重建图像度量光度差的方式,我们能够以无监督的方式训练网络,很大程度上减少了对于真值图像的依赖;另外,在提取左右视角图像关联特征时,嵌入了语义特征图,并且定义了交叉熵损失,结合低层纹理信息与高层语义信息,增加了语义一致性约束,提高了网络在大目标区域如大的路面,大车等的视差预测水平,在一定程度上克服了局部歧义问题。

图2示出了一种视差估计系统架构示意图,将该视差估计系统架构记为segstereo(分割立体)视差估计系统架构,该segstereo视差估计系统架构适合于无监督学习和有监督学习。

下面,首先,用匹配代价计算模块给出基本的网络结构;然后,详细介绍语义线索策略的引入,通过引入丰富的语义一致性信息,对纠正视差预测具有很好的效果;最后,展示如何在无监督和有监督的条件下实现视差估计。

2.1基本匹配代价结构

整个系统架构示意图如图2所示,校准的立体图像对il和ir分别表示第一视角图像(或称为左视角图像)和第二视角图像(或称为右视角图像)。这里我们采用一个浅层的神经网络来提取初级图像特征图,在初级特征基础之上,利用一个训练好的的分割网络提取语义特征图。对于第一视角图像,我们使用一个卷积核为3*3*256的卷积块(即,卷积层,然后是批量归一化和修正线性单元(relu,rectifiedlinearunit)计算第一视角的转换特征图。这里,相对于原图尺寸,初级特征图、语义特征图和转换特征的尺寸是原始图像的1/8。

我们使用关联模块来计算第一视角和第二视角特征之间的匹配代价,这里的关联模块引入了光流预测网络(flownet)中使用的相关计算。具体是,在相关操作fl⊙fr中,最大视差参数设置为d。然后我们得到如尺寸为h×w×(d+1)的关联特征图fc。我们将转换特征图、语义特征图与计算的关联特征图拼接,得到混合特征图(或混合特征表示)fh。我们将fh送入后续的残差网络和反卷积模块,回归出原始尺寸的视差图。

2.2.结合语义线索

基本的视差估计框架在具有边缘和角落的图像块上运行良好。它可以在无监督系统中用光度损失进行优化,或者可以通过有监督的算子正则化来指导。由于视差估计中的模糊区域内部的连续性,这些区域在分割中具有明确的语义含义。所以我们使用语义线索来帮助预测和纠正最终的视差图。我们以两种方式整合这些线索。它们被用来将特征学习过程嵌入到视差预测中,并通过损失术语规范过程来指导学习过程。

2.2.1语义特征嵌入

此处使用高级分割特征映射。我们在输入的立体图像对上采用训练有素的pspnet-50框架,并将最终的特征映射(即conv5_4特征)产生为第一语义特征图和第二语义特征图在2.1节中的中间特征(特征conv3_1)提取模块可以与这个视差分支共享计算,如图2所示。对于嵌入具有视差分支的语义特征(也称分割图),我们首先在第一语义特征图上应用具有卷积核的大小为1×1×128的一个卷积块的变换操作,得到变换后的第一语义特征图然后,我们将与混合特征图(或混合特征表示)fh连接起来,并将所得到的特征馈送到视差分支的其余部分。

2.2.2语义损失正则化

语义信息线索还可以帮助指导视差学习作为损失项。我们利用重建操作,作用在第二语义特征图上,然后得到重建的第一语义特征图,然后利用真实的第一语义特征图的真值语义标签,来度量交叉熵损失函数。第二语义特征图是相对于原图大小比例为1/8的语义特征图,并且估计的视差图d是全尺寸的。为了进行特征变形,我们首先将右分割图采样到全尺寸,然后将特征变形应用于视差图d,导致全尺寸变形的第一语义特征图。然后我们将其重新缩放到1/8的尺寸,并将最终得到重建的第一语义特征图然后采用具有卷积核的大小为1×1×c的卷积分类器来规范视差学习,其中c是语义类的个数。而对于语义线索的约束或指导,我们使用语义交叉熵损失

2.3.目标函数

上述部分提到的语义信息可以同时结合到无监督和有监督的系统中。这里我们详细介绍这两个条件下的总体损失。

2.3.1无监督方式

立体图像对中的一幅图像可以利用估计的视差从另一幅图像重建,理论上其应该接近原始输入。我们利用表示为光度一致性的这个性质,以帮助在无监督的方式中学习视差。给定估计的视差d,我们在第二图像ir上应用图像变形操作,并得到重建的第一图像然后我们采用算子来规范光度一致性,最后得到光度损失

其中,n是像素的数量。

光度一致性能够以无监督方式进行视差学习。如果中没有正则化来强化估计的差距的局部平滑度,那么局部视差可能是不连贯的。为了弥补这个问题,我们利用算子,对于视差梯度图的平滑度进行惩罚或约束,最后得到平滑损失

其中,ρs(.)是用泛化charbonnier函数实现的空间平滑惩罚函数。

为了利用语义线索,考虑到语义特征嵌入和语义损失,在每一个像素位置上,针对每一种可能的语义类别都有一个预测值,同时有一个真实标签,这里我们真实标签上的预测值最大。语义交叉熵损失表示为

其中,这里,fyi是真实标签,fj是我们类别为j的预测值,定义单个像素的softmax损失如下:对于整张图像,我们针对带标签的像素位置计算softmax损失,带标签的像素集合为nv。

无监督系统中的总体损失包含光度损失平滑损失和语义交叉熵损失为了平衡不同损失分支的学习,我们引入损失权重λp作用于权重λs作用于权重λseg作用于因此,总体损失表示为

然后,基于使得总体损失函数最小化来训练预设神经网络。

2.3.2有监督的方式

本申请提出的用于帮助视差预测的语义线索,在有督导的方式下也能很好地发挥作用。

在有监督的框架下,提供真实视差图因此,我们直接采用算子来规范预测回归。我们将视差回归损失表示为:

为了利用语义线索,考虑到语义特征嵌入和语义softmax损失,有监督系统中的总体损失包含光视差回归损失平滑损失和语义交叉熵损失为了平衡不同损失分支的学习,我们引入损失权重λr作用于回归项权重λs作用于权重λseg作用于因此,总体损失表示为:

然后,基于使得总体损失函数最小化来训练预设神经网络。

现有技术中主要采用dispnet网络,该结构源于vgg网络,而且从图像底层特征出发,提取关联特征,没有引入高层的语义特征。而本申请提供的网络主要采用了残差结构,能够提取更具辨识度的图像特征,并且在提取左右视角图像的关联特征的同时,嵌入了高层的语义特征,这有助于提高视差图的预测精度。相对于现有技术中主要采用有监督学习方式,需要大量的真值视差图像的问题,我们采用了无监督的学习方式,不需要提供真值视差图像,可以根据重建图像与源图像的光度差来训练网络输出正确的视差值。相对于现有的视差网络在训练没有考虑语义一致性的约束的问题,我们在训练网络时,定义了语义交叉熵损失函数,该函数可以引入丰富的语义一致性信息,引导网络克服常见的局部歧义问题。

需要说明的是,本技术方案的主要贡献和成就至少包括下述几部分:

提出的segstereo框架,将语义分割信息合并到视差估计中,其中语义一致性可以作为视差估计的主动引导;

语义特征嵌入策略和语义引导softmax损失可以在无监督或有监督的方式下帮助训练网络;

提出的视差估计方法能在kittistereo2012和2015的基准中获得最先进的成果;在cityscapes数据集上的预测也显示该方法的有效性。

图3示出了kittistereo数据集上采用现有预测方法与本申请预测方法的效果对比图,其中,图中的左侧部分表示现有预测方法的处理过程示意图,图中的右侧部分表示本申请预测方法的处理过程示意图,具体地,顶部:输入立体图像;中左:没有分割线索的预测的视差图;中右:由segstereo预测的视差图;底部:误差图,其中,左下图中的最下方的深色区域表示错误的预测区域。从右下这幅图可以看出,在语义线索的指导下,segstereo网络的视差估计更加准确,特别是在局部模糊区域。

图4示出了通过利用语义信息显示的kitti测试集的几个定性例子,我们的segstereo网络通常能够处理具有挑战性的场景。图4(a)示出了kitti2012测试数据定性结果,如图4(a)所示,从左到右依次为:左立体输入图像、视差预测图、误差图。图4(b)示出了kitti2015测试数据定性结果,如图4(b)所示,从左到右依次为:左立体输入图像、视差预测图、误差图。从图4(a)和图4(b)可以看出,在kittistereo测试集上有监督的定性结果。通过学习融入语义信息,我们提出的方法能够处理具有挑战性的场景。

为了说明我们的segstereo网络可以适应其他数据集,我们在cityscapes验证集上测试无监督网络,我们给出几个定性的例子。图5示出了cityscapes验证集上的无监督定性结果,在图5中,无论是左侧部分,还是右侧部分,从上到下均依次为:输入图像,视差预测图、误差图。显然,与sgm算法的结果相比,我们在全局场景结构和对象细节方面产生了更好的结果。

综上,我们设计的统一的segstereo(分割立体)视差估计架构,它将语义线索与主干视差估计网络相结合。具体来说,我们使用金字塔场景解析网络(pspnet)作为分割分支以提取语义特征,并使用残差网络和相关模块(resnet-correlation)作为视差部分以回归视差图。相关模块用于编码匹配线索,其中分割特征作为语义特征嵌入进入相关层后面的视差分支。此外,通过语义损失正则化我们提出覆盖的左右语义的一致性,这进一步增强视差估计的鲁棒性。语义和视差部分都是完全卷积的,所以我们的网络可以进行端到端的训练。

将语义线索纳入立体匹配任务的segstereo网络可以同时受益于无监督和有监督的训练。在无监督训练过程中,光度一致性损失和语义softmax损失均被计算并向后传播。语义特征嵌入和语义softmax损失都可以引入语义一致性的有利约束。此外,对于有监督的训练方案,我们采用有监督的损失而不是无监督的光度一致性损失来训练网络,这将获得kittistereo基准上的最先进的成果,如在kittistereo2012和2015的基准中获得最先进的成果。在cityscapes数据集上的预测也显示了该方法的有效性,具体效果参数对比表结果在本申请人的相关论文中发表,在此不再赘述。

上述结合高级语义信息的双目图像视差估计方法,首先获取目标场景的左右视角图像,利用一个特征提取网络提取左右视角图像的初级特征图;针对左视角初级特征图,增加一个卷积块得到左视角转换特征图;在左右初级特征图的基础之上,采用关联模块计算左右特征图的关联特征图;再使用一个语义分割网络来获取左视角的语义特征图;将左视角的转换特征图、关联特征图与左视角语义特征图合并起来得到混合特征图,最后利用残差网络及反卷积模块回归出视差图。如此,能利用由特征提取网络、语义分割网络、视差回归网络构成的视差估计神经网络,输入左右视角图像,能快速输出预测的视差图,从而实现端到端的视差预测,并满足实时性需求;这里,在计算左右视角图像的匹配特征时,嵌入了语义特征图,也即增加了语义一致性约束,在一定程度上克服了局部歧义问题,能提高视差预测的准确率。

应理解,图2至图4所示的例子中的各种具体实现方式可以根据其逻辑以任意方式进行组合,而非必须同时满足,也就是说,图1所示的方法实施例中的任意一个或多个步骤和/或流程可以以图2至图4所示的例子为一种可选的具体实现方式,但不限于此。

还应理解,图2至图4所示的例子仅仅是为了示例性地本申请实施例,本领域技术人员可以基于图2至图4的例子进行各种显而易见的变化和/或替换,得到的技术方案仍属于本申请实施例的公开范围。

对应上述图像视差估计方法,本公开实施例提供了一种图像视差估计装置,如图6所示,所述装置包括:

图像获取模块10,用于获取目标场景的第一视角图像和第二视角图像;

初级特征提取模块20,用于对所述第一视角图像进行特征提取处理,得到第一视角特征信息;

语义特征提取模块30,用于对所述第一视角图像进行语义分割处理,得到第一视角语义分割信息;

视差回归模块40,用于基于所述第一视角特征信息、所述第一视角语义分割信息以及所述第一视角图像和所述第二视角图像的关联信息,得到所述第一视角图像和所述第二视角图像的视差预测信息。

上述方案中,可选地,所述初级特征提取模块20,还用于对所述第二视角图像进行特征提取处理,得到第二视角特征信息;

所述装置还包括:

关联特征提取模块50,用于:

基于第一视角特征信息与第二视角特征信息,得到所述第一视角图像和所述第二视角图像的关联信息。

作为一种实施方式,可选地,所述视差回归模块40,还用于:

对所述第一视角特征信息、所述第一视角语义分割信息以及所述关联信息进行混合处理,得到混合特征信息;

基于所述混合特征信息,得到视差预测信息。

上述方案中,可选地,所述装置还包括:

第一网络训练模块60,用于基于所述视差预测信息,通过无监督方式训练用于实现图像视差估计方法的视差估计神经网络。

作为一种实施方式,可选地,所述第一网络训练模块60,还用于:

对所述第二视角图像进行语义分割处理,得到第二视角语义分割信息;

基于所述第二视角语义分割信息和所述视差预测信息,得到第一视角重建语义信息;

基于所述第一视角重建语义信息和所述第一视角语义分割信息,调整所述视差估计神经网络的网络参数。

作为一种实施方式,可选地,所述第一网络训练模块60,还用于:

基于所述第一视角重建语义信息和所述第一视角语义分割信息二者之间的差异,确定语义损失函数值;

结合所述语义损失函数值,调整所述视差估计神经网络的网络参数。

作为一种实施方式,可选地,所述第一网络训练模块60,还用于:

基于所述视差预测信息和所述第二视角图像,得到第一视角重建图像;

根据所述第一视角重建图像与所述第一视角图像二者之间的光度差,确定光度损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述光度损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

上述方案中,可选地,所述装置还包括:

第二网络训练模块70,用于基于所述视差预测信息和标注视差信息,训练用于实现图像视差估计方法的视差估计神经网络;所述图像视差估计方法通过视差估计神经网络实现,所述第一视角图像和所述第二视角图像对应于标注视差信息。

作为一种实施方式,可选地,所述第二网络训练模块70,还用于:

基于所述视差预测信息与标注视差信息,确定视差回归损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述视差回归损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

本领域技术人员应当理解,图6中所示的图像视差估计装置中的各处理模块的实现功能可参照前述图像视差估计方法的相关描述而理解。本领域技术人员应当理解,图6所示的图像视差估计装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。

实际应用中,上述图像获取模块10获取信息的方式不同,则结构不同;从客户端接收时,它是通信接口;自动采集时,它对应的是图像采集器。上述所述图像获取模块10、初级特征提取模块20、语义特征提取模块30、视差回归模块40、关联特征提取模块50、第一网络训练模块60、第二网络训练模块70的具体结构均可对应于处理器。所述处理器具体的结构可以为中央处理器(cpu,centralprocessingunit)、微处理器(mcu,microcontrollerunit)、数字信号处理器(dsp,digitalsignalprocessing)或可编程逻辑器件(plc,programmablelogiccontroller)等具有处理功能的电子元器件或电子元器件的集合。其中,所述处理器包括可执行代码,所述可执行代码存储在存储介质中,所述处理器可以通过总线等通信接口与所述存储介质中相连,在执行具体的各单元的对应功能时,从所述存储介质中读取并运行所述可执行代码。所述存储介质用于存储所述可执行代码的部分优选为非瞬间存储介质。

所述图像获取模块10、初级特征提取模块20、语义特征提取模块30、视差回归模块40、关联特征提取模块50、第一网络训练模块60、第二网络训练模块70可以集成对应于同一处理器,或分别对应不同的处理器;当集成对应于同一处理器时,所述处理器采用时分处理所述图像获取模块10、初级特征提取模块20、语义特征提取模块30、视差回归模块40、关联特征提取模块50、第一网络训练模块60、第二网络训练模块70对应的功能。

本申请实施例提供的图像视差估计装置,能利用由特征提取网络分支、语义分割网络分支、视差回归网络分支构成的视差估计神经网络,输入左右视角图像,能快速输出预测的视差图,从而实现端到端的视差预测,并满足实时性需求;这里,在计算左右视角图像的匹配特征时,嵌入了语义特征图,也即增加了语义一致性约束,在一定程度上克服了局部歧义问题,能提高视差预测的准确率以及最终预测的视差的精确度。

本申请实施例还记载了一种图像视差估计装置,所述装置包括:存储器31、处理器32及存储在存储器31上并可在处理器32上运行的计算机程序,所述处理器32执行所述程序时实现前述任意一个技术方案提供的图像视差估计方法。

作为一种实施方式,所述处理器32执行所述程序时实现:

对所述第二视角图像进行特征提取处理,得到第二视角特征信息;

基于第一视角特征信息与第二视角特征信息,得到所述第一视角图像和所述第二视角图像的关联信息。

作为一种实施方式,所述处理器32执行所述程序时实现:

对所述第一视角特征信息、所述第一视角语义分割信息以及所述关联信息进行混合处理,得到混合特征信息;

基于所述混合特征信息,得到视差预测信息。

作为一种实施方式,所述处理器32执行所述程序时实现:

基于所述视差预测信息,通过无监督方式训练所述视差估计神经网络。

作为一种实施方式,所述处理器32执行所述程序时实现:

对所述第二视角图像进行语义分割处理,得到第二视角语义分割信息;

基于所述第二视角语义分割信息和所述视差预测信息,得到第一视角重建语义信息;

基于所述第一视角重建语义信息和所述第一视角语义分割信息,调整所述视差估计神经网络的网络参数。

作为一种实施方式,所述处理器32执行所述程序时实现:

基于所述第一视角重建语义信息和所述第一视角语义分割信息二者之间的差异,确定语义损失函数值;

结合所述语义损失函数值,调整所述视差估计神经网络的网络参数。

作为一种实施方式,所述处理器32执行所述程序时实现:

基于所述视差预测信息和所述第二视角图像,得到第一视角重建图像;

根据所述第一视角重建图像与所述第一视角图像二者之间的光度差,确定光度损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述光度损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

作为一种实施方式,所述处理器32执行所述程序时实现:

基于所述视差预测信息和所述标注视差信息,训练所述视差估计神经网络;所述第一视角图像和所述第二视角图像对应于标注视差信息。

作为一种实施方式,所述处理器32执行所述程序时实现:

基于所述视差预测信息与标注视差信息,确定视差回归损失函数值;

基于所述视差预测信息,确定平滑损失函数值;

根据所述视差回归损失函数值和所述平滑损失函数值,调整所述视差估计神经网络的网络参数。

本申请实施例提供的图像视差估计装置,能提高视差预测的准确率以及最终预测的视差的精确度。

本申请实施例还记载了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述各个实施例所述的图像视差估计方法。也就是说,所述计算机可执行指令被处理器执行之后,能够实现前述任意一个技术方案提供的图像视差估计方法。

本领域技术人员应当理解,本实施例的计算机存储介质中各程序的功能,可参照前述各实施例所述的图像视差估计方法的相关描述而理解。

基于上述各实施例所述的图像视差估计方法和装置,下面给出具体应用在无人驾驶领域的应用场景。

将视差估计神经网络应用到无人驾驶平台中,面对道路交通场景,实时输出车体前方的视差图,进一步地可以估计前方各个目标、位置的距离。针对更为复杂的条件,例如大目标、遮挡等情况,视差估计神经网络也能有效地给出可靠的视差预测。在安装有双目立体相机的自动驾驶平台上,面对道路交通场景,视差估计神经网络能够给出准确的视差预测结果,特别是针对局部歧义位置(强光、镜面、大目标),仍然可以给出可靠的视差值。如此,智能汽车能获得更加清晰明了的周围环境信息以及路况信息,并根据周围环境信息以及路况信息执行无人驾驶,能提高驾驶的安全性。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1