视觉目标跟踪SiamRPN

Paper:High Performance Visual Tracking with Siamese Region Proposal Network。
http://openaccess.thecvf.com/content_cvpr_2018/papers/Li_High_Performance_Visual_CVPR_2018_paper.pdf

我们在前面已经介绍了SiamFC,SiamFC的方法只能估计目标的中心位置,而要想对目标的尺寸进行估计,只有通过多尺度测试来预测尺度的变化,这种方式不仅增加了计算量,同时也不够精确。SiamRPN作为对其的改进,主要通过引入区域候选网络(Region Proposal Networks, RPN)来对bbox进行回归,提高跟踪定位的精度。

1. 算法原理

1.1 SiamRPN网络架构

由上图可以看出,整个网络结构可以分为两部分:

  • Siames Network,与SiamFC类似,孪生网络分为上下两支,上下两支路的网络结构和参数完全相同,该网络的作用是分别提取模板帧和检测帧的图像特征。孪生网络的两个分支可以用一个卷积网络实现,值得注意的是这个卷积网络必须为全卷积网络,满足平移不变性,即先对图像进行有比例因子的转换操作再进行全卷积操作等同于先对图像进行全卷积操作再进行转换操作。
  • Region Proposal Network,该子网络的作用是对bbox进行回归,得到精确的位置估计。RPN网络由两部分组成,一部分是分类分支,用于区分目标和背景,另一部分是回归分支,它将候选区域进行微调。

1.2 Anchors

在讨论RPN前,需要说一说anchor,anchor的本质就是输出一系列不同尺寸和形状的矩形,

在RPN中使用滑窗技术在特征图的每个点都生成k个anchor,即通过这些矩形来对bbox进行回归。

1.3 RPN

从网络架构可以看出,模板图像和搜索图像经过Siamese网络分别得到6 x 6 x 256,22 x 22 x 256的特征,然后模板图像特征通过3 x 3的卷积核分别产生了4 x 4 x (2k x 256)以及4 x 4 x (4k x 256)的特征,这里从6 x 6的尺寸经过3 x 3的卷积核得到4 x 4的特征尺寸比较简单,值得注意的是特征通道从256上升到了2k x 256以及4k x 256,之所以通道数上升了2k倍,是在特征图的每个点生成k个anchor,同时每个anchor可以被分类到前景或背景,所以分类分支上升了2k倍,同理每个anchor可以用4个参数进行描述,所以回归分支上升了4k倍。同时搜索图像也通过3 x 3的卷积核分别得到两个特征,这里特征通道数保持不变。

对于分类分支,将2k个模板图像anchor的4 x 4 x 256特征作为卷积核与搜索图像特征进行卷积操作,从而产生分类分支响应图;对于回归分支与此类似,产生的响应图为17 x17 x 4k,其中每个点表示一个尺寸为4k的向量,为dx,dy,dw,dh,衡量着anchor与groundtruth的偏差。响应图计算公式如下:

1.4 训练阶段

在训练过程中使用Faster R-CNN的loss函数,用cross-entropy loss作为分类分支的损失函数,用smooth L1 loss作为回归分支的损失函数。

交叉熵loss与SiamFC类似。对于回归分支的损失函数,首先将anchor的坐标标准化,

smooth L1 loss函数为,
总的loss函数为,
其中回归loss为,
Smooth L1
  • 相比于L1损失函数,可以收敛得更快。
  • 相比于L2损失函数,对离群点、异常值不敏感,梯度变化相对更小,训练时不容易跑飞。

训练过程中anchor数量一共五个,one scale, 5 ratios([0.33, 0.5, 1, 2, 3])。

正负样本选择策略:设置高低两个阈值,大于0.6的为正样本,小于0.3的为负样本,一个pair中有64个样本,其中正样本最多16个。

1.5 跟踪阶段

作者将跟踪任务规划为一个one-shot detection任务,即首先学习一个learner net,在本文中对应于相似性函数。学习完成后,在跟踪阶段通过初始帧学习得到卷积操作的卷积核参数,从而得到pupil net,然后再后续帧对目标进行跟踪。其实在之前的相关滤波器类跟踪器,SiamFC跟踪器都存在这样的思想,SiamRPN从理论的角度对其进行了阐述。

跟踪框架可以描述为,

推理阶段:

定义分类特征图和回归特征图分别为,

这里l为奇数对应于正样本,选择分类响应图中top K个正样本,得出对应的anchors,然后得到与之对应的回归响应图中K个坐标偏移,最后通过anchors和这些偏移值得到预测值,计算公式如下:

由此我们得到K个proposals。

Proposal selection:
我们需要从K个proposal中进行选取,文章中给出了两个策略:

  • 作者认为相邻帧目标的位移不会太大,所以只选取分类特征图中心区域的点。
  • 使用cosine窗和尺度变化惩罚来re-rank proposals的得分

最终使用NMS 来得到最终的bbox。

2 实验

实验环境是Intel i7、12G RAM、Nvidia GTX1060。

上图为在OTB2015上的实验结果,可以看出相对于SiamFC跟踪性能有利很大的提升。同时跟踪速度达到了160FPS,几乎为SiamFC(86FPS)跟踪速度的2倍。

你可能感兴趣的:(视觉目标跟踪SiamRPN)