【CVPR2020】Semi-Supervised Semantic Image Segmentation with Self-correcting Networks

news/2024/5/20 9:02:21 标签: Semi-supervised, segmentation, 语义分割, CVPR2020

    • Abstract 摘要
    • Introduction 介绍
    • Method 方法
      • Ancillary Segmentation Model 辅助分割模型
      • Self-correction module自校正模块
        • No self-correction module 无自校正模块
        • Linear self-correction module 线性自校正模块
        • Convolutional self-correction module 卷积自校正模块
      • Experience 实验

今天和大家分享一篇CVPR2020的文章——Semi-Supervised Semantic Image Segmentation with Self-correcting Networks,CVPR2020放榜不久,有很多新鲜的内容引人关注,据说这篇论文在2018年就初具雏形,直到今年才正式发表,所以我们来一起来看一下这篇论文。
在这里插入图片描述

Abstract 摘要

使用高质量对象构建大型图像数据集语义分割的掩码昂贵且耗时。 在本文中,介绍了一种有原则的半监督框架,该框架仅使用一小组完全监督的图像(具有语义分割标签和检测框标签:Boundingbox+mask)和一组仅具有对象边界框标签的图像(具有检测框标签:Boundingbox)。 我们框架借助一个辅助模型(该模型为弱集生成初始分割标签)和一个自校正模块来训练主分割模型,该模块使用越来越精确的主模型在训练过程中改善了生成的标签。 我们使用线性或卷积函数介绍了自校正模块的两种变体。 在PASCAL VOC 2012和Cityscape数据集上进行的实验表明,我们训练的带有小型全监督集合的模型的性能类似于或优于训练有大型的完整监督集合的模型,而所需的标注工作却减少了约7倍。

一般认为,图像级的标注是弱标注(例如图像分类的类别标注),像素级的标注是强标注(例如分割标注的mask标注),对于普通的分割任务来说,数据是图像,标注是mask,这属于完全监督问题Supervised;如果标注是annotations或者图像级标注,这属于弱监督问题Weakly-supervised;如果标注只有少部分是mask,剩余是annotations或者图像级标注,这属于半监督问题Semi-supervised

Introduction 介绍

当前最新的半监督方法通常依赖手工制作(hand-crafted) 的方法来推断边界框内的对象蒙版(object mask)。

  • Weakly-and semi-supervised learning of a deep convolutional network for semantic image segmentation:在DeepLab_v1的基础上提出了一种基于期望最大化的(EM)算法,以估计弱图像集的分割标签(仅包含框信息)。在每个训练步骤中,都以EM方式根据网络输出估算细分标签。
  • Simple does it: Weakly supervised instance and semantic segmentation:提出了一种迭代训练方法,该方法可以在生成区域建议(来自一组固定建议)和微调网络之间进行切换。
  • Boxsup: Exploiting bounding boxes to supervise convolutional networks for se- mantic segmentation:使用迭代算法,但依赖GrabCut和手工提取规则来提取每次迭代中的分割蒙版。

本文中的框架称为自校正分割模型,因为它基于其当前的对象蒙版概率模型(probabilistic model of object masks)改善了弱监督标签。目前这些弱监督信息主要包括了bounding boxes,scribbles,points,image labels等,主要方式如下图:
在这里插入图片描述
本文中提供了两种自校正机制,一种是使用的函数将辅助预测和模型预测线性地组合在一起,简单有效的方法是最小化加权Kullback Leibler(KL)从分割标签到辅助模型和主模型的分布的自然结果,另一种是使用CNN来学习如何结合辅助模型和主要模型来预测弱图像集上的分割,这种方式可以消除对于权重加权的计划。

Method 方法

本篇论文的主要目的是:在半监督的设置下(小部分的全监督数据+大多部分将测框数据集),训练一个分割网络,主要结构如下图:
在这里插入图片描述
本篇论文的结构主要分为三个部分或者模块:

  • Primary segmentation model:金字塔分割模型,生成语义分割结果,以Deeplabv3+为基础;
  • Ancillary segmentation model:辅助分割模型,在给一张图像和bbox的前提下产生分割结果,以Deeplabv3+为基础;
  • Self-correction module:自校正模块,优化了由辅助模型和当前主模型针对弱集产生的分割结果;

Ancillary Segmentation Model 辅助分割模型

在带有边界框注释的分段模型的半监督训练中,关键的挑战是推断对象在框内的分割。而目前以后的方法一般是基于手工提取(hand-crafted),例如Crubcut。这样的手工提取一般回带来如下的问题:1)边界框信息未直接用于提取分割mask,2)该过程可能是手工设计的,可能不是最佳选择,3)当多个框重叠时,分割过程变得模棱两可。
在这篇论文中,通过设计了辅助分割模型(ancillary segmentation model) 来避免上述问题,辅助分割模型在image+bounding box annotation的数据及标注条件下,可以形成像素级别的标签分布。此外,还利用了域训练模型和将bounding box嵌入到多尺度网络层级里面参加训练等方式来提高模型的准确率和迁移学习能力,结构如下图所示。
在这里插入图片描述
Bounding box Encoder:是一个基于3x3卷积和sigmoid激活函数的编码器;通过Encoder会生成tensor,看作是attention map以逐元素乘法(element-wise multiple)的方式加入到原图像的tensor中,上图是展示了在Deeplabv3+中两个尺度的添加方式。对于每个尺度,生成一个attention map,使用逐元素乘法将其与相应的特征图融合,然后馈送到解码器。因为有C类,所以生成C+1类的二值mask。辅助分割模型用交叉熵损失来约束。

Self-correction module自校正模块

No self-correction module 无自校正模块

通过结果观察到:辅助分割模型的性能优于没有框信息的分割模型。这主要是因为边界框信息指导辅助分割模型在推理时在bounding box内查找对象。最简单的训练初步模型的方法是:在全监督数据集F上使用真值标签来预测和在弱集W上通过辅助分割模型来生成标签。
在这里插入图片描述

Linear self-correction module 线性自校正模块

在无自校正模块的情景下,分割模型只作用在全监督数据集F上,并没有作用在弱集W上。Vahdat 引入了一种正则化的期望最大化算法,该算法使用KL散度的线性组合来推断一般分类问题中缺失标签的分布。线性自校正模型也运用了这个灵感,主要思想是所推断的标签分布和辅助模型的标签分布以及主模型的标签分布都是相近的。
在这里插入图片描述
当α趋近于无穷的时候,推断更符合辅助标签的分布。线性自校正模型,因为它使用KL散度的线性组合的解决方案来推断潜在分割标签的分布。由于在训练过程中优化了主要模型的参数,所以α将自校正机制偏向于主要模型。

Convolutional self-correction module 卷积自校正模块

在linear self-correction module里面有一个超参数α需要微调和设定,为了克服这一难题,我们将linear self-correction module换成了convolutional self-correction module卷积自校正模块。
在这里插入图片描述
卷积自校正子网络由两个卷积层组成。 这两层都使用3×3内核和ReLU激活。 第一层具有128个输出FM,第二层具有基于类别数量的FM。这里的挑战是训练该子网,使更准确地预测分段标签。 为此,我们在目标函数中引入了一个附加体系,即在整个数据集中对主要模型进行训练时,使用F中的训练示例来训练子网。
在这里插入图片描述
由于卷积子网络的训练是随机初始化的,因此无法在训练过程中及早准确预测W上的分段标签。 为了克服这个问题,我们提出以下预训练过程:
1.初始化辅助模型:与以前的自校正模型一样,我们需要训练辅助模型,完全监督集F的一半用于此目的。
2.初始化训练自校正网络:全监督数据F用于训练基本模型和卷积自校正网络。
3.主要训练:整个数据F和W用于使用目标函数i对以前的模型进行微调。

Experience 实验

文中的实验是在PASCAL VOC 2012和城市街景数据集上做的,所有的数据集都含有分割标签和标注框标注。把数据集模拟成一个少部分全监督和一个大部分是弱监督的数据集。训练:将Deeplabv3+做为主要的模型,在4卡上Tensorflow的框架上做的,使用了Xception-65的域训练模型,lr=0.007,batchsize=4。
在这里插入图片描述


http://www.niftyadmin.cn/n/524698.html

相关文章

Tensorflow——tf.cond()函数详解

最近在阅读大佬代码的时候遇到了一个比较令人困惑的函数tf.cond( )(控制数据流向),这里就拿出来和大家详解一下。TensorFlow 提供了几个操作和类可以用来控制操作的执行并向图中添加条件依赖关系,比如说tf.count_up_to()&#xff…

【Neural Style Transfer】Deep Photo Style Transfer(含代码详解)

2017CVPR: Deep Photo Style TransferAbstract 摘要Method 方法Background:Neural Style Algorithm by Gatys et al.Core idea:Photorealism RegularizationCore idea:Augmented style loss with semantic segmentationFinal Total Loss and …

弱监督的语义分割论文汇总(持续更新ing)

弱监督的语义分割论文汇总弱监督语义分割导读弱监督语义分割论文整理基于Bounding box的弱监督语义分割基于Image-level labels的弱监督语义分割基于Scribbles的弱监督语义分割基于Points的弱监督语义分割弱监督语义分割导读 一般认为,图像级的标注是弱标注&#x…

【CVPR2020】Fast Soft Color Segmentation

Fast Soft Color SegmentationSoft Color Segmentation 什么是软颜色分割Fast Soft Color Segmentation 快速软色彩分割01 Introduction02 Method03 Experience非常偶然的在胖圈看到有人推荐这篇CVPR2020的论文,Fast Soft Color Segmentation,感觉名字很…

【Transfer Learning】Adversarial Discriminative Domain Adaptation

1 Introduction 介绍2 Generalized adversarial adaptation 广义对抗适应3 Adversarial discriminative domain adaptation 对抗判别域适应4 Experience 实验Adversarial Discriminative Domain Adaptation这篇论文正式发表于2017的CVPR,但在2017年的ICLR的Workshop…

【杂七杂八的东西】Springer的LNCS_Latex踩坑篇

Springer的LNCS_Latex踩坑篇1. 通讯作者小信封符号的添加(Corresponding Author)2. 共同一作的注明3. 在LNCS中引用中文字符计算机学科的会议论文通常要求使用springer的LNCS的模板,也是根据博主的一点点经验给大家排一下坑,按需阅…

【Neural Style Transfer】Stroke Controllable Fast Style Transfer(含代码详解)

在介绍我们这次的论文之前,我们先来思考一些问题: 在NST中,什么是风格图像中的风格信息? 个人理解,风格图像中的风格信息指的是风格图像中的色彩、纹理、笔触等因素,这些因素的不同组合使得图像呈现出不同…

【杂七杂八的东西】ROSBAG:用python按时间戳提取bag中的图像

1. ROSBAG提取制定topic图像 跟着朋友学习了一下如何在bag中提取带有时间戳的图像(我们主要取的是单通道的深度图像),感觉在ROS机器人中使用的非常普遍,闲话不多说,直接上完整的python代码。如果想看详细的ROSBAG解释…