CN115830110B - 即时定位与地图构建方法、装置、终端设备及存储介质 - Google Patents

即时定位与地图构建方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN115830110B
CN115830110B CN202211322543.6A CN202211322543A CN115830110B CN 115830110 B CN115830110 B CN 115830110B CN 202211322543 A CN202211322543 A CN 202211322543A CN 115830110 B CN115830110 B CN 115830110B
Authority
CN
China
Prior art keywords
key frame
matching
matching result
latest
feature
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.)
Active
Application number
CN202211322543.6A
Other languages
English (en)
Other versions
CN115830110A (zh
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 Chengshi Wanglin Information Technology Co Ltd
Original Assignee
Beijing Chengshi Wanglin Information 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 Chengshi Wanglin Information Technology Co Ltd filed Critical Beijing Chengshi Wanglin Information Technology Co Ltd
Priority to CN202211322543.6A priority Critical patent/CN115830110B/zh
Publication of CN115830110A publication Critical patent/CN115830110A/zh
Application granted granted Critical
Publication of CN115830110B publication Critical patent/CN115830110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本申请提供了一种即时定位与地图构建方法、装置、终端设备及存储介质。包括:将用户主动选取的图像帧作为最新关键帧加入关键帧序列;采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对最新关键帧与参考关键帧进行特征匹配,得到最新关键帧对应的特征匹配结果;根据最新关键帧对应的特征匹配结果生成环境地图及运动轨迹。用户能够主动选择确定最新关键帧,使得确定出的关键帧更具有代表性,提升后续依赖关键帧进行的定位和建图的精度,还能采用包含基于网格的运动统计算法和其他图像匹配算法的图像匹配策略对最新关键帧进行匹配,使得匹配结果兼顾多种匹配算法的优点,提升了SLAM过程后续依赖匹配结果进行的定位和建图的效果。

Description

即时定位与地图构建方法、装置、终端设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种即时定位与地图构建方法、装置、终端设备及存储介质。
背景技术
在很多应用场景中,例如机器人导航、户型图构建等,都需要在所述空间中进行实时定位,并实时构建所处空间的地图。
相关技术中,即时定位与地图构建(Simultaneous localization and mapping,SLAM)是目前实现实时定位和实时建图的主要方案。SLAM方法大致可以分为视觉方案和激光雷达方案。在视觉SLAM方案中,能够通过摄像头拍摄周围未知环境的影像,并通过拍摄的环境影像对周围空间进行感知,对自身在当前环境中的位置进行实时确定并实时构建当前环境的地图。
现有的纯视觉SLAM方法在很多情况下不能满足使用者所需的精度要求,因此,如何提高现有的视觉SLAM方法的精度,成为了亟待解决的技术问题。
发明内容
本申请实施例提供一种即时定位与地图构建方法、装置、终端设备及存储介质,以解决现有技术中视觉SLAM方案精度不佳的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,一种即时定位与地图构建方法,所述方法包括:
将用户主动选取的图像帧作为最新关键帧加入关键帧序列;
采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果;
根据所述最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。
可选地,所述方法还包括:
获取当前时刻拍摄的当前图像帧,采用所述图像匹配策略对所述当前图像帧与关键帧序列中的参考关键帧进行特征匹配,得到所述当前图像帧对应的特征匹配结果;
在所述当前图像帧对应的特征匹配结果符合关键帧选入条件的情况下,将所述当前图像帧作为最新关键帧加入所述关键帧序列。
可选地,所述采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果,包括:
采用基于网格的运动统计算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第一匹配结果;
在所述第一匹配结果符合第一预设条件的情况下,将所述第一匹配结果确定为所述最新关键帧对应的特征匹配结果;
在所述第一匹配结果不符合第一预设条件的情况下,采用词袋模型算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第二匹配结果;
基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果。
可选地,所述基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果,包括:
在所述第二匹配结果符合第二预设条件的情况下,将所述第二匹配结果确定为所述最新关键帧对应的特征匹配结果;
在所述第二匹配结果不符合第二预设条件的情况下,采用暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
可选地,所述采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果,包括:
采用基于网格的运动统计算法、词袋模型算法和暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行同步特征匹配,,得到目标匹配结果;其中,所述目标匹配结果包括所述基于网格的运动统计算法对应的第一匹配结果、所述词袋模型算法对应的第二匹配结果和所述暴力匹配算法对应的第三匹配结果中的至少一个;
将所述目标匹配结果中符合目标预设条件的匹配结果确定为所述最新关键帧对应的特征匹配结果,并中止所述同步特征匹配。
可选地,所述方法还包括:
采用基于网格的运动统计算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第四匹配结果;
采用暴力匹配算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第五匹配结果;
基于所述第四匹配结果和所述第五匹配结果对所述最新关键帧进行闭环检测。
可选地,所述方法还包括:
在重定位线程中,采用基于网格的运动统计算法对当前图像帧与关键帧序列中的其他关键帧进行特征匹配,得到第六匹配结果;
在所述第六匹配结果的匹配特征点对数量大于预设数量的情况下,基于所述第六匹配结果对所述当前图像帧进行重定位;
在所述第六匹配结果的匹配特征点对数量小于或等于预设数量的情况下,采用词袋模型算法对当前图像帧与所述其他关键帧进行特征匹配,得到第七匹配结果,基于所述第七匹配结果对所述当前图像帧进行重定位。
可选地,所述方法还包括:
在闭环检测线程中,基于关键帧中地图点对应的金字塔层数,和所述地图点被观测到的次数,确定信息矩阵,并根据所述信息矩阵进行全局BA优化;
在闭环检测线程中,基于边的所有顶点共同观测到的地图点数量确定所述边的权重;并根据所述边的权重进行位姿图优化。
可选地,所述方法还包括:
获取环境光照强度和/或摄像头的运动速度;
在所述环境光照强度小于或等于预设光照强度,和/或所述运动速度大于或等于预设速度的情况下,向用户发送追踪丢失告警信息。
可选地,所述采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果,包括:
尝试采用航迹推算算法生成所述最新关键帧对应的位姿变化量;
在生成所述位姿变化量成功的情况下,根据所述位姿变化量生成环境地图以及运动轨迹;
在生成所述位姿变化量失败的情况下,采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
第二方面,一种即时定位与地图构建装置,所述装置包括:
关键帧模块,用于将用户主动选取的图像帧作为最新关键帧加入关键帧序列;
匹配模块,用于采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果;
生成模块,用于根据所述最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。
可选地,所述装置还包括:
当前图像帧获取模块,用于获取当前时刻拍摄的当前图像帧,采用所述图像匹配策略对所述当前图像帧与关键帧序列中的参考关键帧进行特征匹配,得到所述当前图像帧对应的特征匹配结果;
关键帧确定模块,用于在所述当前图像帧对应的特征匹配结果符合关键帧选入条件的情况下,将所述当前图像帧作为最新关键帧加入所述关键帧序列。
可选地,所述匹配模块包括:
第一匹配结果子模块,用于采用基于网格的运动统计算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第一匹配结果;
第一匹配结果确定子模块,用于在所述第一匹配结果符合第一预设条件的情况下,将所述第一匹配结果确定为所述最新关键帧对应的特征匹配结果;
第二匹配结果子模块,用于在所述第一匹配结果不符合第一预设条件的情况下,采用词袋模型算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第二匹配结果;
第二匹配子模块,用于基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果。
可选地,所述第二匹配子模块包括:
第二匹配结果确定子模块,用于在所述第二匹配结果符合第二预设条件的情况下,将所述第二匹配结果确定为所述最新关键帧对应的特征匹配结果;
暴力匹配子模块,用于在所述第二匹配结果不符合第二预设条件的情况下,采用暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
可选地,所述匹配模块包括:
目标匹配结果子模块,用于采用基于网格的运动统计算法、词袋模型算法和暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行同步特征匹配,得到目标匹配结果;其中,所述目标匹配结果包括所述基于网格的运动统计算法对应的第一匹配结果、所述词袋模型算法对应的第二匹配结果和所述暴力匹配算法对应的第三匹配结果中的至少一个;
目标匹配子模块,用于将所述目标匹配结果中符合目标预设条件的匹配结果确定为所述最新关键帧对应的特征匹配结果,并中止所述同步特征匹配。
可选地,所述装置还包括:
第四匹配结果模块,用于采用基于网格的运动统计算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第四匹配结果;
第五匹配结果模块,用于采用暴力匹配算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第五匹配结果;
闭环检测模块,用于基于所述第四匹配结果和所述第五匹配结果对所述最新关键帧进行闭环检测。
可选地,所述装置还包括:
第六匹配结果模块,用于在重定位线程中,采用基于网格的运动统计算法对当前图像帧与关键帧序列中的其他关键帧进行特征匹配,得到第六匹配结果;
第一重定位模块,用于在所述第六匹配结果的匹配特征点对数量大于预设数量的情况下,基于所述第六匹配结果对所述当前图像帧进行重定位;
第二重定位模块,用于在所述第六匹配结果的匹配特征点对数量小于或等于预设数量的情况下,采用词袋模型算法对当前图像帧与所述其他关键帧进行特征匹配,得到第七匹配结果,基于所述第七匹配结果对所述当前图像帧进行重定位。
可选地,所述装置还包括:
BA优化模块,用于在闭环检测线程中,基于关键帧中地图点对应的金字塔层数,和所述地图点被观测到的次数,确定信息矩阵,并根据所述信息矩阵进行全局BA优化;
位姿图优化模块,用于在闭环检测线程中,基于边的所有顶点共同观测到的地图点数量确定所述边的权重;并根据所述边的权重进行位姿图优化。
可选地,所述装置还包括:
获取模块,用于获取环境光照强度和/或摄像头的运动速度;
告警模块,用于在所述环境光照强度小于或等于预设光照强度,和/或所述运动速度大于或等于预设速度的情况下,向用户发送追踪丢失告警信息。
可选地,所述匹配模块包括:
位姿变化量子模块,用于尝试采用航迹推算算法生成所述最新关键帧对应的位姿变化量;
生成子模块,用于在生成所述位姿变化量成功的情况下,根据所述位姿变化量生成环境地图以及运动轨迹;
匹配子模块,用于在生成所述位姿变化量失败的情况下,采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
第三方面,本申请实施例另外提供了一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前第一方面所述的即时定位与地图构建方法的步骤。
第四方面,本申请实施例另外提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前第一方面所述的即时定位与地图构建方法的步骤。
在本申请实施例中,包括:将用户主动选取的图像帧作为最新关键帧加入关键帧序列;采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到最新关键帧对应的特征匹配结果;根据最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。在SLAM过程中,能够根据用户的主动选择确定最新关键帧,使得确定出的关键帧更具有代表性,提升了后续依赖关键帧进行的定位和建图的精度,同时,还能够采用包含基于网格的运动统计算法和其他图像匹配算法的图像匹配策略对最新关键帧与参考关键帧进行匹配,使得匹配结果能够兼顾多种匹配算法的优点,从而提升了SLAM过程后续依赖匹配结果进行的定位和建图的效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种即时定位与地图构建方法的步骤流程图;
图2是本申请实施例提供的另一种即时定位与地图构建方法的步骤流程图;
图3是本申请实施例提供的一种闭环检测的步骤流程图;
图4是本申请实施例提供的一种重定位的步骤流程图;;
图5是本申请实施例提供的一种即时定位与地图构建装置的结构示意图;
图6是本申请实施例提供的一种终端设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
详细介绍本申请实施例提供的一种即时定位与地图构建方法,应用于电子设备。
在介绍具体实施方式之前,为了便于理解,首先对本申请涉及的一些相关概念进行介绍。
即时定位与地图构建(Simultaneous localization and mapping,SLAM):是实现自主导航的基本问题与研究热点。它的目标是解决在进入未知环境后,如何感知周围环境构建增量式地图,并同时进行自身定位的问题。可以利用相机拍摄的图像这一外部信息来确定环境中机器人、车辆或者移动相机在环境中的位置,同时能够建立已探索区域的地图。
基于网格的运动统计(Grid-based Motion Statistics,GMS):是一种对图像进行匹配的方法,可以找出两张图像中特征之间的差异,从而确定拍摄两者图像的摄像装置在空间上的变化情况。该方法可以迅速剔除错误的匹配,从而提高匹配的稳定性。
位姿:位置和姿态,位置为坐标系中x,y,z三个方向的平移,姿态为坐标系中x,y,z三个方向的旋转。
关键帧(Key Frame):是从相机拍摄的图像帧序列中选取的用于后续处理的特定帧,由于图像帧众多,如果对所有帧都进行处理会浪费大量的运算资源,因此需要从众多的图像帧中选取出一些具有代表性的关键帧,关键帧可以被用来有效估计相机的位姿并且减少信息的冗余。
图优化(Graph Optimization):图优化是把优化问题表现成图(Graph)的一种方式。这里的图是图论意义上的图。一个图由若干个顶点(Vertex),以及连接着这些节点的边(Edge)组成。进而,用顶点表示优化变量,用边表示误差项。于是,对任意一个上述形式的非线性最小二乘问题,我们可以构建与之对应的一个图。
光束平差法(Bundle Adjustment,BA):是指从视觉重建中提炼出最优的3D模型和相机参数(包括内参数和外参数),从每一个特征点反射出来的几束光线(bundles oflightrays),在把相机姿态和特征点空间位置做出最优的调整(adjustment))之后,最后收束到相机光心的这个过程。
本申请实施例是在传统SLAM上的改进,提供了一种即时定位与地图构建方法和装置,能够根据用户的主动操作确定关键帧,并采用基于网格的运动统计算法进行SLAM过程中的帧匹配操作,再根据匹配结果生成环境地图和运动轨迹,提升SLAM算法的鲁棒性和准确性。
参照图1,示出了本申请实施例提供的一种即时定位与地图构建方法的步骤流程图。
步骤101,将用户主动选取的图像帧作为最新关键帧加入关键帧序列。
在本申请实施例中,用户可以使搭载摄像头的电子设备在需要建图的环境(例如房间、小区、道路等)中进行移动,摄像头实时拍摄周围环境的图像,并将这些图像输入SLAM算法中,从而构建用户所在空间的环境地图和电子设备在用户所在空间中的运动轨迹。
其中,电子设备可以是搭载摄像头的移动终端(例如智能手机、笔记本电脑等)、相机(例如单反相机、全景相机等),本申请实施例对电子设备并不进行具体限定。摄像头可以是基于可见光、红外光、紫外光等的光学摄像头。摄像头拍摄的图像可以是广角图像、长焦图像、全景图像等,本申请实施例对图像的取景范围不进行具体限定。
在SLAM过程中,可以对于摄像头拍摄的每一帧图像帧,需要判断是否将其作为关键帧,在传统的SLAM方法中,通常由SLAM通过特定的算法根据图像帧与历史关键帧之间的差异,自动判断图像帧是否具有代表性,从而自动确定是否将图像帧作为关键帧,但是这种选取方式往往并不准确,例如,用户通过SLAM方法在室内构建房屋的地图或三维模型,传统的SLAM方法往往会忽略比较关键的拍摄位置的图像帧,例如,用户在不同房间之间走动,但某个房间内的所有图像帧均没有被选取成为关键帧,导致在这个房间内的定位不准等问题;再例如用户经过某些关键位置(例如房屋中心点)时记录的图像帧并没有被选取为关键帧,同样会导致定位不准的问题发生。
因此,在本申请实施例中,用户可以主动选取图像帧,并将用户主动选取的图像帧作为关键帧加入关键帧序列,从而在关键帧的选取机制中引入人工判断的方案,提升关键帧的代表性,有助于提升SLAM方案的准确性。
具体地,用户可以查看已经拍摄到的历史图像帧,并从历史图像帧中选取具有代表性的图像帧作为最新关键帧,加入关键帧序列;;也可以由用户在SLAM执行过程中,通过拍摄指令主动拍摄图像帧,从而将用户当前主动拍摄的图像帧直接作为最新关键帧加入关键帧序列中。
步骤102,采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
在SLAM的处理过程中,会确定每个关键帧对应的拍摄位姿,具体为,每次确定出最新关键帧后,会将最新关键帧与关键帧序列中的参考关键帧进行特征匹配,从而根据关键帧之间的特征匹配结果,确定出最新关键帧对应的拍摄位姿。
在本申请实施例中,确定出最新关键帧之后,可以采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到最新关键帧对应的特征匹配结果,其中,特征匹配结果可以包含最新关键帧与参考关键帧之间能够匹配的特征点数量,以及特征点之间的相对空间关系等。
在基于网格的运动统计算法的匹配过程中,可以先对需要匹配的两帧图像(图像Ia和图像Ib)分别提取N个关键点和M个描述子;对两帧图像的特征点进行普通模式匹配(BF匹配),找到了图像Ia中每个特征点对应于图像Ib中的最邻近的特征点。由于运动的平滑性,在正确匹配的特征点附近的正确匹配特征点对数应该大于错误匹配的特征点附近的正确匹配特征点对数。这样就可以根据BF匹配好的特征点附近的正确匹配特征点对数n与匹配阈值来判断该点是否被正确匹配。
在本申请实施例中,图像匹配策略可以不止包含上述基于网格的运动统计算法,还可以包含有可以用于图像匹配的其他图像匹配算法,从而使本申请实施例的图像帧匹配过程可以融合各个算法的优势,提升匹配效率和/或匹配精度。其中,上述其他图像匹配算法可以包括词袋模型算法(BOW)、暴力匹配算法(bruteforce)等。
步骤103,根据所述最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。
SLAM提供有局部建图线程(Local mapping thread),在每次得到最新关键帧之后,可以将最新关键帧输入到局部建图线程中,局部建图线程可以基于最新关键帧与最新关键帧对应的特征匹配结果,完善正在实时建立的环境地图。
SLAM还提供有追踪线程(Traking thread),在每次得到最新关键帧之后,可以将最新关键帧输入到追踪线程中,追踪线程可以基于最新关键帧对应的特征匹配结果,对最新关键帧进行位姿追踪,从而确定出最新关键帧在空间中对应的位姿信息,可以将最新关键帧对应的位姿信息加入由关键帧序列中其他关键帧的位姿信息形成的运动轨迹中,对运动路径进行完善,从而实现根据相机的运动情况实时完善并生成最新的运动轨迹。
需要说明的是,将关键帧与参考关键帧的匹配过程可以在上述局部建图线程和追踪线程之外完成,上述关键帧与参考关键帧的匹配过程可以也可以在局部建图线程和追踪线程之内完成,因此,在本申请实施例中,在局部建图线程和追踪线程的关键帧匹配过程中,可以采用本申请上述步骤103提供的关键帧匹配方法得到最新关键帧对应的特征匹配结果。
需要说明的是,在本申请实施例中,环境地图可以2为平面图,例如二维户型图,也可以是三维模型地图,例如整个房间的三维虚拟现实影像(VR影像)。在得到运动轨迹后,可以实时将运动轨迹叠加在生成的环境地图上叠加展示给用户,以便用户根据运动轨迹明确自身所处于当前环境中的实时位置,并根据运动轨迹获取当前环境中哪些区域已探明,哪些区域未探明。
综上所述,本申请提出的即时定位与地图构建方法,包括:将用户主动选取的图像帧作为最新关键帧加入关键帧序列;采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到最新关键帧对应的特征匹配结果;根据最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。在SLAM过程中,能够根据用户的主动选择确定最新关键帧,使得确定出的关键帧更具有代表性,提升了后续依赖关键帧进行的定位和建图的精度,同时,还能够采用包含基于网格的运动统计算法和其他图像匹配算法的图像匹配策略对最新关键帧与参考关键帧进行匹配,使得匹配结果能够兼顾多种匹配算法的优点,从而提升了SLAM过程后续依赖匹配结果进行的定位和建图的效果。
实施例二
详细介绍本申请实施例提供的一种即时定位与地图构建方法,应用于电子设备。
参照图2,图2中示出了本申请实施例提供的另一种即时定位与地图构建方法的步骤流程图,可以包括以下步骤:
步骤201,获取当前时刻拍摄的当前图像帧,采用所述图像匹配策略对所述当前图像帧与关键帧序列中的参考关键帧进行特征匹配,得到所述当前图像帧对应的特征匹配结果。
在SLAM过程中,摄像头会以一定的时间间隔在各个时刻拍摄图像,得到每个时刻对应的当前图像帧,由于拍摄图像的频率较高,因此当前图像帧的数量较多,为了降低后续运算的负担,提高SLAM的效率,需要对每个获取到的当前图像帧进行判断,以确定是否将该当前图像帧作为关键帧加入关键帧序列。
通常会将当前图像帧与关键帧序列中的参考关键帧进行特征匹配,得到特征匹配结果,再根据特征匹配结果确定是否将当前图像帧加入关键帧序列。在本申请实施例中,可以采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对每个当前图像帧与关键帧序列中的参考帧进行特征匹配,得到每个当前图像帧对应的特征匹配结果。
步骤202,在所述当前图像帧对应的特征匹配结果符合关键帧选入条件的情况下,将所述当前图像帧作为最新关键帧加入所述关键帧序列。
得到当前图像帧对应的特征匹配结果后,可以判断当前图像帧是否符合预设的关键帧选入条件,再当前图像帧对应的特征匹配结果符合关键帧选入条件的情况下,可以将该当前图像帧确定为关键帧,并将该当前图像帧作为最新关键帧加入关键帧序列。其中,特征匹配结果可以包含当前图像帧与参考关键帧之间能够匹配的特征点数量,以及特征点之间的相对空间关系等。关键帧选入条件可以包括设定数量条件和/或设定空间关系条件等。
举例来说,在关键帧选入条件包含设定数量条件,且设定数量条件为大于10的情况下,若某个当前图像帧与参考关键帧的匹配结果中,匹配点的数量为20,该匹配点的数量符合上述设定数量条件,进而该匹配结果符合上述关键帧选入条件,则可以将上述当前图像帧作为最新关键帧加入关键帧序列。
步骤203,将用户主动选取的图像帧作为最新关键帧加入关键帧序列。
此步骤可参见上述步骤101,本申请实施例不再赘述。
步骤204,尝试采用航迹推算算法生成所述最新关键帧对应的位姿变化量。
在本申请实施例中,为了提升SLAM的处理效率,可以先采用航迹推算算法生成最新关键帧对应的位姿变化量,再根据最新关键帧对应的位姿变化量生成环境地图以及运动轨迹。通过航迹推算算法,无需对最新关键帧的图像内容进行匹配,即可确定出拍摄最新关键帧时摄像头在空间中的位姿,相较于拍摄历史关键帧时摄像头在空间中位姿之间的位姿变化量,从而可以直接根据该位姿变化量生成环境地图和运动轨迹,有助于提升SLAM过程的效率。
航迹推算算法能够利用最新关键帧的拍摄时刻的传感器采集位姿,与历史关键帧的拍摄时刻的传感器采集位姿,确定出最新关键帧的拍摄时刻与历史关键帧的拍摄时刻之间的位姿变化量。其中,传感器采集位姿是根据位姿传感器的读数(例如卫星定位、陀螺仪、加速度传感器、电子罗盘等)确定出的。
步骤205,在生成所述位姿变化量成功的情况下,根据所述位姿变化量生成环境地图以及运动轨迹。
在某些情况下,并不能成功进入航迹推算算法,导致无法通过航迹推算算法得到最新关键帧对应的位姿变化量,例如传感器未校准、传感器故障、定位信号较弱导致定位误差较大等情况。因此,在本申请实施例中,可以仅尝试执行航迹推算算法,如果航迹推算算法能够成功(能够获取到最新关键帧的位姿变化量)输出结果,则在后续SLAM过程中采用得到的位姿变化量生成环境地图和运动轨迹。而如果航迹推算算法不能成功输出结果或通过航迹推算算法输出的位姿变化量不可靠,则可以放弃航迹推算方案,进入步骤206中,采用图像匹配的方案进行图像特征匹配,根据特征匹配结果生成环境地图和运动轨迹。
步骤206,在生成所述位姿变化量失败的情况下,采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
在本申请实施例中,图像匹配策略可以由基于网格的运动统计算法以及至少一种其他图像匹配算法构成,构成的方式可以是串联模式,也可以是并联模式。在串联模式下,先尝试采用其中一种算法进行匹配,如果匹配不成功,再切换到另一种算法;在并联模式下,可以同步采用其中的多种算法进行匹配,得到多个匹配结果,将这些匹配结果合成为最终需要的匹配结果。
具体的图像匹配策略在串联模式下的设定可以参照以下子步骤2061至子步骤2064。
可选地,步骤206可以包括:
子步骤2061,采用基于网格的运动统计算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第一匹配结果。
在本申请实施例中,在执行通过本申请示出的图像匹配策略对最新关键帧与参考关键帧进行匹配的过程中,可以首先采用基于网格的运动统计算法进行匹配操作,得到第一匹配结果。
子步骤2062,在所述第一匹配结果符合第一预设条件的情况下,将所述第一匹配结果确定为所述最新关键帧对应的特征匹配结果。
还可以预先设置用于对第一匹配结果进行判断的第一预设条件,第一预设条件可以包含匹配特征点对数量条件等。在得到第一匹配结果后,可以判断第一匹配结果是否符合第一预设条件,若符合,则可以将该第一匹配结果确定为最新关键帧的特征匹配结果。
举例来说,在第一预设条件包含匹配特征点对数量大于10这一条件的情况下,对最新关键帧的第一匹配结果中的匹配特征点对的数量进行统计后,确定该第一匹配结果中包含20个特征点对,则可以确定第一匹配结果符合第一预设条件,可以将该第一匹配结果作为最新关键帧的特征匹配结果。
子步骤2063,在所述第一匹配结果不符合第一预设条件的情况下,采用词袋模型算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第二匹配结果。
如果一个最新关键帧的第一匹配结果不符合第一预设条件,则所说明该最新关键帧不适用于基于网格的运动统计算法,通过基于网格的运动统计算法匹配得到的第一匹配结果不能满足后续的处理需求,此时可以选取其他图像匹配算法(例如词袋模型算法)重新对最新关键帧与参考关键帧进行特征匹配,得到第二匹配结果,以得到更好的特征匹配结果。
子步骤2064,基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果。
在图像匹配策略只包含两种匹配算法的情况下,可以直接将最新关键帧的第二匹配结果作为最新关键帧对应的特征匹配结果。在本申请实施例中,图像匹配策略还可以包含第三种匹配算法(例如暴力匹配算法),在得到第二匹配结果后,还可以采用如下子步骤A1至子步骤A2的方法进一步处理。
可选地,步骤2064可以包括:
子步骤A1,在所述第二匹配结果符合第二预设条件的情况下,将所述第二匹配结果确定为所述最新关键帧对应的特征匹配结果。
还可以预先设置用于对第二匹配结果进行判断的第二预设条件,第二预设条件可以包含匹配特征点对数量条件等。在得到第二匹配结果后,可以判断第二匹配结果是否符合第二预设条件,若符合,则可以将该第二匹配结果确定为最新关键帧的特征匹配结果。
举例来说,在第二预设条件包含匹配特征点对数量大于15这一条件的情况下,对最新关键帧的第二匹配结果中的匹配特征点对的数量进行统计后,确定该第二匹配结果中包含25个特征点对,则可以确定第二匹配结果符合第二预设条件,可以将该第二匹配结果作为最新关键帧的特征匹配结果。
子步骤A2,在所述第二匹配结果不符合第二预设条件的情况下,采用暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
如果一个最新关键帧的第二匹配结果不符合第二预设条件,则所说明该最新关键帧不适用于基于网格的运动统计算法,通过基于网格的运动统计算法匹配得到的第二匹配结果不能满足后续的处理需求,此时可以选取暴力匹配算法重新对最新关键帧与参考关键帧进行特征匹配,得到特征匹配结果。
通常来说,基于网格的运动统计算法的匹配精度较高,词袋模型算法可以处理某些基于网格的运动统计算法无法较好处理的最新关键帧,而暴力匹配算法的适用范围较广,因此,本申请实施例采用上述图像匹配策略对最新关键帧与参考关键帧进行匹配,不仅能够保证较高的匹配精度,还能保证较广的适用范围。
可选地,步骤206还可以包括:
子步骤2065,采用基于网格的运动统计算法、词袋模型算法和暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行同步特征匹配,得到目标匹配结果;其中,所述目标匹配结果包括所述基于网格的运动统计算法对应的第一匹配结果、所述词袋模型算法对应的第二匹配结果和所述暴力匹配算法对应的第三匹配结果中的至少一个。
在本申请实施例中,图像匹配策略中的各个匹配算法还可以并行设置,以使各个匹配算法可以同步进行匹配,提升匹配效率。
具体地,可以采用基于网格的运动统计算法、词袋模型算法和暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行同步特征匹配,得到包含有基于网格的运动统计算法对应的第一匹配结果、词袋模型算法对应的第二匹配结果和暴力匹配算法对应的第三匹配结果中至少一个匹配结果的目标匹配结果。
由于采用基于网格的运动统计算法、词袋模型算法和暴力匹配算法的匹配耗时不同,同步开始的三种算法得到对应匹配结果的时间不同,因此,随着时间的推移,目标匹配结果中最开始只包含一种匹配结果,再包含两种匹配结果,最后会包含上述三种匹配算法对应的三种匹配结果。
子步骤2066,将所述目标匹配结果中符合目标预设条件的匹配结果确定为所述最新关键帧对应的特征匹配结果,并中止所述同步特征匹配。
目标匹配结果中每增加一种匹配结果时,可以将目标匹配结果中新增的匹配结果与目标预设条件进行匹配,如果新增的匹配结果与目标预设条件相匹配,则可以直接将该新增的匹配结果确定为最新关键帧对应的特征匹配结果,并终止上述同步特征匹配的过程;如果新增的匹配结果与目标预设条件不匹配,则可以继续等待下一个新增的匹配结果,并重复执行上述步骤。从而可以提高匹配效率,在最短时间内获取到符合需求的特征匹配结果。
步骤207,获取环境光照强度和/或摄像头的运动速度。
通常来说,在SLAM过程中,如果拍摄的图像帧亮度不足,容易导致图像匹配困难,从而影响SLAM效果,如果摄像头的运动速度较快,会容易导致追踪失败,也会影像SLAM效果。因此,在本申请实施例中,还可以获取环境光照强度和/或摄像头的运动速度,并在环境光照强度不足和/或摄像头的运动速度过快时提醒用户。
具体地,对于环境光照强度,可以在SLAM过程中通过环境光传感器获取环境光照强度,也可以获取摄像头拍摄的当前图像帧的图像亮度和拍摄参数(例如快门时间、光圈大小、感光度等),通过当前图像帧的图像亮度和拍摄参数计算当前图像帧拍摄时刻的环境光照强度。
对于摄像头的运动速度,可以通过卫星定位、惯性定位等定位方式确定摄像头的运动速度,也可以通过SLAM计算出的关键帧对应的定位信息确定摄像头的运动速度,本申请对此并不进行具体限定,技术人员可以根据实际需要灵活选取摄像头运动速度的获取方式。
步骤208,在所述环境光照强度小于或等于预设光照强度,和/或所述运动速度大于或等于预设速度的情况下,向用户发送追踪丢失告警信息。
在本申请实施例中,可以预先设置预设光照强度,将获取到的环境光照强度与预设光照强度进行比对,如果环境光照强度小于或等于预设光照强度,则说明当前光线不足,可能影响SLAM效果,可以向用户发出光线不足的提示信息,以提醒用户调整环境光照从而提升SLAM效果;还可以预先设置预设速度,将获取到的运动速度与预设速度进行比对,如果运动速度大于或等于预设速度,则说明当前摄像头速度过快,可能影响SLAM效果,可以向用户发出速度过快的提示信息,以提醒用户降低运动速度从而提升SLAM效果。
步骤209,根据所述最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。
此步骤可参见步骤103,本申请实施例不再赘述。
在SLAM的运行过程中,通常还包含有闭环检测线程,,闭环检测线程可以将最新关键帧与闭环候选帧进行匹配,从而判断当前是否回到历史上经过的位置,进而提升SLAM过程的准确性。参照图3,图3中示出了本申请实施例提供的一种闭环检测的步骤流程图,可以包括以下步骤:
步骤301,采用基于网格的运动统计算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第四匹配结果。
在闭环检测线程中,同样包含帧间特征匹配的环节,针对每一个最新关键帧,可以采用基于网格的运动统计算法对最新关键帧与闭环候选帧进行特征匹配,得到第四匹配结果。
步骤302,采用暴力匹配算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第五匹配结果。
在闭环检测线程中,针对每一个最新关键帧,可以采用暴力匹配算法对最新关键帧与闭环候选帧进行特征匹配,得到第五匹配结果。
需要说明的是,上述得到第四匹配结果的匹配过程可以与上述得到第五匹配结果的匹配过程串行设置,以降低处理器负载;得到第四匹配结果的匹配过程与得到第五匹配结果的匹配过程也可以并行设置,以提升匹配速度。
步骤303,基于所述第四匹配结果和所述第五匹配结果对所述最新关键帧进行闭环检测。
在得到最新关键帧对应的第四匹配结果和第五匹配结果后,可以将第四匹配结果和第五匹配结果进行合并,得到应用于闭环检测的闭环检测匹配结果,再根据该闭环检测匹配结果对最新关键帧进行闭环检测。
需要说明的是,一个最新关键帧对应的第四匹配结果和第五匹配结果中可能包含重复的匹配特征点对,在融合得到闭环检测匹配结果时,可以先第四匹配结果和第五匹配结果中的匹配特征点对进行去重操作。
通过第四匹配结果和第五匹配结果可以合成匹配特征点对更为丰富的闭环检测匹配结果,通过该闭环检测匹配结果进行闭环检测,有助于提升闭环检测的准确性。
步骤304,在闭环检测线程中,基于关键帧中地图点对应的金字塔层数,和所述地图点被观测到的次数,确定信息矩阵,并根据所述信息矩阵进行全局BA优化。
在SLAM的闭环检线程中,还包含优化过程,在本申请实施例的优化过程中,可以采用改进的BA优化算法进行优化,具体改进如下:
可以根据关键帧中地图点(MapPoint)对应的金字塔层数、以及地图点被观测到的次数(observations.size),确定信息矩阵,并采用该信息矩阵进行全局BA优化。其中,地图点是指关键帧中的点在三维空间中的三维点,地图点,被观测到的次数可以通过SLAM程序中的observations.size()函数进行获取。
具体地,针对关键帧中的地图点,可以首选确定地图点对应的金字塔层数,以及地图点被观测到的次数,再对金字塔层数和观测到的次数进行求和,将求和结果作为元素值构建信息矩阵。以防止后续鲁棒核函数(robust kernel)根据信息矩阵计算出的误差过大,从而提升优化过程的精度。
进一步地,由于地图点被观测到的次数取值范围通常较大,为了避免信息矩阵差异过大,导致优化结果不理想,还可以采用tanh等曲线对上述地图点被观测到的次数进行约束,在采用tanh对上述地图点被观测到的次数进行约束的情况下,上述信息矩阵中的元素值可以采用如下公式1计算:
A=tanh(observations.size)+landmark.octave 公式1
其中,tanh表示约束曲线,observations.size表示地图点被观测到的次数,landmark.octave表示地图点对应的金字塔层数。
步骤305,在闭环检测线程中,基于边的所有顶点共同观测到的地图点数量确定所述边的权重;并根据所述边的权重进行位姿图优化。
在闭环检测的优化过程中,还可以采用位姿图优化算法进行优化,所谓的图优化,就是把一个常规的优化问题,以图(Graph)的形式来表述。图是由顶点(Vertex)和边(Edge)组成的结构。在SLAM里,图优化一般分解为两个任务:构建图,摄像头位姿作为顶点,位姿间关系作为边;优化图,调整摄像头的位姿(顶点)来尽量满足边的约束,使得误差最小。在本申请实施例中,还可以采用改进的位姿图优化算法进行优化,具体改进如下:
对于位姿图中的每一条边,可以获取边的所有顶点共同观测到的地图点的数量,并将该数量确定为边的权重,再基于上述方法确定出的边的权重执行位姿图优化过程,以提高优化效果,同时防止后续鲁棒核函数(robust kernel)计算出的误差过大。
在SLAM的运行过程中,通常还包含有重定位线程,在跟踪线程跟踪失败(例如当前图像帧与参考关键帧之间的匹配特征点对数量过少)的情况下,可以进入重定位线程,对跟踪状态进行挽回。参照图4,图4中示出了本申请实施例提供的一种重定位的步骤流程图,可以包括以下步骤:
步骤401,在重定位线程中,采用基于网格的运动统计算法对当前图像帧与关键帧序列中的其他关键帧进行特征匹配,得到第六匹配结果。
在重定位线程中,同样需要对当前图像帧和关键帧序列中的关键帧进行特征匹配,根据特征匹配结果进行重定位。
在本申请实施例提供的重定位线程中,可以采用基于网格的运动统计算法对当前图像帧与关键帧序列中的其他关键帧进行特征匹配,得到第六匹配结果。
步骤402,在所述第六匹配结果的匹配特征点对数量大于预设数量的情况下,基于所述第六匹配结果对所述当前图像帧进行重定位。
在重定位线程中,如果当前图像帧与关键帧序列中的关键帧之间的特征匹配结果中匹配特征点对数量较少,则重定位很难成功,而如果匹配特征点对数量较多,则重定位的成功率较高。
因此,在本申请实施例中,可以判断第六匹配结果中的匹配特征点对是否足够,如果第六匹配结果中的匹配特征点对数量足够,则可以直接采用第二匹配结果继续进行后续的重定位流程。具体地,可以预先设置合适的预设数量,在第六匹配结果中的匹配特征点对的数量大于上述预设数量的情况下,确定第六匹配结果中的匹配特征点对的数量足够。
步骤403,在所述第六匹配结果的匹配特征点对数量小于或等于预设数量的情况下,采用词袋模型算法对当前图像帧与所述其他关键帧进行特征匹配,得到第七匹配结果,基于所述第七匹配结果对所述当前图像帧进行重定位。
如果第六匹配结果中的匹配特征点对数量不足,则说明基于网格的运动统计算法此时不能发挥较好的效果,可以继续采用词袋模型算法重新对当前图像帧与其他关键帧进行特征匹配,得到第七匹配结果,并基于第七匹配结果对当前图像帧进行后续重定位操作。这样,在保证较高匹配精度的情况下,还能保证良好的适用范围。
需要说明的是,对于重定位线程中的图像匹配,也可以采用上述步骤中的图像匹配策略,本申请实施例不再赘述。
综上所述,本申请提出的另一种即时定位与地图构建方法,包括:将用户主动选取的图像帧作为最新关键帧加入关键帧序列;采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到最新关键帧对应的特征匹配结果;根据最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。在SLAM过程中,能够根据用户的主动选择确定最新关键帧,使得确定出的关键帧更具有代表性,提升了后续依赖关键帧进行的定位和建图的精度,同时,还能够采用包含基于网格的运动统计算法和其他图像匹配算法的图像匹配策略对最新关键帧与参考关键帧进行匹配,使得匹配结果能够兼顾多种匹配算法的优点,从而提升了SLAM过程后续依赖匹配结果进行的定位和建图的效果,此外本申请在图像匹配过程中采用多种匹配算法,可以适应更为复杂的环境,在SLAM过程中不容易丢失追踪进度,降低了SLAM方案的丢失率,提高了整体方案的鲁棒性。
实施例三
详细介绍本申请实施例提供的一种即时定位与地图构建装置。
参照图5,示出了本申请实施例提供的一种即时定位与地图构建装置的结构示意图,如图5所示:
本申请实施例的即时定位与地图构建装置包括:关键帧模块501,匹配模块502和生成模块503。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
关键帧模块501,用于将用户主动选取的图像帧作为最新关键帧加入关键帧序列;
匹配模块502,用于采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果;
生成模块503,用于根据所述最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。
可选地,所述装置还包括:
当前图像帧获取模块,用于获取当前时刻拍摄的当前图像帧,采用所述图像匹配策略对所述当前图像帧与关键帧序列中的参考关键帧进行特征匹配,得到所述当前图像帧对应的特征匹配结果;
关键帧确定模块,用于在所述当前图像帧对应的特征匹配结果符合关键帧选入条件的情况下,将所述当前图像帧作为最新关键帧加入所述关键帧序列。
可选地,所述匹配模块包括:
第一匹配结果子模块,用于采用基于网格的运动统计算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第一匹配结果;
第一匹配结果确定子模块,用于在所述第一匹配结果符合第一预设条件的情况下,将所述第一匹配结果确定为所述最新关键帧对应的特征匹配结果;
第二匹配结果子模块,用于在所述第一匹配结果不符合第一预设条件的情况下,采用词袋模型算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第二匹配结果;
第二匹配子模块,用于基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果。
可选地,所述第二匹配子模块包括:
第二匹配结果确定子模块,用于在所述第二匹配结果符合第二预设条件的情况下,将所述第二匹配结果确定为所述最新关键帧对应的特征匹配结果;
暴力匹配子模块,用于在所述第二匹配结果不符合第二预设条件的情况下,采用暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
可选地,所述匹配模块包括:
目标匹配结果子模块,用于采用基于网格的运动统计算法、词袋模型算法和暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行同步特征匹配,得到目标匹配结果;其中,所述目标匹配结果包括所述基于网格的运动统计算法对应的第一匹配结果、所述词袋模型算法对应的第二匹配结果和所述暴力匹配算法对应的第三匹配结果中的至少一个;
目标匹配子模块,用于将所述目标匹配结果中符合目标预设条件的匹配结果确定为所述最新关键帧对应的特征匹配结果,并中止所述同步特征匹配。
可选地,所述装置还包括:
第四匹配结果模块,用于采用基于网格的运动统计算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第四匹配结果;
第五匹配结果模块,用于采用暴力匹配算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第五匹配结果;
闭环检测模块,用于基于所述第四匹配结果和所述第五匹配结果对所述最新关键帧进行闭环检测。
可选地,所述装置还包括:
第六匹配结果模块,用于在重定位线程中,采用基于网格的运动统计算法对当前图像帧与关键帧序列中的其他关键帧进行特征匹配,得到第六匹配结果;
第一重定位模块,用于在所述第六匹配结果的匹配特征点对数量大于预设数量的情况下,基于所述第六匹配结果对所述当前图像帧进行重定位;
第二重定位模块,用于在所述第六匹配结果的匹配特征点对数量小于或等于预设数量的情况下,采用词袋模型算法对当前图像帧与所述其他关键帧进行特征匹配,得到第七匹配结果,基于所述第七匹配结果对所述当前图像帧进行重定位。
可选地,所述装置还包括:
BA优化模块,用于在闭环检测线程中,基于关键帧中地图点对应的金字塔层数,和所述地图点被观测到的次数,确定信息矩阵,并根据所述信息矩阵进行全局BA优化;
位姿图优化模块,用于在闭环检测线程中,基于边的所有顶点共同观测到的地图点数量确定所述边的权重;并根据所述边的权重进行位姿图优化。
可选地,所述装置还包括:
获取模块,用于获取环境光照强度和/或摄像头的运动速度;
告警模块,用于在所述环境光照强度小于或等于预设光照强度,和/或所述运动速度大于或等于预设速度的情况下,向用户发送追踪丢失告警信息。
可选地,所述匹配模块包括:
位姿变化量子模块,用于尝试采用航迹推算算法生成所述最新关键帧对应的位姿变化量;
生成子模块,用于在生成所述位姿变化量成功的情况下,根据所述位姿变化量生成环境地图以及运动轨迹;
匹配子模块,用于在生成所述位姿变化量失败的情况下,采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
综上,本申请提出的一种即时定位与地图构建装置,包括:关键帧模块,用于将用户主动选取的图像帧作为最新关键帧加入关键帧序列;匹配模块,用于采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到最新关键帧对应的特征匹配结果;生成模块,用于根据最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹。在SLAM过程中,能够根据用户的主动选择确定最新关键帧,使得确定出的关键帧更具有代表性,提升了后续依赖关键帧进行的定位和建图的精度,同时,还能够采用包含基于网格的运动统计算法和其他图像匹配算法的图像匹配策略对最新关键帧与参考关键帧进行匹配,使得匹配结果能够兼顾多种匹配算法的优点,从而提升了SLAM过程后续依赖匹配结果进行的定位和建图的效果,此外本申请在图像匹配过程中采用多种匹配算法,可以适应更为复杂的环境,在SLAM过程中不容易丢失追踪进度,降低了SLAM方案的丢失率,提高了整体方案的鲁棒性。
实施例四
图6为实现本申请各个实施例的一种终端设备的硬件结构示意图。
该终端设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本申请实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本申请实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
终端设备通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与终端设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
终端设备600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在终端设备600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现终端设备的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与终端设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备600内的一个或多个元件或者可以用于在终端设备600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
终端设备600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,终端设备600包括一些未示出的功能模块,在此不再赘述。
优选的,本申请实施例还提供了一种终端设备,包括::处理器610,存储器609,存储在存储器609上并可在处理器610上运行的计算机程序,该计算机程序被处理器610执行时实现上述即时定位与地图构建方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述即时定位与地图构建方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
本领域普通技术人员可以意识到,结合本申请实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种即时定位与地图构建方法,其特征在于,所述方法包括:
将用户主动选取的图像帧作为最新关键帧加入关键帧序列;
采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果;
根据所述最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹;
其中,所述采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果,包括:
采用基于网格的运动统计算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第一匹配结果;
在所述第一匹配结果符合第一预设条件的情况下,将所述第一匹配结果确定为所述最新关键帧对应的特征匹配结果;
在所述第一匹配结果不符合第一预设条件的情况下,采用词袋模型算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第二匹配结果;
基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果;
其中,所述基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果,包括:
在所述第二匹配结果符合第二预设条件的情况下,将所述第二匹配结果确定为所述最新关键帧对应的特征匹配结果;
在所述第二匹配结果不符合第二预设条件的情况下,采用暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果;
所述运动轨迹为电子设备在用户所在空间中的运动轨迹,所述运动轨迹叠加在所述生成环境地图展示给用户,以供用户根据所述运动轨迹明确自身所处于当前环境中的实时位置,并根据运动轨迹获取当前环境中的区域探明情况。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取当前时刻拍摄的当前图像帧,采用所述图像匹配策略对所述当前图像帧与关键帧序列中的参考关键帧进行特征匹配,得到所述当前图像帧对应的特征匹配结果;
在所述当前图像帧对应的特征匹配结果符合关键帧选入条件的情况下,将所述当前图像帧作为最新关键帧加入所述关键帧序列。
3.根据权利要求1所述的方法,其特征在于,所述采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果,包括:
采用基于网格的运动统计算法、词袋模型算法和暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行同步特征匹配,得到目标匹配结果;其中,所述目标匹配结果包括所述基于网格的运动统计算法对应的第一匹配结果、所述词袋模型算法对应的第二匹配结果和所述暴力匹配算法对应的第三匹配结果;
将所述目标匹配结果中符合目标预设条件的匹配结果确定为所述最新关键帧对应的特征匹配结果,并中止所述同步特征匹配。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用基于网格的运动统计算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第四匹配结果;
采用暴力匹配算法对所述最新关键帧与闭环候选帧进行特征匹配,得到第五匹配结果;
基于所述第四匹配结果和所述第五匹配结果对所述最新关键帧进行闭环检测。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在重定位线程中,采用基于网格的运动统计算法对当前图像帧与关键帧序列中的其他关键帧进行特征匹配,得到第六匹配结果;
在所述第六匹配结果的匹配特征点对数量大于预设数量的情况下,基于所述第六匹配结果对所述当前图像帧进行重定位;
在所述第六匹配结果的匹配特征点对数量小于或等于预设数量的情况下,采用词袋模型算法对当前图像帧与所述其他关键帧进行特征匹配,得到第七匹配结果,基于所述第七匹配结果对所述当前图像帧进行重定位。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在闭环检测线程中,基于关键帧中地图点对应的金字塔层数,和所述地图点被观测到的次数,确定信息矩阵,并根据所述信息矩阵进行全局BA优化;
在闭环检测线程中,基于边的所有顶点共同观测到的地图点数量确定所述边的权重;并根据所述边的权重进行位姿图优化。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取环境光照强度和/或摄像头的运动速度;
在所述环境光照强度小于或等于预设光照强度,和/或所述运动速度大于或等于预设速度的情况下,向用户发送追踪丢失告警信息。
8.根据权利要求1所述的方法,其特征在于,所述采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果,包括:
尝试采用航迹推算算法生成所述最新关键帧对应的位姿变化量;
在生成所述位姿变化量成功的情况下,根据所述位姿变化量生成环境地图以及运动轨迹;
在生成所述位姿变化量失败的情况下,采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果。
9.一种即时定位与地图构建装置,其特征在于,所述装置包括:
关键帧模块,用于将用户主动选取的图像帧作为最新关键帧加入关键帧序列;
匹配模块,用于采用包含基于网格的运动统计算法与其他图像匹配算法的图像匹配策略,对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果;
生成模块,用于根据所述最新关键帧对应的特征匹配结果生成环境地图以及运动轨迹;
所述匹配模块包括:
第一匹配结果子模块,用于采用基于网格的运动统计算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第一匹配结果;
第一匹配结果确定子模块,用于在所述第一匹配结果符合第一预设条件的情况下,将所述第一匹配结果确定为所述最新关键帧对应的特征匹配结果;
第二匹配结果子模块,用于在所述第一匹配结果不符合第一预设条件的情况下,采用词袋模型算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到第二匹配结果;
第二匹配子模块,用于基于所述第二匹配结果确定所述最新关键帧对应的特征匹配结果;
所述第二匹配子模块包括:
第二匹配结果确定子模块,用于在所述第二匹配结果符合第二预设条件的情况下,将所述第二匹配结果确定为所述最新关键帧对应的特征匹配结果;
暴力匹配子模块,用于在所述第二匹配结果不符合第二预设条件的情况下,采用暴力匹配算法对所述最新关键帧与关键帧序列中的参考关键帧进行特征匹配,得到所述最新关键帧对应的特征匹配结果;
所述运动轨迹为电子设备在用户所在空间中的运动轨迹,所述运动轨迹叠加在所述生成环境地图展示给用户,以供用户根据所述运动轨迹明确自身所处于当前环境中的实时位置,并根据运动轨迹获取当前环境中的区域探明情况。
10.一种终端设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的即时定位与地图构建方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的即时定位与地图构建方法的步骤。
CN202211322543.6A 2022-10-26 2022-10-26 即时定位与地图构建方法、装置、终端设备及存储介质 Active CN115830110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211322543.6A CN115830110B (zh) 2022-10-26 2022-10-26 即时定位与地图构建方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211322543.6A CN115830110B (zh) 2022-10-26 2022-10-26 即时定位与地图构建方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN115830110A CN115830110A (zh) 2023-03-21
CN115830110B true CN115830110B (zh) 2024-01-02

Family

ID=85525544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211322543.6A Active CN115830110B (zh) 2022-10-26 2022-10-26 即时定位与地图构建方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN115830110B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738703A (zh) * 2019-09-27 2020-01-31 Oppo广东移动通信有限公司 定位方法及装置、终端、存储介质
CN110866496A (zh) * 2019-11-14 2020-03-06 合肥工业大学 基于深度图像的机器人定位与建图方法和装置
CN111024100A (zh) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 一种导航地图更新方法、装置、可读存储介质及机器人
CN111829522A (zh) * 2020-07-02 2020-10-27 浙江大华技术股份有限公司 即时定位与地图构建方法、计算机设备以及装置
CN111882602A (zh) * 2019-12-31 2020-11-03 南京理工大学 基于orb特征点和gms匹配过滤器的视觉里程计实现方法
CN112258546A (zh) * 2020-10-18 2021-01-22 东南大学 一种slam系统的关键帧选取方法
CN112270754A (zh) * 2020-11-12 2021-01-26 Oppo广东移动通信有限公司 局部网格地图构建方法及装置、可读介质和电子设备
CN112418288A (zh) * 2020-11-17 2021-02-26 武汉大学 一种基于gms和运动检测的动态视觉slam方法
CN113269094A (zh) * 2021-05-26 2021-08-17 中国科学院自动化研究所 基于特征提取算法和关键帧的激光slam系统及方法
CN113409368A (zh) * 2020-03-16 2021-09-17 北京京东乾石科技有限公司 建图方法及装置、计算机可读存储介质、电子设备
CN114862949A (zh) * 2022-04-02 2022-08-05 华南理工大学 一种基于点线面特征的结构化场景视觉slam方法
CN115131420A (zh) * 2022-06-24 2022-09-30 武汉依迅北斗时空技术股份有限公司 基于关键帧优化的视觉slam方法及装置
CN115239902A (zh) * 2022-07-26 2022-10-25 重庆长安汽车股份有限公司 移动设备的周边地图建立方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10782137B2 (en) * 2019-01-28 2020-09-22 Qfeeltech (Beijing) Co., Ltd. Methods, apparatus, and systems for localization and mapping

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738703A (zh) * 2019-09-27 2020-01-31 Oppo广东移动通信有限公司 定位方法及装置、终端、存储介质
CN110866496A (zh) * 2019-11-14 2020-03-06 合肥工业大学 基于深度图像的机器人定位与建图方法和装置
CN111024100A (zh) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 一种导航地图更新方法、装置、可读存储介质及机器人
CN111882602A (zh) * 2019-12-31 2020-11-03 南京理工大学 基于orb特征点和gms匹配过滤器的视觉里程计实现方法
CN113409368A (zh) * 2020-03-16 2021-09-17 北京京东乾石科技有限公司 建图方法及装置、计算机可读存储介质、电子设备
CN111829522A (zh) * 2020-07-02 2020-10-27 浙江大华技术股份有限公司 即时定位与地图构建方法、计算机设备以及装置
CN112258546A (zh) * 2020-10-18 2021-01-22 东南大学 一种slam系统的关键帧选取方法
CN112270754A (zh) * 2020-11-12 2021-01-26 Oppo广东移动通信有限公司 局部网格地图构建方法及装置、可读介质和电子设备
CN112418288A (zh) * 2020-11-17 2021-02-26 武汉大学 一种基于gms和运动检测的动态视觉slam方法
CN113269094A (zh) * 2021-05-26 2021-08-17 中国科学院自动化研究所 基于特征提取算法和关键帧的激光slam系统及方法
CN114862949A (zh) * 2022-04-02 2022-08-05 华南理工大学 一种基于点线面特征的结构化场景视觉slam方法
CN115131420A (zh) * 2022-06-24 2022-09-30 武汉依迅北斗时空技术股份有限公司 基于关键帧优化的视觉slam方法及装置
CN115239902A (zh) * 2022-07-26 2022-10-25 重庆长安汽车股份有限公司 移动设备的周边地图建立方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GMS-RANSAC: A Fast Algorithm for Removing Mismatches Based on ORB-SLAM2;Daode Zhang等;《summetry》;第1-12页 *
基于 BoW 模型的 RGB-D SLAM 算法的运动轨迹估计;高炳舒等;《华 东 理 工 大 学 学 报(自 然 科 学 版)》;第1-9页 *
基于点线特征的双目视觉同时定位与地图构建算法研究;刘炳锐;《万方数据》;全文 *

Also Published As

Publication number Publication date
CN115830110A (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
US11189037B2 (en) Repositioning method and apparatus in camera pose tracking process, device, and storage medium
US20200327694A1 (en) Relocalization method and apparatus in camera pose tracking process and storage medium
US20200327695A1 (en) Relocalization method and apparatus in camera pose tracking process, device, and storage medium
WO2021013230A1 (zh) 机器人的控制方法、机器人、终端、服务器及控制系统
US20200334836A1 (en) Relocalization method and apparatus in camera pose tracking process, device, and storage medium
CN108055402B (zh) 一种拍摄方法及移动终端
CN110210573B (zh) 对抗图像的生成方法、装置、终端及存储介质
CN112150560B (zh) 确定消失点的方法、装置及计算机存储介质
CN110986930A (zh) 设备定位方法、装置、电子设备及存储介质
KR20220124244A (ko) 이미지 처리 방법, 전자 기기 및 컴퓨터 판독 가능 저장 매체
CN111724412A (zh) 确定运动轨迹的方法、装置及计算机存储介质
CN114332423A (zh) 虚拟现实手柄追踪方法、终端及计算可读存储介质
CN110570465B (zh) 实时定位与地图构建方法、装置及计算机可读存储介质
CN115526983A (zh) 一种三维重建方法及相关设备
CN110602387B (zh) 拍摄方法及电子设备
CN113672756A (zh) 一种视觉定位方法及电子设备
CN108317992A (zh) 一种物距测量方法及终端设备
CN115278064B (zh) 一种全景图像生成方法、装置、终端设备及存储介质
CN115830110B (zh) 即时定位与地图构建方法、装置、终端设备及存储介质
CN112200130B (zh) 一种三维目标检测方法、装置及终端设备
CN109257543B (zh) 拍摄模式控制方法及移动终端
CN111147745B (zh) 拍摄方法、装置、电子设备及存储介质
CN111179628B (zh) 自动驾驶车辆的定位方法、装置、电子设备及存储介质
CN109785226B (zh) 一种图像处理方法、装置及终端设备
CN114093020A (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
GR01 Patent grant
GR01 Patent grant