专栏名称: 小白学视觉
本公众号主要介绍机器视觉基础知识和新闻,以及在学习机器视觉时遇到的各种纠结和坑的心路历程。
目录
相关文章推荐
徐州新闻  ·  火车票低至1元!12306回应 ·  18 小时前  
环球网  ·  突发:美国一战斗机坠毁 ·  21 小时前  
环球网  ·  突发:美国一战斗机坠毁 ·  21 小时前  
参考消息  ·  胡塞:“我们的手已经扣上扳机” ·  昨天  
环球网  ·  外媒爆料:俄非正式提议在印度造苏-57 ·  昨天  
环球网  ·  外媒爆料:俄非正式提议在印度造苏-57 ·  昨天  
参考消息  ·  美舰船过航台湾海峡,东部战区发声 ·  昨天  
51好读  ›  专栏  ›  小白学视觉

道不尽的卡尔曼!通俗易懂详细解释卡尔曼滤波

小白学视觉  · 公众号  ·  · 2024-07-21 16:08

正文

点击上方 小白学视觉 ”,选择加" 星标 "或“ 置顶

重磅干货,第一时间送达

作者 | Mockingjay  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/134595781

本文只做学术分享,如有侵权,联系删文

概述

总的来说,卡尔曼滤波器是一个状态估计器,它利用 传感器融合 信息融合 来提高系统的精度。通常,我们要观测一个系统的状态,有两种手段。一种是通过系统的 状态转移方程 ,并结合上一时刻的状态推得下一时刻的状态。一种是借助 辅助系统(量测系统) 的测量得到系统状态。这两种方式都有各自的不确定性,卡尔曼滤波可以将这两者做到最优结合(加权平均),使得我们估计的状态的不确定性小于其中任何一种。所以权重的选择至关重要,它意味着我们更信任哪一种方式得出的状态(当然是更加信任 不确定性较小 的状态)。

建模

比如,我们观测一辆小车的 速度 位置 (所以我们要观察的状态就是速度 v 和位置 p ,即状态 x=(v,p) ,这里的 p,v 都是 向量 ),当我们有了 k-1 时刻的状态 =( , ) 后,那么如果速度不变,我们就可以得到下一时刻的状态 =( , ) ,其中

当然,我们也可以对小车进行控制,比如让小车加速、拐弯等等,这些都可以用一个加速度来表示: ,这样,下一时刻状态 =( , ) 的表示变为:

其中:

但是,现实的情况并没有那么理想,小车可能会受到外界的各种扰动,比如,轮胎打滑,地面崎岖等等,都会使得状态转移的过程中 混入噪音干扰(过程噪声) ,而且这个噪音往往是不可被测量的,也就是说,没办法通过建模消除噪音项。不过,往往我们可以认为这个噪音是服从零均值的高斯分布的。那么(1)式重写为

上面的状态转移方程为我们提供了观察系统状态的一种方式,同时,我们可能有一些辅助系统,比如对于这个小车,我们可以用GPS作为得到其状态的另一种方式。

那样的话,GPS每一时刻都可以提供一次当前状态的观测值 ,它与真实状态 的关系为, = + (3)

其中的 是观测模型,它把系统 真实状态空间 映射成 观测空间 是噪声项,称为 观测噪声 ——因为任何的测量系统都是有误差的,所以观测值实际上是真实值与噪声的叠加。我们同样可以认为此噪声是服从0均值的高斯分布的。即

现在我们比较这两种方式得到的系统状态,容易想到,状态转移方程得到的系统状态在演变时会非常平滑,而它的不确定度会随着迭代的进行而逐渐增大,因为误差会在一次次迭代的过程中不断累积(具体反映为估计状态的方差越来越大)。相反,由量测系统得到的状态不存在累积误差,但演变时也会很不平滑。这时我们就需要将两者得到的状态有效结合起来。这就是卡尔曼滤波做的事情了。

卡尔曼滤波

然后我们要算出测量残差:

第一项为0,因为







请到「今天看啥」查看全文