掌桥专利:专业的专利平台
掌桥专利
首页

一种视差图获取方法、装置、终端和存储介质

文献发布时间:2023-06-19 10:58:46


一种视差图获取方法、装置、终端和存储介质

技术领域

本申请属于计算机视觉领域,尤其涉及一种视差图获取方法、装置、终端和存储介质。

背景技术

视差(Disparity)是指从有一定距离的两个点上观察同一个目标所产生的方向差异。视差图(disparity map)是以左视点图像和右视点图像对中任一幅图像为基准,元素值为视差值的图像。由于视差值包含了场景的距离信息,因此获取视差图,并基于视差图计算深度图是双目视觉研究中最为活跃的领域。

视差图的精度影响后期三维重建的效果,视差图获取的速度保证了双目视觉系统处理采集信息的实时性。然而,目前获取视差图的方法精度和速度呈彼此制约关系,而高精度的视差图算法多使用图割法或置信度传播等全局方法,运行速度缓慢,需要几分钟才能处理一帧图像,不能满足实时性的要求。

发明内容

本申请实施例提供一种视差图获取方法、装置、终端和存储介质,可以在保障视差图精度的同时,提高获取视差图的实时性。

本申请实施例第一方面提供一种视差图获取方法,包括:

获取左视点图像和右视点图像,并将所述左视点图像和所述右视点图像输入特征提取网络,获取所述特征提取网络输出的所述左视点图像对应的左特征图像和所述右视点图像对应的右特征图像;

基于所述左特征图像和所述右特征图像进行代价计算,得到所述左特征图像和所述右特征图像的第一代价空间;

对所述第一代价空间进行降维,并对降维后的所述第一代价空间进行代价聚合,得到第二代价空间;

建立所述第二代价空间对应的双边格网,并对所述双边格网进行插值操作,得到第三代价空间;

利用所述第三代价空间计算所述左视点图像和所述右视点图像对应的第一视差图。

本申请实施例第二方面提供的一种视差图获取装置,包括:

特征提取模块,用于获取左视点图像和右视点图像,并将左视点图像和右视点图像输入视差图获取模型的特征提取网络中,由特征提取网络输出的左视点图像对应的左特征图像和右视点图像对应的右特征图像。

代价计算模块,用于通过视差图获取模型,基于左特征图像和右特征图像进行代价计算,得到左特征图像和右特征图像的第一代价空间。

代价聚合模块,用于通过视差图获取模型,对第一代价空间进行降维,并对降维后的第一代价空间进行代价聚合,得到第二代价空间。

双边格网模块,用于通过视差图获取模型,建立第二代价空间对应的双边格网,并对双边格网进行插值操作,得到第三代价空间;

视差图获取模块,用于通过视差图获取模型,利用第三代价空间计算左视点图像和右视点图像对应的第一视差图。

本申请实施例第三方面提供一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本申请实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本申请实施例第五方面提供了一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行时实现方法的步骤。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

本申请的实施方式中,通过对基于左视点图像和右视点图像进行代价计算得到的第一代价空间进行降维操作,并基于降维后的第一代价空间进行代价聚合等操作,再基于双边格网进行上采样,计算出左视点图像和右视点图像之间的第一视差图,使得可以在降维后得到的低分辨率的代价空间中进行运算,提高获取视差图的速率,同时利用双边格网进行上采样,保障了视差图的精度。因此,本申请提供的方法能够在保障视差图准确性的同时,提高视差图获取的实时性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种视差图获取方法的实现流程示意图;

图2是本申请实施例提供的步骤S104的具体实现流程示意图;

图3是本申请实施例提供的步骤S105的具体实现流程示意图;

图4是本申请实施例提供的步骤S102的具体实现流程示意图;

图5是本申请实施例提供的基于视差图获取模型获取视差图的实现流程示意图;

图6是本申请实施例提供的一种视差图获取装置的结构示意图;

图7是本申请实施例提供的终端的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

视差(Disparity)是指从有一定距离的两个点上观察同一个目标所产生的方向差异。视差图(disparity map)是以左视点图像和右视点图像对中任一幅图像为基准,元素值为视差值的图像。由于视差值包含了场景的距离信息,因此获取视差图,并基于视差图计算深度图是双目视觉研究中最为活跃的领域。

视差图的精度影响后期三维重建的效果,视差图获取的速度保证了双目视觉系统处理采集信息的实时性。然而,目前获取视差图的方法精度和速度呈彼此制约关系,而高精度的视差图算法多使用图割法或置信度传播等全局方法,运行速度缓慢,需要几分钟才能处理一帧图像,不能满足实时性的要求。

为了说明本申请的技术方案,下面通过具体实施例来进行说明。

图1示出了本申请实施例提供的一种视差图获取方法的实现流程示意图,该方法可以应用于终端,可适用于需在保障视差图精度的同时,提高获取视差图的实时性的情形。

其中,上述终端可以为电脑、智能手机等终端。

具体的,上述视差图获取方法可以包括以下步骤S101至步骤S105。

步骤S101,获取左视点图像和右视点图像,并将左视点图像和右视点图像输入特征提取网络,获取特征提取网络输出的左视点图像对应的左特征图像和右视点图像对应的右特征图像。

在本申请的实施方式中,为了计算出左视点图像和右视点图像之间的视差,需要先对左视点图像和右视点图像进行特征提取。具体的,本申请通过将左视点图像和右视点图像输入特征提取网络,以获取特征提取网络输出的左视点图像对应的左特征图像和右视点图像对应的右特征图像。

为了提高视差图获取的实时性,在本申请的一些实施方式中,上述将左视点图像和右视点图像输入到特征提取网络,可以包括:将左视点图像输入到第一特征提取网络,并将右视点图像输入到第二特征提取网络。其中,第一特征提取网络和第二特征提取网络的权重共享。

也就是说,在本申请的一些实施方式中,可以将左视点图像和右视点图像分别输入到两个权重共享的特征提取网络中,并得到左特征图像或右特征图像。

并且,在本申请的一些实施方式中,在上述将左视点图像和右视点图像输入到特征提取网络之前,可以对左视点图像和右视点图像进行对齐操作,对齐后的左视点图像和右视点图像的图像分辨率相同,使得左视点图像和右视点图像中的像素点存在对应关系。

例如,可以将对齐后的左视点图像和右视点图像输入至权重共享的残差网络模型,利用上述残差网络模型提取1/8目标分辨率的左、右特征图。其中,目标分辨率是指最终输出的视差图的分辨率大小,所获得的特征图的通道数可以为32。优选地,该残差网络模型可以为前三层为3个3×3的卷积层,前三层卷积层的步长分别为2,1和1,与三层卷积层连接的是4个3×3的残差层,其步长分别为1,2,2和1。

需要说明的是,上述实施方式是以特征提取网络是残差网络模型为例进行说明的,实际应用中,上述特征提取网络还可以是PVANET等常见的卷积层网络模型,本申请的对此不进行限制。并且,左视点图像输入的特征提取网络和右视点图像输入的特征提取网络可以为类型不同但权重共享的网络模型。

为了提高本申请视差图的可靠性,在本申请的一些实施方式中,上述特征提取网络中还可以包含池化层,用于扩大感受野,在获取视差图的过程中利用全局环境信息来丰富图像特征,以便于构建代价空间。

具体的,上述池化层可以为空间金字塔池(Spatial Pyramid Pooling,SPP)模块,该空间金字塔池与特征提取网络中最后一层卷积层连接。

步骤S102,基于左特征图像和右特征图像进行代价计算,得到左特征图像和右特征图像的第一代价空间。

在本申请的实施方式中,代价计算是指计算左特征图像上每个像素点以所有视差可能性去匹配右特征图像上对应点的代价值,或者计算右特征图像上每个像素点以所有视差可能性去匹配左特征图像上对应点的代价值。计算得到的代价值可以存储在第一代价空间(cost volume)中。

具体的,在本申请的实施方式中,可以基于左特征图像和右特征图像,利用绝对差值(SAD)、平方差之和(SSD)、归一化互相关(NCC)或者其他代价计算算法进行代价计算,得到左特征图像和右特征图像的第一代价空间。

步骤S103,对第一代价空间进行降维,并对降维后的第一代价空间进行代价聚合,得到第二代价空间。

在本申请的一些实施方式中,可以利用卷积层对第一代价空间进行卷积操作,以实现对第一代价空间的有效降维,在不增加网络参数的情况下,增加网络的宽度和增加网络对多个尺度的适应性。

具体的,可以通过代价聚合模块对第一代价空间进行降维,该代价聚合模块中可以包括两层卷积层,用于对第一代价空间进行卷积运算,减少代价通道的数量。例如,可以将代价通道的数量从44个减少为16个。

在本申请的实施方式中,上述代价聚合是指通过求和、求均值或其他方法对第一代价空间中的代价值进行聚合,得到图像上一个像素点在视差d处的累积代价。通过代价聚合,可以降低异常点的影响,提高信噪比(SNR,Signal Noise Ratio),进而提高匹配精度。

具体的,在本申请的一些实施方式中,可以通过U-Net网络对降维后的第一代价空间进行代价聚合,并通过同位元素对应相加(Element-wise Summation)获取聚合后的第二代价空间。

需要说明的是,本申请还可以通过类似于U-Net的其他卷积网络进行代价聚合,以减少计算量,此处不对代价聚合的具体方式进行限制。

步骤S104,建立第二代价空间对应的双边格网,并对双边格网进行插值操作,得到第三代价空间。

其中,双边格网(Bilateral Grid,BG)是一种数据结构,基于第二代价空间,可以建立第二代价空间对应的双边格网,并为双边格网中的每个位置填值。在本申请的实施方式中,可以建立第二代价空间对应的双边格网,并对双边格网进行切片(Slicing)操作,即对双边格网进行线性插值操作,得到第三代价空间。其中,第三代价空间的分辨率高于第二代价空间。

也就是说,在本申请的实施方式中,可以利用双边格网将低分辨率的第二代价空间进行上采样,获取三维高分辨率第三代价空间。

具体的,如图2所示,上述建立第二代价空间对应的双边格网,并对双边格网进行插值操作,得到第三代价空间,可以包括步骤S201至步骤S202。

步骤S201,对第二代价空间进行卷积操作,得到第二代价空间对应的双边格网。

具体的,可以利用卷积网络中的三维卷积,将第二代价空间转换为双边格网β。

步骤S202,获取引导图,并利用引导图对双边格网进行插值操作,得到第三代价空间。

具体的,第三代价空间中的每个代价值为

C

其中,C

在本申请的一些实施方式中,上述引导图G可利用两个3×3卷积层从基于步骤S101中特征提取网络输出的左特征图像或右特征图像中获取。需要说明的是,某个坐标为(x,y)的像素的引导信息在视差维度是相同的。

步骤S105,利用第三代价空间计算左视点图像和右视点图像对应的第一视差图。

在本申请的一些实施方式中,利用第三代价空间,可以在视差搜索范围内选择累积代价最优的点作为对应匹配点,与之对应的视差即为所求的视差,得到第一视差图。

具体的,在本申请的一些实施方式中,如图3所示,上述利用第三代价空间计算左视点图像和右视点图像对应的第一视差图,可以包括以下步骤S301至步骤S302。

步骤S301,利用可微分的soft argmin函数对第三代价空间进行视差回归处理,得到第二视差图。

具体的,上述可微分的soft argmin操作定义为:

其中,D

步骤S302,对第二视差图进行细化处理,更新第二视差图内的视差值,得到第一视差图。

在本申请的一些实施方式中,可以通过残差网络模型对第二视差图进行细化微调,该残差网络模型包括四个不同扩张率(dilation rate)的卷积层,以利用彩色图像的语义信息。

具体的,可以将基于步骤S101提取的左特征图像或右特征图像与基于步骤S301获取的第二视差图输入至残差网络模型,左特征图像通过4个扩张率分别为1,2,4和8,通道数均为16的残差卷积层,输出残差图,并将残差图添加至第一视差图进行细化,计算残差图与第一视差图的和,并利用得到的和更新第一视差图的视差值,获取第二视差图。

需要说明的是,上述每一个残差卷积层(除最后一层)均连接有BN(BatchNormalization)层和ReLU层;最后一层不包含BN层和ReLU层,其目的是使得学到的残差量可以出现正数和负数;第二视差图与残差之和,经过一个ReLU层,保证输出的视差非负。在本申请的一些实施方式中,第一视差图的维度为H×W×1,其中H、W表示第一视差图的高和宽;第二视差图的维度可以为H/2×W/2×1。

为了减少计算量,在本申请的一些实施方式中,也可以将第二视差图作为第一视差图。

本申请的实施方式中,通过对基于左视点图像和右视点图像进行代价计算得到的第一代价空间进行降维操作,并基于降维后的第一代价空间进行代价聚合等操作,再基于双边格网进行上采样,计算出左视点图像和右视点图像之间的第一视差图,使得可以在降维后得到的低分辨率的代价空间中进行运算,提高获取视差图的速率,同时利用双边格网进行上采样,保障了视差图的精度,因此,本申请提供的方法能够在保障视差图准确性的同时,提高视差图获取的实时性。

在实际应用中,整个视差图获取的运算速度快和运算帧数多,一次可对44帧图像进行运算,相较于现有技术运算速率大大提高。

为了进一步提高本申请视差图的精度,以及视差图获取的实时性,上述左特征图像可以包括特征提取网络各个卷积层输出的左特征子图像,同样的,右特征图像可以包括特征提取网络各个卷积层输出的右特征子图像。

此时,如图4所示,上述基于左特征图像和右特征图像进行代价计算,得到左特征图像和右特征图像的第一代价空间,可以包括:步骤S401至步骤S403。

步骤S401,对左特征子图像和右特征子图像分别进行拼接处理,得到左特征图像对应的左一元特征图和右特征图像对应的右一元特征图。

也就是说,在将左视点图像输入到特征提取网络后,特征提取网络各个卷积层将分别输出一张左特征子图像,此时,可以对各张左特征子图像中的特征进行拼接处理,得到左一元特征图。同样的,在将右视点图像输入到特征提取网络后,特征提取网络各个卷积层将分别输出一张右特征子图像,此时,可以对各张右特征子图像中的特征进行拼接处理,得到右一元特征图。

例如,基于步骤S101中的特征提取网络,得到特征提取网络各个卷积层将输出的五张左特征子图像,每张左特征子图像对应的特征通道分别为128,128,32,32,32,则将5个左特征子图像进行拼接处理,可以形成具有352个待匹配左一元特征图。

步骤S402,在每个视差级别下对的左一元特征图中的左一元特征和右一元特征图中的右一元特征进行级联,得到具有级联关系的特征对。

其中,每个上述视差级别是指视差范围内的一个视差,各个视差级别对应的视差不相同。

也就是说,在每个视差级别下,左一元特征可以级联一个右一元特征,形成具有级联关系的特征对。

具体的,在左一元特征图中横坐标为x的点可以级联到左一元特征图中横坐标为x-d的点。随着视差级别的不同,即在视差d不同的情况下,同一个左一元特征级联到的右一元特征会不相同。

步骤S403,对特征对进行分组,得到多个特征组,并对各个特征组中各个特征对内的左一元特征和右一元特征进行代价计算,得到第一代价空间。

具体的,上述对特征进行分组的方式可以根据实际情况进行选择。在本申请的一些实施方式中,可以直接采用平均分组的方式,按照预设的特征组的组数,将特征平均分到每个特征组中,得到多个特征组。

此时,上述对各个特征组中各个特征对内的左一元特征和右一元特征进行代价计算,得到第一代价空间,可以包括:利用代价计算公式

其中,d表示视差,

本申请的实施方式中,通过对左特征子图像和右特征子图像分别进行拼接处理,得到左特征图像对应的左一元特征图和右特征图像对应的右一元特征图,然后在每个视差级别下对的左一元特征图中的左一元特征和右一元特征图中的右一元特征进行级联,得到具有级联关系的特征对,并对特征对进行分组,得到多个特征组,并对各个特征组中各个特征对内的左一元特征和右一元特征进行代价计算,得到第一代价空间,实现了特征的组相关。

现有技术中,左一元特征和右一元特征在不同的视差级别上要么是完全相关的,要么是相连接(concatenated)的。但是,完全相关丢失了太多的信息,因为它在每个视差层级仅输出单通道的相关图。Concatenation量则不包含特征相似性的信息,所以在接下来进行代价聚合时就需要更多的参数,从头开始学习相似性度量。因此,本申请通过对将特征分割为若干个组,然后按特征组来计算第一代价空间,即每个特征组都会对应有一个代价空间,此时,组相关量只需较少的参数,就可以获得不错的结果。因此,本申请不会丢失过多信息,保证视差图的准确性,同时,减少后续代价聚合的难度,保证视差图获取的实时性。

在本申请的一些实施方式中,上述视差图的获取方法可以基于视差图获取模型实现,具体的,如图5所示,上述视差图获取方法,可以包括步骤S501至步骤S505,详述如下:

步骤S501,获取左视点图像和右视点图像,并将左视点图像和右视点图像输入视差图获取模型的特征提取网络中,由特征提取网络输出的左视点图像对应的左特征图像和右视点图像对应的右特征图像。

步骤S502,通过视差图获取模型,基于左特征图像和右特征图像进行代价计算,得到左特征图像和右特征图像的第一代价空间。

步骤S503,通过视差图获取模型,对第一代价空间进行降维,并对降维后的第一代价空间进行代价聚合,得到第二代价空间。

步骤S504,通过视差图获取模型,建立第二代价空间对应的双边格网,并对双边格网进行插值操作,得到第三代价空间。

步骤S505,通过视差图获取模型,利用第三代价空间计算左视点图像和右视点图像对应的第一视差图。

其中,上述步骤S501至步骤S505中视差图获取模型的具体工作方式可以参看前述步骤S101至步骤S105的描述。并且,上述视差图获取模型中可以包含更多的模块,以实现前述图2至图4所描述的方法。

为了基于视差图获取模型实现视差图的获取,在本申请的一些实施方式中,在进行视差图获取之前,可以对待训练的视差图获取模型进行训练,得到上述视差图获取模型。

具体的,对上述待训练的视差图获取模型进行训练可以包括:将样本图像输入到待训练的视差图获取模型,得到样本视差图,并将样本视差图和预先存储的真实视差图输入到损失函数中,利用梯度下降法最小化损失函数的损失值的方式,更新待训练的视差图获取模型中的特征提取模块、代价计算模块、代价聚合模块、双边格网模块和视差图获取模块的参数,直至损失函数的损失值的变化率小于预设阈值,得到已训练的视差图获取模型。

在本申请的一些实施方式中,可以通过带平滑的L1(Smooth

具体的,

损失函数

其中,x表示的是第一视差图

在本申请的一些实施方式中,将样本视差图和预先存储的真实视差图输入到损失函数之后,利用批量梯度下降法进行反向传播,更新模型的学习参数,例如权重和偏置,通过不断迭代训练,直至损失函数的损失值的变化率小于预设阈值,得到已训练的视差图获取模型,以使该模型适用于一般的场景中,便于后续利用已训练的视差图获取模型进行双目立体匹配。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为根据本申请,某些步骤可以采用其它顺序进行。

如图6所示为本申请实施例提供的一种视差图获取装置600的结构示意图,所述视差图获取装置600配置于终端上。该视差图获取装置600可以为一个网络模型,用于输出视差图。

其中,所述视差图获取装置600可以包括:

特征提取模块601,用于获取左视点图像和右视点图像,并将左视点图像和右视点图像输入视差图获取模型的特征提取网络中,由特征提取网络输出的左视点图像对应的左特征图像和右视点图像对应的右特征图像。

代价计算模块602,用于通过视差图获取模型,基于左特征图像和右特征图像进行代价计算,得到左特征图像和右特征图像的第一代价空间。

代价聚合模块603,用于通过视差图获取模型,对第一代价空间进行降维,并对降维后的第一代价空间进行代价聚合,得到第二代价空间。

双边格网模块604,用于通过视差图获取模型,建立第二代价空间对应的双边格网,并对双边格网进行插值操作,得到第三代价空间;

视差图获取模块605,用于通过视差图获取模型,利用第三代价空间计算左视点图像和右视点图像对应的第一视差图。

在本申请的一些实施方式中,上述双边格网模块604还可以用于:对所述第二代价空间进行卷积操作,得到所述第二代价空间对应的双边格网;获取引导图,并利用所述引导图对所述双边格网进行插值操作,得到所述第三代价空间。

在本申请的一些实施方式中,上述左特征图像包括所述特征提取网络各个卷积层输出的左特征子图像,上述右特征图像包括所述特征提取网络各个卷积层输出的右特征子图像,上述代价计算模块602还可以用于:对所述左特征子图像和所述右特征子图像分别进行拼接处理,得到所述左特征图像对应的左一元特征图和所述右特征图像对应的右一元特征图;在每个视差级别下对所述的左一元特征图中的左一元特征和所述右一元特征图中的右一元特征进行级联,得到具有级联关系的特征对;对所述特征对进行分组,得到多个特征组,并对各个特征组中各个特征对内的左一元特征和右一元特征进行代价计算,得到所述第一代价空间。

在本申请的一些实施方式中,上述代价计算模块602还可以用于:利用代价计算公式

在本申请的一些实施方式中,上述特征提取模块601还可以用于:将所述左视点图像输入到第一特征提取网络,并将所述右视点图像输入到第二特征提取网络,其中,所述第一特征提取网络和所述第二特征提取网络的权重共享。

在本申请的一些实施方式中,上述视差图获取模块605还可以用于:利用可微分的soft argmin函数对所述第三代价空间进行视差回归处理,得到第二视差图;对所述第二视差图进行细化处理,更新所述第二视差图内的视差值,得到所述第一视差图。

在本申请的一些实施方式中,上述视差图获取装置600还包括训练模块,用于将样本图像输入到待训练的视差图获取模型,得到样本视差图,并将所述样本视差图和预先存储的真实视差图输入到损失函数中,利用梯度下降法最小化损失函数的损失值的方式,更新所述待训练的视差图获取模型中的特征提取模块、代价计算模块、代价聚合模块、双边格网模块和视差图获取模块的参数,直至所述损失函数的损失值的变化率小于预设阈值,得到已训练的视差图获取模型,并将所述已训练的视差图获取模型作为所述视差图获取装置。

在本申请的一些实施方式中,上述训练模块还可以用于:通过带平滑的L1(Smooth

损失函数

其中,x表示的是第一视差图

需要说明的是,为描述的方便和简洁,上述视差图获取装置600的具体工作过程,可以参考图1至图4所述方法的对应过程,在此不再赘述。

如图7所示,为本申请实施例提供的一种终端的示意图。该终端7可以包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如视差图获取程序。所述处理器70执行所述计算机程序72时实现上述各个视差图获取方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示的特征提取模块、代价计算模块、代价聚合模块、双边格网模块和视差图获取模块的功能。

所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端中的执行过程。

例如,所述计算机程序可以被分割成:特征提取模块、代价计算模块、代价聚合模块、双边格网模块和视差图获取模块。各单元具体功能如下:

特征提取模块,用于获取左视点图像和右视点图像,并将左视点图像和右视点图像输入视差图获取模型的特征提取网络中,由特征提取网络输出的左视点图像对应的左特征图像和右视点图像对应的右特征图像。

代价计算模块,用于通过视差图获取模型,基于左特征图像和右特征图像进行代价计算,得到左特征图像和右特征图像的第一代价空间。

代价聚合模块,用于通过视差图获取模型,对第一代价空间进行降维,并对降维后的第一代价空间进行代价聚合,得到第二代价空间。

双边格网模块,用于通过视差图获取模型,建立第二代价空间对应的双边格网,并对双边格网进行插值操作,得到第三代价空间;

视差图获取模块,用于通过视差图获取模型,利用第三代价空间计算左视点图像和右视点图像对应的第一视差图。

所述终端可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端的示例,并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。

所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器71也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

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

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

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

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种视差图获取方法、装置、终端和存储介质
  • 视差图的获取方法、装置、计算机设备和存储介质
技术分类

06120112756600