【论文阅读】MCTformer+:弱监督语义分割的多类令牌转换器

news2024/9/21 4:31:31

【论文阅读】MCTformer+:弱监督语义分割的多类令牌转换器

文章目录

  • 【论文阅读】MCTformer+:弱监督语义分割的多类令牌转换器
    • 一、介绍
      • 1.1 WSSS背景
      • 1.2 WSSS策略
    • 二、联系工作
      • 2.1 弱监督语义分割
      • 2.2 transformers的可视化应用
    • 三、MULTI-CLASS TOKEN TRANSFORMER
      • 3.1 Multi-class token structure design
      • 3.2 阶级的训练
      • 3.3 The integration of CAM
      • 3.4 全局加权排名池
      • 3.5 Contrastive class token增强
      • 3.6 特定于class的定位推理
    • 四、实验

MCTformer+: Multi-Class Token Transformer for Weakly Supervised Semantic Segmentation

  

针对弱监督语义分割(WSSS),提出了一种新的基于变换的框架来生成精确的类特定对象定位图

利用标准VIT中one-class token的参与区域可以生成与class-agnostic localization maps的洞察力

  

引入了对比类令牌(CCT)模块来增强判别类令牌的学习

有效地从与不同类令牌相关的类到补丁关注生成类判别对象定位映射

利用从patch到patch转换器的注意力衍生出来的patch级成对亲和力

结果强调了class token对WSSS的重要性

  

一、介绍

1.1 WSSS背景

传统的语义分割方法通常依赖于精确标注的像素级标签

  

弱监督语义分割(WSSS)方法是在弱监督的前提下运行的,这涉及到使用更容易获得但更不精确的注释形式
  
尽量减少对像素级注释的需求

  • 图像标签
  • 涂鸦
  • 边界框

  

弱注释仅提供关于图像中对象或类的空间范围的有限信息,而没有指定每个区域的确切边界

WSSS任务的一个重要方面涉及到利用弱标签生成高质量的伪语义掩码

  

依赖卷积神经网络CNN的类激活映射CAM

CAM技术只能提供粗糙和不精确的类特定的密集定位图

  

WSSS技术采用了各种算法和策略包括:

  • 额外的线索和先验
  • 如上下文信息
  • 并发统计数据或类之间的关系
  • 从弱注释中推断像素级分割掩码

  

弱标签中的歧义和噪声,以及CNN架构固有的问题例如,有限的接受域,可能导致不完美的伪真语义掩码

  

  • VIT是为计算机视觉量身定制的开创性变压器模型
  • ViT通过利用其捕获广泛上下文信息的特殊能力,在大规模图像识别方面取得了显着的成功
  • ViT有助于在补丁之间建立有意义的连接,捕获图像中的依赖关系和关系

  

1.2 WSSS策略

ViT的一个特殊之处在于它利用了一个额外的class token,它整合了来自整个patch token序列的信息。虽然一些转换器方法省略了class token

class token关注可以发现语义场景布局

  

但将头部准确地链接到语义类的方法仍然不确定

single class token阻碍了变形器在单个图像中定位各种class的能力

  

single class token特性:

  • single class token的存在本质上允许学习包含各种类和背景背景的多种图像信息组合
  • single class token缺乏有效建模数据集中多个不同类别的patch的复杂关系的能力,导致不同对象的不精确定位

  

为了解决这些限制,一个简单的解决方案涉及使用多个class token,每个class token都用于学习特定类的表示

仅仅增加ViT中的类令牌数量并不会赋予它们特定的含义

直接使用每个class token和patch token之间的学习注意作为不同对象类别的类特定定位映射

  

patch token之间学习的转换器注意本质上产生patch-level pairwise affinity

通过对同一个分类目标的多个class token和patch token的联合学习,实现了它们之间的强对齐,大大增强了生成的定位图的分类判别能力。

  

提出了MCTformer+:

  1. 为了增强class-to-patch transformer map的类判别能力,在输出类令牌上引入了额外的正则化损失
  2. 正则化损失确保类令牌彼此不同,迫使它们关注不同的补丁令牌
  3. 引入了使用全局加权排名池来代替全局平均池
  4. 提出了一个class感知的训练策略和一个对比的class token模块
  5. 从每个class token和patch token之间的转换器注意中提取特定于类的本地化映射

在这里插入图片描述

  

二、联系工作

  

2.1 弱监督语义分割

CAM作为一种经典的弱监督对象定位方法,在现有的WSSS工作中被广泛采用

CAM无法生成完整的目标区域和精确的目标边界

提出了特定的分割损失函数[13]、[14]、[15]、[16]来处理分割监督不足的问题

增强CAM map,为语义分割提供高质量的监督
  

高质量CAM生成:

一种常见的解决方案涉及引入更大的挑战来实现分类目标

一些作品通过引入更细粒度的类别,将任务推进到更具挑战性的分类目标

为了解决标准图像分类目标损失函数不能保证发现完整目标区域的局限性,一些研究提出了正则化损失

传统图像分类cnn的局部接受域阻碍了判别信息的传播,并提出结合多尺度扩展卷积来获得更完整的定位图
  

学习类表示:

分类器的类相关权重和图像特征之间的逐像素关联来生成特定于每个类的定位映射

类相关的权重可以看作是类表示或类中心
  

  • 图像特定CAM (IS-CAM)等人被提出学习图像特定原型以捕获这些像素级语义相关性
  • 将CAM分数在前K置信度范围内的像素特征进行聚合,构建类原型
  • 该方法通过设计多个类标记来显式学习类表示
  • 类标记和来自不同层的patch token之间的转换注意表示不同语义级别的类到像素的相关性

  

面向CAM细化的亲和学习:

成对语义亲和学习的方法,用于CAM图的细化

CAMderived affinity伪标签学习相邻像素之间逐像素亲和力的方法。利用学习到的亲和力进行随机游走,实现CAM的传播
  

  • 利用由自信分割预测生成的亲和伪标签
  • 多任务特征亲和力也在一个弱监督框架中进行了研究
  • 利用语义分割伪标签派生的亲和力伪标签,基于补丁之间的转换注意力来预测亲和力
  • 提出了基于类感知注意力的亲和关系

  

MCTformer是第一个利用特定类别的变压器注意进行判别定位的工作

MCTformer+进一步提高了类特定定位性能

  

2.2 transformers的可视化应用

Transformers最初是为处理NLP任务中的顺序数据而开发

基于Transformers的先锋视觉模型是ViT[11],它对图像patch进行操作

自关注模块是ViT的核心组件,它允许每个patch与图像中的所有其他patch进行交互

  

TS-CAM[45]将CAM模块集成到ViT中,实现了ViT内的分类区分定位

所提出的MCTformer利用特定类别的变压器注意力进行判别定位

MCTformer利用特定类别的变压器注意力进行判别定位。这被证明是CAM机制更有效的补充
  

ViTs for WSSS

MCTformer和AFA是最早使用vit进行WSSS的两个作品

  • MCTformer引入了多个class token学习,从每个类令牌和补丁令牌之间的转换注意中利用类特定的定位信息
  • AFA[40]侧重于利用补丁令牌之间的自关注来预测语义亲和力
  • ToCo,它通过在两两patch tokrn相似度方面加强来自不同层的CAM映射的一致性

  

三、MULTI-CLASS TOKEN TRANSFORMER

我们提出了一种新的MULTI-CLASS TOKEN TRANSFORMER框架,利用特定于类的转换器关注进行WSSS的区分对象定位

MCTformer的整体架构

在这里插入图片描述

组成:

  • 变压器编码器
  • 类激活(CAM)模块

  

一个token class的标准VIT不同,提议的MCTformer配备了多个token class

指导每个patch tokrn使用patch token学习特定于类的注意
  

成分:

  • CAM模块可以使用patch token生成额外的类激活映射
  • 传统CAM模块中使用全局加权排序池而不是全局平均池
  • 提出了一个对比类标记模块,该模块插入到变压器编码器中
      

可以融合来自transformer注意和CAM模块的两种类型的映射
  

在这里插入图片描述

  

3.1 Multi-class token structure design

RGB图像被分割成N × N个小块。这些patch经过矢量化并线性投影成一系列patch token

  • Tp∈RM×D,其中D为嵌入维数,M = N2
  • 提出学习多个类令牌Tc∈RC×D,其中C表示类的个数
  • 生成的token Tin∈R(C+M)×D用作变压器编码器的输入,该编码器由一系列L编码层组成

  

每个MHA模块中,使用自关注机制来学习令牌之间的成对交互。作为输入,标记序列首先被归一化,然后线性投影到三个向量序列

这个关注模块通过基于特定的关注权重动态聚合来自所有token的信息来更新每个token

在这里插入图片描述
  
使用转换器自关注来提取和细化WSSS特定类的定位映射

在这里插入图片描述
  

3.2 阶级的训练

传统的transformer在最终输出类别token上应用MLP头来预测类别分数

目标是确保每个token patch捕获唯一的、有区别的类相关信息
在这里插入图片描述

  

class token和真实图像级标签之间计算多标签软边际损失

在这里插入图片描述

  

每个class token提供了直接的类感知监督,使它们能够有效地封装特定于类的信息

  

3.3 The integration of CAM

Tout∈R(C+M)×DS的输出令牌

提取patch令牌Tout pat∈RM×D

2D特征映射,记为Fout pat∈RN×N×C

  
全局平均池(GAP)层处理这些特征映射以生成class token
在这里插入图片描述

  

MCTformer引入了一种有效的基于变压器的框架

自class token和patch token的类预测应用分类损失

这产生了更多的类别区分Patch CAM map

  

3.4 全局加权排名池

CAM[6]提出使用Global Average Pooling (GAP)使CNN仅使用图像级标签就具有定位能力

Kolesnikov等揭示了传统的全局池化技术有其缺点

在这里插入图片描述

  • Global Average Pooling (GAP)鼓励模型在所有位置上都有高响应
  • Global Max Pooling (GMP)鼓励模型只在一个位置上有高响应
  • GAP和GMP对目标区域大小的高估和低估

我们将全局加权排名池(GWRP)方法引入到transformer框架中,以聚合Patch class以进行类别预测

GWRP根据每个通道所有Patch 的激活排名来分配不同的权重

  

在这里插入图片描述

  

  • G(F)∈rc表示最终的汇总结果,即类预测
  • P∈RN2×C表示对由输出patch令牌导出的2D特征映射执行逐通道矢量化的输出
  • rj表示排序指标
  • λ为衰减率
      

GWRP策略允许模型优先考虑更多信息的补丁,确保它们对最终的全局类分数做出更大的贡献

在这里插入图片描述

  

3.5 Contrastive class token增强

虽然类感知训练策略使不同的类令牌能够关注不同的对象区域

同一图像中出现的不同类的最终类到class-to-patch transformer注意映射通常包含重叠的局部对象区域

  

  • 通过聚合每个类令牌嵌入来实现对类分数的多标签一对全损失的利用,并不能严格确保不同class token之间的区别
  • 由于只对最高级别的输出类令牌施加损失,这种损失的影响主要限于网络的最后几层
      

为了获得不同且不重叠的class-to-patch transformer attention maps

提出了一个具有正则化损失的对比类令牌(CCT)模块

在这里插入图片描述

操作:

  1. 给定从第i个转换器编码层输出的类令牌Ti out cls∈RC×D
  2. 计算每两个类令牌之间的成对相似度,形成相似度矩阵S i∈RD×D
  3. 相似性矩阵和单位矩阵I∈R D×D之间计算交叉熵损失
  4. 对比损失强加在每个转换器编码块的输出类令牌上

  

  • 模型能够获得更强、更频繁的指导
  • 从而在整个网络中学习更具判别性和类特异性的表示
  • 助于提高定位性能
  • 减少由重叠的注意区域引起的歧义
      

在这里插入图片描述

  

3.6 特定于class的定位推理

特定于class的Mul-token注意

  • 前C行表示每个C类和所有标记之间的注意力得分
  • 注意力分数映射回各自的原始patch位置
  • 每个变压器层都有其class到patch的注意映射
      

较深的(顶层)层捕获更多特定于任务的高级表示,而较浅的(底层)层捕获更一般的低级表示

在这里插入图片描述

K个转换器编码层的类到补丁关注结合起来

  

Map fusion

由于将CAM模块集成到所提出的框架中,我们还可以从Patch token表示为Patch CAM, 中提取特定于类的定位映射

从CAM模块的卷积层得到PatchCAM映射

改进后的类特定 本地化mapA可以通过以下两种map类型的组合获得

  
在这里插入图片描述

Map refinement

以往的研究[37]、[38]、[39]经常利用成对亲和力来增强目标定位图。

学习亲和力训练额外的参数。

相比之下,我们的方法引入了一种新的技术,其中两两亲和映射直接从patch之间的变压器注意力中获得,而不需要任何额外的计算或监督

我们将patch-to-patch的关注重新格式化为4D张量
  

在这里插入图片描述

  

Aref∈RC×N×N是细化的融合类特定的定位图

利用patch-to-patch的注意力作为两两亲和力,可以得到更好的类特异性定位图,增强了外观的连续性和平滑性

  

四、实验

PASCAL VOC 2012、MS COCO 2014和OpenImages三个数据集对所提出的方法进行评估

伪标签精度

  
在这里插入图片描述
  
分割结果精度

在这里插入图片描述

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

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

相关文章

书生浦语-大模型平台学习-环境搭建01

任务:完成SSH连接与端口映射并运行hello_world.py 详细步骤详见:https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Linux/readme.md 1、InternStudio介绍 InternStudio 是大模型时代下的云端算力平台。基于 InternLM 组织下的诸多算法库支持…

超算网络体系架构-资源层-平台层-服务层-应用层

目录 超算网络体系架构 我国超算基础设施 超算互联网相关标准研制方面 技术架构 资源层 基础资源 芯片多样 体系异构 高效存储 高速互连 资源池化 可隔离 可计量 互联网络 高带宽 低时延 高安全 平台层 算力接入 资源管理 算力调度 用户管理 交易管理 模…

FLYFLOW:ANT DESIGN VUE3 版本璀璨问世

FlyFlow 介绍 官网地址:www.flyflow.cc Element Plus 演示网址:pro.flyflow.cc Ant Design 演示网址:ant.flyflow.cc 经过作者几个星期夜以继日的辛勤耕耘与不懈探索,FlyFlow 工作流框架的 AntDesign 版本终于璀璨问世&#x…

【数据结构】深入理解Floyd最短路径算法:全面解析及Python实现

文章目录 一、Floyd-Warshall算法简介二、Floyd-Warshall算法的数学表述三、Floyd-Warshall算法的Python实现四、Floyd-Warshall算法的应用场景五、Floyd-Warshall算法的优缺点六、优化与改进七、总结 Floyd-Warshall算法是一种用于解决加权图中最短路径问题的经典算法。该算法…

每日一题,力扣leetcode Hot100之49. 字母异位词分组

该题用哈希表解答,具有统一特征的作为哈希表的键名,然后满足要求的作为值 解法一: 我们将每个字符串进行排序,如果排序后的结果相同,则可以认为是字母异位词,我们将排序后的结果作为哈希表的key&#xff…

2024嘶吼网络安全产业图谱(高清完整版)

在数字化和智能化浪潮的推动下,网络安全产业正处于一个快速变革的时期。从传统的防御手段和被动的威胁应对,到如今主动预防和智能检测技术的普及,网络安全领域的焦点和需求正不断演进。为了更好的理解当前网络安全产业现状和未来发展方向&…

ubuntu安装carla9.14及carla使用记录

ubuntu18和20都可以很好的运行。不过配置需要注意一些问题罢了,我个人比较习惯20,所以就主要从ubuntu20来说。 首先听说是最好自己使用一个新的python环境来用,那就先去下载anaconda,直接去清华源下载快一些: https://…

CentOS快速安装Docker(腾讯镜像源)

这里是引用"> 1、卸载旧版本的 Docker yum list installed | grep docker yum -y remove docker-ce-cli.x86_64 yum -y remove docker-ce.x86_64 yum -y remove containerd.io2、安装相关依赖 yum install -y yum-utils device-mapper-persistent-data lvm23、添加 …

js基础-小数计算,并转换成带两位的百分比

小数计算,并转换成带两位的百分比 1、需求说明2、执行过程2.1 计算 s12.2 计算 s2 1、需求说明 在工作中,有时需要将计算的小数转换成百分比小数,但是在js代码中,计算公式一点点的区别就会影响到最终的结果,如下面代码…

下载仓颉sdk安装时遇到“无法运行”问题

图1. 社区地址:GitCode - 全球开发者的开源社区,开源代码托管平台 在GitCode社区中下载Cangjie-0.53.4-windows_x64的sdk后,双击安装时遇到“此应用无法在你的电脑上运行的问题” 经过反复排查后,确定是sdk直接下载有问题;‘需要…

《电脑与电信》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《电脑与电信》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《电脑与电信》级别? 答:省级。主管单位:广东省科学技术厅 主办单位&#xff1a…

解决C#读取US7ASCII字符集oracle数据库的中文乱码

👨 作者简介:大家好,我是Taro,全栈领域创作者 ✒️ 个人主页:唐璜Taro 🚀 支持我:点赞👍📝 评论 ⭐️收藏 文章目录 前言一、解决方法二、安装System.Data.OleDb连接库三…

vue 实现下拉框的数据是树状结构

页面显示效果 vue实现代码 <el-form-item label"公司名称" prop"comName"><el-select ref"select" v-model"queryParams.comName" placeholder"请选择公司名称" clearable size"small"change"handl…

FastAPI 学习之路(五十)WebSockets(六)聊天室完善

我们这次只是对于之前的功能做下优化&#xff0c;顺便利用下之前的操作数据的接口&#xff0c;使用下数据库的练习。 在聊天里会有一个上线的概念。上线要通知大家&#xff0c;下线也要通知大家谁离开了&#xff0c;基于此功能我们完善下代码。 首先&#xff0c;我们的登录用…

昇思25天学习打卡营第二天|初学入门/初学教程/03-张量

心得 补充一些基本知识帮助理解张量这个比较理论的概念&#xff1a; 张量&#xff08;tensor&#xff09;理论是数学的一个分支学科&#xff0c;在力学中有重要应用。张量这一术语起源于力学&#xff0c;它最初是用来表示弹性介质中各点应力状态的&#xff0c;后来张量理论发…

《后端程序员 · Nacos 常见配置 · 第一弹》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

windows系统安装nacos

1、github下载nacos并解压。 https://github.com/alibaba/nacos 2、启动nacos: 进入bin目录&#xff0c;打开命令行,然后输入命令&#xff1a; startup.cmd -m standalone2.1 如何直接启动 修改bin目录下的startup.cmd启动文件&#xff0c;修改为&#xff1a;MODE“standalone…

Jenkins安装nodeJs环境

首先插件市场安装nodeJS插件&#xff0c;我这里已经安装了&#xff0c;没安装的话在 Available plugins 中搜索安装 安装完成后需要下载需要的nodejs版本 新增完成就可以在构建的时候选择当前版本号了

Kafka Producer发送消息流程之分区器和数据收集器

文章目录 1. Partitioner分区器2. 自定义分区器3. RecordAccumulator数据收集器 1. Partitioner分区器 clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java&#xff0c;中doSend方法&#xff0c;记录了生产者将消息发送的流程&#xff0c;其中有一步…

Mongodb数组字段索引之多键索引

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第92篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…