Hierarchical Convolutional Features for Visual Tracking
ICCV 2015
摘要:跟卢湖川的那个文章一样,本文也是利用深度学习各个 layer 之间提取出来的不同特征进行跟踪。因为各个层次提出来的 feature 具有不同的特征。并且将各个层级的特征用现有的 correlation filter 进行编码物体的外观,我们在每一个层上寻找最佳响应来定位物体。
引言:老套路的讨论了现有的跟踪问题存在的挑战以及现有方法取得的一些进展,并且引出了研究 CNN 各个 layer 的特征对跟踪结果的影响。
现有的 deep learning 的跟踪方法基本都是依赖于训练分类器的方式来实现物体的跟踪。但是这种做法存在两个技术上挑战:
1. 大部分的算法都只是用到了最后一层提出的 feature,这一层的特征其实是具有一定的偏差性的;
对于高层视觉识别问题,这些特征提供了有效的语义信息。但是跟踪并不是识别其semantic classes,而是去定位物体的位置。
那么,很明显,仅仅用最后一层的特征,并不是最优的选择。
2. 第二个问题是关于提取训练样本。
训练一个 robust 的分类器需要大量的两本,但是这个在跟踪问题上,并不是非常的适合。因为在一个物体周围进行采样,很难确定哪个算是正样本,哪个是负样本。
本文通过两种方式来解决这两个技术难题。
(1)利用神经网络的各个层的特征,联合的来表示所要跟踪的物体;
(2)在各个层次自适应学习 correlation filter,而不必去进行样本的 sampling。
本文总结的几个贡献点为:
1. 结合了各个层次的特征,进行物体的特征表示;
2. 采用线性 correlation filter 的方式在每一层来降低 sampling ambiguity。我们 infer 物体位置是通过一种 multi-level correlation response map in a coarse-to-fine fashion.
3. 充分的实验。
为了更好的理解现有方法和传统方法的区别和联系,本文的相关工作写的还是挺不错的。现在我们来分析下这个小节:
Tracking by Binary Classifiers .
跟踪问题可以看做是局部窗口内的一个重复的检测问题,即:tracking by detection的思路。这种分类器学习的方式经常是 online的。
但是,在物体周围采样本的时候,经常会遇到模糊采样的问题,导致轻微的不准确采样就会使得分类器不准确,从而导致逐渐的偏移。已经有许多算法提出以尝试解决上述问题。核心的 idea就是如何合适的更新一个判别分类器来降低 drift。这里作者给出了许多例子,这里就不一一列举了。
Tracking by Correlation Filters .
相关滤波最近吸引了很多研究者的眼球,由于其采用了快速傅里叶变换,速度极快。基于 correlation filter 的跟踪方法回归所有输入特征的 circular-shifted versions 到一个目标高斯函数,从而不使用 hard-thresholded samples of target appearance.
本文也是基于这种方法来做得,不同的地方在于,本文的方法结合了不同层次上的特征,而不是传统手工特征。
那么,看到这里,其实本文的工作一句话来说就是:组合了深度学习的特征 + 现有的 correlation filter 进行跟踪。其实,学术贡献点并不是很大,居然可以发 ICCV 。。。
Tracking by CNNs .
视觉表示是跟踪问题中非常重要的问题,传统方法设计了很多非常有效的表示,例如:子空间表示,颜色直方图。最近CNN 的表示已经被广泛的验证了其有效性。
然后作者列举了几个深度学习的工作,指出其不足之处在于:仅仅用到了最后一层的 feature,这是远远不够的。
可以看出相关工作的写作,是非常具有针对性的。列举前人工作的时候,要根据自己方法的特色来划分类别和指出别人的不足。
本文的贡献点是:CNNs + different feature + correlation filter
所以,作者从这三个角度,分别攻击了前人方法的不足,其实是借助了另外的两个成分来弥补当前谈论的方法的缺陷。这个写作技巧可以借鉴在以后的文章写作中去。
下面这幅图展示了各个 layer 特征的不同。
本文所提出的方法流程:
文章的主题部分大致分为几个部分:
1. 卷积特征的提取;
2. Correlation Filter 的相关介绍;
3. Coarse-to-Fine Translation Estimation ;
4. Model Update
本文的算法流程如下所示:
实验结果:
总结:
个人感觉这个文章的学术贡献点,并不是非常的充分,只是简单的组合。不过看来,大家对于如何更好的利用深度学习来做跟踪问题,并没有特别好的办法。只是简单的利用其提出的强有力的特征来表达所跟踪的问题。所用的跟踪算法也是现有的,只是借用了不同 CNN layer 的特征。那么,未来的跟踪算法该如何更好的借助 CNN 这个工具,得到更加有效,智能的跟踪算法呢?
路漫漫其修远兮,吾将上下而求索 。。。