当前位置: 首页 > news >正文

Token Contrast for Weakly-Supervised Semantic Segmentation

文章来源:[CVPR2023]

Keywords:Weakly-Supervised Semantic Segmentation(WSSS);over-smoothing; ViT


一、本文提出的问题以及解决方案:

在这里插入图片描述
本文解决了over-smoothing问题,该问题其实是在之前的GCN网络中提出。
提出了Patch Token Contrast (PTC),通过中间知识来监督最后的tokens,PTC可以对抗patch uniformity和提高弱监督语义分割(WSSS)伪标签的质量。
提出了Class Token Contrast (CTC),对比了全局前景和局部不确定区域(背景)的表示,并促进了CAM中对象活动的完整性。


二、方法

本文提出的ToCo在ViT encoder中使用一个辅助的分类层来产生辅助的CAM,辅助CAM生成生成伪标签并指导PTC模块。同时,它还为CTC模块生成proposals来裁剪正负局部图像。最终的CAM来自于一个分类层并用于生成最后的伪标签。
在这里插入图片描述

1、Patch Token Contrast

生成token label YmY^mYm用于导出可靠的成对关系,用于设计可靠的pairwise关系来监督最后的patch tokens。
如果两个tokens共享相同的语义标签,它们被标记为positive pairs,否则被标记为negative pairs。同时,为了保证可靠性,只考虑两个tokens属于前景或背景区域而忽略不确定区域。
为了解决over-smoothing问题,两个最后的patch tokens属于positive pairs则最大化相似性,否则最小化。
在这里插入图片描述

2、Class Token Contrast

用PTC解决过over-smoothing问题可以驱动ViT以生成显著的CAM和伪标签。然而,仍然有一些判别力较弱的对象区域在CAM中很难区分。受ViT中提出的class tokens能聚合高层语义的启发,设计了CTC模块促进局部非显著区域和全局对象之间的表示一致性,这可以进一步强制CAM中激活更多的对象区域。
在这里插入图片描述
通过辅助CAM从不确定区域随机crop local images(固定数量)。通过最小化global和local class tokens之间的差异,整个object regions的表示可以更加一致。
为了抵消裁剪的局部图像可能包含很少/不包含前景对象,最大化全局图像和局部背景区域的class tokens之间的差异,也可以促进前景-背景的差异。
然后,将global and local class tokens 通过projection head Pg和PlP^g和P^lPgPl
在这里插入图片描述

3、Training Objective

在这里插入图片描述


三、实验

1、实验设置

(1)数据集:
PASCAL VOC2012(augmented with SBD dataset) 和 MS COCO2014。
在训练阶段,只使用image-level标签。评估指标使用mIoU。
(2)网络结构:
backbone使用ViT-base(ViT- B),初始化为ImageNet数据集上的预训练权重。这里的pos_embedding通过双线性插值的方法进行resize。
(3)实验细则:
crop size的大小:global view为4482448^24482,local view为96296^2962。除此之外,使用multi-crop和data augmentation策略。

2、实验结果

(1)Pseudo Labels的质量
可视化CAM:
在这里插入图片描述
评估Pseudo labels:
在这里插入图片描述
(3)消融实验分析:
在这里插入图片描述

相关文章:

Token Contrast for Weakly-Supervised Semantic Segmentation

文章来源:[CVPR2023] Keywords:Weakly-Supervised Semantic Segmentation(WSSS);over-smoothing; ViT 一、本文提出的问题以及解决方案: 本文解决了over-smoothing问题,该问题其实是在之前的GCN网络中提出…...

Jenkins运行在docker中使用Maven构建Java应用程序

这篇笔记是Jenkins入门教程使用Maven构建Java应用程序的一个补充说明,因为我照着文档操作的过程中遇到不少问题,遂一一做个笔记。 我的主机是Windows 11,安装的docker是Docker Desktop 4.18.0。 第一点,在Windows里执行docker命…...

将excel导入到sqlite的方法代码

Python实现excel转sqlite的方法,具体如下: Python环境的安装配置就不说了,个人喜欢pydev的开发环境。 python解析excel需要使用第三方的库,这里选择使用xlrd 下面是源代码: #!/usr/bin/python # encodingutf-8 Creat…...

Redis主从复制、哨兵和集群部署

文章目录一、主从复制1、主从复制-哨兵-集群2、主从复制的概念3、主从复制的作用4、主从复制流程5、部署Redis 主从复制步骤6、实例操作:部署Redis 主从复制二、哨兵模式1、哨兵模式的原理2、哨兵模式的作用3、哨兵结构由两部分组成,哨兵节点和数据节点4…...

protobuf序列化

文章目录protubufprotobuf序列化protobuf的原理定义message编译message文件应用protobufMessage 基本用法Message 嵌套使用protubuf protobuf序列化 protobuf是一种比json和xml等序列化工具更加轻量和高效的结构化数据存储格式,性能比json和xml真的强很多&#xff…...

更新时无冲突的情况(阁瑞钛伦特软件-九耶实训)

大多数使用“与资源库同步”菜单的目的是想查看本地和远程资源的差异,并不想将本地的内容进行更新。 而“更新”菜单则不然,它的主要作用是将远程仓库中的内容下载到本地,以使本地的版本内容和仓库中的内容一致。 Step01:复用前…...

3.4 函数的单调性和曲线的凹凸性

学习目标: 如果我要学习函数的单调性和曲线的凹凸性,我会采取以下几个步骤: 理解概念和定义:首先,我会学习单调性和凹凸性的定义和概念。单调性是指函数的增减性质,可以分为单调递增和单调递减&#xff1b…...

LeetCode 404. 左叶子之和 | C++语言版

LeetCode 404. 左叶子之和 | C语言版LeetCode 404. 左叶子之和题目描述解题思路思路一:使用递归代码实现运行结果参考文章:思路二:减少遍历节点数代码实现运行结果参考文章:LeetCode 404. 左叶子之和 题目描述 题目地址&#xf…...

arm架构安装Rancher并导入k8s集群解决Error: no objects passed to apply

Rancher介绍 Rancher 2.0-2.4版本 是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。 Rancher 2.5版本 是为使用容…...

安装PaddleSpeech

github地址https://github.com/PaddlePaddle/PaddleSpeech 创建虚拟环境 conda create -p E:\Python\envs\nlppaddle python3.7 # conda create -p E:\Python\envs\speechstu python3.8激活虚拟环境 conda activate E:\Python\envs\nlppaddle # conda activate E:\Python\…...

UE “体积”的简单介绍

目录 一、阻挡体积 二、摄像机阻挡体积 三、销毁Z体积 四、后期处理体积 一、阻挡体积 你可以在静态网格体上使用阻挡体积替代碰撞表面,比如建筑物墙壁。这可以增强场景的可预测性,因为物理对象不会与地面和墙壁上的凸起细节相互作用。它还能降低物理模…...

微信 JAVA SDK 封装

weixin-popular 微信 JAVA SDK,是微信平台(公众平台、开放平台、商户平台、服务商平台)接口服务的JAVA 实现,开发 严格按照官方技术文档,合理划分包名、定义字段及方法,能胜任任何微信相关的业务。 使用建…...

上海智慧校园视频智能分析算法 yolov7

上海智慧校园视频智能分析算法通过yolov7python网络模型分析技术,上海智慧校园视频智能分析算法对校园内学生打架、翻墙、倒地、异常聚集、攀高等行为实时监测预警。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支持移动 GP…...

【树】你真的会二叉树了嘛? --二叉树LeetCode专题

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...

《LeetCode 热题 HOT 100》——寻找两个正序数组的中位数

本期给大家带来的是是《LeetCode 热题 HOT 100》第四题——寻找两个正序数组的中位数的题目讲解!!!() 本文目录 💥题意分析 💥解题思路: 1、直接法 (❌) …...

Unity- 游戏结束以及重启游戏

文章目录游戏结束以及重启游戏建个游戏结束页面编写委托类 游戏主角 以及 ui管理类的脚本重启游戏游戏结束以及重启游戏 思路:利用Canvas创建好覆盖全屏的结束页面,默认关闭。游戏结束时,玩家控制的对象发起委托,ui管理收下委托&…...

NGK BeCu8·11铜合金板材

NGK BeCu811铜合金板材 CB498K、CuSn6Zn4Pb2-B、CC498K、CuSn6Zn4Pb2-C CB494K、CuSn5Pb9-B、CC494K、CuSn5Pb9-C CB495K、CuSn10Pb10-B、CC495K、CuSn10Pb10-C CB496K、CuSn7Pb15-B、CC496K、CuSn7Pb15-C CB497K、CuSn5Pb20-B、CC497K、CuSn5Pb20-C 日本古河连接器专用材料如:…...

电脑突然死机怎么办?正确做法在这!

案例:电脑突然死机怎么办? 【家人们,我刚刚正在做工作报告,突然间电脑就死机了,这可怎么办啊?有什么方法可以快速解决这个问题吗?急急急!】 电脑在使用过程中,有时会出…...

基于cell数组的MATLAB仿真(附上完整仿真源码)

MATLAB是一款强大的数学软件,它提供了许多数据结构来存储和处理数据。其中,cell数组是一种非常有用的数据结构,它允许在一个数组中存储不同类型的数据,包括数值、字符串、逻辑值和其他cell数组等。 文章目录简单代码完整仿真源码下…...

电脑蓝屏问题排查

最近电脑安装了最新win10,更新最新的驱动以后,开机几分钟后,会蓝屏重启,报错为: DRIVER_POWER_STATE_FAILURE 下载蓝屏分析工具BlueScreenView 问题出在ntoskrnl.exe bing搜索给出了二种解决方案: 1&a…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...