论文部分内容阅读
近年来随着机器人技术的飞速发展,机器人越来越广泛的出现在人们的视野中并且已经在诸多领域发挥出特有的作用。同时定位与建图是机器人领域研究的热点问题,同时也极具挑战性,被认为是机器人真正实现自主运动的关键。微软于2010年推出的一款摄像机Kinect是一种新型的视觉传感器,它可以同时获取彩色图像和深度图像,这种独特的特性使其受到研究人员的关注,以此发展起来的RGB-D SLAM方法逐渐成为研究领域的热门问题。SLAM算法一般分为前端和后端。前端通过特征提取与特征匹配获取到相邻图像的配对点,然后以此来进行帧间运动估计。后端主要通过闭环检测来增加帧间约束,再对全局位姿进行优化以消除前端匹配过程中的累积误差。目前RGB-D SLAM系统仍然存在以下的问题:1.特征匹配精度不高;2.深度信息噪声大,对运动估计造成影响;3.闭环检测效率低,难以应用到大规模场景中。针对上述问题,本文主要做了以下的几点工作: (1)研究了不同特征点对于算法精度和运行速度的影响,包括SIFT特征,SURF特征,和ORB特征。实验表明SIFT特征和SURF特征能取得比ORB特征更好的准确性,付出的代价是运行速度的大幅度降低,如果要把它们运行到实际的系统中,需要用GPU对其进行加速。ORB特征运行速度是SITF和SURF的数倍,同时精度损失也在可以接受的范围内,所以本文选用ORB特征进行后续的实验。 (2)针对特征匹配存在的匹配精度不高的问题,提出了一种多级的误匹配剔除策略。在使用FLANN算法获得粗匹配结果后,首先使用比值过滤与交叉过滤方法进行第一次剔除,随后采用RANSAC算法进一步对误匹配进行剔除,得到更鲁棒的匹配点。 (3)针对深度图存在噪声的问题,对运动估计算法进行改进,将透视N点算法与PROSAC算法相结合,提出了一种PROSAC-PnP算法。PROSAC算法先将匹配点对按照匹配距离和最临近与次临近距离的比值进行排序,然后优先从排序靠前的匹配点对中选取样本进行计算,这样可以加快计算的速度以及提高计算的精度。 (4)针对闭环检测效率低,难以应用到大规模场景中的问题,提出了一种基于视觉词典的闭环检测算法。视觉词典通过离线的方式将特征点构建成一颗词汇树,使得可以快速的进行图像相似度的判断。通过闭环检测增加帧间约束,然后利用通用图优化工具g2o进行位姿图优化,得到全局一致的相机位姿与点云地图。 本文在公开的数据集上进行了详细的实验并给出了实验结果,对实验结果从鲁棒性和实时性两个方面进行了分析。同时本文还与其他文献的实验结果进行了对比,对比结果表明综合实时性与鲁棒性来看,本文算法优于其它几种算法。