SiamRPN++相对于SiamRPN的改进

文章目录

    • 一、SiamRPN
    • 二、SiamRPN++
      • Spatial aware sampling stategy
      • Layer-wise Aggragation
      • Depth-wise seperable correlation
      • 分类及回归任务的不对称性

一、SiamRPN

SiamRPN引入了RPN结构,将跟踪问题化为了one-shot目标检测问题,跟踪效果较好,并且速度可达160FPS。
模型结构如图所示,孪生网络得到的特征图并没有直接进行互相关操作,而是通过RPN网络,对特征尺寸做进一步变换后再进行互相关操作(★: cross correlation)。
这里互相关更多的是,dynamic head思想,由不同的目标(template)生成exclusive参数,作为卷积核参数,相当于对特定目标进行滤波。SiamRPN++相对于SiamRPN的改进_第1张图片

在检测阶段,为了提高算法速度,将输入目标图像所在分支移除,只取输入测试图像的那一条分支。具体地:在算法完整的运行过一次后(完成第一帧待测试图像的跟踪后),固定下图中灰色方块的参数值,在后续的跟踪过程中都利用这些参数进行运算。这样就相当于给定第一帧图像中的目标信息,在后续待测图像中都根据此目标进行目标检测,即one-shot目标检测方法。

SiamRPN++相对于SiamRPN的改进_第2张图片

二、SiamRPN++

相对于SiamRPN的改进

Spatial aware sampling stategy

通过random shift来消除center bias,得以引入ResNet这样的深层网络

像AlexNet这样没有padding且层数较少的卷积网络,用其作为backbone提取特征,并对模板特征与搜索图像的特征做互相关操作,最后得到score map,这一过程具有一定的平移不变性,即文章中所述
在这里插入图片描述
SiamRPN++相对于SiamRPN的改进_第3张图片
而像ResNet这样的深层网络,且具有padding,并不具备这种严格的平移不变性。个人理解是由于卷积操作时,对于边缘处具有padding位置的卷积不可避免地会引入偏差,这些偏差起初只在feature map边缘,但随着深层网络的一个个卷积层最后会扩散到整个feature map。
失去这种严格的平移不变性对于神经网络而言是没有任何问题的,因为东西都是自己学习出来的,问题是目标跟踪数据集中大部分目标都在图像的中间,对于不具有严格平移不变性的网络,会更容易学习到这种 center bias(失去了平移不变性,互相关操作后得到的score map与位置天然的相关性就没那么大了,更依赖于对样本的学习)。
作者的解决方法是对目标进行random shift,让其分布尽量分散一些。作者对其进行了实验,也证实了这种猜想,加入random shift后模型精度会有较大提升。
SiamRPN++相对于SiamRPN的改进_第4张图片

Layer-wise Aggragation

利用ResNet的多个特征图,分别送入SiamRPN,最后结果做weighted sum,weighted sum各部分的权值设置为可学习的参数。

SiamRPN++相对于SiamRPN的改进_第5张图片

Depth-wise seperable correlation

可以参考深度可分离卷积,其中的depth-wise部分。相对于常规的互相关操作,可以降低很多计算量,且精度基本一致。

SiamRPN++相对于SiamRPN的改进_第6张图片

分类及回归任务的不对称性

SiamFC中最后输出结果是一个score map,直接由互相关操作得到,模板及搜索图像输入位置可以互换,即是对称的。
SiamRPN++相对于SiamRPN的改进_第7张图片

分类及回归任务显然不具备这种对称性,为了体现(endode)这种不对称性,作者让互相关操作前的卷积层不再共享权值。即下图中的adj_1和adj_2,adj_3和adj_4。
SiamRPN++相对于SiamRPN的改进_第8张图片

你可能感兴趣的:(计算机视觉,人工智能,目标跟踪)