CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法

CLIP is Also an Efficient Segmenter: A Text-Driven Approach for Weakly Supervised Semantic Segmentation

摘要

论文链接
代码链接

  • 本文探索了CLIP在仅使用图像级标签且无需进一步训练的情况下对不同类别进行定位的潜力
  • 提出了一个新的框架CLIP- ES:
  1. 我们在GradCAM中引入了softmax函数,并利用CLIP的zero-shot能力来抑制非目标类和背景造成的混乱。并重新探索了文本输入,并定制了两种文本驱动策略:基于清晰度的提示选择和同义词融合
  2. 为了简化CAM的细化阶段,我们提出了一种基于CLIP-ViTs中固有的多头自注意(MHSA)的实时类感知注意亲和(CAA)模块
  3. 在使用CLIP生成的掩码训练最终分割模型时,我们引入了信心导向损失(confidence guided loss, CGL)聚焦于有信心的区域。
    CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法_第1张图片

方法

CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法_第2张图片
整理框架如上图所示:GradCAM中引入了softmax函数,并定义了一个与类相关的背景集,使类别相互排斥。K和M分别代表图像和背景集合中的类别数。最初的cam由Grad-CAM生成,并且结合良好文本(例如,提示选择,同义词融合)。提出了基于transformer固有MHSA的CAA模块,实时细化初始CAMs。整个CAM生成过程无需训练,CGL在基于置信度图计算损失时忽略了噪声位置。

Softmax-GradCAM

类激活映射(CAM)被广泛应用于通过特征映射的加权组合来识别目标类的判别区域。然而,它只适用于特定的CNN架构,例如,在特征映射之后紧接着具有全局平均池(GAP)层的模型。GradCAM使用梯度信息来组合特征图,因此不需要网络架构。对于原始的GradCAM,类特征权值可计算为:
CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法_第3张图片
其中wck为第k个特征图对应第c类的权重,Z为特征图中的像素数,Yc为第c类的概率,Akij为第k个特征图在位置(i, j)处的激活值。则由式得到c类在空间位置(i, j)处的CAM映射。采用ReLU忽略对目标类有负面影响的特征。
在这里插入图片描述
预训练CLIP模型包括两种架构,即基于resnet的和基于vit的。注意,Grad-CAM不仅适用于基于cnn的架构,还适用于vit。在本文中,由于基于cnn的CLIP模型无法探索全局上下文,并且严重受部分域的区别影响,我们利用了基于vi的CLIP模型。
我们的工作将GradCAM适配到CLIP。在vanilla GradCAM中,最终得分是softmax函数之前的logits。利用交叉熵损失和softmax对CLIP进行训练,但在实验中仍然存在类别混淆问题。我们假设这是因为CLIP的训练数据是图像-文本对,而不是固定的独立类别集合。对于一个图像,对应的文本片段可能包含几个类的视觉概念,它们也不能通过softmax相互竞争。本文将softmax函数引入到GradCAM中,使不同类别之间互斥。具体来说,softmax计算的最终分数如下:
在这里插入图片描述
Sc是softmax之后的c类分数。处理后的分数用于计算梯度,类特征权重可以计算为:

CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法_第4张图片
指示目标特征映射的权重将被非目标类抑制。因此,目标类对应的cam可以被其余类修改。然而,竞争仅限于数据集中定义的类别。
CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法_第5张图片

Text-driven Strategies

Sharpness-based Prompt Selection

我们发现在分类任务和弱监督分割任务中prompt集成的性能有所不同。
我们怀疑这种差异主要是由于每张图像的标签数量不同。分类数据集,如ImageNet,是单标记的,而分割数据集,如PASCAL VOC,是多标记的。前者旨在为唯一的目标类分配最大分数,而后者需要考虑图像中的所有目标类。我们认为,快速整合将使得分最高的目标类更加突出
为了验证我们的猜想,我们设计了一个度量,即锐度,来测量使用不同提示的多标签图像的目标类别分数的分布。这个度量是受变异系数的启发,变异系数是在统计学中广泛使用的度量。假设数据集中有n张图像,一张图像中有k(k >= 1)个类,基于特定提示符的锐度可计算如下:
在这里插入图片描述
Sij表示第i个图像中softmax后第j个类的分数。由于V变异系数在均值接近0时是不稳定的,所以我们用方差代替标准差来突出分散的影响。
我们比较了Pascal VOC 2012训练集上CLIP1中随机抽取的20个ImageNet提示符的清晰度和相应的分割结果。结果表明,我们提出的度量与分割性能大致呈负相关。因此,清晰度可以方便地指导快速选择,并且只需要图像级标签。经过反复试验,我们发现一些抽象的描述,如“origami” and “rendering”,以及一些形容词,如“干净”、“大”和“奇怪”(“clean”, “large” and “weird”),对分割性能有积极的影响。我们最终选择“a clean origami{}”。作为我们的提示语,它的清晰度最低。

Synonym Fusion

数据集中提供的类别名称有限,我们使用同义词来丰富语义和消除歧义。有多种策略可以合并不同同义词的语义,例如句子级、特征级或cam级。在本文中,我们在句子层面上合并同义词。特别地,我们把不同的同义词放在一个句子中,例如,“一个人,人,人类的干净折纸”。这可以在面对多义词时消除歧义,并且是省时的,因为其他方法需要多次向前传递。同义词可以很容易地从WordNet或最近的手套词嵌入中获得。此外,一些类的性能可以通过定制特定的单词来进一步提高。例如,“人”的cam往往集中在面部,而标准分割mask整个身体。在CLIP中,“人”和“衣服”很可能被视为两个不同的类别。将“人”替换为“穿衣服的人”

Class-aware Attention-based Affinity (CAA)

最近,一些工作将从transformer获得的注意作为语义级亲和来细化初始CAMs。但改进是有限的,他们仍然需要一个额外的网络或额外的层来进一步完善CAMs。这是因为最初的多头自我注意(MHSA)是层级不可知的,而CAM是层级感知的。直接利用MHSA可以通过在细化过程中将噪声像素传播到其语义相似的区域来放大噪声。
我们提出了类感知的基于注意的亲和(CAA)来改善MHSA。给定一张图像,我们可以从MHSA中得到每个目标类c的分类CAM映射Mc∈Rh×w和注意权重W attn∈Rhw×hw。
对于由于查询和键使用的投影层不同而不对称的注意力权重,我们利用Sinkhorn归一化(交替应用行归一化和列归一化)将其转换为双重随机矩阵D,可以得到对称亲和矩阵a:
在这里插入图片描述
对于CAM映射Mc∈Rh×w,我们可以通过对该类CAM进行λ阈值,得到每个目标类c的掩码映射。我们在MASK上找到连接的区域,并使用最小矩形包围框覆盖这些连接的区域。这些框遮蔽了亲和权值A,然后每个像素都可以根据被遮蔽的亲和权值被语义上相似的像素细化。针对初始CAMs极度不完整的问题,我们使用边界框遮罩而不是像素遮罩来覆盖更多的对象区域。我们多次重复这个细化,这个过程可以形式化如下。
在这里插入图片描述
其中Bc∈R1×hw为从c类CAM中得到的mask,⊙为Hadamard积,t为细化迭代次数,vec(·)为矩阵向量化。注意,我们用相同的前向传递提取注意图和CAM。因此,CAA细化是实时的,不需要像以前的工作那样额外的阶段。

Confidence-guided Loss (CGL)

CAM中的每个像素表示该位置属于目标类的置信度。大多数方法通过简单地设置一个阈值来区分目标对象和背景来从cam生成伪掩码。它可能会给伪面具带来噪音,因为那些低置信度的位置太不确定,不属于正确的类别。因此,我们试图忽略那些不自信的头寸,并提出一个信心导向的损失(CGL)充分利用生成的CAM。具体来说,给定具有c个目标类的图像的CAM映射X∈Rh×w×c,可得到置信度映射为:
CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法_第6张图片
其中L(i, j)为像素(i, j)的语义分割模型预测值与伪掩码之间的交叉熵损失,µ为忽略低置信度像素的超参数

消融实验

CLIP也是一种有效的分割器:弱监督语义分割的文本驱动方法_第7张图片

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