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

用于组合多个深度图的系统和方法

文献发布时间:2024-04-18 20:01:30


用于组合多个深度图的系统和方法

技术领域

本公开一般涉及可用于使用至少部分地从多于一个视点获得的数据来确定场景信息的设备、系统和/或方法。

背景技术

关于3D环境的场景信息对于许多应用是有用的,包括例如在传统道路和高速公路上安全自动驾驶车辆,以及例如用于导航、勘测、环境监控、农作物监控、矿山勘测、周界监视以及检查建筑结构的完整性。例如,需要测量场景中物体和表面的完整3D位置,以便移动的车辆避免碰撞。由于传统相机方便地测量角度位置(由此捕获的图像显示物体或表面的位置的“X”和“Y”分量),挑战在于准确可靠地测量物体或表面距离车辆的深度(或“Z”距离)。

创建这种场景信息的一种方法是使用一个或多个激光器的设备,这些激光器可能会频闪以覆盖场景,来发射光脉冲,并通过测量接收反射脉冲的时间延迟来确定3D场景中的表面与激光源的距离——这种设备通常称为LiDAR。LiDAR可以提供精确的测距;然而,角度分辨率可能是有限的。

另一种捕获3D场景信息的方法是使用雷达;然而,雷达的分辨率通常比LiDAR低得多。

通过适当的处理,可以使用光学相机系统来生成3D场景信息。捕捉成对图像的双目相机可用于基于双目视差(即,场景中固定特征的两个图像中的位置之间的差异)导出3D场景信息。通常,双目视差方法匹配由具有已知物理间隔或基线的相机捕获的图像对中的局部区域。根据视差,可以基于光学(假设光沿直线传播)和几何三角测量原理来确定匹配区域的深度。双目视差方法在平坦区域中容易出错,在平坦区域中很少或没有用于识别两个单独视图之间的精确匹配的纹理。双目视差方法也遭受物体周围的模糊,该物体的一些部分被一个或两个相机遮挡。

在本领域中,使用两个以上的相机从不同的位置观察场景的光学相机系统是已知的;这些系统通常简称为相机阵列。这些阵列从多个不同的方向和/或位置捕捉场景的一组2D图像。然后,基于来自相机阵列中的不同相机的图像对之间匹配的局部图像区域的差异,可以使用与双目相机类似的原理来获得深度信息。

由任何传感器和/或计算方法产生的深度图可能包含小的误差,并且还可能包含许多大的误差(例如,由于典型3D场景中物体之间的遮挡)。

本公开旨在克服和/或改善现有技术的至少一个或多个缺点,这将从本文的讨论中变得显而易见。本公开还提供了这里讨论的其他优点和/或改进。

发明内容

该发明内容不旨在限制本文公开的实施例,并且在本说明书中公开了其他实施例。此外,一个实施例的限制可以与其他实施例的限制相结合,以形成另外的实施例。

某些实施例涉及一种组合从至少两个源深度图中收集的深度信息以产生精确深度信息的方法,包括:

a.从至少两个视点提供场景的至少两个源深度图,并将所提供的至少两个源深度图转发给计算机系统,该计算机系统被配置成:

b.接收至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定至少大部分位置的精确深度值,从而产生精确深度信息。

某些实施例涉及一种组合来自至少两个深度图的深度信息以产生精确深度信息的方法,包括:

a.从至少两个视点提供场景的至少两个源深度图,并将所收集的至少两个源深度图转发给计算机系统,该计算机系统被配置成:

b.接收至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图的至少一个中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定至少大部分位置的精确深度值;以产生精确深度信息。

f.重复步骤(c)、(d)和(e)以产生至少两个精确目标深度图;

g.使用至少两个精确目标深度图作为至少两个源深度图,重复步骤(b)、(c)、(d)、(e)和(f);

h.重复步骤(g),直到达到终止条件;和

i.输出代表场景的精确深度信息。

某些实施例涉及一种组合从至少两个深度传感器收集的深度信息以产生精确深度信息的方法,包括:

a.从来自至少两个深度传感器的至少两个视点生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给计算机系统,该计算机系统被配置成:

b.接收该至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定至少大部分位置的精确深度值,从而产生精确深度信息。

某些实施例涉及一种组合从至少两个深度传感器收集的深度信息以产生精确深度信息的方法,包括:

a.从来自至少两个深度传感器的至少两个视点生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给计算机系统,该计算机系统被配置成:

b.接收该至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图的至少一个中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定目标深度图中的至少大部分位置的精确深度值;

f.重复步骤(c)、(d)和(e)以产生至少两个精确目标深度图;

g.使用该至少两个精确目标深度图作为该至少两个源深度图来重复步骤(b)、(c)、(d)、(e)和(f),以进一步提高至少两个精确目标深度图的精度;

h.重复步骤(g),直到达到终止条件;和

i.输出代表该场景的精确深度信息。

某些实施例涉及一种组合从多个传感器收集的深度信息的方法,包括:

a.从该多个传感器收集多个深度数据值,并将多个深度数据值发送到处理器,其中多个深度数据值包括来自至少第一深度传感器的至少第一源输入深度数据值和来自至少第二深度传感器的至少第二源输入深度数据值;

b.将来自至少第一输入深度传感器的至少第一源输入深度数据值投影到至少一个其他目标深度传感器中的相应第一位置,并确定至少第一目标样本深度值;

c.将来自至少第二输入深度传感器的至少第二源输入深度数据值投影到至少一个其他目标深度传感器中的相应第二位置,并确定至少第二目标样本深度值;

d.在每个位置的基础上检查至少一个其他目标深度图中的投影值的一部分,为所检查的大部分位置(substantial portion)确定至少一个精确深度值;

e.对至少一个其他目标深度图上的多于一个的位置重复步骤(b)、(c)和(d);

f.对多个目标深度图重复步骤(e);以及为这些目标视点中的至少一些生成改进的深度图。

某些实施例针对一种用于组合由一个或多个深度图传感器提供的一个或多个深度图的方法,包括:

a.接受由两个或更多深度图传感器提供的一组源深度图;

b.选择目标视点以生成目标深度图;

c.变换至少两个源深度图的大部分深度测量,以从至少两个源深度图数据生成至少两个对应的变换后的深度图,其中视点与目标视点基本对准;和

d.通过定位至少两个对应的变换后的深度图中的对应位置和深度,并使用该深度图数据来确定至少一个代表性深度值,来确定至少一个目标深度图上的至少第一选定位置的至少一个代表性深度值;和

e.通过对至少一个目标深度图上的大部分位置重复步骤d来产生更精确的深度图。

某些实施例针对一种用于组合由一个或多个深度图传感器提供的一个或多个深度图的方法,包括:

a.接受由两个或更多深度图传感器提供的一组源深度图;

b.选择目标视点以生成目标深度图;

c.变换至少两个源深度图的大部分深度测量,以生成与目标视点基本对准的视点;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和

e.对多个目标视点重复步骤(b)、(c)和(d)以生成多个更精确深度图;

f.对多个更精确深度图重复步骤(e)至少一次以上,其中多个更精确的深度图被视为多个源深度图,以进一步提高准确度、质量或其组合;

g.当达到终止条件时,终止步骤(f)的重复;和

h.生成以下一个或多个:一组最终深度图和表示该组最终深度图到场景中的投影的至少一个点云。

某些实施例针对一种被配置成组合一个或多个深度图的系统,包括:

a.一组至少两个源深度图;

b.一种计算机系统,被配置为:

c.接受一组至少源深度图;

d.选择目标视点以生成目标深度图;

e.变换至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;和

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值。

某些实施例针对一种被配置成组合一个或多个深度图的系统,包括:

a.一组至少两个源深度图;

b.一种计算机系统,被配置为:

c.接受一组至少两个源深度图;

d.选择目标视点以生成目标深度图;

e.收集至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和;

g.对多个目标视点重复步骤(d)、(e)和(f)以生成多个更精确深度图;

h.对多个更精确深度图重复步骤(g)至少一次以上,其中多个更精确深度图被视为多个源深度图,以进一步提高准确度、密度、质量或其组合;和

i.当达到终止条件时,终止步骤(h)的重复。

某些实施例针对一种被配置成组合一个或多个深度图的系统,包括:

a.一个或多个深度图传感器,该一个或多个深度图传感器被配置成生成由两个或更多深度图传感器提供的一组源深度图;

b.一种计算机系统,被配置为:

c.接受由两个或更多深度图传感器提供的一组源深度图;

d.选择目标视点以生成目标深度图;

e.收集至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;和

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值。

某些实施例针对一种被配置成组合一个或多个深度图的系统,包括:

a.一个或多个深度图传感器,该一个或多个深度图传感器被配置成生成

由两个或更多深度图传感器提供的一组源深度图;

b.一种计算机系统,被配置为:

c.接受由两个或更多深度图传感器提供的一组源深度图;

d.选择目标视点以生成目标深度图;

e.收集至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和;

g.对多个目标视点重复步骤(d)、(e)和(f)以生成多个更精确深度图;

h.对多个更精确深度图重复步骤(g)至少一次以上,其中多个更精确深度图被视为多个源深度图,以进一步提高准确度、密度、质量或其组合;和

i.当达到终止条件时,终止步骤(h)的重复。

某些实施例涉及一种组合从至少两个深度传感器中收集的深度信息的方法,包括:

a.从来自至少两个深度传感器的至少两个视点生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给计算机系统,该计算机

系统被配置成:

b.接收至少两个源深度图;

c.将所收集的至少两个源深度图投影到点云中;

d.将点云的至少一部分投影到至少一个目标深度图上,并且对于至少一个目标深度图上的第一选定位置,从投影到至少一个目标深度图中的第一选定位置的点云中定位对应点,并且通过使用对应点的深度测量来确定目标深度图上的第一选定位置的至少一个精确深度值;和

e.对至少一个目标深度图中的至少大部分位置重复步骤d中的过程,以确定至少大部分位置的精确深度值,并生成至少一个进一步精确的目标深度图。

某些实施例涉及一种组合从至少两个深度传感器收集的深度信息的方法,包括:

a.从来自至少两个深度传感器的至少两个视点生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给计算机系统,该计算机

系统被配置成:

b.接收至少两个源深度图;

c.将所收集的至少两个源深度图投影到点云中;

d.将点云的至少一部分投影到至少一个目标深度图上,并且对于至少一个目标深度图上的第一选定位置,从投影到至少一个目标深度图中的第一选定位置的点云中定位对应点,并且通过使用对应点的深度测量来确定目标深度图上的第一选定位置的至少一个精确深度值;

e.对至少一个目标深度图中的至少大部分位置重复步骤d中的过程,以确定至少大部分位置的精确深度值,并生成至少一个进一步精确的目标深度图;

f.重复步骤(b)、(c)、(d)和(e)以进一步提高精确深度值的精度,并且当达到终止条件时终止步骤b、c、d和e的重复;和

g.生成包括精确深度信息的至少两个进一步精确的深度图;并且可选地,包含在至少一个进一步精确的深度图中的精确深度信息用于生成代表场景的场景点云。

附图说明

图1是根据某些实施例的(包括传感器阵列和计算机系统的)用于创建场景的三维表示的顶层系统图。

图2是由一组传感器观察到的示例性真实世界场景的图示。

图3是示例性过程的流程图。

图4是子过程多次再投影深度图精确化的流程图。

图5概念性地示出了源深度图到目标深度图的投影。

图6A-D示出了适于表示多个数据值(例如,深度测量)的示例性数据结构,其被布置在类似深度图的网格中。

图7示出了一些应用和传感器阵列配置。

图8示出了一些进一步的传感器阵列配置。

具体实施方式

详细描述中使用的主题标题仅是为了便于读者参考,而不应该用于限制整个公开内容或权利要求中的主题。主题标题不应用于解释权利要求的范围或权利要求的限制。

本公开的某些实施例可用于几个领域。例如,一个或多个以下非限制性示例性应用:越野车(例如,汽车、公共汽车、摩托车、卡车、拖拉机、叉车、起重机、反铲挖土机、推土机);道路车辆(例如汽车、公共汽车、摩托车、卡车);基于轨道的车辆(例如,机车);基于空中的交通工具(例如,飞机、直升机);个人(例如,矿工、士兵、飞行员、战士、急救人员、维修人员、救援人员)、水陆两用交通工具(例如,船、汽车、公共汽车);和船只(例如,轮船、气垫船、潜艇)。此外,非限制性示例性应用可以是操作员驱动的、半自动的和/或自动的。

本公开的某些实施例可用于几个其他领域。例如,以下非限制性示例性应用中的一个或多个:绘制环境地图、测量环境或构建环境的3D模型(其中环境可以包括例如:街道、路径、房屋、建筑物、隧道、矿井、建筑环境、农田、森林、田野、地层或自然环境);以及其他类型的对象(例如,人、动物、人工制品、艺术品、制造样品、原型等)的3D建模。

术语“场景”表示通过一个或多个传感器的视野感知的三维真实世界(即,3D物理现实)的子集。在某些实施例中,可以有至少2、3、4、5、10、15、20、25、30、35或40、100、1000或更多个传感器。

术语“对象”是指场景中的元素。例如,场景可以包括以下对象中的一个或多个:人、孩子、汽车、卡车、起重机、采矿车、公共汽车、火车、摩托车、车轮、一小块草地、灌木、树、树枝、树叶、岩石、小山、悬崖、河流、道路、道路上的标记、路面上的凹陷、雪花、房屋、办公楼、工业建筑、塔、桥、水道、鸟、飞鸟、跑道、飞机、直升机、门、门把手、架子、存储架、叉车、箱子、建筑物、机场、城镇或城市、河流、山脉、田野、丛林和集装箱。对象可以是场景中的移动元素,或者可以是静止的或基本静止的。对象可以被认为是在场景的背景或前景中。

术语“物理表面”是指场景中物体的表面,其发射和/或反射电磁频谱的至少一部分中的电磁辐射,并且其中至少一部分这种辐射穿过场景的至少一部分。

术语“3D点”或“3D坐标”是指至少部分地由至少三个参数定义的场景中点的位置的表示,至少三个参数指示从原点参考到该点的三维距离,例如,在从原点的三个方向上,其中这些方向可以是基本垂直的(至少不是共面或共线的),或者作为替代示例,使用由径向距离、极角和方位角组成的球面坐标系。

术语“3D邻域”或“邻域”是指场景中的3D体积,其在一个或多个方向上的最大线性范围可以被限制为小于指定的阈值。该阈值对于不同的方向可以是不同的,例如,可以是0.1毫米、1毫米、5毫米、1厘米、5厘米、10厘米、50厘米、1米、5米、10米、50米、100米,或者当考虑由场景表示的物理空间的整体尺寸时,可以是适当比例的其他值。如果3D点的坐标位于由3D邻域描述的3D体积内,则3D邻域可以被认为包含一个或多个3D点。

术语“3D场景信息”、“3D信息”或“场景信息”是指在相对静态的时间段内关于场景中的一个或多个3D邻域的信息。该信息可以包括以下一个或多个:i)一个或多个3D邻域的特征位置(例如,包含在一个或多个3D邻域中的3D点的算术或几何质心);ii)从一个或多个传感器的视点来看,至少部分包含在一个或多个3D邻域中的一个或多个3D点、物体或表面的光谱信息;以及iii)至少部分描述至少部分包含在一个或多个3D邻域中的3D点、对象或表面的元数据。元数据可以包括一个或多个以下属性:3D点的纹理;来自3D点附近区域的光谱数据;一维、二维或三维中的一个或多个3D点的瞬时速度(也允许一个或多个汇总的速度值,例如一维、二维或三维中的3D点的平均速度);全部或部分存在于一个或多个3D邻域中的对象或表面的类型或分类;和潜在的其他数据。

术语“传感器中心”或“传感器视点”是3D点,从该点到场景中的物体和/或表面的距离由特定的3D深度传感器报告。对于单个标准相机(在没有额外增强的情况下不测量深度的简单传感器),传感器中心可以是“相机中心”;本领域众所周知的理想“针孔”相机模型的基本组件。对于LIDAR单元,中心可以是选通场景的激光源的原点(激光器通常安装为围绕该中心点旋转)。

术语“相对静态时间段”是指场景中的大部分物理表面相对于传感器至少基本静止的时间段。如关于该术语所使用的,该时间段可以是大约0.0001秒、0.01秒、0.05秒、0.1秒、0.2秒、1秒或10秒。如关于该术语所使用的,如果适合于该情况,该时间段可以小于0.0001秒、0.01秒、0.05秒、0.1秒、0.2秒、1秒、10秒或更长。如关于该术语所使用的,时间段可以在0.0001秒和10秒之间、0.0001秒和0.01秒之间、0.01秒和1秒之间、0.05秒和5秒之间、0.1秒和1秒之间、0.2秒和2秒之间、1秒和4秒之间、或者0.1秒和10秒之间,或者视情况而定的更大范围。如关于该术语所使用的,在某些应用中,例如,当场景中的距离和/或物体或相机的速度足够大时(例如,在基于卫星和/或空间的应用中),该周期可以是1分钟、10分钟、100分钟或更长。如关于该术语所使用的,基本大多数可以是场景中物理表面的至少60%、70%、80%、85%、90%、95%、99%或100%。如关于该术语所使用的,短语“基本静止”意味着物理表面相对于传感器的移动可以小于它们相对于传感器的位置的0.1%、0.2%、0.5%、1%、2%、5%或10%,或者如果适合于该情况,可以更大。

术语“深度图”表示场景中从指定参考位置开始的物理表面的多个深度的表示。在一些实施例中,该参考位置可以是实际的或名义上的传感器中心。在某些实施例中,深度图可以由包括多个单元的二维网格来表示,其中该网格中的多个单元的至少一部分保持或存储至少一个时刻的多个深度信息,并且该多个深度信息可以表示从传感器中心到场景中的一个或多个物理表面的各种距离。在某些实施例中,多个单元可以非网格状排列,例如圆形、螺旋形、圆柱形等。在某些实施例中,深度图可以源自传感器,例如,激光雷达、雷达、声纳、飞行时间相机、立体相机、多立体相机阵列系统或其组合。

术语“深度图位置”是指单元在二维中的地址,其中深度图可以存储至少一个时刻的深度信息;例如,深度值,其表示沿着从相应传感器中心到场景中的表面的基本上直线的距离的估计。在一些实施例中,单元可以布置在基本上矩形的二维网格中,在这种情况下,深度图位置将是单元的二维网格位置。在一些实施例中,一个或多个深度图单元可以具有指示没有有效深度值或没有深度信息的深度信息。

术语“精确深度值”是指从实际或垂直的传感器中心到场景中对象的物理表面的一组深度测量值,其可能比原始的或未精确的深度测量值集合的至少一个基本子集更准确或更完整,深度测量值至少部分是从该原始的或未精确的深度测量值集合中导出的。

术语“精确深度图”表示足以映射场景的至少一部分的精确深度值的集合。

术语“相邻单元”是指深度图中彼此相邻的单元,或者深度图位置在彼此指定距离内的单元。在某些实施例中,指定距离可以小于0.001毫米、0.01毫米、0.1毫米、1毫米、10毫米、100毫米或1000毫米。

术语“稳健统计”是指能够从一组提供的值中生成一个或多个精确值的数学或计算技术,其中提供的值内的可变性(如果有的话)至少部分是由于噪声过程,该噪声过程可能不符合具有已知参数化的概率分布,或者可能符合具有已知参数化的概率分布。稳健统计的示例包括但不限于中值、修整中值、加权中值、自举中值、修整平均值、本领域已知的其他技术或其组合。

术语“点云”是指一组3D点,它们共同表示场景中物理表面或物体的近似。点云中的3D点可以另外具有与其相关联的其他数据,例如光谱数据、光流数据和/或其他元数据。通过沿着指向实际或垂直的传感器中心(在3D中)的线将云中的一个或多个3D点投影到传感器的实际或垂直二维成像表面、平面或网格上,点云可被转换成深度图,如可由深度传感器产生的。深度图可通过将深度图中的深度值的至少一部分沿着从图的相关联的参考位置通过对应的深度图位置到由对应的深度图值指定的距离的基本上笔直的直线投影到3D空间中来转换成点云。

这里使用的术语“每一个”意味着至少95%、96%、97%、98%、99%或100%的项目或功能如所指出的那样执行。

示例性项目或功能包括但不限于以下一项或多项:(一个或多个)位置、图像对、单元、像素、像素位置、层、元素、点、邻域、3D邻域和3D点。

本文使用的术语“至少大部分”是指所提及的项目或功能的至少60%、70%、80%、85%、95%、96%、97%、98%、99%或100%。示例性项目或功能包括但不限于以下一项或多项:(一个或多个)位置、图像对、单元、像素、像素位置、层、元素、点、邻域、3D邻域和3D点。

某些示例性优点

除了本文公开的其他优点之外,在某些示例性实施例中可以存在一个或多个以下优点:

一个优点可以是,从这里描述的深度图组合技术产生的准确的3D场景信息流可以用实时采样率或基本上实时的采样率来计算,以使得更高级别的系统能够进行导航决策。这种导航决策的示例包括但不限于轨迹选择、防撞、道路跟随、驾驶风险评估、安全速度确定、驾驶员辅助、驾驶员警报、安全距离跟随、个人空间导航或其组合。

另一个优点可以是从这里描述的深度图组合技术产生的3D场景信息可以具有更少的误差。例如,它们可以以比单独使用的任何单个传感器更高的径向准确度和/或角度准确度来确定深度。

另一个优点可以是从这里描述的深度图组合技术产生的3D场景信息可以克服部分遮挡。例如,前景物体阻碍了某些传感器对场景的某些部分的视图。

另一个优点可以是在对象边界周围以更好的保真度确定深度,所述对象例如前景对象、重叠对象、具有圆形边界的对象。

另一个优点可以是,来自不同传感器类型、诸如标准RGB相机、红外相机、飞行时间相机、激光雷达或雷达的深度图可以被组合,以形成关于3D场景的更准确和/或更完整的信息,这比单独采用每个传感器可能得到的信息更准确和/或更完整。

系统图

图1示出了某些示例性实施例的系统图100。该系统包括传感器阵列110和计算机系统115。

传感器阵列110包括选定配置的一组深度传感器(深度传感器的配置示例在本公开的其他地方提供)。这里详细描述了深度传感器120、130、140。

在某些实施例中,传感器阵列由单一类型的深度传感器(例如,ToF相机、激光雷达、雷达)组成。在某些实施例中,传感器阵列由不同类型的深度传感器(例如,RGB相机立体对、近红外相机立体对、长波红外立体或多立体传感器、激光雷达、雷达)的混合组成。在某些实施例中,传感器阵列可以包括相关电路,以确保从深度传感器110的一部分、大部分或全部同步捕捉数据。

计算机系统115包括接收单元150,用于与传感器阵列110中的深度传感器通信。接收单元经由通信总线151与处理器单元160和存储器单元170连接。处理器单元160可以是通用CPU或GPU,或者可以是定制的硬件,例如被设计来执行所需处理的FPGA或ASIC。存储器单元170可以包括易失性和/或非易失性存储器。它可以存储用于处理单元160的指令以及经由通信总线152从接收单元160接收的图像数据。处理单元160也可以通过通信总线162连接到数据存储器190。处理单元160还可以经由163连接到外部通信单元180(或与之通信)。通信单元180可以用于输出3D数据流以供外部系统使用。通信单元180还可以从外部源接收数据,包括位置数据、地图数据和/或先前记录的关于场景的3D数据。

传感器阵列110中的深度传感器可以连接到计算机系统115。深度传感器具有由121、131、141表示的通信信道,以接受控制和/或同步信号并输出深度数据。从深度传感器阵列110中的传感器同步捕捉图像、点云、深度图或其他数据可能是有用的,并且可以由通信信道121、131、141来实现。

计算机系统115可以接收并处理来自传感器阵列110中的深度传感器的数据,以产生多个深度图。诸如飞行时间相机的一些深度传感器可以直接产生深度图。诸如LIDAR等一些深度传感器可产生作为点云的深度信息,点云是围绕传感器设置的一系列3D点,然后可通过以类似于本领域中已知的理想针孔相机模型的方式将3D点向传感器中心投影并投影到假设的概念成像平面上来将深度信息转换成深度图。诸如立体相机对等一些深度传感器可产生通过图像立体视差原理生成的深度图。从立体相机对产生深度图的技术在本领域中是已知的,并且将不进一步描述。

计算机系统115可以将深度图存储在存储器单元170中。计算机系统可以执行深度图组合过程,以产生具有其他特征的组合深度图,这些特征例如是降低的噪声、提高的准确度、改进的关于对象边缘的深度确定、其组合等等。深度图组合过程将在本公开的后面描述。

图1示出了示例性系统(100)。图1包括深度传感器110的示例性配置和示例性计算机系统(115)。在某些实施例中,一个或多个计算机系统执行这里描述或公开的一个或多个方法的一个或多个步骤。在某些实施例中,一个或多个计算机系统提供在本公开中描述或示出的功能。在某些实施例中,被配置为在一个或多个计算机系统上运行的可执行软件执行本文公开的一个或多个方法的一个或多个步骤和/或提供本文公开的功能。在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。

本公开考虑了合适数量的计算机系统。作为示例而非限制,计算机系统(115)可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、主机、计算机系统网、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备或其组合。在适当的情况下,计算机系统(115)可以包括一个或多个计算机系统;可以是单一的或分散的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,这可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统(115)可以在没有实质的空间或时间限制的情况下执行这里描述或示出的一个或多个方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统(115)可以实时或批量处理模式执行本文公开的一个或多个方法的一个或多个步骤。

计算机系统(115)可以包括处理器单元(160)、存储器单元(170)、数据存储器(190)、接收单元(150)和外部通信单元(180)。

处理器单元(160)可以包括用于执行指令的硬件,例如构成计算机程序的指令。作为示例而非限制,为了执行指令,处理器单元(160)可以从内部寄存器、内部高速缓存、存储器单元(170)或数据存储器(190)中检索指令;解码并执行它们;然后将一个或多个结果写入内部寄存器、内部高速缓存(未示出)、存储器单元(170)或数据存储器(190)。处理器单元(160)可以包括一个或多个用于数据、指令或地址的内部高速缓存。本公开设想在适当的情况下,处理器单元(160)包括适当数量的适当内部高速缓存。处理器单元(160)可以包括一个或多个指令高速缓存、一个或多个数据高速缓存以及一个或多个翻译后备缓冲器(TLB)。指令高速缓存中的指令可以是存储器单元(170)或数据存储器(190)中的指令的副本,并且指令高速缓存可以加速处理器单元(160)对那些指令的检索。

存储器(170)可以包括用于存储供处理器执行的指令或供处理器操作的数据的主存储器。计算机系统(115)可以将指令从数据存储器(190)或另一个源(例如,另一个计算机系统)加载到存储器单元(170)。然后处理器单元(160)可以将指令从存储器单元(170)加载到内部寄存器或内部高速缓存。为了执行指令,处理器单元(160)可以从内部寄存器或内部高速缓存中检索并解码指令。在指令执行期间或之后,处理器单元(160)可以将一个或多个结果(可以是中间或最终结果)写入内部寄存器或内部高速缓存。然后处理器单元(160)可以将这些结果中的一个或多个写入存储器单元(170)。处理器单元(160)可以仅执行一个或多个内部寄存器或内部高速缓存或存储器单元(170)中的指令(与数据存储器(190)或其他地方相反),并且仅对一个或多个内部寄存器或内部高速缓存或存储器单元(170)中的数据进行操作(与数据存储器(190)或其他地方相反)。一条或多条存储器总线可以将处理器单元(160)耦合到存储器单元(170)。总线(未示出)可以包括一条或多条存储器总线。存储器单元(170)可以包括随机存取存储器(RAM)。该RAM可以是易失性存储器,在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口或多端口RAM。在适当的情况下,存储器单元(170)可以包括一个或多个存储器。

数据存储器(190)可以包括用于数据或指令的大容量存储器。数据存储器(190)可以包括硬盘驱动器(HDD)、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或其组合。在适当的情况下,数据存储器(190)可以包括可移动或不可移动(或固定)的介质。在适当的情况下,数据存储器(190)可以在计算机系统的内部或外部。数据存储器可以包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改变ROM(EAROM)或闪存或其组合。

在某些实施例中,I/O接口(未示出)可以包括硬件、软件或两者,为计算机系统和一个或多个I/O设备之间的通信提供一个或多个接口。在适当的情况下,计算机系统可以包括一个或多个这些I/O设备。这些I/O设备中的一个或多个可以实现人和计算机系统之间的通信。I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态照相机、触笔、图形输入板、触摸屏、轨迹球、相机、其他合适的I/O设备或其组合。I/O设备可以包括一个或多个传感器。本公开考虑了任何合适的I/O设备和用于它们的任何合适的I/O接口。在适当的情况下,I/O接口可以包括一个或多个设备或软件驱动器,使得处理器单元(160)能够驱动这些I/O设备中的一个或多个。在适当情况下,I/O接口可以包括一个或多个I/O接口。

尽管图1示出了深度传感器的示例性配置,但是也可以使用其他配置。例如,传感器可以布置成圆形图案、“Z”形图案、分散图案,并且一些传感器可以在三维中的一个或多个维度上偏移。为了说明,图7示出了在各种示例性情况下使用的深度传感器,包括在汽车710上、卡车720上、火车730上、头盔740上、飞机750上和柱子760上。并且图8示出了进一步替换的示例性配置中的深度传感器,包括2×2矩形810、3×2矩形820、3×3矩形830、4×4矩形840、中空4×4矩形850、两个同心矩形860、薄的垂直姿态阵列870、薄的水平姿态阵列880、圆890和同心圆895。在实践中,对深度传感器的配置几乎没有限制。此外,一些深度传感器可以在基础平台或车辆的铰接部分上相对于彼此移动。此外,深度传感器可以独立地自由移动(例如,在一个或多个无人驾驶飞机上安装一个或多个),并且本公开的某些实施例仍然可以适用,只要在捕捉一个或多个深度图时深度传感器的相对位置已知为可接受的精度。

示例性说明性场景

图2示出了场景200。道路210被示为具有标记道路边缘的线212、213和用于道路210的中心线的标记215。在这个场景中,道路上有两辆汽车220、230。还示出了位于路边的树木240、250和标志260。传感器阵列110被示出为位于观察场景的方向。传感器阵列110可以位于车辆(未示出)上,并且本身可以沿着道路行驶。轴290指示可用于描述场景中物体位置的3D坐标系的参考位置和方向。

深度图精确的示例性过程

图3示出了用于组合来自多个3D传感器的3D场景信息的示例性过程300。从步骤310开始,该过程直接移动到步骤“校准传感器阵列”315。在步骤“校准传感器阵列”315中,可以执行传感器阵列110中的深度传感器(例如,120、130、140)的校准,使得后面的步骤可以用相对于3D中的共享概念原点的深度传感器数据来操作。校准确定了可以描述深度传感器观察到的物理表面的位置和深度传感器捕捉到的相应数据之间的映射的校准参数。校准参数可以包括描述该深度传感器固有的映射的固有参数,并且可以包括描述该深度传感器在场景中的位置和方向的外部参数。在传感器阵列系统中,外部参数可以包括关于深度传感器相对于彼此的位置和方向的信息。作为该步骤的一部分,可以确定传感器阵列110中的深度传感器的固有深度传感器参数和/或非固有深度传感器参数,并且可以存储这些参数以供稍后的处理步骤使用。校准是本领域中已知的过程,并且有许多方法可以应用。在某些实施例中,校准可以是手动过程。在某些实施例中,校准可以是自动化过程,并且可以由结合传感器阵列110工作的计算机系统115来执行。在某些实施例中,校准可以使用具有已知尺寸和/或配置的测试图表或专门目标。在步骤“校准传感器阵列”315之后,该过程移动到步骤“获取深度图”320。

在步骤“获取深度图”320,计算机系统115操作传感器阵列110来捕捉数据并捕捉或生成多个深度图。在本公开的其他地方进一步描述了深度图。传感器数据的内容和格式可以根据深度传感器的类型而变化。飞行时间(time of flight,ToF)相机可以直接产生深度图,该深度图包含2D网格数据结构中的深度图位置的图像数据(例如,RGB数据)和深度信息。

包括红外传感器(例如,LWIR、MWIR、SWIR)的相机传感器本身可能不提供深度信息。然而,一对相机传感器或相机传感器阵列可以通过对传感器数据的适当处理来确定3D信息。结果可以是包含图像数据(例如,RGB数据)和与类似2D网格结构中的图像像素对齐的深度信息的深度图。

激光雷达传感器可以提供点云作为3D位置和强度的列表或阵列。雷达传感器可以提供点云作为3D位置和强度的列表或阵列。在深度传感器提供作为点云的3D数据的情况下,该数据可被投影到场景中定位和定向的2D概念表面上,以在3D中从深度传感器的传感器中心点的视点来表示深度传感器的视点。这样产生的数据在2D网格上的投影是一种深度图结构,可与上述其它类型的传感器产生的深度图结构相比。

深度传感器可以输出替代形式的3D信息,例如,在极坐标网格中记录每个位置的高度和强度的自上而下的“雷达”视图。尽管存在这些不同的数据格式差异,但是3D信息可以被映射到深度图中,潜在地需要选择名义传感器中心点作为该过程的一部分。无论这些深度图是如何从传感器类型中产生的,这里公开的过程和/或系统都可以被应用。

有许多类型的传感器可以单独或成对或成组地生成深度图。因此,在步骤“获取深度图”320中,可以捕捉或生成从不同位置和方向表示场景的许多深度图。在步骤“获取深度图”320之后,该过程移至子过程“多次再投影深度图精确化”400。

在子过程“多次再投影深度图精确化”400,在步骤“获取深度图”320捕捉或生成的深度图可通过再投影多个深度图的数据、确定精确深度值并生成具有精确的3D信息的一组新的深度图来变得精确。对于输入深度图中的某些单元,可能没有深度值,或者可能有指示深度值被认为是不确定的标志,或者可替换地,测量可以用表示不确定程度的至少一个数值来标记。被标记为不确定或确定性低于某个阈值的单元可以在重新投影和随后确定精确深度值时被忽略。子过程“多次再投影深度图精确化”400的效果可以是减少深度图中的不一致性,其中最初来自多个独立深度图的数据最初看起来模糊或矛盾。

子过程400的过程在本公开的其他地方有更详细的描述。在子过程“多次再投影深度图精确化”400之后,该过程移动到判定步骤“重复?”330。

在步骤“重复?”330,该过程可以前进到步骤390并终止,或者可以迭代,重复子过程“多次再投影深度图精确化”400。当在子过程“多次再投影深度图精确化”400上迭代时,子过程返回一组更新的深度图,并且然后这些更新的深度图可以被用作下一次迭代的输入。通过多次迭代子过程“多次再投影深度图精确化”400,可以进一步减少不一致性,并且最终深度图中的所得3D信息可以比输入到该过程中的至少一个原始深度图更准确地描述场景中的表面位置。这个迭代过程可以继续,直到达到某个终止条件。该条件可以是精确后的深度图数据与该过程的一次或多次先前迭代相比没有显著变化的观察结果(即,该过程已经收敛于一组3D点,该组3D点可以说是在该重复投影和重新投影过程下的稳定组)。可以使用其他终止条件,例如,当3D点的一部分足够接近地表示场景中先验已知的3D结构时,或者可能存在可以执行的预先确定的迭代次数(例如,1、2、5、10、100、1000或更多)。例如,在某些实施例中,先前确定的迭代次数可以少于2、3、4、5、10、20、30、40、50、100或500次。无论如何确定,一旦迭代过程完成,来自一个或多个精确深度图和/或作为深度图到场景中的投影的点云的数据可被读取并可被输出,例如经由外部通信单元180。

示例性深度图数据结构

在下文中,描述了用于存储深度图的一些数据结构。参考图6A,在601,潜在的深度图布局被示为包括单元611的单元网格610。单元611包含深度信息,例如在612指示的深度值4.8。在替换实施例中,参见图6B,在602,深度图被示为包括单元621的单元网格620。单元621包含深度信息和RGB颜色信息,如622所示。

在某些实施例中,深度图可以包括标志或特殊值,以指示给定单元的深度未知或不可靠。例如,当单元对应于场景中对象的边界,并且因此单元可能部分表示前景对象,部分表示某个其他对象或背景时,这种不可靠的深度读数可能发生。

在某些实施例中,具有可以收集单元的许多深度值的深度图是有用的。图6C在603示出了深度图630,其中深度图的单元可以包括指向数据结构633的指针632,并且数据结构633包括变量634和列表635,其中精确深度值可以保存在存储器中,列表635可以用于存储多个深度值。

在某些实施例中,除了深度数据之外,其他数据也可以与单元相关联,例如可以由传感器提供的颜色数据、光谱数据、速度数据、其他数据或其组合,或者可以从其他过程导出的其他数据。

用于子过程“多次再投影深度图精确化”的示例性过程

图4示出了用于共同精确表示场景200的观察视图的一组深度图的示例性子过程400。过程400将一组深度图作为输入,在本公开中也称为源深度图。深度图在本公开的其他地方有详细描述。

输入到过程400中的源深度图可以使用传感器阵列110中的深度传感器来获得,并且可以使用相同类型的深度传感器或不同类型的深度传感器的混合来获得。输入到过程300中的深度图可以表示场景200的视图,并且一个或多个深度图可以与传感器视点(即,传感器中心和可能来自该点的视图方向)相关联,并且可以包含关于来自该视点的场景200的3D场景信息。在某些实施例中,输入到过程400中的至少一个深度图可以具有与传感器阵列110中的至少一个深度传感器基本相同的视点(即,位置和方向)。

示例性子过程400的结果可以是从输入到过程中的深度图导出的一组深度图。图4所示的示例性子过程可以如图3所示的示例性过程那样重复。

在某些实施例中,从过程400输出的至少一个深度图可以具有与传感器阵列110中的至少一个深度传感器基本相同的视点(即,位置和方向)。

在某些实施例中,从过程400输出的至少一个深度图可以具有与输入到过程400中的至少一个深度图基本相同的视点(即,位置和方向)。

在某些实施例中,从过程400输出的至少一个深度图可能不具有与传感器阵列110中的至少一个深度传感器基本相同的视点(即,位置和方向)。

在某些实施例中,从过程400输出的至少一个深度图可能不具有与输入到过程400中的至少一个深度图基本相同的视点(即,位置和方向)。

在某些实施例中,输出的深度图的数量可以与输入到过程400的深度图的数量相同。这种布置有利于精确化过程的重复,因为一次迭代的输出可以直接用作至此所述过程的另一次迭代的输入。

在一些实施例中,输出的深度图的数量少于或多于输入到该过程的深度图的数量。如果需要,只要有多于一个的源深度图可用作精确化过程400的潜在输入,精确化过程400的迭代就可以继续。在这种情况下,精确化过程仍可被执行,并且一个或多个输出的精确深度图可被用作精确化过程400的另一次迭代的输入。此外,如果需要,在精确化过程400中也可以使用深度图的其他来源。

在某些实施例中,可以输出至少一个深度图。并且该至少一个深度图可以从计算机系统115输出。并且在这种布置中,输出可以用作场景的统一表示。

在本公开中,术语目标深度图用于描述可以在当前迭代中写入或用数据更新的深度图,术语源深度图用于描述在当前迭代期间用作输入的深度图。

过程400在410开始,并直接移动到“选择目标深度图”415。在步骤“选择目标深度图”415,第一目标深度图视点可以从源深度图视点的集合中选择,或者从在该过程的先前迭代期间已经使用的目标深度图视点的集合中选择(参见步骤415至445)。同样,在步骤“选择目标深度图”415,可以使用独立信息,甚至随机地选择第一目标深度图视点。该过程从“选择目标深度图”415移至“选择源深度图”420。

通常,在步骤420,可以在该过程的一个或多个先前迭代中从较早的精确深度图中选择源深度图,然而,在步骤420,也可以至少部分地选择由一个或多个传感器产生的深度图和/或由某个其他源提供的深度图。从“选择源深度图”415,该过程移动到“投影到目标视图”425。

在步骤“投影到目标视图”425,可以使用本领域中已知的传感器中心和投影几何技术(执行这些投影所需的传感器中心和其他信息可以通过本公开中其他地方描述的校准过程来确定),将所选源深度图中的数据(从其视点表示3D点)投影到3D空间中,然后从3D空间投影到所选目标深度图中。在一些实施例中,与刚刚描述的方法不同,可以直接定义从源深度图到目标深度图的投影过程(例如,使用本领域技术人员已知的3D几何),从而避免作为中间步骤明确投影到3D空间中。在一些实施例中,投影可以在多于一个的单个步骤中执行,其中这些步骤中的至少一个步骤调整深度图数据,使得它表示由以不同于原始源传感器中心的位置为中心的传感器捕捉的深度数据。在一些实施例中,如同传感器中心在不同的3D位置一样调整深度图数据的一系列变换可以实现比在单个步骤中执行变换更高效的处理,无论该单个步骤是否通过临时投影到3D空间中来实现,或者如果直接从源深度图到目标深度图执行映射。

参考图5,源深度图被示为520处的单元网格。虚线528概念性地示出了源深度图520的单元522在3D空间中的投影,例如,在诸如200的场景的空间中的投影,标记591表示根据单元522的值的3D点。因此,在该示例中,源深度图的一个或多个单元可以表示场景中的3D点;即,通过在概念上构建由单元中的深度值指定的长度的直线,该直线从传感器中心穿过该单元,进入3D场景,并在所描述的场景中的3D点处终止。此外,在图5中,目标深度图被示为510处的单元网格,其中单元512具有如点划线518所示的到3D空间的投影。通过计算3D几何形状,考虑由源深度图520表示的视图的位置和姿态以及由目标深度图510表示的视图的位置和姿态,可以计算沿518的距离,该距离近似于591处的3D点的位置。因此,可以根据源深度图520来确定单元512的目标深度图510的深度值。

在某些实施例中,可以从源深度图计算3D点的位置。3D点的集合可以被称为点云(在本公开的其他地方定义)。根据点云,可以计算点云中的3D点相对于目标深度图的深度(通过将一个或多个3D点朝向目标传感器中心投影,从而投影到目标传感器的概念图像平面上)。在某些实施例中,计算可以在不确定3D点的坐标的情况下作为中间步骤来执行,而是通过直接计算相对于目标深度图的深度值来执行。在某些实施例中,可以预先计算并以适当的格式在处理器的存储器中缓存或存储所有或部分到场景中的3D投影,然后重新投影回深度图计算(利用传感器中心可以相对于彼此保持固定或基本固定的事实,因此这样的3D映射可以预先计算)。

对于目标深度图中的单元,数据结构可用于存储从来自多个源深度图的3D点的投影获得的多个深度值。图6C示出了深度图630,其中深度图的单元可以包括指向数据结构633的指针632,并且数据结构633包括变量634和列表635,其中深度值可以保存在存储器中,列表635可以用于存储多个深度值。在某些实施例中,列表635的元素可以存储附加信息,例如颜色、光谱数据、速度数据或与单元的样本相关联的其他数据。

目标深度图中单元的值可以从源深度图中单元的投影中导出,并且可以被写入目标深度图中的列表、例如635中。图6D更详细地示出了列表635,在单元中具有示例数值。在某些情况下,目标深度图中的单元可能无值,因此根据源深度图中不同单元的贡献,从一个或多个源深度图中累积一个或多个深度值。在某些实施例中,存储的深度值的数量可能与从可用源深度图集中选择的深度图的数量大致相同。在某些实施例中,存储的深度值的数量可以不同于源深度图的数量。

在步骤425“投影到目标视图”之后,过程移动到步骤430“对其他源深度图重复”。该步骤形成了在源深度图集合上迭代的循环。当已经处理了所选源深度图的集合时,控制移动到步骤435“基于样本一致性进行过滤”。然而,如果要考虑更多的源深度图,则该过程返回到步骤420“选择源深度图”,并且可以选择另一个源深度图,然后在步骤425“投影到目标视图”中将其投影到目标视图,等等。

在步骤435“基于样本一致性进行过滤”,可以评估在步骤425“投影到目标视图”中确定的样本深度,以确定它们是否表示在可接受的(即一致的)数字阈值内一致的一组深度样本。可以评估单元的样本的深度值,并且如果深度样本的范围大于阈值,则可以认为目标深度图的单元不一致。可以使用稳健的四分位间距概念来计算间距值的一致性,尽管可以使用其他方法,例如平均值、修整平均值、自举中值以及说明列表中至少一些收集值的已知或估计精度或其他相关元数据的技术。在某些实施例中,深度一致性阈值可以是大约1%、2%、3%、4%、5%、6%、8%、9%、10%的值或适合于应用的其他值。在某些实施例中,深度一致性阈值可以是小于1%、2%、3%、4%、5%、6%、8%、9%、10%的值或适合于应用的其他值。在某些实施例中,如果单元被认为是不一致的,则可以用值“无”或所记录的某个其他值来重写精确深度值,以指示该精确深度值可以被忽略。

在某些实施例中,深度传感器的已知的或测量的或估计的误差特性可用于建立用于确定样本深度是否可被认为不一致的标准。

在某些实施例中,不同类别的深度传感器(例如,Lidar(激光雷达)、雷达、立体相机等)的已知或测量或估计的误差特性可用于结合使用已知的统计方法来建立用于确定样本深度是否可被视为不一致的标准。

在某些实施例中,与单元的样本相关联的附加数据可用于确定样本是否表示一致的深度样本集。例如,可以评估以下的一个或多个:颜色、光谱数据、速度数据和与单元的样本相关联的其他度量,以确定样本是否可以被认为是一致的。

在步骤435“基于样本一致性进行过滤”之后,过程移动到步骤440“确定精确后的深度”。目标深度图中的单元可存储零个、一个或多个深度值,这些深度值可能是从源深度图到目标视图的投影中导出的。如果存储的深度值的数量低于最小数量,则目标深度图的单元的精确深度可被设置为“无”。然而,如果深度值的数量等于或大于最小数量,则可以从存储的深度值中为该单元确定精确深度值。在某些实施例中,精确深度值可以是以下的一个或多个:单元的存储深度值的平均值、修整平均值、众数和中值,以及类似于在先前步骤435“基于样本一致性进行过滤”中执行的一致性处理的计算。在某些实施例中,除了深度值之外或代替深度值,精确深度值计算可以基于或补充以下一个或多个:颜色、光谱数据、速度数据、与单元的样本相关联的其他度量。诸如RGB数据的光谱数据可以与深度图中的单元一起存储,如图6B所示。

在某些实施例中,可以另外基于与目标深度图中的一个或多个相邻单元相关联的存储的深度值来确定目标深度图中的单元的一个或多个精确深度值。

无论如何选择,一个或多个精确深度值(在适用的情况下,包括指示“无”即没有有效值可用的标志)然后可被写入目标深度图的单元。

在某些实施例中,颜色、光谱数据、速度数据或其他元数据的值可以被确定,并且也可以被写入目标深度图的单元。

在步骤440“基于样本一致性进行过滤”之后,该过程移动到步骤445“对其他目标深度图重复”。

在步骤44“5对其他目标深度图重复”,如果有更多的目标深度图要处理,则控制再次移动到步骤“选择目标深度图”445,其中可以选择下一个目标深度图,并且该过程可以从那里继续。当目标深度图已被处理时,控制移至步骤490,其中子处理“多次再投影深度图精确化”完成。此时,可能已经生成了一组目标深度图。该组目标深度图然后可被返回给调用进程,并且控制然后可返回给调用进程。

从以下描述所要求保护的主题的某些实施例的示例中,所要求保护的主题的进一步优点和/或特征将变得显而易见。

1A.一种组合从至少两个源深度图收集的深度信息以产生精确深度信息的方法,包括:

a.提供来自至少两个视点的场景的至少两个源深度图,并将所提供的至少两个源深度图转发给计算机系统,该计算机系统被配置成:

b.接收该至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定至少大部分位置的精确深度值,从而产生精确深度信息。

2A.一种组合来自至少两个深度图的深度信息以产生精确深度信息的方法,包括:

a.提供来自至少两个视点的场景的至少两个源深度图,并将所收集的至少两个源深度图转发给计算机系统,该计算机系统被配置成:

b.接收该至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图的至少一个中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定目标深度图中的至少大部分位置的精确深度值;

f.重复步骤(c)、(d)和(e)以产生至少两个精确目标深度图;

g.使用该至少两个精确目标深度图作为至少两个源深度图,重复步骤

(b)、(c)、(d)、(e)和(f);

h.重复步骤(g),直到达到终止条件;和

i.输出代表场景的精确深度信息。

3A.一种组合根据至少两个深度传感器收集的深度信息来产生精确深度信息的方法,包括:

a.根据来自所述至少两个深度传感器的至少两个视点,生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给处理器,处理器被配置成:

b.接收至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定至少大部分位置的精确深度值,从而产生精确深度信息。

4A.一种组合来自至少两个深度传感器收集的深度信息以产生精确深度信息的方法,包括:

a.根据该至少两个深度传感器的至少两个视点,生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给处理器,该处理器被

配置成:

b.接收该至少两个源深度图;

c.选择目标视点以生成目标深度图;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图的至少一个中定位相应的位置和深度值,并通过使用零个或至少一个相应

的深度值来确定第一选定位置的至少一个精确深度值;

e.对目标深度图中的至少大部分位置重复步骤(d)中的过程,以确定目标深度图中的至少大部分位置的精确深度值;

f.重复步骤(c)、(d)和(e)以产生至少两个精确目标深度图;

g.使用至少两个精确目标深度图作为至少两个源深度图来重复步骤

(b)、(c)、(d)、(e)和(f),以进一步提高至少两个精确目标深度图的精度;

h.重复步骤(g),直到达到终止条件;和

i.输出精确深度信息作为以下的一个或多个:至少一个最终精确的目

标深度图和至少一个点云,至少一个点云表示至少两个精确目标深度图中的至少一个中的大部分数据到场景中的投影,以及表示与深度图、点云或表面网格同构的场景的信息,深度图、点云或表面网格可以至少部分地由3D场景中的表面的连接三角形或其他几何模型组成。

5A.根据示例1A或3A所述的方法,其中进一步的步骤(f)重复步骤(c)、(d)和(e)以产生至少两个精确目标深度图。

6A.根据示例5A所述的方法,其中另一步骤(g)使用先前生成的至少两个精确目标深度图作为至少两个源深度图来重复步骤(b)、(c)、(d)、(e)和(f),以进一步提高新生成的至少两个精确目标深度图的精度。

7A.根据示例6A所述的方法,其中进一步的步骤(h)重复步骤(g),直到达到终止条件。

8A.根据示例7A所述的方法,其中在进一步的步骤(I)中,该方法输出代表该场景的精确深度信息。

9A.根据示例1A至8A中任一个所述的方法,其中至少两个深度传感器用于收集至少两个源深度图。

10A.根据示例1A至9A中任一个所述的方法,其中使用至少三个深度传感器。

11A.根据示例1A至10A中任一个所述的方法,其中使用至少四个深度传感器。

12A.根据示例1A至11A中任一个所述的方法,其中从至少三个视点生成场景的至少三个源深度图。

13A.根据示例1A至12A中任一个所述的方法,其中从至少四个视点生成场景的至少四个源深度图。

14A.根据示例1A至13A中任一个所述的方法,其中至少两个源深度图是以下的一个或多个:至少两个源深度图;来自先前迭代的至少两个精确深度图;在至少一个先前迭代中使用的至少两个源地图;由至少一次先前迭代产生的至少两个精确深度图;以及在当前迭代期间可能可用的一个或多个附加深度图。

15A.根据示例1A至14A中任一个所述的方法,其中在每次迭代中产生的目标深度图的数量是至少两个,而不管至少两个源深度图的数量。

16A.根据示例1A至15A中任一个所述的方法,其中在示例1A、2A、3A或4A的步骤c和d中产生的目标深度图的数量为至少两个,而不管在示例1A、2A、3A或4A的步骤c和d的迭代中使用的源深度图的数量。

17A.根据示例1A至16A中任一个所述的方法,其中在每次迭代中产生的目标深度图的数量至少是三个,而不管至少两个源深度图的数量。

18A.根据示例1A至14A中任一个所述的方法,其中在示例1A、2A、3A或4A的步骤c和d中产生的目标深度图的数量至少为三个,而不管在示例1A、2A、3A或4A的步骤c和d的迭代中使用的源深度图的数量。

19A.根据示例1A至18A中任一个所述的方法,其中至少两个源深度图经历预处理步骤至少一次,使得至少两个源深度图内的深度信息被变换以生成经变换的深度信息,该经变换的深度信息表示至少两个深度传感器处于与其在3D空间中的实际位置不同的位置。

20A.根据示例1A至19A中任一个所述的方法,其中至少两个源深度图经历预处理步骤至少一次,使得至少两个源深度图内的深度信息被变换以生成经变换的深度信息,该经变换的深度信息表示与至少一个矩形阵列对齐的至少一个深度图网格。

21A.根据示例1A至20A中任一个所述的方法,其中稳健的统计方法用于确定精确深度值。

22A.根据示例1A至21A中任一个所述的方法,其中为一个位置确定的至少一个精确深度值是无值(no value)。

23A.根据示例1A至22A中任一个所述的方法,其中至少一个精确深度图的部分具有提高的准确度。

24A.根据示例1A至22A中任一个所述的方法,其中至少一个精确深度图的大部分具有提高的准确度。

25A.根据示例1A至24A中任一个所述的方法,其中目标深度图被选择为具有与至少一个深度传感器的中心基本重合的中心。

26A.根据示例1A至25A中任一个所述的方法,其中目标深度图被选择为具有与至少一个深度传感器的任何中心不基本重合的中心。

27A.根据示例1A至26A中任一个所述的方法,其中至少一个源深度图被变换,使得深度信息表示来自深度传感器的深度信息,该深度传感器在3D空间中的中心与所述至少一个传感器中心中的任何中心都不基本重合。

28A.根据示例1A至26A中任一个所述的方法,其中至少一个源深度图被变换,使得深度信息表示来自深度传感器的深度信息,该深度传感器在3D空间中的中心与至少一个传感器中心基本重合。

29A.根据示例1A至28A中任一个所述的方法,其中确定至少一个精确深度值的步骤不选择深度值。

30A.根据示例1A至29A中任一个所述的方法,其中精确深度信息包括以下一个或多个:更接近地表示场景中表面位置的数据;用更多的3D点更完全地覆盖场景中的表面的数据;和用3D点更广泛地覆盖场景的数据。

31A.根据示例1A至30A中任一个所述的方法,其中所述至少一个精确深度值的确定基于以下一个或多个:无值、来自一个或多个源深度图上相应位置的值、来自较早精确目标深度图的值、来自正在构建的精确目标深度图的值、来自较早精确深度图上相邻单元的值、来自正在构建的精确目标深度图上相邻单元的值、以及来自一个或多个源深度图上相邻单元的值。

32A.根据示例1A至31A中任一个所述的方法,其中至少一个精确深度值的确定是基于从以下一个或多个导出的值:无值、来自一个或多个源深度图上的对应位置的值、来自更早的精确目标深度图的值、来自正在构建的精确目标深度图的值、来自更早的精确深度图上的相邻单元的值、来自正在构建的精确目标深度图上的相邻单元的值,以及来自一个或多个源深度图上的相邻单元的值。

33A.根据示例32A所述的方法,对相应的深度数据点使用以下过程中的一个或多个来确定精确值:数字平均值(均值)、修整均值、中值、修整中值、加权均值、加权中值、自举中值和自举均值。

34A.根据示例1A至33A中任一个所述的方法,其中该方法在至少3、4、5、6、7、8、9或10个目标视点上执行。

35A.根据示例1A至34A中任一个所述的方法,其中精确深度信息的输出是以下的一个或多个:至少一个精确目标深度图、至少一个点云、与精确目标深度图同构的表示场景的信息、与最终精确目标深度图同构的表示场景的信息、与多个精确目标深度图同构的表示场景的信息、与多个最终精确目标深度图同构的表示场景的信息,以及至少部分由场景中的表面的连通三角形或其他几何模型组成的表面网格。

36A.一个或多个包含软件的计算机可读非暂时性存储介质,该软件在被执行时可操作以实现示例1A至35A中的任何一个。

37A.一种系统,包括:一个或多个处理器;以及耦合到一个或多个处理器的一个或多个存储器,包括可由一个或多个处理器执行的指令,一个或多个处理器在执行指令时可操作以实现示例1A至35A中的任何一个。

1B.一种组合从多个传感器收集的深度信息的方法,包括:

a.从多个传感器收集多个深度数据值,并将多个深度数据值发送到处理器,其中多个深度数据值包括来自至少第一深度传感器的至少第一源输入深度数据值和来自至少第二深度传感器的至少第二源输入深度数据值;

b.将来自至少第一输入深度传感器的至少第一源输入深度数据值投影到至少一个其他目标深度传感器中的相应第一位置,并确定至少第一

目标样本深度值;

c.将来自至少第二输入深度传感器的至少第二源输入深度数据值投影到至少一个其他目标深度传感器中的相应第二位置,并确定至少第二目标样本深度值;

d.在每个位置的基础上检查至少一个其他目标深度图中的一部分投影值的,为所检查的大部分位置确定至少一个精确深度值;

e.对至少一个其他目标深度图上的多于一个位置重复步骤(b)、(c)和(d);

f.对多个目标深度图重复步骤(e);和

g.为这些目标视点中的至少一些生成精确深度图。

1C.一种用于组合由一个或多个深度图传感器提供的一个或多个深度图的方法,包括:

a.接受由两个或更多深度图传感器提供的一组源深度图;

b.选择目标视点以生成目标深度图;

c.变换至少两个源深度图的大部分深度测量,以从至少两个源深度图数据生成至少两个对应的变换后的深度图,其中视点与目标视点基本对准;和

d.通过在至少两个对应的变换深度图中定位对应的位置和深度,并使用该深度图数据来确定至少一个精确深度值,来确定至少一个目标深度图上的至少第一选定位置的至少一个代表性深度值;和

e.通过对至少一个目标深度图上的大部分位置重复步骤(d)来产生更精确深度图。

2C.一种用于组合由一个或多个深度图传感器提供的一个或多个深度图的方法,包括:

a.接受由两个或更多深度图传感器提供的一组源深度图;

b.选择目标视点以生成目标深度图;

c.变换至少两个源深度图的大部分深度测量,以生成与目标视点基本对准的视点;

d.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和

e.对多个目标视点重复步骤(b)、(c)和(d)以生成多个更精确深度图;

f.对多个更精确深度图重复步骤(e)至少一次以上,其中多个更精确的深度图被视为多个源深度图,以进一步提高准确度、质量或其组合;

g.当达到终止条件时,终止步骤(f)的重复;和

h.生成以下一个或多个:一组最终深度图和表示该组最终深度图到场景中的投影的至少一个点云。

3C.根据示例1C所述的方法,其中对多个目标视点重复示例1C中的步骤(b)、(c)、(d)和(e)以生成多个更精确深度图。

4C.根据示例1C或2C所述的方法,其中视点选自一个或多个原始深度图传感器的视点,选自3D空间中的任意位置,或其组合。

5C.根据示例1C至4C中任一个所述的方法,其中多个更精确深度图被视为多个源深度图,并且示例1C的步骤(b)、(c)、(d)和(e)被重复至少一次以上以生成一个或多个进一步精确的深度图。

6C.根据示例1C至5C中任一个所述的方法,其中多个更精确深度图被视为多个源深度图,并且示例1C的步骤(b)、(c)、(d)和(e)被重复至少一次以上,以进一步提高准确度、密度、质量或其组合。

7C.根据示例1C至6C中任一个所述的方法,其中当达到终止条件时,重复实施例1C的步骤(b)、(c)、(d)和(e)并终止。

8C.根据示例1C至7C中任一实施例所述的方法,其中生成以下一个或多个:一组最终深度图、通过将该组最终深度图投影到场景中而创建的至少一个点云、以及通过将来自至少一个最终深度图的多个深度测量投影到场景中而创建的至少一个点云。

9C.根据示例1C至8C中任一个所述的方法,其中多个更精确深度图被视为多个源深度图,并且示例1C的步骤(b)、(c)、(d)和(e)被重复至少一次以上,以进一步提高一个或多个进一步精确的深度图的准确度、密度、质量或其组合。

1D.一种被配置成组合一个或多个深度图的系统,包括:

a.一组至少两个源深度图;

b.一种计算机系统,被配置为:

c.接受一组至少源深度图;

d.选择目标视点以生成目标深度图;

e.变换至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;和

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值。

2D.一种被配置成组合一个或多个深度图的系统,包括:

a.一组至少两个源深度图;

b.一种计算机系统,被配置为:

c.接受一组至少两个源深度图;

d.选择目标视点以生成目标深度图;

e.变换至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和;

g.对多个目标视点重复步骤(d)、(e)和(f)以生成多个更精确深度图;

h.对多个更精确深度图重复步骤(g)至少一次以上,其中多个更精确深度图被视为多个源深度图,以进一步提高准确度、密度、质量或其组合;和

i.当达到终止条件时,终止步骤(g)的重复。

3D.一种被配置成组合一个或多个深度图的系统,包括:

a.一个或多个深度图传感器,该一个或多个深度图传感器被配置成生成

由两个或更多深度图传感器提供的一组源深度图;

b.一种计算机系统,被配置为:

c.接受由两个或更多深度图传感器提供的一组源深度图;

d.选择目标视点以生成目标深度图;

e.变换至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;和

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值。

4D.一种被配置成组合一个或多个深度图的系统,包括:

a.一个或多个深度图传感器,该一个或多个深度图传感器被配置成生成由两个或更多深度图传感器提供的一组源深度图;

b.一种计算机系统,被配置为:

c.接受由两个或更多深度图传感器提供的一组源深度图;

d.选择目标视点以生成目标深度图;

e.变换至少两个源深度图的大部分深度测量,以生成第一源输入深度数据;

f.在目标深度图上选择至少第一选定位置,并在至少两个源深度图中定位相应的位置和深度值,并通过使用零个或至少一个相应的深度值来确定第一选定位置的至少一个精确深度值;和;

g.对多个目标视点重复步骤(d)、(e)和(f)以生成多个更精确深度图;

h.对多个更精确深度图重复步骤(g)至少一次以上,其中多个更精确深度图被视为多个源深度图,以进一步提高准确度、密度、质量或其组合;和

i.当达到终止条件时,终止步骤(h)的重复。

5D.根据示例1D或2D所述的系统,其中该系统还包括一个或多个深度图传感器,并且该一个或多个深度图传感器被配置成生成一组至少两个源深度图。

6D.一个或多个包含软件的计算机可读非暂时性存储介质,该软件在被执行时可操作以实现示例1D至5D的任一个中的系统。

7D.一种系统,包括:一个或多个处理器;以及耦合到一个或多个处理器的一个或多个存储器,包括可由一个或多个处理器执行的指令,当执行指令时,一个或多个处理器可操作以实现示例1D至5D中的任一个。

8D.根据示例1D至5D中任一个所述的系统,其中该系统被配置为执行方法示例1A至34A中的任一个。

1E.一种组合从至少两个深度传感器收集的深度信息的方法,包括:

a.从来自至少两个深度传感器的至少两个视点生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给处理器,所述处理器被配置成:

b.接收该至少两个源深度图;

c.将所收集的至少两个源深度图投影到点云中;

d.从点云生成至少一个精确目标深度图,并且对于该至少一个精确

目标深度图上的第一选定分配,从点云中定位投影到目标深度图中的该位置的对应点,并且通过考虑从目标深度图的角度来看这些对应点中的至少一个的深度测量,确定目标深度图上的第一选定位置的至少一个精确深度值;和

e.对位于至少一个目标深度图中的至少大部分点重复步骤d中的过程,以确定至少大部分位置的代表性点深度值,并生成至少一个进一步精确的目标深度图。

2E.一种组合从至少两个深度传感器收集的深度信息的方法,包括:

a.从来自所述至少两个深度传感器的至少两个视点生成场景的至少两个源深度图,并将所收集的至少两个源深度图转发给处理器,该处理器被配置成:

b.接收该至少两个源深度图;

c.将所收集的至少两个源深度图投影到点云中;

d.将点云的至少一部分投影到至少一个目标深度图上,并且对于至少一个目标深度图上的第一选定位置,根据投影到至少一个目标深度图中的第一选定位置的点云中定位对应点,并且通过使用对应点的深度测量来确定目标深度图上的第一选定位置的至少一个精确深度值;

e.对至少一个目标深度图中的至少大部分位置重复步骤d中的过程,以确定至少大部分位置的精确深度值,并生成至少一个进一步精确目标深度图;

f.重复步骤(b)、(c)、(d)和(e)以进一步提高精确深度值的精度,并且当达到终止条件时终止步骤(b)、(c)、(d)和(e)的重复;和

g.生成包括精确深度信息的至少两个进一步精确的深度图;并且可选地,包含在至少一个进一步精确的深度图中的精确深度信息用于生成代表场景的场景点云。

本文中对现有技术文献的任何描述,或本文中从这些文献或基于这些文献得出的陈述,并不承认这些文献或得出的陈述是相关领域的公知常识的一部分。

虽然这里已经示出和描述了某些实施例,但是对于本领域技术人员来说,显然这些实施例仅仅是作为示例提供的。

在某些实施例的前述描述中,为了清楚起见,采用了特定的术语。然而,本公开不旨在限于如此选择的特定术语,并且应当理解,特定术语包括以类似方式操作以实现类似技术目的的其他技术等同物。诸如“左”和“右”、“前”和“后”、“上”和“下”等术语被用作方便的词语来提供参考点,而不应被解释为限制性术语。

在本说明书中,词语“包括”应理解为其“开放”的意思,即“包含”的意思,因此不限于其“封闭”的意思,即“仅由……组成”的意思。相应的含义应归于出现的相应词语“包括”和“包含”。

应当理解,本公开不限于所公开的实施例,并且旨在覆盖包括在本公开的精神和范围内的各种修改和等同布置。此外,上述各种实施例可以结合其他实施例来实现,例如,一个实施例的方面可以与另一个实施例的方面相结合,以实现其他实施例。此外,给定实施例的独立特征可以构成另外的实施例。此外,某些实施例中的单个特征或特征组合可以构成另外的实施例。本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为教导本领域技术人员以不同方式采用所公开的实施例和这些实施例的变型的代表性基础。

技术分类

06120116556037