1:GTSAM是什么
参考博文:gtsam:从入门到使用
1:是什么:
GTSAM是用于计算机视觉和多传感器融合方面用于平滑和建图的C++库,GTSAM采用因子图和贝叶斯网络的方式最大化后验概率 。
2:解决什么问题:
GTSAM解决SLAM和SFM的问题(lia_sam后端因子图优化)
2:贝叶斯网络和因子图
1:贝叶斯网络
1:贝叶斯网络是什么
贝叶斯网络(信念图)(有向无环图模型)是一种概率图模型。
2:贝叶斯网络的组成
- 节点:代表属性(变量或未知参数)
- 节点间的连线(弧):代表属性之间的依赖关系
3:例子
a和b是独立的,a和b通过弧指向c,则c的概率值将依赖于a和b,说明属性c受到a和b的影响,因为有向无环图,则c不会指向a和b。由上图可知:P(a,b,c)=P(a)P(b)P(c|a,b)成立。
具体更多例子参考:二. 贝叶斯网络
2: 因子图
1:什么是因子图
因子图就是对函数进行因子分解得到的概率图,由变量节点和函数节点组成
因子图的三个基本组成部分:
- 因子图(factor graph):它属于一个二分图,由因子和变量连接而成。
- 变量(variables):估计问题中的未知随机变量。
- 因子(factors):非线性因子表示变量之间的约束,在slam中,可能为landmark或者odometry的读数。
2:因子图的表示
全局函数可以通过因式分解得到多个局部函数的乘积,局部函数和对应变量的关系就体验在因子图上。
g ( x 1 , x 2 , x 3 , x 4 , x 5 ) = f A ( x 1 ) f B ( x 2 ) f C ( x 1 , x 2 , x 3 ) f D ( x 3 , x 4 ) f E ( x 3