【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization

news2024/11/25 1:31:17

文章目录

  • 方法
  • 实验
  • Limitation

论文:https://arxiv.org/abs/2303.10438
代码:https://github.com/wpy1999/SAT/blob/main/Model/SAT.py

方法

在这里插入图片描述
这篇文章的方法应该属于FAM这一类。

  1. 额外添加的一个spatial token,从第10-12层开始,利用其得到的attn map (对hea求mean–B, 1, 1, N+2) 作为visual cue去指出oject region,作用方式为将attn map 点乘到 attn weights(B, h, N+2, N+2)

  2. attn map得到的方式:不同与attn weights 是经过softmax,它这里是经过Sigmoid的。至于为什么,可能是Sigmoid后得到的map 激活更完整吧

  3. 最后的localization map是将前面L层的attn map求mean。虽然这种方法可以最大限度地捕获分类网络中的定位信息,但是从图像级标签获得的像素级监督是稀疏和不平衡的。为了补偿和加强这种监督,我们设计了批量区域损失和归一化损失。

    1. Bach Area Loss

      L b a = ∣ ∑ b B ∑ i H ∑ j W ( λ − M b ( i , j ) B × H × W ) ∣ \mathcal{L}_{b a}=\left|\sum_{b}^{B} \sum_{i}^{H} \sum_{j}^{W}\left(\lambda-\frac{M_{b}(i, j)}{B \times H \times W}\right)\right| Lba= bBiHjW(λB×H×WMb(i,j))

      让激活区域更紧致,这类Loss这WSOL和WSSS很常见。

      where λ is a sparse area supervision with prior knowledge.The λ is set to 0.25 and 0.35 on CUB-200 and ImageNet.

    2. Normalization Loss

      L norm  = 1 H × W ∑ i H ∑ i W M ∗ ( i , j ) ( 1 − M ∗ ( i , j ) ) \mathcal{L}_{\text {norm }}=\frac{1}{H \times W} \sum_{i}^{H} \sum_{i}^{W} M^{*}(i, j)\left(1-M^{*}(i, j)\right) Lnorm =H×W1iHiWM(i,j)(1M(i,j))

      增强前-背景的区分度。应该会使得前景的激活响应更强,背景的激活响应更弱。

      在计算这个loss之前先用高斯滤波对loc map处理,增强局部一致性。(那为什么batch area loss之前 不先用高斯滤波处理??)

  4. 分类就跟之前transformer-based的方法一样,将patch token 变回feature map的形式,经过一层3x3 conv 后接avgpooling

注意:这篇文章的定位仅依赖于spatial token 带来的 attn map,不同与一些之前transformer-based的方法将attn map 与 semantic map 耦合。

实验

现有方法对比

在这里插入图片描述

在ImageNet上的消融,四幅图对应四种情况

在这里插入图片描述
area loss 和 normalization loss 效果我比较关注;

不同backone下验证

在这里插入图片描述

为什么要额外加一个spatial token 而不直接利用原有的cls token?

在这里插入图片描述

文章里从优化角度解释

Limitation

在这里插入图片描述
在ImageNet上应该会有更多困难的情况。

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

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

相关文章

Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

Vue3技术1Vue3简介发展提升创建Vue3工程使用vue-cli创建使用vite创建分析工程结构(由vue-cli创建的)main.jsvue.config.jsApp.vue安装开发者工具初识setupsetup的两种返回值返回一个对象App.vue返回一个函数App.vueVue2与Vue3混合使用App.vue总结Vue3简介…

【致敬未来的攻城狮计划】— 连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下(文字上的初理解)

系列文章目录 系列文章目录 前言 一、瑞萨MCU(CPK_RA2E1是瑞萨RA系列开发板)是什么? 首先引入是什么? 他的优势在哪? 瑞萨CPK_RA2E1 对标stm32 相似之处和不同之处? 瑞萨CPK_RA2E1如何开发&#xff…

集成定时器事件

一,定时器事件 1、概述 libevent提供了高性能定时器的功能,方便执行延迟回调逻辑。在添加事件监听的时候,可以不指定fd和监听的事件,指定超时的时间,实现定时器功能。定时器的实现主要依赖下面的数据结构,…

java 多线程基础 万字详解(通俗易懂)

目录 一、前言 二、定义 1.进程 : 2.线程 : 3.单线程与多线程 : 4.并发与并行 : 三、线程的创建 1.创建线程的两种基本方式 : 1 继承Thread类,并重写run方法 1.5 多线程的执行机制(重要) 2 实现Runnable接口,并重写run方法 2. 两种创建线程方式…

【C++】继承---下(子类默认成员函数、虚继承对象模型的详解等)

前言: 上篇文章我们一起初步了解了继承的概念和使用,本章我们回家新一步深入探讨继承更深层次的内容。 前文回顾——>继承---上 目录 (一)派生类的默认成员函数 (1)6个默认成员函数 (…

Pytorch全连接神经网络实现手写数字识别

问题Mnist手写数字识别数据集作为一个常见数据集,包含10个类别,在此次深度学习的过程中,我们通过pytorch提供的库函数,运用全连接神经网络实现手写数字的识别方法设置参数input_size 784hidden_size 500output_size 10num_epoc…

JavaScript对象类型之function

目录 一、Function 定义函数 调用函数 默认参数 匿名函数 箭头函数 二、函数是对象 三、函数作用域 四、闭包 五、let、var与作用域 一、Function 定义函数 function 函数名(参数) {// 函数体return 结果; } 例如: function add(a, b) {return a b; …

应届生通过Java培训班转行IT有前途吗?

借用邓小平同志曾说过的一句话:科学技术是第一生产力。IT行业作为科技行业中的一员,不管是在自身的发展,还是支持其他行业的发展中都扮演了不可或缺的角色,“互联网”是社会发展的趋势,前途是无限的。而计算机语言是目…

dolphinscheduler之hivecli 任务

hivecli 任务 Hivecli任务说明 dolphinscheduler的hivecli任务是专门执行hivesql的任务类型。其中子类型分为FROM_SCRIPT和FROM_FILE。 FROM_SCRIPT 执行的脚本可以直接在文本框中编写 执行的底层采用-e参数执行 hive -e "show databases;show tables"FROM_FILE…

建造者模式解读

目录 话题引进 传统方式解决盖房需求 传统方式的问题分析 建造者模式基本介绍 基本介绍 四个角色 原理类图 ​编辑 应用实例 改进代码 建造者模式在 JDK 的应用和源码分析 建造者模式的注意事项和细节 抽象工厂模式 VS 建造者模式 话题引进 1) 需要建房子:…

剑指 Offer (第 2 版)

(简单)剑指 Offer 03. 数组中重复的数字 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请…

Python实现采集某二手房源数据并做数据可视化展示

目录环境介绍:模块使用:实现爬虫思路:代码环境介绍: Python 3.8Pycharm 模块使用: requests >>> pip install requests 数据请求模块 parsel >>> pip install parsel 数据解析模块 csv 内置模块 实现爬虫思路&#x…

如何搭建自己的V Rising自建服务器,以及常见的V Rising服务器问题解决方案

V rising官方服务器经常无法连接,无法和小伙伴玩耍;如何搭建自己的V rising服务器呢?还可以修改掉落倍率,加快游戏进度,搭建自己的私人服务器。 前言 最近V rising这个游戏很火呀,迫不及待地和小伙伴一起…

基于粒子群优化算法的面向综合能源园区的三方市场主体非合作交易方法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【JSP学习笔记】4.JSP 隐式对象及客户端请求

前言 本章介绍JSP的隐式对象及客户端请求。 JSP 隐式对象 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。 JSP所支持的九大隐式对象: 对象描述requestHttpServletRequest 接…

一文吃透Arthas常用命令!

Arthas 常用命令 简介 Arthas 是Alibaba开源的Java诊断工具,动态跟踪Java代码;实时监控JVM状态,可以在不中断程序执行的情况下轻松完成JVM相关问题排查工作 。支持JDK 6,支持Linux/Mac/Windows。这个工具真的很好用,…

【C++】模板进阶--非类型模板参数模板特化及分离编译

文章目录一、非类型模板参数二、模板的特化1.模板特化的概念2.函数模板的特化3.类模板的特化3.1 全特化3.2 偏特化4.类模板特化应用示例三、模板的分离编译四、模板总结一、非类型模板参数 模板参数分为类型形参与非类型形参,其中,类型形参即出现在模板…

MBD-PMSM闭环控制模型(FOC算法)

目录 前面 Speed_and_Position_Estimator 获取HALL信号 HALL状态更新 计算转速 位置判断 ADC相电流/总线电流电压 获取AD值 计算实际值 低速高速切换 SlowLoopControl FastLoopControl 最后 前面 前面分析了BLDC的开环与闭环,接下来分析PMSM或者说FOC…

MySQL 异步复制、半同步复制、增强半同步复制(史上最全)

背景:来自于小伙伴问题 小伙伴的难题: mysql主从同步的时候,半同步和增强半同步是怎样的一个概念,我看网上说的有点不明不白的,也没找到合适的解释。 这里尼恩给大家做一下系统化、体系化的梳理。也一并把这个题目以…

【每天学习一点点】RocketMQ的架构、写数据、高效的数据查询索引、负载均衡

Rocket一、学习目标二、RocketMQ的架构运行图2.1、NameServer2.1.1 为什么需要NameServer2.1.1.1 不可以没有nameserver吗?2.1.2 NameServer需要单独部署吗2.1.3 Nameserver可以动态注册和注销Broker、Topic和Consume 是什么意思2.1.4 可以使用nacos的配置中心替代N…