【论文阅读】TransCAM: Transformer Attention-based CAM Refinement for WSSS

分享一篇阅读的用于弱监督分割的论文

论文标题:

TransCAM: Transformer Attention-based CAM Refinement for Weakly Supervised Semantic Segmentation

作者信息:

在这里插入图片描述

代码地址:

https://github.com/liruiwen/TransCAM

Abstract

大多数现有的WSSS方法都是基于类激活映射(CAM)来生成像素级的伪标签,用于监督训练。但是基于CNN的WSSS方法只是凸出最具有区别性的地方,即CAM部分激活而不是整体对象。作者提出了TransCAM模型,它基于Conforme的backbone结构,利用transformer的attention权重来细化CNN分支的CAM。

Introduction

在这里插入图片描述

现有的方法: 基于CNN训练分类网络的激活CAM,然后训练一个完整的监督网络。
现有方法的缺点:主要是部分激活问题,由类模型生成的CAM倾向于突出对象中最具区别性的部分而不是整体(如图1所示)。作者认为这个根本是CNN造成的,它的局部性质的接受阈只捕获小范围的特征依赖性。(就是说CNN还是感受野小了,偏向Local).
作者的motivation: 和CNN相比,Transformer更加具备整体性,利用多头自注意和多层感知器来捕获远程语义关联。并且Transformer不太注重局部细节信息,这都比较利好WSSS任务。
作者的方法: 使用Conformer作为主干网络(一种结合CNN和Transformer的结构)。原本的Conformer仅仅通过隐形的方式(FCU结构)对transformer分支的注意力权重进行调整,导致WSSS任务表现不佳。作者提出了TransCAM模型,直接利用transformer的注意力权重微调cnn分支生成CAM。另外Transformer也跟CNN类似,低层次block和高层次block各有其特点,具体方法上,作者通过对所有的多头注意力权重值进行平均,进而构建同时embedding低level和高level特征affinity的注意图。

Methodology

在这里插入图片描述

3.1. Preliminaries

The Conformer network: 一个由CNN和trasformer组成的双主干网络(主要结构见figure2红色部分),上方是resnet,下方是vit,中间通过FCU模块继进行连接。
Class Activation Map: 常规的CAM方法,计算公式如下:
在这里插入图片描述

3.2. CAM Generation from Conformer

先通过CNN的分支,获得初始的CAM,记为 M M M
(作者分析了这种CAM比一般的单backbone的强,因为有transformer分支提供的fcn进行隐形的调节,没有充分利用注意权重的特征亲和信息进行定位。

3.3. Attention Map Generation

首先计算第 l l l层transformer block的attention权重,公式如下:
在这里插入图片描述
其实就是Q跟K的点集加上softmax(常规attention计算中,除了v的其他部分),然后在这个基础上,对每个head取平均值,然后再在多个transformer block上也求平均值(浅层block和深层block都一起算)
在这里插入图片描述
同时这里剔除transformer中的cls token,因为后面用不到,即:
在这里插入图片描述

3.4. Attention-based CAM refinement

利用前面计算的attention权重,对初始的CAM进行refine。利用矩阵的乘法即可:
在这里插入图片描述
后面这个操作是reshape,让feature map重塑到相当的尺寸。

3.5 Training and Pseudo Label Generation

模型的分类的logits是由cnn分支和transformer分支共同作用输出的(见figrue2),即:
在这里插入图片描述
模型仅有分类损失函数,计算方法为:
在这里插入图片描述
其余设置和常规的WSSS任务一样,给背景手动设置score:
在这里插入图片描述
使用argmax获得伪标签:
在这里插入图片描述

Experiments

消融实验
在这里插入图片描述
在这里插入图片描述

一阶段的结果:
在这里插入图片描述
二阶段的结果:
在这里插入图片描述

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

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

相关文章

【React】- 组件生命周期连续渲染两次问题

最近在整理生命周期相关的知识内容,然后发现一个奇怪的现象,即组件的生命周期会运行2次!经过确认不是代码问题,于是开始找度娘,终于找到其原因-React中的严格模式,在这里记录一下 一、问题重现 如图所示&a…

EMC学习笔记(十五)射频PCB的EMC设计(二)

射频PCB的EMC设计(二) 1.滤波1.1 电源和控制线的滤波1.2 频率合成器数据线、时钟线、使能线的滤波 2.接地2.1 接地分类2.2 大面积接地2.3 分组就近接地2.4 射频器件接地2.5 接地时应该注意的问题2.6 接地平面的分布 1.滤波 1.1 电源和控制线的滤波 随着…

人工智能自然语言处理:N-gram和TF-IDF模型详解

人工智能自然语言处理:N-gram和TF-IDF模型详解 1.N-gram 模型 N-Gram 是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为 N 的滑动窗口操作,形成了长度是 N 的字节片段序列。 每一个字节片段称为 gram,对所…

SpringBoot 整合redis + Aop防止重复提交 (简易)

1.redis的安装 redis下载 解压 安装 # wget http://download.redis.io/releases/redis-6.0.8.tar.gz # tar xzf redis-6.0.8.tar.gz # cd redis-6.0.8 # make 看一下就会有 进入redis-6.0.8下的src目录 [rootVM-16-8-centos redis]# cd redis-6.0.8 [rootVM-16-8-centos re…

HCIP——HCIA回顾及静态实验

HCIP HCIA一、知识回顾1、OSI七层参考模型:2、重要的几个协议报头格式 二、静态实验1、实验拓扑图2、实验要求3、实验思路4、实验步骤1、给接口划分IP地址以及配置环回地址2、交换机配置划分VLAN3、配置静态路由4、配置DHCP服务5、测试6、优化 HCIA 1、七层参考模型…

51单片机学习--独立按键控制LED

功能&#xff1a;按下K1时D1亮&#xff0c;松开时D1灭&#xff0c;P3_1对应K1 , P2_0对应D1 #include <REGX52.H>void main() {while(1) {if(P3_1 0) //按下K1{P2_0 0;}else{P2_0 1;}}} 按下按钮和松开按钮时会有抖动&#xff0c;所以需要用延时函数来避免抖动造成的…

短视频抖音账号矩阵系统源码开发分享

引用&#xff1a;MySQL数据库&#xff0c;NGINX&#xff0c;PHP7.4&#xff0c;MySQL5.7&#xff0c;redis 媒体组件 组件 描述 image 图片 图片。支持 JPG、PNG、SVG、WEBP、GIF 等格式。 video 视频 视频组件。相关 API 请参考 tt.createVideoContext。 开发背景&…

手机快充协议

高通:QC2.0、QC3.0、QC3.5、QC4.0、QC5.0、 FCP、SCP、AFC、SFCP、 MTKPE1.1/PE2.0/PE3.0、TYPEC、PD2.0、PD3.0/3.1、VOOC 支持 PD3.0/PD2.0 支持 QC3.0/QC2.0 支持 AFC 支持 FCP 支持 PE2.0/PE1.1 联发科的PE&#xff08;Pump Express&#xff09;/PE 支持 SFCP 在PP…

计算机网络——三次握⼿、四次挥手

TCP 三次握手 1、第⼀个SYN报⽂&#xff1a; 客户端随机初始化序列号client_isn&#xff0c;放进TCP⾸部序列号段&#xff0c; 然后把SYN置1。把SYN报⽂发送给服务端&#xff0c;表⽰发起连接&#xff0c; 之后客户端处于SYN-SENT状态。 2、第⼆个报⽂SYNACK报⽂&#xff1a; …

MQTT协议在物联网环境中的应用及代码实现解析(一)

MQTT协议全称是Message Queuing Telemetry Transport&#xff0c;翻译过来就是消息队列遥测传输协议&#xff0c;它是物联网常用的应用层协议&#xff0c;运行在TCP/IP中的应用层中&#xff0c;依赖TCP协议&#xff0c;因此它具有非常高的可靠性&#xff0c;同时它是基于TCP协议…

TCP/IP协议是什么?

78. TCP/IP协议是什么&#xff1f; TCP/IP协议是一组用于互联网通信的网络协议&#xff0c;它定义了数据在网络中的传输方式和规则。作为前端工程师&#xff0c;了解TCP/IP协议对于理解网络通信原理和调试网络问题非常重要。本篇文章将介绍TCP/IP协议的概念、主要组成部分和工…

深度学习 / 数据处理:如何处理偏态数据

1 前言 当我们使用一个线性回归模型时&#xff0c;通常这个模型是在很大假设的前提下才有一个很好的结果&#xff1a; 1、假设预测因子和预测目标之间的关系是线性的2、数据不存在外在噪声&#xff1a;不存在一些极端的数据3、非共线性&#xff08; collinearity&#xff09;…

新增进程管理、SSH会话管理功能,1Panel开源面板v1.4.0发布

2023年7月17日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.4.0版本。 在这个版本中&#xff0c;1Panel新增了进程管理和SSH会话管理功能&#xff1b;支持容器编辑和升级&#xff0c;数据库兼容MySQL 5.6&#xff1b;备份账号可以添加微软OneDrive&…

github简单使用

留个链接等着吃灰 链接github的使用 举例 先选择需要上传的文件夹 比如db -main文件夹 gitbash 打开shell 进行如下的操作 一般都得写的东西 git init git remote add origin 想要上传的地址 git pull 将远程库拉过来 如果远程没有文件的话 那么shell就显示没有文件 git …

【Vue】 在 vue 中使用 iframe 挂载 html 文件

文章目录 首先需要将要挂载的html文件放到public 文件夹中 路径的引用形式 <iframe ref"sheet" src"/luckysheet.html" width"100%" height"100%"></iframe>通过绑定 ref 获取到 iframe&#xff0c;data为我需要传递的数…

Vscode自定义注释模板

首先安装插件Doxygen Documentation Generator&#xff0c;安装完成之后点击Doxygen插件的设置&#xff0c;按照下面的步骤打开settings.json进行编辑&#xff1a; 在settings.json中追加如下代码&#xff1a; "doxdocgen.file.copyrightTag": ["Copyright (C),…

Python一行命令搭建HTTP服务器并外网访问+-+内网穿透

文章目录 1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试 3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 转载自远程内网穿透的文章&#xff1a;【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透…

FlinkCDC第四部分-同步mysql到mysql,ctrl就完事~(flink版本1.17.1)

本文介绍了不同源单表-单表同步&#xff0c;不同源多表-单表同步。 注&#xff1a;此版本支持火焰图 Flink版本&#xff1a;1.17.1 环境&#xff1a;Linux CentOS 7.0、jdk1.8 基础文件&#xff1a; flink-1.17.1-bin-scala_2.12.tgz、 flink-connector-jdbc-3.0.0-1.16.…

人工智能与Chat GPT

一本书全面掌握ChatGPT&#xff0c;既有向ChatGPT提问的技巧&#xff0c; 也有构建自己的ChatGPT模型的方法&#xff0c;涵盖开发背景、关联技术、使用方法、应用形式、实用案例等 人工智能是我们这个时代最热门的话题&#xff0c;人们既希望它能代替我们做一些工作&#xff0c…

云原生——Docker容器化实战

❄️作者介绍&#xff1a;奇妙的大歪❄️ &#x1f380;个人名言&#xff1a;但行前路&#xff0c;不负韶华&#xff01;&#x1f380; &#x1f43d;个人简介&#xff1a;云计算网络运维专业人员&#x1f43d; 前言 "Docker"一词指代了多个概念&#xff0c;包括开源…