《Token Contrast for Weakly-Supervised Semantic Segmentation》CVPR2023

news2024/11/14 8:21:58

摘要(Abstract): 在弱监督语义分割(WSSS)中,传统方法通常使用类激活映射(CAM)生成伪标签,但受限于卷积神经网络(CNN)的局部结构感知能力,往往难以识别完整的对象区域。尽管最近的研究表明,视觉Transformer(ViT)可以弥补这一缺陷,但作者观察到ViT也带来了过度平滑问题,即最终的patch tokens趋于一致。为了解决这个问题,本文提出了Token Contrast(ToCo)方法,通过探索ViT在WSSS中的优势。首先,作者设计了一个Patch Token Contrast(PTC)模块,通过使用来自中间层的伪token关系来监督最终的patch tokens,使它们能够对齐语义区域,从而生成更准确的CAM。其次,为了进一步区分CAM中的低置信度区域,作者提出了一个Class Token Contrast(CTC)模块,该模块受到ViT中类token能够捕获高级语义的启发,通过对比它们的类token来促进不确定局部区域与全局对象之间的表示一致性。在PASCAL VOC和MS COCO数据集上的实验表明,所提出的ToCo方法可以显著超越其他单阶段竞争对手,并与最先进的多阶段方法相媲美。

拟解决的问题

  • WSSS中使用图像级标签时,CAM通常只能识别最具区分性的语义区域,导致最终的语义分割性能严重下降。
  • CNN的局部特征感知限制了CAM的完整性。
  • ViT虽然能够建模全局特征交互,但存在过度平滑问题,导致不同patch tokens的表示趋于一致。

创新之处

  1. 提出了Patch Token Contrast(PTC)模块,利用中间层的知识来监督最终的patch tokens,解决过度平滑问题。
  2. 设计了Class Token Contrast(CTC)模块,通过对比局部和全局图像的类token,促进局部与全局对象的表示一致性。
  3. 将ToCo方法集成到单阶段WSSS框架中,无需对ViT架构进行修改,即可解决过度平滑问题。

效果对比:

方法论

前置知识

类激活映射(CAM)

CAM被提议在分类网络预测图像时识别激活区域。由于其功效和简单性,CAM 已被广泛用于为 WSSS 生成初始伪标签。具体来说,给定图像,其特征图 F 使用分类网络 (CNN 或 ViT) 提取,CAM 是通过在分类层中使用权重 W 对特征图进行加权和求和来计算的,其中 c 是语义类的数量。然后将relu函数和最大归一化应用于消除负激活,并将CAM缩放到[0,1]。因此,类 c 的 CAM 计算如下:

符号定义:

公式的工作流程

  1. 逐通道加权:对于特征图 𝐹F 的每个通道,将其像素值 𝐹:,𝑖 与对应的权重 𝑊𝑐,𝑖 相乘。这是逐元素的乘法操作。
  2. 求和:将加权后的所有通道的像素值求和,得到一个二维的激活图,其尺寸与 𝐹F 的空间维度相同,即 ℎ×𝑤。
  3. 应用ReLU激活函数:通过ReLU函数处理求和后的结果,将所有负值置为0,这有助于突出显示正的激活区域。

通常,会设置一个背景阈值来区分前景和背景区域,从而得到最终的分割结果。

 过渡平滑

在 Vision Transformer 中,over-smoothing 是一个挑战,指的是在多个 Transformer encoder 层之后,不同 tokens 的特征表示趋于一致,导致它们之间的差异性减少。这种现象的原因可能包括:

  1. 自注意力机制: MHSA 作为一种低通滤波器,倾向于平滑输入特征,减少高频(细节)信息。
  2. 多头注意力的堆叠: 连续的 MHSA 层相当于多次执行空间平滑操作,进一步加剧了特征的同质化。
  3. Patch Size: 使用较大的 patch size 可以减少 over-smoothing,但这会降低模型对局部细节的敏感性。
  4. 模型深度: 较深的 Transformer 模型可能会更加显著地表现出 over-smoothing 现象。

为了解决 over-smoothing 问题,研究人员提出了多种方法,例如:

  • 调整 Transformer 架构: 例如,通过引入新的注意力模式或修改 MHSA 来减少平滑效果。
  • 使用残差连接: 在 Transformer 层中添加残差连接可以帮助保留更多的局部特征。
  • 深度监督: 在多个阶段对模型的中间表示进行监督,以鼓励学习更多样化的特征。
  • Patch Diversity: 通过增加 patch 之间的多样性来减少特征的同质化。

 论文方法

ToCo方法利用Vision Transformer(ViT)作为主干网络,并在其中集成了两个关键模块:Patch Token Contrast(PTC)和Class Token Contrast(CTC)。整体框架的目标是生成高质量的伪标签,以用于训练语义分割模型。

Patch Token Contrast(PTC)模块

PTC模块的目的是解决ViT中的过度平滑问题。它通过以下步骤实现:

  • 中间层特征利用:选择ViT中间层的输出作为辅助特征,记为F^{m}\in R^{n\times d},其中 𝑛 是token数量,𝑑 是特征维度。

  • 辅助CAM生成:在辅助特征上添加辅助分类头,通过全局最大池化(GMP)和全连接层 \theta ^{m}​ 计算辅助分类损失 L_{cls}^{m},并生成辅助:

  • 伪token标签生成:使用两个背景阈值 \beta _{l}\beta _{h}​ 将 M^{m}​ 分割为伪token标签 Y^{m}​。

  • Patch Token Contrast Loss(Lptc)

其中,CosSim(⋅,⋅)计算两个向量的余弦相似度,N^{+}​ 和 N^{-} 分别是正样本对和负样本对的数量。

Class Token Contrast(CTC)模块

CTC模块旨在区分CAM中的不确定区域,通过以下步骤实现:

  • 局部图像裁剪:从不确定区域随机裁剪局部图像。

  • 类token表示对比:将全局类token和局部图像的类token通过投影头 P_{g}​ 和 P_{l} 投影,然后使用InfoNCE损失来最小化(最大化)它们之间的表示差异。

  • Class Token Contrast Loss(Lctc)

其中,𝑝 是投影后的全局类token,Q^{+}​ 和 Q^{-} 分别是从不确定区域和背景区域裁剪的局部图像的投影类token集合,𝜏 是温度参数,𝜖 是稳定项。

ToCo的训练目标(Training Objective)

最小化损失函数:

 其中L_{cls}​ 是最终分类层的损失,L_{m}^{cls} 是辅助分类层的损失。

结论

ToCo方法通过解决ViT的过度平滑问题,并进一步利用ViT的优势,显著提高了WSSS的性能。在PASCAL VOC和MS COCO数据集上的实验结果表明,ToCo能够生成更准确、更完整的CAM,并且与最先进的多阶段方法相比具有可比的性能。

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

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

相关文章

深入分析 Android ContentProvider (十二)

文章目录 深入分析 Android ContentProvider (十二)Android 中 ContentProvider 的系统代码分析(续)1. ContentProvider 的内部实现机制1.1. ContentProvider 的创建与生命周期管理1.2. ContentProvider 的数据访问与处理1.3. ContentProvider 的权限管理…

Node Red 与axios简易测试环境的搭建

为了学习在vue3中如何使用axios,我借Sider Fusion的帮助搭建了基于node的简易测试环境。 Axios 是一个基于 Promise 的 HTTP 客户端,通常用于浏览器环境,但它也可以在 Node.js 环境中使用。因此,可以在 Ubuntu 的 Bash 环境下通过…

NPDP|传统行业产品大神都是怎样管理产品的?

在传统行业中,产品管理不仅是技术的较量,更是策略、洞察力和执行力的综合体现。那些被誉为“产品大神”的经理们,他们如何管理产品,使其在市场上脱颖而出,成为行业内的佼佼者?本文将探讨他们的一些关键管理…

触发邮件接口如何与现有CRM系统无缝集成?

触发邮件接口的性能优化策略?如何设计高效的API接口? 随着企业对自动化和个性化沟通需求的增加,触发邮件接口的集成变得尤为重要。AokSend将探讨触发邮件接口如何与现有CRM系统无缝集成,以及这种集成带来的优势和挑战。 触发邮件…

c语言第七天笔记

作业题: 设计TVM(地铁自动售票机)机软件。 输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。 输入钱数,计算找零(找零时优先找回面额大的钞票)&#xff0…

与树莓派的“黄金”关系,是如何帮助这家医疗设备公司扩大规模

稳定的供应和与Raspberry Pi的“黄金”关系帮助医疗设备公司进行了规模扩张 埃及医疗设备制造商Bio Business需要将物联网功能集成到其成功的患者监测设备系列中。Raspberry Pi技术使他们得以实现。 解决方案 RP2040 Compute Module 4 企业规模 中小企业 行业 医疗技术 …

springbootJZ车行系统-计算机毕业设计源码93812

目 录 摘 要 1 绪论 1.1 研究背景与意义 1.2开发现状 1.3论文结构与章节安排 2 系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4 系统流…

Java语聊大厅语音聊天小程序系统源码

语聊大厅语音聊天小程序:遇见声音的温暖角落 🎧 【初识语聊大厅,声音的奇妙邂逅】 在这个快节奏的时代,你是否渴望一份不被视线束缚的真诚交流?语聊大厅语音聊天小程序,就是你我之间最温柔的桥梁。轻轻一…

禅道项目管理软件安装教程

一、禅道软件简介 禅道项目管理软件是一款国产开源项目管理软件。它集项目集管理、产品管理、项目管理、质量管理、DevOps、知识库、BI效能、工作流、学堂、反馈管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的…

提升Windows录屏体验:3款顶级电脑录屏软件推荐!

Hey!伙伴们,是不是有时候会觉得需要录屏呢?比如做个教学视频啦、直播玩游戏啦,或者是把重要的会议内容记录下来。这时候有一款好的电脑录屏软件简直不要太棒!作为你们身边的科技小能手,今天我就来给大家安利…

vue2前端监听usb

在 Vue2 前端应用中监听 USB 设备的插入和拔出事件,可以使用浏览器提供的 WebUSB API。这需要运行在支持 WebUSB API 的浏览器上,并且用户需要授予相应的权限。 以下是一个示例,展示如何在 Vue2 项目中监听 USB 设备的插入和拔出事件。 1. …

【practise】string_atoi

今天来分享一道比较平常的练习题,说实话我自己写了半天,自己写的很烂最后还是看的答案… 1.题目概要 题目链接:LINK 2.题目难点 这个题目有两个难点,如下: 拿到了全部都是数字字符的字符串,怎么将这个…

新160个crackme - 019-Acid Bytes.3

运行分析 需要破解Name和Serial PE分析 upx壳 linux系统:upx -d CrackMe3.exe 脱壳发现是Delphi系统,32位 静态分析&动态调试 找到关键字符串,进入关键函数 静态分析,发现了Name和Serial明文 验证成功

深入理解 Git `git add -p` 命令中的交互选项

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

2 路模拟量转 Lora模块(开关量,0-10V,4-20ma)

一、功能概述 本产品是一款无线中继器,将 0~ 10V 电压信号转为无线信号, 通过无线方式远传,实现远程通信功能。采用 Lora 无线通信技术, 工作中心频率 433M,空旷传输距离 7000 米。点对点电流远传,用无 线…

智慧工厂数字孪生解决方案

项目背景 随着工业自动化和智能化的不断深入,智慧工厂正成为制造业的新标杆。数字孪生技术作为智慧工厂的核心,通过物理模型、传感器更新、运行历史等数据的集成,实现对现实世界的映射,反映实体装备的全生命周期过程。 方案简介 …

Nacos在Docker上单机模式部署

文章目录 前言一、Nacos二、单机Docker部署 前言 Nacos是阿里巴巴开源的一款用于动态服务发现、配置管理和服务管理的平台。它是“Dynamic Naming and Configuration Service”的缩写,旨在帮助用户实现微服务架构中的服务注册与发现、配置管理、动态DNS服务等功能。…

【一文了解大数据及数据要素,浅说隐私计算、联邦学习】

大数据 不等于 数据要素 大数据:大数据指的是体量巨大、增长迅速且结构复杂的数据集合。传统的数据处理工具无法有效存储和分析这些数据。大数据的处理涉及新的技术和方法,以提取有用的信息和知识。 数据作为新型生产要素,是数字化、网络化、…

C语言bsearch函数

目录 开头1.什么是bsearch函数2.bsearch函数的第五个参数的写法3.bsearch函数的实际运用有序数组查询有序字符串查询有序二维字符串数组查询 结尾 开头 大家好,我叫这是我58。今天,我们来学一下关于C语言里的bsearch函数的一些知识。 1.什么是bsearch函…

Ubuntu系统中下载安装Checkmk,搭建网络监控系统

文章目录 checkmk是什么?下载安装checkmkUbuntu系统安装选择checkmk版本下载checkmk安装checkmk检查checkmk版本创建checkmk站点启动checkmk及站点 推荐阅读 checkmk是什么? Checkmk 是一款开源的、可扩展的、企业级的网络监控工具。Checkmk提供了丰富的…