Deeper and Wider Siamese Networks for Real-Time Visual Tracking
Updated on 2019-04-01 16:10:37

Paper (arXiv V3):https://arxiv.org/pdf/1901.01660.pdf

Code:https://github.com/researchmm/SiamDW  (Training and Testing for SiamFC, but Testing only for SiamRPN)

1. Background and Motivation: 

本文主要是很好的处理了跟踪问题中一个很奇特的现象:“随着网络层数的层数(用现有的 ResNet, Inception 等网络来替换 常用的 Backbone net,例如 AlexNet),跟踪结果不增反而降低的情况”。如下图所示:

作者发现如下的几个参数,对跟踪结果的影响,非常巨大:* the receptive field size of neurons;  * network stride;  * feature padding

具体来说,感受野 决定了用于计算 feature 的图像区域。较大的感受野,提供了更好的 image context 信息,而一个较小的感受野可能无法捕获目标的结构信息;

网络的步长,影响了定位准确性的程度,特别是对小目标而言;与此同时,它也控制了输出 feature map 的大小,从而影响了 feature 的判别性和检测精度。

此外,对于一个全卷积的结构来说,feature padding 对卷积来说,会在模型训练中,引入潜在的位置偏移,从而使得当一个目标移动到接近搜索范围边界的时候,很难做出准确的预测。这三个因素,同时造成了 Siamese Tracker 无法很好的从更顶尖的模型中收益。

本文中,作者尝试从设计新的网络结构的基础上,来解决上述问题,从而使得 SiamNet 获得更好的跟踪性能。创新点主要在于:

1. 作者基于 the "boottleneck" residual block 来提出一组 cropping-inside residual (CIR) units。该模块可以消除 padding 带来的影响,从而组织卷积核学习 position bias;

2. 我们设计了两种网络结构,通过堆叠 the CIR units,称为 Deeper and Wider networks。在这个网络中,步长 和 神经感受野 被用于增强定位的准确性;

3. 作者将所设计的 backbone network 用到 SiamFC 和 SiamRPN 网络中。作者的实验证明,在多个数据集上,都可以得到大幅度的提升。另外一个优势是:本文所设计的网络结构是轻量级的,允许跟踪器可以实现实时跟踪。

2. Background on Siamese Tracking: 

关于孪生网络的跟踪器,可以参考其原始文章。

3. Analysis of Performance Degradation:

3.1 性能分析

作者对不同 backbone 的网络结构,作者发现不同的影响因子(包括:stride (STR), padding (PAD), receptive field (RF) of neurons in the last layers, and output feature size (OFS))对跟踪结果的影响不同,而且有些参数对结果的退化影响非常大,如下表所示:

作者得出如下的结论:

1). This illustrates that Siamese trackers prefer mid-level features (stride 4 or 8), which are more precise in object localization than high-level features (stride ≥ 16).

2). For the maximum size of receptive field (RF), the optima lies in a small range.  In the cases of AlexNet, VGG-10 and ResNet-17, the optimal receptive field size is about 60%∼80% of the input exemplar image z size (e.g. 91 vs 127). It illustrates that the size of RF (感受野) is crucial for feature embedding in a Siamese framework.
3). only RF in a certain size range allows the feature to abstract the characteristics of the object, and its ideal size is closely related to the size of the exemplar image.

4). For the output feature size, it is observed that a small size (OFS ≤ 3) does not benefit tracking accuracy.

5). Network padding has a highly negative impact on the final performance.

上面表格 2,展示了 AlexNet 和 VGG-10 都不带 padding,而 Inception 和 ResNet 都带有 padding。

作者发现,这种 padding 会导致如下的问题:lead to inconsisitency between embeddingings of target object appearing at different positions in search images, and therefore, the matching similarity comparison degrades. 当一个物体移动到图像边缘时,其峰值不再能够准确的反应目标的位置。当跟踪器无法在上一帧准确定位时,这通常就会导致跟踪器漂移。

3.2 Guidelines

根据上述实验和观察,作者给出了如下的四个基础的指南,来降低上述影响因子的干扰:

* Siamese trackers prefer a relatively small network stride.

* The receptive field of output features should be set based on its ratio to the size of the exemplar image.

* Network stride, receptive field and output feature size should be consisdered as a whole when designing a network architecture.

* For a fully convolutional Siamese matching network, it is critical to handle the problem of perceptual inconsistency between the two network streams.

4. Deeper and Wider Siamese Networks:

4.1 Cropping-Inside Residual (CIR) Units: 

CIR Unit.   在原始版本的 Residual 单元中,是带有 padding,而之前的观测表明 padding 会导致 Siamese Tracker 位置偏移。所以,我们应该 remove 掉这个 padding 的过程,然后使其适应 Siamese Tracker。为了达到这个目的,我们用一个 cropping operation 来增强 residual unit,即:在特征相加完成后,加一个 crop 操作(下图淡蓝色标记)。这个 cropping 操作符移除了被 zero-padding signals 所影响的 feature。由于 bottleneck layer 的 padding size 是 1,仅仅最边缘的 features 被删除。这个简单的操作极大的移除了残差单元中的 padding-affected features。

Downsampling CIR (CIR-D) Unit.   下采样残差单元也是网络设计中一个重要的构建模块。其用于降低 feature map 的空间大小,同时使得 feature channels 变为两倍。由于这个模块中也包含 padding,所以也采用 crop 操作。作者将卷积的步长,由 2 设置为 1。这些改变的关键点在于:确保仅由于padding引起的feature被删除,而内部模块的结构不变。

CIR-Inception and CIR-NeXt Units.   作者也将这种结构用于构建 multi-branch structure, 确保其可以构建 wide 的网络。

4.2 Network Architecture

作者将上述网络结构,通过堆叠的方式,设计出了多个版本的 backbone,并在表格 3 中展示了 4 种不同深度的结构(16, 19, 22 and 43)。

此外,作者也设计了两种 wide 的网络结构,即表格 3 中的 CIResInception-22 and CIResNeXt-22。

5. Experiments

==

论文笔记:Deeper and Wider Siamese Networks for Real-Time Visual Tracking的更多相关文章

  1. 论文笔记:目标追踪-CVPR2014-Adaptive Color Attributes for Real-time Visual Tracking

    基于自适应颜色属性的目标追踪 Adaptive Color Attributes for Real-Time Visual Tracking 基于自适应颜色属性的实时视觉追踪 3月讲的第一篇论文,个人 ...

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

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

  3. 论文笔记:Learning Dynamic Memory Networks for Object Tracking

    Learning Dynamic Memory Networks for Object Tracking  ECCV 2018Updated on 2018-08-05 16:36:30 Paper: ...

  4. 论文笔记——MobileNets(Efficient Convolutional Neural Networks for Mobile Vision Applications)

    论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications MobileNet由Go ...

  5. 【论文笔记】Learning Convolutional Neural Networks for Graphs

    Learning Convolutional Neural Networks for Graphs 2018-01-17  21:41:57 [Introduction] 这篇 paper 是发表在 ...

  6. 论文笔记之:Graph Attention Networks

    Graph Attention Networks 2018-02-06  16:52:49 Abstract: 本文提出一种新颖的 graph attention networks (GATs), 可 ...

  7. 【论文笔记】Training Very Deep Networks - Highway Networks

    目标: 怎么训练很深的神经网络 然而过深的神经网络会造成各种问题,梯度消失之类的,导致很难训练 作者利用了类似LSTM的方法,通过增加gate来控制transform前和transform后的数据的比 ...

  8. 论文笔记(2)-Dropout-Regularization of Neural Networks using DropConnect

    这篇paper使用DropConnect来规则化神经网络.dropconnect和dropout的区别如下图所示.dropout是随机吧隐含层的输出清空,而dropconnect是input unit ...

  9. 论文笔记: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 ...

随机推荐

  1. Numpy增加一列,指定概率指定参数

    这里主要应用到numpy.random.choice 可以根据需求,比如增加一列,A B C 为该列数据,随机概率生成 详见代码 import numpy as np import pandas as ...

  2. Java学习-052-(mybatis+mysql)访问接口时提示:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    在配置mybatis,访问接口提示: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),部 ...

  3. innerHTML .innerText区别

    ().innerHtml("“):改变html元素: ().innerTEXT(”“):改变文本元素: 试验代码 <!DOCTYPE html> <html lang=&q ...

  4. windows下安装Mongodb的方法

    参考:https://blog.csdn.net/heshushun/article/details/77776706

  5. 【长文】Google面试官分步解析自己泄漏前的面试题,超多干货和建议

    本文翻译自Google工程师/面试官Alex Golec的文章:Google Interview Questions Deconstructed: The Knight's Dialer:翻译:实验楼 ...

  6. jupyter notebook 动态图显示

    直接在import matplotlib.pyplot as plt 后面加%matplotlib,或者%matplotlib auto就可以通过弹出窗口的形式显示图片

  7. 记AOP概念理解

    OOD/OOP面向名词领域,AOP面向动词领域. 应用举例 假设有在一个应用系统中,有一个共享的数据必须被并发同时访问,首先,将这个数据封装在数据对象中,称为Data Class,同时,将有多个访问类 ...

  8. 惨痛第十届蓝桥杯总结(附录蓝桥省赛知识点总结)-C++ B组

    虽然目前距离蓝桥省赛仅仅过去一天但昨天下午和大神对答案的感觉依旧..... 现在深刻里理解到了为啥大神老是说咱们蓝桥叫 阅读理解杯(现在我非常认同这种说法啊...) 虽然第一次参加,赛前紧张提前30分 ...

  9. git----------如何安装gitlab,使用步骤。

    1.配置yum源        vim /etc/yum.repos.d/gitlab-ce.repo 2.复制以下内容到打开的文件中: [gitlab-ce]     name=Gitlab CE ...

  10. Go 初体验 - 闭包,数组,切片,锁

    我们先假设一个需求,创建一个数组,里面存放 0 - 99 的整数. 上代码: 输出: 然而并不是我们想要的结果,很多重复数值. 释义: 12行这个闭包函数对 i 的传递并非深拷贝,而是传递了变量指针, ...