摘要

近年来,精度与速度兼备的相关滤波算法成为主流的研究方向之一,通过快速傅里叶变换降低算法的时间复杂度,引入循环移位样本进行充分训练,有效地提高了跟踪速度和精度。所以本文主要对目标跟踪领域的相关滤波方法进行探究。
  主要针对核相关滤波算法和基于尺度自适应相关滤波算法进行介绍,并结合实验分析探究,实验数据集为OTB数据集。

算法简介

KCF算法流程如下所示:
相关滤波KCF DSST SAMF -- 目标跟踪
相关滤波KCF DSST SAMF -- 目标跟踪
DSST算法
  第一代相关滤波算法中的跟踪框是固定的,当目标尺度相对于摄像头逐渐变大时,跟踪框只能捕捉到目标的一部分信息而丢失另一部分信息,当目标逐渐变小时,跟踪框内又易于掺杂干扰的背景信息,将其当成目标信息,影响算法的跟踪准确度。在目标跟踪过程对目标进行实时的尺度预测,可以在一定程度上提高算法跟踪的精度和鲁棒性。
  先用一个滤波器跟踪,得到目标位置,然后在目标位置的基础上通过调整跟踪框的比例来找到响应值最大的尺度,从而在小范围内实现尺度自适应,该算法的特点是可移植性强,分别进行目标位置估计与尺度估计,两个步骤不受任何影响。
  相关滤波KCF DSST SAMF -- 目标跟踪
SAMF算法
  SAMF算法是在KCF基础上改进的,采用多特征,即灰度,HOG,CN特征融合。HOG特征与CN特征即梯度与颜色特征互补,并且采用了多尺度搜索策略。
  相关滤波KCF DSST SAMF -- 目标跟踪

实验

1. 三种算法在单个OTB测试集测试
 选取Dog1单个视频数据进行测试。
(1) KCF算法测试
  在实验中,设置正则化系数λ=0.0001,核空间的σ=0.5,设置学习率β=0.02,HOG特征中,细胞单元cell的大小为4x4,在梯度方向上平均划分为9个区间。采用高斯函数作为目标在频域中的理想响应,高斯函数的带宽与目标成比例,设其比例因子为0.1,如图4-1所示:
  相关滤波KCF DSST SAMF -- 目标跟踪
  在KCF算法中,因为一般图像傅里叶域中变换是在左上角,另外因为在算法中增加了循环移位,所以将高斯分布的顶峰平移至左上角,并环绕。
  另外,为了减轻由于边界移位导致图像不光滑,对特征图像增加了汉宁窗加权,汉宁窗如图4-2所示:
  相关滤波KCF DSST SAMF -- 目标跟踪
  如图4-3所示,在跟踪过程中,某一帧目标在频域中的响应。
  相关滤波KCF DSST SAMF -- 目标跟踪
  当目标跟丢时,例如在1054帧时,如图4-4所示,目标的尺寸较初始时的尺寸发生了较大的变化,此时跟踪过程目标响应图如图4-5所示,可以看出响应的峰值并未出现在左上角区域。
  相关滤波KCF DSST SAMF -- 目标跟踪
  检测Dog1视频速度为155.60 FPS(每秒检测的帧数)。
  
(2) DSST算法
  在实验中,正则化参数λ=0.01,学习率η=0.025,用S=33个尺度,尺度因子a=1.02。
  如图4-6所示,目标位置在时域上理想响应,位置滤波器采用的是二维正态分布函数,其相应输出的带宽与目标成比例,比例因子为1/16。
  相关滤波KCF DSST SAMF -- 目标跟踪
  如图4-7所示,尺度滤波器的在时域中的理想响应输出是一维正态分布, 其相应输出的带宽与目标成比例,比例因子为1/4。
  相关滤波KCF DSST SAMF -- 目标跟踪
  在跟踪过程中,在1054帧时,目标没有跟丢,如图4-8所示:
  相关滤波KCF DSST SAMF -- 目标跟踪
  其位置滤波器在时域中的示意图如图4-9所示:
  相关滤波KCF DSST SAMF -- 目标跟踪
  其尺度滤波器在时域中的示意图如图4-10所示:
  相关滤波KCF DSST SAMF -- 目标跟踪
(3) SAMF算法
  SAMF算法基于KCF算法,在实验中,学习率θ=0.01,设置一共有7个尺度因子,即S={0.985,0.99,0.995,1.0,1.005,1.01,1.015},设置正则化系数λ=0.0001,核空间的σ=0.5,HOG特征中,细胞单元cell的大小为4*4,在梯度方向上平均划分为9个区间。类似的,采用高斯函数作为目标在频域中的理想响应,高斯函数的带宽与目标成比例,设其比例因子为0.1,如图4-11所示:
  相关滤波KCF DSST SAMF -- 目标跟踪
  在1054帧时,如图4-12所示,相比较于KCF算法,跟踪框框选了大部分的目标。
相关滤波KCF DSST SAMF -- 目标跟踪

相关滤波KCF DSST SAMF -- 目标跟踪
相关滤波KCF DSST SAMF -- 目标跟踪
  如图4-13所示,在1054帧时,跟踪目标在频域中的响应示意图。因为其有7个尺度因子,所以需要分别计算这7个尺度因子的响应值,取其最大。
  检测Dog1视频速度为20.05 FPS(每秒检测的帧数)。

2. 三种算法在整体OTB测试数据集上评估
  准确率曲线说明了跟踪结果与真值框中心点间距小于给定阈值的帧数百分比,成功率曲线说明了二者重叠率超过一定阈值的百分比。所有的跟踪器的中心位置误差是基于20个像素点,成功率的曲线面积是基于阈值0.5进行统计。
  三种算法的准确率曲线如图4-14所示:
  相关滤波KCF DSST SAMF -- 目标跟踪
  三种算法的成功率示意图如图4-15所示
 相关滤波KCF DSST SAMF -- 目标跟踪
  由图4-14,4-15可以看出,在准确率方面,SAMF算法的平均准确率(78.5%)比KCF算法(74.0%)高4.5%,比DSST算法(73.9%)高4.6%,KCF算法(74.0%)的平均准确率比DSST算法(73.9%)高0.1%。在成功率方面,SAMF算法的平均成功率(57.9%)比DSST算法(55.4%)高2.5%,比KCF算法(51.4%)高6.5%,DSST算法的平均准确率(55.4%)比KCF(51.4%)算法高4%。
  三种算法在尺度变化情况下的准确率曲线如图4-16所示

相关滤波KCF DSST SAMF -- 目标跟踪
  三种算法在尺度变化情况下的成功率曲线如图4-17所示
  相关滤波KCF DSST SAMF -- 目标跟踪
  由图4-16,4-17可以看出,在发生尺度变化情况下,DSST算法的平均准确率(73.8%)比SAMF算法(72.3%)高1.5%,比KCF算法(67.9%)的平均准确率高5.9%,SAMF算法的平均准确率(72.3%)比KCF算法(67.9%)的平均准确率高4.4%。在成功率方面,DSST算法的平均成功率(54.6%)比SAMF算法(50.7%)高3.9%,比KCF算法(42.7%)高11.9%,SAMF算法的平均准确率(50.7%)比KCF算法(42.7%)高8%。
  可以得出在发生尺度变化的情况下,DSST算法和SAMF算法均优于KCF算法的性能,而DSST算法略优于SAMF算法。
  为了更加直观的表明SAMF算法,DSST算法,KCF算法在尺度变化时的跟踪效果,如图4-18所示:
相关滤波KCF DSST SAMF -- 目标跟踪
  可以看出,当目标发生尺度变化的情况下,DSST算法和SAMF算法可以较好的框选出目标,KCF算法没有尺度自适应机制,从而无法正确的跟踪目标。
  另外,对三种的算法速度进行了对比,衡量单位为FPS,即每秒检测帧的数目,如表4-1所示。
  相关滤波KCF DSST SAMF -- 目标跟踪
  可以看出KCF算法的速度最快,DSST次之,最后是SAMF,速度发生了明显的下降,DSST算法除了位置滤波器检测最佳平移,还增加了一个尺度滤波器,需要检测33个尺度的图像块,速度较KCF慢,而SAMF算法使用了多特征融合,增加了特征的维度,并且设置了7个尺度,平移尺度一起检测,速度也下降了许多。

相关文章: