物体跟踪-CVPR16-tracking[上]

来源:互联网 发布:usb加密狗破解软件 编辑:程序博客网 时间:2024/05/22 10:06

做了一段时间的跟踪,最近CVPR大会也过了一段时间了,这次将CVPR2016跟踪的文章做一次总结,主要是对paper的方法,创新,改进等方面进行介绍和总结。具体的实现细节不进行总结,

今年来涌现了很多做跟踪的文章,但是目前多少的方法很难达到一个预期的效果。目前的跟踪主要有主要有如下几大难题:

  1. 解决快速移动问题。这个问题其实是算法速度的问题,通常的做法是在一个搜索区域进行跟踪,这样对快速移动物体的鲁棒性较低,如果索索区域越大,算法耗时,怎么权衡这两者的关系是一大难题。
  2. 解决遮挡,形变问题。由于跟踪问题online的样本太少,当物体遮挡,形变后,比较难跟踪。遮挡的情况有多种,要解决的是一个综合问题。目前深度学习的方法因对遮挡的效果明显比传统的算法好,但是速度是一大瓶颈。
  3. 速度问题。速度问题可以说是与上述两个问题互斥,最后都是各个问题的综合权衡。一般来讲,传统的算法速度比基于深度学习的方法快,但效果却不及。

今年的CVPR2016中,其实好多文章很早网上就有了,在这了也是对以前的一个总结。


一,Adaptive Decontamination of the Training Set:A Unified Formulation for Discriminative Visual Tracking

这篇文章的作者为SRDCF的作者,主要解决从训练样本进行改进。效果提升不少。

  • 特点:
    • 利用样本的quality来训练样本的权重。期望提高有较高quality的样本的impact,降低较差样本的影响。
    • 将样本的quality融合到现有的loss function,从而达到同时训练求解。
    • 效果.和SRDCF相比,在OTB15数据集IoU=0.5时,OPE提升从60.5%提升到63.4%,也不错,而且该思想可以用到很多算法上,扩展性较强。

其实本文的想法很简单,可信度越高的训练样本,给较高的权重,相反则降低。这种思想很多地方都有,关键是怎么设计loss function达到作者的目的,在一个层面上,作者是第一个实现并结果尚佳的。相比以前,最简单粗暴的方法就是通过设定一个阈值,低于阈值的sample认为quality太低,直接舍弃,相反则保留,或者将score作为样本的权重。hard negative也是解决样本的其中一个流行方法。而本文作者的方法是,通过训练得到样本的权重。

  • 作者设计的代价函数如下(求解:两步法,固定一个求另一个,然后固定另一个...交替循环求解):

  • 直观的感受一下效果如下



二,STCT: Sequentially Training Convolutional Networks for Visual Tracking

这篇文章是港中文大学王晓刚之作,主要解决的还是训练样本太少造成的over-fitting问题。

  • 特点
    • 将每个channel的feature map作为一个based-classifier,并且每一个channel的based-classifier的loss设计不同.
    • based-classifier根据相关性来选取(前一个based-classifier会作用当前这个based-classifier的选取),尽量不相关(类似PCA)。
    • 在convolution上用mask进一步防止over-fit(其实类似fc的dropout,只是说法不同)。
  • 上述中,第二点为主要特点,整文基本围绕第二点来设计,对此作者在pre-trained的网络后面额外加入两层网络,并且这两层网络并不是全连接,pipeline如下:



三,Staple: Complementary Learners for Real-Time Tracking

这篇文章主要是从特征结合方面入手,对跟踪算法进行改进。给我们提供了一种有效的结合方式,并且作者release的速度达到80fps[i7 core],这一点相当有意义。

  • 特点:
    • 将Hog特征和color(直方图)特征进行有效的结合,在保证效果的基础上速度达到80+fps.
    • 提出了一种有效的特征融合方法,以及代价函数的设计和求解。

那么为什么要进行这样的融合呢?首先,hog特征是基于cell_size的梯度统计特征,局部鲁棒性较好,但是对全局的形变,效果不太好,而color直方图统计基于全局,能有效的弥补这一缺点,所以作者采用的是这两种特征的融合。

  • 作者设计的score function为

其实最low的组合是将特征融合在一起,然后用一个跟踪算法算得score.当然作者并非采用的这样方法,而是采用更复杂的方法。作者是从score(即responce)方面进行融合,也就是算法包括两部分:

  1. 计算hog特征,进行filter滤波跟踪算法,得到f_tmpl的score。
  2. 计算color直方图特征,等,得到f_hist的score.
  3. 将两个score进行组合。

这样融合,在两种特征计算滤波器也要单独计算,这样也使得整个过程稍微复杂了。

  • 直观感受作者的pipeline:




四,Siamese Instance Search for Tracking

这篇文章思路很简单,直接训练一个Siamese网络,然后进行比对,判断是不是相同。其实就是一个Re-ID的过程。之所以在这里列出这篇文章,是因为在特定的场合可以和检测相结合来跟踪,弥补检测速度比跟踪慢以及Re-ID的问题。

  • 特点
    • offline训练Siamese网络,online直接选择候选区域和第一帧的groundtruth对比,然后对通过的候选区域做BBox回归,得出最终的BBox。
    • 缺点很明显,遮挡,形变,类内区分等鲁棒性低。
  • 直接上网络图:



五,Beyond Local Search: Tracking Objects Everywhere with Instance-Specific Proposals

这篇文章在vot2015年就出来了,当时叫:“Tracking Randomly Moving Objects on Edge Box Proposals”,这篇文章主要是结合全局proposal来解决fast motion的问题。

  • 特点:
    • 将检测中的proposal的思想用到跟踪里。使跟踪的候选区域既包含局部的搜索区域,也包含全局的一些proposal,从而提高对快速移动物体的鲁棒性。
    • 提取全局proposal:将目标区域划分为10个子区域,将子区域的特征进行组合,来计算全局的proposal.
    • 提取proposal所用到的特征和最后跟踪所用到的特征是不同的特征。
  • 其中,本文最主要的特点为上述的第二点,为了直观理解,直接上第二点的图:

  • 文章的pipeline:





参考文献:

[1],Adaptive Decontamination of the Training Set:A Unified Formulation for Discriminative Visual Tracking

[2],Staple: Complementary Learners for Real-Time Tracking

[3],Siamese Instance Search for Tracking

[4],Beyond Local Search: Tracking Objects Everywhere with Instance-Specific Proposals

[5],STCT: Sequentially Training Convolutional Networks for Visual Tracking



3 0