Computer Engineering and Applications ›› 2018, Vol. 54 ›› Issue (12): 170-176.DOI: 10.3778/j.issn.1002-8331.1707-0274

Previous Articles     Next Articles

RGB-D SLAM algorithm based on ORB features and visual dictionary

ZHANG Zhen1,2, ZHENG Hong1,2, ZHOU Xuan1,2, ZHANG Shengqun1,2   

  1. 1.School of Electronic Information, Wuhan University, Wuhan 430072, China
    2.DJI-Innovations UAV Laboratory, Wuhan University, Wuhan 430072, China
  • Online:2018-06-15 Published:2018-07-03

一种结合ORB特征和视觉词典的RGB-D SLAM算法

张  震1,2,郑  宏1,2,周  璇1,2,张生群1,2   

  1. 1.武汉大学 电子信息学院,武汉 430072
    2.武汉大学 大疆创新无人机实验室,武汉 430072

Abstract: SLAM is the current research hot spot in robot area and is considered to be the key of achieving robot’s full autonomous movement. Traditional RGB-D SLAM algorithms compute camera’s pose via SIFT descriptor. On account of the complexity of extracting SIFT descriptor, siftGPU is applied to accelerate this procedure, which makes it unsuitable for embedded equipment. Besides, traditional algorithm is inefficient in loop closure detection and is bad at instantaneity. Therefore, a new approach combined ORB feature and visual dictionary is proposed. In the front end of the algorithm, ORB feature of the adjacent images is firstly extracted and then the nearest neighbor and the second nearest neighbor is found by k-Nearest Neighbor(kNN) algorithm. Once found, ratio test and cross test is adopted to remove outliers. Secondly, a modified PROSAC-PnP algorithm is used to calculate the high-accuracy estimation of camera’s pose. In the back end, a loop closure detection algorithm based on visual dictionary is performed to reduce accumulated error of the robot’s movement, which adds new constraint to pose graph. Finally, generalized graph optimization tool is used to perform global pose optimization and global consistent camera pose and point cloud is got. The test and comparison on the standard dataset shows that this algorithm can obtain better robustness.

Key words: RGB-D SLAM, ORB feature, Progressive Sample Consensus based Perspective-N-Point(PROSAC-PnP), visual dictionary, pose graph optimization

摘要: 同时定位与建图(Simultaneous Localization and Mapping,SLAM)是机器人领域的研究热点,被认为是实现机器人自主运动的关键。传统的基于RGB-D摄像头的SLAM算法(RGB-D SLAM)采用SIFT(Scale-Invariant Feature Transform)特征描述符来计算相机位姿,采用GPU加速的siftGPU算法克服SITF特征提取慢的缺点,但多数嵌入式设备缺乏足够的GPU运算能力,使其应用性受到局限。此外,常规算法在闭环检测时效率较低,实时性不强。针对上述问题,提出了一种结合ORB(oriented FAST and rotated BRIEF)特征与视觉词典的SLAM算法。在算法前端,首先提取相邻图像的ORB特征,然后利用k近邻(k-Nearest Neighbor,kNN)匹配找到对应的最临近与次临近匹配,接着采用比值检测与交叉检测剔除误匹配点,最后采用改进的PROSAC-PnP(Progressive Sample Consensus based Perspective-N-Point)算法进行相机姿态计算,得到对相机位姿的高精度估计。在后端,提出了一种基于视觉词典的闭环检测算法来消除机器人运动中的累计误差。通过闭环检测增加帧间约束,利用通用图优化工具进行位姿图优化,得到全局一致的相机位姿与点云。通过对标准fr1数据集的测试和对比,表明了该算法具有较强的鲁棒性。

关键词: RGB-D SLAM, ORB特征, 透视N点算法, 视觉词典, 姿态图优化