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

写在前面

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

Motivation

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

Contribution

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

Algorithm

这一块分成两部分来讲

一、对抗学习


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

如上图所示,文章将生成器GGG放在特征提取和分类之间,假设输出的特征为CCC,根据CCC生成的MASK是G(C)G(C)G(C),实际上的MASK为MMM,最后损失函数如下:(这里的Mask其实就是充当表观变化的参数,希望学到的判别器对多种表观变化都很鲁棒)

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

二、敏感交叉熵损失

这一块主要为了处理正负样本数量不均的问题,引入了focal loss的方式,损失函数:

对于交叉熵的损失函数,正样本时得到的概率越大越好,负样本时得到的概率越小越好,但是由于过多的简单负样本损失叠加,还是会变大,可能会超过一个艰难的负样本的损失,所以以上就是给每个样本加了个权重。艰难的负样本的权重高,简单负样本的权重低。

Tracking

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

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

Experiment

实验效果还挺好的,但是还是没超过ECO和CCOT,但是在输入视频分辨率比较低的情况下,表现还不如MDNet:



总结

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

优点

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

缺点

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

【VITAL(CVPR2018 Spotlight)】阅读笔记相关推荐

  1. VITAL Tracker Pytorch 代码阅读笔记

    VITAL Tracker Pytorch 代码阅读笔记 论文链接:https://arxiv.org/pdf/1804.04273.pdf 代码链接:https://github.com/abner ...

  2. 基于神经网络的知识图谱问答方法 阅读笔记+翻译

    2019-arXiv-Introduction to Neural Network based Approaches for Question Answering over Knowledge Gra ...

  3. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  4. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  5. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  6. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  7. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  8. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

  9. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

最新文章

  1. iOS开发UI篇—UIWindow简单介绍
  2. 即将 50 岁的雷军,重新回到手机战场
  3. java8中的default关键字
  4. Linux学习笔记-软件安装管理
  5. C#温故而知新学习系列之.NET框架高级特性—概述.NET框架中的反射(一)
  6. 375. Guess Number Higher or Lower II
  7. java 反射模式_java 设计模式——反射机制的应用
  8. 成功解决pyinstaller生成exe缺少各种包的问题
  9. 由若干计算机网络连接而成的网络,计算机网络复习大纲(中山大学)
  10. 小程序自定义组件中observer函数的应用
  11. Docker 存储选型,这些年我们遇到的坑
  12. TV Distortion Bundle mac - AE画面像素破损信号干扰失真插件
  13. 关于STM8L系列低功耗井盖板设计记录【云南昆明电子设计开发工程师】
  14. Win11 安装 Linux 子系统
  15. 双十一有哪些电容笔值得入手?十大电容笔知名品牌
  16. numpy中的协方差,方差相关计算
  17. Arcgis 熟练和操作
  18. python 反转字符串
  19. java 初始化object_Java对象初始化详解
  20. 如何增加自动化测试面试通过率?学会以下几点offer增加50%

热门文章

  1. 分享五个计算机专业答辩ppt_附录csdn下载
  2. SPEED TREE技术分析
  3. 单片机的主要应用范围和领域简介
  4. PHP获取SSL客户端证书信息
  5. Keras预训练模型下载及迁移学习
  6. 如何通过思维导图进行计划安排的6种模板鉴赏
  7. html谷歌浏览器自动播放视频,谷歌浏览器怎么才能绕过视频自动播放的限制呢?大家有没有什么好办法...
  8. 2019全国大学生电子设计大赛H题 模拟电磁炮系统全国一等奖
  9. 英雄联盟登陆时一直在转圈一直登录不进去解决办法
  10. plsql登录提示空白_Steam吃鸡游戏账号安全提示