Rethinking the Localization in Weakly Supervised ObjectLocalization

news2024/11/24 15:59:09

论文名称:Rethinking the Localization in Weakly Supervised Object Localization

论文地址:Rethinking the Localization in Weakly Supervised Object Localization (arxiv.org)

1.背景

        最近,将WSOL分成两部分(与类无关的对象定位和对象分类)已经成为完成这项任务的最先进的方法。然而,现有的这种流水线下的解决方案通常存在以下缺点:

1)由于采用单类回归(single-class regression, SCR)进行定位,每张图像只能定位一个目标,不太灵活;

2)生成的伪边界盒可能有噪声,但这种噪声的负面影响没有得到很好的解决。

2.论文的创新点

        为了解决背景中的问题,论文首先提出用二元类检测器(BCD)代替SCR来定位多目标,其中检测器通过区分前景和背景来训练;然后利用未标记的数据设计加权熵损失来降低噪声边界框的负面影响。

        尽管分离的定位、分类管道具有SOTA性能,但主要缺点是采用简单的SCR进行定位。SCR只能为一个图像提供一个输出边界框,因此在处理包含多个对象的图像时不充分且不灵活,这在实际应用中很常见。另外,生成的伪边界框可能是不准确的,甚至是完全错误的,但是这些有噪声的标签被直接用于训练,而没有经过仔细的考虑。为了克服这些缺点,我们提出了一种新的wsols方法,称为加权熵引导二类检测器(WEND)。特别地,我们首先提出用二进制类检测器(BCD)代替SCR,该检测器可以自然输出多个边界框,并通过区分前景和背景以二进制分类方式进行训练。这可以提高灵活性和准确性,因为任何竞争性检测器都可以合并。然后,为了减轻噪声边界盒对检测器训练的负面影响,我们进一步提出了利用大量未标记数据的加权熵损失(we)。熵最小化可以减少前景和背景区分时的不确定性。考虑到背景部分通常比前景物体多很多,我们重新加权熵损失来降低过于自信的背景的权重,使检测器更多地关注不太自信的前景。如图1所示,与目前分离的定位分类管道中采用的定位方法相比,我们的WEND能够预测多个边界框,并且预测结果具有低熵高置信度的特点。

效果图如下:

3.方法

        在训练阶段,通过区分前景和背景,以二值分类的方式训练多输出检测器(如RPN+R-CNN),其中利用现有方法(如C2AM)生成的类别不确定的伪边界框作为ground-truth标签。将输出的正(蓝色)和负(红色)概率{𝑝}和位置{𝑡}(如果可能的话,以及定位质量{𝑐})与训练的伪边界框进行比较。此外,将无监督加权熵(WE)约束应用于二类检测器(BCD)的分类器,以处理噪声伪标签的负面影响。通过对预测概率进行加权熵最小化,可以以更高的置信度识别前景,并进一步细化边界框。

(1)二元类检测器

首先使用传统的CNN主干提取输入图像的特征图,主干可以是VGG、ResNet、Inception或GoogLeNet。然后,在我们的工作中,直接将检测头应用于特征映射以生成预测,该预测由预测的分类概率(以及可能的定位质量)和预测的边界框组成。然后在训练过程中,通过IoU重叠或一对一匹配来分配标签,将伪ground-truth边界框与检测器的预测结果进行比较。例如,对于基于锚点的检测器,如果锚点的IoU重叠等于或高于具有任何伪接地真值框的预定前景IoU阈值,则为其分配一个正标签。如果没有符合此标准的正锚点,则认为与伪接地真值盒IoU重叠最大的锚点为正锚点。另一方面,如果锚的IoU小于具有所有伪真值框的预定背景IoU阈值,则为其分配负标签。所有其他锚都被忽略,对训练过程没有贡献。利用匹配结果计算伪监督损失,它由分类损失和回归损失组成:

 

 (2)加权熵损失

 4.实验

5.不足 

        当背景令人困惑时,我们的WEND会失败。因此,未来的工作可能是发现图像的主题,以减少干扰。对于更复杂的数据集ImageNet-1K[25]也是如此:当存在多个对象类别或令人困惑的背景时,算法必须能够找到主要目标。此外,遮挡问题也需要解决。

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

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

相关文章

Ansible 工具从入门到使用

1. Ansible概述 Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主…

恶意软件基础知识——恶意软件命名

计算机病毒(Computer Virus)指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。 ——《中华人民共和国计算机信息系统安全保护条例》 恶意软件的定义 恶意软件是一个用来描述恶意应用程序…

SQL进阶技巧:如何优化NULL值引发的数据倾斜问题?

目录 0 场景描述 1 问题分析 1.1 问题剖析 1.2 解决方案 2 小结 0 场景描述 实际业务中有些大量的null值或者一些无意义的数据参与到计算作业中,表中有大量的null值,如果表之间进行join操作,就会有shuffle产生,这样所有的null值都会被分配到一个reduce中,必然产生数…

动态代理有用吗?一文了解靠谱的动态代理有哪些标准

在当今互联网时代中,从网络安全、隐私保护、市场调研和互联网营销到软件测试、缓存管理和数据库连接,用户为了更好地完成此类工作,往往会使用动态代理,那么进一步了解动态代理、明确动态代理的使用场景和选择标准则是十分有必要的…

MatrixVT: Efficient Multi-Camera to BEV Transformation for 3D Perception

本文提出了一种高效的多摄像头到鸟瞰图 (BEV) 视图转换方法,用于 3D 感知,称为 MatrixVT。现有的视图转换器要么转换效率低下,要么依赖于特定于设备的操作符,阻碍了 BEV 模型的广泛应用。相比之下,我们的方法仅使用卷积…

QT-空窗口主窗口对话框

1. QMainWindow QMainWindow 用来创建主窗口 主窗口包含: 标题栏(Window title)、菜单栏(MenuBar)、工具栏(ToolBar)、状态栏(StatusBar)、停靠部件(DockWid…

你真的了解ChatGPT吗?深度解读Chat GPT背后的数据风险

随着人工智能技术的快速发展,像ChatGPT这样的语言模型已经成为了我们生活和工作的得力助手。从撰写文章、回答问题到辅助编程,ChatGPT正逐渐改变着人们与科技互动的方式。然而,随着AI的广泛应用,数据安全也成为了不可忽视的重要议…

Maven 父子模块的 pom.xml 文件编写

今天在写课内的实验作业的时候&#xff0c;三个内容要使用的依赖是一样的&#xff0c;于是想使用父子模块来玩玩。 父模块 pom.xml 书写 打包方式 <packaging>pom</packaging> 聚合子模块 <!-- 聚合子模块 --> <modules><module>../one</…

双十一即将来临,希喂、有哈、安德迈宠物空气净化器攻略赶快收好

国庆长假结束&#xff0c;也就告别了今年最后一个法定节假日。不过&#xff0c;随之而来的就是购物狂欢节双十一&#xff01;想想还有点小激动&#xff0c;这是我工作以来第一个双十一。以前在大学靠生活费根本买不了什么&#xff0c;现在工作了有点小钱&#xff0c;准备大买特…

全网都在找的Python生成器竟然在这里!简单几步,让你的代码更简洁、更高效!

博客主页&#xff1a;长风清留扬-CSDN博客系列专栏&#xff1a;Python基础专栏每天更新大数据相关方面的技术&#xff0c;分享自己的实战工作经验和学习总结&#xff0c;尽量帮助大家解决更多问题和学习更多新知识&#xff0c;欢迎评论区分享自己的看法感谢大家点赞&#x1f44…

【漏洞复现】网动统一通信平台/网动统一通信平台ActiveUC存在任意文件下载

》》》产品描述《《《 网动统一通信平台是采用统一的通信界面&#xff0c;将VoIP电话系统、电子邮件等多种沟通方式融合的企业IT平台。 》》》漏洞描述《《《 网动统一通信平台是采用统一的通信界面&#xff0c;将VoIP电话系统、电子邮件等多种沟通方式融合的企业IT平台。网动统…

OXO:一款针对Orchestration框架的安全扫描引擎

关于OXO OXO是一款针对Orchestration框架的安全扫描引擎&#xff0c;该工具可以帮助广大研究人员检测Orchestration安全问题&#xff0c;并执行网络侦查、 枚举和指纹识别等操作。 值得一提的是&#xff0c;OXO还提供了数十种其他的协同工具&#xff0c;包括网络扫描代理&…

js拼接html代码在线工具

具体请前往&#xff1a;在线Html转Js--将Html代码转成javascript动态拼接代码并保持原有格式

【基础篇】一个键值数据库包含什么?

背景 今天&#xff0c;在构造这个简单的键值数据库时&#xff0c;我们只需要关注整体架构和核心模块。这就相当于医学上在正式解剖人体之前&#xff0c;会先解剖一只小白鼠。我们通过剖析这个最简单的键值数据库&#xff0c;来迅速抓住学习和调优 Redis 的关键。 我们把这个简…

python中字符串操作

1、遍历字符串&#xff1a; pystr"HelloPython!" for i in pystr:print(i) 结果&#xff1a; 2、字符串索引 pystr"HelloPython!" print(pystr[0],pystr[-1]) 结果&#xff1a; 3、字符串切片 pystr"HelloPython!" # 切片[start:stop:step] p…

父组件向子组件传值props

父组件 <template><child :list"list" /><h4>{{ title }}</h4> </template> <script> // 引用子组件 import child from ./child.vue export default {data() {return {title: APP根组件,list: [a1, a2, a3]}},// 组件注册compo…

2024电动车新国标是什么标准

9月19日&#xff0c;工业和信息化部会同多部门&#xff0c;对最新修订的《电动自行车安全技术规范》进行公开征求意见&#xff0c;将持续1个月。与现行标准相比&#xff0c;这次的“新国标”做了哪些方面的改进和提升&#xff1f;事关你出行自由顺畅的“小电驴”&#xff0c;快…

【C语言】猜数字小游戏

&#x1f602;个人主页: 起名字真南 &#x1f923;个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 随机数的生成1.1 rand1.2 srand1.3 time1.4 设置随机数范围 2 猜数字游戏实现 前言&#xff1a;我们学习完前面的循环以后可以写一个猜数字小游戏 1 随机数的生成 想要完成…

假鞋检测分割系统源码&数据集分享

假鞋检测分割系统源码&#xff06;数据集分享 [yolov8-seg-C2f-DiverseBranchBlock&#xff06;yolov8-seg-C2f-SCConv等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAA…

C++11--默认成员函数控制 模板的可变参数

默认成员函数 之前学习C类中&#xff0c;有6个默认成员函数&#xff1a; 构造函数析构函数拷贝构造函数拷贝赋值重载取地址重载const 取地址重载 最重要的是前4个&#xff0c;默认成员函数就是我们不写编译器会生成一个默认的。在C11中新增了两个函数&#xff1a;移动构造函…