6.g2o
2022-09-25 本文已影响0人
光能蜗牛
g2o全称 General Graphic Optimization 通用图优化的缩写
第五节讲了手撕高斯牛顿方程的写法
这一讲是表示如何用g2o的方式来重新表示
一言以蔽之,g2o方法相当于是把优化问题用图结构的方式表达出来,好处是不用编写一些重复的代码,其次是结构清晰,当然执行速度上会比自己写稍慢些,这是可以理解的,通用,意味着普通,但和代码编写效率做比较,这点速度的牺牲不值一提
我们来看看图优化是怎么做的
首先图优化,就是把问题变成图的一种方式
image.png
如图所示,对于假设曲线方程
点
其中,待优化变量是为,这个图优化理论中用点来指代,在g2o中叫,点包含了初始化以及根据梯度更新数值
方法名分别叫 和
边
然后是每一个观测数据代表了一条边,这个在g2o里面用来表示,或者叫一元边,这是因为本例题比较简单,只涉及一个顶点,然后这里的每一条边只连接了一个顶点,所以也叫一元图,画更好看点可能下面比较符合,
注意,每条边会有自己的函数实现关于误差计算,以及雅可比梯度计算
方法名分别叫和
在实际的slam问题中,通常一条边会连接多个顶点,这种图叫超图