CN115131420A - 基于关键帧优化的视觉slam方法及装置 - Google Patents
基于关键帧优化的视觉slam方法及装置 Download PDFInfo
- Publication number
- CN115131420A CN115131420A CN202210729683.9A CN202210729683A CN115131420A CN 115131420 A CN115131420 A CN 115131420A CN 202210729683 A CN202210729683 A CN 202210729683A CN 115131420 A CN115131420 A CN 115131420A
- Authority
- CN
- China
- Prior art keywords
- image frame
- frame
- current
- current image
- key frame
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于关键帧优化的视觉SLAM方法及装置,该方法包括:接收来自图像采集装置的当前图像帧;基于当前图像帧和当前图像帧的上一图像帧,获取第一位姿信息;在当前图像帧是关键帧时,在当前关键帧和当前关键帧的上一关键帧之间进行匹配,获取地图点;基于地图点为约束条件,利用筛选出的目标历史关键帧和当前关键帧建立共视有向连接图;基于共视有向连接图和第一位姿信息,进行局部集束调整,获取位姿估计信息;基于第二滑窗和位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于更新后的地图点,建立场景地图。本发明提供的基于关键帧优化的视觉SLAM方法及装置,能够兼顾低算力和高精度。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于关键帧优化的视觉SLAM方法及装置。
背景技术
近年来,同步定位与建图(Simultaneous Localization And Mapping,SLAM)技术广泛发展,为移动机器人及自动驾驶车辆提供六自由度的运动估计,并可以从连续的3D视频流中恢复自身周围环境的3D结构。一般而言,SLAM可分为前端和后端。在视觉前端中,通过相机捕捉到的序列影像,主要是相邻帧间的关系,对相机位姿进行估计,这种依赖局部约束并且不停的链式运算,必将导致位姿误差不断累积,最终产生一个较大的漂移结果。SLAM的优化后端主要是对视觉前端得到的不够准确的位姿进行优化和建图,优化思路是从全局中选取关键帧,利用这些关键帧之间的关系建立时间和空间跨度更大的全局约束。
现阶段,较为成熟的视觉SLAM方案基于ORBSLAM2开展的,该方法采用基于特征点描述符方法对相邻两帧图像中特征点进行跟踪匹配,预先链式递推所有帧初始位姿,然后再对关键帧对其进行位姿优化。但是,这种位姿优化方法对于普通帧之间的估计就要使用描述符对特征点进行匹配,尽管精度较高,但却是不必要的。而且,在利用滑窗进行SLAM位姿优化时,由于局部轨迹得不到充分的探索,即使投入较大的算力,反而会出现位姿估计的稳定性和精度较差的情况。
发明内容
本发明提供一种基于关键帧优化的视觉SLAM方法及装置,用以解决现有技术中由于局部轨迹得不到充分的探索所导致的车载部分场景中视觉位姿估计出现退化导致的鲁棒性不够的缺陷。
本发明提供一种基于关键帧优化的视觉SLAM方法,包括:
接收来自图像采集装置的当前图像帧;
基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息;
在所述当前图像帧符合预设条件的情况下,将所述当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在所述当前关键帧和所述当前关键帧的上一关键帧之间进行匹配,获取地图点;
基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图;
基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息;
基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图;
其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
根据本发明提供的一种基于关键帧优化的视觉SLAM方法,所述基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息,包括:
对所述当前图像帧进行预处理,并从所述当前图像帧的上一图像帧筛选出目标特征点;
基于所述目标特征点,利用金字塔光流法在所述当前图像帧和所述当前图像帧的上一图像帧进行匹配,获取匹配点集合;
基于所述匹配点集合,进行六自由度的位姿解算,获取所述第一位姿信息。
根据本发明提供的一种基于关键帧优化的视觉SLAM方法,所述基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息,包括:
利用所述共视有向连接图中的所述当前关键帧和每一所述历史关键帧进行融合操作,从所述地图点中筛选出目标地图点;
基于所述第一位姿信息和所述目标地图点,进行局部集束调整,获取所述位姿估计信息,并对所述目标地图点进行更新。
根据本发明提供的一种基于关键帧优化的视觉SLAM方法,所述对所述当前图像帧进行预处理,并从所述当前图像帧的上一图像帧筛选出目标特征点,包括:
对所述当前图像帧进行直方图均衡化,获取处理后的所述当前图像帧;
基于目标模型,对所述当前图像帧的上一图像帧的特征点进行运动估计,获取目标特征点。
根据本发明提供的一种基于关键帧优化的视觉SLAM方法,所述目标模型包括匀变速模型、匀速模型和变速模型中一种。
根据本发明提供的一种基于关键帧优化的视觉SLAM方法,还包括:
在所述第一滑窗或者第二滑窗中添加新的所述当前关键帧,并边缘化所述历史关键帧;以及,
在所述当前关键帧的回环检测结果为真的情况下,利用闭环约束进行回环校正。
本发明还提供一种基于关键帧优化的视觉SLAM装置,包括:
接收模块,用于接收来自图像采集装置的当前图像帧;
初始位姿获取模块,用于基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息;
关键帧匹配模块,用于在所述当前图像帧符合预设条件的情况下,将所述当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在所述当前关键帧和所述当前关键帧的上一关键帧之间进行匹配,获取地图点;
共视关系建立模块,用于基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图;
第一集束模块,用于基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息;
第二集束模块,用于基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图;
其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于关键帧优化的视觉SLAM方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于关键帧优化的视觉SLAM方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于关键帧优化的视觉SLAM方法。
本发明提供的基于关键帧优化的视觉SLAM方法及装置,基于光流法进行跟踪匹配,根据当前图像帧和相邻普通帧匹配关系,链式递推出第一位姿信息,通过目标条件从当前图像帧提取出当前关键帧,利用描述符方法对当前关键帧和滑窗中的相邻关键帧进行跟踪匹配,获取地图点,通过地图点进行局部集束调整,优化当前关键帧的第二位姿信息和相关地图点。能够在SLAM前端处理中牺牲一定精度换取低算力,在SLAM后端处理中提高关键帧位姿优化的精度,兼顾低算力和高精度。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于关键帧优化的视觉SLAM方法的流程示意图;
图2是本发明提供的分层级集束调整的流程示意图;
图3是本发明提供的匀变速模型的结构示意图;
图4是本发明提供的基于关键帧优化的视觉SLAM装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
图1是本发明提供的基于关键帧优化的视觉SLAM方法的流程示意图。如图1所示,本发明实施例提供的基于关键帧优化的视觉SLAM方法,包括:步骤101、接收来自图像采集装置的当前图像帧。
需要说明的是,本发明实施例提供的基于关键帧优化的视觉SLAM方法的执行主体是基于关键帧优化的视觉SLAM装置。
本申请实施例提供的基于关键帧优化的视觉SLAM方法适用于通过具有基于关键帧优化的视觉SLAM装置的电子设备,对采集到的视频图像进行同步定位与建图,恢复该设备周围环境的3D结构。
本申请实施例提供的基于关键帧优化的视觉SLAM方法应用场景包括但不限于移动机器人或者自动驾驶车辆,在未知环境中从一个未知位置开始移动,在移动过程中根据位置和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现设备的自主定位和导航。
上述电子设备可以以各种形式来实施。例如,本申请实施例中描述的电子设备可以为集成基于关键帧优化的视觉SLAM装置和图像采集装置的终端设备,诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置、智能手环、智能手表、数码相机等等的移动终端。
本申请实施例中描述的电子设备也可以为设置视频图像的实时稳像装置的终端设备,且该终端需要与视频采集装置通信连接。诸如台式计算机等等的固定终端。下面,假设电子设备是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本申请实施例的构造也能够应用于固定类型的终端。
具体地,在步骤101中,基于关键帧优化的视觉SLAM装置接收图像采集装置实时传送的连续图像序列,并读取出最新的图像帧作为当前图像帧进行处理。
步骤102、基于当前图像帧和当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息。
需要说明的是,当前图像帧的上一图像帧,是指在步骤101接收到的图像序列中,超前于当前图像帧的相邻图像帧。
具体地,在步骤102中,基于关键帧优化的视觉SLAM装置提取出当前图像帧的上一图像帧中存在的特征点,与当前图像帧进行特征点的匹配跟踪,利用匹配好的特征点的像素坐标信息,可以计算出当前图像帧对应的第一位姿信息。
第一位姿信息,是指图像采集装置随着电子设备的移动过程中,获取当前图像帧的对应时刻下图像采集装置的位姿信息。其中,第一位姿信息包括旋转变化量R和平移变化量t。
可以理解的是,对图像采集装置发送来的图像序列,重复上述操作,获取任意相邻帧之间的相对位移信息,可以得到图像序列拍摄时刻对应的相机(即图像采集装置)位姿。
值得注意的是,相邻帧之间的特征点匹配算法为除了基于特征点描述符匹配的方法以外的算法,示例性地,特征点匹配算法包括但不限于基于梯度(微分)的光流法、基于匹配的光流法、基于能量(频率)的光流法、基于相位的光流法或神经动力学光流法等光流法。本发明实施例其不作具体限定。
优选地,相邻帧之间的特征点匹配算法为基于梯度(微分)的光流法,通过构建最小化特征点的灰度误差函数计算得到特征点位移进行匹配,其特征点跟踪匹配的精度相较于其他算法误差较大。
步骤103、在当前图像帧符合预设条件的情况下,将当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在当前关键帧和当前关键帧的上一关键帧之间进行匹配,获取地图点。
其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧
需要说明的是,预设条件,是指预先根据当前图像帧是关键帧而设置的判断条件。
其中,预设条件可以是对于当前图像帧的多种属性信息的综合判断条件,还可以对当前图像帧的某一种属性信息的独立判断条件。本发明实施例对预设条件的设置不做具体限定。
示例性地,由于建立地图需要关键帧,因此地图点不能太稠密也不能太稀疏,依此准则建立的预设条件可以为:
(1)当前图像帧中,被跟踪的特征点个数较少,例如50个以下。
该条件所描述的情形是,当前图像帧跟踪到的特征点数目很少。即说明当前图像帧的场景,相对与上一关键帧有很大的改变。此时,需要尽快***新的关键帧,以避免视觉前端跟踪失败。
(2)当前图像帧中跟踪的特征点,包含上一帧的地图点太少,一般设置少于上一帧地图点的比例,例如75%。
该条件所描述的情形是,当前图像帧中跟踪到上一帧关键中的地图点较少。即说明此时相机离上一关键帧的***,已经发生一段明显位移,则可以选择***新的关键帧。
示例性地,由于建立地图需要较为连续的关键帧,因此***关键帧的间隔不能太长也不能太短,依此准则建立的预设条件可以为:距离上一次***关键帧过去了MAX帧。其中,MAX为正整数,表征***关键帧的间隔帧数的上限,本发明实施例对此不作具体限定。例如,MAX可以设置为20帧。
需要说明的是,第一滑窗,是指一个独立维护的,且只包含载体在预设距离的行驶过程中所对应的关键帧序列。示例性地,第一滑窗是载体行驶50米所包含的关键帧建立的。
具体地,在步骤103中,基于关键帧优化的视觉SLAM装置将当前图像帧与预先设置好的预设条件进行判定,判定结果有两种:判定成功和判定失败。
其中,判定成功是当前图像帧满足预设条件的情况,说明该当前图像帧为一个关键帧,则将该当前图像帧作为当前关键帧,并按照次序存放至第一滑窗中,在当前关键帧初步预测出预选特征点的大致位置,然后使用光流法对当前关键帧和第一滑窗中当前关键帧的上一关键帧,进行匹配跟踪,将可以被匹配追踪到的特征点对作为预选的地图点。
判定失败是当前图像帧不满足预设条件的情况,说明该当前图像帧不为关键帧,则可以利用该当前图像帧的第一位姿信息,链式递推所有图像帧的初始位姿。并继续读取新的图像帧,执行上述SLAM前端处理过程。
其中,预选的地图点,用于在视觉SLAM中建立地图,以表征周围环境。
值得注意的是,相邻关键帧之间的特征点匹配算法为除了光流法以外的算法,本发明实施例对此不作具体限定。
优选地,相邻关键帧之间的特征点匹配算法为基于特征点描述符匹配的方法,通过计算特征点的特征描述符进行相似性判别进行匹配,其特征点跟踪匹配的精度相较于其他算法更高,但同时也更耗时。
步骤104、基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图。
需要说明的是,第一滑窗中已经预先存储若干历史关键帧捕捉时刻下,相机位置和姿态信息,即各历史关键帧优化后的旋转变化量R以及平移变化量t。
具体地,在步骤104中,基于关键帧优化的视觉SLAM装置在第一滑窗内的关键帧之间,使用orb-brief描述符方法再次匹配,即利用FAST特征点检测的方法来检测特征点,然后利用Harris角点的度量方法,从FAST特征点从挑选出Harris角点响应值最大的N个特征点。将本次匹配到的N个特征点对所对应的预选地图点设置为地图点。并从第一滑窗中提取出所有能观测到上述地图点的历史关键帧,结合当前关键帧建立图优化中所需要的共视有向连接图。
本发明实施例对共视有向连接图的过程不作具体限定。
示例性地,将不同地图点作为A类节点,以表征被观测的内容,再将第一滑窗内不同关键关键作为B类节点,以表征滑窗对应的拍摄过程中不同拍摄时刻下不同位姿的图像采集装置。任一A类节点可以和任一B类节点进行连接,连接形成的边表征该B类节点对应的关键帧采集时刻下,图像采集装置可以观测到地图点A。
若某个B类节点与某个A类节点不能连接成边,则说明该B类节点对应的关键帧采集时刻下,图像采集装置不能观测到地图点A。而当两个B类节点与同一A类节点均能连接成边,则说明这两个B类节点对应的关键帧具有共视关系。
步骤105、基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息。
需要说明的是,局部集束调整(Bundle Adjustment,BA)指的是同时调整相机姿态和特征点位置,以便从每个特征点反射出的光线(Bundles of light rays),通过调整(Adjustment)最后都能通过相机光心。BA通常构建为一个最小二乘问题,通过使重投影误差最小化来同时调整相机的位姿和特征点的坐标。
具体地,在步骤105中,基于关键帧优化的视觉SLAM装置将BA的优化限制在一个动态的第一滑窗内,通过在第一滑窗内加入当前关键帧,并边缘化旧的关键帧后,使第一滑窗内相邻的两两关键帧之间的重投影误差最小作为目的,迭代优化出相机的当前的位姿估计信息(即优化后的旋转变化量R和平移变化量t)。
步骤106、基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图。
需要说明的是,第二滑窗,是指一个区别于第一滑窗独立维护的,不仅包含载体在预设距离的行驶过程中所对应的关键帧,还包括载体在预设距离的行驶之前的历史时长内的关键帧。示例性地,第二滑窗包括两部分,前一部分是载体行驶50米时段对应的前10秒所包含的关键帧,后一部分是载体行驶50米所包含的关键帧建立的。
具体地,在步骤106中,基于关键帧优化的视觉SLAM装置利用第二滑窗内存放的关键帧之间的关系建立起时间和空间跨度更大的全局约束,进行局部集束调整(BundleAdjustment,BA)以最小化重投影误差,对最新的位姿估计信息基于平滑历史轨迹的原则,进行优化,可以获取第二位姿信息。
示例性地,图2是本发明提供的分层级集束调整的流程示意图。如图2所示,第一次BA只针对第一滑窗中当前关键帧,估计出最新的位姿,第二次BA将滑窗中包含的关键帧数量从行驶距离和时间两个维度去扩充,是为了能够跟历史轨迹无缝衔接,对当前关键帧获得的最新位姿以及地图点进行更新和优化,以达到减小或消除SLAM累计误差的目的,进而,利用更新后的地图点建立出SLAM场景地图。
现有技术中,通常是通过在普通帧间估计使用描述符对特征点进行匹配,一定程度上能提高初始位姿的精度,进而利用滑窗对关键帧进行进行SLAM位姿优化时,由于滑窗的大小固定,车辆行驶状况不同(主要体现在车速)可能导致局部轨迹得不到充分的探索,导致在图像匹配策略上投入大量算力,但由于探索轨迹不连续反而使部分场景中视觉位姿估计出现退化。
而本发明实施例是采用普适的光流法处理普通帧,完成初始的链式位姿推算,这种方法比较粗糙,但是在SLAM前端过程中节约大量算力。进而,使用基于orb描述符匹配方式对关键帧图像处理,精化地图点的精度,以对关键帧位姿进行优化时,采用两个动态滑窗进行分层级的集束调整,提高位姿优化精度的同时,还能保证探索轨迹平滑,提高稳定性。
本发明实施例在SLAM视觉前端中对普通帧使用简单方法和粗差剔除,相较于现有技术中所使用的基于特征点描述符方法,虽然精度较低,但其处理一帧大概在29微秒(ms)以内,而基于特征点描述符方法处理一帧大概需要51微秒(ms),可见其计算速度至少快一倍。并且,由于在SLAM后端有对关键帧优化的手段在内,整体精度可相当甚至在某些环境纹理重复的区域有改善,最明显优势在于,在SLAM前端过程中节约大量计算资源的前提下,仍能保证高精度,使得其能够应用在一些算力有限的平台上,一定程度上突破了SLAM的应用限制。
本发明实施例基于光流法进行跟踪匹配,根据当前图像帧和相邻普通帧匹配关系,链式递推出第一位姿信息,通过预设条件从当前图像帧提取出当前关键帧,利用描述符方法对当前关键帧和滑窗中的相邻关键帧进行跟踪匹配,获取地图点,通过地图点进行分层级的逐步局部集束调整,获取当前关键帧平滑后的第二位姿信息和相关地图点。能够在SLAM前端处理中牺牲一定精度换取低算力,在SLAM后端处理中利用第一层级的BA获取最新的位姿信息,利用第二层级的BA能够跟历史轨迹无缝衔接,保证新的轨迹点在运动轨迹中的平滑性,提高在SLAM后端处理中提高关键帧位姿优化的精度。
在上述任一实施例的基础上,基于当前图像帧和当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息,包括:对当前图像帧进行预处理,并从当前图像帧的上一图像帧筛选出目标特征点。
具体地,在步骤102中,基于关键帧优化的视觉SLAM装置根据预先设定的需求,对当前图像帧进行预处理,并从当前图像帧的上一图像帧中选取目标特征点。
预处理,是指对原始当前图像帧进行特征点跟踪匹配前所进行的处理。预处理用于消除当前图像帧中失真的信息,使得生成的当前图像帧包含有用的真实信息,增强有关信息的可检测性和最大限度地简化数据。
当前图像帧使用预处理方法包括但不限于像素亮度变换、几何变换、平滑或边缘检测等方法,使得图像序列中进行跟踪的两个图像帧具有一致的图像质量。本发明实施例对预处理不作具体限定。
本发明实施例对目标特征点提取的方式不做具体限定。
示例性地,可以利用角点检测器对当前图像帧的上一图像帧提取目标特征点,以进行稀疏光流法的匹配跟踪。
示例性地,可以以一定间隔在当前图像帧的上一图像帧均匀提取目标特征点,以进行稠密光流法的匹配跟踪。
基于目标特征点,利用金字塔光流法在当前帧和当前帧的上一帧进行匹配,获取匹配点集合。
具体地,基于关键帧优化的视觉SLAM装置以目标特征点初始值,构建目标特征点偏移为优化量的窗口灰度误差函数,使用金字塔光流法估计出该偏移量,并得到相邻两个普通图像帧的匹配点集合。
本发明实施例对金字塔光流法的金字塔结构和具体实施过程不作具体限定。
优选地,采用八层金字塔光流法进行特征点匹配,在当前图像帧中匹配到与目标特征点对应的点,并将两组点组成匹配点集合。其具体实施过程如下:
(1)根据输入的第0层图像(即当前图像帧的上一图像帧)的某一目标特征点坐标p,并计算出另外七层金字塔特征点对应的坐标:p1、p2、p3、p4、p5、p6和p7。
(3)计算初始光流坐标m0、m1、m2、m3、m4、m5、m6和m7,其中,m0=p,m1=p1,m2=p2,m3=p3,m4=p4,m5=p5,m6=p6和m7=p7。
(4)以m7作为输入求出在第7层上的光流终点n7。
(5)计算出n7在第6层的对应坐标n6,以n6作为输入求出第6层上的光流终点q6。以此类推,直至计算出q1在第0层的对应坐标q0,以q0作为输入求出第0层上的光流终点q,并将每一组(p,q)加入至匹配点集合。
可以理解的是,在获取匹配点集合后还需要进行异常点剔除,匹配点集合的剔除方法包括但不限于随机抽样一致算法(Random Sample Consensus,RANSAC)、M-估计量样本一致算法(M-Estimate Sample Consensus,MSAC)或最小中值法(Least Median ofSquares,LMedS)等剔除误匹配点的算法,本发明实施例对此不作具体限定。
优选地,跟踪结果依次使用基于网格的运动统计的快速鲁棒特征匹配过滤算法(GMS:Grid-based Motion Statistics for Fast,Ultra-robust FeatureCorrespondence)、对极约束以及RANSAC方法进行异常点滤除,获取更精确的匹配点集合。
基于匹配点集合,进行六自由度的位姿解算,获取第一位姿信息。
具体地,在步骤102中,基于关键帧优化的视觉SLAM装置对过滤好的匹配点集合进行六自由度的位姿解算,解算出当前图像帧和当前图像帧的上一图像帧之间的相对位姿变化,即第一位姿信息中的旋转变化量R以及平移变化量t,以完成链式递推位姿。
本发明实施例基于金字塔光流法进行跟踪匹配,获取当前图像帧和相邻普通帧之间的匹配点集合,通过对匹配点集合进行位姿解算,链式递推出第一位姿信息。进而,通过利用描述符方法对当前关键帧进行局部优化。能够在SLAM前端处理中节省计算时间,进而在前端牺牲一定精度换取低算力,在SLAM后端处理中提高关键帧位姿优化的精度,兼顾整体的低算力和高精度。
在上述任一实施例的基础上,所述基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息,包括:利用所述共视有向连接图中的所述当前关键帧和每一所述历史关键帧进行融合操作,从所述地图点中筛选出目标地图点。
具体地,基于关键帧优化的视觉SLAM装置根据共视有向连接图中包含的共视关系,按照对应的准则对当前关键帧在第二次匹配所确定的地图点进行剔除,并根据剔除后剩余的地图点与共视关系较好的目标历史关键帧进行融合操作,对同一特征点归类为目标地图点。
其中,对当前关键帧的地图点进行剔除的准则是保证观测性一致,从地图点创建开始,未被连续可靠的关键帧观测到,本发明实施例对准则的内容不作具体限定。
可选地,剔除准则可以为,从地图点被创建开始,到现在已经过了不小于2帧关键帧,但是该地图点被观测到的关键帧数小于阈值2。
可选地,剔除准则还可以为,从地图点被创建开始,到现在已经超过一定数量的关键帧。
优选地,将满足上述两个准则的当前关键帧图像特征点与共视关系较好的关键帧图像进行融合操作,使用直接线性变换(Direct Linear Transformation,DLT)恢复3D坐标,再更新地图点以及更新各关键帧之间关系。
基于所述第一位姿信息和所述目标地图点,进行局部集束调整,获取所述位姿估计信息,并对所述目标地图点进行更新。
具体地,基于关键帧优化的视觉SLAM装置利用第一位姿信息和目标地图点,采用局部集束调整,对共视有向连接图进行局部图优化,关键帧位姿只更新最新的关键帧,历史关键帧不进行更新,同时第一滑窗内的所有关键帧对地图点提供观测约束,会对这目标地图点一齐进行更新,以达到减弱或消除SLAM定位累计误差。
本发明实施例基于共视有向连接图,筛选出目标地图点,通过第一位姿信息和目标地图点,对共视有向连接图进行局部集束调整,获取位姿估计信息,并更新目标地图点。能够在SLAM后端处理中提高关键帧位姿优化的精度,利用局部BA进行图优化,减弱或消除SLAM定位累计误差。进而,同时兼顾整体的低算力和高精度。
在上述任一实施例的基础上,对当前图像帧进行预处理,并从当前图像帧的上一图像帧筛选出目标特征点,包括:对当前图像帧进行直方图均衡化,获取处理后的当前图像帧。
具体地,在步骤102中,基于关键帧优化的视觉SLAM装置对当前图像帧进行直方图均衡化,增强当前图像帧的对比度,使其清晰。
基于目标模型,对当前图像帧的上一图像帧的特征点进行运动估计,获取目标特征点。
具体地,基于关键帧优化的视觉SLAM装置使用目标模型对当前图像帧的上一图像帧中特征点进行处理,估计出上一图像帧中的特征点在当前图像帧中的位置坐标,并将该位置坐标作为目标特征点,以供基于关键帧优化的视觉SLAM装置进行金字塔光流法进行普通帧的跟踪匹配。
本发明实施例基于对当前图像帧进行直方图均衡化,并通过目标模型。能够在SLAM后端处理中提高关键帧位姿优化的精度,利用局部BA进行图优化,减弱或消除SLAM定位累计误差。进而,同时兼顾整体的低算力和高精度。
在上述任一实施例的基础上,目标模型包括匀变速模型、匀速模型和变速模型中一种。
具体地,在步骤102中,基于关键帧优化的视觉SLAM装置使用目标模型对当前图像帧的上一图像帧的特征点,估计出上一图像帧中的特征点在当前图像帧中的位置坐标,以估计出来的位置坐标为初始值,构建特征点偏移为优化量的窗口灰度误差函数,以使得利用8层金字塔光流估计出该偏移量得到相邻两帧图像目标特征点匹配。
本发明实施例对目标模型的类型不作具体限定。
可选地,目标模型可以为匀变速模型,则在模型的应用过程中预测出当前图像帧的特征点以匀变速作用下发生位移后的位置坐标为初始值。
可选地,目标模型可以为匀速模型,则在模型的应用过程中预测出当前图像帧的特征点以匀速作用下发生位移后的位置坐标为初始值。
可选地,目标模型可以为变速模型,则在模型的应用过程中预测出当前图像帧的特征点以变速作用下发生位移后的位置坐标为初始值。
示例性地,图3是本发明提供的匀变速模型的结构示意图。如图3所示,给出一种使用匀变速模型的实施过程:
p*=sKTcw *P
其中,表示在相机坐标系(即下角标均携带为c)中,第w帧相对于第w-1帧的位姿变换,且将第w帧视为当前图像帧。为第w帧的位姿变换的预测值。s为相机的尺度因子,K为相机的内参矩阵(一般由相机焦距以及畸变因子构成),P为运动估计前的像素点坐标,p*为运动估计后的像素点坐标。
其中,Tcw-1为第w-1帧的位姿信息,其表达式为:
其中,R′为第w-1帧的方向余弦矩阵,用于表示姿态,其尺寸为3*3。t′为第w-1帧的位置向量,用于表示位置,其尺寸为3*1。
本发明实施例基于匀变速模型给金字塔光流法赋予更准确的初始值,缩小目标特征点的搜索范围,能够提高金字塔光流法的处理效率。
在上述任一实施例的基础上,还包括:在第一滑窗或者第二滑窗中添加新的当前关键帧,并边缘化历史关键帧。
具体地,基于关键帧优化的视觉SLAM装置中的第一滑窗或第二滑窗是有固定数量限制的,因此要实时向其中任一种滑窗添加新的当前关键帧,并剔除历史关键帧,以避免SLAM***的算力消耗。
其中,往任一种滑窗中添加当前关键帧的准则为,对任一当前图像帧对照预设条件进行判定,若其符合预设条件则将当前关键帧添加至滑窗,若其不符合预设条件则继续读取下一图像帧进行上述判断过程。
从滑窗中剔除当前关键帧的准则为,若历史关键帧中90%的特征点都被连续3帧历史关键帧都共视到,需要剔除。
以及,在当前关键帧的回环检测结果为真的情况下,利用闭环约束进行回环校正。
具体地,基于关键帧优化的视觉SLAM装置对当前关键帧进行回环检测,其回环检测结果包括:回环检测逻辑为真和回环检测逻辑为假,其中:
回环检测逻辑为真,是基于关键帧优化的视觉SLAM装置的运动路线存在绕圈(回到之前的回到的位置)的情况,则采取闭环约束的方式消除误差,进行回环校正。
回环检测逻辑为假,是基于关键帧优化的视觉SLAM装置的运动路线不存在绕圈(回到之前的回到的位置)的情况,则无需进行任何处理。
图4是本发明提供的基于关键帧优化的视觉SLAM装置的结构示意图。在上述任一实施例的基础上,如图4所示,该装置包括接收模块410、初始位姿获取模块420、关键帧匹配模块430、共视关系建立模块440、第一集束模块450和第二集束模块460,其中:
接收模块410,用于接收来自图像采集装置的当前图像帧。
初始位姿获取模块420,用于基于当前图像帧和当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息。
关键帧匹配模块430,用于在当前图像帧符合预设条件的情况下,将当前图像帧作为当前关键帧添加至滑窗,并利用基于描述符匹配方法在当前关键帧和当前关键帧的上一关键帧之间进行匹配,获取地图点。
共视关系建立模块440,用于基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图。
第一集束模块450,用于基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息。
第二集束模块460,用于基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图。
其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
具体地,接收模块410、初始位姿获取模块420、关键帧匹配模块430、共视关系建立模块440、第一集束模块450和第二集束模块460顺次电连接。
第一接收模块410接收图像采集装置实时传送的连续图像序列,并读取出最新的图像帧作为当前图像帧进行处理。
初始位姿获取模块420提取出当前图像帧的上一图像帧中存在的特征点,与当前图像帧进行特征点的匹配跟踪,利用匹配好的特征点的像素坐标信息,可以计算出当前图像帧对应的第一位姿信息。
关键帧匹配模块430当前图像帧与预先设置好的预设条件进行判定,判定结果有两种:判定成功和判定失败。
其中,判定成功是当前图像帧满足预设条件的情况,说明该当前图像帧为一个关键帧,则将该当前图像帧作为当前关键帧,并按照次序存放至滑窗中,在当前关键帧采集预选特征点,与滑窗中当前关键帧的上一关键帧,进行匹配跟踪,将可以被追踪的预选特征点作为地图点。
判定失败是当前图像帧不满足预设条件的情况,说明该当前图像帧不为关键帧,则可以利用该当前图像帧的第一位姿信息,链式递推所有图像帧的初始位姿。并继续读取新的图像帧,执行上述SLAM前端处理过程。
共视关系建立模块440在第一滑窗内的关键帧之间,使用orb-brief描述符方法再次匹配,即利用FAST特征点检测的方法来检测特征点,然后利用Harris角点的度量方法,从FAST特征点从挑选出Harris角点响应值最大的N个特征点。将本次匹配到的N个特征点对所对应的预选地图点设置为地图点。并从第一滑窗中提取出所有能观测到上述地图点的历史关键帧,结合当前关键帧建立图优化中所需要的共视有向连接图。
第一集束模块450将BA的优化限制在一个动态的第一滑窗内,通过在第一滑窗内加入当前关键帧,并边缘化旧的关键帧后,使第一滑窗内相邻的两两关键帧之间的重投影误差最小作为目的,迭代优化出相机的当前的位姿估计信息(即优化后的旋转变化量R和平移变化量t)。
第二集束模块460利用第二滑窗内存放的关键帧之间的关系建立起时间和空间跨度更大的全局约束,进行局部集束调整(Bundle Adjustment,BA)以最小化重投影误差,对最新的位姿估计信息基于平滑历史轨迹的原则,进行优化,可以获取第二位姿信息,并且只对当前关键帧的位姿以及地图点进行更新和优化,以达到减小或消除SLAM累计误差的目的,进而,利用更新后的地图点建立出SLAM场景地图
可选地,初始位姿获取模块420包括图像预处理单元、普通帧匹配单元和位姿解算单元,其中:
图像预处理单元,用于对当前图像帧进行预处理,并从当前图像帧的上一图像帧筛选出目标特征点。
普通帧匹配单元,用于基于目标特征点,利用金字塔光流法在当前图像帧和当前图像帧的上一图像帧进行匹配,获取匹配点集合。
位姿解算单元,用于基于匹配点集合,进行六自由度的位姿解算,获取第一位姿信息。
可选地,第一集束模块450包括地图点筛选单元和初始位姿获取单元,其中:
地图点筛选单元,用于利用所述共视有向连接图中的所述当前关键帧和每一所述历史关键帧进行融合操作,从所述地图点中筛选出目标地图点。
初始位姿获取单元,用于基于所述第一位姿信息和所述目标地图点,进行局部集束调整,获取所述位姿估计信息,并对所述目标地图点进行更新。
可选地,图像预处理单元包括均衡化子单元和特征点预处理子单元,其中:
均衡化子单元,用于对当前图像帧进行直方图均衡化,获取处理后的当前图像帧。
特征点预处理子单元,用于基于目标模型,对当前图像帧的上一图像帧的特征点进行运动估计,获取目标特征点
可选地,目标模型包括匀变速模型、匀速模型和变速模型中一种。
可选地,该装置还包括滑窗维护模块和回环校正模块,其中:
滑窗维护模块,用于在第一滑窗或第二滑窗中添加新的当前关键帧,并边缘化历史关键帧。
回环校正模块,用于在当前关键帧的回环检测结果为真的情况下,利用闭环约束进行回环校正。
本发明实施例提供的基于关键帧优化的视觉SLAM装置,用于执行本发明上述基于关键帧优化的视觉SLAM方法,其实施方式与本发明提供的基于关键帧优化的视觉SLAM方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本发明实施例基于光流法进行跟踪匹配,根据当前图像帧和相邻普通帧匹配关系,链式递推出第一位姿信息,通过预设条件从当前图像帧提取出当前关键帧,利用描述符方法对当前关键帧和滑窗中的相邻关键帧进行跟踪匹配,获取地图点,通过地图点进行分层级的逐步局部集束调整,获取当前关键帧平滑后的第二位姿信息和相关地图点。能够在SLAM前端处理中牺牲一定精度换取低算力,在SLAM后端处理中利用第一层级的BA获取最新的位姿信息,利用第二层级的BA能够跟历史轨迹无缝衔接,保证新的轨迹点在运动轨迹中的平滑性,提高在SLAM后端处理中提高关键帧位姿优化的精度。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行基于关键帧优化的视觉SLAM方法,该方法包括:接收来自图像采集装置的当前图像帧;基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息;在所述当前图像帧符合预设条件的情况下,将所述当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在所述当前关键帧和所述当前关键帧的上一关键帧之间进行匹配,获取地图点;基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图;基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息;基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图;其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于关键帧优化的视觉SLAM方法,该方法包括:接收来自图像采集装置的当前图像帧;基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息;在所述当前图像帧符合预设条件的情况下,将所述当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在所述当前关键帧和所述当前关键帧的上一关键帧之间进行匹配,获取地图点;基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图;基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息;基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图;其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于关键帧优化的视觉SLAM方法,该方法包括:接收来自图像采集装置的当前图像帧;基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息;在所述当前图像帧符合预设条件的情况下,将所述当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在所述当前关键帧和所述当前关键帧的上一关键帧之间进行匹配,获取地图点;基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图;基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息;基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图;其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于关键帧优化的视觉SLAM方法,其特征在于,包括:
接收来自图像采集装置的当前图像帧;
基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息;
在所述当前图像帧符合预设条件的情况下,将所述当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在所述当前关键帧和所述当前关键帧的上一关键帧之间进行匹配,获取地图点;
基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图;
基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息;
基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图;
其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
2.根据权利要求1所述的基于关键帧优化的视觉SLAM方法,其特征在于,所述基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息,包括:
对所述当前图像帧进行预处理,并从所述当前图像帧的上一图像帧筛选出目标特征点;
基于所述目标特征点,利用金字塔光流法在所述当前图像帧和所述当前图像帧的上一图像帧进行匹配,获取匹配点集合;
基于所述匹配点集合,进行六自由度的位姿解算,获取所述第一位姿信息。
3.根据权利要求1所述的基于关键帧优化的视觉SLAM方法,其特征在于,所述基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息,包括:
利用所述共视有向连接图中的所述当前关键帧和每一所述历史关键帧进行融合操作,从所述地图点中筛选出目标地图点;
基于所述第一位姿信息和所述目标地图点,进行局部集束调整,获取所述位姿估计信息,并对所述目标地图点进行更新。
4.根据权利要求2所述的基于关键帧优化的视觉SLAM方法,其特征在于,所述对所述当前图像帧进行预处理,并从所述当前图像帧的上一图像帧筛选出目标特征点,包括:
对所述当前图像帧进行直方图均衡化,获取处理后的所述当前图像帧;
基于目标模型,对所述当前图像帧的上一图像帧的特征点进行运动估计,获取目标特征点。
5.根据权利要求4所述的基于关键帧优化的视觉SLAM方法,其特征在于,所述目标模型包括匀变速模型、匀速模型和变速模型中一种。
6.根据权利要求1所述的基于关键帧优化的视觉SLAM方法,其特征在于,还包括:
在所述第一滑窗或所述第二滑窗中添加新的所述当前关键帧,并边缘化所述历史关键帧;以及,
在所述当前关键帧的回环检测结果为真的情况下,利用闭环约束进行回环校正。
7.一种基于关键帧优化的视觉SLAM装置,其特征在于,包括:
接收模块,用于接收来自图像采集装置的当前图像帧;
初始位姿获取模块,用于基于所述当前图像帧和所述当前图像帧的上一图像帧,利用光流法进行匹配,获取第一位姿信息;
关键帧匹配模块,用于在所述当前图像帧符合预设条件的情况下,将所述当前图像帧作为当前关键帧添加至第一滑窗,并利用基于描述符匹配方法在所述当前关键帧和所述当前关键帧的上一关键帧之间进行匹配,获取地图点;
共视关系建立模块,用于基于所述地图点为约束条件,从所述第一滑窗筛选出目标历史关键帧,并基于所述目标历史关键帧和所述当前关键帧建立共视有向连接图;
第一集束模块,用于基于所述共视有向连接图和所述第一位姿信息,进行局部集束调整,获取所述位姿估计信息;
第二集束模块,用于基于第二滑窗和所述位姿估计信息,进行局部集束调整,获取第二位姿信息,并获取更新后的地图点,以使得基于所述更新后的地图点,建立SLAM场景地图;
其中,所述第一滑窗用于存放载体在预设距离的行驶过程中所包含的关键帧,所述第二滑窗用于存放预设历史时长内所包含的关键帧,以及载体在预设距离的行驶过程中所包含的关键帧,所述第二位姿信息是所述当前关键帧优化后的位姿信息。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于关键帧优化的视觉SLAM方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于关键帧优化的视觉SLAM方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于关键帧优化的视觉SLAM方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210729683.9A CN115131420A (zh) | 2022-06-24 | 2022-06-24 | 基于关键帧优化的视觉slam方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210729683.9A CN115131420A (zh) | 2022-06-24 | 2022-06-24 | 基于关键帧优化的视觉slam方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115131420A true CN115131420A (zh) | 2022-09-30 |
Family
ID=83380018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210729683.9A Pending CN115131420A (zh) | 2022-06-24 | 2022-06-24 | 基于关键帧优化的视觉slam方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115131420A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112219087A (zh) * | 2019-08-30 | 2021-01-12 | 深圳市大疆创新科技有限公司 | 位姿预测方法、地图构建方法、可移动平台及存储介质 |
CN115376051A (zh) * | 2022-10-25 | 2022-11-22 | 杭州华橙软件技术有限公司 | 关键帧的管理方法及管理装置、slam方法、电子设备 |
CN115546704A (zh) * | 2022-11-28 | 2022-12-30 | 城云科技(中国)有限公司 | 一种车辆抛洒物识别方法、装置及应用 |
CN115830110A (zh) * | 2022-10-26 | 2023-03-21 | 北京城市网邻信息技术有限公司 | 即时定位与地图构建方法、装置、终端设备及存储介质 |
CN116539026A (zh) * | 2023-07-06 | 2023-08-04 | 杭州华橙软件技术有限公司 | 地图构建方法、装置、设备及存储介质 |
CN116630442A (zh) * | 2023-07-19 | 2023-08-22 | 绘见科技(深圳)有限公司 | 一种视觉slam位姿估计精度评估方法及装置 |
-
2022
- 2022-06-24 CN CN202210729683.9A patent/CN115131420A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112219087A (zh) * | 2019-08-30 | 2021-01-12 | 深圳市大疆创新科技有限公司 | 位姿预测方法、地图构建方法、可移动平台及存储介质 |
CN115376051A (zh) * | 2022-10-25 | 2022-11-22 | 杭州华橙软件技术有限公司 | 关键帧的管理方法及管理装置、slam方法、电子设备 |
CN115830110A (zh) * | 2022-10-26 | 2023-03-21 | 北京城市网邻信息技术有限公司 | 即时定位与地图构建方法、装置、终端设备及存储介质 |
CN115830110B (zh) * | 2022-10-26 | 2024-01-02 | 北京城市网邻信息技术有限公司 | 即时定位与地图构建方法、装置、终端设备及存储介质 |
CN115546704A (zh) * | 2022-11-28 | 2022-12-30 | 城云科技(中国)有限公司 | 一种车辆抛洒物识别方法、装置及应用 |
CN115546704B (zh) * | 2022-11-28 | 2023-02-17 | 城云科技(中国)有限公司 | 一种车辆抛洒物识别方法、装置及应用 |
CN116539026A (zh) * | 2023-07-06 | 2023-08-04 | 杭州华橙软件技术有限公司 | 地图构建方法、装置、设备及存储介质 |
CN116539026B (zh) * | 2023-07-06 | 2023-09-29 | 杭州华橙软件技术有限公司 | 地图构建方法、装置、设备及存储介质 |
CN116630442A (zh) * | 2023-07-19 | 2023-08-22 | 绘见科技(深圳)有限公司 | 一种视觉slam位姿估计精度评估方法及装置 |
CN116630442B (zh) * | 2023-07-19 | 2023-09-22 | 绘见科技(深圳)有限公司 | 一种视觉slam位姿估计精度评估方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115131420A (zh) | 基于关键帧优化的视觉slam方法及装置 | |
CN108986037B (zh) | 基于半直接法的单目视觉里程计定位方法及定位*** | |
CN110555901B (zh) | 动静态场景的定位和建图方法、装置、设备和存储介质 | |
CN110796010B (zh) | 一种结合光流法和卡尔曼滤波的视频稳像方法 | |
CN112669349B (zh) | 一种客流统计方法、电子设备及存储介质 | |
WO2017096949A1 (zh) | 一种对目标进行跟踪拍摄的方法、控制装置及*** | |
CN110570453B (zh) | 一种基于双目视觉的闭环式跟踪特征的视觉里程计方法 | |
CN111311666A (zh) | 一种融合边缘特征和深度学习的单目视觉里程计方法 | |
CN111815742A (zh) | 一种车道线生成方法及*** | |
CN111062971B (zh) | 一种基于深度学习多模态的跨摄像头泥头车追踪方法 | |
CN105374049B (zh) | 一种基于稀疏光流法的多角点跟踪方法及装置 | |
CN112419497A (zh) | 基于单目视觉的特征法与直接法相融合的slam方法 | |
CN116468786B (zh) | 一种面向动态环境的基于点线联合的语义slam方法 | |
CN111161318A (zh) | 一种基于yolo算法及gms特征匹配的动态场景slam方法 | |
CN107506753B (zh) | 一种面向动态视频监控的多车辆跟踪方法 | |
CN110555423B (zh) | 基于多维运动摄像机的航拍视频的交通参数提取方法 | |
CN116188417A (zh) | 基于slam和图像处理的裂缝检测及其三维定位方法 | |
CN117036404A (zh) | 一种单目热成像同时定位与建图方法和*** | |
CN113256683B (zh) | 目标跟踪方法及相关设备 | |
CN117315547A (zh) | 一种解决动态物体大占比的视觉slam方法 | |
CN112598743A (zh) | 一种单目视觉图像的位姿估算方法及相关装置 | |
CN110335308B (zh) | 基于视差约束与双向环形检验的双目视觉里程计计算方法 | |
CN109410254B (zh) | 一种基于目标和相机运动建模的目标跟踪方法 | |
CN114399532A (zh) | 一种相机位姿确定方法和装置 | |
CN115482282A (zh) | 自动驾驶场景下具有多目标追踪能力的动态slam方法 |
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 |