Advertisement

【SiamRPN】《High Performance Visual Tracking With Siamese Region Proposal Network》

阅读量:
在这里插入图片描述

CVPR-2018

商汤科技


文章目录

  • 背景与动机分析

  • 相关研究综述

  • 劣势与贡献总结

  • 方法概述

  • 实验分析
    针对VOT平台的实验结果
    针对OTB2015平台的实验结果
    讨论

    • 6 Conclusion(own) / Future work
    • 附录——Pysot
    • 附录——作者解读

1 Background and Motivation

在这里插入图片描述

单目标跟踪的难点: illumination, deformation, occlusion and motion

基于深度学习的单目标跟踪精度越来越高,但是 real-time speed 还不足

基于 SiamFC 的基础上引入了Faster RPN框架,并提出了 Siamese Region Proposal Network(SiamRPN)。

让跟踪框更加的准确,并且省去多尺度测试耗费的时间

  • 基于Siamese网络架构设计的追踪系统
  • 检测中的RPN方法
  • 单类学习技术
  • 基于贝叶斯统计理论
  • �元学习方法

3 Advantages / Contributions

在这里插入图片描述

开发SiamRPN这一系统旨在实现其在全端训练下的高效性。

irst work to formulate online tracking task as one-shot detection

该方法展现出卓越的速度与性能,在VOT 2015、VOT 2016以及VOT 2017的实时挑战中表现突出,在每秒帧数(FPS)方面达到令人瞩目的水平

4 Method

在这里插入图片描述

该网络采用Siamese架构以实现特征提取;区域建议子网络结合分类分支与回归分支以生成区域建议

The generator produces a template with a channel count of also 2^8. The correlation operator's convolutional kernel size is either a configuration of (\mathbf{C}^{\prime \prime} \times \mathbf{C}^{\prime \prime} \times K^{\prime}) \times (C_o), where \mathbf{C}^{\prime} and \mathbf{C}^{\prime \prime} are the spatial dimensions, K^\prime is the number of feature channels, and C_o is the output channels.

(1)Siamese feature extraction subnetwork

template branch,输入 z,网络 \varphi(z)

detection branch,输出 x, 网络 \varphi(x)

(2)Region proposal subnetwork

pair-wise correlation section

在这里插入图片描述

\varphi(z) -> [\varphi(z)]_{cls}[\varphi(z)]_{reg}
\varphi(x) -> [\varphi(x)]_{cls}[\varphi(x)]_{reg}

[\varphi(z)] is served as the correlation kernel of [\varphi(x)] in a “group” manner

在这里插入图片描述

cls 中索引位置2对应的是物体及其背景区域;reg 层中的第4个通道用于计算 dx、dy、dw、dh 这些参数以衡量锚框与对应的 groundtruth之间的距离;k 的默认设置为5,在这种情况下表示有5种不同的 spatial scales 的锚框配置可用。

supervision section

foreground background classification——cross-entropy loss

the other for proposal regression——smooth L1 loss

在这里插入图片描述

A 为锚点;T 代表 ground truth;x 和 y 为中心点;学习的内容包括中心坐标的变化量以及长度与宽度的比例调整。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)Training phase: End-to-end train SiameseRPN

same object in two adjacent frames won’t change much

结果超过预设界限(设定值为0.6)则标记为阳性类别;而结果低于设定界限(设定值为0.3)则被归类为阴性类别;介于两者之间的结果则予以放弃;此外,在每次选取样例时还须限定数量范围以维持整体比例稳定;即每次最多选取16个阳性样例并确保总共有64个样例来自同一个训练对

(4)Tracking as one-shot detection

在这里插入图片描述

z template
x detection

The local detection task relies upon category information provided solely by the template during its initial frame, thereby qualifying as one-shot detection.

在这里插入图片描述

分类和回归分支的预测

在这里插入图片描述

k = 5,预测的是中心坐标的偏移和长宽尺度的缩放

在这里插入图片描述

proposals

anchors

预测结果结合 anchor 还原跟踪框的坐标

Proposal selection

第一个策略是丢弃由锚点生成的边界框中那些远离中心位置的

在这里插入图片描述

g x g subregion

g × g × k anchors instead of m × n × k anchors

the discard strategy can efficiently remove the outliers

该策略采用余弦窗口与尺度变化惩罚相结合的方法进行排序优化,以实现提案得分的最佳排序

cosine window 用的是 hanning window,中间权重大,边缘权重小

在这里插入图片描述

r denotes the height-to-width ratio of the proposal, while r′ expresses the proportion of the previous frame.

s and s′ denote the total extent of the proposal and last frame, which is computed as follows.

在这里插入图片描述

p 是 padding,p = \frac{w+h}{2}

注意 r's' 是上一帧的,不是第一帧的

对应的代码(https://github.com/STVIR/pysot/blob/master/pysot/tracker/siamrpn_tracker.py)

在这里插入图片描述

变化幅度越大时,则乘数减小(基于指数函数),其分类分支得分下降幅度越大

window对应的相关代码(https://github.com/STVIR/pysot/blob/master/pysot/tracker/siamrpn_tracker.py)

在这里插入图片描述
在这里插入图片描述

来做一个空间位置上的滤波(认为下一帧的跟踪目标不会离这一帧太远)

5 Experiments

the parameters of the first three convolution layers are set to fixed values, while only performing tuning on the last two convolution layers within a Siamese-RPN framework.

在这里插入图片描述

train 50 epoches

输入尺寸

在这里插入图片描述

resize 到 127(z) 和 255(x)

p = \frac{w+h}{2} padding

5.1 Datasets and Metrics

  • VOT2015
  • VOT2016
  • VOT2017
  • OTB2015

accuracy (average overlap while tracking successfully)

robustness (failure times)

Expected Average Overlap (EAO)——incorporates both metrics of accuracy and robustness

the speed is evaluated with a normalized speed (EFO)

5.2 Result on VOT

(1)VOT2015

在这里插入图片描述
在这里插入图片描述

Siamese-RPN——160 FPS

Siamese-FC——86 FPS

(2)VOT2016

the sequences are identical to those of VOT2015, but the bounding boxes have been revised.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)Result on VOT2017 real-time experiment

在这里插入图片描述

Siamese-RPN can rank 1st according to EAO

5.3 Result on OTB2015

The precision of this method is demonstrated by tracking results falling within a 20-pixel margin around the target, and its success is defined by an overlap that surpasses a specified threshold. The plot illustrates the ratios of successfully captured frames as the threshold shifts from 0 to 1.

在这里插入图片描述

Siamese-RPN is able to rank 1st

5.4 Discussion

(1)Data size

在这里插入图片描述

引入 youtube-bb 之后,性能还有增长的空间

By significantly expanding the training data sources, sparsely annotated datasets enable more comprehensive training of deep neural networks.

(2)Anchor selection

anchor ratios

A3 [0.5, 1, 2]

A5 [0.33, 0.5, 1, 2, 3]

A7 [0.25, 0.33, 0.5, 1, 2, 3, 4]

在这里插入图片描述

anchor position

在这里插入图片描述

This implies that the discriminative ability of RPN cannot effectively utilize extensive search regions.

6 Conclusion(own) / Future work

参考

复制代码
* https://github.com/songdejia/siamese-RPN-pytorch
* [Siamese RPN 翻译解析](https://zhuanlan.zhihu.com/p/423508140)
* [Siamese系列跟踪网络之SiamFC、SiamRPN、DaSiamRPN、SiamRPN++、SiamMask]()

代码肯定和论文细节上肯定是有一些差距的

不同于标准的RPN方法,在该论文中我们采用了相关运算后的特征图来进行区域提取过程(在Faster RCNN中使用的是原始图像生成的特征图)——我们通过相关性特征图进行提案抽取

模板匹配问题看成了一个部分范围内的 one-shot detection问题

Hanning 窗口

在这里插入图片描述

附录——Pysot

源码链接:https://github.com/STVIR/pysot

掌握PySOT库的基础知识(从介绍到配置再到实际应用)]()(测试集中标签与图片的一一对应关系,在VOT2016和VOT2018数据集同样需要对这两个数据集进行类似的处理流程)

深入学习 PySOT 工具包 v2(包含 PySOT 工具包, 比较分析功能, 和 数据可视化功能)

PySOT单目标跟踪系统的全程训练与验证流程(网络上最为详尽的内容,请随时关注更新中!值得保存参考)]()(数据集中记录相关的配置参数设置)

pysot 配置+训练coco数据集

针对目标追踪的技术研究与实践(SiamRPN\SiamRPN++)

配置PySOT完整过程

重量级!商汤开源最全面的目标追踪库PySOT发布:包含诸如SiamRPN++和SiamMask等算法

PySOT训练流程概述(深入解析) - SiamRPN++ & ResNet50

目标追踪技术作为研究热点,开源高质量数据集的分类与整理工作(无标注信息且不可靠的内容或数据源)

PySOT代码中的SiamRPN++解析与训练(主干)

PySOT代码之SiamRPN++分析——训练(全部)

SiamRPN代码解析–方案选择部分(结合相关公式进行初步说明)

整理中的目标跟踪数据集下载链接汇总(更新中)(BD cloud disk)

https://github.com/HonglinChu/SiamTrackers

https://github.com/foolwood/SiamMask

https://github.com/STVIR/pysot/discussions/447(which model is siamrpn++? #447)

model zoo

GitHub仓库pysot的MODEL_ZOO.md文件中包含后缀otb和lt这两个技术项,它们专为OTB(Object Tracking in a Broad Sense)与VOT(Visual Object Tracking)领域的长期跟踪挑战而设计。其中,默认值(即未添加任何后缀的情况)则是专为解决VOT中的短期跟踪问题而开发的技术方案。

在这里插入图片描述
在这里插入图片描述

backbone 的预训练模型需要找找上面的链接,作者没有开源

测试集

  • OTB2015
    VOT_{} 以及 VOT_{} / VOT_{} / VOT_{} (如 LaSOT)已发布;UAV_{} 数据集也被广泛采用;其中label和image的数量存在差异;可能存在某些图像包含多个目标,并且每个图像对应两个标签分别为person-{} 和person-{};需要手动复制并重命名相关图片文件夹。

转 onnx

用自己训练完后的模型跑demo

在这里插入图片描述

跑 resnet18

在这里插入图片描述

实验中曲线图的画法——TNL2K

跑 alexnet

在分析16gpu版本的配置后,在查看网络结构中的配置参数(包括core中的设置),未能正确设置可能导致系统异常

附录——作者解读

CVPR2018视觉目标跟踪之 SiameseRPN

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~