一种多特征融合的视觉SLAM方法技术

技术编号:21716424 阅读:30 留言:0更新日期:2019-07-27 19:48
多特征融合的视觉SLAM方法,涉及机器人视觉定位与建图领域。本发明专利技术公开了一种基于深度相机的多特征融合视觉SLAM方法,通过充分使用从图像中提取的点线特征并根据点线特征构建平面特征,来解决纯点特征失效情况下的视觉定位问题。采用一种自适应阈值方法提取点特征,以获得更加均匀的点特征;提取线特征并删除短小线段、合并被分割的线段,以提高线特征匹配的准确率;点线特征用于帧间位姿的估计以及局部地图的构建;采用最小参数法来计算面特征,以减小计算量;通过构建融合特征的反投影误差函数,将点线面特征紧密耦合,并构建全局地图进行全局位姿优化。本发明专利技术是一种精度高、实时性好、鲁棒性强的视觉SLAM方法,解决了低纹理环境下基于特征点法的视觉SLAM精度下降甚至系统失效的问题。

A Multi-feature Fusion Method for Visual SLAM

【技术实现步骤摘要】
一种多特征融合的视觉SLAM方法
:本专利技术属于机器人同时定位与地图构建
,具体涉及一种多特征融合的SLAM(同时定位与地图构建)方法。
技术介绍
:随着视觉SLAM技术的发展,基于帧间的优化和图优化框架已经成为了视觉SLAM问题的主流框架,图优化框架将运动估计和光束平差法引入到视觉SLAM中来,运动估计是将机器人的位置和周围环境特征当作全局优化问题来求解,通过提取图像上的特征进行特征跟踪,建立误差函数,通过线性假设构建线性优化或直接进行非线性优化来求解使得误差函数取得最小值时的机器人位姿同时优化路标。早先的运动结构恢复(StructurefromMotion,SFM)在特征提取和匹配以及后续的优化环节消耗了太多时间,因此只能进行离线的位姿优化及三维重建,无法实时在线地完成自身的定位和地图构建。随着这些年光束平差法的稀疏性被发现以及计算机硬件的升级换代,各个环节消耗的时间大大降低,因此基于图优化框架的视觉SLAM能够实现实时定位与建图。视觉SLAM主要分为基于灰度的直接法和基于特征的间接法两类。其中基于灰度的直接法在某些情况下表现良好,不需要进行特征提取与匹配,只需进行灰度梯度的跟踪,因此会节省大量的计算时间,并且这种方法在特征较少的区域能够增强视觉SLAM的连续性。但同时,由于直接法单单使用像素的梯度来进行帧间的匹配及运动跟踪,因此该方法受光照强度、噪声干扰等影响较为强烈。基于特征的间接法虽然会占用部分计算资源,但是由于硬件水平的提高,其占用的计算资源大大降低,且提取的特征为人工设计的,具有较为稳定的特性,并且能够进行特征跟踪、构图、闭环检测,能够完成机器人同时定位与地图构建的全过程,因此基于特征的视觉SLAM方法逐渐成为了SLAM技术研究的主流。
技术实现思路
:本专利技术是为了解决现有基于点特征的视觉SLAM算法在低纹理环境下计算的点特征无法进行稳定的跟踪,并且根据点特征产生的约束力下降,无法构建出准确的环境地图等问题,本专利技术提供了一种多特征融合的视觉SLAM方法。首先将SLAM问题建模为:是一个SE(3)上的六维向量,表示机器人从t到t+1时刻的运动,表示运动估计的协方差矩阵,由上次迭代中损失函数的黑塞矩阵来逆逼近。本专利技术所采用的技术方案是:基于图像的点、线、面特征融合的视觉SLAM方法,其特征在于,包括以下步骤:步骤1,进行深度相机的标定,确定相机的内参;步骤2,针对移动机器人平台上相机获取的视频流数据,进行高斯滤波以减少噪声对后续步骤的影响;步骤3,针对校正后的图像进行特征提取,在线提取每一帧的点特征和线特征,具体包括:针对每一帧图像提取FAST角点特征,用rBRIEF描述子进行描述,线特征采用LSD算法进行检测,并采用LBD描述子进行描述,利用线段提供的几何信息,筛选出方向和长度不同以及端点距离较大的线段;步骤4,根据提取到的点、线特征构建面特征,通过以下三种方法构造出候选面特征:1)三个共面的特征点;2)一个特征点与一条特征线;3)两条共面的特征线;步骤5,利用当前帧与上一帧间的点、线特征进行图像的帧间匹配,获得点线特征的匹配对,建立帧间的几何对应关系;步骤6,根据步骤5所得到的帧间对应关系进行特征反投影,使用高斯-牛顿法最小化特征的反投影误差,为了处理异常值,使用一个伪胡贝尔代价函数执行两步最小化,求得两个连续帧间的增量运动;步骤7,进行关键帧的选取,将协方差矩阵的不确定性通过下式转换为熵的形式:h(ζ)=3(1+log(2π))+0.5log(|Ωζ|),Ω表示增量运动的协方差矩阵。计算比值:若α<0.9,并且当前帧与上一关键帧的重合特征数超过300,则将该图像加入到关键帧列表中,否则返回步骤2,继续处理输入的图像数据;步骤8,基于图的思想建立局部地图,由所有与当前帧有关联的关键帧以及根据这些关键帧观测到的特征组成,定义ψ是se(3)下的变量,包括每两个连续帧间的增量运动、每个点特征的空间坐标点、线特征端点的空间坐标点以及平面的最小表示向量;然后最小化观测数据与路标投影的距离,构建准确的局部地图;步骤9,判断机器人运动的轨迹是否形成闭环,若是,则对两端的局部地图进行修正,仍然使用图优化的思想,将关键帧代表的机器人位姿作为节点,两端局部地图的约束关系作为边来进行轨迹的修正;否则判断是否有停止信号,若没有接收到停止信号,则返回步骤2进行视觉SALM过程,否则进入步骤10;步骤10,停止运动。进一步的,步骤1的实现方法:提前利用相机获取多张不同视角下的固定大小的棋盘格影像数据,然后通过张正友相机标定法,对获取到的棋盘格影像数据进行相机内参的计算,取得相机标定的结果。进一步的,步骤3的实现方式:步骤3.1,使用M16模版提取每一帧图像的FAST角点特征,M16模版如附图2所示,若有连续的12个点的像素均大于Ip+T或者小于Ip-T,则为特征点;首先计算一个自适应阈值T:其中表示当前圆中所有像素灰度值的平均值;判断1、5、9、13四点的灰度值与T的大小关系,当至少有三个点满足上述条件时继续计算其余12个点,根据灰度质心法确定特征点的方向:在邻域S内计算质心的位置C,邻域S的矩定义为:质心为:特征点的方向为:θ=atan2(m01,m10),通过具有旋转不变性的rBRIEF描述子对提取到的角点特征进行描述;步骤3.2,针对图像使用LSD算法检测可能存在的线段特征,并合并可能是同一条直线的线段,通过计算任意两个线特征的夹角以及各自线段中点到另一条线段的距离和,若分别小于阈值Tlang和Tldis,则认为是同一条线段,进行合并,之后使用LBD算法对优化后的线特征进行描述,得到线特征的描述子。进一步的,步骤4的实现方法:步骤4.1,针对步骤3提取到的点线特征进行空间坐标求解,特别的,线特征求取其空间坐标之后计算其所属的空间直线的方程,之后将特征分为两个集合,点特征归为Sp集合,线特征归为Sl集合;步骤4.2,通过以下三种方法构造出候选面特征:1)三个共面的特征点;2)一个特征点与一条特征线;3)两条共面的特征线;并计算候选平面的一般方程:p1x+p2y+p3z=p4;步骤4.3,将平面方程的系数进行归一化:||[p1,p2,p3,p4]T||=1,以此用三个量来表示一个平面:p=[p1,p2,p3]T;进一步的,步骤5的实现方法:步骤5.1,根据步骤3中获取的点、线、面特征进行匹配,对于点特征,根据描述符的距离按照升序排序,取前百分之六十作为最佳匹配点对;对于线特征,同样根据描述子的距离按照升序排序,取前百分之五十作为最佳匹配对;对于面特征,计算:按照升序排序,取前3-5个作为最佳匹配对;步骤5.2,利用RANSAC矩阵对得到的匹配对进行错误特征剔除;进一步的,步骤6的实现方法:步骤6.1,根据匹配好的特征进行三维重建,取得三维坐标,再根据相邻帧间的几何关系对进行重投影,计算特征的重投影误差,利用高斯牛顿法最小化点和直线的投影误差;步骤6.2,使用一个伪胡贝尔损失函数并执行一次两步最小化过程,最终得到两连续关键帧间的增量运动。进一步的,步骤7的实现方法:步骤7.1,将协方差矩阵中的不确定性转化为熵的标量的形式:h(ζ)=3(1+log(2π))+0.5log(|Ωζ|),其中Ω表示增量运动本文档来自技高网
...

【技术保护点】
1.一种多特征融合的视觉SLAM方法,其特征在于,视觉里程计前端和图优化后端的实现方法,其主要步骤如下:在视觉里程计前端首先对获取的图像进行图像预处理,以减小初始图像中噪声对于特征检测的影响;在预处理后的图像中采用一种自适应阈值的方法来提取FAST特征点,选择其中Harris响应分数最高的500个特征点计算rBRIEF描述符;提取图像的线特征,使用LSD算法提取图像中的线段特征,对于提取到的线段特征,需要滤除长度小于20个像素的,同时制定规则,将可能为同一条线段特征的两个线段特征进行合并;通过制定的方法构造候选面特征,采用最小平面表示法来表示面特征;对相邻两帧的图像进行特征匹配,获取相机的帧间位姿变化,并判断当前帧是否为关键帧,若为关键帧则进行保存,并构建局部地图;在图优化后端对构建的局部地图进行优化,采用Levenberg‑Marquadt算法对局部位姿进行优化,求解最优位姿;判断当前输入帧是否能构成回环,若能构成回环则对两端的局部地图进行修正,将关键帧代表的机器人位姿作为节点,两端局部地图的约束关系作为边来进行轨迹的修正。

【技术特征摘要】
1.一种多特征融合的视觉SLAM方法,其特征在于,视觉里程计前端和图优化后端的实现方法,其主要步骤如下:在视觉里程计前端首先对获取的图像进行图像预处理,以减小初始图像中噪声对于特征检测的影响;在预处理后的图像中采用一种自适应阈值的方法来提取FAST特征点,选择其中Harris响应分数最高的500个特征点计算rBRIEF描述符;提取图像的线特征,使用LSD算法提取图像中的线段特征,对于提取到的线段特征,需要滤除长度小于20个像素的,同时制定规则,将可能为同一条线段特征的两个线段特征进行合并;通过制定的方法构造候选面特征,采用最小平面表示法来表示面特征;对相邻两帧的图像进行特征匹配,获取相机的帧间位姿变化,并判断当前帧是否为关键帧,若为关键帧则进行保存,并构建局部地图;在图优化后端对构建的局部地图进行优化,采用Levenberg-Marquadt算法对局部位姿进行优化,求解最优位姿;判断当前输入帧是否能构成回环,若能构成回环则对两端的局部地图进行修正,将关键帧代表的机器人位姿作为节点,两端局部地图的约束关系作为边来进行轨迹的修正。2.如权利要求1中所述的一种多特征融合的视觉SLAM方法,其特征在于,采用一种新方法检测FAST特征:采用M16模版选择特征点周围的像素,半径为3个像素,在当前圆中选择10个灰度值最大的和10个灰度值最小的像素,计算阈值T:其中Ii表示当前圆中所有像素灰度值的平均值;再在16个点中首先比较编号为1、5、9、13的像素与T的关系,若有三个及以上的灰度大于T则判断这几个点中间的剩余点与T的关系,若大于T,则该点为特征点。3.如权利要求1中所述的一种多特征融合的视觉SLAM方法,其特征在于,采用最小平面表示来表示提取到的面特征:采用权利要求2中得到的点特征,采用LSD算法提取线特征,将点线特征进行分类,点特征归为Sp集合,线特征归为Sl集合,特别的,线特征求取其空间坐标之后计算其所属的空间直线的方程,通过以下三种方法构造出候选面特征:1)三个共面的特征点;2)一个特征点与一条特征线;3)两条共面的特征线;并计算候选平面的一般方程:p1x+p2y+p3z=p4,并将平面方程的系数归一化:||[p1,p2,p3,p4]T||=1,以此用三...

【专利技术属性】
技术研发人员:尤波梁强
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1