【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network

今年CVPR2018 tracking的文章Siamese类方法很火,之前介绍了一篇FlowTrack
今天更新一篇CVPR2018的Spotlight
原文链接:High Performance Visual Tracking with Siamese Region Proposal Network

Motivation & Summary

作者的motivation很简单,想做一个精度又高,速度又快的tracker。就tracking领域而言,速度和精度一直是两个难以兼得的东西,基于CF(correlation filters)的方法速度很快,而基于深度学习的方法却在精度上有着明显的优势。作者以SiameseNetwork为baseline,针对Siamese的缺陷,提出了一个Siamese+RPN的跟踪网络,在惊人的速度下达到了非常不错的精度。

Contribution

Siamese + RPN Network

Siamese Network

我们先回顾一下SiameseFC
【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network_第1张图片
就是这个“朴素”的网络结构,深深的影响了这两年来tracking的发展方向。
所谓的Siamese(孪生)网络,是指网络的主体结构分上下两支,这两支像双胞胎一样,共享卷积层的权值。上面一支(z)称为模板分支(template),用来提取模板帧的特征,下面一支(x)称为检测分支(search),是根据上一帧的结果在当前帧上crop出的search region。经过了相同的网络之后,模版支的feature map在当前帧的检测区域的feature map上做匹配(*)操作,找到响应最大的点就是对应这一帧目标的位置。

Siamese网络的优点在于,把tracking任务做成了一个检测/匹配任务,整个tracking过程不需要更新网络,这使得算法的速度可以很快(FPS:80+)。此外,续作CFNet将特征提取和特征判别这两个任务做成了一个端到端的任务,第一次将深度网络和相关滤波结合在一起学习。

但是Siamese也有明显的缺陷:
1. 模板支只在第一帧进行,这使得模版特征对目标的变化不是很适应,当目标发生较大变化时,来自第一帧的特征可能不足以表征目标的特征。至于为什么只在第一帧提取模版特征,我认为可能因为: 1)第一帧的特征最可靠也最鲁棒,在tracking过程中无法确定哪一帧的结果可靠的情况下,只用第一帧特征足以的到不错的精度。 2)只在第一帧提模板特征的算法更精简,速度更快。
2. Siamese的方法只能得到目标的中心位置,但是得不到目标的尺寸,所以只能采取简单的多尺度加回归,这即增加了计算量,同时也不够精确。

为此,SiameseRPN的作者提出了Siamese+RPN的网络结构来解决问题2

Siamese RPN

【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network_第2张图片
这是算法的流程图,紫色的部分像原始的Siamese网络,经过同一个CNN之后得到了两个feature map,蓝色的部分是RPN,更详细的是下图:
【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network_第3张图片
作者借鉴了meta learning的思想,通过模版帧来学习检测分支RPN的网络参数。简单的说,就是预训练模版分支,然后利用第一帧的目标特征输出一系列weights,而这些weights,encode了目标的信息,作为检测分支RPN网络的参数去detect目标。这样做的好处是: 1)template支能学到一个encode了目标的特征,用这个特征去寻找目标,这会比直接用第一帧的feature map去做匹配更鲁棒。 2)相比原始的Siamese网络,RPN网络可以直接回归出目标的坐标和尺寸,既精确,又不需要像multi-scale一样浪费时间。
作者在文章中把这称之为一个“one shot detection”的任务,我觉得是很贴切的。
当然,这样做最大的问题在于训练,要知道,template frame的输出(weights for cls/loc)参数数量可能不比输入的图片像素维度低,甚至可能更高(这个我没计算过),要训练好这样一个model,需要大量的数据的,这也是为什么作者在ILSVRC和Youtube BB这种超大的数据集上训练的原因。

Details

training
1. 成对的给网络喂图片,图片会做些变换什么的
2. 相比于detection任务,tracking的目标形变较小,所以会减少anchor
3. 正负样本的选取,采用Iou来衡量,有两个阈值,threshold high(0.6) 和threshold low(0.3)

proposal selection
1. 空间和尺度变化的惩罚系数
2. 非极大抑制

Experiments

VOT 2015&2016
【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network_第4张图片
【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network_第5张图片
OTB100
【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network_第6张图片

【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network_第7张图片
最后一张图是说训练样本的数量越多,性能越好,这也应证了这个算法是数据驱动(data dreaming)的

你可能感兴趣的:(【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network)