Learning Pixel-level segmantic affinity with image-level supervision for weakly supervised segmentat

Abstract.

缺少分割的label是阻碍语义分割发展的一个主要因素,为了缓解这个问题,我们提出了一个新的框架结构通过class label去产生segmentation label.在这个弱监督里,被训练的models会去分割local discriminative parts而不会分割整个区域。作者的解决办法是将local responses传播到附近的相同语义的区域。我们提出了一个Deep Neural Network(DNN) 被叫做 AffinityNet,这个网络会去预测一对相邻像素的affinity,随机漫步和从网络结构里得出来的affinities就可以实现,semantic propagation。更重要的是,训练AffinityNet的监督是最初的discrimination part segmentation,而这些最初的分割虽然对于标注是不完整的,但是对于学习semantic affinities却是很有效的。因此整个框架仅仅只会依赖image-level class labels而不需要额外的数据和标注。在PASCAL VOC 2012上,DNN通过作者的方法产生的segmentation labels来进行学习,会比其他弱监督的methods要更好。

1.Introduction.

Deep Neural Networks(DNN)的发展使得语义分割向前迈了一大步。尽管DNNs取得了很大的成功,但是为了使语义分割能应用在uncontrolled和realistic的环境中,我们仍然有很远的路要走。缺乏数据集使最主要的一个阻碍。由于pixel-level segmentation labels的标注会十分耗时间,耗人力,现存的的datasets常常会遭受缺乏标注的样本和class多种多样的困扰。这就使得卷积这个方法被限制在了一个小范围的物体类别的范围。

弱监督的方法就是用来解决上述存在的问题,让语义分割更加具有可扩展性。弱监督方法的共同动机就是使用bounding box和 scribles这样的方法,这些方法都会比pixel-level弱,但是在规模很大的数据集上会比较容易得到。在各种各样的弱监督的方法中,image-level class label被广泛的应用在了语义分割上。然而,image-label的supervision去处理语义分割问题,本来就是一个病态问题,因为image-label仅仅只会暗示图中有没有包含这种类别的物体,但是却不能定位物体的位置和描述物体的形状。

在作者的这篇论文中,综合了一些其他的evidences去计算location和shape的信息(这些信息都是在image-label这个弱监督中缺少的信息)。Class Activation Map是一种可以找到物体定位信息的一种著名的方法,这种方法可以通过研究隐藏单元对于DNN分类结果的贡献,突出目标物体的局部具有判别特征的区域。被CAM突出的具有判别性的区域然后被作为seeds,然后去传播到整个物体。

在这篇文章种,作者提出了一种简单有效的方法,去补偿缺失的物体形状的信息,并且不需要额外的数据和监督。我们这个结构里的最重要的部分就是AffinityNet(这个结构是一个DNN,读入一张图片,然后去预测相邻像素的affinities)。给一张图片和他的CAMs,我们首先构建一个neighborhood graph(where each pixel is connected to its neighbors within a certain radius),然后去计算semantic affinities。作者通过Random Walk去扩散CAMs:在edges上的,鼓励去传播到有相同语义的附近区域,而惩罚传播到不同语义的区域。这样的扩散方法Rondom Walk很显著的修正了CAMs很好的还原了物体的形状。作者用这样的处理过程去训练图片合成他们的segmentation lable,然后生成的segmentationlabels被用作去训练model

Learning Pixel-level segmantic affinity with image-level supervision for weakly supervised segmentat_第1张图片

 现在仍有一个问题及时怎样去学习AffinityNet而不需要额外的信息和额外的监督。我们发现CAMs在一个图片上的一个区域里可以很好的预测像素之间的affinity,于是我们用CAMs作为监督去训练AffinityNet。

网络训练的步骤如上图所示,首先根据图片的image-label计算出CAMs然后,用CAMs得到affinity lables,用affinity label和原始的train image去训练AfinityNet这个网络结构(图一),然后在根据训练好的AffinityNet和Random Walk去产生对应图片的segmentation lables(图二),最后根据segmentation labels和train images去训练Seg Net。

作者这篇paper有以下三个贡献:

1)在仅有image-level class label的条件下,作者提出了一个新颖的结构DNN(AffinityNet)预测了high-level semantic affinities in a pixel-level

2)和大多数之前的弱监督方法不同,作者的方不依赖于现成的技术,而是充分理由特征学习,通过端到端的训练AffinityNet

3)在PASCAL VOC 2012的数据集上,我们取得了很好的结果。

3.Our Framework

two parts:1)合成segmentation labels    2)训练seg net分割物体

three network:1)A network computing CAMs   2)AffinityNet    3)segmentation model

3.1Computing CAMs

architectures: classification network + global average pooling + fully connected layer ;这个网络结构用image-level labels去训练。

M_{c}\left ( x,y \right ) ,W_{c}是和类c相联系的分类权重,_f{cam}\left ( x,y \right )代表着在feature map上,在GAP之前,(x,y)这个位置的特征向量。M_{c}\left ( x,y \right )然后会被normalized,所以M_{c}\left ( x,y \right )------> M_{c}\left ( x,y \right )/max_{x,y}M_{c}\left ( x,y \right ).对于任何与groundtruths无关的类别_c{'},我们都会使它的的M_{c'}的得分为零。

同时我们也会计算背景的activation map:M_{bg}(x,y)=\left \{ 1-maxM_{x,y}\right \}^{\alpha }

3.2Learning AffinityNet

其中AffinityNet被设计来预测一个卷积特征图f^{aff}的affinities,特别的在features i和features j 之间的semantic affinity 用W_{ij}来表示

3.2.1Generating semantic affinity labels

用image-level labels去训练AffinityNet的时候,我们用CAMs作为train data 的监督。CAMs虽然不是很准确,但是却可以得到可信赖的semantic affinity

我们最基本的思想就是从CAMs里,寻找物体的confident areas和background,然后对于训练样本的这些区域进行采样。为了估计物体的confident areas,对Eq.(2)我们首先用\alpha去加强背景,所以在CAMs中背景的得分都很低。在用CRF对CAMs进行refinement之后,我们就可以收集相关坐标的得分,如果这些得分比其他类的高,那么这个区域就是confident areas。然后background随后也可以用同样的方式计算得到。

Learning Pixel-level segmantic affinity with image-level supervision for weakly supervised segmentat_第2张图片

3.2.2 AffinityNet Training

对feature map上每一个特征向量都进行affinity的学习也是没有必要的,于是我们引入了下面这个函数,控制学习的区域:

作者把待分析的P给分解为两个部分:

Learning Pixel-level segmantic affinity with image-level supervision for weakly supervised segmentat_第3张图片

上面代表正区域,下面代表负区域。然后将p^{+}继续分解为p^{+}_{bg}

损失函数:Learning Pixel-level segmantic affinity with image-level supervision for weakly supervised segmentat_第4张图片

                      

3.3 Revising CAMs Using AffinityNet

这里又有一个公式;

                                      

 这公式讲的是如何从affinity来引导Random Walk去完善CAMs,这里介绍一下公式里的一些量。W是 affinity matrix,他的对角元素都是1.T是transition probability matrix 

                                             

这个公式讲的是把得出来的矩阵用在CAMs上改善initial CAMs

4.Network Architectures

4.1 Backbone Network

这篇论文里的三个DNN的结构都是以ResNet38为基础的,

4.2Details of DCNNs in our framework

1)Network computing CAMs:在Backbone后加上 一个3x3convolution layer with 512 channels+global average pooling layer+ fully connected layer

2)

 

你可能感兴趣的:(semantic,segmentation,semantic,segmentation)