无公式解释粒子滤波(通俗易懂)

2020 年 8 月 27 日 计算机视觉life

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货


本文来自知乎作者郑纯然,已获得对方授权转载

https://zhuanlan.zhihu.com/p/161617286

这是现在的情况:

  • 我们想知道某个信息(比如定位信息)
  • 我们可以得到关于我们想知道信息的测量(比如里程计和激光lidar的测量)
  • 我们知道measurement和我们想知道信息之间的关系

粒子滤波是一个可以系统处理这类情况的方法,本文将讲述一个例子来解释它是什么样的。

让我们来到大自然中去吧。这是一个峡湾,我们将在那里驾驶飞机。让我们用一个稍微不那么优美的地图来表示这个峡湾.

这就是我们的飞行器。

  • 我们可以测量其相对于海面的海拔高度
  • 我们可以测量其到地面的距离
  • 我们有地图

但是我们不知道我们在地图上的位置!如果天黑或者有雾,知道这一点很有用。让我们使用一个粒子滤波去决定我们飞行器的位置

首先,产生大量的位置假设。啊,好吧,让我们选200吧。因为我们不知道飞行器在哪,把它们放到整张地图上。所有黑色的点是产生于一个随机分布的假设,让我们叫它们粒子。

  • 已经测量了飞行器到地面的距离(有一些不确定性)
  • 我们有地图
  • 我们知道我们现在飞得多高(也有一些来自测量设备的不确定性)

让我们现在评估这个粒子,基于以上给出的所有信息,它有多大的可能性?

好的,依据它的海拔高度和到地面的距离,这真的是地图上一个十分可能的位置,它非常符合测量值。

为了记录发现粒子的可能性,让我们为它分配一个数字。因为这个粒子被发现是一个十分可能的假设,给他一个大的数字,我们称这个数字为粒子的权重。

现在对于这个粒子提出相同的问题,发现一样是一个十分可能位置!

基于相同的原因,这个粒子可以看到不太可能,因为他没有将测量值吻合得很好。

我们不再浪费时间了,让我们用一步对所有粒子做同样的事情。

一些粒子显然比其他粒子更可能。这些不太可能的粒子有什么用么?没有。所以让我们做一个叫做重采样的技巧。那意味着我们生成200个新粒子,但是不是随机覆盖整个地图,而是基于存在的粒子及其权重。看!

这就是重采样,它需要去避免粒子间的耗尽,否则我们最终可能只得到可能性小的粒子。顺便说一下,因为所有的粒子都是重采样得到,它们现在有相同的权重。事实上在90年代,重采样的引进是粒子滤波在发展过程中非常重要的里程碑。

飞行器继续前进,所以也让我们的粒子一起移动。假设我们知道飞行器的方向,我们当然也可以了解飞行器的速度(毕竟不是一个直升飞机/笑)。所以对于每一个粒子,在飞行器可能的速度范围内选一个随机的数,然后以这个相关的“速度”把每一个粒子移到右边。注意观察这些粒子!

我们及时传播了我们的粒子,事实上我们采用了一个飞行器运动的模型(非常简单huh?)。

这一步还包含了一个粒子权重的小更新,取决于随机选取速度的概率。例如,3马赫(1000m/s)是一个十分不可能的速度。因此,相比于更低速度传播的粒子,以3马赫速度传播的粒子被分配更低的权重。

现在,是时候做一些熟悉的事情了!让我们使用新的测量去更新权重。还记得么,基于地面的距离,让我们了解下每个粒子的概率

再一次发现某些粒子比其他可能性更大,让我们基于这个去做重采样!

重采样结束,并且飞行器又往前飞了...所以让我们及时传播我们的粒子,使用飞行器非常简单的运动模型。

随着新的时间传播粒子,是时候使用新的测量来更新权重了!

....现在再一次重采样。

好的,到现在我打赌你已经了解了这个过程,让这个过程一直持续下去(接下来只画重采样之后的图)。

/A thousand years later/

到现在为止,我们已经有了一个对飞行器位置非常好的估计,这是一个好消息~

/A thousand years later/

我们注意到当飞行器穿过海面时,粒子开始发散了。因为这里的测量不能告诉我们很多的信息,到地面的距离在整个海面上都是相同的,在这个场景测量不是那么有用(走廊等退化环境)。

/A thousand years later/

注意到飞行器穿过山区时准确率又恢复了。

敲黑板啦~这就是无公式解释粒子滤波的全部内容了,用以下几步概括全篇文章:

使用测量更新权重 根据权重重新采样 使用运动模型即时传播粒子

[1] F. Gustafsson, "Particle filter theory and practice with positioning applications," inIEEE Aerospace and Electronic Systems Magazine, vol. 25, no. 7, pp. 53-82, July 2010, doi: 10.1109/MAES.2010.5546308.
[2] http://www.it.uu.se/katalog/andsv164(Andreas Lindholm)

专辑:计算机视觉方向简介

专辑:视觉SLAM入门

专辑:最新SLAM/三维视觉论文/开源

专辑:三维视觉/SLAM公开课

专辑:深度相机原理及应用

专辑:手机双摄头技术解析与应用

专辑:相机标定

专辑:全景相机


从0到1学习SLAM,戳↓

视觉SLAM图文+视频+答疑+学习路线全规划!

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


投稿、合作也欢迎联系:simiter@126.com

长按关注计算机视觉life

登录查看更多
1

相关内容

所谓粒子滤波就是指:通过寻找一组在状态空间中传播的随机样本来近似的表示概率密度函数,用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程,这些样本被形象的称为"粒子",故而叫粒子滤波。
【KDD2020】最小方差采样用于图神经网络的快速训练
专知会员服务
27+阅读 · 2020年7月13日
最新《机器学习理论初探》概述
专知会员服务
44+阅读 · 2020年5月19日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
异常检测的阈值,你怎么选?给你整理好了...
机器学习算法与Python学习
10+阅读 · 2018年9月19日
不用数学讲清马尔可夫链蒙特卡洛方法?
算法与数学之美
16+阅读 · 2018年8月8日
一文详解生成对抗网络(GAN)的原理,通俗易懂
人工智能头条
6+阅读 · 2018年5月6日
通俗理解卷积神经网络(小学生都能看懂)
七月在线实验室
9+阅读 · 2018年1月25日
通俗理解粒子群优化算法
机器学习研究会
9+阅读 · 2017年12月1日
干货|通俗易懂地解释EM算法并举例说明?
机器学习研究会
12+阅读 · 2017年11月17日
【人工智能】史上最通俗易懂的人工智能概念解释
产业智能官
3+阅读 · 2017年9月14日
Seeing What a GAN Cannot Generate
Arxiv
8+阅读 · 2019年10月24日
Meta-Transfer Learning for Few-Shot Learning
Arxiv
4+阅读 · 2019年4月9日
Arxiv
3+阅读 · 2018年4月9日
Arxiv
9+阅读 · 2018年3月10日
VIP会员
相关资讯
异常检测的阈值,你怎么选?给你整理好了...
机器学习算法与Python学习
10+阅读 · 2018年9月19日
不用数学讲清马尔可夫链蒙特卡洛方法?
算法与数学之美
16+阅读 · 2018年8月8日
一文详解生成对抗网络(GAN)的原理,通俗易懂
人工智能头条
6+阅读 · 2018年5月6日
通俗理解卷积神经网络(小学生都能看懂)
七月在线实验室
9+阅读 · 2018年1月25日
通俗理解粒子群优化算法
机器学习研究会
9+阅读 · 2017年12月1日
干货|通俗易懂地解释EM算法并举例说明?
机器学习研究会
12+阅读 · 2017年11月17日
【人工智能】史上最通俗易懂的人工智能概念解释
产业智能官
3+阅读 · 2017年9月14日
Top
微信扫码咨询专知VIP会员