跳转至

SiamRPN++

SiamRPN++是商汤科技的李博等提出的单目标跟踪算法。

简介

尽管SiamRPN已经取得了较好的成绩,尤其是在准确率和速度的平衡上。但是,尽管是性能最好的孪生跟踪器(Siamese Trackers)也与SOTA的传统方法有着相较而言十分明显的性能差距。孪生跟踪器大都基于较浅的AlexNet,且在换用深度的ResNet等之后没有性能提升,甚至还有所下降。本文对孪生跟踪器进行分析,发现前述的性能下降是由于严格平移不变性被破坏所导致的。本文进一步发现只有零填充(zero-padding)的AlexNet满足该空间不变性的限制。为了越过这个限制,并使孪生跟踪器得以与深度神经网络配合,本文提出了一个简单高效的采样方法来突破孪生跟踪器的空间不变性限制。本文成功的训练了一个使用ResNet作为骨干网络的基于SiamRPN的跟踪器。得益于ResNet的架构,本文提出了一个互相关运算(cross-correlations operation)的逐层特征聚合结构(layer-wise feature aggravation structure)。通过对孪生网络的互相关性进行分析,本文发现他两个网络分支的参数存在很大的不平衡。因此,本文进一步提出了一个逐深度可分离的相关结构(depth-wise separable correlation structure)。它不但极大程度上的降低了目标模板分支的参数数量,并且稳定了整个模型的训练过程。此外,一个有趣的发现被观察到–属于相同类别的对象在同一通道(channel)上有较高的响应(response),而在其他通道上的响应则被抑制。正交属性也可能提升跟踪的性能。本文的贡献可以被划分为四类:

  1. 本文提供了一个对孪生跟踪器的深度分析,并证明使用深度网络时的准确率降低来自于严格平移不变性的破坏。

  2. 本文提供了一个简单高效的采样机制来突破空间不变性限制,并借此成功的训练了一个通过ResNet架构驱动的孪生跟踪器。

  3. 本文提出了一个对互相关运算的逐层特征聚合结构,它帮助跟踪器从多等级中学习到的特征而预测相关图。

  4. 本文提出了一个逐深度可分离的相关结构来增强互相关,以产生于不同语义相关的多个相似度图。

基于上述的理论分析和技术贡献,本文提出了一个有效且高效的视觉跟踪模型。该模型在跟踪准确率上是一个新的SOTA,同时能达到35FPS。被提出的跟踪器,也被称为SiamRPN++,在五个大的跟踪基准测试中均取得了最好的成绩。与此同时,本文也提出了一个基于MobileNet骨干的高速变种,它能在保持有竞争力的性能同时达到70FPS的速度。为了便于视觉跟踪任务的进一步研究,本文的源码和训练模型均已开源。

由ResNet驱动的孪生跟踪

原始的ResNet有一个较大的步长,这对密集的孪生网络来说有些不太合适。如图所示,本文对conv4和conv5进行了修改,将他们的步长由16像素和32像素降低到了8像素,以得到单位空间步长(unit spatial stride),并通过膨胀卷积(dilated convolutions)来增加其接受场(receptive field)。一个额外的1 \(\times\) 1卷积被添加到每一个模块的输出之后以将通道降低为256。

由于每层的填充都被保持,模板的空间尺寸增加到了15,这会对相关计算模块上增加沉重的负担。因此,我们截取其中间的7 \(\times\) 7区域来作为模板特征。每个特征单元(feature cell)仍能捕获整个目标区域。

Following [24], 我们使用一个由互相关层和全卷积层的组合来组建一个头模块(head module)以计算分类分(表示为\(\mathcal{S})和一个边框回归器(表示为\)\mathcal{B})。孪生RPN模块表示为$\mathcal{P}。

更进一步的,我们发现仔细地微调ResNet会增加性能。通过将ResNet抽取器的学习率设置为RPN部分的十分之一,特征表示会更加适合跟踪任务。[为什么?]与传统的孪生方法不同,深度网络的参数是以端到端的形式被一起训练的。就本文作者所知,本文是第一个端到端训练一个用于视觉跟踪的深度孪生网络(\(\gt\) 20层)的。

逐层的聚合

siamrpn++.pdf