粒子滤波

粒子滤波

http://blog.csdn.net/oycf119

        粒子滤波是以贝叶斯推理重要性重采样为基本原理的。

        粒子滤波算法源于Monte carlo思想,即以某事件出现的频率来指代该事件的概率。因此在滤波过程中,需要用到概率如P(x)的地方,一概对变量x采样,以大量采样及其相应的权值来近似表示P(x)。因此,采用此思想,在滤波过程中粒子滤波可以处理任意形式的概率,而不像Kalman滤波只能处理线性高斯分布的概率问题。粒子滤波的一大优势也在于此。

         下面来看看对任意如下的状态方程:

                                 x(t)=f(x(t-1),u(t),w(t))

                                  y(t)=h(x(t),e(t))

        其中的x(t)为t时刻状态,u(t)为控制量,w(t) 和e(t)分别为状态噪声和观测噪声。前一个方程描述是状态转移,后一个是观测方程。对于这么一个问题粒子滤波怎么来从观测y(t),和x(t-1),u(t) 滤出真实状态x(t)呢?

        预测阶段:粒子滤波首先根据x(t-1) 的概率分布生成大量的采样,这些采样就称之为粒子。那么这些采样在状态空间中的分布实际上就是x(t-1) 的概率分布了。接下来依据状态转移方程加上控制量可以对每一粒子得到一个预测粒子。

        校正阶段:观测值y到达后,利用观测方程即条件概率P(y|xi ),对所有的粒子进行评价,直白的说,这个条件概率代表了假设真实状态x(t)取第i个粒子xi时获得观测y的概率。令这个条件概率为第i个粒子的权重W(i)。这样下来,对所有粒子都进行这样一个评价,那么越有可能获得观测y的粒子,当然获得的权重越高。

       重要性重采样算法:去除低权值的粒子,保留高权值的粒子。所得到的当然就是我们所需要的真实状态x(t)了,而这些重采样后的粒子,就代表了真实状态的概率分布了。下一轮滤波,再将重采样过后的粒子集输入到状态转移方程中,直接就能够获得预测粒子了。

       初始状态的问题: 由于开始对x(0)一无所知,所以我们可以认为x(0)在全状态空间内平均分布。于是初始的采样就平均分布在整个状态空间中。然后将所有采样输入状态转移方程,得到预测粒子。然后再评价下所有预测粒子的权重,当然我们在整个状态空间中只有部分粒子能够获的高权值。最后进行重采样,去除低权值的,将下一轮滤波的考虑重点缩小到了高权值粒子附近。

 

具体算法流程:

1)初始化阶段,提取跟踪目标特征

该阶段要手动指定跟踪目标,程序计算跟踪目标的特征,比如采用目标的颜色特征 。具体到Rob Hess的Code,开始时需要手动用鼠标拖动出一个跟踪区域,然后程序自动计算该区域色调(Hue)的空间的直方图,即为目标特征。直方图可以用一个向量表示,所以目标特征就是一个N*1的向量V。

2)搜索阶段

我们已经掌握了目标的特征,然后撒下很多的粒子(Particle),去搜索目标对象。撒粒子有很多种方法。比如,a)均匀的撒:即在整个图像平面均匀的撒粒子(uniform distribution);b)在上一帧得到的目标附近按照高斯分布来放,可以理解成,靠近目标的地方多撒,远离目标的地方少撒。Rob Hess的代码用的是后一种方法。粒子撒出去后,怎样搜索目标物体呢?就是按照初始化阶段得到的目标特征(色调直方图,向量V),每个粒子计算它所处的位置处图像的颜色特征,得到一个色调直方图,向量Vi,计算该直方图与目标直方图的相似性。相似性有多种度量,最简单的一种是计算sum(abs(Vi-V)).每个粒子算出相似度后再做一次归一化,使得所有粒子得到的相似度加起来等于1.

3)决策阶段

我们撒出的粒子在每一处都会有一个相似度,如1号处粒子的图像与目标的相似度为0.13,2号处粒子的图像与目标的相似度为0.0103,3号处粒子的图像与目标的相似度为0.073,....,N号处粒子的图像与目标的相似度为0.0013.那么目标究竟最可能在哪呢?我们做次加权平均。设i号粒子的像素坐标为(xi,yi),相似度为Wi,那么目标最可能的像素坐标X= sum(xi*Wi),Y = sum(yi*Wi).

4)重采样阶段Resampling

既然我们是在做目标跟踪,一般说来,目标是跑来跑去乱动的。在新的一帧图像里,目标可能在哪里呢?那我们就撒粒子去搜索吧,但是怎么样撒粒子才能效率高呢?我们可以根据上一次=撒出的粒子的权重值来决定,在权重值大的地方集中地多撒,在权重值小的地方少撒,甚至不撒,这就是Sampling Importance Resampling,根据重要性重采样。

(2->(3)->(4)->(2)如是反复循环,即完成了目标跟踪。

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值