一种改进的核相关滤波跟踪算法
来源:用户上传
作者:
摘要:在目标跟踪过程中,由于跟踪目标的移动、变形或者被遮挡,容易造成目标丢失。对KCF算法进行改进,增加目标丢失检测和运动轨迹估计的功能。根据响应峰值异常来检测目标丢失。若出现响应峰值异常,则中止对目标模板的更新和目标位置的检测,采用运动轨迹估计的方式来预测目标出现的新位置。实验结果表明,改进的KCF算法可以显著提高目标跟踪的精度和稳定性,并能及时对目标丢失进行判断和处理。
关键词:核相关滤波;目标跟踪;丢失检测;运动轨迹估计
中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2020)02-0087-02
0 引言
运动目标跟踪在当前是计算机视觉领域的一个热点问题。运动目标跟踪在军事和民用方面都有广泛应用,比如可用于跟踪军事目标、追踪逃逸车辆等。目标跟踪技术的主要难点在于运动目标具有不确定性。运动目标会因为移动而产生遮挡,或者使目标成像的形状、尺寸发生变化。如果使用车载或机载的成像设备,摄像机的运动则会进一步加大目标跟踪的难度。传统的目标跟踪算法包括特征点跟踪、区域匹配、光流法和基于主动轮廓的跟踪算法等。随着计算机视觉的发展,新的目标跟踪算法也不断涌现。通过引入通信领域中的相关滤波的概念,产生了一些基于相关滤波的目标跟踪算法,例如多特征尺度自适应算法(Scale Adaptive Multiple Feature, SAMF)、循环结构的核跟踪检测算法(Circulant Structure of Tracking-by-Detection with Kernels,CSK)、核相关滤波算法(Kernel Correlation Filter,KCF)等。其中,KCF是综合性能较高的跟踪算法之一,尤其是在跟踪速度和准确率方面,具有明显优势。
1 KCF算法
在KCF算法中,将目标跟踪问题转化为分类问题,即对图像背景和目标进行区分。在问题的求解过程中用到岭回归方法,使用的分类器需要进行矩阵求逆运算。KCF采用循环偏移的方式来构建分类器样本,在分类器的计算中使用循环矩阵,将问题转换为在傅里叶变换域中求解,巧妙地避开了矩阵求逆的运算,降低了跟踪算法的计算复杂度。KCF算法包括采集样本、训练分类器和目标检测三个主要步骤。
2 对KCF算法的改进
为了提高跟踪算法的鲁棒性,在尺度变化适应性、目标丢失检测和目标运动轨迹估计等方面对KCF算法进行了改进。
2.1 适应目标尺度变化
在跟踪运动目标的过程中,由于目标的运动或者摄像机参数的变化,可能会引起运动目标的成像尺度发生变化。采用多尺度响应峰值检测的方法来适应目标尺度的改变。在方向梯度直方图(Histogram of Oriented Gradient,HOG)特征检测时设置尺度调整因子。通过在不同值下检测测试样本的相关响应系数并找到响应峰值。由于相邻帧的图像变化一般都很小,的取值为{0.95,1,1.05}。选取峰值最大的尺度作为目标框的尺度,就能够较好地适应目标尺度变化的情况。
2.2 目标丢失检测
传统的KCF算法在跟踪目标时,不对目标丢失进行判断。即使目标已经丢失,跟踪算法会将跟踪框内的背景图像作为目标继续跟踪。原因在于KCF跟踪算法将待测试样本的最大响应值作为检测目标。如果目标丟失(例如移出视野或被遮挡),在所有待测试的样本中也能找到响应峰值,但此时峰值对应的位置并不非真实目标的位置。
可以根据峰值异常来判断目标丢失。令为当前帧的响应峰值,集合表示当前帧之前一段时间内的峰值集合。令:
(1)
其中,表示当前帧之前一段时间内峰值的平均值,为异常检测因子(经验值设为0.6-0.7)。如果当前帧的响应峰值,则为该值为异常值,此时可以判断目标即将丢失。统计异常连续出现的次数,若连续有帧出现峰值异常,则判断目标消失,不再跟踪该目标,进行目标丢失的相应处理并重启目标检测与跟踪的过程。
2.3 目标运动估计
从检测到峰值异常到判断目标丢失之前的若干帧,中止对目标模板的更新和目标位置的检测,通过估计的运动轨迹来预测目标出现的新位置,直到峰值恢复正常。由于摄像机运动和目标自身的运动都会造成目标位置的改变,并没有非常合适的目标运动模型。基于效率考虑,采用线性预测的方法,即利用前若干帧图像中的目标运动轨迹的趋势来估计当发生异常后的目标新位置。设在第t 帧目标的(跟踪框左上角)位置为,其前一帧(第t -1帧)目标位置为,则前帧中目标的横向运动的平均变化为:
(2)
同理,前帧中目标的纵向运动的平均变化为:
(3)
若在第t+1帧目标位置需要预测,则预测的位置为 。
3 实验
3.1 性能评价指标
采用中心位置误差和区域重叠度作为评价算法性能的指标。中心位置误差是预测跟踪框的中心与标注跟踪框的中心间的距离,计算公式为:
(4)
区域重叠度是预测跟踪框和标注跟踪框重叠的程度,计算公式为:
(5)
其中sI和sU分别表示预测跟踪框和标注跟踪框的交集和并集的面积。
3.2 实验结果与分析
为了便于将程序移植到DSP设备,采用标准C语言实现改进的KCF算法。通过对比实验来验证提出的算法的性能。图1展示了KCF算法和改进算法分别对图像序列Pktest01的第155帧、180帧和225帧图像中的车辆进行跟踪的效果对比,这三帧图像分别为目标在被遮挡前、被遮挡和重新出现的场景。图1(a)-(c)为KCF算法的跟踪结果,图1(d)-(f)为改进算法的跟踪结果。KCF算法在目标被遮挡后将背景区域作为目标继续跟踪,从而导致跟踪失败。而改进算法具有目标丢失检测和运动轨迹估计的功能,在目标被遮挡后通过运动轨迹估计来预测目标出现的位置,直到目标重新出现,因此对后续的帧仍然可以正常跟踪。 實验数据选取Visual Tracker Benchmark中的Redteam、Car2、Car24和CarDark四个图像序列,将改进的KCF算法和标准KCF算法进行对比,实验结果如表1所示。由表1可以看出,KCF算法的平均中心位置误差为和平均区域重叠率分别为2.1127和0.7704,改进的KCF算法为1.9625和0.8194。对于这两项指标,改进算法均优于标准KCF算法。
4 结语
运动目标跟踪是计算机视觉领域中的一个关键问题。本文提出一种改进的KCF算法,通过增加目标丢失检测和运动轨迹估计的功能,有效提高了目标跟踪的准确性,减少了目标丢失的几率,可实现对运动目标的长时间稳定跟踪。该算法采用标准C语言实现,提高了运行效率以及程序的可移植性。
参考文献
[1] 孟琭,杨旭.目标跟踪算法综述[J].自动化学报,2019,45(07):1244-1260.
[2] 刘延飞,何燕辉,张薇,等.基于异常值检测的KCF目标丢失预警方法研究[J].计算机工程与应用,2018,54(22):221-227.
[3] 宁欣,李卫军,田伟娟,等.一种自适应模板更新的判别式KCF跟踪方法[J].智能系统学报,2019,14(01):125-130.
[4] 杨志方,陈曦.优化搜索策略的KCF目标跟踪算法[J].武汉工程大学学报,2019,41(01):102-106.
[5] 包晓安,詹秀娟,王强,等.基于KCF和SIFT特征的抗遮挡目标跟踪算法[J].计算机测量与控制,2018,26(05):154-158.
[6] 刘延飞,何燕辉,姜柯,等.采用异常值检测及重定位改进的KCF跟踪算法[J].计算机工程与应用,2018,54(20):171-176.
An Improved Tracking Algorithm Based on Kernel Correlation Filter
SHANG Fang-jing, ZHU Kui, WANG Xin-yu, CAI Xiao-qing, XIAO Chun-bao
(School of Information Engineering, Henan University of Science and Technology, Luoyang Henan 471023)
Abstract:In the process of target tracking, the targets are easily lost due to movements, shape changes or occlusions. The KCF algorithm is improved by adding the functions of loss detection and trajectory estimation. Target loss is detected according to the abnormal response peaks. If the peak value of the response is abnormal, the update of the target template and the detection of the target position will be suspended, and the new location of the target will be predicted by trajectory estimation. The experimental results show that the improved algorithm can significantly improve the tracking accuracy and stability, and can judge and deal with target loss in time.
Key words:kernel correlation filter; target tracking; loss detection; trajectory estimation
转载注明来源:https://www.xzbu.com/8/view-15192360.htm