一、摘要:
问题: 现有SLAM系统鲁棒性低
方法: 建立新SLAM系统,采用优胜劣汰策略筛选关键帧
结果: 解决了长时间运行问题,性能提升
二、结论
课题构思(如何一步步得到结论):
① 提出新的产生和删除关键帧策略,使地图在场景变化时才增长。分析历史数据实现长期建图
② 合并前人回环检测、闭环过程和可视性图、g2o框架优化、ORB功能方案
③ 快速提取和匹配,适用于极端环境(纯旋转+快速移动)探寻轨迹,解决了PTAM的通用性问题
未解问题:
① 远处的点观测不到,但可用来提升精度
② 更新稀疏图为更稠密的图以便重建
三、粗看图表
数据来源: TUM RGB-D Benchmark, NewCollege Dataset, odometry benchmark of the KITTI dataset
重要指标: 时间,位姿图边数,均方根误差
四、引言
研究原因: 现有SLAM实时计算消耗大;PTAM有局限性:无回环检测,处理咬合不当、点重定位的不变性差、需要人为干预地图引导
主要贡献:
①所有任务统一为ORB特征。实时计算,光照和运动下不变性好
② 大场景下实时操作,追踪和建图专注局部
③ 使用基本图实现实时闭环检测
④ 实时相机重定位。比最好的直接法更优
⑤ 自动初始化,具有鲁棒性。可处理线性和非线性场景
⑥ 优胜劣汰策略,提升鲁棒性,实现长时间运行
五、实验过程
模型步骤,每个步骤的结论:
-
相关工作:
a) 位置识别:词袋方法效率高,但没有旋转和尺寸的不变性。本文使用covisibility信息
b) 地图初始化:现有重建方法在低视差下约束差,并会有二义性解。本文提出启发式初始化算法,考虑了矩阵退化的情况,延迟初始化。
c) 单目SLAM:滤波法浪费计算资源,有累积漂移;关键帧法更精确;PTAM不能位置识别,不变性差(前人其他成功也不完善)。本文使用7-DoF位姿图优化并应用到基本图中,使用基于相合性的局部地图并从相合性图构建位姿图,在相同的追踪和映射要素中执行位置识别,地图重用,关键帧的选取使用优胜劣汰策略
-
系统总览:
a) 特征选择:建图追踪和重定位闭环检测使用同一特征,避免插入特征识别深度。特征点提取速度<33ms/img,排除SIFT, SURF, A-KAZE;需要不变性,排除BRIEF, LDB。选择ORB:ORB面向多尺度,计算快,不变性好
b) 三线程(追踪+局部建图+闭环)
c) 地图点与关键帧的选取
d) 适度图和基本图:使用基本图,保留所有节点和少量的边(图的最小生成树)
e) 词袋位置识别:将关键帧分组;仅对属于相同节点的特征暴力匹配
-
自动地图初始化(关键技术):并行计算平面场景的单应性和非平面场景的基本矩阵,根据视差和平面性选择模型,并检索相关运动假设从而消除歧义,最后用full BA进行初始化重建。
-
追踪:
a) 提取ORB特征:提取FAST角点计算方向和ORB描述子
b) 依据先前帧的初始位姿估计:使用匀速运动模型预测位姿并搜索地图点
c) 全局重定位的初始位姿估计:使用RANSAC迭代和PnP算法估算相机位姿
d) 追踪局部地图:设定关键帧相关条件,搜索地图点
e) 新帧选择:设置快速插入关键帧的条件
-
本地建图
a) 插入关键帧
b) 剔除最近地图点:检测地图点满足相关条件,从少于3个帧观察到它时将其删除
c) 创建新地图点:从相关帧中对ORB进行三角剖析
d) 局部BA:用局部BA优化最近的关键帧
e) 局部关键帧剔除
-
回环检测
a) 回环候选检测:丢弃词袋向量的相似度低的关键帧,连续检测3个回环
b) 计算相似度转换:作为回环的几何验证。计算与当前关键帧中地图点关联的ORB和候选关键帧之间的对应度,对每个候选回环使用RANSAC迭代。
c) 回环融合:用相似度转换矫正当前关键帧位姿,位姿级联转换,循环关键帧及其邻点看到的所有地图点投影到关键帧中,并且在投影周围搜索其邻接点和匹配项
d) 基本图的优化:用相似度转换纠正尺度漂移
-
实验部分
a) NewCollege数据集测试系统性能
b) TUM RGB-D Benchmark测试定位准确性
c) TUM RGB-D Benchmark测试重定位
d) TUM RGB-D Benchmark的长时间运行
e) KITTI数据集测试大型闭环
六、文章总结:
问题: 现有SLAM系统鲁棒性低,不能长时间运行,PTAM的局限性(无回环检测等)
方法: 提出了新的SLAM系统:所有任务统一为ORB特征;使用基本图;自动初始化
论证过程:
① 使用covisibility信息解决词袋方法
② 提出启发式算法解决地图初始化中低视差下约束差和二义性问题
③ 使用7-DoF位姿图优化并应用于基本图中进行位置识别
④ 所有任务统一 ORB 特征,进行单目SLAM的位置识别,增强不变性
⑤ 使用追踪+局部建图+闭环检测三线程
⑥ 使用相似度转换矫正位姿,进行回环检测