关于因子图在SLAM中的应用基础理论总结

参考文章:
1.张兴学. 基于因子图的多传感器信息融合导航算法研究[D].哈尔滨工业大学,2018.
2.SLAM 中的位姿图优化,BA优化,因子图优化,非线性优化之间的区别
3.因子图的理论基础
4.机器人感知:因子图在SLAM中的应用(读书笔记)第一至三章

SLAM中的定位问题,是根据先验信息(上一时刻的位姿和已知路标点信息)以及传感器的观测值(当前时刻测到的路标点信息),推断出该时刻的位姿以及未知路标点位置。对于这样一个概率推理问题,可通过因子图简化。

因子图是概率图模型的一种表示方式,表示了全局函数和局部函数之间的关系,同时也表示了各个变量与局部函数之间的关系。通过因子图可以将复杂系统进行简化,有利于处理复杂的概率问题。

例如对于一个函数 f ( x 1 , x 2 , x 3 , x 4 ) = f 1 ( x 1 , x 2 ) f 2 ( x 2 , x 3 , x 4 ) f 3 ( x 4 ) f(x_1,x_2,x_3,x_4)=f_1(x_1,x_2)f_2(x_2,x_3,x_4)f_3(x_4) f(x1,x2,x3,x4)=f1(x1,x2)f2(x2,x3,x4)f3(x4)与其对应的因子图可以表示为:
在这里插入图片描述
如上图所示, x x x代表变量, f f f代表因子,当且仅当 f f f是关于 x x x的函数时,才会相连。并且每个因子对应唯一结点,每个变量对应唯一的边缘或半边缘(只与一个因子相连)。所以每个变量最多同时连接2个因子!

如果一个变量出现在多个因子中时,例如𝑋是一个实数随机变量, 𝑌 1 𝑌_1 Y1 𝑌 2 𝑌_2 Y2是关于 𝑋 𝑋 X的两个独立实数带噪声观测量。则这些变量的联合概率密度是: f ( x 1 , y 1 , y 2 ) = f ( x ) f ( y 1 ∣ x ) f ( y 2 ∣ x ) f(x_1,y_1,y_2)=f(x)f(y_1|x)f(y_2|x) f(x1,y1,y2)=f(x)f(y1x)f(y2x)与其对应的因子图可以表示为:
在这里插入图片描述
其联合概率密度是: f ( x , x ′ , x ′ ′ , y 1 , y 2 ) = f ( x ) f ( y 1 ∣ x ′ ) f ( y 2 ∣ x ′ ′ ) f = ( x , x ′ , x ′ ′ ) f(x,x',x'',y_1,y_2)=f(x)f(y_1|x')f(y_2|x'')f_=(x,x',x'') f(x,x,x,y1,y2)=f(x)f(y1x)f(y2x)f=(x,x,x)这里的等式约束函数: f = ( x , x ′ , x ′ ′ ) ≜ δ ( x − x ′ ) ( x − x ′ ′ ) f_=(x,x',x'')≜\delta(x-x')(x-x'') f=(x,x,x)δ(xx)(xx)等式约束因子可以看做是一个分支,它允许超过两个以上的因子去使用同一个变量。


消息传递算法
和—积算法规则:沿着边缘𝑥从结点(因子)𝑔传递出的信息是𝑔和沿着除𝑥以外其余所有边缘传入的信息的乘积,然后对除𝑥以外其余所有相关变量进行求和的结果。
在这里插入图片描述
例如上图,对于输出 μ 3 \mu_3 μ3,等于除 x x x以外的边缘传入信息+相关变量求和: μ 3 ≜ f 3 ( x 1 , x 2 , x 3 , x 4 ) μ 1 μ 2 ∑ x 1 , x 2 , x 3 \mu_3≜f_3(x_1,x_2,x_3,x_4)\mu_1\mu_2∑_ {x_1,x_2,x_3} μ3f3(x1,x2,x3,x4)μ1μ2x1,x2,x3


以下为知乎上一些回答的总结:
因子图优化,可以在问题的拓扑结构上进行一些顶层抽象和简化,而不是直接硬解,相当于多了一步简化过程。如果只有路标和位姿之间的因子,和BA优化完全一样。因子图优化的优化落脚点不再是最小二乘理论了,而是最大后验概率理论了。相比较卡尔曼滤波,因子图的优势是,无论是数据压入多少维度,解法是一样的。

综上,我理解因为因子图的消息传递算法,在接收到新的观测信息后,根据传感器的观测方程以及相应的代价函数进行变量边缘的状态更新,实现多传感器的数据融合。所以无论有多少传感器数据,计算方法都是一样的。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
We review the use of factor graphs for the modeling and solving of large-scale inference problems in robotics. Factor graphs are a family of probabilistic graphical models, other examples of which are Bayesian networks and Markov random fields, well known from the statistical modeling and machine learning literature. They provide a powerful abstraction that gives insight into particular inference problems, making it easier to think about and design solutions, and write modular software to perform the actual inference. We illustrate their use in the simultaneous localization and mapping problem and other important problems associated with deploying robots in the real world. We introduce factor graphs as an economical representation within which to formulate the different inference problems, setting the stage for the subsequent sections on practical methods to solve them.We explain the nonlinear optimization techniques for solving arbitrary nonlinear factor graphs, which requires repeatedly solving large sparse linear systems. The sparse structure of the factor graph is the key to understanding this more general algorithm, and hence also understanding (and improving) sparse factorization methods. We provide insight into the graphs underlying robotics inference, and how their sparsity is affected by the implementation choices we make, crucial for achieving highly performant algorithms. As many inference problems in robotics are incremental, we also discuss the iSAM class of algorithms that can reuse previous computations, re-interpreting incremental matrix factorization methods as operations on graphical models, introducing the Bayes tree in the process. Because in most practical situations we will have to deal with 3D rotations and other nonlinear manifolds, we also introduce the more sophisticated machinery to perform optimization on nonlinear manifolds. Finally, we provide an overview of applications of factor graphs for robot perception, showing the broad impact factor graphs had in robot perception. (只有第一章内容,我也才发现)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头队长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值