咨询热线

400-123-4567

您当前的位置: 首页 > 富联资讯 > 行业新闻

ORB_SLAM2 Optimizer

文章作者:佚名    时间:2024-05-06 05:32:37

ORB_SLAM2使用g2o库进行优化。
优化分为四种:
(1)全局BA优化(在单目初始化之后、回环检测之后进行全局BA优化。对所有关键帧的位姿、路标点进行优化)
(2)局部BA优化(在局部建图之后进行,对当前帧及其共视关键帧的位姿、路标点进行优化)
(3)位姿图优化(仅优化位姿,在恒速运动模型、参考关键字模型、重定位、局部地图跟踪的时候执行)
(4)本质图优化(在回环校正过程中进行优化,将闭环误差分配到本质图中)
(5)Sim3优化(检测到回环之后,会进行闭环帧和当前帧间的Sim3估计,随后进行Sim3优化)
需要注意的是,优化完路标点之后,要记得更改路标点的属性(如观测角度,平均深度等)。

(1)全局BA优化(GlobalBundleAdjustment)与局部BA优化(LocalBundleAdjustment)

在这里插入图片描述

(2)位姿优化(只优化相机位姿,不优化路标点坐标)
在这里插入图片描述

(3)优化本质图
优化本质图中的关键帧的位姿以及路标点坐标。
在这里插入图片描述

(4)筛选出的闭环帧的位姿优化
在这里插入图片描述

优化所有关键帧的位姿和路标点。(单目初始化、闭环优化后)

 
 
 
 
 
 

边中只加入了路标点与关键帧间的连接边。
在边中会设置信息矩阵。信息矩阵的作用是确定在优化过程中,每条边分担的误差有多少。

 
 

?
?

 

在恒速运动模型、参考关键帧模型、重定位、局部地图跟踪(和局部地图优化不一样,局部地图追踪是在Track线程中,而局部地图优化是在LocalMapping线程中)的时候,都会用到位姿优化。(个人感觉与位姿图优化不一样。位姿图优化的话,边连接的是两个顶点,BaseBinaryEdge。而这里的边只连接一个顶点,BaseUnaryEdge。)

边为一元边,因为边只连接位姿。
?
?

在局部建图线程处理完最后一个关键帧之后,调用局部BA优化。
局部地图中包括当前帧及其共视关键帧(权值大于一定的比例)。对于那些权值小于阈值的关键帧,在BA优化过程中,只提供约束,不进行优化。

 

过程与全局BA优化相似,设定位姿顶点、路标顶点,建立两个顶点间的边。进行优化(一开始使用鲁棒核函数进行优化,优化之后去掉外点(边的代价过大),然后对剩下的点不使用鲁棒核函数进一步优化)。
?
?

 

本质图与共视图相似,但更加严格。其主要作用是在回环检测之后,将闭环误差均摊到本质图中。
在本质图优化中,只优化关键帧的位姿。
是一个位姿图优化,边连接两个位姿顶点。
?
?

 

检测到回环,计算出当前帧和回环帧间的Sim3变换后,进行优化。
在第一次优化过程中,那些误差很大的边,直接剔除掉,然后对剩下的边进一步进行优化。

地址:广东省广州市天河区88号    电话:400-123-4567     传真:+86-123-4567
版权所有:Copyright © 2002-2017 富联娱乐-富联注册-富联官方站 版权所有    ICP备案编号:粤IP**********

平台注册入口