ORB-SLAM贡献:
- 所有任务都使用ORB特征:无需GPU加速,在标准的CPU上可实时运行;具有视点和光照不变性;更加高效、可靠。
- 使用covisibility graph:使得跟踪和建图聚焦在局部区域,能在大环境下实时操作。
- 使用 essential graph:基于位姿图的优化实现回环检测。
- 基于视点和光照显著不变性的实时相机重定位。
- 模型选择的自动初始化:选择创建平面和非平面场景的初始地图。
- 对地图点和关键帧的选择优胜劣汰的方法:提高跟踪鲁棒性和长时间运行。
系统综述
- 特征选取:ORB
256位描述符相关的定向多尺度快速角点,能够非常快速地计算和匹配,具有良好的不变性。 - 三个线程:tracking、local mapping、loop closing
- tracking:负责提取特征后对每个帧定进行初始化位姿估计和局部地图的跟踪,并决定何时插入新的关键帧。
- local mapping:处理新的关键帧并执行本地BA,并跟新地图点和关键帧,以在相机姿态的周围实现最佳重建。
- loop closing:搜索每个新关键帧的循环。如果检测到一个循环,我们计算一个相似变换,通知循环中积累的漂移。然后,回环的两侧对齐,重复的点被融合。最后,对相似约束进行姿态图优化,以实现全局一致性。
地图点、关键帧及其选择
- map point:pi
- map point:pi