基于RGB-D视觉里程计估计算法的研究
2018-03-14刘家豪刘志杰
刘家豪 刘志杰 刘 嵩
(贵州师范大学贵州省信息与计算科学重点实验室, 贵阳 550001)
SLAM(Simultaneous Localization and Mapping)中文译作“同步定位与地图构建”[1],它是机器人实现自主移动以及精准定位的关键所在。SLAM主要研究解决“定位问题”和“未知环境的构图问题”。视觉SLAM即机器人将相机作为传感器获取外部环境信息,将采集的图像作为参考,求解相机的运动、更新环境模型[2]。在经典视觉SLAM框架中,后端优化的初始值来源于视觉前端视觉里程计提供的相机运动估计值以及局部地图模型。根据特征提取的必要性,特征点法以及基于像素信息的直接法都能用于视觉里程计的实现。在基于RGB-D传感器的视觉里程计算法中,特征点提取算法常用的有:尺度不变特征变换SIFT(Scale Invariant Feature Transform)[3]、加速健壮特征SURF(Speed Up Robust Feature)[4]、ORB(Oriented Fast and Rotated BRIEF)[5]等等。相对于直接法来说,特征点法的解决方案更成熟,其一直以来被视为视觉里程计的主流方法。得益于在一些开源项目中的使用,例如SVO[6]、LSD-SLAM[7]等等,基于像素信息的直接法逐渐在视觉里程计算法中扮演着越来越重要的角色。
本次研究采用了ORB特征提取算法。相对于SIFT特征以及SURF特征,ORB特征能有效解决FAST关键点[8]不具有方向性限制的问题。二进制描述子BRIEF[9]加入后,用汉明距离(Hamming Distance)对其进行度量,不仅能得到准确的匹配点对,还能使整个图像特征提取过程节约大量的时间。对于实时图像特征来说,ORB特征提取算法非常具有代表性。本次采用半稠密(Semi-Dense)的直接法,不考虑像素梯度变化小的像素点,只提取像素梯度明显的像素点。通过2组具体实验,比较了这2种方法在视觉特征丰富和视觉特征缺乏环境中的实时性、精确性以及鲁棒性。
1.1 图像数据来源
本次选取的图像数据均来自慕尼黑工业大学(TUM)提供的公开RGB-D数据集。数据集中不仅包括了图像颜色及深度信息,还提供了用于运动捕捉系统测量的精确轨迹,该数据集可以作为RGB-D的实验数据。在“freiburg1_desk2”和“freiburg3_nostructure_notexture_near_withloop”数据集中各选2帧图像,分别对应视觉特征丰富和视觉特征缺乏的环境。
1.2 基于特征点法的RGB-D视觉里程计估计算法
1.2.1 算法流程
基于特征点法的RGB-D视觉里程计估计算法流程如图1所示。
1.2.2 提取与匹配特征点
本次采用的ORB特征包括“Oriented Fast”关键点和二进制描述子BREIF(Binary Robust Independent Elementary Feature)。
图1 基于特征点法的RGB-D视觉里程计估计算法流程
(1) Fast关键点提取。Fast关键点速度方面的优势在于只涉及像素亮度差异的比较,但提取出的特征点数量很大,具有不确定性,且没有方向信息。ORB特征不仅计算了特征点的主方向,同时在构建图像金字塔的基础上实现了尺度不变性,在灰度质心法(Intensity Centroid)的基础上添加了特征的旋转属性,由此产生了“Oriented Fast”。
(2) BRIEF描述子匹配。BRIEF是一种识别率很好的二进制特征描述子,效率高,适用于实时图像匹配。它使用的是随机选点的比较,用1和0分别描述了关键点附近某2个像素的大小关系。BREIF的N维描述向量的基本元素为0和1。
1.2.3 筛选匹配点对
描述子的距离表示了2个特征之间的相似程度。欧式距离用于度量浮点型的描述子,不适用于二进制的BREIF描述子。本次选用汉明距离(Hamming Distance)对BREIF描述子进行度量。汉明距离表示2个二进制字符串之间的不同位数的个数。在筛选过程中找出所有匹配间的最小和最大距离,其筛选依据是汉明距离小于最小距离的2倍。当大于2倍最小距离时,认为匹配是错误的。最小距离在程序中设置为30。
1.2.4 求得相机位姿
图由顶点以及连接顶点的边组成,图优化就是把优化问题表现成图的一种方式。在本次构建的图模型中,图模型的顶点和边分别用优化变量以及误差项表示,然后选择优化算法,最后调用g2o[10]进行优化,得到结果。TUM数据集中包括了图像颜色及深度信息。匹配过程中2组3D空间点之间的变换不用考虑相机模型。用基于图优化的非线性优化方法直接求解迭代最近点ICP(Iterative Closest Point),得到相机位姿。
1.3 基于直接法的RGB-D视觉里程计估计算法
1.3.1 算法流程
基于直接法的RGB-D视觉里程计估计算法流程如图2所示。
图2 基于直接法的RGB-D视觉里程计估计算法流程
1.3.2 提取梯度明显的像素
基于灰度不变假设的条件下,利用直接法构造一个“最小化不同图像中同一个像素的光度误差”的优化问题来求解相机位姿。本次采用半稠密的直接法,即在像素的提取过程中,不考虑像素梯度变化小的像素点,只提取像素梯度明显的像素点。
1.3.3 构建图优化模型并求取相机位姿
半稠密直接法的求解可以抽象成求解最小化像素的光度误差的图优化问题,用g2o优化库来帮助求解。
2 实验研究
2.1 实验环境
(1) 硬件环境:Intel酷睿I7 6700四核;主频3.4 GHz的处理器;内存16 GB的PC机。
(2) 软件环境:Ubuntu14.04系统,安装了OpenCV和g2o等数据库。
2.2 实验结果
2.2.1 基于特征点法的实验结果
(1) “freiburg1_desk2”数据集2帧图像的实验结果,见图3 — 图5。
第1帧和第2帧特征点数分别为208、215,优化时间为0.000 811 s,优化后的变化矩阵
(2) “freiburg3_nostructure_notexture_near_withloop”数据集2帧图像的实验结果,见图6 — 图8。
第1帧和第2帧特征点数分别为13、1,优化时间为0.000 321 s,优化后的变化矩阵
2.2.2 基于半稠密直接法的实验结果
(1) “freiburg1_desk2”数据集2帧图像的实验结果,见图9。
数据集图像中边的数量为12 556,优化所用的时间约为0.103 616 s,优化后的变化矩阵
(2) “freiburg3_nostructure_notexture_near_withloop”数据集2帧图像的实验结果,见图10。
数据集图像中边的数量为28,优化时间约为0.001 154 s,优化后的变化矩阵
图3 “freiburg1_desk2”数据集2帧图像的Fast关键点提取
图4 “freiburg1_desk2”数据集2帧图像的特征匹配结果
图5 “freiburg1_desk2”数据集2帧图像筛选后的匹配结果
图6 “freiburg3_nostructure_notexture_near_withloop”数据集2帧图像的Fast关键点提取
图7 “freiburg3_nostructure_notexture_near_withloop”数据集2帧图像的特征匹配结果
图8 “freiburg3_nostructure_notexture_near_withloop”数据集2帧图像筛选后的匹配结果
图9 利用半稠密直接法对“freiburg1_desk2”数据集2帧图像构造边
图10 利用半稠密直接法对“freiburg3_nostructure_notexture_near_withloop”数据集2帧图像构造边
(1) 筛选匹配点对分析。比较图4和图5可知:在基于ORB特征点法筛选匹配点对的过程中,采用汉明距离对BREIF描述子进行度量后,能高效地筛选出错误的匹配点对,得到了准确的结果。
(2) 实时性分析。从优化时间可知:在视觉特征丰富的环境中,对于同样2帧图像,基于ORB的特征点法优化算法花费时间为0.000 811 s,满足视觉SLAM实时性的要求;基于半稠密直接法的优化算法花费时间为0.103 616 s,不能满足视觉SLAM实时性的要求。对于视觉特征缺乏的环境,具有相似的结果。
(3) 精确性分析。分别将2种方法得到的变换矩阵F与数据集中groundtruth.txt提供的外部运动捕捉系统采集的相机位姿相比,基于ORB的特征点法的精确性比半稠密直接法的精确性高。
(4) 鲁棒性分析。由图3 — 图10可知:在视觉特征丰富的环境中,基于ORB的特征点法能有效地运行,但在视觉特征缺乏的环境中,不能有效地运行,甚至出现图7以及图8中匹配错误的结果;而半稠密直接法无论是在视觉特征丰富还是视觉特征缺乏的环境中,都拥有较强的鲁棒性。
3 结 语
以视觉SLAM前端视觉里程计优化算法估计相机位姿为目的入手,比较在视觉特征丰富以及视觉特征缺乏的环境中,基于ORB特征的特征点法和基于部分像素信息的半稠密直接法的实时性、精确性和鲁棒性。结果表明,在视觉特征丰富的环境中,特征点法的实时性和精确性都要优于直接法,但是在视觉特征缺乏的环境中,直接法的鲁棒性更强。
[1] 刘浩敏,章国锋,鲍虎军.基于单目视觉的同时定位与地图构建方法综述[J]. 计算机辅助设计与图形学学报,2016,28(6):855-868.
[2] DAVISON A J, REID I D, MOLTON N D,et al. Monoslam:real-time single camera SLAM[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2007,29(6):1052-1067.
[3] LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision,2004,60(2):91-110.
[4] BAY H, TUYTELAARS T, GOOL L V. SURF:speeded up robust features[J]. Computer Vision & Image Understanding,2006,110(3):404-417.
[5] RUBLEE E, RABAUD V, KONOLIGE K,et al. ORB:an efficient alternative to SIFT or SURF[C]∥IEEE. IEEE International Conference on Computer Vision.New Jersey USA:IEEE,2012,58(11):2564-2571.
[6] FORSTER C, PIZZOLI M, SCARAMUZZA D. SVO: Fast semi-direct monocular visual odometry[C]∥IEEE. IEEE International Conference on Robotics & Automation.New Jersey USA:IEEE,2014:15-22.
[7] ENGEL J, SCHOPS T, CREMERS D. LSD-SLAM:Large-scale direct monocular SLAM[C]∥ ECCV. Computer Vision ECCV 2014.Berlin German:Springer International Publishing,2014:834-849.
[8] ROSTEN E, DRUMMOND T. Machine learning for high-speed corner detection[C]∥ECCV. European Conference on Computer Vision. Berlin German:Springer,2006:430-443.
[9] CALONDER M, LEPETIT V, STRECHA C, et al. BRIEF: Binary Robust Independent Elementary Features[C]∥ECCV. European Conference on Computer Vision.Berlin German:Springer-Verlag,2010:778-792.
[10] KUMMERLE R, GRISETTI G, STRASDAT H,et al. G2o:a general framework for graph optimization[C]∥IEEE. IEEE International Conference on Robotics and Automation. New Jersey USA:IEEE,2011:3607-3613.
[11] 张洋,吕强,林辉灿,等.一种基于改进ORB的视觉SLAM图像匹配算法[J].装甲兵工程学院学报,2016,30(6):82-88.
[12] 徐晓苏,代维,杨博,等.室内环境下基于图优化的视觉惯性SLAM方法[J].中国惯性技术学报,2017,25(3):313-319.
[13] 权美香,朴松昊,李国.视觉SLAM综述[J].智能系统学报,2016,11(6):768-776.