SEAMLESS MAP MERGING in ORBSLAM-Atlas


SEAMLESS MAP MERGING in ORBSLAM-Atlas

为了检测地图的合并,我们使用ORBSLAM的place recognition阶段。它对由共视图连接的三个关键帧进行重复的位置识别,以减少错误检测的风险。

下面介绍SEAMLESS MAP MERGING的流程,我们使用a、s、m三个子索引分别指代活动的(active)、被吞噬的(swallowed )和合并的(merged )地图。

  1. 检测两张地图之间的共同区域。place recognition提供了两个匹配的关键帧$K_a$和$K_s$,以及两个地图$M_a$和$M_s$中地图点之间的假定匹配。
  2. 估计两张地图之间的变换矩阵。在双目模式下需要估计欧式变换矩阵$SE(3)$,而在单目模式需要估计相似变换矩阵$Sim(3)$。我们结合了Horn的方法[1]和RANSAC算法,从地图$M_a$和$M_s$中地图点之间的假定匹配中计算出一个初始估计,我们将估计的变换矩阵应用于关键帧$K_s$的引导性匹配阶段,我们在关键帧$K_s$中匹配地图$M_a$中的点,通过对重投影误差进行非线性优化,最终估计出$T_{W_a,W_s}$。
  3. 融合两张地图。我们将$T_{W_a,W_s}$应用于所有关键帧和地图$M_S$中的点,然后,我们检测重复的地图点并将其融合,从而得到从地图$M_s$和$M_a$的关键帧观察到的地图点。 之后,我们将地图$M_s$和$M_a$的所有关键帧和地图点合并到地图$M_m$中。此外,我们将地图$M_s$和$M_a$的生成树和共视图合并为地图$M_m$的生成树和共视图。
  4. 在连接区域进行局部BA。连接区域包括地图$M_m$的共视图中与关键帧$K_a$共视的所有关键帧。为了固定测量的自由度,地图$M_a$中固定的关键帧在局部BA时保持固定,而其余的关键帧在非线性优化过程中被设置为可优化的变量。我们应用第二个重复点检测和融合阶段来更新地图$M_m$的共视图。
  5. 位姿图优化。最后,我们对地图$M_m$进行了位姿图优化。

地图合并的线程与跟踪线程、局部建图线程以及全局BA线程并行。在开始合并之前,局部建图线程被停止,以避免在atlas中增加新的关键帧;如果全局BA线程正在运行,它也会被停止,因为生成树在全局BA之后会被改变。跟踪线程在旧的活动地图上保持运行,以保持实时计算位姿。一旦地图合并完成,我们就恢复局部建图线程。全局BA如果已经停止,也将重新启动以处理新数据。

REFERENCES

[1] B. K. Horn, “Closed-form solution of absolute orientation using unit quaternions,” JOSA A, vol. 4, no. 4, pp. 629–642, 1987.


文章作者: Immortalqx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Immortalqx !
评论