当前位置: 首页 > 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)消融实验分析:
在这里插入图片描述

http://www.lryc.cn/news/58132.html

相关文章:

  • Jenkins运行在docker中使用Maven构建Java应用程序
  • 将excel导入到sqlite的方法代码
  • Redis主从复制、哨兵和集群部署
  • protobuf序列化
  • 更新时无冲突的情况(阁瑞钛伦特软件-九耶实训)
  • 3.4 函数的单调性和曲线的凹凸性
  • LeetCode 404. 左叶子之和 | C++语言版
  • arm架构安装Rancher并导入k8s集群解决Error: no objects passed to apply
  • 安装PaddleSpeech
  • UE “体积”的简单介绍
  • 微信 JAVA SDK 封装
  • 上海智慧校园视频智能分析算法 yolov7
  • 【树】你真的会二叉树了嘛? --二叉树LeetCode专题
  • 《LeetCode 热题 HOT 100》——寻找两个正序数组的中位数
  • Unity- 游戏结束以及重启游戏
  • NGK BeCu8·11铜合金板材
  • 电脑突然死机怎么办?正确做法在这!
  • 基于cell数组的MATLAB仿真(附上完整仿真源码)
  • 电脑蓝屏问题排查
  • SpringBoot配置slf4j + logback
  • JAVA——网络编程基本概念
  • [JavaEE]----Spring02
  • 笔记本可自行更换CPU、独显了,老外用它手搓了台“PS5”
  • Linux uart驱动框架
  • 第一个禁止ChatGPT的西方国家
  • Web 攻防之业务安全:Session会话注销测试.
  • 4月最新编程排行出炉,第一名ChatGPT都在用~
  • 生成不保存在服务器的附件,并以附件形式发送邮件
  • Golang Gin框架HTTP上传文件
  • BM36-判断是不是平衡二叉树