论文主要目的
解决基于实例水平上的多尺度显著物体检测并分割的问题。
论文研究背景
在之前的研究中,只做了像素水平上的显著区域分类问题和单尺度的显著性掩模生成问题,对多尺度和实例分割(instance-level segmentation)没有太好的解决方法。
论文主要框架
这张图概括地介绍了本文所用的方法,首先将输入图片进行三个尺度的放缩,放入本文特定构造的模型MSRNet (multiscale refinement network)中,得到显著区域图像(salient region map)和显著物体轮廓图像(salient object contour map)。然后对显著物体轮廓图像进行随机选取疑似物体目标(object proposals)方框的处理,作为可能的显著性物体出现位置的选择。然后使用一种基于最大后验概率的子集优化(MAP-based subset optimization)方法,将前面的方框数量缩减,确定更准确的位置。为了描述方便,记为伪显著物体实例分割(pseudo salient object instance segmentation)。由于得到的伪显著物体实例分割与原来的显著区域图像存在差异点(discrepancy),所以本文使用了条件随机场(CRF)的方法将这些差异点进行多分类,将差异点分入不同实例(instance)或非显著区域中,得到真正的显著物体实例分割(salient object instance segmentation),并且满足多尺度适应。
框架的详细介绍
-
显著区域分割
近年来很多研究都是使用DCNN的方法完成的,主要有两种方法:分割或基于填补的方法(segmentation or patch based methods)和端对端显著推理的方法(end-to-end saliency inference methods)。
而本文是结合了传统方法中的基于底层特征的上升方法(bottom-up methods based on low-level features)和基于顶层知识的下降方法(top-down methods incorporating high-level knowledge),以改进的VGG16模型为基础模型,并从VGG16模型的5个最大池化层(max pooling layers)分别作用了额外的卷积层,卷积层会分别作用在上升方法的结果中,起到降维的作用。这个模型我们称为增强的VGG模型(refined VGG model)。模型的最后会得到一个是否为显著区域的概率密度图像。
MSRNet是由3个这样的增强VGG模型和1个注意力模型(attention module)组成,这3个增强VGG模型的不同之处在于输入图像的尺度不同。本文将同一训练图片缩放成s ∈ \in ∈ {1,0.75,0.5} 三个尺度,分别放进3个增强VGG模型中训练。可以得到3张不同尺度的概率密度图像,再对结果图像利用双线性插值(bilinear interpolation)的方法进行反向缩放。实际上,我们输入1张训练图片只需要得到一个概率密度图像,这1张概率密度图像中包含了观测者对多尺度显著性区域关注度的多少,所以这篇文章使用注意力模型将3张概率密度图像通过加权求和得到最终的概率密度图像结果。加权的具体公式为:
F c = Σ s ∈ { 1 , 0.75 , 0.5 } W s ⊙ M c s F_c=\Sigma_{s\in\{1,0.75,0.5\}}W^s\odot M_c^s Fc=Σs∈{ 1,0.75,0.5}Ws⊙Mcs
其中 W s W^s Ws是attentional weights, F c F_c Fc是第c类的加权概率模型, M c s M_c^s Mcs是第c类的不同尺度输出图像,注意力模型中参数的估计使用了随机梯度下降法。这里虽然一直在论述显著区域分割结果的获取,但实际上MSRNet也用于获取显著物体轮廓图像。值得说明的是,这两个结果所使用的训练集是不同的,因为显著物体轮廓图像的训练集是本文作者自己生成的,训练集图片的数量比显著区域分割的更少,所以作者先进行了对显著区域分割的模型训练,对训练后的模型进行微调后,共享到对显著物体轮廓图像的训练中。这里微调的原因,作者在文中解释到:由于训练集中的显著物体轮廓信息较显著区域信息更敏感,所以假设对显著物体轮廓分类错误的惩罚(penalty)较显著区域分类错误的惩罚更高,因此两个模型的损失函数(loss function)是不全相同的。
原始的VGG16模型本来是需要训练集大小为320*320的,但由于MSRNet是完全卷积网络,所以可以将任意大小的图片作为输入集。
在训练显著物体轮廓图像时,由于训练集图片太少,所以作者对每一张图片都进行了8个不同方向的旋转处理和左右翻转处理,使训练集的样本数增大到原来的16倍。
-
取得物体目标(object proposal)
在上一步得到显著物体轮廓图像后,我们需要从中选出物体目标。本文采用了multiscale combinatorial grouping (MCG) 算法,并将MCG的边缘检测方法gPb(Global probability of boundary,其在多尺度下计算局部有向梯度特征(亮度,颜色和纹理),然后通过normalized cut计算全局的谱分类来实现全局轮廓检测)换成了MSRNet模型,并且将4个不同的分层图像分割融合成1个分层分割(single hierarchical segmentation)。对每个显著物体轮廓图像生成了800个疑似物体目标的方框,并将其中概率低于0.8的像素点舍弃,得到了物体目标。
-
生成伪显著物体实例分割
本文对object proposals的处理是用了“J. Zhang, S. Sclaroff, Z. Lin, X. Shen, B. Price, and R. Mech.Unconstrained salient object detection via proposal subset optimization. In CVPR, 2016.“一文中所提到的基于最大后验概率的子集优化方法,得到了伪显著物体实例分割。
-
得到最终的显著物体实例分割
我们需要处理显著区域分割和伪显著物体实例分割中的差异点,本文将其看作一个分类问题,进行如下操作:
- 将显著物体实例分为K类,背景作为第 ( K + 1 ) (K+1) (K+1)类。
- 将概率密度图片中的像素点分为 ( K + 1 ) (K+1) (K+