logo

基于卷积孪生网络的视觉目标跟踪浅析

作者:福怼怼2021.07.04 15:06浏览量:198

简介:介绍基于孪生网络的三个目标跟踪器(SiamFC、SiamRPN和SiamFC++)。

本文简单介绍一下基于孪生网络的视觉目标跟踪算法,以三个经典工作为基础总结本人的一点理解。配合论文食用更佳,希望能对初学者带来一点帮助。

1.引言

入门一个新的研究课题需要先了解它是做什么的。目标跟踪处理的是视频数据,常见的设定是:在视频的第一帧中给出感兴趣目标的大小和位置(通常由一个四值向量 表示目标框,表示目标框的位置,表示目标框的大小),要求算法评估后续帧中目标的大小和位置。如图1所示,绿色的框是人工标注的结果,黄色的框是跟踪器的评估结果,两者之间的差距便可以用来衡量跟踪器的性能优劣。


图1 视觉目标跟踪的基本设定

算法处理目标跟踪任务的宗旨是完成对目标的定位和定界。下面介绍一下基于孪生网络的三个目标跟踪器(SiamFC、SiamRPN和SiamFC++)对目标的定位和定界的思路。

2.全卷积孪生网络SiamFC[1]

全卷积孪生网络SiamFC(如图2)是第一个端到端的孪生网络跟踪器,它由模板帧 ,搜索帧 ,特征提取网络 和互相关操作 组成。其中 便是所谓的孪生网络,实际上就是同一个网络使用两遍,一遍提取模板帧特征 ,一遍提取搜索帧特征 ;互相关操作 用于融合 得到一张响应图 ,互相关操作 可以是一个以 为核的卷积操作;在测试中,模板帧 来自视频序列的第一帧,搜索帧 来自视频序列的后续帧;搜索帧 是以上一帧视频图像中目标的中心为中心截取的。


图2 SiamFC结构图

对于一个训练好的SiamFC跟踪器,输出响应图 中峰值的位置就对应目标在搜索帧中的位置,这便是SiamFC对目标的定位方式。定界操作则是把搜索帧按不同的比例进行缩放输入网络,其中最大响应值对应的缩放值用于在上一帧基础上缩放当前帧目标框的大小。可以看出SiamFC的定界方式十分简单,它假设目标的大小是按比例变化的,这其实并不合理,后续许多方法都改进了这一点。


图3 训练数据,原始图像(左),搜索帧(中),模板帧(右)


图4 训练数据对应的标签

说完了训练好的SiamFC如何运作,那么如何训练SiamFC呢?实际上,训练端到端的神经网络模型最核心的就是要定义好网络的输入和输出,输入十分明确,就是两帧图像(如图3所示);输出是一张反映目标在搜索帧位置的响应图,因此可以根据目标在搜索帧的位置制作相应的标签用于训练;如图3,搜索帧中目标在中心位置,因此可以制作一张峰值在中心位置的标签(如图4)。有了输入数据和标签便可以使用常规的方法训练SiamFC了。至于损失函数,训练策略这里就不再描述。


图5 区域候选网络跟踪器SiamRPN

3.区域候选孪生网络SiamRPN[2]

区域候选网络跟踪器SiamRPN是孪生网络在目标跟踪领域应用的另一座里程碑,它网络框架如图5所示。SiamRPN在SiamFC的基础上配置了两个输出分支:分类分支和回归分支。分类分支的输出张量大小为 ,回归分支输出张量大小为 ,其中 输出张量中每个位置点对应候选框的数目。SiamRPN对它的网络输出赋予了新的含义,它根据这个含义制作训练使用的标签。


图6 SiamRPN输出张量含义

如图6所示, SiamRPN假设网络输出张量的每一个位置点 都在搜索帧图像上有唯一的映射。它在每一个像素位置点 上设置预先定义好的锚框(如图6中的红框 ),利用这些锚框与人工标注边界框(如图6中的绿框 )之间的关系便可以为每一帧训练数据制作相应的标签。根据预先定义的锚框与真实框之间的IoU,便可以制作分类分支的标签:如果IoU大于某一阈值,对应分类分支的响应图位置点标签设置为1,小于某一阈值则设置为0。回归分支的响应图位置点标签可以填入下式计算的数值:

有了数据与标签便可以训练SiamRPN了。此外,SiamRPN还提出了从输出中选择最终跟踪结果的方法,即使用余弦窗和尺度变化惩罚系数去对候选框进行重排序,使用余弦窗选出的候选框相比上一帧不会有太大的位移,尺度变化惩罚系数如下式:

其中, 是一个超参数。 是候选框的宽高比, 是上一帧目标边界框的宽高比; 的计算方法如下式:

其中 是候选框的宽高,把上式中的 替换为上一帧目标边界框宽高便得到了


图7 SiamFC++框架图

4.无锚跟踪器Siamfc++[3]

SiamFC++摒弃了SiamRPN区域候选框的设计,模型更为简单有效,它的框架图如图7所示。它输出有三个分支:分类分支、质量评估分支和回归分支,其中核心仍然是分类与回归。与SiamRPN最大的不同就是它重新设计了分类和回归分支的含义。


图8 SiamFc++输出含义

SiamFC++以输出响应图像素点对应于搜索帧图像上的位置点 为基础,定义分类和回归分支的输出含义,从而制作相应的标签。分类分支的输出定义:当 在真实框内,分类响应图对应像素位置设置为1;否则为0。回归分支响应图每个像素点上对应一个四值向量,这四值向量填入 距真实框四边的距离(如图8所示)。

SiamFC++挑选最终跟踪结果的方式与SiamRPN一致。

5.总结

  1. 孪生网络实际上就是同一个网络使用两遍;
  2. 端到端的模型输出张量的含义决定如何制作训练使用的标签。

参考

  1. ^Bertinetto, Luca, et al. “Fully-convolutional siamese networks for object tracking.” European conference on computer vision. Springer, Cham, 2016.
  2. ^Li, Bo, et al. “High performance visual tracking with siamese region proposal network.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
  3. ^Xu, Yinda, et al. “SiamFC++: Towards robust and accurate visual tracking with target estimation guidelines.” Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 34. No. 07. 2020.

转自:https://zhuanlan.zhihu.com/p/385722814

相关文章推荐

发表评论