弱监督语义分割论文SEC详解(2016-ECCV):Seed, Expand and Constrain

论文SEC-Seed, Expand and Constrain: Three Principlesfor Weakly-Supervised Image Segmentation

1、总体架构

论文主题:

这篇论文主要讲了弱监督语义分割的一般方法,即三个基本的原则,Seed,Expand和Constrain。

其中,

  • seed: 即seed cues,一般使用CAM[1]方法对分割物体进行定位,首先找到物体的位置,要求定位准确,一般找到的位置十分小,不能直接当监督信息,需要根据seed对区域进行扩张
  • Expand:即在seed的基础上扩张seed cues区域,使被标记为object label的像素越来越多,可视化出来的物体区域越来越大,如果只有seed 和expand,那随着网络的训练,masks区域会不断增大,直至超过物体本身的大小,这样的结果也不够准确,所以,一般情况下,还会对物体的边界进行约束,限制expand.
  • Constrain:限制分割的物体边界,使其不会越界

2、架构构成

我们来看一下SEC:Seed, Expand and Constrain: Three Principlesfor Weakly-Supervised Image Segmentation具体是如何做的吧?

我们来看一下上面这篇文章的架构,我从论文中抠出来的图,首先,我们可以看到架构中存在着三个损失函数(Seeding Loss、Expansion Loss、Constrain-to-boundary Loss)分别对应三个原则中的三个部分:

  • seed loss:图片location cues上一个像素点被分类为label c的可能性,损失函数优化目标是使得可能性p尽可能地大,保证网络在cues下的正确性,根据cues来优化网络。
  • expand loss:模型的主网络为分割网络,输入原始图片,输出N个feature maps, 每一个feature map上的值表示图片该位置像素属于第N类的可能性。 loss保证图片上存在的类对应的feature map的值尽可能地大。这里模型中使用分类来保证,作者提出GWRP方法融合feature map的值得到分类的scores,以保证scores的值尽可能地大来间接保证网络分类准确性以及feature map定位为存在的类的准确性。
  • constrain loss:限制expand的边界,使其不过界,使用CRF方法,利用原图片本身的颜色等信息,以及分割得到的mask进行边界的约束。

3、三个Loss

1、Seeding Loss:

首先看一下Seeding Loss,从架构图中可以看出,seeding loss上半个分支只有向前的箭头(黑色)而没有回传的箭头(灰色),这是为何呢?

我们先了解一下,这个灰色箭头表示的是什么,这个表示回传梯度,网络训练优化参数便是通过回传梯度为基础进行的。这个分支没有回传箭头,也就意味着它不参入网络优化训练,是一次性的过程,也就是图片经过Weak Location生成seed cues,生成之后便作为监督信息,放在那里,方便以后使用,在网络训练过程中,即Seeding Loss 优化过程中seed cues也不再变化,后面的论文将其称为“静态监督”,这是限制SEC性能进一步提高的一个重要因素,接下来的论文很多围绕这个方面对SEC进行改进,从而获得比较好的结果。

(1)Location cues:

前景seed cues:

  • 使用VGG预训练的模型初始化,改最后两个fc为convs(1024,3*3),最后由GAP融合为1024 --> 20,通过CAM取阈值为20%生成前景类的cues;

背景seed cues:

  • 使用显著性检验方法,选择阈值为10%得到背景类的cues,将不同类堆叠在同一个map中则生成seed cues;

优点:定位准确

缺点:seed cues小而稀疏,在网络训练后期,可能由于太小反而限制了网络的进一步优化。

(2)公式:

解释:

X-为输入图片

T – 分类类别

Sc – 网络根据CAM方法生成的c类feature map的seed cues区域

Fu,c(X) - u为图片中属于Sc内的像素,c为类别,Fu,c(X)为网络模型输出的预测位置u属于c类的概率值。

Lseed在优化过程中,目标使得Lseed的值尽可能小,即使得图片中在对应着location cues区域Sc上一个像素点被分类为label c的可能性尽可能地大,即可以保证seed cues在分割网络中的正确性。

(3)示意图

2、Expansion Loss :

由CAM方法生成的初始Seed cues虽然准确但是小而稀疏,不能直接作为分割mask,作者设计expand分支网络,在seed cues的基础上,扩张分割区域,即扩张确定label的区域。

作者设计的扩张分支十分简单,直接以分割网络为基础,分割网络生成的是C个feature maps,其上每一个像素的值分别对应着图片每一个像素属于对应的C类的可能性大小。

对于图片中存在的类别,该类别对应的feature map上应该存在不为0的值,且会存在一个物体区域。作者简单的利用分类Loss来设计expand loss,将分割网络输出的feature map的值融合为一个分类分值,C个feature maps刚好融合为图片对C类的预测分值。这个分值越大,则表示图片中存在这个类别物体的可能性越大,也可以驱使这个feature map 上的像素的值越大,存在较大值的区域越大。

如何将feature map融合为一个分类分值呢?

一般的做法大多是取均值或者最大值,但是取均值一般会低估网络的性能,而去最大值则会高估性能,作者设计的GWRP方法针对一个feature map,对于其中的预测值大的像素取较大的权重,而对预测值小的像素取较小的权重,使用加权和作为分类分值。

GWRP:

对于图片输入网络输出的feature maps中C个feature map,每个map有n个像素,对这n个像素的对应预测为label c的分值的大小进行排序,

对于权重d:

  • 当dc=0时,仅j=1时存在值fi1,c(x),且Z(dc)=1即等价于GMP
  • 当dc=1时,等价为GAP
  • 具体的值:

对于分割网络生成的c+1个feature maps,对于c对应的feature map fc,使其上的属于label c的可能性越来越大,具有确定label的区域越来越大。

公式:

Gc为由feature map融合的分值(GWRP):

Lexpand作用为使得图片中存在的类的分值尽可能大,不存在的类的分值尽可能小,背景类的值尽可能地大,如同分类一般。

3,constrain loss

如果仅仅有seed loss 定位,expand loss 扩展seed 区域,而不加以限制的话,分割网络预测的分割图很容易便会超出物体实际的边界,造成较低的性能。作者在这篇文章中利用条件随机场CRF,根据图片本身的颜色等信息,对物体边界进行限制,使模型能够获得较好的结果。

公式:

理解:KL散度,使得网络输出接近CRF的输出

CRF的使用:(具体使用方法,以后再讲)

  • 一元势:网络的输出预测分值
  • 二元势:图片的像素
  • 可以得到边界的结果Q(x,f(x))
  • 但是位置相近有相同颜色会易于被标记为一类,而人穿不同衣服则可能出现误差

SEC方法:

数据集:VOC扩充【10】至10582的数据

分割网络:DeepLab-CRF-LargeFOV

数据尺寸:input:(321*321)--> 分割mask(41*41)

结果:51.7%

存在问题:

  • seed cues静态监督,后期会限制分割精确度
  • CRF对于同一物体但身上不同颜色类的物体容易判别失误

普遍挑战:

  • 某种物体常伴随相应场景出现,以至于与背景难以区分,如船和水,火车和轨道【15】
  • 物体正确检测出,但被安上错误的类别标签
  • 可能与DeepLab网络存在较大感受野,充分利用了上下文信息有关,大的感受野有助于分类却不一定适于定位
  • 但是这个问题在这篇论文方法中很少出现,几乎没有,参照感受野的探究分析,可能因为seed loss 已经有了很强的定位能力,大的感受野对其难产生干扰。
  • 分割物体仅仅分割出了部分
  • 定位网络仅检测出最具判别性的区域
  • 当物体重叠或由多个外表不同组件组成时。

探究分析:

(1)GWRP

fg fraction:预测为fg的像素/总的像素

(2)Loss的作用

(3)感受野

原文发布于微信公众号 - AI深度学习求索(AIDeepLearningQ)

原文发表时间:2018-10-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量化投资与机器学习

【机器学习研究】隐马尔可夫模型 (HMM) 最认真研究

隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然...

6439
来自专栏郭耀华‘s Blog

【深度学习】数据降维方法总结

引言:   机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是...

4129
来自专栏新智元

Reddit热文:MIT\北大\CMU合作, 找到深度神经网络全局最优解

在目标函数非凸的情况下,梯度下降在训练深度神经网络中也能够找到全局最小值。本文证明,对于具有残差连接的超参数化的深度神经网络(ResNet),采用梯度下降可以在...

853
来自专栏AI星球

逻辑回归(LR)个人学习总结篇

逻辑回归(LR,Logistic Regression)是传统机器学习中的一种分类模型,由于LR算法具有简单、高效、易于并行且在线学习(动态扩展)的特点,在工业...

7804
来自专栏机器之心

深度 | 随机计算图:在随机结点中执行反向传播的新方法

2838
来自专栏鸿的学习笔记

分类问题中的维度诅咒(下)

换句话说,如果可用训练数据的数量是固定的,我们继续添加维度的话,则会发生过拟合。另一方面,如果我们不断增加维度,训练数据的数量需要快速增长以保持相同的覆盖,并避...

1071
来自专栏外文文献翻译

从潜在向量生成大图像 - 第二部分

更多分辨率为1080x1080的MNIST数字

23710
来自专栏机器学习、深度学习

人脸检测对齐--Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks

Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networ...

40510
来自专栏小鹏的专栏

trick—Data Augmentation

海康威视经验 ?         数据增强对最后的识别性能和泛化能力都有着非常重要的作用。我们使用下面这些数据增强方法。第一,对颜色的数据增强,包括色彩的饱和...

4876
来自专栏郭耀华‘s Blog

【深度学习】数据降维方法总结

1382

扫码关注云+社区