RATM: RECURRENT ATTENTIVE TRACKING MODEL

  ICLR 2016

  本文主要内容是 结合 RNN 和 attention model 用来做目标跟踪。

  其中模型的组成主要是:

  1. an attention model 主要用来从输入图像中提取 patch;

  2. RNN 用来预测 attention 参数,即:下一帧应该 look 的问题。

  Paper: http://xueshu.baidu.com/s?wd=RATM%3A+RECURRENT+ATTENTIVE+TRACKING+MODEL&rsv_bp=0&tn=SE_baiduxueshu_c1gjeupa&rsv_spt=3&ie=utf-8&f=8&rsv_sug2=1&sc_f_para=sc_tasktype%3D%7BfirstSimpleSearch%7D&rsv_n=2

  Code:https://github.com/wangxiao5791509/RATM

  本文所使用的框架流程图如下所示:

  


  1. Attention

  本文提到, attention model 非常适合跟踪问题,因为他可以通过目标的历史轨迹来缩小 region-of-interst 的区域。

  原本的 attention model 从输入图像中产生 glimpse(一瞥),是通过一个叫做 a grid of 2D Gaussian filters,顺序的执行一系列的 row filter 和 column filter。该 grid 拥有 4个参数,即:

  the grid center $g_X, g_Y$,the isotropic standard deviation, and the stride between grid points.

  对于在 attention patch中的行 i,列 j,平均距离 $\mu_X^i, \mu_Y^j$ 通过下式进行计算:

  动态产生的参数 作为一个向量 h 的线性转换:

  然后对参数进行归一化:

  其中 A 和 B 分别是输入图像的宽和高。

  滤波器通过下面的公式计算得到提取的 patch,即:

  在上式中, a 和 b 代表输入图像的列和行的索引。通过这两个公式就可以得到一个 N*N 的 patch p:

  

  


  2. RNN

  一个最简单的 RNN 包括一个输入,一个 hidden,一个 输出层。在时间步骤 t,该网络,基于输入帧 $x_t$ 和 之前的 hidden state $h_{t-1}$,计算新的 hidden state:

  本文对 RNN 并未做过多介绍,因为创新点也不在于此,只是说是基于 Theano 框架做的实验。


  3. Recurrent Attentive Tracking Model:

  跟踪问题主要是将一系列的输入视频帧 $X = (x_1, x_2, ... , x_T)$ 映射成 一系列的位置 $Y = (y_1, y_2, ... , y_T)$。那么在一个时刻 t 的位置预测 $y_t$,那么其轨迹通常具有非常高的相关内容信息,并且非常适合用 一个隐层状态模型(a hidden state model)来对这个轨迹进行表示。所提出的 RNN 就是结合了 attention model 和 RNN 的优势,并且区别于普通的神经网络。

  每一个时间步骤,RNN的 hidden state vector $h_t$ 通过公式2,3 映射成 window parameters。然后在下一个时刻,由 attention model 输出的image patch 作为 RNN 的输入。并非直接将 原始图像输入给 RNN,而是用预先训练的 CNN model 提出其feature 传给 RNN。具体结构见下图:

  

  


  实验:

  本文实验做的并非 经典跟踪算法所用的 benchmark,而是 Mnist video 和 Bouncing Balls。

  说实话,我觉得 这个挺扯得,这个也可以用于跟踪的实验??? Oh,My God 。。。

  总体来讲,感觉就是两个模型的组合,并且实验做的并不充分,感觉只是一个示例。。。这要是放到 CVPR 或者 MultiMedia 能被喷死!

  不过 。。。

  呵呵。。。

  

  Mnist 数据集 我们知道是一个手写体识别的数据集,我去 作者将其转换为视频格式,自己造了一个跟踪视频,不知道是否有跟踪上的各种挑战,即:部分遮挡,阴影变化,以及 复杂背景 这些具有挑战性的因素估计都没有,额 不喷了。。。浪费时间。。。。

  

  

论文笔记之:RATM: RECURRENT ATTENTIVE TRACKING MODEL的更多相关文章

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

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

  2. 论文笔记之:Speed Up Tracking by Ignoring Features

    Speed Up Tracking by Ignoring Features CVPR 2014 Abstract:本文提出一种特征选择的算法,来实现用最"精简"的特征以进行目标跟 ...

  3. 论文笔记:Fast Online Object Tracking and Segmentation: A Unifying Approach

    Fast Online Object Tracking and Segmentation: A Unifying Approach CVPR-2019 2019-03-11 23:45:12 Pape ...

  4. 论文笔记:Deep Attentive Tracking via Reciprocative Learning

    Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...

  5. Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记

    Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记 arXiv 摘要:本文提出了一种 DRL 算法进行单目标跟踪 ...

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

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

  7. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  8. 论文阅读:Deep Attentive Tracking via Reciprocative Learning

    Deep Attentive Tracking via Reciprocative Learning 2018-11-14 13:30:36 Paper: https://arxiv.org/abs/ ...

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

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

随机推荐

  1. linux安装时出现your cpu does not support long mode的解决方法

    如果你确定你的电脑支持64bit且是64bit的宿主系统,则需要修改BIOS中的Inter Virtualization Technology为enabled.

  2. python抓取性感尤物美女图

    由于是只用标准库,装了python3运行本代码就能下载到多多的美女图... 写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完. 测试发现速度一般,200K左右的下载速度,也没有很 ...

  3. linux 杀死进程的方法

    # kill -pid 注释:标准的kill命令通常都能达到目的.终止有问题的进程,并把进程的资源释放给系统.然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源.为了防止这些所谓 ...

  4. C++中的::operator new, ::operator delete

    一般在使用new  和 delete的时候,做了两件事情,一是空间的配置( new 是分配,delete是回收),而是调用对象的析构函数 但是也有办法将这两个过程分开 那就是显式的调用::operat ...

  5. python saltstack

    1. 拷贝文件 # salt ‘*‘ cp.get_file salt://first.xml /tmp/first.xml 或 gzip=1-9,数字越大,压缩越高; makedirs=True 自 ...

  6. UIkit框架之UIimage

    1.继承链:NSObject 2.以下有三种方法来创建图片对象 (1) imageNamed:inBundle:compatibleWithTraitCollection:从image asset或者 ...

  7. php大力力 [007节]php静态表量

    2015-08-23 php大力力007. php静态表量 这里看一下高老师的视频讲解: 转帖: php中static静态类与static 静态变量用法区别 php中的静态变量的基本用法 转载 时间: ...

  8. Python的交互式界面 编写 .

    from tkinter import * # 导入tkinter模块的所有内容 root = Tk() # 创建一个文本Label对象 textLabel = Label(root, # 将内容绑定 ...

  9. Squid代理之反向代理

    (一) 为Internet用户访问企业Web站点提供缓存加速. 1 关闭防火墙

  10. iOS 静态库和动态库的区别&静态库的生成

    linux中静态库和动态库的区别 一.不同 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 1. 静态函数库 这类库的名字一般是libxxx.a:利用静态函 ...