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. 学习懈怠的时候,可以运行Qt自带的Demo,或者Delphi控件自带的Demo,或者Cantu书带的源码,运行一下Boost的例子(搞C++不学习Boost/Poco/Folly绝对是一大损失,有需要使用库要第一时间想到)(在六大的痛苦经历说明,我的理论性确实不强,更适合做实践)

    这样学还不用动脑子,而且熟悉控件也需要时间,而且慢慢就找到感觉了,就可以精神抖擞的恢复斗志干活了.或者Cantu书带的源码. 并且可以使用Mac SSD运行Qt的Demo,这样运行速度快一点. 此外, ...

  2. struct与class的区别

    C++中的struct是对C中struct的扩充,它已经不再只是一个包含不同数据类型的数据结构,因为其扩充了太多功能.总的来说,C++中struct和class极其相似,比如,struct能包含成员函 ...

  3. 2018-2019-2 20165336《网络攻防技术》Exp5 MSF基础应用

    2018-2019-2 20165336<网络攻防技术>Exp5 MSF基础应用 一.攻击实例 主动攻击的实践 ms08_067(成功) payload/generic/shell_rev ...

  4. 上海嘉韦思杯部分writeup

    第二题 打开赛题,看到加密字符串,进行base64解密,发现是JSFUCK,再次解密,控制台得到flag. 第三题 打开频谱图得到flag,flag中有三个_,联想到音频文件详细信息中的三个zero, ...

  5. 20175211 2017-2018-2 《Java程序设计》第六周学习记录

    目录 7.1 内部类 7.2 匿名类 7.3 异常类 断言 参考资料 <Java 2实用教程>第七章 内部类和异常类 7.1 内部类 内部类的外嵌类的成员变量在内部类中依然有效,内部类中的 ...

  6. JDK丨WIN10配置JDK1.8 (解决javac不是内部或外部命令,也不是可运行的程序或批处理文件)

    1.下载JDK,安装. 2.配置JDK. (右键我的电脑 - 属性 - 高级系统设置 - 环境变量.) 2.1 添加系统变量JAVA_HOME 变量名:JAVA_HOME 变量值:C:\Program ...

  7. 详解iBaits中SqlMapClientTemplate的使用

    Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库 ...

  8. Git知识

    git最小化配置: 配置user.name 和 user.email git config --global user.name 'your_name' git config --global use ...

  9. 安利一个vps,7美元/年。

    黑色星期五.给大家安利一个vps,7美元/年.配置如下:2 个虚拟化 CPU 2 GB (2048 MB) 专属内存 50 GB RAID-10 受保护硬盘存储 3000 GB (3TB) 月流量 1 ...

  10. 北京大学Cousera学习笔记--8-计算导论与C语言基础--C的运算部分

    赋值运算符 1.两边类型不同:赋值时要进行类型转换,右边要转换到左边 2.长数赋值短数 最后的部分截断赋值给短数 3.短数赋给长数 数不变 4.符号位赋值 --计算机不区分符号位数字位,直接赋值 表达 ...