Railroad is not a Train: Saliency as Pseudo-pixel Supervision for Weakly Supervised Semantic Segment

Railroad is not a Train: Saliency as Pseudo-pixel Supervision for Weakly Supervised Semantic Segmentation

  • 摘要
  • 1. Introduction
  • 2. Related Work
  • 3. Proposed Method
    • 3.1. Motivation
    • 3.2. Explicit Pseudo-pixel Supervision
    • 3.3. Joint Training Procedure
  • 4. Experimental Setup
  • 5. Experimental Results
    • 5.1. Handling Boundary and Co-occurrence
    • 5.2. Effect of Map Selection Strategies
    • 5.3. Comparison with state-of-the-arts

摘要

现有的弱监督语义分割(WSSS)使用image-level的弱监督,但这样有很多限制:稀疏的目标覆盖范围(sparse object coverage),不精确的目标边界,来自非目标目标的同时像素(co-occurring pixels from non-target objects)。为了克服这些挑战,本文提出了一种新的框架,叫做Explicit Pseudo-pixel Supervision(EPS),它结合两个弱监督进行pixel-level的反馈的学习。image-level的标注通过localization map提供了目标身份,现有的显著性检测模型生成的saliency map提供了丰富的边界。本文提出了一个结合训练的策略来对这两种信息进行互补。实验效果很好。

问题:什么是co-occurring pixels from non-target objects?
解答:很难将共有像素与目标物体区分。

问题:image-level label是什么样的?

回答:一张图片对应一个标签,没有box label,比如下图标签为“猫”。(图片来源)
Railroad is not a Train: Saliency as Pseudo-pixel Supervision for Weakly Supervised Semantic Segment_第1张图片

问题:什么是sparse object coverage?
回答:个人理解比如上面的猫的图片,其中有很多背景部分并不属于猫。

1. Introduction

弱监督语义分割利用弱监督信息(如image-level标注,scribbles或b-boxes),旨在得到和全监督(pixel-level标注)一样的效果。大多数现有的研究都用image-level作为弱监督。WSSS的pipeline由两部分组成。首先使用分类器为目标生成伪掩码,然后用伪掩码作为监督信息训练分割网络。生成伪掩码的普遍技术是class activation mapping(CAM),CAM可以根据image-level标注生成localization maps。由于全监督语义分割和弱监督语义分割之间的差别,WSSS面临如下挑战:1.localization map只能捕捉到目标的一部分;2.目标边界不匹配;3.难以分辨目标们的同时出现像素(例如铁轨和火车)。

针对这些问题,现有研究可以分为三部分。第一种方法是拓展目标覆盖范围,通过erasing pixels,ensembling score maps或using self-supervised signal去捕捉目标的全局信息。然而,他们无法确定精确的目标边界,因为他们没有目标形状的信息。第二种方法主要通过改善伪掩码的目标边界来提升效果。由于他们高效地学习目标边界,自然可以把伪掩码拓展到目标边界位置,然而他们无法辨别来自目标的非目标物体的同时出现像素(比如火车和铁轨)。这是因为前背景之间的强相关性(如共同出现)和归纳偏差(观察的目标对象和其重合像素的频率)几乎无法区分。最近,第三种方法旨在使用额外的gt masks缓解共同出现(co-occurrence)问题,或者使用saliency map。然而,这种方法要求强大的pixel-level的标注,弱监督范例远远不能达到要求;另外有些还对saliency map的错误非常敏感,无法包含整个目标或边界不匹配问题。

本文的目标是使用localization map(例如用image-level的标注通过分类器训练出来的CAM)和saliency map(例如现有的saliency detection model生成的结果)来解决WSSS任务所面对的3个挑战。本文关注以上这两个map的互补关系。如Figure 1所示,localization map能够分辨不同的目标但是无法有效地分割边界。相反,saliency map提供了丰富的边界信息但无法辨别目标身份。基于此,本文讨论了我们使用两个互补信息的这种方法能够有效地解决WSSS任务的瓶颈问题。
Railroad is not a Train: Saliency as Pseudo-pixel Supervision for Weakly Supervised Semantic Segment_第2张图片
本文提出了一种叫做Explicit Pseudo-pixel Supervision (EPS)的新的WSSS框架。本文设计了一个可以分类C+1类的分类器,C为目标种类,1是背景,这样就可以完全利用saliency map(例如不仅仅是前景信息,还有背景信息)。我们得到C张localization maps和一张背景的localization map去预测saliency map。然后通过现有的saliency map(通过现有的saliency detection model生成)和我们预测得到的saliency map之间的pixel-wise差异计算saliency loss。通过产生saliency loss,模型可以被所有类别的pseudo-pixel反馈监督。本文也使用了多标签分类损失(multi-label classification loss)去预测image-level 标注。因此本文训练的分类器在同时优化saliency loss和muti-label classification loss,这样协同了前背景像素的预测结果——我们发现我们的策略可以同时改善saliency map和伪掩码。

需要注意的是,由于saliency loss惩罚了通过pseudo-pixel反馈的边界不匹配情况,这可以强化我们的算法对目标精确边界的学习。作为一个副产品,本文也通过拓展map到边界来捕捉到整个目标。由于saliency loss帮助分离了前背景,我们的算法把co-occurring pixels(例如铁轨)分配给背景类。通过实验,EPS得到了很好的结果。

问题:啥叫erase pixels?
回答:特征擦除。意思是说CAM关注于最具有分辨特征的区域,比如判断行人的时候定位到人脸的特征,但是只能定位到face,而不是整个region,因此erase pixels遮挡了具有强判断力的特征区域,使得网络能够学习到全局的信息。具体可以看一下这里。

问题:啥叫ensembling score maps?
回答:OAA发现在网络训练中的不同epoch下,CAM激活高的区域会不断变化,因此如果将不同epoch下的CAM进行累积,就可以得到更完整的CAM。

问题:啥叫using self-supervised signal?
回答:当对数据进行增广后,CAM对同一张原图的增广图片产生的CAM图是不一样的,SEAM对图像不同变换后生成的CAM图进行一致性约束(consistency regularization)为网络学习提供自监督。

2. Related Work

Weakly-supervised semantic segmentation. WSSS的一般流程是通过分类器网络去产生伪掩码,然后使用伪掩码去监督一个分割网络。由于image-level标注缺乏边界信息,许多现有方法的伪掩码并不准确。为了解决这个问题,有些方法使用cross-image affinity, knowledge graph和contrastive optimization去改善伪掩码。《Weakly-supervised semantic segmentation via sub-category exploration》提出了一个自监督任务去发现子类别以强化分类器来改善CAM(完全没懂啥意思。。。需要去看原文)。《Weakly supervised learning of instance segmentation with inter-pixel relations》和《Learning pixel-level semantic affinity with image-level supervision for weakly supervised semantic segmentation》通过计算像素之间的affinities(亲和度)来隐含地产生边界信息。《Reliability does matter: An end-to-end weakly supervised semantic segmentation approach》关注产生可靠的pixel-level标注,且设计了一个产生segmentation maps的端到端网络。《Weakly-supervised semantic segmentation network with deep seeded region growing》和《Seed, expand and constrain: Three principles for weakly-supervised image segmentation》利用boundary loss训练分割网络。最近,《Single-stage semantic segmentation from image labels》使用了单独的带有自监督训练的segmentation-based模型。《Employing multi-estimations for weakly-supervised semantic segmentation》通过利用多个不完整的伪掩码来关注分割网络的鲁棒性。

Saliency-guided semantic segmentation. saliency detection(SD)方法产生saliency map,这个map通过带有pixel-level或image-level标注的外部的显著性数据集的图片来辨别前景和背景。许多WSSS方法生成saliency map作为伪掩码的背景线索。《Stc: A simple to complex framework for weakly-supervised semantic segmentation》利用saliency map作为单个目标图像的全监督信息。《Associating inter-image salient instances for weakly supervised semantic segmentation》使用一个instance-level的saliency map去学习目标的相似性图形。《Discovering class-specific pixels for weakly-supervised semantic segmentation》,《Weakly-supervised semantic segmentation by iteratively mining common object features》和《Saliency guided self-attention network for weakly and semi-supervised semantic segmentation》将saliency maps和class-specific attention cues结合起来去产生可靠的伪掩码。《Joint learning of saliency detection and weakly supervised semantic segmentation》使用一个单独网络共同解决了WSSS和SD任务。本文的EPS可以被划分为saliency-guided方法但是又有别于其他方法。原因如下:大部分现有的方法把saliency map作为伪掩码的一部分或者作为提炼分类器的中间特征的隐含guidance。相反,本文的算法将saliency map作为伪掩码反馈给localization maps。虽然《Joint learning of saliency detection and weakly supervised semantic segmentation》和本文的工作最为相似,都利用了两种互补信息,但他们既没有解决co-occurring问题也没有解决saliency map的噪声问题。

3. Proposed Method

本文提出了EPS。WSSS任务分两阶段,第一阶段是生成pseudo-masks;第二阶段是pseudo-masks作为监督信息训练分割模型。本文的贡献是生成了精确的pseudo-masks。

3.1. Motivation

关键点在于结合两个互补的信息,即localization map和saliency map。本文使用saliency map作为localization map中目标和背景的pseudo-pixel反馈。我们设计了一个分类器,分类器多了一类(背景),共有C+1类。通过这个分类器,我们得到C+1个localization maps。
为了解决边界不匹配问题,我们从C个localization maps中估计出一个前景map,然后和saliency map的前景做匹配。这样带有目标标签的localization maps就接收到了saliency map的pseudo-pixel反馈,这改善了目标边界信息。为了解决co-occurring pixels from non-target objects问题,我们也将localization map的背景图和saliency map做匹配。
最后,loss分成两部分,一个是 L s a l L_{sal} Lsal,一个是 L c l s L_{cls} Lcls。用现有的方法生成的saliency map有很多噪声和丢失,但是和localization maps互补效果就更好了。

3.2. Explicit Pseudo-pixel Supervision

通过localization maps得到了前景map和背景map,从而得到我们预测的saliency map,记作 M ^ s \hat{M}_s M^s,前景map和背景map分别用 M f g M_{fg} Mfg M b g M_{bg} Mbg表示,则预测的saliency map公式如下所示:
M ^ s = λ M f g + ( 1 − λ ) ( 1 − M b g ) \hat{M}_s={\lambda}M_{fg}+(1-{\lambda})(1-M_{bg}) M^s=λMfg+(1λ)(1Mbg)
λ \lambda λ是[0, 1]的超参数。

在分类器得到C+1张map后要对map进行选择。首先分类器没有检测到目标的map直接remove。有目标的计算有目标的pixels和saliency map的pixels重叠比,比例高的认为是前景map,占比低的是背景map,通过公式表示即为:
M f g = ∑ i = 1 C y i ⋅ M i ⋅ 1 [ O ( M i , M s ) > τ ] M_{fg}=\sum^C_{i=1}y_i{\cdot}M_i{\cdot}1[{\mathcal{O}(M_i, M_s)}>{\tau}] Mfg=i=1CyiMi1[O(Mi,Ms)>τ]
M b g = ∑ i = 1 C y i ⋅ M i ⋅ 1 [ O ( M i , M s ) ≤ τ ] + M C + 1 M_{bg}=\sum^C_{i=1}y_i{\cdot}M_i{\cdot}1[{\mathcal{O}(M_i, M_s)}{\leq}{\tau}]+M_{C+1} Mbg=i=1CyiMi1[O(Mi,Ms)τ]+MC+1
其中y是二进制image-level标注, O \mathcal{O} O(M_i,M_s)是计算 M i M_i Mi M s M_s Ms重叠占比的函数。

问题:什么是binary image-level label?
回答:比如有十个类,第一类标签是[1,0,0,0,0,0,0,0,0,0],第二类是[0,1,0,0,0,0,0,0,0,0]。

3.3. Joint Training Procedure

L s a l L_{sal} Lsal由计算预测的saliency map和现有的saliency map的pixel-level距离得到。
L s a l = 1 H ⋅ W ∣ ∣ M s − M s ^ ∣ ∣ 2 \mathcal{L}_{sal}=\frac{1}{H{\cdot}W}||M_s-\hat{M_s}||^2 Lsal=HW1MsMs^2
L c l s L_{cls} Lcls由计算image-level的标注和我们预测的类别结果的multi-label soft margin loss得到。
L c l s = − 1 C ∑ i = 1 C y i l o g σ ( y i ^ ) + ( 1 − y i ) l o g ( 1 − σ ( y i ^ ) ) \mathcal{L}_{cls}=-\frac{1}{C}\sum^{C}_{i=1}y_ilog\sigma(\hat{y_i})+(1-y_i)log(1-\sigma(\hat{y_i})) Lcls=C1i=1Cyilogσ(yi^)+(1yi)log(1σ(yi^))

问题:什么是multi-label soft margin loss?
回答:多标签分类损失

4. Experimental Setup

Datasets. 数据集用的是PASCAL VOC 2012和MS COCO 2014。
Evaluation protocol. 验证使用PASCAL VOC 2012的验证集和测试集,COCO 2014的验证集。
Implementation details. 选择ResNet38作为backbone,backbone模型在ImageNet上进行预训练。使用SGD,batch size为8。训练20k迭代次数,学习率0.01(最后一卷积层为0.1)。数据增广方面使用了random scaling, random flipping和random crop。分割网络使用DeepLab-LargeFOV (V1),DeepLab-ASPP(V2),VGG16和ResNet101作为backbone。即共4个分割网络,VGG16分别+DeepLab-V1和V2,ResNet101分别+DeepLab-V1和V2。

5. Experimental Results

5.1. Handling Boundary and Co-occurrence

Boundary mismatch problem. 为了验证伪掩码的边界,实验比较了和SOTA方法相比的边界质量。我们使用SBD,一种可以提供边界标注的PASCAL VOC 2011的boundary benchmark。如《Weakly supervised semantic segmentation with boundary exploration》中所做的那样,通过计算来自拉普拉斯边缘检测器的伪掩码的边缘,以class-agnostic的方式评估边界的质量。这样就可以通过recall,precision和F1-score计算边界质量了。
Co-occurrence problem. 使用PASCAL-CONTEXT数据集,这个数据集提供了pixel-level的标注。我们选择了3对co-occurring的目标:boat with water, train with railroad,
and train with platform。我们计算了IoU和confusion ratio。confusion ratio测量了相似物体被预测成了错误类别的程度。confusion ratio记为 m k , c m_{k,c} mk,c,计算公式为 m k , c = F P k , c / T P c m_{k,c}=FP_{k,c}/TP_c mk,c=FPk,c/TPc。c是target class,k是coincident class。

5.2. Effect of Map Selection Strategies

分别做了不使用map selection的策略,只将所有目标的localization maps叠加到一起的策略和将几个预先定义好的类别(例如沙发、椅子和餐桌)的localization maps分配给背景图的策略(即预定义的类策略)的实验。

5.3. Comparison with state-of-the-arts

和其他SOTA方法做消融实验。

问题:用现有方法生成的saliency map的输入的标注是什么样的?
回答:我看PFAN用的是DUTS,那标注应该是显著性标注,也就是pixel-level的显著性mask。

你可能感兴趣的:(paper,深度学习,人工智能,机器学习)