基于核相关滤波的改进目标跟踪算法
2021-08-19王伟东罗莹王坤吕俊峰
王伟东 罗莹 王坤 吕俊峰
(新疆第二医学院,新疆克拉玛依 834000)
1 核相关滤波算法
当前基于判别式模型的跟踪方法已经成为研究者研究的主流算法,该方法的最大优势在于将图像中的目标和背景区分开。在判别式的跟踪方法中,基于相关滤波的跟踪方法无论从速度上还是鲁棒性上都有很出色的表现。2010年的CVPR会议上,Bolme[1]等人创造性地提出了MOSSE目标跟踪算法。MOSSE算法首先将相关滤波器的概念引入到目标跟踪当中,该算法的主要思想就是将空间域的计算转换到频域来进行简化,论文的实验结果可达到669FPS的速度。2014年,Henriques[2]等人提出了KCF算法,也就是本文所采用的核心算法。KCF算法的最大优势就是将傅里叶变换引入进来,通过循环矩阵来对算法进行加速。KCF算法相比MOSSE算法的优势在于将原始的灰度特征扩展到HOG特征,使算法整体的跟踪性能大幅度提升。核相关滤波的工作流程如图1所示:
图1 核相关滤波框架图Fig.1 Framework of kernel correlation filtering
2 卷积神经网络基础
卷积神经网络的本质类似于生物系统,在深度学习算法中具有不可替代的重要地位。1987年,Alexander[3]等提出的时间延迟网络,这是世界上第一个卷积神经网络。为了解决计算机视觉相关问题,LeCun等人提出了具有跨时代意义的卷积神经网络LeNet[4]。后面几十年,卷积神经网络受到了硬件发展的限制,并没有得到广泛的关注。卷积神经网络重新回到研究者的视野是在2012年举办的Image Net竞赛,AlextNet[5]一举夺得了该大赛的冠军。如今计算机硬件的快速发展,研究者无私地开源数据集,未来卷积神经网络在计算机视觉领域必将越来越受欢迎。
常见的卷积神经网络大致是由卷积层、池化层和全连接层三大模块组成,每一层之间都是互相连接的,通过向前反馈来求解结构中的参数。卷积层的作用就是负责提取图像的特征信息,这是最基本的操作。其中池化层的主要作用是减小特征维度,从而减少过拟合。全连接层是把前面已经提取的特征全部综合起来,常用于分类。多个卷积单元组成卷积层,每个卷积单元都有相对应的参数,这些参数是通过反向传播计算得到的。卷积层的作用就是提取图像特征,一般卷积层的浅层只能提取一些边缘特征,卷积层的深层才可以提取更加复杂的特征。池化层即下采样层,目的是为了减小数据的空间大小。减小数据空间就是减少参数的数量,从而降低了网络的计算量。卷积神经网络通常会在每个卷积层之后插入池化层,这样每个卷积后的特征也相应减小了。卷积层是独立的,不会增加网络的深度。池化层的运算一般有两种,一种是最大池化操作,另一种是平均池化操作,其中最大池化操作最为常用。池化层的存在是非常必要的,几乎每个卷积层后都会有池化层。从严格意义上讲,池化层并不是真正的网络层。在卷积神经网络中,前面会存在众多的卷积层和池化层。在卷积层和池化层后往往需要连接一个或多个全连接层,全连接层的前一层和全连接层的每一个神经元都需要互相连接。全连接层的作用就是对卷积层和池化层的信息进行整合,只有通过全连接层的信息才是完整的信息。全连接层中一般都使用ReLU这个函数作为激活函数来提高卷积神经网络性能。全连接层并不是真正意义上的最后一层,最后一层通常是softmax层。softmax层用于完成多分类,这层的每一个神经元都有一个实数映射,这些映射值之和必须等于1。
由于卷积神经网络自身的特性以及计算机计算性能的提升,优秀的卷积网络结构层出不穷。VGGNet和ResNet凭借其优越的性能,在很多场景中大放异彩。VGGNet[6]网络结构是由Karen和Andrew在2014年提出。VGGNet包含很多级别的网络,深度从11层到19层不等,本文算法使用VGGNet-19网络结构。VGGNet结构大致可以分为5段,每一段都有卷积层和最大池化层互相搭配,最后连接一个softmax层。VGGNet的结构非常清晰,在训练过程中也很容易完成结构搭建,所以在很多领域都得到了广泛的应用。
3 二次跟踪算法
为了提高KCF算法的跟踪精度,在改进过程中采用了二次跟踪的方法。第一次的目标跟踪过程对颜色和卷积两大特征进行融合,实现了目标的粗略跟踪。第二次的目标跟踪主要为了解决遮挡问题,利用粒子滤波的重采样过程和HOG特征对目标使用核相关滤波算法,实现了目标的精准跟踪。
第一次跟踪实现目标的粗定位,算法核心基于核相关滤波,使用颜色特征和深度特征的多特征融合策略。本文使用经典的VGG-19网络结构用于卷积特征的提取[3],做到了特征的深度提取。VGG-19网络结构具有16个卷积层和3个全连接层,此外还有5个池化层。无人机在跟踪目标的过程中,通常拍摄的目标小,所以信息量就很少,这种情况下采用多特征融合策略会容易跟踪目标。
第二次跟踪实现目标的精定位,算法核心也是基于核相关滤波,使用粒子滤波和FHOG特征。本文使用到了粒子滤波中的重要性采样[4],这是粒子滤波中的核心方法。重要性采样就是通过估计粒子的重要性程度来分配不同的权重,对于信任度高的粒子分配的权重就大一些,反之分配的权重就小一些。保留下权重大的粒子,以这些粒子为中心形成小块区域。然后把每一块区域都进行FHOG特征的提取,经过多个核相关操作后会有很多响应值,最大的响应值就是要跟踪目标的精准位置。粒子滤波在本文算法中的应用流程如下图2所示:
图2 粒子滤波应用流程图Fig.2 Flow chart of particle filter application
4 实验结果与分析
在OTB-50数据集上,本文的算法精确度达到了0.897,比STAPLE[5]、SAMF[6]、KCF[7]以及CSK[8]分别提升了0.112、0.132、0.173以及0.352;本文算法的成功率为0.669,比其他四种算法分别提高了0.09、0.087、0.166以及0.271。本文算法性能的提升主要得益于卷积特征的引入和粒子滤波算法的预测功能。表1所示,客观地展示了各算法在数据集上的精确度和成功率:
表1 各算法实验结果对比Tab.1 Comparison of experimental results of various algorithms
5 结语
本文的算法以核相关滤波跟踪算法为核心,实现了二次目标跟踪。跟踪过程通过引入卷积特征和粒子滤波解决了目标小、运动遮挡以及运动形变等问题,提高了算法的精确度和准确率。但是针对各种影响因素的挑战,该目标跟踪算法仍具有很大的提升空间。经过研究分析,本文算法还可以采取一定的改进措施,未来希望能从提高算法跟踪速度、适应多目标跟踪以及与真实无人机结合三个方面来改进算法的缺陷:
(1)提高算法跟踪速度。由于深度特征的引入,造成算法性能的下降。在后续的实验中可以考虑使用其他的卷积神经网络结构,比如AlexNet网络结构。本文使用的深度特征都是卷积结构输出的最原始的特征,没有采取任何的降维处理措施,后面可以针对如何降低深度特征的维数来展开。(2)适应多目标跟踪。本文的目标跟踪算法为单目标跟踪,后面要实现多目标的跟踪需要进一步对算法进行改进。为了不降低多目标跟踪的效率,主要可以从修改深度特征结构和减少粒子滤波粒子的角度出发。(3)与真实无人机结合。本文的研究主要是使用无人机拍摄的图像来研究怎样提高跟踪算法的鲁棒性,不过并没有实现嵌入式平台的开发。同时如何将无人机的控制算法、机载相机与目标跟踪算法相结合起来也是将来一个很重要的研究方向。