论文笔记 SiamMask : Fast Online Object Tracking and Segmentation: A Unifying Approach

论文连接:[1812.05050] Fast Online Object Tracking and Segmentation: A Unifying Approach

论文连接:[1812.05050] Fast Online Object Tracking and Segmentation: A Unifying Approach (arxiv.org)

代码连接 : foolwood/SiamMask: [CVPR2019] Fast Online Object Tracking and Segmentation: A Unifying Approach (github.com)

1. 前言

       最开始我是看到近期用Transformer刷榜的一篇视觉目标跟踪文章 STARK : Learning Spatio-Temporal Transformer for Visual Tracking ,里面的模型在输出分支用了一个叫AR的模块,AR模块用来输出预测掩码。然后又去看 Alpha-Refifine : Boosting Tracking Performance by Precise Bounding Box Estimation 这篇论文,这篇论文是讲细化包围框的方法,先把粗略定位的包围框扩大两倍,然后用多个预测分支(比如 Box 分支或者 CoenerNet 的分支来预测包围框,用 Mark 分支来预测掩码),最后比较多个分支,采用最好的输出结果。其中的 Mark 分支又源于 SiamMask 这篇文章。当然SiamMask 从取名就可以看出继承自 Sharp Mask 和 DeepMask 论文,再往前就远离深度学习了。SiamMask 的命名组成是 Siam (目标跟踪领域比较流行的Siam孪生网络,本论文借鉴了 SiamFC 和 SiamRPN )和Mask(Sharp Mask 和 DeepMask 论文,Sharp Mas k起源于早期用前馈神经网路(全连接层)的简单模型 DeepMask ,结合了 ResNet 残差网络的跳层连接和FPN特征金字塔的多尺度特征融合的思想)。学术界就是这样薪火相传,从前人的成果里改造出自己的成果。(技巧A+B+C=ours,用了别人的方法说得委婉模糊,顺便改一下名称与描述,最好再小改一下别人的方法。显卡多就疯狂跑实验对比,论文就出来了。)

       论文发表在 CVPR2019 。引言和相关工作部分吐槽了现有的半监督视频目标分割(VOS)方法运行速度很慢,往往要数秒甚至数十秒来处理一帧图像。现代目标跟踪方法则基本是生成简单的轴对称矩形框来表示目标对象,但是矩形框的表示方式不够精准。想象一下,矩形框更多考虑整体而忽略边缘细节,可能会过大或者过小,而用分割掩码的方式再外接一个最小的矩形框那就能够避免这样的误差,当然这也建立在分割掩码的准确性基础上。

2. 方法

                                                        本文网络的整体结构

2.1 结构左半部分  

       前半部分参照Siam孪生网络结构,f_{\theta}  为共享权值的ResNet,也就是上面小图的目标模板和下面大图的整个搜索区域都放进同一个特征提取网络。原文中f_{\theta}用的是RseNet的前四阶段,并且在第四阶段的第一层卷积中使用了膨胀率为2的空洞卷积核,既从3*3卷积核变成7*7,并将stride步距设成1,导致了第四阶段并不会对特征图进行降分辨率。*d操作是深度互相关(depth-wise cross-correlated),出自于SiamRPN,等于将15*15当做卷积核去和31*31计算卷积,但是并不将所有通道结果相加。最后得出文章称为候选窗口相应图的RoW。

2.2 结构右半部分

       再看右半部分,文章设置了三分支和二分支的模型,模型各自的总损失函数为各自分支损失的总和。三分支模型包含mask分支以及取自 SiamRPN 的 box 和 score 分支。box 分支由 RoW 经过卷积层得到 4K 通道的响应图,即k个锚框各自的 x,y,w,h 偏置量,score 分支输出 2k 通道响应图则是k个锚框的前景和背景的置信度,两个分支分别使用 smooth L1 损失和交叉熵损失。该模型的box分支用来充当传统锚框算法的代表,去和本文提出的先进算法进行比较。另一个是二分支模型,score 得出的是 17*17 范围的蓝色柱子(RoW)包含目标的置信程度,单个像素点的损失函数同 SiamFC 的 logistic 损失l(y,v)=log(1+e^{(-yv)}),并对图的所有点的损失计算平均。

2.3 Mask分支

       二分支和三分支模型的mask分支取借鉴了 DeepMask,从互相关的结果中抽出一根根蓝色的 256 通道 RoW 经过两层全连接层,得出一根根(63*63)通道的 RoW,每一根柱子展开成为63*63的响应图,代表着目标模板和搜索区域的某个位置的重合程度或者相似程度的分值,然后通过上采样扩大分辨率得到一张 mask 图。

                                                        二分支模型整体结构

       文章附录还提到了一种堆叠细化的 mask 分支模型,方法与 Sharpmask 相同,本文也没有详细描述。主要是将每根 RoW 反卷积成 15*15 的特征图,与隔壁的目标模板的中间层输出结果进行堆叠,再上采样,再堆叠。这个思想是借鉴了特征金字塔结构,整合高底层多种分辨率的信息。细节如下图所示:

        mask 分支的损失函数如下,n 是 RoW 的序号,y_{n}\in\left\{ \pm1 \right\}是判断该RoW是否为背景,是背景为 -1 则不需要考虑损失,c 是真实标注, m 是第 n 个 RoW 预测的 mask ,ij 是图上像素的坐标(即考虑图片上所有 mask 的像素)。

                

                 

                                     mask分支在不同RoW上的Score maps

       Target 是小的目标模板,Search 是搜索区域,上图 7*7 个 RoW 本质上是用 Target 特征在 Search 特征图上 7*7 个位置去匹配。仔细看右边热力图,不同位置的塑料袋在小框中的位置是否有些不同。Score 分支将取最高得分的mask然后投影回原图的位置中去。

2.4 mask生成包围框

      本文的核心在于使用mask来生成可旋转的包围框。文章提出了三种生成包围框方式,第一种是 Min-max 即不旋转的最小外接矩形框的方式,第二种是旋转的最小外接矩形框 MBR ,第三种是 VOT-2016 [26] 中提出的自动边界框生成的优化策略 Opt 。SiamMask 即为三分支模型加MBR策略。

3. 实验结果

       SiamMask 模型在目标跟踪上各种提升,但是使用 Opt 策略生成包围框速度严重下降。在视频分割任务上具有降维打击的速度优势。

4. 总结

       本文的创新点在于将 Siam 孪生网络互相关后的特征图添加 mask 分支,互相关后的特征图天然包含了目标模板与搜索区域的匹配信息,也就意味着能够从中提取重合区域的信息。只经过简单的全连接调整,就提取出来。大大地缩小了以往视频分割所需地每帧时间。

       从个人感觉来说,但是在互相关特征图后添加 mask 分支做法比较简单,有优化空间。目标模板取自第一帧并且是不变的,而视频随着时长目标会发生各种变形,用在视频跟踪来粗略地匹配目标尚且可用,但是对于精细的目标分割任务会出现较大的误差,且随着时间增加而越发失效。

       结尾:本文看得零零碎碎的,如发现有误敬请指出。第一次写论文笔记,文笔杂乱,望多见谅。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值