韩晓东,刘 冬,丛 明
(大连理工大学 机械工程学院,辽宁 大连 116023)
基于ORB特征和里程计信息的机器人视觉导航*
韩晓东,刘 冬,丛 明
(大连理工大学 机械工程学院,辽宁 大连 116023)
提出一种基于ORB(oriented FAST and rotated BRIEF)特征和里程计信息的移动机器人视觉导航方法。该方法提取输入场景的ORB特征作为显著路标,同时提取机器人里程计信息计算行为模式,将显著路标和行为模式作为状态节点进行机器人环境拓扑地图的构建。基于特征匹配技术进行机器人的状态定位,并选择状态中对应的行为模式实现机器人的路径跟踪导航,且在导航过程中有防止偏移既定路线的调整机制。实验表明:文中的方法能够较好的完成机器人的导航任务,并且对环境中的动态信息具有一定的鲁棒性。
移动机器人;ORB特征;图像匹配;导航
导航是机器人通过传感器感知环境和自身状态,运用智能算法以实现机器人的各种功能。目前机器人导航方式主要有以下几种:惯性导航,磁导航,卫星导航如GPS,视觉导航等[1]。其中,视觉导航由于其获取信息丰富,对环境认知具有多功能性等优势,已经成为智能机器人导航领域的一个重要方向。
随着机器人计算机硬件技术的飞速发展以及各类算法的不断涌现,图像处理速度得到了极大的提高,此外视觉传感器价格也显著下降,使得视觉系统在机器人导航定位和环境感知等的应用越来越常见,在许多机器人作业的场合都会搭载智能视觉系统,比如陆地自主导航车(Autonomous Ground Vehicles, AGV)[2],空中无人机(Unmanned Aerial Vehicle, UAV)[3]和水下无人潜艇(Autonomous Underwater Vehicles, AUV)[4]等。
本文基于图像特征提取与匹配技术实现机器人的自主导航。采用特征检测可以提取环境中有效的路标,这些路标在连续不同帧的图像中具有稳定性,且机器人回到当前位置时容易被再检测。常用的特征有很多,如经典的SIFT算法[5]及其改进型SURF算法[6]。近年来二进制算法取得了广泛的应用,其中Rublee于2011年提出的ORB算法[7]具有高效、快速的性能。它的特征点检测以及描述子提取分别基于FAST角点和BRIEF描述算法,并加入旋转不变性,能满足导航的实时和精度需求。
特征检测作为视觉导航过程的第一步,须为后续地图构建及机器人导航奠定速度优势。FAST算子[8]是E.Rosten等人于2006年提出的一种快速角点检测算子,其最大优点是杰出的实时性,它通过比较圆周像素与中心像素的灰度值来确定特征点。
(1)
在满足实时的基础上进一步考虑精度的需求,对FAST特征点加入方向特性,ORB采用的方法如下:
对一个图像区域定义一个矩:
(2)
通过这个矩找到图像区域的质心。
(3)
其中,(x,y)为FAST角点的坐标,圆形邻域半径r,(x,y)的取值范围是[-r,r],C为圆形邻域的质心。这样就得到一个向量OC,而向量OC的方向θ即为FAST特征点的方向:
(4)
式中,atan2表示取值区间在 (-π,π]的反正切函数。
图1为机器人获得的不同帧输入场景及其中提取出的ORB特征点,图中圆内的直线代表特征点的方向。
图1 不同输入场景中的特征点检测
在机器人视觉导航中,需要对提取的特征进行描述,稳定高效的描述子是后续匹配工作的前提。ORB特征采用的是基于BRIEF描述子的改进算法。BRIEF特征描述子[9]描述简单、占用存储空间小、速度快,它的思想是图像特征点邻域可以用相对少量的灰度对比来表达。
在S×S大小的图像邻域P上定义τ测试:
(5)
其中,p(x)是图像邻域P在x处的灰度值。选择n个测试点对生成n维的二进制串,即为BRIEF描述子。
(6)
ORB根据特征点的主方向对BRIEF描述子加入了旋转不变性,称为steeredBRIEF。加入方向特征的steeredBRIEF具有更好的区分性和不相关性,从而提高匹配的精度。
图2为本文移动机器人的导航方法,包括两大部分,路径学习以及状态定位与导航。
图2 移动机器人视觉导航方法流程图
第一部分:路径学习,在未知环境中,预先指定路径给机器人学习,机器人通过视觉系统不断检测环境并记录环境特征,同时记录里程计信息计算相应的行为模式,将环境特征和行为模式作为状态节点来构建拓扑地图。
第二部分是状态定位与导航:机器人对比原先学习过的路径状态节点,即视觉系统检测并保存的环境特征,实现状态定位并选择对应的行为模式实现导航。
3.1 路径学习
机器人路径学习是建立基于状态的环境拓扑地图的过程,每一个状态中都记录了相应的环境特征信息,机器人行走于预先指定路径时,首先进行环境特征的采样,即视觉系统采集得到的图像的ORB描述子,随时间的不同分割机器人路径为离散的状态。当两帧图像的相似度在一定阈值以下时,新的状态节点被保存添加到环境拓扑地图中。这种方法可以方便的自主选择状态数量以适应不同的环境。
两幅图像的相似度判定以图像中匹配成功的特征点数与提取特征点总数的比值来确定。采用特征点向量的Hamming距离进行特征点的匹配,以输入场景的特征点为基准,在待配准图像中搜索与其最近和次近的点,当满足最近距离与次近距离的比值小于一个阈值并且最近距离必须在一定范围内时,则定义匹配成功。
当输入场景需要保存时,同时计算机器人的行为模式,共同保存作为一个状态节点。行为模式的计算过程见下节。
3.2 机器人行为模式
本文中的行为模式表示机器人行为,如直走、左转、原地左转、右转、原地右转、停止等。通过状态节点间隔时间内机器人里程计信息计算方向角△t的变化,从而判断机器人行为模式。机器人行走过程中角速率恒定,为0.2rad/s ,且规定左转方向为正。由此定义机器人的行为模式如下:
(1)如果△t>5°,则相应状态节点机器人的行为模式为左转;
(2)如果△t<-5°,则相应状态节点机器人的行为模式为右转;
(3)如果-5°<△t<5°,则相应状态节点机器人的行为模式为直走。
此外,原地左转及右转的行为模式结合上述定义以及机器人里程计获得的坐标信息来确定,当采样周期内机器人位置变动在某一阈值内时,发生角度的变化认为机器人是原地转动。
3.3 机器人状态定位
机器人的状态定位通过当前场景与学习地图中记忆路标的匹配完成,当机器人获得当前场景的路标以后,状态定位模块对数据库中所有路标进行搜索与匹配。若当前感兴趣的区域被定位为机器人的状态,则机器人导航模块认为此状态为机器人当前位置。
如果机器人成功定位习得路径中的某一状态,则机器人可根据此状态中对应的行为模式来规划机器人需要采取的行为。
3.4 干扰消除
在机器人路径学习以及导航过程中,图像特征的匹配可能会出现误匹配。在学习过程中会造成地图节点保存冗余或者匮乏,而导航过程中则会导致机器人错误的状态定位直至导航失败,因此必须去除这些误匹配点的干扰。
考虑到导航的实时性,基于K近邻算法进行误匹配的去除工作[10]。在多维空间Rn中找到与位置样本最近邻的k个点,并根据这k个点的类别判断未知样本的类,这k个点就是未知样本的k-最近邻。图3为采用K邻近算法的匹配效果图,可以看出匹配的精度很高,能满足机器人导航任务的需求。
图3 K邻近算法图像匹配效果图
3.5 路径纠正
机器人导航过程中,由于受到起始位置的偏移或者环境中动态信息等因素的影响,机器人的行驶路径与学习路径会出现偏差,因此需要在机器人的行驶过程中加入纠正机制以保证机器人导航的精度。
根据相匹配路标的位置坐标关系对机器人的行驶进行调整[11],忽略路标的纵向坐标,采用其横向坐标来进行判断。如图4所示,图中中心线代表场景的中心线,Xt为输入场景路标的横向坐标,Xd为数据库中对应特征点的横向坐标,则机器人行驶的调整机制为:
Xt Xt>Xd并且Xt>0,则机器人右转。 其中X<0表示特征点在图像中心线的左侧。 图4 路径纠正机制 在非结构化环境中,控制Turtlebot2进行路径学习,使用Kinect获得输入场景图像序列,验证本文提出方法的有效性。 实验中的主要数据为图像分辨率640×480,图像采集频率30FPS,特征点检测数目上限500,路径学习时两个状态节点之间图像相似度阈值在0.5以下,状态定位时图像匹配率阈值在0.8以上。机器人移动速度设定线速度0.3m/s,角速度0.2rad/s。实验开始时通过键盘控制机器人沿一定路径行走,提取摄像头的图像信息及机器人里程计信息进行状态学习,保存状态节点构建环境拓扑地图。 机器人在室内环境中行走的路径总长度为6.9m,该路径呈倒‘L’形状,在构建地图过程中机器人只行走一次既定路径,共采集到1200帧图像,学习到80个状态节点,如图5中所示。采集过程中,从241帧到302帧有行人经过,为场景中的动态信息,此时状态节点增加速率变快,这段时间内共增加了6个状态节点。由于行人只是在短时间内经过,并不干扰机器人的行走路线,因此带来的影响只是拓扑地图中增加了若干冗余节点,机器人导航还是能够顺利进行。 图5 状态节点生成 图6为机器人跟踪路径导航过程中在某时刻位置获得图像与数据库中显著路标的匹配图,从图中可知:本文方法可以自主检测出输入场景的显著路标,并且同一位置显著路标具有稳定性。根据匹配状态节点相应的行为模式规划机器人当前采取的行为,除拐点处为原地左转外,其余部分为直走。 图6 输入场景与数据库路标匹配 导航结束后得到的机器人轨迹与学习的路径对比如图7中所示,机器人导航误差为0.07m,这里导航误差为机器人行走路径与预设路径的横向偏差。实验结果表明:机器人通过摄像头的输入场景检测显著路标,提取特征描述子进行导航可以稳定的跟踪预设路径,在复杂的室内环境中导航误差在0.10m以内,具有较稳定的导航能力。 图7 机器人导航轨迹 [1] 刘海涛, 关胜晓, 秦亮,等. 智能机器人视觉导航系统的研究[J]. 计算机应用与软件, 2010, 27(12):218-220. [2] Lategahn H, Geiger A, Kitt B. Visual SLAM for autonomous ground vehicles[C]//Robotics and Automation (ICRA), 2011 IEEE International Conference on. IEEE, 2011: 1732-1737. [3] Cai G, Chen B M, Lee T H. An overview on development of miniature unmanned rotorcraft systems[J]. Frontiers of Electrical and Electronic Engineering in China, 2010, 5(1): 1-14.[4] Brown H C, Kim A, Eustice R M. An overview of autonomous underwater vehicle research and testbed at PeRL[J]. Marine Technology Society Journal, 2009, 43(2): 33-47. [5] Lowe D G. Distinctive Image Features from Scale-Invariant Keypoints[C]// International Journal of Computer Vision, 2004:91-110. [6] Bay H, Ess A, Tuytelaars T, et al. Speeded-up robust features (SURF)[J]. Computer vision and image understanding, 2008, 110(3): 346-359. [7] Rublee E, Rabaud V, Konolige K, et al. ORB: an efficient alternative to SIFT or SURF[C]// Computer Vision (ICCV), 2011 IEEE International Conference on. IEEE, 2011: 2564-2571. [8] Rosten E, Drummond T. Machine learning for high-speed corner detection[M].Computer Vision -ECCV 2006.Berlin Heidelberg:Springer, 2006. [9] Calonder M, Lepetit V, Strecha C, et al. BRIEF: binary robust independent elementary features[C] // Proceedings of the 11th European conference on Computer vision: Part IV. Springer-Verlag, 2010:778-792. [10] Baggio D L. Mastering OpenCV with practical computer vision projects[M]. Packt Publishing Ltd, 2012. [11] Chang C K, Siagian C, Itti L. Mobile Robot Vision Navigation & Localization Using Gist and Saliency[C]// IEEE/RSJ International Conference on Intelligent Robots & Systems, 2010:4147-4154. (编辑 李秀敏) Robotic Visual Navigation Based on ORB Features and Odometer Information HAN Xiao-dong,LIU Dong,CONG Ming (School of Mechanical Engineering, Dalian University of Technology, Dalian Liaoning 116023, China) A mobile robot vision navigation method was proposed based on ORB (oriented FAST and rotated BRIEF) features and odometer information. The ORB features was extracted from input scenes as salient landmarks, meanwhile robot’s behavior was calculated based on odometer information. Both the landmarks and the behavior patterns was informed as a state to build the topological map of the environment. Robot localization was processed by feature matching, and behavior pattern was selected in corresponding state to realize robot’s path tracking and navigation, an adjustment mechanism was implemented to avoid the deviation from the path. Experimental results show that: the method is able to perform good tracking and navigation task, and has robustness for dynamic information of environment. mobile robot; ORB features; image matching; navigation 1001-2265(2017)01-0109-03 10.13462/j.cnki.mmtamt.2017.01.030 2016-03-22 大连市科技计划项目(2014A11GX028) 韩晓东(1990—),男,河北邯郸人,大连理工大学硕士研究生,研究方向为机器人智能控制,(E-mail)hanxiaodong@mail.dlut.edu.cn。 TH165;TG659 A4 实验与结果