Deep attention tracking via Reciprocative Learning
文章:Deep attention tracking via Reciprocative Learning
出自NIPS2018
文章链接:https://arxiv.org/pdf/1810.03851.pdf
代码链接:https://github.com/shipubupt/NIPS2018

背景:
这篇论文是NIPS2018的一篇目标跟踪的论文,是由北京邮电大学,腾讯AI实验室和上海交通大学共同合作写的。现在目标跟踪使用的算法有两种:一种是使用单阶段回归框架,另外一种是使用两阶段分类框架,因为这篇论文使用的是两阶段框架,所以简单介绍一下这个框架。两阶段的框架又叫Tracking-by-detection framework:第一步在上一帧预测的位置周围上画出一些样本,第二步使用分类器识别这个样本是目标还是背景。现有的很多方法都是额外使用attention模块生成特征权重,即进行特征选择。即进行特征选择。但是这种方法学习的特征权重无法使分类器在较长时间跨度内关注鲁棒特征,也就是说当目标发生比较大的外观变化时,跟踪会发生漂移。
主要贡献:
这篇论文提出一种交互性学习算法,这个算法的亮点就是不使用额外的attention模块就可以得到这个attention map,并且直接将attention map作为正则化项和原来的分类损失一起训练,使分类器更加关注目标对象对外观变化鲁棒的区域
网络结构及损失函数:
Attention Exploitation

图1是整个网络结构。之前一些使用attention模型的网络,一般都是通过增加一个额外的模块来产生attention map,但是这篇文章是使用网络输入层的偏导作为attention map。


给定一个input sample I0,将网络从输入到输出分数看成一个函数fc(I),然后我们就可以使用一阶泰勒展开式进行展开,其中A是网络的一阶导数,B是余项,c是类别的意思,这个就是公式1的由来。
点z0(采集的样本)属于输入I0的epsilon领域,那么对于这个领域内的所有点公式(1)均成立。所以当这点z0和I0无限靠近时这两个的导数相等。公式1表明类别c的输出分数受Ac每个元素的影响。每个输入图片对应的Ac都是特殊的。
在后向传播中使用链式准则计算Ac。论文中只选择正值的作为梯度,因为他们对正值的类别分数有着明显的贡献。注意在后向传播中,网络参数是固定没有更新的。
Attention Regularization



对于每一个输入I0,可以得到两个attention map,正样本的attention map Ap和负样本的attention map An。对于一个输入为正样本的I0,我们希望与目标相关的Ap的像素值尽量大,与目标相关的An像素尽量小。所以正样本的正则项如公式3所示。所以对于公式3,应该尽量增大第一项的均值,减小标准差,减小第二项的均值,增大标准差。同理对于公式4应该是Ap的像素值尽量小,An像素值尽量大。
Attention mp是如何减小损失。首先是公式3,通过增大第一项的均值,减小标准差从而减小第一项的值,为的就是增大像素的强度且这些值之间的差异小(标准差小),通过减小第二项的均值,增大标准差从而减小第二项的值,含义是第二项是正样本预测为背景的分数,减小像素的值
Reciprocative Learning

所谓的交互式学习就是使用标准的后向传播和链式准则,将正则化想结合到loss函数中,训练分类器选择性的关注目标区域,忽略背景区域
Tracking Process
模型初始化:第一帧,读入图片后训练模型前面三层卷积层,并固定前三层参数。在初始的目标区域周围随机生成N1个样本,这些样本根据和GT的IoU判断是正样本或者负样本。使用H1个迭代训练初始模型,对于每次迭代中的每个样本,使用公式5计算其损失,并相应地更新全连接层。
在线检测:给定上一帧的检测结果,我检测到的目标周围随机生成N2个样本,将这些样本送入网络,选择分数较高的propos,并对目标位置进行微调
模型更新:在线检测后若检测到的目标与上一帧目标Iou在规定范围内则检测成功,根据这一帧图片的更新模型的前三层特征。若不成功,则使用上一帧目标位置进行训练,迭代H2次更新模型的全连接层。

实验结果



在overlap success rate方面,我们的跟踪器不如性能最好的跟踪器CCOT。这是因为我们的跟踪器随机抽取稀疏样本集进行尺度估计。但是CCOT在一个连续的空间中对样本进行收割
CCOT:传统的DCF模型(如SRDCF)采用handcrafted或CNN等特征,但这些特征都是单一分辨率的,即每个通道的特征图的分辨率都是相同的。为了能够将多种分辨率的特征(例如,卷积网络不同层的特征图,层数越深,特征图越小)整合在一起,C-COT提出将卷积过程转换到一个连续域。这个连续域指的是自变量t在[0,T)范围内。
Evaluation metrics
评估的具体讲解: https://blog.csdn.net/Dr_destiny/article/details/80108255
CLE(center location error):GT与估计中心位置的平均欧几里德距离
DP(distance precision):CLE(中心位置误差)小于特定阈值的帧数/所有帧
OS(overlap success):IoU大于阈值的帧数/所有帧
EAO(expected average overlap):(平均重叠期望是对每个跟踪器在一个短时图像序列上的非重置重叠(no-reset average overlap)的期望值) 把视频序列按照不同的长度分组,把相同长度的求平均准确度(只跑一次),然后把所有不同长度序列的准确率再统一求均值
Ar(accuracy rank):准确率(Accuracy)是指跟踪器在单个测试序列下的平均重叠率,将tracker在不同属性序列上的表现按照accuracy分别排名,再进行平均
Rr(robustness rank):鲁棒性(Robustness)是指单个测试序列下的跟踪器失败次数,当重叠率为0时即可判定为失败。将tracker在不同属性序列上的表现按照Robustnessy分别排名,再进行平均
Deep attention tracking via Reciprocative Learning的更多相关文章
- 论文阅读:Deep Attentive Tracking via Reciprocative Learning
Deep Attentive Tracking via Reciprocative Learning 2018-11-14 13:30:36 Paper: https://arxiv.org/abs/ ...
- 论文笔记:Deep Attentive Tracking via Reciprocative Learning
Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...
- 论文笔记之:Deep Attention Recurrent Q-Network
Deep Attention Recurrent Q-Network 5vision groups 摘要:本文将 DQN 引入了 Attention 机制,使得学习更具有方向性和指导性.(前段时间做 ...
- 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 ...
- (zhuan) Where can I start with Deep Learning?
Where can I start with Deep Learning? By Rotek Song, Deep Reinforcement Learning/Robotics/Computer V ...
- Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)
注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线,也 就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...
- What are some good books/papers for learning deep learning?
What's the most effective way to get started with deep learning? 29 Answers Yoshua Bengio, ...
- 18 Issues in Current Deep Reinforcement Learning from ZhiHu
深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...
- 深度学习阅读列表 Deep Learning Reading List
Reading List List of reading lists and survey papers: Books Deep Learning, Yoshua Bengio, Ian Goodfe ...
随机推荐
- Java基础(38)AbstractMap类
AbstractMap类的子类有HashMap(其子类是LinkedHashMap).TreeMap.EnumMap.WeakHashMap和IdentityHashMap. 1.HashMap (1 ...
- 关于dt分组、计数、排序的实例
#region table去重复求和 var query = dt.Rows.Cast<DataRow>() .OrderByDescending(n => n["OPER ...
- else 的特殊用法和三目运算
1,eval() 获取原始数据类型 例1: str = " a = eval(str) print(a,type(a)) a得到的结果是整型10,不是字符串10 例2: str1 = &qu ...
- iOS开发高级分享 - iOS上的设备标识符和指纹
苹果认可的标识符 Apple提供了各种API,以方便用户识别各种用途: 通用标识符(UDID) 在iOS的早期,苹果公司提供了一个uniqueIdentifier财产上UIDevice-亲切地称为ud ...
- MySQL:数据库基本认识
1.什么是数据库 通俗来讲,数据库就是用于存储数据的仓库.很多人可能会问,存储数据用文件不就行了吗?为什么还要弄数据库? 文件存储数据具有以下几个缺点: 文件的安全性问题 文件不利于查询和数据库管理 ...
- (二)golang--windows下vscode的安装以及go环境的配置
在官网上下载vscode对应的安装包,进行安装: 安装的时候记得勾选加入到path路径: 下载go语言的SDK:https://studygolang.com/dl目前最新版本是1.13.4,我就下这 ...
- 说说 Python3 中的数字处理
最近在处理订单相关的问题,踩了数字的一些坑,在此记录下. 其中有问题的代码涉及金额比较,便于描述,假设了下面一段代码 def is_paid(pay_price, paid_price): retur ...
- 学习笔记49_Redis
Redis和memcache区别: 1 . mm是通过客户端驱动实现集群化,Redis是通过服务器配置文件集群 2. redis是可以进行持久化的存储 3. redis提供高级的数据结构,队列,栈都提 ...
- [2018-01-13] 安装Django的一些笔记
安装django pip install Django = =1.10.2 下载源码,进入根目录执行 python setup.py install 确认是否已经安装成功 python -m djan ...
- 使用VM虚拟机安装Linux系统详细流程
最近新换了个电脑,所以需要重新安装虚拟机和Linux系统,话不多说,看流程吧 1.安装vm,这个就不说了,打开VM 2.点击安装虚拟机 3.选择自定义安装 4.选择稍后安装 5.选择要安装的系统 6. ...