0x00 前言
在学习《视觉slam十四讲从理论到实践》第六讲的过程中,觉得这一部分的知识在数学层面上是具有通用性的,数据的非线性优化和最小二乘法的处理知识不止在SLAM中发挥作用,还会在其他领域例如机器学习等得到应用,觉得比较重要,有必要再自己总结一下加深理解。
本文的重点放在如何将SLAM中状态估计问题转化成一个最小二乘问题。
但只是基于书本所说的内容,并且所举例子也依托于SLAM这样一个背景,并没有做额外拓展。
0x01 本讲概述总结
我们期望,通过处理一段时间内带有随机噪音的批量观测数据和输入数据,得到一组优化后的状态估计值,并把这些估计值作为当前的状态。我们会把以上问题转化为最小二乘的问题,然后求解这个最小二乘问题的过程就是优化估计值的过程。
可以假设观测数据为 z z z ,输入数据为 u u u ,当前位置为 x x x ,观测目标位置为 y y y ,由于在观测的过程中不可避免地带有噪音,所以我们想依据当前的观测数据,期望得到最接近真实值的估计值,度量"最接近"是一个可能性问题,那么从概率学的观点来看,可以求状态 x , y x,y x,y 的条件概率分布:
P ( x , y ∣ z , u ) . P(x,y|z,u). P(x,y∣z,u).
我们可以认为上述概率最大时所对应的状态最接近真实值,但是直接求后验概率的分布是困难的,求一个状态最优估计,使得在该状态下后验概率最大化则是可行的。也可以反过来这样理解:后验概率最大化时所对应的状态为状态最优估计。那么通过贝叶斯法则
的转换,可以将求解最大后验概率等价于求解最大似然估计(Maximize Likelihood Estimation, MLE):
( x , y ) ∗ M L E = a r g m a x P ( z , u ∣ x , y ) . {(x,y)^*}_{MLE}=arg\;max\;P(z,u|x,y). (x,y)∗MLE=argmaxP(z,u∣x,y).
直观地讲,似然是指“在现在的位姿下,可能产生怎样的观测数据”。由于我们知道观测数据,所以最大似然估计可以理解成:“在什么样的状态下,最可能产生现在观测到的数据”。这就是最大似然的直观意义。
考虑某一次的观测,我们假设随机噪音服从高斯分布,那么似然也服从高斯分布:
P ( z j , k ∣ x k , y j ) = N ( h ( y j , x k ) , Q k , j ) . P(z_{j,k}|x_k,y_j) = N(h(y_j,x_k),Q_{k,j}). P(zj,k∣xk,yj)=N(h(yj,xk),Qk,j).
h ( y j , x k ) h(y_j,x_k) h(yj,x