《视觉SLAM十四讲》学习笔记-状态估计问题

最大后验与似然

经典slam模型可表示为:

{ x k = f ( x k 1 , u k ) + w k z k , j = h ( y j , x k ) + v k , j

注意这里的 x 为相机的位姿,可以用 李群 T k 李代数 exp ( ξ k ) 表示。假设在 x k 对路标 y j 进行一次观测,对应到图像的位置为 z k , j ,则观测方程为:
s z k , j = K exp ( ξ k ) y j

式中 s 为像素点的距离。式中 z k , j y j 皆为齐次坐标.
不妨假设噪声项 w k v k , j 满足零均值高斯分布:
w k N ( 0 , R k ) ,     v k , j N ( 0 , Q k , j )

先把所有的待估计变量放在一个 状态变量中:
x = x 1 , , x N , y 1 , , y M

对机器人状态的估计,转变为求已知输入数据 u 和观测数据 z 和条件下,计算状态 x 的条件概率: P ( x | z , u ) .

当没有运动测量的传感器,即不存在 u 时,上述问题转变为Structure from Motion(SfM)问题。此时,利用贝叶斯法则有:

P ( x | z ) = P ( z | x ) P ( x ) P ( z ) P ( z | x ) P ( x )

上式中, P ( z | x ) 似然, P ( x ) 先验。此时可用 MAP(Maximize a Posterior, MAP)求解:
x M A P = arg max   P ( x | z ) = arg max   P ( z | x ) P ( x )

进一步地,假设机器人无法获得自己的位置,即 x 没有,则可求解 x 最大似然估计(Maximize Likelihood Estimation, MLE):
x M L E = arg max   P ( z | x )

上式可理解为”在什么样的状态下,最可能产生现在观测到的数据”.

最小二乘问题:

对一次观测:

z k , j = h ( y j , x k ) + v k , j

并且有假设 v k , j N ( 0 , Q k , j ) ,条件概率为:
P ( z k , j | x k , y j ) = N ( h ( y j , x k ) , Q k , j ) )

为求解该问题,回忆一个任意的高维高斯分布 x N ( u , Σ ) ,其概率密度函数为:
P ( x ) = 1 ( 2 π ) N det ( Σ ) exp ( 1 2 ( x u Σ 1 ( x u ) ) )

两边取负对数后变为:
ln ( P ( x ) ) = 1 2 ln ( ( 2 π ) N det ( Σ ) ) + 1 2 ( x u Σ 1 ( x u ) )

应用上述公式,第一项与 x 无关可移除,代入slam观测模型结果为:
x = arg min ( ( z k , j h ( x k , y i ) ) Q k , j 1 ( z k , j h ( x k , y i ) ) )

定义数据与误差之间误差为:
{ e v , k = x k f ( x k 1 , u k ) e y , j , k = z k , j h ( x k , y j )

则误差平方项之和为:

J ( x ) = k e v , k R k 1 e v , k + k j e y , k , j Q k , j 1 e y , k , j

此式即为总体意义下的 最小二乘问题(Least Square Problem).

猜你喜欢

转载自blog.csdn.net/luohuiwu/article/details/80722368