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)聚焦于有信心的区域。

方法


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

Softmax-GradCAM

类激活映射(CAM)被广泛应用于通过特征映射的加权组合来识别目标类的判别区域。然而,它只适用于特定的CNN架构,例如,在特征映射之后紧接着具有全局平均池(GAP)层的模型。GradCAM使用梯度信息来组合特征图,因此不需要网络架构。对于原始的GradCAM,类特征权值可计算为:

其中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类分数。处理后的分数用于计算梯度,类特征权重可以计算为:


指示目标特征映射的权重将被非目标类抑制。因此,目标类对应的cam可以被其余类修改。然而,竞争仅限于数据集中定义的类别。

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,可得到置信度映射为:

其中L(i, j)为像素(i, j)的语义分割模型预测值与伪掩码之间的交叉熵损失,µ为忽略低置信度像素的超参数

消融实验

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

  1. 综述笔记 | 一些弱监督语义分割论文

    点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 这里的弱监督信息为image-level的类别信息,即没有像素级的语义分割标签,而仅有图像 ...

  2. (CVPR2022) 跨语言图像弱监督语义分割CLIMS

    开源仓库:https://github.com/CVI-SZU/CLIMS CLIMS: Cross Language Image Matching for Weakly Supervised Sem ...

  3. 大规模点云的弱监督语义分割

    Weakly Supervised Semantic Segmentation for Large-Scale Point Cloud 摘要 构建了一个代理任务,即点云着色,利用自监督学习将学习到的先 ...

  4. 把因果干预用到弱监督语义分割上!这篇NeurIPS 2020 oral论文不简单

    转载自 机器之心, 关注"迈微AI研习社",获取更多前沿内容 作者 | 张冬 编辑 | 陈大鑫 本文介绍一篇今年被NeurIPS 2020收录的一篇oral文章: < Cau ...

  5. 【文献阅读】用对比学习做弱监督语义分割(Sung-Hoon Yoon等人,ArXiv,2021)

    一.背景 文章题目:<Exploring Pixel-level Self-supervision for Weakly Supervised Semantic Segmentation> ...

  6. 弱监督语义分割(Weakly-Supervised Semantic Segmentation)

    语义分割(Semantic Segmentation) 语义分割是指将图像中的每个像素分类为一个实例,其中每个实例都对应于一个类. 这项技术一直是计算机视觉图像领域的主要任务之一.而在实际应用中,由于 ...

  7. 弱监督语义分割--Weakly Supervised Semantic Segmentation using Web-Crawled Videos

    Weakly Supervised Semantic Segmentation using Web-Crawled Videos CVPR2017 https://arxiv.org/abs/1701 ...

  8. 弱监督语义分割论文方法分类

    简书上比较完美的解读:https://www.jianshu.com/p/0b265f9c28c7 目录 我的简单总结: 任务描述 关键问题 实现方法分类 1. 基于候选区域的方法(Proposal- ...

  9. 弱监督语义分割PUZZLE-CAM

    弱监督语义分割PUZZLE-CAM PUZZLE-CAM:通过匹配部分和全部特征改进定位能力 简要介绍: 整体文章架构图: 分析: PUZZLE-CAM:通过匹配部分和全部特征改进定位能力 原文链接: ...

最新文章

  1. IT 行业的创新 - 创新的迷思 (5-6)
  2. Kubernetes应用部署模型解析(原理篇)
  3. python3基础知识_python3基础知识梳理
  4. 精通 RPM 之校验篇_检验篇_检测篇
  5. 机器学习和数据科学领域必读的10本免费书籍
  6. Python内置模块和第三方模块
  7. 《spring-boot学习》-02-hello world
  8. 统计文件字符个数 java_如何统计个文件中的字符个数
  9. 分分钟学会JavaScript原生
  10. 将txt文档按行分割
  11. mfc110.dll丢失,解决方法
  12. 2012中文字库简单统计与分类
  13. C语言中函数指针和指针函数
  14. BT.2020 新一代超高清UHD视频制作与显示系统标准
  15. python管理后台框架_python3 django layui后台管理开源框架分享(码云)
  16. 自然语言处理怎么最快入门?
  17. 隐马尔可夫链模型学习总结
  18. 植物大战僵尸:逆向分析阳光
  19. 2020年,微信的基地属性正在悄然转向
  20. fuse的安装与使用

热门文章

  1. Android中控件setVisibility(View.Gone)失效(经测试是非UI线程导致)
  2. 微信小程序 - eCharts- x轴换行和旋转45°
  3. 三一重能科创板上市:年营收102亿 梁稳根持股为56.7%
  4. 机器人运动控制算法专栏介绍
  5. 基于声源定位的止鼾系统的设计与实现(一)
  6. 20230425-PAT甲级1168
  7. web项目前后端使用MD5验证密码
  8. 第一部分 Rx快速入门
  9. 幼儿园的计算机一年级的教案,一年级活动教案
  10. Hello GitLab