请帮忙。跟踪帧中对象的压缩算法步骤是:
初始化一个点并在其周围随机选择N个点,并将权重设置为1/N。
根据动态模型(恒速模型)传播点。
现在,使用观察模型计算每个粒子的权重。到目前为止,有 N 个粒子。
现在,在重采样步骤中,从上述粒子集中挑选 N 个粒子?
什么?我们如何从 N 个粒子中挑选 N 个粒子?
请帮忙。跟踪帧中对象的压缩算法步骤是:
初始化一个点并在其周围随机选择N个点,并将权重设置为1/N。
根据动态模型(恒速模型)传播点。
现在,使用观察模型计算每个粒子的权重。到目前为止,有 N 个粒子。
现在,在重采样步骤中,从上述粒子集中挑选 N 个粒子?
什么?我们如何从 N 个粒子中挑选 N 个粒子?
我们如何从 N 个粒子中挑选 N 个粒子?
选择 N 个带有替换的粒子,即一个粒子可以根据您分配给它的权重多次选择。
如果您有 3 个粒子,权重为 [0.1 0.2 0.7 ],则选择第 3 个粒子两次,第 2 个粒子一次,因此您选择从 3 个粒子本身中获取 3 个粒子。
有很多技术可以完成这一步,即重新采样 N 个粒子。即使我只是试图为这一部分编写代码。
您可以了解重采样的一些网站是:-
我不知道需要多少细节......如果大部分都知道,请原谅我。粒子滤波器尝试根据观测值 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。