ORB_SLAM 论文阅读PART7

LOOP CLOSING

闭环检测线程对于K_i,即局部建图处理的最后一个关键帧,并尝试检测和关闭循环。 接下来描述这些步骤:

A. Loop Candidates Detection

首先,我们在共视图中计算K_i的词袋向量和其所有邻居之间的相似性(\Theta _{min}= 30)θ_min= 30(θ_{min}= 30)并保留最低得分s_{min}。然后我们查询识别数据库并丢弃其得分低于s_{min}的所有关键帧。这与前一个图像被计算获得鲁棒性作为DBoW2中的标准化分数是一个类似的操作,但在这里我们使用共视信息。此外,所有直接连接到K_i的关键帧都会从结果中丢弃。为了接受循环候选,我们必须连续检测三个一致的循环候选(在共视图中连接的关键帧)。有几个与K_i相似的地方,就可以有几个循环候选。

B. Compute the Similarity Transformation

在单目slam中,地图可以有七个自由度漂移,三个平移,三个旋转和一个比例因子。因此对于一个闭环,我们需要计算当前关键帧K_i到闭环关键帧K_l的相似矩阵。这可以告诉我们关于闭环的误差累计。相似矩阵的计算也可以作为闭环的几何校正。

我们首先按着第III-E节中解释的过程计算与当前关键帧中地图点相关联的ORB和闭环候选帧之间的关系。此时,我们为每个循环候选提供3D到3D的关系。我们或者对每一个候选执行RANSAC迭代。尝试用Horn的方法找到相似变换。如果我们用足够的内点找到了相似变换S_{il},我们优化它,并且执行有指导的搜索更多的响应。我们再一次优化它,如果S{il}被足够的内点支持,K_l对于闭环是被接受的。

C. Loop Fusion

对于闭环矫正的第一步是融合重复的地图点,并在将附加的闭环检测的共视图插入新的边。首先,当前的关键帧位姿T_{iw}被相似变换S_{il}更正。并且,这个矫正被传播到K_i所有的邻域,连接变换,以便闭环的两侧对齐。被循环关键帧和它邻域看到的所有地图点都投影到K_i中,并且在投影周围的狭窄区域搜索邻居和匹配,如第V-D部分所述。所有那些匹配的地图点和S_{il}计算的内点都是被融合的。所有的在融合中涉及到的关键帧将会在共视图中更新他们的边。从而有效地创建附加闭环检测的边。

D. Essential Graph Optimization

为了有效地闭合循环,我们对第III-D节中描述的基本图执行姿态图优化,该图根据图分布循环闭合误差。在相似变换上执行优化将会改变尺度漂移。经过优化,根据观察它的一个关键帧的矫正来变换每个地图点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值