APP下载

基于改进FAST特征检测的ORB?SLAM方法

2018-03-13公维思周绍磊吴修振刘刚

现代电子技术 2018年6期

公维思+周绍磊+吴修振+刘刚

摘 要: 针对视觉ORB?SLAM中的特征点提取过程,提出一种改进的FAST特征点检测方法。在ORB?SLAM过程中,由于光照和周围环境信息的不确定性,当环境对比度下降时,易造成特征点数量急剧减少从而造成SLAM过程的失败。针对上述问题,基于图像的对比度信息,提出一种自适应阈值的FAST特征点检测方法,利用图像的对比度自适应调整特征点检测时的阈值,当图像对比度下降时依然能够保证特征点检测的数量,大大提高了ORB?SLAM的鲁棒性和适应性。对提出的方法进行了实验验证,结果表明该方法切实可行,具有较高的实用价值。

关键词: ORB?SLAM; 特征点检测; 图像对比度; 自适应阈值; SLAM过程; 特征点提取

中图分类号: TN964?34; V249.329 文献标识码: A 文章编号: 1004?373X(2018)06?0053?04

Abstract: Aiming at the feature point extraction process in visual ORB?SLAM, an improved FAST feature point detection method is proposed. In ORB?SLAM process, when the environment contrast degree decreases, the number of feature points tend to fall sharply due to the uncertainty of illumination and surrounding environment information, which leads to the failure of the SLAM process. To solve the above problem, an adaptive threshold based FAST feature point detection method is proposed based on image contrast degree information. Image contrast degree is used for adaptive adjustment of feature point detection thresholds so that the number of feature points for detection can be guaranteed when image contrast degree decreases, and the robustness and adaptability of ORB?SLAM can be improved greatly. An experiment was carried out to verify the proposed method. The results show that the method is feasible and has a high practical value.

Keywords: ORB?SLAM; feature point detection; image contrast degree; adaptive threshold; SLAM process; feature point extraction

0 引 言

近年来,随着机器人技术的发展,基于视觉的同时定位与地图构建技术(Visual Simultaneous Localization and Mapping, V?SLAM)也得到了越来越高的重视。V?SLAM是指机器人在未知环境中通过自身携带的视觉传感器信息确定当前空间位置,并建立所处空间的环境模型,是实现机器人任务规划、导航、控制等自主运动的前提之一[1]。

V?SLAM的典型应用就是在无人机中,无人机可以携带视觉传感器,通过视觉传感器获取当前空间的信息,实时向地面传输数据,进行当前空间的地图构建。V?SLAM还可以应用在导航系统中,与惯导系统结合,解决卫星导航系统信号失效场合下的载体导航问题。

如今最典型的视觉导航为ORB?VSLAM,本文基于ORB?SLAM特征点,提出一种具有自适应技术的特征点检测算法。

1 ORB?SLAM整体流程及特征点提取方法

ORB?SLAM技术[2]由Raul Mur?Artal等人提出,一经提出,在机器视觉这一范围领域产生很大影响。该算法共分为三个线程:跟踪、构图、闭环检测。在整个SLAM过程中,使用的是ORB特征点检测法,并且采用Bundle adjustment(BA)[3?5]对跟踪、构图和闭环检测三个过程进行非线性迭代优化,从而得到精确的相机位置信息和三维地图点。整体流程如图1所示。

在相机采集到图像之后,首先进行特征点提取。特征点提取可以把图像信息转换为特征点信息。如图2所示,预处理过程共包括三个阶段:特征点的检测识别过程,解决的是特征点在哪儿的问题;特征点的描述表达过程,解决的是特征点是什么样的问题;特征点的分类匹配过程,解决的是特征点属于哪儿的问题。

图像预处理过程的核心是ORB特征点检测技术,ORB特征点[6?8]采用具有方向信息的FAST检测算法(Oriented Features from Accelerated Segment Test)。FAST特征点检测方法(Feature from Accelerated Segment Test)[9?10]由Rosten提出,通过比较像素点与周围邻域内像素点灰度值的大小判断是否为特征点,并且通过求解特征点周围的灰度梯度来表征特征点的方向,得到特征点的像素坐标和方向角。此过程简单易于实现,并且具有较高的效率。但在实际环境中,由于光照和周围环境信息的不确定性,当环境对比度下降时,会易造成特征点数量急剧减少从而造成SLAM过程的失败。endprint

2 改进的FAST特征点检测方法

基于上述问题,本文提出一种自适应阈值的FAST特征点检测方法。如图3所示,设待检测点为P,以P为圆心,半径为3的像素点构成一个Bresenham圆,在圆边上取16个像素点,设定灰度阈值[t>0],比较圆上每一个像素点[x]的灰度值[I(x)]与[p]的灰度值[I(p)]的大小,共有三种情况:

情况1:[I(x)-I(p)>t],[x]点比[p]点亮;

情况2:[I(x)-I(p)<-t],[x]点比[p]点暗;

情况3:[-tI(x)-I(p)t],[x]点和[p]点亮度相似。

首先,定义一个阈值,首先计算[p(1)],[p(9)]与中心的像素差,若它们绝对值都小于阈值,则[p]点不可能是特征点,否则当作候选点。

若[p]是候选点,则计算[p(1)],[p(9)],[p(5)],[p(13)]与中心[p]的像素差,若它们的绝对值有至少三个超过阈值,则当作候选点,再进行下一步考察,否则否定该点。

若[p]是候选点,则计算[p(1)]到[p(16)]这16个点与中心[p]的像素差,若它们有至少12个超过阈值,则确定为候选点。

对图像进行极大值抑制。计算特征点算出的FAST得分值,判断一特征点[p]为中心的一个邻域内,若有多个特征点,则判断每个特征点的得分值(16个点与中心差值的绝对值总和),若[p]是邻域内所有特征点中相应最大的,则保留,否则,抑制。若邻域内只有一个特征点,则保留该特征点。

在以p点为圆心,半径为3像素的圆形图像块内,定义[x,y]为图像块内的点相对于圆心的相对坐标,此点处的灰度值为[Ix,y],则此圆形区域pq的阶矩表示为:

[mpq=x,yxpyqIx,y] (1)

强度中心表示为:

[C=m10m00,m01m00] (2)

则ORB特征點的方向角定义为:

[θ=arctan m01m10] (3)

在检测FAST特征点时,所使用的灰度差阈值[t]是固定的。当光照强度及周围环境对比度变化时,会使所检测到的特征点数量减少,从而导致跟踪失败及实验不准确等结果。根据以上问题,本文提出一种自适应阈值的计算方法,首先算出图像的对比度[C]:

[C=δδ(i,j)2Pδ(i,j)] (4)

式中:[δ(i,j)=i-j],即相邻像素间灰度差;[Pδ(i,j)]为相邻像素间的灰度差为[δ]的像素分布概率。

根据求出的图像对比度[C],设计自适应阈值[t]:

[t=αC] (5)

式中,[α]为自适应参数,取值根据实验数据确定。

改进之后的FAST检测算法整体流程图如图4所示。

3 实验验证分析

3.1 实验平台搭载

首先搭载实验平台,对改进的ORB?SLAM进行实验验证,并对实验结果进行对比。试验相机如图5所示。

试验所用相机为ZED双目立体相机,在720P模式下,分辨率为[2 560×720],测量深度为0.5~20 m,能够捕捉[110°]的广角视频。

3.2 试验过程

在烟台市体育公园进行数据收集,共行进三圈,每一圈路线大致相同,保证实验数据的不变性,试验过程中双目相机对周围环境进行数据采集。

3.3 试验结果分析

数据采集完成后,使用改进的ORB?SLAM算法对数据进行离线处理,得到的整体ORB?SLAM结果如图6所示,其中,黑色和红色代表存储的地图点,蓝色表示存储的关键帧,绿色代表轨迹。

使用两种算法分别运行100次采集到的实验数据,比较使用原ORB?SLAM与改进之后的ORB?SLAM成功构图的概率,如表1所示。

从表1可以看出,分别运行100次程序,原ORB?SLAM算法成功构图的次数只有70次,而改进之后的算法成功构图的次数为86次。通过成功的概率可知,改进之后的算法由于增加了识别出的特征点的数量,进而增加了成功构图的概率。取同一帧试验数据,对于同一关键帧数据,原FAST特征点识别方法与改进之后的FAST特征点识别方法识别出的ORB特征点如图7和图8所示,其中,绿色代表识别出的特征点。

从图7和图8中可以看出,对于同一关键帧,在光照强度较大时,改进之后的算法明显适应性更强,相比于原算法多检测出了约30%的特征点。因此,该算法切实有效,提高了检测出的特征点数量,进而提高了整个ORB?SLAM系统的鲁棒性。

4 结 论

本文针对ORB?SLAM中特征点检测的问题,提出一种基于图像对比度的自适应阈值算法,该算法根据图像的对比度,设计自适应阈值[t]。实验结果表明,该方法大大提高了在光照强度很大时检测出的特征点数量,使ORB?SLAM的整体流程具有更高的定位精度和鲁棒性。所以,基于改进的FAST特征点检测ORB?SLAM方法具有较大的实用价值。

参考文献

[1] 艾青林,余杰,胡克用,等.基于ORB关键帧匹配算法的机器人SLAM实现[J].机电工程,2016,33(5):513?514.

AI Qinglin, YU Jie, HU Keyong, et al. Realization of SLAM based on improved ORB keyframe detection and matching for robot [J]. Journal of mechanical & electrical engineering, 2016, 33(5): 513?514.endprint

[2] 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, 2017, 31(5): 1147?1163.

[3] LOURAKIS M I A, ARGYROS A A. SBA: a software package for generic sparse bundle adjustment [J]. ACM transactions on mathematical software, 2009, 36(1): 1?30.

[4] OLSON E, LEONARD J, TELLER S. Fast iterative optimization of pose graphs with poor initial estimates [C]// Proceedings of IEEE International Conference on Robotics & Automation. Orlando: IEEE, 2006: 2262?2269.

[5] JEONG Y, NIST?R D, STEEDLY D, et al. Pushing the envelope of modern methods for bundle adjustment [J]. IEEE transactions on pattern analysis and machine intelligence, 2012, 34(8): 1605?1617.

[6] RUBLEE E, RABAUD V, KONOLIGE K, et al. ORB: an efficient alternative to SIFT or SURF [C]// Proceedings of IEEE International Conference on Computer Vision. Barcelona: IEEE, 2011: 2564?2571.

[7] MUR?ARTAL R, TARD?S J D. Fast relocalisation and loop closing in keyframe?based SLAM [C]// Proceedings of IEEE International Conference on Robotics and Automation. Hong Kong: IEEE, 2014: 846?853.

[8] MUR?ARTAL R, TARD?S J D. Probabilistic semi?dense mapping from highly accurate feature?based monocular SLAM [C]// Proceedings of Conference on Robotics: Science and Systems. [S.l.: s.n.], 2015: 1?9.

[9] ROSEN E, PORTER R, DRUMMOND T. Fast and better: a machine learning approach to corner detection [J]. IEEE transactions on pattern analysis and machine intelligence, 2010, 32(1): 105?119.

[10] ROSTEN E, DRUMMOND T. Machine learning for high speed corner detection [C]// Proceedings of European Conference on Computer Vision. Berlin: Springer, 2006: 430?443.endprint