Learning Dynamic Memory Networks for Object Tracking 

ECCV 2018
Updated on 2018-08-05 16:36:30

Paper: arXiv version

Code: https://github.com/skyoung/MemTrack (Tensorflow Implementation)

【Note】This paper is developed based on Siamese Network and DNC(Nature-2016), please check these two papers for details to better understand this paper.

DNC: https://www.cnblogs.com/wangxiaocvpr/p/5960027.html  Paperhttp://www.nature.com/nature/journal/vaop/ncurrent/pdf/nature20101.pdf

Siamese Network based tracker: https://www.cnblogs.com/wangxiaocvpr/p/5897461.html  PaperFully-Convolutional Siamese Network for Object Tracking

=================================

Motivation:想利用动态记忆网络(Dynamic Memory Network)来动态的更新 target template,以使得基于孪生网络的跟踪算法可以更好的掌握目标的 feature,可以学习到更好的 appearance model,从而实现更加准确的定位。

Method:主要是基于 Dynamic Memory Network 来实现目标物体的准确更新。通过动态的存储和读写 tracking results,来结合原始的 object patch,基于 Siamese Network Tracker 进行跟踪,速度可以达到:50 FPS。

Approach Details:

Dynamic Memory Networks for Tracking

1. Feature Extraction:

  本文的特征提取方面,借鉴了 SiamFC;此处不细说。

2. Attention Scheme:

  本文介绍 Attention 机制引入的动机为:Since the object information in the search image is needed to retrieve the related template for matching, but the object location is unknown at first, we apply an attention mechanism to make the input of LSTM concentrate more on the target. 简单来讲,就是为了更好的确定所要跟踪的目标的位置,以更加方便的提取 proposals。

  作者采用大小为 6*6*256 的 square patch 以滑动窗口的方式,对整个 search image 进行 patch 的划分。为了进一步的减少 square patch 的大小,我们采用了一种 average pooling 的方法:

那么,经过 attend 之后的 feature vector,可以看做是这些特征向量的加权组合(the weighted sum of the feature vectors):

                 

其中,L 是图像块的个数,加权的权重可以通过 softmax 函数计算出来,计算公式如下:

其中,这个就是 attention network,输入是:LSTM 的 hidden state $h_{t-1}$,以及 a square patch。另外的 W 以及 b 都是可以学习的网络权重和偏差。

下图展示了相关的视觉效果:

3. LSTM Memory Controller 

此处,该网络的控制也是通过 lstm 来控制的,即:输入是上一个时刻的 hidden state,以及 当前时刻从 attention module 传递过来的 attended feature vector,输出一个新的 hidden state 来计算 memory control signals,即:read key, read strength, bias gates, and decay rate。

4. Memory Reading && Memory Writting && Residual Template Learning:

==>> 我们可以从 如下的这两个视角来看点这个 read 和 write 的问题:

对于 Read,给定 LSTM 的输入信号,我们可以获得 Read Key 及其对应的 read strength,然后根据这个 vector 和 memory 中的记忆片段,进行 read weight 的计算,然后确定是否读取对应的 template;

具体来说:

(1) read key 及其 read strength 的计算可以用如下的公式:

(2)read weight:

(3)the template is retrieved from memory: 

(4)最终模板的学习,可以通过如下公式计算得出:

对于 Write,给定 LSTM 的输入信号,我们可以计算 BiasGates 的三个值,从而知道 衰减率(decay rate),可以计算出 擦除因子(erase factor),我们根据获得的 write weight,来控制是否将 new templates 写入到 memory 中,以及写入多少的问题。、

(1)The write weight:

(2)The write gate:

(3)The allocation weight: 

(4)最终模板的写入以及写入多少的控制:

==>> Experimental Results: 

==

论文笔记:Learning Dynamic Memory Networks for Object Tracking的更多相关文章

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

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

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

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

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

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

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

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

  5. 论文笔记《Spatial Memory for Context Reasoning in Object Detection》

    好久不写论文笔记了,不是没看,而是很少看到好的或者说值得记的了,今天被xinlei这篇paper炸了出来,这篇被据老大说xinlei自称idea of the year,所以看的时候还是很认真的,然后 ...

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

    gansh Fully-Convolutional Siamese Network for Object Tracking 摘要:任意目标的跟踪问题通常是根据一个物体的外观来构建表观模型.虽然也取得了 ...

  7. [论文理解] Learning Efficient Convolutional Networks through Network Slimming

    Learning Efficient Convolutional Networks through Network Slimming 简介 这是我看的第一篇模型压缩方面的论文,应该也算比较出名的一篇吧 ...

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

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

  9. 论文笔记:Heterogeneous Memory Enhanced Multimodal Attention Model for Video Question Answering

    Heterogeneous Memory Enhanced Multimodal Attention Model for Video Question Answering 2019-04-25 21: ...

随机推荐

  1. sublime text3 增加代码片段(snipper)

    有时候编写代码时有些代码片段经常会用到,如果能将这些代码片段整理,再在需要的时候通过某些条件触发,那无疑是非常方便的! 创建方法:工具->插件开发->新建代码片段 默认产生的内容是: &l ...

  2. RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试

    RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试 特别说明: 电源接反,电机驱动板接反将有可能烧毁芯片和电路,请再三确认后再进行通电. 如何使用: 1.需要用到的模块或器件: Arduin ...

  3. Linux——CentOS7安装gcc编译器详解

    使用yum安装gcc 使用yum命令安装还是非常easy的. yum -y install gcc gcc-c++ kernel-devel //安装gcc.c++编译器以及内核文件 手动安装gcc ...

  4. 【Hive学习之一】Hive简介

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...

  5. tr字符串的梗

    工作问题总结 声明:应用程序代码为前人所写,仅仅只是维护代码,暂且不论代码风格瑕疵. 结论: 使用tr“包”起来的字符串,可能会被翻译为不同的语言,此时,应用程序在不同语言环境下可能会表现BUG. 1 ...

  6. (Review cs231n) Gradient Vectorized

    注意: 1.每次更新,都要进行一次完整的forward和backward,想要进行更新,需要梯度,所以你需要前馈样本,马上反向求导,得到梯度,然后根据求得的梯度进行权值微调,完成权值更新. 2.前馈得 ...

  7. react 页面存在多 input 时

    this.setState({ [e.target.name]:e.target.value }) let o = {} o[e.target.name] = e.target.value this. ...

  8. 51Nod 1049 最大子段和

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1049 #include<iostream> #i ...

  9. [C#基础]说说lock到底锁谁?(补充与修改)

    摘要 今天在园子里面有园友反馈关于[C#基础]说说lock到底锁谁?文章中lock(this)的问题.后来针对文章中的例子,仔细想了一下,确实不准确,才有了这篇文章的补充,已经对文章中的demo进行修 ...

  10. Django框架----外键关联

    app/models.py中: 创建班级表 class classes(models.Model): id = models.AutoField(primary_key=True) name = mo ...