ORB-SLAM2局部建图线程

ORB-SLAM2的局部建图线程主要负责通过特征匹配和三角化创建新地图点,局部BA优化关键帧位姿和地图点。SearchInNeighbors()用于特征点的融合,避免重复。优化后,根据描述子相似度和距离标准来筛选地图点,而KeyFrameCulling()则根据观测次数判断冗余关键帧。
摘要由CSDN通过智能技术生成

Brief

根据六老师所说,orb-slam2的局部建图线程包括如下作用

输入的关键帧来自跟踪里新建的关键帧。为了增加局部地图点数目,局部地图里关键帧
之间会重新进行特征匹配,生成新的地图点,局部BA会同时优化共视图里的关键帧位姿和地图点,
优化后也会删除不准确的地图点和冗余的关键帧。 

Questions

对于这个描述,我有如下疑问:

1. 在tracklocalmap中,orb-slam2有增加每一帧对于地图点的观测的操作,但是没有直接增加地图点,而在localmapping中,增加地图点的操作是否和它有所关联呢?

2. 共视图有多大?关键帧的数目有多少?那些关键帧会算作共视图的关键帧?

3. 优化后删除的地图点,如何判断它不准确?

4 什么样的关键帧回被认为是冗余的?

Explanation

相关函数

CreateNewMapPoints(), SearchInNeighbors()

CreateNewMapPoints的逻辑包括如下:

    const vector<KeyFrame*> vpNeighKFs = mpCurrentKeyFrame->GetBestCovisibilityKeyFrames(nn);

寻找与当前帧共视关系最高的n帧关键帧

将当前帧与NeighKFs匹配,寻找共视特征点,利用三角化构建地图点。在三角化后,还要对相关数据结构进行一定的维护。值得主义的是,三角化后得到的点之后将会被进行严格的筛选。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值