深度测量方法、双目立体视觉系统、装置及存储介质与流程

文档序号:30137423发布日期:2022-05-21 02:12阅读:131来源:国知局
深度测量方法、双目立体视觉系统、装置及存储介质与流程

1.本公开涉及图像处理技术领域,尤其涉及深度测量方法、双目立体视觉系统、装置及存储介质。


背景技术:

2.目前,机器视觉技术在各种领域已有广泛应用,例如智能机器人、智能工业设备、自动驾驶等。相关技术中的测距方案包括如激光测距、超声波测距、飞行时间法(tof)测距、双目立体视觉测距及雷达测距等。其中,有的方案又可分为主动测距和被动测距。
3.双目立体视觉是基于视差原理并由多幅图像获取物体三维几何信息的方法。双目立体视觉系统一般由双摄像机从不同角度同时获得被测物的两幅数字图像,并基于视差原理恢复出物体的三维几何信息,重建物体三维轮廓及位置。具有效率高、精度合适、系统结构简单、成本低等优点。
4.双目立体视觉测距方案具体又可分为主动测距和被动测距。
5.如图1a所示,示意性地展示了一种基于双目立体视觉的主动测距方案的原理示意图。在此该方案中,应用红外光投影仪101在被测物体投射预设的光斑图案,例如将分布较密集的均匀光栅投影到被测物体,进而通过左、右双摄像头102、103对被测物体分别拍摄图像,并结合左、右双摄像头之间的几何关系,以计算得到被测物体104的各个被测点之间的高度差和深度信息。其优点是计算简单,测量精度较高,对于平坦的、无明显纹理和形状变化的表面区域都可进行精密的测量。
6.如图1b所示,示意性地展示了基于双目立体视觉的被动测距方案的原理示意图。与图1a区别在于省略红外投影仪,通过左、右摄像头102、103拍摄图像,并利用光学三角原理,根据几何关系来确定空间中物体104各点的深度信息。被动双目立体视觉方案常用于粗糙或具有显著纹理信息的物体的测距。
7.无论是主动测距或被动测距,在其计算深度信息之前都需要执行立体匹配。具体来说,双目摄像头在各自视角所拍摄的两幅图像形成图像对,通过检测图像对中两幅图像之间中相同物体的图像区块进行检测并进行立体匹配,以确定两幅图像中对应同一物点的一对像素点并获得像素点对之间的视差(disparity)。然后,根据视差图进行测距计算以得到深度信息,各个像素点的深度信息构成深度图像,深度图像还可进一步转换世界坐标系下的各点坐标得到点云图。
8.然而,双目立体视觉技术在特定结构的场景中存在一定问题。常见的使用场景为双目立体视觉系统以较低高度放置在地面。无论主动或被动双目立体视觉测距,当其按光轴方向非垂直于地面地接近在地面放置以测量深度信息时,其两个摄像头会受到几何结构制约。当两个摄像头放置高度越低,所拍摄的图像之间的视差就越大,立体匹配的视差范围是有限制的,由此就会造成立体匹配的失败率增高,导致深度图像存在大量缺乏深度信息的像素。
9.另外,虽然利用激光的飞行时间(tof)测距被普遍应用于贴近放置在地面进行立
体深度测量的应用,如扫地机器人等,但激光雷达的成本要极大地高于双目立体视觉系统,不可能替代双目立体视觉系统。
10.因此,如何找到一种能提升低高度应用场景中测距准确性的双目立体视觉系统,已成为业内亟待解决的技术问题。
11.发明消息
12.鉴于以上相关技术的缺点,本公开的目的在于提供深度测量方法、双目立体视觉系统、装置及存储介质,以解决相关技术中双目立体视觉系统在特定结构场景中测距的深度信息缺失的问题。
13.本公开第一方面提供一种深度测量方法,应用于双目立体视觉系统:所述深度测量方法包括:获取双目立体视觉系统摄取的原始图像对;基于所述原始图像对分别执行第一优化处理和第二优化处理以得到第一优化图像对和第二优化图像对;其中,所述第一优化处理和第二优化处理为用于缩减被处理图像在图像水平方向上像素的不同图像处理方式;所述被处理图像为原始图像对中的每个原始图像;基于所述第一优化图像对执行立体匹配并计算得到第一深度图;以及,基于所述第二优化图像对执行立体匹配并计算得到第二深度图像;基于深度测量质量结果对第一深度图像和第二深度图像进行合成以得到目标深度图像。
14.在第一方面的实施例中,所述第一优化处理和第二优化处理基于至少一个可调的图像优化因子执行,以用于调节第一优化处理图像对和第二优化处理图像对各自中的成对同名像素点之间视差。
15.在第一方面的实施例中,所述图像优化因子为一预设图像优化因子,用于强弱相反地控制第一优化处理和第二优化处理的像素缩减作用。
16.在第一方面的实施例中,所述第一优化处理和第二优化处理分别为选择丢弃和选择保留被处理图像在图像水平方向上的部分像素的图像处理方式;所述第一优化处理所选择丢弃的部分像素的第一数量由一第一图像优化因子所确定;所述第二优化处理所选择保留的部分像素的第二数量由一第二图像优化因子所确定;所述第一图像优化因子和第二图像优化因子相同或不同。
17.在第一方面的实施例中,所述第一图像优化因子和第二图像优化因子为相同的预设图像优化因子。
18.在第一方面的实施例中,所述预设图像优化因子被用于强弱相反地控制所述第一优化处理的像素丢弃作用及第二优化处理的像素保留作用。
19.在第一方面的实施例中,所述预设图像优化因子与所述第一数量和第二数量中的一个正相关,并与另一个负相关。
20.在第一方面的实施例中,在所述第一深度图像和第二深度图像合成之前,还包括:通过插值恢复所述第一深度图像和/或第二深度图像至原始图像分辨率。
21.在第一方面的实施例中,所述第一优化处理包括:从被处理图像裁剪并丢弃一图像区域,以得到优化图像用于立体匹配;其中,被裁剪的图像区域与被处理图像之间的图像垂直分辨率相同,且被裁剪的图像区域与被处理图像的图像水平分辨率比例为1:n,n为大于1的整数;和/或,所述第二优化处理包括:沿图像水平方向从被处理图像等间隔采样一像素列并丢弃各像素列之间的图像区域,以得到优化图像用于立体匹配;其中,所述像素列与
被处理图像的图像垂直分辨率相同,且所述间隔与被处理图像在图像水平方向上的宽度比为1:p,p为大于1的整数。
22.在第一方面的实施例中,n和p均为图像优化因子m。
23.在第一方面的实施例中,所述从被处理图像裁剪并丢弃一图像区域,包括:对被处理图像居中裁剪并丢弃图像区域。
24.在第一方面的实施例中,在所述第一深度图像和第二深度图像合成之前,还包括:基于所述第二深度图像执行图像插值,以恢复为所述原始图像分辨率。
25.在第一方面的实施例中,基于深度测量质量结果对第一深度图像和第二深度图像进行合成以得到目标深度图像,包括:对应于每个物点在目标深度图像中的像素点,选择第一深度图像或第二深度图像中质量更优的相应位置像素点进行填充。
26.在第一方面的实施例中,所述双目立体视觉系统设置成其光轴方向非垂直于一承载表面;其中,所述双目立体视觉系统的载体可运动地设于所述承载表面。
27.在第一方面的实施例中,所述双目立体视觉系统设置成接近于所述承载表面,所述双目立体视觉系统与所述承载表面的间距同所述双目立体视觉系统的探测距离正相关。
28.本公开第二方面提供一种深度测量装置,应用于双目立体视觉系统:所述深度测量装置包括:图像获取模块,用于获取双目立体视觉系统摄取的原始图像对;多路优化模块,用于基于所述原始图像对分别执行第一优化处理和第二优化处理以得到第一优化图像对和第二优化图像对;其中,所述第一优化处理和第二优化处理为用于缩减被处理图像在图像水平方向上像素的不同图像处理方式;所述被处理图像为原始图像对中的每个原始图像;多路深度计算模块,用于基于所述第一优化图像对执行立体匹配并计算得到第一深度图;以及,基于所述第二优化图像对执行立体匹配并计算得到第二深度图像;合成模块,用于基于深度测量质量结果对第一深度图像和第二深度图像进行合成以得到目标深度图像。
29.本公开第三方面提供一种双目立体视觉系统,包括:一个或一对摄像单元,用于采集存在视差的原始图像对;处理单元,通信连接每个摄像单元,用于运行程序指令,以执行如第一方面任一项所述的深度测量方法。
30.本公开第四方面提供一种运动装置,包括:运动装置本体,可运动地设于一承载表面;如第三方面所述的双目立体视觉系统,设于所述运动装置本体,被设置成其光轴方向非垂直于所述承载表面。
31.在第三方面的实施例中,所述双目立体视觉系统被设置成其光轴方向对应于所述运动装置本体的前向、后向或侧向。
32.在第三方面的实施例中,所述承载表面为地面,所述运动装置包括行动机器人。
33.本公开第五方面提供一种计算机装置,包括:通信器、存储器及处理器;所述通信器用于与外部通信;所述存储器存储有程序指令;所述处理器用于运行所述程序指令以执行如第一方面任一项所述的深度测量方法。
34.本公开第六方面提供一种计算机可读存储介质,存储有程序指令,所述程序指令被运行以执行如第一方面任一项所述的深度测量方法。
35.如上所述,本公开实施例中提供深度测量方法、双目立体视觉系统、装置及存储介质,通过获取双目立体视觉系统摄取的原始图像对;基于所述原始图像对分别执行第一优化处理和第二优化处理以得到第一优化图像对和第二优化图像对;其中,所述第一优化处
理和第二优化处理为用于缩减被处理图像在图像水平方向上像素的不同图像处理方式;所述被处理图像为原始图像对中的每个原始图像;基于所述第一优化图像对执行立体匹配并计算得到第一深度图;以及,基于所述第二优化图像对执行立体匹配并计算得到第二深度图像;基于深度测量质量结果对第一深度图像和第二深度图像进行合成以得到目标深度图像。通过对双目立体系统摄取的原始图像对采用减少缩减视差的多路优化处理后立体匹配得到深度图像,再根据质量选择性地合成目标深度图像,降低视差影响提升立体匹配成功率,提升双目立体视觉系统的探测能力。
附图说明
36.图1a展示一种基于双目立体视觉的主动测距方案的原理示意图。
37.图1b展示一种基于双目立体视觉的被动测距方案的原理示意图。
38.图2展示一示例中视差计算的原理示意图。
39.图3展示本公开一实施例中深度测量方法的流程示意图。
40.图4a展示本公开一具体示例中第一优化处理的实施原理示意图。
41.图4b展示本公开一具体示例中第二优化处理的实施原理示意图。
42.图5a展示本公开一种应用示例中深度测量方法的流程示意图。
43.图5b展示本公开一种应用示例中第一优化处理及立体匹配并深度计算的流程示意图。
44.图5c展示本公开一种应用示例中第二优化处理及立体匹配并深度计算的流程示意图。
45.图6a和图6b展示一种应用示例中实施所述深度测量方法前后的图像对比示意图。
46.图7展示本公开一种实施例中深度测量装置的模块示意图。
47.图8展示本公开一种实施例中双目视觉系统的结构示意图。
48.图9展示本公开一实施例中计算机装置的结构示意图。
具体实施方式
49.以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本公开所揭露的消息轻易地了解本公开的其他优点与功效。本公开还可以通过另外不同的具体实施方式加以实施或应用系统,本公开中的各项细节也可以根据不同观点与应用系统,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
50.下面以附图为参考,针对本公开的实施例进行详细说明,以便本公开所属技术领域的技术人员能够容易地实施。本公开可以以多种不同形态体现,并不限定于此处说明的实施例。
51.在本公开的表示中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的表示意指结合该实施例或示例表示的具体特征、结构、材料或者特点包括于本公开的至少一个实施例或示例中。而且,表示的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本公开中表示的不同实施例或示例以及不同实施例或示例的特征进行
结合和组合。
52.此外,术语“第一”、“第二”仅用于表示目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的表示中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
53.为了明确说明本公开,省略与说明无关的器件,对于通篇说明书中相同或类似的构成要素,赋予了相同的参照符号。
54.在通篇说明书中,当说某器件与另一器件“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种器件“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。
55.虽然在一些实例中术语第一、第二等在本文中用来表示各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一接口及第二接口等表示。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操执行、元件、模块、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操执行、元件、模块、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能、步骤或操执行的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
56.此处使用的专业术语只用于言及特定实施例,并非意在限定本公开。此处使用的单数形态,只要语句未明确表示出与之相反的意义,那么还包括复数形态。在说明书中使用的“包括”的意义是把特定特性、区域、整数、步骤、执行业、要素及/或成份具体化,并非排除其它特性、区域、整数、步骤、执行业、要素及/或成份的存在或附加。
57.表示“下”、“上”等相对空间的术语可以为了更容易地说明在附图中图示的一器件相对于另一器件的关系而使用。这种术语是指,不仅是在附图中所指的意义,还包括使用中的装置的其它意义或执行业。例如,如果翻转附图中的装置,曾说明为在其它器件“下”的某器件则说明为在其它器件“上”。因此,所谓“下”的示例性术语,全部包括上与下方。装置可以旋转90
°
或其它角度,代表相对空间的术语也据此来解释。
58.虽然未不同地定义,但包括此处使用的技术术语及科学术语,所有术语均具有与本公开所属技术领域的技术人员一般理解的意义相同的意义。普通使用的字典中定义的术语追加解释为具有与相关技术文献和当前提示的消息相符的意义,只要未进行定义,不得过度解释为理想的或非常公式性的意义。
59.如图2所示,展示一种示例中双目立体视觉系统利用视差计算深度信息的原理示意图。
60.示例性地,所述双目立体视觉系统可以包括一对摄像单元,即第一摄像单元和第二摄像单元。每个所述摄像单元可以由摄像头实现。第一摄像单元和第二摄像单元的配置相同,如具有相同焦距f,以相同图像分辨率(image resolution,即图像的像素数量,如1024
×
768)采集图像等,图像水平方向的宽度设为l。第一摄像单元和第二摄像单元可以
左、右并排设置,它们的光轴方向可以相互平行或者以相同倾角相交。图2中展示第一摄像单元和第二摄像单元的光轴方向相互平行。所述第一摄像单元和第二摄像单元的光心o
l
和or连线被称为基线(baseline),基线长度为b。
61.所述第一摄像单元和第二摄像单元同步地对一场景摄取图像,可被称为第一原始图像和第二原始图像,具有相同的分辨率,设它们的图像水平方向的宽度为l;第一原始图像和第二原始图像构成原始图像对。第一原始图像和第二原始图像中会有对应场景摄取图像同一物体的点,可称为物点,图2中示意性地展示了物点a。由于第一摄像单元和第二摄像单元的视角不同,所以同一物点a成像于第一和第二原始图像中的同名像素点a1、a2在图像水平方向上的位置不同。比如,以图像水平方向为x轴,图像垂直方向为y轴,则第一原始图像和第二原始图像中对应所述同一物点的同名像素点a1、a2之间的x坐标不同,呈现为图1中所示的第一原始图像中的x
l
和第二原始图像中的xr,视差即由此图像水平方向的坐标差异所产生,表示为d=|x
l-xr|。
62.待计算的深度信息为z,根据几何关系中的相似三角形原理,z/b=(z-f)/a1a2,而a1a2=b-(x
l-l/2)-(l/2-xr)=b-(x
l-xr),则可计算得到z/b=(z-f)/a1a2=(z-f)/(b-(x
l-xr)),经整理后可得z=b
×
f/(x
l-xr)。
63.立体匹配即为了匹配得到各对同名像素点。在相关技术中,双目立体匹配可划分为四个步骤:匹配代价计算、代价聚合、视差计算和视差优化。匹配代价计算匹配代价计算的目的是衡量待匹配像素与候选像素之间的相关性。两个像素无论是否为同一物点,都可以通过匹配代价函数计算匹配代价,代价越小则说明相关性越大,是同一物点的概率也越大。每个像素在搜索同一物点之前,往往会指定一个视差搜索范围d(dmin~dmax),视差搜索时将范围限定在d内,用一个大小为w
×h×
d(w为影像宽度,h为影像高度)的三维矩阵c来存储每个像素在视差范围内每个视差下的匹配代价值。矩阵c通常称为dsi(disparity space image)。匹配代价计算的方法有很多,传统的摄影测量中,使用灰度绝对值差(ad,absolute differences)1、灰度绝对值差之和(sad,sum of absolute differences)、归一化相关系数(ncc,normalized cross-correlation)等方法来计算两个像素的匹配代价;计算机视觉中,多使用互信息(mi,mutual information)法、census变换(ct,census transform)法、rank变换(rt,rank transform)法、bt(birchfield and tomasi)法等作为匹配代价的计算方法。
64.代价聚合代价聚合的目的是让代价值能够准确的反映像素之间的相关性。上一步匹配代价的计算往往只会考虑局部信息,通过两个像素邻域内一定大小的窗口内的像素信息来计算代价值,这很容易受到影像噪声的影响。代价聚合是建立邻接像素之间的联系,以一定的准则,如相邻像素应该具有连续的视差值,来对代价矩阵进行优化通过代价聚合传播至信噪比低、匹配效果不好的区域。常用的代价聚合方法有扫描线法、动态规划法、sgm算法中的路径聚合法等。
65.视差计算即通过代价聚合之后的代价矩阵来确定每个像素的最优视差值。通常使用赢家通吃算法(wta,winner-takes-all)来计算。代价聚合步骤是立体匹配中极为关键的步骤,直接决定了算法的准确性。
66.视差优化的目的是对上一步得到的视差图进行进一步优化,改善视差图的质量,包括剔除错误视差、适当平滑以及子像素精度优化等步骤。例如,在相关技术中,有采用左
右一致性检查(left-right check)算法剔除因为遮挡和噪声而导致的错误视差;采用剔除小连通区域算法来剔除孤立异常点;采用中值滤波(median filter)、双边滤波(bilateral filter)等平滑算法对视差图进行平滑;另外还有一些有效提高视差图质量的方法如鲁棒平面拟合(robust plane fitting)、亮度一致性约束(intensity consistent)、局部一致性约束(locally consistent)等也常被使用。
67.根据以上可知,视差的大小与立体匹配的准确效果息息相关。在深度信息的计算中,根据z=b
×
f/(x
l-xr)可知,深度和视差之间负相关。常见在地面移动的机器人,例如扫地机器人,会需要将双目立体视觉系统设置在极其贴近地面高度(比如小于20cm)。而且,双目立体视觉系统的光轴(根据双目摄像头的光轴等效得到)方向非垂直于地面设置,即非垂直朝上或朝下设置,例如可朝向前、后、侧向等设置。离地面越近,地面中的物点相对双目视觉系统的深度信息会减小,而相应的视差会增大。如之前所述,在立体匹配时的视差需要在预设范围内,因此过大的视差可能会导致同名像素点间难以进行立体匹配,从而出现匹配出错或深度信息缺失的问题。虽然目前也有技术把双目摄像头放置的更近,有助于改善低高度地平面视角的应用中的立体匹配,但是如此会导致双目立体视觉系统探测距离的缩短,即需要以牺牲测距能力为代价,应用受限。
68.鉴于此,本公开实施例中提供解决方案,通过多路不同的降低视差的优化处理方式以对原始图像对进行分别处理,并分别立体匹配得到各路深度图,再基于质量进行合并以最终得到目标深度图,以应对光轴非垂直地面低置等场景中同一物点的视差超出范围而导致立体匹配失败的问题,有效提升得到的深度图质量。
69.如图3所示,展示本公开实施例中深度测量方法的流程示意图。所述深度测量方法应用于双目立体视觉系统。
70.在图3实施例中,所述深度测量方法包括:
71.步骤s301:获取双目立体视觉系统摄取的原始图像对。
72.在一些实施例中,在采用两个摄像单元的情况下,根据所述第一摄像单元和第二摄像单元同步拍摄后的输出,得到所述原始图像对。或者,在采用一个摄像单元的情况下,可以通过一个摄像单元先后在两种视角下拍摄以得到原始图像对。
73.步骤s302:基于所述原始图像对分别执行第一优化处理和第二优化处理以得到第一优化图像对和第二优化图像对。
74.其中,所述被处理图像为原始图像对中的每个原始图像,即第一原始图像和第二原始图像。所述第一优化处理和第二优化处理为用于缩减被处理图像在图像水平方向上像素的不同图像处理方式。具体而言,对原始图像对中的第一原始图像和第二原始图像分别执行第一优化处理,得到两个优化图像以构成第一优化图像对;以及,对原始图像对中的第一原始图像和第二原始图像分别执行第二优化处理,得到两个优化图像以构成第二优化图像对。通过缩减第一原始图像和第二原始图像在图像水平方向上的原始像素,以减小视差的影响。
75.在可能示例中,所述缩减被处理图像在图像水平方向上像素的方式,例如包括:选择图像区域并丢弃;选择图像区域保留并丢弃剩余图像区域等。比如,在图像水平方向上裁剪并丢弃部分图像区域,或者沿图像水平方向采样像素后丢弃剩余图像区域等。
76.在一些实施例中,所述第一优化处理和第二优化处理基于至少一个可调的图像优
化因子进行,以用于调节第一优化处理图像和/或第二优化处理图像对各自所包含的两个优化处理图像中成对的同名像素点之间的视差。
77.在可能的示例中,所述第一优化处理可以是选择并丢弃图像区域,而所述第一优化处理所选择丢弃的部分像素的第一数量由一第一图像优化因子所确定,图像优化因子可以是与选择丢弃的图像区域的大小相关的系数。例如,原始图像大小为选择丢弃的图像区域大小的倍数;和/或,选择丢弃的图像区域的图像水平方向的像素数量和/或图像垂直方向的像素数量等,即与图像分辨率相关的系数,或者也可以是与选择丢弃的图像区域的图像水平方向和/或垂直方向的物理尺寸相关的系数等。
78.在可能的示例中,所述第二优化处理可以是在原始图像选择保留的图像区域且舍弃另外部分图像区域,选择保留的图像区域的方式例如为沿图像水平方向实施像素采样等操作。所述第二优化处理所选择保留的部分像素的数量可由一第二图像优化因子所确定,所述第二图像优化因子可以是与选择保留的图像区域的大小相关的系数。例如,采样间隔的系数;和/或,每次采样的图像区域在水平方向的像素数量和/或图像垂直方向的像素数量等。
79.可以理解的是,在双目立体视觉系统贴近地面设置的场景中,视差随双目立体视觉系统的高度下降而增大。通过合适取值的图像优化因子,可以使优化处理后得到的第一优化处理图像对和第二优化处理图像对中各成对的同名像素点之间的视差大小落入适合立体匹配的预设视差范围内。示例性地,所述图像优化因子的取值可以根据的配置参数不同的摄像单元、不同光学结构类型(例如主动双目或被动双目)以及实际使用场景(例如低高度)等因素进行设置,以适应不同实际应用方案中的视差调节需求。
80.在一些实施例中,所述第一图像优化因子和第二图像优化因子可以是不同的,也可以是相同的。
81.如图4a和图4b,分别通过具体示例展示第一优化处理和第二优化处理的实施原理。
82.可以参考图4a所示,所述第一优化处理可示例性地包括:从被处理图像401(交叉底纹表示)裁剪并丢弃一图像区域402,以得到优化图像用于立体匹配,被处理图像即第一原始图像和第二原始图像。其中,所述被裁剪的图像区域402(黑色底纹)可以与被处理图像之间的图像垂直分辨率相同,且被裁剪的图像区域与被处理图像的图像水平分辨率比例为1:n,n为大于1的整数。可选的,所述被裁剪的图像区域可以为在被处理图像的图像水平方向上居中裁剪得到。在图4a示例中,设被处理图像为x
×
y的分辨率,即图像水平方向包含x个像素,图像垂直方向包含y个像素。当被处理图像被沿图像水平方向居中裁剪掉(x/n)
×
y的图像区域之后,得到分辨率为(x
×
(n-1)/n)
×
y的剩余部分作为处理后的优化图像。
83.再例如,可以参考图4b所示,展示一示例中第二优化处理的原理示意图。示例性地,所述第二优化处理可以包括:沿图像水平方向从被处理图像401等间隔采样一像素列403,丢弃像素列403之间的图像区域,以得到优化图像用于立体匹配。其中,所述像素列与被处理图像的图像垂直分辨率相同,且所述间隔与被处理图像在图像水平方向上的宽度比为1:p,p为大于1的整数。在图4b示例中,对x
×
y的被处理图像进行第二优化处理,沿图像水平方向以x/p为间隔进行采样,每次采样n个像素列(即n
×
y,n为大于1的整数),图中设n=1以便于计算,丢弃像素列之间的图像区域,则得到p个像素列,构成图像分辨率为p
×
y的优
化图像。
84.n和p可以独立设置,也可以通过一个图像优化因子来设置。例如,所n和p均为预设图像优化因子m。
85.故可理解的,所述图像优化因子可为一个预设图像优化因子,并可用于强弱相反地控制第一优化处理和第二优化处理的像素缩减作用。
86.进一步而言,所述预设图像优化因子可被配置用于使所述第一优化处理的像素丢弃及对第二优化处理的像素保留之间呈强弱相反的状态,比如通过调节预设图像优化因子加强丢弃作用时,会减弱对第二优化处理的像素保留作用。其中,所述丢弃作用加强对应于选择丢弃的像素数量增加(即丢弃的图像区域变大),而所述像素保留作用减弱对应于选择保留像素数量减小(如采样间隔增加等)。简而言之,所述预设图像优化因子与所述第一数量和第二数量中的一个正相关,并与另一个负相关。如以上实施例中所提供的公式,示例性地,m在以上示例的第一优化处理的(x/m)
×
y(n=m)及第一优化处理的m
×
y(p=m)中一个式中处于分子位置,另一个式中处于分母位置,即可实现对两式的结果趋于大小相反的方向变化;当m变大时,(x/m)
×
y减小,对应第一优化处理丢弃更少的像素,相应的m
×
y变大,对应第二优化处理采样更多的像素数量。当然,以上通过设置m在两式的分母、分子的方式来起到对第一优化处理的像素丢弃和第二优化处理的像素保留的强弱相反作用的方式只是一种示例而非限制其实施方式,在其它实施例中也可以有其它方案,比如通过m和i-m(i为预设值)来构造上述两个公式以控制像素丢弃作用和像素保留作用。
87.步骤s303:基于所述第一优化图像对执行立体匹配并计算得到第一深度图;以及,基于所述第二优化图像对执行立体匹配并计算得到第二深度图像。
88.可以理解的是,通过上述多路的优化处理得到优化图像对,可以作为适配于各种类型的立体匹配算法的输入,故本技术实施例中的深度测量方法并不限定所应用的立体匹配的算法,例如区域匹配、特征匹配和相位匹配等各种类型。
89.步骤s304:基于深度测量质量结果对第一深度图像和第二深度图像进行合成以得到目标深度图像。
90.在一些实施例中,由于第一深度图像和第二深度图像是分别根据经丢弃部分原始图像像素的第一和第二优化图像对生成的,故可以将第一深度图像和/或第二深度图像通过插值方法恢复至原始图像的分辨率,再进行所述合成,以得到与原始图像分辨率一致的目标深度图像。
91.具体的,所述插值即根据第一深度图像和/或第二深度图像中已得到的深度信息推断相近位置的近似深度信息,由此可以得到完整的深度图像,减少深度信息缺失的像素。在可能的示例中,所述插值方法包括但不限于最邻近元法、双线性内插法、三或次内插法等。
92.在可能的示例中,可以选择对上述实施例中第二优化处理采用等间隔采样并经立体匹配得到的第二深度图像进行插值。举例来说,对于400*300的第一原始图像和第二原始图像,沿图像水平方向每隔1/4宽度采样一像素列,则得到4*300的第二优化图像对,经立体匹配及计算深度得到第二深度图像,再在第二深度图像的4列之间按照原始图像的位置插值回到400*300的图像分辨率的第二深度图像,进而进行合成。
93.在一些实施例中,所述目标深度图像的合成,可以是对应每个物点,选择第一深度
图像或第二深度图像中质量更优的相应位置像素点进行填充。对于非同名像素点,可以通过经恢复的第一深度图像和第二深度图像中的一个中对应位置的像素进行填充。例如,物点a在第一深度图像中对应的像素点a3的深度信息为a,在第二深度图像中对应的像素点a4的深度信息为b,经质量检测,a3的质量好于a4,则在目标深度图像中对应像素点的值填充为a。
94.或者,在另一些实施例中,也可以对第一深度图像和第二深度图像中的对应同一物点的像素点的深度信息计算加权和等。
95.在可能的示例中,所述质量的检测方法包括但不限于以下至少一种:
96.1.无效像素检测
97.无效像素即为没有深度信息的像素点,对于这样的像素点可排除。
98.2.离群值(outlier)检测
99.对于深度信息偏离预设阈值(如3%)的离群像素点,属于不可信的异常点,可以被排除。
100.3.噪声(noise)检测
101.对于判断为图像噪声的像素点,可以被排除。例如固定图像噪声(fix pattern noise)与暂态噪声(temporal noise)等。
102.4.图像均匀性检测
103.例如亮度均匀性检测和色度均匀性检测等,也表示深度图像中各像素点的深度信息的变化情况。
104.为直观说明图3中深度测量方法的实施,以下通过具体应用示例进行说明。
105.如图5a所示,展示本公开一种应用示例中深度测量方法的流程示意图。
106.在本实施例中,设置一预设图像优化因子为m,第一摄像单元和第二摄像单元的原始图像分辨率为x
×
y。
107.第一摄像单元摄取第一原始图像,第二摄像单元摄取第二原始图像,第一原始图像和第二原始图像分别输入到两路优化处理及立体匹配并深度计算中,即第一优化处理501a及相应的立体匹配和深度计算502a、以及第二优化处理501b及相应的立体匹配和深度计算502b。经过两路优化处理和深度计算分别得到第一深度图像和第二深度图像。
108.在503中,基于对第一深度图像和第二深度图像执行深度测量质量检测,根据质量检测结果对第一深度图像和第二深度图像合并得到目标深度图像。
109.可与图5a一并参阅的如图5b和图5c,分别展示两路优化处理及立体匹配并深度计算的流程示意图。
110.在图5b中展示对应第一优化处理501a及相应的立体匹配和深度计算502a的应用示例。
111.基于预设图像改善因子m,分别对第一原始图像和第二原始图像执行第一优化处理。示例性地,图5b中第一优化处理具体包括:对图像分辨率为x
×
y的第一原始图像和第二原始图像,分别在图像水平方向上居中裁剪并丢弃1/m部分图像区域,即(x/m)
×
y的区域,得到图像分辨率为(x
×
(m-1)/m)
×
y的两幅裁剪后图像,即第一优化图像对。
112.再通过对第一优化图像对立体匹配及深度信息计算,得到图像分辨率为(x
×
(m-1)/m)
×
y的第一深度图像。
113.在图5c中展示对应第二优化处理501b及相应的立体匹配和深度计算502b的应用示例。
114.基于预设图像改善因子m,分别对第一原始图像和第二原始图像执行第二优化处理。示例性地,图5c中第二优化处理具体包括:对图像分辨率为x
×
y的第一原始图像和第二原始图像,分别在图像水平方向上进行1/m的采样丢弃处理;即从水平最左的第一列像素开始采样,每隔m个像素采样一次并丢弃采样的各列像素之间的图像区域,以得到图像分辨率为(x/m)
×
y的两幅采样图像,即第二优化图像对。
115.再通过对第一优化图像对执行立体匹配并计算深度,得到图像分辨率为(x/m)
×
y的深度图像。与图5b略有不同的是,在图5c中还对此(x/m)
×
y的局部的深度图像实施插值,以重建所丢弃的图像区域对应的深度信息,进而得到图像分辨率为x
×
y的第二深度图像。
116.示例性地,基于图5b得到的图像分辨率为(x
×
(m-1)/m)
×
y的第一x
×
y和图像分辨率为x
×
y的第二深度图像,进行深度信息质量检测,并根据质量检测结果执行两幅深度图像的合并,以得到目标深度图像输出。其中,目标深度图像中对应第一深度图像对应居中裁剪的图像区域所缺失的深度信息,可以由第二深度图像所填充;目标图像深度图像中居中裁剪的图像区域以外的两侧区域的深度信息,可以根据第一深度图像所对应的“原始”的深度信息以及第二深度图像所对应的插值后“估计”的深度信息中更优质可信的深度信息来填充。
117.如图6a和图6b所示意,图6a展示未执行本公开深度测量方法时所得到的深度图像的示意图,其中的黑色区域表示深度信息缺失,对应例如地面的一些较近的区域的立体匹配失败。再如图6b所示意,展示执行本公开深度测量方法时所得到的深度图像的示意图,可发现黑色区域有效减少,有效改善深度图像的质量。
118.需特别说明的是,虽然以上示例中描述了双目立体视觉系统的“高度”是相对于地面而言的,但是实际上地面只是双目立体视觉系统的载体(如扫地机器人)中的一种应用场景(如室内)中提供的承载表面,载体可以在承载表面运动。
119.在其它场景中,所述承载表面可以根据场景不同而发生变化的,例如在墙面活动的机器人,其承载表面即为墙面,同样存在双目立体视觉系统距离墙面越近视差越大的问题,可以通过本公开实施例中提供的深度测量方法来解决。故可以理解的是,并不以地面为限制。
120.另外,在前述示例中所举例的小于20cm只是一种举例,而实际上,这个高度的取值是相对的。具体而言,相对于双目立体视觉系统的探测距离为10米而言,其高度在20cm以内可以被认知为接近于承载平面;而相对于探测距离为200米而言,双目立体视觉系统的“接近”承载平面的高度会有一定的拉高,例如1米等;故而,所述双目立体视觉系统与所述承载表面的间距同所述双目立体视觉系统的探测距离正相关。
121.如图7所示,展示本公开一实施例中深度测量装置的模块示意图。需说明的是,所述深度测量装置的原理可以参考之前实施例中的深度测量方法,故此处不对相同技术内容执行重复赘述。
122.所述深度测量装置700应用于双目立体视觉系统,其包括:
123.图像获取模块701,用于获取双目立体视觉系统摄取的原始图像对;
124.多路优化模块702,用于基于所述原始图像对分别执行第一优化处理和第二优化
处理以得到第一优化图像对和第二优化图像对;其中,所述第一优化处理和第二优化处理为用于缩减被处理图像在图像水平方向上像素的不同图像处理方式;所述被处理图像为原始图像对中的每个原始图像;
125.多路深度计算模块703,用于基于所述第一优化图像对执行立体匹配并计算得到第一深度图;以及,基于所述第二优化图像对执行立体匹配并计算得到第二深度图像;
126.合成模块704,用于基于深度测量质量结果对第一深度图像和第二深度图像进行合成以得到目标深度图像。
127.在一些实施例中,所述第一优化处理和第二优化处理分别为选择丢弃和选择保留被处理图像在图像水平方向上的部分像素的图像处理方式;所述第一优化处理所选择丢弃的部分像素的第一数量由一第一图像优化因子所确定;所述第二优化处理所选择保留的部分像素的第二数量由一第二图像优化因子所确定;所述第一图像优化因子和第二图像优化因子相同或不同。
128.在一些实施例中,所述第一图像优化因子和第二图像优化因子为相同的预设图像优化因子。
129.在一些实施例中,所述预设图像优化因子被用于强弱相反地控制所述第一优化处理的像素丢弃作用及第二优化处理的像素保留作用。
130.在一些实施例中,所述预设图像优化因子与所述第一数量和第二数量中的一个正相关,并与另一个负相关。
131.在一些实施例中,在所述第一深度图像和第二深度图像合成之前,还包括:通过插值恢复所述第一深度图像和/或第二深度图像至原始图像分辨率。
132.在一些实施例中,所述第一优化处理包括:从被处理图像裁剪并丢弃一图像区域,以得到优化图像用于立体匹配;其中,被裁剪的图像区域与被处理图像之间的图像垂直分辨率相同,且被裁剪的图像区域与被处理图像的图像水平分辨率比例为1:n,n为大于1的整数;和/或,所述第二优化处理包括:沿图像水平方向从被处理图像等间隔采样一像素列并丢弃各像素列之间的图像区域,以得到优化图像用于立体匹配;其中,所述像素列与被处理图像的图像垂直分辨率相同,且所述间隔与被处理图像在图像水平方向上的宽度比为1:p,p为大于1的整数。
133.在一些实施例中,n和p均为图像优化因子m。
134.在一些实施例中,所述从被处理图像裁剪并丢弃一图像区域,包括:对被处理图像居中裁剪并丢弃图像区域。
135.在一些实施例中,在所述第一深度图像和第二深度图像合成之前,还包括:基于所述第二深度图像执行图像插值,以恢复为所述原始图像分辨率。
136.在一些实施例中,合成模块704,用于对应于每个物点在目标深度图像中的像素点,选择第一深度图像或第二深度图像中质量更优的相应位置像素点进行填充。
137.在一些实施例中,所述双目立体视觉系统设置成其光轴方向非垂直于一承载表面;其中,所述双目立体视觉系统的载体可运动地设于所述承载表面。
138.在一些实施例中,所述双目立体视觉系统设置成接近于所述承载表面,所述双目立体视觉系统与所述承载表面的间距同所述双目立体视觉系统的探测距离正相关。
139.需特别说明的是,在图7实施例中的各个功能模块,可以全部或部分地通过软件、
硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序指令产品的形式实现。程序指令产品包括一个或多个程序指令。在计算机上加载和执行程序指令指令时,全部或部分地产生按照本公开的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。程序指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
140.并且,图7实施例所揭露的装置,可通过其它的模块划分方式实现。以上所表示的装置实施例仅仅是示意性的,例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或模块可以结合或者可以动态到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接于可以是通过一些接口,装置或模块的间接耦合或通信连接于,可以是电性或其它的形式。
141.另外,图7实施例中的各功能模块及子模块可以动态在一个处理部件中,也可以是各个模块单独物理存在,也可以两个或两个以上模块动态在一个部件中。上述动态的部件既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述动态的部件如果以软件功能模块的形式实现并执行为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
142.如图8所示,展示本公开实施例中展示的一种双目立体视觉系统的结构示意图。所述双目立体视觉系统800可以封装成一个设备或者一个部件使用。
143.所述双目立体视觉系统800包括:
144.一个或一对摄像单元,用于采集存在视差的原始图像对。图8中示例性地展示为一对第一摄像单元801和第二摄像单元802。
145.处理单元803,通信连接第一摄像单元801和第二摄像单元802,用于运行程序指令,以执行例如图3所述的深度测量方法中的步骤。
146.可选的,如果是主动测距的双目立体视觉系统,还可以包括红外投影仪。
147.在一些实施例中,所述处理单元802可以通过处理器及存储器实现。所述存储器存储程序指令,所述处理器用于运行程序指令。示例性地,所述存储器可以基于易失性和/或非易失性存储器实现,所述处理器可由中央处理器、soc或其它处理器实现。
148.本公开实施例中还可以提供一种运动装置,所述运动装置包括:运动装置本体,可运动地设于一承载表面;例如图7所述的双目立体视觉系统,设于所述运动装置本体,被设置成其光轴方向非垂直于所述承载表面。在可能的示例中,所述运动装置可以实现为例如行动机器人,如各种运输机器人、服务机器人等;也可以包括车辆,例如具备自动驾驶功能的车辆等。
149.本公开实施例中还可以提供一种计算机可读存储介质,存储有程序指令,所述程序指令被运行时执行之前图3实施例中的方法步骤。
150.上述实施例中的方法步骤被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此表示的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。
151.需特别说明的是,本公开上述实施例的流程图表示的流程或方法表示可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
152.例如,图3实施例中的各个步骤的顺序可能可以在具体场景中加以变化,并非以上述表示为限。
153.如图9所示,展示本公开一实施例中计算机装置的结构示意图。
154.在一些实施例中,所述计算机装置用于装载实现所述深度测量方法的程序指令。所述计算机装置具体可实现为例如服务器、台式机、笔记本电脑、移动终端等,而可能被基于开发、测试等商业目的而存储和/或运行此程序指令的实施者所使用。
155.图9展示的计算机装置900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
156.如图9所示,计算机装置900以通用计算设备的形式表现。计算机装置900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
157.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得计算机装置用于实现本公开上述实施例(例如图3实施例)中描述方法步骤。
158.在一些实施例中,存储单元920可以包括易失性存储单元,例如随机存取存储单元(ram)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(rom)9203。
159.在一些实施例中,存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操执行系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
160.在一些实施例中,总线930可以包括数据总线、地址总线和控制总线。
161.在一些实施例中,计算机装置900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/o)接口950进行。可选的,计算机装置900还包括显式单元940,其连接到输入/输出(i/o)接口950,用于进行显式。并且,计算机装置900还可以通过网络适配器9100与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器9100通过总线930与计算机装置900的其它模块通信。应当明白,尽管图中未示出,可以结合计算机装置900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
162.综上,本公开实施例中提供深度测量方法、双目立体视觉系统、装置及存储介质,基于原始图像对分别执行第一优化处理和第二优化处理以得到第一优化图像对和第二优化图像对;其中,第一优化处理和第二优化处理为用于缩减被处理图像在图像水平方向上像素的不同图像处理方式;基于第一优化图像对执行立体匹配并计算得到第一深度图;以及,基于第二优化图像对执行立体匹配并计算得到第二深度图像;基于深度测量质量结果对第一深度图像和第二深度图像进行合成以得到目标深度图像。通过对双目立体系统摄取的原始图像对采用减少缩减视差的多路优化处理后立体匹配得到深度图像并合成,降低视
差影响以提升立体匹配成功率,提升探测能力。
163.上述实施例仅例示性说明本公开的原理及其功效,而非用于限制本公开。任何熟悉此技术的人士皆可在不违背本公开的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本公开所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本公开的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1