"); //-->
【摘要】
论文提出了一个创新的用于SLAM的半直接算法,结合了直接法和基于特征法的互补优势。算法将直接里程计和基于特征的SLAM松耦合,实现了3各层次的平行优化:(1)光度BA(联合优化了局部结构和运动);(2)几何BA(细化了关键帧位姿和关联的特征地图点);(3)位姿图优化以实现全局地图一致性(出现在回环中)。论文提出的算法在多个数据集上得到验证,结果表明,提出的系统在整体精度和鲁棒性上由于最先进的单目里程计和SLAM系统。
【简介】
论文中,提出一个新的用于单目SLAM的半直接算法,其不仅包括直接VO的鲁棒性,还包括了基于特征的SLAM的地图复用能力。论文的贡献在于直接法和特征点法之间的松耦合:
(1)局部上,针对局部精确、短期、半稠密的图像,采用直接法快速、稳健地跟踪相机姿态
(2)全局上,使用基于特征的算法来细化关键帧位姿,实现回环,并构建全局一致的、可复用的、稀疏的特征地图。
【算法】
论文提出的算法的核心思想是结合当前性能最好的特征法和直接法,即ORB-SLAM和DSO,再对其进行一些改进。为实习算法实时性,论文采用直接法来快速跟踪每一帧,从而为基于特征的地图优化提供一个初始种子。
与SVO不同之处在于,论文提出的算法保留了平行的两个独立地图。
Direct Module
A、光度BA窗
当参考帧中的点P在另一关键帧中被观测到时,定义光度误差:
总的能量方程为:
当曝光时间已知时,设置和为某固定值;否则,设定,
B、边缘化
优化窗的大小是有限的,其通过舒尔补的方式来边缘化没有用的关键帧和点来保证大小的有限。当点不被最新的两个关键帧观测到时,或当他们的主关键帧被边缘化时,这些点也被边缘化。
Feature-Based Module
A、相对尺度和初始位姿估计
论文中,直接和特征模块包括两个单独的地图,由于单目的尺度不确定性,两个地图会随时间漂移,并不会收敛于同一值。在直接模块中,使用30个相近的关键帧来计算相对尺度S,用和表示之前帧和当前关键帧,则:
B、3D 关键点产生
来自直接模块中的地图点用于两个地方:
用于构建3D关键点的初始几何,从而辅助特征模块
用于增添更多的局部地图点来提高跟踪鲁棒性
给定第i个关键帧,通过一个ORB特征的2D位置P,可生成世界坐标系中的3D关键点:
在相机缓慢运动时,提取更多的特征会增加关键帧之间共视连接的数量,同时提高映射精度。
C、关键帧位姿细化和故障恢复
总的能量方程由局部地图点的方差归一化重投影误差组成
D、基于特征的局部建图和回环
回环中,为校正尺度漂移,对本质图需要进行位姿优化:
【实验】
本文的算法与ORB-SLAM和DSO进行精度对比,并使用EuRoC和TUM单目数据集上进行验证。在这两个数据集上都有共同的发现:DSO-reduced的鲁棒性要明显高于DSO-default,这很大可能与跟踪速度的提高有关,如下表。
我们观察到,EuRoc数据集同样的设置中有类似的精度,但在TUM单目数据集中,DSO-default的精度更高。ORB-SLAM中的回环提高了系统性能。增加了系统在TUM和EuRoc数据集上的精度。由于实时多线程的不确定性,回环的发生不一定在每个序列上一致(如下图)。
在TUM单目数据集中,DSO的鲁棒性明显优于ORB-SLAM。由于最终轨迹不受基于特征的模块的影响,我们的VO系统实现了与DSO-reduced相似的性能。从上图中,更明显的展示了相比于ORB-SLAM,关键帧和地图点降低的百分比。我们发现,SLAM系统中,平均降低了27%的关键帧,减少了平均6%的地图点。这使得我们的系统比ORB-SLAM更具有尺度性。
本文仅做学术分享,如有侵权,请联系删文。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。