End-to-End Weakly-Supervised SemanticSegmentation with Transformers

news2024/12/23 20:43:48

摘要

弱监督语义分割(WSSS)使用图像级标签是一项重要且具有挑战性的任务。由于高训练效率,端到端的WSSS解决方案受到社区越来越多的关注。然而,当前的方法主要基于卷积神经网络,并未正确地探索全局信息,因此通常导致对象区域不完整。为了解决上述问题,本文引入了Transformer,它自然地整合全局信息,以生成更完整的端到端WSSS的初始伪标签。受Transformer中的自注意力和语义关联之间的内在一致性的启发,我们提出了一种从注意力中学习语义关联的模块(AFA),以从Transformer中的多头自注意力(MHSA)中学习语义关联。学习到的关联然后被利用来优化用于分割的初始伪标签。此外,为了有效地获得可靠的关联标签以监督AFA,并确保伪标签的局部一致性,我们设计了一个像素自适应精炼模块,它整合了低级图像外观信息以精炼伪标签。我们进行了大量实验,我们的方法在PASCAL VOC 2012和MS COCO 2014数据集上分别达到了66.0%和38.9%的mIoU,明显优于最近的端到端方法和一些多阶段竞争对手。代码可在https://github.com/rulixiang/afa找到。

1. Introduction

  • 语义分割是视觉中的一项基本任务,其目的是标记图像中的每个像素。
  • 完全监督语义分割模型通常需要大量的数据和劳动密集型的像素级注释。为了解决这个问题,最近的一些方法试图设计使用弱/廉价标签的语义分割模型,如图像级标签[2,25,47,23,50,27,35],点[3],涂鸦[28,54,52]和边界框[24]。
  • 我们的方法属于仅使用图像级标签的弱监督语义分割(WSSS),这是所有WSSS场景中最具挑战性的一种。
  • 目前流行的图像级标签WSSS方法通常采用多阶段框架[35,23,22]。首先训练一个分类模型,然后生成类激活图(Class Activation Maps, CAM)[59]作为伪标签。细化后,利用伪标签训练独立的语义分割网络作为最终模型。缺点:针对不同目的训练多个模型,使训练流程复杂化,降低了训练速度
  • 为了避免这个问题,最近针对WSSS提出了几种端到端解决方案[4,52,53,3]。缺点:基于卷积神经网络,不能很好地探索全局特征关系,而全局特征关系对于激活完整的目标区域至关重要[13],从而严重影响生成的伪标签的质量。
  • 如图1所示,我们发现transformers中的多头自注意(MHSA)可以捕获语义级的亲和力,从而可以用来改进粗糙的伪标签。然而,在MHSA中捕获的亲和力仍然是不准确的(图1(b)),即直接将MHSA作为亲和力来修改标签在实践中效果并不好,如图2 (c)所示。
  • 我们提出了一个基于transformer的WSSS端到端框架。利用transformers来生成CAM作为初始伪标签,进一步利用Transformer块中的固有亲和力来改进初始伪标签。由于MHSA中的语义亲和力较粗,我们提出了一个AFA (affinity from Attention)模块,该模块旨在获得可靠的伪亲和力标签,以监督Transformer中从MHSA中学习到的语义亲和力。利用学习到的亲和力通过随机游走传播来修正初始伪标签[2,1],这可以扩散目标区域并抑制错误激活的区域。为了获得高置信度的伪关联标签,并确保传播的伪标签的局部一致性,我们进一步提出了一种像素自适应细化模块(PAR),基于像素自适应卷积[4,37],PAR有效地整合了局部像素的RGB和位置信息来细化伪标签,从而更好地与底层图像外观对齐。以端到端的方式进行训练,PASCAL VOC 2012[12]和MS COCO 2014[29]的实验结果表明,我们的方法显著优于最近的端到端方法和几个多阶段竞争对手。
  • 我们的贡献如下:(1)我们提出了一个基于端到端转换器的带有图像级标签的WSSS框架。据我们所知,这是第一次为WSSS探索Transformers。(2)利用Transformer的固有优点,设计了一个AFA (Affinity from Attention)模块。AFA从MHSA中学习可靠的语义亲和力,并利用学习到的亲和力传播伪标签。(3)我们提出了一种高效的像素自适应细化(PAR)模块,该模块结合了局部像素的RGB和位置信息进行标签细化。

为了降低标注成本并提高数据利用效率,研究者们提出了各种廉价标签的获取方式,例如:

  • 图像级标签:只需要对整张图像进行标注,而不需要对每个像素进行标注。
  • 点标注:只需要标注图像中的几个点或区域。
  • 线标注:通过标注图像中的线条或轮廓来指示物体的位置和形状。
  • 包围框标注:用矩形或多边形包围框标注物体的位置。

这些廉价标签可以帮助在数据量有限或标注成本较高的情况下训练深度学习模型,特别是在弱监督学习任务中,如弱监督语义分割。通过利用廉价标签,研究者可以更有效地利用现有数据资源,并在一定程度上弥补数据标注的不足。

在语义分割任务中,随机游走传播通常用于根据像素之间的语义关联性来调整或更新像素的标签。具体来说,通过构建一个表示像素之间关系的转移矩阵,随机游走传播可以根据像素之间的相似性或亲和力来传播标签信息,从而使具有相似语义的像素被赋予相似的标签。

通过随机游走传播,可以在图像分割任务中实现信息的传递和整合,从而改善分割结果的准确性和连续性。这种方法可以帮助模型更好地理解图像中的语义结构,并减少由于噪声或不准确标签引起的错误分割。

2. Related Work 

2.1. Weakly-Supervised Semantic Segmentation

  • 大多数带有图像级标签的WSSS方法都是在一个多阶段的过程中完成的。通常,这些方法训练一个分类网络,用CAM生成初始的伪像素级标签。为了解决CAM存在的对象激活不完整的缺点,方法有:“擦除策略”来擦除最具有区分性的区域,从而发现更完整的对象区域;累积激活区域;从多个输入图像中挖掘语义区域,发现相似的语义区域;通过训练分类网络执行辅助任务来确保完整的对象发现;最近的一些研究从新的角度解释CAM生成,例如因果推断、信息瓶颈理论和反对抗攻击。

  • [31]提出了一种自适应期望最大化框架来推断分割的伪ground truth。[32]将带有图像级标签的WSSS作为一个多实例学习(MIL)问题来解决,并设计了Log-Sum-Exp聚合函数来驱动网络分配正确的像素标签。结合nGWP池,像素自适应掩码细化,和随机低级信息传递,1Stage[4]达到了与多阶段模型相当的性能。在[53]中,RRM以CAM作为初始伪标签,利用CRF[20]生成精标作为分割监督。RRM还引入了辅助的正则化损失[41],以确保分割图与底层图像外观之间的一致性。[57]引入了自适应亲和场[17],利用加权亲和核和特征与原型的对齐损失来保证语义保真度。上述方法一般采用CNN,但存在卷积固有的缺点。

 自适应亲和场(Adaptive Affinity Fields)是一种用于语义分割任务的方法,旨在根据图像中像素之间的语义关联性来调整分割结果的技术。该方法通过学习像素之间的亲和性或相似性,以便更好地捕捉图像中不同区域之间的语义关系,并在分割过程中引入更多的上下文信息。

自适应亲和场的关键思想是根据像素之间的语义相似性来调整分割结果,从而提高分割的准确性和连续性。通过引入自适应亲和场,模型可以更好地理解图像中的语义结构,并在分割过程中考虑到像素之间的关联性,从而产生更加准确的分割结果。

2.2. Transformer in Vision 

  • Dosovitskiy等人提出了Vision Transformer (ViT),这是第一个将纯Transformer架构应用于视觉识别任务的作品。Gao等人提出了第一种基于transformer的弱监督对象定位(WSOL)方法(TS-CAM)。与WSSS类似,WSOL的目标是仅通过图像级监督来定位对象。TS-CAM训练具有图像级监督的ViT模型,生成语义感知的CAM,并将生成的CAM与语义不可知的注意图耦合。语义不可知的注意映射来源于类标记对其他patch标记的注意。TS-CAM并没有利用MHSA固有的语义亲和力来促进定位结果。

在语义分割任务中,语义不可知的注意图(Semantic Agnostic Attention Map)是指一种注意力机制,其目的是在不考虑像素之间的语义关系的情况下,对图像中的不同区域进行加权。这种注意图不受特定语义信息的影响,而是根据像素之间的视觉相似性或空间关系来确定注意力权重。

通过语义不可知的注意图,模型可以在不依赖具体语义信息的情况下,对图像中的不同区域进行加权,从而更好地捕捉图像的视觉特征和结构信息。这种注意图可以帮助模型在语义分割任务中更好地理解图像的视觉内容,提高分割的准确性和鲁棒性。

3. Methodology 

首先介绍用于生成初始伪标签的Transformer主干和CAM。然后,我们提出了来自注意的关联(AFA)模块来学习可靠的语义关联,并使用学习到的关联传播初始伪标签。然后,我们引入了像素自适应细化(PAR)模块来保证伪标签的局部一致性。优化的总体损失函数在3.5节中给出。

3.1. Transformer Backbone

  •   使用transformer作为主干
  • 输入图像分割为h × w块,其中每个块被平面化并线性投影形成h × w标记。在每个Transformer块中,多头自关注(MHSA)用于捕获全局特征依赖项。
  • 对于第i个注意力头(head),块标记(patch tokens)通过多层感知机(Multi-Layer Perception,MLP)层进行投影,构建了查询(queries)Qi ∈ \mathbb{R}^{hw\times d_{k}},键(keys)Ki ∈ \mathbb{R}^{hw\times d_{k}}和值(values)Vi ∈ \mathbb{R}^{hw\times d_{v}}。其中,dk表示查询和键的特征维度,dv表示值的特征维度。基于查询Qi、键Ki和值Vi,通过自注意力机制(self-attention),得到了自注意力矩阵Si和输出Xi。

  •  Transformer块的最终输出Xo是通过将(X1||X2||...||Xn)馈送到前馈层(FFN)来构建的,即Xo = FFN(X1||X2||...||Xn),其中FFN(·)由Layer Normalization[6]和MLP层组成。(·||·)表示连接操作。通过堆叠多个Transformer块,主干为后续模块生成特征映射。

在Transformer模型中,最终输出 Xo​ 通常是一个张量(tensor),而不是单个向量。这是因为Transformer模型通常处理的是序列数据,如文本序列或图像像素序列,因此输出也是对整个序列的表示。

Xo​ 的形状通常是 (seq_length×batch_size×hidden_size),其中:

  • seq_length 表示序列长度,即输入序列的长度;
  • batch_size 表示批量大小,即一次输入的样本数量;
  • hidden_size 表示隐藏单元的维度,即每个位置或时间步的特征向量的维度。

因此,Xo​ 是一个三维张量,其中每个位置包含一个向量,表示模型对输入序列的每个位置的表示。这种多维张量的形式使得Transformer模型能够有效地捕捉序列中的复杂关系和特征,从而在各种任务中取得良好的性能。

总之,Transformer模型的最终输出 Xo​ 是一个三维张量,其中包含了对输入序列的全局表示,而不是单个向量。

3.2. CAM Generation 

对于提取的特征图F ∈ \mathbb{R}^{hw\times d}和给定的类别c,通过将特征图F中的特征与它们对类别c的贡献加权,即通过分类层中的权重矩阵W,生成激活图M^{c}

  •  其中ReLu函数用于删除负激活
  • 最小-最大归一化应用于将Mc缩放到[0;1]。
  • 背景分数β (0 < β < 1)来区分前景和背景区域。

生成激活图的过程通常如下:

  1. 前向传播计算:将输入数据通过神经网络模型进行前向传播计算,直到达到要观察的中间层。在这个中间层,可以获取该层的输出,即激活图。

  2. 可视化:将中间层的输出进行可视化处理,通常是将其转换为图像形式展示。这可以通过不同的方法实现,如将特征图进行归一化处理并映射到可视化范围内。

Transformer模型:在Transformer模型中,激活图可以是自注意力机制中的注意力权重矩阵,展示了模型在不同位置之间的关注程度。这些权重矩阵可以用来可视化模型对输入序列的关注模式。

负激活可能代表以下情况之一:

  1. 抑制作用:在某些情况下,负激活可能表示神经元对某些特征或模式的抑制作用。这意味着当输入数据中包含某些特征时,神经元的激活值会变为负数,从而抑制该特征的影响。

  2. 反馈信号:负激活也可能表示神经元对输入数据的反馈信号。在某些情况下,神经元的负激活可以帮助网络更好地学习复杂的模式和特征。

 3.3. Affinity from Attention

MHSA中习得的亲和力通常是粗糙和不准确的,我们提出了来自注意力的亲和力模块(AFA)来解决这个问题。

假设Transformer块中的MHSA表示为S\epsilon \mathbb{R}^{hw\times hw\times n},hw是flattened空间大小,n是注意头的数量。在我们的AFA模块中,我们直接通过线性组合多头注意来产生语义亲和力,即使用MLP层。本质上,自关注机制是一种有向图模型[43],而亲和矩阵应该是对称的,因为共享相同语义的节点应该是相等的。要进行这样的变换,我们只需将S和它的转置相加。因此,预测的语义关联矩阵A\epsilon \mathbb{R}^{hw\times hw}表示为

伪亲和标签生成: 为了学习有利的语义亲和度A,关键的一步是推导一个可靠的伪亲和度标签Y_{aff}作为监督。如图3所示,从经过细化的伪标签派生Y_{aff}(细化模块将在后面介绍)

我们首先使用两个背景分数βl和βh,其中0 < βl < βh < 1,将改进的伪标签过滤到可靠的前景、背景和不确定区域。形式上,给定CAM M\epsilon \mathbb{R}^{h\times w\times C},伪标签Yp被构造为

其中0和255分别表示背景类的索引和被忽略的区域。Argmax(·)提取激活值最大的语义类。 

通过调整背景分数(βh,βl)来过滤精细化的伪标签,以区分可靠的前景、背景和不确定区域。研究表明,较大的βh和较小的βl可以产生更可靠的伪标签,但会减少有效标签的数量。相反,较小的βh和较大的βl会引入噪音到伪标签中。在实验中,平均βh和βl的值始终为0.45,这是在生成CAM时的首选背景分数。 

亲和性矩阵:亲和性矩阵通常用于表示元素之间的关联程度或相似性。在图像处理和语义分割任务中,亲和性矩阵可以表示不同像素之间的语义关系。矩阵中的每个元素表示对应元素之间的亲和性得分,通常是一个实数值。高得分表示元素之间更相关或更相似,低得分表示关联程度较低。

hw:hw通常表示一个值,代表了一个张量在空间维度上的大小。通常情况下,h表示高度(height),w表示宽度(width)。因此,hw可以理解为一个张量在空间维度上的展平大小,即高度乘以宽度。在深度学习中,hw常常用于表示特征图的大小或者展平后的特征向量的长度。

自关注机制(Self-Attention Mechanism)是一种在深度学习中常用的机制,用于捕捉序列数据中不同位置之间的依赖关系。自关注机制通常应用于Transformer等模型中,用于学习序列数据中每个位置与其他位置之间的关联程度,从而更好地捕捉全局信息。

关于自关注机制是一种有向图模型的含义,可以理解为以下几点:

  1. 有向图模型:在自关注机制中,可以将序列数据看作是一个有向图,其中每个位置(或单词)都是图中的节点,而自关注机制则用于学习节点之间的关系。在这个有向图中,每个节点可以与其他节点建立连接,表示它们之间的依赖关系或者注意力权重。

  2. 节点之间的关系:自关注机制通过学习节点之间的关系,可以确定每个节点在序列中的重要性或者与其他节点的关联程度。这种关系可以是对称的(即节点之间的关系是相互的)也可以是非对称的(即节点之间的关系是单向的),这取决于具体的自关注机制的设计。

  3. 全局信息捕捉:通过将序列数据建模为有向图,并利用自关注机制学习节点之间的关系,模型可以更好地捕捉序列数据中的全局信息和长距离依赖关系。这有助于提高模型在处理序列数据任务(如自然语言处理、语音识别等)时的性能和泛化能力。

因此,将自关注机制视为一种有向图模型意味着将序列数据中的位置或单词视为图中的节点,并利用自关注机制学习节点之间的关系,以便更好地理解和利用序列数据中的信息。

 伪亲和标签Yaff ∈ Rhw×hw是从Yp中导出的。具体来说,对于Yp,如果像素(i, j)和(k, l)共享相同的语义,我们将它们的亲和性设置为正;否则,它们的亲和性被设置为负。请注意,如果像素(i, j)或(k, l)来自被忽略的区域,则它们的亲和性也将被忽略。此外,我们只考虑像素(i, j)和(k, l)在同一局部窗口的情况,并忽略远距离像素对的亲和性。亲和损失。生成的伪亲和标签Yaff然后用于监督预测的亲和性A。亲和损失项Laff构造如下:

式中R+、R−分别为Yaf f中的正、负样本集。N +和N−计算“R+”和“R−”的个数。直观地,Eq. 5强制网络从MHSA中学习高度自信的语义亲和关系。另一方面,由于亲和预测A是MHSA的线性组合,Eq. 5也有利于自我注意的学习,进一步有助于发现整体对象区域。 

在亲和力损失(Affinity Loss)的公式中,惩罚模型对正样本和负样本的置信度不足或过高是通过损失函数的设计来实现的。在公式中,通过sigmoid函数将模型预测的亲和力值映射到[0,1]之间,使得损失函数能够衡量模型对亲和力的置信度。这里的置信度可以理解为模型对两个像素之间是否属于同一语义类别的信心程度。

具体来说,公式中的两部分分别对应于正样本和负样本的惩罚:

  1. 正样本部分

    • 正样本部分的损失项为:1−sigmoid(Aij,kl​),其中Aij,kl​表示模型预测的两个像素之间的亲和力值。这部分惩罚模型对正样本的置信度不足,即当模型对正样本的亲和力值较低时,损失值较高,从而促使模型增加对正样本之间语义关联的置信度。
  2. 负样本部分

    • 负样本部分的损失项为:sigmoid(Aij,kl​),这部分惩罚模型对负样本的置信度过高,即当模型对负样本的亲和力值较高时,损失值较高,从而减少模型对负样本之间关系的学习,避免过度关注负样本的影响。

通过这样的设计,亲和力损失可以引导模型更准确地学习到正样本之间的语义关联,同时避免过度学习负样本之间的关系,从而提高模型在语义分割等任务中的性能。损失函数的设计旨在惩罚模型对正负样本的置信度不足或过高,以促使模型更好地学习到语义关联。

Propagation with Affinity:学习到的可靠语义亲和度可以用来修正初始CAM,根据[2,1],我们通过随机行走[44]来完成这个过程。对于学习到的语义亲和矩阵A,得到语义转移矩阵T为:

 其中α > 1是忽略a中平凡亲和值的超参数,D是行规范化a的对角矩阵。

初始CAM M\epsilon \mathbb{R}^{h\times w\times C}的随机游走传播完成为:

 其中vec(·)向量化m。这种传播过程扩散具有高亲和力的语义区域,并抑制错误激活的区域,以便激活映射更好地与语义边界对齐。

3.4. Pixel-Adaptive Refinement

如图3所示,伪亲和标签Yaf f是由初始伪标签衍生而来。然而,最初的伪标签通常是粗糙的,并且局部不一致,即具有类似低级图像外观的相邻像素可能不具有相同的语义。为了保证局部一致性,[19,53,57]采用密集CRF[20]对初始伪标签进行细化。然而,在端到端框架中,CRF并不是一个好的选择,因为它显著降低了训练效率。受[4]利用像素自适应卷积(pixel-adaptive convolution)[37]提取局部RGB信息进行细化的启发,我们将RGB和空间信息结合起来定义低级的成对亲和力,并构建了像素自适应细化模块(pixel-adaptive refinement module, PAR)

给定输入图像I\epsilon \mathbb{R}^{h\times w\times 3},对于位置(I;J)和(k);l), RGB和空间成对项定义为:

  • 式中Iij、Pij表示像素的RGB信息和空间位置(i;j) 
  • 在实践中,我们使用XY坐标作为空间位置
  • σrgb和σpos分别表示RGB和位置差的标准差。
  • W1和w2分别控制κrgb和κpos的平滑度

然后用softmax对κrgb和κpos进行归一化并相加,构建PAR的亲和核,即 

  • (x; y)是从像素位置(i; j)的邻居集N(i; j)中进行采样的,其中w3用于调整位置项的重要性。 

这些标准差用于定义低级成对亲和性,以帮助在像素自适应细化模块中进行像素自适应细化。在该模块中,RGB和空间信息被结合起来,通过计算RGB和空间成对项的差异来构建亲和性核。这些标准差σrgb和σpos以及权重w1和w2控制了RGB和位置成对项的平滑程度。

亲和性核用于改进初始伪标签,以确保局部一致性和更好地对齐低级图像外观。

基于构建的亲和性核,我们对初始CAM和传播CAM进行了细化。细化过程进行多次迭代。对于CAM M\epsilon \mathbb{R}^{h\times w\times C},在第t次迭代中,我们有以下操作。 

对于相邻像素集N(·),我们遵循[4],将其定义为具有多个膨胀率的8路相邻。这样的设计保证了训练效率,因为给定像素的扩展邻居可以很容易地使用3×3扩展卷积提取。

8邻域表示一个像素点周围的8个相邻像素点,即上、下、左、右以及四个对角方向的像素点。而多个膨胀率则是指在卷积操作中使用不同的膨胀率来获取不同尺度的邻域信息。

 3.5. Network Training

如图3所示,我们的框架由三个损失项组成,即分类损失Lcls、分割损失Lseg和亲和损失Laff。

对于分类损失,按照惯例,我们将聚合特征输入到分类层中,计算分类概率向量pcls,然后采用多标签软边际损失作为分类函数。

其中C为类的总数,y为真实图像级标签。

 对于分割损失Lseg,我们采用了常用的交叉熵损失。如图3所示,对分割分支的监督是经过修改的具有亲和传播的标签。为了获得与低层图像外观更好的对齐,我们使用所提出的PAR进一步细化传播标签。亲和学习的亲和损失Laff在前面的公式5中有描述。

总损失是lcls、laff和Lseg的加权和。此外,为了进一步提升性能,我们还采用了[41,57,54,53]中使用的正则化损失Lreg,保证了分割预测的局部一致性。总损失最终表示为

 在λ1;λ2和λ3平衡了不同损失的贡献

4. Experiments

4.1. Setup

数据集:PASCAL VOC 2012和MS COCO 2014数据集,PASCAL VOC和MS COCO训练集中的图像仅用图像级标签进行注释。默认情况下,我们报告mean Intersection-Over-Union(mIoU)作为评估标准。

Network Configuration.:对于Transformer主干,我们使用Segformer[49]中提出的Mix Transformer (MiT),它比vanilla ViT[58]更适合用于图像分割任务的主干。MiT使用重叠patch嵌入保持局部一致性,使用空间约简自关注加速计算,使用带卷积的FFN安全取代位置嵌入。对于分割解码器,我们使用MLP解码器头[49],它融合了用于预测的多层次特征映射和简单的MLP层。骨干参数使用ImageNet-1k[10]预训练权值初始化,其他参数随机初始化。

Implementation Details.

  • AdamW优化器,对于骨干参数,初始学习率设置为6 × 10−5,并使用多项式调度器在每次迭代中衰减。
  • 其他参数的学习率为骨干参数学习率的10倍。
  • 权重衰减因子设置为0.01。对于数据增强,随机重新缩放范围为[0.5;2.0],随机水平翻转,随机裁剪,裁剪尺寸为512×512。批量大小设置为8。
  • 对于PASCAL VOC数据集的实验,我们对网络进行了20000次迭代训练。为了确保初始伪标签是有利的,我们为2000次迭代预热分类分支,为接下来的4000次迭代预热关联分支。在MS COCO数据集上的实验,总迭代次数为80,000次。因此,分类分支和亲和分支的预热迭代次数分别为5000次和15000次。
  • 对于伪标签生成,背景阈值(βh;βl)为(0.55;0.35)。在PAR中,与[4]相同,提取相邻像素的膨胀率为[1,2,4,8,12,24)。我们设置权重因子(w1;w2;W3) as (0.3;0.3;0.01)。在计算亲和性损失时,忽略远程亲和性对的本地窗口半径设置为8。在Eq. 6中,我们将功率因数α设为2。Eq. 12中的权重因子分别为0.1、0.1、0.01。

 4.2. Initial Pseudo Label Generation.

我们使用流行的CAM来生成初始的伪标签。经验表明,对于基于cnn的分类网络,池化方法的选择显著影响CAM的质量。具体来说,全局最大池化(gmp)倾向于低估对象大小,而全局平均池化(gap)通常高估对象区域[19,59]。本文研究了基于transformer的分类网络的有利池化方法。我们首先用top-k池化推广gmp和gap,即:在每个特征映射中平均前k%的值。在这种情况下,gmp和gap是top-k池化的两种特殊情况,即top-100%和top-1池化。我们在表1中给出了不同k的top-k池化的影响。从表1可以看出,在我们的框架中,对于基于transformer的分类网络,使用gmp进行特征聚合有助于生成具有良好性能的CAM,这得益于自关注的全局建模能力。

将全局最大池化(global max-pooling,gmp)和全局平均池化(global average-pooling,gap)与top-k池化进行了泛化。这里的泛化指的是将gmp和gap这两种传统的池化方法扩展到了top-k池化的形式。

具体来说,top-k池化是一种池化方法,它不再是简单地选择所有值中的最大值(gmp)或平均值(gap),而是选择每个特征图中的前k%的值进行池化。在这种情况下,gmp和gap可以看作是top-k池化的两种特殊情况,即top-100%和top-1池化。

通过将gmp和gap泛化为top-k池化,作者可以在Transformer-based分类网络中使用不同的k值来探索哪种池化方法对于生成具有良好性能的类激活图(CAM)更为有效。

 4.3. Ablation Study and Analysis

消融分析的定量结果见表2。表2显示,我们基于Transformers的基线模型在PASCAL VOC值集上实现了46.7%的mIoU。

 AFA的动机是从MHSA中学习可靠的语义亲和力,并用学习到的亲和力修正伪标签。在图4中,我们给出了一些自注意映射(从最后一个Transformer块中提取)和学习到的亲和映射的示例图像。从图4可以看出,我们的AFA可以有效地从不准确的MHSA中学习到可靠的语义亲和力。AFA模块中的亲和度损失也促使MHSA更好地建模语义关系。在图4中,我们还给出了我们的模型在没有AFA模块(w/o AFA)、有AFA模块但没有随机行走传播(AFA w/o prop:)和有完整AFA模块的情况下生成的伪标签。对于生成的伪标签,AFA模块带来了显著的可视化效果,亲和性传播过程进一步扩散了语义亲和性高的区域,抑制了语义亲和性低的区域。

在表3中,我们报告了生成的伪标签在PASCAL VOC训练和val集合上的定量结果。 结果表明,AFA模块中的亲和学习损失显著提高了伪标签的准确率(从训练集上的54.4% mIoU提高到66.3% mIoU)。传播过程可以进一步提高伪标签的可靠性,从而获得表2所示的性能收益。还注意到,使用朴素MHSA的传播显著降低了准确性,证明了我们的动机和AFA模块的有效性。

 PAR:提出的PAR旨在使用低级图像外观和位置信息来改进初始伪标签。在图5中,我们给出了定性改进 PAR,图5显示PAR有效地抑制了错误激活的区域,使其更好地与低水平边界对齐。

 如表4所示,我们的PAR将CAM(使用Transformer基线生成)从48.2%提高到52.9%,优于PAMR [4], PAMR也是基于扩展的像素自适应卷积来合并局部图像外观信息。表4也显示了PAR中核κpos的位置有利于CAM的细化。

 4.4. Comparison to State-of-the-art

 5. Conclusion

在这项工作中,我们探索了用于WSSSS任务的Transformer架构的内在优点。具体来说,我们使用基于transformer的主干来生成CAM作为初始伪标签,避免了CNN的固有缺陷。此外,我们注意到MHSA和语义亲和力之间的一致性,因此提出了AFA模块。AFA从伪标签中派生出可靠的亲和标签,通过施加亲和标签来监督MHSA,并产生可靠的亲和预测。通过随机游走传播,利用学习到的亲和力对初始伪标签进行修正。在PASCAL VOC和MS COCO数据集上,我们的方法实现了端到端WSSS的最新性能。从更广泛的角度来看,该方法也为视觉变形提供了一个新的视角,即利用语义关系引导自关注,以确保更好的特征聚合。

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

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

相关文章

在Visual Studio配置C++的netCDF库的方法

本文介绍在Windows电脑的Visual Studio软件中&#xff0c;配置C 语言最新版netCDF库的方法。 netCDF&#xff08;Network Common Data Form&#xff09;是一种用于存储、访问和共享科学数据的文件格式和库&#xff0c;其提供了一种灵活的方式来组织、描述和存储多维数据&#x…

【系统架构设计师考试大纲】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱考试目标考试要求考试题目题型分析计算机基础知识&#xff08;20%&#xff09;信息化战略与规划&#xff08;9%&#xff09;软件工程&#xff08;25%&#xff09;系统架构设计&#xff08;35%&#xff09;信…

适用于 Windows 的7大数据恢复软件解决方案

数据丢失是数字世界中令人不快的一部分&#xff0c;它会在某一时刻影响许多计算机用户。很容易意外删除一些重要文件&#xff0c;这可能会在您努力恢复它们时带来不必要的压力。幸运的是&#xff0c;数据恢复软件可以帮助恢复已删除的文件&#xff0c;即使您没有备份它们。以下…

AI大模型与小模型之间的“脱胎”与“反哺”(第三篇)

51. **异构图神经网络集成&#xff08;Heterogeneous Graph Neural Network Integration&#xff09;**&#xff1a; 构建异构图神经网络来捕获和整合各行业间复杂的实体关系及属性信息。每个行业的小模型可视为一个子图&#xff0c;将它们整合进一个统一的大图模型中&#xff…

力扣206反转链表

206.反转链表 力扣题目链接(opens new window) 题意&#xff1a;反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 1&#xff0c;双指针 2&#xff0c;递归。递归参考双指针更容易写&#xff0c; 为什么不用头插…

学习JAVA的第十三天(基础)

目录 API之Arrays 将数组变成字符串 二分查找法查找元素 拷贝数组 填充数组 排序数组 Lambda表达式 集合的进阶 单列集合 体系结构 Collection API之Arrays 操作数组的工具类 将数组变成字符串 //将数组变成字符串char[] arr {a,b,c,d,e};System.out.println(Arra…

Linux-信号3_sigaction、volatile与SIGCHLD

文章目录 前言一、sigaction__sighandler_t sa_handler;__sigset_t sa_mask; 二、volatile关键字三、SIGCHLD方法一方法二 前言 本章内容主要对之前的内容做一些补充。 一、sigaction #include <signal.h> int sigaction(int signum, const struct sigaction *act,struc…

计数排序详解(附源码)

目录 思想&#xff1a; 源码&#xff1a; 思想&#xff1a; 计数排序&#xff1a;用一个数组记录按原始数据中&#xff0c;每个数据出现的次数 非常牛批的思路&#xff0c;没有用到比较 直接对每个数据进行计数 然后从计数的数组中&#xff0c;往回覆盖数据 从左到右&#xf…

解决Qtcreator搜狗输入法无法输入中文问题

由于搜狗输入法依赖fcitx&#xff0c;所以我们解决该问题的核心操作是为QtCreator提供支持fcitx 本系统环境说明&#xff1a;ubuntu22.04、Qt5.12.8、Qt6.6.1&#xff08;我安装了Qt5、Qt6&#xff09; 一、尝试拷贝系统自带libfcitxplatforminputcontextplugin.so到Qt安装目…

科技云报道:阿里云降价,京东云跟进,谁能打赢云计算价格战?

科技云报道原创。 就在大家还在回味2月29日阿里云发布“史上最大降价”的惊喜时&#xff0c;京东云连夜发布降价消息&#xff0c;成为第一家跟进的云服务商&#xff0c;其“随便降&#xff0c;比到底&#xff01;”的口号&#xff0c;颇有对垒的意味&#xff0c;直接吹响了云计…

抖音视频评论批量采集软件|视频下载工具

《轻松搞定&#xff01;视频评论批量采集软件&#xff0c;助您高效工作》 在短视频这个充满活力和创意的平台上&#xff0c;了解用户评论是了解市场和观众心声的重要途径之一。为了帮助您快速获取大量视频评论数据&#xff0c;我们推出了一款操作便捷、功能强大的软件&#xff…

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和(C语言)

例如&#xff0c;调用DigitSum(1729)&#xff0c;则应该返回1729&#xff0c;它的和是19 输入&#xff1a;1729&#xff0c;输出&#xff1a;19 int Func(int n) {if (n < 9){return n;}return n % 10 Func(n / 10); } int main() {printf("%d ", Func(12345));r…

链路负载均衡之DNS透明代理

一、DNS透明代理 一般来说&#xff0c;企业的客户端上都只能配置一个运营商的DNS服务器地址&#xff0c;DNS服务器通常会将域名解析成自己所在ISP内的Web服务器地址&#xff0c;这将导致内网用户的上网流量都集中在一个ISP的链路上转发&#xff0c;最终可能会造成链路拥塞&…

Redis基础---Java客户端应用

目录 一、介绍 二、Jedis的使用 三、SpringDataRedis的使用 创建&#xff1a; 一、介绍 在Redis官网&#xff0c;提供了多种编程语言的客户端&#xff0c;如Java、C等&#xff0c;官网地址&#xff1a;Clients | Redis 而对于Java的客户端有很多&#xff0c;但是用的最多的就是…

42、网络编程/多点通信和域套接字通信模型20240304

一、多点通信之广播的收发端实现 1.广播发送端代码&#xff1a; #include<myhead.h>int main(int argc, const char *argv[]) {int sfdsocket(AF_INET,SOCK_DGRAM,0);//创建套接字if(sfd-1){perror("socket,error");return -1;}int broadcast1;//设置套接字广…

【AI视野·今日NLP 自然语言处理论文速览 第八十一期】Mon, 4 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 4 Mar 2024 Totally 48 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Mitigating Reversal Curse via Semantic-aware Permutation Training Authors Qingyan Guo, Rui Wang, Junlia…

J013_简易商家外卖系统

一、需求描述 1、完成菜品的上架功能 2、完成菜品的浏览功能 二、开发设计 1、需要设计一个菜品类&#xff0c;用于创建菜品对象 2、需要一个菜品操作类&#xff0c;用于封装菜品上架和菜品浏览功能 3、测试程序 三、代码实现 3.1 Food类 package com.itheima.arrayli…

Linux下安装MinDoc文档

文章目录 背景下载文件将M i n D o c放到目录内解压文件创建数据库配置数据库启动程序演示图 背景 由于日前自己的项目&#xff0c;需要分对外的公开文档&#xff0c; 但是又不想写页面&#xff0c;所以就在网上找了份文档项目。 具体使用步骤如下&#xff1a; 下载文件 请从…

Flutter中Widget的生命周期

Widget生命周期&#xff1a; createState-initState-didChangeDependency-build-deactive-dispose 可通过WidgetsBinding类对widget生命周期的回调进行监控。 createState&#xff1a;StatefulWidget 中用于创建 State&#xff1b; initState&#xff1a;State 的初始化操作&am…

电脑提示bluescreen蓝屏怎么解决? 电脑蓝屏bluescreen修复方法

电脑提示bluescreen蓝屏怎么解决&#xff1f;电脑突然蓝屏提示blueScreen&#xff0c;该怎么解决这个问题呢&#xff1f;下面我们就来分享三种电脑蓝屏bluescreen修复方法&#xff0c;需要的朋友可以参考下 不少朋友都遇到了bluescreen蓝屏的现象&#xff0c;那么出现这种情况…