生成式与判别式视觉目标跟踪算法综述
2022-01-12彭建盛许恒铭李涛涛侯雅茹
彭建盛, 许恒铭, 李涛涛, 侯雅茹
(1.广西科技大学电气与信息工程学院, 柳州 545000; 2.河池学院人工智能与制造学院, 宜州 546300)
20世纪90年代,计算机视觉技术、图像处理技术得到了快速发展,视觉目标跟踪技术也得到广泛关注。目前该技术已经广泛应用在交通、军事、医疗以及民用设备等众多领域。实现目标跟踪具有众多难点,主要有动态目标运动过程中尺度外观发生变化、光照强度发生变化、目标遮挡或移出视野、复杂背景以及目标相似度较高等[1]。
近年来,三大顶尖会议国际计算机视觉大会(International Conference on Computer Vision, ICCV)、欧洲计算机视觉国际会议(European Conference on Computer Vision, ECCV)和国际计算机视觉与模式识别会议(Conference on Computer Vision and Pattern Recognition, CVPR)公开的目标跟踪论文数量一直居高不下,关于目标跟踪的综述众多。文献[2]从相关滤波器作为切入点围绕着核相关滤波算法(kernel correlation filter, KCF)算法进行展开,介绍了相关滤波器框架下的目标跟踪原理以及发展脉络。文献[3]从人工神经网络结构、功能、训练方式等角度重点介绍基于深度学习的目标跟踪算法,同时指出深度学习技术在目标跟踪问题上存在的不足。文献[4]从目标特征提取及融合方式、外观模型创建方式、目标搜索方式等方面对目前主流的目标跟踪算法分类介绍,并且对深度学习环境下目标跟踪算法发展方向进行分析展望。文献[5]从孪生网络在目标跟踪中的应用入手,分析了基于孪生网络的目标跟踪算法比传统算法的优势以及未来该类算法的发展方向。文献[6]从尺度方向自适应角度进行总结,分析各算法跟踪过程中如何处理尺度变化问题。此外过去的目标跟踪算法综述文章均没有对最新的Transformer框架目标跟踪算法进行总结。
现有算法的准确性、跟踪速度等方面仍然有提升空间,视觉目标跟踪问题仍然具有挑战性。目标跟踪算法主要可以分为生成式和判别式两大类。现将从生成式动态目标跟踪算法与判别式动态目标跟踪算法分类标准作为切入点。首先主要介绍目前目标跟踪领域常用的数据标准集。其次介绍从原理的角度分析两类算法的区别。再次主要介绍两大类生成式算法,均值漂移算法和贝叶斯滤波算法。然后从主流判别式算法框架相关滤波框架、深度学习框架、孪生网络框架、Transformer框架重点介绍判别式算法。最后结合前面所介绍的算法优缺点展望发展趋势。
1 基准数据集
基准数据集的出现,使得不同算法性能对比有了依据。目前主要使用的基准数据集有在线目标跟踪基准(object tracking benchmark, OTB)、视觉目标跟踪集(visual object tracking, VOT)等。OTB基准数据集包含OTB50[7]、OTB100[8]。OTB50基准数据集由50段带有标记属性的视频序列组成,其中代表了现实情况中执行跟踪算法时会遇到的难题,包括光照变化、尺度变化、遮挡、形变、运动模糊、快速运动、平面内旋转、平面外旋转、移出视野范围、低分辨率以及背景杂乱等。文献[8]在OTB50的基础上对数据集进行了扩展,将50段视频序列增加到100段。
VOT数据集是为每年VOT竞赛而准备的数据集,最早可以追溯到VOT2013[9]。该数据集与OTB基准数据集相比采用全彩色图片并且图片清晰度也更高。随着目标跟踪算法的不断优化,该数据集的数据以及评判标准逐年更新并且逐年加大难度。目前VOT2013[9]和VOT2014[10]数据集以及评判标准已经被官方宣布停止使用,在此也不做讨论。VOT2015[11]在VOT2014数据集基础上将数据集的序列数量扩大了1倍,并且对目标加入旋转特性检测,在评价标准上首次提出使用平均重叠期望(expected average overlap, EAO)标准,并将该标准作为算法排名的主要依据。VOT2016[12]选用与VOT2015一样的样本集,并使用自动标注的方式对样本集重新进行标注,此外从重叠估计方面优化了评价体系。VOT2017[13]基准数据集除了在原来数据集的基础上进行改进,同时添加了隔离数据集用于冠军角逐。VOT2017首次提出对跟踪器进行实时性实验,这表明目前的目标跟踪算法正在从实验阶段向实际应用阶段发展。VOT2018[14]沿用往年的数据集,在原来赛事基础上增加长时跟踪挑战项目。长时目标跟踪挑战中目标可能会出现消失或被遮挡等现象,因此评价工具需要跟踪器实时反馈目标位置以及目标情况。长时目标跟踪进一步促进了目标跟踪算法走出实验室。VOT2019[15]不仅恢复了关于热成像的目标跟踪挑战项目,还加入了融合深度特征的目标跟踪挑战,至此挑战项目多达5项。此外,VOT2019对公数据集和隔离数据集进行部分更新,并根据长时跟踪和短时跟踪在目标假设上的不同优化了评价协议。VOT2020[16]使用Python语言重新编写了VOT工具包,测试跟踪器的能力得到了大幅提高。在短时跟踪挑战中使用分割的方式标记目标代替传统使用矩形框的方式标记目标。如表1所示为VOT每年排名前五的算法汇总。
表1 VOT每年排名前五算法汇总[9-16]Table 1 Summary of top five algorithms in VOT of every year[9-16]
2 生成式算法与判别式算法对比
生成式目标跟踪算法通过提取待跟踪目标的特征建立目标模型,利用生成的模型对待检测图像进行搜索,寻找与目标模型最匹配区域,该区域即为目标区域。因此生成式目标跟踪算法主要框架包含四个部分,目标选择、目标特征提取、目标建模、目标定位,如图1所示。具体来说,人工或使用目标检测算法对第一帧图像进行处理,勾选出目标并标记,当前常用的目标检测算法有帧差法、背景差法等;然后对选中的目标的特征进行建模,通常关注目标的灰度特征、边缘特征、梯度特征、颜色特征、纹理特征等,常用的模型有混合高斯模型、贝叶斯网络模型、马尔可夫模型等;目标定位则是完成跟踪。
图1 生成式目标跟踪框架Fig.1 Generative target tracking framework
判别式目标跟踪算法认为目标跟踪问题是关于目标和背景的分类问题。该类算法将图像中将目标区域作为正样本,背景区域作为负样本进行训练并生成分类器,生成的分类器可以在下一帧图像中找到最优区域,该区域为目标区域。目前判别式目标跟踪算法主要可以分为相关滤波类、深度学习类以及孪生神经网络类。
因此生成式算法与判别式算法最大的区别是,生成式方法仅关注目标特征信息,以目标特征建立目标模型,忽视背景信息;判别式方法采用机器学习训练分类器,训练过程中不仅包含目标信息,还兼顾背景信息。
3 生成式模型的目标跟踪算法
3.1 均值漂移算法
均值漂移(Meanshift)[17]算法是沿向量方向连续迭代候选目标帧,使其与模板的相似度最大,并收敛到目标的真实位置。该方法计算复杂度低,提取特征时会根据空间距离对中心位置周围的点进行加权。为解决光照变化导致的鬼影问题,王凯等[18]将色度、梯度以及运动矢量预测引入Meanshift算法中提高了监控系统场景下目标跟踪算法准确性。
针对目标运动过程中尺度变化问题对Mean-shift算法进行改进提出Camshif[19]。Meanshift算法是针对单帧图像的计算,并且颜色概率分布是静态的,而Camshift算法对每个帧图像进行Meanshift运算,其颜色概率分布是动态的,Camshift能够调节搜索窗口,解决了目标尺度变化问题,但降低了原算法的实时性。董恩增等[20]将特征匹配融入传统的Camshift算法,有效优化背景中与目标颜色相近导致的错误跟踪问题。
Vojir等[21]提出尺度自适应均值漂移跟踪器(scale adaptive mean-shift tracker, ASMS)。该算法在原有的Meanshift算法框架下引入了尺度估计以及颜色直方图特征,同时使用尺度不巨变先验和可能偏最大先验作为正则项以及反向尺度一致性检测,在跟踪目标过程中会根据目标尺寸变化进行相应调整。ASMS算法在保证一定准确度的同时平均帧率可以达到125帧/s,是VOT2015竞赛官方推荐的实时算法,但是当背景颜色与目标颜色相近时该算法很容易丢失目标。如表2所示为均值漂移算法改进方式与效果。
表2 均值漂移算法改进与效果Table 2 Improvement and effect of Meanshift algorithm
3.2 贝叶斯滤波算法
递归贝叶斯滤波( Bayesian filtering) 算法是基于贝叶斯估计理论的基础提出的目标跟踪方案[22]。该算法包含预测和更新两个步骤,通过这两个步骤反复迭代估计图像中目标的位置。递归贝叶斯滤波概率在实际目标跟踪中很难获得最优解,为解决这一问题提出了卡尔曼滤波目标跟踪算法和粒子滤波目标跟踪算法。
卡尔曼滤波(Kalman filtering)算法[23]是一种以状态方程和观测方程为基础,运用递归的方式来预测目标在下一帧的位置。在跟踪过程中该算法可以通过卡尔曼增益变化规避传感器噪声、观测值不准确等问题,并实现对状态真实值的最优估计。卡尔曼滤波算法作为一种预测机制,当目标发生遮挡时可能会出现丢失目标现象。杨鹏生等[24]提出了一种基于改进扩展卡尔曼滤波的目标跟踪算法。该算法通过构建时间差和信号到达方向的观测方程,利用几何和代数关系化简得到伪线性模型提高了目标跟踪精度,而且使目标跟踪结果更加稳定。基于卡尔曼滤波的目标跟踪算法仅对线性目标模型有较好的效果,然而在实际应用中大多数模型都是非线性的。许红香等[25]将无损变换引入传统的卡尔曼滤波算法,并将采集到的图像分为多簇处理后使用协方差交叉融合,改善非线性目标跟踪。对于非线性目标模型,通常适用粒子滤波方法实现目标跟踪。
粒子滤波算法[26]将蒙特卡洛思想引入贝叶斯滤波中。该算法核心思想是将随机采样与重要性重采样相结合。通过对图像随机散布粒子并采样特征,将采样结果与目标特征对比,计算出每个粒子的相似度,对相似度高的区域投入更多的粒子,迭代操作最终确定目标位置。粒子滤波从一定程度上,属于卡尔曼滤波的拓展,解决了卡尔曼滤波只适用于线性高斯分布概率问题,为分析非线性模型提供了一种有效的解决方案。赵宗超等[27]利用引导图像滤波(guided image filer, GIF)对待检测图像滤波处理增强目标区域,使编码器增加训练样本,提高粒子置信度准确性,实现在线跟踪。如表3所示为贝叶斯滤波算法改进方式与效果。
表3 贝叶斯滤波算法改进与效果Table 3 Improvement and effect of Bayesian filtering algorithm
4 判别式模型的目标跟踪算法
4.1 相关滤波目标跟踪算法
基于相关滤波的目标跟踪算法可以近似看成两个信号寻找最大相关值。通过对第一帧样本图片进行训练,输出一个具有区分背景和目标能力的滤波器,使用该滤波器对后面的每一帧图片进行运算获取相关值,根据运算后相关值的大小判断目标位置,相关值越大,说明该区域与目标的相似度越高,同时将每一回合响应结果返回滤波器对滤波器进行更新以提高下回合跟踪的准确性。如图2所示为相关滤波结构框图。
图2 相关滤波结构框图Fig. 2 Structure block diagram of correlation filter
基于相关滤波器目标跟踪算法最早可以追溯到由Bolme等[28]提出的最小化输出误差平方和滤波器(minimum output tracking using adaptive correlation filters, MOSSE)。MOSSE能够在初始化单个帧的时候产生稳健的滤波器,并用卷积定理将输入图像和滤波器转换到频域相乘,再返回时域得到响应图。根据响应值大小来实现目标跟踪。由于MOSSE算法仅提取灰度特征,因此具有较快的运行速度可以达到669帧/s。后续的基于相关滤波的目标跟踪算法大多是建立在MOSSE算法框架的基础上围绕特征表达、尺度自适应、边界效应等方面进行改进。
Henriques等[29]首次将核函数引入目标跟踪算法提出循环结构核跟踪器(circulant structure kernels, CSK),使用了一种基于循环矩阵的采样方法代替传统的粒子采样方法。该跟踪器与MOSSE相同仅采集单通道灰度特征,灰度特征的表征能力不足以处理背景复杂或者目标与背景颜色相似的情况。为丰富目标特征,Danelljan等[30]以CSK算法为基础,将原本的灰度特征换成多通道颜色特征提出自适应颜色属性(color name, CN)算法,同时结合自适应降维策略将主成分分析(principal components analysis, PCA)从11维降到2维,改进了模型跟踪方案在降低计算成本的同时提升了跟踪性能。除了颜色特征,方向梯度直方图(histogram of oriented gradients, HOG) 特征在描述目标方面也显示出了明显的优势。Henriques等[31]在CSK基础上提出了核相关滤波算法(kernel correlation filter, KCF)和判别式相关滤波器(discriminative correlation filter, DCF),该算法将单通道的灰度特征拓展到了HOG特征。其采用岭回归与循环移位进行密集采样,并通过核函数将低维线性空间映射到高维空间,提高了相关滤波跟踪算法的鲁棒性。Li等[32]对DCF算法进行改进,提出了AutoTrack算法。该算法引入空间局部相应作为正则项,实现了在线自适应时空正则项优化,在保证跟踪精度的同时实现了60帧/s。AutoTrack算法定位用于无人机系统,是目前最好的基于中央处理器(central processing unit, CPU)跟踪器。
为优化尺度变化问题,Li等[33]提出了集成尺度自适应和核相关滤波器的跟踪器(a kernel corre-lation filter tracker with scale adaptive and feature integration, SAMF) 算法。该算法在KCF框架基础上,将KCF单一特征换成对Gray、Color、HOG三种特征矢量叠加,同时创建拥有7个粗略尺度的尺度池通。该算法对预选区域目标按照尺度池做七次尺度计算并于上一帧图片目标进行对比,响应值最大的尺度则为当前目标,由此可知SAMF在实际使用中速度非常慢。Danelljan等[34]提出的精确尺度目标跟踪(accurate scale estimation for robust visual tracking, DSST)算法,该算法采用先平移跟踪后尺度跟踪策略实现局部寻优过程,同时将尺度池扩展到33个精细尺度,有效解决了SAMF最高峰处不一定是尺度最优解问题,并在VOT2014竞赛上取得冠军成绩。为提高效率,该团队在2017年提出快速精确尺度目标跟踪(fast DSST, FDSST)算法[35],采用降维以及正交三角分解减低了计算量,有效的解决复杂度问题。以上几种算法均为穷举尺度池的方法,除此之外还有分块处理方法。扆梦楠等[36]将DSST算法中的手动标记换成检测算法,提高了指定场景下目标跟踪便捷度。Li等[37]提出的可信块跟踪器 (reliable patch trackers, RPT),由部件间的相对位置关系推断目标的尺度变换情况。Akin等[38]从平衡准确性与实时性的角度出发提出了通过全局和局部耦合相关滤波对部分形变目标跟踪的跟踪器(defor-mable part-based tracking by coupled global and local correlation filters, DPCF),通过一个全局滤波器和多个部件滤波器间的耦合作用协同处理局部遮挡和尺度变化问题。除了尺度池穷举法和分块模型法可以实现尺度自适应外,还可以通过特征点模型实现尺度自适应。Montero等[39]提出的sKCF算法在相邻图像帧中以目标为中心提取特征点并对按照距离对特征点赋予不同的权值,离目标中心距离越近权值越大,反之权值越小。通过对比前后图像帧中的特征点的位置变化实现对目标尺度自适应变化。相比之下分块模型法和特征点模型法作为自适应定义尺度方法是对尺度池穷举法的优化,具有更好的效果。
当目标发生快速运动或者形变时将会导致边界效应发生。单使用HOG特征CSK、KCF等算法将无法应对。为应对边界效应问题,较早是由Danelljan等[40]提出的空间正则化鉴别相关滤波器跟踪器(spatially regularized discriminative correlation filter tracker, SRDCF)。该算法在传统的KCF 算法基础上扩大了搜索区域,并采用空域正则化对滤波器边界函数加大权重约束,并使用Gauss-Seidel函数来求解滤波器,使得分类器能够更准确地进行追踪。SRDCFdecon[41]在原算法的基础上对样本问题和学习率问题进行优化。Kiani等[42]提出有限边界的相关滤波器(correlation filters with limited boundaries, CFLB)算法。该算法通过使用大于目标区域的图片进行训练,然后使用二值矩阵对目标区域进行提取。由于选择图片过大会导致训练出的滤波器不准算法,因此该算法在鲁棒性方面并不理想。
表4为部分相关滤波目标跟踪算法分析对比。通过对比发现每一种算法都有独特的优点,因此将多种算法合理的融合,实现优势互补也是较好的研究方向。随着硬件的高速发展,计算机计算能力不断提高实时性的问题可能会得到一定的解决。当前众多学者致力于深度特征与相关滤波算法相结合,进一步优化相关滤波目标跟踪算法的性能。
表4 部分相关滤波目标跟踪算法Table 4 Target tracking algorithm based on partial correlation filtering
4.2 深度学习目标跟踪算法
从VOT目标跟踪大赛比赛结果可以看出,竞赛的前五名大多使用了深度学习算法。目前主流的深度学习算法在目标跟踪领域仍然存在两个明显的缺陷:①目标跟踪中正样本通常只有初始帧中的目标,没有大量的数据支撑很难训练出良好的分类器;②为改善目标跟踪效果,通常需要提高网络的复杂度,这导致了算法的复杂度提高,实时性大幅下降。当前基于深度学习的目标跟踪算法主要可以分为两大类,一类是将深度学习技术引入相关滤波目标跟踪算法,对原有的算法进行改进;另一类是直接使用深度学习技术对目标进行端到端的跟踪。
深度学习与相关滤波相结合的目标跟踪算法主要是使用深度学习技术对目标进行特征提取,并将提取的特征代替原相关滤波算法中的特征。Ma
等[43]提出分层卷积特征目标跟踪算法(hierarchical convolutional features for visual tracking, HCF),该算法用VGGNet-19模型作为特征提取器,经过三层网络分别训练滤波器,并通过滤波器得到的响应图进行加权,得到最终的响应图,并通过最大响应定位目标中心。但该算法在应为目标尺寸变化问题鲁棒性较差,主要是因为该算法仅关注目标的中心位置,并默认被跟踪物体尺寸不发生变化。Danelljan等[44]在SRDCF的基础上将原特征替换成深度特征提出DeepSRDCF算法。DeepSRDCF探索了不同卷积层的深度特征对跟踪效果的不同影响,实验表明使用第一卷积层所提取的特征的效果优于使用其他层特征的效果,同时相对于深层特征,浅层特征拥有更加快速的提取速度,保证了算法的运行速度。该算法证明了浅层卷积层比深层卷积层更适用于目标跟踪并且拿下了VOT2015大赛第二名,传统的SRDCF算法名次为第四名。Danelljan等[45]根据DCF算法改进提出了连续卷积算子跟踪器(continuous convolution operator tracker, C-COT)。将原算法中使用单一分辨率的特征改为使用多分辨率特征并隐式插值模型实现多特征自然整合,改进后算法还运用了连续空间域中的区分卷积算子理论框架,提高跟踪精度并取得了VOT2016大赛排名第一,但是由于使用高维特征需要训练大量滤波器,使得算法复杂度高,导致算法速度较慢。之后Danelljan等从样本集大小、滤波器构造和模型更新策略对C-COT进行改进提出了高效卷积算子跟踪器(efficient convolution operator tracker, ECO)算法[46]。该算法使用因式分解的卷积操作对滤波器进行降维,在样本集方面利用混合高斯模型对具有类内相似性和类间差异性的样本组合,在更新策略方面采用间断式模型更新策略间隔多帧完成一次更新,有效地避免模型漂移,同时降低了算法复杂度,提高了跟踪精度的同时也大幅提高了算法效率,达到了同时期、同类算法的顶峰。如表5为部分算法在OTB50和OTB100标准集上的表现情况[47]。
表5 部分算法在OTB50和OTB100标准集上的表现[47]Table 5 Performance of some algorithms on OTB50 and OTB100 standard set[47]
端到端的分类深度网络跟踪最早由Nam等[48]提出多域卷积神经网络跟踪器(multi-domain convolutional neural network tracker, MDnet)算法并取得了VOT2015大赛冠军。该网络由特征提取通用的共享层和多分支检测的全连接层两部分组成。MDnet算法包括两个阶段,训练阶段和目标跟踪阶段。训练阶段通过对数据集训练得到全连接层,共享层对所有数据通用以便获得动态目标通用性深度特征;目标跟踪保留固定共享层,并根据新的数据建立新的全连接层,二者结合组成新的端到端网络。MDnet利用卷积操作将目标跟踪作为目标与背景的二分类问题处理,导致其在跟踪过程中易受目标相似物的干扰,并且对目标遮挡的鲁棒性较差。
针对该问题,Qi等[49]在MDnet的基础上进行改进,提出规模和状态感知跟踪器(scale-and-state aware tracker, SSAT)算法。该算法包含三个主要组件:使用基础跟踪器进行跟踪、边界框细化和目标状态分类,针对目标旋转、变形问题,利用水平集图像分割或边界框回归技术实现了边界框自适应缩紧。针对目标遮挡问题设计单独的卷积神经网络(convolution neural network, CNN)对目标遮挡状态和非遮挡状态进行分类,当目标被遮挡时该帧图像将不会被用于跟踪器更新。如图3所示为SSAT网络结构图。
图3 SSAT[49]网络结构图Fig.3 SSAT[49] network structure
Nam等[50]还提出了利用多个CNN构成树结构并协作以完成目标跟踪的树结构卷积神经网络跟踪器(tree-structured convolutional neural network tracker,TCNN)。TCNN对每个CNN进行可靠性评估以确定权重,CNN模型可靠性越高权重约大,并利用所有 CNN 进行加权检测,充分发挥每个CNN的作用并以十帧图像创建一个新节点,同时删除一个距离创建时刻最久的旧节点,并选择使新节点可靠性最高的节点作为父节点,完成在线微调,避免邻近帧之间的过拟合,以此保证 TCNN 在整个跟踪过程中的可靠性。
为解决尺度变化问题,Wang等提出了多级深度特征跟踪器(multi-level deep feature tracker, MLDF)算法。该算法通过融合多级特征预训练一个多级网络(multi-level network, MLN)。该网络用于确定目标中心位置,然后使用尺度预测网络(scale prediction network, SPN)处理尺度变化问题。如表6为MDnet、SAnet和TCNN 在 VOT2016中的测试情况[12]。
表6 MDnet、SSAT、MLDF和TCNN性能对比[12]Table 6 Performance comparison of MDnet, SSAT, MLDF and TCNN[12]
4.3 孪生网络目标跟踪算法
孪生网络结构是由两个网络结构或多个网络结构共同组成,并且该两个网络结构参数共享,一种特殊的神经网络架构。在目标跟踪领域,孪生网络算法同时接收两个图片并分别输入两个子神经网络进行训练,同时两个子神经网络权值共享,通过对不同子神经网络获得的图像特征用于获取相关响应图像进行分析计算,以此判断目标位置并完成目标跟踪。
Tao等[52]提出的孪生网络目标跟踪(siamese instance search tracking, SINT) 算法是首次将孪生网络思想应用到目标跟踪中。该算法包含两个步骤,离线训练和在线跟踪。离线训练使用阿姆斯特丹视频跟踪训练集(Amsterdam library of ordin-ary videos for tracking, ALOV)算法,采用最小化损失函数的方式进行。在线跟踪过程中分别将初始帧目标图像和当前帧图像分别输入两个神经网络,并返回最大响应区域作为目标区域。Bertinetto 等[53]提出全卷积孪生网络(fully-convolutional siamese network, SiamFC),该算法与SINT算法基本原理类似,都是首先通过离线训练然后进行在线跟踪。图4为SiamFC网络结构图,其中127×127×3为目标图像、255×255×3为当前图像,神经网络采用AlexNet结构,通过对响应图进行处理则可以实现目标跟踪。以SiamFC为代表的早期的孪生网络算法在跟踪速度上表现良好,但是应对尺度变化等问题还有待提高。
图4 SiamFC[53]网络结构图Fig.4 Network structure of SiamFC[53]
为了解决SiamFC在面对目标尺度变化时鲁棒性较差的问题,Li等[54]借鉴了目标检测Faster R-CNN算法[55]将区域生成网络(region proposal network, RPN)加入SiamFC框架提出了SiamRPN。将孪生网络结构分为一个分类分支和一个检测分支,其中分类分支用来判断是否为目标,检测分支用边界回归来替代多尺度检测,得到了更好的目标尺度。如表7所示为VOT2018大赛前五算法。该算法取得综合排名第三名好成绩,并且在实时跟踪赛项中远高于相近排名的算法[14]。Zhu等[56]为提高SiamRPN跟踪器抗干扰能力对其进行进一步优化,提出了DaSiamRPN算法。解决了传统孪生网络目标跟踪过程中只能区分前景和非语义背景导致的复杂背景下性能无法保证问题。
表7 VOT2018前五名算法[14]Table 7 Top five algorithm in VOT2018[14]
另一种是由Wang等[57]提出的可同时实现对目标分割与目标跟踪的SiamMask,该算法在SiamFC基础上增加多种功能模块进行改进。SiamMask利用掩膜分支实现目标二值化分割,并将目标分割任务中的细节性特征用于目标跟踪任务;利用边界分支得到目标候选区域;利用得分分支完成候选区域的筛选,最终可实现实时跟踪。SiamMask首次提出使用掩膜的方式标记目标。He等[58]提出的SA-Siam首次将语义信息分支和外观信息分支加入到目标跟踪框架,并且每个分支都是独立的孪生网络,所以该算法结构又叫做双重孪生的网络结构。两个分支在训练过程中遵循特征互异性原则,通道加权机制可以充分利用并融合具有互补性质的语义特征和外观特征使得算法在保证实时性的基础上可以有效地判断目标外观变化,相比于SiamFC算法跟踪精度和鲁棒性都得到了显著提高。Li等[59]认为视觉跟踪中的目标是任意形式任意类别的,因此预先训练的深度特征在目标跟踪领域贡献并不大。针对这一观点提出了目标感知深度跟踪算法(target-aware deep tracking, TADT)。该算法使用回归损失和排名损失生成目标运动特征和目标尺度感知特征,并根据反向传播梯度特征和目标感知特征对每一个神经网络赋权值从而确定目标。
Zhang等[60]对孪生网络的骨干网络进行探索并提出更广更深的孪生网络(deeper and wider siamese networks, SiamDW)算法。作者总结当前基于孪生网络的目标跟踪算法均是使用AlexNet网络框架,并通过实验更换网络框架对比现有网络框架下目标跟踪效果,发现效果均不如AlexNet网络框架,且随着网络深度增加效果越差。随后作者从步长、填充、感受野等角度分析原因,并发现各影响因素之间并不完全独立,且对于全卷积的孪生网络,填充操作会导致跟踪性能退化。SiamDW使用新的残差模块(cropping-inside residual, CIR)来控制接收域的大小和网络步长,削弱由填充操作引起的偏差对目标跟踪的负面影响,这种方法改进下的SiamFC算法和SiamRPN算法在性能上都有所提高。Li等[61]通过在SiamRPN的基础上改进骨干网络,得到使用多层特征融合的深层孪生网络模算法SiamRPN++算法。该算法使用了多级级联方式完成特征的逐层聚合,有助于目标跟踪性能的提升。在VOT2017性能测评中对 SiamRPN骨干网络进行改进后得到的SiamRPN++,其各项性能均得到优化。SiamMargin算法在SiamRPN++基础上将判别式特征嵌入到孪生神经网络中,并用于离线训练,使得算法在保证速度的同时提高了准确率。在线更新方面选用基于ROIAlign的更新方式,通过ROIAlign对当前帧特征进行建模,使用移动平均策略更新模板,有效地应对了目标外观变化问题[15]。
除了具有对称结构的孪生网络完成目标跟踪的方法外,还有部分方法虽然借鉴了孪生网络的并行框架,但是结构并不严格对称的迭代最大化跟踪(accurate tracking by overlap maximization, ATOM)算法[62]。ATOM主要包括目标估计模块和目标分类模块,并借鉴目标检测领域的IoU-Net[63]设计了用于目标估计模块的IoU-Predictor网络。如图5为ATOM网络模型。Lukezic等[64]将在ATOM基础上引入相关滤波器模型,提高了跟踪速度。
图5 ATOM[62]网络模型Fig.5 Atom[62] network mode
4.4 Transformer框架目标跟踪算法
Transformer[65]框架不同于传统深度学习框架,是一种基于注意力机制的框架。该框架早期服务于自然语言,近年才被应用于计算机视觉。Transformer框架本质是一个编码解码的结构。在计算机视觉中主要被用于捕捉图像上的目标感受野。
Wang等[66]提出TrDiMP,将Transformer作为中间模块用于特征提取,并有效地提升了特征质量。同时对传统的Transformer进行改良,将编码和解码两部分成两个并行分支。编码部分对模板部分进行提取并使用注意力机制进行增强;搜索部分有解码进行处理。该算法虽然在检测精度方面取得较好效果,但是对于目标遮挡、目标消失仍需要优化。Chen等[67]提出Transt算法,在孪生网络的基础上引入Transformer框架,利用该框架中的注意力机制用于避免目标跟踪过程中的语义丢失问题。该算法虽然已经取得较好效果,但是并没有充分利用背景信息,还具有较大的提升空间。
目前基于Transformer框架的目标跟踪算法尚处于起步阶段,但是已经在现有的数据集上取得了较好的效果,潜力巨大。
5 总结与展望
从生成式目标跟踪算法和判别式目标跟踪算法作为切入点对目标跟踪算法进行了梳理和分析。由上文可知,对于生成式模型来说主要缺点表现在忽略背景信息仅仅关注目标信息,导致往往背景存在与目标相似情况下无法正确跟踪目标,并且生成式模型建模使用特征相对单一,对于光照变化、运动模糊、分辨率低、目标旋转等问题不能很好地兼顾,从而影响跟踪的准确性。由于原理的限制,生成式算法的综合性能很难超越判别式算法的综合性能,因此目前大部分科研人员将精力投入到判别式模型研究中。基于判别式模型的目标跟踪算法也将是未来目标跟踪算法的主力军。结合本文中不同算法对比分析可得未来研究方向包括以下几个方面。
(1)有效的特征选择以及多特征融合。在讨论相关滤波算法时发现,目标跟踪的特征选择经历了由简单到复杂,由单一到多特征融合的过程,如表5所示多特征的SAMF算法性能上优于单一特征KCF算法。不同特征在目标跟踪过程中均可以发挥不同的优势,因此后续研究过程中可以尝试更多的特征组合方式,探究不同特征对于不同场景下目标跟踪的影响,从而寻找较优的特征组合方式。
(2)相关滤波算法与深度学习算法相融合。深度学习算法具有跟踪准确、精度高等优点,相关滤波算法精度不及深度学习算法,但是运算速度较快。将两种类型算法相互结合取长补短,C-COT、ECO等算法为融合算法均取得良好效果(C-COT在VOT2016中第一名、ECO在VOT2017中第四名)。因此相关滤波算法与深度学习算法相融合具有巨大的潜力,如何合理融合两种算法发挥各自优势是值得探索的问题。
(3)从近年来VOT[14-16]大赛情况来看,基于孪生网络的目标跟踪算法比例在不断提高,并且取得骄人的成绩。基于孪生网络的目标跟踪算法是未来目标跟踪算法主要发展之一。目前随着深度学习技术发展提出的网络结构众多,但是应用于孪生网络结构却比较单一。Zhan等[60]进行过探索并总结出一些规律,但是并没有找到合适的方法将新的神经网络结构引入孪生网络目标跟踪算法中。如何将新型网络结构合理的加入孪生网络模型中,在保证实时性的同时尽可能地提高跟踪进度,是值得深入研究和探索的。
(4)Transformer框架作为最新的网络框架近年被应用于目标跟踪领域,该框架的引入注重了连续帧图像中的时序关系,突出了目标跟踪算法与目标检测算法本质区别。目前该框架下的目标跟踪算法刚刚开始发展,在短时跟踪下表现效果良好,在长时跟踪、目标丢失重检仍然存在巨大的提升空间。