(ECCV,2022)Mask-CLIP:从CLIP中提取自由密集标签

文章目录

  • Extract Free Dense Labels from CLIP
    • 相关资料
    • 摘要
    • 引言
    • 方法
      • Mask-CLIP
      • Mask-CLIP+
    • 实验

Extract Free Dense Labels from CLIP

相关资料

代码:https://github.com/chongzhou96/MaskCLIP
论文:https://arxiv.org/abs/2112.01071

摘要

对比语言-图像预训练(CLIP)在开放词汇的零样本图像识别方面取得了显著突破。许多最近的研究利用预训练的CLIP模型进行图像级别分类和操作。在本文中,我们希望检查CLIP在像素级密集预测方面的内在潜力,特别是在语义分割方面。为此,我们展示了通过最小修改,MaskCLIP在没有注释和微调的情况下,在各种数据集上的开放概念中产生了引人注目的分割结果。通过添加伪标记和自训练,MaskCLIP+在很大程度上超越了最先进的感应零样本语义分割方法,例如,在PASCAL VOC/PASCAL Context/COCO Stuff上未见类别的mIoUs从35.6/20.7/30.3提高到86.1/66.7/54.7。我们还测试了MaskCLIP在输入损坏下的鲁棒性,并评估了其区分细粒度对象和新概念的能力。我们的发现表明,MaskCLIP可以作为密集预测任务的新可靠监督源,实现无需注释的分割。源代码在此处可用。

引言

在这里插入图片描述

我们的模型名为MaskCLIP,我们展示了一个可以直接从CLIP的图像编码器中提取密集的补丁级特征,即最后一个注意力层的值特征,而不会破坏视觉-语言关联。用于密集预测的分类权重,本质上是1×1卷积,可以直接从CLIP文本编码器的文本嵌入中获得,而不需要任何刻意的映射。在我们的实证研究中,MaskCLIP在通过mIoU指标测量的定量性能和定性结果方面都产生了合理的预测。此外,MaskCLIP可以基于所有变体的CLIP,包括ResNets和ViTs。我们提供了两种流行的骨干网络之间的并排比较。我们还为MaskCLIP提出了两种掩码细化技术,以进一步提高其性能,即关键平滑提示去噪,两者都不需要训练。具体来说,关键平滑计算不同补丁的关键特征(最后一个注意力层)之间的相似性,这些特征用于平滑预测。提示去噪通过删除图像中不太可能存在的类别的提示,从而减少干扰因素,使预测更加准确。

方法

在这里插入图片描述

Mask-CLIP

如图2(b)所示,与传统的全局平均池化不同,CLIP的图像编码器采用了Transformer风格的多头注意力层,其中全局平均池化的特征作为查询,每个空间位置的特征生成一个键-值对。因此,这一层的输出是对传入特征图的空间加权和,然后是线性层 F ( ⋅ ) F(·) F()
在这里插入图片描述
其中 C C C是一个常数缩放因子, E m b ( ⋅ ) Emb(·) Emb()表示线性嵌入层。 x i x_i xi表示空间位置i的输入特征, x ˉ \bar{x} xˉ是所有 x i x_i xi的平均值。Transformer层的输出作为整个图像的全面表示。我们相信这是可能的,因为在每个空间位置计算的#F(v_i)#已经捕获了与CLIP文本嵌入中的标记很好地对应的局部语义的丰富响应。
基于这样的假设,如图2(b)所示,我们在我们的新尝试中直接修改了CLIP的图像编码器:

  1. 移除查询和键嵌入层;
  2. 将值嵌入层和最后的线性层重新制定为两个各自的1×1卷积层。
  3. 我们保持文本编码器不变,它以带有目标类别的提示作为输入。每个类别的得到的文本嵌入被用作分类器。

我们将得到的模型命名为MaskCLIP,因为它产生像素级掩码预测而不是全局图像级预测。然后,我们在各种标准分割基准测试以及网络爬取的图像上评估MaskCLIP。如图1所示,MaskCLIP可以在没有任何微调或注释的情况下输出合理的结果。有人可能会争论,由于全局注意力池化是一个自注意力层,即使没有修改,它也可以生成密集的特征。然而,由于查询 q ˉ \bar{q} qˉ是在CLIP预训练期间训练的唯一查询,这种朴素的解决方案失败了。我们将这个解决方案视为基线,并在实验中将其结果与我们的进行比较。此外,ViT中的Transformer层与全局注意力池化非常相似。实际上,唯一的两个区别是:

  1. 全局查询是通过一个特殊的[CLS]标记而不是所有空间位置的平均值来生成的;
  2. Transformer层有一个残差连接。因此,通过用q[cls]替换 q ˉ \bar{q} qˉ并在输出中添加输入x,MaskCLIP可以与ViT骨干一起工作。

尽管MaskCLIP与现有的分割方法相比简单,但提出的方法享有从CLIP继承的多个独特优点:

  1. MaskCLIP可以用作免费的分割注释器,为使用有限标签的分割方法提供丰富和新颖的监督信号。
  2. 其次,由于CLIP在MaskCLIP中保留了视觉-语言关联,它自然具备分割开放词汇表类别的能力,以及由自由形式短语描述的细粒度类别,如白色汽车和红色公交车。
  3. 由于CLIP是在原始网络策划的图像上训练的,CLIP展示了对自然分布变化[45]和输入损坏[47]的巨大鲁棒性。

我们验证了MaskCLIP在一定程度上保留了这种鲁棒性。关键平滑和提示去噪。为了进一步提高MaskCLIP的性能,我们提出了两种细化策略,即关键平滑和提示去噪。回想一下,在方程3中,除了 q ˉ \bar{q} qˉ,关键特征 k i k_i ki也在CLIP预训练期间得到了训练。然而,在原始的MaskCLIP中, k i k_i ki被简单地丢弃了。因此,在这里我们寻求利用这些信息来细化最终输出。关键特征可以被视为相应补丁的描述符,因此具有相似关键特征的补丁应该产生相似的预测。基于这个假设,我们提出用以下方式平滑预测:
在这里插入图片描述

其中 k i k_i ki p r e d i pred_i predi分别是空间位置 i i i的关键特征和类别置信度预测, ∣ ∣ ⋅ ∣ ∣ 2 ||·||_2 ∣∣2 c o s ( ⋅ ) cos(·) cos()分别表示L2归一化和余弦相似性。我们称这种策略为关键平滑。此外,我们还观察到在处理许多目标类别时,由于在单个图像中只有一小部分类别出现,其余的类别实际上是干扰因素,会削弱性能。因此,我们提出了提示去噪,它通过移除所有空间位置上的类别置信度都小于阈值t=0.5的提示的目标类别。

Mask-CLIP+

虽然MaskCLIP不需要任何训练,但其网络架构受限于CLIP的图像编码器。为了从架构限制中解放MaskCLIP并整合更高级的架构,如PSPNet[55]和DeepLab[5,6],我们注意到可以在训练时而不是推理时部署MaskCLIP,它充当一个通用且鲁棒的注释器,提供高质量的伪标签。结合标准的自训练策略,得到的模型,称为MaskCLIP+,实现了显著的卓越性能。除了无需注释和开放词汇表分割,MaskCLIP+也可以应用于感应零样本语义分割任务,其中MaskCLIP仅为未见类别生成伪标签。

实验

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

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

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

相关文章

SprongBoot及其基础应用全套部署脚本和配置

POM.xml配置 </dependencies> <!--skywalking日志监控依赖--><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>8.5.0</version></dependency&g…

【周末闲谈】AI“抢饭碗”?绝对不是危言耸听

AI是在帮助开发者还是取代他们? 在软件开发领域,生成式人工智能(AIGC)正在改变开发者的工作方式。无论是代码生成、错误检测还是自动化测试,AI工具正在成为开发者的得力助手。然而,这也引发了对开发者职业前景和技能需求变化的讨论。AI究竟是在帮助开发者还是取代他们?…

2024组装一台能跑AI大模型的电脑

title: 2024组装一台能跑AI大模型的电脑 tags: [组装电脑, AI大模型] categories: [其他, 电脑, windows] 这里不写组装步骤&#xff0c;哪里接线&#xff0c;购买什么品牌网上一大堆。 这里只写如何根据你自己的需求&#xff0c;选择合适的、兼容的配件。 概述 需求&#xff…

本地多卡(3090)部署通义千问Qwen2-72B大模型提速实践:从龟速到够用

最近在做文本风格转化&#xff0c;涉及千万token级别的文本。想用大模型转写&#xff0c;在线的模型一来涉及数据隐私&#xff0c;二来又不想先垫钱再找报销。本地的7-9B小模型又感觉效果有限&#xff0c;正好实验室给俺配了4卡3090的机子&#xff0c;反正也就是做个推理&#…

运维系列.Nginx配置中的高级指令和流程控制

运维专题 Nginx配置中的高级指令和流程控制 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/…

ssrf结合redis未授权getshell

目录 漏洞介绍 SSRF Redis未授权 利用原理 环境搭建 利用过程 rockylinux cron计划任务反弹shell 写公钥免密登录 ubuntu 写公钥免密登录 漏洞介绍 SSRF SSRF&#xff08;server side request forgrey&#xff09;服务端请求伪造&#xff0c;因后端未过滤用户输入&…

桂花网蓝牙网关X1000:引领物联网新时代的智能连接

在物联网技术飞速发展的今天&#xff0c;蓝牙网关作为连接蓝牙设备与互联网的关键设备&#xff0c;其性能与稳定性直接影响到物联网系统的整体运行效果。桂花网蓝牙网关X1000凭借其卓越的性能和广泛的应用场景&#xff0c;成为了物联网领域的佼佼者。 一、产品概述 桂花网蓝牙…

使用Ckman部署ClickHouse集群介绍

使用Ckman部署ClickHouse集群介绍 1. Ckman简介 ClickHouse Manager是一个为ClickHouse数据库量身定制的管理工具&#xff0c;它是由擎创科技数据库团队主导研发的一款用来管理和监控ClickHouse集群的可视化运维工具。目前该工具已在github上开源&#xff0c;开源地址为&…

Angluar 实现pdf页面预览以及编辑

之前用过一个pdf预览的lib&#xff0c;并且还支持在线编辑&#xff0c;和直接下载编辑之后的pdf和直接打印&#xff0c;还不错&#xff0c;记录下 PdfShowcase 首先安装依赖 npm install ngx-extended-pdf-viewer 然后引入 import { NgxExtendedPdfViewerModule } from &q…

硅纪元视角 | 中国电信“星辰大模型·软件工厂”,两分钟完成应用开发,效率飞跃!

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

【数据结构】链表带环问题分析及顺序表链表对比分析

【C语言】链表带环问题分析及顺序表链表对比分析 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C语言学习之路 文章目录 【C语言】链表带环问题分析及顺序表链表对比分析前言一.顺序表和链表对比1.1顺序表和链表的区别1.2缓存利用率&#…

Linux基础: 二. Linux的目录和文件

文章目录 二. Linux的目录和文件1.1 目录概要1.2 目录详细说明 二. Linux的目录和文件 1.1 目录概要 command&#xff1a;ls / Linux的文件系统像一棵树一样&#xff0c;树干是根目录&#xff08;/&#xff09;&#xff0c;树枝是子目录&#xff0c;树叶是文件&#xff1b; …

亚信安全发布2024年6月威胁态势,高危漏洞猛增60%

近日&#xff0c;亚信安全正式发布《2024年6月威胁态势报告》&#xff08;以下简称“报告”&#xff09;&#xff0c;报告显示&#xff0c;6月份新增信息安全漏洞 1794个&#xff0c;高危漏洞激增60%&#xff0c;涉及0day漏洞占67.67%&#xff1b;监测发现当前较活跃的勒索病毒…

应用案例 | 基于物联网工控屏的工业离心机设备监控系统

案例概况 客户&#xff1a;博鲁班特&#xff08;BROADBENT&#xff09; 应用产品&#xff1a;宏集物联网工控屏 应用场景&#xff1a;离心机设备监控系统 一、前言 在现代工业生产中&#xff0c;离心机作为关键的分离设备&#xff0c;在生产过程中扮演着至关重要的角色。随…

谷粒商城学习笔记-17-快速开发-逆向工程搭建使用

文章目录 一&#xff0c;克隆人人开源的逆向工程代码二&#xff0c;把逆向工程集成到谷粒商城的后台工程三&#xff0c;以商品服务为例&#xff0c;使用逆向工程生成代码1&#xff0c;修改逆向工程的配置2&#xff0c;以Debug模式启动逆向工程3&#xff0c;使用逆向工程生成代码…

基于B/S模式和Java技术的生鲜交易系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;B/S模式、Java技术 工具&#xff1a;Visual Studio、MySQL数据库开发工具 系统展示 首页 用户注册…

【Java】详解String类中的各种方法

创建字符串 常见的创建字符串的三种方式&#xff1a; // 方式一 String str "hello world"; // 方式二 String str2 new String("hello world"); // 方式三 char[] array {a, b, c}; String str3 new String(array); "hello" 这样的字符串字…

Halcon 产品周围缺口检测

*读取一张图像read_image (Image, 原图.jpg)*获取图像大小get_image_size(Image, Width, Height)*关闭已经打开的窗口dev_close_window ()*打开新窗口dev_open_window(0, 0, Width, Height, black, WindowHandle) //打开指定大小的窗口*对图像进行阈值操作threshold (Image, R…

【链表】【双指针】1、合并两个有序链表+2、分隔链表+3、删除链表的倒数第N个结点+4、链表的中间结点+5、合并两个链表

3道中等2道简单 数组和字符串打算告一段落&#xff0c;正好最近做的几乎都是双指针&#xff0c;所以今天做链表&#xff01; 1、合并两个有序链表&#xff08;难度&#xff1a;简单&#xff09; 该题对应力扣网址 AC代码 思路简单 /*** Definition for singly-linked list.…

万和day01代码分析

将了数据库的多表之间的操作&#xff0c;实际应用到JDBC中去。 一共五张表&#xff0c; info存储的是具体的信息&#xff0c;edu job role 和info都是多对一的关系。 采用的是Java FX&#xff0c;界面采用xml去编写。 项目理解一 在JavaFX中&#xff0c;ObservableList 是一个…