作者提出了一套高性能通用目标跟踪器的设计准则:
- G1:跟踪网络可以分解成两个子任务,一个是分类,一个是位置的精确估计。如果没有强大的分类器(分类分支),跟踪器无法将目标与背景或干扰物区分开来,模型的判别性就会降低,表现到VOT评价指标上就是R(鲁棒性)指标不高。如果没有准确的状态估计(回归分支),跟踪器的准确性就会降低,表现到VOT评价指标上就是A(精确性)指标不高。
- G2:分类得分应该直接表示目标存在的置信度分数。分类和状态估计使用的feature map要分开,不能将分类分支得到的feature map直接用于状态估计,这在一定程度上会降低精确性。
- G3:跟踪方法不应该加入类似比例/比率分布的先验知识,现有方法普遍存在对数据分布先验知识的依赖,影响了模型的泛化性能,影响其通用性。Siamese网络匹配的应该是原始的模板图像,而不是预设定的anchors,这会导致模型的判别性降低。SiamFC++的A值略低于SiamRPN++,但是R值在测试过程中都比SiamRPN++高,作者认为这是anchors导致的原因,在论文的实验部分作者表示SiamRPN系列都是与anchors进行匹配而不是模板(exemplar)本身,暗示anchors与exemplar之间存在一些差异,导致SiamRPN系列的鲁棒性不高。
- G4:直接使用分类置信度来选择预测框会导致性能退化,应该使用与分类无关的估计质量得分。
主要贡献:
- 为现代跟踪器设计了一套实用的目标状态估计准则
- 根据设计准则,提出了一个简单但功能强大的SiamFC++跟踪器
- 在五个具有挑战性的基准上取得了最先进的结果;其中在TrackingNet数据集上达到了75.4的AUC得分,速度超过了90FPS
该网络结构十分简单直观,首先用相同的φ(作者源码里提供了AlexNet、GoogleNet等主干网络)来进行特征提取,得到的feature map分别输入到分类分支和回归分支,在两个分支中,模板feature map与搜索feature map进行互相关计算。
得到了响应图之后,接着进行相关的head操作,这里作者提出了两个head,分别用于获取分类分数和位置回归分数,其中作者为了更好的平衡分类得分与目标位置的关系,引入了质量评分,将质量评分与分类得分相乘得到最后的选择预测框的得分。其中对于质量得分,作者定义了如下两种方式进行计算:
其中:
s为网络总步长(论文中s=8),(x0,y0)(x_0, y_0)(x0,y0)、(x1,y1)(x_1, y_1)(x1,y1)为ground-truth的左上角和右下角坐标。
其中,BBB为预测框,B∗B^*B∗为ground-truth bounding box。
在推理过程中,通过将PSS与相应的预测分类分数相乘来计算用于最终框选择的分数。这样,那些远离目标中心的包围盒将被严重降权,从而提高了跟踪精度。
SiamFC++在SiamFC的基础上增加了位置回归和估计质量得分,同时运用了多种Loss联合进行训练,大大提高了跟踪性能。