论文笔记 - Unveiling the Power of Deep Tracking

前言

这是单目标跟踪领域的大神Martin Danelljan挂名的一篇作品,继C-COT将feature map扩展到连续域、以及ECO精简feature map之后的又一力作,发表在ECCV 2018上,同两篇前作一样,这篇作品将单目标跟踪领域的精确度又提升了一个高度

论文:Unveiling the Power of Deep Tracking

背景

虽然Deep Learning在如图像分类,目标检测等领域在不断得取得突破,但是在单目标跟踪领域,使用deep learning的算法并没有跟使用传统feature (HOG, CN)的算法拉开明显的差距,而且使用更复杂的网络也没有带来性能的提升,如下图所示  
虽然使用了结构更复杂的网络,ECO的性能并没有很大的提升
主要原因有两个:

  1. Deep Learning需要使用大量数据来提取具有辨别能力的feature,但是在单目标跟踪领域,可用的训练数据仅有一帧,虽然现在使用的都是预训练的模型,但是模型仍然需要处理从来没有见过的数据和类型。
  2. 单目标跟踪算法在跟踪过程中需要以自身的跟踪结果作为下一帧跟踪的起始位置,因此,跟踪的准确性非常重要,而Deep learning学习得到的feature,为了能够具有位移不变形和旋转不变形,会丢失空间细节。为了解决这个问题,有些跟踪算法会使用浅层特征,这就需要去探索一个最好的融合方式

创新点

针对这两个问题,本文从两个方面来进行了创新:

  1. 分析了浅层特征和深层特征,主要是从两个方面:数据增广对特征的影响;如何在准确性和鲁棒性之间做trade-off。本文的结论是,数据增广对与深度特征有很好的提升作用,但是对浅层特征有负面影响;深度特征应该负责鲁棒性,浅层特征应该负责准确性,二者需要分开训练
  2. 提出了一种全新的深层特征预测的feature map和浅层特征预测feature map的融合方式。

特征分析

为了能够更好地分析深度特征和浅层特征对跟踪算法的影响,作者采用了完全分离的方法,即以ECO方法为backbone,用HOG和CN特征作为浅层特征测量其性能,然后使用ResNet50中第四个convolution block输出的feature作为深度特征,测量性能 。

数据增广: 数据增广是训练数据缺乏是常用的trick,它可以增加模型的泛化能力,但是会引入一些位移和旋转,可能会降低准确率。因此,数据增广对单目标跟踪是否有用依然需要通过实验证明。作者针对常见的数据增广方式,将浅层特征和深度特征分别进行实验:

  1. 翻转
  2. 旋转: 共有12种角度,覆盖了-60-60度
  3. 位移: 对图片进行水平位移和垂直位移
  4. 模糊: 通过在图片上进行高斯模糊,用来模拟由于运动造成的高斯模糊
  5. Dropout: 将20%的通道权重置为0,用来增强某些通道的表达能力

最终的结果如下图所示,可以看出,对于深度特征而言,数据增广有着积极的作用,而对于浅层特征而言,数据增广起到了相反的作用,这是由二者不同的性质造成的。深度特征可以捕捉到图片中的语义信息,这些信息对于位移和旋转不敏感,所以数据的增加可以提高深度特征的表现。而浅层特征则很容易被翻转或者模糊干扰,降低性能  
数据增广以及鲁棒性/和准确性的tradeoff
鲁棒性/准确性trade-off: 准确性指的是在跟踪过程中,算法计算的位置有多么准确,鲁棒性是指跟踪过程中,能否一直保持跟踪成功。在判别式的跟踪算法框架中,可以通过仅将离groudtruth较近的bounding box作为正样本来提高准确性,也可以提高正样本判定区域的宽度来提高泛化能力,提高鲁棒性。所以,鲁棒性/准确性的tradeoff可以通过控制该区域的宽度来实现。在ECO中,可以通过控制label score function的宽度来控制置信区域的宽度。最终的实验结果如上图所示。

可以看出,深度学习的性能先是随着宽度的增加而增加,然后下降,在sigma为1/4时性能最好,这是由于深度特征对于小尺度的位移不变性造成的,而浅层特征在宽度较小时表现较好,这是由于浅层特征容易被小的位移影响造成的。

最后,作者将二者都加在深度特征上,在OTB-2015上进行实验,结果表明,基于深度特征的跟踪算法可以通过数据增广和较高的置信区域宽度来提高性能。  
使用深度特征做实验
从上面的实验可以看出,深层特征和浅层特征的性质完全不同,因此需要对他们进行单独训练,发挥出每种特征最大的能力,然后进行组合,这就涉及到如何进行组合的策略了。

分数图融合

对于算法输出的分数图,可以将其视为一个函数y(t),t为坐标(x,y),算法的准确性体现为峰值的尖锐程度,鲁棒性体现为目标峰值和干扰区域峰值的高度差距,峰值高度相差越大,证明结果越鲁棒。

为了衡量算法预测位置的质量,作者定义了下列一个指标:

ξt{y}=minty(t)y(t)))Δ(tt))\xi_{t^ \ast }\left \{ y \right \}= \min_{t} \frac{y(t^\ast) - y(t)))}{\Delta (t-t^\ast))}

t为预测的位置,delta函数为距离函数,需要满足距离为0时函数值为0,距离为无穷大时,函数值为1,且假设为二阶连续可导,因此作何将距离函数定义为:

Δτ=1eκ2τ2\Delta{\tau} = 1 - e^{- \frac{\kappa}{2} \left | \tau \right |^2}

随后作者证明了在干扰解和最优解非常近的情况下,以及干扰解和最优解非常远的情况下,该指标较低意味着最优解的置信度较低,该指标较高意味着最优解的置信度很高,有兴趣的话可以查看原文。

在预测过程中,作者通过下式将使用深度特征得到的分数图和使用浅层特征得到的分数图进行融合:

yβ(t)=βdyd(t)+βsys(t)y_{\beta}(t) = \beta_d y_d(t) + \beta_{s} y_s(t)

式中的beta为动态调节的,因此,该式可以转化为下列优化问题求解:

minimize:Lt(β)=ξt{yβ}+μ(βd2+βs2)subject to:βs+βd=1βd0,βs0,β=(βd,βs)\mathrm{minimize}: L_{t^{\ast}}(\beta) = -\xi_{t_{\ast}} \left \{ y_{\beta} \right \} + \mu(\beta_d^2 + \beta_s^2) \\ \mathrm{subject \ to}: \beta_s + \beta_d = 1 \beta_d \geq 0, \beta_s \geq 0, \beta = (\beta_d, \beta_s)

通过求解最优的t,得到当前帧的预测结果,具体求解过程请参考原论文。

实验

作者在Need For Speed(NFS), VOT2017, UAV123,Temple128上进行测试,并在OTB-2015中选择较难的序列(ECO,C-COT,MDNet,TCNN中有两个以上的算法的平均IoU低于0.6),并去掉和VOT-2017重复的序列,组成OTB-H,作为验证集调节参数。OTB中的其他序列构成OTB-E,和NFS数据集一起作为测试集来进行Ablative Study,用来验证动态调参的重要性,最终结果如下图所示:  
动态调节Beta可以带来稳定的性能提升
黄线为baseline,即ECO算法,红线为固定beta,只做分数图的融合,蓝线为动态调整beta的算法,可以看出,动态调整beta十分重要。

作者将ResNet换成其他网络,并做了对比实验,可以看出,更换更好的网络并没有提高ECO的性能,但是提高了本算法的性能。  
本论文的方法可以通过使用更好的网络来提升性能
与最好的单目标跟踪算法相比,结果可以看出,本文算法基本处于秒杀其他算法的地位。  
与部分state-of-the-art算法的性能对比

结论

从本篇论文可以的出结论,浅层特征和深层特征需要分开训练,来取得更好的跟踪效果,此外,使用合适的融合策略也是非常重要的。  有兴趣的读者可以关注Martin Danelljan的一系列作品,如DSST,SRDCF,C-COT,ECO等,数学功底很强,每一篇基本都能把单目标跟踪的benchmark拔高一个高度,非常solid的工作,强烈推荐。