田丽平 ,王军宁
(西安电子科技大学,西安 710071)
摘 要: 以卡尔曼滤波及预测为主要算法的跟踪过程需要对目标的运动方程有准确了解而且要求系统的过程与测量噪声为高斯噪声且相互独立,这在实时跟踪过程中都是很难满足的。本文利用神经网络对非线性系统的强学习能力和容错性,能更好地克服上述算法的主要缺点,并与卡尔曼滤波器和相关匹配算法相结合的跟踪算法进行了比较,仿真结果表明本文算法可以实现比较准确的目标跟踪,当目标运动方向发生改变时其结果明显优于卡尔曼滤波与相关匹配结合的算法。 关键词:
BP神经网络; 目标跟踪; Kalman滤波器
Study on Image Target Tracking Technology Based on BP Artificial Neural Network
TIAN LiPing, WANG JunNing
(xidian university, xi’an 710071)
Abstract: The target tracking process which use Kalman filter and its upgrade model needs an accurate understand about
the target’s motion equations and it also requires the systerm’s measurement noises and processing noise are Gaussian and independent which are much difficult to meet in real-time process. Neural Networks have a strong ability of studying the nonlinear systerm and a good fault tolerant. So it is put forward and designed to avoid the above inadequacys. The simulation results show that the algorithm we proposed is better than that of the Kalman filter combined with correlation matching, especially when the target’s moving direction changed.
key words: BP neural network , Target tracking , Kalman Filter
1 引言
目标跟踪一直是人们关心的热点问题, 其中机动目标的“当前”统计模型以及该模型的自适应
作者简介:田丽平 (1979-),女,河北保定人,硕士研究生。研究方向:图像处理,神经网络图像目标跟踪。
滤波算法得到认同并被广泛应用。卡尔曼滤波与预测凭借其跟踪精度较高在跟踪中倍受青睐[2-3]。把神经网络与卡尔曼滤波器结合起来也是目标跟踪的一个研究方向[4-5],但是此种方法是以卡尔曼滤波以及预测为主要算法的跟踪,神经网络的引入只是在目标进行机动时对此时的卡尔曼滤波器输出参数进行调整,以适应其非线性改变,算法所固有的缺点是目标模型的动力学方程与实际运动存在着不匹配,而且要求系统的过程与测量噪声为高斯噪声,且相互独立。本文,利用神经网络本身的非线性性,自学习,自调整能力,不需要对目标的运动方程有准确了解。卡尔曼滤波器的引入是预测本帧图像中目标的质心在下一帧图像中可能出现的位置,神经网络以此为中心并在一个很小的范围内进行搜索,通过BP网络的匹配,达到了对目标比较准确的跟踪。
[1]
2 前馈神经网络及BP算法[6]
前馈神经网络一般由输入层,一个或多个隐含层和输出层组成。各层之间实行全互连接,层内神经元之间无法连接,即下一层的每个单元与上层的每个单元都实现权连接,而各层神经元之间无权连接。设网络共有N层。第L层共nl个神经元节点。L层第i个神经元和L+1层第j个神经元的连接权值为ωij(l),L层第j个神经元输出为oij(l)。
oj(l)={1+exp[−(∑wjioi+θj)]}−1 (1)
i
设前向输出为y,期望输出为ye。输入神经元个数为m,隐含层神经元个数为n,k为输出神经元个数。目标函数一般取期望输出与实际输出之差的平方和。由于常规的BP 算法收敛慢,初始振荡大,所以常采用有动量项和可调整学习率的自适应动量BP算法。
3 卡尔曼滤波基本方程
Kalman 滤波器是一个对动态系统的状态序列进行线性最小方差估计的算法,采用递归滤波的方法,可以以任意一点作为观测起点。主要包含状态方程和观测方程两个方程,如下:
X(k+1)=Φ(k+1,k)X(k)+W(k)
有关卡尔曼滤波的方程如下:
(2)
Z(k)=H(k)X(k)+V(k) (3)
X(k+1|k+1)=X(k+1|k)+K(k+1)[Z(k+1)−HX(k+1k)] (4)
Λ∧∧
X(k+1|k)=Φ(k+1,k)X(k|k) (5)
Λ∧
K(k+1)=P(k+1|k)HT[HP(k+1|k)HT+R(k+1)]−1 (6) P(k+1|k)=Φ(k+1,k)P(k|k)ΦT(k+1,k)+Q(k) (7)
P(k+1|k+1)=[I−K(k+1)H]P(k+1|k) (8)
其中X(k)是系统状态向量;Z(k)是观测系统状态向量;φ(k+1,k)是状态转移矩阵;H(k)是观测矩阵;W(k)是系统状态的随机干扰向量;V(k)是观测噪声向量。
4 算法描述及结果分析
本文实验中所用的采样率为25帧/秒,由于任何运动都有一定的惯性,因此我们可以得出相邻两帧图像对应质心点的运动方向及运动变化量都不大。在以上前提下可以假设目标在相邻两帧图像时间间隔内是匀速运动,所以速度参数足以反映目标的运动趋势。定义 Kalman 滤波器状态向量X(k)是一六维向量x(k)=[xs(k),ys(k),wide,high,xv(k),yv(k)]。其中xs(k),ys(k),xv(k),yv(k) 分别表示目标质心在 x 轴和 y 轴上的位置和速度。wide,high为跟踪窗口的宽度和高度。由于在图像上只能观测到跟踪窗口的中心位置和大小,所以定义观测向量为y(k),即y(k)=[xs(k),ys(k),wide,high]。 本文方法的实现步骤总结如下:
(1) 将首帧图像中的目标质心点坐标和外接矩形的长和宽作为初始值,此时速度参量先设0。 (2) 用卡尔曼滤波器预测目标在下一帧图像中的质心位置和跟踪窗口的长和宽。 (3) 计算搜索区域:ωx =1.5*[wide(k+1)-wide(k)],ωy =1.5*[high(k+1)-high(k)] .
(4) 把以 [xs(k),ys(k)]为中心,[-ωk/2,ωk/2],[-ωy/2, ωy/2]为搜索范围的64*64大小的图像分别输入神经网络进行匹配。
(5) 把得到的最佳匹配位置作为下一次卡尔曼预测的测量值并以此更新其参数。 (6) 当所有图像都经过处理后则结束运算,否则转入步骤 (2)。
本文以一组图像序列为例对一辆黑色卡车进行跟踪,采用三层BP神经网络在Matlab 6.5 的编译环境下对100帧图像利用本文算法进行仿真,并与使用卡尔曼滤波器和相关匹配相结合的跟踪算法进行了比较。以下图1和图2分别为本文算法及使用卡尔曼滤波器和相关匹配结合的算法进行跟踪得到的目标轨迹与实际的目标轨迹的对比图:
图 1. 目标质心x坐标对比曲线图
Fig. 1 Contrast curves of mass center x coordinate
图 2. 目标质心y坐标对比曲线图
Fig.2 Contrast curves of mass center y coordinate
图 3. 质心x误差对比曲线图
Fig. 3 Contrast curves of mass center x coordinate errors
图 4. 质心y误差对比曲线图
Fig. 4 Contrast curves of mass center y coordinate errors
图 5. 本文算法得到的两幅跟踪结果图
Fig. 5 Two of the tracking results derived from the algorithm the paper proposed
图1中实线为实际的目标轨迹横坐标,+号线为本文算法仿真得到的目标轨迹横坐标,• 号线为使
用卡尔曼滤波器以及相关匹配得到的目标轨迹横坐标,图2为其相应的纵坐标对比图。图3是本文算法跟踪得到的目标轨迹与实际目标轨迹x误差对比图,图4为卡尔曼滤波器与相关匹配结合的跟踪算法得到的目标轨迹和实际值的y误差对比图。图5是本文算法得到的部分仿真结果分别为第1帧和第100帧的跟踪结果图。从以上各图可以看出本文算法计算出的目标轨迹与实际的目标轨迹基本吻合,对目标实现了比较准确的跟踪。同时还可以得出当目标的运动方向发生改变时(图1,图2中轨迹发生转折处)本文算法仍然可以实现准确跟踪,而卡尔曼滤波与相关匹配结合的算法此时跟踪效果不理想,误差比较大。
5 小结
基于卡尔曼滤波器的跟踪过程是估计目标当前(滤波)时刻和未来(预测)任一时刻的状态的过程。通常状态估计是在两种不确定情况下进行的,即目标运动所产生的目标模型的不确定性,以及由干扰,噪声所导致的量测不确定性,这就导致量测与现有轨迹互联时产生误差。考虑到神经网络对非线性系统的强学习能力,自调节能力及鲁棒性,把神经网络应用到跟踪过程中不需要具体知道目标的运动方程和现场噪声情况大大降低了预测误差的产生,而且从仿真结果也可以看出本文算法对目标实现了比较准确的跟踪。 参考文献:
[1] 周宏仁,敬忠良,王培德. 机动目标跟踪[M]. 北京:国防工业出版社 1991
[2] 王建华,张琳.基于改进卡尔曼滤波方法的机动目标跟踪研究. 现代防御技术 2006.4 Vol 34 No.2 16-19 [3] 成光,刘卫东. 基于卡尔曼滤波的目标估计和预测方法研究. 计算机仿真 2006.1 Vol.23 No.1 8-10
[4] D. Simon and Li Chia Tien. Kalman filtering with state equality constraints . IEEE Trans . Aerospace Electron. Syst. ,
Vol.38, No. 1, pp. 128-136, Jan. 2002.
[5] Vaideh V, Chitra N, Chokkalingam M, et al. Neural network aided Kalman filter for multitarget trackingapplications
[J] .Computers and Electiical Engineering, 2000,27(2) : 217~228
[6] Martin T. Hagan , Howard B. Demuth , Mark H. Beale. Neural Network Design. 北京:机械工业出版社 2002.
因篇幅问题不能全部显示,请点此查看更多更全内容