High Performance Visual Tracking with Siamese Region Proposal Network

2018-11-26 18:32:02

Paperhttp://openaccess.thecvf.com/content_cvpr_2018/papers/Li_High_Performance_Visual_CVPR_2018_paper.pdf

PyTorch Codehttps://github.com/songdejia/siamese-RPN-pytorch

Train Code: https://github.com/MathsXDC/DaSiamRPNWithOfflineTraining

TensorFlow Codehttps://github.com/makalo/Siamese-RPN-tensorflow

Reference Codehttps://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:

==

最新文章

  1. gulp 配置前端项目打包
  2. pip install使用豆瓣源
  3. 本地获取System权限CMD方法汇总(转)
  4. asp.net 处理流程
  5. [SQL]SUTFF内置函数的用法 (删除指定长度的字符并在指定的起始点插入另一组字符)
  6. 项目中的那些事---PHP函数
  7. emctl start dbconsole OC4J_dbconsole*** not found
  8. ld: symbol dyld_stub_binding_helper not found, normally in crt1.o/dylib1.o/bundle1.o for architecture i386
  9. (14)jdk1.5开始的一些新特性:静态导入,增强for循环,可变参数,自动装箱/拆箱,枚举类型
  10. dot watch+vs code提成asp.net core开发效率
  11. orm 复习
  12. Windows 10文件夹Shirt+鼠标右键出现“在此处打开命令窗口”
  13. IOS解析XML文件
  14. Java 异常处理的重要认识
  15. Java多线程的同步机制(synchronized)
  16. AnswerOpenCV一周佳作欣赏(0615-0622)
  17. GRUB2 命令行使用笔记
  18. 孕龙逻辑分析仪 ZeroPlus Logic Analyzer
  19. Struts2 文件下载(中文处理方法以及控制下载文件名称和扩展名)
  20. Spark概述及集群部署

热门文章

  1. 基于Java+Selenium的WebUI自动化测试框架(十三)-----基础页面类BasePage(Excel)
  2. 微信小程序---存储本地缓存数据
  3. 示例 NetworkWordCount
  4. Java 通过HttpClient Post方式提交json请求
  5. 有关 Java (jackson包问题 ,MappingJacksonHttpMessageConverter 和 MappingJackson2HttpMessageConverter问题)
  6. 文件操作2-Day3
  7. Diworth定理
  8. learning java AWT EventQs
  9. spark,hadoop集群安装注意
  10. 从海量文本中统计出前k个频率最高的词语