Learning Attribute-Specific Representations for Visual Tracking

AAAI-2019

Paperhttp://faculty.ucmerced.edu/mhyang/papers/aaai2019_tracking.pdf

本文提出一种新的学习思路,即:属性信息 (e.g., illumination changes, occlusion and motion) ,来进行 CNN 特征的学习,以得到更加鲁棒的 tracker。具体来说,就是设计一种基于属性的 CNN,并且带有多个分支,每一个分支用于分类特定属性的目标。这种设计的优势在于:在每一种挑战下,降低了目标外观的多样性,用更少的训练数据就可以训练模型(reduces the appearance diversity of the target under each attribute and thus requires less data to train the model)。我们将所有的特定属性feature,通过集成层(ensemble layer)进行聚合,得到更加具有判别力的特征来进行分类。其实这个思路,类似于 MDNet,但是又跟 MDNet 不同。

具体流程(ANT Tracker)

1. Attribute-based Neural Network: 

如上图所示,该网络的前几层是从 VGG-M 模型得到的几层卷积层,用于提取底层信息,如边缘和纹理信息等。然后,用五个属性分支来学习对应属性的表达。文章作者用了 VOT 数据集提供的五个属性:target motions, camera motions, illumination variations, occlusions, and scale change, 这些挑战性因素可以涵盖 OTB100 数据集的 11 种属性。此外,VOT数据集属性的标注是每一帧都进行了标注,这就允许作者可以将训练数据集划分为不同的属性组(attribute groups)来训练对应的分支。

紧跟着这些属性分支的是 ensemble layer 和 fc layer。在测试阶段,属性组是未知的,一个视频帧可能也包含多种属性。所以,仅仅将视频帧传送到每一个分支也是不合理的。所以,作者这里将输入图像区域传递到所有的属性分支,并且训练一个 ensemble layer 来自适应的组合所有的特征,得到一个充分并且具有判别性的表达。ensemble layer 的输出被传送到 FC layer 进行最终前景和背景的分类。

对于每一分支的结构,我们采用 Inception 的结构,如下图所示,以得到更好的feature。

2. Two-Stage Training

作者这里提到 end-to-end learning 的方式,无法确保每个分支可以学会分类对应属性的数据(can not guarantee each branch to learn to classify data of the corresponding attribute),因为任何训练样本的分类损失都可以反向传递到所有的五个分支。为了解决这个问题,作者采用了两个阶段的训练策略。

Stage-I:training attribute branches.

这个五个分支是依次训练的。特别的,作者将 ensemble layer 和 last FC layer 移除,然后对每一种属性,添加一个 new FC layer,进行训练。

Stage-II:training ensemble layers. 

一旦上述属性分支训练完毕,就开始训练 ensemble layer,以得到这些特征的最终集成特征,用于分类。首先将 FC 层给 remove 掉,然后,接上 ensemble layer 和 FC layer,继续训练。这里采用 softmax-loss 进行训练,大约 150 次迭代后,开始收敛。

3. Tracking:

在实际跟踪的时候,就直接通过采样,然后打分的方式进行:

4.  实验结果:

==

论文笔记:Learning Attribute-Specific Representations for Visual Tracking的更多相关文章

  1. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  2. 论文笔记: Dual Deep Network for Visual Tracking

    论文笔记: Dual Deep Network for Visual Tracking  2017-10-17 21:57:08  先来看文章的流程吧 ... 可以看到,作者所总结的三个点在于: 1. ...

  3. 论文笔记:SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks

    SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks 2019-04-02 12:44:36 Paper:ht ...

  4. Deep Reinforcement Learning with Iterative Shift for Visual Tracking

    Deep Reinforcement Learning with Iterative Shift for Visual Tracking 2019-07-30 14:55:31 Paper: http ...

  5. 论文笔记之: Recurrent Models of Visual Attention

    Recurrent Models of Visual Attention Google DeepMind 模拟人类看东西的方式,我们并非将目光放在整张图像上,尽管有时候会从总体上对目标进行把握,但是也 ...

  6. 论文笔记 — Learning to Compare Image Patches via Convolutional Neural Networks

    论文: 引入论文中的一句话来说明对比图像patches的重要性,“Comparing patches across images is probably one of the most fundame ...

  7. 论文笔记:Fully-Convolutional Siamese Networks for Object Tracking

    Fully-Convolutional Siamese Networks for Object Tracking 本文作者提出一个全卷积Siamese跟踪网络,该网络有两个分支,一个是上一帧的目标,一 ...

  8. 论文笔记-Deep Affinity Network for Multiple Object Tracking

    作者: ShijieSun, Naveed Akhtar, HuanShengSong, Ajmal Mian, Mubarak Shah 来源: arXiv:1810.11780v1 项目:http ...

  9. Summary on Visual Tracking: Paper List, Benchmarks and Top Groups

    Summary on Visual Tracking: Paper List, Benchmarks and Top Groups 2018-07-26 10:32:15 This blog is c ...

随机推荐

  1. kafka手动开启监听

    项目集成spring-kafka,在项目启动后需要做些初始化资源的任务,kafka消费会依赖这些所以需要配置kafka手动启动. 类似这样,设置autoStartup为false 然后代码里面调用这个 ...

  2. mysql8.0.13免安装版的安装配置详解

    一.下载 下载地址:https://dev.mysql.com/downloads/mysql/ 二.解压到某个目录,例如:D:/mysql/mysql-8.0.13-winx64 三.配置环境变量 ...

  3. HtmlFilter实现Html标签转义过滤器

    HtmlUrlFilter: import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterC ...

  4. Python001-操作MSSQL(Microsoft sql server)基础示例(一)

    Python操作mssql server数据库可以通过pymssql或pyodbc实现的.此文以pymssql为例.Python操作MSSQL基本操作步骤如下所示: 获取数据库连接Connection ...

  5. Redis的持久化之AOF方式

    AOF方式:将以日志,记录每一个操作 优势:安全性相对RDB方式高很多: 劣势:效率相对RDB方式低很多: 配置: [root@localhost redis]# vi redis.conf 编辑re ...

  6. 数据结构 - 表插入排序 具体解释 及 代码(C++)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/24323125 表插入排序 具体解释 及 代码 ...

  7. vscode编译发布exe

    命令1: dotnet build -r win-x64 命令2: dotnet publish -c Release -r win-x64 -r|--runtime:(window rid或者lin ...

  8. 构造方法,this关键字,static关键字,封装,静态变量

    1.构造方法 构造方法是一种特殊的方法,是专门用于创建/实例化对象的方法. 构造方法根据是否有参数分为两类:1.无参构造方法  2.有参构造方法 1.1无参构造方法 无参构造方法就是构造方法中没有参数 ...

  9. 迁移svn项目到git

    women用的gitlab 在gitlab新建项目,然后拉项目拉下来,然后你把项目(vue)全部选中,除开node_modeles  .svn  dist  .idea这些不选外,copy到这个拉下来 ...

  10. 一分钟学会Xmind