- 1
- 0
- 约4.04千字
- 约 8页
- 2017-11-07 发布于福建
- 举报
基于改进型粒子滤波目标跟踪算法
基于改进型粒子滤波目标跟踪算法 摘要:目标跟踪是计算机视觉领域的研究热点。该文提出了一种结合卡尔曼滤波和粒子滤波的目标跟踪算法。可以结合卡尔曼滤波算法计算量小,实时度高和粒子滤波算法准确度高,可以在非线性系统下稳定工作的优点。实验结果表明,该方法在计算速度和跟踪准确度上均能取得较满意的结果,具有一定的价值。
关键词:目标跟踪;卡尔曼滤波;粒子滤波
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2013)32-7310-03
目标跟踪问题是计算机视觉领域的研究热点,是结合图像处理、机器视觉和模式识别等的研究方向,因为跟踪的目标多表示为状态空间模型。所以一般采用目标状态的估计求解来解决目标跟踪问题。现有的目标跟踪算法包括相关匹配、卡尔曼滤波、Camshift算法等[1-3], 但这些算法一般都具有计算准确度不高,鲁棒性不强,应用环境局限等缺点。而粒子滤波算法因为可以较稳定适用于非线性系统的优点,近年来受到了广泛地关注。
粒子滤波[4-6]算法基于蒙特卡洛方法,利用粒子集来表示概率,通过从后验概率中抽取的随机状态粒子来表达其分布,能够适用在任何形式的状态空间模型上。具有较多的优点。但粒子滤波同时也存着着计算量大和实时度不高等问题。而卡尔曼滤波算法[7-8]则可以较为快速跟踪目标的状态,具有稳定、计算量小的特点, 只是卡尔曼滤波一般只能多应用于高斯线性系统,有一定的局限性。
本文结合两种算法各自的优势,提出了一种基于卡尔曼滤波的改进型粒子滤波算法。首先利用卡尔曼滤波预测目标在图像中的位置,并对预测结果进行评估,如果评估结果超过阈值,则直接采用卡尔曼滤波的跟踪结果;否则则利用粒子滤波算法进行目标跟踪。并再次对粒子滤波和卡尔曼滤波的跟踪结果进行比较,选取评估结果高的预测值为最终的跟踪结果。
1 卡尔曼滤波和粒子滤波
1.1 卡尔曼滤波
卡尔曼滤波是典型的最小方差估计方法。其信号模型是由离散的状态方程和观测方程组成的。设估计离散时间过程的状态变量为[x∈Rn]。则状态方程如公式(1)所示:
[xk=Axk-1+Buk-1+wk-1] (1)
其中, [xk]是在[k]时刻系统的[n]维状态矢量; [A]是系统从[k-1]时刻到[k]时刻的[n×n]状态转移矩阵; [B]是可选的控制输入[u∈Rl]的[n×l]增益矩阵; [wk-1]为[k-1]时刻时的过程激励噪声。
定义观测变量[z∈Rm] ,则观测方程如公式(2)所示:
[zk=Hxk+vk] (2)
其中,[zk]是[k]时刻的[m]维观测信号矢量;[H]是[k]时刻的[m×n]阶观测矩阵; [vk]是观测噪声。
卡尔曼滤波算分为两个阶段:时间更新和测量更新。时间更新阶段利用当前的状态及协方差估计得出下一个时刻这两个量的先验估计;测量更新阶段负责处理反馈,将最新获得观测值和先验估计合并以获得改善的后验估计。
时间更新方程如公式(3)-(4)所示:
[x∧k|k-1=Ax∧k-1+Buk-1] (3)
[Pk|k-1=APk-1AT+Q] (4)
其中,[x∧k|k-1]为状态预测矢量, 即[k]时刻状态的先验估计值; [x∧k-1] 为[k-1]时刻的状态值; [Pk|k-1]为预测均方误差矩阵, [Pk-1]为[k-1]时刻的均方误差矩阵。
测量更新方程如公式(5)-(7)所示:
[Kk=Pk|k-1HT(HPk|k-1HT+R)-1] (5)
[x∧k=x∧k|k-1+Kk(zk-HTx∧k|k-1)] (6)
[Pk=(I-KkH)Pk|k-1] (7)
其中,[Kk]为增益矩阵。
1.2 粒子滤波算法
粒子滤波的思想基于蒙特卡洛方法,它是利用粒子集来表示概率,可以用在任何形式的状态空间模型上。其核心思想是通过从后验概率中抽取的随机状态粒子来表达其分布,是一种顺序重要性采样法。粒子滤波是一种基于样本估计的贝叶斯滤波算法,通过一组带权值的粒子集来递归估计系统的后验概率分布。在粒子集[St={(sit,wit)|t=1,…,N}]中[St]表示[t]时刻的粒子集; [sit]表示第[i]个粒子状态; [wit]是第[i]个粒子的权值,且粒子集中的所有粒子权值和为1. 粒子滤波同样包括两个重要的过程:系统预测和系统更新。
假设已知[t-1]时刻及之前的观测值为[z1:t-1={z1,…,zt-1}],系统预测阶段利用系统状态转移概率模型[p(st|st-1)]来预测t时刻的后验概率,如公式(8)所示:
[p(st|z1:t-1)=p(st|st-1)p(st-1|z1:t-1)dst-1] (8)
原创力文档

文档评论(0)