CN112734850A - 一种协同slam方法、装置、计算机设备及存储介质 - Google Patents
一种协同slam方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112734850A CN112734850A CN202110093504.2A CN202110093504A CN112734850A CN 112734850 A CN112734850 A CN 112734850A CN 202110093504 A CN202110093504 A CN 202110093504A CN 112734850 A CN112734850 A CN 112734850A
- Authority
- CN
- China
- Prior art keywords
- map
- client
- server
- key frame
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000000007 visual effect Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 abstract description 9
- 238000013507 mapping Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004807 localization Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 241000274965 Cyrestis thyodamas Species 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种协同SLAM方法、装置、计算机设备及存储介质,响应服务端启动操作,加载至少一个离线地图;接收客户端发送的局部地图更新信息和最接近客户端当前位置的参考关键帧;根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图;对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;从进行地图匹配、地图合并后的服务端地图中确定与参考关键帧具有最强共视关系的共视关键帧返回给客户端,以便于客户端基于共视关键帧进行位姿估计。本申请提出的依赖于离线地图进行协同SLAM的方法,可以提高即时定位与建图鲁棒性。
Description
技术领域
本发明涉及即时定位与地图构建技术领域,更具体地说,涉及一种协同SLAM方法、装置、计算机设备及存储介质。
背景技术
SLAM(simultaneous localization and mapping),也称为CML(ConcurrentMapping and Localization),即时定位与地图构建,或并发建图与定位。SLAM最早源于机器人领域,其目标是在一个未知的环境中实时重建环境的三维结构并同时对机器人自身进行定位。其主要思想是:一方面,依靠已创建的地图信息进行自定位;另一方面,根据定位结果对地图进行更新。
多相机协作可用于搜索、救援、农业、AR等应用,正是这些应用催生了依赖于多相机的协同SLAM方法。例如,多人AR游戏这种新的娱乐形式,需要多个用户同时对叠加在真实场景中的虚拟物体进行操作,因此为了满足这种应用的需求,协同SLAM技术需要将多个客户端对应的多个地图合并为一个共同的地图,并在该地图下同时对每个客户端进行定位。
现有的协同SLAM技术虽然能实现多相机协同定位与建图,但却往往存在即时定位与建图鲁棒性不高的问题。尤其是每次启动协同SLAM技术的一段时间内,客户端需要从启动SLAM技术开始重新创建地图,这时客户端仅能依赖从此次开始启动SLAM技术开始客户端自身相机所确定的关键帧进行即时定位与地图构建,无法实现多客户端相机的协同定位与建图,即时定位与建图鲁棒性不高。
发明内容
有鉴于此,为解决上述问题,本发明提供一种协同SLAM方法、装置、计算机设备及存储介质,以提高即时定位与建图鲁棒性,技术方案如下:
一种协同SLAM方法,包括:
响应服务端启动操作,加载至少一个离线地图;所述至少一个离线地图为所述服务端历史最近一次退出时所述服务端中的服务端地图;
接收客户端发送的局部地图更新信息和最接近所述客户端当前位置的参考关键帧;
根据所述客户端发送的局部地图更新信息建立、更新所述客户端的服务端地图;
对所述客户端的服务端地图进行地图内位置识别,以及对所述至少一个离线地图和所述客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;
从进行地图匹配、地图合并后的服务端地图中确定与所述参考关键帧具有最强共视关系的共视关键帧返回给所述客户端,以便于所述客户端基于所述共视关键帧进行位姿估计。
优选的,客户端发送局部地图更新信息和最接近所述客户端当前位置的参考关键帧的过程,包括:
客户端的相机将拍摄的图像序列传输至所述客户端的视觉里程计;
所述视觉里程计根据所述图像序列估计每帧图像的相机位姿,并建立、更新局部地图;
所述客户端的通信模块将局部地图更新信息和参考关键帧发送至服务端,所述局部地图更新信息包括新增、更改的关键帧和地图点。
优选的,所述视觉里程计根据所述图像序列估计每帧图像的相机位姿,并建立、更新局部地图,包括:
在所视觉里程计根据所述图像序列估计每帧图像的相机位姿时,若某一帧图像跟踪丢失,则通过重定位恢复正常的跟踪流程。
优选的,所述根据所述客户端发送的局部地图更新信息建立、更新所述客户端的服务端地图,包括:
建立局部地图更新信息和对应服务端位姿图的连接,并剔除所述客户端的服务端地图中的冗余关键帧。
优选的,所述对所述客户端的服务端地图进行地图内位置识别,以及对所述至少一个离线地图和所述客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并,包括:
对所述客户端的服务端地图进行回环检测;
判断所述至少一个离线地图和所述客户端的服务端地图中是否包括存在重叠部分的两个地图;
若所述至少一个离线地图和所述客户端的服务端地图中包括存在重叠部分的两个地图,将所述两个地图合并成一个地图。
优选的,还包括:
对所述服务端位姿图进行优化和全局捆集调整。
优选的,所述离线地图包括地图点信息、关键帧信息、特征点信息,以及,关键帧之间的连接关系信息。
一种协同SLAM装置,包括:
离线地图加载单元,用于响应服务端启动操作,加载至少一个离线地图;所述至少一个离线地图为所述服务端历史最近一次退出时所述服务端中的服务端地图;
信息接收单元,用于接收客户端发送的局部地图更新信息和最接近所述客户端当前位置的参考关键帧;
信息更新单元,用于根据所述客户端发送的局部地图更新信息建立、更新所述客户端的服务端地图;
地图匹配合并单元,用于对所述客户端的服务端地图进行地图内位置识别,以及对所述至少一个离线地图和所述客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;
信息返回单元,用于从进行地图匹配、地图合并后的服务端地图中确定与所述参考关键帧具有最强共视关系的共视关键帧返回给所述客户端,以便于所述客户端基于所述共视关键帧进行位姿估计。
一种计算机设备,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现所述协同SLAM方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现所述协同SLAM方法的各步骤。
本申请提供一种协同SLAM方法、装置、计算机设备及存储介质,响应服务端启动操作,加载至少一个离线地图;至少一个离线地图为服务端历史最近一次退出时服务端中的服务端地图;接收客户端发送的局部地图更新信息和最接近客户端当前位置的参考关键帧;根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图;对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;从进行地图匹配、地图合并后的服务端地图中确定与参考关键帧具有最强共视关系的共视关键帧返回给客户端,以便于客户端基于共视关键帧进行位姿估计。本申请提出的依赖于离线地图进行协同SLAM的方法,可以提高即时定位与建图鲁棒性。尤其是客户端刚开始启动协同SLAM技术,便可在客户端从启动协同SLAM技术开始所确定的关键帧的基础上结合离线地图一起进行多客户端相机的协同定位与建图,由此,有效提高了即时定位与建图的鲁棒性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种协同SLAM方法流程图;
图2为本申请实施例提供的一种协同SLAM方法示意图;
图3为本申请实施例提供的一种协同SLAM装置的结构示意图;
图4为本申请实施例提供的一种协同SLAM方法所适用于的计算机设备的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的一种SALM方法属于同时定位与地图构建(SLAM)领域,可应用于手机、平板等移动客户端,是多人增强现实应用中的核心技术。
SLAM最早源于机器人领域,其目标是在一个未知的环境中实时重建环境的三维结构并同时对机器人自身进行定位。其主要思想是:一方面,依靠已创建的地图信息进行自定位;另一方面,根据定位结果对地图进行更新。视觉SLAM技术根据拍摄的视频信息推断出相机在未知环境中的位姿,并同时构建环境地图,其基本原理为多视图几何原理。视觉SLAM的目标为同时恢复出每帧图像对应的相机运动参数C1...Cm,以及场景三维结构X1...Xn。其中每个相机运动参数Ci包含了相机的位置和方向信息,通常表示为一个3×3的旋转矩阵Ri和一个三维平移向量Pi。
随着AR领域的火热发展,作为AR领域核心技术之一的视觉SLAM技术也需要进行改进以满足上层应用新的需求。例如,多人AR游戏这种新的娱乐形式,需要多个用户同时对叠加在真实场景中的虚拟物体进行操作。因此为了满足这种应用的需求,底层的SLAM方法需要将多个客户端对应的多个地图合并为一个共同的地图,并在该地图下同时对每个客户端进行定位。当然,多相机协作亦可用于搜索、救援以及农业等应用,正是这些应用催生了各种协同SLAM方法。
中国专利申请CN105022401A公开了“基于视觉的多四旋翼无人机协同SLAM的方法”,该发明公开了一种基于视觉的多四旋翼无人机协同SLAM的方法,该方法针对多架安装有采集图像信息的摄像头和获取无人机的姿态角和加速度信息的惯性导航单元且可相互通信的四旋翼无人机,其中一架为主无人机,其余为辅助无人机。主无人机负责完成SLAM任务,辅助无人机悬停于固定位置对主无人机进行相对位置测量,帮助主无人机进行实时定位修正。该发明主要应用于多四旋翼无人机自主飞行定位,有助于主无人机实时调整位姿估计,提高无人机位姿估计及路标位置估计的准确性;另外,在主无人机产生意外无法完成SLAM的情况下,辅助无人机能迅速替补,继续执行任务,具有良好的机动性。该方法存在以下不足:1、该方法中虽然包含多个无人机,但辅助无人机是为了增强主无人机的定位,其无法同时对每个无人机进行定位,因此无法满足多人AR等特定场景下的需求;2、该方法缺少离线地图功能,无法有效利用之前的地图信息来提升系统的协同效率和鲁棒性。
因此,如何克服现有技术中存在的不足,满足多人AR应用提出的新需求,成为本领域亟待解决的技术问题。
本申请提供的一种协同SLAM方法旨在于集中式协同SLAM方法基础上新增离线地图模块,使得服务端具备保存当前地图和加载离线地图的功能,当服务端通过加载离线地图后将自身的地图信息分享给客户端时,就能给客户端的跟踪精度和鲁棒性提供有力的支撑,在此基础上客户端将更精确的地图信息发送给服务端,从而扩充服务端地图信息,达到相辅相成的效果,提升整个系统的协同效率。该本申请实施例提供的一种协同SLAM方法可用于室内外环境的相机定位,进一步用于多人AR应用中。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本申请实施例提供的一种协同SLAM方法应用于协同SLAM系统,协同SLAM系统由服务端和安装有客户端的终端构成,该协同SLAM方法利用服务端加载离线地图的方式为协同SLAM中每个客户端分享地图信息,再利用客户端传来的地图信息扩充其地图,从而提高客户端的跟踪精度和鲁棒性,并提升整个系统的协同效率。
图1为本申请实施例提供的一种协同SLAM方法流程图。
如图1所示,该方法包括:
S101、响应服务端启动操作,加载至少一个离线地图;至少一个离线地图为服务端历史最近一次退出时服务端中的服务端地图;
本申请实施例,每当服务端启动后,服务端均会加载至少一个离线地图,该至少一个离线地图为服务端历史最近一次推出时该服务端中的服务端地图。
示例性的,离线地图包括地图点信息、关键帧信息、特征点信息,以及,关键帧之间的连接关系信息。以上仅仅是本申请实施例提供的离线地图中的优选内容,有关离线地图中的具体内容本领域技术人员可根据自己的需求进行设置,在此不做限定。
S102、接收客户端发送的局部地图更新信息和最接近客户端当前位置的参考关键帧;
本申请实施例,系统中存在一个或多个终端,针对每个终端上的客户端而言,该客户端的相机可以将拍摄的图像序列传输至该客户端的视觉里程计;该视觉里程计可以根据图像序列估计每帧图像的相机位姿,并建立、更新局部地图;相应的,该客户端的通信模块可以将局部地图更新信息和参考关键帧发送至服务端,局部地图更新信息包括新增、更改的关键帧和地图点。
示例性的,视觉里程计根据图像序列估计每帧图像的相机位姿,并建立、更新局部地图,包括:在所视觉里程计根据图像序列估计每帧图像的相机位姿时,若某一帧图像跟踪丢失,则通过重定位恢复正常的跟踪流程。
本申请实施例,视觉里程计根据图像序列估计每帧图像的相机位姿,并建立、更新局部地图的方式可以为:在所视觉里程计根据图像序列估计每帧图像的相机位姿时,若某一帧图像跟踪丢失,则通过重定位恢复正常的跟踪流程。
S103、根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图;
本申请实施例,服务端每当接收到客户端发送的局部地图更新信息后,便可根据客户端发送的局部地图更新信息,建立、更新该客户端的服务端地图。
以一个客户端为例,服务端每当接收到该客户端发送的局部地图更新信息后,便可根据该客户端发送的局部地图更新信息,建立、更新该客户端的服务端地图。
根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图,包括:建立局部地图更新信息和对应服务端位姿图的连接,并剔除客户端的服务端地图中的冗余关键帧。
示例性的,以一个客户端为例,服务端根据该客户端发送的局部地图更新信息建立、更新该客户端的服务端地图的方式可以为:建立该客户端的局部地图更新信息和对应服务端位姿图的连接,并剔除该客户端的服务端地图中的冗余关键帧。
进一步的,本申请实施例提供的一种协同SLAM方法还可以对服务端位姿图进行优化和全局捆集调整。
S104、对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;
本申请实施例,对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并的方式可以为:对客户端的服务端地图进行回环检测;判断至少一个离线地图和客户端的服务端地图中是否包括存在重叠部分的两个地图;若至少一个离线地图和客户端的服务端地图中包括存在重叠部分的两个地图,将两个地图合并成一个地图。
S105、从进行地图匹配、地图合并后的服务端地图中确定与参考关键帧具有最强共视关系的共视关键帧返回给客户端,以便于客户端基于共视关键帧进行位姿估计。
本申请实施例,客户端在向服务端发送局部地图更新信息的同时,还可以向该服务端发送最接近该客户端当前位置的参考关键帧;相应的,服务端不仅可以根据该客户端发送的局部地图更新信息建立、更新该客户端的服务端地图,还可以通过至少一个离线地图实现对当前该客户端的服务端地图的匹配、合并;进而从进行匹配、合并后的服务端地图中确定与该参考关键帧具有最强共视关系的共视关键帧,并将所确定的共视关键帧返回给该客户端,以便于该客户端基于该共视关键帧进行位姿估计。
为了便于对本申请实施例提供的一种协同SLAM方法的理解,现对结合图2所示的一种协同SLAM方法(该协同SLAM方法也可以认为是结合离线地图模式的集中式协同SLAM方法)示意图,对本申请实施例提供的一种SLAM方法进行详细说明。参见图2,该协同SLAM方法如下:
1.客户端视觉里程计
客户端视觉里程计包含跟踪和局部建图两个模块。跟踪模块估计相机的帧间运动,并决定是否插入关键帧。而局部建图模块维护局部地图,并执行局部捆集调整(LocalBundle Adjustment,LBA)来优化局部地图。由于这部分直接使用了ORB-SLAM2的视觉里程计,在此不做赘述。
2.通信模块
客户端和服务端都含有通信模块,用于客户端与服务端之间的数据交换。客户端通信模块会记录局部地图中的所有更改,即新增或更改的关键帧和地图点,并将这些信息转换为消息发送到服务端。每条消息中还包含一个最接近客户端当前位置的参考关键帧。
对于服务端的通信模块,服务端发送给客户端的每条消息都包含k个与参考关键帧具有最强共视关系的关键帧,以及它们观察到的地图点,用这些数据扩充客户端局部地图。这些信息可以为客户端上的位姿估计提供有利的支撑和跟踪鲁棒性。此外,这k个关键帧是根据它们的共视权重来选择的,无论它们来自哪个客户端。也就是说,当两个服务端地图合并之后,来自不同客户端的关键帧能够建立共视关系,因此某个客户端可能接受到其他客户端的关键帧,从而实现不同客户端协作的目的。
3.服务端建图与位置识别
服务端建图模块主要是将新来的关键帧添加到关键帧数据库、位置识别模块,建立新关键帧、地图点和对应服务端位姿图的连接,并对地图中冗余的关键帧的进行剔除。
在服务端的位置识别模块中,对于到达服务端的每个新关键帧,使用关键帧数据库执行两种类型的位置识别查询:地图内位置识别和地图匹配。地图内位置识别检测一个服务器地图内先前访问过的位置,即回环检测。成功检测到回环后可以在优化步骤中提高地图的整体精度。地图匹配会检测两个服务端地图之间的重叠,若成功检测到两个地图之间的重叠,则此匹配信息将转到地图合并模块,将两个地图合并为一个地图。成功的地图内位置识别和地图匹配会触发优化模块,它包括两个步骤:位姿图优化和全局捆集调整(Global Bundle Adjustment,GBA)。
4.离线地图模式
服务端在退出时,新增一个保存当前地图的功能,将服务端地图数量,每个地图中的地图点信息(包括地图点的数量,每个地图点的ID及其世界坐标位置等),关键帧信息(包括关键帧的数量,每个关键帧的ID,时间戳,相机参数,位姿,及其包含的特征点信息。特征点信息包括其像素坐标位置,角度,深度值,特征描述子,以及对应的地图点序号等),关键帧之间的连接关系(包括其父关键帧ID和与其具有共视关系的所有关键帧ID)进行二进制方式保存,以备下次加载使用。
服务端在启动后,新增一个加载离线地图的功能,查看是否有离线地图数据,若有,则将离线地图信息依次进行正确加载。这样服务端在初始状态时就拥有了场景中的地图信息,当接收到客户端传来的关键帧后,能够更高效的进行地图匹配和融合,从而将其丰富的地图信息分享给客户端,为客户端的位姿估计和跟踪鲁棒性提供有力的支撑,并有效的提高整个系统的协同性。而且服务端通过接收客户端传来的地图信息,可以在其初始加载的离线地图基础上进行扩充及优化,更加增强其对场景的认知能力,保存更新的地图信息更加精确丰富。
可以理解的是,以上实施方式仅仅是为了说明本申请实施例提供的一种协同SLAM方法的原理而采用的示例性实施方式,然而本申请并不局限于此。对于本领域内的普通技术人员而言,在不脱离本申请的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本申请的保护范围。
本申请提供一种协同SLAM方法,响应服务端启动操作,加载至少一个离线地图;至少一个离线地图为服务端历史最近一次退出时服务端中的服务端地图;接收客户端发送的局部地图更新信息和最接近客户端当前位置的参考关键帧;根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图;对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;从进行地图匹配、地图合并后的服务端地图中确定与参考关键帧具有最强共视关系的共视关键帧返回给客户端,以便于客户端基于共视关键帧进行位姿估计。本申请提出的依赖于离线地图进行协同SLAM的方法,可以提高即时定位与建图鲁棒性。尤其是客户端刚开始启动协同SLAM技术,便可在客户端从启动协同SLAM技术开始所确定的关键帧的基础上结合离线地图一起进行多客户端相机的协同定位与建图,由此,有效提高了即时定位与建图的鲁棒性。
图3为本申请实施例提供的一种协同SLAM装置的结构示意图。
如图3所示,该装置包括:
离线地图加载单元301,用于响应服务端启动操作,加载至少一个离线地图;至少一个离线地图为服务端历史最近一次退出时服务端中的服务端地图;
信息接收单元302,用于接收客户端发送的局部地图更新信息和最接近客户端当前位置的参考关键帧;
信息更新单元303,用于根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图;
地图匹配合并单元304,用于对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;
信息返回单元305,用于从进行地图匹配、地图合并后的服务端地图中确定与参考关键帧具有最强共视关系的共视关键帧返回给客户端,以便于客户端基于共视关键帧进行位姿估计。
本申请实施例中,优选的,客户端发送局部地图更新信息和最接近客户端当前位置的参考关键帧的过程,包括:客户端的相机将拍摄的图像序列传输至客户端的视觉里程计;视觉里程计根据图像序列估计每帧图像的相机位姿,并建立、更新局部地图;客户端的通信模块将局部地图更新信息和参考关键帧发送至服务端,局部地图更新信息包括新增、更改的关键帧和地图点。
本申请实施例中,优选的,视觉里程计根据图像序列估计每帧图像的相机位姿,并建立、更新局部地图,包括:在所视觉里程计根据图像序列估计每帧图像的相机位姿时,若某一帧图像跟踪丢失,则通过重定位恢复正常的跟踪流程。
本申请实施例中,优选的,信息更新单元具体用于建立局部地图更新信息和对应服务端位姿图的连接,并剔除客户端的服务端地图中的冗余关键帧。
本申请实施例中,优选的,地图匹配合并单元包括:
回环检测单元,用于对客户端的服务端地图进行回环检测;
判断单元,用于判断至少一个离线地图和客户端的服务端地图中是否包括存在重叠部分的两个地图;
匹配合并单元,用于若至少一个离线地图和客户端的服务端地图中包括存在重叠部分的两个地图,将两个地图合并成一个地图。
本申请实施例提供的一种协同SLAM装置还包括捆集调整单元,用于对服务端位姿图进行优化和全局捆集调整。
本申请实施例中,优选的,离线地图包括地图点信息、关键帧信息、特征点信息,以及,关键帧之间的连接关系信息。
如图4所示,为本申请实施例提供的计算机设备的一种实现方式的结构图,该计算机设备包括:
存储器401,用于存储程序;
处理器402,用于执行程序,程序具体用于:
响应服务端启动操作,加载至少一个离线地图;至少一个离线地图为服务端历史最近一次退出时服务端中的服务端地图;
接收客户端发送的局部地图更新信息和最接近客户端当前位置的参考关键帧;
根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图;
对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;
从进行地图匹配、地图合并后的服务端地图中确定与参考关键帧具有最强共视关系的共视关键帧返回给客户端,以便于客户端基于共视关键帧进行位姿估计。
处理器402可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit)。
控制设备还可以包括通信接口403以及通信总线404,其中,存储器401、处理器402以及通信接口403通过通信总线404完成相互间的通信。
本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器加载并执行,实现上述的协同SLAM方法的各步骤,具体实现过程可以参照上述实施例相应部分的描述,本实施例不做赘述。
多相机协作有望提高定位、建图任务的鲁棒性和效率,在多人增强现实应用中具有巨大潜力。多客户端通过同时定位与地图构建(Simultaneous Localization andMapping,SLAM)使得每个客户端可以独立完成定位和构建环境地图,并将地图信息发送给服务端,具有强大计算能力的服务端收集客户端的所有信息后,对不同客户端的信息进行地图匹配和融合,并向客户端传输信息来实现他们的协作。本发明提出一种结合离线地图模式的集中式协同SLAM方法,使得服务端具备保存当前地图和加载离线地图的功能,当服务端通过加载离线地图后将自身的地图信息分享给客户端时,就能给客户端的跟踪精度和鲁棒性提供有力的支撑,在此基础上客户端将更精确的地图信息发送给服务端,从而扩充服务端地图信息,达到相辅相成的效果。
本申请提供一种协同SLAM方法、装置、计算机设备及存储介质,响应服务端启动操作,加载至少一个离线地图;至少一个离线地图为服务端历史最近一次退出时服务端中的服务端地图;接收客户端发送的局部地图更新信息和最接近客户端当前位置的参考关键帧;根据客户端发送的局部地图更新信息建立、更新客户端的服务端地图;对客户端的服务端地图进行地图内位置识别,以及对至少一个离线地图和客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;从进行地图匹配、地图合并后的服务端地图中确定与参考关键帧具有最强共视关系的共视关键帧返回给客户端,以便于客户端基于共视关键帧进行位姿估计。本申请提出的依赖于离线地图进行协同SLAM的方法,可以提高即时定位与建图鲁棒性。尤其是客户端刚开始启动协同SLAM技术,便可在客户端从启动协同SLAM技术开始所确定的关键帧的基础上结合离线地图一起进行多客户端相机的协同定位与建图,由此,有效提高了即时定位与建图的鲁棒性。
以上对本发明所提供的一种协同SLAM方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种协同SLAM方法,其特征在于,包括:
响应服务端启动操作,加载至少一个离线地图;所述至少一个离线地图为所述服务端历史最近一次退出时所述服务端中的服务端地图;
接收客户端发送的局部地图更新信息和最接近所述客户端当前位置的参考关键帧;
根据所述客户端发送的局部地图更新信息建立、更新所述客户端的服务端地图;
对所述客户端的服务端地图进行地图内位置识别,以及对所述至少一个离线地图和所述客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;
从进行地图匹配、地图合并后的服务端地图中确定与所述参考关键帧具有最强共视关系的共视关键帧返回给所述客户端,以便于所述客户端基于所述共视关键帧进行位姿估计。
2.根据权利要求1所述的方法,其特征在于,客户端发送局部地图更新信息和最接近所述客户端当前位置的参考关键帧的过程,包括:
客户端的相机将拍摄的图像序列传输至所述客户端的视觉里程计;
所述视觉里程计根据所述图像序列估计每帧图像的相机位姿,并建立、更新局部地图;
所述客户端的通信模块将局部地图更新信息和参考关键帧发送至服务端,所述局部地图更新信息包括新增、更改的关键帧和地图点。
3.根据权利要求2所述的方法,其特征在于,所述视觉里程计根据所述图像序列估计每帧图像的相机位姿,并建立、更新局部地图,包括:
在所视觉里程计根据所述图像序列估计每帧图像的相机位姿时,若某一帧图像跟踪丢失,则通过重定位恢复正常的跟踪流程。
4.根据权利要求1所述的方法,其特征在于,所述根据所述客户端发送的局部地图更新信息建立、更新所述客户端的服务端地图,包括:
建立局部地图更新信息和对应服务端位姿图的连接,并剔除所述客户端的服务端地图中的冗余关键帧。
5.根据权利要求1所述的方法,其特征在于,所述对所述客户端的服务端地图进行地图内位置识别,以及对所述至少一个离线地图和所述客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并,包括:
对所述客户端的服务端地图进行回环检测;
判断所述至少一个离线地图和所述客户端的服务端地图中是否包括存在重叠部分的两个地图;
若所述至少一个离线地图和所述客户端的服务端地图中包括存在重叠部分的两个地图,将所述两个地图合并成一个地图。
6.根据权利要求4所述的方法,其特征在于,还包括:
对所述服务端位姿图进行优化和全局捆集调整。
7.根据权利要求1所述的方法,其特征在于,所述离线地图包括地图点信息、关键帧信息、特征点信息,以及,关键帧之间的连接关系信息。
8.一种协同SLAM装置,其特征在于,包括:
离线地图加载单元,用于响应服务端启动操作,加载至少一个离线地图;所述至少一个离线地图为所述服务端历史最近一次退出时所述服务端中的服务端地图;
信息接收单元,用于接收客户端发送的局部地图更新信息和最接近所述客户端当前位置的参考关键帧;
信息更新单元,用于根据所述客户端发送的局部地图更新信息建立、更新所述客户端的服务端地图;
地图匹配合并单元,用于对所述客户端的服务端地图进行地图内位置识别,以及对所述至少一个离线地图和所述客户端的服务端地图中存在重叠部分的地图进行地图匹配、地图合并;
信息返回单元,用于从进行地图匹配、地图合并后的服务端地图中确定与所述参考关键帧具有最强共视关系的共视关键帧返回给所述客户端,以便于所述客户端基于所述共视关键帧进行位姿估计。
9.一种计算机设备,其特征在于,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如权利要求1-7任意一项所述的协同SLAM方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现如权利要求1-7任意一项所述的协同SLAM方法的各步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093504.2A CN112734850A (zh) | 2021-01-22 | 2021-01-22 | 一种协同slam方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093504.2A CN112734850A (zh) | 2021-01-22 | 2021-01-22 | 一种协同slam方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112734850A true CN112734850A (zh) | 2021-04-30 |
Family
ID=75593853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110093504.2A Pending CN112734850A (zh) | 2021-01-22 | 2021-01-22 | 一种协同slam方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112734850A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113432593A (zh) * | 2021-06-25 | 2021-09-24 | 北京华捷艾米科技有限公司 | 集中式同步定位与地图构建方法、装置和系统 |
CN114224232A (zh) * | 2021-12-22 | 2022-03-25 | 珠海格力电器股份有限公司 | 地图更新方法、装置、扫地机器人及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101573692A (zh) * | 2006-10-25 | 2009-11-04 | 约维申有限公司 | 检测和防止中间人网络钓鱼攻击 |
CN106114513A (zh) * | 2015-05-08 | 2016-11-16 | 丰田自动车株式会社 | 误识别判定装置 |
CN109460267A (zh) * | 2018-11-05 | 2019-03-12 | 贵州大学 | 移动机器人离线地图保存与实时重定位方法 |
CN109507995A (zh) * | 2017-09-14 | 2019-03-22 | 深圳乐动机器人有限公司 | 机器人地图的管理系统及机器人 |
CN110246182A (zh) * | 2019-05-29 | 2019-09-17 | 深圳前海达闼云端智能科技有限公司 | 基于视觉的全局地图定位方法、装置、存储介质和设备 |
CN111322993A (zh) * | 2018-12-13 | 2020-06-23 | 杭州海康机器人技术有限公司 | 一种视觉定位方法和装置 |
CN111369628A (zh) * | 2020-03-05 | 2020-07-03 | 南京华捷艾米软件科技有限公司 | 一种多相机集中式协同slam方法及系统 |
CN111752671A (zh) * | 2019-03-29 | 2020-10-09 | 松下航空电子公司 | 复杂联网嵌入式系统的虚拟化 |
-
2021
- 2021-01-22 CN CN202110093504.2A patent/CN112734850A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101573692A (zh) * | 2006-10-25 | 2009-11-04 | 约维申有限公司 | 检测和防止中间人网络钓鱼攻击 |
CN106114513A (zh) * | 2015-05-08 | 2016-11-16 | 丰田自动车株式会社 | 误识别判定装置 |
CN109507995A (zh) * | 2017-09-14 | 2019-03-22 | 深圳乐动机器人有限公司 | 机器人地图的管理系统及机器人 |
CN109460267A (zh) * | 2018-11-05 | 2019-03-12 | 贵州大学 | 移动机器人离线地图保存与实时重定位方法 |
CN111322993A (zh) * | 2018-12-13 | 2020-06-23 | 杭州海康机器人技术有限公司 | 一种视觉定位方法和装置 |
CN111752671A (zh) * | 2019-03-29 | 2020-10-09 | 松下航空电子公司 | 复杂联网嵌入式系统的虚拟化 |
CN110246182A (zh) * | 2019-05-29 | 2019-09-17 | 深圳前海达闼云端智能科技有限公司 | 基于视觉的全局地图定位方法、装置、存储介质和设备 |
CN111369628A (zh) * | 2020-03-05 | 2020-07-03 | 南京华捷艾米软件科技有限公司 | 一种多相机集中式协同slam方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘念: "基于视觉的多机器人SLAM算法研究与实现", 《中国优秀硕士论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113432593A (zh) * | 2021-06-25 | 2021-09-24 | 北京华捷艾米科技有限公司 | 集中式同步定位与地图构建方法、装置和系统 |
CN114224232A (zh) * | 2021-12-22 | 2022-03-25 | 珠海格力电器股份有限公司 | 地图更新方法、装置、扫地机器人及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107990899B (zh) | 一种基于slam的定位方法和系统 | |
CN107818592B (zh) | 协作式同步定位与地图构建的方法、系统及交互系统 | |
WO2019157925A1 (zh) | 视觉惯性里程计的实现方法及系统 | |
CN110068335B (zh) | 一种gps拒止环境下无人机集群实时定位方法及系统 | |
EP3786900A2 (en) | Markerless multi-user multi-object augmented reality on mobile devices | |
CN111369628A (zh) | 一种多相机集中式协同slam方法及系统 | |
CN112734850A (zh) | 一种协同slam方法、装置、计算机设备及存储介质 | |
CN110310326A (zh) | 一种位姿数据处理方法、装置、终端及计算机可读存储介质 | |
CN111127524A (zh) | 一种轨迹跟踪与三维重建方法、系统及装置 | |
KR20210036317A (ko) | 모바일 에지 컴퓨팅 기반의 시각적 위치 확정 방법 및 장치 | |
CN114332360A (zh) | 一种协同三维建图方法及系统 | |
CN110749308B (zh) | 使用消费级gps和2.5d建筑物模型的面向slam的室外定位方法 | |
WO2023087758A1 (zh) | 定位方法、定位装置、计算机可读存储介质和计算机程序产品 | |
CN103577789A (zh) | 检测方法和装置 | |
CN112541970A (zh) | 一种集中式协同SlAM中的重定位方法及装置 | |
CN113256718A (zh) | 定位方法和装置、设备及存储介质 | |
CN113361365A (zh) | 定位方法和装置、设备及存储介质 | |
CN113295159B (zh) | 端云融合的定位方法、装置和计算机可读存储介质 | |
CN117152249A (zh) | 基于语义一致性的多无人机协同建图与感知方法及系统 | |
Apicharttrisorn et al. | Breaking edge shackles: Infrastructure-free collaborative mobile augmented reality | |
CN103901885B (zh) | 信息处理方法和信息处理设备 | |
CN113500604A (zh) | 一种机器人控制方法、装置、设备及存储介质 | |
CN116630598A (zh) | 大场景下的视觉定位方法、装置、电子设备及存储介质 | |
CN110796706A (zh) | 视觉定位方法及系统 | |
CN115615436A (zh) | 一种多机重定位的无人机定位方法 |
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 |