1、追踪的预测目标位置定义不同精度也会不同。(用旋转矩形框描述目标位置比坐标轴对齐的矩形框更精确)
2、VOS算法的第一帧需要给定目标的mask,这在人机交互的场景中很难时间,这个mask获取成本过高。
3、视频物体分割(VOS)领域的大多数方法的速度慢,难以满足实时性。
1、离线训练的全卷积的孪生网络SiamFC在VOT-2015上保持58fps追踪速度。
2、YouTube-VOS数据集——一个基于像素标记的视频集。
3、保持离线训练+在线速度+改进目标的表示(BoundingBox → mask)
实现部分包括整体构想思路、网络结构
1、用三个任务训练一个孪生网络,这三个任务的目标不同,对应了不同的针对目标与候选区域建模策略。任务一用来估计目标的位置,任务二和任务三用来估计目标的尺度大小。


SiamMask在论文中有两个结构:
论文中将ResNet50作为Backbone,具体参数如表所示:

其中adjust层降低了特征维度(1024->256),xcorr表示用exemplar对Search区域进行Depth-wise互相关操作,输出一个包含丰富信息的特征图。这里有一个重要的概念RoW,表示候选窗口的响应。例如最后互相关操作之后得到的特征图为17 * 17 * 256。则一共有17 * 17个RoW,每一个RoW是1 * 1 * 256的向量。这个向量蕴含了丰富模板与候选窗口的信息。凭借此信息,我们可以对其做1x1卷积得出分类和坐标轴回归的结果、或者解码出mask的信息。

在SiamMask-2B的网络结构中,Score分支就是参照SiamFC的损失函数定义一个交叉熵损失函数来进行二分类,生成的一个17 * 17的置信度分数矩阵。这个矩阵就对应着17 * 17 * 256特征图中这17 * 17个RoW窗口的置信分数,经过分数惩罚等一系列操作(为了使预测出置信度高的位置不要偏离上一帧太远–防止误追)我们选取置信分数最高的对应的那一个1 * 1 * 256的RoW生成mask。

在SiamMask-2B的网络结构中,Box分支和Score分支就是参照SiamRPN。对于17 * 17 * 256特征图来说,一共有17 * 17个RoW,以每个RoW为中心,对应到原图中,生成k个不同纵横比的anchor(可以看作候选框)。对anchor的边界框进行预测,则有17174k个输出;对anchor的分类(是否包含目标)进行预测,有17172k个输出。
将选取的1 * 1 * 256经过两个1 * 1的卷积层调整深度到1 * 1 * (63 * 63)。
流程如下:
作者提到,直接这样预测mask的方式得到的精度并不太高,所以提出了如下图所示的Refine模块U来提升分割的精度:在原始的响应图上对每个RoW不采用升维到63x63的方式,而是直接对conv_5的1 * 1 * 256的RoW进行deconv(反卷积)、与backbone生成的Search region的ResNet50的结果相加耦合,上采样得到mask。利用ResNet50的阶段性结果生成mask会更准确,因为这些结果里面保持了较低层的特征。

说了这么多,QQ快给我喝口水~