相比于SiamFC,SiamRPN做了如下改进:

    1、引进了Region Proposal Network。并将模板图像和检测图像经卷积神经层输出的feature map都复制双份,一份送到RPN中的分类分支,另一份送到RPN中的回归分支。
    Screenshot from 2020-08-28 10-45-14.png

    1. 在RPN的分类分支中,模板图像和检测图像的feature map,都将首先通过一个卷积层,该卷积层主要是对模板图像的feature map进行channel上的升维,令其维度变为检测图像的feature map的维度的2k倍(k为RPN中设定的anchor数)。此后,将模板图像的feature map在channel上按序等分为2k份,作为2k个卷积核,在检测图像的feature map完成卷积操作,得到一个维度为2k的score map。该score map同样在channel上按序等分为k份,得到对应k个anchor的k个维度为2的score map,两个维度分别对应anchor中前景(目标)和后景(背景)的分类分数,是关于目标的置信度。

    2. 在RPN的回归分支中,模板图像和检测图像的feature map,都将首先通过一个卷积层,该卷积层主要是对模板图像的feature map进行channel上的升维,令其维度变为检测图像的feature map的维度的4k倍(k为RPN中设定的anchor数)。此后,将模板图像的feature map在channel上按序等分为4k份,作为4k个卷积核,在检测图像的feature map完成卷积操作,得到一个维度为4k的score map。该score map同样在channel上按序等分为k份,得到对应k个anchor的k个维度为4的score map,四个维度分别对应anchor的(x,y,w,h),是关于目标的坐标及尺寸。

    3. RPN的引入,使得Siamese网络自然拥有了多尺度检测的能力(通过anchor机制cover各种size),并且可以准确地回归出目标的位置及大小。

    SiamRPN++是一种针对相关滤波器的改进方法。SiamRPN是基于卷积之后的相关特征进行操作的,这导致追踪算法存在两个弊端:

    1、网络需要满足严格的平移不变性。即:目标在检测帧中移动时,跟踪的响应位置也会相应地进行等量移动。如SiamFC中介绍的,padding会破坏这种性质:因此如果一个神经网络使用了padding,且在用于训练的图像里,正样本(目标)都位于图像的中心,那么当该神经网络在检测图像上预测目标时,会由于训练样本中目标的分布特性,学习到对图像中心位置的预测偏好。不管目标移动到图像中的哪一处,网络都只会预测中心区域的位置。

    2、网络有对称性,即将模板图像和检测图像互换,计算出的两者之间的相似度应该是不变的。因为相似度计算本身就是一个对称操作。SiamRPN的回归分支和分类分支上,都对模板图像的feature map进行了channel升维,导致,来自模板图像和检测图像的特征维度不对称(参数量不等),即两组特征并不是从相同的特征提取器中提取出来的,所以若将模板图像和检测图像互换再进行相关操作,必然会输出不同的结果,即失去操作的对称性。

    针对问题1,SiamRPN++采用了均匀分布的采样方式解决问题。

    为什么padding导致的平移问题在检测和语义分割中并不存在? 因为对于物体检测和语义分割而言,训练过程中,物体本身就是在全图的每个位置较为均匀的分布。我们可以很容易的验证,如果在物体检测网络只训练标注在图像中心的样本,而边缘的样本都不进行训练,那么显然,这样训练的网络只会对图像的中心位置产生高响应,边缘位置就随缘了,不难想象这种时候边缘位置的性能显然会大幅衰减。而更为致命的是,按照SiamFC的训练方式,中心位置为正样本,边缘位置为负样本。那么网络只会记录下边缘永远为负,不管表观是什么样子了。这完全背离了我们训练的初衷。

    SiamRPN++利用了padding会让网络学习到位置偏好这个特点,在训练过程中,不再把正样本放在中心,而是以均匀分布的采样方式让目标在中心点附近进行偏移,让网络对各个位置都学习到一定的偏好(相当于没有偏好),从而使网络的跟踪性能不会随着网络的加深而下降。

    针对问题2,SiamRPN++采用了depthwise cross-correlation的方式解决非对称问题。

    Screenshot from 2020-08-28 11-29-42.png

    在做correlation操作以前,模版和搜索分支会分别过一个卷积,但不需要提升维度,这里只是为了提供一个非Siamese的特征(SiamRPN中与SiamFC不同,比如回归分支,是非对称的,因为输出不是一个响应值;需要模版分支和搜索分支关注不同的内容)。在这之后,通过类似depthwise卷积的方法,逐通道计算correlation结果,这样的好处是可以得到一个通道数非1的输出,可以在后面添加一个普通的1*1卷积就可以得到分类和回归的结果。

    Screenshot from 2020-08-28 11-33-33.png

    SiamRPN++中对三个不同级别的SiamRPN进行了融合操作,论文中称为layer-wise aggregation,由于每个模块输出的特征图尺寸是一致的,因此可以直接通过空间权重加在一起作为最终的特征输出。