CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps

在Tracking这个领域,我觉得可以分成两大类,第一类主要关注效果的提升,比如MDNetTCNN,他们确实把效果做的很好,在数据集上的结果刷的很高,但是速度非常慢,无法满足实时性要求。另一类则比较关注跟踪速度,比如StapleGOTURN。当然了,在保证的速度的同时也要保证效果。我之前比较关注第二类,主要是考虑到跟踪的实时性应该是第一考虑要素,在此基础上做了LMCF,比较幸运地被CVPR 2017接收。目前正在思考第一类工作,并思考如何将这两类更好地结合。本篇文章主要还是在介绍我们LMCF的工作。


1. Motivation

1.1 整个算法思路: 结构化SVM与传统SVM相比有着强大的判别力,而相关滤波有着速度上惊人的优势,是否能够结合这两者,得到一种既高速又高效的跟踪算法呢?

在相关滤波(KCF [1])或者说它的前身CSK出来之前(当然最早用相关滤波的是MOSSE [2]),结构化SVM(Struck [3](2011 ICCV))是一种效果很好的跟踪算法,主要是由于其强大的判别特性(Discrimination)。Struck用Structured output SVM作为分类器,也就是结构化SVM。这是一种输出空间可以是任意的复杂形式的SVM分类器,比如说序列、树等。在Struck中,输出空间是目标相对于上一帧的平移位置信息(CVPR 2017:Large Margin Object Tracking with Circulant Feature Mapsx,CVPR 2017:Large Margin Object Tracking with Circulant Feature Mapsy),确实在当时取得了非常好的效果。

但是由于在求解结构化SVM时计算复杂度较高,为了跟踪的实时性,Struck只能用简单的Haar特征来表示目标,采样的数量也比较稀疏。即便如此,Struck速度还是很慢,大概10FPS左右。但是结构化SVM是一个很强的判别器,在Struck提出时,其跟踪效果可以说是当时最佳的。

在基于相关滤波(Correlation Filter)算法出现之后,通过循环采样大大增加了样本数量,为一直以来困扰跟踪领域的稀疏采样问题提供了新的解决思路,并且可以用快速傅里叶变换FFT快速求解,因此可以在保证速度的前提下用一些维度较高的特征来做跟踪,比如KCF用到了HOG特征。KCF用简单的岭回归作为分类器,但是由于用到了高维的HOG特征以及稠密采样,使得它的效果还是非常好的,并且速度在170FPS左右,这也使得KCF变成了大量算法的baseline。

到这里就出现了LMCF的第一个最重要的motivation了,我们想用循环矩阵来突破结构化SVM的稀疏采样问题,更想借助CF来突破结构化SVM的跟踪速度。

1.2 针对前向跟踪:多峰前向检测。这一点是用来解决相似物体干扰的。在目标周围有特征相似的干扰物体时,响应图会有多个峰值,且最高的那一个有可能是干扰物体的,这时候可能就会引起误判。

1.3 针对模型更新:如何判断跟踪器跟踪的不好,或者说如何判断当前帧出现了遮挡、甚至目标丢失?一旦能够判断这一点,模型更新的准确性就可以有较大提升。

先前做了关于KCF的大量实验,我们观察到KCF的响应图(response map)。在跟踪准确的时候是一个峰值很明显,接近理想的二维高斯分布图,如图一的第一行所示。而在跟踪的不好的情况中,尤其是遮挡、丢失、模糊等,响应图会剧烈振荡,如图一第二行所示。因此我们提出了一种新的判据来判断是否出现了振荡,当判断出现振荡时,不进行模型的更新。这个判据的初始版本是我用在另一篇做机器人跟踪的文章中,Real-time 3D Human Tracking for Mobile Robots with Multisensors (ICRA 2017)。

图一:遮挡

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps

2. LMCF Algorithm

2.1 问题描述

在LMCF中,我们的分类器是一个结构化SVM,循环采样的目标框作为训练样本,因此输出空间CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps,其中CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps分别是目标的宽、高。输入空间是一个与目标框成比例的图像块CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps。输入-输出对即为CVPR 2017:Large Margin Object Tracking with Circulant Feature MapsCVPR 2017:Large Margin Object Tracking with Circulant Feature Maps表示循环位移量,CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps表示以此为中心的图像块,CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps为对应的联合特征图(joint feature map)。用来衡量CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps为目标的可能性的函数CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps定义为线性形式CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps,那么跟踪的目标函数为:

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps(1)

为了求解CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps,我们的优化目标是这样的:

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps (2)

其中CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps是衡量预测为CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps相对于真实位置CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps的损失函数,定义为:CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps,其中CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps设计为高斯函数,在目标位置响应最大。

具体求解过程可以移步文章内容,有疑问可以再讨论,有时间我会再补充进来的。

2.2 多峰目标检测

每当新来一帧时,CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps是基于上一帧目标位置的图像块,目标的位置CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps可以通过(1)计算得到。通过循环采样得到的整张响应图可以这样计算:

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps(3)

其中CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps缩写为CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps。如图二所示,当目标周围有相似特征的区域时,可能会出现最高的峰值是干扰的情况。为了进一步提高定位精度,我们进行多峰检测。

图二:

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps对于(3),多个峰值可以通过CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps得到,其中CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps是一个只有局部最高点是1,其余为0的矩阵。当这些峰值与最高点的比例超过一个阈值时,我们对这些峰值进行二次检测,最后目标定义为所有响应图的最高点。

2.3 高置信度模型更新策略

如何判断跟踪结果是否准确是一个没有定论的问题,但又是一个非常重要的问题。因为这决定着模型的更新策略。KCF,DSST,DSSVM,Staple等许多算法是不进行跟踪结果可靠性的判定的,每一帧的结果都用来更新,或者像MDNet或者TCNN那样每隔N帧更新一次。这样是有风险的,特别是当目标被遮挡,或者跟踪器已经跟的不好的时候,再去更新模型,只会使得跟踪器越来越无法识别目标,这就是模型漂移问题,model drift。

由于想要保证跟踪速度,我们就需要一种简单有效的模型更新策略,最好能够通过已经获得的一些资源来进行判断,而不需要进行太多复杂的计算。首先最容易想到的就是response map的最高点的值CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps,一般来说这个值越大说明跟踪的结果越好,但也有例外,比如图三中第一行第三列,在目标被几乎完全遮挡的时候最高响应值是0.94,这个值是高于整个视频最高响应值的均值的,如果只用这一个判据进行了模型的更新,就会让模型漂移到遮挡物体上,如图三第二行第三列,最后丢失了目标。

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps响应最高点并不能反映响应图的振荡程度。在图三中,虽然最高点的值CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps依然高,但是响应图在被遮挡时振荡剧烈,是可以通过振荡程度来避免错误更新的。因此我们提出了一个新的判据APCE:

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps(3)

其中CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps分别表示响应最高、最低和CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps位置上的响应。这个判据可以反映响应图的振荡程度,当APCE突然减小时,就是目标被遮挡,或者目标丢失的情况,如图三第一行中目标被遮挡后,APCE相对于这段视频APCE的历史均值就减小的很明显,因此在这种情况下我们选择不更新模型,从而避免了模型的漂移。

只有当APCE和CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps都以一定比例大于历史均值的时候,模型才进行更新,这样一来大大减少了模型漂移的情况,二来减少了模型更新的次数,达到了加速的效果。


3. Experiments

3.1 自身对比实验

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps我们分别用传统特征(HOG+CN)和CNN特征实现了LMCF和DeepLMCF,另外比较了不用多峰检测的LMCF-Uni,不用模型更新策略的LMCF-NU,以及两者都不用的LMCF-N2,在OTB50测试了效果。当然除了速度之外,各个指标都是DeepLMCF最好。可见模型更新策略和多峰检测策略都带来了一定的提升。

3.2 LMCF对比实验

CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps左边一列是OTB50,右边是OTB100。跟用传统特征的比较新的方法做了比较,方法和对应年份、出处都在图例里面,用的结果都是各个作者自己公布的结果。我们的平均速度在80FPS以上。

3.3 DeepLMCF对比实验
CVPR 2017:Large Margin Object Tracking with Circulant Feature Maps我们还做了一组实验,将特征换成CNN特征,跟最新的用了深度特征的算法作比较。在提交的前几天看到了MD大神ECCV的新作C-COT,他公布了结果,所以也拿来比较了一下。效果确实比我的好一些,但是速度差别很明显,我们的速度是10FPS左右,而C-COT的速度是0.25FPS左右(这是我们自己测试的速度)。

通过上面的实验,我们验证了LMCF的高效性。


4. Conclusion

总结一下,这篇文章中,我们用了结构化SVM作为分类器,有着强大的判别能力,并引入了相关滤波,通过循环采样增加了训练样本的数量同时进行加速。我们利用多峰检测避免了相似物体和背景干扰。针对模型更新环节,提出了简单有效的模型更新策略,大大减少了模型漂移的情况,同时减少了模型更新的次数,达到了再次加速的效果。我们的方法不依赖于具体特征,可以根据实际情况使用传统特征或者深度特征。在实验中,我们验证了LMCF的高效和高精度。


原文发布时间为:2017-05-05

本文作者:和傻牛一起闯天下

本文来自云栖社区合作伙伴极市网,了解相关信息可以关注极市网。