CN114398458A - 增强式slam重定位方法、系统、介质及虚拟设备 - Google Patents
增强式slam重定位方法、系统、介质及虚拟设备 Download PDFInfo
- Publication number
- CN114398458A CN114398458A CN202210022060.8A CN202210022060A CN114398458A CN 114398458 A CN114398458 A CN 114398458A CN 202210022060 A CN202210022060 A CN 202210022060A CN 114398458 A CN114398458 A CN 114398458A
- Authority
- CN
- China
- Prior art keywords
- map
- cloud
- client
- server
- enhanced
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种增强式SLAM重定位方法、系统、介质及虚拟设备,包括:步骤S1:多客户端通过同时定位与地图构建使得每个客户端独立完成定位和环境地图构建,并将地图信息发送至相应的边缘服务器;步骤S2:边缘服务器基于获取的各客户端构建的地图信息构建相应的局部子地图,并将多个局部子地图合并为区域子地图;步骤S3:将区域子地图上传至云端主服务器,云端主服务器将多个区域子地图合并为全局的大规模地图;重复触发步骤S1至步骤S3,不断扩充云端服务端地图信息;步骤S4:根据客户端的需求,云端主服务器向客户端对应的边缘服务器分发地图信息,实现多客户端之间的协作。
Description
技术领域
本发明涉及同时定位与地图构建(SLAM)领域,具体地,涉及增强式SLAM重定位方法、系统、介质及虚拟设备,更为具体地,涉及基于云-边架构的增强式SLAM重定位方法、系统、介质及虚拟设备,可应用于手机、平板等移动客户端,是多人增强现实应用中的核心技术。
背景技术
SLAM最早源于机器人领域,其目标是在一个未知的环境中实时重建环境的三维结构并同时对机器人自身进行定位。其主要思想是:一方面,依靠已创建的地图信息进行自定位;另一方面,根据定位结果对地图进行更新。视觉SLAM技术根据拍摄的视频信息推断出相机在未知环境中的位姿,并同时构建环境地图,其基本原理为多视图几何原理。视觉SLAM的目标为同时恢复出每帧图像对应的相机运动参数,以及场景三维结构。其中每个相机运动参数包含了相机的位置和方向信息,通常表示为一个的旋转矩阵和一个三维平移向量。
随着AR领域的火热发展,作为AR领域核心技术之一的视觉SLAM技术也需要进行改进以满足上层应用新的需求。例如,多人AR游戏这种新的娱乐形式,需要多个用户同时对叠加在真实场景中的虚拟物体进行操作。因此为了满足这种应用的需求,底层的SLAM方法需要将多个客户端对应的多个地图合并为一个共同的地图,并在该地图下同时对每个客户端进行定位。当然,多相机协作亦可用于搜索、救援以及农业等应用,正是这些应用催生了各种协同SLAM方法。
专利文献CN105022401A(申请号:201510392379.X)公开了基于视觉的多四旋翼无人机协同SLAM的方法,该发明公开了一种基于视觉的多四旋翼无人机协同SLAM的方法,该方法针对多架安装有采集图像信息的摄像头和获取无人机的姿态角和加速度信息的惯性导航单元且可相互通信的四旋翼无人机,其中一架为主无人机,其余为辅助无人机。主无人机负责完成SLAM任务,辅助无人机悬停于固定位置对主无人机进行相对位置测量,帮助主无人机进行实时定位修正。该发明主要应用于多四旋翼无人机自主飞行定位,有助于主无人机实时调整位姿估计,提高无人机位姿估计及路标位置估计的准确性;另外,在主无人机产生意外无法完成SLAM的情况下,辅助无人机能迅速替补,继续执行任务,具有良好的机动性。该方法存在以下不足:1、该方法中虽然包含多个无人机,但辅助无人机是为了增强主无人机的定位,其无法同时对每个无人机进行定位,因此无法满足多人AR等特定场景下的需求;2、该方法缺少云端地图功能,无法有效利用之前的地图信息来提升系统的协同效率和鲁棒性。
因此,如何克服现有技术中存在的不足,满足多人AR应用提出的新需求,成为本领域亟待解决的技术问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于云-边架构的增强式SLAM重定位方法及系统。
根据本发明提供的一种基于云-边架构的增强式SLAM重定位方法,包括:
步骤S1:多客户端通过同时定位与地图构建使得每个客户端独立完成定位和环境地图构建,并将地图信息发送至相应的边缘服务器;
步骤S2:边缘服务器基于获取的各客户端构建的地图信息构建相应的局部子地图,并将多个局部子地图合并为区域子地图;
步骤S3:将区域子地图上传至云端主服务器,云端主服务器将多个区域子地图合并为全局的大规模地图;重复触发步骤S1至步骤S3,不断扩充云端服务端地图信息;
步骤S4:根据客户端的需求,云端主服务器向客户端对应的边缘服务器分发地图信息,实现多客户端之间的协作。
优选地,所述步骤S1采用:
步骤S1.1:客户端利用跟踪模块估计相机的帧间运动,并决定是否插入关键帧;当插入关键帧时,则获得新增的关键帧和地图点;
步骤S1.2:客户端利用局部建图模块维护局部地图,并执行局部捆集调整优化局部地图,记录局部地图中所有更改的关键帧和地图点。
优选地,所述步骤S3采用:将区域子地图上传至云端主服务器,云端主服务器的建图模块将新来的关键帧添加到关键帧数据库以及位置识别模块,建立新关键帧、地图点和对应服务器位姿图的连接,并对地图中冗余的关键帧的进行剔除;
位置识别模块利用关键帧数据库对新关键帧进行位置识别查询;
所述位置识别查询包括地图内位置识别和地图匹配;
所述地图内位置识别是检测一个服务器地图内先前访问过的位置,实现回环检测;
所述地图匹配是检测服务器上两两地图之间的重叠,当成功检测到两个地图重叠时,则将当前匹配信息转到地图合并模块,将两个地图合并为一个地图。
优选地,所述步骤S4采用:云端主服务器利用增强式重定位方法通过云-边架构的模式将自身的地图信息分享给客户端。
优选地,所述增强式定位方法采用:将云端主服务器上强相关的局部子地图信息通过通信模块发送至客户端,利用强相关的局部地图扩充客户端地图从而实现各种协作任务;
所述强相关的局部地图是根据不同客户端关键帧的共视权重选择的;当服务器上的两个地图合并之后,来自不同客户端的关键帧能够建立共视关系;
所述通信模块用于客户端与服务端之间的数据交换。
优选地,所述增强式重定位方法采用:
云端主服务器在每次进行保存地图时,利用多线程对地图中所有关键帧提取SIFT特征,并计算出SIFT特征相关的地图点;
客户端里程计经过边缘服务器传来的地图信息的关键帧中包含ORB特征及相关的地图点;
当云端主服务器接收到客户端传来的消息后,对消息中的关键帧提取SIFT特征,并利用ORB和SIFT同时进行重定位。
优选地,ORB和SIFT的重定位方法是两个线程同时进行,当其中一个定位成功,则跳出重定位模块;重定位成功后将得到的位姿周围x米范围内的地图信息发送给相应的边缘服务器,边缘服务器对获取的地图信息进行整合后,发送给对应的客户端。
优选地,云端主服务器在每次进行保存地图时,多线程提取包括颜色特征、纹理特征以及形状特征其中一种或多种,从而使得云端地图中的特征更加丰富,提升云端地图重定位的成功率。
优选地,所述步骤S4采用:
步骤S4.1:根据客户端通过边缘服务器传来消息中的关键帧与云端地图中的所有关键帧通过多线程方式进行匹配以获取重定位候选帧;
步骤S4.2:运用EPNP方法求解出位姿;
步骤S4.3:对求解的位姿进行图优化,优化后如果内点数大于一定的阈值,则判断为重定位成功。
优选地,当云端主服务器在退出时,增加一个保存当前地图的功能,将地图数量,每个地图中的地图点信息,关键帧信息,关键帧之间的连接关系进行二进制方式保存;
当云端主服务器在启动后,增加一个加载云端离线地图的功能,查看是否有云端地图数据,若有,则将云端地图信息依次进行正确加载;当主服务器通过接收边缘服务器传来的地图信息,在当前初始加载的云端地图基础上进行扩充及优化。
根据本发明提供的一种基于云-边架构的增强式SLAM重定位系统,包括:
模块M1:多客户端通过同时定位与地图构建使得每个客户端独立完成定位和环境地图构建,并将地图信息发送至相应的边缘服务器;
模块M2:边缘服务器基于获取的各客户端构建的地图信息构建相应的局部子地图,并将多个局部子地图合并为区域子地图;
模块M3:将区域子地图上传至云端主服务器,云端主服务器将多个区域子地图合并为全局的大规模地图;重复触发模块M1至模块M3,不断扩充云端服务端地图信息;
模块M4:根据客户端的需求,云端主服务器向客户端对应的边缘服务器分发地图信息,实现多客户端之间的协作。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
根据本发明提供的一种基于云-边架构的增强式SLAM重定位的虚拟设备,所述虚拟设备包括所述的存储有计算机程序的计算机可读存储介质;或者,所述虚拟设备包括上述所述的基于云-边架构的增强式SLAM重定位系统。
与现有技术相比,本发明具有如下的有益效果:
1、本发明可用于室内外环境的相机定位,进一步用于多人AR应用中。
2、本发明多客户端协作有望提高定位、建图任务的鲁棒性和效率,在多人增强现实应用中具有巨大潜力;
3、本发明提出了增强式SLAM重定位方法,运用多种类型的特征进行多线程重定位,从而使得特征更加丰富,并且在不影响效率的情况下大大提升了重定位的成功率;
4、本发明利用增强式重定位方法将主服务端的地图信息通过边缘服务器分享给客户端,就能给客户端的跟踪精度和鲁棒性提供有力的支撑,从而为服务端扩充更精确的地图信息;
5、本发明应对城市级场景的AR方案
6、本发明提出一种基于云-边架构的增强式SLAM重定位方法,使得云端主服务器通过加载大规模场景地图后,利用增强式重定位方法将自身的地图信息通过云-边架构的模式分享给客户端,就能给客户端的跟踪精度和鲁棒性提供有力的支撑,在此基础上客户端将更精确的地图信息发送给服务端,从而扩充服务端地图信息,达到相辅相成的效果。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为结合云端地图的SLAM方法流程图。
图2为增强式SLAM多线程重定位方法。
图3为云-边架构模型。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明提出了一种基于云-边架构的增强式SLAM重定位方法,使得云端主服务器通过加载大规模场景地图后,利用增强式重定位方法通过云-边架构的模式将自身的地图信息分享给客户端,就能给客户端的跟踪精度和鲁棒性提供有力的支撑,在此基础上客户端将更精确的地图信息发送给服务端,从而扩充服务端地图信息,提升整个系统的协同效率。该发明可用于室内外环境的相机定位,进一步用于多人AR应用中。
实施例1
根据本发明提供的一种基于云-边架构的增强式SLAM重定位方法,如图1至3所示,包括:
步骤S1:多客户端通过同时定位与地图构建使得每个客户端独立完成定位和环境地图构建,并将地图信息发送至相应的边缘服务器;
步骤S2:边缘服务器基于获取的各客户端构建的地图信息构建相应的局部子地图,并将多个局部子地图合并为区域子地图;
步骤S3:将区域子地图上传至云端主服务器,云端主服务器将多个区域子地图合并为全局的大规模地图;重复触发步骤S1至步骤S3,不断扩充云端服务端地图信息;
步骤S4:根据客户端的需求,云端主服务器向客户端对应的边缘服务器分发地图信息,实现多客户端之间的协作。
使用地图时,云端主服务器上的全局大规模地图被划分为多个区域子地图,并分发给边缘服务器。边缘服务器将区域子地图划分为多个局部子地图。客户端在运行时,会从边缘服务器下载附近的局部子地图以完成各种协作任务。
本发明利用云端主服务器的大规模场景地图通过云-边架构的模式,利用增强式重定位方法为协同SLAM中每个客户端分享地图信息,再利用客户端传来的地图信息扩充其地图,从而提高客户端的跟踪精度和鲁棒性,并提升整个系统的协同效率。
具体地,所述步骤S1采用:客户端视觉里程计包括跟踪模块和局部建图模块;
步骤S1.1:客户端利用跟踪模块估计相机的帧间运动,当很长时间没有插入新关键帧且局部建图模块空闲或者跟踪地图种的地图点比例比较少的时候就决定插入关键帧;当插入关键帧时,则获得新增的关键帧和地图点;
步骤S1.2:客户端利用局部建图模块维护局部地图,为了提升局部地图的精度执行局部捆集调整(Local Bundle Adjustment,LBA)优化局部地图,将局部地图中的关键帧和地图点进行图优化,记录局部地图中所有更改的关键帧和地图点,提升地图精度。
具体地,所述步骤S3采用:将区域子地图上传至云端主服务器,云端主服务器的建图模块将新来的关键帧添加到关键帧数据库以及位置识别模块,建立新关键帧、地图点和对应服务器位姿图的连接,并对地图中冗余的关键帧的进行剔除;
位置识别模块利用关键帧数据库对新关键帧进行位置识别查询;
所述位置识别查询包括地图内位置识别和地图匹配;
所述地图内位置识别是检测一个服务器地图内先前访问过的位置,实现回环检测;成功检测到回环后可以在优化步骤种提高地图的整体精度;
所述地图匹配是检测服务器上两两地图之间的重叠,当成功检测到两个地图重叠时,则将当前匹配信息转到地图合并模块,将两个地图合并为一个地图。成功的地图内位置识别和地图匹配会触发优化模块,它包括两个步骤:位姿图优化和全局捆集调整(GlobalBundle Adjustment,GBA)。
具体地,所述步骤S4采用:云端主服务器利用增强式重定位方法通过云-边架构的模式将自身的地图信息分享给客户端。
具体地,所述增强式定位方法采用:将云端主服务器上强相关的局部子地图信息通过通信模块发送至客户端,利用强相关的局部地图扩充客户端地图从而实现各种协作任务;这些信息可以为客户端上的位姿估计提供有利的支撑和跟踪鲁棒性。
所述强相关的局部地图是根据不同客户端关键帧的共视权重选择的;无论它们来自哪个客户端,当服务器上的两个地图合并之后,来自不同客户端的关键帧能够建立共视关系;因此,某个客户端可能接受到其他客户端的关键帧,从而实现不同客户端协作的目的;
客户端和服务端(边缘服务端与云端主服务端)都含有通信模块,所述通信模块用于客户端与服务端之间的数据交换;
所述客户端通信模块会记录局部地图种的所有更改,即新增或更改的关键帧和地图点,并将这些信息转换为消息发送到边缘服务器。
具体地,所述增强式重定位方法采用:
云端主服务器在每次进行保存地图时,利用多线程对地图中所有关键帧提取SIFT特征,并计算出SIFT特征相关的地图点(已具备SIFT特征的关键帧就不再进行此操作);
客户端里程计经过边缘服务器传来的地图信息的关键帧中包含ORB特征及相关的地图点,而SIFT特征具有更好的稳定性和不变性,能够适应旋转、尺度缩放、亮度的变化,能在一定程度上不受视角变化、仿射变换、噪声的干扰;
当云端主服务器接收到客户端传来的消息后,对消息中的关键帧提取SIFT特征,并利用ORB和SIFT同时进行重定位,从而在不影响效率的情况下,提高重定位的成功率。
具体地,ORB和SIFT的重定位方法是两个线程同时进行,当其中一个定位成功,则跳出重定位模块;重定位成功后将得到的位姿周围x米范围内的地图信息发送给相应的边缘服务器,边缘服务器对获取的地图信息进行整合后,发送给对应的客户端;从而为客户端的位姿估计提供有力的支撑。特别是当客户端在跟踪丢失的情况下,通过该方法可提高客户端跟踪鲁棒性。
具体地,所述步骤S4采用:
步骤S4.1:根据客户端通过边缘服务器传来消息中的关键帧与云端地图中的所有关键帧通过多线程方式进行匹配以获取重定位候选帧;匹配方法可使用SIFT训练的词袋模型或者K-d tree进行匹配;
步骤S4.2:运用EPNP方法求解出位姿;
步骤S4.3:对求解的位姿进行图优化,优化后如果内点数大于一定的阈值,则判断为重定位成功。
具体地,当云端主服务器在退出时,增加一个保存当前地图的功能,将地图数量,每个地图中的地图点信息,关键帧信息,关键帧之间的连接关系进行二进制方式保存;
所述地图点信息包括地图点的数量,每个地图点的ID及其世界坐标位置;
所述关键帧信息包括关键帧的数量,每个关键帧的ID,时间戳,相机参数,位姿,及其包含的特征点信息;所述特征点信息包括其像素坐标位置,角度,深度值,特征描述子,以及对应的地图点序号;
所述关键帧之间的连接关系包括其父关键帧ID和与其具有共视关系的所有关键帧ID;
当云端主服务器在启动后,增加一个加载云端离线地图的功能,查看是否有云端地图数据,若有,则将云端地图信息依次进行正确加载;这样主服务器在初始状态时就拥有了场景种的地图信息,当主服务器通过接收边缘服务器传来的地图信息,能够更高效的进行地图匹配和融合,从而将其丰富的地图信息通过边缘服务器分享给客户端,为客户端的位姿估计和跟踪鲁棒性提供有力的支撑,并有效的提高整个系统的协同性。而且主服务器通过接收边缘服务器传来的地图信息,可以在其初始加载的云端地图基础上进行扩充及优化,更加增强其对场景的认知能力,保存更新的地图信息更加精确丰富。
本发明中提出的基于云-边架构的增强式SLAM重定位方法中运用了SIFT特征进行多线程重定位,需要注意的是,该方法同样适用于其他特征,也就是说可以扩展其他类型的特征,例如颜色特征,纹理特征,形状特征等等,从而使得云端地图中的特征更加丰富,提升云端地图重定位的成功率。此外,基于云端主服务器优越的性能,该方法可以实现多客户端并发重定位的需求。
本发明中提出的基于云-边架构的增强式SLAM重定位方法中运用了SIFT特征进行多线程重定位,需要注意的是,该方法同样适用于其他特征,也就是说可以扩展其他类型的特征,例如颜色特征,纹理特征,形状特征等等,从而使得云端地图中的特征更加丰富,提升云端地图重定位的成功率。此外,基于云端主服务器优越的性能,该方法可以实现多客户端并发重定位的需求。
利用多种特征做重定位时,需要选取表现优秀的特征,例如:针对应用场景选取相应的特征,例如在空旷的办公室里,点特征较稀疏,这时就可以选取线特征和面特征作为定位的重点特征;针对实际应用中的匹配质量选取相应的特征,例如实际运动中旋转比较多,就可以选取对旋转保持不变性的特征;针对图像的特性选取相应的特征,例如运动中图像的亮度变化较大,就可以选取对亮度变化保持不变性的特征。
根据本发明提供的一种基于云-边架构的增强式SLAM重定位系统,包括:
模块M1:多客户端通过同时定位与地图构建使得每个客户端独立完成定位和环境地图构建,并将地图信息发送至相应的边缘服务器;
模块M2:边缘服务器基于获取的各客户端构建的地图信息构建相应的局部子地图,并将多个局部子地图合并为区域子地图;
模块M3:将区域子地图上传至云端主服务器,云端主服务器将多个区域子地图合并为全局的大规模地图;重复触发模块M1至模块M3,不断扩充云端服务端地图信息;
模块M4:根据客户端的需求,云端主服务器向客户端对应的边缘服务器分发地图信息,实现多客户端之间的协作。
使用地图时,云端主服务器上的全局大规模地图被划分为多个区域子地图,并分发给边缘服务器。边缘服务器将区域子地图划分为多个局部子地图。客户端在运行时,会从边缘服务器下载附近的局部子地图以完成各种协作任务。
本发明利用云端主服务器的大规模场景地图通过云-边架构的模式,利用增强式重定位方法为协同SLAM中每个客户端分享地图信息,再利用客户端传来的地图信息扩充其地图,从而提高客户端的跟踪精度和鲁棒性,并提升整个系统的协同效率。
具体地,所述模块M1采用:客户端视觉里程计包括跟踪模块和局部建图模块;
模块M1.1:客户端利用跟踪模块估计相机的帧间运动,当很长时间没有插入新关键帧且局部建图模块空闲或者跟踪地图种的地图点比例比较少的时候就决定插入关键帧;当插入关键帧时,则获得新增的关键帧和地图点;
模块M1.2:客户端利用局部建图模块维护局部地图,为了提升局部地图的精度执行局部捆集调整(Local Bundle Adjustment,LBA)优化局部地图,将局部地图中的关键帧和地图点进行图优化,记录局部地图中所有更改的关键帧和地图点,提升地图精度。
具体地,所述模块M3采用:将区域子地图上传至云端主服务器,云端主服务器的建图模块将新来的关键帧添加到关键帧数据库以及位置识别模块,建立新关键帧、地图点和对应服务器位姿图的连接,并对地图中冗余的关键帧的进行剔除;
位置识别模块利用关键帧数据库对新关键帧进行位置识别查询;
所述位置识别查询包括地图内位置识别和地图匹配;
所述地图内位置识别是检测一个服务器地图内先前访问过的位置,实现回环检测;成功检测到回环后可以在优化步骤种提高地图的整体精度;
所述地图匹配是检测服务器上两两地图之间的重叠,当成功检测到两个地图重叠时,则将当前匹配信息转到地图合并模块,将两个地图合并为一个地图。成功的地图内位置识别和地图匹配会触发优化模块,它包括两个步骤:位姿图优化和全局捆集调整(GlobalBundle Adjustment,GBA)。
具体地,所述模块M4采用:云端主服务器利用增强式重定位方法通过云-边架构的模式将自身的地图信息分享给客户端。
具体地,所述增强式定位方法采用:将云端主服务器上强相关的局部子地图信息通过通信模块发送至客户端,利用强相关的局部地图扩充客户端地图从而实现各种协作任务;这些信息可以为客户端上的位姿估计提供有利的支撑和跟踪鲁棒性。
所述强相关的局部地图是根据不同客户端关键帧的共视权重选择的;无论它们来自哪个客户端,当服务器上的两个地图合并之后,来自不同客户端的关键帧能够建立共视关系;因此,某个客户端可能接受到其他客户端的关键帧,从而实现不同客户端协作的目的;
客户端和服务端(边缘服务端与云端主服务端)都含有通信模块,所述通信模块用于客户端与服务端之间的数据交换;
所述客户端通信模块会记录局部地图种的所有更改,即新增或更改的关键帧和地图点,并将这些信息转换为消息发送到边缘服务器。
具体地,所述增强式重定位方法采用:
云端主服务器在每次进行保存地图时,利用多线程对地图中所有关键帧提取SIFT特征,并计算出SIFT特征相关的地图点(已具备SIFT特征的关键帧就不再进行此操作);
客户端里程计经过边缘服务器传来的地图信息的关键帧中包含ORB特征及相关的地图点,而SIFT特征具有更好的稳定性和不变性,能够适应旋转、尺度缩放、亮度的变化,能在一定程度上不受视角变化、仿射变换、噪声的干扰;
当云端主服务器接收到客户端传来的消息后,对消息中的关键帧提取SIFT特征,并利用ORB和SIFT同时进行重定位,从而在不影响效率的情况下,提高重定位的成功率。
具体地,ORB和SIFT的重定位方法是两个线程同时进行,当其中一个定位成功,则跳出重定位模块;重定位成功后将得到的位姿周围x米范围内的地图信息发送给相应的边缘服务器,边缘服务器对获取的地图信息进行整合后,发送给对应的客户端;从而为客户端的位姿估计提供有力的支撑。特别是当客户端在跟踪丢失的情况下,通过该方法可提高客户端跟踪鲁棒性。
具体地,所述模块M4采用:
模块M4.1:根据客户端通过边缘服务器传来消息中的关键帧与云端地图中的所有关键帧通过多线程方式进行匹配以获取重定位候选帧;匹配方法可使用SIFT训练的词袋模型或者K-d tree进行匹配;
模块M4.2:运用EPNP方法求解出位姿;
模块M4.3:对求解的位姿进行图优化,优化后如果内点数大于一定的阈值,则判断为重定位成功。
具体地,当云端主服务器在退出时,增加一个保存当前地图的功能,将地图数量,每个地图中的地图点信息,关键帧信息,关键帧之间的连接关系进行二进制方式保存;
所述地图点信息包括地图点的数量,每个地图点的ID及其世界坐标位置;
所述关键帧信息包括关键帧的数量,每个关键帧的ID,时间戳,相机参数,位姿,及其包含的特征点信息;所述特征点信息包括其像素坐标位置,角度,深度值,特征描述子,以及对应的地图点序号;
所述关键帧之间的连接关系包括其父关键帧ID和与其具有共视关系的所有关键帧ID;
当云端主服务器在启动后,增加一个加载云端离线地图的功能,查看是否有云端地图数据,若有,则将云端地图信息依次进行正确加载;这样主服务器在初始状态时就拥有了场景种的地图信息,当主服务器通过接收边缘服务器传来的地图信息,能够更高效的进行地图匹配和融合,从而将其丰富的地图信息通过边缘服务器分享给客户端,为客户端的位姿估计和跟踪鲁棒性提供有力的支撑,并有效的提高整个系统的协同性。而且主服务器通过接收边缘服务器传来的地图信息,可以在其初始加载的云端地图基础上进行扩充及优化,更加增强其对场景的认知能力,保存更新的地图信息更加精确丰富。
本发明中提出的基于云-边架构的增强式SLAM重定位方法中运用了SIFT特征进行多线程重定位,需要注意的是,该方法同样适用于其他特征,也就是说可以扩展其他类型的特征,例如颜色特征,纹理特征,形状特征等等,从而使得云端地图中的特征更加丰富,提升云端地图重定位的成功率。此外,基于云端主服务器优越的性能,该方法可以实现多客户端并发重定位的需求。
利用多种特征做重定位时,需要选取表现优秀的特征,例如:针对应用场景选取相应的特征,例如在空旷的办公室里,点特征较稀疏,这时就可以选取线特征和面特征作为定位的重点特征;针对实际应用中的匹配质量选取相应的特征,例如实际运动中旋转比较多,就可以选取对旋转保持不变性的特征;针对图像的特性选取相应的特征,例如运动中图像的亮度变化较大,就可以选取对亮度变化保持不变性的特征。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
根据本发明提供的一种基于云-边架构的增强式SLAM重定位的虚拟设备,所述虚拟设备包括VR、AR或者MR虚拟设备;所述虚拟设备包括上述所述的存储有计算机程序的计算机可读存储介质;或者,所述虚拟设备包括上述所述的基于云-边架构的增强式SLAM重定位系统。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种基于云-边架构的增强式SLAM重定位方法,其特征在于,包括:
步骤S1:多客户端通过同时定位与地图构建使得每个客户端独立完成定位和环境地图构建,并将地图信息发送至相应的边缘服务器;
步骤S2:边缘服务器基于获取的各客户端构建的地图信息构建相应的局部子地图,并将多个局部子地图合并为区域子地图;
步骤S3:将区域子地图上传至云端主服务器,云端主服务器将多个区域子地图合并为全局的大规模地图;重复触发步骤S1至步骤S3,不断扩充云端服务端地图信息;
步骤S4:根据客户端的需求,云端主服务器向客户端对应的边缘服务器分发地图信息,实现多客户端之间的协作。
2.根据权利要求1所述的基于云-边架构的增强式SLAM重定位方法,其特征在于,所述步骤S1采用:
步骤S1.1:客户端利用跟踪模块估计相机的帧间运动,并决定是否插入关键帧;当插入关键帧时,则获得新增的关键帧和地图点;
步骤S1.2:客户端利用局部建图模块维护局部地图,并执行局部捆集调整优化局部地图,记录局部地图中所有更改的关键帧和地图点。
3.根据权利要求1所述的基于云-边架构的增强式SLAM重定位方法,其特征在于,所述步骤S3采用:将区域子地图上传至云端主服务器,云端主服务器的建图模块将新来的关键帧添加到关键帧数据库以及位置识别模块,建立新关键帧、地图点和对应服务器位姿图的连接,并对地图中冗余的关键帧的进行剔除;
位置识别模块利用关键帧数据库对新关键帧进行位置识别查询;
所述位置识别查询包括地图内位置识别和地图匹配;
所述地图内位置识别是检测一个服务器地图内先前访问过的位置,实现回环检测;
所述地图匹配是检测服务器上两两地图之间的重叠,当成功检测到两个地图重叠时,则将当前匹配信息转到地图合并模块,将两个地图合并为一个地图。
4.根据权利要求1所述的基于云-边架构的增强式SLAM重定位方法,其特征在于,所述步骤S4采用:云端主服务器利用增强式重定位方法通过云-边架构的模式将自身的地图信息分享给客户端;
所述增强式重定位方法采用:将云端主服务器上强相关的局部子地图信息通过通信模块发送至客户端,利用强相关的局部子地图扩充客户端地图从而实现各种协作任务;
所述强相关的局部地图是根据不同客户端关键帧的共视权重选择的;当服务器上的两个地图合并之后,来自不同客户端的关键帧能够建立共视关系;
所述通信模块用于客户端与服务端之间的数据交换;
所述增强式重定位方法采用:
云端主服务器在每次进行保存地图时,利用多线程对地图中所有关键帧提取SIFT特征,并计算出SIFT特征相关的地图点;
客户端里程计经过边缘服务器传来的地图信息的关键帧中包含ORB特征及相关的地图点;
当云端主服务器接收到客户端传来的消息后,对消息中的关键帧提取SIFT特征,并利用ORB和SIFT同时进行重定位;
ORB和SIFT的重定位方法是两个线程同时进行,当其中一个定位成功,则跳出重定位模块;重定位成功后将得到的位姿周围x米范围内的地图信息发送给相应的边缘服务器,边缘服务器对获取的地图信息进行整合后,发送给对应的客户端。
5.根据权利要求4所述的基于云-边架构的增强式SLAM重定位方法,其特征在于,云端主服务器在每次进行保存地图时,多线程提取包括颜色特征、纹理特征以及形状特征其中一种或多种,从而使得云端地图中的特征更加丰富,提升云端地图重定位的成功率。
6.根据权利要求5所述的基于云-边架构的增强式SLAM重定位方法,其特征在于,所述步骤S4采用:
步骤S4.1:根据客户端通过边缘服务器传来消息中的关键帧与云端地图中的所有关键帧通过多线程方式进行匹配以获取重定位候选帧;
步骤S4.2:运用EPNP方法求解出位姿;
步骤S4.3:对求解的位姿进行图优化,优化后如果内点数大于一定的阈值,则判断为重定位成功。
7.根据权利要求1所述的基于云-边架构的增强式SLAM重定位方法,其特征在于,
当云端主服务器在退出时,增加一个保存当前地图的功能,将地图数量,每个地图中的地图点信息,关键帧信息,关键帧之间的连接关系进行二进制方式保存;
当云端主服务器在启动后,增加一个加载云端离线地图的功能,查看是否有云端地图数据,若有,则将云端地图信息依次进行正确加载;当主服务器通过接收边缘服务器传来的地图信息,在当前初始加载的云端地图基础上进行扩充及优化。
8.一种基于云-边架构的增强式SLAM重定位系统,其特征在于,包括:
模块M1:多客户端通过同时定位与地图构建使得每个客户端独立完成定位和环境地图构建,并将地图信息发送至相应的边缘服务器;
模块M2:边缘服务器基于获取的各客户端构建的地图信息构建相应的局部子地图,并将多个局部子地图合并为区域子地图;
模块M3:将区域子地图上传至云端主服务器,云端主服务器将多个区域子地图合并为全局的大规模地图;重复触发模块M1至模块M3,不断扩充云端服务端地图信息;
模块M4:根据客户端的需求,云端主服务器向客户端对应的边缘服务器分发地图信息,实现多客户端之间的协作。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种基于云-边架构的增强式SLAM重定位的虚拟设备,其特征在于,所述虚拟设备包括权利要求9所述的存储有计算机程序的计算机可读存储介质;或者,所述虚拟设备包括权利要求8所述的基于云-边架构的增强式SLAM重定位系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210022060.8A CN114398458A (zh) | 2022-01-10 | 2022-01-10 | 增强式slam重定位方法、系统、介质及虚拟设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210022060.8A CN114398458A (zh) | 2022-01-10 | 2022-01-10 | 增强式slam重定位方法、系统、介质及虚拟设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114398458A true CN114398458A (zh) | 2022-04-26 |
Family
ID=81231048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210022060.8A Pending CN114398458A (zh) | 2022-01-10 | 2022-01-10 | 增强式slam重定位方法、系统、介质及虚拟设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114398458A (zh) |
-
2022
- 2022-01-10 CN CN202210022060.8A patent/CN114398458A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107990899B (zh) | 一种基于slam的定位方法和系统 | |
CN111968129B (zh) | 具有语义感知的即时定位与地图构建系统及方法 | |
CN107742311B (zh) | 一种视觉定位的方法及装置 | |
CN107818592B (zh) | 协作式同步定位与地图构建的方法、系统及交互系统 | |
US11313684B2 (en) | Collaborative navigation and mapping | |
CN107025662B (zh) | 一种实现增强现实的方法、服务器、终端及系统 | |
CN111445526B (zh) | 一种图像帧之间位姿的估计方法、估计装置和存储介质 | |
Chen et al. | Rise of the indoor crowd: Reconstruction of building interior view via mobile crowdsourcing | |
CN109186606B (zh) | 一种基于slam和图像信息的机器人构图及导航方法 | |
CN109298629B (zh) | 在未绘制地图区域中引导移动平台的系统及方法 | |
EP3786900A2 (en) | Markerless multi-user multi-object augmented reality on mobile devices | |
CN111586360A (zh) | 一种无人机投影方法、装置、设备及存储介质 | |
CN110135455A (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
CN102663722A (zh) | 使用深度图像的活动对象分割 | |
CN111652934A (zh) | 定位方法及地图构建方法、装置、设备、存储介质 | |
US10347001B2 (en) | Localizing and mapping platform | |
JP6609640B2 (ja) | 電子デバイス上における環境マッピング用のフィーチャ・データの管理 | |
EP3274964B1 (en) | Automatic connection of images using visual features | |
CN109074757B (zh) | 一种建立地图的方法、终端和计算机可读存储介质 | |
CN110132242B (zh) | 多摄像机即时定位与地图构建的三角化方法及其运动体 | |
CN110749308B (zh) | 使用消费级gps和2.5d建筑物模型的面向slam的室外定位方法 | |
CN111369628A (zh) | 一种多相机集中式协同slam方法及系统 | |
CN109903330A (zh) | 一种处理数据的方法和装置 | |
CN111239763A (zh) | 对象的定位方法、装置、存储介质和处理器 | |
EP2828620B1 (en) | Generating navigation data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |