APP下载

一种改进型的粒子滤波算法在运动目标跟踪中的应用∗

2019-11-13李亚文

舰船电子工程 2019年10期
关键词:改进型滤波粒子

李亚文 刘 萌

(商洛学院电子信息工程与电气工程学院 商洛 726000)

1 引言

目标检测与跟踪技术是计算机视觉这一领域的热点话题,它综合了模式识别、图像处理、人工智能及国防侦察等多种不同学科的理论知识[1~2]。目标检测与跟踪技术已经广泛应用于交通安全检测、住宅小区安防、各种视频监控等领域[3]。运动目标跟踪是去除背景信息后,提取目标的特征信息,如:纹理特征、大小、速度等,使用合适的匹配算法对目标进行定位跟踪[3],常用的目标跟踪方法可分为基于先验知识和非先验知识两大类,包括基于对比度分析的目标跟踪、基于匹配的目标跟踪和基于运动检测的目标跟踪,随着数学理论的不断丰富,运动模型的不断复杂,为了解决在非线性、高斯系统中的准确估计问题,提出了粒子滤波方法进行目标跟踪[2,3~5]。粒子滤波(Particle Filter,PF)[6]是一种基于蒙特卡罗仿真,利用粒子集来表示概率,可以解决一些传统的难点问题如目标检测、遮挡、交叉、跟踪丢失等,在目标跟踪中能得到较好的跟踪效果。

2 粒子滤波算法

2.1 算法思想

粒子滤波的基本思路[8~9]:首先是要根据经验条件的概率密度函数在状态空间中生成一个粒子的集合,然后以这些粒子的权重来进行粒子之间的加权均值来代替积分运算,并且对粒子进行重采样运算,其次要根据这些相关的信息来完善前面的经验条件概率密度函数,最终获得目标的状态。一般来说,粒子滤波算法就是去寻找被追踪目标物体的位置、状态等分布函数或者概率密度函数,从而得到它的最小方差分布。该滤波方法对系统噪声没有任何限制,它是通过预测和更新来自于系统概率密度函数的采样集来近似非线性系统的贝叶斯估计,因此同样适用于非线性系统的估计。

2.2 算法实现步骤

粒子滤波算法一般包含以下7个步骤:

1)目标粒子的初始化,提取先验知识[10]:

取k=0,按p(x0)抽取N个样本点,i=1,…,N。

3)系统观测更新,计算粒子的更新权值:

4)权值的归一化[11]:

7)若粒子个数采样未完成返回步骤2),重复进行,直到结束为止。

当粒子数目足够大,估计的后验概率密度函数和真实的后验概率就非常的接近。粒子滤波算法的具体实现流程如图1所示。

3 改进型的粒子滤波算法

在粒子滤波算法中,预测模板和每个粒子所代表的目标模板之间匹配的结果决定了每个粒子的权重。当运动目标颜色与背景色相似或被其他物体所遮挡时,目标模板中的信息会丢失,导致目标模板失真了,并间接影响每个粒子的重量,导致了粒子滤波算法无法预测到准确的位置[12]。

图2 改进型的粒子滤波算法实现流程图

本文在对遮挡问题上进行综合分析,并在基于粒子滤波算法和卡尔曼滤波算法的基础上,将目标分成多个子块并进行子模块匹配,然后把匹配的子模块和预测的目标位置进行融合,注入到粒子滤波算法中,从而解决目标在跟踪过程中出现的遮挡问题。改进型的粒子滤波算法实现流程如图2 所示,其关键就是遮挡位置目标的定位,计算出其颜色分布Bhattacharyya 系 数[13~14]再使用公式计算出它们的Bhattacharyya 距离D(p,q),这个距离值越小表示其相似程度越准确。在符合方程式D(p,q)<T1时,表明运动目标出现了轻微的遮挡,然后暂停更新中的目标模板;进行分模块匹配方法,算出各个子模块的相似匹配程度及各个子模块对应的颜色直方图分布Bhattacharyya 系数,然后当某子模块的D(p,q)符合方程式T1<D(p,q)<T2,则这个子模块发生遮挡,将再次完成更新颜色直方图;在子模块的D(p,q)满足D(p,q)≥T2时表明子块出现了严重的遮挡,对这个模块进行标记,且暂停对该子模块的更新,然后对运动目标进行位置预测,得到估计的运动目标可能出现的位置T1和T2。

4 基于改进型的粒子滤波算法的运动目跟踪实现

4.1 仿真实验

实 验 环 境:PC 机:Intel(R) Core(TM)i5-5200U CPU @ 2.20GHz,Windows 8,编程软件:Matlab 7.10。

1)非线性系统状态估计

假如非线性系统为

估计误差均方值RMSE[15]为

利用上述的非线性系统的状态式(5)和式(6),改变粒子数目,通过仿真分析粒子数目对系统粒子滤波状态估计的结果。仿真实验中:设定参数有初始状态x0=1;时间步长等于50;过程噪声vk和观测噪声nk都是服从高斯分布的,即它们均值都为0,vk方差为Q,nk方差为R。通过对粒子滤波的非线性系统状态估计,将粒子滤波算法应用于目标跟踪中,实验仿真中先是对一个强非线性系统的状态估计问题进行仿真模拟,然后把粒子滤波算法应用于实际场景,从而实现对运动目标的跟踪。

粒子滤波的非线性系统状态估计结果如图3所示,实验过程中设噪声与观测噪声协方差均为1,粒子数分别取值为N=200、100、50、20 时进行仿真实验分别得到图(a)、(b)、(c)、(d)系统的不同状态估计,图3(a)、(b)、(c)、(d)四副图中虚线连接表示系统的真实状态,实线表示用粒子滤波算法所得到的状态估计值。

图3 粒子滤波状态估计

表1 粒子滤波状态估计均方误差

当粒子数取值N=200、100、50 和20 时,均方误差值为0.1196、0.2236、1.6062 和3.8601。从表1 也可以看出,随着粒子数的增加,均方误差值越小,粒子滤波状态估计值与实际值相差值越小,越能真实地反映系统真实状态,随机抽样的样本数越多,估计误差越小。

2)运动目标跟踪的仿真实现

实验中录制一小段校园行人运动视频,整个视频选取其中连续的90 帧图像,每帧图像的尺寸为320×240。实验中使用白色矩形框圈定所要跟踪的目标,黑色矩形表示目标运动的范围。图4 为改进的粒子滤波算法的跟踪结果,这里分别选取第57、69、79、89。

图4 改进型的粒子滤波算法的仿真实现

4.2 实验结果分析

图4 应用改进型的粒子滤波算法对视频中的运动目标进行跟踪,图(a)、(b)、(c)、(d)4帧图像的实验仿真结果表明,改进后的粒子滤波算法可以准确地跟踪到白色矩形框的运动目标,尤其是图(c)第79 帧图像,跟踪目标被遮挡后,改进后的算法仍然能较好的跟踪运动目标,不管运动的人是否被干扰物体遮挡以及被干扰物体遮挡前后,改进后的算法仍可以准确地实现所选区域的目标跟踪,也没有出现目标丢失等情况。

5 结语

本文提出了一种改进型的粒子滤波算法,并将其应用视频中的运动目标跟踪,将粒子滤波算法和卡尔曼滤波算法的相结合,将目标分成多个子块并进行子模块匹配,提高算法对遮挡情况的适应能力以及算法跟踪的精度。实验结果表明,改进型的粒子滤波算法能较好地解决运动目标遮挡而引起跟踪丢失的问题,具有较好的鲁棒性。

猜你喜欢

改进型滤波粒子
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
Cr5改进型支承辊探伤无底波原因分析
改进型自抗扰四旋翼无人机控制系统设计与实现
巧借动态圆突破粒子源遇上有界磁场问题
一种考虑GPS信号中断的导航滤波算法
高效LCL滤波电路的分析与设计
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
IWI美国分公司UZI PRO SB半自动冲锋枪改进型
俄罗斯赛加MK—107半自动步枪改进型