论文笔记: Weakly Supervised Semantic Segmentation Using Superpixel Pooling Network

  1. 概要

这篇论文(不知道为什么插入不了链接了,大家可以自行Google)是17年AAAI上的一篇文章,提出了一种基于image-level标记的弱监督语义分割的算法。这个算法包括两个网络,一个网络SPN用来生成segmentation annotations。另一个网络deCoupledNet用来做语义分割。通过轮流使用一个网络的结果作为另外一个网络的输入来依次训练,经过几次迭代,最终可以得到期望的结果。这篇文章的主要贡献在于提出了SPN(Superpixel Pooling Network),用来生成初始语义分割的标记。SPN的一个特点是它利用了图像的low-level structure information。

  1. intuition

之前的弱监督学习做语义分割,使用bounding box, scribbles,或者image-level annotation,主要的挑战在于如何从这些弱监督的标记中学习到pixelwise的标记。之前很多做法是识别物体的显著局部部分,但是这些做法很容易丢失物体的非显著部分,使得分割的结果无法包括整个物体。这篇paper通过考虑low-level structure information和shape information 来进一步提高效果。

3 网络介绍

2.1 SPN网络

  1. SPN的网络架构如下所示。首先包括一个卷积部分,使用的是VGG16的卷积部分,生成特征图为

    。这部分网络的参数是在ImageNet上pre-trained的模型参数,并且在训练的过程这部分参数保持不变。生成的feature map分成两个分支,一个分支(下面那个分支)直接使用GAP(Global Average Pooling), 每类生成一个class-level的prediction;对于另外一个分支(上面那个分支),不能直接使用Superpixel Pooling,因为生成的feature map太小了,所以先有一个upscale的模块,然后在这个基础上做Superpixel Pooling

论文笔记: Weakly Supervised Semantic Segmentation Using Superpixel Pooling Network_第1张图片
图片
  1. SP layer的前向传播和反向传播
    假设pi… , ki表示每个Superpixel中像素的个数,对于每个Superpixel i,feature vector的生成公式为:

其中 rj zj

再通过global average Pooling,每一个图片生成一个feature vector,公式如下:

【图】

其中,。。。

反向传播的公式为:

【图】

Loss公式是C个binary classification的和,公式如下:

【】

两个loss会分别计算。而且学习的方法使用的multi-scale learning,即会将图片随机scale到250,300, 350 400 450的一种。

  1. 生成初始的annotation。

你可能感兴趣的:(论文笔记: Weakly Supervised Semantic Segmentation Using Superpixel Pooling Network)