Employing Multi-estimations for Weakly-Supervised Semantic Segmentation

摘要

基于弱监督语义分割任务(WSSS)的image-level的label旨在使用image-level的labels去训练语义分割模型,节省了大量标注成本。这类问题的经典pipeline首先通过image-level标注利用CAM生成伪掩码(也称作seeds),然后使用它们训练分割模型。主要的问题就是seeds通常是稀疏且不完整的。经典的相关工作尝试通过许多花里胡哨的方法去加强seeds以缓解这个问题。我们不是努力改进单个seed,而是提出了一种新方法,通过利用分割模型的鲁棒性从多个seeds中学习来缓解不准确的种子问题。我们试图为每张图像生成许多不同的seeds,这些seeds是对基础真值的不同估计。分割模型同时利用这些seeds学习并自动地决定每个seed的置信度。相关实验证明了该方法的效果。

1 Introduction

语义分割随着深度学习模型快速发展。然而,这些方法高度依赖大规模的pixel-level标注来训练,成本很高。为了减轻训练时精确的pixel-level标注的要求,人们提出弱监督语义分割(WSSS)。WSSS用粗标注训练语义分割模型,如scribbles,bounding boxes和image-level class labels。其中最后一种只要求类别标签就可以训练,很容易获得,因此获得了广泛关注,本文就是关注image-level标注的WSSS问题。

通过image-level标注恢复目标空间信息的一个常见的方法是使用CAM生成目标的热力图。这些热力图被用来生成伪掩码(又称为seeds)去训练分割模型。CAM是这样获得的,首先通过image-level标注训练一个分类模型然后把最后一层线性分类层用于feature map columns上,这一层就在global average pooling层之前。由于CAM被训练用作分类,高亮区域通常是最有辨识度的区域。因此,获得的seeds是稀疏且不完整的,接下来训练出的模型预测结果也会是粗糙的。

为了缓解CAM的这个问题,人们利用multiple dilated convolutions, iterative erasing strategy, random drop connections, region growing algorithms, online accumulating activation maps和许多其他的策略以生成完整的seeds。虽然这些方法有一些改善,但是他们通常依靠精心设计的规则和基于经验的超参数来平衡seeds的精确度和召回率,很难泛化。

我们提出了一种新颖的方法来使用多种不同的seeds来同时训练分割模型,而不是通过手动设计的规则,为每张图像产生单一的“完美”seed。每张图像不同的seeds可以看做是潜在真值的估计。我们利用分割模型的力量自动挖掘这些不同seeds有用的信息。使用这个策略的原因有三个。

第一,不同的seeds有助于减少错误标注的影响。正常来讲,一个像素获得正确伪标注的概率是比错误伪标注的概率大的。被所有不同seeds都标记成相同的像素更有可能是正确的。这些像素的贡献不受影响,因为所有不同的seeds都提供相同的标签。与此同时,带有不同seed labels的像素提供了不同方向的梯度;因此,可以在一定程度上取消不同的梯度,从而减少了错误方向优化的风险。第二,互补的部分可能存在于不同的seeds中,使得伪标注更完整。例如,人身体的掩码可能在一个seed中是缺失的,但是在其他seed中是存在的。第三,分割模型在某种程度上对噪音是有抵抗的。从实验Table1为例,在训练集中有30%的前景被噪音覆盖,分割模型仍然能得到用无噪音训练效果90%的效果。这一结果的原因可能是分割模型可以利用整个数据集的知识,因此减少了噪音的影响。这个优势会帮助从多个seeds中挖掘有用的信息。
在这里插入图片描述
为了进一步加强训练过程的泛化能力,我们提出了一个weighted selective training(WST)策略,自动地为每个像素在不同的seeds中调整权重。和先前通过手动规则结合多个CAMs的方法,即平均化或max fusion相比,我们的方法可以利用分割模型的知识动态地在不同的seeds中分配权重。我们通过实验证明了这一方法的有效性。本文的contributions总结如下:

  • 我们提出一个新的原则方法缓解WSSS任务中不精确的seed的问题,这个方法同时使用许多不同的seeds训练分割模型。提出了一个weighted selective trainning策略缓解了噪音的影响。
  • 我们进行实验展示这种方法的有效性,并揭示不同seeds的影响。
  • 实验。

2 Related Work

3 Pilot Experiments

4 Approach

我们的方法的整体框架分成两阶段,如Fig. 3所示。第一阶段从CAM生成不同的seeds,第二阶段利用所有的seeds训练分割模型。训练之后,通过分割模型获得分割结果。
在这里插入图片描述

4.1 The Class Activation Map

CAM被广泛应用于生成WSSS的初始预测(seeds)。第一步是用image-level标注训练一个分类网络,在其最后分类层之前有一个global average pooling层。训练的loss为简单的多分类sigmoid loss:
L c a m ( X ) = − ∑ c = 1 C y c l o g σ ( p c ) + ( 1 − y c ) l o g [ 1 − σ ( p c ) ] L_{cam}(X)=-\sum_{c=1}^Cy_clog\sigma(p_c)+(1-y_c)log[1-\sigma(p_c)] Lcam(X)=c=1Cyclogσ(pc)+(1yc)log[1σ(pc)]
其中, X X X是输入图像, p c p_c pc是模型对第c类的预测, σ ( ⋅ ) \sigma(\cdot) σ()是sigmoid函数, C C C是前景类别总数。 y c y_c yc是第c类的image-level标注,如果这类存在,其值为1否则为0.

训练之后, global average pooling层被移除,最后的线性分类层直接应用于最后特征图的每列以驱动CAM:
M i , j c = f i , j T w c , { c ∈ C f g } M_{i,j}^c=f_{i,j}^Tw^c,\{c\in C_{fg}\} Mi,jc=fi,jTwc,{cCfg}
其中, w c w^c wc是分类层中第c类的权重向量, f i , j f_{i,j} fi,j是特征图位置 { i , j } \{i,j\} {i,j}的特征向量。 M i , j c M_{i,j}^c Mi,jc是CAM第c类在位置 { i , j } \{i,j\} {i,j}的corresponding value。 C f g C_{fg} Cfg是存在于图像中的前景类别的集合。对于那些没有出现在图像中的类别,corresponding maps直接设置成0。

在生成seeds之前,通过过滤输出negative的值并划分空间最大值来归一化CAM:
M ~ i , j c = [ M i , j c ] + max ⁡ i ∈ 1 ∼ H , j ∈ 1 ∼ W { [ M i , j c ] + } , { c ∈ C f g } \tilde{M}_{i,j}^c=\frac{[M_{i,j}^c]_+}{\max \limits_{i\in1\sim H,j\in1\sim W}\{[M_{i,j}^c]_+\}},\{c\in C_{fg}\} M~i,jc=i1H,j1Wmax{[Mi,jc]+}[Mi,jc]+,{cCfg}
其中, [ ⋅ ] [\cdot] []将negative值设置成0。 H , W H,W H,W是CAM的高和宽。得到的CAM M ~ ∈ R C × H × W \tilde{M}\in\mathbb{R}^{C×H×W} M~RC×H×W双线性插入原始图像尺寸并生成seeds。

4.2 Multi-type Seeds

一个生成seeds的常见方法是使用CAM和硬阈值预测前景区域,用saliency模型预测背景区域。CRF也被广泛应用以优化预测。本文,我们两个不同的方法生成了两种seeds。

第一种方法仅使用阈值法生成seeds。我们选择normalized CAM scores大于0.1的像素作为前景,采用与先前现有方法相同的显着性模型来估计背景。saliency scores小于0.06的作为背景,在先前的方法中也是相同的设置。剩余的未分配像素和那些分配冲突的像素被标记为未知,在训练分割模型时将被忽略。

第二种方法concat saliency的背景scores和normalized CAM的前景scores,然后用CRF算法优化scores。最后,通过选择每个像素最大score的类别得到seeds。根据这一策略,每个像素被分配了一个有效的伪标注,没有冲突和未知数。生成的seeds如Fig. 1所示。
在这里插入图片描述

虽然通过CRF方法生成的seeds包含更多细节,但和阈值法相比它可能会增加FP和FN。因此,在这两种类型的seeds之间有互补信息。证明如Table2,即使CRF的seeds比阈值法的seeds表现更好,但同时使用他们两个仍有明显的增长。

4.3 Multi-scale Seeds

scale在基于深度卷积网络的方法中起着重要作用。由于感受野是固定的,在不同的scales中卷积核面对不同的输入图案。网络被迫同时处理不同的scales; 因此,对于不同的尺度,它通常需要不同的参数。因此,网络可能会在不同的输入尺度下突出不同的图案,并进一步推导出不同的seeds。为了利用这个特性,我们用不同的尺度调整输入图像的大小,并将它们输入网络以获得不同尺度下的 CAM。我们用这些不同尺度的CAMs生成多种seeds。

4.4 Multi-architecture Seeds

一般来说,不同结构的backbone不会产生相同的预测。因此,不同的架构可能会为潜在的gt masks提供不同的预测。VGG16和ResNet38是两个在WSSS任务中广泛应用的用于生成seeds的网络。我们利用这两种不同的架构生成不同的seeds。

4.5 The Weighted Selective Training

使用不同的seeds去训练分割模型的简单方式是用每个seed计算每个像素的交叉熵损失然后求平均:
L p l a i n ( X ) = 1 N k H W ∑ k ∑ i , j ∑ c y i , j , c ( k ) l o g p i , j , c L_{plain}(X)=\frac{1}{N_kHW}\sum_k\sum_{i,j}\sum_cy_{i,j,c}^{(k)}logp_{i,j,c} Lplain(X)=NkHW1ki,jcyi,j,c(k)logpi,j,c
其中 X X X是输入图像, y i , j , c ( k ) y_{i,j,c}^{(k)} yi,j,c(k)表示第k个seed { i , j } \{i,j\} {i,j}位置像素的标签,如果该像素属于第c类该值为1否则为0。 p i , j , c p_{i,j,c} pi,j,c是分割模型在位置 { i , j } \{i,j\} {i,j}对于第c类的预测,通过softmax操作归一化。 N k N_k Nk是给定图像seeds的总数。 H , W H,W H,W分别是特征的高度和宽度。

由于分割模型的鲁棒性和多种子提高信噪比的效果,直接应用 L p l a i n L_{plain} Lplain会优于单种子baseline的效果。为了进一步改善噪音标签的鲁棒性,我们提出利用分割模型的在线预测给不同的seeds施加权重。训练loss变成了:
L w s t ( X ) = 1 H W ∑ k ∑ i , j w i , j , k ∑ c y i , j , c ( k ) l o g p i , j , c L_{wst}(X)=\frac{1}{HW}\sum_k\sum_{i,j}w_{i,j,k}\sum_cy_{i,j,c}^{(k)}logp_{i,j,c} Lwst(X)=HW1ki,jwi,j,kcyi,j,c(k)logpi,j,c
其中, w i , j , k ∈ [ 0 , 1 ] w_{i,j,k}\in[0,1] wi,j,k[0,1]是第k个种子在位置 { i , j } \{i,j\} {i,j}的权重,它是通过比较标签与分割模型的在线预测计算得出的:
w i , j , k = e x p ( s ⋅ w ~ i , j , k ) / ∑ k e x p ( s ⋅ w ~ i , j , k ) w ~ i , j , k = I [ a r g max ⁡ c ( p i , j , c ) = a r g max ⁡ c ( y i , j , c ) ] w_{i,j,k}=exp(s\cdot\tilde{w}_{i,j,k})/\sum_kexp(s\cdot\tilde{w}_{i,j,k}) \\ \tilde{w}_{i,j,k}=\mathbb{I}[arg\max \limits_{c}(p_{i,j,c})=arg\max \limits_{c}(y_{i,j,c})] wi,j,k=exp(sw~i,j,k)/kexp(sw~i,j,k)w~i,j,k=I[argcmax(pi,j,c)=argcmax(yi,j,c)]
有且只有分割模型预测值和伪标注匹配时我们得到的值才为1,然后我们用softmax操作归一化所有通过不同seeds得到的值,确保 ∑ k w i , j , k = 1 \sum_kw_{i,j,k}=1 kwi,j,k=1 s s s是控制权重锐度的比例因子。当 s s s等于0时,loss与普通训练损失 L p l a i n L_{plain} Lplain相同。实际上,我们设置s为1。随着训练的过程,分割模型得到越来越稳定的结果。由此,与预测相矛盾的异常值将被抑制,进一步降低噪声的影响。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值