Weakly Supervised Semantic Segmentation with Boundary Exploration

  • 摘要
  • 1 Introduction
  • 2 Related Work
  • 3 The Proposed Approach
    • 3.1 Boundary Exploration for Localization Maps
    • 3.2 Attention-Pooling CAM to Obtain Localization Maps

摘要

用image-level标注解决弱监督语义分割(WSSS)任务最近吸引了很多人的目光,因为这种标签可以在很多数据集中获得。为了在弱监督下完成语义分割,本文提出了一种简单有效的方法,该方法基于从训练图像中明确探索目标边界以保持分割结果和实际边界重合的思想。具体来讲, 我们通过利用CNN分类器获得的粗糙localization maps合成边界标注,并使用标注来训练所提出的名为BENet的网络,该网络进一步挖掘更多的目标边界以提供分割约束。最后,使用通过训练图像获得的伪标注监督现有的分割网络。我们在PASCAL VOC上进行了相关实验。

1 Introduction

深度学习和卷积神经网络(CNNs)在CV领域获得了巨大成功,例如语义分割。受场景识别要求的驱动,各种模型被提出以精确分割图像中的前景。然而,手动标注语义分割网络的训练集数据是麻烦的。为了减轻这种pixel-level标注工作的负担,弱监督语义分割学习被采纳,这种方法使用弱标注完成语义分割工作,这些标注包括bounding boxes,scribbles和image-level labels。其中image-level labels被广泛应用,因为其在很多数据集中都容易获得(如VOC和MS COCO)。

虽然利用image-level label常见且方便,但这类标注有个关键问题。分类任务要求平移不变性(invariance)但是分割任务对位置更加敏感且要求平移可变性(variance)。为了解决这一问题,Class Activation Maps (CAM)提出通过在全卷积网络的顶端位置加入一个global average pooling (GAP)来获得class localization maps以克服分类和分割的固有差距。然而,这种结构趋于激活有辨别性的区域,得到的分割结果不完整。在最近的工作中,CAM通常作为新添加的方法的一个基本localization技术,新提出的方法对其进行改进。然而,大部分方法关注于传播前景区域而不考虑分割和形态边界的重合,这成为了限制分割效果的关键问题。在许多情况下,如果其传播不受目标边界的限制,很可能把不属于它的部分也分割出来。

即使目标边界和影响分割效果的关键因素,但是缺少了边界标注和像素级的信息我们很难挖掘到它。在本文的工作中,我们提出了boundary exploration based segmentation(BES)方法,这一方法明确探索了目标边界以提炼训练图像的语义分割。更准确地说,我们提出了一个简单的方法,通过过滤(filter)获得的localization maps去获得小数量的目标边界标注,然后被合成边界标注训练过的BENet网络明确地探索更多的目标边界。最后,大量被探索到的边界信息被用来为localization maps传播提供约束 。

本文主要的contributions如下:

  • 提出的BES方法可以用image-level标注清晰地探索目标边界。
  • 为了得到可靠的初始localization maps,我们介绍了一种名为attention-pooling的模块来改善CAM的效果。
  • 通过实验证明了我们的方法的效果。

2 Related Work

3 The Proposed Approach

BES的框架如图Fig. 1所示,其作用是通过训练图像得到语义分割。作为框架中最关键的一部分,boundary exploration旨在通过输入原始训练图像预测精确的boundary maps。边界标注从localization maps中手动合成,然后用其去训练BENet以预测边界。BENet的边界分类能力帮助探索用来修正localization maps的多数边界。框架的另一部分attention-pooling CAM是一个被改善的CAM,用来获得更好的初始目标localization maps。具体细节如下。

3.1 Boundary Exploration for Localization Maps

在本节,我们介绍了boundary exploration的设计和它如何被用来修正localization maps。我们首先利用localization maps合成小数量的可信的边界标注,然后这些标注被用来通过训练BENet去探索更多的边界cues。

Synthesizing Boundary Labels. 由于localization maps由像素级的类别probability组成,这不适合边界标注合成,因此我们首先将probability转换成每个像素的某类标签。假设PicP_i^cPic为像素iii属于类别c∈Cc\in CcC的probability。通过以下阈值转换得到像素iii的分类结果y^i\hat{y}_iy^i
y^i={argmax⁡c∈C(Pic)ifmax⁡c∈C(Pic)>θfg0ifmax⁡c∈C(Pic)<θbg255otherwise\hat{y}_i= \left\{\begin{array}{rcl} arg\max_{c\in C}(P_i^c) &if& \max_{c\in C}(P_i^c)>\theta_{fg} \\ 0 &if& \max_{c\in C}(P_i^c)<\theta_{bg} \\ 255&&otherwise \end{array}\right. y^i=argmaxcC(Pic)0255ififmaxcC(Pic)>θfgmaxcC(Pic)<θbgotherwise
其中0和255表示背景标注和不确定标注,θfg,θbg\theta_{fg}, \theta_{bg}θfg,θbg是前背景阈值,用于过滤不确定标注像素。另外使用dCRF操作提炼可靠的前背景区域。

问题:dCRF是什么?
回答:dCRF:图像语义分割之FCN和CRF
更简单的解读:DeepLabv1补充:对全连接条件随机场(Fully Connected / Dense CRF)的理解

我们注意到虽然localization maps有一些错误分类的像素,但它在边界附近的表现很好。换句话说,边界前背景像素分类结果很可靠。根据边界的定义,我们假设存在这样的边界,其邻近区域包含大概相同数量的前景和背景像素。基于此,我们用一个滑窗记录当前位置相同像素的数量并利用统计信息来确定窗口中心的像素是否为边界 。滑窗中心在像素iii位置,滑窗大小为www,我们用NicN_i^cNic代表滑窗中标签为ccc的像素的数量。滑窗的每个类别的统计比例为SicS_i^cSic
Sic=Nicw×w∀c∈C∪{0}S_i^c=\frac{N_i^c}{w×w}\forall c\in C\cup \{0\} Sic=w×wNiccC{0}
满足以下两个条件的像素将会被标记为边界。第一,在滑窗中存在足够多的相同像素来支持推理。第二,窗口中前景和背景区域的大小足够接近。像素iii的边界标注B^i\hat{B}_iB^i根据如下计算:
B^i={0ifmin{max⁡c∈CSic,Si0}>2θscaleand∣max⁡c∈CSic−Si0∣≥2θdiff1ifmin{max⁡c∈CSic,Si0}>θscaleand∣max⁡c∈CSic−Si0∣<θdiff255otherwise\hat{B}_i= \left\{\begin{array}{rcl} 0 & if & min\{\max_{c\in C}S_i^c, S_i^0\}>2\theta_{scale} and |\max_{c\in C}S_i^c-S_i^0|\geq2\theta_{diff} \\ 1& if & min\{\max_{c\in C}S_i^c, S_i^0\}>\theta_{scale} and |\max_{c\in C}S_i^c-S_i^0|<\theta_{diff} \\ 255 && otherwise \end{array}\right. B^i=01255ififmin{maxcCSic,Si0}>2θscale and maxcCSicSi02θdiffmin{maxcCSic,Si0}>θscale and maxcCSicSi0<θdiffotherwise
其中θscale,θdiff\theta_{scale}, \theta_{diff}θscale,θdiff是两种情况的threshold,255代表像素的边界标注不确定。

边界附近的像素通常难以区分,这会对BENet的训练产生负影响。因此,上面的式子被设计成一个不连续的判别式,这样边界附近的像素将会和不确定标注被分配,且不会在训练阶段提供监督。Fig. 2展示了合成边界标注的过程。我们计算了localization map中每个像素的local statistics信息,由此获得了边界标注。

Relax Boundary Classification Loss for BENet Training. 在带有合成边界标注的输入图像的监督下,我们利用BENet直接预测boundary mapB∈[0,1]w×h\mathcal{B}\in[0,1]^{w×h}B[0,1]w×h。在训练阶段,边界、前景和背景像素的数量存在显着差异,训练样本的不平衡会使模型预测倾向于抑制边界响应。为了解决这个问题,我们把训练数据分成三部分:边界像素,前景和背景像素。每部分的交叉熵分别计算,最终的boundary loss函数如下所示:
LB=−∑i∈ΦbryWilog(Pi)∣Φbry∣−12(∑i∈Φclog(1−Pi)∣Φc∣+∑i∈Φbglog(1−Pi)∣Φbg∣)L_B=-\sum_{i\in \Phi_{bry}}\frac{W_ilog(P_i)}{|\Phi_{bry}|}-\frac{1}{2}(\sum_{i\in\Phi_c}\frac{log(1-P_i)}{|\Phi_c|}+\sum_{i\in\Phi_{bg}}\frac{log(1-P_i)}{|\Phi_{bg}|}) LB=iΦbryΦbryWilog(Pi)21(iΦcΦclog(1Pi)+iΦbgΦbglog(1Pi))
其中,Φbry={i∣B^i=1},Φc={i∣B^i=0,max⁡c∈CSic>Si0},Φbg={i∣B^i=0,Si0>max⁡c∈CSic}\Phi_{bry}=\{i|\hat{B}_i=1\}, \Phi_c=\{i|\hat{B}_i=0, \max_{c\in C}S_i^c>S_i^0\}, \Phi_{bg}=\{i|\hat{B}_i=0, S_i^0>\max_{c\in C}S_i^c\}Φbry={iB^i=1},Φc={iB^i=0,maxcCSic>Si0},Φbg={iB^i=0,Si0>maxcCSic}分别是边界,前景和背景像素的集合。PiP_iPi是BENet在像素iii上预测的boundary probability。合成的边界标注可能含有一些错误分类的样本,为了减少对合成边界标注的以来,我们通过在边界损失项(boundary loss term)中添加一个权重参数WiW_iWi来放宽所有边界标注都是可靠的这一假设。实际上WiW_iWi在在线训练上被设置成Pi\sqrt{P_i}Pi

。考虑到一个被标记成边界的像素,即i∈Φbryi\in\Phi_{bry}iΦbry,如果它通过BENet预测的boundary probability的值比较低(这说明它更可能是一个前景或背景),它对损失函数的贡献权重将会被减少以减弱对训练的影响。

Revising Localization Maps with Explored Boundaries. 训练后的BENet可以挖掘大量的目标边界。然后,我们使用预测的boundary maps作为约束来指导粗糙localization maps的传播并获得语义分割结果。和一些基于flood-fill的传播方法相比,random walk是一种修正localization maps的elegant的方法。我们采用《Weakly supervised learning of instance segmentation with inter-pixel relations》中的方法去把boundary mapsB∈[0,1]w×h\mathcal{B}\in[0,1]^{w×h}B[0,1]w×h转换成语义亲和矩阵( semantic affinity matrix)。在这个矩阵中,像素iiijjj的亲和力记作aija_{ij}aij,其值取决于从iiijjj的路径中的最大边界置信度。 为了优化计算效率,只有两个像素之间的距离小于阈值γ\gammaγ时亲和力才被激活:
aij={(1−max⁡k∈∏ijBk)βifP(i,j)<γ0otherwisea_{ij}= \left\{\begin{array}{rcl} (1-\max_{k\in\prod_{ij}}\mathcal{B}_k)^{\beta} & if & P(i,j)<\gamma \\ 0 && otherwise \end{array}\right. aij={(1maxkijBk)β0ifP(i,j)<γotherwise
其中∏ij\prod_{ij}ij是从iiijjj路径上的像素的集合,P(i,j)P(i,j)P(i,j)iiijjj之间的欧氏距离,超参数β\betaβ是一个大于1的值,用来控制random walk传播的保守程度。

问题:什么是亲和矩阵?
回答:亲和矩阵,也称为相似性矩阵。亲和矩阵衡量一个空间中两点的距离或者相似度。在计算机视觉任务中,亲和矩阵通常表现为一个带权重的图,它将每个像素点视为一个节点并通过一条边连接每一对像素。具体可以查看这篇文章。

为了模拟random walk过程,语义亲和矩阵的元素值aija_{ij}aij被视作transition probability。然后通过将矩阵乘localization maps来完成传播,模拟将迭代执行,直到达到预定义的迭代次数。最后,dense Conditional Random Field (dCRF)将会用于进一步改善分割质量。

3.2 Attention-Pooling CAM to Obtain Localization Maps

初始localization maps在BES方法中扮演了重要角色,它不仅仅被用来作为重新访问的种子区域(seed region),还被用来合成边界标注。获取localization maps的常用方法是使用CAM技术,通过在全卷积网络后面使用GAP实现。然而,许多工作提出,CAM 中使用的 GAP 将类别localization maps中的平均值作为分类的分数,隐式地为每个像素投票分配相等的权重,这将会激励不相关的区域。基于此,我们提出了一个新的称为attention-pooling的计算取代了CAM中的GAP操作。

Attention-Pooling for CAM. 我们保留了CAM中的全卷积网络(FCN)结构以捕捉目标的空间信息,改变了通过应用可以为像素动态分配不同权重的attention-pooling获得分类分数的计算。我们把类别c∈Cc\in CcC的localization map记为McM^cMc,其被卷积层embedded,MicM_i^cMicMcM^cMc图中位置iii的激活值。attention map AcA^cAc由每个类别的localization map MicM_i^cMic生成,在AcA^cAc的位置iii的attention value记作AicA_i^cAic,其代表了分类分数scs^cscMicM_i^cMic的contribution weight。scs^csc通过求所有像素位置的相应的和得出,如下:
sc=∑i(Mic×Aic)∀c∈Cs^c=\sum_{i}(M_i^c×A_i^c) \forall c\in C sc=i(Mic×Aic) cC
attention masks AcA^cAc通过相关类别localization map McM^cMc的softmax函数生成:
Aic=exp(kMic)∑j∈Jexp(kMjc)∀c∈CA_i^c=\frac{exp(kM_i^c)}{\sum_{j\in\mathcal{J}}exp(kM_j^c)} \forall c\in C Aic=jJexp(kMjc)exp(kMic) cC
其中J\mathcal{J}JMcM^cMc中像素的集合,kkk是调整attention强度的超参数。当kkk被设置成0时,attention-pooling将会给每个像素分配相等的权重。随着kkk值的增加,attention趋于关注有高响应值的像素点。一般来说,如果kkk接近0,attention-pooling就接近于global average pooling(GAP),如果kkk足够高就会接近于global max pooling。

训练之后,attention-pooling将会被移除,localization maps被归一化以获得class probability PicP_i^cPic
Pic=Micmax⁡j∈JMjc∀c∈CP_i^c=\frac{M_i^c}{\max_{j\in\mathcal{J}}M_j^c} \forall c\in C Pic=maxjJMjcMic cC
综上所述,BES为每张训练图像生成了语义分割结果。

Weakly Supervised Semantic Segmentation with Boundary Exploration相关推荐

  1. Weakly Supervised Semantic Segmentation list

    Weakly Supervised Semantic Segmentation list 文章转自Github:https://github.com/JackieZhangdx/WeakSupervi ...

  2. 【论文阅读】Online Attention Accumulation for Weakly Supervised Semantic Segmentation

    一篇弱监督分割领域的论文,其会议版本为: (ICCV2019)Integral Object Mining via Online Attention Accumulation 论文标题: Online ...

  3. 【论文阅读】Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation

    论文标题: Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation 作者信息: 代 ...

  4. 机翻《C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation onMedical Image 》

    前言 <C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation onMedical Image>CVPR2022,有源码 ...

  5. Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation

    Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation 摘要 1. Introduction 2. R ...

  6. 阅读笔记:Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation

    Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation 基于等变注意力机 ...

  7. 【cvpr2022-论文笔记】《Multi-class Token Transformer for Weakly Supervised Semantic Segmentation》

    目录 MCTformer-V1 Class-specific multi-class token attention Class-specific attention refinement Class ...

  8. 【论文阅读】Cross Language Image Matching for Weakly Supervised Semantic Segmentation

    这篇论文是CLIP模型较早的在弱监督分割上应用的论文. 论文标题: Cross Language Image Matching for Weakly Supervised Semantic Segme ...

  9. 弱监督语义分割--Weakly Supervised Semantic Segmentation using Web-Crawled Videos

    Weakly Supervised Semantic Segmentation using Web-Crawled Videos CVPR2017 https://arxiv.org/abs/1701 ...

最新文章

  1. 数据科学家十年后彻底消失?25年行业元老:无稽之谈!
  2. java 并发测试程序_java并发编程实战:第十二章---并发程序的测试
  3. Visual C++中error spawning cl.exe解决办法
  4. pytorch深度学习-微调(fine tuning)
  5. 淘宝的生态灾难,谁来救赎?
  6. Android 系统(58)---Android 系统 UI - SystemUI之功能介绍和UI布局实现
  7. Window应急响应(五):ARP病毒
  8. Zip即将复辟?免费是WinRAR的终极武器
  9. c语言函数文档,C语言函数手册DOC.doc
  10. 软件工程专业要考c语言吗,【干货】软件工程专业课到底考什么?
  11. 腾创秒会达视频会议系统软件 安卓
  12. vue day02 笔记(回顾+json-server用法)
  13. 五款最好用的记事本编程软件比UltraEdit强大
  14. Java实现微信开发者-测试账号申请及配置
  15. fluent里常见基础问题(转)
  16. 分治法查找数组元素的最大值和最小值(python实现)
  17. Resid------set
  18. 【JKD源码】String 三兄弟
  19. 钉钉企业内部应用开发php,钉钉企业内部应用开发心得
  20. JAVA通过拦截器实现IP黑名单

热门文章

  1. c/c++源码学习和实践资源,万丈高楼平地起
  2. matlab的subplot--子图位置大小随心所欲
  3. 照片后期-lightroom常用调色常见参数解
  4. web前端进阶<7>:3d图像翻转效果
  5. ATMEL芯片系列介绍0
  6. 我的钱包页面HTML,钱包.html
  7. ATTCK靶场系列(二)
  8. i3s/s3m/3D Tile
  9. 应用与计算机病毒,计算机病毒论文
  10. 回车enter键的js