当前位置: 首页 > news >正文

L2G: A Simple Local-to-Global Knowledge Transfer Framework for WSSS

摘要

挖掘精确的类感知注意图,即类激活图,是弱监督语义分割的关键。在本文中,我们提出了L2G,一个用于高质量对象注意力挖掘的简单的在线局部到全局知识转移框架。我们观察到,当用局部补丁替换输入图像时,分类模型可以发现具有更多细节的目标区域。考虑到这一点,我们首先利用局部分类网络从输入图像中随机裁剪的多个局部补丁中提取注意力。然后,我们利用全局网络在多个本地注意力地图上在线学习互补的注意力知识。我们的框架引导全局网络从全局视图中学习捕获的丰富的对象细节知识,从而产生高质量的注意力图,可以直接用作语义分割网络的伪注释。实验表明,我们的方法在PASCAL VOC 2012和MS COCO 2014的验证集上分别获得了72.1%和44.2%的mIoU分数,创造了新的技术记录。

Code is available at https://github.com/PengtaoJiang/L2G.

1.引言

我们的经验观察到,与整个输入图像相比,以局部图像块作为输入的分类模型可以发现更多的判别区域。这为利用局部图像patches提高注意图质量提供了一种可行的方法。

图一:

提出的方法的概念工作流程。我们利用从局部网络中提取的具有丰富细节的局部视图注意图来教导全局网络。这使得全局网络能够在线地从局部网络中学习到丰富的局部细节知识,从而获得更完整的对象关注。

我们的方法有以下优点。首先,我们从输入图像的多个局部视图而不是全局视图生成注意图。这使我们能够获得未发现的语义区域的更多细节,这些语义区域在不同的局部视图中也是互补的,如图2所示。其次,通过设计知识转移损失,将互补关注知识以在线学习的方式有效地转移到全局网络中。这使得全局网络能够捕获像素级语义对象细节,并在推理中生成高质量的注意图。最后但并非最不重要的是,整个管道简单而灵活。我们可以选择性地向局部网络添加额外的约束[32],以帮助塑造获得的对象注意力。

图二:我们的L2G注意知识转移方法的动机。最上面一行显示了原始图像(全局视图)和随机裁剪后的多个图像补丁(局部视图)。第二行为CAM[65]生成的注意图。我们可以观察到,与全局视图相比,局部视图的注意图捕获了更多的对象细节。

2.相关工作 

2.2知识蒸馏

我们的工作也与知识蒸馏有关[17,21,61],其目的是将知识从训练有素的教师模型提炼为学生模型。对于图像分类任务,这些工作主要是通过模仿教师模型的预测分布来改进学生模型。此外,也有研究者[20,39]对语义分割任务的知识蒸馏进行了研究。不同的是,我们研究了如何通过在线学习的方式将局部视图捕获的注意知识转移到全局网络中,以更好地利用来自多个视图的互补信息。

3.方法

3.1预备知识

生成注意图的方法。给定输入图像I,设y为图像级标签。最后一个卷积层的输出特征F有C个通道,与类的数量相同。最后一个卷积层之后是一个全局平均池化层,其中特征F被池化为大小为C的向量f^{C}。我们采用s型交叉熵损失函数来计算分类损失,其表达式为:

注意图可以从最后一个卷积层的输出中生成。对于某些c类,注意图A^{c}是从F的c通道导出的,可以表示为

3.2 总体框架 

所提出方法的总体框架如图3所示。在功能上,有四个组成部分:全局网络、局部网络、注意力转移模块和形状转移模块。全局网络和局部网络可以是任意的CNN分类器,如流行的VGGNet[46]或ResNet-38[56]。在注意转移模块中,我们优化了两个损失函数:用于识别语义对象的分类损失lcl和鼓励全局网络模仿局部网络以发现更多判别区域的注意转移损失Lat。在形状转移模块中,我们引入了一个形状约束来损失Lat,产生Lst,以塑造捕获的目标注意力。因此,整体优化后的损失函数可表示为:

当不添加形状约束时,Lkt = Lat。否则,Lkt = Lst。 

 图三:提出方法的总体框架。局部网络捕获的互补注意图通过知识转移损失被提取到全局网络中

3.3. Local-to-Global Attention Transfer

给定输入图像I,我们将其转换为不同视图V的集合,包括全局视图VI和N个局部视图{V1, V2,…, VN},它们是从全局视图中随机裁剪出来的。本地视图{V1, V2,…, VN}被发送到本地网络,专注于生成包含丰富对象细节的注意图。将全局视图VI输入到全局网络中,其目的是从局部网络中学习知识,并在推理中产生对象关注。设{F1, F2,…, FN}为局部网络最后一层卷积的输出,每一层都有C个通道,对应于类的数量。设\hat{F}为具有C + 1个通道的全局网络的最后一个卷积层的输出。分类损失和注意转移损失的定义如下:

 分类损失:本地网络中存在分类损失。具体来说,特征映射{F1, F2,…, FN}的局部视图首先发送到全局池化层,在全局池化层中,特征被池化为一组1D特征向量{f1, f2,…, fN}。给定1D特征向量fi,所有类别的预测概率可由qi = σ(fi)计算。回想一下σ是s型函数。

则分类损失lcls可以写成:

 

Attention Transfer Loss: 我们首先从本地网络生成本地视图的注意力图。我们用Eqn(2)生成注意图{A_{1}^{c}, A_{2}^{c},…,如果c在图像级标签中,则c为第c类。如果c不在图像级标签中,则相应注意图中的注意值为零。为了将局部网络获得的注意力转移到全局网络,我们采用均方误差损失

给定全局网络的输出\hat{F},我们沿着每个位置的通道维度对\hat{F}应用Softmax函数,得到

(这里的 Gc表示Softmax函数应用于 F^的第 c 个通道后,在每个位置的输出值。F^c​ 是 F^ 在第 c 个通道上对应位置的原始输出值。公式中的分母是对 F^的所有 C+1 个通道(包括第 c个通道)应用指数函数后的结果求和,这样做是为了进行归一化。Softmax函数在这里的作用是将原始的输出值 F^c转换为一个概率值,表示在该位置处类别 c 的概率。这样,每个位置的 Gc就可以被解释为该位置属于类别 c的概率。在注意力转移损失的上下文中,Gc​ 将用于与局部网络生成的注意力图 Ac 进行比较,以计算损失。) 

"Gc" 中每个位置的值表示该位置属于类别 c 的概率。设 {G1, G2, ..., GN} 分别表示全局视图中与 {A1, A2, ..., AN} 对应的区域,即每对 (G1, A1) 都是从全局视图的同一坐标裁剪而来。注意力转移损失通过测量 {Ai} 和 {Gi} 之间的差异来定义,具体如下:

在训练过程中,我们对上述两个损失进行了联合优化。在推理过程中,注意力图是从全局网络生成的,而局部网络可以被丢弃。

讨论:我们的方法提供了一种有效的方法来利用来自全局视图和局部视图的补充信息。局部到全局的注意力转移方法使全局网络以在线学习的方式吸收局部网络捕获的丰富的对象细节知识。虽然大多数以前的工作也使用数据增强,如随机裁剪,作为输入,他们没有一个组件,从全局视图在线积累对象细节知识,从裁剪的局部补丁。这使得我们从本地到全局的策略与之前的作品大不相同。我们将在实验部分展示所提出的方法相对于其他方法的更多优势。

3.4. Local-to-Global Shape Transfer

提出的局部到全局的注意力转移策略已经可以比原始CAM获得更多的整体对象注意力[65]。然而,由于注意转移过程仅利用图像级标签,因此在物体边界周围捕获的注意不够清晰。为了更好地捕捉注意图中局部目标的形状,我们尝试通过添加形状约束将辅助的显著目标信息引入注意转移损失中。显著性模型[38]可以作为一种与类别无关的显著性对象检测器,它可以分割前景对象并提供形状信息。(这个显著性模型,跟之前的论文IRN中的类边界图很相似,都是边界分割)

形状转移过程很简单,如图3的右侧所示。给定来自局部网络的注意力图{Ai},我们首先用一个小阈值(例如,0.1)对它们进行二值化,得到二值图{Bi}。然后,我们利用显著性模型生成给定图像I的显著性图S,并得到I上相同坐标为{Si}的注意图{Ai}对应的显著性区域。注意转移损失可以重写为

"×" 表示逐元素乘法,"|Si|" 是指显著性图 Si 的基数(即显著区域的像素数)。通过使用 Bi×Si,我们的目标是移除显著对象之外的注意力区域,这些区域很可能属于背景。这使我们的方法能够充分利用显著性图提供的形状信息,从而产生高质量的注意力图。我们将在实验部分更详细地阐述这一点。需要注意的是,并非所有图像都包含显著对象,因此总是使用公式(7)的上半部分是不合适的。因此,对于那些显著性图没有包含任何区域的图像,我们使用原始的注意力图作为监督,正如公式(7)下半部分所公式化的那样。

值得一提的是,EPS[32]也使用显著性图作为监督,为网络提供形状信息。不同的是,我们的方法更侧重于如何利用多个局部视图,以及如何有效地将学习到的知识从局部网络转移到全局网络。在下文中,我们将展示拟议的局部到全局知识转移相对于EPS的优势。

4.实验 

数据集:PASCAL VOC 2012和MS COCO 2014上进行。

评价指标:使用平均相交-超并(mIoU)[41]作为评价指标。

数据增强:对于数据增强,输入图像的短尺寸被调整为512。全局视图的分辨率为448×448,从输入图像裁剪而来。从全局视图裁剪出分辨率为320×320的局部图像补丁

分类网络:在[2,32]之后,我们使用ResNet-38[56]作为我们的分类网络。此外,我们还在分类网络中使用了像素相关模块(PCM)[52]来约束目标物体的形状。注意图是使用多尺度测试策略从全局网络生成的[2]。(SEAM模型里面也用了PCM

表一:不同网络设置下mIoU得分的比较。基线为原始CAM[65]。SW:滑动窗口策略在推理期间应用于基线[65]。Local:使用多个局部图像补丁代替输入图像来训练分类网络。L2G:我们的方法只有局部到全局的注意力转移。mIoUtrainaug表示伪分割标签在增广训练集上的mIoU分数。

表2:消融实验中各组成部分的重要性。L2G: Local-to-global的注意力转移。形状:局部到全局的形状转换。可以看到,与仅使用本地网络的设置相比,我们的本地到全局传输策略可以显著提高性能。当结合形状信息时,L2G仍然可以大大提高性能 

图4:不同方法注意图的定性比较。

 图5:消融对局部视图大小和数目的影响

Local view sampling strategy. 首先,我们研究了抽样策略对注意图的影响。我们比较了两种局部视图采样策略。一种是随机抽样策略,另一种是均匀抽样策略。我们通过在全局视图上均匀滑动窗口来实现统一采样策略。通过这种方式,每个像素都可以被封闭在某个局部视图中。对于分辨率为448×448的全局视图,我们将窗口大小设置为320×320,步幅设置为64,从而获得9个本地视图。为了与均匀采样策略进行公平的比较,我们对随机采样策略随机采样9个图像补丁。使用这两种策略的伪分割标签的质量非常接近(随机68.8% vs均匀68.5%)。为了灵活调整局部视图数N,我们在方法中选择了随机采样策略。

补丁大小和补丁编号n:补丁大小控制局部视图的空间大小。补丁号N表示发送到局部网络的局部视图的数量。为了研究它们对注意力质量的影响,我们选择了5种不同的补丁大小[240×240, 280×280, 320×320, 360×360, 400×400]。在研究补丁数N时,我们从[1,2,4,8,16]的范围中选择局部视图的个数。如图5所示,我们观察到当N增大时,伪分割标签的质量变好。当局部视图数大于4时,性能趋于鲁棒性。对于补丁大小,我们可以看到,当局部视图大小为320×320时,我们的方法达到了最佳性能。当尺寸大于320×320时,伪分割标签的质量大幅下降。

表3:无显著性图的PASCAL VOC训练集上伪分割标签的比较

表4:结合显著性图的PASCAL VOC训练集上伪分割标签的比较

 

如表1所示,local-to-global attention transfer strategy的效果远好于基线CAM[65],验证了我们方法的有效性。然而,滑动窗口策略的结果甚至比原来的凸轮更差。我们认为滑动窗口策略不适合挖掘非判别目标区域,因为训练的模型仍然基于具有全局视图的输入。这使得在处理全局视图时,具有不同外观和独特区域的未发现对象区域难以响应。

全局网络中的分类损失。局部网络具有分类损失来引导注意力产生。有人可能会问:“全局网络也需要分类损失吗?”为了回答这个问题,我们尝试在全局网络中添加一个分类损失。我们观察到,当添加分类损失时,由全局网络生成的注意图定位到非常小的目标区域。伪分割标签的质量从70.3%下降到53.8%。我们认为分类损失和注意转移损失的作用是相反的。分类损失使注意力具有更强的辨别能力。注意力转移损失有助于将非歧视性区域的注意力转移到全局网络。因此,注意力地图变得更糟。

局部和全局骨干网共享。在这里,我们探讨了有/没有局部和全局网络骨干网共享之间的性能差距。当局部网络和全局网络共用同一骨干网时,训练集上伪分割标签的mIoU分数为69.2%。经过分割网络的训练,验证集上的mIoU得分为70.9%。当局部网络和全局网络使用不同的骨干网时,伪分割标签的mIoU分数可以提高1.1%。最终分割结果也获得了1.2%的mIoU增益。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深入理解MySQL索引:原理、数据结构与优化策略
  • 原子操作的概念
  • 通过建立系统用例模型和静态模型,搭建教学管理系统
  • React学习笔记(一)——react基础
  • 关于python的Django项目性能优化
  • 软件测试3333
  • 苹果系统更新失败怎么办?教你几招轻松应对!
  • 游戏开发中客户端和服务器逻辑
  • pcdn闲置带宽被动收入必看教程。第五讲:光猫更换和基础设置
  • Oracle23ai新特性FOR LOOP循环控制结构增强
  • 工业互联网与大数据实训室解决方案
  • [Linux网络】基本网络命令socket编写TCP应用层实现简易计算器
  • 【TVM 教程】使用 tvmc 接口在 Adreno™ 上部署预训练模型
  • Window下node安装以及配置
  • intel ECI作为ACRN VM使用dpdk(vfio和iommu问题)以及img扩容
  • Computed property XXX was assigned to but it has no setter
  • Debian下无root权限使用Python访问Oracle
  • Iterator 和 for...of 循环
  • JavaScript 基础知识 - 入门篇(一)
  • JS实现简单的MVC模式开发小游戏
  • Just for fun——迅速写完快速排序
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Linux快速复制或删除大量小文件
  • Mysql优化
  • Odoo domain写法及运用
  • Redash本地开发环境搭建
  • 笨办法学C 练习34:动态数组
  • 给初学者:JavaScript 中数组操作注意点
  • 构造函数(constructor)与原型链(prototype)关系
  • 前端自动化解决方案
  • 使用SAX解析XML
  • 数据可视化之 Sankey 桑基图的实现
  • 用Visual Studio开发以太坊智能合约
  • ​Spring Boot 分片上传文件
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (152)时序收敛--->(02)时序收敛二
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (简单) HDU 2612 Find a way,BFS。
  • (十八)三元表达式和列表解析
  • (十三)Maven插件解析运行机制
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • *2 echo、printf、mkdir命令的应用
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net CHARTING图表控件下载地址
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET 分布式技术比较
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .NET中使用Redis (二)
  • .sys文件乱码_python vscode输出乱码