CN112541970A - 一种集中式协同SlAM中的重定位方法及装置 - Google Patents

一种集中式协同SlAM中的重定位方法及装置 Download PDF

Info

Publication number
CN112541970A
CN112541970A CN202011378909.2A CN202011378909A CN112541970A CN 112541970 A CN112541970 A CN 112541970A CN 202011378909 A CN202011378909 A CN 202011378909A CN 112541970 A CN112541970 A CN 112541970A
Authority
CN
China
Prior art keywords
key frame
client
map
key
key frames
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
Application number
CN202011378909.2A
Other languages
English (en)
Inventor
林雅云
李骊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing HJIMI Technology Co Ltd
Original Assignee
Beijing HJIMI Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing HJIMI Technology Co Ltd filed Critical Beijing HJIMI Technology Co Ltd
Priority to CN202011378909.2A priority Critical patent/CN112541970A/zh
Publication of CN112541970A publication Critical patent/CN112541970A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30184Infrastructure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种集中式协同SlAM中的重定位方法及装置,应用于包括服务端和至少一个客户端的集中式协同SLAM系统,该方法包括:在当前客户端定位丢失的情况下,获取当前客户端中待定位关键帧,基于当前客户端关键帧数据库中的各个关键帧对待定位关键帧进行定位;在定位失败的情况下,判断当前客户端在目标地图中是否存在合并地图,若存在,在合并地图中选取预设数量的关键帧,将预设数量的关键帧发送给当前客户端,以令当前客户端基于预设数量的关键帧待定位关键帧进行重定位。上述过程中,在基于客户端定位失败后,继续在服务端选取预设数量的关键帧发送给客户端,以令客户端基于预设数量关键帧进行重定位,提高了定位成功的概率。

Description

一种集中式协同SlAM中的重定位方法及装置
技术领域
本发明涉及定位与地图构建技术领域,尤其涉及一种集中式协同SlAM中的重定位方法及装置。
背景技术
集中式协同定位与地图构建SLAM(Simultaneous Localization and Mapping)包含多个可以独立完成定位和建图功能的客户端和一个计算能力强大的服务端。其中,客户端向服务端发送地图信息,服务端则利用多个客户端地图数据进行匹配和合并,构建信息更为丰富的服务端地图,并向客户端传输信息来实现多客户端之间的信息共享与协作。
现有的客户端在在定位丢失以后只能基于其本身的关键帧数据库进行重定位,由于其本身关键帧数据库中的数据有限,经常出现重定位失败的情况。
发明内容
有鉴于此,本发明提供了一种集中式协同SlAM中的重定位方法及装置,用于解决现有的客户端在在定位丢失以后只能基于其本身的关键帧数据库进行重定位,由于其本身关键帧数据库中的数据有限,经常出现重定位失败的情况的问题,具体方案如下:
一种集中式协同SlAM中的重定位方法,应用于集中式协同SLAM系统,所述集中式协同SLAM系统包括:服务端和至少一个客户端,所述方法包括:
在当前客户端定位丢失的情况下,获取所述当前客户端中待定位关键帧,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位;
在定位失败的情况下,判断所述当前客户端在目标地图中是否存在合并地图,其中,所述目标地图为在所述客户端定位成功的情况下预先进行构建的;
若存在,在所述合并地图中选取预设数量的关键帧,将所述预设数量的关键帧发送给所述当前客户端,以令所述当前客户端基于所述预设数量的关键帧所述待定位关键帧进行重定位,其中,所述预设数量的关键帧不属于所述当前客户端。
上述的方法,可选的,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位,包括:
计算所述待定位关键帧与所述当前客户端关键帧数据库中的各个关键帧的相似度值;
将相似度值大于第一预设相似度阈值的关键帧作为第一候选关键帧,得到各个第一候选关键帧,在所述各个第一候选关键帧中选取第一目标候选关键帧;
获取所述第一目标候选关键帧的位姿,基于所述位姿确定所述待定位关键帧的目标位姿。
上述的方法,可选的,还包括:
基于所述目标位姿,计算所述待定位关键帧中的内点数量;
在所述内点数量大于预设数量阈值的情况下,判定所述待定位关键帧定位成功。
上述的方法,可选的,预先构建目标地图的过程包括:
对所述客户端进行定位,获取定位成功的客户端的各个局部地图;
对所述各个局部地图进行匹配;
对匹配成功的局部地图进行融合,得到目标地图。
上述的方法,可选的,对所述各个局部地图进行匹配,包括:
针对所述服务端的每一个关键帧,计算其与所述各个局部地图中每一个关键帧的相似度;
将相似度值大于第二预设相似度阈值的关键帧作为第二候选关键帧,对各个第二候选关键帧进行连续性检测,得到第二目标候选关键帧;
确定各个第二目标候选关键帧中与当前关键帧的匹配数量,基于所述匹配数量判定所述各个局部地图中的匹配成功的局部地图。
一种集中式协同SlAM中的重定位装置,应用于集中式协同SLAM系统,所述集中式协同SLAM系统包括:服务端和至少一个客户端,所述装置包括:
获取和定位模块,用于在当前客户端定位丢失的情况下,获取所述当前客户端中待定位关键帧,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位;
判断模块,用于在定位失败的情况下,判断所述当前客户端在目标地图中是否存在合并地图,其中,所述目标地图为在所述客户端定位成功的情况下预先进行构建的;
选取和定位模块,用于若存在,在所述合并地图中选取预设数量的关键帧,将所述预设数量的关键帧发送给所述当前客户端,以令所述当前客户端基于所述预设数量的关键帧所述待定位关键帧进行重定位,其中,所述预设数量的关键帧不属于所述当前客户端。
上述的装置,可选的,所述获取和定位模块包括:
第一计算单元,用于计算所述待定位关键帧与所述当前客户端关键帧数据库中的各个关键帧的相似度值;
选取单元,用于将相似度值大于第一预设相似度阈值的关键帧作为第一候选关键帧,得到各个第一候选关键帧,在所述各个第一候选关键帧中选取第一目标候选关键帧;
获取单元,用于获取所述第一目标候选关键帧的位姿,基于所述位姿确定所述待定位关键帧的目标位姿。
上述的装置,可选的,还包括:
第二计算单元,用于基于所述目标位姿,计算所述待定位关键帧中的内点数量;
判定单元,用于在所述内点数量大于预设数量阈值的情况下,判定所述待定位关键帧定位成功。
上述的装置,可选的,预先构建目标地图的过程包括:
定位和获取单元,用于对所述客户端进行定位,获取定位成功的客户端的各个局部地图;
匹配单元,用于对所述各个局部地图进行匹配;
融合单元,用于对匹配成功的局部地图进行融合,得到目标地图。
上述的装置,可选的,所述匹配单元包括:
计算子单元,用于针对所述服务端的每一个关键帧,计算其与所述各个局部地图中每一个关键帧的相似度;
检测子单元,用于将相似度值大于第二预设相似度阈值的关键帧作为第二候选关键帧,对各个第二候选关键帧进行连续性检测,得到第二目标候选关键帧;
判定子单元,用于确定各个第二目标候选关键帧中与当前关键帧的匹配数量,基于所述匹配数量判定所述各个局部地图中的匹配成功的局部地图。与现有技术相比,本发明包括以下优点:
本发明公开了一种集中式协同SlAM中的重定位方法及装置,应用于包括服务端和至少一个客户端的集中式协同SLAM系统,该方法包括:在当前客户端定位丢失的情况下,获取当前客户端中待定位关键帧,基于当前客户端关键帧数据库中的各个关键帧对待定位关键帧进行定位;在定位失败的情况下,判断当前客户端在目标地图中是否存在合并地图,若存在,在合并地图中选取预设数量的关键帧,将预设数量的关键帧发送给当前客户端,以令当前客户端基于预设数量的关键帧待定位关键帧进行重定位。上述过程中,在基于客户端定位失败后,继续在服务端选取预设数量的关键帧发送给客户端,以令客户端基于预设数量关键帧进行重定位,提高了定位成功的概率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种集中式协同SlAM中的重定位方法流程图;
图2为本申请实施例公开的一种重定位模块执行流程示意图;
图3为本申请实施例公开的一种集中式协同SlAM系统架构示意图;
图4为本申请实施例公开的一种集中式协同SlAM中的重定位装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种集中式协同SlAM中的重定位方法及装置,应用于集中式协同SlAM中对丢失客户端的重定位过程中,SLAM(Simultaneous Localization and Mapping)最早源于机器人领域,其目标是在一个未知的环境中实时重建环境的三维结构并同时对机器人自身进行定位。其主要思想是:一方面,依靠已创建的地图信息进行自定位;另一方面,根据定位结果对地图进行更新。视觉SLAM技术根据拍摄的视频信息推断出相机在未知环境中的位姿,并同时构建环境地图,其基本原理为多视图几何原理。视觉SLAM的目标为同时恢复出每帧图像对应的相机运动参数C1...Cm,以及场景三维结构X1...Xn。其中每个相机运动参数Ci包含了相机的位置和方向信息,通常表示为一个3×3的旋转矩阵Ri和一个三维平移向量Pi。集中式协同SLAM包含多个可以独立完成定位和建图功能的客户端和一个计算能力强大的服务端。其中,客户端向服务端发送地图信息,服务端则利用多个客户端地图数据进行匹配和合并,构建信息更为丰富的服务端地图,并向客户端传输信息来实现多客户端之间的信息共享与协作。
随着AR领域的火热发展,作为AR领域核心技术之一的视觉SLAM技术也需要进行改进以满足上层应用新的需求。例如,多人AR游戏这种新的娱乐形式,需要多个用户同时对叠加在真实场景中的虚拟物体进行操作。因此为了满足这种应用的需求,底层的SLAM方法需要将多个客户端对应的多个地图合并为一个共同的地图,并在该地图下同时对每个客户端进行定位。当然,多相机协作亦可用于搜索、救援以及农业等应用,正是这些应用催生了各种协同SLAM方法。
在目前的SLAM包括协同SLAM领域中,当相机由于各种原因丢失定位以后,一般都会采用重定位的方式来重新获取相机的位姿。一种成熟的方法是,判断当前关键帧是否与其本身的关键帧数据库的某一帧匹配上,如果匹配成功,则利用两帧之间的相似性计算当前帧的位姿。但是,由于其本身关键帧数据库中的数据有限,经常出现重定位失败的情况,基于上述的问题,本发明实施例提供了一种集中式协同SlAM中的重定位方法,应用于集中式协同SLAM系统,所述集中式协同SLAM系统包括:服务端和至少一个客户端,所述重定位方法的执行流程如图1所示,包括步骤:
S101、在当前客户端定位丢失的情况下,获取所述当前客户端中待定位关键帧,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位;
本发明实施例中,针对每一个客户端,其中包括:关键帧数据库、视觉里程计、通信模块和局部地图,所述关键帧数据用于存储采集的图像帧中的关键帧,视觉里程计包括:跟踪模块和局部建图模块,跟踪模块用于根据拍摄的图像帧估计图像帧采集设备的运动,局部建图模块用于维护局部地图,所述图像帧采集设备可以为相机,所述通信模块用于客户端和服务端之间的通信,所述局部地图,用于基于图像帧采集设备采集的图像构建局部地图。其中,关键帧也是图像帧,是相对于普通图像帧来说的,一个关键帧可以代表其附近的几个普通帧。所有关键帧的位姿可以用来表达相机的运动轨迹。关键帧中的2D特征点会被构造成3D地图点,得到二维特征点和三维特征点的对应关系,而所有的3D地图点可以来表达三维空间的结构。关键帧是由普通图像帧转化而来,普通帧会被丢弃,而关键帧一般会被一直保存,参与地图优化。优选的,预先基于所述集中式协同SLAM系统构建目标地图,所述目标地图的构建过程如下:
视觉里程计中的跟踪模块估计相机的帧间运动,并决定是否插入关键帧。插入的规则可以为当前帧相对于上一帧的旋转或者平移大于一定的阈值,则插入关键帧(将当前帧构造成关键帧);否则不需要插入关键帧。本发明实施例中,对具体的插入规则不进行限定。而局部建图模块维护局部地图,并执行局部捆集调整(Local Bundle Adjustment,LBA)来优化局部地图。优化过程如下:将3D点投影(针孔相机模型)到图像帧中得到一个2D像素点,并与之前匹配得到的2D点进行比较就得到了投影误差。局部地图中所有的3D-2D匹配对的投影误差的平方和构成了一个最小二乘问题。然后求解这个最小二乘问题来优化局部地图(通过普通的高斯-牛顿或者列文伯格-马库尔特等优化算法求解)。本发明实施例中,采用ORB-SLAM2的视觉里程计,在此不作赘述。
客户端和服务端都含有通信模块,用于客户端与服务端之间的数据交换。通信有两种模式:一种是客户端定位成功时启用的模式,客户端通信模块会记录局部地图中的所有更改,即新增或更改的关键帧和地图点,并将这些信息转换为消息发送到服务端。每条消息中还包含一个最接近客户端当前位置的参考关键帧。而对于服务端的通信模块在接收到客户端的信息以后,会将新的关键帧和地图点加入到对应的服务端子地图中,同时返回一个消息给客户端。服务端发送给客户端的每条消息都包含k个关键帧。这k个关键帧在参考关键帧的共视关键帧中按照共视关系的强弱依次筛选,其中,共视关系的确定过程如下:两个关键帧之间有共同观测的地图点(空间三维点),则这两个关键帧之间存在共视关系;能够共同观测的地图点数量越多,则共视关系越强。(关键帧观测到某地图点,可以简单理解成在该关键帧对应的时刻下,相机的视野能够到达这个空间三维点)。且需满足以下任意一种情况:(1)如果是本客户端关键帧,则位姿已经过GBA(GLobalBundle Adjustment)调整;(2)如果是其它客户端关键帧,则两个客户端对应的服务端子地图已经成功合并。这种通信模式使服务端能够收集多个客户端的地图信息建立服务端地图,而单个客户端也能够利用服务端返回的信息更好地进行本地定位和建图。
服务端的地图匹配合并模块主要是用于检测各个服务器端子地图之间的重叠区域。一旦地图匹配成功,则根据匹配信息将子地图融合成一个地图,从而实现各个客户端之间的信息共享和协作。
地图融合的具体过程是:每个客户端在服务端都对应一个地图匹配线程,对于达到服务端的关键帧,会被加入到服务端关键帧数据库中和客户端匹配队列中。地图匹配线程会依次从匹配队列中取出关键帧作为当前关键帧,并检测当前关键帧与其它客户端关键帧之间的相似性。检测具体流程如下:(1)从关键帧数据库中找到与当前关键帧相似程度超过一定阈值的关键帧作为候选关键帧;(2)对候选关键帧进行连续性检测,剔除不满足连续性的候选关键帧,其中,检测过程如下:对于候选关键帧,获取它和它的所有共视关键帧所能观测到的地图点形成一个集合。将这个地图点集合投影到当前帧的共视关键帧中,如果其中至少有两个共视关键帧的投影内点数大于一定阈值,则该候选关键帧满足连续性检测。(3)计算当前关键帧和候选关键帧的Sim3变换,并得到更多的特征匹配,剔除匹配数低于阈值的候选关键帧;(4)通过投影方式获得更多的特征匹配,如果匹配数量大于阈值,则匹配成功并进行两个地图的融合。优选的,若匹配成功,则所述当前关键帧所属客户端的其它关键帧不再需要进行上述匹配,地图融合的具体流程如下:(1)通过Sim3传播的方式调整当前关键帧所在子地图的所有关键帧和地图点位姿;(2)创建一个新的地图,并将两个子地图的关键帧和地图点都加入到新地图中。在地图融合以后,从两个客户端传送到服务端的关键帧和地图点就会被加入到这个新地图中,各个客户端均融合完成后得到目标地图,
进一步的,所述目标地图在不断扩充的过程中也会给客户端传递同一个地图中其它客户端的地图信息,从而实现多客户端的协作。
在当前客户端定位丢失的情况下,获取所述当前客户端中待定位关键帧,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位,定位过程如下:
(1)计算所述待定位关键帧的BoW向量,具体计算方式是:提取所述待定位关键帧的所有2D特征点并计算特征点的描述子,将所有描述子所属单词的TF-IDF权重组合在一起就构成了当前帧的BOW词袋向量。
(2)计算当前帧与当前客户端关键帧数据库中其它关键帧BoW向量的相似性,将相似性满足第一预设相似度阈值的关键帧作为第一候选关键帧,其中,所述第一预设相似度阈值可以基于经验或者具体情况进行设定,本发明实施例中,对所述预设第一相似度阈值的具体取值不进行限定。
(3)计算所述待定位帧与各个第一候选关键帧之间的2D-2D特征点匹配对,方法如下:对所述待定位关键帧中所有的特征点描述子,找到该描述子在各个第一候选关键帧中最匹配的描述子(即描述子向量距离最小的),形成匹配对。(其中,一个特征点对应一个描述子,描述子是用来表述特征点的一个向量。)
(4)由于各个第一候选关键帧的2D-3D匹配对,即2维特征点和3维地图点匹配对,是已知的,再结合(3),就得到待定位关键帧的2D-3D点匹配对。
(5)结合所述各个第一候选关键帧的位姿,使用ransac的方法计算当前帧的位姿。ransac是一种迭代求位姿的方法,每次迭代过程如下:从(4)中得到的2D-3D点对中随机选取若干个点对,使用DLT算法解算出所述待定位关键帧的位姿;根据位姿,将3D点投影到所述待定位关键帧中得到相应的2D点,若该2D点与(4)中匹配得到的2D点相差较小,则为内点,否则为外点。将内点数最多的那次迭代所算出的位姿作为本次ransac算法最终位姿。
(6)对于所述各个第一候选关键帧,都使用方法(5)计算出内点和位姿,直到某次算法的内点数大于一定的数量(如50个),则停止计算,并使用本次计算的结果作为所述待定位帧的最终位姿,重定位成功。
(7)如果所述各个第一候选关键帧都不满足(6)的条件,则重定位失败。
S102、在定位失败的情况下,判断所述当前客户端在目标地图中是否存在合并地图,其中,所述目标地图为在所述客户端定位成功的情况下预先进行构建的;
本发明实施例中,在重定位失败的情况下,所述待定位关键帧所述客户端的本地关键帧数据库中仅包含本客户端的关键帧和少量其它客户端关键帧,而如果本客户端在服务端与其它客户端已经合并上,则可以利用信息更为丰富的服务端地图进行重定位。由于信息传输的不及时,无法直接在服务端实现重定位,因此采用服务端辅助客户端的重定位方式,具体流程如图2所示:客户端向服务端发送包含定位失败的消息,服务端接收到这一消息后,基于目标地图首先检查该客户端是否与其它客户端合并,即客户端在所述目标客户端中所对应的地图是否包含来自其它客户端的关键帧和地图点信息,其中,具体的判断原则为可以基于标识进行判断,例如,所述标识为0标识存在合并地图,所述标识为1表示不存在合并地图,本发明实施例中,对标识的具体存在形式不进行限定。
S103、在所述合并地图中选取预设数量的关键帧,将所述预设数量的关键帧发送给所述当前客户端,以令所述当前客户端基于所述预设数量的关键帧所述待定位关键帧进行重定位,其中,所述预设数量的关键帧不属于所述当前客户端。
本发明实施例中,如图2所示,如果没有合并过,则返回一个空消息给客户端;如果客户端与其它客户端合并过,则依次遍历地图中的关键帧,选择m个来自其它客户端且之前没有被发送过的关键帧以及它们观测到的地图点,并打包成消息的形式传输给客户端,客户端接收到服务端发过来的消息之后,将消息解析为关键帧和地图点信息并加入到本地地图和关键帧数据库中;客户端继续进行重定位,此时可用于匹配的关键帧数量增多,重定位的成功率和速率也相应提升;如果重定位依然没有成功,则继续执行上述步骤直到重定位成功。需要说明的是,m可根据通信带宽的情况来决定合适的大小,如果带宽较小,则m也不应太大。
本发明公开了一种集中式协同SlAM中的重定位方法及装置,应用于包括服务端和至少一个客户端的集中式协同SLAM系统,该方法包括:在当前客户端定位丢失的情况下,获取当前客户端中待定位关键帧,基于当前客户端关键帧数据库中的各个关键帧对待定位关键帧进行定位;在定位失败的情况下,判断当前客户端在目标地图中是否存在合并地图,若存在,在合并地图中选取预设数量的关键帧,将预设数量的关键帧发送给当前客户端,以令当前客户端基于预设数量的关键帧待定位关键帧进行重定位。上述过程中,在基于客户端定位失败后,继续在服务端选取预设数量的关键帧发送给客户端,以令客户端基于预设数量关键帧进行重定位,提高了定位成功的概率。
本发明实施例中,基于上述重定位方法的集中式协同SLAM系统框架图如图3所示,假设集中式协同SLAM系统包含一个服务端和至少一个客户端,其中,所述服务端包括:客户端管理1、客户端管理2…客户端管理n,其中,以所述客户端管理1为例,所述客户端管理1包括:通信模块用于与对应的客户端进行通信,服务端建图,用于构建地图,地图匹配和融合包括:地图匹配和地图融合,用于对地图进行匹配和融合。所述数据结构包括:服务端子地图堆栈和关键帧数据库,所述客户端包括:客户端1、客户端2…客户端n,以客户端1为例,所述客户端1包括:视觉里程计、关键帧数据库、局部地图和通信模块,上述系统的执行过程与S101-S104的执行过程相同,在此不再赘述。
基于上述的一种集中式协同SlAM中的重定位方法,本发明实施例中,还提供了一种集中式协同SlAM中的重定位装置,应用于集中式协同SLAM系统,所述集中式协同SLAM系统包括:服务端和至少一个客户端,所述定位装置的结构框图如图4所示,包括:
获取和定位模块201、判断模块202和选取和定位模块203。
其中,
所述获取和定位模块201,用于在当前客户端定位丢失的情况下,获取所述当前客户端中待定位关键帧,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位;
所述判断模块202,用于在定位失败的情况下,判断所述当前客户端在目标地图中是否存在合并地图,其中,所述目标地图为在所述客户端定位成功的情况下预先进行构建的;
所述选取和定位模块203,用于若存在,在所述合并地图中选取预设数量的关键帧,将所述预设数量的关键帧发送给所述当前客户端,以令所述当前客户端基于所述预设数量的关键帧所述待定位关键帧进行重定位,其中,所述预设数量的关键帧不属于所述当前客户端。
本发明实施例中,所述获取和定位模块201包括:
第一计算单元204、选取单元205和获取单元206。
其中,
所述第一计算单元204,用于计算所述待定位关键帧与所述当前客户端关键帧数据库中的各个关键帧的相似度值;
所述选取单元205,用于将相似度值大于第一预设相似度阈值的关键帧作为第一候选关键帧,得到各个第一候选关键帧,在所述各个第一候选关键帧中选取第一目标候选关键帧;
所述获取单元206,用于获取所述第一目标候选关键帧的位姿,基于所述位姿确定所述待定位关键帧的目标位姿。
本发明实施例中,所述获取和定位模块201还包括:
第二计算单元207和判定单元208。
其中,
所述第二计算单元207,用于基于所述目标位姿,计算所述待定位关键帧中的内点数量;
所述判定单元208,用于在所述内点数量大于预设数量阈值的情况下,判定所述待定位关键帧定位成功。
本发明实施例中,预先构建目标地图的过程包括:
定位和获取单元209、匹配单元210和融合单元211。
其中,
所述定位和获取单元209,用于对所述客户端进行定位,获取定位成功的客户端的各个局部地图;
所述匹配单元210,用于对所述各个局部地图进行匹配;
所述融合单元211,用于对匹配成功的局部地图进行融合,得到目标地图。
本发明实施例中,所述匹配单元210包括:
计算子单元212、检测子单元213和判定子单元214。
其中,
所述计算子单元212,用于针对所述服务端的每一个关键帧,计算其与所述各个局部地图中每一个关键帧的相似度;
所述检测子单元213,用于将相似度值大于第二预设相似度阈值的关键帧作为第二候选关键帧,对各个第二候选关键帧进行连续性检测,得到第二目标候选关键帧;
所述判定子单元214,用于确定各个第二目标候选关键帧中与当前关键帧的匹配数量,基于所述匹配数量判定所述各个局部地图中的匹配成功的局部地图。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种集中式协同SlAM中的重定位方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种集中式协同SlAM中的重定位方法,其特征在于,应用于集中式协同SLAM系统,所述集中式协同SLAM系统包括:服务端和至少一个客户端,所述方法包括:
在当前客户端定位丢失的情况下,获取所述当前客户端中待定位关键帧,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位;
在定位失败的情况下,判断所述当前客户端在目标地图中是否存在合并地图,其中,所述目标地图为在所述客户端定位成功的情况下预先进行构建的;
若存在,在所述合并地图中选取预设数量的关键帧,将所述预设数量的关键帧发送给所述当前客户端,以令所述当前客户端基于所述预设数量的关键帧所述待定位关键帧进行重定位,其中,所述预设数量的关键帧不属于所述当前客户端。
2.根据权利要求1所述的方法,其特征在于,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位,包括:
计算所述待定位关键帧与所述当前客户端关键帧数据库中的各个关键帧的相似度值;
将相似度值大于第一预设相似度阈值的关键帧作为第一候选关键帧,得到各个第一候选关键帧,在所述各个第一候选关键帧中选取第一目标候选关键帧;
获取所述第一目标候选关键帧的位姿,基于所述位姿确定所述待定位关键帧的目标位姿。
3.根据权利要求2所述的方法,其特征在于,还包括:
基于所述目标位姿,计算所述待定位关键帧中的内点数量;
在所述内点数量大于预设数量阈值的情况下,判定所述待定位关键帧定位成功。
4.根据权利要求1所述的方法,其特征在于,预先构建目标地图的过程包括:
对所述客户端进行定位,获取定位成功的客户端的各个局部地图;
对所述各个局部地图进行匹配;
对匹配成功的局部地图进行融合,得到目标地图。
5.根据权利要求4所述的方法,其特征在于,对所述各个局部地图进行匹配,包括:
针对所述服务端的每一个关键帧,计算其与所述各个局部地图中每一个关键帧的相似度;
将相似度值大于第二预设相似度阈值的关键帧作为第二候选关键帧,对各个第二候选关键帧进行连续性检测,得到第二目标候选关键帧;
确定各个第二目标候选关键帧中与当前关键帧的匹配数量,基于所述匹配数量判定所述各个局部地图中的匹配成功的局部地图。
6.一种集中式协同SlAM中的重定位装置,其特征在于,应用于集中式协同SLAM系统,所述集中式协同SLAM系统包括:服务端和至少一个客户端,所述装置包括:
获取和定位模块,用于在当前客户端定位丢失的情况下,获取所述当前客户端中待定位关键帧,基于所述当前客户端关键帧数据库中的各个关键帧对所述待定位关键帧进行定位;
判断模块,用于在定位失败的情况下,判断所述当前客户端在目标地图中是否存在合并地图,其中,所述目标地图为在所述客户端定位成功的情况下预先进行构建的;
选取和定位模块,用于若存在,在所述合并地图中选取预设数量的关键帧,将所述预设数量的关键帧发送给所述当前客户端,以令所述当前客户端基于所述预设数量的关键帧所述待定位关键帧进行重定位,其中,所述预设数量的关键帧不属于所述当前客户端。
7.根据权利要求6所述的装置,其特征在于,所述获取和定位模块包括:
第一计算单元,用于计算所述待定位关键帧与所述当前客户端关键帧数据库中的各个关键帧的相似度值;
选取单元,用于将相似度值大于第一预设相似度阈值的关键帧作为第一候选关键帧,得到各个第一候选关键帧,在所述各个第一候选关键帧中选取第一目标候选关键帧;
获取单元,用于获取所述第一目标候选关键帧的位姿,基于所述位姿确定所述待定位关键帧的目标位姿。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二计算单元,用于基于所述目标位姿,计算所述待定位关键帧中的内点数量;
判定单元,用于在所述内点数量大于预设数量阈值的情况下,判定所述待定位关键帧定位成功。
9.根据权利要求6所述的装置,其特征在于,预先构建目标地图的过程包括:
定位和获取单元,用于对所述客户端进行定位,获取定位成功的客户端的各个局部地图;
匹配单元,用于对所述各个局部地图进行匹配;
融合单元,用于对匹配成功的局部地图进行融合,得到目标地图。
10.根据权利要求9所述的装置,其特征在于,所述匹配单元包括:
计算子单元,用于针对所述服务端的每一个关键帧,计算其与所述各个局部地图中每一个关键帧的相似度;
检测子单元,用于将相似度值大于第二预设相似度阈值的关键帧作为第二候选关键帧,对各个第二候选关键帧进行连续性检测,得到第二目标候选关键帧;
判定子单元,用于确定各个第二目标候选关键帧中与当前关键帧的匹配数量,基于所述匹配数量判定所述各个局部地图中的匹配成功的局部地图。
CN202011378909.2A 2020-11-30 2020-11-30 一种集中式协同SlAM中的重定位方法及装置 Pending CN112541970A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011378909.2A CN112541970A (zh) 2020-11-30 2020-11-30 一种集中式协同SlAM中的重定位方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011378909.2A CN112541970A (zh) 2020-11-30 2020-11-30 一种集中式协同SlAM中的重定位方法及装置

Publications (1)

Publication Number Publication Date
CN112541970A true CN112541970A (zh) 2021-03-23

Family

ID=75016669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011378909.2A Pending CN112541970A (zh) 2020-11-30 2020-11-30 一种集中式协同SlAM中的重定位方法及装置

Country Status (1)

Country Link
CN (1) CN112541970A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113432593A (zh) * 2021-06-25 2021-09-24 北京华捷艾米科技有限公司 集中式同步定位与地图构建方法、装置和系统
US20210318140A1 (en) * 2020-04-14 2021-10-14 Toyota Research Institute, Inc. Incremental map building using learnable features and descriptors
CN113537171A (zh) * 2021-09-16 2021-10-22 北京易航远智科技有限公司 一种slam地图的划分方法
WO2022002039A1 (zh) * 2020-06-30 2022-01-06 杭州海康机器人技术有限公司 一种基于视觉地图的视觉定位方法、装置
CN114119761A (zh) * 2022-01-28 2022-03-01 杭州宏景智驾科技有限公司 多相机机动车定位方法和装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140119598A1 (en) * 2012-10-31 2014-05-01 Qualcomm Incorporated Systems and Methods of Merging Multiple Maps for Computer Vision Based Tracking
CN107818592A (zh) * 2017-11-24 2018-03-20 北京华捷艾米科技有限公司 协作式同步定位与地图构建的方法、系统及交互系统
CN109141393A (zh) * 2018-07-02 2019-01-04 北京百度网讯科技有限公司 重定位方法、设备及存储介质
CN109671105A (zh) * 2018-12-19 2019-04-23 青岛小鸟看看科技有限公司 一种视觉导航系统的跟踪恢复方法和装置
CN110070580A (zh) * 2019-03-29 2019-07-30 南京华捷艾米软件科技有限公司 基于局部关键帧匹配的slam快速重定位方法及图像处理装置
JP2019133658A (ja) * 2018-01-31 2019-08-08 株式会社リコー 測位方法、測位装置及び読取り可能な記憶媒体
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN111177167A (zh) * 2019-12-25 2020-05-19 Oppo广东移动通信有限公司 增强现实的地图更新方法、装置、系统、存储与设备
CN111369628A (zh) * 2020-03-05 2020-07-03 南京华捷艾米软件科技有限公司 一种多相机集中式协同slam方法及系统
WO2020155543A1 (zh) * 2019-02-01 2020-08-06 广州小鹏汽车科技有限公司 一种slam地图拼接方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140119598A1 (en) * 2012-10-31 2014-05-01 Qualcomm Incorporated Systems and Methods of Merging Multiple Maps for Computer Vision Based Tracking
CN107818592A (zh) * 2017-11-24 2018-03-20 北京华捷艾米科技有限公司 协作式同步定位与地图构建的方法、系统及交互系统
JP2019133658A (ja) * 2018-01-31 2019-08-08 株式会社リコー 測位方法、測位装置及び読取り可能な記憶媒体
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN109141393A (zh) * 2018-07-02 2019-01-04 北京百度网讯科技有限公司 重定位方法、设备及存储介质
CN109671105A (zh) * 2018-12-19 2019-04-23 青岛小鸟看看科技有限公司 一种视觉导航系统的跟踪恢复方法和装置
WO2020155543A1 (zh) * 2019-02-01 2020-08-06 广州小鹏汽车科技有限公司 一种slam地图拼接方法及系统
CN110070580A (zh) * 2019-03-29 2019-07-30 南京华捷艾米软件科技有限公司 基于局部关键帧匹配的slam快速重定位方法及图像处理装置
CN111177167A (zh) * 2019-12-25 2020-05-19 Oppo广东移动通信有限公司 增强现实的地图更新方法、装置、系统、存储与设备
CN111369628A (zh) * 2020-03-05 2020-07-03 南京华捷艾米软件科技有限公司 一种多相机集中式协同slam方法及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
刘盛;张宇翔;徐婧婷;邹大方;陈胜勇;王振华;: "复杂场景下视觉先验信息的地图恢复SLAM", 中国图象图形学报, no. 01, 16 January 2020 (2020-01-16), pages 158 - 170 *
张剑华;王燕燕;王曾媛;陈胜勇;管秋;: "单目同时定位与建图中的地图恢复融合技术", 中国图象图形学报, no. 03, 16 March 2018 (2018-03-16), pages 372 - 383 *
曹天扬;蔡浩原;方东明;刘昶;: "基于视觉内容匹配的机器人自主定位系统", 光电工程, no. 05, 15 May 2017 (2017-05-15), pages 523 - 533 *
李富 等: "面向大范围场景的视觉SLAM方法研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 03, 15 March 2020 (2020-03-15), pages 138 - 1410 *
许晨;胡新宇;: "基于双目视觉的多机器人SLAM", 科技视界, no. 09, 25 March 2019 (2019-03-25), pages 123 - 124 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210318140A1 (en) * 2020-04-14 2021-10-14 Toyota Research Institute, Inc. Incremental map building using learnable features and descriptors
US11994408B2 (en) * 2020-04-14 2024-05-28 Toyota Research Institute, Inc. Incremental map building using learnable features and descriptors
WO2022002039A1 (zh) * 2020-06-30 2022-01-06 杭州海康机器人技术有限公司 一种基于视觉地图的视觉定位方法、装置
CN113432593A (zh) * 2021-06-25 2021-09-24 北京华捷艾米科技有限公司 集中式同步定位与地图构建方法、装置和系统
CN113537171A (zh) * 2021-09-16 2021-10-22 北京易航远智科技有限公司 一种slam地图的划分方法
CN114119761A (zh) * 2022-01-28 2022-03-01 杭州宏景智驾科技有限公司 多相机机动车定位方法和装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN112541970A (zh) 一种集中式协同SlAM中的重定位方法及装置
US9384588B2 (en) Video playing method and system based on augmented reality technology and mobile terminal
US9570111B2 (en) Clustering crowdsourced videos by line-of-sight
US20120249802A1 (en) Distributed target tracking using self localizing smart camera networks
CN110532432A (zh) 一种人物轨迹检索方法及其系统、计算机可读存储介质
CN110310326A (zh) 一种位姿数据处理方法、装置、终端及计算机可读存储介质
CN111369628A (zh) 一种多相机集中式协同slam方法及系统
CN105009120A (zh) 基于客户端-服务器的动态搜索
WO2018129794A1 (zh) 一种实时大规模场景三维扫描建模方法及系统
CN112785705B (zh) 一种位姿获取方法、装置及移动设备
CN112419233A (zh) 一种数据标注方法、装置、设备以及计算机可读存储介质
CN110889314A (zh) 图像处理方法、装置、电子设备、服务器及系统
Wen et al. Edge computing-based collaborative vehicles 3D mapping in real time
CN110514198B (zh) 一种基于计算机视觉技术的前后端架构地图定位方法
CN105353878A (zh) 现实增强信息处理方法、装置及系统
CN103901885B (zh) 信息处理方法和信息处理设备
CN112734850A (zh) 一种协同slam方法、装置、计算机设备及存储介质
Apicharttrisorn et al. Breaking edge shackles: Infrastructure-free collaborative mobile augmented reality
Duong et al. AR cloud: towards collaborative augmented reality at a large-scale
CN113432593B (zh) 集中式同步定位与地图构建方法、装置和系统
CN113808268A (zh) 一种低带宽全局一致的多机稠密建图方法
CN108206940A (zh) 视频串流的接合与传输方法、网关装置及观看装置
CN114092549A (zh) 一种动态组网协同探测系统及方法
CN106412682A (zh) 增强现实的信息传输方法
Ma et al. Mutual positioning method in unknown indoor environment based on visual image semantics

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