【SPM-Tracker(CVPR2019)】论文阅读笔记

SPM-Tracker: Series-Parallel Matching for Real-Time Visual Object Tracking 论文地址

写在前面

这又是一篇two-stage的方法,发现今年的CVPR好多用多stage训练的,这篇文章比较巧妙地使用粗糙(CM)表示和精细(FM)表示相结合,得到最终的效果。效果很好,比SiamRPN精度高,思路也比较简单,不过人家用了很大的数据集训练,应该很难训练把。

Motivation

  • 目标跟踪需要的特征既要robust又要discrimination, 其中robust是为了让目标在表观变化情况下还能正确检测到(其实可以理解为语义的信息),而discrimination的特征是为了让tracker对相似性物体不漂移(就是物体本身的结构信息)。然而目前的tracker都是在一个网络中同时学到这两种表示,两者互相干扰会影响网络的精度,王强在2018年RASNet中也提到这个问题。

Contribution

  • 将robustness和discrimination的能力分成两个stage来训练,这样使得两个能力的训练更好训练;
  • FM stage的输入是CM stage的输出中置信度高的,这个时候可以平衡正负样本的比例;
  • 在FM阶段用了bbox回归机制,可以使得tracker应对尺度和比例变化;
  • 在FM阶段提出了一个新的距离度量方式(CVPR2018中的少样本学习中的某个loss)

Algorithm

【SPM-Tracker(CVPR2019)】论文阅读笔记_第1张图片
上图是这篇文章的整体流程图,从图中可以看出,其实还是一个Siamese的结构,template和search region先经过相同的网络来提取特征,然后像SiamRPN一样分成classification分支和bbox回归分支,得到的结果与前面层的特征做ROIAlign,然后concate之后作为FM阶段的输入,在FM阶段用两个全连接层来分类,计算相应图,最后再把两个阶段的输出用加权的方式求和,得到最终的响应度和bbox。下面讲一下这两个阶段。

1 CM

这个阶段的网络其实就是SiamRPN,不过他们在训练方式上有一些不同,提出了一种generalized training(GT)的方式,其实就在视频预处理的时候,不仅把同一个物体作为正样本对,而是把同类的不同个体也作为正样本对,就像下图3所示。这样其实可以学到更加general的信息,也就是文中提到的robustness的特征,不过这样也会使得网络学到的特征不够discrimination,这在FM中被解决。
【SPM-Tracker(CVPR2019)】论文阅读笔记_第2张图片
【SPM-Tracker(CVPR2019)】论文阅读笔记_第3张图片
图4表明了CM得到的特征定位更加准确。

2 FM stage

这个阶段主要负责区分背景和前景,从上图2中也可以看到,这个阶段用了conv2+conv4的特征,也就是用了浅层网路的特征来提高对目标更加specific的信息,因为到了这个阶段样本就比较少了,用cross-correlation无法很好去对比相似度, 所以他们用了CVPR18年的一篇few shot learning中的方式去度量(具体是啥文章里也没讲,可以去翻翻那篇论文)。最后把FM的响应与CM的响应相结合,然后得到最后的结果。
【SPM-Tracker(CVPR2019)】论文阅读笔记_第4张图片
可以看到,其实SiamRPN对distractor是很敏感的,甚至比SiamFC还要敏感,SPM-tracker通过CM来定位,FM来分类,结果很好。

Experiment

实验结果很高,感觉今年CVPR把精度刷的太恐怖,被接收的tracker都是精度取胜,速度也很强,这篇能跑到120FPS,感觉都是数据驱动了。
【SPM-Tracker(CVPR2019)】论文阅读笔记_第5张图片
【SPM-Tracker(CVPR2019)】论文阅读笔记_第6张图片
【SPM-Tracker(CVPR2019)】论文阅读笔记_第7张图片
【SPM-Tracker(CVPR2019)】论文阅读笔记_第8张图片

总结

是个很厉害的tracker,ROIAlign的方法也很巧妙,膜。我发现最近的论文都找不出缺点,只能说能做的地方也就是模型更新把,还有加一个更加厉害的tracker来验证。

你可能感兴趣的:(【SPM-Tracker(CVPR2019)】论文阅读笔记)