BAS模型论文阅读

论文全名:Background Activation Suppression for Weakly Supervised Object Localization and Semantic Segmentation

 论文pdf下载地址:2309.12943 (arxiv.org)

论文会议版全名:Background Activation Suppression for Weakly Supervised Object Localization

论文会议版pdf下载地址: 2112.00580 (arxiv.org)

论文代码:github.com/wpy1999/BAS-Extension.

论文会议版代码:wpy1999/BAS: [CVPR2022] PyTorch implementation of ''Background Activation Suppression for Weakly Supervised Object Localization''. (github.com)

背景 

        本文提出了一种背景激活抑制(BAS)方法。具体来说,设计了激活映射约束(AMC)模块,通过抑制背景激活值来促进生成器的学习。同时,利用前景区域引导和区域约束,可以学习到目标的整个区域。

overview

        如下图,我们的方法包括三个模块:提取器、生成器和激活映射约束(AMC)模块。首先,使用提取器提取图像特征,用于后续的定位和分类。该生成器旨在生成用于定位的特定于类的前景预测图。然后对前景预测图进行反演得到耦合的背景预测图,并将其一起送入AMC进行定位训练。AMC由背景激活抑制损失、面积约束损失、前景区域引导损失和分类损失四种损失进行监督。其中最重要的是背景激活抑制损失(background activation suppression loss),通过最小化背景激活值与整体激活值(整个图像产生的激活值)的比值来促进生成器的学习。在推理阶段,根据预测的类别概率选择Top-k预测图,取其平均预测图作为最终的定位结果。

Train

 inference

Loss

Background Activation Suppression (Lbas)

我们根据真类选择(1)和 (2)中的y值。应用ReLU激活函数后,这些值分别表示为激活值S∈R1和背景激活值Sb∈R1。S表示未遮挡特征图生成的激活值,包含前景和背景信息,Sb为背景特征图生成的激活值,只保留背景信息。这里,我们以比率的形式测量背景激活值与激活值之间的差值,实现背景激活值的抑制。Lbas定义如下图:

生成非负的S和Sb对于Lbas是必要的。在之前的会议版本中,我们使用ReLU作为网络末端的激活函数,以保证输出的非负性,如图4所示。这种方法导致具有负值的像素在ReLU后被标记为0,并且它们的梯度不会参与反向传播。而具有负值的像素通常与背景区域相关联,这对于分类和预测图的学习也很重要。如图4所示。这种方法导致具有负值的像素在ReLU后被标记为0,并且它们的梯度不会参与反向传播。而具有负值的像素通常与背景区域相关联,在分类损失中忽略了负激活值,在训练后期会间接导致BAS损失不足(损失值反而变大)。为了解决这个问题,我们移除这个ReLU层,使负像素也参与梯度反向传播。为了保证S和Sb的非负性,我们在生成它们之前分别使ReLU激活函数。

Area Constraint (Lac)

背景预测图可以被Lbas以一种抑制的方式引导,Lbas越小,背景预测图覆盖的区域判别性越弱。当背景预测图能够很好地覆盖背景区域时,其产生的Lbas必须最小,而背景区域应尽可能大,因此前景区域应尽可能小,所以我们使用前景预测图区域作为约束:

 Foreground Region Guidance (Lfrg)

我们保留了FPM利用分类任务驱动前景预测图学习的方法,该方法利用高级语义信息将前景预测图引导到目标的近似正确区域。因此,利用了基于交叉熵的前景区域制导损失。将F送入F2(F, Θ2)后,与Mf点积生成Lfrg:

 

Classification (Lcls) 

我们通过交叉熵y得到分类损失lcl,用于整个图像的分类学习:

Weakly Supervised Object Localization

通过联合优化AMC模块中的背景激活抑制损失、区域约束损失、前景区域引导损失和分类损失,可以将前景预测图引导到目标的整体区域。BAS培训过程的总损失定义如下:

Weakly Supervised Semantic Segmentation 

如图5所示,我们在AMC模块中通过在图像中随机选择一个前景类别,并将其对应的预测图记为Mf来维持单个预测图的学习过程。此外,为了使网络实现多标签分类,我们采用softmax交叉熵损失,并对其形式进行简单修改,而不是使用基于sigmoid的损失(二进制交叉熵损失)。这主要是因为从背景定位图中得到的激活值Sb必须小于0,才能保证1/(1 + e - Sb)生成的概率接近0,这与Sb的非负性相冲突。

Multi-Label-Classification (Lmcls)

对于弱监督语义分割任务,我们采用多标签分类损失lmcl代替lmcl来处理多标签情况。为了避免softmax公式中存在多标签时的类别不平衡和训练不稳定问题,我们只考虑前景和背景类别的区分,而忽略了前景类别之间的相互关系。可以表示为: 

实验 

主实验及可视化

 总结

        通过实验研究发现,BAS在大中型对象上表现较好,但在小型对象上表现不佳。我们认为主要原因有以下两个方面:小目标的定位是计算机视觉固有的问题,另一方面,面积约束损失对不同尺寸目标的惩罚不均匀,对小目标的惩罚较少,这导致BAS无法仅用一个超参数来调节面积约束损失来平衡大目标和小目标。

        未来可能的工作:1)解决BAS模型在不同尺寸下定位能力的性能问题 2)扩展BAS的应用

对于1我们或许可以采用多尺度的特征提取或者改进面积约束损失使其可以自适应地进行调整损失函数等

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

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

相关文章

AI产品经理面试20个问题汇总(含面试解题技巧、注意事项)

这题我会!这是一个包含AI产品经理问题的备考文章,本文主要讲解AI产品经理的备考注意事项、真题展示、解题技巧及高效刷题方法,相信大家看完就一定能掌握技巧并且顺利通关! 一、AI产品经理面试问题展示(20道) 1. 请描述一下你过…

Parallels Desktop 20(Mac虚拟机) v20.0.0 for Mac 最新破解版(支持M系列)

Parallels Desktop 20 for Mac 正式发布,完全支持 macOS Sequoia 和 Windows 11 24H2,并且在企业版中引入了全新的管理门户。 据介绍,新版本针对 Windows、macOS 和 Linux 虚拟机进行了大量更新,最大的亮点是全新推出的 Parallels…

[Leetcode] 227.基本计算器

标题:[Leetcode] 227.基本计算器 个人主页:水墨不写bug (图片来源于网络) // _ooOoo_ // // o8888888o // // …

PCIe扫盲(五)

系列文章目录 PCIe扫盲(一) PCIe扫盲(二) PCIe扫盲(三) PCIe扫盲(四) PCIe扫盲(五) 文章目录 系列文章目录TLP Header详解(一)Byte En…

Linux系统编程入门 | 模拟实现 ls -l 命令

模拟实现代码 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <pwd.h> #include <grp.h> #include <time.h> #include <string.h>int main(int argc, char* argv[]) {if (a…

为什么嫁人就要嫁公务员?稳定、收入高、福利好、资源多

在现代社会&#xff0c;择偶不仅仅是感情问题&#xff0c;更涉及到经济、社会地位和未来生活的方方面面。 对于很多女性来说&#xff0c;选择一个稳定、可靠的伴侣至关重要。而公务员作为一个备受尊敬的职业&#xff0c;成为了很多人心目中的理想对象。 那么&#xff0c;为什…

使用密钥文件登陆Linux服务器

假设A服务器为登陆目标,已经运行ssh服务。 B服务器作为登陆发起端。 登陆A服务器,账户S。 运行命令: ssh-keygen -t rsa 此时账户S家目录下会自动创建目录“.ssh”,目录下会有id_rsa和id_rsa.pub两个文件。 id_rsa为私钥,id_rsa.pub为公钥。 id_rsa文件内容下载到B服务…

web基础—dvwa靶场(七)SQL Injection

SQL Injection&#xff08;SQL注入&#xff09; SQL Injection&#xff08;SQL注入&#xff09;&#xff0c;是指攻击者通过注入恶意的SQL命令&#xff0c;破坏SQL查询语句的结构&#xff0c;从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害是巨大的&#xff0c;常常会导致…

勒索软件和四重勒索策略:使用易备数据备份软件进行保护

文章内容&#xff1a; 1. 勒索行为类型 2. 勒索软件的演变&#xff1a;四重勒索 3. 遭遇勒索软件攻击时应遵循的准则 4. 防御勒索攻击的工具 5. 使用易备数据备份软件进行预防和备份 2024 年&#xff0c;勒索软件仍然是全球网络安全面临的最大威胁之一。威胁形势不断演变&#…

win11 下载安装MYSQL 5.7.30(保姆教程)

目录 一、下载安装包 二、安装 三、试一下 四、解决问题 1.如果出现“mysql不是内部或外部命令&#xff0c;也不是可运行的程序” 1.配置环境变量 2.重新打开cmd测试 一、下载安装包 进入下载链接&#xff1a;https://www.mysql.com/why-mysql/windows/https://www.mysq…

00898 互联网软件应用与开发自考复习题

资料来自互联网软件应用与开发大纲 南京航空航天大学 高纲4295和JSP 应用与开发技术(第 3 版) 马建红、李学相 清华大学出版社2019年 第一章 一、选择题 通过Internet发送请求消息和响应消息使用&#xff08;&#xff09;网络协议。 FTP B. TCP/IP C. HTTP D. DNS Web应…

OpenAI 的最强模型 o1 的“护城河”失守?谷歌 DeepMind 早已揭示相同原理

发布不到一周&#xff0c;OpenAI 的最新模型 o1 的“护城河”似乎已经失守。 近日&#xff0c;有人发现谷歌 DeepMind 早在今年 8 月发表的一篇论文&#xff0c;揭示了与 o1 模型极其相似的工作原理。 这项研究指出&#xff0c;在模型推理过程中增加测试时的计算量&#xff0c…

SAP SPROXY 配置

事务码SPROXY 然后找到目标的地址 然后创建新对象即可

基于springboot的在线视频点播系统

文未可获取一份本项目的java源码和数据库参考。 国外研究现状&#xff1a; 与传统媒体不同的是&#xff0c;新媒体在理念和应用上都采用了新颖的媒介或媒体。新媒体是指应用在数字技术、在传统媒体基础上改造、或者更新换代而来的媒介或媒体。新兴媒体与传统媒体在理念和应用…

大数据产业核心环节有哪些?哪里可以找到完整的大数据产业分析?

▶大数据产业前景开阔 大数据产业正站在数字化时代前沿&#xff0c;预计在未来几年将实现显著增长和扩展。目前&#xff0c;中国大数据产业规模在2021年已达到1.3万亿元&#xff0c;并在2022年增长至1.6万亿元&#xff0c;预计到2025年将突破3万亿元大关&#xff0c;年均复合增…

客户文章 | DAP-seq助力揭示MYC2转录因子调控银杏萜内酯生物合成的分子机制

银杏萜内酯是银杏中重要的天然药用活性成分&#xff0c;具有抗血栓、抗炎、治疗心脑血管疾病和预防阿尔茨海默病等药理活性&#xff0c;也是血小板活化因子的强拮抗剂。萜内酯在银杏中的含量极低&#xff0c;难以满足医药行业的需求&#xff0c;限制了银杏产业的发展和临床应用…

用友U8二次开发工具KK-FULL-*****-EFWeb使用方法

1、安装: 下一步&#xff0c;下一步即可。弹出黑框不要关闭&#xff0c;让其自动执行并关闭。 2、服务配置&#xff1a; 输入服务器IP地址&#xff0c;选择U8数据源&#xff0c;输入U8用户名及账号&#xff0c;U8登录日期勾选系统日期。测试参数有效性&#xff0c;提示测试通过…

月入10000+,蓝海项目!少儿英语赛道

一、项目原理 少儿英语赛道的话&#xff0c;我们主要通过英语小短文&#xff0c;来让孩子学习英语&#xff0c;虽然现在有很多英语的课程&#xff0c;但针对少儿的英语是比较少的&#xff0c;所以这个赛道还是很吃香的。 整体流程也简单&#xff0c;先用AI写出故事&#xff0…

Android15之源码分支qpr、dp、beta、r1含义(二百三十二)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

SpringBoot基础实战系列(二)springboot解析json与HttpMessageConverter

SpringBoot解析Json格式数据 ResponseBody 注&#xff1a;该注解表示前端请求后端controller&#xff0c;后端响应请求返回 json 格式数据前端&#xff0c;实质就是将java对象序列化 1.创建Controller 注&#xff1a;springboot默认就已经支持返回json格式数据&#xff0c;只需…