论文:VITAL: VIsual Tracking via Adversarial Learning(利用对抗性学习的目标跟踪)
论文地址 code

写在前面

这篇文章是CVPR2018的Spotlight,感觉18年跟踪方面的Spotlight都是以精度取胜了,不过在跟踪方面还是效果为先,这篇文章的思路并不难,也没有过于复杂的公式推导,可能在一些措辞上有些不好理解。它最大的优点就是把GAN应用到目标跟踪这个领域,相比MDNet效果有了很大的提升,网络也比较简单,沿用了VGG-M的结构,但是由于每帧都要更新模板,所以运行速度也比较慢,大概1.5FPS。

Motivation

这篇文章指出基于深度学习的目标跟踪存在两个方面的问题:
① 一帧中的正样本之间高度重叠,从这些样本中很难获取目标表观的变化;
② 正负样本数量上的不平衡性。

Contribution

  • 利用对抗学习来加强正样本特征的鲁棒性,使得提取到的特征对目标的表观变化不敏感;
  • 利用了一个高阶敏感的损失函数来处理正负样本之间的不平衡
  • 在很多的benchmark上验证了这个方法,都获得了比较好的效果。

Algorithm

这一块分成两部分来讲

一、对抗学习

【VITAL(CVPR2018 Spotlight)】阅读笔记
对于每一帧,先是提取出多个样本,每个样本经过如上网络得到一个分类的score。上图中前面提取特征的网络是VGG-M,在第三个卷积层先是使用了两个全连接层用来随机生成权重的mask,然后再与原先的特征做dropout操作,最后得到的结果到分类器中分类。其中的对抗学习部分就是在mask的生成器GG和分类器DD的对抗。由于传统的GAN的生成器的输入是一堆噪声,而我们有的是proposal,所以才要使用Mask来作为噪声,这样才能将GAN移植过来。

如上图所示,文章将生成器GG放在特征提取和分类之间,假设输出的特征为CC,根据CC生成的MASK是G(C)G(C),实际上的MASK为MM,最后损失函数如下:(这里的Mask其实就是充当表观变化的参数,希望学到的判别器对多种表观变化都很鲁棒)
【VITAL(CVPR2018 Spotlight)】阅读笔记
这个损失函数的含义就是,要让G生成的MASK与C的dropout之后得到的特征让D无法区分,而D的目的就是不断提高自己的判别力,使得能更好的区分G的MASK。值得注意的是,这篇文章对于每个proposal都用了9个Mask,而最终选择的Mask却是使得这个损失函数最大的Mask,然后利用这个值对网络进行优化。文章的解释是,若是一味使用样本中最具有判别力的部分,很容易使得网络陷入过拟合,这种选择最大的方式,其实就是在选一些在表观变化中鲁棒性,不敏感的特征。文章提出这种操作可以一致单个帧中十分具有判别力的特征,得到全局鲁棒性、稳定性的特征。 我个人认为这个地方还存在一些问题,这些被抑制的特征不一定就是某些帧独有的,这么抑制了,可能会使得网络对那些语义相似的噪声难以判别,但是这篇文章的效果很好,可能是我多虑了。也有可能是因为不端选择最难的Mask,其实反倒增强了判别器的判别力。

二、敏感交叉熵损失

这一块主要为了处理正负样本数量不均的问题,引入了focal loss的方式,损失函数:
【VITAL(CVPR2018 Spotlight)】阅读笔记
对于交叉熵的损失函数,正样本时得到的概率越大越好,负样本时得到的概率越小越好,但是由于过多的简单负样本损失叠加,还是会变大,可能会超过一个艰难的负样本的损失,所以以上就是给每个样本加了个权重。艰难的负样本的权重高,简单负样本的权重低。

Tracking

文章中多次提到他们只在训练阶段使用G,测试阶段只用了D,但是它的跟踪过程是每帧都更新的,这块有点不太理解。

  • 模型初始化:线下先预训练模型参数(VGG-M),对于每个视频,先随机初始化D,然后用第一帧训练D和G;
  • 在线检测:每来一帧都先提取proposal,然后只做一次前向传播得到分类score;
  • 模型更新:利用前一帧得到的结果更新模型,使用G和D,每一帧都更新

Experiment

实验效果还挺好的,但是还是没超过ECO和CCOT,但是在输入视频分辨率比较低的情况下,表现还不如MDNet:
【VITAL(CVPR2018 Spotlight)】阅读笔记
【VITAL(CVPR2018 Spotlight)】阅读笔记
【VITAL(CVPR2018 Spotlight)】阅读笔记
【VITAL(CVPR2018 Spotlight)】阅读笔记

总结

可能是看的文章太少了,感觉这篇文章的有些解释部分不太懂,也不怎么理解这篇文章为什么效果好,还需要好好琢磨一下。

优点

  • 将GAN引入到目标跟踪领域中来,设计了简单高效的网络
  • 使用了focal loss来处理数据不平衡的问题

缺点

  • 对输入的测试视频要求高,若其分辨率低效果不如MDNet
  • 可能难去区分语义级别的噪声
  • 速度很慢,只有1.5FPS

相关文章:

  • 2021-09-12
  • 2021-12-12
  • 2021-08-15
  • 2021-08-16
  • 2021-12-22
猜你喜欢
  • 2021-06-28
  • 2021-05-31
  • 2021-12-16
  • 2022-12-23
  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案