重新取样颗粒过滤器

时间:2013-10-02 05:15:25

标签: particle-filter

请帮忙。用于跟踪帧中对象的缩合算法步骤是:

  1. 初始化一个点并在其周围选择N个随机点,并将权重设置为1 / N.

  2. 根据动态模型(恒速模型)传播点。

  3. 现在,使用观察模型计算每个粒子的权重。直到现在,还有N粒子。

  4. 现在,在重采样步骤中从上面的一组粒子中选取N个粒子?

  5. 什么?我们如何从N粒子中挑选N粒子?

2 个答案:

答案 0 :(得分:3)

我们如何从N粒子中挑选N粒子?

选择N粒子替换,即根据您指定的重量,可以选择一个粒子多次。

如果你有3个粒子,重量[0.1 0.2 0.7],那么选择第三个粒子两次和第二个粒子一个,因此你选择从3个粒子中获得3个粒子。

有很多技术可以执行此步骤,即重新采样N个粒子。即使我只是尝试为此部分编写代码。

您可以了解重新取样的一些网站是: -

  • Udacity - 机器人的人工智能 - Link to the course page

  • 关于在线粒子滤波器的IEEE论文教程....作者:Arulampalam,gordon maskell,这是一篇被高度引用的论文,几乎所有人都从这里开始参考粒子滤波器。

  • 本文是讲座教程,他们已经很好地解释了重新采样,只需遵循算法,我认为您的代码将进行重新采样Link

答案 1 :(得分:-1)

我不知道需要多少细节...如果大部分知道,请原谅我。粒子滤波器试图基于观测值y_1,...,y_t来估计后验分布p(x_t | y_1,...,y_t)。 “纠正步骤”依赖于简化:

p(x_t|y_1,...,y_t) = p(y_t|x_t)p(x_t|y_1,...,y_t-1)/p(y_t|y_1,...,y_t-1) 

从该后验分布中采样N个点,然后根据右侧进化以接近下一个后部。我们不处理法线,因此我们需要近似不超过2个时刻。然后,从新的后部重新采样下一步的N个点,而不是仅使用旧的点,无论它们在哪里进行过。原因在于众所周知的简并效应 - 除1之外的所有点都倾向于0。

所以我们不是从N粒子中挑选N粒子,而是抛弃旧粒子,并从后验的新估计中重新取样N.