【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation

文章目录

  • Abstract
  • 一、Introduction
    • 1.Findings
    • 2.Motivation
    • 3.Solution
  • 二、Class Re-Activation Maps (ReCAM)
  • 三、Experiment


Abstract

提取类激活图(CAM)是为弱监督语义分割(WSSS)生成 pseudo mask 的最标准步骤。然而,本文发现,不令人满意的伪掩模的关键是在CAM中广泛使用的二值交叉熵损失(BCE)。具体地说,由于BCE的 sum-over-class pooling 特点,CAM中的每个像素可能对同一接受域中同时出现的多个类做出响应。为此,我们介绍了一种简单但效果惊人的方法:通过使用softmax交叉熵损失(SCE),用BCE重新激活收敛的CAM,称为ReCAM。给定一幅图像,我们使用CAM提取每个单一类的特征像素,并将它们与类标签一起使用SCE学习另一个完全连接的层(在主干之后)。一旦收敛,我们将以与CAM中相同的方式提取ReCAM。由于SCE的对比性(contrastive nature),像素响应被分成不同的类别,因此预期的掩码模糊性较小。


一、Introduction

Weakly-supervised semantic segmentation (WSSS) 旨在通过使用 “weak” labels,image-level的标签是最经济又最具挑战性的任务,也是本文的重点。一个比较通用的pipeline由以下三步组成:
1.使用image-level的标签去训练一个多分类模型
2.提取每个类的类激活映射(CAM)[51],生成一个0-1掩模,并进行潜在的细化,如侵蚀和扩展。
3.使用生成的mask作为伪标签去训练一个基础的全监督语义分割网络

影响最终分割模型性能的因素各有不同,但第一步的分类模型绝对是根源。我们经常观察到两个常见的缺陷:
1.在对象类A的CAM中,有假阳性像素被激活为B类,但有实际的标签,其中B通常是一个混淆类而不是背景类(语义分割中的特殊类)。
2.于A类但被错误地标记为背景的假阴性像素。

1.Findings

当使用Sigmoid激活函数的二元交叉熵(BCE)损失训练模型时,这些缺陷特别明显。具体的说,x表示单个类的预测logit, 输出被喂给BCE函数去计算loss。此loss表示对应于x的错误分类的惩罚强度。这个损失代表与x对应的错误分类的惩罚强度。因此,BCE的损失并不是类相互排斥的——对一个类的错误分类并不会惩罚对其他类的激活。因此,我们可以看到缺点:不同的类别会共同激活一个区域。

2.Motivation

使用单标签图像的 toy experiments证明了使用BCE时CAM的质量很差。

【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第1张图片
SCE的softmax激活函数
在这里插入图片描述
其中y表示任何负类的预测,通过在分母中使用指数项来显式地实施类排除。SCE鼓励提高ground truth的分数,同时惩罚其他的。这对CAM有两个影响:
1)减少假阳性像素,从而混淆了不同类别之间的模型;
2)鼓励模型探索特定于类别的特征,从而减少假阴性像素。

3.Solution

用SCE直接替换BCE对于不同类别概率不同的多标签分类任务是没有意义的
相反,我们使用SCE作为额外损失来重新激活模型并生成ReCAM。具体地说,当模型收敛于BCE时,对于图像中标注的每个独立类,我们通过normalized soft mask的格式提取CAM,即非hard thresholding。我们分别将所有 mask 应用于特征(即主干输出的特征映射块),每个mask “highlighting”用于特定类别分类的特征像素。通过这种方式,将多标签特征分解为一组单标签特征。因此,我们可以使用这些特征(和标签)来训练一个具有SCE的多类分类器,例如,通过在主干之后插入另一个完全连接的层。SCE损失会惩罚任何由于特征差或面具差而造成的错误分类。然后,反向传播它的梯度可以改善这两者。一旦收敛,我们将以与CAM相同的方式提取ReCAM。

二、Class Re-Activation Maps (ReCAM)

【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第2张图片
【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第3张图片
FC Layer-1 with BCE Loss. 在传统的CAM模型中,特征f(x)首先经过一个GAP层,然后将结果输入一个FC层,进行预测。因此,预测对数可以表示为:
在这里插入图片描述
Extracting CAM. 我们提取了给定的特征f(x)和相应的FC层的权重wk的每个单独的类k的CAM,用等式表示 (2).为简洁起见,我们将CAMk(x)表示为Mk∈RW×H。
在这里插入图片描述
Single-Label Feature. 使用Mk作为一个软掩码,应用于f(x)来提取特定于类的特征fk(x)。我们计算之间的元素乘法Mk和每个通道的f(x)如下,
在这里插入图片描述

fc(x)和fck(x)表示单一通道前后的乘法(通过使用Mk),c范围从1到C和C特性地图的数量(即通道)。特征映射块fk(x)(每个包含C通道)对应于图中的示例f1、f2、f3。

FC Layer-2 with SCE Loss. 每个fk(x)都有一个单独的对象标签(即,一个单热的标签,其中第k个位置为1)。然后,我们将其提供给FCLayer-2(见图)来学习多类分类器,所以我们有新的prediction logits对x为:
在这里插入图片描述

通过这种方法,我们成功地将基于bce的多标签图像模型转换为基于单标签特征的sce模型。SCE损失的计算公式为:
【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第4张图片
其中,y[k]和z[k]分别表示y和z[k]的第k个元素。我们使用Lsce的梯度来更新模型,包括主干。因此,我们重新激活BCE模型的总体目标函数如下:
在这里插入图片描述
其中λ是在BCE和SCE之间的平衡。请注意,Lbce对FC1的重新优化,因为我们在学习过程中需要使用FC1产生更新的软掩模Mk。
Extracting ReCAM.

在这里插入图片描述
Refining ReCAM (Optional).

  1. AdvCAM
  2. IRN

Justification: BCE vs CE
在这一部分中,作者证明了在ReCAM中引入SCE损失的优势,并从理论和实证两个方面比较了SCE和BCE在优化分类模型方面的效果。

三、Experiment

【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第5张图片

【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第6张图片
【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第7张图片

【论文阅读】【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation_第8张图片


文章:https://arxiv.org/pdf/2203.00962.pdf
code:https://github.com/zhaozhengChen/ReCAM
参考:https://zhuanlan.zhihu.com/p/478133151

你可能感兴趣的:(深度学习,计算机视觉,人工智能)