视差图生成方法、装置、设备和计算机可读存储介质与流程

文档序号:32784228发布日期:2023-01-03 16:55阅读:43来源:国知局
视差图生成方法、装置、设备和计算机可读存储介质与流程

1.本技术实施例涉及图像处理领域,具体涉及一种视差图生成方法、装置、设备和计算机可读存储介质。


背景技术:

2.视差图描述了同一个场景在两个相机下成像的像素的位置偏差,通常可以用于确定深度信息。目前比较常用的视差图生成方法是基于块匹配的稠密视差算法。
3.其中,在基于块匹配的稠密视差算法中需要设定视差值搜索范围作为搜索双目匹配块的限定范围,而现有技术中通常都是设定固定的视差值搜索范围。这会导致在某些远景或者近景的情况下,由于场景的最大视差值与预先设定的视差值搜索范围不匹配,而导致视差图动态区间被压缩到很窄的一部分或场景中超出视差值搜索范围的部分区域无法计算视差,导致得到的视差图存在明显误差。


技术实现要素:

4.本技术实施例提供一种视差图生成方法、装置、设备和计算机可读存储介质,旨在改善现有的视差图生成方法中存在的场景的最大视差值与预先设定的视差值搜索范围不匹配而导致的问题。
5.一方面,本技术实施例提供一种视差图生成方法,包括:
6.获取待处理图像的若干关联关键点对;其中,每组关联关键对包括一个第一关键点以及第一关键点对应的第二关键点,第一关键点为待处理图像中的一个像素点,第二关键点为待处理图像对应的辅助图像中的一个像素点;
7.根据若干关联关键点对,确定待处理图像对应的目标视差值;
8.根据目标视差值、待处理图像和辅助图像,生成视差图。
9.另一方面,本技术实施例还提供一种视差图生成装置,包括:
10.关键点对获取模块,用于获取待处理图像的若干关联关键点对;其中,每组关联关键对包括一个第一关键点以及第一关键点对应的第二关键点,第一关键点为待处理图像中的一个像素点,第二关键点为待处理图像对应的辅助图像中的一个像素点;
11.目标视差值计算模块,用于根据若干关联关键点对,确定待处理图像对应的目标视差值;
12.视差图生成模块,用于根据目标视差值、待处理图像和辅助图像,生成视差图。
13.另一方面,本技术实施例还提供一种视差图生成设备,包括
14.一个或多个处理器;
15.存储器;以及
16.一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现上述的视差图生成方法中的步骤。
17.另一方面,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质
上存储有计算机程序,计算机程序被处理器进行加载,以执行上述的视差图生成方法中的步骤。
18.本技术的技术方案中,通过利用待处理图像和辅助图像中的若干关联关键点对去计算待处理图像对应的目标视差值,然后利用目标视差值、待处理图像和辅助图像去生成视差图,相对于现有技术中直接利用设定好的视差值搜索范围对待处理图像和辅助图像进行处理的技术方案,充分考虑到了目标视差值的影响,使得生成的视差图更加精准,解决了视差图动态区间被压缩或是场景中超出视差值搜索范围的部分区域无法计算视差的问题。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例提供的视差图生成方法的场景示意图;
21.图2是本技术实施例中提供的视差图生成方法的第一实施例流程示意图;
22.图3是本技术实施例中提供的视差图生成方法中第二实施例的流程示意图;
23.图4是本技术实施例中提供的视差图生成方法中第三实施例的流程示意图;
24.图5是本技术实施例中提供的视差图生成方法中第四实施例的流程示意图;
25.图6是本技术实施例中提供的视差图生成方法中第五实施例的流程示意图;
26.图7是本技术实施例中提供的视差图生成方法中第六实施例的流程示意图;
27.图8是本技术实施例中提供的视差图生成方法中第七实施例的流程示意图;
28.图9是本技术实施例中提供的视差图生成方法中第八实施例的流程示意图;
29.图10是本技术实施例中提供的视差图生成装置的一个实施例结构示意图;
30.图11是本技术实施例中提供的视差图生成设备的一个实施例结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明包含的范围。
32.在本技术实施例中,“示例性”一词用来表示“用作例子、例证或说明”。本技术实施例中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术实施例所公开的原理和特征的最广范围相一致。
33.本技术实施例中提供一种视差图生成方法、装置、设备和计算机可读存储介质,以下分别进行详细说明。
34.本发明实施例中的视差图生成方法应用于视差图生成装置,视差图生成装置设置于视差图生成设备,视差图生成设备中设置有一个或多个处理器、存储器,以及一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现视差图生成方法;视差图生成设备可以是终端,例如,手机或平板电脑,视差图生成设备还可以是一台服务器,或者多台服务器组成的服务集群。
35.如图1所示,图1为本技术实施例视差图生成的场景示意图,本发明实施例中视差图生成场景中包括视差图生成设备100(视差图生成设备100中集成有视差图生成装置),视差图生成设备100中运行视差图生成方法对应的计算机可读存储介质,以执行视差图生成的步骤。
36.可以理解的是,图1所示视差图生成的场景中的视差图生成设备,或者视差图生成设备中包含的装置并不构成对本发明实施例的限制,即,视差图生成的场景中包含的设备数量、设备种类,或者各个设备中包含的装置数量、装置种类不影响本发明实施例中技术方案整体实现,均可以算作本发明实施例要求保护技术方案的等效替换或衍生。
37.本发明实施例中视差图生成设备100主要用于:获取待处理图像的若干关联关键点对;其中,每组关联关键对包括一个第一关键点以及第一关键点对应的第二关键点,第一关键点为待处理图像中的一个像素点,第二关键点为待处理图像对应的辅助图像中的一个像素点;根据若干关联关键点对,确定待处理图像对应的目标视差值;根据目标视差值、待处理图像和辅助图像,生成视差图。
38.本发明实施例中该视差图生成设备100可以是独立的视差图生成设备,也可以是视差图生成设备组成的视差图生成设备网络或视差图生成设备集群,例如,本发明实施例中所描述的视差图生成设备100,其包括但不限于计算机、网络主机、单个网络视差图生成设备、多个网络视差图生成设备集或多个视差图生成设备构成的云视差图生成设备。其中,云视差图生成设备由基于云计算(cloud computing)的大量计算机或网络视差图生成设备构成。
39.本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本技术实施例方案一种应用场景,并不构成对本技术实施例方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的视差图生成设备,或者视差图生成设备网络连接关系,例如图1中仅示出1个视差图生成设备,可以理解的,该视差图生成的场景还可以包括一个或多个其他视差图生成设备,具体此处不作限定;该视差图生成设备100中还可以包括存储器。
40.此外,本技术实施例视差图生成的场景中视差图生成设备100可以设置显示装置,或者视差图生成设备100中不设置显示装置与外接的显示装置200通讯连接,显示装置200用于输出视差图生成设备中视差图生成方法执行的结果。视差图生成设备100可以访问后台数据库300(后台数据库可以是视差图生成设备的本地存储器中,后台数据库还可以设置在云端),后台数据库300中保存有视差图生成相关的信息。
41.需要说明的是,图1所示的视差图生成的场景示意图仅仅是一个示例,本发明实施例描述的视差图生成的场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定。
42.基于上述视差图生成的场景,提出了视差图生成方法的实施例。
43.如图2所示,图2为本技术实施例中视差图生成方法的第一实施例流程示意图,本
实施例中视差图生成方法包括步骤201-203:
44.201,获取待处理图像的若干关联关键点对。
45.本实施例中,每组关联关键对包括一个第一关键点以及第一关键点对应的第二关键点,其中第一关键点是待处理图像中的一个像素点,而第二关键点为待处理图像对应的辅助图像中的一个像素点。其中,待处理图像和辅助图像是用于计算视差图的两幅图像,分别是两个相距一定距离的镜头针对于同一场景采集到的图像,通常情况下,是由双目相机的两个镜头采集到的图像。为便于后续描述,可以认为双目相机的左镜头所采集的图像为待处理图像,也就是主图像,而将双目相机的右镜头所采集的图像视为辅助图像,也就是副图像。当然,将双目相机的右镜头所采集的图像视为待处理图像也是可行的,本发明在此不再赘述。
46.需要说明的一点是,由于待处理图像和辅助图像是相对应的,第一关键点和第二关键点也是相对应的,因此,后续步骤中若无特殊说明,对待处理图像和辅助图像中的某一图像进行处理时或对第一关键点和第二关键点中的某一关键点进行处理时,可以认为对待处理图像和辅助图像中的任一图像或者对任一关键点进行处理均是可行的。
47.本实施例中,待处理图像的若干关联关键点对通常是由两个关键点在各自图像中的坐标构成,也就是包含了两个关键点坐标。
48.本实施例中,由待处理图像中和辅助图像中的关键点所组成的若干关联关键点对可以是预先通过标识的方式采集得到,例如,在场景中预先设置有若干标识点,分别统计采集得到的待处理图像和辅助图像中同一标识点的位置信息,也就是坐标,就可以得到若干关联关键点对。当然,若没有预先在关联关键点对中设置标识点,也可以先按照预定的采样方式在待处理图像上采集得到若干采样点,并视为第一关键点,然后基于光流追踪或其他现有的匹配算法在辅助图像中确定出与各第一关键点对应的第二关键点也是可行的。具体可以参考后续图9及其解释说明的内容。
49.202,根据若干关联关键点对,确定待处理图像对应的目标视差值。
50.考虑到本技术是为了改善场景的最大视差值与预先设定的视差值搜索范围不匹配而导致的问题,也就是说需要使设定的视差值搜索范围与待处理图像的最大视差值相匹配,因此所确定的待处理图像对应的目标视差值需要和待处理图像的最大视差值相关联。例如,目标视差值可以直接是待处理图像的最大视差值,也可以是在最大视差值的基础上加上一定的余量。当然了,目标视差值也可以同时和待处理图像的最小视差值相关联,例如可以将最大视差值和最小视差值的差值作为目标视差值。目标视差值和最大视差值之间的具体关系可以根据实际需要设定,本发明对此不做限定。
51.利用前述步骤提取到的若干关联关键点对,对待处理图像的目标视差值进行计算,后续就可以利用计算出的目标视差值,对待处理图像做更加精确的视差值计算。
52.本实施例中,具体计算目标视差值的方式有很多种,所得到的目标视差值也会不同,显然会影响到后续视差值计算的效果。例如,可以直接计算关联关键点对中各对应第一关键点和第二关键点之间的距离,并将计算得到的最大距离值视为目标值差值,但由于双目相机镜头本身存在的畸变问题,会导致这样计算得到的目标视差值并不够精确。若采用其他复杂算法可以得到足够精度的目标视差值,但会影响到方案的实时性。
53.为保证目标视差值的精度,以及方案的实时性,作为优选,本技术提供了一种计算
目标视差值的方法,利用到在计算视差图的过程中通常需要先对图像进行校正所计算得到的投影变换矩阵去计算目标视差值,在保证目标视差值的精度的同时,可以有效降低计算量,提高方案的实时性,具体内容请参考后续图3及其解释说明的内容。
54.203,根据目标视差值、待处理图像和辅助图像,生成视差图。
55.本实施例中,通常情况下,利用基于块匹配的稠密视差算法对待处理图像和辅助图像进行处理,就可以得到视差图,但若稠密视差算法中所设置的固定参数不匹配,容易导致视差图动态区间被压缩到很窄的一部分或场景中超出视差值搜索范围的部分区域无法计算视差。本技术在生成视差图的过程中,通过额外引入目标视差值,视差图生成设备就可以利用目标视差值适应性调整基于块匹配的稠密视差算法的参数,从而保证了生成的视差图的准确率。具体的,请参考后续图5及其解释说明的内容。
56.本实施例提供的视差图生成方法,通过利用待处理图像和辅助图像中的若干关联关键点对去计算待处理图像对应的目标视差值,然后利用目标视差值、待处理图像和辅助图像去生成视差图,相对于现有技术中直接利用设定好的视差值搜索范围对待处理图像和辅助图像进行处理的技术方案,充分考虑到了目标视差值的影响,使得生成的视差图更加精准,解决了视差图动态区间被压缩或是场景中超出视差值搜索范围的部分区域无法计算视差的问题。
57.如图3所示,图3为本技术实施例中视差图生成方法的第二实施例流程示意图。
58.本实施例中,考虑到在常规计算视差图的过程中,通常都需要预先对待处理图像和辅助图像进行校正处理,而校正处理也需要利用到若干关联关键点对去计算投影变换矩阵,因此,本技术提出了在校正处理的基础上,进一步利用投影变换矩阵计算目标视差值的实现方式,具体的,包括步骤301~302:
59.301,根据若干关联关键点对,确定待处理图像对应的投影变换矩阵。
60.本实施例中,所确定的投影变换矩阵是使得将第一关键点对应到第二关键点的投影变换矩阵,也就是将第一关键点经过投影变换矩阵处理后,可以对应到第二关键点上。但考虑到存在若干关联关键点对时,无法保证经过投影变换矩阵处理后,各关联关键点对中第一关键点可以刚好对应第二关键点,因此,根据若干关联关键点对所计算得到的投影变换矩阵是指第一关键点经过投影变换矩阵处理后,得到的第三关键点与第二关键点满足行对齐或者列对齐,通常情况下选择对齐方向,与待处理图像和辅助图像的长边相关联。
61.本实施例中,根据若干关联关键点对,确定待处理图像对应的投影变换矩阵属于本领域技术人员的常规技术手段,具体计算公式有很多,其中,一种可行的计算投影变换矩阵的完整流程如下:
62.1)以第一关键点横坐标u、第一关键点纵坐标v、常量1、第二关键点纵坐标v1、综合项uv1和综合项vv1中的第一、第二、第三、第五、第六项作为输入x,第四项作为期望输出y,构建五元线性方程组;
63.2)将各关联关键点对的第一关键点和第二关键点带入,可以根据各关联关键点对的输入x构建输入矩阵a,根据各关联关键点对的期望输出y构建输出矩阵y,并计算自相关矩阵a
t
a;
64.3)计算当前线性方程组的参数取值:β=(a
t
a)-1
(a
t
y);
65.4)计算线性方程组的平均残差:其中,n表示自相关矩阵a
t
a的维度;
66.5)5)以预设的阈值δm判断δ是否满足要求,当δ≤δm时,表明计算得到的线性方程组的参数已经满足要求,执行步骤7),若δ>δm时,表明计算得到的线性方程组的参数仍不满足要求,执行步骤6);
67.6)计算各关联关键点对相应的残差|x-y|,并按照预设规则将对应残差最高的若干个关联关键点删去,并重复步骤1)~5),直至δ≤δm;
68.7)记当前得到的参数五元向量β=(β1,β2,β3,β4,β5),则投影变换矩阵即为:
[0069][0070]
当然,除上述计算投影变换矩阵的方式外,还可以通过bouguet极线校正的方式计算投影变换矩阵,本发明在此不再赘述。
[0071]
302,根据投影变换矩阵和若干关联关键点对,确定待处理图像对应的目标视差值。
[0072]
本实施例中,具体根据投影变换矩阵和若干关联关键点对计算目标视差值的公式,请参阅后续图4及其解释说明的内容。
[0073]
本实施例中,结合前述描述可知,在利用待处理图像和辅助图像计算视差图的过程中,需要预先对待处理图像和辅助图像进行校正处理,因此,在视差图生成设备利用若干关联关键点对,确定待处理图像对应的投影变换矩阵后,还会进一步根据投影变换矩阵,对辅助图像进行调整,得到调整后的辅助图像,具体是,是利用投影变换矩阵,对辅助图像进行卷积运算处理,从而得到调整后的辅助图像,此时,视差图生成设备将对应将利用目标视差值、待处理图像和调整后的辅助图像去计算视差图。
[0074]
本技术实施例,利用到视差图计算过程中往往需要先对图像进行校正的方案,先利用关联关键点对计算得到用于图像校正的投影变换矩阵。一方面投影变换矩阵可以用于完成对图像的校正,另一方面,利用投影变换矩阵对关联关键点对进行校正,进而可以计算得到准确的目标视差值,如此,在后续计算视差图的过程中,可以利用准确的目标视差值和调整后的辅助图像,得到更加精确的视差图。
[0075]
如图4所示,图4为本技术实施例中视差图生成方法的第三实施例流程示意图。
[0076]
本实施例中,提供了一种根据投影变换矩阵和若干关联关键点对计算目标视差值的实现过程,具体的,包括步骤401~402;
[0077]
401,根据投影变换矩阵对各关联关键点对中的第一关键点进行投影变换,得到各关联关键点对对应的第三关键点,并将各关联关键点对中的第二关键点和对应的第三关键点之间的距离作为各关联关键点对的对应距离。
[0078]
本实施例中,结合前述描述可知,对于各关联关键点对中的第一关键点,经过投影变换矩阵处理后,得到第三关键点与各关联关键点对中的第二关键点满足行对齐或者列对齐。若满足行对齐,则计算第三关键点和第二关键点纵坐标的差值,就可以得到各关联关键点对的对应距离,若满足列对齐,则计算第三关键点和第二关键点横坐标的差值,就可以得
到各关联关键点对的对应距离。
[0079]
402,计算各关联关键点对中最大对应距离和最小对应距离之间的差值,并将差值作为待处理图像对应的目标视差值。
[0080]
本实施例中,若各关联关键点对的对应距离中的最大对应距离为δx
max
,最小对应距离为δx
min
,则目标视差值为δx
max-δx
min
。当然,考虑到视差图均采用元素为16bit的无符整型的像素矩阵表示,因此,可以将目标视差值化整,具体的,此时目标视差值的计算公式为:
[0081]
进一步的,作为本技术的可选实施例,还可以利用最小对应距离δx
min
对投影变换矩阵进行修正处理,具体的,假设原始投影变换矩阵满足:
[0082][0083]
则利用最小对应距离δx
min
对投影变换矩阵进行修正处理所得到的修正后的投影变换矩阵为:
[0084][0085]
相比于原始投影变换矩阵,修正后的投影变换矩阵对图像的校正效果更优,可以使校正后图像中最小视差值调整为0。也就是说,在步骤302中提到的利用投影变换矩阵f,对辅助图像进行卷积运算处理,得到调整后的辅助图像可以对应的替换为利用前述修正后的投影变换矩阵f

对辅助图像进行卷积运算处理,得到调整后的辅助图像。并且,由于利用投影变换矩阵f

得到的调整后辅助图像和待处理图像的最小视差值为0,也就是说此时得到的调整后辅助图像和待处理图像所覆盖的重叠区域是最大的,可以进一步提高后续做视差值计算的精度。
[0086]
本实施例中,提供了一种根据投影变换矩阵和若干关联关键点对计算目标视差值的实现过程,具体利用投影变换矩阵对关联关键点对中第一关键点进行校正,消除了图像畸变所带来的关键点位置误差,然后利用校正后的关键点和第二关键点的距离计算待处理图像对应准确的目标视差值。
[0087]
如图5所示,图5为本技术实施例中视差图生成方法的第四实施例流程示意图。
[0088]
本实施例中,提供了根据目标视差值对待处理图像和辅助图像进行处理,得到视差图的流程,具体的,包括步骤,501~504;
[0089]
501,根据预设的视差值与参数映射关系,获取与目标视差值对应的块匹配大小和视差值搜索范围。
[0090]
本实施例中,结合前述描述可知,利用目标视差值来设定基于块匹配的稠密视差算法中相关参数,就可以避免因稠密视差算法中所设置的参数与目标视差值不匹配而导致的视差图动态区间被压缩到很窄的一部分或场景中超出视差值搜索范围的部分区域无法计算视差的技术问题。
[0091]
本实施例中,视差值与参数映射关系是预先存储在视差图生成设备的数据库内,其中,视差值与参数的具体映射关系如下:
[0092]
当目标视差值为(0,16]时,此时稠密视差算法中块匹配大小设定为9,搜索视差范围为[0,16];
[0093]
当目标视差值为(16,32]时,此时稠密视差算法中块匹配大小设定为15,搜索视差范围为[0,16];
[0094]
当目标视差值为(32,64]时,此时稠密视差算法中块匹配大小设定为15,搜索视差范围为[0,32]。
[0095]
本实施例中,后续步骤52~504即为利用基于块匹配的稠密视差算法生成视差图的具体实现流程。
[0096]
502,根据块匹配大小、待处理图像中像素点的像素值和辅助图像中像素点的像素值,确定待处理图像中各像素点在视差值搜索范围内各视差值下的块匹配损失值。
[0097]
本实施例中,目标像素点在视差值搜索范围内目标视差值下的块匹配损失值可以理解为待处理图像中目标像素点一定邻域范围内各像素点与辅助图像内匹配像素点一定邻域范围内各对应像素点之间的差值之和,其中,目标像素点和匹配像素点之间的距离差值等于目标视差值,计算块匹配损失值的具体计算公式,请参阅后续图6及其解释说明的内容。
[0098]
块匹配损失值描述了目标像素点和匹配像素点之间的相似度,显然,损失值越小,则待处理图像中目标像素点和辅助图像内该匹配像素点越可能是同一点,也就是目标像素点的真实视差值越可能是目标像素点和匹配像素点之间的差值,也就是目标视差值。
[0099]
503,获取以各像素点的视差值作为自变量,全局损失值作为因变量的全局能量函数。
[0100]
本实施例中,对于待处理图像中的每个像素点,每一个视差值都可以计算得到一个块匹配损失值。此外,考虑到在非遮挡的场景中,各像素点的视差值应当是平稳变化的,基于上述综合考虑,通过构建以待处理图像中各像素点的块匹配损失值之和,和相邻像素点视差值的差值之和的总和作为因变量的目标函数,求解待处理图像中的每个像素点对应的最优视差值。也就是说,在每个像素点取到最优视差值时,此时各像素点对应的块匹配损失值之和,和相邻像素点视差值的差值之和的总和最小。
[0101]
504,计算使全局损失值取值最低时各像素点的最优视差值,并根据各像素点的最优视差值,生成视差图。
[0102]
本实施例中,当全局损失值取值最低时各像素点的视差值取值即为最优视差值,也就是视差图中各像素点的取值。
[0103]
本实施例中,提供了利用最大视差值获取到对应的块匹配大小参数和视差搜索范围参数,然后基于块匹配大小参数和视差搜索范围参数求解各像素点的最优视差值,从而得到视差图。
[0104]
如图6所示,图6为本技术实施例中视差图生成方法的第五实施例流程示意图。
[0105]
由于对于待处理图像中的每一个像素点和视差值搜索范围内的每一个视差值下都可以计算得到对应的块匹配损失值。因此,本实施例是以待处理图像上的目标像素点和视差值搜索范围内的目标视差值为例进行说明计算块匹配损失值的流程,针对于待处理图像上的全部像素点以及视差值搜索范围内的全部视差值都可以采用相似的处理流程得到对应的块匹配损失值,具体的,包括步骤,601~605;
[0106]
601,确定待处理图像上的目标像素点和视差值搜索范围内的第一视差值。
[0107]
本实施例中,目标像素点是待处理图像中的任一像素点,而第一视差值是视差值搜索范围内的任一视差值。
[0108]
602,根据块匹配大小以及目标像素点确定待处理图像上的目标像素块。
[0109]
本实施例中,目标像素块是目标像素点的邻域像素点集合,具体的,目标像素块内各像素点与目标像素点之间的距离均小于块匹配大小。其中,距离可以采用欧氏距离,当然也可以采用横坐标或纵坐标的差作为距离。
[0110]
603,根据目标视差值确定辅助图像中对应目标像素块的匹配像素块。
[0111]
本实施例中,匹配像素块内各像素点是分别与目标像素块内各像素点对应的,且匹配像素块内各像素点与目标像素块内对应的像素点之间的距离等于第一视差值,也就是说,将目标像素块内各像素点沿指定方向平移第一视差值个单位,即可得到辅助图像中的匹配像素块。
[0112]
604,计算目标像素块内各像素点的像素值与匹配像素块内各对应像素点的像素值的差值,得到目标像素块内各像素点的像素差值。
[0113]
本实施例中,若目标像素块内a像素点与匹配像素块内b像素点对应,则计算a像素点的像素值和b像素点的像素值的差值,就可以得到目标像素块内a像素点的像素差值。
[0114]
605,将目标像素块内各像素点的像素差值求和,得到待处理图像中目标像素点在目标视差值下的块匹配损失值。
[0115]
本实施例中,在前述步骤得到了目标像素块内各像素点的像素差值之后,将目标像素块内各像素点的像素差值求和,就可以得到目标像素点在目标视差值下的块匹配损失值。
[0116]
如图7所示,图7为本技术实施例中视差图生成方法的第六实施例流程示意图。
[0117]
本实施例中,考虑到基于块匹配的稠密视差算法中的相关参数设为不同取值时,计算量不同,为保证生成视差图的实时性,会根据目标视差值对待处理图像和辅助图像进行调整,具体的包括步骤,701~702;
[0118]
701,根据预设的分辨率调整系数映射关系,获取与目标视差值对应的分辨率调整系数。
[0119]
本实施例中,分辨率调整系数映射关系也就是同样预先存储在视差图生成设备的数据库内。结合前述提供的视差值与参数的具体映射关系,可以看出,当目标视差值越大时,则块匹配大小也越大、搜索视差范围也越大,也就是说,计算视差图的计算量会更大。因此,可以通过降低待处理图像和辅助图像的分辨率的方式来保证实时性,并且目标视差值越大,则待处理图像和辅助图像分辨率降低的比例也应当越高。具体的分辨率调整系数映射关系,如下:
[0120]
当目标视差值为(0,16]时,对待处理图像和辅助图像不进行放缩;
[0121]
当目标视差值为(16,32]时,将待处理图像和辅助图像的分辨率放缩至原来分辨率的1/2;
[0122]
当目标视差值为(32,64]时,将待处理图像和辅助图像的分辨率放缩至原来分辨率的1/3。
[0123]
702,根据分辨率调整系数降低待处理图像的分辨率和辅助图像的分辨率,得到分
辨率降低后的待处理图像和分辨率降低后的辅助图像。
[0124]
本实施例中,结合前述提供的分辨率调整系数映射关系,在获取到和目标视差值对应的分辨率调整系数后,对待处理图像和辅助图像进行下采样就可以得到分辨率降低后的待处理图像和辅助图像。
[0125]
进一步的,考虑到真实物理深度受到了主副图分辨率大小的影响,也就是说,在不同视差值下,由于待处理图像和辅助图像的分辨率大小的缩放系数不同,会导致所生成的视差图的深度信息尺度不一致。因此,需要根据放缩过程中所采用的缩放系数将生成的视差图还原到同一标准,使得各视差图所反映的深度信息尺度一致,也就是需要根据分辨率调整系数调整视差图,得到修正后的目标视差图。具体的修正规则请参阅图8及其解释说明的内容。
[0126]
本发明实施例,考虑到生成视差图的过程中是针对于不同视差值设定了不同的参数,因此,为平衡算法的计算量,还同时利用到对应不同视差值的系数去调整待处理图像和辅助图像的分辨率,当生成视差图的过程中需要的计算量较大时,将更大幅度降低待处理图像和辅助图像的分辨率,使得算法始终保持较好的实时性。
[0127]
如图8所示,图8为本技术实施例中视差图生成方法的第七实施例流程示意图。
[0128]
本实施例中,提供了视差图生成过程中,当降低待处理图像和辅助图像的分辨率之后,对生成的视差图进行修正,以使视差图恢复到同等大小、统一标准的步骤,具体的,包括步骤801~802;
[0129]
801,根据分辨率调整系数的倒数增大视差图中各像素点的视差值,得到中间视差图。
[0130]
对于利用分辨率降低后的待处理图像和辅助图像,其视差值会按照等同比例缩小,因此,可以根据分辨率调整系数的倒数增大视差图中各像素点的视差值,使各像素点的视差值还原到统一标准。
[0131]
以待处理图像和辅助图像的分辨率放缩至原来分辨率的1/2为例,此时需要将生成的视差图中各像素点的视差值乘以2,以使各像素点的视差值还原到统一标准。
[0132]
802,根据分辨率调整系数的倒数增大中间视差图的分辨率,得到修正后的目标视差图。
[0133]
同样的,由于视差图的分辨率大小会与处理时图像的分辨率大小相同,因此,利用分辨率降低后的待处理图像和辅助图像,所生成的视差图的分辨率也将对应降低。此时,可以根据分辨率调整系数的倒数增大视差图的分辨率,以使视差图恢复到与原始待处理图像和辅助图像等同大小。具体的,可以通过双线性插值法等方法来增加视差图的分辨率。
[0134]
以待处理图像和辅助图像的分辨率放缩至原来分辨率的1/2为例,此时通过双线性插值法方法来增加视差图的分辨率至原来的两倍,从而使视差图恢复到与原始待处理图像和辅助图像等同大小,此时视差图中像素点会分别对应到待处理图像中的各像素点。
[0135]
本实施例中,通过分别对生成的视差图中各像素点的视差值以及视差图的分辨率进行还原,使得还原后的视差图恢复到和原始处理图像和辅助图像等同大小,并且视差图中各像素点的视差值处于统一标准,也就是同一视差值所代表深度信息都一致。
[0136]
如图9所示,图9为本技术实施例中视差图生成方法的第八实施例流程示意图。
[0137]
本实施例中,提供了一种获取关联关键点对的具体实现方式,包括步骤,901~
903;
[0138]
901,获取待处理图像和待处理图像对应的辅助图像。
[0139]
本实施例中,待处理图像是通过预设拍摄装置的成像模组中的第一成像器采集得到的图像,而辅助图像是通过预设拍摄装置的成像模组中的第二成像器采集得到的图像。具体的,以预设拍摄装置采用双目镜头作为成像模组为例,此时,第一成像器可以认为是双目镜头的左目镜头,而第二成像器可以认为是双目镜头的右目镜头,也就是说,在同一拍摄场景下,可以将预设拍摄装置中左目镜头采集得到的左目图像作为待处理图像,而将右目镜头采集得到的右目图像作为辅助图像。本实施例中,辅助图像主要用于辅助计算待处理图像的视差信息。
[0140]
作为本发明的优选实施例,通常情况下,需要对采集得到的图像进行预处理,以便于后续生成更准确的视差图,其中,预处理至少包括图像畸变矫正、视场归一化、灰度化、下采样中的一种,具体的执行步骤如下:
[0141]
1)图像畸变校正:对同时采集到的两幅图像应用畸变模型及对应镜头畸变参数进行图像畸变矫正,目的是去除由镜头的径向与切向等畸变导致的图像扭曲;
[0142]
2)视场归一化:对同时采集到的两幅图像应用相机内参中的焦距数据做视场归一化,并利用相机内参中的主点坐标数据对采集到的两幅图像进行平移实现视点中心重合,这样可以显著提升后续关键点的匹配准确度和搜索效率,节省计算耗时;
[0143]
3)灰度化:对同时采集到的两幅图像做灰度化处理。因为灰度图是鲁棒性最高且计算时间复杂度最低的图像格式,提高了算法的实时性和稳定性。
[0144]
4)下采样:对同时采集到的两幅图像按照同一整数比例进行下采样,目的是通过降低待处理的主副图的分辨率来减少计算量,从而保证实时性。例如,对于分辨率为720p(960x720)的原始图像,可以采用整数为2的比例进行下采样,则每4个点中采样右下角一个点,能快速得到分辨率为480x360的下采样图像。
[0145]
902,对待处理图像采样得到若干第一关键点,并提取辅助图像内与若干第一关键点分别对应的第二关键点。
[0146]
本实施例中,在待处理图像中提取第一关键点的方式有很多种,例如可以通过对待处理图像进行均匀采样来得到若干第一关键点,当然,也可以通过其他方式提取第一关键点,例如提取待处理图像中的角点作为关键点。而在确定待处理图像中的第一关键点后,基于光流追踪等现有算法可以提取到辅助图像内相对应的第二关键点,本发明在此不做赘述。
[0147]
903,根据若干第一关键点以及与若干第一关键点分别对应的第二关键点,生成待处理图像的若干关联关键点对。
[0148]
本实施例中,视差图生成装置将待处理图像中第一关键点的坐标和辅助图像中对应第二关键点的坐标关联存储,即可得到若干关联关键点对。
[0149]
本技术实施例,通过利用具有双目镜头的拍摄装置直接采集得到的主图像和副图像分别作为待处理图像和辅助图像,然后通过采样的方式获取待处理图像中的第一关键点,并对应提取辅助图像中的第二关键点,就可以得到多个关键点对。
[0150]
如图10所示,图10是视差图生成装置的一个实施例结构示意图。
[0151]
为了更好实施本技术实施例中视差图生成方法,在视差图生成方法基础之上,本
申请实施例中还提供一种视差图生成装置,视差图生成装置包括:
[0152]
关键点对获取模块1001,用于获取待处理图像的若干关联关键点对;其中,每组关联关键对包括一个第一关键点以及第一关键点对应的第二关键点,第一关键点为待处理图像中的一个像素点,第二关键点为待处理图像对应的辅助图像中的一个像素点;
[0153]
目标视差值计算模块1002,用于根据若干关联关键点对,确定待处理图像对应的目标视差值;
[0154]
视差图生成模块1003,用于根据目标视差值、待处理图像和辅助图像,生成视差图。
[0155]
在本技术一些实施例中,上述目标视差值计算模块,包括:
[0156]
投影变换矩阵计算次模块,用于根据若干关联关键点对,确定待处理图像对应的投影变换矩阵;
[0157]
目标视差值计算次模块,用于根据投影变换矩阵和若干关联关键点对,确定待处理图像对应的目标视差值。
[0158]
在本技术一些实施例中,上述目标视差值计算模块,还包括:
[0159]
辅助图像调整次模块,用于根据投影变换矩阵,对辅助图像进行调整,得到调整后的辅助图像;
[0160]
在本技术一些实施例中,上述目标视差值计算次模块,包括:
[0161]
对应距离计算单元,用于根据投影变换矩阵对各关联关键点对中的第一关键点进行投影变换,得到各关联关键点对对应的第三关键点,并将各关联关键点对中的第二关键点和对应的第三关键点之间的距离作为各关联关键点对的对应距离;
[0162]
目标视差值计算单元,用于计算各关联关键点对中最大对应距离和最小对应距离之间的差值,并将差值作为待处理图像对应的目标视差值。
[0163]
在本技术一些实施例中,上述目标视差值计算次模块,还包括:
[0164]
投影变换矩阵调整单元,用于根据各所述关联关键点对的对应距离中的最小对应距离,对投影变换矩阵进行调整,得到调整后的投影变换矩阵;
[0165]
辅助图像调整单元,用于利用调整后的投影变换矩阵对所述辅助图像进行卷积运算处理,得到调整后的辅助图像。
[0166]
在本技术一些实施例中,上述视差图生成模块,包括:
[0167]
参数获取次模块,用于根据预设的视差值与参数映射关系,获取与目标视差值对应的块匹配大小和视差值搜索范围;
[0168]
块匹配损失值计算次模块,用于根据块匹配大小、待处理图像中像素点的像素值和辅助图像中像素点的像素值,确定待处理图像中各像素点在视差值搜索范围内各视差值下的块匹配损失值;
[0169]
全局能量函数获取次模块,用于获取以各像素点的视差值作为自变量,全局损失值作为因变量的全局能量函数;全局损失值是待处理图像中各像素点的块匹配损失值之和,和相邻像素点视差值的差值之和的总和;
[0170]
视差图生成次模块,用于计算使全局损失值取值最低时各像素点的最优视差值,并根据各像素点的最优视差值,生成视差图。
[0171]
在本技术一些实施例中,上述块匹配损失值计算次模块,包括:
[0172]
目标像素点和视差值确定单元,用于确定待处理图像上的目标像素点和视差值搜索范围内的目标视差值;
[0173]
目标像素块确定单元,用于根据块匹配大小以及目标像素点确定待处理图像上的目标像素块;其中,目标像素块内各像素点与目标像素点之间的距离均小于块匹配大小;
[0174]
匹配像素块确定单元,用于根据目标视差值确定辅助图像中对应目标像素块的匹配像素块;其中,匹配像素块内各像素点分别与目标像素块内各像素点对应,且匹配像素块内各像素点与目标像素块内对应的像素点之间的距离等于目标视差值;
[0175]
像素差值计算单元,用于计算目标像素块内各像素点的像素值与匹配像素块内各对应像素点的像素值的差值,得到目标像素块内各像素点的像素差值;
[0176]
块匹配损失值计算单元,用于将目标像素块内各像素点的像素差值求和,得到待处理图像中目标像素点在目标视差值下的块匹配损失值。
[0177]
在本技术一些实施例中,上述视差图生成装置还包括:
[0178]
分辨率参数获取模块,用于根据预设的分辨率调整系数映射关系,获取与目标视差值对应的分辨率调整系数;
[0179]
分辨率调整模块,用于根据分辨率调整系数降低待处理图像的分辨率和辅助图像的分辨率,得到分辨率降低后的待处理图像和分辨率降低后的辅助图像;
[0180]
此时,视差图生成模块,用于根据分辨率调整系数调整视差图,得到修正后的目标视差图。
[0181]
在本技术一些实施例中,上述视差图生成模块,包括:
[0182]
视差值调整次模块,用于根据分辨率调整系数的倒数增大视差图中各像素点的视差值,得到中间视差图;
[0183]
分辨率恢复次模块,用于根据分辨率调整系数的倒数增大中间视差图的分辨率,得到修正后的目标视差图。
[0184]
在本技术一些实施例中,上述关键点对获取模块包括:
[0185]
图像获取次模块,用于获取待处理图像和待处理图像对应的辅助图像;
[0186]
关键点提取次模块,用于对待处理图像采样得到若干第一关键点,并提取辅助图像内与若干第一关键点分别对应的第二关键点;
[0187]
关联关键点对生成次模块,用于根据若干第一关键点以及与若干第一关键点分别对应的第二关键点,生成待处理图像的若干关联关键点对。
[0188]
在本技术一些实施例中,上述关键点对获取模块还包括:
[0189]
下采样次模块,用于分别对所述待处理图像和所述辅助图像进行预处理,得到预处理后的待处理图像和预处理后的辅助图像;所述预处理至少包括图像畸变矫正、视场归一化、灰度化、下采样中的一种。
[0190]
本发明实施例还提供一种视差图生成设备,如图11所示,图11是本技术实施例中提供的视差图生成设备的一个实施例结构示意图。
[0191]
视差图生成设备集成了本发明实施例所提供的任一种视差图生成装置,视差图生成设备包括:
[0192]
一个或多个处理器;
[0193]
存储器;以及
[0194]
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述视差图生成方法实施例中任一实施例中的视差图生成方法中的步骤。
[0195]
具体来讲:视差图生成设备可以包括一个或者一个以上处理核心的处理器1101、一个或一个以上存储介质的存储器1102、电源1103和输入单元1104等部件。本领域技术人员可以理解,图11中示出的视差图生成设备结构并不构成对视差图生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0196]
处理器1101是该视差图生成设备的控制中心,利用各种接口和线路连接整个视差图生成设备的各个部分,通过运行或执行存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行视差图生成设备的各种功能和处理数据,从而对视差图生成设备进行整体监控。可选的,处理器1101可包括一个或多个处理核心;优选的,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。
[0197]
存储器1102可用于存储软件程序以及模块,处理器1101通过运行存储在存储器1102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据视差图生成设备的使用所创建的数据等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1102还可以包括存储器控制器,以提供处理器1101对存储器1102的访问。
[0198]
视差图生成设备还包括给各个部件供电的电源1103,优选的,电源1103可以通过电源管理系统与处理器1101逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1103还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0199]
该视差图生成设备还可包括输入单元1104,该输入单元1104可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0200]
尽管未示出,视差图生成设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,视差图生成设备中的处理器1101会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1102中,并由处理器1101来运行存储在存储器1102中的应用程序,从而实现各种功能,如下:
[0201]
获取待处理图像的若干关联关键点对;其中,每组关联关键对包括一个第一关键点以及第一关键点对应的第二关键点,第一关键点为待处理图像中的一个像素点,第二关键点为待处理图像对应的辅助图像中的一个像素点;
[0202]
根据若干关联关键点对,确定待处理图像对应的目标视差值;
[0203]
根据目标视差值、待处理图像和辅助图像,生成视差图。
[0204]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一存储介质中,并由处理器进行加载和执行。
[0205]
为此,本发明实施例提供一种存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种视差图生成方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
[0206]
获取待处理图像的若干关联关键点对;其中,每组关联关键对包括一个第一关键点以及第一关键点对应的第二关键点,第一关键点为待处理图像中的一个像素点,第二关键点为待处理图像对应的辅助图像中的一个像素点;
[0207]
根据若干关联关键点对,确定待处理图像对应的目标视差值;
[0208]
根据目标视差值、待处理图像和辅助图像,生成视差图。
[0209]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0210]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0211]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0212]
以上对本技术实施例所提供的一种视差图生成方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1