(CVPR,2024)CAT-Seg:基于成本聚合的开放词汇语义分割

文章目录

  • 摘要
  • 引言
  • 方法
    • 计算成本与嵌入
    • 空间成本聚合
    • 类别成本聚合
    • CAT-Seg框架
  • 实验

摘要

开放词汇的语义分割面临着根据各种文本描述对图像中的每个像素进行标记的挑战。在这项工作中,我们引入了一种新颖的基于成本的方法,以适应视觉语言基础模型,特别是CLIP,用于复杂的语义分割任务。通过聚合余弦相似度分数,即图像和文本嵌入之间的成本体积,我们的方法通过微调其编码器,强大地适应了CLIP以对已见和未见类进行分割,解决了现有方法在处理未见类时面临的挑战。在此基础上,我们探讨了有效聚合成本体积的方法,考虑到它在图像和文本嵌入之间建立的多模态特性。此外,我们还研究了有效微调CLIP的各种方法。

引言

开放词汇的语义分割旨在根据文本描述,将图像中的每个像素分配到一个无限范围内的类标签。为了处理将图像与各种文本描述相关联的挑战,预训练的视觉语言基础模型,例如CLIP和ALIGN,因其在广泛的图像文本数据集上训练而具有强大的开放词汇识别能力而受到关注。然而,这些基础模型在训练过程中主要接受图像级别的监督,这在将它们应用于像素级分割任务时引入了显著的差异。
在本研究中,我们探讨了将图像的整体理解能力转移到像素级分割任务的方法。虽然一个直接的方法是微调CLIP的编码器,但现有的方法在此尝试中遇到了困难,因为它们在对已见类进行过度拟合时遇到了显著的问题。这导致了联合嵌入空间对未见类的不对齐,因为CLIP特征经过解码器模块进行聚合以生成分割掩码,从而失去了它们的对齐。因此,大多数方法选择冻结CLIP的编码器,仍然未充分探索这一挑战。

在这方面,我们扩展了对适应CLIP进行开放词汇语义分割的探索,并引入了一种新颖的基于成本的框架。我们建议聚合CLIP图像和文本嵌入之间的余弦相似度,即匹配成本,与视觉对应文本相对应。令人惊讶的是,我们发现,在这个框架上微调CLIP有效地适应了分割的下游任务,无论是已见还是未见的类别。鉴于此,我们深入探讨了更好地聚合图像和文本之间的成本体积以进行分割的方法。
在这里插入图片描述

直觉上,成本体积可以被视为粗略的语义掩码,与各自的类相关联,如图2所示。随后,这些粗略掩码可以进一步细化以获得准确的预测结果,成为成本聚合过程。基于此,我们旨在有效地聚合成本体积,并将该过程配置为空间和类聚合
我们的框架,名为CAT-Seg,将我们的基于成本的成本聚合框架与我们对微调CLIP编码器的最佳方法相结合。我们在每个标准的开放词汇基准上取得了最先进的结果,与最近的最新技术相比,A-847的mIoU提高了+3.6,PC459的mIoU提高了+8.1。CAT-Seg不仅有效,而且在训练和推理方面都比区域文本方法更高效,推理速度提高了3.7倍以上。

我们总结我们的贡献如下:

  • 我们提出了一个基于成本的框架,用于开放词汇的语义分割,通过微调其编码器,有效地将CLIP适应于分割的下游任务。

  • 为了聚合图像-文本成本体积,我们将我们的框架与空间和类聚合相结合,以推理多模态成本体积,并探索各种方法来增强我们的成本聚合框架。

  • 我们的框架CAT-Seg在标准的开放词汇基准以及极端情况下均实现了最先进的性能,展示了其多功能性和实用性。

方法

在给定图像I和候选类别集合 C = { T ( n ) } C = \{T(n)\} C={T(n)},其中 n = 1 , . . . , N C n = 1, . . . , N_C n=1,...,NC,其中 T ( n ) T(n) T(n)表示第n个类别的文本描述,NC是类别的数量时,开放词汇的语义分割为图像I中的每个像素分配一个类别标签。与传统的语义分割任务不同,开放词汇的分割任务在给定自由形式文本描述的情况下,额外面临着C的变化
在本节中,我们描述了我们用于开放词汇语义分割的基于成本的方法。具体来说,我们通过细化CLIP的图像和文本嵌入的余弦相似度分数,如图2所示。细化余弦相似度分数的过程,或称为成本聚合,最初是为了解决图像对应问题而开发的,专门设计用于处理图像到图像的成本体积。
在这里插入图片描述

另一方面,我们的目标是聚合图像到文本的成本体积,因此需要考虑成本体积的多模态性以及每种模态的特性。在这方面,如图3所示,我们将聚合阶段分解为两个独立的模块,即空间聚合类别聚合,合理地解决了开放词汇语义分割任务所面临的独特挑战。这包括处理推理过程中类别数量的变化,以及保证类别之间的排列不变性。具体来说,我们先进行空间聚合,然后进行类别聚合,并交替进行两种聚合。

计算成本与嵌入

在这里插入图片描述

给定图像 I I I和一组类别 C C C,我们提取了密集的图像嵌入 D V = Φ V ( I ) ∈ R ( H × W ) × d D^V = Φ^V (I) ∈ R^{ (H×W)×d} DV=ΦV(I)R(H×W)×d和文本嵌入 D L = Φ L ( T ) ∈ R N C × d D^L = Φ^L(T) ∈ R^{N_C×d} DL=ΦL(T)RNC×d,其中 Φ V ( ⋅ ) Φ^V (·) ΦV() Φ L ( ⋅ ) Φ^L(·) ΦL()分别表示CLIP的图像和文本编码器。为了提取密集的CLIP图像嵌入,我们修改了图像编码器的最后一个注意力层以消除池化效应。我们使用图像和文本嵌入 D V ( i ) D^V(i) DV(i) D L ( n ) D^L(n) DL(n),其中i表示图像嵌入的2D空间位置,n表示一个类别的索引,通过余弦相似度计算得到成本体积 C ∈ R ( H × W ) × N C C ∈ R^{(H×W)×N_C} CR(H×W)×NC。形式上,这定义为:
在这里插入图片描述

为了增强在高维特征空间中处理成本的能力,我们将成本体积馈送到一个单卷积层,该层独立处理每个成本切片 C ( : , n ) ∈ R ( H × W ) × 1 C(:, n) ∈ R ^{(H×W)×1} C(:,n)R(H×W)×1,以获得初始成本体积嵌入 F ∈ R ( H × W ) × N C × d F F ∈ R ^{(H×W)×N_C×d_F} FR(H×W)×NC×dF,其中 d F d_F dF是成本嵌入维度,如图3所示。

空间成本聚合

在这里插入图片描述

对于空间聚合,我们旨在考虑图像-文本成本体积内部的图像特性,例如图像内的空间平滑性。具体而言,我们分别为每个类别应用空间聚合。我们采用Swin Transformer 以实现计算效率,我们定义这个过程如下:
在这里插入图片描述

其中 F ( : , n ) ∈ R ( H × W ) × d F F(:, n) ∈ R^{ (H×W)×d_F} F(:,n)R(H×W)×dF T s a ( ⋅ ) T ^{sa}(·) Tsa()表示一对连续的Swin Transformer块,用于空间聚合,其中第一个块特征在局部窗口内的自注意力,接着第二个块在移动窗口内进行自注意力。请注意,我们将 d F d_F dF视为每个标记的通道维度,并且注意力是在各个类别内单独计算的。直观地,我们可以将空间聚合的过程大致对应于图2底部一行,其中“sofa”的成本体积经过聚合后得到了很好的细化,背景区域的噪声被抑制了。

类别成本聚合

在这里插入图片描述

在空间聚合之后,我们应用类别聚合来考虑文本模态,明确捕捉不同类别之间的关系。我们还考虑到了处理不同类别数量C的开放词汇语义分割的独特挑战,同时保持对它们的顺序不变。为了解决这些挑战,我们采用了一个没有位置嵌入的Transformer 层用于聚合,因为这可以同时满足上述两个标准。这个过程定义如下:
在这里插入图片描述

其中 F ′ ( i , : ) ∈ R N C × d F F ′ (i,:) ∈ R ^{N_C×d_F} F(i,:)RNC×dF T c a ( ⋅ ) T ^{ca}(·) Tca()表示用于类别聚合的Transformer块。与空间聚合相比,我们采用线性Transformer,因为在这个聚合中我们不需要考虑输入标记的空间结构,并且从输入标记数量的线性计算复杂度中受益。类别聚合过程可以与图2顶部一行联系起来,其中聚合的成本体积显示了对只有椅子的预测,而不包括沙发,因为这两个类别一起给出以进行推理。

CAT-Seg框架

在这里插入图片描述

在通过空间和类别聚合得到聚合的成本体积后,我们进一步增强了我们的方法,通过引入上采样聚合过程来推导语义分割预测。此外,借鉴最先进的成本聚合技术的见解,我们通过利用从CLIP的嵌入中得出的指导来完善我们的成本聚合策略。最后,我们研究了各种微调CLIP编码器的方法,以有效而高效地使CLIP适应开放词汇的语义分割。

  1. 上采样解码器

    在这里插入图片描述

    与FPN类似,我们对聚合的成本体积进行双线性上采样,并将其与从CLIP提取的相应级别的特征图进行串联,然后经过一个具有固定大小的3×3卷积核的卷积层。我们重复此过程 N U N_U NU次,生成一个高分辨率输出,然后将其馈送到预测头进行最终推理。为了提取高分辨率的特征图,我们避免使用额外的特征主干,因为这会引入沉重的计算负担。相反,我们从CLIP图像编码器的中间层提取这些图。具体地,我们从CLIP ViT的中间层的输出中提取特征图,然后使用一个可学习的转置卷积层将它们上采样。这种方法允许我们有效地利用CLIP学到的表示来获取详细的预测。

  2. 嵌入指导
    在这里插入图片描述

    为了增强成本聚合过程,我们额外利用嵌入 D L D^L DL D V D^V DV来提供输入的空间结构或上下文信息。直观地说,我们的目标是利用嵌入来引导过程,基于这样的假设:视觉上或语义上相似的输入标记,例如颜色或类别,具有相似的匹配成本,受到了立体匹配文献中成本体积过滤的启发。因此,我们重新定义Eq. 2和Eq. 3如下:
    在这里插入图片描述

    这里[·]表示连接, P V P^V PV P L P^L PL表示线性投影层, D V ∈ R ( H × W ) × d D^V ∈ R^{(H×W)×d} DVR(H×W)×d,而 D L ∈ R N C × d D^L ∈ R^{N_C×d} DLRNC×d,其中 d d d表示特征维度。值得注意的是,我们只提供嵌入给查询和键,因为我们发现这对于嵌入指导已经足够了。

  3. CLIP的高效微调
    虽然我们的目标是通过微调其图像和文本编码器充分使CLIP适应下游任务,但微调这样的基础模型可能会涉及数亿个参数,计算成本高且占用内存大。另一方面,冻结其中一些层不仅更有效,而且还可以帮助CLIP保持其原始嵌入空间,使其更具抗过拟合能力。为此,我们广泛研究了应该在CLIP 中冻结哪些层,同时考察了微调预训练模型的各种方法。

实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/312666.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.SCI各模块

1.学会“抄” 写论文,一定要学会“抄”!这样才能事半功倍,尤其是对于初次写作的新手,否则写作过程一定会让你痛不欲生,而且写出来的东西就是一坨shi,不仅折磨自己,也折磨导师。 写论文与建大楼…

【Spring进阶系列丨第十篇】基于注解的面向切面编程(AOP)详解

文章目录 一、基于注解的AOP1、配置Spring环境2、在beans.xml文件中定义AOP约束3、定义记录日志的类【切面】4、定义Bean5、在主配置文件中配置扫描的包6、在主配置文件中去开启AOP的注解支持7、测试8、优化改进9、总结 一、基于注解的AOP 1、配置Spring环境 <dependencie…

Android Studio修改项目包名

1.第一步&#xff0c;项目结构是这样的&#xff0c;3个包名合在了一起&#xff0c;我们需要把每个包名单独展示出来 2.我们点击这个 取消选中后的包名结构是这样的&#xff0c;可以看到&#xff0c;包名的每个文件夹已经展示分开了&#xff0c;现在我们可以单独对每个包名文件夹…

查看TensorFlow已训模型的结构和网络参数

文章目录 概要流程 概要 通过以下实例&#xff0c;你将学会如何查看神经网络结构并打印出训练参数。 流程 准备一个简易的二分类数据集&#xff0c;并编写一个单层的神经网络 train_data np.array([[1, 2, 3, 4, 5], [7, 7, 2, 4, 10], [1, 9, 3, 6, 5], [6, 7, 8, 9, 10]]…

信号完整性的常见术语概念(面试常用)

目录 术语 概念一览 1&#xff0e;信号完整性&#xff08;Signal Integrity&#xff09; 2&#xff0e;传输线&#xff08;Transmission Line&#xff09; 3&#xff0e;特性阻抗&#xff08;Characteristic Impedance&#xff09; 4&#xff0e;反射&#xff08;Reflecti…

RISC-V特权架构 - 中断注入

中断注入 1 中断注入的作用2 mip寄存器3 中断注入后的处理过程 本文属于《 RISC-V指令集基础系列教程》之一&#xff0c;欢迎查看其它文章。 1 中断注入的作用 中断注入&#xff0c;就是在M模式下&#xff0c;手动向S模式去产生一个中断。 比如&#xff1a;向mip寄存器的bit5…

STM32无刷电机全套开发资料(源码、原理图、PCB工程及说明文档)

目录 1、原理图、PCB、BOOM表 2、设计描述 2.1 前言 2.2 设计电路规范 3、代码 4、资料清单 资料下载地址&#xff1a;STM32无刷电机全套开发资料(源码、原理图、PCB工程及说明文档) 1、原理图、PCB、BOOM表 2、设计描述 2.1 前言 经过一个星期的画PCB&#xff0c;今…

Python接口自动化 —— Web接口!

1.2.1 web接口的概念 这里用一个浏览器调试工具捕捉课程管理页面请求作为例子&#xff1a; 当请求页面时&#xff0c;服务器会返回资源&#xff0c;将协议看做是路的话&#xff0c;http可以看做高速公路&#xff0c;soap看做铁路传输的数据有html&#xff0c;css&#xff0…

WAF攻防-权限控制代码免杀异或运算变量覆盖混淆加密传参

知识点 1、脚本后门基础&原理 2、脚本后门查杀绕过机制 3、权限维持-覆盖&传参&加密&异或等 章节点&#xff1a; WAF绕过主要集中在信息收集&#xff0c;漏洞发现&#xff0c;漏洞利用&#xff0c;权限控制四个阶段。 代码表面层免杀-ASP&PHP&JSP&a…

对装饰器模式的理解

目录 一、场景二、面对场景中的新需求&#xff0c;我们怎么办&#xff1f;1、暴力法&#xff1a;直接修改原有的代码。2、子类继承法&#xff1a;既然要增强行为&#xff0c;那我搞一个子类&#xff0c;覆写不就完事了&#xff1f;3、装饰器模式 三、对装饰器模式的思考1、从代…

C++动态内存管理 解剖new/delete详细讲解(operator new,operator delete)

讨厌抄我作业和不让我抄作业的人 讨厌插队和不让我插队的人 讨厌用我东西和不让我用东西的人 讨厌借我钱和不借给我钱的人 讨厌开车加塞和不让我加塞的人 讨厌内卷和打扰我内卷的人 一、C中动态内存管理 1.new和delete操作内置类型 2.new和delete操作自定义类型 二、operat…

2024年在Vim中开发vue2+java

neovim 0.5刚出来的时代&#xff0c;那时刚有lua插件我很狂热。每天沉迷于打造自己的IDE之中。写过一堆相关的博客&#xff0c;也录过一些视频教程。后来发现neovim的接口和插件更新的很快&#xff0c;导致配置文件要不定期的修改&#xff0c;才能保证新版本的插件的适配。我也…

探索设计模式的魅力:融合AI大模型与函数式编程、开启智能编程新纪元

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索AI大模型与函数式编程模式融合之旅✨ 在编程世界的广阔疆域里&#xff0c;两大…

VUE3 + Elementui-Plus 之 树形组件el-tree 一键展开(收起);一键全选(不全选)

需求&#xff1a; 产品要求权限树形结构添加外部复选框进行全部展开或收起&#xff1b;全选或不全选。 实现步骤&#xff1a; tree组件部分&#xff1a; <div class"role-handle"><div>权限选择(可多选)</div><div><el-checkbox v-mode…

【C语言】贪吃蛇项目(1) - 部分Win32 API详解 及 贪吃蛇项目思路

文章目录 一、贪吃蛇项目需要实现的基本功能二、Win32 API介绍2.1 控制台2.2 部分控制台命令及调用函数mode 和 title 命令COORD 命令GetStdHandle&#xff08;获取数据&#xff09;GetConsoleCursorInfo&#xff08;获取光标数据&#xff09;SetConsoleCursorInfo &#xff08…

【C 数据结构】线性表

文章目录 【 1. 线性表 】【 2. 顺序存储结构、链式存储结构 】【 3. 前驱、后继 】 【 1. 线性表 】 线性表&#xff0c;全名为线性存储结构&#xff0c;线性表结构存储的数据往往是可以依次排列的&#xff08;不考虑数值大小顺序&#xff09;。 例如&#xff0c;存储类似 {1…

Java的maven项目导入本地jar包的三种方式

一、使用本地jar包 在项目中创建一个lib文件夹&#xff0c;将想要使用的本地jar包放进去 然后直接在pom.xml中添加下列依赖&#xff08;项目协作推荐&#xff09; <dependency><groupId>com.fpl</groupId><artifactId>spring</artifactId><…

springcloud 整合swagger文档教程

我用的是nacos和gateway 我的模块 父依赖没什么太大关系如果出现版本冲突问题可用参考我的依赖版本 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org…

node.js服务器动态资源处理

一、node.js服务器动态资源处理与静态资源处理的区别&#xff1f; 静态与动态服务器主要区别于是否读取数据库&#xff0c;若然在数据库中的资料处理中将数据转换成可取用格式的结构&#xff0c;也就是说把对象转化为可传输的字节序列过程称为序列化&#xff0c;反之则为反序列…

SiLM5350系列带米勒钳位的单通道隔离驱动器 助力汽车与工业应用实现稳定与高效的解决方案

带米勒钳位的隔离驱动SiLM5350系列 单通道 30V&#xff0c;10A 带米勒钳位的隔离驱动 具有驱动电流更大、传输延时更低、抗干扰能力更强、封装体积更小等优势, 为提高电源转换效率、安全性和可靠性提供理想之选。 SiLM5350系列产品描述&#xff1a; SiLM5350系列是单通道隔离驱…