一种利用可重构混合成像系统的动态场景的三维3D重建方法与流程

文档序号:21280056发布日期:2020-06-26 23:32阅读:224来源:国知局
一种利用可重构混合成像系统的动态场景的三维3D重建方法与流程

相关申请的交叉引用

本申请要求于2017年11月22提交的序列号为15/820,935、申请名称为“three-dimensional(3d)reconstructionsofdynamicscenesusingareconfigurablehybridimagingsystem”的美国非临时专利申请的优先权,其全部内容通过引用结合在本申请中。

本发明涉及场景的三维3d重建。



背景技术:

三维(three-dimensional,3d)重建可以通过使用从不同角度拍摄的图像序列或视频来恢复场景中物体的3d模型。动态场景中运动物体的实时3d重建对于许多应用非常有用,例如3d远程呈现或远程会议、增强现实技术、远程手术或教育、电子商务、电影制作和计算机视频游戏。



技术实现要素:

本申请描述了使用可重构混合成像系统的动态场景的三维(3d)重建。

在第一种实施方式中,提供一种计算机实现的动态场景三维(3d)重建方法,包括:从彩色图像传感器接收彩色图像序列,以及从至少一个深度图像传感器接收至少一个深度图像序列。所述彩色图像序列和所述深度图像序列均包括在一段时间内采集所述动态场景的图像。所述彩色图像传感器的数量大于所述深度图像传感器的数量。接收的彩色图像序列和接收的深度图像序列用于生成校准的彩色图像序列和校准的深度图像序列。初始3d点云块(3dpatches)通过校准的彩色图像序列和校准的深度图像序列构建。对初始3d点云块进行扩展以生成3d点云(3dpatchcloud)。3d点云可用于计算动态场景的3d网格曲面(3dmeshsurface)。

在某些情况下,为所述彩色图像传感器和所述深度图像传感器中的每个传感器确定内部参数和外部参数。利用参考图像传感器对所述彩色图像传感器和所述深度图像传感器进行几何校准来确定所述彩色图像传感器和所述深度图像传感器中的外部参数,其中,所述参考图像传感器是所述彩色图像传感器和所述深度图像传感器中的一个。根据所述内部参数和所述外部参数,对所述彩色图像序列和所述深度图像序列进行校正,以生成所述校准的彩色图像序列和所述校准的深度图像序列。在某些情况下,从所述校准的彩色图像序列和所述校准的深度图像序列中确定显著点集合。针对每个显著点,确定所述校准的彩色图像序列和所述校准的深度图像序列中的所述显著点对应的成像点集合。根据所述成像点集合,通过约束三角剖分计算对应于所述显著点的初始3d点云块。所述约束三角剖分(constrainedtriangulation)包括将成本函数最小化,所述成本函数包括所述校准的彩色图像序列的图像一致性度量或者所述校准的深度图像序列的深度一致性度量中的至少一个。在某些情况下,在空间上将所述校准的彩色图像序列和所述校准的深度图像序列的图像划分为单元。通过正则化优化的方式扩展所述初始3d点云块以生成覆盖所述单元的所述3d点云。

在第二种实施方式中,提供一种计算机实现的系统,包括:存储器,存储用于动态场景的3d重建的指令;以及与所述存储器通信的一个或多个硬件处理器。所述一个或多个硬件处理器执行所述指令,从而从彩色图像传感器接收彩色图像序列,以及从至少一个深度图像传感器接收至少一个深度图像序列。所述彩色图像序列和所述深度图像序列均包括在一段时间内采集所述动态场景的图像。所述彩色图像传感器的数量大于所述深度图像传感器的数量。接收的彩色图像序列和接收的深度图像序列用于生成校准的彩色图像序列和校准的深度图像序列。初始3d点云块通过校准的彩色图像序列和校准的深度图像序列构建。对初始3d点云块进行扩展以生成3d点云。3d点云可用于计算动态场景的3d网格曲面。

在某些情况下,为所述彩色图像传感器和所述深度图像传感器中的每个传感器确定内部参数和外部参数。利用参考图像传感器对所述彩色图像传感器和所述深度图像传感器进行几何校准来确定所述彩色图像传感器和所述深度图像传感器中的外部参数,其中,所述参考图像传感器是彩色图像传感器和所述深度图像传感器中的一个。根据所述内部参数和所述外部参数,对所述彩色图像序列和所述深度图像序列进行校正,以生成所述校准的彩色图像序列和所述校准的深度图像序列。在某些情况下,从所述校准的彩色图像序列和所述校准的深度图像序列中确定显著点集合。针对每个显著点,确定所述校准的彩色图像序列和所述校准的深度图像序列中的所述显著点对应的成像点集合。根据所述成像点集合通过约束三角剖分计算对应于所述显著点的初始3d点云块。所述约束三角剖分包括将成本函数最小化,所述成本函数包括所述校准的彩色图像序列的图像一致性度量或者所述校准的深度图像序列的深度一致性度量中的至少一个。在某些情况下,在空间上将所述校准的彩色图像序列和所述校准的深度图像序列的图像划分为单元。通过正则化优化的方式扩展所述初始3d点云块以生成覆盖所述单元的所述3d点云。

在第三种实施方式中,提供一种非瞬时性计算机可读介质,存储用于动态场景的3d重建的计算机指令,当所述计算机指令由一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行以下操作,包括:从彩色图像传感器接收彩色图像序列,以及从至少一个深度图像传感器接收至少一个深度图像序列。所述彩色图像传感器的数量大于所述深度图像传感器的数量。接收的彩色图像序列和接收的深度图像序列用于生成校准的彩色图像序列和校准的深度图像序列。初始3d点云块通过校准的彩色图像序列和校准的深度图像序列构建。对初始3d点云块进行扩展以生成3d点云。

在某些情况下,为所述彩色图像传感器和所述深度图像传感器中的每个传感器确定内部参数和外部参数。根据所述内部参数和所述外部参数,对所述彩色图像序列和所述深度图像序列进行校正,以生成所述校准的彩色图像序列和所述校准的深度图像序列。在某些情况下,从所述校准的彩色图像序列和所述校准的深度图像序列中确定显著点集合。针对每个显著点,确定所述校准的彩色图像序列和所述校准的深度图像序列中的所述显著点对应的成像点集合。根据所述成像点集合通过约束三角剖分计算对应于所述显著点的初始3d点云块。在某些情况下,在空间上将所述校准的彩色图像序列和所述校准的深度图像序列的图像划分为单元。通过正则化优化的方式扩展所述初始3d点云块以生成覆盖所述单元的所述3d点云。

本申请方案的一个或多个实施方式在具体实施方式、权利要求书和附图中进行了详细阐述。在具体实施方式、权利要求书和附图中,本申请方案的其它特征、方面和优点更为明显。

附图说明

图1是根据一实施方式的利用可重构混合图像传感器的用于动态场景的示意性三维(3d)重建系统的示意性框图;

图2示出了根据一实施方式的用于动态场景的3d重建的传感器阵列的第一示例;

图3示出了根据一实施方式的用于动态场景的3d重建的传感器阵列的第二示例;

图4是根据一实施方式的用于计算传感器的内部参数和外部参数的校准预处理的示例性方法的流程图;

图5是根据一实施方式的利用可重构混合图像传感器进行动态场景的3d重建的示例性方法的流程图;

图6是根据本发明一实施方式的用于提供与所描述的算法、方法、功能、过程、和流程相关联的计算功能的示意性计算机系统的示意性框图;

图7是根据一实施方式的本发明描述的3d重建系统的示例性结构的示意图。

在各个附图中,相同的附图标记和名称指代相同的元件。

具体实施方式

以下详细描述了利用可重构混合成像系统的动态场景的三维(3d)重建,使本领域的技术人员能够在一个或多个特定实施方式下实现和使用所公开的方案。

所公开的实施方式可进行各种修改、更改和替换,该修改、更改和替换对于本领域的普通技术人员是显而易见的,并且所定义的一般原则在本发明的范围内可以应用于其它实施方式和应用。在一些情况下,对理解所描述方案不必要的细节可以省略,因为这些细节属于本领域普通技术人员的技能范围内,从而不会因不必要的细节而使一个或多个所描述的实施方式难以理解。本发明并不用于限制于所描述或示出的实施方式,而是提供了与所描述的原则和特征一致的最广泛范围。

3d重建通过使用从不同角度拍摄的图像来恢复物体的3d模型。可以使用彩色图像或深度图像,或两者进行3d重建。深度图像由深度图像传感器(也称为深度传感器)采集,例如,飞行时间摄像机、华硕xtion传感器或光检测和测距(lightdetectionandranging,lidar)设备。深度图像包括像素。每个像素都有一个像素值,表示深度传感器到场景中对应点的距离(或深度)。例如,所述深度传感器可以向场景发射信号,并基于发射信号与反射信号之间的时间差测量距离。所述深度传感器可以提供直接、快速、准确的深度信息。然而,多个深度传感器不能互相靠近放置,因为所述多个深度传感器发送的信号可能会相互干扰。进一步地,由于发射信号的限制,深度图像通常具有低空间分辨率(例如,与常规彩色图像相比,深度图像的图像像素数量可能更少)。

彩色图像由彩色图像传感器(也称为颜色传感器)采集,例如常规红绿蓝(red,green,andblue,rgb)相机、数字单反(digitalsingle-lensreflex,dslr)相机、傻瓜相机、网络摄像机、或者可携式摄像机。彩色图像包括像素。每个像素都有一个像素值,表示场景中某一点的颜色。例如,彩色图像可以是rgb图像、黑白图像或灰度图像。彩色图像通常具有较高的空间分辨率,并且颜色传感器可以互相靠近放置,而不会引起干扰问题。虽然彩色图像本身不包含深度信息,但可以利用不同角度获取的多幅彩色图像,通过三角剖分(triangulation)技术确定场景中某一点的深度信息。然而,从彩色图像中获取深度信息速度慢且计算花费高,并且获得的深度信息不如从深度图像中获得的深度信息精确。此外,与深度传感器相比,颜色传感器对诸如高光/光泽材料或质地较差的物体等照明变化的鲁棒性较差。

在某些情况下,针对动态场景可能会重建出不准确的3d模型。动态场景是指包含运动物体的场景。例如,多个microsoftkinect传感器可以稀疏地放置在运动物体周围,其中每个kinect传感器将一个彩色摄像机与一个深度摄像机捆绑作为固定配置。kinect传感器的稀疏放置无法使具有多个遮挡运动对象的动态场景完成重建,并且恢复精度受限。此外,由于深度传感器的干扰问题,增加kinect传感器的放置密度具有挑战性。因此,由于将一个深度摄像机与一个彩色摄像机捆绑的固定配置,kinect传感器放置得不够密集,无法足够准确地重建现实世界的动态场景。

在一些实施方式中,既包括颜色传感器又包括深度传感器的可重构混合成像系统可用于动态场景的实时3d重建。鉴于如上所述的深度传感器和颜色传感器的互补特性,在所述混合成像系统中,颜色传感器的放置密度比深度传感器更高。深度传感器和颜色传感器均从不同的角度采集动态场景的图像序列。每个图像序列包括在不同时刻采集的图像。深度传感器和颜色传感器在时间上是同步的,使得图像序列是在同一时刻采集的。首先校准来自颜色传感器的彩色图像序列和来自深度传感器的深度图像序列。然后利用校准的深度图像序列和校准的彩色图像序列重建动态场景的3d模型。例如,特定时刻的校准的彩色图像和校准的深度图像用于重建所述特定时刻的动态场景的3d模型。在一些实施方式中,所述混合成像系统包括一个深度传感器和多个颜色传感器。

本申请描述的动态场景的3d重建方法能够有效且准确地实时重建动态场景的高分辨率3d模型。所述方法通过稀疏地放置深度传感器克服了深度传感器的干扰问题,并且可以从密集放置的颜色传感器推断出缺失的深度信息(例如由于分辨率低导致或来自缺失的视图的信息)。所述方法通过将在不同角度采集的彩色图像序列的高空间分辨率(例如详细的3d表面结构)转移到深度图像序列,以增强所述深度图像序列的空间分辨率,从而实现准确和高分辨率的3d重建。所述方法能够用于具有挑战性的动态场景的3d重建,例如具有高光/光泽材料的物体、质地较差的物体或具有遮挡物的杂乱场景。例如,根据不同视角从密集放置的颜色传感器得到的高分辨率图像序列提供被遮挡物体的三维重建信息。所述方法通过使用深度图像序列生成初始3d点云(patchclouds),以实现快速3d重建,使得可以通过定位所述彩色图像序列中的初始3d点云对应的像素来快速生成3d模型。此外,混合成像系统中的颜色传感器和深度传感器可以很容易地重新配置,以采集不同的动态场景。所述方法还通过使用价格实惠的消费级别的组件(例如,彩色摄像机和深度摄像机)来提供低成本的3d重建系统。图1-7和相关描述说明了所述方法的其它细节。

图1是根据一实施方式的一种利用可重构混合图像传感器的用于动态场景的示意性3d重建系统100的示意性框图。所述示意性3d重建系统100可以包括采集模块102、校准模块104、重建模块116和渲染模块124。本领域技术人员可以理解,所述重建系统100可以包括其它与图1所示的模块不同的模块或模块的子集。

所述采集模块102接收m个颜色传感器和n个深度传感器在一段时间内以不同视角采集的目标动态场景的图像序列,其中m>1,n>=1,且m>n。换言之,所述采集模块102接收m个彩色图像序列和n个深度图像序列。每个彩色图像序列是分别从一个颜色传感器中接收的,每个颜色传感器在一段时间内从特定的角度记录目标场景的颜色外观。每个深度图像序列是分别从一个深度传感器中接收的,该深度传感器在一段时间内从特定角度记录目标场景的深度图(或深度图像)。每个图像序列可以包括传感器按照统一时间间隔采集的目标场景的连续图像(也称为帧),例如每秒30个图像或帧。m个颜色传感器和n个深度传感器在时间上是同步的,使得传感器可以在同一时刻采集图像。m个颜色传感器和n个深度传感器可以形成如图2和图3所示的传感器阵列。在一些实施方式中,所述采集模块102可以包括所述m个颜色传感器和所述n个深度传感器,其中,所述m个颜色传感器和所述n个深度传感器分别采集所述m个彩色图像序列和所述n个深度图像序列。

图2示出了根据一实施方式的一种用于动态场景的3d重建的传感器阵列200的第一示例。本示例性实施例中的所述传感器阵列200包括18个颜色传感器202和2个深度传感器204,这些传感器朝向或指向目标场景。类似地,图3示出了根据一实施方式的一种用于动态场景的3d重建的传感器阵列300的第二示例。所述传感器阵列300包括16个颜色传感器302和4个深度传感器304,这些传感器形成一个围绕目标场景的圆形。应当注意的是,所述颜色传感器302的分布不一定是均匀的,如图3中所示。其中,所述传感器阵列300的上部区域和下部区域中有3个颜色传感器302,而在其左部区域和右部区域中有5个颜色传感器302。本领域技术人员可以理解,也可以使用其它不同于图2和图3中所示的传感器阵列配置。

每个颜色传感器csi(例如,颜色传感器202或302)可以任意放置在3d现实世界中,只要有另一个颜色传感器csj与csi具有足够大的重叠视场,例如大于阈值tc的重叠视场。因此,所述颜色传感器202或302不需要基于相邻颜色传感器202或302的方向定向,也不需要精确地确定或控制颜色传感器202或302的方向。此外,所述颜色传感器202或302不需要与目标场景或对象等距离。类似地,每个深度传感器dsi(例如,深度传感器204或304)可以任意放置在3d现实世界中,只要存在另一个深度传感器dsj具有与dsj足够大的重叠视场,例如:大于阈值td的重叠视场。此外,每个深度传感器dsi被定位,使得存在与dsi具有足够大的重叠视场的颜色传感器csj,例如,大于阈值tcd的重叠视场。阈值tc、td和tcd可以相同,也可以不同。阈值tc、td、tcd可以取任意值,如15度、30度等。在某些情况下,这些阈值根据经验确定。不同传感器之间的视场是重叠的,使得3d现实世界中的每个场景点可以被至少两个传感器采集,以使得所述校准模块104能够进行校准。

在一示例性实施方式中,如图2和图3所示,所述深度传感器稀疏放置,而所述颜色传感器密集放置。每次记录时,传感器阵列中的颜色和深度传感器的相对位置和方向是固定的,而在录像时,传感器阵列的位置和方向可以变化。例如,所述传感器阵列可以安装在移动平台或框架上以进行记录,围绕目标场景或对象移动。在录像过程中,整个传感器阵列随着移动平台或框架移动,而传感器阵列中颜色传感器和深度传感器的相对位置和方向是固定的。为了记录不同场景的图像序列,可以重新配置传感器阵列中的颜色传感器和深度传感器的相对位置和方向,例如,从图2的配置更改为图3的配置。

所述采集模块102接收的彩色图像序列和深度图像序列在时间上是同步的。换言之,在特定的时间戳处,可以在由相应颜色传感器或深度传感器在该时间采集的每个颜色或深度图像序列中找到图像。在一些实施方式中,所述颜色传感器和所述深度传感器可以同步到公共时间,使得多个图像传感器可以同时采集所述目标场景的图像。

在所述校准模块104中处理所述采集模块102接收的所述彩色图像序列和所述深度图像序列。所述校准模块104采用传感器的内部参数106和外部参数108来对齐在特定时间戳下采集的彩色图像序列和深度图像序列中的一组颜色图像和深度图像。例如,在每个时间戳处,从该时间戳处采集的颜色图像序列和深度图像序列中收集图像,以进行校准。

对于每个深度传感器或颜色传感器,可以通过如下所述的校准预处理过程确定内部参数106和外部参数108。所述内部参数106表示传感器的内部参数,可以包括线性内部参数和非线性内部参数。所述非线性内部参数包括传感器的镜头畸变系数。所述线性内部参数表示从3d世界坐标到二维(2d)图像像素坐标的投影映射。所述线性内部参数可以包括焦距和分辨率等参数,并且可以表示为3x3上三角矩阵(称为内参矩阵)。所述外部参数108表示传感器的外部参数,表示从3d世界坐标到3d传感器坐标的坐标系转换。例如,所述外部参数108可以包括3x3旋转矩阵和3x1平移矢量。在某些情况下,所述外部参数108可以包括每个所述深度传感器和所述颜色传感器的6自由度位置。

所述校准模块104包括几何校正模块110、辐射校正模块112以及颜色和深度对准模块114。所述颜色和深度对准模块114可以使用例如内部参数106来校正每个颜色和深度帧的镜头畸变。所述几何校正模块110可以使用例如外部参数108在特定的时间戳下对颜色帧和深度帧中的每一个进行几何变形,以与来自参考传感器的对应帧对齐。如下所述,所述参考传感器可以是传感器阵列中的任何颜色感器或深度传感器。所述辐射校正模块112可以辐射校正每个颜色帧和深度帧的外观。辐射校正可以通过例如将像素颜色值转换为辐射值来对齐颜色帧和深度帧的颜色。可以为所有颜色传感器和深度传感器中计算相机响应函数(crf),其将像素颜色值转换为辐射值。可以使用颜色检查器确定所述计算相机响应函数crf。所述几何校正模块110和所述辐射校正模块112也可以执行几何校正和辐射校正的其它操作。

在一示例性实施方式中,执行如图4示的校准预处理过程,为颜色传感器和深度传感器中的每一个计算所述内部参数106和所述外部参数108。在某些情况下,一部分的内部参数和外部参数可以通过传感器制造商获取并存储在所述校准模块104中,而剩余的内部参数和外部参数可以通过校准预处理计算得到。所述校准模块104的输出是校准的彩色图像序列和校准的深度图像序列,其中在3d现实世界中某一场景点的特定时间戳处,可以定位该时间戳的所有彩色图像和深度图像中的对应的2d图像点。

图4是根据一实施方式的一种用于计算传感器的内部参数和外部参数的校准预处理的示例性方法400的流程图。为了清晰描述,下文的描述中,在本说明书中的其它附图的上下文中大概描述了方法400。然而,应理解的是,该方法400可以例如由任何合适的系统,环境,软件和硬件,或者由系统,环境,软件和硬件的组合来执行(视情况而定)。在一些实施方式中,该方法400的各步骤可以并行、组合、循环的方式执行或以任意顺序执行。

402中,执行单传感器校准过程以计算每个颜色传感器或深度传感器的内部参数。404中,确定第i个传感器的内部参数,所述内部参数包括内参矩阵ki和一组镜头畸变系数di。例如,可以通过观察3d空间中的几何形状已精确可知的校准对象来执行单个传感器校准。所述第i个传感器可以采集已知校准对象的图像,例如,有角的桌子。从采集的图像中可以识别出桌角对应的图像像素。根据已知的3d空间中桌角的位置和已知的2d图像中桌角的像素位置可以确定所述第i个传感器的内参矩阵和镜头畸变系数。

406中,通过将每个颜色传感器或深度传感器与参考传感器进行比较来执行立体校准过程以计算该传感器的初始外部参数。所述参考传感器可以是传感器阵列中的任何颜色传感器或深度传感器。408中,对于所述第i传感器,通过比较所述第i传感器与所述参考传感器计算一组初始外部参数,其包括3x3初始旋转矩阵r0i和3x1初始平移矢量t0i。与单传感器校准类似,立体校准通过观察3d空间中几何形状已知的校准对象来进行,例如有角的桌子。所述第i个传感器和所述参考传感器都可以采集到该桌子的图像。从所述第i个传感器和所述参考传感器采集的图像中可以识别出桌角对应的图像像素。根据已知的3d空间中桌角的位置和已知的2d图像中桌角的像素位置可以确定所述第i个传感器的初始旋转矩阵r0i和初始平移向量t0i。

410中,执行稀疏束调整过程以细化初始外部参数并为每个传感器生成最终外部参数。412中,对于所述第i个传感器,生成最终旋转矩阵ri和最终平移矢量ti。稀疏束调整结合校准观测中的误差或噪声来优化外部参数,例如,可能无法准确知道桌角的3d位置和对应桌角的图像像素位置。

再参考图1,在所述重建模块116中处理来自所述校准模块104的所述校准的彩色图像序列和所述校准的深度图像序列。所述重建模块116可以采用基于patch的算法为目标动态场景重建简化的3d模型或完整的3d网格曲面模型。所述重建模块116包括初始点云块构建模块118、点云块扩展模块120和3d网格完成模块122。

所述初始点云块构造模块118为目标场景中的未知物体的3d模型构造一组初始点云块。点云块p是物体表面的局部切面近似。换言之,3d物体的表面可以看成是相互连接的大量小表面区域,点云块是小表面区域中的一个。例如,一个点云块可以是长方形、六边形或其它形状。所述点云块由所述点云块的中心c(p)和垂直于所述点云块的单位法向量n(p)来确定。为了恢复t时刻的动态场景的3d模型,对于每个点云块,可以确定点云块可见的参考帧r(p,t)。所述参考帧r(p,t)在t时刻由颜色传感器或深度传感器采集,所述范数矢量n(p)朝向采集所述参考帧r(p,t)的传感器。需要注意的是,每个点云块对一组传感器可见。假定一组校准的彩色图像序列和校准的深度图像序列,如下所述,所述初始点云块构造模块118可以通过识别和匹配来自不同传感器的多个图像或帧的显著点在时刻t为3d模型生成一组初始稀疏点云块。

在一示例性实施方式中,可以在所有颜色帧和深度帧中检测显著点。显著点是指具有显著特征的图像像素。显着特征可以是某些图像纹理特征,例如,角点或斑点(blob)特征。斑点是图像区域,与周围区域相比,在特性(如亮度或颜色)上有所不同。blob可以是一个图像区域,其中某些属性是常数或近似常数,也就是说,blob内的像素点在某种意义上可以认为彼此相似。角点是两条边的交点。在某些情况下,可以使用harris和高斯差分(difference-of-gaussian,dog)运算符确定角点和blob特征。对于每个检测到的显著点,可以定位相同时间戳的来自其它传感器的的其它校准帧中的对应点(图像像素)。也就是说,可以确定多个显著点集合,每个集合包含对应不同颜色传感器或深度传感器同时采集的3d现实世界中同一场景点的若干个点。利用三角剖分技术,可以基于每个点集生成初始点云块。在三角剖分中可以考虑各种因素。例如,可以为点云块可见的帧的最小支持数目设置阈值。此外,可以通过光度差异测量(例如下述等式(1)))来优化初始点云块的几何形状。也可以使用其它正则化项,如点云块大小的界限。

在某些情况下,使用例如harris和dog运算符,在每个帧(颜色帧或深度帧)中首次检测角点和斑点特征。每个帧都被放置在uxu像素单元(例如,u=32)构成的粗规则网格上,每个单元使用harris和dog运算符来确定该单元中的角点和斑点(例如,基于harris和dog运算符的局部极大值的阈值数目)。对每个帧中找到的特征在多个帧之间进行匹配,以重建一组稀疏的点云块,这些点云块存储在每帧覆盖的单元的网格中。鉴于所述第i个传感器在时间戳t采集的帧i(i,t)(颜色帧或深度帧),对于在帧i(i,t)中检测到的每个特征f,可以从相同时间t采集的其它颜色帧和深度帧中采集位于对应极线的k个像素(例如k=2)内的同一类型(harris或dog)特征f'的集合。可以通过三角剖分确定与每对(f,f’)相关的3d点,并计算从确定的3d点到所述第i个传感器的光学中心的距离。与所有(f,f')对相关联的3d点被认为是潜在点云块中心,并按照所述第i个传感器的光学中心与每个3d点之间的距离递增的顺序排列。潜在点云块可以通过从距离所述第i个传感器光学中心最近的潜在点云块中心开始依次检查有序的潜在点云块中心来确定。与至少一个阈值数量的图像具有图像一致性(或真正可见的)的第一个潜在点云块被认为是有效的点云块。

例如,对于每个特征f’,可以通过对f和f’进行三角剖分来重建潜在表面点云块p以获得中心c(p)的估计值。将c(p)与所述第i个传感器的光学中心连接的光线的方向被认为是潜在表面点云块p的表面法向量n(p)。将与特征f相关联的帧i(i,t)设置为潜在表面点云块p的参考帧r(p,t)。点云块p在帧r(p,t)和j中的投影的归一化互相关n(p,r(p,t),j)可用于测量图像一致性。例如,如果归一化互相关n(p,r(p,t),j)大于阈值,则认为潜在点云块p在帧j中真正可见。这时帧j可以包括在帧集合t(p,t)中,其中帧集合t(p,t)包括在时间t内的颜色帧和深度帧,其中在该时间t内潜在点云块p真正可见的。确定参考帧r(p,t)和帧集合t(p,t)之后,可以通过最大化以下平均归一化互相关分数来进一步细化潜在点云块p的中心c(p)和曲面法向n(p):

其中|t(p,t)|是帧集合t(p,t)中帧的数目。细化后的c(p)和n(p)可用于确定最终帧集合t(p,t)。如果最终帧集合t(p,t)中的帧的数目大于阈值,则基于细化后c(p)和n(p)的潜在点云块p是有效点云块。

在一些实施方式中,除了图像一致性之外,还可以使用深度一致性来进一步细化初始点云块。例如,对于具有通过等式(1)最大化平均归一化互相关分数确定的中心c(p)和曲面法向n(p)的3d点云块(3dpatch)p,可以根据第i个深度传感器的内部参数和外部参数将该3d点云块p投射到帧i(i,t)中作为所述第i个深度传感器的hi(p)。也就是说,根据点云块p与所述第i个深度传感器之间的距离,以及所述第i个深度传感器的内部参数和外部参数,可以为所述第i个深度传感器构造与所述点云块p对应的深度图hi(p)。同时,所述第i个深度传感器具有针对投影点云块区域的深度测量值di(p)。因此,可以利用深度一致性以最小化下列内容的方式来细化点云块p:

minp∑i|hi(p)-di(p)|n(2)

其中,n可以是整数或非整数,|hi(p)-di(p)|n表示hi(p)和di(p)中深度值的差值,对点云块p可见的所有深度帧执行求和操作。

在一些实施方式中,可以从深度图像序列生成初始3d点云,并且基于所述初始3d点云生成所述初始点云块。所述初始3d点云包括一组与所述显著点对应的稀疏3d点。与所述初始3d点云对应的像素位于所述彩色图像序列中。可以通过相应像素的约束三角剖分来确定所述初始点云块。所述约束三角剖分将成本函数最小化,所述成本函数包括以下至少一个:所述彩色图像序列之间的图像一致性(例如,等式(1)),和/或所述彩色图像序列和所述深度图像序列之间的深度一致性。通过从所述深度图像序列生成所述稀疏3d点云,所述方法可以避免在多个视点之间寻找对应像素的模糊性,并对高光或光滑物体和质地较差的物体进行三维重建。总之,所述初始点云块构造模块118生成一组稀疏分布在3d空间中的初始点云块。

所述点云块扩展模块120扩展来自所述初始点云块构建模块118的所述初始点云块从而覆盖致密空间区域。换言之,扩展所述稀疏分布的初始点云块从而覆盖所述场景中对象的表面。例如,可以将帧i(i,t)划分为多个单元,所述点云块扩展模块120扩展所述初始点云块从而覆盖所有单元。在一些实施方式中,通过正则化优化过程实现点云块扩展。生成图形时,图形节点为所述单元,图形边缘指示所述单元的邻域信息。例如,所述图形可以完全连接,其中两个节点之间的权重(例如,介于0和1之间的值)指示这些节点之间的连接的强度。权重为0表示单元之间不相邻,权重为1表示单元之间直接相邻。在一些实施方式中,所述权重可以基于两个单元之间的空间距离以及这两个单元之间的深度差确定。例如,两个单元位置越靠近,所述权重越大。两个单元的深度差越小,所述权重越大。权重可以按如下方式计算:

w=qlog(1/ds)+(1-q)log(1/dd)(3)

其中,ds和dd分别为两个单元的空间距离和深度差,q可以为0到1之间的值。

对于每个初始点云块,可以在该点云块可见的每个帧中(即,在这些帧中采集所述点云块)识别一组相邻单元。通过使用上述图形并考虑以下正则化项或因素,可以联合优化扩展的点云块的几何形状:

表面结构一致性:例如,距离较近的相邻单元(连接较强或权重较大)更有可能具有相似的表面结构,而距离较远的单元(连接较弱或权重较小)具有相似的表面结构的可能性更小;

光度差异测量试验和可见帧最小支持数试验:有效点云块是指通过光度差异测量试验和可见帧最小支持数试验的点云块;例如,有效点云块在至少一个阈值数量的帧中可见;

几何测试:有效点云块是指满足几何学测试的点云块,例如,点云块的中心投影在支撑单元内;

所述彩色图像序列和所述深度图像序列之间的深度一致性;以及

时间一致性标准:有效点云块是指满足时间一致性标准的点云块,例如,点云块在连续时间戳下的时间差异小于某阈值。

也可以使用其它适用于本发明的正则化项,例如点云块大小的界限。

在一些实施方式中,对于每个初始点云块p,可以在该点云块p周围形成面积大小为s和法向量为n的六边形(或其它形状的区域,例如正方形)。点云块扩展的目的是扩展所述初始点云块的六边形,以覆盖场景中的3d表面。点云块扩展可以通过最大化扩展的点云块的面积来实现,同时满足正则化项,例如等式(1)和(2)中定义的正则化项:图像一致性和深度一致性。

所述点云块扩展模块120生成每个时间戳的动态场景的面元(面积元)模型。所述面元模型可以看成是包含密集分布在3d空间中的点云块的3d点云。利用所述3d点云可以生成动态场景的简化的3d模型。所述简化的3d模型可以直接用于各种应用,例如视频重光照,高分辨率视频拼接,虚拟对象插入和材料编辑。在这些应用中,所述简化的3d模型(例如,表面元模型或分层模型)通常足以计算异常的阴影/材质或注册多个视频流。在其它一些应用程序中,例如自由视图视频,3d远程呈现/虚拟化身和电子商务,可以使用精细的3d模型。所述3d网格完成模块122可以计算所述动态场景的细化的3d表面网格。例如,可以通过表面重建技术,例如泊松表面重建,从来自所述点云块扩展模块120的3d点云中获得初始3d网格。所述初始3d网格可以基于3d模型的统计先验和多个视图(或传感器)的特征的图像一致性进一步优化。例如,人体的统计姿势和人体模型可用于2d图像中人体姿势的估计。

所述渲染模块124将来自所述点云块扩展模块120的所述简化的3d模型或来自所述3d网格完成模块122的所述完整的3d网格发送给应用,例如使用所述简化的3d模型的应用126和使用所述完整的3d网格的应用128。所述应用126和128可以与所述示例性系统100位于同一设备上,也可以位于不同设备上。在一些情况下,所述渲染模块124可以渲染所述简化的3d模型或完整的3d网格。

图5是根据一实施方式的一种利用可重构混合图像传感器进行动态场景的3d重建的示例性方法500的流程图。所述方法500可以由图1中的所述3d重建系统100实现。所述方法500还可以使用其它的、更少的或不同的组件来实现。此外,所述方法500还可以通过其它的、更少的或不同的操作来实现,这些操作可以按所示顺序或以不同顺序执行。在一些实例中,一个操作或一组操作可以迭代或重复执行,例如进行指定次数的迭代或进行迭代操作直到达到终止条件。

所述示例性方法500从502开始,其中,所述3d重建系统从多个颜色传感器接收彩色图像序列,从至少一个深度传感器接收至少一个深度图像序列。所述颜色传感器的数量大于所述深度传感器的数量。在504中,所述3d重建系统基于所述接收的彩色图像序列和深度图像序列生成校准的彩色图像序列和校准的深度图像序列。在506中,所述3d重建系统利用所述校准的彩色图像序列和所述校准的深度图像序列来构造初始3d点云块。在508中,所述3d重建系统通过扩展所述初始3d点云块来生成3d点云。

图6是根据本发明一实施方式的用于提供与所描述的算法、方法、功能、过程、和流程相关联的计算功能的示意性计算机系统600的示意性框图。图示计算机602意在包括任何计算设备,例如服务器、台式计算机、膝上型计算机/笔记本电脑、无线数据端口、智能手机、个人数字助理(personaldataassistant,pda)、平板计算设备、这些设备中的一个或多个处理器、其它计算设备、或计算设备的组合,包括计算设备的物理或虚拟实例,或计算设备的物理或虚拟实例的组合。此外,所述计算机602可以包括计算机,该计算机包括输入设备,例如小键盘、键盘、触摸屏、其它输入设备或可接受用户信息的输入设备的组合;以及传送与所述计算机602在图形用户界面(userinterface,ui)(或图形用户界面(graphicaluserinterface,gui))或其它ui上的操作相关联的信息的输出设备,所述信息包括数字数据、视觉、音频、其它类型的信息或多种类型的信息的组合。所述计算机602可用于实现图1中的所述3d重建系统100。

所述计算机602可以在计算机系统中作为客户端、网络组件、服务器、数据库或其它持久性设备、其它角色或多种角色的组合,以实现本发明所描述的方案。图示计算机602可通信地与网络630耦合。在一些实施方式中,所述计算机602的一个或多个组件可用于在环境中操作,包括基于云计算的、本地的、全局的、其它环境或多种环境的组合。

在较高层次上,所述计算机602是用于接收、传输、处理、存储或管理与所描述的方案相关联的数据和信息的电子计算设备。根据一些实施方式,所述计算机602还可以包括服务器或与服务器可通信地耦合,所述服务器包括应用服务器、电子邮件服务器、web服务器、缓存服务器、流数据服务器、其它服务器或多种服务器的组合。

所述计算机602可以通过所述网络630接收请求(例如,来自在另一计算机602上执行的客户端软件应用的请求),并通过使用软件应用或多种软件应用的组合处理所接收的请求来响应所接收的请求。此外,还可以从内部用户(例如,从命令控制台或通过其它内部访问方法)、外部用户或第三方或其它实体、个人、系统或计算机向所述计算机602发送请求。

所述计算机602的各个组件可以使用系统总线603进行通信。在一些实施方式中,所述计算机602的任何或所有组件,包括硬件、软件或硬件和软件的组合,可以使用应用编程接口(applicationprogramminginterface,api)612,服务层613或所述api612和所述服务层613的组合通过系统总线603进行接口连接。所述api612可以包括例程,数据结构和对象类别的规范。所述api612可以独立于计算机语言,也可以依赖于计算机语言,它指的是完整的接口,单个功能或甚至是一组api。所述服务层613向所述计算机602或可通信地耦合到所述计算机602的其它组件(无论是否有示出)提供软件服务。使用本服务层的所有服务消费者都可以访问所述计算机602的功能。软件服务,例如由所述服务层613提供的软件服务,通过定义的接口提供定义的可重用的功能。例如,所述接口可以是用java、c++、其它计算语言或多种提供可扩展标记语言(extensiblemarkuplanguage,xml)格式,其它格式或多种格式组合的数据的计算语言的组合所编写的软件。虽然示出的是所述计算机602的集成组件,但是可选实施方式也可以示出,相对于所述计算机602的其它组件或其它与所述计算机602可通信地耦合的组件(无论是否示出),所述api612或所述服务层613是独立组件。此外,所述api612或所述服务层613的任何或所有部分可以在本发明的范围内实现为另一软件模块、企业应用或硬件模块的子部件或子模块。

所述计算机602包括接口604。虽然在图6中示出的是单个接口604,根据所述计算机602的特定需求或特定实施方式,可以使用两个或更多接口604。所述接口604用于所述计算机602与分布式环境中与所述网络630通信链接的其它计算系统(无论是否示出)。通常,所述接口604可用于与所述网络630通信,并且包括以软件,硬件或软件和硬件的组合编码的逻辑。更具体地,所述接口604可以包括支持与通信相关联的一个或多个通信协议的软件,使得所述网络630或接口硬件可用于在所示的计算机602内部和外部进行物理信号的通信。

所述计算机602包括处理器605。虽然在图6中示出为单个处理器605,根据所述计算机602的特定需求或特定实施方式,可以使用两个或更多处理器。通常,所述处理器605执行指令并操作数据以执行所述计算机602的操作以及本发明中描述的任何算法、方法、功能、过程和流程。

所述计算机602还包括能够保存所述计算机602,与所述网络630通信链接的其它组件(无论是否示出)或所述计算机602与其它组件的组合的数据的数据库606。例如,所述数据库606可以是存储适用于本发明的数据的内存数据库,常规数据库或其它类型的数据库。在一些实施方式中,根据所述计算机602的特定需求或特定实施方式以及所描述的功能,所述数据库606可以是两种或更多不同类型数据库的组合(例如,混合内存数据库和传统数据库)。虽然在图6中示出的是单个数据库606。根据所述计算机602的特定需求或特定实施方式以及所描述的功能,可以使用两个或更多相似或不同类型的数据库。虽然所述数据库606在图中显示为所述计算机602的组成部件,但是在可选实施方式中,所述数据库606可以位于所述计算机602的外部。如图所示,所述数据库606可以保存前面描述的来自于颜色传感器和深度传感器的图像序列。

所述计算机602还包括存储器607,所述存储器607可以保存所述计算机602,其它与所述网络630通信链接的组件(无论是否示出)或所述计算机602与其它组件的组合的数据。所述存储器607可以存储适用于本发明的任何数据。在一些实施方式中,根据所述计算机602的特定需求或特定实施方式以及所描述的功能,所述存储器607可以是两种或更多不同类型存储器的组合(例如,半导体存储器和磁性存储器的组合)。虽然在图6示出的是单个存储器607,根据所述计算机602的特定需求或特定实施方式以及所描述的功能,可以使用两个或更多相似或不同类型的存储器607。虽然所述存储器607在图中显示为所述计算机602的组成部件,但是在可选实施方式中,所述存储器607可以位于所述计算机602的外部。

应用程序608是根据所述计算机602的特定需求或特定实施方式,尤其针对本发明中描述的功能而提供功能的软件引擎。例如,所述应用程序608可以作为本文所述的一个或多个组件、模块或应用。此外,虽然图中示出的是单个应用程序608,但所述应用程序608可以实现为所述计算机602上的多个应用程序608。此外,虽然在图中显示为计算机602的组成部件,但是在可选实施方式中,所述应用程序608可以位于所述计算机602的外部。

所述计算机602还可以包括电源614。所述电源614可以包括可配置为用户或非用户可替换的可充电或不可充电电池。在一些实施方式中,所述电源614可以包括功率转换或管理电路(包括充电、待机或其它电源管理功能)。在一些实施方式中,所述电源614可以包括电源连接器,从而可以将所述计算机602插入壁式插座或其它电源来为所述计算机602供电或为可充电电池充电等。

可以存在与包含所述计算机602的计算机系统相关联或在该计算机系统外部的任意数量的计算机602,每个计算机602通过所述网络630进行通信。此外,在本发明范围内,术语“客户”、“用户”或其它合适的术语可视情况互换使用。此外,本发明设想许多用户可以使用一台计算机602,或者一个用户可以使用多台计算机602。

图7是根据一实施方式的本发明描述的3d重建系统的示例性结构700的示意图。图1中的所述3d重建系统100可以由所述结构700实现。所述结构700包括接收电路702、校准电路704、重建电路706和发射电路708。

所述接收电路702用于从多个颜色传感器接收彩色图像序列以及从至少一个深度传感器接收至少一个深度图像序列。所述颜色传感器的数量大于所述深度传感器的数量。

所述校准电路704用于基于所述接收的彩色图像序列和深度图像序列生成校准的彩色图像序列和至少一个校准的深度图像序列。

所述重建电路706用于利用所述校准的彩色图像序列和所述校准的深度图像序列构造初始3d点云块,并通过扩展所述初始3d点云块来生成3d点云。所述重建电路706还用于基于所述3d点云生成简化的3d模型或完整的3d网格。

所述发射电路708用于将所述简化的3d模型或所述完整的3d网格发送给渲染动态场景的3d重建的应用程序。

在一些实施方式中,所述接收电路702包括所述采集模块102,所述校准电路704包括所述校准模块104,所述重建电路706包括所述重建模块116,所述发射电路708包括所述渲染模块124。

所述方案的详细的实施方式可以单独或组合地包括一个或多个特征。

例如,在第一种实施方式中,一种计算机实现的动态场景3d重建方法包括:一个或多个硬件处理器从多个彩色图像传感器接收多个彩色图像序列,以及从至少一个深度图像传感器接收至少一个深度图像序列,其中,所述彩色图像传感器的数量大于所述深度图像传感器的数量;所述一个或多个硬件处理器基于所述多个彩色图像序列和所述至少一个深度图像序列生成多个校准的彩色图像序列和至少一个校准的深度图像序列;所述一个或多个硬件处理器利用所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列构造多个初始3d点云块;所述一个或多个硬件处理器通过扩展所述多个初始3d点云块生成3d点云。

可选地,上述和其它描述的实施方式均可以包括以下特征中的一个或多个:

第一特征:可与以下特征中的任一个结合,其中,所述多个彩色图像序列和所述至少一个深度图像序列均包括在一段时间内采集所述动态场景的图像。

第二特征:可以与前述或以下特征中的任一个结合,其中,所述生成多个校准的彩色图像序列和至少一个校准的深度图像序列包括:为所述多个彩色图像传感器和所述至少一个深度图像传感器中的每个传感器确定内部参数和外部参数;根据所述内部参数和所述外部参数,对所述多个彩色图像序列和所述至少一个深度图像序列进行校正,以生成所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列。

第三特征:可以与前述或以下特征中的任一个结合,其中,所述为所述多个彩色图像传感器和所述至少一个深度图像传感器中的每个传感器确定外部参数包括:利用参考图像传感器对所述多个彩色图像传感器和所述至少一个深度图像传感器进行几何校准,其中,所述参考图像传感器为所述多个彩色图像传感器和所述至少一个深度图像传感器中的一个。

第四特征:可以与前述或以下特征中的任一个结合,其中,所述构造多个初始3d点云块包括:从所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列中确定显著点集合;针对每个显著点:确定所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列中的所述显著点对应的成像点集合;根据所述成像点集合通过约束三角剖分计算对应所述显著点的初始3d点云块。

第五特征:可以与前述或以下特征中的任一个结合,其中,所述约束三角剖分包括将成本函数最小化,所述成本函数包括所述多个校准的彩色图像序列的图像一致性度量或者所述至少一个校准的深度图像序列的深度一致性度量中的至少一个。

第六特征:可以与前述或以下特征中的任一个结合,其中,所述通过扩展所述多个初始3d点云块生成3d点云包括:在空间上将所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列的图像划分为单元;通过正则化优化的方式扩展所述多个初始3d点云块以生成覆盖所述单元的所述3d点云。

第七特征:可以与前述或以下特征中的任一个结合,所述方法还包括:使用所述3d点云计算3d网格曲面,其中,所述3d网格包括所述动态场景的3d重建。

在第二种实施方式中,一种计算机实现的系统,包括:存储器,包含用于动态场景的3d重建的指令;以及与所述存储器通信的一个或多个硬件处理器,其中,所述一个或多个硬件处理器执行所述指令,从而:从多个彩色图像传感器接收多个彩色图像序列,以及从至少一个深度图像传感器接收至少一个深度图像序列;其中,所述彩色图像传感器的数量大于所述深度图像传感器的数量;基于所述多个彩色图像序列和所述至少一个深度图像序列生成多个校准的彩色图像序列和至少一个校准的深度图像序列;利用所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列构造多个初始3d点云块;通过扩展所述多个初始3d点云块生成3d点云。

可选地,上述和其它描述的实施方式均可以包括以下特征中的一个或多个:

第一特征:可与以下特征中的任一个结合,其中,所述多个彩色图像序列和所述至少一个深度图像序列均包括在一段时间内采集所述动态场景的图像。

第二特征:可以与前述或以下特征中的任一个结合,其中,所述生成多个校准的彩色图像序列和至少一个校准的深度图像序列包括:为所述多个彩色图像传感器和所述至少一个深度图像传感器中的每个传感器确定内部参数和外部参数;根据所述内部参数和所述外部参数,对所述多个彩色图像序列和所述至少一个深度图像序列进行校正,以生成所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列。

第三特征:可以与前述或以下特征中的任一个结合,其中,所述为所述多个彩色图像传感器和所述至少一个深度图像传感器中的每个传感器确定外部参数包括:利用参考图像传感器对所述多个彩色图像传感器和所述至少一个深度图像传感器进行几何校准,其中,所述参考图像传感器为所述多个彩色图像传感器和所述至少一个深度图像传感器中的一个。

第四特征:可以与前述或以下特征中的任一个结合,其中,所述构造多个初始3d点云块包括:从所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列中确定显著点集合;针对每个显著点:确定所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列中的所述显著点对应的成像点集合;根据所述成像点集合通过约束三角剖分计算对应所述显著点的初始3d点云块。

第五特征:可以与前述或以下特征中的任一个结合,其中,所述约束三角剖分包括将成本函数最小化,所述成本函数包括所述多个校准的彩色图像序列的图像一致性度量或者所述至少一个校准的深度图像序列的深度一致性度量中的至少一个。

第六特征:可以与前述或以下特征中的任一个结合,其中,所述通过扩展所述多个初始3d点云块生成3d点云包括:在空间上将所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列的图像划分为单元;通过正则化优化的方式扩展所述多个初始3d点云块以生成覆盖所述单元的所述3d点云。

第七特征:可以与前述或以下特征中的任一个结合,所述一个或多个硬件处理器还执行所述指令以使用所述3d点云计算3d网格曲面,其中,所述3d网格包括所述动态场景的3d重建。

在第三种实施方式中,一种非瞬时性计算机可读介质,存储用于动态场景的3d重建的计算机指令,所述计算机指令在由一个或多个硬件处理器执行时使所述一个或多个硬件处理器执行以下操作:从多个彩色图像传感器接收多个彩色图像序列,以及从至少一个深度图像传感器接收至少一个深度图像序列,其中,所述彩色图像传感器的数量大于所述深度图像传感器的数量;基于所述多个彩色图像序列和所述至少一个深度图像序列生成多个校准的彩色图像序列和至少一个校准的深度图像序列;利用所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列构造多个初始3d点云块;通过扩展所述多个初始3d点云块生成3d点云。

可选地,上述和其它描述的实施方式均可以包括以下特征中的一个或多个:

第一特征:可与以下特征中的任一个结合,其中,所述生成多个校准的彩色图像序列和至少一个校准的深度图像序列包括:为所述多个彩色图像传感器和所述至少一个深度图像传感器中的每个传感器确定内部参数和外部参数;根据所述内部参数和所述外部参数,对所述多个彩色图像序列和所述至少一个深度图像序列进行校正,以生成所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列。

第二特征:可与任何先前或以下特征结合,其中,所述构造多个初始3d点云块包括:从所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列中确定显著点集合;针对每个显著点:确定所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列中的所述显著点对应的成像点集合;根据所述成像点集合通过约束三角剖分计算对应所述显著点的初始3d点云块。

第三特征:可以与前述或以下特征中的任一个结合,其中,所述通过扩展所述多个初始3d点云块生成3d点云包括:在空间上将所述多个校准的彩色图像序列和所述至少一个校准的深度图像序列的图像划分为单元;通过正则化优化的方式扩展所述多个初始3d点云块以生成覆盖所述单元的所述3d点云。

本说明书中所描述的方案和功能操作可以在数字电子电路、实体计算机软件或固件、计算机硬件中实现,包括在本说明书中公开的结构及其结构等同物,或它们中的一个或多个的组合。所述方案的软件实施方式可以实现为一个或多个计算机程序,即一个或多个在有形的非瞬时性的计算机可读计算机存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理设备执行或控制所述数据处理设备的操作。或者,或另外地,所述程序指令可以在人工生成的传播信号中/上编码,例如,机器生成的电、光学或电磁信号,产生的所述信号用于编码信息以将信息传输到合适的接收器设备从而由数据处理设备进行处理。所述计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或计算机存储介质的组合。配置一台或多台计算机是指所述一台或多台计算机安装有硬件、固件或软件(或硬件、固件和软件的组合),使得所述软件由所述一台或多台计算机执行时,能够执行特定的计算操作。

术语“实时”、“快速实时(real(fast)time,rft)”、“近实时(near(ly)real-time,nrt)”、“准实时”或类似术语(本领域普通技术人员可以理解)是指动作和响应在时间上是接近的,使得个人感知到动作和响应基本上同时发生。例如,在个人访问数据后,响应数据显示(或显示启动)的时间差可以小于1毫秒,小于1秒或小于5秒。虽然不需要立即显示(或为启动显示)请求的数据,但鉴于所述计算系统的处理限制以及例如收集、准确测量、分析、处理、存储,或传输所述数据需要的时间,在没有故意延迟的情况下显示(或启动显示)所述数据。

术语“数据处理装置”、“计算机”、“电子计算机设备”或“电子计算机设备”(或本领域普通技术人员所理解的等同物)是指数据处理硬件,包括各种处理数据的装置、设备和机器。例如,包括可编程处理器、计算机、多个处理器或计算机。所述装置也可以或进一步包括专用逻辑电路,例如中央处理器(centralprocessingunit,cpu)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或专用集成电路(application-specificintegratedcircuit,asic)。在一些实施方式中,所述数据处理装置或专用逻辑电路(或所述数据处理装置或专用逻辑电路的组合)可以基于硬件或软件(或基于硬件和软件的组合)。可选地,所述装置可以包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或执行环境的组合的代码。本发明设想使用具有或不具有传统操作系统的数据处理装置,例如linux、unix、windows、macos、android、ios或任何其它合适的传统操作系统。

一种计算机程序,也可以称为或描述为程序,软件,软件应用程序,模块,软件模块,脚本或代码的计算机程序可以任何形式的编程语言编写,包括编译或解释语言,或说明性或程序性语言,它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或其它适合在计算环境中使用的单元。计算机程序可以但不一定对应文件系统中的文件。程序可以存储在包含其它程序或数据的文件的一部分中,例如一个或多个脚本存储在标记语言文档,专用于所述程序的单个文件,或者多个协调文件,例如存储一个或多个模块、子程序或部分代码的文件。计算机程序可以部署在一台或多台计算机上执行,这些计算机可以位于一个站点或分布在多个站点并通过通信网络互连。

虽然各种图中示出的程序的部分显示为通过各种对象、方法或其它过程实现各种特征和功能的单独模块,但是程序也可以包括多个子模块、第三方服务、组件、库等,视具体情况而定。相反,各种组件的特征和功能可以视情况组合成单个组件。用于进行计算确定的阈值可以是静态,动态或动静态结合的方式确定。

本文描述的方法、过程或逻辑流程可以由一台或多台可编程计算机执行,这些计算机执行一个或多个计算机程序,通过操作输入数据和生成输出来执行功能。所述方法、过程或逻辑流程也可以由专用逻辑电路执行,并且装置也可以实施为所述专用逻辑电路,例如cpu、fpga或asic。

适合执行计算机程序的计算机可以基于通用微处理或专用微处理器,通用微处理和专用微处理器两者,或任何其它类型的cpu。通常,cpu会从内存接收指令和数据,并向内存写入数据。计算机的基本元件是用于执行指令的cpu,以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,从这些设备接收数据和/或将数据传送给这些设备。然而,计算机不需具有这样的设备。此外,计算机可以嵌入其它设备,例如移动电话、个人数字助理(personaldigitalassistant,pda)、移动音频或视频播放器、游戏控制台、全球定位系统(globalpositioningsystem,gps)接收器或便携式存储设备,例如:通用串行总线(universalserialbus,usb)闪存驱动器,仅举几例。

适用于存储计算机程序指令和数据的计算机可读介质(适当时为瞬时性或非瞬时性计算机可读介质)包括各种形式的永久/非永久或易失性/非易失性存储器、介质和存储器设备,包括半导体存储器设备,如随机存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、相变存储器(phasechangememory,pram)、静态随机存储器(staticrandomaccessmemory,sram)、动态随机存储器(dynamicrandomaccessmemory,dram)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)及闪存设备;磁性器件,例如磁带、盒式磁带、内部/可移动磁盘、磁光盘;光学存储设备,例如数码影碟(digitalvideodisc,dvd)、cdrom、dvd+/-r、dvd-ram、dvd-rom、hd-dvd和bluray等光学存储技术。所述存储器可存储各种对象或数据,包括缓存、类类型、框架、应用程序、模块、备份数据、作业、网页、网页模板、数据结构、数据库表、存储动态信息的储存库以及包括任何参数、变量、算法、指令、规则、约束条件或其引用的任何其它合适的信息。此外,所述存储器可以包括任何其它合适的数据,例如日志、策略、安全或访问数据、报告文件以及其它数据。所述处理器和所述存储器可以由专用逻辑电路来补充或合并。

为了提供与用户的交互,本文中所描述的方案可以在具有显示设备的计算机上实施,例如,阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)、发光二极管(lightemittingdiode,led)或用于向用户显示信息的等离子显示器,以及键盘和指向设备,例如鼠标,轨迹球或触控板,用户可以通过它们向计算机提供输入。还可以使用触摸屏向所述计算机提供输入,例如压力敏感度平板电脑表面、使用电容或电感应的多点触摸屏幕或其它类型的触摸屏。还可以使用其它类型的设备来提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感官反馈,比如视觉反馈、听觉反馈、或触觉反馈;以及从用户接收的任何形式的输入,包括声学、语音或触觉输入。此外,计算机可以通过向用户所使用的设备发送和从该用户所使用的设备接收文件来与用户交互。例如,通过向用户客户端设备上的网络浏览器发送网页来响应从所述网络浏览器接收的请求。

术语“图形用户界面”或“gui”可以单数或复数形式使用,以描述一个或多个图形用户界面以及特定图形用户界面的每个显示器。因此,gui可以表示任何图形用户界面,包括但不限于网页浏览器、触摸屏或命令行接口(commandlineinterface,cli),它们处理信息并有效地向用户呈现信息结果。通常,gui可以包括多个用户界面(userinterface,ui)元素、部分或全部与网络浏览器相关联,例如交互字段、下拉列表和按钮。这些和其它ui元素可以与web浏览器的功能有关或表示这些功能。

本文中描述的方案可以在计算系统中实现。所述计算系统可以包括后端组件(例如数据服务器),中间件(例如应用服务器),前端组件(例如具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本文中描述的方案的实现方式进行交互),或者一个或多个此类后端组件,中间件或前端组件的任意组合。该系统的组件可以通过有线或无线数字数据通信(或数据通信的组合)的任何形式或介质(例如,通信网络)互连。通信网络的示例包括使用802.11a/b/g/n或802.20(或802.11x和802.20的组合或其它适用于本发明的协议)的局域网(localareanetwork,lan)、无线接入网(radioaccessnetwork,ran)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、全球微波接入互操作性(worldwideinteroperabilityformicrowaveaccess,wimax)、无线局域网(wirelesslocalareanetwork,wlan)、互联网的全部或一部分、或位于一个或多个位置的任何其它通信系统(或通信网络的组合)。所述网络例如可以与网络地址之间的互联网协议(internetprotocol,ip)数据包、帧中继帧、异步传输模式(asynchronoustransfermode,atm)信元、语音、视频、数据或网络地址之间的其它合适信息(或通信类型的组合)进行通信。

所述计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。

虽然本文包含许多具体的实施细节,但是这些不应够构成对任何发明的范围或要求保护的范围的限制,而应理解为对特定发明的特定实施细节的特征的描述。本文在单独实施方式的上下文中描述的某些特征也可以组合地在单个实施方式中实现。相反,在单个实施方式的上下文中描述的各种特征也可以在多个实施方式中单独实现,或在任何合适的子组合中实现。此外,尽管先前描述的特征可描述为以某些组合形式起作用,甚至最初这样要求的,但在某些情况下,可以从组合中除去所要求的组合中的一个或多个特征。所要求的组合可以针对子组合或子组合的变体。

描述了本方案的特定实施方式。对本领域技术人员来说显而易见的是,所描述的实施方式的其它实施方式,变更和替换是在所附权利要求的范围之内。虽然在附图或权利要求书中以特定顺序对操作进行描述,但这不应理解为要求按照所示的特定顺序或按顺序来执行此类操作,或者要求执行所有示出的操作(一些操作可被视为可选操作),来实现期望的结果。在某些情况下,多任务处理或并行处理(或多任务处理和并行处理的组合)可能是有利的,并且可以在合适的情况下执行。

此外,不应将前述实施方式中的各种系统模块和组件的分离或集成理解为需要在所有实施方式中进行此类分离或集成。应当理解的是,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。

因此,前述的示例性实施方式不用于定义或限制本发明。在不脱离本公开的精神和范围的情况下,可能存在其它改变、替换和变更。

此外,任何要求保护的实施方式视为至少适用于计算机实现的方法;存储计算机可读指令以执行所述计算机实现的方法的非瞬时性计算机可读介质;以及包括计算机存储器的计算机系统,所述计算机存储器可互操作地耦合硬件处理器,所述硬件处理器用于执行所述计算机实现的方法或执行存储在所述非瞬时性计算机可读介质上的指令。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1