CLIPer:开创性框架提升CLIP空间表征,实现开放词汇语义分割突破

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 对比语言-图像预训练(CLIP)在多种图像级任务上表现出强大的零样本分类能力,促使研究行人尝试将CLIP应用于像素级开放词汇语义分割,而无需额外训练。关键在于提升图像级CLIP的空间表征能力,例如,用自-自注意力图或基于视觉基础模型的自注意力图替换最后一层的自注意力图。本文提出了一种新颖的分层框架CLIPer,该框架分层提升了CLIP的空间表征能力。

论文链接:

https://arxiv.org/abs/2411.13836

模型链接:

https://modelscope.cn/studios/sunlin449/CLIPer

01.论文解读

对比语言-图像预训练(CLIP)在多种图像级任务上表现出强大的零样本分类能力,促使研究行人尝试将CLIP应用于像素级开放词汇语义分割,而无需额外训练。关键在于提升图像级CLIP的空间表征能力,例如,用自-自注意力图或基于视觉基础模型的自注意力图替换最后一层的自注意力图。本文提出了一种新颖的分层框架CLIPer,该框架分层提升了CLIP的空间表征能力。

CLIPer包括浅层融合模块和精细补偿模块。浅层融合模块包括嵌入浅层特征和注意力图以保留空间结构信息,生成具有更好空间一致性的分割图。精细补偿模块利用扩散模型的自注意力图来补偿局部细节。本文在七个分割数据集上进行了实验,并在这些数据集上实现了最先进的性能。在不采用使用滑动窗口的策略下,使用ViT-L模型,CLIPer在VOC和COCO Object任务上的mIoU分别达到69.8%和43.3%,分别高出ProxyCLIP模型9.2%和4.1%。

image.png

方法描述

CLIPer方法有以下几个关键步骤:

1.最后一层注意力机制的弥补:原始的CLIP图像编码器最后一层缺乏空间特性,CLIPer通过利用浅层空间连续性强的特性,将浅层的多头注意力图直接融合至最后一层中,并去掉了残差连接以及前向传播网络,以提高最终分割的连续性。

2.浅层特征的提取:在每次经过CLIP图像编码时,CLIPer会记录所有Transformer块的特征,并将这些特征送入到修改后的最后一层,并分别与文本特征计算相似度,得到分割结果。

3.精细补偿机制:CLIPer提出将扩散模型中的细节融入到分割中。该模块利用扩散模型中的多头自注意力头蕴含的细节信息,通过矩阵链乘法的形式去优化粗糙的分割结果。

论文实验

本文对CLIPer与一些最先进的方法在各种数据集上的表现进行了比较。当使用ViT-B和ViT-L两种框架时,CLIPer几乎在所有这些数据集上都达到了最佳性能。

image.png

另外,本文还将开放词汇语义分割可以看作是两个方面:类别分类和掩码预测。为了深入展示CLIPer在这两个方面上的优势,本文通过两个实验与其他方法进行了更多比较。

image.png

本文第一个实验结果的图像级分类的形式展示了CLIPer的分类能力,通过表二可以得出CLIPer取得更优的mAP、F1、P和R分数,表明在类别分类上表现更好,这对于开放词汇语义分割非常有用。

本文的第二个实验通过弱监督的设置展示了CLIPer的分割能力,通过表三可以得出,CLIPer在弱监督设置中较其他方式取得更优的mIoU分数,说明具备更好的分割能力。

对于推理时间,与ClearCLIP相比,CLIPer*具有更快的速度和更高的mIoU。与ProxyCLIP相比,CLIPer*具有更快的速度和可比的mIoU。此外,CLIPer通过细粒度补偿显著提升了CLIPer*的性能。

本文也有一系列的消融实验。具体包括:

1. 单独只使用浅层特征融合模块(CLIPer*),单独只使用精细补偿模块,以及两者同时具备(CLIPer)的情况,发现每一个模块均能单独提升分割结果,并且同时使用两者能更进一步的提升效果。

2. 进一步的消融浅层特征融合模块,展示了只融合浅层特征,只融合自注意力,以及同时融合两者同同条件下使用q-q,k-k,v-v的对比,得出这两种融合的有效性。

3. 在精细补偿中,本文也探讨了如何融合扩散模型自注意力图,包括选取其中一个自注意力图,平均所有自注意力图以及将所有自注意力图做矩阵链乘法,得出矩阵链乘法能显著的提升分割精度的结果。

02.最佳实践

CLIPer在魔搭社区上进行了部署,在魔搭社区免费提供的GPU免费算力上可体验CLIPer。

体验地址:

https://modelscope.cn/studios/sunlin449/CLIPer

运行结果:

image.png

点击链接即可跳转模型~

https://modelscope.cn/studios/sunlin449/CLIPer

目录
相关文章
|
8月前
|
数据安全/隐私保护 开发者 Python
使用 yt-dlp 二次开发, 快速下载 YouTube等平台高清视频工具开发
想从多个平台下载高清无水印视频?本文教你使用 `yt-dlp` 工具轻松实现!支持 YouTube、B站、抖音等主流平台,提供代码示例与解析,涵盖批量下载、字幕提取、音频分离等高级功能。无论你是开发者还是普通用户,都能快速上手,高效获取所需视频资源。
1693 0
|
2月前
|
数据采集 存储 JSON
使用Python获取1688商品详情的教程
本教程介绍如何使用Python爬取1688商品详情信息,涵盖环境配置、代码编写、数据处理及合法合规注意事项,助你快速掌握商品数据抓取与保存技巧。
|
9月前
|
UED
产品经理-用户体验五要素 - AxureMost
《用户体验五要素》介绍了构建成功用户体验设计的五个层面:战略层、范围层、结构层、框架层和表现层。战略层明确产品目标与用户需求;范围层定义功能和内容需求;结构层规划交互与信息架构;框架层设计界面、导航和信息布局;表现层则通过视觉设计创造感知体验。每一层都依赖于其下一层,形成自下而上的连锁效应,确保各要素相互作用,共同实现用户体验目标。
|
人工智能 自然语言处理 测试技术
RoBERTa
“【5月更文挑战第30天】”
325 1
|
JSON 数据可视化 IDE
R
R
1250 0
|
传感器 存储 SQL
ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析
GraphiteMergeTree是ClickHouse用于优化Graphite数据存储和汇总的表引擎,适合需要瘦身和高效查询Graphite数据的开发者。它基于MergeTree,减少存储空间并提升查询效率。创建表时需包括Path、Time、Value和Version列。配置涉及pattern、regexp、function和retention,用于指定聚合函数和数据保留规则。文章还提供了建表语句示例和相关资源链接。
234 1
|
Java 测试技术 Python
《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程)
【5月更文挑战第23天】本文介绍了使用Java和Selenium进行自动化测试时如何实现截图操作。原本计划讲解远程测试内容,但因服务器网络问题无法进行,因此转而分享Selenium的截图方法。文章分为三部分,首先简述背景,然后重点介绍了TakeScreenshout类,这是一个用于获取浏览器窗口内容的截图工具,不包含浏览器菜单和任务栏。接着,列举了一个测试场景:访问百度首页并截图保存。最后,提供了代码示例,展示了如何设计自动化测试代码以及截图保存到指定目录,并附有代码运行效果展示。
227 2
|
C语言
C语言中如何避免循环死循环
C语言中如何避免循环死循环
678 1
|
存储 JSON 算法
快速了解什么是jwt及如何使用jwt
快速了解什么是jwt及如何使用jwt
560 0
|
JavaScript 开发者
【TypeScript 技术专栏】TypeScript 与 ESLint 代码规范
【4月更文挑战第30天】TypeScript和ESLint是代码规范的关键工具。TypeScript通过静态类型检查、接口与模块系统提升代码质量;ESLint则负责语法检查、风格统一和最佳实践。两者结合使用,提供全面的代码规范保障。制定团队共识、保持灵活性并持续优化规范是关键。常见问题包括类型不匹配、风格不一致和未使用变量,可通过这两工具解决。实际案例分析进一步说明了它们在项目中的应用。重视代码规范,利用这些工具,能提高代码质量和开发效率。
368 0

热门文章

最新文章

下一篇
oss云网关配置