获取深度图的方法、装置及计算机存储介质与流程

文档序号:23679449发布日期:2021-01-23 09:56阅读:123来源:国知局
获取深度图的方法、装置及计算机存储介质与流程

[0001]
本发明实施例涉及图像处理领域,并且更具体地,涉及一种获取深度图的方法、装置及计算机存储介质。


背景技术:

[0002]
随着镜头和电荷耦合元件(ccd)技术的发展,采集的图像变得越来越大,包含的信息也越来越丰富,用图像来做即时定位与地图构建(simultaneous localization and mapping,slam)或者三维重建成为研究的热点,而此前提是确定图像的深度图。
[0003]
然而目前slam地图由稀疏或者半稠密的点组成,能提供的信息有限,无法快速输出一个稠密、可靠、可复用的地图产品,离线三维重建时需要进行大量的多视图像之间的稠密匹配,该步骤需要耗费大量的时间和计算资源,三维重建的效率较低,对硬件的要求很高。
[0004]
因此,亟需一种能够快速准确地得到深度图的方法。


技术实现要素:

[0005]
本发明实施例提供了一种获取深度图的方法、装置及计算机存储介质,能够得到主图像的深度图,且处理效率高,对硬件要求不高。
[0006]
第一方面,提供了一种获取深度图的方法,包括:
[0007]
获取主图像和目标副图像;
[0008]
对所述主图像和所述目标副图像进行极线矫正以获取与所述主图像对应的第一校正图像和与所述目标副图像对应的第二校正图像;
[0009]
确定所述第一校正图像中与所述主图像中的目标像素点对应的图像块和所述第二校正图像中与所述目标副图像中的像素点对应的图像块;
[0010]
根据所述第一校正图像中与所述主图像中的目标像素点对应的图像块确定所述主图像中的目标像素点的特征信息,根据所述第二校正图像中与所述目标副图像中的像素点对应的图像块确定所述目标副图像中的像素点的特征信息;
[0011]
根据所述主图像中的目标像素点的特征信息和所述目标副图像中的像素点的特征信息确定所述主图像对应的深度图。
[0012]
第二方面,提供了一种获取深度图的装置,包括:存储器和处理器,其中,
[0013]
所述存储器,用于存储程序代码;
[0014]
所述处理器,用于调用所述程序代码,当所述程序代码被执行时,用于执行以下操作:
[0015]
获取主图像和目标副图像;
[0016]
对所述主图像和所述目标副图像进行极线矫正以获取与所述主图像对应的第一校正图像和与所述目标副图像对应的第二校正图像;
[0017]
确定所述第一校正图像中与所述主图像中的目标像素点对应的图像块和所述第
二校正图像中与所述目标副图像中的像素点对应的图像块;
[0018]
根据所述第一校正图像中与所述主图像中的目标像素点对应的图像块确定所述主图像中的目标像素点的特征信息,根据所述第二校正图像中与所述目标副图像中的像素点对应的图像块确定所述目标副图像中的像素点的特征信息;
[0019]
根据所述主图像中的目标像素点的特征信息和所述目标副图像中的像素点的特征信息确定所述主图像对应的深度图。
[0020]
第三方面,提供了一种可移动平台,包括:用于输出所述主图像和目标副图像的拍摄装置和第二方面所述的获取深度图的装置。
[0021]
第四方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面或其任一实现方式所述的获取深度图的方法的步骤。
[0022]
由此可见,本发明实施例中通过极线矫正得到图像的特征信息,进而能够得到主图像的深度图,该方法能够并行执行,从而能够提高处理效率,缩短处理时间。另外,该方法的计算复杂度低,降低了对硬件的需求。其中,采用极线矫正具有更快的速度,缩短了计算时间。其中,在得到深度图时,可以进行代价计算,并且可选地可以采用动态规划进行优化,具有更高的稳定性,尤其地对弱纹理图像更加稳健。
附图说明
[0023]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0024]
图1是本发明实施例的获取深度图的方法的一个示意性流程图。
[0025]
图2是本发明实施例的获取深度图的方法的另一个示意性流程图。
[0026]
图3是对进行采样并投影的一个示意图。
[0027]
图4是8个方向的动态规划优化的一个示意图。
[0028]
图5是本发明实施例的获取深度图的装置的一个示意性框图。
[0029]
图6是本发明实施例的获取深度图的装置的另一个示意性框图。
[0030]
图7是本发明实施例的获取深度图的装置的又一个示意性框图。
具体实施方式
[0031]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]
应用于已经进行了矫正的图像或者是未矫正但已知位姿(pose)的多张图像,计算主图像上任意像素的深度使得主图像和参考图像的匹配代价最低,这类图像匹配方法叫做稠密匹配。传统的稠密匹配方法主要有pmvs,patchmatch mvs,sgm和sgbm四种。
[0033]
pmvs算法主要分为初始化特征匹配、生成面片和面片过滤三步。首先是提取角点,即dog(difference of gaussian)和harris角点,通过已知位姿沿着极线方向特征匹配得
到匹配对,三角化匹配对得到加密的稀疏点,然后将每个稀疏点进行面片化生成面片,筛选可以看到该稀疏点的图像,随机给法向量和深度并对其优化,投影面片到可视图像上,计算两两之间的代价,最后主要根据匹配代价满足阈值的可视图像的个数,删除掉不正确的面片,迭代生成面片和过滤面片多次。pmvs算法存在大量的迭代步骤,需要一次加载大量的图像,内存消耗较大,较难并行实现,且要求图像纹理丰富,弱纹理区域通常无法计算深度。
[0034]
patchmatch mvs算法是一种深度图计算方法,其思想是先选取一张主图像和若干张副图像,然后选取一个扫描方向,传递已经扫描过的区域的深度和法向量到未扫描的像素,并且加上一定的随机扰动,以及随机多个深度和法向量,采用单应性变换找到主图像和副图像的图像块(patch)的对应关系,计算patch的匹配代价,留下代价最小的深度和法向量,多个方向扫描即可得到深度图。patchmatch mvs的方法需要串行的扫描以及要求图像纹理丰富,较难并行实现且弱纹理区域容易缺失。
[0035]
sgm算法是一种视差图计算方法,给定两张已经做完极线矫正的图像,首先随机一个初始的视差图,有初始视差图统计出两张图像之间的互信息代价图,计算任一个视差之间的互信息匹配代价,形成匹配代价立方体,采用多路径动态规划对代价立方体进行滤波,解得新的视差图,采用金字塔思想,由高层级低分辨率的视差图逐步迭代到原分辨率,计算得到原分辨率的视差图。sgm算法有个强假设,认为只要多次迭代就能收敛计算出正确的视差图,但实际上对于一些前景后景差异较大的情况收敛性是未知的,算法不够鲁棒。
[0036]
sgbm算法是一种结合planesweeping算法和多路径动态规划深度图估计方法,其思想是先选取一张主图像和若干张副图像,确定主图像的大致深度范围,通过逆深度空间的大量采样,假设出来足够多的前向平行平面,通过投影的方法将这些平行平面投影到其他副图像上,通过计算每个像素点所在的平面的patch和副图像上的patch的匹配代价,形成一个匹配代价的立方体,然后采用多路径的动态规划对代价进行滤波,最后计算所有最小代价对应的深度作为最终的深度图。sgbm算法中每个像素的投影匹配是完全并行的,但是每个点的patch的代价计算量较大,因此算法效率不高。
[0037]
本发明实施例提供了一种获取深度图的方法,如图1是本发明一个实施例的获取深度图的方法的一个示意性流程图。图1所示的方法包括:
[0038]
s110,获取主图像和目标副图像。
[0039]
具体地,采用图1所示的方法可以得到主图像的深度图。其中,可以根据所需的深度图的分辨率来选择主图像和目标副图像,可选地,作为一例,主图像和目标副图像(统称为原图)的分辨率可以高于所需的深度图的分辨率至少一倍。
[0040]
示例性地,s110可以包括获取主图像以及与主图像对应的至少一幅副图像。具体地,可以先获取主图像,再选取与主图像对应的至少一幅副图像。
[0041]
示例性地,可以获取多帧候选副图像;从所述多帧候选副图像中选择满足预设要求的所述目标副图像。
[0042]
其中,多帧候选副图像可以是与主图像相邻帧数的图像,或者,多帧候选副图像可以是在其他时间所拍摄的与主图像同一场景的图像,或者,多帧候选副图像也可以是其他图像,本发明对此不限定。
[0043]
可选地,可以根据主图像的位置姿态信息来选取至少一幅副图像。
[0044]
可选地,可以根据主图像的深度范围信息和/或主图像的稀疏点信息来选取至少
一幅副图像。
[0045]
可选地,作为一个实施例,多帧候选副图像可以包括与主图像距离较近的多帧图像,其中,两张图像之间的距离可以根据两张图像的特征向量进行计算得到,例如两个特征向量之间的点积。预设要求可以是稀疏点的外接区域的面积大于预设面积。也就是说,在选取目标副图像时,可以随机一些虚拟的三维点,然后将三维点投影到多帧候选副图像上,根据稀疏点的外接区域的面积大小的顺序来选取目标副图像。例如,可以选择稀疏点的外接区域的面积最大的一幅副图像作为目标副图像;例如,可以选择按照稀疏点的外接区域的面积大小排序的top n幅副图像作为目标副图像;例如,可以选择稀疏点的外接区域的面积大于预设面积的所有副图像作为目标副图像。
[0046]
可选地,作为一个实施例,预设要求可以是光轴与主图像的光轴之间的夹角小于预设角度范围。也就是说,在选取目标副图像时,可以确定所述主图像的光轴与每一帧候选副图像的光轴之间的夹角;将处于预设角度范围的所述夹角对应的候选副图像确定为所述目标副图像。也就是说,若某一帧候选副图像的光轴与主图像的光轴之间的夹角处于预设角度范围内,则将该某一帧候选副图像作为目标副图像(或者,作为目标副图像的其中之一)。举例来说,可以将主图像上的稀疏点(三维点)投影到多帧候选副图像上,然后根据稀疏点计算出每帧候选副图像的深度范围,并选取结构性较强的至少一张目标副图像。其中,深度范围可以是全图统一的深度范围也可以是将图像分为若干个子图像块,每个图像块拥有独立的深度范围;其中,结构性较强可以包括交会角接近30度和稀疏点所占区域大小越大,交会角是稀疏点和影像光心形成的交角。
[0047]
通过上述方式选择目标副图像,能够获取到与主图像更加接近的目标副图像,从而使得得到的主图像的深度图更加更加准确。应当理解,本发明实施例也可以采用其他的方式来选择目标副图像,本发明对此不限定。
[0048]
另外,可理解,在一些实施例中,本发明实施例中的主图像和目标副图像可以是由可移动平台(例如无人机)拍摄的。
[0049]
s120,对所述主图像和所述目标副图像进行极线矫正以获取与所述主图像对应的第一校正图像和与所述目标副图像对应的第二校正图像。
[0050]
可理解,若目标副图像包括多帧,则针对每一帧目标副图像,均可以按照s120得到主图像的第一校正图像和该帧目标副图像的第二校正图像。也就是说,假设目标副图像有n幅,那么在s120中可以得到与n帧目标副图像一一对应的主图像的n幅第一校正图像,得到每帧目标副图像的第二校正图像。
[0051]
为了阐述的方便,以主图像和一帧目标副图像构成的图像对为例,详细描述s120,可理解,对其他帧目标副图像,可以类似地进行。
[0052]
具体地,s120可以包括:对于主图像和目标副图像这两张图像,可以将主图像通过单应性变换映射到第一校正图像,将目标副图像通过单应性变换映射到第二校正图像,并且第一校正图像和第二校正图像的相同行一一对应,使得同名像点位于相同的行。
[0053]
极线矫正就是针对两张图像,求取对应于这两张图像的两个单应性变换矩阵,使得两张图像做了单应性变换之后的两张变换后图像的相同行一一对应,使得同名像点必定位于相同的行。其中极线是指过基线的平面和两张图像的交线,成对出现于两张图像,因为位于该平面内的物方点在图像上必定分布在同一对极线上,通常用来简化匹配时的搜索空
间。其中,基线是指两张图像的光心之间的连线。
[0054]
对主图像和目标副图像进行极线矫正时,确定与主图像对应的第一单应性变换矩阵以及与目标副图像对应的第二单应性变换矩阵。随后可以使用第一单应性变换矩阵对主图像进行映射,得到第一校正图像;使用第二单应性变换矩阵对目标副图像进行映射,得到第二校正图像。
[0055]
极线矫正主要是需要求解第一单应性变换矩阵和第二单应性变换矩阵这两个矩阵,或分别表示为h1矩阵和h2矩阵(统称为h矩阵)。其实质上是找到两个旋转矩阵r
o
,r
r
,使得主图像和目标副图像这两张图像的相对旋转为0,且图像的长边和空间中的基线平行。具体地,可以保持影像的光心位置固定,将基线方向作为x方向,左图光心方向与基线所在平面的法向作为y方向,垂直于x方向和y方向并满足右手坐标系的方向为z方向,将两张图像的姿态旋转到该定义的坐标系下。随后可以根据矫正前后的旋转参数r
o
,r
r
和相机矩阵k,按照便可以计算出由原始图像到极线矫正后图像的单应变换矩阵h,且该映射是可逆的,因而可以计算出极线矫正后图像到原始图像的单应变换矩阵h。也就是说,主图像可以通过第一单应性变换矩阵h1映射到第一校正图像,目标副图像可以通过第二单应性变换矩阵h2映射到第二校正图像。可逆地,第一校正图像可以通过单应变换矩阵h1映射到主图像,第二校正图像可以通过单应变换矩阵h2映射到目标副图像。
[0056]
应注意的是,尽管上述已右手系的笛卡尔坐标系为例阐述了极线矫正,但是这不应理解为本发明的限制,也可以采用其他的方式进行极线矫正。本发明对此不再一一罗列。
[0057]
s130,确定所述第一校正图像中与所述主图像中的目标像素点对应的图像块和所述第二校正图像中与所述目标副图像中的像素点对应的图像块。
[0058]
可选地,作为一个实施例,针对主图像以及第一校正图像,可以在s130中确定主图像中的目标像素点在第一校正图像中对应的图像块。
[0059]
示例性地,可以在第一校正图像中确定与主图像中的目标像素点匹配的像素点,根据该匹配的像素点确定第一校正图像中与主图像中的目标像素点对应的图像块。
[0060]
其中,主图像中的目标像素点可以包括多个目标像素点,其可以是主图像中的所有像素点,或者,可以是主图像中的部分像素点。s130可以得到每一个目标像素点对应的图像块。
[0061]
可选地,如果目标像素点是主图像中的部分像素点,则可以按照预设的采样规则对主图像进行采集以获取目标像素点。
[0062]
具体地,可以对主图像中的全部像素点或者其中的一些像素点进行采样,从而得到目标像素点。本发明实施例对采样的方式不作限定,例如可以均匀采样、随机采样等等。
[0063]
为了描述的方便,假设主图像中的目标像素点为第一像素,假设对应的第一校正图像中的图像块为第一图像块。
[0064]
具体地,可以基于第一单应性变换矩阵h1,确定第一像素映射到第一校正图像中的哪个像素,即得到第一像素所映射到的第一校正图像中的第一位置,进而可以得到该第一位置所在的第一图像块。其中,可以将第一位置连同其周围的多个像素所构成的图像块确定为第一图像块。可选地,可以将第一位置的像素连同围绕其的多个像素所构成的图像块确定为第一图像块。作为一例,可以将以第一位置为中心的图像块确定为第一图像块。
[0065]
例如,假设第一像素在主图像中的二维坐标表示为[x1,y1],那么将其映射到第一
校正图像中的第一位置的坐标可以为:[x11 y11]
t
=h1[x1 y1]
t
,其中,第一位置的坐标表示为[x11,y11],t表示转置。
[0066]
例如,可以将第一位置所在的k1
×
k2个像素所构成的图像块确定为第一图像块。其中,k1和k2为大于或等于2的正整数,两者可以相等或不相等。作为一例,k1=k2,具体地例如将以第一位置的像素为中心的3
×
3个像素构成的图像块确定为第一图像块。应理解,本发明实施例对第一图像块的形状或大小不作限定。
[0067]
可选地,作为一个实施例,针对目标副图像以及第二校正图像,可以在s130中确定目标副图像中的像素点在第二校正图像中对应的图像块。
[0068]
示例性地,可以在第二校正图像中确定与目标副图像中的像素点匹配的像素点,根据所述匹配的像素点确定第二校正图像中与目标副图像中的像素点对应的图像块。
[0069]
其中,目标副图像中的像素点可以包括多个像素点,其可以是目标副图像中的所有像素点,或者,可以是目标副图像中的部分像素点。s130可以得到每一个像素点对应的图像块。
[0070]
为了描述的方便,假设目标副图像中的像素点为第二像素,假设对应的第二校正图像中的图像块为第二图像块。
[0071]
具体地,可以基于第二单应性变换矩阵h2,确定第二像素映射到第二校正图像中的哪个像素,即得到第二像素所映射到的第二校正图像中的第二位置,进而可以得到该第二位置所在的第二图像块。其中,可以将第二位置连同其周围的多个像素所构成的图像块确定为第二图像块。可选地,可以将第二位置的像素连同围绕其的多个像素所构成的图像块确定为第二图像块。作为一例,可以将以第二位置为中心的图像块确定为第二图像块。
[0072]
例如,假设第二像素在目标副图像中的二维坐标表示为[x2,y2],那么将其映射到第二校正图像中的第二位置的坐标可以为:[x22 y22]
t
=h2[x2 y2]
t
,其中,第二位置的坐标表示为[x22,y22],t表示转置。
[0073]
例如,可以将第二位置所在的k3
×
k4个像素所构成的图像块确定为第二图像块。其中,k3和k4为大于或等于2的正整数,两者可以相等或不相等。作为一例,k3=k4,具体地例如将以第二位置的像素为中心的3
×
3个像素构成的图像块确定为第二图像块。应理解,本发明实施例对第二图像块的形状或大小不作限定。
[0074]
可见,在s130中,针对主图像和针对目标副图像确定在各自校正后的图像中的图像块的方法是类似的。并且其中,第一图像块和第二图像块可以包括相同数量的像素,例如,第一图像块包括9个像素,第二图像块包括9个像素。
[0075]
并且,类似地,针对主图像中的多个目标像素点,可以得到每一个目标像素点在第一校正图像中对应的图像块。针对目标副图像中的的多个像素点,可以得到每一个像素点在第二校正图像中对应的图像块。
[0076]
并且,类似地,若目标副图像包括多幅目标副图像,则可以针对主图像和任一目标副图像,执行s130的过程,这里不再赘述。
[0077]
s140,根据所述第一校正图像中与所述主图像中的目标像素点对应的图像块确定所述主图像中的目标像素点的特征信息,根据所述第二校正图像中与所述目标副图像中的像素点对应的图像块确定所述目标副图像中的像素点的特征信息。
[0078]
可选地,作为一个实施例,可以根据主图像中的目标像素点在第一校正图像对应
中的图像块,确定主图像中的目标像素点的特征信息。
[0079]
示例性地,可以确定与主图像中的目标像素点对应的图像块中的像素点在主图像中的映射像素点,并将主图像中的映射像素点的颜色信息与所述主图像中的目标像素点的颜色信息进行比较,以获取主图像中的目标像素点的特征信息。
[0080]
本发明实施例中,特征信息可以为描述子(census)、或者可以为breaf、daisy、surf、sift等等。为了描述的方便,下文以描述子为例进行详细阐述。
[0081]
结合s130,依然假设主图像中的目标像素点为第一像素,假设对应的第一校正图像中的图像块为第一图像块。
[0082]
具体地,可以基于单应变换矩阵h1(即第一单应性变换矩阵h1的逆矩阵),确定第一图像块中的各个像素映射到主图像中的哪些像素,然后根据映射到主图像中的这些像素的颜色信息来计算得到第一像素的特征信息。
[0083]
也就是说,可以使用第一单应性变换矩阵h1的逆矩阵h1,将第一图像块中各个像素映射到主图像,得到在主图像中对应的多个映射像素。例如,假设第一图像块包括m个像素点,则将这m个像素点映射到主图像,得到m个映射像素。可理解,这m个映射像素包括第一像素,并且这m个映射像素不一定是连续的,彼此之间可以间隔、不连续,即这m个映射像素在主图像中可能无法形成图像块。但是,可以按照第一图像块中的m个像素点的位置,为对应的m个映射像素进行排序。例如,将第一图像块中的m个像素点按照从上到下、从左到右的顺序进行排序,进而能够得到映射后的m个映射像素的顺序。
[0084]
随后,可以根据多个映射像素的颜色信息来计算得到第一像素的特征信息(如描述子)。可选地,颜色信息可以为灰度值,也就是说,可以根据多个映射像素的灰度值得到第一像素的描述子。
[0085]
假设第一图像块包括m个像素点,则多个映射像素为m个映射像素。可以获取这m个映射像素的每一个映射像素的灰度值;将m个映射像素中除第一像素之外的另外m-1个映射像素的灰度值与第一像素的灰度值进行比较;并根据比较的结果来得到第一像素的描述子。
[0086]
可选地,描述子可以是二进制的字符串的形式。作为一种实现方式,若m-1个映射像素中某个映射像素的灰度值小于第一像素的灰度值,则将这个映射像素标记为1;若m-1个映射像素中另一个映射像素的灰度值大于或等于第一像素的灰度值,则将这另一个映射像素标记为0。随后,将m-1个映射像素的标记值顺次连接为二进制字符串,作为第一像素的描述子。在该示例中,第一像素的描述子是由m-1个二进制字符所构成的字符串。
[0087]
举例来说,假设第一图像块包括9(即m=9)个像素点,这9个像素点映射到主图像中的9个映射像素的灰度值依次为:123、127、129、126、128、129、127、131和130。其中128表示第一像素的灰度值。那么,计算得到的第一像素的描述子为11010100。
[0088]
应注意,本发明实施例也可以采用其他的方法来计算描述子,描述子也可以表示为其他的形式,这里不再一一罗列。
[0089]
可选地,作为一个实施例,可以根据目标副图像中的像素点在第二校正图像对应中的图像块,确定目标副图像中的像素点的特征信息。
[0090]
示例性地,可以确定与目标副图像中的像素点对应的图像块中的像素点在目标副图像图像中的映射像素点,并将目标副图像中的映射像素点的颜色信息与目标副图像中的
像素点的颜色信息进行比较,以获取目标副图像中的像素点的特征信息。
[0091]
本发明实施例中,特征信息可以为描述子(census)、或者可以为breaf、daisy、surf、sift等等。为了描述的方便,下文以描述子为例进行详细阐述。
[0092]
结合s130,依然假设目标副图像中的像素点为第二像素,假设对应的第二校正图像中的图像块为第二图像块。
[0093]
具体地,可以基于单应变换矩阵h2(即第二单应性变换矩阵h2的逆矩阵),确定第二图像块中的各个像素映射到目标副图像中的哪些像素,然后根据映射到目标副图像中的这些像素的颜色信息来计算得到第二像素的特征信息。
[0094]
也就是说,可以使用第二单应性变换矩阵h2的逆矩阵h2,将第二图像块中各个像素映射到目标副图像,得到在目标副图像中对应的多个映射像素。例如,假设第二图像块包括m个像素点,则将这m个像素点映射到目标副图像,得到m个映射像素。可理解,这m个映射像素包括第二像素,并且这m个映射像素不一定是连续的,彼此之间可以间隔、不连续,即这m个映射像素在目标副图像中可能无法形成图像块。但是,可以按照第二图像块中的m个像素点的位置,为对应的m个映射像素进行排序。例如,将第二图像块中的m个像素点按照从上到下、从左到右的顺序进行排序,进而能够得到映射后的m个映射像素的顺序。
[0095]
随后,可以根据多个映射像素的颜色信息来计算得到第二像素的特征信息(如描述子)。可选地,颜色信息可以为灰度值,也就是说,可以根据多个映射像素的灰度值得到第二像素的描述子。
[0096]
假设第二图像块包括m个像素点,则多个映射像素为m个映射像素。可以获取这m个映射像素的每一个映射像素的灰度值;将m个映射像素中除第二像素之外的另外m-1个映射像素的灰度值与第二像素的灰度值进行比较;并根据比较的结果来得到第二像素的描述子。
[0097]
可选地,描述子可以是二进制的字符串的形式。作为一种实现方式,若m-1个映射像素中某个映射像素的灰度值小于第二像素的灰度值,则将这个映射像素标记为1;若m-1个映射像素中另一个映射像素的灰度值大于或等于第二像素的灰度值,则将这另一个映射像素标记为0。随后,将m-1个映射像素的标记值顺次连接为二进制字符串,作为第一像素的描述子。在该示例中,第二像素的描述子是由m-1个二进制字符所构成的字符串。
[0098]
应注意,本发明实施例也可以采用其他的方法来计算描述子,描述子也可以表示为其他的形式,这里不再一一罗列。
[0099]
可见,在s140中,计算目标副图像中的像素的特征信息的方法与计算主图像中的目标像素点的特征信息的方法是类似的。并且,所得到的目标副图像中的像素的特征信息与主图像中的目标像素点的特征信息可以具有相同的维度,例如,均为m-1位二进制字符构成的字符串。
[0100]
并且,类似地,针对主图像中的多个目标像素点,可以得到每一个目标像素点的特征信息。针对目标副图像中的的多个像素点,可以得到每一个像素点的特征信息。
[0101]
并且,类似地,若目标副图像包括多幅目标副图像,则可以针对主图像和任一目标副图像,执行s140的过程,这里不再赘述。
[0102]
s150,根据所述主图像中的目标像素点的特征信息和所述目标副图像中的像素点的特征信息确定所述主图像对应的深度图。
[0103]
可选地,可以根据主图像中的目标像素点的特征信息与目标副图像中的像素点的特征信息之间的汉明距离,得到主图像中的目标像素点的匹配代价。进而基于主图像中的多个目标像素点的匹配代价来确定主图像对应的深度图。
[0104]
示例性地,如图2所示,s150可以包括:
[0105]
s1501,获取多个候选深度指示参数;
[0106]
s1502,根据所述多个候选深度指示参数将所述主图像中的每一个目标像素点对应的物方点投影到所述目标副图像,以在所述目标副图像中的像素点中确定与所述主图像中的目标像素点匹配的多个投影像素点;
[0107]
s1503,根据所述主图像中的目标像素点的特征信息和与所述主图像中的目标像素点匹配的多个投影像素点的特征信息,确定所述主图像中的目标像素点的多个匹配代价;
[0108]
s1504,根据所述主图像中的目标像素点的多个匹配代价,从所述多个候选深度指示参数中确定所述主图像中的目标像素点对应的深度。
[0109]
其中,深度指示参数可以为深度或逆深度,也可以为与深度有关的其它参数。
[0110]
可选地,可以获取主图像对应的深度指示参数的范围,从而在s1501中可以在所述深度指示参数的范围内进行采样以获取所述多个候选深度指示参数。
[0111]
举例来说,假设深度指示参数为深度,深度指示参数的范围(即深度范围)为[d
min
,d
max
]。举例来说,假设深度指示参数为逆深度,若已知主图像的深度范围[d
min
,d
max
],则深度指示参数的范围(即逆深度范围)为[d
max-1
,d
min-1
]。
[0112]
示例性地,s1502中,可以将主图像的目标像素点在逆深度空间(或深度空间)进行多次采样,并将多次采样得到的物方点投影到目标副图像上,得到对应的多个投影像素点。其中,逆深度采样可以更好地匹配图像。
[0113]
其中,采样可以是均匀采样,例如在像方平面上等间隔采样或者近似等间隔采样。或者,采样可以是随机采样,或者,其他方式采样,本发明对此不限定。
[0114]
其中,投影可以是中心投影,采样得到的物方点投影后的物方深度是不均匀的,如图3所示。
[0115]
可选地,作为一个实施例,如果目标副图像的数量为多幅,即如果目标副图像为多帧目标副图像,则在s1502中,可以包括:根据多个候选深度指示参数将主图像中的目标像素点对应的物方点投影到每一帧目标副图像,以在每一帧目标副图像中的像素点中确定与主图像中的目标像素点匹配的多个投影像素点。也就是说,可以将主图像的目标像素点进行多次采样,将多次采样得到的物方点投影到每一帧目标副图像上,从而在每一帧目标幅图像上都对应得到多个投影像素点。
[0116]
示例性地,s1503中,针对每一个投影像素点:可以计算目标像素点的特征信息与投影像素点的特征信息之间的汉明距离,并将其结果作为两者之间的匹配代价。基于多个投影像素点,可以得到对应的多个匹配代价。这个数量与对目标像素点进行采样的次数是一致的。
[0117]
可选地,特征信息可以为描述子,描述子可以表示为二进制字符串的形状,那么,汉明距离可以等于两个描述子中不相同的比特位数。
[0118]
可选地,作为一个实施例,如果目标副图像的数量为多幅,即如果目标副图像为多
帧目标副图像,则在s1503中,可以包括:根据主图像中的目标像素点的特征信息和每一帧目标副图像中与目标像素点匹配的多个投影像素点的特征信息确定主图像中的目标像素点的多个匹配代价集合,其中,每一个匹配代价集合与一个候选深度指示参数对应;对多个匹配代价集合中的每一个集合中的匹配代价进行融合以获取所述多个匹配代价。
[0119]
具体地,可以将主图像的目标像素点进行采样,将采样得到的物方点投影到每一帧目标副图像上,从而在每一帧目标幅图像上都对应得到投影像素点(如图3所示)。将基于目标像素点的特征信息与这些投影像素点的特征信息得到的匹配代价一起作为一个匹配代价集合。通过对目标像素点进行多次采样,可以类似地得到多个匹配代价集合。其中,计算匹配代价的方法可以如上所述,这里不再赘述。
[0120]
举例来说,假设包括p帧目标副图像,n个候选深度指示参数(即采样次数为n)。那么,可以得到n个匹配代价集合,并且每个匹配代价集合包括p个匹配代价。n个匹配代价集合与n个候选深度指示参数一一对应,每个匹配代价集合中的p个匹配代价与p帧目标副图像一一对应。
[0121]
具体地,将一个匹配代价集合中的多个匹配代价进行融合,可以是通过取最小、加权求和等方式实现的。举例来说,一个匹配代价集合包括p个匹配代价,将这p个匹配代价的最小值作为融合匹配代价。这样,通过对n个匹配代价集合中每个匹配代价集合的融合,能够得到n个融合后的匹配代价,这融合后的n个匹配代价与n个候选深度指示参数一一对应。
[0122]
类似地,可以得到多个目标像素点中每一个目标像素点对应的多个匹配代价。例如,针对m个目标像素点,每个目标像素点均对应n个匹配代价。
[0123]
示例性地,s1504中,可以包括:从所述主图像中的目标像素点的多个匹配代价中确定最小的匹配代价;将所述最小的匹配代价对应的候选深度指示参数确定为所述主图像中的目标像素点对应的深度。
[0124]
举例来说,针对目标像素点a,已经得到了多个匹配代价,其中最小的匹配代价为ppdj1,该最小的匹配代价ppdj1是通过在候选深度指示参数dep1采样时所得到的,那么可以选取候选深度指示参数dep1,并根据候选深度指示参数dep1来确定目标像素点a的深度。若候选深度指示参数为深度,则目标像素点a的深度为dep1;若候选深度指示参数为逆深度,则目标像素点a的深度为dep1-1

[0125]
类似地,便可以得到每一个目标像素点的深度,从而得到主图像的深度图。
[0126]
可选地,作为一个实施例,如果目标副图像的数量为多幅,即如果目标副图像为多帧目标副图像,则在s1504中,可以包括:对主图像中的目标像素点的多个匹配代价组合进行滤波处理;根据滤波处理得到的主图像中的目标像素点的多个匹配代价组合从多个候选深度指示参数确定主图像中的目标像素点对应的深度。
[0127]
具体地,针对一个目标像素点,可以得到多个匹配代价。针对多个目标像素点(例如m个),可以得到m个多个匹配代价,可以称为多个匹配代价组合。
[0128]
可选地,可以按照预设的方向对多个匹配代价组合进行滤波处理。
[0129]
其中,滤波处理可以是采用多路径规划的方法进行的。举例来说,预设的方向可以是从左往右,那么可以从图像的左侧开始,可以根据上一个像素的多个匹配代价,对当前真正进行滤波处理的像素的多个匹配代价之一进行优化。在优化的过程中,其实像素的多个匹配代价不变(即不进行优化),之后从左到右的像素的多个匹配代价一次进行优化,从而
得到优化后的多个匹配代价。例如,可以采用但不限于8个方向的动态规划优化方法(如图4所示)得到优化后的多个匹配代价。针对多个目标像素点的多个匹配代价组合,可以得到优化后的多个匹配代价组合,也称为滤波处理后的多个匹配代价组合。
[0130]
可理解,动态规划算法一般可以得到近似全局最优解,使得得到的深度图更加准确和完整。另外,动态规划算法对小面积弱纹理区域鲁棒,比如即使是无纹理区域,其深度也可以通过边缘深度的延伸得到。
[0131]
滤波处理后的多个匹配代价组合包括多个目标像素点中每一个目标像素点的多个匹配代价。随后,针对一个目标像素点的滤波处理后的多个匹配代价,可以选择最小的匹配代价,并将最小的匹配代价对应的候选深度指示参数确定为该目标像素点对应的深度。该过程可以参见上述实施例中确定深度的具体过程,这里不再赘述。
[0132]
基于多个匹配代价组合中其他目标像素点的多个匹配代价,可以类似地得到各个目标像素点的深度。从而能够得到主图像的深度图。
[0133]
由此可见,本发明实施例中通过极线矫正得到图像的特征信息,进而能够得到主图像的深度图,该方法能够并行执行,从而能够提高处理效率,缩短处理时间。另外,该方法的计算复杂度低,降低了对硬件的需求。其中,采用极线矫正具有更快的速度,缩短了计算时间。其中,在得到深度图时,可以进行代价计算,并且可选地可以采用动态规划进行优化,具有更高的稳定性,尤其地对弱纹理图像更加稳健。
[0134]
图5是本发明实施例的获取深度图的装置50的一个示意性框图。如图7所示,装置50可以包括:
[0135]
图像获取模块510,用于获取主图像和目标副图像;
[0136]
极线矫正模块520,用于对所述主图像和所述目标副图像进行极线矫正以获取与所述主图像对应的第一校正图像和与所述目标副图像对应的第二校正图像;
[0137]
映射模块530,用于确定所述第一校正图像中与所述主图像中的目标像素点对应的图像块和所述第二校正图像中与所述目标副图像中的像素点对应的图像块;
[0138]
特征信息计算模块540,用于根据所述第一校正图像中与所述主图像中的目标像素点对应的图像块确定所述主图像中的目标像素点的特征信息,根据所述第二校正图像中与所述目标副图像中的像素点对应的图像块确定所述目标副图像中的像素点的特征信息;
[0139]
深度图确定模块550,用于根据所述主图像中的目标像素点的特征信息和所述目标副图像中的像素点的特征信息确定所述主图像对应的深度图。
[0140]
可选地,在一些实施例中,所述映射模块530可以具体用于:在所述第一校正图像中确定与所述主图像中的目标像素点匹配的像素点,根据所述匹配的像素点确定所述第一校正图像中与所述主图像中的目标像素点对应的图像块;在所述第二校正图像中确定与所述目标副图像中的像素点匹配的像素点,根据所述匹配的像素点确定所述第二校正图像中与所述目标副图像中的像素点对应的图像块。
[0141]
可选地,在一些实施例中,所述特征信息计算模块540可以具体用于:确定与所述主图像中的目标像素点对应的图像块中的像素点在所述主图像中的映射像素点,并将所述主图像中的映射像素点的颜色信息与所述主图像中的目标像素点的颜色信息进行比较,以获取所述主图像中的目标像素点的特征信息;确定与所述目标副图像中的像素点对应的图像块中的像素点在所述目标副图像图像中的映射像素点,并将所述目标副图像中的映射像
素点的颜色信息与所述目标副图像中的像素点的颜色信息进行比较,以获取所述目标副图像中的像素点的特征信息。
[0142]
可选地,在一些实施例中,如图6所示,所述深度图确定模块550可以包括:
[0143]
获取单元5501,用于获取多个候选深度指示参数;
[0144]
投影单元5502,用于根据所述多个候选深度指示参数将所述主图像中的每一个目标像素点对应的物方点投影到所述目标副图像,以在所述目标副图像中的像素点中确定与所述主图像中的目标像素点匹配的多个投影像素点;
[0145]
匹配代价计算单元5503,用于根据所述主图像中的目标像素点的特征信息和与所述主图像中的目标像素点匹配的多个投影像素点的特征信息,确定所述主图像中的目标像素点的多个匹配代价;
[0146]
深度确定单元5504,用于根据所述主图像中的目标像素点的多个匹配代价,从所述多个候选深度指示参数中确定所述主图像中的目标像素点对应的深度。
[0147]
可选地,在一些实施例中,所述装置还包括:深度范围获取模块,用于获取所述主图像对应的深度指示参数的范围。其中,所述获取单元5501可以具体用于:在所述深度指示参数的范围内进行采样以获取所述多个候选深度指示参数。
[0148]
可选地,在一些实施例中,所述深度确定单元5504可以具体用于:从所述主图像中的目标像素点的多个匹配代价中确定最小的匹配代价;将所述最小的匹配代价对应的候选深度指示参数确定为所述主图像中的目标像素点对应的深度。
[0149]
可选地,在一些实施例中,所述深度指示参数包括深度或者逆深度。
[0150]
可选地,在一些实施例中,所述目标副图像包括多帧目标副图像,其中所述投影单元5502可以具体用于:根据所述多个候选深度指示参数将所述主图像中的目标像素点对应的物方点投影到每一帧目标副图像,以在所述每一帧目标副图像中的像素点中确定与所述主图像中的目标像素点匹配的多个投影像素点。所述匹配代价计算单元5503可以具体用于:根据所述主图像中的每一个目标像素点的特征信息和每一帧目标副图像中与所述主图像中的每一个目标像素点匹配的多个投影像素点的特征信息确定所述主图像中的每一个目标像素点的多个匹配代价集合,其中,每一个匹配代价集合与一个候选深度指示参数对应;对多个匹配代价集合中的每一个集合中的匹配代价进行融合以获取所述多个匹配代价。
[0151]
可选地,在一些实施例中,所述装置还可以包括采样模块,用于按照预设的采样规则对所述主图像进行采样以获取所述主图像的目标像素点。
[0152]
可选地,在一些实施例中,如图6所述,所述图像获取模块510可以包括:
[0153]
候选图像获取单元5101,用于获取多帧候选副图像;
[0154]
图像选择单元5102,用于从所述多帧候选副图像中选择满足预设要求的所述目标副图像。
[0155]
可选地,在一些实施例中,所述图像选择单元5102可以具体用于:确定所述主图像的光轴与每一帧候选副图像的光轴之间的夹角;将处于预设角度范围的所述夹角对应的候选副图像确定为所述目标副图像。
[0156]
可选地,在一些实施例中,所述深度确定单元5504可以包括:
[0157]
滤波单元,用于对所述主图像中的目标像素点的多个匹配代价组合进行滤波处
理;
[0158]
确定单元,用于根据所述滤波处理得到的主图像中的目标像素点的多个匹配代价组合从所述多个候选深度指示参数确定所述主图像中的目标像素点对应的深度。
[0159]
可选地,在一些实施例中,所述滤波单元可以具体用于:按照预设的方向对所述主图像中的目标像素点的多个匹配代价组合进行滤波处理。
[0160]
如图7所示,本发明实施例还提供了一种获取深度图的装置70。该装置70包括处理器710和存储器720。该存储器720中存储有计算机指令,该处理器710执行该计算机指令时,使得该处理器710执行以下步骤:获取主图像和目标副图像;对所述主图像和所述目标副图像进行极线矫正以获取与所述主图像对应的第一校正图像和与所述目标副图像对应的第二校正图像;确定所述第一校正图像中与所述主图像中的目标像素点对应的图像块和所述第二校正图像中与所述目标副图像中的像素点对应的图像块;根据所述第一校正图像中与所述主图像中的目标像素点对应的图像块确定所述主图像中的目标像素点的特征信息,根据所述第二校正图像中与所述目标副图像中的像素点对应的图像块确定所述目标副图像中的像素点的特征信息;根据所述主图像中的目标像素点的特征信息和所述目标副图像中的像素点的特征信息确定所述主图像对应的深度图。
[0161]
可选地,在一些实施例中,处理器710可以具体用于:在所述第一校正图像中确定与所述主图像中的目标像素点匹配的像素点,根据所述匹配的像素点确定所述第一校正图像中与所述主图像中的目标像素点对应的图像块;在所述第二校正图像中确定与所述目标副图像中的像素点匹配的像素点,根据所述匹配的像素点确定所述第二校正图像中与所述目标副图像中的像素点对应的图像块。
[0162]
可选地,在一些实施例中,处理器710可以具体用于:确定与所述主图像中的目标像素点对应的图像块中的像素点在所述主图像中的映射像素点,并将所述主图像中的映射像素点的颜色信息与所述主图像中的目标像素点的颜色信息进行比较,以获取所述主图像中的目标像素点的特征信息;确定与所述目标副图像中的像素点对应的图像块中的像素点在所述目标副图像图像中的映射像素点,并将所述目标副图像中的映射像素点的颜色信息与所述目标副图像中的像素点的颜色信息进行比较,以获取所述目标副图像中的像素点的特征信息。
[0163]
可选地,在一些实施例中,处理器710可以具体用于:获取多个候选深度指示参数;根据所述多个候选深度指示参数将所述主图像中的每一个目标像素点对应的物方点投影到所述目标副图像,以在所述目标副图像中的像素点中确定与所述主图像中的目标像素点匹配的多个投影像素点;根据所述主图像中的目标像素点的特征信息和与所述主图像中的目标像素点匹配的多个投影像素点的特征信息,确定所述主图像中的目标像素点的多个匹配代价;根据所述主图像中的目标像素点的多个匹配代价,从所述多个候选深度指示参数中确定所述主图像中的目标像素点对应的深度。
[0164]
可选地,在一些实施例中,处理器710还可以用于:获取所述主图像对应的深度指示参数的范围。从而处理器710可以用于:在所述深度指示参数的范围内进行采样以获取所述多个候选深度指示参数。
[0165]
可选地,在一些实施例中,处理器710可以具体用于:从所述主图像中的目标像素点的多个匹配代价中确定最小的匹配代价;将所述最小的匹配代价对应的候选深度指示参
数确定为所述主图像中的目标像素点对应的深度。
[0166]
可选地,在一些实施例中,所述深度指示参数包括深度或者逆深度。
[0167]
可选地,在一些实施例中,所述目标副图像包括多帧目标副图像,其中处理器710可以具体用于:根据所述多个候选深度指示参数将所述主图像中的目标像素点对应的物方点投影到每一帧目标副图像,以在所述每一帧目标副图像中的像素点中确定与所述主图像中的目标像素点匹配的多个投影像素点。处理器710还可以具体用于:根据所述主图像中的每一个目标像素点的特征信息和每一帧目标副图像中与所述主图像中的每一个目标像素点匹配的多个投影像素点的特征信息确定所述主图像中的每一个目标像素点的多个匹配代价集合,其中,每一个匹配代价集合与一个候选深度指示参数对应;对多个匹配代价集合中的每一个集合中的匹配代价进行融合以获取所述多个匹配代价。
[0168]
可选地,在一些实施例中,处理器710还可以用于按照预设的采样规则对所述主图像进行采样以获取所述主图像的目标像素点。
[0169]
可选地,在一些实施例中,处理器710可以具体用于:获取多帧候选副图像;从所述多帧候选副图像中选择满足预设要求的所述目标副图像。
[0170]
可选地,在一些实施例中,处理器710可以具体用于:确定所述主图像的光轴与每一帧候选副图像的光轴之间的夹角;将处于预设角度范围的所述夹角对应的候选副图像确定为所述目标副图像。
[0171]
可选地,在一些实施例中,处理器710可以具体用于:对所述主图像中的目标像素点的多个匹配代价组合进行滤波处理;根据所述滤波处理得到的主图像中的目标像素点的多个匹配代价组合从所述多个候选深度指示参数确定所述主图像中的目标像素点对应的深度。
[0172]
可选地,在一些实施例中,处理器710可以具体用于:按照预设的方向对所述主图像中的目标像素点的多个匹配代价组合进行滤波处理。
[0173]
图5或图6所示的装置50以及图7所示的装置70能够实现上文所述的获取深度图的方法的步骤,为避免重复,这里不再赘述。
[0174]
本发明实施例还提供一种可移动平台,包括:用于输出所述主图像和目标副图像的拍摄装置和如图5-7中任一项所述的获取深度图的装置。
[0175]
本发明实施例还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上文方法实施例提供的获取深度图的方法。
[0176]
本发明实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上文方法实施例提供的获取深度图的方法。
[0177]
由此可见,本发明实施例中通过极线矫正得到图像的特征信息,进而能够得到主图像的深度图,该方法能够并行执行,从而能够提高处理效率,缩短处理时间。另外,该方法的计算复杂度低,降低了对硬件的需求。其中,采用极线矫正具有更快的速度,缩短了计算时间。其中,在得到深度图时,可以进行代价计算,并且可选地可以采用动态规划进行优化,具有更高的稳定性,尤其地对弱纹理图像更加稳健。
[0178]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或
部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0179]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0180]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0181]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0182]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0183]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1