3.3 基于SCA算法的目标跟踪
3.3.1 跟踪框架
将视频目标跟踪看作粒子群体寻找最优解的过程,将粒子群体对应图像中的候选目标区域,将变量空间对应目标的状态空间,将粒子的运动模型对应目标状态的变化量,将粒子移动的范围对应目标状态的变化范围,将粒子个体的适应度值对应候选区域与目标的相似度,将最佳粒子状态对应目标状态,建立基于SCA算法的目标跟踪方法,流程图如图3.4所示。
图3.4 基于SCA的目标跟踪方法流程图
具体步骤如下。
(1)跟踪初始化
在初始帧图像中确定目标,并得到目标的初始状态矢量x=(x,y,s)。其中,x、y为目标外接框的左上角的坐标值;s为目标框的尺度大小。
(2)建立目标的表观模型
采用的运动目标属于扩展目标,与传统的点目标跟踪的区别在于需要同时对运动目标的表观特征和质心运动学状态进行估计。因此,首先需要对目标的表观特征进行建模。这里采用HOG特征。众所周知,HOG特征能够捕捉具有局部形状特征的边缘或梯度结构。此外,它对局部几何变换和光度变换具有不变性。因此,采用HOG特征作为目标或候选样本的特征描述,使用相关系数作为目标与候选样本的相似度量,计算如下:
式中,表示方差;Cov(X,Y)表示协方差;X和Y分别表示目标和候选样本的HOG特征。适应度函数设置为:
(3)根据目标的运动模型初始化所有粒子
考虑到目标运动具有随机性的特点,采用随机游走运动模型。
(4)通过蝙蝠算法不断优化蝙蝠个体的状态
在不满足迭代终止条件的情况下,采用3.2节中介绍的SCA算法的基本原理对粒子按照式(3.3)进行更新。
(5)定位目标
得到适应度值最大(最优)的粒子个体,并根据该个体的状态矢量在图像中定位目标。
(6)跟踪完成
判断视频中是否有新图像输入,如果有,则继续执行步骤(3);否则,跟踪结束。
3.3.2 参数调整和分析
参数调整是优化算法的一个重要方面。对于所提出的方法,首先要解决的问题是如何在目标跟踪中演示参数的自适应,其次在参数整定过程中要同时考虑收敛速度和精度。在传统的自回归模型中,有3个主要参数,即群体大小n、常数a和最大迭代次数T。
这里分析群体大小n,将a设置为2,T设置为500。使用每个迭代操作的真实位置与输出位置之间的欧氏距离来评估性能。图3.5中显示了在不同n值下,(X,Y)在图像中左上角的位置,Z轴仪表迭代次数,最优位置表示每次迭代操作的输出位置。设置真实位置在(336,499)。如图3.5所示,当n=50时,迭代收敛到位置(394,255),即跟踪失败;当n=200时,迭代次数达到150,得到最优位置;当n=300时,经过231次迭代操作后,轨迹与前一次相似。总之,如果迭代次数n过小,则跟踪将面临失败;相反,迭代次数n越大,则跟踪精度越高,但时间也越长。此外,初始位置对最终的输出位置影响不大。考虑到准确性和效率,这里将n的初始值设置为200。
图3.5 不同群体大小n的性能比较