SiamRPN: High Performance Visual Tracking with Siamese Region Proposal Network
High Performance Visual Tracking with Siamese Region Proposal Network
2018-11-26 18:32:02
Paper:http://openaccess.thecvf.com/content_cvpr_2018/papers/Li_High_Performance_Visual_CVPR_2018_paper.pdf
PyTorch Code:https://github.com/songdejia/siamese-RPN-pytorch
Train Code: https://github.com/MathsXDC/DaSiamRPNWithOfflineTraining
TensorFlow Code:https://github.com/makalo/Siamese-RPN-tensorflow
Reference Code:https://github.com/zkisthebest/Siamese-RPN
Another Implementation based on PyTorch with deeper and wider backbone network (SiamDW, CVPR-2019): https://github.com/researchmm/SiamDW (all the train and test code !!!)
1. Background and Motivation :
现有的跟踪方法主要分为两种:
1). 相关滤波跟踪方法;也有将 deep feature 结合到 CF 方法中,但是速度不够快;
2). 完全基于深度网络的跟踪方法,由于没有用到 domain-specific information,效果并不是很突出。
本文将 RPN 引入到跟踪过程中,极大地改善了跟踪效果。主要包含两个分支:
1). Template branch;
2). Detection branch;
在测试阶段,作者将其看做是:local one-shot detection framework,第一帧中的 BBox 仅提供 exemplar。作者将 template branch 重新看做是参数来预测 detection kernels,类似于 meta-learner。meata-learner 和 detection branch 都仅仅用 RPN 的监督来进行端到端的训练。在 online tracking 过程中,Template branch 会被修剪以达到加速的目的。本文所提出的方法也是第一次将 online tracking 看做是 one-shot detection 任务。
本文所提出的 Siamese RPN 的流程图如下所示:

2. Siamese-RPN framework:
2.1 Siamese feature extraction subnetwork
在孪生网络中, 作者采用不带 padding 的全卷积网络。骨干网络是修改后的 AlexNet,Siamese tracker 的示意图如下:

2.2 Region Proposal Subnetwork
该 RPN 子网络包含两个部分:pair-wise correlation section 以及 supervision section。
Supervision section 包含两个分支:一个是用于前景和背景分类的分支,另一个分支用于 proposal 回归。
如果有 k 个 anchors,网络需要输出 2k channel 以进行分类,4k channels 以进行回归。所以,pair-wise correlation 首先增加 channel 个数为两个部分。另一个分支也分为两路,即:reg 和 cls。Template 分支输出的 feature 可以看做是 “kernel”,在 search region 的 feature 上进行卷积操作。在 classification 和 regression branch 上都要进行 correlation 操作:

当进行训练时,作者采用 Faster RCNN 的损失函数。用交叉熵损失函数来训练 classification 分支,L1 loss 用于 regression 分支的训练。
Ax, Ay, Aw, Ah 代表 anchor boxes 的中心点和形状,Tx, Ty, Tw, Th 代表 GT boxes,所以,归一化的距离可以表达为:

然后,其通过 L1 loss,具体表达形式为:

最终,作者优化的损失函数为:

其中,Lcls 是交叉熵损失,Lreg 是:

2.3 Training Phase
在训练阶段,ImageNet VID 和 Youtube-BB 被用于采集 sample pairs 来进行相似度匹配的训练。
anchors 的选择是基于 IoU 进行的,当 IoU 大于设定的阈值(文中设置为 0.6),并且是正样本的时候,被当做是 anchors。负样本则认为是那些 IoU 低于 0.3 的。
对于一个 training pair,作者设置最多 16 个正样本,总共 64 个样本。
3. Tracking as one-shot detection:
==
SiamRPN: High Performance Visual Tracking with Siamese Region Proposal Network的更多相关文章
- RPN(region proposal network)之理解
在faster-r-cnn 中,因为引入rpn层,使得算法速度变快了不少,其实rpn主要作用预测的是 “相对的平移,缩放尺度”,rpn提取出的proposals通常要和anchor box进行拟合回归 ...
- 【论文阅读】An Anchor-Free Region Proposal Network for Faster R-CNN based Text Detection Approaches
懒得转成文字再写一遍了,直接把做过的PPT放出来吧. 论文连接:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1804.09003v1. ...
- 论文笔记:Siamese Cascaded Region Proposal Networks for Real-Time Visual Tracking
Siamese Cascaded Region Proposal Networks for Real-Time Visual Tracking 2019-03-20 16:45:23 Paper:ht ...
- 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 ...
- 论文阅读笔记二十七:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(CVPR 2016)
论文源址:https://arxiv.org/abs/1506.01497 tensorflow代码:https://github.com/endernewton/tf-faster-rcnn 室友对 ...
- 目标检测(四)Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
作者:Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun SPPnet.Fast R-CNN等目标检测算法已经大幅降低了目标检测网络的运行时间. ...
- [论文理解] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 简介 Faster R-CNN是很经典的t ...
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
将 RCN 中下面 3 个独立模块整合在一起,减少计算量: CNN:提取图像特征 SVM:目标分类识别 Regression 模型:定位 不对每个候选区域独立通过 CN 提取特征,将整个图像通过 CN ...
- 深度学习论文翻译解析(十三):Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
论文标题:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 标题翻译:基于区域提议(Regi ...
随机推荐
- python的continue和break
continue:表示终止当前循环,开始下一次循环 break:终止所有循环 s = 0 while s < 3: s += 1 print(s) continue#'@' print(abc) ...
- layui 多个文件上传控件 整合缩减代码
// 图片上传 upload.render({ elem: '.upload-img' // 点击上传的按钮统一使用该类 ,url: "{:url('image/upload')}" ...
- 02- web-mini框架添加路由、MySQL(二)
本篇在上篇的基础上为其增设路由功能,同时将上篇中的数据库中数据备份添加进去. 一.装饰器 在之前有介绍过为一个函数不改变源代码不改变原函数的调用方式下为其增设附加功能,需要用到装饰器,而在该上篇的we ...
- Failed to close the ServletOutputStream connection cleanly, Broken pipe
Problem1: 服务端报错:Broken pipejava.io.IOException: Connection timed out at sun.nio.ch.FileDispatcherImp ...
- Linux 逻辑卷扩容
Linux 逻辑卷扩容 关键词:pv(物理卷).vg(卷组) .lv(逻辑卷) 今天在用linux过程中,根分区容量不够了,突然想起来好久没更新博客,就来说说逻辑卷扩容的问题吧. 1.扩容前的检查 记 ...
- 思想家:一个http接口的设计
一个简单的接口,反应出来一些简单的思想. auth_token= xxx post response (命令) 记住:我们是给第3方提供接口,不是自己使用 问题:平时就知道写代码,文档重视不够,有一 ...
- 零基础如何学好Python 之int 数字整型类型 定义int()范围大小转换
本文主题是讲python数字类型python int整型使用方法及技巧.它是不可变数据类型中的一种,它的一些性质和字符串是一样的,注意是整型不是整形哦. Python int有多种数字类型:整型int ...
- django模型类
模型类 ORM django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作. 在Django中主要是设计类:模型类. ORM另外一个作用:根据设计 ...
- Linux本地内核提权CVE-2019-13272
简介:当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数.但是,对象struct cred的生存周期规则不允许无条件地 ...
- [TypeScript] Optional Chaining with TypeScript 3.7
TypeScript 3.7 adds support for optional chaining. This lesson shows you how to use it in your code ...