点击上方“计算机视觉life”,选择“星标”
快速获得最新干货
本文来自知乎作者郑纯然,已获得对方授权转载
https://zhuanlan.zhihu.com/p/161617286
这是现在的情况:
粒子滤波是一个可以系统处理这类情况的方法,本文将讲述一个例子来解释它是什么样的。
让我们来到大自然中去吧。这是一个峡湾,我们将在那里驾驶飞机。让我们用一个稍微不那么优美的地图来表示这个峡湾.
这就是我们的飞行器。
但是我们不知道我们在地图上的位置!如果天黑或者有雾,知道这一点很有用。让我们使用一个粒子滤波去决定我们飞行器的位置
首先,产生大量的位置假设。啊,好吧,让我们选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)
从0到1学习SLAM,戳↓
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
投稿、合作也欢迎联系:simiter@126.com
长按关注计算机视觉life