ORB-SLAM2源码学习(八)——图优化g2o

本文介绍了ORB-SLAM2如何利用g2o库进行图优化,包括将SLAM问题建模为图结构,顶点代表位姿和地图点,边表示重投影误差。详细讲解了全局BA、单帧位姿、局部地图BA、本质图位姿和两帧间Sim3优化等优化函数的应用。
摘要由CSDN通过智能技术生成

首先,ORBSLAM2里的优化都是基于图优化的,使用的第三方库为g2o,这里先介绍一下g2o简要使用流程,然后再来看看ORBSLAM2里的几个优化函数。

一、g2o

g2o是一个图优化求解库,它将优化问题表现为图的形式:包含顶点和边。

在slam问题里,BA中参与优化的参数有位姿和地图点坐标,在g2o中,我们将这些需要进行优化的变量设置为顶点,一般一张图像的位姿为一个顶点,这张图像上所能观察到的每一个地图点坐标都为顶点。其次顶点间用来建立联系(位姿和地图点之间的联系),也就是用边来表示误差项(在vslam里的重投影误差)。这样就建立好了一个图优化问题,接下来选择对应的优化方法求解器进行求解。

二、Optimizer类

1、全局BA

// pMap中所有的MapPoints和关键帧做bundle adjustment优化
// 这个全局BA优化在本程序中有两个地方使用:
// a.单目初始化:CreateInitialMapMonocular函数
// b.闭环优化:RunGlobalBundleAdjustment函数
/**
 * @brief bundle adjustment Optimization
 * 
 * 3D-2D 最小化重投影误差 e = (u,v) - project(Tcw*Pw) \n
 *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值