粒子滤波到底是怎么得到的?

一、前言

粒子滤波(particle filter)是一种常见的滤波算法,广泛应用于目标跟踪、移动机器人等领域。网络上有不少关于粒子滤波的资料,但大多是直接给出了粒子滤波的相关公式和证明,或较为直观上的解释。作者在学习粒子滤波的过程中对一些概念和操作时常感到突兀,后来发现想要完整了解粒子滤波,需要首先了解前因,逐渐深入才能理解粒子滤波,而不是直接学习粒子滤波这个方法。
本文将侧重从“粒子滤波是怎么来的”这个问题介绍粒子滤波。限于篇幅与易懂性,对一些概念并没有展开介绍,读者在了解基本思路后可以根据给出的资料深入学习。本文包含了作者自己不严谨的理解与阐述,如有疏漏,望批评指正。

二、对“滤波”的一些介绍

2.1 何为“滤波”?

贝叶斯滤波、卡尔曼滤波、粒子滤波……种种这些滤波方法,都涉及到了“滤波”这个词。那么到底什么是滤波,不同的领域有不同的定义。比如在信号系统领域,滤波是指将信号中特定波段的频率滤除的操作。而在移动机器人领域,我暂时没有看到较为严格的定义。我认为可以姑且理解为:通过不断地观测,使得对目标状态的估计变得更加准确。

2.2 贝叶斯滤波

卡尔曼滤波与粒子滤波都是基于贝叶斯滤波框架下的滤波算法。讲粒子滤波便不得不提贝叶斯滤波。贝叶斯滤波的基本思想是根据上一时刻的状态对当前状态进行预测,并根据此时的观测进行更新。基本算法是:
(图片来源:《概率机器人》)
可以看出,在预测部分需要求一个积分,而这个积分往往很难求。所以显有方法可以直接利用原始的贝叶斯进行处理。

2.3 卡尔曼滤波

卡尔曼滤波也是非常庞大的一块内容,这里不展开介绍。只在这里说明,卡尔曼滤波是贝叶斯滤波在线性高斯系统下的一种滤波算法。而对于非线性系统,则衍生出来了扩展卡尔曼滤波。同时指出,无论是卡尔曼还是扩展卡尔曼滤波,都是参数化的滤波方法,对于无法用参数化进行表示的,则采用粒子滤波。粒子滤波是一种无参的滤波算法。

三、积分计算:从蒙特卡洛说起

3.1 分段近似法求积分

3.2 蒙特卡洛采样求积分

(此处略过蒙特卡洛基本原理)

3.2.1 简单的均匀采样

求积分和求期望是相同的。假设我们对一个分布求取积分,采用最简单的采样方式——均匀采样。我们求取在x满足均匀分布u(x)时,f(x)在[a,b]的期望I。按照分布u(x)进行N次随机采样:
可以发现最后一项对f(x)的积分,就是x的期望。所以我们可以发现,当我们按照均匀分布u(x)对x进行大量采样,计算对应的f(x)的平均值,就是f(x)的积分。

3.2.2 任意分布的采样

下面我们研究,如果不是按照均匀分布u(x)采样,而是任意分布p(x)进行采样,结果如何。此时
依旧与原始的积分相同。所以我们得出了重要的结论:在蒙特卡洛时,我们可以按照任意分布进行采样,再计算对应f(x)的积分。
这一点很好理解,如果我们选择的分布p(x)就是真实的分布,那么我们从p(x)进行采样,就和直接从真实分布进行采样是一样的,积分结果当然是没有误差的。这提醒我们,在选取p(x)分布时要尽可能的与实际分布接近,从而极大程度的降低方差,从而减少需要采样的数量。

四、重要性采样与序列重要性采样

4.1 重要性采样(Importance Sampling, IS)

4.2 序列重要性采样(Sequential Importance Sampling, SIS)

4.3 重采样(Resampling)

在实际过程中,我们发现利用权重更新公式进行更新时,在几次迭代之后,权重的分布会极其不均匀,出现个别粒子权重很大接近于1,而其他的都接近于0的情况。这时候采用了一种“重采样”策略,即每次权重更新之后,根据当前权重对所有粒子进行重采样,之后将所有权重设定为相同。这样我们用粒子的数量代替了粒子的权重,避免了权重的不均匀。

5. 粒子滤波(Particle Filter)

此时对权重更新公式进行变形(在不产生歧义情况下部分内容用点省略):

6. 总结

本文首先从滤波问题说起,指出了贝叶斯滤波框架下积分很难求的问题。由此引出蒙特卡洛方法。之后为了降低误差、减少运算量和避免权重集中,对应出现了重要性采样、序列重要性采样与重采样,顺理成章的得出了粒子滤波的数学原理,之后给出了对应的物理模型。最后给出了简单的粒子滤波的完整算法。
作者希望通过本文,能够使得大家对粒子滤波的学习有一个完整的认识,知道粒子滤波之前有什么,而不是上来就对着资料直接学习粒子滤波本身。网络上的学习资料甚多,在这里只推荐一个:徐亦达机器学习Particle Filter:https://www.bilibili.com/video/BV1xW411N7f1?p=1。耐心看完,会有收获。
本文仅做学术分享,如有侵权,请联系删文。
(0)

相关推荐

  • 【学术论文】WSN中一种基于RSSI的移动节点改进定位算法

    摘要: 移动无线传感器网络的节点定位算法中,基于RSSI的MCL定位算法利用接收信号强度的对数正态模型对定位的预测和滤波过程进行了改进,改善了定位性能,但是仍存在计算量较大.功耗较大等不足.因为物体的 ...

  • 怎样估计锂电池剩余电量SOC

    传统燃油车上有油表,还有多少油,还能跑多远,看一眼心里就有数了.换做是电动汽车,驾驶员则需要了解电池包还剩下多少电量.荷电状态又叫剩余电量,SOC,State of Charge,是反应电池包内当前电 ...

  • 从概率到贝叶斯滤波(下)

    数学语文吧 语文是米饭,数学是菜谱! 123篇原创内容 公众号 从概率到贝叶斯滤波(上) 02 贝叶斯滤波 2.1 贝叶斯公式 2.1.1 二维离散型随机变量的贝叶斯公式 对于二维离散型随机变量 ,由 ...

  • 【学术论文】基于蝴蝶优化的粒子滤波算法

    摘要: 针对标准粒子滤波采用次优的重要性函数而导致的粒子退化问题,提出一种基于蝴蝶优化的改进粒子滤波算法.通过蝴蝶算法优化粒子滤波的重要性采样过程,使得远离真实状态的粒子向真实状态可能性较大的区域移动 ...

  • 数与图(18)——求积分

    在<数与图(14)>中我们给出了积分的定义:区间[x1,x2]内函数曲线与x轴之间所包围的曲边梯形面积.本文将根据这一定义,利用程序求出六次幂函数在特定区间内的积分近似值,然后再利用数学方 ...

  • 【学术论文】基于Cortex-A53平台的激光雷达SLAM实现

    自主移动机器人[1-3]是近几年的研究热点,要实现机器人的自主移动,关键是要实现SLAM[4-7](Simultaneous Localization and Mapping),也就是同时定位与地图构 ...

  • 废除直接用弧度变量对三角函数求极限、求积分、求积分是拨乱反正

    废除直接用弧度变量对三角函数求极限.求积分.求积分是拨乱反正 三角函数必须通过角度才能计算其值,这是必须遵守的基本准则,因此用角度变量对三角函数直接进行求极限.微分.积分是顺理成章.天经地义的方式.方 ...

  • 基于无迹粒子滤波的车载锂离子电池状态估计

    摘要 武汉理工大学自动化学院.武汉理工大学汽车工程学院的研究人员谢长君.费亚龙等,在2018年第17期<电工技术学报>上撰文指出,传统的无迹卡尔曼滤波(UKF)和粒子滤波(PF)算法估计动 ...

  • 办公高级技能——粒子特效到底有什么用?

    很多老师问粒子特效能做什么,其实我前面提到过,它的作用很多.你应该看到过14年中央电视台春节联欢晚会的各种炫酷效果,所有虚幻炫酷的效果几乎都可以用粒子实现. 影视剧中的刀光剑影.武功片中的气场.气流, ...

  • R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析

    原文链接:http://tecdat.cn/?p=24162 在这个例子中,我们考虑马尔可夫转换随机波动率模型. 统计模型 设 yt为因变量,xt 为 yt 未观察到的对数波动率.对于 t≤tmax, ...

  • 中国花360亿建造大型对撞机 到底值不值|电子|高能物理|粒子

    关注风云之声 提升思维层次9小时前 [王贻芳 中国科学院高能物理研究所所长院士] 以下为王贻芳演讲实录: 我是王贻芳,来自中科院高能物理研究所.我研究的领域叫粒子物理,也叫高能物理. 过去讲故事,开头 ...

  • 光是粒子还是波?让无数物理学家波粒二象性到底是什么?

    光是什么呢?早在2000多年前,古希腊的哲学家就开始了对光的研究.他们昔日的观察日常生活中的光影,最终得出结论,光是由肉眼不可见的粒子构成的烛火一类的发光体,向四面八方发射"光粒子" ...

  • 顶着“粒子”的名头,我到底是谁?

    中科院物理所 中科院物理所官方账号.爱上物理,改变世界.7小时前 准粒子描述的是一类自发产生的.行为和特点类似粒子的物理实体.准粒子不断被发现,现象也一个比一个更奇异.下面我们就来介绍一些最为奇特和最 ...

  • 粒子的自旋属性到底是什么?

    warnning:文很长,万余字,如果你确实想深刻理解自旋,可以先收藏,心静下来的时候分几次阅读. 费曼:对自旋的量子力学描述可以作为范例,推广到所有量子力学现象.(话说生活大爆炸里的谢尔顿难道是照他 ...

  • 电子为何具有波粒二象性?或者说电子到底是粒子还是波?

    答案很简单--事实并非如此!电子实际上只是波!确实,课本上说光子既是波又是粒子,这被称为波粒二象性.网上也有大量的文章都表述说光子或电子有时表现得像"波"一样,而有时候则表现得&q ...