若由本篇博文增加关注,就解封本篇博文的VIP权限哈,记得在下方留言哈

5. 重采样

为什么需要重采样?

因为在实际应用SIS的过程中,我们发现出现了粒子退化现象:即经过多次迭代后,假设100个粒子,其中有1的粒子的归一化权值为0.99,而另外的99个粒子之和才0.01,这将会造成目标跟踪的失败。解决办法有啥呢:1.选取好的重要性概率密度函数;2.重采样。

什么叫做重采样,重采样就是在已经采样的结果上,再进行采样。如果不理解的话,来看看下面几幅图:

重采样深度学习_粒子滤波

上图是重要性采样,一定看清楚样本在哪里,权值又在哪里。那些后验PDF高的地方权值相应的就大,所以我们要对这些大权值的粒子进行重采样:

重采样深度学习_粒子滤波_02


观察上图,你需要知道下面几点:

  • 对于权值小的粒子直接省去了,这个直接造成了在多次迭代后会造成粒子枯竭的情况(这和粒子退化可不一样哈)。
  • 在重采样后粒子的个数不变。
  • 重采样后粒子的权值依然相同
    那么怎样进行重采样呢?一般我们采用均匀重采样。来再看下面这幅图:

    假设我们经过重要性采样后得到三个粒子x1,x2,x3,且权值分别为0.1,0.1,0.8。如果我们用计算机产生0到1的随机数,看看这个随机数落到上面纵坐标的哪一部分,即把相应的粒子保存即可。由于上述得到的是三个粒子,则重采样也应该进行三次得到三个粒子,这三个粒子的权值是相同的,但是相应的状态则大部分是属于归一化权重是0.8的那个状态。这里的假设的粒子较少,你可以想想有2000个粒子的场景。
  • 到此我们已经把标准的粒子滤波算法的整个流程详细叙述了一遍。即:初始化——》接着递归:贯序重要性采样,重采样——》输出
  1. SIR
    还记得上面我提到的避免例子退化的另一个方法:选择一个好的重要性概率密度函数吗,SIS+重采样+一个好的重要性概率密度函数=SIR。
    一般选取的这个好的重要性概率密度函数为状态转移概率密度函数:
    重采样深度学习_重采样深度学习_03
    将上式代入上篇中权值的计算结果即可:
    重采样深度学习_粒子滤波_04
    下面重要的来了,这个对于你编程时很重要:上面的重采样深度学习_算法_05是重采样后的权值,这个i从1到N,这N个粒子的权值是一样的,则重采样深度学习_重采样深度学习_06那个符号是“服从”的意思,乘不乘个常数无伤大雅吧。这个重采样深度学习_算法_07是该时刻在重要性采样时候的权值,这时还没经过重采样哈。
  • 上面重采样深度学习_算法_07是服从量测噪声的概率密度函数。如果不知道可以看看我的这篇文章(从零开始)基于检测前跟踪雷达目标跟踪技术的研究:第(5)周所学知识。如果有VIP权限,第一时间私聊我,我会尽快解封。
  • 最后