文章快速检索  
  高级检索
一种用于图像特征提取的改进ORB-SLAM算法
张良桥1,2, 陈国良1,2, 许晓东1, 连达军3, 王睿1,2     
1. 中国矿业大学环境与测绘学院, 江苏 徐州 221116;
2. 中国矿业大学国土环境与灾害监测国家测绘 地理信息局重点实验室, 江苏 徐州 221116;
3. 苏州科技大学环境学院, 江苏 苏州 215009
摘要:针对复杂室内环境下视觉SLAM定位存在实时性差、轨迹漂移等问题,本文提出了一种基于图像特征提取方法的ORB-SLAM算法。该算法在前端中提高图像特征检测与匹配的效率和精度,引入闭环检测策略优化相机位姿轨迹,提高定位精度。以不同来源图像对比分析不同特征提取算法SIFT、SURF、ORB的有效性,运用该算法估计机器人运动轨迹,与真实轨迹相对位姿误差为0.144 8 m,试验表明所提出的方法切实可行,具有较高的稳健性。
关键词视觉SLAM     图像特征检测与匹配     ORB-SLAM     回环检测     位姿估计    
An improved ORB-SLAM algorithm for feature extraction
ZHANG Liangqiao1,2, CHEN Guoliang1,2, XU Xiaodong1, LIAN Dajun3, WANG Rui1,2     
1. School of Environment Science and Spatial Informatics, China University of Mining and Technology, Xuzhou 221116, China;
2. NASG Key Laboratory of Land Environment and Disaster Monitoring, China University of Mining and Technology, Xuzhou 221116, China;
3. Suzhou University of Science and Technology, Suzhou 215009, China
Abstract: Aiming at the problem of poor real-time performance and trajectory drift in visual SLAM positioning in complex indoor environments, this paper proposes an ORB-SLAM algorithm based on image feature detection extraction method.The algorithm improves the efficiency and accuracy of image feature detection and matching in the front-end, introduces a closed-loop detection strategy to optimize camera pose trajectory, and improves positioning accuracy.The SIFT, SURF and ORB of different feature extraction algorithms are compared and analyzed in different sources.The robot motion trajectory is estimated by this algorithm.The relative pose error from the real trajectory is 0.144 8 m.Experiments show that the proposed method is feasible and robustness.
Key words: V-SLAM     image feature detection and matching     ORB-SLAM     loop detection     pose estimation    

目前室内定位技术主要有视觉导航定位、GPS定位、视觉SLAM定位、超声波定位、WLAN定位[1]等方法。视觉导航定位技术图像处理量比较大,要求计算机具有较高的性能,定位实时性效果较差,同时受光线环境条件限制大。超声波导航定位由于超声波容易受到镜面反射等因素的影响,无法比较全面地获取周边环境信息。GPS导航定位在室内环境下,接收到的信号弱,存在定位精度低、可靠性不高的问题。WLAN定位楼层定位准确度低,容易受到信号干扰,能耗较大。然而视觉SLAM技术具有性价比高、应用范围广、信息采集丰富等优点,逐渐成为室内定位技术的主流方法之一。

时定位与地图构建(simultaneous localization and mapping,SLAM),也称为(concurrent mapping and localization,CML)是指一个机器人放入未知环境中的未知位置,是否有办法让机器人在运动的同时描绘周围的地图与确定自身位置。视觉SLAM是以相机作为唯一传感器的SLAM技术。视觉SLAM根据采用的相机种类不同可以分为:单目视觉SLAM[2-3](Mono SLAM)、双目视觉SLAM[4](Binocular SLAM)、RGB-D SLAM[5]3类。这3类视觉SLAM各有优劣,单目视觉SLAM应用具有灵活、简单、价格便宜等优点,但是它只能获得单张相片,不能获得距离深度信息,而且在应用时需要初始化地图;双目视觉SLAM应用广泛,可以获得距离深度信息,定位精度高,但是相机标定比较复杂,成本比较高且稳健性低;RGB-D SLAM在获得彩色图像的同时获得距离深度信息,但是其成本高,体积大,应用环境有限。由于在日常生活中,单目相机(手机、平板电脑、笔记本电脑等数码电子产品的摄像头均是单目相机)更常见,且应用灵活简便、价格便宜,单目视觉SLAM[6]是最常见的视觉SLAM技术。

单目视觉SLAM流程包括前端和后端两个部分[7],前端主要是特征检测与匹配和运动估计,后端包括后端优化和回环检测。主要技术路线如图 1所示。

图 1 视觉SLAM系统框架

特征检测与匹配是SLAM关键步骤之一,检测匹配结果直接影响到最终结果的精度。文献[8]提出了一种在对象或场景的不同视图之间提取图像不变特征的方法,首次提出了尺度不变与特征变换(scale invariant feature transform,SIFT)算法。这种算法能够保持旋转、尺度缩放不变性,但是算法复杂度较高,计算量较大。文献[9]首次提出了加速稳健性特征(speed-up robust feature,SURF)算法,通过试验证明了其在效率上的优越性,该算法对于光照变化和仿射、透视变换具有较好的稳健性,同时具有尺度不变性。文献[10]于2011年首次提出由Oriented FAST关键点和Rotated BRIEF描述子两部分组成的ORB方法。ORB方法很少受图像噪声影响,可以满足实时性的要求,计算速度也比SIFT、SURF算法快。

本文从现有方法出发,对获得的单目图像运用不同算法进行提取同名点并进行特征匹配,通过随机采样一致性[11](random sample consensus,RANSAC)算法进行噪声点剔除,求解基础矩阵,获得相机位姿。为了更好地体现估计结果,在算法中采用阈值思想,设置最小特征匹配数。

1 ORB-SLAM整体流程及算法原理

ORB-SLAM技术[12]由Mur-Artal R等提出,主要包括跟踪、建图和回环检测3部分。在整个流程中,通过ORB算法进行特征点检测与匹配,使用BA(bundle adjustment)非线性迭代优化,获得相机位姿与地图数据。ORB-SLAM整体流程如图 2所示。

图 2 ORB-SLAM算法总体流程
1.1 ORB算法

ORB(oriented FAST and rotated BRIEF)算法具有局部不变特征,ORB特征由关键点[13-14](oFAST,oriented FAST)和描述子(BRIEF,binary robust independent elementary feature)两部分组成。该算法将FAST角点检测与BRIEF特征描述符进行融合改进,针对FAST算法缺陷,加入了尺度与旋转描述,同时计算了特征点的主方向,对于BRIEF算法,添加了旋转不变性,同时执行greedy搜索,解决了特征描述子之间相关性较大的问题。为了更好地提取FAST关键点,本文提出一种设置阈值的FAST检测方法,如图 3所示。基本思想是:一个像素与周围像素亮度差别在超过一个阈值T,则该点为关键点。具体关键点检测方法如下:

图 3 FAST关键点提取

(1) 确定检测范围:在图像中选取像素x,设该像素亮度值lx,选取x为圆心半径为3个像素的圆上16个像素点。

(2) 与阈值大小比较:确定一个阈值T,假设圆上有连续12个像素点的亮度在lxTlx+T之间,该点x确定为特征点。重复上述步骤,直至所有特征点检测完成。

(3) 非极大值抑制:计算特征点响应值Mx邻域内存在多个关键点时,比较M大小,M最大的保留,其余删除。

式中,lxyx邻域圆上像素编号(y≤16)。

oFAST利用灰度质心法,假设关键点与质心之间存在偏移量,该向量可表示关键点主方向。局部区域中定义阶矩

式中,I(u, v)为像素点(u, v)的灰度值。

图像质心为

方向角为

BRIEF是一种特征描述子,需要对图像进行高斯平滑处理,以关键点为中心,在邻域内挑选n个点对,I(x, y)相互比较灰度值,x>y取1,反之取0,生成n维特征描述符。将n个点对(xi, yi)定义为2×n矩阵

利用θ对其进行旋转

式中,Rθ表示角度为θ的旋转矩阵,Sθ为旋转后对应的矩阵。这时BRIEF描述子具备了旋转不变的性质。

1.2 回环检测

由于帧间估计误差的存在[15],机器人在移动过程中不可避免地存在相机位姿误差漂移,运行时间越长,数据量越大漂移量也就越大,即误差越大。为提高算法稳健性,减小试验误差,本文采用一种基于关键帧的回环检测方法,通过检测闭环,建立当前时刻与之前时刻的约束关系为姿态优化与地图纠正,实现全局一致性估计。具体方法为:初始化关键帧序列,将第一张图像作为关键帧添加到关键帧序列帧[16],设置检测间隔,处理间隔一定数量的关键帧,通过RANSAC算法去除噪声点,计算匹配成功的内点inliners,设置阈值,若inliner大于阈值舍弃,否则认为关键帧。关键帧与当前帧作比较,判断是否形成闭环,建立约束关系。

2 试验设计与分析 2.1 特征检测与匹配试验

试验数据与平台:试验采用OPPO手机单目相机获取的图像数据,TUM数据中rgbd_dataset_freiburg1_room数据集图像数据,Linux系统Ubuntu16.04处理系统。

通过张正友棋盘标定法对摄像头进行相机标定,标定完成后,在室内环境下采集图像数据。使用开源数据集TUM数据rgbd_dataset_freiburg1_room数据集任意连续两帧图像和手机摄像头拍摄实验室室内课桌上台灯图像,利用SIFT、SURF、ORB进行特征检测与匹配,两种来源图像数据3种算法试验结果统计见表 1表 2,关键点检测、图像匹配、筛选后正确匹配结果如图 4图 5所示。

图 4 3种算法对两种图像获取的关键点
图 5 3种算法对两种图像筛选后正确匹配
表 1 rgbd_dataset_freiburg1_room图像匹配统计结果
算法 左右图像
关键点数
左右图像关
键点匹配数
筛选后
匹配数
筛选后
匹配率/(%)
SIFT 1015/939 939 659 70.18
SURF 1690/1742 1690 1114 65.92
ORB 500/500 500 499 99.8
表 2 手机拍摄图像匹配统计结果
算法 左右图像
关键点数
左右图像关
键点匹配数
筛选后
匹配数
筛选后
匹配率/(%)
SIFT 3197/3336 3197 1403 44.88
SURF 6160/6817 6160 3409 55.34
ORB 500/500 500 500 100

表 1表 2给出了不同图像数据源通过SIFT、SURF、ORB 3种算法进行特征检测与匹配的结果。试验证明SURF算法检测关键点数量最多且分布密集,SIFT次之,ORB算法关键点分布均匀且数量较少,正确匹配率高。关键点太多不利于提高算法处理效率与实时性,运用ORB算法计算量较小且匹配精度较其他两种算法较高,因此ORB算法具有较好的稳健性和实用性。

2.2 轨迹跟踪试验

采用提供机器人真实轨迹的TUM数据中的rgbd_dataset_freiburg1_room数据集,数据集中提供机器人真实轨迹,通过估计轨迹与真实轨迹对比,能够清晰地验证基于图像特征检测与匹配的ORB-SLAM算法有效性。试验结果如图 6图 7所示。

图 6 二维平面真实轨迹与估计轨迹对比
图 7 三维空间真实轨迹与估计轨迹对比

图 6图 7分别描述了运用基于图像特征检测技术的ORB-SLAM算法跟踪得到的机器人轨迹与真实轨迹,通过计算相对位姿误差(relative pose error,RPE)为0.144 8 m,可以发现通过基于图像特征检测与匹配技术的ORB-SLAM算法得到的机器人轨迹基本与真实轨迹重合,满足一定精度下的工作需求。

3 结语

本文运用SIFT、SURF、ORB 3种特征提取匹配算法对不同来源的室内图像进行处理比较,验证了ORB算法的稳健性与实时性。基于此算法的优良性质提出了一种基于图像特征提取与检测的改进ORB-SLAM算法,运用阈值的思想剔除噪声关键点,在后端工作中引入闭环检测策略优化位姿获得较精确的相机轨迹图。试验证明,与传统视觉SLAM轨迹跟踪算法相比,该算法提高了轨迹跟踪稳定性与精度。

参考文献
[1]
毕京学, 汪云甲, 曹鸿基, 等. 一种基于全向指纹库的WiFi室内定位方法[J]. 测绘通报, 2018(2): 25-29.
[2]
DAVISON A J. Real-time simultaneous localisation and mapping with a single camera[C]//Proceedings of IEEE International Conference on Computer Vision. Nice, France: IEEE, 2003: 1403.
[3]
DAVISON A J, REID I D, MOLTON N D, et al. MonoSLAM:real-time single camera SLAM[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2007, 29(6): 1052-1067.
[4]
ZHU D X. Binocular vision-SLAM using improved SIFT algorithm[C]//Proceedings of the 2nd International Workshop on Intelligent Systems and Applications(ISA). Wuhan, China: IEEE, 2010: 1-4.
[5]
HENRY P, KRAININ M, HERBST E, et al. RGB-D mapping: using depth cameras for dense 3D modeling of indoor environments[C]//Experimental Robotics. Berlin Heidelberg: Springer.2014: 647-663.
[6]
顾照鹏, 刘宏. 单目视觉同步定位与地图创建方法综述[J]. 智能系统学报, 2015, 10(4): 499-507.
[7]
高翔, 张涛, 等. 视觉SLAM十四讲:从理论到实践[M]. 北京: 电子工业出版社, 2017.
[8]
LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94
[9]
BAY H, ESS A, TUYTELAARS T, et al. Speeded-up robust features (SURF)[J]. Computer Vision & Image Understanding, 2008, 110(3): 346-359.
[10]
RUBLEE E, RABAUD V, KONOLIGE K, et al. ORB: an efficient alternative to SIFT or SURF[C]//IEEE International Conference on Computer Vision. Ontario, Canada: IEEE, 2012: 2564-2571.
[11]
许晓东, 陈国良, 李晓园, 等. 一种采用图像特征匹配技术的RGB-D SLAM算法[J]. 测绘通报, 2017(10): 48-51.
[12]
MUR-ARTAL R, MONTIEL J M M, TARDÓS J D. ORB-SLAM:a versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics, 2015, 31(5): 1147-1163. DOI:10.1109/TRO.2015.2463671
[13]
王丽佳.基于图优化的单目视觉SLAM技术研究[D].武汉: 华中科技大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10487-1016779545.htm
[14]
公维思, 周绍磊, 吴修振, 等. 基于改进FAST特征检测的ORB-SLAM方法[J]. 现代电子技术, 2018(6): 53-56.
[15]
余杰.基于ORB关键帧闭环检测算法的SLAM方法研究[D].杭州: 浙江工业大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10337-1016274287.htm
[16]
章园媛.单目视觉自主移动机器人同步定位与地图构建技术[D].哈尔滨: 哈尔滨工业大学, 2009. http://cdmd.cnki.com.cn/Article/CDMD-10213-2010027149.htm
http://dx.doi.org/10.13474/j.cnki.11-2246.2019.0070
国家测绘地理信息局主管、中国地图出版社(测绘出版社)主办。
0

文章信息

张良桥,陈国良,许晓东,连达军,王睿
ZHANG Liangqiao, CHEN Guoliang, XU Xiaodong, LIAN Dajun, WANG Rui
一种用于图像特征提取的改进ORB-SLAM算法
An improved ORB-SLAM algorithm for feature extraction
测绘通报,2019(3):16-20.
Bulletin of Surveying and Mapping, 2019(3): 16-20.
http://dx.doi.org/10.13474/j.cnki.11-2246.2019.0070

文章历史

收稿日期:2018-05-24
修回日期:2018-12-27

相关文章

工作空间