【论文阅读】多模态——LSeg

文献基本信息

  • 标题:Language-Driven Semantic Segmentation
  • 作者:Boyi Li、Kilian Q. Weinberger、Serge Belongie、Vladlen Koltun、René Ranftl
  • 单位:Cornell University、University of Copenhagen、Apple、Intel Labs
  • 会议/期刊:ICLR
  • 发表时间:2022年4月3日
  • 代码:https://github.com/isl-org/lang-seg

背景与意义

  • 语义分割可以看做是像素级的分类,因此分类的新技术、新思路,一般可以直接用过来。
  •  本文实现了zero-shot的语义分割,实现方式与CLIP实现zero-shot的方式类似,都是通过类别prompt作为文本输入,然后计算相似度。

  • 给定一张图片,然后通过文本prompt给定任意的类别,从而实现对应的语义分割。
  • 从上图中可以看到,给定了对应的类别prompt:
  1. 对于图中明确出现了的语义类别(如dog、tree),模型能够很清楚地分割出来。
  2. 对于图中没有的类别(如vehicle),模型也不会误召回(容错率高)。
  3. 对于图中有、但是类别prompt没给的类别(如grass),也能正确分类为other。
  4. 同样可以检测类别的子类或父类(如dog、pet),模型也能够通过语义识别出来。
  • 由于CLIP类的模型实质上都是通过计算图文相似度来实现分类或分割的,因此对于“other”类的类别,prompt文本实际可以是任何无意义的文本,如“me”、“a”或“an” 等,只要与目标类别不要太接近即可。

研究方法与创新点

  • 如上图所示,模型整体看来与CLIP模型非常相似,图像先输入图像编码器(DPT ViT+decoder)得到特征向量,再进行一些upscaling,输出图像与原图像大小保持一致,输出再与ground-truth做交叉熵,其中将单个的图像文本特征换成语义分割中逐像素的密集特征
  • 文本编码器提取$N \times C$的文本特征($N$个类别,$C$为特征维度),图像编码器提取$\tilde H \times \tilde W \times C$的密集图像特征(跟原来相比有所降维,比如1/4、1/16),文本-图像二者相乘得到$\tilde H \times \tilde W \times N$的特征,再经过空间规整模块上采样回原图尺寸,完成语义分割,其中$N$$C$$\tilde H$$\tilde W$分别是类别prompt个数(可变)、通道数和特征图的高、宽。除了上面的文本编码器提取的文本特征要与密集图像特征相乘来计算像素级的图文相似度之外,整个网络与传统的有监督网络完全一致
  • 在训练过程中,模型是以有监督的方式进行训练的,也就是说训练过程中是存在标注的分割图的,模型在7个分割数据集上进行训练。
  • 在推理时,可以指定任意个数、任意内容的类别prompt来进行zero-shot的语义分割。
  • 创新:通过在传统的有监督分割模型上加入文本特征,通过特征相乘把文本特征和图像特征结合起来,学到一些languge-aware的特征,在最后就能用文本prompt得到任意的分割效果
  • LSeg整个文本编码器就是CLIP的文本编码器的模型和权重,并且训练、推理全程中都是冻结的;LSeg的图像编码器可以是任何网络(CNN/ViT),需要进行训练。
  • 空间规整模块是本文提出的一个模块,为了在计算完像素级图文相似度后有一些可学习的参数来理解计算结果,由一些卷积逐深度卷积组成。

研究结论

  • 在PASCAL-5、COCO20、FSS-1000上作评价,如PASCAL-5有20类,现在把20类分成4份,每份5类,将其中5类作为已知,其他15类未知,做zero-shot实验。

  • 由上图可知,LSeg在zero-shot的语义分割上确实大幅领先之前方法,但是与few-shot哪怕是one-shot相比,还是有很大的提升空间

  • 由上图可知,LSeg在zero-shot的语义分割上确实大幅领先之前方法,但是与few-shot哪怕是one-shot相比,还是有很大的提升空间

存在的问题

  1. 空间规整层是简单的conv卷积或者DWconv,这一层进一步学习文本图像融合后的特征,理解文本与图像如何交互。消融实验证明,两层空间规整层效果最好,但是四层空间规整层突然就崩了,本文中并没有对此解释原因,因此无法得知空间规整是否是一个稳定有效的技巧。

启发与思考

  1. 图像分类任务图像分割任务很像,无非就是把图像级别的分类转变成像素级别的分类,前者的技术往往都能直接应用到后者。
  2. 提供了一种利用CLIP的新思路,可以单独使用其中的文本或图像编码器,并且也可以用有监督的方式进行训练。

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

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

相关文章

【MySQL基础-1】MySQL 用户管理指南:创建用户、修改密码与权限分配

MySQL 作为广泛使用的关系型数据库管理系统,用户管理和权限分配是其核心功能之一。合理创建用户、修改密码以及分配权限,不仅能保障数据库的安全性,还能有效控制用户的操作范围。本文将详细介绍如何在 MySQL 中创建用户、修改用户密码以及分配…

影刀RPA编码版与流程版解析

影刀RPA编码版是影刀RPA的一个高级版本,它结合了流程版的可视化操作和编码版的强大灵活性,以下是对影刀RPA编码版的详细介绍: 1. 功能对比 流程版: 可视化操作:通过拖拽式流程设计器,用户可以像搭积木一样…

20天 - TCP 和 UDP 有什么区别?说说 TCP 的三次握手?TCP 是用来解决什么问题?

TCP 和 UDP 有什么区别? TCP(传输控制协议)和 UDP(用户数据报协议)都是传输层的网络协议,它们的主要区别如下: 连接方式 TCP:面向连接的协议,类似于打电话&#xff0c…

【MySQL_05】语法简述(是语法,不详细介绍各种语句)

文章目录 一、基本规则二、标识符规则三、数据类型四、运算符五、关键字六、SQL 语句的通用语法结构 历史文章点击👉:SQL 🐈‍⬛github:https://github.com/mysql 💻官网: https://www.mysql.com &#…

JavaScript中的生成器函数详解

在 JavaScript 中,生成器函数 Generator Function 是一种特殊的函数,它允许你在函数执行过程中暂停和恢复。生成器函数通过 function* 语法定义,并使用 yield 关键字来控制函数的执行流程。生成器函数返回一个生成器对象,该对象遵…

计算机网络——交换机

一、什么是交换机? 交换机(Switch)是局域网(LAN)中的核心设备,负责在 数据链路层(OSI第二层)高效转发数据帧。它像一位“智能交通警察”,根据设备的 MAC地址 精准引导数…

Git合并工具在开发中的使用指南

在团队协作开发中,Git 是最常用的版本控制工具,而代码合并(Merge)是多人协作不可避免的环节。当多个开发者同时修改同一文件的相同区域时,Git 无法自动完成合并,此时需要借助合并工具(Merge Too…

实现多语言适配

1.在res下创建多语言资源文件: 2.选择需要的语言 然后得到多种语言适配string文件: 3.代码设置多语言 object LanguageHelper {/*** 获取适配的 Context*/fun getAttachBaseContext(context: Context): Context {return if (Build.VERSION.SDK_INT > …

【学习方法一】

学习方法一 一、通用高效学习法二、学科专项方法三、工具与技术辅助四、习惯与心理策略五、避免常见误区总结六、进阶学习策略七、解决学习痛点八、场景化学习法九、资源与工具推荐十、个性化学习调整十一、长期学习心态十二、常见问题QA十三、应对特殊挑战的学习法十四、健康与…

Golang学习笔记_44——命令模式

Golang学习笔记_41——观察者模式 Golang学习笔记_42——迭代器模式 Golang学习笔记_43——责任链模式 文章目录 一、核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、特点分析三、适用场景1. 事务管理系统2. 多媒体遥控器3. 操作审计系统 四、Go语言实现示例五、高级应用…

应急响应--流量分析

(一)Cobalt Strike流量特征分析 1.HTTP特征 源码特征: 在流量中,通过http协议的url路径,在checksum8解密算法计算后,32位的后门得到的结果是92,64位的后门得到的结果是93,该特征符…

CI/CD—Jenkins配置一次完整的jar自动化发布流程

背景: 实现设想: 要创建自动化发布,需要准备一台测试服务器提前安装好java运行所需的环境,JDK版本最好和Windows开发机器上的版本一致,在Jenkins上配置将构建好的jar上传到测试服务器上,测试服务器自动启动…

创建分区表ORA-14037

1、故障现象 在跑脚本的时候创建物化试图提示分区界限过高 2、解决方法 最终原因是:缺少了 这个 r34411分区,加上就好。 判断是物化视图创建的时候需要兼容所有分区的数据,所以报错,而分区表则不存在这种情况 3、测试验证 分区…

转和git subtree管理方式为git submodule的管理方式

将 Git 子树(subtree)转换为子模块(submodule)的步骤如下: 1. 确定子树的路径和对应的远程仓库地址 找到当前项目中子树的路径以及对应的远程仓库地址。例如,假设子树的路径为 subtree-folder&#xff0c…

基于51单片机多功能防盗报警系统

基于51单片机多功能防盗报警系统( proteus仿真程序设计报告原理图讲解视频) 1. 主要功能:2. 讲解视频:3. 仿真4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单&&下载链接 仿真图proteus8.9及以上 程序编译器:keil 4/…

R语言和RStudio安装

整体还是比较简单的,主要是记录个流程。 官方镜像站列表R语言官网 1 安装R(2025/3/6) R语言官网:The R Project for Statistical Computing 打开之后就Hello world一下吧 配置环境变量 2 安装RStudio 下载地址:htt…

Ubuntu 22.04 升级到 Ubuntu 24.04 全流程指南

📌 1. 前言 Ubuntu 24.04 是最新的 LTS 版本,带来了内核更新、性能优化以及更强的安全性。本指南详细记录了从 Ubuntu 22.04 升级到 24.04 的完整过程,包括 升级前的准备、遇到的问题及如何选择最佳选项,避免升级失败或系统损坏。…

【每日学点HarmonyOS Next知识】Web跨域资源、Web长按菜单、Web拦截请求、禁止录屏、Base64图片宽高

1、HarmonyOS Web组件本地资源跨域问题? 关于资源跨域问题的解决,可以参考以下官网文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-cross-origin-V5 方法一 为了使Web组件能够成功访问跨域资源,开…

数据库查问题常用OS命令汇总

1、内存使用情况查看 top //查看活跃进程占用情况 free -mh //查看操作系统当前可用内存 2、cpu使用情况 lscpu //查看os cpu情况 sar -u -f sar文件名 -s hh:mm:ss -e hh:mm:ss //查看对应日期的历史cpu情况 top //查看当前活跃进程使用cpu情况 3、io情况 iostat …

nlp培训重点-5

1. LoRA微调 loader: # -*- coding: utf-8 -*-import json import re import os import torch import numpy as np from torch.utils.data import Dataset, DataLoader from transformers import BertTokenizer """ 数据加载 """cl…