Paper : SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks
Code : official
摘要
作者研究的核心是如何将网络深度较深的结构应用到SiamRPN网络中。作者发现现有的SiamRPN以及它的改进大多使用AlexNet等相对来说深度比较低的CNN结构进行feature extraction,而使用例如ResNet之类深度较深的结构对于Object Tracking任务来说并没有明显的提升。作者经过理论分析和实验发现,深度神经网络对严格的平移不变性会产生影响,因此提出了一种简单并有效的采样策略来打破空间不变性的限制,还提出了跨层特征聚合结构来聚合多尺度的feature map,提出了深度分离互相关结构来减少参数个数,稳定训练过程,鼓励模型产生不同语义相关的多种similarity map。
平移不变性
在目标追踪的任务中,由于目标可能出现在搜索区域中的任何位置,因此特征提取的过程一定要有严格的平移不变性/空间不变性。
SiamFC的核心部分可以使用下式表示
f ( z , x ) = ϕ ( z ) ⊗ ϕ ( x ) + b f(z,x) = \phi(z) \otimes\phi(x)+b f(z,x)=ϕ(z)⊗ϕ(x)+b
对于这种SiamFC结构的网络,存在如下两个限制
- 空间不变性: f ( z , x [ Δ τ j ] ) = f ( z , x ) [ Δ τ j ] f(z,x[\Delta \tau_j]) = f(z,x)[\Delta\tau_j] f(z,x[Δτj])=f(z,x)[Δτj],其中 [ Δ τ j ] [\Delta\tau_j] [Δτj] 表示平移子窗口的操作,注意SiamRPN将目标物体放到图片中心进行训练,这更要求了结构的空间不变性。
- 结构对称性: f ( z , x ′ ) = f ( x ′ , z ) f(z,x') = f(x',z) f(z,x′)=f(x′,z),这是相似度学习的本质属性。
对于深度较深的ResNet来说,padding 操作破坏了空间局部性,而且RPN结构其实更适合不对称的结构,因为两个分支完成的是不同类型的任务。
作者分别在不同的随机平移上界上进行模型训练,然后将测试集上的heat map进行聚合,得到如下三张图
这说明了模型学到了很强的中心位置的偏置。因此,一个有效的训练方法应该是对模板进行随机的平移变换,不同尺度的平移变换对性能的影响如下
SiamRPN++ 中的ResNet结构
原始的ResNet具有32像素的大步幅,不适用于密集的Siam Network预测。 通过将conv4和conv5修改为具有单位空间步长,我们将最后两个块的有效步幅从16个像素和32个像素减少到8个像素,并通过膨胀卷积来增加其感受野。额外的1×1卷积层附加到每个块输出,以将通道减少到256。由于保留了所有层的填充,因此模板特征的空间大小增加到15,这给相关性带来了沉重的计算负担,因此,将中心的7×7区域裁剪为模板特征,其中每个特征单元仍可以捕获整个目标区域。
不止如此,作者还发现对ResNet进行finetune可以改善模型的表现,只不过需要将ResNet部分的参数学习率调小到RPN部分的1/10才行。
跨层聚合
对于足够深的网络,跨层聚合信息成为了有效的改进方案。浅层的网络输出可以提供更多低维信息,而深层的输出可以提供更多的语义信息。对于ResNet50,作者从最后三个残差块中提取的多层特征,以进行分层聚合。 我们将这些输出分别称为F3,F4和F5。 如图所示,conv3,conv4,conv5的输出分别馈入三个Siam RPN模块。 由于三个RPN模块的输出大小具有相同的空间分辨率,因此直接在RPN输出上采用加权和。
加权融合层将所有输出聚合
S all = ∑ l = 3 5 α l S l B all = ∑ l = 3 5 β l B l \\S_\text{all} = \sum_{l=3}^5 \alpha_l S_l \\B_\text{all} = \sum_{l=3}^5 \beta_l B_l Sall=l=3∑5αlSlBall=l=3∑5βlBl
注意到在Siam RPN模块中,卷积并不是共享的,这有助于 cls 和 reg 两个任务学到属于自己的特征。
深度可分离互相关
其中,XCorr是SiamFC中使用的,UP-XCorr是SiamRPN中为了根据Archor box的个数输出多通道结果使用的,DW-XCorr是SiamRPN++提出的。通过将互相关替换为深度可分离,我们可以大大降低计算成本和内存使用量。 这样,模板和搜索分支上的参数数量是平衡的,从而使训练过程更加稳定。 此外,实验显示了一个有趣的现象。相同类别的对象在相同的通道上具有较高的响应值,而其余通道的响应则受到抑制。
总结
本文主要提出了三个方面的贡献,包括对于为什么AlexNet可以而更深的网络就失效的问题的分析,DW-XCorr的提出,跨层聚合的结构。这三点中后两点应该是受到之前工作的启发,而第一点还是非常好的一个创新点,之前在读SiamRPN的论文时没有思考到可能出现这个问题,值得学习。