首页> 中国专利> 一种局部SLAM构建方法、全局SLAM构建方法和构建装置

一种局部SLAM构建方法、全局SLAM构建方法和构建装置

摘要

本发明公开了一种局部SLAM构建方法、全局SLAM构建方法和构建装置,本发明实施例将云端地图和实时地图进行比较,通过分类模型,得到当前场景的物体分类;基于物体分类进行预测更新;根据预测更新得到子地图。再将局部SLAM构建方法获得的更新子地图进行融合,获得全局地图。通过将物体进行分类,得到动态物体和静态物体,并将动态物体的运动进行预测,根据预测结果得到子地图,可以实时分辨出动态物体。

著录项

  • 公开/公告号CN114707392A

    专利类型发明专利

  • 公开/公告日2022-07-05

    原文格式PDF

  • 申请/专利权人 北京凌宇智控科技有限公司;

    申请/专利号CN202110432376.X

  • 发明设计人 何风行;张佳宁;张道宁;

    申请日2021-04-21

  • 分类号G06F30/25;G06F30/27;G06F16/29;G06K9/62;G06F111/08;

  • 代理机构北京安信方达知识产权代理有限公司;

  • 代理人陶丽

  • 地址 100029 北京市海淀区宝盛南路1号院20号楼2层

  • 入库时间 2023-06-19 15:52:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-05

    公开

    发明专利申请公布

说明书

技术领域

本文涉及但不限于SLAM构建技术,尤指局部和全局SLAM构建方法、装置和计算机存储介质。

背景技术

目前,同步定位与地图构建(SLAM,Simultaneous Localization And Mapping)是使移动设备在未知的环境中自动创建地图,并根据对自身状态的估计和地图进行自定位的技术。随着近几年机器人、虚拟现实(VR,Virtual Reality)和增强现实(AR,AugmentReality)的快速发展,SLAM技术也越来越受关注。SLAM技术本身还不是很成熟,其存在算法复杂度高、输入的传感器数据融合难度大,系统累积误差难以消除等等技术难点。

特别是在VR领域,当前VR场景的SLAM建图的主要问题是:1)当前VR应用中,用户活动区域范围一般为手动设定,通过画圈的方式确定可活动区域。但是这些方法的活动区域设定是静态的,当环境发生改变或者有其他目标进入活动区域时不能很好适应。2)当前VR各个用户的SLAM建图是孤立的,不能充分利用建图信息,建立有效的多人协作VR场景。

发明内容

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例提供了一种局部SLAM构建方法,包括:在每个周期将云端地图和实时地图输入分类模型,得到当前场景的物体分类;基于物体分类进行预测更新;根据预测更新得到局部子地图。

进一步地,所述在每个周期将云端地图输入分类模型之前,对云端地图进行解析,解析出初始动态物体和初始静态物体。

进一步地,所述在每个周期将云端地图和实时地图输入分类模型,得到当前场景的物体分类,包括:将初始动态物体和初始静态物体的位置,与实时地图中的相应位置的物体进行比较;根据比较结果更新动态物体和静态物体的分类,得到更新动态物体和更新静态物体。

进一步地,所述基于物体分类进行预测更新,包括对更新动态物体进行预测更新。

进一步地,局部SLAM构建方法还包括:根据局部子地图确定更新后的可活动区域。

本发明实施例还提供了一种全局SLAM构建方法,包括:对多个通过上述方法得到的局部子地图进行融合,得到全局地图。

进一步地,所述融合包括:采用第二终端的里程计和测量信息在第一终端的局部子地图上对第二终端进行定位,得到第一终端和第二终端的局部子地图的转移矩阵,根据转移矩阵进行融合,得到全局地图。

进一步地,所述采用第二终端的里程计和测量信息在第一终端的局部子地图上对第二终端进行定位,包括采用增广蒙特卡洛定位方法进行定位。

进一步地,所述转移矩阵通过以下方法获得:比较第二终端重新定位出来的位姿信息和它原来构建子地图时的位姿信息的时间标记和方差,通过ICP算法进行迭代。

还一方面,本发明实施例还提供一种构建装置,包括:

输入模块,用于在每个周期将云端地图和实时地图输入分类模型,得到当前场景的物体分类;

预测模块,用于基于物体分类进行预测更新;

地图生成模块,用于根据预测更新生成局部子地图。

进一步地,构建装置还包括:

融合模块,用于对多个局部子地图进行融合,包括:采用第二终端的里程计和测量信息在第一终端的局部子地图上对第二终端进行定位,得到第一终端和第二终端的局部子地图的转移矩阵,根据转移矩阵进行融合,得到全局地图。

再一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述的局部SLAM构建方法和全局SLAM构建方法。

本发明实施例通过云端地图和实时地图输入到分类模型中,得到当前场景的物体分类,再对物体分类进行预测更新并得到更新的子地图,可以实时分辨出动态物体,从而获得实时的可活动区域。再将局部地图进行融合,获得全局地图,可以为定位及安全提供了重要的基础设施。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例的局部SLAM构建方法的流程图;

图2为本发明实施例的全局SLAM构建方法的流程图;

图3为本发明实施例的构建装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

首先描述本发明实施例所涉及的两种SLAM构建方法均包括终端,终端可以为手机、平板电脑、笔记本电脑、录像机等移动终端设备,也可以是虚拟场景终端设备(如VR眼镜、MR互动设备等)。终端可包括:处理器、存储器、外围系统、定位模块以及通信模块。这些部件可在一个或多个通信总线上通信。

外围系统主要用于实现终端的显示功能以及和用户/外部环境之间的交互功能,例如可包括:显示屏、相机以及传感器模块中的若干个部件。各个控制器可与各自对应的外围设备如显示屏、相机以及传感器等耦合。其中,在一些实施例中,显示屏用于显示图像,该图像可以是二维图像,也可以是三维立体图像,例如在VR中该显示屏为双目立体显示屏;在一些实施例中,相机可以是单目摄像头或双目摄像头或深度摄像头,可以用来获取现实场景的二维图像或者三维图像;在一些实施例中,传感器可包括惯性测量单元IMU,此外还可能包括其他传感器(例如近距感应传感器)。需要说明的,外围系统还可以包括其他I/O外设。

存储器与处理器耦合,用于存储数据(例如图像数据、点云数据、地图数据、关键帧数据、坐标系转换数据等)、各种软件程序和/或多组程序指令。定位模块用于实现对终端的物理定位,通过定位模块可采集终端的运动数据。定位模块例如可包括WIFI定位模块、蓝牙定位模块、基站定位模块、卫星定位模块中的一个或多个。通信模块集成了发射器和接收器,用于接收和发送射频信号,以便于与其他终端建立通信连接,或者终端与云端服务器建立通信连接。

如图1所示,本发明实施例的局部SLAM构建方法,包括如下步骤:

S1、在每个周期将云端地图和实时地图输入分类模型,得到当前场景的物体分类。

在每个周期将云端地图输入分类模型之前,对云端地图进行解析,解析出初始动态物体和初始静态物体。将初始动态物体和初始静态物体的位置,与实时地图中的相应位置的物体进行比较;根据比较结果更新动态物体和静态物体的分类,得到更新动态物体和更新静态物体。

终端上进行SLAM的周期通常是30Hz,在每个周期将云端获取的地图输入分类模型,云端获取的地图为上一个周期的更新子地图。对云端地图进行解析,解析出初始动态物体和初始静态物体。除第一个周期外,初始静态物体和初始动态物体均是通过上一周期的更新子地图得到。在第一个周期直接将实时地图得到的所有物体作为静态物体。将初始动态物体和初始静态物体的位置和实时地图中的相应位置的物体进行比较,具体来说,终端获得实时地图时对应于一个位姿,相应于该位姿信息从云端获取云端地图,由于云端地图和实时地图的位姿相同,所以其物体的位置应该是相对应的,对于初始静态物体的位置上是否还有该静态物体来比较确定该初始静态物体是否是更新静态物体,如该初始静态物体的位置上的物体位置发生了变化,则将其更新为更新动态物体,如该初始静态物体的位置上的物体位置未发生变化,则将其保持为更新静态物体;同理,对于初始动态物体的位置上是否还有该动态物体来比较确定该初始动态物体是否是更新动态物体,如该初始动态物体的位置上的物体位置未发生变化,则将其更新为更新静态物体,如该初始动态物体的位置上的物体位置未发生变化,则将其保持为为更新动态物体。

分类模型可以通过预训练得到,可以使用深度学习方法,比如SegNet网络结构。SegNet核心部分由编码网格(encodernetwork),解码网格(decoder network),以及像素级分类器构成。其中encoder network使用的是VGG16中的前13层卷积网络结构。decodernetwork的作用在于将原图像经由encoder network计算出的feature maps从低分辨率映射到和原图尺寸一致的分辨率,实现逐像素的分类处理,形成像素级的精确的语义分割图像。对场景图像数据路进行预训练,通过二分类网络训练完毕得到场景动态物体识别的分类模型。通过分类模型可以将场景中的所有物体进行类型分类,例如墙壁、椅子、狗、人。类型分类后则可以对物体进行动态和静态的分类。

S2、基于物体分类进行预测更新。

步骤S1中得到更新动态物体和更新静态物体后,对更新动态物体进行预测更新,具体为,根据更新动态物体在上一周期云端地图上的位置,结合在实时地图上的位置,得到其位置的变化参数,该位置变化参数可以为三维方向上的速度、加速度等运动数值,基于这些运动数值进行下一周期该物体的位置预测更新。

S3、根据预测更新得到局部子地图。

根据预测更新得到局部子地图,该局部子地图包括场景、更新静态物体,以及预测更新后的更新动态物体。将获得的局部子地图上传至云端,可以作为下一周期局部SLAM构建的云端地图。对于下一周期来说,更新后的静态物体和更新后的动态物体对应于下一周期云端地图解析出的初始静态物体和初始动态物体。

本发明该实施例的局部SLAM构建方法还包括:

S4、根据局部子地图确定更新后的可活动区域。

对于VR领域,用户带上VR显示器时可能看不到外界的场景,现有技术的做法是在初始画一个可活动区域,只要不超过该区域则是安全的,但是在使用过程中如果有突然闯入的障碍物,例如狗,则该可活动区域不再安全,通过本发明实施例的局部子地图可以实时更新可活动区域。当预测更新的动态物体进行可活动区域时,可以根据在子地图上对该可活动区域进行调整,将更新的动态物体的位置划分为不可活动区域,该调整可以在终端上进行,也可以在终端将子地图上传到云端上时进行。通过实时更新的子地图就可以实时监控可活动区域是否安全,当局部地区不安全时,则将该局部区域从可活动区域中去除,使用户时刻处于安全的使用环境中。

本发明实施例通过云端地图和实时地图输入到分类模型中,得到当前场景的物体分类,再对物体分类进行预测更新并得到更新的子地图,可以实时分辨出动态物体,从而获得实时的可活动区域。

图2为本发明实施例的全局SLAM构建方法的流程图,全局SLAM构建方法将多个通过图1所述方法获得的局部子地图进行融合,得到全局地图,具体如图2所示,包括如下步骤:

S11、采用第二终端的里程计和测量信息在第一终端的局部子地图上对第二终端进行定位。

具体实施方式第一终端可以为手机、平板电脑、笔记本电脑、录像机等移动终端设备,也可以是虚拟场景终端设备(如VR眼镜、MR互动设备等),还可以是机器人。第二终端可以是和第一终端相同类型的终端,也可以是不同类型的终端。

第一终端与第二终端可在真实世界的同一环境中运动,所述环境可以是任意现实环境。第一终端与第二终端分别运行虚拟场景应用(VR或AR或MR应用),且第一终端与第二终端之间可进行通信连接。第一终端和第二终端可通过相机和/或传感器采集环境中任意物体的信息,完成SLAM的图像采集。第一终端和第二终端中还包括IMU等传感器,可用于获得实时姿态数据。

当云端获取到同一时间戳的两张子地图,分别对应于第一终端和第二终端的位姿对应的更新子地图,在云端对这两张子地图进行融合,得到全局地图。采用第二终端的里程计和测量信息在第一终端构建的子地图上用蒙特卡洛定位方法对第二终端进行定位。采用增广蒙特卡洛定位方法,只要有足够的粒子数,就能很好的近似实际中几乎任何的概率分布。设计随机粒子数增加的策略,通过长期和短期观测量的分歧程度来决定,当短期观测和长期观测一致时,没有随机粒子增加,当短期观测和长期观测不一致时,增加粒子数,直到满足

N为动态选择的粒子数,Nb为离散概率分布的箱格数。

S22、得到第一终端和第二终端的局部子地图的转移矩阵。

比较第二终端重新定位出来的位姿信息和它原来构建子地图时的位姿信息的时间标记和方差,可以求得两张地图的转移矩阵。然后通过迭代可以得到更为精确的转移矩阵。

迭代采用ICP算法,ICP是以最小化两个点云之间的距离来匹配两个部分重叠点云的方法。ICP主要分为计算两个点云对应点和求对应点距离最小的转移矩阵两部分。第一终端获得的子地图上的点转移到第二终端子地图坐标系上的点的公式如下:

S33、根据转移矩阵进行融合,得到全局地图。

通过转移矩阵即可将第一终端获得的子地图和第二终端获得的子地图在一个坐标系下进行融合,形成两个终端融合而成的全局子地图。当有多个终端(大于2)时,通过两两终端之间的子地图交集,得到每个终端该时刻在其他终端的子地图中的定位结果,通过转移矩阵进行坐标系转化,从而获得多个终端的全局子地图。

本发明实施例应用增广蒙特卡洛方法求得每个终端该时刻在其他终端的子地图中的定位结果,比较每个终端在多个子地图下的同一时刻的位姿协方差矩阵求得最匹配的位姿。利用最匹配的位姿求子地图之间的转移矩阵,把求得的子地图转移矩阵作为ICP算法的初始转移矩阵做迭代融合,最后得到全局地图。将全局地图存储在云端,在下一周期每个终端进行局部SLAM定位时,作为云端地图被使用。

本发明该实施例的全局SLAM构建方法还包括:

S44、根据全局子地图确定更新可活动区域。

融合后的全景地图包含了各个终端获得的现实环境中的各动态物体和静态物体,通过优化计算子地图之间的转移矩阵,得到全局地图,再根据全局地图更新可活动区域。对于VR领域,用户带上VR显示器时可能看不到外界的场景,当使用步骤S4进行可活动区域的更新时,可能由于局部子地图上不能预测到该子地图外的动态物体的位置。而在建立了全局子地图时,每个终端上局部子地图上预测的动态物体的位置都进行了整合,因此可以在全局环境下根据更新的动态物体的位置来划分可活动区域。全局地图为定位及安全提供了重要的基础设施。

图3为本发明实施例构建装置的结构框图,如图3所示本发明实施例的构建装置包括:

输入模块101,用于在每个周期将云端地图和实时地图输入分类模型,得到当前场景的物体分类;

在每个周期将云端地图输入分类模型之前,对云端地图进行解析,解析出初始动态物体和初始静态物体。将初始动态物体和初始静态物体的位置,与实时地图中的相应位置的物体进行比较;根据比较结果更新动态物体和静态物体的分类,得到更新动态物体和更新静态物体。

预测模块102,用于基于物体分类进行预测更新;

输入模块中得到更新动态物体和更新静态物体后,对更新动态物体进行预测更新,具体为,根据更新动态物体在上一周期云端地图上的位置,结合在实时地图上的位置,得到其位置的变化参数,该位置变化参数可以为三维方向上的速度、加速度等运动数值,基于这些运动数值进行下一周期该物体的位置预测更新。

地图生成模块103,用于根据预测更新生成局部子地图。

根据预测更新得到局部子地图,该局部子地图包括场景、更新静态物体,以及预测更新后的更新动态物体。将获得的局部子地图上传至云端,可以作为下一周期局部SLAM构建的云端地图。

融合模块104,用于对多个局部子地图进行融合,包括:采用第二终端的里程计和测量信息在第一终端的局部子地图上对第二终端进行定位;得到第一终端和第二终端的局部子地图的转移矩阵;根据转移矩阵进行融合,得到全局地图。

本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述图1和图2所示的局部SLAM构建方法和全局SLAM构建方法。

“本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。”

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号