粒子滤波

粒子滤波的四个误差来源

第一种误差

  • 原因分析 使用有限个粒子,对后验估计引入系统偏差。考虑极端情况:只有一个粒子,这时候 重采样就没有意义,观测就不会在更新中起作用。
  • 解决思路
    • 增加粒子数目,但是同时也增加了计算量。

第二种误差

  • 原因分析 重采样时候引入的随机误差。考虑计算情况:机器人不运动。这时候运动模型没变, 但是观测依然会在重采样时候起作用。重采样会导致粒子多样性的损失。重采样的时 候尽管粒子集本身方差在减小,但是粒子作为真实置信度的估计却在增加。因此,在 实际运用中,控制好方差/偏差对PF很重要。也就是不要让方差变得太小,因为方差太 小,粒子的多样性损失就越严重。
  • 解决思路 确定什么时候应该重采样:确定是否重采样的标准是重要性权重的变化,如果权重一 样,说明变化为0,不用重采样;如果权重几种在少数粒子上,那说明权重的变化较大, 这时候应该进行重采样(或者说权重偏向少数粒子的时候应该进行重采样)。
    • 减少重采样频率,不运动不重采样;
    • 分层采样/低方差采样(能将权重拉回平均值的粒子所采样几次)。

第三个误差

  • 原因分析 建议分布和目标分布的收敛性产生,PF的效率依赖于建议分布和目标分布的匹配程度。
    • 目标分布和建议分布不应该偏差太大,太大之后可能很难收敛,而且效率也不高。
    • 传感器太准确反而不适合粒子滤波, p(z|x)只在很少的状态有值,导致其他状态为0, 最终造成退化问题。
  • 解决思路
    • 最简单的就是在观测的时候人为增加噪声,这样很多时候可以解决PF的准确性;
    • 引入观测来修改建议分布。

第四种误差

  • 原因分析 粒子退化导致,空间中状态很多,真实状态附近反而没有粒子。
  • 解决思路
    • 重采样之后再随机撒一定数量的粒子。

粒子数目

粒子数目的确定:根据状态空间的维度大小和分布的不确定性。

Comments

comments powered by Disqus