泡泡图灵智库,带你精读机器人顶级会议文章
标题:Loosely-Coupled Semi-Direct Monocular SLAM
作者:Seong Hun Lee,Javier Civera
来源:IEEE ROBOTICS AND AUTOMATION LETTERS 2019
编译:夏友杰
审核:李鑫
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权
摘要
大家好,今天为大家带来的文章是——Loosely-Coupled Semi-Direct Monocular SLAM,该文章发表于IEEE ROBOTICS AND AUTOMATION LETTERS 2019。
本文提出了一种新的半直接法用于单目SLAM,结合了直接法和间接法互补的优势。提出的技术路线以松耦合的形式结合了直接里程计和基于特征点的SLAM来进行三个层面的并行优化:
(1)基于光度集束调整(Photometric Bundle Adjustment)来联合优化局部结构和运动;
(2)基于几何集束调整(Geometric Bundle Adjustment)来改进关键帧位姿和相关联的特征地图;
(3)在有回环的情况下,进行位姿图优化以达到全局地图一致性。
针对由直接里程计边缘化出的关键帧,通过限制对其基于特征的操作来保证上述方案实时性。在两个基准数据集上的详尽评估实验表明该方案在总体准确性和鲁棒性上均优于最新单目视觉里程计和SLAM系统。
主要贡献
本文提出一种新颖的针对单目SLAM的半直接方案,继承了基于直接法的视觉里程计的鲁棒性和基于特征点法的SLAM的地图复用能力(比如:回环检测)。贡献主要是直接法和特征点法的松耦合形式,主要包括:
1. 局部地,一个直接法被用于快速地和稳定地跟踪相机位姿,相对于一个局部准确,短期的半稠密地图;
2. 全局地,一个基于特征点的方法被用于改进关键帧位姿,进行回环检测和建立一个全局一致、可复用的稀疏特征地图。
以上策略可以弥补每个方法的各自不足,并且不会牺牲它们的实时性和准确性。
算法流程
图1 本文方案流程由并行执行的两个模块构成:一个是直接法模块,主要负责相对于上一关键帧来跟踪每一个新图像帧,以及进行局部光度集束调整;另一个模块是基于特征点模块,主要负责利用直接法模块边缘化的信息来重建全局一致性地图和关键帧轨迹。
图1表示半直接方案的主要流程。主要想法是结合当前表现最优的基于特征点的方案和基于直接法的方案,即ORB-SLAM和DSO,并作出一些改进。为了达到实时性,本文方案受SVO启发,选用了一个直接法来快速跟踪每一帧图像并且提供一个初始值给基于特征点的地图优化。特别地,本文用DSO来实现实时跟踪和一个基于ORB-SLAM的改进版本来构建一个全局一致性地图,该地图以一个较慢的速率生成,主要基于DSO模块边缘化出的关键帧。以上两个模块内部结构分别如图1所示。因为整两个模块是异步交换信息并不分享具体状态信息,所以此方案被认为是松耦合的。
该系统架构主要涵盖三个不同层面的优化窗口。最局部层面,一个由关键帧和地图点组成的滑窗将被用于光度集束调整来得到对周围环境相对准确的表征。新的图像帧将被使用直接图像对齐来跟踪得到其相对于上一关键帧的位姿,同时其深度图将通过投影窗口中的活跃点得到。
当一个关键帧从直接模块中被边缘化出时,它的图像和位姿信息将被传到基于特征点模块,以及地图点和对应的视野(Field of View,FOV)。基于特征点模块则从输入的关键帧中提取ORB特征和构建描述子,并用仅考虑运动的基础调整(motion-only BA)来改进它们相对于局部特征地图的位姿。一些关键帧和地图点将被加入局部地图中,并进行基于集合的集束调整以得到最优精度。以上基于特征的建图对应于中间层的优化。
最后,在最全局的层面,将在每个回环被检测到时,执行基于Sim(3)约束的位姿图优化。随后,一个完整的集束调整将优化地图中的所有关键帧和特征点以达到全局一致性。
本文提出方案和SVO的关键区别在于,本文方案并行地维护两个独立的地图,直接法模块和特征点模块分别维护各自的地图。这可以利用局部精确的半稠密地图来进行快速和鲁棒跟踪,同时全局一致的稀疏地图可以被长期复用(比如用于回环检测和闭环)。
主要结果
1. 评估设定和数据集
本文提出方案将利用ROS和ORB-SLAM、DSO进行比较,每个算法有两个不同设定如下:
- ORB-VO和ORB-SLAM:ORB-VO是关闭了闭环线程。两个设定都关闭了重定位功能来评估跟踪的鲁棒性。同时这里也不采用光度标定,因为这会弱化特征提取和匹配。
- DSO-default和DSO-reduced:两个设定的唯一区别是简化版中的输入图像尺寸将被改成默认设定的一半。另外,如有可能则采用光度标定。
- Ours-VO和Ours-SLAM:VO设定采用DSO-reduced和ORB-VO,而SLAM设定采用DSO-reduced和ORB-SLAM。
这里被用来评估的两个基准数据集分别是:EuRoC MAV数据集和TUM mono VO数据集。
2. 评估结果
图2 累计误差曲线图(a)绝对轨迹误差e_ate [m],包括EuRoC MAV所有数据序列,(b)对齐误差e_align [m],包括TUM mono VO所有数据序列。曲线距离Y轴越近,精度越准确,因为这表示多次运行后还能保持低误差。曲线末端距离X轴越远,系统越鲁棒,因为这表示没有跟踪失败的运行次数更多。
表1 【EuRoC】丢帧比例和跟踪时间。各项最小的两个值被加粗。
图3 ATE随时间变化曲线图(不进行 / 进行基于特征的位姿改进),不进行闭环检测。
图4 【TUM mono VO】平均精度估计对应的样例轨迹。所有数据序列均有起止点相同的真值轨迹。在一些数据序列中,ORB-SLAM会频繁的跟踪失败,而DSO则会不断累计误差。另一方面,本文所构建的系统则可以跟踪完整轨迹和大多数情况下完成闭环。
Abstract
We propose a novel semi-direct approach for monocular simultaneous localization and mapping (SLAM) that combinesthe complementary strengths of direct and feature-based methods.The proposed pipeline loosely couples direct odometry and featurebased SLAM to perform three levels of parallel optimizations: 1)photometric bundle adjustment (BA) that jointly optimizes thelocal structure and motion, 2) geometric BA that refines keyframeposes and associated feature map points, and 3) pose graph optimization to achieve global map consistency in the presence of loopclosures. This is achieved in real-time by limiting the feature-basedoperations to marginalized keyframes from the direct odometrymodule. Exhaustive evaluation on two benchmark datasets demonstrates that our system outperforms the state-of-the-art monocular odometry and SLAM systems in terms of overall accuracy androbustness.
如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号。
点击阅读原文,即可获取本文下载链接。
欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。
有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!
泡泡网站:www.paopaorobot.org
泡泡论坛:http://paopaorobot.org/bbs/
泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
商业合作及转载请联系liufuqiang_robot@hotmail.com