申朝文
摘 要:针对均值漂移算法理论的不足,提出了一种改进的均值漂移算法。首先利用卡尔曼滤波获得跟踪目标的初始位置。然后在均值漂移跟踪算法中自适应地调整核函数的带宽,利用均值漂移算法获得跟踪目标的位置。最后对加速行进的行人进行实时跟踪实验。实验结果表明:与传统的均值漂移算法相比,改进后的算法更准确地跟踪目标,跟踪目标的轨迹更加连续。此外它减少了迭代次数,使算法运行更快,提高了跟踪的实时性。
关键词:卡尔曼滤波 均值漂移 跟踪算法
中图分类号:TP393 文献标识码:A 文章编号:1672-3791(2018)07(a)-0010-05
Abstract:This paper investigates and proposes an improved Meanshift algorithm combined with Kalman Filter aiming at the shortcomings of the Meanshift algorithm theory. First, this new algorithm makes use of Kalman filter to obtain the initial position of the Meanshift algorithm. Then, adjust the bandwidth of the kernel function adaptively in the Meanshift tracking algorithm and use the Meanshift algorithm to obtain the position of the tracking target. Finally, a real-time experiment on tracking with an accelerating target is presented. Experimental results show that: compared with the traditional Meanshift algorithm, the improved algorithm tracks the target more accurately and the trajectory of the tracking target is more continuous. Furthermore, it reduces the number of iterations, makes the algorithm run faster and improves the real - time performance of the tracking.
Key Words:Kalman filter; Meanshift; Tracking algorithm.
目标跟踪的目的是估计图像序列中目标的状态,它是 机器视觉和图像处理中的一个前沿课题,其广泛应用在 运动分析、智能视频监控等领域。目前运用比较广泛的目 标跟踪算法是均值漂移算法。它是利用被跟踪物体的特 征分布来找到下一帧的正确定位。例如:直方图、变化检 测掩码等。其特点是计算量小,运算速度快,对目标形变 不敏感。但该算法只依靠每一帧图像中的空域信息,没有 考虑运动目标的时域信息,因此当周围环境显著变化时, 该算法容易丢失目标。因此,本文通过在均值漂移跟踪算 法里融入卡尔曼滤波器,预测目标的动态系统状态。从而 可以更有效地实现对目标的跟踪。
1 均值漂移跟踪算法原理
经典的均值漂移跟踪算法主要是对目标建模,然后进行相似性度量,最后搜索目标。一般采用颜色直方图作为观测模型,模型可以表示为目标区域上的颜色特征值的概率。
令表示跟踪目标模型的归一化像素位置,其中心坐标为O,目标的外接矩形的高度和宽度分别为hx和hy,将颜色灰度值进一步量化为m等级,b(x)为位置x的像素向颜色索引的映像,颜色u出现的概率定义为:
其中:为当前位置;为下一帧的更新位置;wi为权值。
2 卡尔曼滤波器原理
卡尔曼滤波是著名的随机预测算法,它是利用递归方法解决离散数据线性滤波问题。卡尔曼滤波由于其结构简 单和强鲁棒性,得到了研究者的广泛关注。卡尔曼滤波是假定后验概率密度随时间为高斯分布,因此所有的参数都 可以用均值和方差表示。一般卡尔曼滤波包括两个模型, 分别是信号模型和观测模型,可以表示为:
其中,X(k)、Y(k)、M(k)、N(k)、C(k)、W(k)、V(k)分别表示跟踪目标的状态变量、观测变量、状态转移矩阵、输入矩阵、观测矩阵、信号噪声和观测噪声。根据陈大健等人提出的卡尔曼滤波器的建模方法,可以将系统状态转移矩阵M(k)和观测矩阵C(k)表示为:
初始化参数t=1,бω=бν=5,бω和бν的取值通过经验得出。初始时状态变量为,x0和y0为跟踪目标的初始位置。则可以得出跟踪目标的卡尔曼滤波模型。
3 融合算法实现
传统的均值漂移算法使用顏色直方图作为表示模型,并从目标的起始点得到泰勒展开,即在起始位置找到目标。针对目标跟踪系统的实时性要求,利用卡尔曼滤波可以很好地解决均值漂移跟踪算法中存在的问题。首先,过滤目标的状态空间;然后,在估计位置迭代的均值漂移算法轨迹,实现快速运动目标的实时跟踪和定位。具体算法步骤如下。
(1)初始化,建立运动状态模型,确定卡尔曼滤波的初 始状态向量,手动初始化其他必要的参数,并将跟踪框架 的核心位置手动设置为初始位置。
(2)在初始化后使用卡尔曼滤波,根据之前的状态值预测当前帧的候选目标位置。
(3)以卡尔曼滤波预测的候选目标位置为均值漂移算法的迭代初始点,启动均值漂移迭代过程,直到收敛到目标位置。
(4)然后,利用均值漂移算法获得的真实目标位置作为观测矢量,更新卡尔曼滤波。
(5)根据相同的原理,使用更新的卡尔曼滤波器,重复从步骤(2)到步骤(4),并找出下一帧的目标位置。
(6)判断图像序列是 否结束,如果没有,则返回步骤(2)。
图1为融合均值漂移和卡尔曼滤波算法的流程。
4 实验结果与分析
为了验证均值漂移算法与卡尔曼滤波在实时目标跟踪 中的快速性和准确性,并与传统算法相比,在MATLAB中 对加速行进的路人进行实时跟踪仿真实验。
首先录制一段视频,并提取视频的框架序列。在实验中将图像从RGB颜色空间映射到特征空间,并将其映射到16×16个特征级。然后假设初始帧中的人作为目标跟踪。最后分别采用传统的算法和改进的算法在MATLAB中进行实时目标跟踪,观察跟踪情况。实验结果分析如下。
4.1 连续路径的MATLAB仿真
通过仿真实验,在MATLAB中分别利用两种算法绘制 了视频帧序列中目标(人)跟踪的轨迹。实验结果如图2所 示。
通过对比分析可以发现,初始状态行人速度较小时, 采用传统的均值漂移算法进行跟踪的轨迹具有相对的精 度。但是被跟踪目标逐渐加速时,它开始失去跟踪框架, 跟踪失败,轨迹是不连续的。而采用均值漂移算法结合卡 尔曼滤波则可以准确跟踪目标。
4.2 有效性分析
在连续路径跟踪分析中,可以知道传统的均值漂移算法可能存在由于速度变化而无法准确识别的情况。我们利 用两种算法对120帧图像进行了反复的对比实验,实验结 果如图3所示。
通过比较可以发现:在第10帧中,目标处于低速运动状态,两种算法的跟踪效果相似。而在第70帧时,行人速度逐渐增加,可以看到传统算法的识别盒开始跟不上跟踪目标,但改进后的算法能够准确识别。在第120帧中,传统的算法丢失框架,识别盒完全不能跟踪目标。而改进后的算法能及时地对当前目标模型进行了更新,所以,在后续的图像序列中,均值漂移算法仍然可以正确的找到运动目标位置来更新卡尔曼滤波器。因此,改进算法的精度和适应性,优于传统的均值漂移算法。
4.3 跟踪效率
为了检测改进算法在跟踪速度方面的性能,对融合算法在跟踪时的迭代次数和运算速度进行了统计。经过计算,本文算法平均每帧迭代次数为3.67,平均用时为23.16ms,可以达到实时性的要求。图4为迭代次数的统计,表1为部分图像帧跟踪算法的运算速度。
5 结语
在实际跟踪中,传统的颜色直方图作为表示模型的算法只关注目标本身的颜色特征,而完全失去了状态空间和运动的信息。当目标快速运动或光照强度突变时,往往会导致跟踪算法的失效。针对均值漂移算法理论的不足,本文提出了一种结合卡尔曼滤波的改进均值漂移算法。通过建立场景中运动目标的卡尔曼滤波模型,根据目标运动的趋势,估计下一帧的可能目标位置。然后利用均值漂移算法在核窗口范围内搜索最优匹配的位置作为起始点。实验表明:当满足卡尔曼滤波的约束条件时,结合卡尔曼滤波的均值漂移算法的精度和适应性优于传统的均值漂移算法。
参考文献
[1] 王娟,刘教民,孟军英,等.改进的均值漂移算法在运动目标跟踪中的研究[J].系统仿真学报,2012,24(9):150-153.
[2] 樊祥锰,尚振宏,刘辉,等.基于视觉显著性的均值漂移跟踪算法[J].传感器与微系统,2017,36(6):130-133.
[3] 王爱丽,董宝田,武鸿源,等.基于联合特征直方图的均值漂移目标跟踪算法[J].控制与决策,2016,31(10):1845-1852.
[4] 曹帆之,朱述龍,朱宝山,等.均值漂移与卡尔曼滤波相结合的遥感影像道路中心线追踪算法[J].测绘学报,2016, 45(2):205-212.
[5] Sinisterra A J,Dhanak MR,Ellenrieder KV. Stereovision-based target tracking system for USV operations[J].Ocean Engineering,2017,(133):197-214.