码迷,mamicode.com
首页 > 其他好文 > 详细

单目视觉SLAM:采用逆深度参数化的方法求取深度信息的过程

时间:2017-07-12 13:52:12      阅读:4777      评论:0      收藏:0      [点我收藏+]

标签:机器   实验   步骤   投影   导致   工作   处理   应用   运动   

一种实时的单目视觉SLAM改进算法

该算法采用一个摄像头作为外部传感器来提取机器人行进过程中周围环境的特征信息,用实时性良好的FAST提取环境特征点,结合逆深度参数化进行特征点非延时初始化,用压缩扩展卡尔曼滤波更新地图。实验研究表明,该方法提高了算法的鲁棒性和实时性。

0 引言

移动机器人自主导航是自治机器人领域研究的热点。而同时定位与地图构建(Simultaneous Localization And Mapping,SLAM)[1]被认为是自主导航的关键,因此研究SLAM算法有着深远意义。一个视觉传感器可看作一种被动传感器,与看作主动传感器的激光、红外和声呐等传感器相比,价格低廉,抗干扰性强,获取信息丰富。因为视觉传感器通过发射光或波来获取数据而不会改变环境,并且所获得的图像包含更多的信息,所以,研究基于机器视觉感知机制的SLAM更具有价值和应用前景。

世界范围内开展了大量该领域的广泛研究,并且已得出一些非常有价值和应用前景的研究成果。20世纪90年代,Horswill研制了POLLY机器人,该机器人采用单目视觉进行导航,但是只能工作在一个颜色固定的场景中。在以后的几年中,研究人员还提出采用占据栅格的地图构建框架和特征位置检测算法,即通过单个摄像头在线处理RGB图像序列,该系统并不采用传统的匹配方法,而是计算每个位置处找到物体的概率。在立体视觉中,机器人可通过两个或多个摄像头来测量距离信息,然而,使用多个摄像头会增加处理成本,实时性会变得非常差。DAVISON A J等人在2007年实现了仅用一个火线接口摄像头作为传感器的monoSLAM[2]算法。但是该单目视觉SLAM算法利用扩展卡尔曼滤波(Compressed Extend Kalman Filtering,CEKF),对于运行时间较长的任务,路标数会不断增大,最终导致计算资源不足以实时更新地图,该问题的产生是由于每个路标都与其他路标相关联。而CEKF算法可在不影响结果准确度的条件下显著减少计算需求,正好能够改进monoSLAM算法存在的问题,所以本文利用实时性良好的FAST角点检测和CEKF对目前的monoSLAM算法进行改进,并运用特征点的逆深度非延时初始化技术,加入了摄像机的经典二参数径向畸变模型,在降低计算复杂度的同时提出一种鲁棒性更高的实时单目视觉SLAM算法。

1 图像特征的检测与提取

视觉SLAM算法是基于环境的特征和纹理的,所以特征点检测和提取作为计算机视觉中一个很重要的技术应用到解决视觉SLAM中。加速分割测试特征(Features from Accelerated Segment Test,FAST)算法是由 ROSTEN E和DRUMMOND T[3]在2006年提出来的。它仅仅利用中心点周围像素同其比较的信息就能够提取到特征点。相对于许多其他的特征点检测算法,FAST角点检测计算速度非常快,可以应用到实时场景中。FAST角点检测算法提出后,机器视觉领域中特征提取实时性能才有了显著的提升,目前它以其高计算效率、高重复性成为机器视觉领域最流行的角点检测算法。

FAST特征点提取算法来自角点的定义,角点就是极值点,可以设定特定的临界值进行角点检测。特征点检测就是基于候选角点周围的一个像素块,利用像素块上面各个像素点与候选角点灰度值的差值点的个数来判断是否是一个角点,一般如果这些点的个数大于总数的3/4,就判别该点为一个环境特征点。

其中,I(x)代表了像素块上任意一点的灰度值,I(p)为候选中心角点的灰度值,灰度差临界值设为t,N为达到灰度差临界值的像素点的个数。如果N像素点的个数大于总数的3/4,则p是一个特征点。

FAST角点检测的步骤如下:

(1)从图片中选取一个候选点p,其中,把它的像素值设为I(p);

(2)设定一个合适的灰度差临界值t;

(3)检测候选点周围像素块的16个像素点。如果在这16个像素点中有12个像素点的灰度值与候选点差值的绝对值大于t,那么它就是一个环境特征点;

(4)利用机器学习算法快速排除那些伪角点。该机器学习算法只检查圆上具有代表性的4个点像素,首先检查上下两点,看它们是否高于或低于阈值,如果是,再检查左右两点。如果p是一个特征点,则上述4个点中至少有3个灰度差的绝对值要大于t,如果都不满足上述条件,那么p不是一个特征点。

在实验室内用FAST角点检测算法提取的特征点,如图1所示。

单目视觉SLAM:采用逆深度参数化的方法求取深度信息的过程

标签:机器   实验   步骤   投影   导致   工作   处理   应用   运动   

原文地址:http://www.cnblogs.com/Jessica-jie/p/7154628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!