Curriculum Point Prompting for Weakly-Supervised Referring Image Segmetation 论文总结

目录

论文详情

摘要

前言

CLIP

SAM

 PPT(Point Prompting)

Point Generator

CrossAttn

Loss Function

Curriculum Learning Strategy

Learning from Object-centric Images

Augmented Data for More Complex RIS Learning

优化过程

渐进式学习

one step

two step

Domain Refinement Stage(领域优化阶段)

总结


论文详情

论文标题:Curriculum Point Prompting for Weakly-Supervised Referring Image Segmetation

论文作者:Qiyuan Dai        Sibei Yang

发表时间:2024年4月

发表刊物:CVPR 2024

原文链接:https://arxiv.org/abs/2404.11998

摘要

指代图像分割(Referring Image Segmentation, RIS)旨在通过相应的自然语言表达准确分割图像中的指代物,但依赖代价高昂的掩码注释。弱监督 RIS 通过图文对学习像素级语义,这对于细粒度掩码的分割具有挑战性。增强分割精度的一种自然方法是利用图像分割基础模型 SAM 来强化弱监督 RIS。然而,我们发现简单地集成 SAM 收益有限,甚至会因不可避免的噪声问题和对对象部分的过度关注而导致性能下降。本文提出了一种创新框架,PointPrompTing (PPT),结合所提出的多源课程学习策略来应对这些挑战。具体而言,PPT 的核心是一个点生成器,它不仅利用 CLIP 的文本-图像对齐能力和 SAM 强大的掩码生成能力,还生成负点提示以有效解决固有的噪声和过度关注问题。此外,我们引入了一种基于对象中心图像的课程学习策略,帮助 PPT 从简单而精确的语义对齐逐步学习到更复杂的 RIS。实验表明,我们的 PPT 在 RefCOCO、RefCOCO+ 和 G-Ref 上的 mIoU 分别提升了 11.34%、14.14% 和 6.97%,显著且持续地优于先前的弱监督技术。

前言

在我看来,在没有合适的数据集,或者没有高质量(图片数量不足,标签质量不高等等)的训练数据集的时候常常用到弱监督学习的策略,粗略的来讲,就是做一个跟自己任务目标吻合的数据集用于训练。这篇论文就采用了CLIP + PPT + SAM的结构,在Referring Image Segmentation任务上取得了很好的性能。

在介绍论文详情之前,需要先了解一下CLIP和SAM是什么,这样方便后面的理解。

CLIP

Referring Image Segmentation任务的输入是一个描述性的句子和一张图片,比如“桌子上的猫”,还有一张对应的图片,我们要做的任务就是将桌子上的猫标注起来。

可以想见,要完成这个任务我们首先要将图片与文本之间的联系找出来,也就是说要让模型能利用自然语言的描述来对图像进行分类。CLIP的作用就在于此。

CLIP(Contrastive Language-Image Pretraining)是由 OpenAI 开发的一种多模态模型,旨在理解图像和文本之间的关系。它通过对比学习(contrastive learning)训练,使模型能够将图像和文本对齐,达到在文本提示下识别和理解图像内容的能力。

核心思想:CLIP的核心思想是通过对比学习,训练模型在一个统一的嵌入空间中对齐图像和文本。

输入:

        图像:可以是任何类型的图像,经过预处理后输入到CLIP的视觉编码器中

        文本:可以是与图像相关的任何自然语言描述,如短语、句子,经过预处理后输入到CLIP的文本编码器中。

输出:

        图像嵌入:视觉编码器将输入图像转换为一个高维向量(嵌入),表示图像的视觉特征。

        文本嵌入:文本编码器将输入文本转换为一个高维向量(嵌入),表示文本的语义特征。

        相似性分数:CLIP 通过计算图像嵌入和文本嵌入的余弦相似度,输出相似性分数,表示图像和文本的匹配程度。

 经过CLIP操作就会把注意力集中在桌子上这只黑猫上,虽然无法直接生成一个标注或者边框,但是CLIP可以生成注意力热图(attention map)展示出哪些区域更会被模型关注。

有了这样的操作,模型的查找范围就得到了缩小,与其他的模型如SAM结合的时候可能就会提高SAM的准确率。

注:在本文中使用的CLIP配置为CLIP VIT/B-16

接下来再解释一下SAM

SAM

SAM(Segment Anything Model)是一种先进的图像分割模型,由Meta AI(Meta Platforms Inc. 前 Facebook)开发。SAM的目标是通过自动化和高效的方式进行图像分割,特别是在没有完全标注数据的情况下。

输入:图像数据输入到模型中,包括点提示、框提示等,可以是用户指定的分割区域提示。

输出:

        分割掩码:SAM 生成的分割掩码,用于标识图像中的感兴趣区域。掩码的格式可以是二值掩码(每个像素点是物体的背景还是前景),或是多类掩码(每个像素点标记为不同的类别)。

SAM的作用简单来说就是根据给出的图片信息,把目标通过掩码标注出来,也就是说比如我在前面那张图片上在猫身上标几个点,SAM就会把这只猫标注出来。

但是我们经过CLIP处理之后经过工具标注出来的点标记无法对语义进行充分的理解,所以在文中可以看到,直接将CLIP结合SAM的方式效果并不好,所以作者做的主要工作就是设计一个PPT结构,接受CLIP的输出后,在图片上打上点提示,然后再输出给SAM。

注:在文中使用的SAM的配置为smallest ViT-B SAM

 除此之外,CLIP和SAM自身就有一些问题

 PPT(Point Prompting)

 假设有一个图片文本对,分别标记为I和G,那么\{V_n\}_{n=1}^N就是解码器提取的视觉特征,N就代表N stages,视觉特征相对应的上下文特征表示为T。

Point Generator

对于每一个Stage的Vn、T,模型通过融合来更新他们,更新后分别表示为Vn`,Tn。

有了上面那么,接下来就是生成点提示(Point Queries)的过程,如下面所示

 其中第一个Qn是通过随机初始化的方式得到的

这里的CrossAttn是交叉注意力层,交叉注意力层可以有效地让一种模态的信息(如文本)影响另一种模态的表示(如视觉特征)。

CrossAttn

输入:

        Query(Q):来自一个模态的特征表示,比如文本特征。

        Key(K)和Value(V):来自另一个模态的特征表示,比如视觉特征。

输出:

        最终,得到更新后的特征表示,通常是一个模态的特征结合了另一个模态的信息。

经过上面的操作会根据图片和文本中提取的信息,在每一个stage都更新一下这些点提示。

然后,在最后一个stage的时候,对每一个前面生成的点,都有

其中M就是生成的M个点,对于每一个点都预测它的confidence score,也就是

就像下面这样

这里的指的是这个点归一化的坐标,指的是这个点被划分为positivate的分数

注意:这里的point query里面有多个point prompt,ck是point query的confidence score,而rmk是point prompt的分数。

接下来,利用冻结的SAM作为解码器,让之前的point prompt来提示SAM让他生成mask,叫做Sk。

总而言之,给定一个图片I和一个文本G,PPT就输出一个预测集合,其中k表示第k个预测。

每个预测包含三部分

总结一下总的公式是

对于这个集合再使用Hungarian algorithm与伪标签集合进行比对,找到匹配度最高的yk的索引σ,文中把这个索引定义为,这个索引对应yk集合中的yk被定义为为

也就是

Loss Function

篇幅原因,这里简单讲一下Loss Function是由什么构成的

 其中,Lmask表示DICE损失和二元交叉熵损失。点提示(point query)损失Lpt被定义为L1损失和点分类的二元交叉熵损失的组合。此外,Lbce表示将预测分类为参照或非参照的二元交叉熵损失。在推理的过程中,我们选择与最高置信度分数argmax{Ce}对应的分割掩码作为参照的分割预测。

Curriculum Learning Strategy

Learning from Object-centric Images

作者发现直接使用RIS dataset(RefCOCO, RefCOCO+, RefCOCOg)训练,训练效果并不理想, 所以作者打算先从简单的数据集开始训练,然后再逐步增加数据的复杂程度。

作者一开始使用了ImageNet数据集作为基础生成高质量伪标签,因为这样的图片有一个特点,图片所指的目标一般都位于图片的中心,可以形成干扰的元素比较少。

作者对于ImageNet中的图片做了一些处理,他给每一个图片加了一段语义信息,这样就可以符合模型文本的输入格式,统一以"the [class name] in the middle"定义图片文本信息,并且把这个数据集命名为Dsem。

对于Dsem中的每一张图片,都跟之前类似,生成,伪标签集合,特别的是,这里的E=1,。作者还使用了CLIP + SAM生成高质量掩码,对于point prompt在s掩码中平均的随机采样M个点,掩码里面的设置为positive,外面的设置为negative,这样的采样方法保证了模型生成正确的点。

Augmented Data for More Complex RIS Learning

这里作者创建了一个更为复杂的Dref(也是基于ImageNet得到)数据集,这里关注实例间的空间关系。在Dsem的基础上通过数据增强得到,详细如下

1.基于组合的增强(Composition-based Augmentation)

将多张图像通过缩放和 Mosaic-like 增强技术(类似于 YOLO 中的 Mosaic 增强)聚合成一张图像。

2.基于融合的增强(Fusion-based Augmentation)

将一张图像嵌入到另一张图像中,形成图像间嵌套的效果。

Dref不仅通过引入更复杂的图像-表达对丰富了实例级语义数据,还为参照物以外的上下文对象提供了伪标签。对于一张图片有这样的关系,这里的E就不再等于1,而是还有文本中的其他对象,比如桌子上的猫,这里桌子是一个对象,猫是一个对象。每一个都会生成对应的,伪标签。这里的Ce设置的规则跟上面的也不一样,置信度分数设置为所指对象的一个,其他上下文对象的置信度分数设置为 0。

通过对表达中的每个名词短语分别提取候选伪标签,并使用与在 Dsem​ 中提取伪标签相同的方法来实现这一点。

根据一对数据中候选参照物的数量, 我们将 RIS 数据集 H 划分为两个子集,分别表示为 Hsem​ 和 Href。

在数据集Hsem中,每一个样本中,E = 1,

在数据集Href中,每一个样本中,E > 1, 因为无法确定哪个是想要的目标。

尽管伪标签是在数据集 Hsem 和 Href 中生成的,但它们是高度嘈杂的,需要与基于图像的数据集 Dsem 和 Dref 协作进行模型训练。

优化过程

argmin:寻找某个函数最小化的参数\Theta

E[…] 表示期望值,它意味着对所有可能的输入进行加权平均,以计算出整体上的损失。

渐进式学习

上面进行的是语义级别的分割,这一步的训练目的是让模型具备基本的分割能力,可以理解和处理图像中的语义信息。下面进一步加强分割能力。

one step

仅在基于 ImageNet 的指向级别数据集 Dref 进行训练。训练样本从Hsem∪Dsem∪Dref中采样,从而得到\ThetarefD

这个参数\ThetarefD是在模型已经具备分割能力\Thetasem后,通过在更复杂的数据集上训练得到的。

two step

更新Href的伪标签,并在四个数据集上联合训练,从Href中的候选参照物中选择伪参照物,使用模型PPT和模型参数\ThetarefD将其更新为H′​ref。

H′ref指的是根据PPT和参数​ \thetarefD来对Href里面的候选参照物更新。

\thetaref跟前面生成\thetasem的方式类似,这里不过多赘述。

Domain Refinement Stage(领域优化阶段)

背景:

尽管在之前的训练过程中使用了数据增强技术,ImageNet 基础的数据集和 RIS(Referring Image Segmentation)数据集之间仍然存在数据分布和领域(domain)差异。

在之前的训练阶段,模型已经在 ImageNet 基础的数据集上学习了实例级别和关系级别的点生成能力。然而,ImageNet 数据集和 RIS 数据集之间的差异仍然可能影响模型的泛化能力。

目标:

这一阶段,模型将专注于对 RIS 数据集进行细调,以进一步缩小模型在不同数据集之间的表现差距。具体做法是通过持续调整和更新选择的伪指代对象(pseudo-referents)来优化模型。

到了这里基本上就是所有的训练过程。

接下来是消融实验,详情见原论文。

总结

作者通过建立一个PPT结构增强了模型读懂语义的能力,可以更加准确的理解文本描述的内容,并利用SAM标注出目标,这样的设计让模型的准确率得到了很大的提升。

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值