S4Net: Single Stage Salient-Instance Segmentation阅读笔记
论文链接:http://arxiv.org/abs/1711.07618
简介
文章关注显著实例分割。考虑到每个实例类的独立性,文章设计了一个单阶段显著实例分割网络,该网络不仅考虑了box框内的local context信息,同时考虑了其周围的context信息,使得该网络能够将相同范围内的即便有遮挡的实例从容分开。除此之外,文章网络的图片处理速度也很快,当输入图片是320*320时,单gpu上能达到40fps。
1.引言
人们往往关注较为感兴趣的实例类,而不是所有的实例。定位感兴趣的对象对于各种计算机图形和计算机视觉应用也是必不可少的,它能帮助很多现代应用如图像编辑和机器人感知提供初始兴趣区域。该文章研究对输入图片检测显著实例,神经学研究预测人类对高对比度的刺激具有较强感知,如前背景的特征分离对显著实例感知就很重要,在CNN出现之前,使用局部和全局的差异、背景先验和高斯混合色彩模型来对前背景分离做建模能够有效的实现传统显著物体分割任务。CNN出现后,表现优异,它能够学习到捕捉目标类别的不同抽象外观变化所需要的多层级特征表示,但是他CNN通常忽略了重要的在目标物体和附近背景间的特征分离能力。
现有的实例分割往往应用ROIpooling、ROIAlign等捕捉包围框内的特征信息,与之相反,文章提出了一个区域特征抽取层,命名为ROIMasking,直接为提升显著实例分割纳入了前背景分离信息。与图底分割方法GrabCut相同,文章直接将物体提议周围的区域作为初始背景,并在显著实例分割分支中探索前背景的特征分离信息。更明确的,文章翻转提议物体周围的特征值的信号。之后将基于ROIMasking层的分割分支整合到高效的单阶段物体检测FPN中,以为每个显著实例检测像素级的分割结果。文章提出的RoIMasking方案是无量化和保持规模的,这能检测到更多细节信息。
总而言之,文章的贡献主要有以下两点:
(1)提出端到端单阶段的显著实例分割网络,实时检测并达到了显著实例分割的最好性能。
(2)设计了一个新的ROIMasking层,引入了目标物体和周围背景间的特征分离信息,有助于高质量的分割。

2.相关工作
显著实例分割相对来说是一个新的任务,Li在文章[1]中对显著实例分割进行了正式定义,并提出了用于此的网络MSRNet。然而,这个方法高度依赖预计算边缘图(如MCG[2])和为复杂实际场景生成的子优化结果。显著实例分割和显著物体检测、物体检测、语义实例分割密切相关。
2.1显著物体检测
显著物体检测目的在于检测到嘴显著的物体并将他们从给定场景中分割出来。早期的显著物体检测主要依赖于全局或者局部的差别线索[2]。他们为每个区域制作了各种手工制作的特征(如色彩直方图和纹理),并将这些特征于人工设计或基于学习的方法间混合。由于他们较弱的保留完整显著实例的能力和手工特征的不稳定性,这些方法见见被基于CNN的数据驱动的方法替代[3]。但当使用到显著实例分割上时,主要问题有两个:首先,由于显著区域可能是兴趣实例的一部分,整体的显著实例很难被保留;其次,显著物体检测时二元问题,不足以做到实例级的分割。
2.2物体检测
早期的物体检测方法主要依赖于手工设计的特征(如SIFT[4]、SURF[5]和HOG[6])。他们创建了不同类型的图像金字塔以从不同图像规模中提取更多信息。随着CNNs的出现,R-CNN[7]和Over-Feat[8]将CNNs作为抽取高质量语义信息的滑动检测窗口。给定了一些预计算的提议区域,这些方法会使用CNN为每个提议区域计算他们的特征向量并且将这些特征传至分类器,对物体进行分类。后续的工作将整张图作为输入并使用了基于区域的特征图检测器,很大程度上提升了速度。Faster-RCNN[9]将区域提议网络(RPN)引进了CNN,打破了使用预计算提议的限制。这样依赖,整个网络可被端到端的训练,相较之前提供一个更好的精度和速度间的平衡。然而,以上所有的方法目的在于输出可信的物体检测框,而不是输出实例分割结果。
2.3语义实例分割
之前的语义实例分割方法主要基于分割方法生成的分割提议。在文章[10]中,Dai提出通过使用一个多阶段层叠预测分割提议,从而从包围框处慢慢细化长方形区域。在文章[11]中,Li提出将分割提议网络整合到物体检测网络中。更近的,何凯明提出Mask R-CNN[12]网络,在Faster R-CNN网络基础上扩展了一个分割分支。尽管优秀,但是仍然不适用于本文任务,这是因为:首先,不是所有类别和物体都是显著的;其次,语义实例都属于一个预先定义的类别集,失去了解决为止类别的重要能力,如,类未知的显著实例分割。
3.S4Net
文章的设计出发点基于高质量实时的显著实例分割。文章设计了一个端到端的单阶段显著实例分割网络——S4Net,它是基于目前性能最好的单阶段物体检测器建立的,这是出于效率考虑。
3.1观察
常用于语义实例分割的RoIAlign[13]以及ROIWrap只关注了位于提议区域内部的特征从而描述提议区域内部的实例自己的外观变化,而缺少了分辨不同实例的能力。
在CNN方法流行之前,在显著实例分割中常用前背景间的分离特征,使用这种方法,无需学习大量数据,就能很好的实现显著实例分割。图3给出示例。
在上图中,用户只需要手动确定一个包围框,GrabCut方法使用前背景颜色模型如高斯混合模型,分别使用位于手动标出框内外的图像像素,就可以实现惊人的分割结果而无需在大量数据上训练。他甚至能分清人言不可分辨的细小差距,如上图中的房子和动物的颜色。但是这种微小的差距只会出现在个别图片中,也就是说使用大量的训练数据不仅成本巨大,并且对于解决该种情况见效甚微。
不幸的是,使用这么强大的前背景特征分离带来的好处在现在的CNN中被忽略。基于此,文章提出利用更多与背景区域相关的特征以帮助更好的分割显著实例。如图5所示。
这种方法能让分割分支看到更多的代表着背景区域的特征。扩大感受野并且同时增强前背景之间的对比,特别的当区域中有遮挡时。
3.2结构
S4Net的结构如图2。
包括两部分,一个是包围框检测器一个是分割分支,每个部分共享基础模型,选择了ResN-50作为基础模型。
单阶段分割分支
与Mask R-CNN不同,分割分支仍然是单阶段的,如图2(a)所示,文章的分割分支包含ROIMasking层,为了进行实例特征抽取和显著实例分辨。
ROIMasking
ROIPooling和RPIAlign是从兴趣区域中抽取固定尺寸特征图的标准做法。然而以上两种做法都只关注了提议区域内的信息。就像3.1中提到,在ROI周边的区域同样也包含了重要的大量的区别不同实例和背景的信息。不幸的是,虽然有些层混合技术如FPN尝试将高层的特征和大量信息嵌入到一个特征图中,以上两种操作都不能明确有效的探索ROI周围的信息。更多的是,在上述两个的采样过程中,不能保持兴趣区域的纵横比和分辨率,甚至可能会损害结果质量。本篇文章设计了一个新的保持分辨率和量化自由的ROIMasking层,来代替上述两种方法。同样也尝试了前背景间的特征分离来提升分割效果。
二值ROIMasking
文章首先使用了一个简化的ROIMasking版本,称作二值ROIMasking。二值ROIMasking通过检测分支收到特征图和提议区域。根据给定的长方形提议区域,生成一个二值掩模,方框内置为1,外为0。图5(a)给出二值ROIMasking示意。然后二值ROIMasking的输出是输入特征图乘以这个二值掩模。与ROIPooling和ROIAlign不同的是,文章的二值ROIMasking保持特征图原始的纵横比和分辨率。后续会用实验阐述这样做的好处。
扩张的二值ROIMasking
如图5(b)所示,文章也考虑了二值ROIMasking的扩张,通过简单的扩张提议区域。与标准二值ROIMasking相比,扩张后的考虑了更多的背景信息,从而使得分割分支具有更大的感受野。后续会进行更多数量的实验对比。
三元ROIMasking
为了更好利用兴趣区域周围的背景信息,将二值ROIMasking升级至三元ROIMasking,由于RELU激活函数,进入ROIMasking之初的特征图中没有负值,为了明确地指出分割分支应该将提议之外的区域视为背景,我们将感兴趣区域周围的特征值的符号(即,将相应的掩码值设置为-1)翻转,其以黄色示出。 如图5c。这样一来,在兴趣区域周围的特征与位于包围框内的显著实例的特征被区分开来,这使得分割分支不仅能够利用兴趣区域内的特征同时也能利用周围信息(这一点是二值ROIMasking也能做到),同时也能清洗的关注前背景特征分离(这一点是二值ROIMasking所不能的)。图4(d)展示了在三元ROIMasking后的输出特征图。
值得一提的是,这种操作不引入任何附加的计算负担,三元ROIMasking实现了一个大的进步,后续实验会证明,后续将三元ROIMasking简称为ROIMasking。
3.4分析ROIMasking
这一部分介绍了使用提议区域周围的背景信息的重要性以及ROIMasking的有效性。在这之前,文章探索了位于ROIMasking的每种激活函数的影响,受到文章[]的启发,使用了梯度图可视化激活函数对每个神经元的作用,在加载完整个训练好的模型权重后,使用了一个特定图像执行了前向传递。在这个过程中,送入ROIMasking之前的激活值Hi,j,c 被抽出并且保存,接下来,进行反向传播。注意在通常的训练阶段,反向传播是用来根据神经网络的权重计算损失梯度,但是,在该实验中,只把Hi,j,c作为变量,把卷积核作为常量,因此在反向传播时,只根据每个输入ROIMasking之前的特征图计算实例分割损失梯度,即:Gi,j,c = ∂ Lsal /∂ Hi,j,c
G的绝对值表示了特征图H对显著性任务的重要性。
图6展示了二元和三元ROIMasking的梯度图。
橙色方框是GT显著实例的包围框,通过定义,在三元ROIMasking中,位于橙色包围框内的像素置为0,程蓝色之间的被置为-1,显而易见的,在图6(b)的背景区域(被标为-1的区域)中有明显的响应。在图6(a)中,蓝橙框间只有少许的响应,这个现象间接地指出了在兴趣区域周围的context信息的重要性。
3.5分割分支
文章的分割分支类似mask rcnn的分割分支,这是为了更好的区分各个实例。为了增大感受野,文章使用了跳跃连接、空洞卷积和最大池化,如图2(c)所示,所有的卷积层都有着3*3的卷积核,步长为1。前三个channel数为128,其余的为64,这对于显著实例分割来说足够。
3.6Loss函数
文章网络有两个分支:检测分支和分割分支,对每个训练样本计算多任务损失L来同时训练模型。
L = Lobj + Lcoord + Lseg.
由于正提议区域要远远少于负实例提议区域,文章采用如下策略。P代表正提议区域集合,N代表负提议区域,数目分别为NP 和NN ,文章分别计算正负Lobj,这样能够避免在训练阶段负提议区域对回传梯度的主导,如下公式:

其中pi是第i个提议区域是正例的概率。
文章对框回归使用与Faster-RCNN相同的SmoothL1 损失:

对分割分支使用与mask rcnn相同的交叉熵损失。
4.实验
使用文章[14]中的数据集,为了公平对比,随机选取500张训练,200张验证,300张测试。
4.1实施细节
在训练阶段,设置当IoU>0.5时,为正提议,反之为负提议。对于ROIMasking层,在测试阶段,输入其中的包围框来自检测分支;在训练阶段,输入其中的包围框来自GT,这能使分割分支获得更稳定和有效的数据同时实验证明这样也能够加速训练过程。
超参数
输入图片水平随机翻转,超参设计如下:weight decay (0.0001) and momentum (0.9) 。在2个gup上训练了20K步,初始学习率为0.004,每10K步降为原来的0.1倍。
4.2消融实验
为了验证网络每一部分都的有效性,文章在显著实例分割数据集上进行训练模型。根据标准COCO机制,文章汇报了mAP。更多的,为了分析网络区别不同实例的能力,文章还在一部分只含有遮挡的实例的图片上进行评估,结果为mAPo。
ROIMasking有效性
文章用ROIPooling和ROIAlign替换ROIMasking进行对比实验,网络的其他部分不改变,大量的数据在表1中给出。

可以看到使用二元和三元ROIMasking都较前两种方法有所提升,尤其是三元方法。这表明对于显著实例分割,考虑更多的提议区域外部周围的环境信息很有帮助。值得注意的是表一中给出的二元RPIMasking是对包围框周围的外部信息置1的操作。可以看到直接进行这样的二元操作,效果比三元操作要差很多,这表明简单的扩张兴趣区域对区分显著实例是无用的。三元操作的优秀效果反映了将包围框周围外部的信号反转,能够增强显著实例和其周围背景的反差,更重要的是,包围框内的非实例区域这样一来就更容易被预测为与扩张区域相同的类别,因此,在显著实例分割中,目标和其周围背景的特征分离能力十分重要。
环境区域的尺寸
文章分析了包围框周围的环境区域多大最为合适。文章做了实验将原始的提议区域各个方向扩张1/3性能最好,如表2所示。

更大的扩张区域可能会包括更多显著实例,这对于分辨真正的提议区域内的实例是不利的。
提议区域的数量
送到分割分支的提议区域数量同样影响性能。更多的提议区域会产生更好的性能,但是却会增加计算负担。且当提议区域数目超过20时,性能增益不再明显。因为文章在预测阶段设置了20个提议区域作为折中。
基线模型
除了Resnet-50可以作为基线模型之外,文章同样尝试了其他三个基线模型,包括Resnet-101,VGG16和MobileNet。表三给出了不同基线模型下的结果。

可以看到具有较好分类性能的基线模型在文章任务上也表现较好。SNet同样能达到实时性。
4.3对比
由于任务较新,只有一个有关工作MSENet可以用来对比。
量分析
表4给出了对比结果,可以看到效果提升明显。

5.应用
文章还将SNet用于一个流行的任务-弱监督语义分割。为了训练具有多个关键词的样本(如PASCAL VOC数据集),区分不同的实例对于关键词分配十分重要。表5给出结果。

明显地,在同一个数据集上,用文章的实例分割进行训练要比其他方法要好。文章的方法相对于DSS显著实例分割检测器提升了4.8%的性能。
6.总结
文章提出了可用于实时显著实例分割的单阶段显著实例分割网络,创新点包括:(1)ROIMasking层,它能够考虑到提议区域内和外的信息,并且能够保持提议区域的原始分辨率和长宽比。(2)一个先进的显著实例分割器,它能够增大分割分支的感受野从而提升性能。各种实验证明文章提出的ROIMasking要比ROIAlign和ROIPooling表现优秀,特别是对于分辨同一范围内的各个实例。
7.参考文献
[1]G. Li, Y. Xie, L. Lin, and Y. Yu. Instance-level salient object segmentation. In CVPR, 2017. 1, 2, 6, 7, 8
[2]W. Qi, M.-M. Cheng, A. Borji, H. Lu, and L.-F. Bai. Salien- cyrank: Two-stage manifold ranking for salient object detec- tion. Computational Visual Media, 1(4):309–320, 2015. 2
[3]Q. Hou, M.-M. Cheng, X. Hu, A. Borji, Z. Tu, and P. Torr. Deeply supervised salient object detection with short con- nections. IEEE TPAMI, 41(4):815–828, 2019. 1, 2, 8
[4]D. G. Lowe. Distinctive image features from scale-invariant
keypoints. IJCV, 2004. 2
[5]H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool. Speeded-up robust features (surf). Computer vision and image under- standing, 110(3):346–359, 2008. 2
[6]N. Dalal and B. Triggs. Histograms of oriented gradients for
human detection. In CVPR, 2005. 2
[7]R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich fea-
ture hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. 1, 2
[8]P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014. 2
[9]S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: To- wards real-time object detection with region proposal net- works. IEEE TPAMI, 2017. 1, 2, 4
[10]J. Dai, K. He, Y. Li, S. Ren, and J. Sun. Instance-sensitive fully convolutional networks. In ECCV, 2016. 1, 2, 3
[11]Y. Li, H. Qi, J. Dai, X. Ji, and Y. Wei. Fully convolutional instance-aware semantic segmentation. In CVPR, 2017. 2, 3
[12]S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: To- wards real-time object detection with region proposal net- works. IEEE TPAMI, 2017. 1, 2, 4
[13]K. He, G. Gkioxari, P. Dolla ́r, and R. Girshick. Mask r-cnn. In ICCV, 2017. 1, 3, 4, 6, 7
[14]G. Li, Y. Xie, L. Lin, and Y. Yu. Instance-level salient object segmentation. In CVPR, 2017. 1, 2, 6, 7, 8
