SiamRPN++阅读笔记

2021-05-11 14:10:13 浏览数 (1)

论文地址:https://arxiv.org/pdf/1812.11703.pdf

代码地址:https://github.com/STVIR/pysot

前言

在所有效果较好的算法中,网络结构基本是基于AlexNet和VGG,深度学习作为当今潮流,人们喜欢将热门网络结构与自己领域相结合,但是为什么在前几年ResNet热度高居不下的情况下,依然没有人将ResNet应用到目标检测中。这便是这篇论文解决的问题,虽然在CIR算法中也提到这个问题,但是Siamese-RPN 明显各方面表现都要好一点。

在论文中提到,由于目标可能出现在搜索区域的任何位置,因此目标模板的学习特征表示应保持空间不变,而ResNet网络中都会有Padding操作,而这个操作会影响算法的平移不变性,使得网络更加关注图像中心。我们进一步发现,在现代深层体系结构中,只有AlexNet的零填充变体满足此空间不变性的限制。所以该论文的工作便是将ResNet运用于Siamese-RPN,代替常规的AlexNet,并且性能提升。

论文行文思路如下:

图1 解决问题思路

总体设计:

经过详细分析,论文中发现使用深层网络防止连体跟踪器的核心原因与这两个方面有关,一个原因是深层网络中的填充将破坏严格的平移不变性,另一个是RPN需要不对称的特征来进行分类和回归。

1)引入空间感知采样策略来克服第一个问题。

2)第二个问题引导了Depthwise Cross Correlation模块的产生,这样第二个问题可以迎刃而解。

在本文中一共有以下四个创新:

1)使用空间感知采样策略处理数据。

2)将ResNet或MobileNet这样的深层网络引入孪生网络。

3)逐层聚合,选择了三个残差块的输出到RPN中。

4)深度交叉相关(Depthwise Cross Correlation)。

基于这些创新点,本论文提出的方法主要流程为,首先将目标图像和搜索图像分别输入孪生网络的两端,经过50层的ResNet网络分别对他们进行特征提取,并且在conv3、conv4和conv5输入到RPN网络中,进行目标检测,然后三个结果进行融合,输出目标被框出来的搜索图像。论文中提出的框架图如图3所示,我们根据流程绘制的大致流程图如图2所示。

图 2 SiamRPN 框架图

详细设计:

1、空间感知采样策略

经过实验验证,正样本放在图像中心会使网络只对中心产生响应,不利于移动目标检测,因此,在训练过程中,不再把正样本块放在图像正中心,而是按照均匀分布的采样方式让目标在中心点附近进行偏移。这样就可以解决数据集的问题,便可以使用深层网络了。

文章中设计了一个模拟实验来验证resnet加入padding后带来平移不变性被破坏的影响。

把正样本均匀分布到某个范围内,而不是一直在中心时(所谓的范围即是指距离中心点一定距离,该距离为shift;正样本在这个范围内是均匀分布的),随着shift的不断增大,这种现象能够逐渐得到缓解。当shift从0变化到64的时候,跟踪算法在VOT16和VOT18数据集上面的效果都有了显著的性能提升,当shift超过64之后,提升的性能并不大,这可以从一方面说明该操作可以在一定程度上缓解上述这个问题。

图3 平移效果图

所以,通过均匀分布的采样方式让目标在中心点附近进行偏移,可以缓解网络因为破坏了严格平移不变性带来的影响,即消除了位置偏见,让有padding的更深层网络可以应用于跟踪算法中。

2、将ResNet或MobileNet这样的深层网络引入孪生网络

本文实验使用ResNet-50,现代化网络一般都是stride32,但跟踪为了定位的准确性,一般stride都比较小(Siamese系列一般都为8),所以我们把ResNet最后两个block的stride去掉了,同时增加了膨胀卷积,一是为了增加感受野,二是为了能利用上预训练参数。

3、逐层聚合

图4 RPN块

分别将conv3、conv4和conv5层的特征图输入到RPN网络中,然后利用图5所示RPN块对特征图进行目标检测,对每一张图片进行分类检测和定位框位置。在深层网络结构中,早期图层的特征主要集中在颜色,形状等低级信息上,对于本地化至关重要,因此才使用将前面的卷积特征图输出。

使用三个RPN块的好处主要有两点:

1)可以通过多个SiamRPN来选择出多样化的样本或者具有判别性的样本块,第一个SiamRPN可以去除掉一些特别简单的样本块,而后面的网络进一步进行滤除,最终剩余一些复杂的负样本,这样其实有利于提升网络的判别能力。

2)由于使用了多级回归操作,因此可以获得一个更加准确的BBox。

图5 多层融合计算公式

其中所需要的超参数是预训练时学习到的。

4、深度交叉相关(Depthwise Cross Correlation)

具体结构如图4所示,和SiamRPN中的UpChannel一样,在做correlation操作以前,模版和搜索分支会分别通过一个卷积层,但并不需要进行维度提升,这里只是为了提供一个非孪生的特征。在这之后,通过类似depthwise卷积的方法,逐通道计算correlation结果,这样的好处是可以得到一个通道数非1的输出,可以在后面添加一个普通的 1x1卷积就可以得到分类和回归的结果。整个过程类似于构造检测网络的头网络。

它的参数比SiamRPN中的UpChannel少10倍,然而性能却没有下降,因此SiamRPN 性能得到了巨大的提升。

这里的想法我觉得借鉴于MobileNet v1,模型压缩的一种有效方法。

图6 DW-Corr结构

实验效果:

图7 在VOT-2018上跟踪器指标

图8 成功率图

图9 精确度图

总结

从这篇论文之后,特征提取的主网络使用ResNet-50这样的复杂网络代替之前的AlexNet应该是主流了,同样作者的空间采样策略在训练时很有借鉴的意义,而后面参数量增加带来的速率的问题,通过模型压缩进行解决而本论文之采用了MobileNet v1的深度可分离卷积,现在MobileNet已经出到了v3,后面可能会跟着对应被更新替换。而三个通道出来的融合,更像一个不同卷积层不同感知特征的一个融合,是一个低层颜色形状轮廓跟后期特征的一个共同作用。

0 人点赞