吕 凯,袁 亮†,王国亮
(1.新疆大学 机械工程学院,新疆 乌鲁木齐 830047;2.新疆维吾尔自治区人民医院 高血压研究中心,新疆 乌鲁木齐 830001)
随着计算机技术的快速发展,目标跟踪作为计算机领域的重要部分之一,已经较成熟的应用在智能视频监控、视觉导航、无人驾驶、人机交互中[1].近年来,相关滤波跟踪算法有着高精度、高速度的优势[2],从而引起了研究人员的广泛关注,并且基于相关滤波算法框架做了大量的改进算法.例如,Henriques等[3]提出的核相关滤波算法(KCF),使用HOG特征去表达目标模型,并且使用循环矩阵采集正负样本,采用岭回归训练;Li Yang等[4]提出的多特征融合尺度自适应算法(SAMF)将图像的灰度特征、HOG特征、CN特征通过矢量加权进行融合,并且利用尺度池的思想解决目标尺度变化的问题;Ma Chao等[5]提出了长时相关跟踪(LCT),LCT算法是在DSST算法中的平移滤波器和尺度滤波器的基础上添加了第三个负责检测目标置信度的相关滤波器,而它的检测模块使用随机蕨分类器(random fern);Galoogahi等[6]提出的背景感知相关滤波器(BACF),放弃了传统CF方法通过正样本循环位移产生的负样本,而是使用了真实的位移产生的负样本,并且采用较大尺寸检测图像块和较小尺寸滤波器来提高真实样本的比例,解决了边界效应.
目前大多数跟踪算法基本都是针对短时跟踪,且无法有效的解决目标遮挡问题,为此本文提出一种基于相关滤波-粒子滤波协作的长时目标跟踪算法(CFPF).首先相关滤波采用自适应融合CN特征和HOG特征,增强在复杂情况下的目标特征表达能力;然后将APCE指标[7]与最大响应值相结合对滤波器模板做出更新调整,最后当跟踪失败时,通过粒子滤波重新检测目标位置.
相关滤波算法是构造目标函数并且让目标函数最小化训练滤波器模板,公式如下:
式中:K为目标特征通道个数,k为第k通道;hk∈RD为滤波器模板,xk∈RD为目标特征,其D为滤波器模板维数;y为目标期望响应,∗为卷积运算;λ为正则化系数.
BACF滤波器是在相关滤波算法的基础上改进的,首先式(1)在空间域中表示为:
式中:y(j)为y的第j元素;[Δτj]为循环位移算子;H为矩阵转置符号.
为了避免传统相关滤波算法中循环位移样本导致的边界效应问题,通过建立裁剪矩阵对搜索区域特征进行裁剪,从而获得多个真实的训练样本.
式中:P为一个D×T的二值矩阵,作为裁剪矩阵;为了提高计算效率,相关滤波器常在频域中学习,因此式(3)可以在频域中表示为:
BACF滤波器虽然避免了相关滤波中循环位移样本造成的边界效应,但是也存在需要改进的地方,如BACF滤波器只采用单一的HOG特征不能有效的适应复杂场景、模板更新固定极易受到污染、当目标丢失后无法重新检测等.针对这些问题,CFPF算法在BACF滤波器的基础上做出改进.
在目标跟踪领域中,提取图像特征直接影响跟踪的性能.目前图像特征大致可以分为颜色特征、纹理特征和深度特征,而每一种特征描述图像的能力均不一样,适用于场景也不一样.因此要想在不同的场景下描述图像的信息,采用多特征融合是必要的.大量的学者研究发现,颜色特征和纹理特征融合互补.HOG特征具有平移、旋转、光照不变性,而CN特征对于运动模糊具有很好的稳定性;同时HOG特征描述图像的局部性质,CN特征描述图像的全局性质.因此将两个特征结合起来描述目标的外观信息,更具有表达目标外观的能力,增强跟踪器的鲁棒性.CFPF算法是将HOG特征和CN特征进行线性组合.
式中:HOGi、CNi为31维数组;CNi为11维数组;Ci为42维数组用来表示4×4图像块信息.
在跟踪过程中,跟踪目标难免会发生目标漂移或者目标部分丢失等问题,在这类问题下更新的目标信息会存在一些错误,使得模板信息不准确,直接影响后续的跟踪精度,因此正确的模板信息是影响能否跟踪成功的一个关键所在,有效的模板更新策略可以判断模板信息的准确性,可以有效的防止目标漂移,提高抗遮挡能力、并且在长时间跟踪中最大化减小累积误差的问题,从而提高目标跟踪的性能.在BACF算法中的模板更新是固定不变的,即每帧更新模板信息,而CFPF算法中的模板更新做出改进,提出采用最大响应值Fmax和平均峰值相关能量(Average Peak to Correlation Energy,APCE)去判断在当前帧中跟踪目标是否准确,从而判断模板是否需要更新.首先设置两个阈值Tf=0.01和TAPCE=20,若当Fmax>Tf且APCE>TAPCE,则说明跟踪目标信息准确,更新模板信息;若当Fmax<Tf且APCE<TAPCE,则说明跟踪目标信息错误,停止更新模板信息,启动重检测,重新定位目标位置信息;若在以上两种情况之外,则说明跟踪目标信息有一定的偏差,停止更新模板信息,不启动重检测.目标模板更新公式为
式中:Fmax是最高响应;Fmin是最低响应;Fw,h是在(w,h)位置上的响应.
在跟踪过程中,目标在被遮挡或者丢失的情况下,造成后续帧的跟踪失败,因此当判断跟踪失败时启动重新检测是非常重要的环节之一.在CFPE算法中设计了一个重新检测器,当Fmax<Tf且APCE<TAPCE时,启动重新检测器,这样重新检测器不会在每帧中进行检测目标位置信息,避免了重建检测器和正常检测造成的冗余信息,减少算法的运算量,提高了算法的运行速度.
粒子滤波算法可以解决非线性和高斯系统的问题,并且精度可以逼近最优估计,而颜色直方图是按照颜色对图像中的像素在不同量化区间的分布数量统计,计算简单,具有较强的抗形变和旋转能力,因此CFPE算法将粒子滤波器设计为一个目标重检测器,并且将颜色直方图作为目标特征表达.
CFPE算法流程如图1所示.
图1 CFPE算法流程图Fig 1 CFPE algorithm flow chart
实验硬件环境为CPU Intel Core i5-7500,主频3.40 GHz,内存8 GB配置的计算机,算法开发平台为MATLAB R2018a.除特殊说明外,实验中的参数使用原作者提供代码的默认参数.
CFPE算法对跟踪目标被遮挡、形变问题以及长时间稳定跟踪问题有所改进,为了验证CFPE算法的性能,采用OTB100数据集[8]含有不同属性的视频集进行评估CFPE算法抗遮挡、形变性能以及适应复杂环境的鲁棒性,因为UAV123数据集[9]的视频序列较长,因此采用UAV123数据集评估CFPE算法的长时间跟踪的性能.为了直观且更好的分析CFPE算法的性能,实验测试分析中将选用SAMF[4]、LCT[5]、BACF[6]、ECO-hc[10]、DSST[11]等5种流行跟踪算法.
选择使用OPE(One Pass Evaluation)模式验证6种跟踪算法的性能,即跟踪算法在每个视频中运行一次得出评估结果,并且采用了三种常见的评估指标:跟踪成功率(Success Rate)、跟踪精度(Precision)、跟踪算法速度(FPS).
3.3.1 整体性能分析
本组实验采用OTB100数据集进行测试,该数据集中一共包含100组图像序列,并且每组图像序列都存在若干个常见的干扰属性.图2为6种跟踪算法在0TB100数据集中整体性能的OPE精确度曲线图和成功率曲线图,并且图2中的图例显示每种算法的运行速度.在图2(a)精确度图中,CFPE算法排在第一位,并且相比于BACF算法,跟踪精度提高了2.0%;在图2(b)成功率图中,CFPE算法依然排在第一位,并且成功率比BACF算法提高了1%;在图2中看出CFPE算法的平均运算速度为26.2 fps,可以达到实时要求.因此从图2中的数据得出CFPE算法在复杂场景下跟踪具有较好的鲁棒性并且具有实时性.
图2 OTB100数据集整体属性的精度曲线和成功率曲线Fig 2 The accuracy curve and success rate curve of the overall attributes of the OTB100 data set
3.3.2 单个属性的性能分析
为了验证CFPE算法在各种属性中的性能,本组实验采用OTB100数据集进行测试,对CFPE算法做定性分析.如表1所示,6种跟踪算法在0TB100数据集中的11种干扰属性的跟踪精度和成功率,其中括号中数值表示跟踪成功率,加黑符号表示在某个属性中排名第一,下划线符号表示在某个属性中排名第二.通过表1中数据得出CFPE算法和ECO hc算法在11个属性中基本排在前二.从表1可以看出,在背景干扰、形状改变和遮挡属性中,CFPE算法的跟踪精度和成功率和BACF算法相比,其中跟踪精度分别提高了4.7%、6.3%、7.4%,成功率分别提高了3.7%、2.5%、6.4%.
表1 11种干扰属性的跟踪精度和成功率Tab 1 Tracking accuracy and success rate of 11 interference attributes
3.3.3 实际跟踪效果图对比
为了更加直观的反映CFPE算法性能,将6种算法在图像序列上的跟踪效果进行对比分析.图3为6种算法在部分序列上的跟踪结果.
图3 6种算法在部分序列上的跟踪结果Fig 3 Display of tracking results of 6 algorithms on partial sequences
(1)背景干扰,在跟踪目标过程中,由于靠近目标的背景与目标的颜色或纹理相近,造成跟踪漂移或者失败.以“couple”“matrix”组视频为例,如图3(a)跟踪目标为白色上衣的男子,但是在跟踪过程中,黑色上衣的男子作为目标背景,且纹理信息与目标相似,随着两人分开,只有CFPE算法稳定跟踪目标,而其他算法跟踪失败.如图3(b)跟踪目标和背景的颜色信息相近,因此在跟踪过程中只有CFPE算法可以有效跟踪.
(2)形状改变,由于目标对象为非刚性,在跟踪过程中目标发生形状改变而影响跟踪精度.以“fleetface”“Skating2.1”组视频为例,如图3 (c)、图3(d)跟踪对象为人脸和滑冰女孩,在跟踪过程中,跟踪对象一直发生形状改变,造成跟踪的困难,只有CFPE算法和ECO_hc算法可以稳定跟踪,而其它算法发生漂移.
(3)遮挡属性,在目标跟踪过程中,遮挡问题时常发生.以“Bird2”“ car7”组视频为例,如图3(e)跟踪对象为大鸟,但是在跟踪过程中大鸟被小鸟遮挡,只有CEPE算法可以稳定跟踪,而其它算法的跟踪框都漂移到小鸟身上,造成跟踪失败;如图3(f)跟踪对象为白色轿车,在跟踪过程中,白色轿车被树遮挡,当白色轿车脱离遮挡时,只有CEPE算法和ECO_hc算法可以稳定跟踪,而其它算法均跟踪失败.
3.3.4 长时间稳定跟踪的性能分析
本组实验采用UAV123数据集进行测试.图4为6种跟踪算法UAV123数据集上的OPE精确度图和成功率图.在CFPE算法中增加了判断滤波器模板更新机制,只有在适当的条件下才会更新,这样就减少了模板被污染或者降低更新模板中造成的累计误差.在图4(a)精确度图和图4(b)成功率图中,CFPE算法均排在第一位,并且相比于BACF算法,跟踪精度提高了7.5%,成功率提高了6.1%;因此可以得出CFPE算法在长时间跟踪过程中,跟踪性能较稳定.
图4 UAV123数据集的精度曲线和成功率曲线Fig 4 Accuracy curve and success rate curve of UAV123 data set
由于BACF算法无法有效解决目标被遮挡、形变以及长时间稳定跟踪的问题,本文提出了一种基于相关滤波-粒子滤波协作的长时目标跟踪算法(CFPF).首先在目标特征表达方面,将融合CN特征和HOG特征以增强在复杂情况下的目标特征表达能力;然后将APCE指标与最大响应值相结合对滤波器模板做出更新调整,并且当判断目标跟踪失败时,通过粒子滤波重新检测目标位置.最后在公认数据集中进行实验,实验结果表明,CFPE算法增强了在复杂环境下跟踪目标鲁棒性和长时间稳定跟踪的性能,并且在目标被遮挡、形变等情况下跟踪精度和成功率有着显著提升,同时速度可以达到实时要求.