二十一章:PUZZLE-CAM:通过匹配局部和全局特征来改进定位

news2024/11/13 15:17:47

0.摘要

        弱监督语义分割(WSSS)被引入来缩小从像素级监督到图像级监督的语义分割性能差距。大多数先进的方法是基于类激活图(CAM)来生成伪标签以训练分割网络。WSSS的主要局限性在于从使用图像分类器的CAM生成伪标签的过程主要集中在对象的最具区分性的部分。为了解决这个问题,我们提出了Puzzle-CAM,它通过最小化分割网络中独立补丁和整个图像特征之间的差异来发现对象中最一体化的区域。我们的方法包括一个拼图模块和两个正则化项。Puzzle-CAM可以利用图像级监督激活对象的整个区域,而不需要额外的参数。在实验中,Puzzle-CAM在PASCAL VOC 2012数据集上使用相同的标签进行监督,优于先前的最先进方法。与我们实验相关的代码可以在https://github.com/OFRIN/PuzzleCAM找到。

索引词 - 图像分割,深度学习,神经网络,弱监督语义分割

1.引言

        语义分割是一种使用卷积神经网络(CNN)的基本方法,其目的是正确预测图像的像素级分类。最近,全监督语义分割(FSSS)取得了显著的进展[1,2,3]。然而,为每个图像制作具有精确像素级注释的大规模训练数据集非常昂贵,需要耗时耗力的任务。为了解决这个问题,许多研究人员专注于弱监督语义分割(WSSS),它使用图像级别的注释、涂鸦、边界框和点来训练网络。与其他方法相比,图像级别的监督更容易进行。在本研究中,我们只关注使用图像级别监督来学习语义分割模型。

        大多数先前的WSSS方法[4,5,6]基于类激活图(CAMs)[7]来实现良好的性能。然而,生成的CAMs通常只关注语义对象的小部分,以有效分类它们,这阻止了分割模型学习像素级的语义知识。此外,我们可以看到,从平铺图像中的孤立补丁生成的CAMs与原始图像中获得的CAMs不同。如图1所示,由平铺补丁组成的平铺图像的CAMs与原始图像的CAMs明显不一致。这些差异进一步扩大了FSSS和WSSS之间的监督差距。

        上述观察结果启发我们使用基于注意力的特征学习方法来解决WSSS问题。因此,我们提出了Puzzle-CAM用于WSSS训练,以检测对象的整合区域。我们的方法应用了与从平铺和原始图像生成的CAMs对应的重构正则化来提供自我监督。为了进一步改善网络预测的一致性,我们引入了一个拼图模块,将图像分割并合并从平铺图像生成的CAMs。

        Puzzle-CAM由一个具有重构正则化损失的孪生神经网络组成,该损失减少了原始和合并的CAM之间的差异。我们的实验产生了定量和定性结果,证明了我们方法的优越性。我们的主要贡献如下:

  • 我们提出了Puzzle-CAM,它结合了重构正则化和拼图模块,有效提高了CAM的质量,而不需要增加网络层。
  • 在PASCAL VOC 2012数据集上,Puzzle-CAM在相同级别的监督下表现优于现有的最先进方法。

图1:从平铺和原始图像生成的CAMs:(a)来自原始图像的传统CAMs,(b)来自平铺图像的生成CAMs,以及(c)由提出的Puzzle-CAM预测的CAMs。

图2:提出的Puzzle-CAM的整体架构,显示了重构正则化和拼图模块的集成。

2.相关工作

2.1.使用CNN的注意力机制

        这些提供了CNN中学习到的特征的细粒度信息。Simonyan等人[8]使用误差反向传播策略来可视化语义区域,而联合注意力模型使用CNN中的全局平均池化(GAP)层更高效地生成CAMs [7]。最后,使用最终的分类器生成注意力图。据我们所知,在实现WSSS的高性能方面,选择哪种注意机制并没有太大的影响,因此我们基于联合注意力模型构建了Puzzle-CAM,因为它比其他注意机制更易于处理。

2.2.弱监督语义分割

        与需要对图像进行逐像素标记的FSSS不同,WSSS采用了较低级别的标记,如边界框[9]、涂鸦[10]和图像级别的分类标签[4,6]。最近,通过引入CAMs,WSSS的性能得到了显著提升。大多数先前的WSSS方法通过对图像分类器生成的CAMs进行细化,以逼近分割掩码[4,11,12,13,6]。AffinityNet [4]训练了一个额外的网络来学习像素之间的相似性,通常生成一个过渡矩阵,并将其与CAM相乘以调整其激活范围。IRNet [11]从边界激活图生成过渡矩阵,并扩展该方法以实现弱监督实例分割和WSSS。SEAM [5]旨在通过使用捕捉每个像素的上下文外观信息的像素相关模块来改进CAMs,并通过使用学习到的亲和力注意力图来改变原始的CAMs。

3.方法论

3.1.动机

        传统的单个图像的CAM高亮显示了每个类别最具代表性的区域。因此,当为图像块生成同一类别的CAM时,模型只使用对象的一部分来寻找类别的关键特征。因此,图像块的合并CAM比单个图像的CAM更准确地突出了对象区域。为了利用上述优势,我们提出了Puzzle-CAM,它使用重构损失训练分类器,以最小化单个图像的CAM和从图像块合并的CAM之间的差异。通过使用这种重构损失训练分类网络,CAM更精确地覆盖了对象区域。Puzzle-CAM包含设计的损失函数,以匹配从平铺图像生成的CAM与原始图像的CAM(图2)。

3.2.雇佣的CAM方法

        首先,我们介绍用于生成初始注意力图的CAM方法。给定特征提取器F和分类器θ,我们可以生成CAMs,这是所有类别的CAM的集合。通过图像级别监督训练分类器后,我们将c通道分类器的权重应用于从输入图像I得到的特征图f =F(I),以获得类别c的CAM,如下所示:

        通过使用Ac的最大值对生成的CAM进行归一化。最后,通过连接Ac,我们获得了所有类别的CAMs(A)。

3.3.拼图模型

        在匹配部分特征和完整特征时,关键是缩小FSSS和WSSS之间的差距。拼图模块由平铺和合并模块组成。从大小为W×H的输入图像I开始,平铺模块生成大小为W=2×H=2的非重叠的平铺块fI1;1;I1;2;I2;1;I2;2g。接下来,我们为每个Ii;j生成Ai;j的CAMs。最后,合并模块将所有的Ai;j连接到一个具有与I的CAMs相同形状的单个CAMs Are中。

3.4.Puzzle-CAM的损失设计

        我们在网络末端采用了一个GAP层,用于融合预测向量Y^=σ(G(Ac))进行图像分类,并采用多标签软边缘损失进行分类任务。为了方便表示,我们定义Yt为:

        其中α是用于不同损失的权重平衡系数。分类损失Lcls和Lp−cls用于粗略估计对象的区域。重构损失Lre用于缩小像素级和图像级监督过程之间的差距。我们在实验部分报告了网络训练设置的详细信息,并对所提出的模块的有效性进行了探究。

表1:使用ResNet-50作为骨干网络的Puzzle-CAM损失函数的消融研究。

4.实验结果

4.1.实现细节

        我们使用了PASCAL VOC 2012数据集[14]来评估我们的方法。该数据集被分为了1,464张图片用于训练,1,449张用于验证,1,456张用于测试。按照之前方法[4,5,6]使用的实验协议,我们从语义边界数据集[15]中获取了额外的注释,构建了一个包含10,582张图片的增强训练集。这些图片在[320,640]的范围内进行随机缩放,然后裁剪为512×512作为网络的输入。对于所有实验,我们将α设置为4,并在半个epoch内线性地将α逐渐增加到最大值。在推断过程中,我们使用不带拼图模块的分类器。因此,我们采用了多尺度和水平翻转来生成伪分割标签。我们使用了四个TITAN-RTX GPU来训练数据集。

4.2.消融研究

        通过应用平均交并比(mIoU)指标(Table 1),我们对Puzzle-CAM的主要组成部分进行了消融研究,其中基线为mIoU = 47.82%。通过提出的平铺块的重构规范化(Lre),基线提升到了mIoU = 49.21%,而来自平铺块的分类损失(Lp-cls)与基线相似。Lre和Lp-cls都持续提高了基线3.71%。我们使用它们的损失函数组合来可视化CAMs(见公式3)。当仅使用分类损失(Lp-cls)时,结果不会显示边际差异。同时,当仅使用重构损失(Lre)时,结果相比原始结果对某些类别具有更好的定位能力,但该方法无法预测几个类别。当两组损失结合时,结果显示出改进的定位能力,而不会遭受分类损失。

图3:使用损失函数组合可视化预测标签和CAMs。在(d)中,最终的CAMs不仅抑制了过度激活,还将CAMs扩展到完整的对象激活范围。

表2:在PASCAL VOC 2012训练集[14]上评估的伪语义分割标签的mIoU质量。RW,使用AffinityNet的随机游走方法[4];dCRF,密集条件随机场[16]。

4.3.与现有的最先进方法的比较

        为了进一步提高伪像素级注释的准确性,我们按照[4]中的方法,使用Puzzle-CAM训练了AffinityNet。我们采用了ResNeSt架构,它能普遍改进学习到的特征表示,提升图像分类、目标检测、实例分割和语义分割的性能。在表2中,我们报告了基线AffinityNet [4]和Puzzle-CAM使用的原始CAM的性能表现。

        最终合成的伪标签在PASCAL VOC 2012训练集上达到了74.67%的mIoU。然后,使用Puzzle-CAM以全监督模式使用伪标签来训练具有ResNeSt-269[18]骨干的DeepLabv3+[1]分割模型,以获得最终的分割结果。表3比较了所提出方法和先前方法的mIoU值。与基线方法相比,Puzzle-CAM在相同的训练设置下在验证集和测试集上的性能显著提高。图4显示了验证集上的一些定性结果,说明所提出的方法在大型和小型对象上都效果良好。

表3:在PASCAL VOC 2012验证集和测试集上,Puzzle-CAM与现有的最先进方法的比较。I表示图像级标签;S表示外部显著性模型。

图4:PASCAL VOC 2012验证集上的定性分割结果。顶部:原始图像。中间:真实标注。底部:使用Puzzle-CAM生成的伪标签训练的分割模型的预测结果。

5.结论

        在本文中,我们提出了Puzzle-CAM算法,利用图像级标签来缩小全监督语义分割(FSSS)和弱监督语义分割(WSSS)之间的监督差距。为了改进生成一致CAM的网络,我们设计了一个拼图模块,并采用了重构正则化来匹配局部特征和全局特征。Puzzle-CAM不仅能够一致地生成来自局部平铺补丁的特征,而且还更好地适应了真实标注掩码的形状。通过使用我们合成的像素级伪标签训练的分割网络在PASCAL VOC 2012数据集上取得了最先进的性能,这证明了我们方法的有效性。我们相信,Puzzle-CAM作为一个训练模块的概念可以推广,并且将有益于其他弱监督和半监督任务,如语义分割和实例分割。

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

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

相关文章

【测试设计】基于正交法的测试用例设计工具--PICT

目录 前言 下载安装 用例生成 使用示例 具体操作: 资料获取方法 前言 我们都知道成对组合覆盖是一种非常有效的测试用例设计方法,但是实际工作过程中当成对组合量太大,我们往往很难做到有效的用例覆盖。 PICT是微软公司出品的一款成对…

spark-sql数据重复之File Output Committer问题

前言 我们先来回顾下之前介绍过的三种Committer:FileOutputCommitter V1、FileOutputCommitter V2、S3A Committer,其基本代表了整体的演进趋势。 核心代码讲解详细参照:Spark CommitCoordinator 保证数据一致性 OutputCommitter commitTask…

集群部署dolphinscheduler踩坑

本文主要总结一下最新版dolphinscheduler3.1.5的安装过程中遇到的坑。 dolphinscheduler启动报错 Exception in thread "Master-Server" org.springframework.beans.factory.BeanCreationException: Error creating bean with name masterServer: Invocation of in…

先进先出法与加权平均法的比较

加权平均法 加权平均的成本核算方法在计算销货成本和期末库存价值时使用每个库存物料的平均成本。企业将使用以下公式计算每个库存单位(在特定会计期间内)的平均成本: 平均库存成本 (所有采购商品的总成本)/&#xff…

Matlab Optimization Toolbox中的遗传算法工具包(GA)

matlab optimization 中使用了GA求解器 默认的是小于等于 找到GA 工具包 找到 APP选择 Optimization Tool 选择Solver ga - Genetic Algorithm 应用GA solver 定义适应度函数(Fitness function)与问题约束(Constraints) example one 优化函数 sin(x) 2 * cos(x)极其重要的…

【原创】IPTVC2实现方案(文末有demo)

前言: 名词解释: IPTVC2, 全称: 央视国际节目定价发布接口规范,标准版本当前最新为2.7.12 附赠资源链接,侵删:规范 规范中提供的样例,实现基于axis1.4(2006的时代宠物) 基于axis1版本的实现参考: Spring boot 集成Axis1.4 ,使用wsdd文件发…

C语言每日一题:12《数据结构》相交链表。

题目: 题目链接 思路一: 1.如果最后一个节点相同说明一定有交点。 2.使用两个循环获取一下长度,同时可以获取到尾节点。 3。注意初始化lenA和lenB为1,判断下一个节点是空是可以保留尾节点的。长度会少一个,尾节点没有…

【C++修炼之路】多态

👑作者主页:安 度 因 🏠学习社区:StackFrame 📖专栏链接:C修炼之路 文章目录 一、概念二、定义和实现1、虚函数2、虚函数的重写3、多态的构成条件4、重写的例外5、C11 override 和 final6、不能被继承的类7…

RxJava异步编程初探

RxJava 其实就是提供一套异步编程的 API,这套 API 是基于观察者模式的,而且是链式调用的,所以使用 RxJava 编写的代码的逻辑会非常简洁。 RxJava 有以下三个基本的元素: 被观察者(Observable)观察者&…

prometheus+grafana进行服务器资源监控

在性能测试中,服务器资源是值得关注一项内容,目前,市面上已经有很多的服务器资 源监控方法和各种不同的监控工具,方便在各个项目中使用。 但是,在性能测试中,究竟哪些指标值得被关注呢? 监控有…

SqlSugar、Freesql、Dos.ORM、EF、四种ORM框架的对比

SqlSugar、Freesql、Dos.ORM、EF、四种ORM框架的对比 一、默认情况下,导航属性是延迟查询; 答:ORM(Object-relational mapping)即对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。也就是说,ORM是通过使用描述对象和数据库之间映射的元数据…

线程状态

从卖包子的案例学习进程间的通信 public class Test {public static void main(String[] args) {Object objnew Object();Thread th1new Thread(){Overridepublic void run() {synchronized (obj){System.out.println("来三个包子!");try {obj.wait(); /…

IDEA删除本地git仓库、创建本地git仓库、关联其他仓库并上传

IDEA删除本地git仓库、创建本地git仓库、关联其他仓库并上传 删除本地Git仓库 创建本地Git仓库 关联其他仓库并上传 要在IntelliJ IDEA中删除本地Git仓库并创建新的本地Git仓库,以及关联其他仓库并上传,请按照以下步骤进行操作: 删除本地G…

【笔记】数据结构与算法 python-03-列表查找

列表查找 在一个数据结构中,通过一定的方法找出与给定关键字相同的数据元素的过程。 列表查找(线性表查找):从列表(一种线性数据结构,元素按照一定的顺序存储,每个元素都有一个唯一的位置索引…

网络出口技术中的单一出口网络结构,你会用吗?

我们在设计一个园区网络的时候,园区网络的出口需要和运营商的网络进行对接,从而提供internet服务。 在和运营商网络对接的时候,一般采用如下3终方式: 单一出口网络结构 1、网络拓扑 终端用户接入到交换机,交换机直…

干货 ,ChatGPT 4.0插件Review Reader,秒杀一切选品神器

Hi! 大家好,我是专注于AI项目实战的赤辰,今天继续跟大家介绍另外一款GPT4.0插件Review Reader(评论阅读器)。 做电商领域的小伙伴们,都知道选品分析至关重要,可以说选品决定成败,它直接关系到产…

MySQL用通配符过滤数据

简单的不使用通配符过滤数据的方式使用的值都是已知的,但是当搜索产品名中包含ashui的所有产品时,用简单的比较操作符肯定不行,必须使用通配符。利用通配符可以创建比较特定数据的搜索模式。 通配符:用来匹配值的一部分的特殊字符…

【数据分享】1999—2021年地级市市政公用事业和邮政、电信业发展情况相关指标(Excel/Shp格式)

在之前的文章中,我们分享过基于2000-2022年《中国城市统计年鉴》整理的1999-2021年地级市的人口相关数据、各类用地面积数据、污染物排放和环境治理相关数据、房地产投资情况和商品房销售面积、社会消费品零售总额和年末金融机构存贷款余额、地方一般公共预算收支状…

减轻 PWM 的滤波要求

经典脉宽调制器 (PWM) 发出 H 个连续逻辑高电平(1),后跟 L 个连续逻辑低电平(0)的重复序列。每个高电平和低电平持续一个时钟周期 T 1/F (Hz)。结果的占空比可定义为 H/N,其中 N HL 时钟周期。N 通常是 2…

keil固件库的安装 库函数的配置

文章目录: 第一步:下载固件库文件 第二步:创建一个新的文件夹,用来保存固件库文件。在该文件夹下新建文件夹:CMSIS、Lib、Startup、User 第三步:把库文件中文件放入我们建立对应的文件中 1.CMSIS模块 …