具有表面和每表面体积的环境模型的制作方法

文档序号:37861725发布日期:2024-05-07 19:38阅读:23来源:国知局
具有表面和每表面体积的环境模型的制作方法

本公开总体上涉及人工现实系统,并且尤其涉及对环境进行建模。


背景技术:

1、人工现实是在呈现给用户之前已经以某种方式进行了调整的现实形式,该人工现实例如可以包括虚拟现实(virtual reality,vr)、增强现实(augmented reality,ar)、混合现实(mixed reality,mr)、混合现实(hybrid reality)或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成的内容、或与所采集的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或它们的某种组合,并且以上中的任何一者都可以在单个通道或多个通道中呈现(例如给观看者带来三维效果的立体视频)。人工现实可以与应用、产品、附件、服务或它们的某种组合相关联,这些应用、产品、附件、服务或它们的某种组合例如用于在人工现实中创建内容、和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(head-mounted display,hmd)、独立的hmd、移动设备或计算系统、或能够向一位或多位观看者提供人工现实内容的任何其它硬件平台。


技术实现思路

1、根据本公开的第一方面,提供了一种方法,该方法包括:由计算设备:接收使用一个或多个传感器采集到的场景的传感器数据;基于该传感器数据生成:(1)多个虚拟表面,该多个虚拟表面表示该场景中的多个检测到的平面表面,以及(2)点云,该点云表示该场景中的检测到的对象特征;将该点云中的每个点分配给该多个虚拟表面中的一个或多个虚拟表面;基于分配给该多个虚拟表面中的每个虚拟表面的点,来为该虚拟表面生成占用体积,该占用体积是相对于该虚拟表面定义的;生成数据存储库,该数据存储库包括该多个虚拟表面、该多个虚拟表面中的每个虚拟表面的占用体积、以及该多个虚拟表面之间的空间关系;接收查询;以及发送对该查询的响应,该响应包括所识别的该数据存储库中的该多个虚拟表面的满足该查询的子集。

2、在一些实施例中,生成该多个虚拟表面包括:检测场景中的多个平面表面;选择该多个平面表面的满足一个或多个条件的子集;以及为该多个平面表面的该子集中的每个平面表面生成虚拟表面。

3、在一些实施例中,检测场景中的该多个平面表面包括:对表示该场景中的检测到的对象特征的点云执行基于随机抽样一致性(random sample consensus,ransac)的平面拟合方法。

4、在一些实施例中,检测场景中的该多个平面表面包括:对接收到的传感器数据运行机器学习算法。

5、在一些实施例中,检测场景中的该多个平面表面包括:接收指示该场景中的该多个平面表面中的每个平面表面的用户输入。

6、在一些实施例中,该一个或多个条件包括平面表面的最小所需尺寸或平面表面的所需方位。

7、在一些实施例中,为该多个虚拟表面中的每个虚拟表面生成占用体积包括:对于与该虚拟表面的顶部的空间相对应的三维体积网格中的每个块,确定点云中属于该块的点的数量;以及基于被确定为在该点云中具有比阈值更多的点的块来生成占用体积。

8、在一些实施例中,其中,为该多个虚拟表面中的每个虚拟表面生成占用体积包括:使用分配给该虚拟表面的点的子集来执行截断符号距离场(truncated signed distancefield,tsdf)融合。

9、在一些实施例中,虚拟表面的占用体积的原点与该虚拟表面的原点重合。

10、在一些实施例中,该数据存储库还包括该多个虚拟表面中的每个虚拟表面与对应空间锚点的空间关系。

11、在一些实施例中,该方法还包括:接收使用该一个或多个传感器采集到的该场景的第二传感器数据;基于该第二传感器数据确定需要对该数据存储库中的该多个虚拟表面中的第一虚拟表面与该第一虚拟表面的对应空间锚点的空间关系进行更新;以及响应于该确定,对该数据存储库中的该第一虚拟表面与该第一虚拟表面的对应空间锚点的空间关系进行更新。

12、在一些实施例中,该第一虚拟表面的第一占用体积的位置随该第一虚拟表面一起调整。

13、在一些实施例中,查询包括用于平面表面的一个或多个条件。

14、在一些实施例中,用于平面表面的该一个或多个条件包括:平面表面的尺寸、平面表面的方位、平面表面的空度(emptiness)、或与对应于平面表面的虚拟表面的占用体积相关联的语义信息。

15、在一些实施例中,该数据存储库中的该多个虚拟表面的满足该查询的该子集是通过提取该数据存储库中的该多个虚拟表面中的每个虚拟表面的占用体积的几何属性来识别的。

16、在一些实施例中,该几何属性包括平面表面边界图、占用分类图、高度图或三维网格表示。

17、在一些实施例中,该方法还包括:接收使用该一个或多个传感器采集到的该场景的第三传感器数据;基于该第三传感器数据生成第二虚拟表面,该第二虚拟表面表示该场景中的检测到的平面表面,其中,该第二虚拟表面不在数据存储库中;将点云中的一个或多个点分配给该第二虚拟表面;基于分配给该第二虚拟表面的该一个或多个点,来为该第二虚拟表面生成第二占用体积;确定该第二占用体积与数据存储库中的第三虚拟表面的第三占用体积相同;确定第二占用体积更接近第二虚拟表面而不是第三虚拟表面;响应于确定第二占用体积更接近第二虚拟表面而不是第三虚拟表面,从数据存储库中删除第三占用体积;以及将第二虚拟表面和第二虚拟表面的第二占用体积添加到数据存储库。

18、在一些实施例中,该方法还包括:接收使用该一个或多个传感器采集到的该场景的第四传感器数据;基于该第四传感器数据确定数据存储库中的第四虚拟表面和第五虚拟表面属于单个平面表面;通过合并该第四虚拟表面和该第五虚拟表面来生成第六虚拟表面;基于分配给第六虚拟表面的点来生成第六占用体积;以及通过以下方式来更新数据存储库:(1)用第六虚拟表面替换第四虚拟表面和第五虚拟表面,并且(2)用第六虚拟表面的第六占用体积替换第四虚拟表面的第四占用体积和第五虚拟表面的第五占用体积。

19、根据本公开的第二方面,提供了一种或多种计算机可读非暂态存储介质,该一种或多种计算机可读非暂态存储介质包含软件,该软件在被执行时能够操作以:接收使用一个或多个传感器采集到的场景的传感器数据;基于该传感器数据生成:(1)多个虚拟表面,该多个虚拟表面表示场景中的多个检测到的平面表面;以及(2)点云,该点云表示该场景中的检测到的对象特征;将该点云中的每个点分配给该多个虚拟表面中的一个或多个虚拟表面;基于分配给该多个虚拟表面中的每个虚拟表面的点,来为该虚拟表面生成占用体积,该占用体积是相对于该虚拟表面定义的;生成数据存储库,该数据存储库包括该多个虚拟表面、该多个虚拟表面中的每个虚拟表面的占用体积、以及该多个虚拟表面之间的空间关系;接收查询;以及发送对该查询的响应,该响应包括所识别的该数据存储库中的该多个虚拟表面的满足该查询的子集。

20、根据本公开的第三方面,提供了一种系统,该系统包括:一个或多个处理器;以及非暂态存储器,该非暂态存储器耦接到该处理器,该非暂态存储器包括能够由该处理器执行的指令,该处理器在执行所述指令时能够操作以:接收使用一个或多个传感器采集到的场景的传感器数据;基于该传感器数据生成:(1)多个虚拟表面,该多个虚拟表面表示该场景中的多个检测到的平面表面;以及(2)点云,该点云表示该场景中的检测到的对象特征;将该点云中的每个点分配给该多个虚拟表面中的一个或多个虚拟表面;基于分配给该多个虚拟表面中的每个虚拟表面的点,来为该虚拟表面生成占用体积,该占用体积是相对于该虚拟表面定义的;生成数据存储库,该数据存储库包括该多个虚拟表面、该多个虚拟表面中的每个虚拟表面的占用体积、以及该多个虚拟表面之间的空间关系;接收查询;以及发送对该查询的响应,该响应包括所识别的该数据存储库中的该多个虚拟表面的满足该查询的子集。

21、本文所描述的各特定实施例涉及用于使用表示平面表面的多个虚拟表面和每表面三维体积来对环境进行建模的系统和方法。人造的室内场景和室外场景主要由多个平面表面组成。其它非平面对象(即,细节)通常由至少一个平面表面支撑(例如,桌面上的物品、地板上的椅子、以及悬挂在天花板上的灯)。因此,场景可以被分割成一组虚拟表面,每个虚拟表面具有表示平面周围的细节的三维体积。通过这种分割,当所存储的虚拟表面的位置信息与实时即时定位与地图构建(simultaneous localization and mapping,slam)数据之间出现不匹配时,由于体积表示是相对于平面定义的,因此可以用光计算(lightcomputation)来调整平面相对于对应空间锚点的位置信息。

22、在特定实施例中,计算设备可以接收使用一个或多个传感器采集到的场景的传感器数据。在特定实施例中,传感器数据可以包括图像传感器数据或深度传感器数据。计算设备可以基于传感器数据生成多个虚拟表面和点云,该多个虚拟表面表示场景中的多个检测到的平面表面,该点云表示场景中的检测到的对象特征。为了生成该多个虚拟表面,计算设备可以检测场景中的多个平面表面。在特定实施例中,计算设备可以对表示场景中的检测到的对象特征的点云执行基于随机抽样一致性(ransac)的平面拟合方法,以检测场景中的多个平面表面。在特定实施例中,计算设备可以对接收到的传感器数据运行机器学习算法,以检测场景中的多个平面表面。在特定实施例中,计算设备可以接收指示场景中的多个平面表面中的每个平面表面的用户输入,以检测场景中的多个平面表面。计算设备可以选择该多个平面表面中满足一个或多个条件的子集。该一个或多个条件可以包括平面表面的最小所需尺寸或平面表面的所需方位。计算设备可以为该多个平面表面的该子集中的每个平面表面生成虚拟表面。计算设备可以将点云中的每个点分配给该多个虚拟表面中的一个或多个虚拟表面。计算设备可以基于分配给该多个虚拟表面中的每个虚拟表面的点,来为该虚拟表面生成占用体积。占用体积可以是相对于虚拟表面定义的。占用体积可以是存储有值的一组体素。在特定实施例中,占用体积可以具有指示占用的二进制值。在特定实施例中,占用体积可以具有指示带符号距离的浮点值。为了为虚拟表面生成占用体积,计算设备可以确定点云中属于与该虚拟表面的顶部的空间相对应的三维体积网格中的每个块的点的数量。计算设备可以基于被确定为在点云中具有比阈值更多的点的块来生成占用体积。在特定实施例中,计算设备可以通过使用点云中分配给每个虚拟表面的点的子集、执行截断符号距离场(tsdf)融合,来为该虚拟表面生成占用体积。计算设备可以生成数据存储库,该数据存储库包括多个虚拟表面、该多个虚拟表面中的每个虚拟表面的占用体积、以及该多个虚拟表面之间的空间关系。该多个虚拟表面之间的空间关系可以由场景图来表示。在特定实施例中,该多个虚拟表面之间的空间关系可以由包括图的任何合适的数据结构来表示。在特定实施例中,数据存储库还可以包括该多个虚拟表面中的每个虚拟表面与对应空间锚点的空间关系。在特定实施例中,计算设备可以接收使用该一个或多个传感器采集到的场景的第二传感器数据。计算设备可以基于该第二传感器数据确定需要对数据存储库中的该多个虚拟表面中的第一虚拟表面与该第一虚拟表面的对应空间锚点的空间关系进行更新。计算设备可以响应于该确定,对数据存储库中的第一虚拟表面与该第一虚拟表面的对应空间锚点的空间关系进行更新。虚拟表面的占用体积的原点可以与该虚拟表面的原点重合。因此,第一虚拟表面的第一占用体积的位置可以随第一虚拟表面一起调整。

23、在特定实施例中,该计算设备可以接收查询。该查询可以包括用于平面表面的一个或多个条件。用于平面表面的该一个或多个条件可以包括:平面表面的尺寸、平面表面的方位、平面表面的空度、或与对应于平面表面的虚拟表面的占用体积相关联的语义信息。计算设备可以识别数据存储库中的该多个虚拟表面的满足查询中的该一个或多个条件的子集。为了识别数据存储库中的该多个虚拟表面的满足查询中的该一个或多个条件的子集,计算设备可以提取数据存储库中的该多个虚拟表面中的每个虚拟表面的占用体积的几何属性。该几何属性可以包括平面边界图、占用分类图、高度图、三维网格表示、或任何合适的几何属性。计算设备可以发送对该查询的响应。该响应可以包括所识别的数据存储库中的该多个虚拟表面的满足该查询的子集。

24、在特定实施例中,计算设备可以接收使用该一个或多个传感器采集到的场景的第三传感器数据。计算设备可以基于该第三传感器数据生成第二虚拟表面,该第二虚拟表面表示场景中的检测到的平面表面,其中,第二虚拟表面不在数据存储库中。计算设备可以将点云中的一个或多个点分配给第二虚拟表面。计算设备可以基于分配给第二虚拟表面的该一个或多个点来为第二虚拟表面生成第二占用体积。计算设备可以确定第二占用体积与数据存储库中的第三虚拟表面的第三占用体积相同。计算设备可以确定第二占用体积更接近第二虚拟表面而不是第三虚拟表面。计算设备可以响应于确定第二占用体积更接近第二虚拟表面而不是第三虚拟表面,从数据存储库中删除第三占用体积。计算设备可以将第二虚拟表面和第二虚拟表面的第二占用体积添加到数据存储库。

25、在特定实施例中,计算设备可以接收使用该一个或多个传感器采集到的场景的第四传感器数据。计算设备可以基于该第四传感器数据确定数据存储库中的第四虚拟表面和第五虚拟表面属于单个平面。计算设备可以通过合并第四虚拟表面和第五虚拟表面来生成第六虚拟表面。计算设备可以基于分配给第六虚拟表面的点来生成第六占用体积。计算设备可以通过以下方式来更新数据存储库:(1)用第六虚拟表面替换第四虚拟表面和第五虚拟表面,以及(2)用第六虚拟表面的第六占用体积替换第四虚拟表面的第四占用体积和第五虚拟表面的第五占用体积。

26、本文所公开的各实施例仅是示例,并且本公开的范围不限于这些实施例。特定实施例可以包括以上所公开的各实施例中的部件、元件、特征、功能、操作或步骤中的全部、一些,或者可以不包括以上所公开的各实施例中的部件、元件、特征、功能、操作或步骤。根据本发明的各实施例在所附的针对方法、存储介质、系统和计算机程序产品的权利要求中特别公开,其中,在一个权利要求类别(例如,方法)中所提到的任何特征也可以在另一个权利要求类别(例如,系统)中主张。所附权利要求书中的从属关系或回引仅出于形式原因而选择。然而,由于有意引用任何先前的权利要求(特别是多项从属关系)而产生的任何主题也可以被主张,使得多个权利要求及其多个特征的任何组合无论在所附权利要求书中所选择的从属关系如何、都被公开且可以被主张。可主张的主题不仅包括所附权利要求书中所陈述的多个特征的多种组合,还包括权利要求书中的多个特征的任何其它组合,其中,在权利要求书中所提到的每个特征可以与权利要求书中的任何其它特征或其它特征的组合进行组合。此外,本文所描述或所描绘的任何实施例和任何特征可以在单独的权利要求中被主张,和/或在与本文所描述或所描绘的任何实施例或任何特征的任何组合中或在与所附权利要求书中的任何特征的任何组合中被主张。

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