FastMask论文

FastMask: Segment Multi-scale Object Candidates in One Shot

方法提出背景:

1、尺度差异对目标分割的影响

2、在处理尺度差异的问题上,当前存在的方法可以分为两类:

(1)第一类使用额外的基于bbox的object proposals或检测目标作为初始输入;

这种方法的效率和精度高度依赖于proposal预处理方法的速度。

(2)第二类采用影像金字塔策略,将原始图像重新缩放并反复放入一定尺度的对象提议程序进行多尺度推定。

然而,当前的multi-shot的方法都存在缺点:一个密集采样的图像金字塔成为整个框架的计算瓶颈; 然而,减少图像金字塔的尺度的数量导致性能下降。这种方法几乎不能同时提供令人满意的精度和速度。 通过观察原始图像已经包含图像金字塔的所有信息,我们认为使用单个图像应足以捕获其中的所有多尺度对象。

因此在本论文中,我们的目标是通过利用卷积神经网络(CNN)的分层特征金字塔来解决分段提案中的尺度差异。


在FastMask论文中,使segment proposal的网络适应三个不同的功能组件,即身体,颈部和头部。身体和头部模块负责从原始图像提取语义特征图,从特征图中解码分割masks。论文中介绍颈部模块的概念,颈部模块的工作是将从身体模块提取的特征图反复缩小到特征金字塔,然后将特征金字塔馈送到头模块进行多尺度推理。 我们工作主要有:

首先,我们学习一种新颖的权重共享残余颈部模块来构建CNN的特征金字塔,同时保留良好校准的特征语义,有效的多尺度训练和推理。

接下来,我们提出一种新颖的尺度容差头模块,其利用视觉注意力,并且在接受场中由不匹配的尺度引起的背景噪声显着降低。

最后,与所有这些模块一起,我们制定了一个能够进行一次性分段提案的框架。 我们基于AMCOCOBenchmark测试了我们的框架,并且在近乎实时的情况下实现了最先进的结果。


相关的研究有:

(1)Bbox-based object proposal

(2)Segment-based object proposal

(3)Visual attention

从Multi-shot到one-shot

对deepmask的简介



详细介绍本论文的方法:

(1)回顾FastMask模型,详细讲解body-neck-head模型结构

(2)说明从输入图像到目标分割的数据流来解释整个流程

(3)学习不同设计的颈部模型,包括非参数和参数的

(4)最后,我们通过利用注意力模型,提出了一种无限大容量分割掩码解码的小插件模块,这在提高性能方面起关键作用。


网络模型如下图:


(1)和multi-shot方法相似,body网络从输入图像中提取语义特征作为基础特征图,共享颈部模块在其上递归地应用,以构建不同尺度的特征图(特征金字塔)。然后将特征金字塔输入到1*1的卷积层中降维。

(2)接着,在所有的特征图中提取密集的滑动窗口,对所有滑窗执行batch的标准化,以校准窗口特征。

(3)最后,使用统一的头模块对这些滑动窗口特征进行解码,并产生输出参数得分以及对象掩码。


在特征金字塔编码上,对non-parametric 和 parametric 方法进行比较:

论文中,通过校准每张特征图进行统一的解码。然而,不同的pooling neck表现出不同的结果。

(1)Max pooling neck

(2)Average pooling  neck

(3)Feed-forward neck

(4)Residual neck


We augment the non-parametric average pooling with a parametric residual component (using the same structure as in the feed-forward neck, a 3×3 convolutional layer followed by a 1×1 one) to zoom out feature maps, in order to reduce thethesmootheffectofaveragepoolingaswellaspreserve feature semantics. 


四种neck测试结果比较:



Attention Head()

头部模块:使用卷积层和完全连接层的组合来组装,用于解码掩模和对象信息

(1)提出背景:

实验中发现,简单的使用Head没有得到最好的表现。可能的原因在于,和原始的Deep Mask相比较,我们的特征金字塔在尺度上比较稀疏。具体来说,在应用了neck module之后,feature map的尺度下降了2倍,这意味着相邻特征图的gap是2,(Deep Mask的scal gap是2的0.5次方)。这种稀疏的金字塔特征提高了没有适合的feature map来解码一个物体的可能性,也提高了引入背景噪声的风险,因为对象的接收场(滑窗)可能不一样。

(2)解决方案:


①two-stream network: 增加尺度的密度

②新的Head module在解码的时候学习显著性区域。

由于visual attention,在a decoding head在滑窗中可以减少背景噪声,并且减少了滑窗大小和物体大小的不匹配。Attention机制也给模型带来了偏移干扰的容错性。


Attention head的详细过程如下图:



把一个滑窗的feature map作为输入,首先用一个全连接层来计算spatial attention。 

然后通过 an element-wise multiplication across channels将这个spatial attention运用到window feature map中去。这种操作使得head module能够突出显着区域上的特征,其指示目标对象的粗略位置。

 最后,将该参加的特征图输入到完全连接的层中以对对象的分割掩码进行解码。


比较了Fast Mask with a standard head 和Fast Mask with an attentional head


降噪效果比较图:



实施细节:

(1)如何在在特征金字塔中获得更多的尺度(获得密度更大的特征金字塔)

(2)框架的训练、优化、推理


two-stream network结构如下图:



用不同的stride的池化层,将body network在中间被分支,并将这些不同尺度的features送到共享的neck中。这样增强了body network产生不同尺度特征的能力,分支不一定是2个,可以更多。这种方法可以获得更多尺度的特征,让fastmask对不同scale更robust,但也引入了有限的额外计算量。


训练:

Faskmask和标准的Deep mask最大的不同在于FastMask可以用不同尺度的图像进行训练,而不是裁剪固定尺度的patches。为实现这一训练目的,引入了ground truth assignment的策略。

ground truth assignment

在训练过程中,需要知道那个滑窗里包括了ground truth,判断条件:

①ground truth要被滑窗完全包括。

②对象窗口的尺度范围[0.4,0.8]

③对象大致在窗口居中


Learning objective

FaskMask的总体目标函数是confidence 损失,分割损失,区域attention损失之和。

公式:


 c, a, s stand for ground truth label for confidence, region attention and segmentation mask, while ˆ c, ˆ a, ˆ s stand for corresponding prediction.


1(ck)是一个指示函数,如果ck为真则1(ck)为1,否则为0。只有当ck为1的时候,才反向传播梯度。通过用正样本计算分割lloss和attention loss对获取好的结果很关键。用通过mini-batch的滑窗总量来归一化这个加权总和。对每部分loss,计算预测值和真值之间的交叉熵函数。公式如下:


对于分割loss和attention loss,通过穿过窗口空间归一化来平衡三种loss间的梯度。


optimization优化:

随机梯度下降(SGD),batch size:1, momentum:0.9, weight decay: 0.00005

正负样本1:1, 一共用了7种尺度的特征图,在stride为2的流上缩放4次,在stride为3的流上缩放3次。


inference:

在推论中,我们一次处理一个图像,并在多尺度特征图中提取窗口,与训练阶段一样。 首先预测每个窗口的确认分数,然后仅选择得分前k个确定窗口进行对象段解码。 另外,随着residual neck的权重分享,我们可以在推断时增加或减少neck的数量。 这使我们能够通过调整neck的数量,在有效性和效率之间进行轻松的权衡。 因此,虽然由7个尺度进行训练,但是双流网络仍然可以配备超过7个neck module来生成更加密集的特征金字塔。 


实验阶段:

评价标准

尺度

方法比较




尺度密度和效率之间的平衡,deep mask和fast mask比较



不同网络之间的比较:








评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值