ORB-SLAM策略思考之LocalMapping线程
1 插入关键帧
- 在局部建图线程中做了关键帧队列,防止来自跟踪线程的插入关键帧丢失
- 跟踪线程中,没有做匹配地图点到插入关键帧之间的观测信息,因此需要更新相对地图点的深度信息,描述子信息和视角方向信息
- 需要对插入关键帧更新共视信息,维护共视图
- 跟踪线程中,没有新生成地图点信息,但是新生成了的关键帧信息,因此这里需要将关键帧添加到地图中去
2 最近添加的地图点删除
- 删除的地图点针对的是当前帧之前,由局部建图线程创建的地图点指针,目的是为了提前删除和当前关键帧不相关的地图点,从而执行局部BA,并不一定是删除地图中对应的地图点(策略是先删除之后再创建)
- 满足如下一个条件,就需要删除地图点
- 地图点是坏点,或者说是标记为要被删除的点
- 地图点在跟踪线程起到的作用较小,表现在地图点被匹配的数目和地图点被观测数目的比例上(在全局地图中删掉)
- 删除关键帧匹配很少的关键帧,但值得注意的是,由于后续会创建新的地图点,因此为了防止删除上次刚刚创建的地图点,这里还要避免删除前两次新增的地图点