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

地图集的合并方法、装置、终端设备及计算机存储介质

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


地图集的合并方法、装置、终端设备及计算机存储介质

技术领域

本申请涉及虚拟现实技术领域,尤其涉及一种地图集的合并方法、装置、终端设备及计算机可读存储介质。

背景技术

随着虚拟现实技术的不断发展,SLAM(Simultaneous localization andmapping,同步定位与地图绘制)算法成为了用来对VR头戴设备进行追踪的主要算法。

然而,在VR头戴设备内存储有多个地图集时,SLAM算法需要先遍历VR头戴设备内存储的全部地图集,才能对VR头戴设备进行追踪。如此,SLAM算法就需要在遍历地图集的过程中耗费大量时间,进而无法准确对VR头戴设备进行追踪。

因此,如何减少SLAM算法遍历地图集时花费的时间,以保障对VR头戴设备进行定位追踪的准确性,也就成为了行业内亟需解决的技术问题。

发明内容

本申请的主要目的在于提供一种地图集的合并方法、装置、终端设备及计算机可读存储介质,旨在令终端设备将不同的地图集合并在一起,进而减少终端设备在遍历地图集时花费的时间,保障对VR头戴设备进行定位追踪的准确性。

为实现上述目的,本申请提供一种地图集的合并方法,所述地图集的合并方法包括以下步骤:

获取虚拟现实头戴设备建立的实时地图集和历史地图集;

基于预设的连通标签和所述实时地图集生成第一地图集,并基于所述连通标签和所述历史地图集生成第二地图集;

计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵,并基于所述第一目标旋转矩阵和所述第一地图集生成第三地图集;

将所述第二地图集和所述第三地图集进行合并以生成第一目标地图集。

进一步地,所述计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵的步骤,包括:

提取所述第一地图集包含的各第一特征描述子,和提取所述第二地图集包含的各第二特征描述子;

基于各所述第一特征描述子和各所述第二特征描述子计算得到所述第一地图集和所述第二地图集之间的第一目标旋转矩阵。

进一步地,所述基于各所述第一特征描述子和各所述第二特征描述子计算得到所述第一地图集和所述第二地图集之间的第一目标旋转矩阵的步骤,包括:

基于各所述第一特征描述子和各所述第二特征描述子建立第一重叠点云集和第二重叠点云集;

根据所述第一重叠点云集和所述第二重叠点云集计算得到所述第一地图集和所述第二地图集之间的第一目标旋转矩阵。

进一步地,所述基于各所述第一特征描述子和各所述第二特征描述子建立第一重叠点云集和第二重叠点云集的步骤,包括:

将各所述第一特征描述子与各所述第二特征描述子进行比对以得到多个比对结果;

根据多个所述比对结果在各所述第一特征描述子中确定多个第一重叠区域特征描述子,和根据多个所述比对结果在各所述第二特征描述子中确定多个第二重叠区域特征描述子;

基于多个所述第一重叠区域特征描述子建立第一重叠点云集,和基于多个所述第二重叠区域特征描述子建立第二重叠点云集。

进一步地,在所述获取虚拟现实头戴设备建立的实时地图集的步骤之后,还包括:

根据所述实时地图集确定所述虚拟现实头戴设备的初始位姿坐标,并基于所述初始位姿坐标和所述实时地图集生成目标地图集划分区域;

确定所述目标地图集划分区域内包含的多个地图点,并确定多个所述地图点各自在所述目标地图集划分区域的赤道平面上的目标投影;

根据各所述目标投影确定所述实时地图集对应的地图集评价结果。

进一步地,所述根据各所述目标投影确定所述实时地图集对应的地图集评价结果的步骤,包括:

获取预设的方位角划分规则,并基于所述方位角划分规则确定所述赤道平面内包含的多个方位角区域;

根据各所述目标投影确定所述赤道平面包含的投影总数,并基于所述投影数量确定多个所述方位角区域各自对应的目标投影数量;

将各所述标投影数量分别与预设的投影数量阈值进行比对以得到多个比对结果,并判断多个所述比对结果中是否包含异常比对结果,其中,所述异常比对结果为所述目标投影数量小于所述投影数量阈值;

若判断到多个所述比对结果中包含所述异常比对结果,则确定所述实时地图集对应的地图集评价结果为实时地图集需要优化;

若判断到多个所述比对结果中不包含所述异常比对结果,则确定所述实时地图集对应的地图集评价结果为实时地图集不需要优化。

进一步地,在所述确定所述实时地图集对应的地图集评价结果为实时地图集需要优化的步骤之后,所述方法还包括:

在所述目标地图集划分区域内确定点位优化区域;

根据所述点位优化区域生成优化提示信息,并输出所述优化提示信息至所述虚拟现实头戴设备,以令所述虚拟现实头戴设备采集所述点位优化区域内的目标地图点;

基于所述目标地图点对所述实时地图集进行优化以得到优化地图集,并确定所述优化地图集与所述虚拟现实头戴设备建立的历史地图集之间的第二目标旋转矩阵;

基于所述第二目标旋转矩阵和所述优化地图集生成第四地图集,并将所述第四地图集和所述历史地图集进行合并以生成第二目标地图集。

此外,为实现上述目的,本申请还提供一种地图集的合并装置,所述装置包括:

数据获取模块,用于获取虚拟现实头戴设备建立的实时地图集和历史地图集;

标签添加模块,用于基于预设的连通标签和所述实时地图集生成第一地图集,并基于所述连通标签和所述历史地图集生成第二地图集;

旋转平移模块,用于计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵,并基于所述第一目标旋转矩阵和所述第一地图集生成第三地图集;

地图合并模块,用于将所述第二地图集和所述第三地图集进行合并以生成第一目标地图集。

此外,为实现上述目的,本申请还提供一种终端设备,所述终端设备包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的地图集的合并方法的步骤。

此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的地图集的合并方法的步骤。

本申请实施例提供的地图集的合并方法、装置、终端设备及计算机可读存储介质,通过获取虚拟现实头戴设备建立的实时地图集和历史地图集;基于预设的连通标签和所述实时地图集生成第一地图集,并基于所述连通标签和所述历史地图集生成第二地图集;计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵,并基于所述第一目标旋转矩阵和所述第一地图集生成第三地图集;将所述第二地图集和所述第三地图集进行合并以生成第一目标地图集。

在本实施例中,当终端设备需要对虚拟现实头戴设备内的不同地图集进行合并时,终端设备首先读取该虚拟现实头戴设备以获取该虚拟现实头戴设备内存储的历史地图集,和该终端设备建立的实时地图集,之后,终端设备对实时地图集添加预设的连通标签从而生成第一地图集,同时,终端设备对历史地图集添加相同的连通标签从而生成第二地图集,再之后,终端设备计算得到第一地图集和第二地图集之间的第一目标旋转矩阵,并基于该第一目标旋转矩阵对该第一地图集进行旋转以生成第三地图集,最后,终端设备将生成的第三地图集和第二地图集进行合并以生成第一目标地图集,并存储该第一目标地图集。

如此,本申请解决了相关技术中由于VR头戴设备内存储有多个地图集,导致SLAM算法在遍历多个地图集时需要花费大量时间,进而导致SLAM算法无法准确对VR头戴设备进行追踪的技术问题。即,本申请通过对VR头戴设备内存储的基于历史环境建立的历史地图集,和基于实时环境建立的实时地图集添加相同的连通标签以建立连通关系,并计算历史地图集和实时地图集之间的旋转矩阵,从而基于旋转矩阵对实时地图集进行旋转以令实时地图集与历史地图集之间的视角重叠区域处于统一的方向上,进而将旋转后的实时地图集与历史地图集进行合并以生成目标地图集,从而实现了令终端设备将不同的地图集合并在一起,以减少了终端设备在遍历地图集时花费的时间,从而确保在VR头戴设备内存储有多个地图集时,仍能有效保障对VR头戴设备追踪的准确性。

附图说明

图1是本申请实施例方案涉及的硬件运行环境的终端设备的结构示意图;

图2为本申请地图集的合并方法第一实施例的流程示意图;

图3为本申请地图集的合并方法一实施例涉及的场景示意图;

图4为本申请地图集的合并方法优选实施例的流程示意图;

图5为本申请地图集的合并方法一实施例涉及的目标地图集划分区域示意图;

图6为本申请地图集的合并方法一实施例涉及的方位角区域示意图;

图7为本申请地图集的合并装置一实施例涉及的功能模块示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,图1为本申请实施例方案涉及的硬件运行环境的终端设备结构示意图。

需要说明的是,本申请实施例终端设备可以是执行本申请地图集的合并方法的终端设备,该终端设备具体可以是被配置在带有多个图像采集装置的VR头戴设备上,且内部集成有SLAM算法的移动终端、数据存储控制终端、PC等终端设备。

如图1所示,该终端设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及计算机程序。

在图1所示的终端设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请终端设备中的处理器1001、存储器1005可以设置在终端设备中,所述终端设备通过处理器1001调用存储器1005中存储的计算机程序,并执行以下各实施例。

基于上述的终端设备,提供本申请地图集的合并方法的整体构思。

在VR头戴设备内存储有多个地图集时,SLAM算法需要先遍历VR头戴设备内存储的全部地图集,才能对VR头戴设备进行追踪。如此,SLAM算法就需要在遍历地图集的过程中耗费大量时间,进而无法准确对VR头戴设备进行追踪。

针对上述现象,本申请提出了一种地图集的合并方法,所述地图集的合并方法包括以下步骤:获取虚拟现实头戴设备建立的实时地图集和历史地图集;基于预设的连通标签和所述实时地图集生成第一地图集,并基于所述连通标签和所述历史地图集生成第二地图集;计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵,并基于所述第一目标旋转矩阵和所述第一地图集生成第三地图集;将所述第二地图集和所述第三地图集进行合并以生成第一目标地图集。

如此,本申请通过对VR头戴设备内存储的基于历史环境建立的历史地图集,和基于实时环境建立的实时地图集添加相同的连通标签以建立连通关系,并计算历史地图集和实时地图集之间的旋转矩阵,从而基于旋转矩阵对实时地图集进行旋转以令实时地图集与历史地图集之间的视角重叠区域处于统一的方向上,进而将旋转后的实时地图集与历史地图集进行合并以生成目标地图集,从而解决了相关技术中在VR头戴设备内存储有多个地图集时,由于SLAM算法需要花费大量时间遍历多个地图集之后才能对VR头戴设备进行追踪,进而导致SLAM算法无法准确对VR头戴设备进行追踪的技术问题,达到了令终端设备能够将不同的地图集合并在一起的技术效果,进而减少了终端设备在遍历地图集时花费的时间,以确保在VR头戴设备内存储有多个地图集时,终端设备均能保障对VR头戴设备追踪的准确性。

基于上述的终端设备和本申请地图集的合并方法的整体构思,进一步提出本申请地图集的合并方法的各个实施例。

请参照图2,图2为本申请地图集的合并方法第一实施例的流程示意图。

应当理解的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,本申请地图集的合并方法当然也可以以不同于此处的顺序执行所示出或描述的步骤。

如图2所示,在本实施例中,本申请地图集的合并方法可以包括步骤:

步骤S10:获取虚拟现实头戴设备建立的实时地图集和历史地图集;

需要说明的是,该实时地图集为虚拟现实头戴设备在当前时刻基于自身所处的第一房间建立的地图集,该历史地图集为虚拟现实头戴设备在当前时刻之前的任意时刻,基于自身所处的第二房间建立并保存的地图集。

在本实施例中,当终端设备需要将虚拟现实头戴设备在多个房间中分别采集到的地图集进行合并时,终端设备首先读取虚拟现实头戴设备以获取虚拟现实头戴设备建立与第一房间对应的实时地图集,和该虚拟现实头戴设备内存储的与第二房间对应的历史地图集。

示例性地,例如,请参照图3,图3为本申请地图集的合并方法一实施例涉及的场景示意图,如图3所示,当用户佩戴VR头戴设备从房间D移动至房间A,VR头戴设备进而在房间A内执行SLAM操作以建立与房间A对应的地图集A时,终端设备生成一可视化的提示框,并通过VR头戴设备自身所配置的显示模块对用户展示该提示框,以提示用户是否将实时地图集A与房间D对应的历史地图集D进行连通,终端设备进而在确定用户通过手柄控制器选择“是”选项时,读取该VR头戴设备,以获取该VR头戴设备内存储的与房间D对应的历史地图集D,和VR头戴设备建立的与房间A对应的实时地图集A。

步骤S20:基于预设的连通标签和所述实时地图集生成第一地图集,并基于所述连通标签和所述历史地图集生成第二地图集;

在本实施例中,终端设备获取预设的连通标签,并对实时地图集添加该连通标签以生成第一地图集,同时,终端设备对历史地图集添加相同的连通标签以生成与第一地图集存在连通关系的第二地图集。

示例性地,例如,终端设备在获取历史地图集D和实时地图集A之后,终端设备获取技术人员预设的连通标签,并在该实时地图集A内添加该连通标签以生成第一地图集A,同时,该终端设备在该历史地图集D内添加相同的连通标签,从而生成与该第一地图集A具有连通关系的第二地图集D,终端设备进而将该第一地图集A和该第二地图集D输入至自身所配置的SLAM模块。

步骤S30:计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵,并基于所述第一目标旋转矩阵和所述第一地图集生成第三地图集;

在本实施例中,终端设备对第一地图集和第二地图集进行检测,以确定第一地图集和第二地图集之间产生的视野重叠区域,并基于该视野重叠区域计算得到第一地图集和第二地图集之间的第一目标旋转矩阵,终端设备进而基于该第一目标旋转矩阵对第一地图集进行旋转以生成视野重叠区域与第二地图集处于同一个方向上的第三地图集。

示例性地,例如,SLAM模块在生成第一地图集A和第二地图集D之后,首先读取该第一地图集A和第二地图集D,并基于该第一地图集A和第二地图集D确定VR头戴设备在房间A和房间D下产生的视野重叠区域,SLAM模块进而基于该视野重叠区域确定该第一地图集A和第二地图集D之间的第一目标旋转矩阵,并基于该第一目标旋转矩阵对第一地图集A进行旋转,以将生成视野重叠区域与第二地图集D处于同一方向上的第三地图集A。

进一步地,在一种可行的实施例中,上述步骤S30中“计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵”的步骤,具体可以包括:

步骤S301:提取所述第一地图集包含的各第一特征描述子,和提取所述第二地图集包含的各第二特征描述子;

在本实施例中,终端设备在生成第一地图集和第二地图集之后,读取该第一地图集以获取该第一地图集内包含的全部地图特征点各自对应的第一特征描述子,同时,该终端设备读取该第二地图集以获取该第二地图集内包含的全部地图特征点各自对应的第二特征描述子。

步骤S302:基于各所述第一特征描述子和各所述第二特征描述子计算得到所述第一地图集和所述第二地图集之间的第一目标旋转矩阵;

在本实施例中,终端设备将各第一特征描述子和各第二特征描述子进行比对以得到多个比对结果,并基于多个该比对结果进行计算以得到第一地图集和第二地图集之间产生的第一目标旋转矩阵。

示例性地,例如,SLAM模块在生成第一地图集A和第二地图集D之后,读取该第一地图集A,以获取该第一地图集A内包含的全部地图特征点和全部地图特征点各自对应的第一特征描述子,同时,SLAM模块读取该第二地图集D,以获取该第二地图集D内包含的全部地图特征点和全部地图特征点各自对应的第二特征描述子,之后,SLAM模块将各第一特征描述子和各第二特征描述子分别进行比对以得到多个比对结果,SLAM模块从而基于多个比对结果确定第一地图集A和第二地图集D之间的视野重叠区域,并基于该视野重叠区域计算得到该第一地图集A和第二地图集D之间产生的第一目标旋转矩阵。

进一步地,在一种可行的实施例中,上述步骤302,具体可以包括:

步骤S3021:基于各所述第一特征描述子和各所述第二特征描述子建立第一重叠点云集和第二重叠点云集;

在本实施例中,终端设备在提取到各第一特征描述子和各第二特征描述子之后,将各第一特征描述子分别与各第二特征描述子进行比对以得到比对结果,并基于该比对结果建立能够代表第一地图集和第二地图集之间形成的视野重叠区域的第一重叠点云集和第二重叠点云集。

步骤S3022:根据所述第一重叠点云集和所述第二重叠点云集计算得到所述第一地图集和所述第二地图集之间的第一目标旋转矩阵;

在本实施例中,终端设备提取第一重叠点云集和第二重叠点云集内包含的各特征点,并对各该特征点进行非线性优化求解从而确定第一重叠点云集和第二重叠点云集之间的第一目标旋转矩阵,终端设备进而将该第一目标旋转矩阵确定为第一地图集和第二地图集之间的第一目标旋转矩阵。

示例性地,例如,SLAM模块在提取到各第一特征描述子和各第二特征描述子之后,将各第一特征描述子分别与各第二特征描述子进行比对以得到各比对结果,SLAM模块进而基于各该比对结果建立能够代表第一地图集A和第二地图集D之间的视野重叠区域的第一重叠点云集和第二重叠点云集,之后,SLAM模块读取该第一重叠点云集和第二重叠点云集各自包含的特征点,并基于预设的PNP算法对各该特征点进行求解,以计算得到该第一重叠点云集和第二重叠点云集之间的旋转矩阵,SLAM模块进而将该第一重叠点云集和第二重叠点云集之间的旋转矩阵确定为第一地图集A和第二地图集D之间的第一目标旋转矩阵。

进一步地,在一种可行的实施例中,上述步骤3021,具体可以包括:

步骤S30211:将各所述第一特征描述子与各所述第二特征描述子进行比对以得到多个比对结果;

在本实施例中,终端设备在提取各第一特征描述子和各第二特征描述子之后,将各第一特征描述子和各第二特征描述子输入至自身所配置的词袋匹配模型,该词袋匹配模型进而将各该第一特征描述子分别与各第二特征描述子进行比对,以判断第一特征描述子与第二特征描述子是否匹配,从而生成多个比对结果;

步骤S30212:根据多个所述比对结果在各所述第一特征描述子中确定多个第一重叠区域特征描述子,和根据多个所述比对结果在各所述第二特征描述子中确定多个第二重叠区域特征描述子;

在本实施例中,词袋匹配模型基于多个比对结果在各第一特征描述子中确定多个在各第二特征描述子中存在匹配的第二特征描述子的第一特征描述子,并将多个在各第二特征描述子中存在匹配的第二特征描述子的第一特征描述子确定为第一重叠区域特征描述子,同时,词袋匹配模型基于多个比对结果在各第二特征描述子中确定多个在各第一特征描述子中存在匹配的第一特征描述子的第二重叠区域特征描述子。

步骤S30213:基于多个所述第一重叠区域特征描述子建立第一重叠点云集,和基于多个所述第二重叠区域特征描述子建立第二重叠点云集;

在本实施例中,终端设备基于多个第一重叠区域特征描述子和多个第二重叠区域特征描述子计算得到目标深度信息,并基于该目标深度信息和多个第一重叠区域特征描述子建立得到能够代表第一地图集和第二地图集之间的视野重叠区域的第一重叠点云集,同时,终端设备基于该目标深度信息和多个第二重叠区域特征描述子建立得到能够代表视野重叠区域的第二重叠点云集。

示例性地,例如,SLAM模块在提取各第一特征描述子和各第二特征描述子之后,将各第一特征描述子和各第二特征描述子输入至自身所配置的词袋匹配模型,该词袋匹配模型进而将各第一特征描述子和各第二特征描述子进行比对,以判断第一特征描述子与第二特征描述子是否匹配并生成多个比对结果,词袋匹配模型进而基于多个比对结果在各第一特征描述子中确定多个存在匹配的第二特征描述子的第一特征描述子,并将多个存在匹配的第二特征描述子的第一特征描述子确定为多个第一重叠区域特征描述子同时,词袋匹配模型基于多个比对结果在各第二特征描述子中确定多个存在匹配的第一特征描述子的第二特征描述子,并将多个存在匹配的第一特征描述子的第二特征描述子确定为多个第二重叠区域特征描述子,之后,SLAM模块基于多个第一重叠区域特征描述子和多个第二重叠区域特征描述子计算得到目标深度信息,并基于该目标深度信息和多个第一重叠区域特征描述子建立得到能够代表VR头戴设备在房间A和房间D之间产生的视野重叠区域的第一重叠子点云集,同时,该SLAM模块基于该目标深度信息和多个第二重叠区域特征描述子建立得到能够代表该视野重叠区域的第二重叠子点云集。

步骤S40:将所述第二地图集和所述第三地图集进行合并以生成第一目标地图集;

在本实施例中,终端设备将生成的第二地图集和第三地图集进行合并,以生成第一目标地图集,并将生成的第一目标地图集转换为可存储或可传输的文件形式以进行保存。

示例性地,例如,SLAM模块在旋转得到第三地图集A之后,将该第三地图集A和第二地图集D进行合并以生成第一目标地图集E,并为第一目标地图集E包含的房间A对应的地图点,和房间D对应的地图点分别赋予不同的属性值,SLAM模块进而将生成的第一目标地图集E以序列化存储的方式存储于VR头戴设备内。

在本实施例中,当终端设备需要将虚拟现实头戴设备在多个房间中分别采集到的地图集进行合并时,终端设备首先读取虚拟现实头戴设备以获取虚拟现实头戴设备建立与第一房间对应的实时地图集,和该虚拟现实头戴设备内存储的与第二房间对应的历史地图集,之后,终端设备获取预设的连通标签,并对实时地图集添加该连通标签以生成第一地图集,同时,终端设备对历史地图集添加相同的连通标签以生成与第一地图集存在连通关系的第二地图集,再之后,终端设备对第一地图集和第二地图集进行检测,以确定第一地图集和第二地图集之间产生的视野重叠区域,并基于该视野重叠区域计算得到第一地图集和第二地图集之间的第一目标旋转矩阵,终端设备进而基于该第一目标旋转矩阵对第一地图集进行旋转以生成视野重叠区域与第二地图集处于同一个方向上的第三地图集,最后,终端设备将生成的第二地图集和第三地图集进行合并,以生成第一目标地图集,并将生成的第一目标地图集转换为可存储或可传输的文件形式以进行保存。

如此,本申请解决了相关技术中由于VR头戴设备内存储有多个地图集,导致SLAM算法在遍历多个地图集时需要花费大量时间,进而导致SLAM算法无法准确对VR头戴设备进行追踪的技术问题。即,本申请通过对VR头戴设备内存储的基于历史环境建立的历史地图集,和基于实时环境建立的实时地图集添加相同的连通标签以建立连通关系,并计算历史地图集和实时地图集之间的旋转矩阵,从而基于旋转矩阵对实时地图集进行旋转以令实时地图集与历史地图集之间的视角重叠区域处于统一的方向上,进而将旋转后的实时地图集与历史地图集进行合并以生成目标地图集,从而实现了令终端设备将不同的地图集合并在一起,以减少了终端设备在遍历地图集时花费的时间,从而确保在VR头戴设备内存储有多个地图集时,仍能有效保障对VR头戴设备追踪的准确性。

基于上述本申请地图集的合并方法的第一实施例,在此提出本申请地图集的合并方法第二实施例。

进一步地,在一种可行的实施例中,在上述步骤S10中“获取虚拟现实头戴设备建立的实时地图集”的步骤之后,本申请地图集的合并方法还可以包括以下步骤:

步骤A10:根据所述实时地图集确定所述虚拟现实头戴设备的初始位姿坐标,并基于所述初始位姿坐标和所述实时地图集生成目标地图集划分区域;

在本实施例中,终端设备在获取虚拟现实头戴设备建立的实时地图集之后,还可以对该实时地图集进行评价以判断是否需要对该实时地图集进行优化,终端设备从而按照该实时地图集对该虚拟现实头戴设备进行检测,以确定该虚拟现实头戴设备的初始位姿坐标,该终端设备进而以该初始位姿坐标作为目标空间中心,并基于该目标空间中心和获取的实时地图集构建得到目标地图集划分区域。

示例性地,例如,请参照图5,图5为本申请地图集的合并方法一实施例涉及的目标地图集划分区域示意图,SLAM模块在获取VR头戴设备建立的实时地图集A之后,还可以先对该实时地图集A进行评价以判断是否需要对该实时地图集A进行优化,再将该实时地图集A与历史地图集D进行合并,在对该实时地图集A进行评价时,终端设备首先将该实时地图集A输入至自身所配置的SLAM模块,由该SLAM模块调用自身所配置的ORB算法识别该实时地图集A内包含的多个图像特征点,并通过该实时地图集A确定多个图像特征点各自对应的特征描述值,SLAM模块进而调用预设的PNP算法对多个特征描述值进行非线性优化求解,从而计算得到该VR头戴设备在该实时地图集A内的位姿坐标,SLAM模块进而将该VR头戴设备在该实时地图集A内的位姿坐标确定为该VR头戴设备的初始位姿坐,SLAM模块从而以该初始位姿坐标为目标空间中心,并基于获取的实时地图集A确定该VR头戴设备上方的房间天花板,SLAM模块进而确定处于该目标空间中心上方,且与该房间天花板相交的北极点,同时,该SLAM模块基于获取的实时地图集A确定该VR头戴设备下方的房间地板,SLAM模块进而确定处于该目标空间中心下方,且与该房间地板相交的南极点,之后,SLAM模块基于该实时地图集A确定该VR头戴设备四周的各房间墙壁,SLAM模块进而基于获的北极点和南极点,建立构建一个与北极点和南极点相连形成的经线呈90°角垂直,且与该VR头戴设备四周的各房间墙壁分别相交的赤道平面,并基于该南极点、北极点及该赤道平面生成一球形空间,SLAM模块在生成赤道平面之后,读取终端设备以获取技术人员预设的区域划分规则,并根据该区域划分规则确定目标级距为30°,之后,SLAM模块以该赤道平面为基准,按照30°的间隔从赤道平面向北极方向和南极方向分别对该球形空间进行划分,以划分得到目标区域R1(0°-30°)、目标区域R2(30°-60°)、目标区域R3(60°-90°)、目标区域R4(90°-120°)、目标区域R5(120°-150°)及目标区域R6(150°-180°),SLAM模块进而将R1至R6多个目标区域进行整合以生成目标地图集划分区域。

步骤A20:确定所述目标地图集划分区域内包含的多个地图点,并确定多个所述地图点各自在所述目标地图集划分区域的赤道平面上的目标投影;

在本实施例中,终端设备对目标地图集划分区域进行识别,以确定该目标地图集划分区域内包含的多个地图点,同时,终端设备对目标地图集划分区域内的赤道平面进行识别,以确定多个特征点各自与目标空间中心之间形成的目标向量在该赤道平面上形成的目标投影。

示例性地,例如,SLAM模块在建立目标地图集划分区域之后,对该目标地图集划分区域进行识别,从而通过上述的ORB算法识别该目标地图集划分区域内包含的多个地图点,并将多个地图点分别与目标空间中心相连以形成多个目标向量,进而将多个目标向量投影至赤道平面,SLAM模块进而对该赤道平面进行检测,以确定多个目标向量各自在该赤道平面上形成的目标投影。

步骤A30:根据各所述目标投影确定所述实时地图集对应的地图集评价结果;

在本实施例中,终端设备根据赤道平面上的各目标投影确定该赤道平面内的投影总数,终端设备进而在赤道平面内划分出多个方位角区域,并基于多个方位角区域和投影数量确定多个方位角区域各自对应的目标投影数量,终端设备进而基于各该目标投影数量确定实时地图集对应的地图集评价结果,并将该地图集评价结果输入至虚拟现实头戴设备,由该虚拟现实头戴通过自身所配置的显示装置对外向佩戴虚拟现实头戴设备的用户展示该地图集评价结果,以令用户能够基于该地图集评价结果保存该实时地图集或对该实时地图集进行优化。

进一步地,在一种可行的实施例中,上述步骤A30,具体可以包括:

步骤A301:获取预设的方位角划分规则,并基于所述方位角划分规则确定所述赤道平面内包含的多个方位角区域;

在本实施例中,终端设备在确定赤道平面上的各目标投影之后,读取技术人员预设的方位角划分规则,并基于该方位角划分规则对该赤道平面进行划分,以在赤道平面内划分出多个方位角区域。

步骤A302:根据各所述目标投影确定所述赤道平面包含的投影总数,并基于所述投影数量确定多个所述方位角区域各自对应的目标投影数量;

在本实施例中,终端设备基于各目标投影确定赤道平面包含的投影总数,并基于该投影总数和多个目标投影各自所在的位置信息,确定多个方位角区域各自对应的目标投影数量。

步骤A303:将各所述标投影数量分别与预设的投影数量阈值进行比对以得到多个比对结果,并判断多个所述比对结果中是否包含异常比对结果,其中,所述异常比对结果为所述目标投影数量小于所述投影数量阈值;

在本实施例中,终端设备在获取多个目标投影数量的同时,获取技术人员预设的投影数量阈值,并将多个目标投影数量分别与该投影数量阈值进行比对,以得到多个比对结果,终端设备进而读取得到的各比对结果,并判断多个比对结果中是否包含比对结果为目标投影数量小于投影数量阈值的异常比对结果。

步骤A304:若判断到多个所述比对结果中包含所述异常比对结果,则确定所述实时地图集对应的地图集评价结果为实时地图集需要优化;

在本实施例中,终端设备若判断到多个比对结果中包含异常比对结果,则确定实时地图集内包含的地图点较少,终端设备进而确定地图集评价结果为实时地图集需要优化。

步骤A305:若判断到多个所述比对结果中不包含所述异常比对结果,则确定所述实时地图集对应的地图集评价结果为实时地图集不需要优化;

在本实施例中,终端设备若判断到多个比对结果中不包含异常比对结果,则确定实时地图集内包含的地图点数量足够,且该实时地图集内包含的地图点质量较高,终端设备从而确定该实时地图集对应的地图集评价结果为实时地图集不需要优化。

示例性地,例如,请参照图6,图6为本申请地图集的合并方法一实施例涉及的方位角区域示意图,SLAM模块在确定赤道平面内包含的各目标投影之后,读取终端设备以获取技术人员预设的方位角划分规则,并基于该方位角划分规则对赤道平面进行划分,以在该赤道平面上划分出如图6所示的方位角区域1、方位角区域2、方位角区域3及方位角区域4,之后,SLAM模块基于该赤道平面包含的投影总数和多个目标投影各自对应的位置信息,确定方位角区域1、方位角区域2、方位角区域3及方位角区域4各自对应的目标投影数量,同时,SLAM读取终端设备以获取技术人员预先设置的投影数量阈值,SLAM模块进而将方位角区域1至方位角区域4各自对应的目标投影数量分别与该投影数量阈值进行比对,以确定该目标投影数量与该投影数量阈值之间的大小关系,进而生成4个比对结果,SLAM模块依次读取4个比对结果,并判断4个比对结果中是否包含比对结果为目标投影数量小于投影数量阈值的异常比对结果,再之后,若SLAM模块确定4个比对结果中包含该异常比对结果,SLAM则确定该实时地图集A内包含的地图点数量不足,进而确定该实时地图集A对应的地图集评价结果为实时地图集A需要优化;而若SLAM模块确定4个比对结果中不包含该异常比对结果,SLAM则确定该实时地图集A内包含的地图点数量足够,进而确定该实时地图集A对应的地图集评价结果为实时地图集A不需要优化;最后,SLAM将生成的地图集评价结果输入至VR头戴设备,由VR头戴设备基于自身所配置的显示模块,对外向佩戴VR头戴设备的用户展示该地图集评价结果,以供用户基于该地图集评价结果保存该实时地图集A或对该实时地图集A进行优化。如此,终端设备能够对VR头戴设备建立的地图集进行评价进而能够确定地图集的质量,以确保在将不同地图集合并之后依然能够准确对VR头戴设备进行追踪。

基于上述本申请地图集的合并方法的第一实施例和/或者第二实施例,在此提出本申请地图集的合并方法第三实施例。

进一步地,在一种可行的实施例中,在上述步骤A304之后,本申请地图集的合并方法还可以包括以下步骤:

步骤B10:在所述目标地图集划分区域内确定点位优化区域;

在本实施例中,终端设备在确定实时地图集的地图集评价结果为实时地图集需要优化时,终端设备基于该地图评价集结果在赤道平面内的多个方位角区域中确定地图点数量小于投影数量阈值的目标方位角区域,同时,该终端设备读取该目标方位角区域内包含的多个目标投影,从而基于多个目标投影各自对应的地图点和该目标方位角区域,在该目标地图集划分区域内包含的多个目标区域中确定需要补充地图点的点位优化区域。

步骤B20:根据所述点位优化区域生成优化提示信息,并输出所述优化提示信息至所述虚拟现实头戴设备,以令所述虚拟现实头戴设备采集所述点位优化区域内的目标地图点;

在本实施例中,终端设备基于点位优化区域生成优化提示信息,并输出该优化提示信息至虚拟头戴设备,以供虚拟头戴设备通过自身所配置的显示模块对外向用户展示该优化提示信息,从而令用户基于该优化提示信息改变虚拟现实头戴设备的位姿,以对准该优化提示信息提醒的点位优化区域,并通过该点位优化区域采集未被记录在目标地图集内的目标地图点。

步骤B30:基于所述目标地图点对所述实时地图集进行优化以得到优化地图集,并确定所述优化地图集与所述虚拟现实头戴设备建立的历史地图集之间的第二目标旋转矩阵;

在本实施例中,终端设备虚拟现实头戴设备基于获取的目标地图点对实时地图集进行优化以生成优化地图集,同时,终端设备读取虚拟现实头戴设备以获取虚拟现实头戴设备存储的历史地图集,并计算得到该优化地图集与该历史地图集之间的第二目标旋转矩阵。

步骤B40:基于所述第二目标旋转矩阵和所述优化地图集生成第四地图集,并将所述第四地图集和所述历史地图集进行合并以生成第二目标地图集;

在本实施例中,终端设备基于第二目标旋转矩阵对优化地图集进行旋转,以令优化地图集与历史地图集内的视野重叠区域处于同一方向上从而生成第四地图集,终端设备进而基于该第四地图集和历史地图集生成第二目标地图集。

示例性地,例如,SLAM模块在确定实时地图集A的地图集评价为实时地图集A需要优化时,SLAM模块基于该地图集评价结果在赤道平面上包含的方位角区域1至方位角区域4中确定目标投影数量小于投影数量阈值的目标方位角区域,同时,SLAM模块基于该目标方位角区域内包含的各目标投影各自对应的地图点,在该目标地图集划分区域内包含的目标区域R1至R6中,确定需要补充地图点的点位优化区域R

如此,终端设备能够在需要对实时地图集进行优化时,确定需要补充地图点的点位优化区域,并生成与该点位优化区域对应的优化信息,从而通过该优化信息引导用户转动虚拟现实头戴设备以更换位姿,进而对该点位优化区域进行识别以识别该点位优化区域内未被记录在地图集内的目标地图点,进而完成对实时地图集的优化,从而将优化后的实时地图集与VR头戴设备内存储的历史地图集进行合并,以确保终端设备减少遍历地图集所需时间的同时,提高合并后地图集的质量。

基于上述本申请地图集的合并方法的各实施例,在此提出本申请地图集的合并方法优选实施例。

请参照图4,图4为本申请地图集的合并方法优选实施例的流程示意图,如图4所示,当用户在房间A内触发VR头戴设备上的终端设备运行SLAM模块载入初始地图集时,SLAM模块调用VR头戴设备上配置的多个视觉传感器对房间A进行识别以生成多个关键帧数据,并将多个关键帧数据添加至初始地图集内以建立得到实时地图集A,之后,若用户触发关闭SLAM模块并保存该实时地图集A时,SLAM模块生成一提示是否将实时地图集A与历史地图集D进行连通,并通过VR头戴设备所配置的显示模块对外向用户展示GIA提示信息,SLAM模块进而通过手柄控制器检测到用户基于该提示信息选择“是”时,SLAM模块读取该VR头戴设备以获取该实时地图集A和该历史地图集D,并将预设的连通标签添加至该实时地图集A以生成第一地图集,和将该连通标签添加至历史地图集D以生成第二地图集;

之后,SLAM模块提取该第一地图集内包含的各第一特征描述子,和该第二地图集内包含的各第二特征描述子,并将各该第一特征描述子和各该第二特征描述子输入至自身所配置的词袋匹配模型,由该词袋匹配模型将各该第一特征描述子和各该第二特征描述子进行比对以得到多个比对结果,并通过多个比对结果建立得到能够代表VR头戴设备在房间A和房间D内产生的视野重叠区域的第一重叠点云集和第二重叠点云集,SLAM模块进而基于对该第一重叠点云集和第二重叠点云集进行非线性优化求解以确定该第一地图集和该第二地图集之间的第一目标旋转矩阵,并基于该第一目标旋转矩阵对该第一地图集进行旋转以生成第三地图集,SLAM模块进而将生成的第三地图集与该第一地图集进行合并以生成目标地图集E;

最后,SLAM模块对该目标地图集E包含的房间A对应的地图点,和房间D对应的地图点分别赋予不同的属性值,SLAM模块进而将生成的目标地图集E以序列化存储的方式存储于VR头戴设备内。

此外,为实现上述目的,本申请还提供一种地图集的合并装置,请参照图7,图7为本申请地图集的合并装置一实施例涉及的功能模块示意图,如图7所示,所述装置包括:

数据获取模块10,用于获取虚拟现实头戴设备建立的实时地图集和历史地图集;

标签添加模块20,用于基于预设的连通标签和所述实时地图集生成第一地图集,并基于所述连通标签和所述历史地图集生成第二地图集;

旋转平移模块30,用于计算所述第一地图集和所述第二地图集之间的第一目标旋转矩阵,并基于所述第一目标旋转矩阵和所述第一地图集生成第三地图集;

地图合并模块40,用于将所述第二地图集和所述第三地图集进行合并以生成第一目标地图集。

进一步地,旋转平移模块30,包括:

特征提取单元,用于提取所述第一地图集包含的各第一特征描述子,和提取所述第二地图集包含的各第二特征描述子;

矩阵计算单元,用于基于各所述第一特征描述子和各所述第二特征描述子计算得到所述第一地图集和所述第二地图集之间的第一目标旋转矩阵。

进一步地,矩阵计算单元,包括:

点云集构建子单元,用于基于各所述第一特征描述子和各所述第二特征描述子建立第一重叠点云集和第二重叠点云集;

矩阵计算子单元,用于根据所述第一重叠点云集和所述第二重叠点云集计算得到所述第一地图集和所述第二地图集之间的第一目标旋转矩阵。

进一步地,矩阵计算单元,还包括:

特征比对子单元,用于将各所述第一特征描述子与各所述第二特征描述子进行比对以得到多个比对结果;

特征筛选子单元,用于根据多个所述比对结果在各所述第一特征描述子中确定多个第一重叠区域特征描述子,和根据多个所述比对结果在各所述第二特征描述子中确定多个第二重叠区域特征描述子;

点云建立子单元,用于基于多个所述第一重叠区域特征描述子建立第一重叠点云集,和基于多个所述第二重叠区域特征描述子建立第二重叠点云集。

进一步地,数据获取模块10,包括:

划分区域构建单元,用于根据所述实时地图集确定所述虚拟现实头戴设备的初始位姿坐标,并基于所述初始位姿坐标和所述实时地图集生成目标地图集划分区域;

投影识别单元,用于确定所述目标地图集划分区域内包含的多个地图点,并确定多个所述地图点各自在所述目标地图集划分区域的赤道平面上的目标投影;

地图集评价单元,用于根据各所述目标投影确定所述实时地图集对应的地图集评价结果。

进一步地,地图集评价单元,包括:

平面划分子单元,用于获取预设的方位角划分规则,并基于所述方位角划分规则确定所述赤道平面内包含的多个方位角区域;

数量统计子单元,用于根据各所述目标投影确定所述赤道平面包含的投影总数,并基于所述投影数量确定多个所述方位角区域各自对应的目标投影数量;

数量比对子单元,用于将各所述标投影数量分别与预设的投影数量阈值进行比对以得到多个比对结果,并判断多个所述比对结果中是否包含异常比对结果,其中,所述异常比对结果为所述目标投影数量小于所述投影数量阈值;

第一评价子单元,用于若判断到多个所述比对结果中包含所述异常比对结果,则确定所述实时地图集对应的地图集评价结果为实时地图集需要优化;

第二评价子单元,用于若判断到多个所述比对结果中不包含所述异常比对结果,则确定所述实时地图集对应的地图集评价结果为实时地图集不需要优化。

进一步地,数据获取模块10,还包括:

优化筛选单元,用于在所述目标地图集划分区域内确定点位优化区域;

点位优化单元,用于根据所述点位优化区域生成优化提示信息,并输出所述优化提示信息至所述虚拟现实头戴设备,以令所述虚拟现实头戴设备采集所述点位优化区域内的目标地图点;

地图连通单元,用于基于所述目标地图点对所述实时地图集进行优化以得到优化地图集,并确定所述优化地图集与所述虚拟现实头戴设备建立的历史地图集之间的第二目标旋转矩阵;

地图合并单元,用于基于所述第二目标旋转矩阵和所述优化地图集生成第四地图集,并将所述第四地图集和所述历史地图集进行合并以生成第二目标地图集。

此外,本申请还提供一种终端设备,该终端设备上有可在处理器上运行的计算机程序,所述终端设备执行所述计算机程序时实现如以上任一项实施例所述的地图集的合并方法的步骤。

本申请终端设备的具体实施例与上述地图集的合并方法各实施例基本相同,在此不作赘述。

此外,本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上任一项实施例所述地图集的合并方法的步骤。

本发计算机可读存储介质的具体实施例与上述地图集的合并方法各实施例基本相同,在此不作赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 一种面向重定位的稀疏化三维点云地图生成方法
  • 一种点云地图分块方法
  • 一种剔除点云地图中动态物体点云的方法
技术分类

06120116566265