一种立体匹配方法、装置及电子设备与流程

文档序号:32348682发布日期:2022-11-26 12:11阅读:42来源:国知局
一种立体匹配方法、装置及电子设备与流程

1.本技术涉及计算机视觉技术领域,尤其涉及一种立体匹配方法、装置及电子设备。


背景技术:

2.双目立体视觉是计算机视觉系统中的一种,其主要是通过相机(在双目立体视觉系统中是两台相机)对外界进行图像采集,然后根据视差原理重现外界景物的三维形状和坐标信息的过程。具体地,假设输入的左图像和右图像分别为il和ir,以左图像il为基准图,给定左图像il中的一个像素点(xl,yl),计算出这个像素点在右图像ir中的对应点(xr,yr),该过程称为立体匹配。再利用像素点在左右图像上的坐标计算视差d=xl-xr,最后根据视差d恢复场景的深度z=bf/d,其中,b为双目相机之间连线的距离,f为双目相机的焦距。因此双目立体视觉的核心在于立体匹配算法及视差图计算。
3.近年来,基于深度学习方法的双目立体匹配算法与传统立体匹配方法相比,在弱纹理目标、遮挡处理等方面表现出显著的优势。但是现有的基于深度学习的双目匹配方法,大多只能输出某个固定分辨率的视差图。例如,输入图片分辨率为w
×
h,网络只能输出某个固定的分辨率的视差图,如w
×
h或w/2
×
h/2,不能输出任意分辨率的视差图。而且,基于深度学习的双目匹配方法在真实环境中容易受到不同的干扰,比如噪声,弱纹理,运动模糊等,使得该方法在视差估计精度上仍然有提升空间。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种立体匹配方法、装置及电子设备,可以解决相关技术中的至少一个技术问题。
5.第一方面,本技术一实施例提供了一种立体匹配方法,包括:获取左、右相机采集的左图像和右图像,并分别对所述左图像及所述右图像进行下采样特征提取得到相应的左图特征及右图特征;计算左图特征和所述右图特征在不同视差处的相关性,得到代价空间;对所述代价空间进行上采样至目标分辨率;其中,所述目标分辨率为可变分辨率;根据上采样后的所述代价空间估计立体匹配视差,得到所述目标分辨率下的目标视差。
6.本实施例对代价空间进行上采样,再基于上采样后的代价空间计算视差,可以得到任意分辨率的视差图,给实际应用带来很大的便利。
7.在一些实施例中,所述根据上采样后的所述代价空间估计立体匹配视差,得到所述目标分辨率下的目标视差,包括:基于上采样后的代价空间估计立体匹配视差,并利用初始视差和初始隐藏特征或上一次迭代得到的视差和隐藏特征对立体匹配视差进行多次迭代计算,得到所述目标分辨率下的目标视差;其中,所述初始视差及所述初始隐藏特征为所述迭代计算中进行第一次迭代运算所使用,所述初始视差为第一次立体匹配得到的视差,所述初始隐藏特征为左图特征、右图特征或一个全部为零的特征中任一特征。
8.本实施例通过循环迭代的反馈结构,使得估计出的视差图具有更高的精度、更好的鲁棒性。
9.第二方面,本技术一实施例提供一种立体匹配装置,包括:获取模块,用于获取左、右相机采集的左图像和右图像;特征提取模块,用于分别对所述左图像及所述右图像进行下采样特征提取得到相应的左图特征及右图特征;相关模块,用于计算所述左图特征和所述右图特征在不同视差处的相关性,得到代价空间;上采样模块,用于对所述代价空间进行上采样至目标分辨率;其中,所述目标分辨率为可变分辨率;视差计算模块,用于根据上采样后的所述代价空间估计立体匹配视差,得到所述目标分辨率下的目标视差。
10.第三方面,本技术一实施例提供一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一实施例所述的立体匹配方法。
11.第四方面,本技术一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一实施例所述的立体匹配方法。
12.第五方面,本技术一实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面任一实施例所述的立体匹配方法。
13.应理解,第二方面至第五方面的有益效果可以参见第一方面的相关描述,此处不再赘述。
附图说明
14.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1是本技术一实施例提供的一种立体匹配方法的实现流程示意图;
16.图2是本技术一实施例提供的一种立体匹配网络的结构示意图;
17.图3是本技术一实施例提供的另一种立体匹配网络中迭代模块的结构示意图;
18.图4是本技术一实施例提供的另一种立体匹配方法的实现流程示意图;
19.图5a是本技术一实施例提供的一种迭代计算过程的实现流程示意图;
20.图5b是本技术一实施例提供的另一种立体匹配网络中迭代模块的结构示意图;
21.图6是本技术一实施例提供的另一种迭代计算过程的实现流程示意图;
22.图7是本技术一实施例提供的另一种立体匹配网络中迭代模块的结构示意图;
23.图8是本技术一实施例提供的另一种迭代计算过程的实现流程示意图;
24.图9是本技术一实施例提供的另一种立体匹配网络中迭代模块的结构示意图;
25.图10是本技术一实施例提供的另一种迭代计算过程的实现流程示意图;
26.图11是本技术一实施例提供的另一种立体匹配网络中迭代模块的结构示意图;
27.图12是本技术一实施例提供的一种立体匹配装置的结构示意图;
28.图13是本技术一实施例提供的另一种立体匹配装置的结构示意图;
29.图14是本技术一实施例提供的一种电子设备的结构示意图。
具体实施方式
30.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
31.在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
32.在本技术说明书中描述的“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
33.此外,在本技术的描述中,“多个”的含义是两个或两个以上。术语“第一”和“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
34.经典的双目网络会输出一个固定分辨率的视差图,比如输出与输入分辨率相同的视差图。但在实际应用中,会遇到期望输出不同分辨率视差图的情况。
35.为了获得任意分辨率的视差图,本技术实施例提供一种立体匹配方法、装置和电子设备。图1是本技术一实施例提供的一种立体匹配方法的实现流程示意图,本实施例中的立体匹配方法可由电子设备执行,电子设备包括但不限于计算机、平板电脑、服务器、手机、可穿戴设备、相机、机器人、车载终端等;其中,服务器包括但不限于独立服务器或云服务器等。结合图1和图2所示,本技术提供的立体匹配方法与立体匹配网络中各模块对应设置,具体地,立体匹配方法可以包括步骤s110至步骤s150。
36.s110,获取双目相机采集的左图像和右图像。
37.电子设备通过双目相机采集左图像和右图像,也即通过左、右相机采集左、右图像。电子设备可以与双目相机相互独立,也可以包括双目相机。电子设备获取双目相机采集的左图像和右图像。左图像记为p
l
,右图记为pr。
38.在本技术的一个实施例中,立体匹配网络包括输入模块(图2未示出),用于获取双目相机采集的左图像和右图像。
39.s120,提取左图像的左图特征,提取右图像的右图特征。
40.对左图像p
l
进行特征提取得到左图特征,左图特征记为f
l
。对右图像pr进行特征提取得到右图特征,右图特征记为fr。
41.在本技术的一个实施例中,如图2所示,立体匹配网络包括特征提取模块,用于将左图像p
l
和右图像pr分别输入特征提取模块以提取图像的抽象特征。特征提取模块可以通过卷积网络实现对输入图像进行下采样操作,从而得到左图特征及右图特征。需要说明的是,本技术对特征提取模块的实现方式不作具体限定。
42.s130,对左图特征和右图特征进行相关计算,得到代价空间。
43.根据以下公式,对左图特征f
l
和右图特征fr进行相关计算得到代价空间c
corr

[0044][0045]
其中,《
·

·
》为内积操作,nc为特征的通道数,f
l
和fr分别是左图特征和右图特征,在每一个视差d中都需要进行一次内积操作。
[0046]
在本技术的一个实施例中,立体匹配网络还包括特征相关模块。继续参见图2所示,将左图特征和右图特征输入特征相关模块,计算左图特征f
l
和右图特征fr在不同视差处的相关性,得到代价空间c
corr

[0047]
s140,对代价空间进行上采样至目标分辨率。
[0048]
其中,目标分辨率为可变分辨率。对代价空间进行上采样至目标分辨率,上采样的方法可以采用双线性插值、最近邻插值等方法。需要说明的是,目标分辨率可以为任意分辨率,其由输出的目标视差图的分辨率确定,此处不作限制。另外,本技术对上采样的方法不予具体限定,任何可实现本技术发明构思的上采样方法都可以用于本技术。
[0049]
在本技术的一个实施例中,立体匹配网络还包括上采样模块。继续参见图2所示,将代价空间c
corr
输入上采样模块以上采样至目标分辨率,得到上采样后的代价空间c’corr
。上采样模块可以通过卷积网络实现对代价空间进行上采样操作。本技术对上采样模块的实现方式不作具体限定。
[0050]
在一些实施例中,在步骤s140之前,还可以包括获取目标分辨率的步骤。在一个实施例中,在步骤s140之前,还可以包括步骤:获取用户输入的目标分辨率。
[0051]
s150,根据上采样后的代价空间估计立体匹配视差,得到目标分辨率下的目标视差。
[0052]
假设左图像和右图像的分辨率为h
×
w,构建好的代价空间的维度为期望输出的视差图的目标分辨率为h
′×w′
。通过对代价空间进行上采样至目标分辨率后,此时上采样后的代价空间的维度为h
′×w′×
c1,基于上采样后的代价空间估计立体匹配视差,从而得到满足目标分辨率h
′×w′
的目标视差。
[0053]
在一些实施例中,对上采样后的代价空间进行softargmin操作或在通道维度上进行全连接操作以估计立体匹配视差。作为一非限制性示例,根据如下公式进行softargmin操作,得到立体匹配视差d
softargmin
softargmin:
[0054][0055]
其中,σ(
·
)为softmax操作(即softmax运算),c

corr
为上采样后的代价空间,每个视差d的概率是通过softmax运算从上采样后的代价空间c

corr
计算得到的,立体匹配视差d
softargmin
softargmin是由每个视差d的概率加权得到的。上述视差回归方法具有更强的鲁棒性。
[0056]
作为另一非限制性示例,对上采样后的代价空间,在通道维度上进行全连接操作,得到立体匹配视差。
[0057]
在本技术的一个实施例中,立体匹配网络还包括视差计算模块,如图2所示,将上采样后的代价空间c’corr
输入视差计算模块得到立体匹配视差。需要说明的是,经典的立体匹配网络一般包含了特征提取模块、特征相关模块和视差计算模块,比如金字塔立体匹配网络(pyramid stereo matching network,psmnet)、立体网络(stereonet)等,本技术实施
例相比于经典的立体匹配网络,增加了上采样模块,从而可以得到任意目标分辨率的视差图。
[0058]
为了更好的理解本技术实施例的技术方案,对其工作原理进行更详细地说明。如果输入的左图像和右图像的分辨率是h
×
w,由于计算量过大的原因,计算代价空间时是不会在原分辨率进行的,因此其在特征提取时把特征下采样n倍到再计算代价空间,这时代价空间的维度为c是代价空间的通道数。若此时计算视差,则得到固定的视差分辨率为此,在本技术实施例中对代价空间进行上采样后再进行视差计算便可以得到到任意目标分辨率的视差图,比如如果得到代价空间的维度为而目标分辨率为得到目标分辨率,对代价空间进行上采样后再计算视差,便可得到目标分辨率为的视差图。
[0059]
需要说明的是,经研究发现,直接利用上采样后的代价空间进行计算得到视差的精度不是特别高,所以本技术其他实施例在前述实施例的基础上,在立体匹配网络中视差计算模块的输出侧增加相关特征滤波模块(或称迭代模块),对输出的视差图进行优化得到更高精度的视差,从而达到增强立体匹配网络鲁棒性的目的。迭代模块是本技术实施例的另一核心发明点。
[0060]
在本实施例中,迭代模块(即相关特征滤波模块),会通过一些反馈信号对上一次迭代的结果进行优化,迭代的次数为多次,即对应地迭代模块有多个,迭代的次数决定输出目标视差的精度及模型推理耗时,因此可根据实际情况设计,其可以由用户自定义,也可以由系统默认设置。具体地,如图3所示,迭代模块主要用于根据初始视差或上一次迭代得到的视差并结合双目立体视觉的物理限制得到反馈信息,根据反馈信息对初始视差或上一次迭代得到的视差进行迭代得到更新后的视差;其中,在迭代过程中将步骤s150得到的立体匹配视差作为初始视差。
[0061]
可见,在这些改进实施例中,根据初始视差或上一次迭代得到的视差并结合双目立体匹配的物理限制得到反馈信号,再将反馈信号输入到下一次迭代中,实现了反馈系统,使得视差估计精度在多次反馈中得到提升。
[0062]
以下通过具体实施例分别说明两种迭代模块的实现方法,需要说明的是,迭代模块的实现方法不限于以下所举。
[0063]
图4所示为本技术另一实施例提供的立体匹配方法。需要理解的是,图4所示实施例与图1所示实施例相同之处,此处不再赘述,请参见前述。
[0064]
如图4所示,立体匹配方法可以包括步骤s210至s250。
[0065]
s210,获取双目相机采集的左图像和右图像。
[0066]
s220,提取左图像的左图特征,提取右图像的右图特征。
[0067]
s230,对左图特征和右图特征进行相关计算,得到代价空间。
[0068]
s240,对代价空间进行上采样至目标分辨率。
[0069]
s250,基于上采样后的代价空间估计立体匹配视差,并对立体匹配视差进行多次迭代计算,得到目标分辨率下的目标视差。
[0070]
在一个实施例中,如图5a所示,迭代计算过程更具体包括:
[0071]
s260,根据初始视差或上一次迭代得到的视差对右图特征进行图像仿射变换,得到理想左图特征。
[0072]
s270,将理想左图特征和左图特征进行融合,得到融合特征。
[0073]
s280,根据融合特征、左图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。其中,隐藏特征为根据融合特征、左图特征和初始隐藏特征或上一次迭代得到的隐藏特征并结合双目立体视觉的物理限制得到反馈信息。
[0074]
应当说明的是,步骤s260至s280为本技术一实施例所提供的迭代过程。在迭代过程中,初始视差及初始隐藏特征是针对第一次迭代而言的,优选地,步骤s250得到的立体匹配视差可作为初始视差,初始隐藏特征优选使用左图特征f
l
或一个全部为零的特征。另外,双目视觉的物理限制为使用立体匹配所需考虑的约束准则、匹配基元选取等属性问题。
[0075]
在一些实施例中,如图5b所示,立体匹配网络的迭代模块可以包括图像仿射变换(warp)模块、warp特征融合模块和更新模块以用于实现迭代计算。
[0076]
在一个实施例中,warp模块用于实现步骤s260,更具体地,在本技术中,图像仿射变换(warp)操作的原理为:基于立体匹配网络中估计出的视差为左图像和右图像中对应像素点的差值,根据估计出的视差值和右图特征倒推回左图特征,若立体匹配网络估计的视差正确,那么在理想状态下,除了遮挡区域,基于右图特征倒推回去的理想左图特征(记为f
l-warp
)和左图特征f
l
应该完全相同。因此,在本技术一个实施例中,warp模块执行的warp操作可以表示为:假设上一次迭代估计出的视差值为d,则对于左图像中的每一个像素x=(u,v),都可以在右图像中找到与之相对应的像素x

=(u-d(u,v),v),这样就可以使用索引x

在右图特征fr上取值,得到理想左图特征f
l-warp

[0077]
在一个实施例中,warp特征融合模块用于基于warp模块得到的倒退回的理想左图特征f
l-warp
实现步骤s270,具体地,warp特征融合模块将理想左图特征f
l-war
和左图特征f
l
融合得到融合特征。需要说明的是,融合的方法可以包括但不限于融合(concate)操作或相减操作等。
[0078]
在一个实施例中,更新模块用于利用融合特征实现步骤s280。具体地,将融合特征、左图特征f
l
以及初始隐藏特征或上一次迭代的隐藏特征一起输入进更新模块,从而输出本次迭代的隐藏特征和本次迭代的估计视差;其中,更新模块的结构可以使用lstm或gru等序列模型等,此处不再限制。
[0079]
在其他变型实施例中,可以改变参考特征,选择倒推回右图特征。此时,如图6所示,图5a所示实施例中的步骤s260至s280可以替换为:s261,根据初始视差或上一次迭代得到的视差对左图特征进行图像仿射变换,得到理想右图特征;s271,将理想右图特征和右图特征进行融合得到融合特征;s281,根据融合特征、右图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。
[0080]
在一个实施例中,如图7所示,立体匹配网络的迭代模块可以包括warp模块、warp特征融合模块和更新模块。其中,warp模块用于实现步骤s261,warp特征融合模块用于实现步骤s271,更新模块用于实现步骤s281。
[0081]
应当理解的是,图6和图7所示的变型实施例与前述图5a和图5b所示实施例的工作原理相同,本领域技术人员可以根据前述实施例实现本变型实施例,此处不再赘述。
[0082]
在另一个实施例中,如图8所示,迭代计算过程更具体包括:
[0083]
s360,查询初始视差或上一次迭代得到的视差在代价空间上相对应的代价参数,将代价参数作为反馈特征。
[0084]
s370,根据反馈特征、左图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。
[0085]
应当说明的是,步骤s360至s370为本技术另一实施例提供的迭代过程。在迭代过程中,初始视差和初始隐藏特征是针对第一次迭代而言的,优选地,步骤s350得到的立体匹配视差可作为初始视差进行第一次迭代计算,初始隐藏特征可以使用左图特征f
l
或者一个全部为零的特征。
[0086]
在一些实施例中,如图9所示,立体匹配网络的迭代模块可以包括代价空间查询模块和更新模块。在一个实施例中,代价空间查询模块用于实现步骤s360,具体地,步骤s360可以包括:根据初始视差或上一次迭代得到的视差和左图像中像素的横坐标,计算右图像中对应像素的横坐标;根据右图像中对应像素的横坐标构建查询索引集合;通过查询索引集合在代价空间上确定对应的代价参数并将代价参数作为反馈特征。
[0087]
作为一非限制性示例,首先,假设上一次迭代估计出的视差值为d,则对于左图像中的每一个像素x=(u,v),都可以在右图像中找到与之相对应的像素x

=(u-d(u,v),v),此时右图像对应的横坐标为u

=u-d(u,v),之后,根据右图像对应的横坐标为u

=u-d(u,v),构建在代价空间上的查询索引集合n(u’):
[0088]
n(u

)={u

+dx|dx∈z,‖dx‖1≤r},
[0089]
其中,r表示查询范围,z表示查询索引集合n(u’)中的整数集,dx∈z表示dx属于整数,||dx||1≤r的意思是dx的l1范数小于或等于r。通过该查询索引集合n(u’)可在代价空间上确定对应的代价参数得到反馈特征。
[0090]
在一个实施例中,更新模块用于实现步骤s370。具体地,将融合特征、左图特征f
l
和初始隐藏特征或上一次迭代的隐藏特征一起输入进更新模块,从而输出本次迭代的隐藏特征和本次迭代的估计视差。其中,更新模块的结构可以使用lstm或gru等序列模型。
[0091]
需要说明的是,本实施例中迭代模块的方案不采用warp操作,而是依据上一次迭代估计出的视差在代价空间上查询该视差对应的代价参数作为反馈特征,且相关模块只需要运行一次,即步骤s330只执行一次,其生成的代价空间c
corr
在后续的迭代中可以复用。
[0092]
在其他变型实施例中,可以改变参考图像为右图。此时,如图10所示,图8所示实施例中的步骤s370可以替换为:s371,根据反馈特征、右图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。
[0093]
在一些实施例中,如图11所示,立体匹配网络的迭代模块可以包括代价空间查询模块和更新模块。在一个实施例中,代价空间查询模块用于实现步骤s360,具体地,步骤s360可以包括:根据初始视差或上一次迭代得到的视差和右图像中像素的横坐标,计算左图像中对应像素的横坐标;根据左图像中对应像素的横坐标,确定查询索引集合;通过查询索引集合在代价空间上取相对应的代价参数,将代价参数作为反馈特征。
[0094]
在一个实施例中,更新模块用于实现步骤s371,具体地,步骤s371包括:根据反馈
特征、右图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。需要说明的是,针对第一次迭代而言,上一次迭代的隐藏特征是初始隐藏特征,优选地,可以使用右图特征fr或者一个全部为零的特征作为初始隐藏特征。
[0095]
应当理解的是,图10和图11所示的变型实施例与前述图8和图9所示实施例的工作原理相同,本领域技术人员可以根据前述实施例实现本变型实施例,此处不再赘述。
[0096]
综上,与现有技术相比,本技术实施例可以只用同一网络输出不同分辨率的视差,给实际应用带来很大的便利。此外,通过循环迭代的结构可使得立体匹配网络估计出的视差图具有更高的精度、更好的鲁棒性。
[0097]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0098]
本技术一实施例还提供一种立体匹配装置。该立体匹配装置中未详细描述之处请详见前述立体匹配方法实施例中的描述。
[0099]
图12是本技术一实施例提供的一种立体匹配装置的结构示意图。参见图12,立体匹配装置包括:获取模块121、特征提取模块122、相关模块123、上采样模块124、和视差计算模块125;其中,获取模块121,用于获取双目相机采集的左图像和右图像;特征提取模块122,用于提取左图像的左图特征,提取右图像的右图特征;相关模块123,用于对左图特征和右图特征进行相关计算,得到代价空间;上采样模块124,用于对代价空间进行上采样至目标分辨率;视差计算模块125,用于根据上采样后的代价空间估计立体匹配视差,得到目标分辨率下的目标视差。
[0100]
图13是本技术另一实施例提供的一种立体匹配装置的结构示意图。参见图13,立体匹配装置除了包括图12所示的获取模块121、特征提取模块122、相关模块123、上采样模块124、和视差计算模块125,还包括一个或多个迭代模块126(图13中仅示出一个)。
[0101]
在一些实施例中,迭代模块126,用于根据初始视差或上一次迭代得到的视差对右图特征进行图像仿射变换,得到理想左图特征;将理想左图特征和左图特征进行融合得到融合特征;根据融合特征、左图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。
[0102]
在其他一些实施例中,迭代模块126,用于根据初始视差或上一次迭代得到的视差对左图特征进行图像仿射变换,得到理想右图特征;将理想右图特征和右图特征进行融合,得到融合特征;根据融合特征、右图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。
[0103]
在其他一些实施例中,迭代模块126,用于根据初始视差或上一次迭代得到的视差和左图像中像素的横坐标,计算右图像中对应像素的横坐标;根据右图像中对应像素的横坐标,确定查询索引集合;通过查询索引集合在代价空间上取相对应的代价参数,将代价参数作为反馈特征;根据反馈特征、左图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。
[0104]
在其他一些实施例中,迭代模块126,用于根据初始视差或上一次迭代得到的视差和右图像中像素的横坐标,计算左图像中对应像素的横坐标;根据左图像中对应像素的横坐标,确定查询索引集合;通过查询索引集合在代价空间上取相对应的代价参数,将代价参
数作为反馈特征;根据反馈特征、右图特征和初始隐藏特征或上一次迭代得到的隐藏特征计算本次迭代的隐藏特征和本次迭代的视差。
[0105]
在一个实施例中,立体匹配装置还可包括左、右相机,用于分别采集目标区域的左、右图像。进一步地,立体匹配装置亦可包括投影模组,用于向目标区域投影图案化光束,左、右相机用于分别采集经目标区域反射回的图案化光束,其中,图案化光束可为散斑、条纹或编码结构光,此处不作限制。
[0106]
本技术一实施例还提供了一种电子设备,如图14所示,电子设备可以包括一个或多个处理器100(图14中仅示出一个),存储器101以及存储在存储器101中并可在一个或多个处理器100上运行的计算机程序102,例如,立体匹配的程序。一个或多个处理器100执行计算机程序102时可以实现立体匹配方法实施例中的各个步骤。或者,一个或多个处理器100执行计算机程序102时可以实现立体匹配装置实施例中各模块/单元的功能,此处不作限制。
[0107]
本领域技术人员可以理解,图14仅仅是电子设备的示例,并不构成对电子设备的限定。电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0108]
在一个实施例中,所称处理器100可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0109]
在一个实施例中,存储器101可以是电子设备的内部存储单元,例如电子设备的硬盘或内存。存储器101也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器101还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器101用于存储计算机程序以及电子设备所需的其他程序和数据。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
[0110]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0111]
本技术一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现立体匹配方法实施例中的各个步骤。
[0112]
本技术一实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运
行时,使得电子设备可实现立体匹配方法实施例中的各个步骤。
[0113]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0114]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0115]
在本技术所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0116]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0117]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0118]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0119]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1