一种简单的文本监督语义分割框架

news2024/11/17 12:32:22

文章目录

  • A Simple Framework for Text-Supervised Semantic Segmentation
    • 摘要
    • 本文方法
      • 动机
      • Locality-Driven Alignment(LoDA)
      • SimSeg Framework
    • 实验结果

A Simple Framework for Text-Supervised Semantic Segmentation

摘要

文本监督语义分割是一个新颖的研究课题,它允许在图像文本对比的情况下出现语义片段。然而,开创性的方法可能受制于专门设计的网络架构。
本文证明了一般对比语言图像预训练(CLIP)模型本身就是一种有效的文本监督语义分割器。
首先,我们揭示了普通CLIP不如定位和分割,因为它的优化是由密集对齐的视觉和语言表示驱动的。
其次,我们提出了局部驱动对齐(LoDA)来解决这个问题,其中CLIP优化是通过稀疏对齐局部表示来驱动的。
第三,我们提出了一个简单分割(SimSeg)框架。LoDA和SimSeg联合改进了一个普通的CLIP,产生了令人印象深刻的语义分割结果

代码地址
在这里插入图片描述

本文方法

在这里插入图片描述
左:整体对齐,其中图像-文本对比是由整体向量驱动的,例如[CLS]
中间:密集对齐,通过将所有图像patch与所有单词对齐来优化图像文本对比
右:一个基于CLIP的分割器,生成分类分割掩码,使用密集对齐目标进行训练
在这里插入图片描述
上下文是一种统计特性,有助于人们和网络解决感知推理任务[30]。它在图像和文本理解任务中发挥着重要作用[30,32]。
为了更好地描述视觉概念,我们定义了“上下文词”和“非上下文词”。在字幕中,上下文单词(如森林或海洋)指场景、环境等。非上下文单词(例如人、自行车或猫)指主要对象(或前景)。上下文像素和非上下文像素分别表示与上下文单词和非上下文单词相对应的图像区域。
问题1:视觉编码器关注上下文像素。
直观地,用于分割的编码器应该将非上下文像素视为图像的主要内容。
然而,我们的观察表明,CLIP的视觉编码器专注于上下文像素。如图3所示,为“w/o LoDA”行。

sI2I是关于全局图像特征的相似度图。它可以被解释为每个补丁特征对全局特征的贡献。上下文补丁具有较高的相似性(较亮的颜色),而非上下文补丁具有较低的相似性,表示上下文对全局特征的贡献更大。因此,视觉编码器关注上下文像素。
问题2:图文对比依赖于语境词。
一般来说,CLIP的训练是由对比正面和负面的图像-文本对驱动的。一批中的每个图像-文本对都会产生相似性得分,而InfoNCE损失会使正/负对的相似性最大化/最小化。在下面,我们手动替换图片说明中的关键词,观察图像文本相似性的变化,分析CLIP的图像文本对比行为

非语境词对对比的影响。当替换主要对象的单词(例如,“男孩!车”和“鸭子!兔子”)时,相似性图sT 2I几乎没有变化,如图3所示(没有LoDA)。同时,图文相似度得分也几乎没有变化(如“0.457!0.431”)。特别是“树!花”导致相似度得分的非理性上升(0.399到0.403)。因此,CLIP对非上下文单词的修订不敏感,即使是原始单词和修订单词也非常无关。

语境词对对比的影响。当替换上下文单词(例如,“yard!park”和“leaves!buddles”)时,相似性图sT 2I会发生剧烈变化。如图3(w/o LoDA)所示,相似性图变得比原始图暗得多。更重要的是,替换上下文单词会大大降低相似性得分(例如,“0.457!0.310”)。

动机

在这里插入图片描述
用于分割的通用CLIP模型应该自适应地感知主要对象和上下文。如图4(左)所示,并在第3.3节中证明,密集排列像素和单词将导致严重依赖上下文信息的琐碎解决方案。如图4(右)所示,理想的CLIP模型有望将关键实体词(如狗和水)与相应的局部像素(红色和绿色)对齐。如果模型得到充分优化,给定类名,则与该类相对应的像素区域将被强烈激活。防止CLIP的优化使像素和实体密集对齐是一种实用的策略。根据这一想法,我们提出了一种名为位置驱动对齐(LoDA)的策略
在这里插入图片描述
左图:该模型是通过位置驱动对齐(LoDA)与网络图像-文本对进行预训练的。
中间:模型被零样本转换为类别语义分割。
右:分类分割图被堆叠以基于置信度得分生成最终输出。

Locality-Driven Alignment(LoDA)

最大响应选择
为了实现局部驱动对齐(LoDA)训练范式,我们提出了一种称为最大响应选择的特征选择技术。它自适应地选择具有最大响应的局部特征
最大响应选择会自动选择每个通道上具有最大值的特征。这些特征被期望包含关于重要视觉概念和用于图像-文本对比的关键实体的局部信息,而不管上下文和非上下文。

Pre-training objective
与密集排列的紧凑特征f(xI)和g(xT)不同,LoDA旨在稀疏计算VI和VT的对比度损失。VI和VT分别表示来自图像区域和关键字的最大局部响应的特征。因此LoDA实现了最受关注的区域和单词的稀疏排列。更重要的是,LoDA进一步防止了模型在严重依赖上下文像素的情况下进行优化,因为建模上下文需要大量(即>MI)的特征

SimSeg Framework

我们提出了一个简单的分割框架(SimSeg),该框架基于具有LoDA的CLIP。对于每个原始图像,SimSeg首先为每个类别生成二进制分割掩码,然后将它们组合成分割图。
类别语义分割
我们的模型经过预训练,可以预测图像-文本对的感兴趣区域和关键实体词之间的相似性。为了执行零镜头语义分割,我们重用了这一功能。
如图5(中)所示,对于语义分割数据集,我们通过提示将类名转换为句子。一个例子可以是“一张{class}的照片”。
首先,我们通过各自的编码器计算图像和文本特征。由于输入的句子每个都包含一个类名,所以我们设置MT=1。将uT表示为排序后的文本特征g0(xT)的第一个元素,用作查询图像补丁的文本特征。接下来,我们取uT来计算每个图像块特征[f(xT)]k的相似性得分,生成粗略分割掩模。
应用诸如上采样和DenseCRF之类的后处理操作来细化粗略掩模。此外,我们基于uT和VI计算类置信度得分,这与预训练中的机制相同。
组合分类掩码
我们的模型结合了置信类的二进制掩码来产生最终结果,如图5(右)所示。我们计算一个自适应阈值来选择有信心的对象类,而不是使用固定值。我们使用平均值(µ)和标准偏差前半类的相似性分数
高分类的掩码将覆盖得分较低类的掩码,并且未分配给任何对象类的区域被确定为背景类。

实验结果

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

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

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

相关文章

音频转文字工具都有哪些?分享三款好用的录音转文字软件

对于许多人来说,录音已经成为了记录重要信息的常用方法。但是,在实际应用中,往往会遇到如何将这些录音内容转换为文字记录的挑战。这是一个备受关注的问题。那么,录音如何转为文字呢?这篇文章就来给你推荐几个非常好用…

yolov5 的 mAP 和 召回率很低,但是精准率 AP还可以

可能的原因: 标注问题, 检查图片没有txt,导致有正样本的图片,被认为是背景,召回率降低。是否是中文路径, opencv这个cv2.imread不能读取中文图像。 改成这样就行。

预约按摩系统平台开发,常见问题解答

预约按摩平台系统常见问题: 预约流程:按摩系统提供简单易用的预约流程,用户只需要提供必要的信息即可完成预约,同时也可以随时修改或取消预约。 付款方式:按摩系统支持线上和线下支付方式,其中线上支付采用…

使用python-docx在文档中插入图片

在文档中添加图片的方法如下: from docx import Document from docx.shared import Inches, Cmdocument Document() document.add_heading(大标题, 0)# 新建word文档 p document.add_paragraph("下面插入图片:")document.add_picture(test_…

电力监控系统在电力系统中的应用

安科瑞虞佳豪 一年一度高考和中考即将来临,日前,国网咸丰县供电公司积极有序开展保电工作,全面进入“高考保供电”模式。 为全力保障高考期间供电安全,国网咸丰县供电公司将大水线供电线路采取分流运输方式,将除春晖…

IDEA之Mybatis Log Plugin的使用

Mybatis Log Plugin是一个用于记录Mybatis SQL语句执行情况的插件,帮助开发人员方便地追踪和分析Mybatis执行的SQL语句,从而更容易地找出程序中存在的问题和优化SQL语句的性能。 Mybatis Log Plugin可以以日志的形式记录Mybatis执行的SQL语句、执行时间…

win批量取消快速访问固定

win批量取消快速访问固定

Hibernate框架【五】——基本映射——多对多映射

系列文章目录 Hibernate框架【三】——基本映射——一对一映射 Hibernate框架【四】——基本映射——多对一和一对多映射 基本映射——多对多映射 系列文章目录前言一、多对多映射是什么?二、hibernate多对多关联映射(单向)1.实体结构2.示意…

Flink Table/Sql自定义Kudu Sink实战(其它Sink可参考)

目录 1. 背景2. 原理3. 通过Trino创建Kudu表4. FlinkKuduTableSinkProject项目4.1 pom.xml4.2 FlinkKuduTableSinkFactory.scala4.3 META-INF/services4.4 FlinkKuduTableSinkTest.scala测试文件 5. 查看Kudu表数据 1. 背景 使用第三方的org.apache.bahir flink-connector-ku…

​2023年湖北企业人力资源管理师报考条件是什么?启程别告诉你

2023年湖北企业人力资源管理师报考条件是什么?启程别告诉你 2019年国家就取消了企业人力资源管理师国家职业资格考试,现在是改革为职业技能等级认证,由人社部监管的第三方组织机构组织考试和颁发证书,那改革后的企业人力资源管理师…

创建镜像-dockerfile

Docker 镜像的创建 创建镜像有三种方法: 1.基于已有镜像创建、 2.基于本地模板创建 3.基于Dockerfile创建。 基于现有镜像创建 首先启动一个镜像,在容器里做修改 docker create -it centos:7 /bin/bash然后将修改后的容器提交为新的镜像&#xff…

在JavaScript中的数据结构(队列)

文章目录 什么是队列?创建队列新建队列队列可用的方法队列添加元素队列移除元素队列查看元素查看队列头元素检查队列是否为空检查队列的长度打印队列元素 完整队列代码 循环队列优先队列是什么?总结 什么是队列? 当我们在浏览器中打开新标签…

【1483. 树节点的第 K 个祖先】

来源:力扣(LeetCode) 描述: 给你一棵树,树上有 n 个节点,按从 0 到 n-1 编号。树以父节点数组的形式给出,其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。 树节点的第 k 个…

pyecharts使用案例二——全国疫情可视化地图开发

代码 import json from pyecharts.charts import Map from pyecharts.options import *f open("./疫情.txt", "r", encoding"UTF-8") data f.read()f.close()# 取到各省份数据 # 将json字符串转为python字典,反序列化 data_dict json.loads(…

vue3-实战-07-管理后台-属性管理模块开发

目录 1-需求原型分析 2-三级分类全局组件封装 2.1-三级分类组件请求接口和数据类型封装 2.2-组件获取数据渲染数据 3-属性管理列表开发 3.1-请求接口和数据类型封装 3.2-获取数据渲染数据 4-新增编辑属性 4.1-需求原型分析 4.2-新增编辑接口封装和数据类型定义 4.3-…

IDEA在Maven settings.xml失效的情况下反编译代码

在我们日常的工作中有时候会遇到需要调试别人的代码的问题,这个时候别人往往会给你一个jar包,这个包里面的代码都是经过编译的,点击打开函数以后都是后缀是.class的文件,我们调试起来非常不方便,这个时候如果我们想要下…

Vue中如何进行剪贴板操作?

Vue中如何进行剪贴板操作? 在Web应用程序中,剪贴板(Clipboard)操作是非常常见的操作之一。Vue.js是一款流行的JavaScript框架,它提供了一些有用的工具来处理DOM元素和用户界面。本文将介绍如何在Vue.js中使用剪贴板操…

行业拐点已至?解码装备制造企业四大转型方向!

当前,国内外经济形势复杂严峻,不稳定、不确定性因素增多。装备制造业企业面对行业增速放缓、内外部环境变化的挑战,叠加国家政策的鼓励与引导,数字化转型已经成为装备制造企业的迫切需求。 01 装备制造业发展现状(SWOT…

抛售股票提现15亿美元救急,英特尔「下手」Mobileye这颗「摇钱树」

本周,全球半导体巨头英特尔宣布,将出售旗下上市公司Mobileye的部分股权,预计价值约15亿美元,股份将从目前的99.3%降至约98.7%。截止昨天收盘,Mobileye的最新市值约为339.4亿美元(同期,英特尔市值…

VSCode连接远程服务器上docker容器进行代码调试

VSCode连接远程服务器上docker容器进行代码调试 1、本教程默认已经在本地安装完毕VSCode,并且安装ssh2、本教程默认已经在服务器端安装完毕docker与nvidia-docker、ssh服务并自动启动、且容器内安装anaconda3、服务器端创建docker容器,并增加端口映射&am…