SiamMask一种实时的同时进行视频跟踪和分割的方法。
SiamMask的算法流程图如上图所示:
该算法的输入是两张图片,一张的模板图片,还有一张是待检测的图片。
一、RoW的意义
用ResNet-50前面4个卷积层作为f(θ) 的主干部分,网络结构如下图所示。通过卷积神经网络的处理,各自得到不同大小的256张图。RoW表示的是上面得到的两张图经过depth-wise(深度卷积)方式处理过后的每一个候选窗口的响应,维度是1*1*256,一共有17*17个RoW。
二、如何得到mask
对于每一个RoW,用两层的网络h∅去预测出w*h个二值掩码mask,经过处理得到17*17个63*63大小的分割(对应于17*17个RoW)。如下面公式所示,mn 表示对于第n个RoW经过h∅ 处理之后的mask。给定不同的z,网络会得到不同的分割。
三、mask的损失函数
在训练的过程中,每一个RoW被赋予ground-truth 二进制标签yn ,来表示它是否属于这一类别,这个标签和第n个mask的标签cn 有关系。cnijϵ{+1,-1} 就表示在第n个RoW对应产生的mask中每一个元素的标签。损失函数的公式如下所示:
四、如何得到mask
流程图如下图所示。每一个RoW都通过反卷积得到其对应的mask。
五、该模型的两种形式
对于下面公式提到的L3B ,一个RoW的标签yn=+1 的时候,它的一个anchor框和实际的框IOU值大于0.6,其他情况标签为-1。对于L2B 来说,标签也这样做。
六、如何生成框
有下面几种策略生成框。
七、如何得到分数和box
对于每一个1*1*256维度的RoW,经过conv5可以得到1*1维度的响亮,然后经过conv6可以得到1*1*2k维度的分数和1*1*4k维度的box。如下图所示:
八、实验
九、论文分析
将目标跟踪和分割结合起来,将分割作为一个分支并入到整个网络结构当中,具有比较快的速度。