美文网首页
Slam笔记-状态估计与最小二乘的引出

Slam笔记-状态估计与最小二乘的引出

作者: 郑海鹏 | 来源:发表于2020-09-23 23:28 被阅读0次

1. 最大似然估计

运动方程:
x_k = f(x_{k-1}, u_k) + w_k
它表示 第 k 个时刻的相机位置 x_k, 是由上一个时刻的位置 x_{k-1},经过 u_k 的位置变化(IMU),以及一定的噪音 w_k 决定的。

观测方程:
z_{k, j} = h(y_j, x_k) + v_{k,j}
它表示 第 k 个时刻 对物体 j 的观测数据,是由当时物体的坐标 y_j 和 相机的位置 x_k ,以及这个物体一定的噪音 v_{k, j}决定的。

关于先验分布、后验分布和似然估计:
在概率中,x表示结果,θ表示原因,P(θ|x)表示给定结果x,原因是θ的概率。

后验概率
给定结果,求某个原因的概率。例如小明从家到公司5公里,他可以选择走路或者做地铁上班。如果上班用了1个小时,那我们推测小明上班最有可能是步行。如果用了10分钟,那我们推测小明更可能是坐地铁。 即 P(因|果) 是后验概率。

先验概率
事先就已知的概率。例如已知一个盒子里有一红一白两个球,那么任取一个球颜色是白色的概率一定是50%。即 P(θ) 是先验概率。

似然概率
给定条件/原因,得到某个结果的概率,又称条件概率。例如给出投一次骰子得到6的概率是1/6, 得到的 投两次骰子都是6的概率是1/36。即 P(x|θ)

回到 Slam 问题里,我们想要根据已有的照片(也就是观测数据 z_{k,j})和 IMU 数据(u_k),求解相机的位置 x_k 和物体的位置 y_j,用概率表示为:
P(x, y\ |\ z, u)
特殊的,在纯视觉没有 IMU 时,可以去掉 u
P(x, y\ |\ z)

根据贝叶斯法则,有:
P(x, y\ |\ z, u) = \frac{P(z,u|x,y)P(x,y)}{P(z,u)}\propto \underbrace {P(z,u|x,y)}_{似然} · \underbrace {P(x,y)}_{先验}

\propto 表示成比例的。
可以知道,这种给定结果(观测数据 z, u),求原因(相机位姿 x_k 和物体位置 y_j)属于后验概率。
直接求解「后验概率的分布」是很困难的,所以需要转化为求「一个」状态的最优估计,使得在该状态下后验概率最大化。

所以我们有, 最大后验估计(Maximize a Posterior)
x^*_{MAP} = argmax\ P(x,y\ |\ z, u) = argmax\ \underbrace {P(z,u|x,y)}_{似然} · \underbrace {P(x,y)}_{先验}

实际上,我们不知道 相机位姿 x 和 目标物体的位置 y,所以又没有了先验 P(x, y)
所以我们只能求解最大似然估计(Maximize Likelihood Estimation)
x^*_{MLE} = argmax\ \underbrace {P(z,u|x,y)}_{似然}

最大似然估计的直观意义:在什么样的状态下,最可能产生现在观测到的数据


2. 最小二乘的引出

如何求解最大似然估计?
回顾观测模型:
z_{k, j} = h(y_j, x_k) + v_{k,j}
假设噪音 v_{k,j} 满足均值是0的高斯分布,即 v \sim N(0,~Q_{k, j}),那么观测数据的似然概率是:
P(z_{j, k}|x_k,y_j)~=~N(h(y_j, x_k), Q_{k, j})

考虑任意高维高斯分布 x \sim N(μ,Σ),它的概率密度函数展开后是:
P(x) = \frac{1}{\sqrt{(2\pi)^Ndet(Σ)}}exp(-\frac{(x-μ)^T(x-μ)}{2Σ})

det(Σ) 是求多维方差Σ的行列式(determinant)。

我们要求 P(x) 的最大值,可以先取负对数,改为求负对数形式的最小值:
-ln(P(x)) = \underbrace {\frac{1}{2}ln((2\pi)^Ndet(Σ))}_{与x的计算无关}+\underbrace {\frac{1}{2}(x-μ)^TΣ^{-1}(x-μ)}_{只需求这一部分的最大值}

所以只需要计算右侧的最小值,就得到了最大似然估计。
带入 Slam 的观测模型,相当于在求:
\begin{align*} (x_k, y_j)^* &= argmax~N(h(y_j, x_k), Q_{k, j})\\ &= argmin~((z_{k,j} - h(x_k, y_j))^TQ^{-1}_{k, j}(z_{k, j} - h(x_k, y_j)))\\ \end{align*}

上面是在求单次观测的最大似然估计,下面我们考虑批量的情况:
P(z,μ|x,y)~=~\prod_kP(μ_k|x_{k-1}, x_k)\prod_{k,j}P(z_{k,j}|x_k,y_j)

定义每次输入的误差:
e_{u,k} ~=~ x_k - f(x_{k-1}, μ_k)
每次观测的误差:
e_{z,j,k} ~=~ z_{k,j} - h(x_k, y_j)

那么,最小化所有时刻的误差,等价于求最大似然估计。

min J(x,y) = \underbrace {\sum_ke^T_{μ,k}R^{-1}_ke_{μ,k}}_{运动误差} + \underbrace {\sum_k\sum_je^T_{z,k,j}Q^{-1}_{k,j}e_{z,k,j}}_{观测误差}

这样就得到了一个最小二乘问题。

相关文章

  • Slam笔记-状态估计与最小二乘的引出

    1. 最大似然估计 运动方程:它表示 第 个时刻的相机位置 , 是由上一个时刻的位置 ,经过 的位置变化(IM...

  • 2018.06.04-2018.06.10工作总结

    上周已完成的工作 学习相机模型与图像的表示学习状态估计的几个基本方法:最大后验、最大似然与最小二乘研究非线性最小二...

  • 深入理解卡尔曼滤波

    1. 最小二乘(LS)、加权最小二乘估计(WLS)、递推最小二乘(RLS) 观测方程![](http://late...

  • 最小二乘估计

    一般方法 噪声均值为0时,为无偏估计,以及均方误差阵如下: 对常数估计 加权最小二乘估计 递推最小二乘估计

  • 卡尔曼滤波

    卡尔曼公式 先以状态协方差随时间的传播性,得到先验估计(时间更新),再利用测量值和最小二乘估计,得到后验估计(状态...

  • 岭回归及其sklearn实现

    概述   对于普通最小二乘的参数估计问题,当模型的各项是相关时,最小二乘估计对于随机误差非常敏感,会产生很大的方差...

  • 一元线性回归(普通最小二乘估计OLS)

    1. OLS(普通最小二乘估计) 思想: 用 来当作 的估计量 这里 与 不一定相等,设...

  • 激光SLAM概述

    激光SLAM的pipeline 激光雷达去畸变 激光帧间(核心算法)|前端匹配 激光回环检测 非线性最小二乘优化(...

  • 深度学习 - 一元线性回归

    学习目标 一元线性回归模型 回归模型参数估计 1.最小二乘估计 2.最大似然估计 3.有偏估计与无偏估计

  • 极大似然估计与最小二乘

    前言:发出上一篇文章“从线性回归到逻辑回归后”https://www.jianshu.com/p/033b582c...

网友评论

      本文标题:Slam笔记-状态估计与最小二乘的引出

      本文链接:https://www.haomeiwen.com/subject/uemayktx.html