基于局部关键帧匹配的SLAM快速重定位方法及图像处理装置制造方法及图纸

技术编号:21736987 阅读:30 留言:0更新日期:2019-07-31 19:34
一种基于局部关键帧匹配的SLAM快速重定位方法,当ORB SLAM2跟踪失败后,用户将相机转向最近拍摄过的场景;包括以下步骤:1)图像处理:在基于视觉的ORB SLAM2算法框架中,提取图像的ORB特征点;2)图像模糊检测:对图像进行模糊检测,过滤模糊的图片;3)搜索用于重定位的局部候选帧:构造一个图像集合,这个集合是所有观测到参考关键帧特征点的前n帧图像经过筛选得到的;4)图像匹配和优化:用当前帧与图像集合里的图像进行匹配和位姿优化,若符合指定的约束条件,则认为重定位成功。

Fast Relocation Method and Image Processing Device of SLAM Based on Local Key Frame Matching

【技术实现步骤摘要】
基于局部关键帧匹配的SLAM快速重定位方法及图像处理装置
本专利技术属于视觉同时定位与建图领域,涉及到计算机视觉图像处理,可用于增强现实场景。
技术介绍
SLAM(SimultaneousLocalizationandMapping)即同步定位与地图构建,其原理是:当机器人处于一个未知的环境中,通过自身的传感器获取运动状态和周围环境信息,实时重建周围环境的三围结构并同时对机器人自身进行定位。在视觉SLAM中,便是通过相机来实现同步定位和地图重建。在视觉SLAM系统中,为了得到精确的地图,一个鲁棒的跟踪模块是必须的。跟踪出现错误,会导致三维重建出现错误。同时,以SLAM算法为基础的AR系统,经常会在真实世界中放置一个虚拟物体,如果跟踪失败,会导致虚拟物体丢失,严重影响用户的体验。导致跟踪失败的原因有很多,比如快速运动、图像模糊、相机视角的变化过大等。在实际使用中,跟踪失败不可避免,因此一个快速高效的重定位模块是不可或缺的。ORBSLAM2是SLAM领域中一套经典成熟的视觉SLAM方案,其中的重定位模块,是通过当前帧的BoW(词袋向量)与图像数据库中的所有数据进行匹配来实现的。但是随着地图的增加,数据库会越来越大,匹配的时间也会随之上升。
技术实现思路
针对上述问题,本专利技术通过对图像进行模糊检测,过滤掉难以匹配的模糊图片,降低跟踪失败后的卡顿现象;同时,根据实际的使用经验,在跟踪失败后,用当前帧与之前的多个相关关键帧直接进行匹配,而不是对整个图像数据库进行匹配,有效提高了匹配速度和重定位效率。本算法可以使用户在AR场景中拥有更好的体验。该算法技术方案如下:一种基于局部关键帧匹配的SLAM快速重定位方法,其特征为:包括如下步骤:图像处理:在基于视觉的ORBSLAM2算法框架中,提取图像的ORB特征点;图像模糊检测:对图像进行模糊检测,过滤模糊的图片;搜索用于重定位的局部候选帧:构造一个图像集合,这个集合是所有观测到参考关键帧特征点的前n帧图像经过筛选得到的;图像匹配和优化:用当前帧与图像集合里的图像进行匹配和位姿优化,若符合指定的约束条件,则认为重定位成功。有益效果该算法在实际的AR场景中可以提高跟踪失败后重定位的速度,减少卡顿现象,给用户更好的体验。附图说明图1为图像匹配流程示意图;图2为基于局部关键帧匹配的SLAM快速重定位方法的整体流程图;图3为图像处理和模糊检测流程示意图。具体实施方式本专利技术基于ORB-SLAM2算法框架,提出一种基于局部关键帧匹配的SLAM快速重定位方法。该算法包括:1)图像处理:在基于视觉的ORBSLAM2算法框架中,提取图像的ORB特征点;2)图像模糊检测:对图像进行模糊检测,过滤模糊的图片;3)搜索用于重定位的局部候选帧:构造一个图像集合,这个集合是所有观测到参考关键帧特征点的前n帧图像经过筛选得到的;4)图像匹配和优化:用当前帧与图像集合里的图像进行匹配和位姿优化,若符合指定的约束条件,则认为重定位成功。该算法在实际的AR场景中可以提高跟踪失败后重定位的速度,减少卡顿现象,给用户更好的体验。下面将结合附图和实施实例对本专利技术的具体实施方式做进一步的详细说明。本专利技术提出的一种基于局部关键帧匹配的SLAM快速重定位方法,当ORBSLAM2跟踪失败后,用户将相机转向最近拍摄过的场景;其特征为:包括以下步骤:步骤1:图像处理,并包括如下步骤:步骤S100,将SLAM输入的彩色图像转换为灰度图,按照以下方式转换:RGBtoGray:0.299*R+0.587*G+0.114*B–>Y其中,R是红色分量,G是绿色分量,B是蓝色分量,Y是灰度图步骤S110,使用opencv(即本领域公知的一种基于BSD许可开发的跨平台计算机视觉库)对上一步得到的灰度图提取ORB特征点,ORB特征点计算快并且具有旋转不变性;步骤2:图像模糊检测,并包括如下步骤:步骤S120,若特征点个数大于设定的阈值N_max,则进行下一步;否则返回失败;步骤S130,使用3x3的Laplace算子对灰度图像进行滤波;拉普拉斯算子是最简单的各向同性微分算子,它具有旋转不变性,一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义为:其中,Laplace()是拉普拉斯算子为了更适合于数字图像处理,将该方程表示为离散形式:其中,x是像素横坐标,y是像素纵坐标步骤S140,计算滤波后图像的标准差;图像灰度均值:mean=1/N*∑f(x,y)(N是像素个数)灰度图像标准差:其中,f(x,y)是图像中横坐标为x、纵坐标为y的像素点的灰度值清晰的图像经过Laplace算子处理后得到的像素数值偏差都很大,而一张模糊的图像,经过Laplace算子处理后得到的像素值分布比较散,根据这个特点我们可以运用统计学的标准差来区分,清晰的图的像素值标准差较大而模糊图的像素值因为分部比较散相对来说标准差较小;步骤S150,若图像标准差小于阈值STD_max,则认为该图像比较模糊,跳过此图像;否则,继续执行下一步;步骤3,搜索用于重定位的局部候选帧,包括如下步骤:步骤S160,搜索用于重定位的局部候选帧,全部放入集合S1中,该步骤进一步包括:1)根据上一次跟踪上的图像帧所对应的参考关键帧,得到参考关键帧特征点对应的3D点集合P1;2)根据ORBSLAM2中的3D点共视关系(共视是指:一个特征点被不同的图像帧观测到,则这两个帧存在共视关系),获取所有观测到集合P1中3D点的关键帧,并记录该关键帧与参考关键帧的共视3D点的个数,若点数大于50,同时该帧的id与参考关键帧相差不超过20,则放入集合S1。3)对集合S1中的关键帧,遍历最多80个关键帧,a.找到每个关键帧的共视关键帧,放入集合S2;共视条件为至少共同观测到6个特征点;b.找到每个关键帧的子关键帧(child),放入集合S2c.找到每个关键帧的父关键帧(parent),放入集合S24)将S2中所有图像帧放入集合S1中,合并到一起;步骤4:图像匹配和优化,包括如下步骤:步骤S170,每次从集合S1(用于重定位的局部候选帧集合)中取出一个关键帧,可以通过ORBSLAM2提供的接口SearchByBow()得到每个关键帧和当前帧图像特征匹配的特征点集合match_points、特征点个数match_num;同时,可以从ORBSLAM2中得到这些匹配的特征点对应的3D点集合MapPoints;步骤S180,若match_num小于阈值15,则跳过此关键帧;否则继续下一步;步骤S190,基于RANSAC(随机抽样一致算法)和PnP(Perspective-n-Point)算法,计算关键帧和当前帧相对位姿、特征匹配的内点个数max_inliers(即当前帧和关键帧匹配上的特征点个数);PnP是已知多个3D空间点和它们在图像平面的投影位置时,通过多对3D与2D匹配点,在已知或者未知相机内参的情况下,利用最小化重投影误差来求解相机外参,估算相机的位姿;同时,使用RANSAC算法多次迭代估算位姿。主要计算步骤如下:a.每次从步骤S170得到的集合match_points和MapPoints中随机取4个点对(match_points中的2D特征点与MapPoints中的3D点是一一对应的),通过ORBS本文档来自技高网...

【技术保护点】
1.一种基于局部关键帧匹配的SLAM快速重定位方法,当ORB SLAM2跟踪失败后,用户将相机转向最近拍摄过的场景,采用上述SLAM快速重定位方法;其特征为:包括以下步骤:图像处理:在基于视觉的ORB SLAM2算法框架中,提取图像的ORB特征点;图像模糊检测:对图像进行模糊检测,过滤模糊的图片;搜索用于重定位的局部候选帧:构造一个图像集合,这个集合是所有观测到参考关键帧特征点的前n帧图像经过筛选得到的;图像匹配和优化:用当前帧与图像集合里的图像进行匹配和位姿优化,若符合指定的约束条件,则认为重定位成功。

【技术特征摘要】
1.一种基于局部关键帧匹配的SLAM快速重定位方法,当ORBSLAM2跟踪失败后,用户将相机转向最近拍摄过的场景,采用上述SLAM快速重定位方法;其特征为:包括以下步骤:图像处理:在基于视觉的ORBSLAM2算法框架中,提取图像的ORB特征点;图像模糊检测:对图像进行模糊检测,过滤模糊的图片;搜索用于重定位的局部候选帧:构造一个图像集合,这个集合是所有观测到参考关键帧特征点的前n帧图像经过筛选得到的;图像匹配和优化:用当前帧与图像集合里的图像进行匹配和位姿优化,若符合指定的约束条件,则认为重定位成功。2.根据权利要求1所述的一种基于局部关键帧匹配的SLAM快速重定位方法,其特征为:上述步骤进一步包括:1)图像处理步骤S100,将SLAM输入的彩色图像转换为灰度图;步骤S110,使用opencv对上一步得到的灰度图提取ORB特征点,ORB特征点计算快并且具有旋转不变性;2)图像模糊检测步骤S120,若ORB特征点个数大于设定的阈值N_max,则进行下一步;否则返回失败;步骤S130,使用3x3的拉普拉斯Laplace算子对灰度图中图像进行滤波;步骤S140,计算滤波后图像的标准差;步骤S150,若图像的标准差小于阈值STD_max,则认为该图像比较模糊,跳过此图像;否则,继续执行下一步;3)搜索用于重定位的局部候选帧步骤S160,搜索用于重定位的局部候选帧,全部放入用于重定位的局部候选帧集合S1中;4)图像匹配和优化步骤S170,每次从集合S1中取出一个关键帧,可以通过ORBSLAM2提供的接口SearchByBow()得到每个关键帧和当前帧图像特征匹配的特征点集合match_points、特征点个数match_num;同时,可以从ORBSLAM2中得到这些匹配的特征点对应的3D点集合MapPoints;步骤S180,若match_num小于阈值15,则跳过此关键帧;否则继续下一步;步骤S190,基于随机抽样一致算法RANSAC和PnP(Perspective-n-Point)算法,计算关键帧和当前帧相对位姿、特征匹配的内点个数max_inliers,所述内点个数max_inliers即为当前帧和关键帧匹配上的特征点个数;PnP是已知多个3D空间点和它们在图像平面的投影位置时,通过多对3D与2D匹配点,在已知或者未知相机内参的情况下,利用最小化重投影误差来求解相机外参,估算相机的位姿;同时,使用RANSAC算法多次迭代估算位姿;步骤S200,若上一步骤得到的内点数max_inliers小于10则返回;否则进行下一步;步骤S210,固定当前帧的地图点,对当前帧的位姿进行局部优化;步骤S220,若优化出的内点数超过50,则认为重定位成功。3.根据权利要求2所述的一种基于局部关键帧匹配的SLAM快速重定位方法,其特征为:所述步骤S100将SLAM输入的彩色图像转换为灰度图,按照以下方式转换:RGBtoGray:0.299*R+0.587*G+0.114*B–>Y其中,R是红色分量,G是绿色分量,B是蓝色分量,Y是灰度图。4.根据权利要求2所述的一种基于局部关键帧匹配的SLAM快速重定位方法,其特征为:所述拉普拉斯Laplace算子是最简单的各向同...

【专利技术属性】
技术研发人员:马浩凯黄骏周晓军王行孙赛陶明李骊盛赞李朔杨淼
申请(专利权)人:南京华捷艾米软件科技有限公司
类型:发明
国别省市:江苏,32

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

1