ORB-SLAM-Mono论文要点总结(五)——— 回环检测Loop Closing

回环线程主要使用局部建图处理的最后一个关键帧 K i K_i Ki去进行检测和回环,具体步骤见下:

  1. 回环候选帧检测
    首先,计算 K i K_i Ki和其共视图里的邻接帧( θ m i n = 30 \theta_{min} = 30 θmin=30)词典的相似性,并得到最低评分 s m i n s_{min} smin。接着,检索识别数据库,剔除那些评分低于 s m i n s_{min} smin的关键帧。这里的操作类似于DBoW2里的归一化评分,是为了增加鲁棒性。DBoW2里是根据之前的图像计算得到的,这里我们使用共视信息计算。此外,数据库里那些直接与 K i K_i Ki相连接的关键帧直接被从结果中剔除。为了确定接受一个回路候选处,必须连续监测到三个一致(在共视图里连接起来的关键帧)的回路候选帧。若有好几处地方与 K i K_i Ki表面相似,则可能会有好几个基础回路候选处。
  2. 计算相似变换
    在单目SLAM中,地图可能会在7个自由度漂移:三位移,三旋转,还有一个尺度因子。因此,为了闭合一个回路,需要计算当前帧 K i K_i Ki到回路闭合帧 K l K_l Kl的相似变换,这能够给出在整个回路里累计的误差信息。该相似性计算结果也会在回环的几何验证中使用。
    首先计算当前帧和回路候选帧中与地图点相关联的ORB特征匹配性,基于III-E中的步骤来进行。这里,可以采用3D-3D匹配计算每个候选帧和当前帧。也可以选择使用RANSAC迭代处理每个候选帧,使用Horn法[42]尽量找到一个相似变换。若找到一个相似 S i l S_{il} Sil,并有足够多的内点,优化它(见附录),然后进行一个有先验的搜索,以发现更多的匹配。然后再次进行优化,若 S i l S_{il} Sil能够被足够多的内点支持,则认为 K l K_l Kl是回环位置。
  3. 回路融合
    回路校正的第一步是融合重复的地图点,并在共视图里插入新的边,这些边将会和回环处连接起来。首先当前帧的位姿 T i w T_{iw} Tiw通过相似变换 S i l S_{il} Sil进行校正,而且此校正被传递到 K i K_i Ki的所有邻近帧。连接转换,是为了将回路的两边对齐。所有在回环帧以及邻近帧里可观测到的地图点均被投影到当前帧 K i K_i Ki中,而且在投影点周围较窄的区域会再次搜索邻近帧和点匹配,正如V-D中所做。所有匹配到的地图点,以及在计算 S i l S_{il} Sil时是内点的那些点都被融合。融合步骤里涉及到的所有关键帧都会更新它们在共视图里的边,有效创建与回环处接触的边。
  4. 重要图优化(Essential Graph Optimization)
    为了提高回路闭合的效率,进行一个基于重要图的位姿图优化,具体见III-D,其将回路闭合误差沿着图进行分配。基于相似变换进行优化去校正尺度漂移[6]。误差项和代价函数具体见附录。优化之后,每个地图点都根据观测它的关键帧的校正结果进行重新转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值