对每个特征通道,按上图方法划分成9格(9个格子尺寸不等),然
本文链接:
的一篇目标跟踪的文章。先给出原文链接:
代码暂时未放出。
该论文核心思想:改进跟踪算法,将类别语义信息分支加入跟踪框架,帮助跟踪。
先上总框架图:
这里有两个,分别是 (蓝色)和 (橙色),两个最后都通过与第一帧目标在特征空间做相关得到响应图h,两个响应图求加权平均,得到最终响应图,找到最终响应图最大响应点,并插值到原图中的位置,即可得到当前帧目标位置,完成当前帧跟踪。
接下来,分别看一看两个分支的具体构成和实现细节。
/:
z:第一帧给出的目标的图像;
x:当前帧的搜索区域图像;
φ:神经网络映射函数;
*:相关运算
训练阶段():
(1)数据集:中的视频目标检测数据集,共4500个视频序列,每帧都标记,每次输入网络的是目标图像和以目标图像为中心的带有部分背景的图像;
(2)损失函数与样本标签:使用 loss。最后输出是一个响应图,样本标签是与这个响应图等尺寸的0/1标签图,靠近真实目标的位置标签为1(如红色部分),远离真实目标的位置标签为-1(如蓝色部分);
(3)特征提取网络结构:去掉最后一个层和所有全连接层。
跟踪阶段():
(1)通过深度网络提取搜索区域特征和第一帧图像的特征;
(2)对这两个特征进行求相关(实际通过卷积实现),得到响应图;
(3)选择响应最大位置为目标位置,并更新尺寸;
(4)以此目标位置为中心,确定下一帧搜索区域。
:
这个分支的训练方法与 类似。
阶段,这个分支也会得到一个响应图,这个响应图会与 的响应图求加权平均,得到最终响应图。经过实验,论文给出的加权系数为0.3,即0.3A+0.7S。
有几个点需要注意:
(1)S-Net直接使用预训练好的参数,不用再训练;
(2)两路输入均包含了背景。分支输入以真实目标为中心的与搜索区域等尺寸的区域图像,而不仅仅输入真实目标图像,是为了使用更多的背景信息,这对结构是有用的;
(3)使用了conv4和conv5层特征。两层特征融合,已经证明对跟踪精度有好处,因为高层特征关注语义,而低层特征保有更精确的位置信息,二者可以互补;
(4)有一个结构。结构提供特征的-wise权重,参数需要学习;
(5)有一个fuse结构。fuse结构可以看作是特征融合,参数需要学习。
其中的结构:
在此结构中,特征的各通道权重分别计算,其中conv4层特征空间分辨率为24x24,conv5层则为22x22。对每个特征通道,按上图方法划分成9格(9个格子尺寸不等),然后执行最大池化,得到9维特征,经过MLP(多层感知机)和一个函数,最后得到该通道权值。
fuse结构较简单:是1x1的,对conv4和conv5特征分别做,得到总共256个通道的特征(其中conv4和conv5特征各有128个通道)。
关于网络结构设计的讨论:
1.分开训练 和 。论文说能得到更好的结果,但限于篇幅,没有给出对比结果;
2.不对S-Net进行微调。论文解释:因为微调S-Net可能使S-Net和A-Net提取的特征变得相似,对集成没有好处;
3.不在 使用多层特征和结构。论文解释:使用多层特征对效果提升没有明显帮助,因为A-Net不同层特征差异不大;A-Net高层特征很稠密(不像用于分类的S-Net,高层特征很多都是0),使用前述会损失大量信息,因此结构不适用
最后看看部分实验结果:
1. study:
2.与其他算法对比:
完整实验结果参看原论文。