Box-driven Class-wise Region Masking and Filling Rate Guided Loss for Weakly Supervised Semantic Seg

Box-driven Class-wise Region Masking and Filling Rate Guided Loss for Weakly Supervised Semantic Seg_第1张图片

Abstract

Semantic segmentation has achieved huge progress via adopting deep Fully Convolutional Networks (FCN). However, the performance of FCN based models severely rely on the amounts of pixel-level annotations which are expensive and time-consuming. To address this problem, it is a good choice to learn to segment with weak supervision from bounding boxes. How to make full use of the class-level and region-level supervisions from bounding boxes is the critical challenge for the weakly supervised learning task. In this paper, we first introduce a box-driven class-wise masking model (BCM) to remove irrelevant regions of each class. Moreover, based on the pixel-level segment proposal generated from the bounding box supervision, we could calculate the mean filling rates of each class to serve as an important prior cue, then we propose a filling rate guided adaptive loss (FR-Loss) to help the model ignore the wrongly labeled pixels in proposals. Unlike previous methods directly training models with the fixed individual segment proposals, our method can adjust the model learning with global statistical information. Thus it can help reduce the negative impacts from wrongly labeled proposals. We evaluate the proposed method on the challenging PASCAL VOC 2012 benchmark and compare with other methods. Extensive experimental results show that the proposed method is effective and achieves the state-of-the-art results.

1. Introduction

以前的弱监督分割方法,the gap between the ground truth annotations and generated proposals limits their performance.
本文准备从两个方面解决这个问题:
首先,考虑到边界框包含丰富的目标语义信息,这些信息可以帮助我们丢弃不相关的区域,并关注前景区域。一个简单的想法是学习一个global mask(貌似就是直接学习一个多类别的分割蒙版),以帮助删除图像中的背景。但是,global mask不能同时学习每个类别的多个精确形状的mask。为此,我们探索采用box-driven class-wise masking (BCM)模型对每个类别的特征图进行滤波,并对其使用bounding box进行监督,如图所示。所学习的类掩码可以为每个对象提供丰富的形状和位置先验信息,这对于后面的分割模型的学习非常有用。
Box-driven Class-wise Region Masking and Filling Rate Guided Loss for Weakly Supervised Semantic Seg_第2张图片
第二,填充率(filling rate)是获取伪标签的有用指标。众所周知,训练好的模型中的score map具有不同的响应值,说明了预测的可信度。一个自然的想法是选择分数最高的位置进行反向传播训练参数,而忽略那些分数不太高的位置,如图1(C )所示。然而,在弱监督任务中很难确定阈值,特别是不同的类可能需要不同的阈值。如图1(B)所示,不同的类通常有不同的形状,例如,bus的框内有80%的前景像素,而自行车只填充20%的框像素。这种现象激励我们计算每个类的平均填充率。以非监督方法生成的像素级分段方案为伪标记,计算出每个类的平均像素填充率。我们发现,对于同一个类,边框中前景像素的百分比应该是相似的。然而,两个类别的像素填充比通常是不同的。由于单个样本的segment proposal通常不准确,同一类样本的平均填充率可以提供更稳定的指导。重新思考上述关于平均像素填充率的讨论,根据填充率选择bounding box中的最高概率的像素点是一个好的选择。在此基础上,我们提出了一个填充率引导的自适应损失(FR-损耗)来调整伪标签。考虑到来自同一类的两个对象由于形状和姿态的不同而具有不同的填充率,我们试图通过将每个类聚成几个子类来细化填充率。

本文贡献:

  • 我们引入了box-driven class-wise masking(BCM)模型,以帮助删除每个类中不相关的区域。它还提供了前景区域的一个显著的先验信息,这将直接有助于分割模型的学习。
  • 提出了Filling rate guided adaptive loss(FR-loss),以帮助选择分数图中概率最大位置进行反向传播,而忽略了方案中标记错误的像素。
  • 在PascalVOC 2012基准测试上的大量实验表明,该方法是有效的,并取得了最先进的结果。

Box-driven Class-wise Region Masking and Filling Rate Guided Loss for Weakly Supervised Semantic Seg_第3张图片

图2.所提出方法的Pipeline。对于给定的图像及其相应的边界框(A),我们首先生成矩形标注,并应用无监督的CRF来生成segment proposals(B)。然后,我们使用CRF得到的segment proposals和bounding box计算每个类别c的平均填充率。使用原始图像作为输入,segment proposals作为监督训练基于FCN的模型(D),例如DeepLab-LargeFOV。我们添加了一个box-driven class-wise masking (BCM)(E),通过使用box-like标签训练分割网络来生成class-aware masks。所学习的mask可以分别对每个类的特征 ( F i ) (F_i) (Fi)进行spatial masking。对于每次forward step,我们对预测层中每个类别的分数进行排序,并采用filling rate guided loss(FR-loss)(F)来选择得分最高的位置进行反向传播,而忽略了得分较低的位置。Fr-loss可以减少提案中标记错误的像素所造成的负面影响。

3. Our Method

3.1. Overview

整个方法的流程如图2所示:
Proposals Generating and Filling Rates Computing.
为了和baseline模型进行公平的比较,选择无监督的DenseCRF来生成segment proposals。
Model Training with BCM and FR-loss.
骨干网络是DeepLab-LargeFOV,使用在ImageNet上预训练过的VGG-16进行参数初始化。

3.2. Box-driven Class-wise Masking

要删除feature map中不相关的区域,我们需要为每个类别学习一个masking map。因此,我们设计了一个box-driven class-wise masking(BCM)模型来指导分割模型的学习。我们在VGG-16模型的FC-7层(通过卷积实现)上应用masking来掩盖不相关区域。如图2(E)所示,基于FCN的分割网络的输出特征被均匀地分割成N个分支,对应于N个类。对于每个分支,我们添加了一个binary attention model来生成一个weight map for masking。为了给出一个清晰的提示,我们引入了box-like mask来监督引导attention map的生成,使用均方误差损失(MSE)。
L b c m ( c ) = ∑ h = 1 H ∑ w = 1 W ∥ M c ( h , w ) − α c ( h , w ) ∥ 2 2 L_{b c m(c)}=\sum_{h=1}^{H} \sum_{w=1}^{W}\left\|M_{c(h, w)}-\alpha_{c(h, w)}\right\|_{2}^{2} Lbcm(c)=h=1Hw=1WMc(h,w)αc(h,w)22
其中, α c \alpha_c αc是attention map, M c M_c Mc是attention map对应的mask,貌似就是使用bounding box或者DenseCRF作为监督。
这N个前景-背景分割模型可以被独立的训练,之后这N个attention maps就可以在其对应的特征分支上用于生成mask。我们将 α c \alpha_c αc F c F_c Fc定义成学习到的attention map和类别c的特征分支,之后,类别c的weighted feature可以被表示为:
Φ c = F c ⊗ α c \Phi_{c}=F_{c} \otimes \alpha_{c} Φc=Fcαc
式中, ⊗ \otimes 表示spatial-wise masking operation,之后将N个分支的特征融合生成最后的分割结果。

3.3. Filling Rate Guided Adaptive Loss

对给定的类别c,将第i个proposal和其对应的bounding box中的像素数表示为 P p r o p o s a l ( i ) P_{proposal}(i) Pproposal(i) P b o x ( i ) P_{box}(i) Pbox(i),之后,类别c的平均填充率可以被定义为:
F R c = 1 N c ∑ i = 1 N c P proposal ( i ) P box ( i ) F R_{c}=\frac{1}{N_{c}} \sum_{i=1}^{N_{c}} \frac{P_{\text {proposal}}(i)}{P_{\text {box}}(i)} FRc=Nc1i=1NcPbox(i)Pproposal(i)
式中, N c N_c Nc是类别c中bounding box的数量。因此,可以使用每个类的平均填充率来确定有多少有把握的像素可以用于训练。这样,可以根据每个类别的填充率来调整分割损失。一个样本的fr-loss可以表示为:
L f r = ∑ c = 1 N ∑ i = 1 top ⁡ ( F R c ) L c ( i ) L_{f r}=\sum_{\mathrm{c}=1}^{N} \sum_{i=1}^{\operatorname{top}\left(F R_{c}\right)} L_{c}(i) Lfr=c=1Ni=1top(FRc)Lc(i)
式中, L c ( i ) L_c(i) Lc(i)表示第 i i i个像素分给 c c c类的损失,只有 t o p ( F R c ) top(FR_c) top(FRc)个像素参与计算损失。

Refine the Filling Rates with Sub-class Clustering.
使用k-means聚类方法将同一类别的样本根据填充率的不同聚成几个子类,分别计算他们的平均填充率。
L f r = ∑ c = 1 N ∑ s c 3 ∑ i = 1 t o p ( F R ( c , s c ) ) L ( c , s c ) ( i ) L_{f r}=\sum_{c=1}^{N} \sum_{s c}^{3} \sum_{i=1}^{top(FR_{(c,sc)})} L_{(c, s c)}(i) Lfr=c=1Nsc3i=1top(FR(c,sc))L(c,sc)(i)
式中, L ( c , s c ) ( i ) L_{(c,sc)}(i) L(c,sc)(i)表示第i个像素分给第c类的第sc个子类的损失。
最后,将这两部分损失加起来作为最终的损失:
L a l l = L f r + λ ⋅ ∑ c = 1 N L b c m ( c ) L_{a l l}=L_{f r}+\lambda \cdot \sum_{c=1}^{N} L_{b c m(c)} Lall=Lfr+λc=1NLbcm(c)
其中, λ \lambda λ是超参数,设置为0.01

你可能感兴趣的:(图像分割)