上海交大/南开大学等提出BA-SAM | 再也不用担心SAM因为图像尺寸不一带来的性能下降

技术

点击下方卡片,关注 「AI视界引擎」 公众号

picture.image

在本文中解决了Segment Anything Model(SAM)的图像分辨率变化挑战。SAM以其零样本泛化能力而闻名,但在面临具有不同图像尺寸的数据集时,其性能会降低。以前的方法倾向于将图像缩放到固定尺寸,或者采用结构修改,这阻碍了SAM丰富先验知识的保留。此外,这种特定任务的微调需求需要对模型进行完全的再训练,这既成本高昂,也不适用于下游任务。

在本论文中将这个问题转化为长度外推问题,其中Token序列长度变化,但保持图像的不同大小一致的块大小。为此,作者提出了可扩展的偏置模式注意力Mask(BA-SAM),以增强SAM在不同图像分辨率下的适应性,同时无需进行结构修改。首先,引入了一个新的缩放因子,以确保当Token序列长度改变时,注意力层点积值的一致性。其次,提出了一种偏置模式注意力Mask,允许每个Token优先考虑邻近信息,减轻未训练的遥远信息的影响。

BA-SAM在零样本和微调两种场景下都展示了其有效性。在包括DISSK、DUTS、ISIC、COD10K和COCO在内的多种数据集上的广泛评估揭示了其在零样本设置中显著减轻性能下降的能力,并实现最先进的性能,同时最小化微调。此外,提出了一种通用的模型和基准,展示了BA-SAM在四个数据集上的泛化能力。

1 Introduction

最近,计算机视觉领域在各种基础模型的开发方面取得了突飞猛进的发展。值得注意的是,Meta已经推出了SAM(Segment Anything Model),这是一种具有重大影响的提示模型。SAM可以通过结合一个视觉提示(如框或点),在不需要额外训练的情况下,对图像或视频中任何目标进行分割。SAM在包含超过1100万张图像和10亿个分割Mask的广泛SA-1B数据集上进行训练。其出现无疑展示了在不同图像和目标上强大的泛化能力,为智能图像分析和理解开辟了新的可能性。基于SAM,一些变体已经提出,例如MobileSAM和SAM-Adapter。这些努力通常关注提高SAM在特定数据集上的性能。

在SAM的预训练过程中,输入图像大小固定为1024。作为基础模型,SAM预计在具有不同图像大小的各种下游任务上表现出泛化能力。这对高分辨率(HQ)数据集尤为重要,这些数据集具有更大的尺寸和更多的细节。当图像分辨率与SAM的训练分辨率1024对齐时,SAM表现良好。然而,当推理的分辨率大于1024时,观察到显著的性能下降。因此,作者旨在研究一个实际且现实的问题,以增强SAM在不同数据集上适应不同图像分辨率的灵活性。

picture.image

由于SAM采用标准的Vision Transformer架构,因此有两种常见的ViT架构方法来解决训练和推理尺寸不一致的问题。如图1所示,第一种方法,例如MSA和SAM-Adapter,涉及将所有数据集直接缩放到预定义的大小。相反,第二种方法,例如FlexiViT,涉及调整patch大小以适应更大的图像分辨率。然而,调整图像或patch大小需要对模型进行完全的再训练,这既成本高昂,也不适用于下游任务。此外,这阻止了利用SAM预训练模型中保留的丰富先验知识。因此,作者的目标是探索一种解决方案,以增强SAM对不同分辨率数据集的适应性,同时避免对SAM进行结构修改。

在本文中提出了一种新的观点,将图像分辨率变化的挑战重新定义为长度外推问题。具体而言,如图1所示,对于具有不同大小的图像,采用不同的Token序列长度,同时保持一致的块大小。已经观察到训练和预测之间的Token长度不一致是性能下降的关键因素。这种不一致性体现在两个方面:

  • 首先,Token长度变化导致注意力模块值大小的变化。当点积结果在数值上变得显著较大时,它可以将后续的Softmax层驱动到梯度最小化的区域。因此,Softmax之后的注意力分布变得高度集中,从而导致消失梯度的问题。
  • 其次,较长的预测依赖于未训练的信息,例如额外的位置编码。未训练参数的引入为模型带来相当大的噪声,从而影响其性能。

为了解决这些问题,作者提出了一种可扩展的偏置模式注意力Mask(BA-SAM),以增强SAM的长度外推能力。BA-SAM引入了两个新颖的设计。

  • 首先,为了确保注意力层点积值的一致性,作者提出了一种改进的缩放因子。这个因子有效地调节注意力层内值的范围,减轻点积运算和上下文长度变化带来的破坏性影响。
  • 其次,作者专注于保持注意力焦点区域的一致性,引入了一种新颖的偏置模式注意力Mask。这种注意力Mask惩罚距离 Query-Key对较远的注意力分数,惩罚随着Key和 Query 之间的距离增加而增加。

因此,当上下文长度变化时,未训练的遥远信息对每个Token的影响减弱。通过在 Query-Key点积后添加偏差来实现这个Mask,这种设计非常轻量级,可以与SAM基于的模型无缝集成,几乎不增加计算开销。

BA-SAM在两个场景下展示出有效性:零样本学习和微调。在五个来自不同任务的数据集上进行了广泛评估,包括DIS5K,DUTS,ISIC,COD10K和COCO。这些数据集的分辨率各不相同,大多数都超过了SAM的默认分辨率1024。在零样本设置下,BA-SAM可以减轻在不需要任何额外训练的情况下,由于扩展推理分辨率而导致的模型性能下降。通过在下游任务上进行几轮微调,BA-SAM在所有数据集上都能实现最先进的准确性。

此外,为了进一步展示BA-SAM的泛化能力,作者提出了一个通用的模型和一个新的基准,利用一个模型在所有四个数据集上同时实现最先进的性能。

2 Related Work

视觉基础模型。这些在广泛的领域上进行训练,并且可以适应许多下游任务,被称为“基础模型”。这些模型,视觉语言模型(VLM)(CLIP和DALL-E)将计算机视觉和自然语言处理相结合,使用文本和视觉信息来理解和生成描述,或者分析视觉内容。Mask图像建模(MIM)是指一种技术,在训练期间将图像的一部分遮盖住,以鼓励模型学习上下文信息并完成缺失的区域。SAM是一种设计用于在图像中分割物体或区域的模型,提供精确的分割能力。在本论文中,作者使用SAM的一个变体MobileSAM作为基准方法。由于作者的设计优化了Transformer本身,它适用于所有基于Transformer的视觉基础模型。

分辨率变化处理。 为了使模型对分辨率的变化更具适应性,传统的ViT方法通常依赖于调整位置嵌入和patch大小。Patch n' Pack在训练期间采用了序列打包来处理具有任意分辨率和 aspect ratio 的输入。它们都需要从头开始训练,从而导致巨大的计算和时间成本。

与先前的方法不同,作者将在NLP中的“长度外推”概念扩展到CV中,以解决尺度变化问题。长度外推指的是模型对比其训练的输入更长的大小的输入进行泛化能力的好坏。在NLP中,它已经被成功使用,例如在ALIBI和KERPLE中,使模型在不显著降低性能的情况下适应更长的序列。BA-SAM可以无缝扩展到两个场景:零样本和微调,使作者能够利用SAM中嵌入的先前知识,从而显著减少训练工作量。

参数高效调优。 有一些开创性的工作针对视觉模型的参数高效调优,例如AdaptFormer和视觉提示调优(VPT)。He等人分析了诸如预先调优,提示调优和 Adapter等PETL技术的统一视图。BA-SAM属于参数高效调优的范畴。

视觉注意力建模。 许多研究已经将注意力机制集成到为视觉任务设计的神经网络架构中。这些机制以channel-wise的方式用于捕获跨特征信息。它们还用于选择网络的不同分支中的路径,或结合两种策略。例如,SENet具有用于建模层特征中的channel-wise关系的注意力类似模块。Li等人[41]利用注意力机制来适应网络分支中神经元的感受野。Transformer的出现导致了结合其他模块的混合架构。Bello的工作[2]引入了具有位置注意力成分的近似内容注意力。Child等人[69]观察到网络中的许多早期层学习类似于卷积的局部连接模式,表明受Transformer和卷积网络启发的混合架构是设计选择。

有几个最近的研究探索了这种方法用于各种任务。与先前的研究不同,作者并没有引入新的注意力结构。相反,作者为现有注意力机制的优化提供了理论证明。这种优化方法适用于各种注意力设计,并在多个数据集上展现出强大的性能。

3 Preliminaries

SAM。 任何物体分割模型(SAM)由三个核心模块组成:图像编码器、提示编码器和Mask解码器。SAM模型已经在包含超过10亿自动生成的Mask的广泛SA-1B数据集上进行训练。该数据集包含比任何现有的分割数据集(COCO,LVIS和ADE20K)多400倍的Mask,并附带1100万张图像和10亿个Mask。因此,SAM展示了对新数据的宝贵和强大的零样本泛化,而无需进一步训练。作者的可扩展偏置模式注意力Mask(BA-SAM)专注于优化图像编码器,同时保持Mask解码器和提示编码器的结构不变。

注意力中的缩放因子。 两种最常用的注意力函数是加性注意力和点积注意力。基础Transformer选择点积注意力,因为它在实践中更快且更节省空间。然而,对于Token向量的维度中的大值,点积会变得很大,推动Softmax函数到梯度最小化的区域。他们使用缩放因子来缩放点积。为了更好地分析缩放因子的作用,作者将输出元素和权重系数表示如下:

在这里, 代表缩放因子。

绝对位置编码和相对位置编码在注意力中。 注意力的位置编码可以分为绝对位置编码和相对位置编码两种。绝对位置编码将每个位置编码为一个标量,而相对位置编码将每个位置编码为一个相对位置。例如,在Transformer中,每个位置都被编码为一个向量,其中包含了绝对位置编码和相对位置编码的信息。这些编码方式可以有效地帮助模型捕捉输入序列中的长程依赖关系。

原始的Transformer采用了非参数的绝对位置编码,其中,其中是输入Token嵌入。绝对位置编码强制所有输入具有固定的大小。其他一些工作用参数编码或采用基于傅里叶的核编码版本替换它们。绝对位置编码将所有输入的尺寸固定为。

最近的工作考虑了元素之间的配对关系。相对关系对于任务中元素的相对顺序或距离很重要。这种方法将输入元素和之间的相对位置编码为向量,然后将公式(1)改写为以下形式:

在训练过程中, 会被学习到。

4 Methodology

从上面的部分可以看出,原始SAM的设计在处理长度外推问题方面存在显著的限制。为了应对这个问题,如图2所示提出了一种可扩展的偏置模式注意力Mask(BA-SAM)。在4.1节中提供了原始Transformer中使用的缩放因子的理论解释,并引入了一种新的缩放因子来调节由长度外推引起的幅度不一致。在4.2节中设计了一种偏置模式注意力Mask,以使模型在遇到位置编码变化时更加关注相邻Token,确保模型在位置编码变化时的敏感性。最后,在4.3节中,作者将如何将作者提出的BA-SAM集成到基于SAM的结构中进行解释。

picture.image

New Scaling Factor

从原始的SAM中的注意力模块中发现当点积结果在数值上变得显著较大时,它可以将Softmax层驱动到梯度最小化的区域。这是因为Softmax之后的注意力分布变得高度集中,从而导致消失梯度的问题。当作者仔细检查公式(1)时,很明显,项的计算与Token序列长度和维度有内在联系。当Token序列长度和/或维度显著增加时,注意力的整体效果受到影响,从而导致明显的性能降低。

为了应对这个问题,作者试图设计一个新的缩放因子,使模型能够应对和值的重大变化。当或显著增长时,作者希望调节注意力层内值的幅度,保持相似的幅度。虽然引入了一个缩放因子来抵消由于点积引起的幅度增长的影响,但作者在原始论文中没有解释这个缩放因子的设计方法。在本节中,作者将提供这个缩放因子的理论推导,然后详细介绍作者提出的新的缩放因子。

假设和的组件是独立的高斯分布变量,均值为0,方差为1,然后作者要证明的均值为0,方差为。的均值为:

类似地,作者下面将的方差表示如下:

基于这个假设,作者可以近似地将的值视为在到的范围内,根据高斯分布的性质。对于较大的模型,通常是正的较大值,导致的数值幅度显著增加,与加性注意力选项的幅度范围相比。

因此,Softmax之后的注意力分布变得高度集中。这导致了梯度消失,从而阻碍了训练的有效性,可能导致不期望的性能下降。由于的值位于到的范围内,缩放因子可以简单地定义为,以便保持相似的幅度。

picture.image

作者提供了关于原始缩放因子设计的解释,这是原始作者所忽略的。现在作者来解释作者新缩放因子的设计。作者的目标是随着Token序列长度和维度的变化,调节Softmax值(公式(1))的幅度。作者进一步定义训练期间Token序列长度为,测试期间Token序列长度为,其中。

现在作者考虑如何在训练和测试时间保持相似的幅度。作者引入了缩放因子,它与相关,并控制Softmax值的输出范围,即。在这里,表示尺度估计函数。

接下来将公式(1)代入,并将简化为,前提是的幅度已经保持不变。现在作者有:

考虑到和,作者可以最终得出作者的新缩放因子为:

在公式(7)中,新缩放因子确保了注意计算过程中值的大小保持一致,无论和的变化。这将增强模型的外推能力。

Bias-Mode Attention Mask

另一个挑战是Token序列长度变化会导致位置编码的变化。在测试期间,如果出现这样的位置编码变化,模型应该对它们保持不敏感。

一种可能的解决方案是不使用可训练参数的绝对编码,如Sinusoidal。这需要位置编码具有强大的局部到全局推理能力。正如Su所说,这类似于泰勒级数近似:在特定点上知道几个导数的值,可以在邻域内进行有效的估计。然而,这假设给定的函数具有高阶平滑性(存在高阶导数且被限制)。通常使用的位置编码通常与三角函数结合,这些函数实质上是具有周期性的高频振荡函数。然而,这些方法未能满足有界高阶导数的要求,因此估计外推结果的准确性较低。

另一种潜在的方法是使用局部注意力,它限制了模型的视野,并在Token序列长度变化时保持不变。然而,局部注意力通常通过使用局部窗口来实现,这需要修改SAM结构,这需要从头开始重新训练,对于在下游任务中部署是不可接受的。

为此,作者提出了一种方法,使注意力层能够更加关注当前Token的相邻Token。这样,即使Token序列长度增加,每个Token也几乎不受来自远处Token的未训练Token的影响。特别地,作者设计了一个简单而有效的偏置模式Mask。作者在 Query 键点积后引入了一个偏差。

picture.image

如图3所示,这个Mask在 Query 键对之间显示了一个偏置,即。作者希望这个提出的Mask会对远离 Query 键对之间的注意力分数施加惩罚,而且惩罚随着键和 Query 之间的距离增大而增加。为此,作者简单地将偏置定义为的形式。

其中是一个特定的斜率。

作者进一步讨论了根据不同情况设置的方法。在进行零样本迁移学习且无需微调时,作者将设置为一个静态、非学习的固定值。具体的值设置将在实验部分(第5节)中讨论。当需要微调时,作者将设置为可训练的。由于作者的偏置模式注意力Mask相对于模型结构来说比较轻量级,因此其训练时间开销可以忽略不计。

BA-SAM Model

如图3所示,BA-SAM实现起来非常简单,可以无缝集成到SAM及其变体中。具体来说,作者的设计包括注意力层的新缩放因子(NSF)和偏置模式注意力Mask(BM-AM)。

BA-SAM不涉及对模型结构的任何更改,适用于微调和非微调两种情况。对于微调情况,BM-AM所引起的计算量非常小,因此不会引入任何额外的计算开销。

5 Experiments

首先在5.1节中描述了数据集和实现细节。然后,在5.2节中比较了BA-SAM在多个任务上的性能与最先进的已有方法。最后,在5.3节中进行了大量的正则化和分析,以证明其有效性。

Datasets and Implementations

为了全面评估BA-SAM,作者在各种分割任务上进行了广泛的实验,即显著物体分割,复杂物体分割,皮肤病变分割,伪装目标检测,这对应了四个数据集:DUTS,DIS-TE4,ISIC和COD10K。此外,还将在具有挑战性的COCO 实例分割基准上验证它。有关数据集的更多详细信息请参阅附录。

实现细节。在不需要微调的零样本设置中,使用原始的SAM Backbone 。对于需要微调的场景,使用MobileSAM作为 Backbone 。MobileSAM是一种与ViT-Tiny类似的SAM变体,其详细信息可以在MobileSAM中找到。MobileSAM使用基于ViT-H的SAM作为蒸馏的教师网络,最终实现了与原始SAM竞争的准确性,但参数数量显著减少。对于各种物体分割任务,在微调阶段将 GT 值中的一个随机点作为提示输入。

对于实例分割,使用ViT-B Backbone 和COCO数据集上使用Swin-L Backbone 训练的最先进的检测器Deformable-DETR作为提示生成器。

评估指标。在实验中使用广泛使用的平均绝对误差(MAE)和平均精确度(AP)进行评估。较低的MAE分数和较高的AP分数表示更好的模型性能。

Results

各种物体分割任务的结果:表1展示了BA-SAM在四个不同分割数据集上的有效性。表示推理过程中图像分辨率变化导致的性能降低值。表的上部和下部分分别表示没有和有微调时的结果,由于输入分辨率变化。最优秀的MAE性能以粗体突出,最小的性能降级被下划线表示。

picture.image

作者观察到三点:

  1. 首先,提出的BA-SAM在四个数据集上始终优于SAM和MobileSAMMobileSAM Baseline 。这主要是因为这些 Baseline 没有考虑图像分辨率的变异性。相比之下,提出的缩放因子和偏置模式注意力Mask明确地处理了这个问题,并进一步减轻了性能降级。
  2. 其次,当测试的分辨率高于训练大小时,SAM和MobileSAMMobileSAM Baseline 的结果不如原始图像大小理想。相比之下,BA-SAM在不同数据集上的性能降级显著较小。
  3. 第三,实验中观察到,无论是否应用微调,计算开销可以忽略不计,这支持了方法部分的说法。有关详细信息,请参阅第5.3节。

实例分割的结果:在表3中,在COCO实例分割基准上评估了BA-SAM。为了公平起见,所有实验都采用零样本方式进行,比较方法具有相同的初始参数,并且没有使用任何额外的训练数据。BA-SAM始终优于SAM和MobileSAM Baseline ,证明了在实例分割方面的更好零样本泛化能力。

picture.image

与最先进方法的比较:为了进一步证明作者方法的有效性和泛化能力,在表2中比较了最先进的方法。从表中作者可以得到两个观察结果:

  • 首先,所有最先进的方法在每个数据集上的性能都不如BA-SAM。相反,当在各个下游数据集上进行微调时,BA-SAM始终优于这些方法。
  • 其次,几乎所有这些最先进技术都是专门针对一个任务设计的,并且无法很好地泛化到其他任务。由于SAM的强大零样本泛化能力,BA-SAM可以作为一个通用模型,在统一和共享的模型中进行微调。

picture.image

重要的是,作者消除了需要使用额外技术来进一步提高性能的需要。如表2所示,作者的通用模型也始终推动了SAM在所有数据集上的性能,证明了其出色的泛化能力。

Ablation Study and Analysis

在这个部分,首先进行正则化研究,研究每个组件的贡献。然后,通过更详细的分析来研究新的缩放因子(NSF)和偏置模式注意力Mask(BM-AM)的影响。

各组件的正则化研究结果 表4总结了每个设计组件在有微调和无微调设置下的效果。基准方法使用MobileSAM作为基础网络,该网络在注意力层中使用常规缩放因子(VSF)。新缩放因子(NSF)和偏置模式注意力Mask(BM-AM)分别简称为NSF和BM-AM。

picture.image

从表中作者可以观察到,NSF能够比基准方法(使用VSF)获得更好的性能。这是因为SAM和MobileSAM中的基本注意力没有考虑在测试时输入分辨率变化时Softmax输出幅度的一致性。相比之下,NSF明确地保持了幅度一致性,并减轻了性能降级。

此外,通过添加BM-AM,当外推到更大的测试长度时,性能可以进一步提高。这些改进证实了这些单个组件是互补的,并且一起它们显著地提高了性能。

偏置模式注意力Mask中斜率的影响 在偏置模式注意力Mask中,斜率决定了不同 Head 的惩罚率。在零样本情况下,使用固定斜率。表5揭示了BM-AM对ISIC数据集不同斜率的影响。作者发现,当时,最佳性能实现。

此外,BA-SAM对斜率选择的鲁棒性较强。除了零样本设置外,还将在四个数据集上的微调场景中验证BM-AM(见表1)。可学习的参数带来的性能增长比固定斜率更多,同时也会带来轻微的计算增加。

picture.image

计算效率 在表6中分析了 Baseline 和BA-SAM之间的计算效率。所有实验都是在相同的NVIDIA RTX 4090GPU上进行的,以确保公平的比较。从表中可以观察到BA-SAM非常轻量级,对模型没有可观的计算开销。原因在于两个方面:首先,NSF的计算复杂性与基本一致。此外,BM-AM通过在应用softmax操作之前,通过添加一个Mask矩阵无缝地集成。尽管内存占用略有增加,但与大型模型的内存占用相比仍然可以忽略不计。

picture.image

6 Conclusion

在本文中通过将SAM模型中图像分辨率变化的问题重述为长度外推问题来解决这一重要问题。为了增强SAM模型的长度外推能力,提出了可扩展的偏置模式注意力Mask(BA-SAM)。引入了一种新的缩放因子(NSF)以保持注意力的一致幅度。

此外,还设计了一种偏置模式注意力Mask(BM-AM),以优先考虑相邻信息,减轻未训练的遥远信息的冲击。在多个数据集上的广泛评估揭示了BA-SAM在零样本设置中显著缓解性能降级的能力,并实现最先进的性能,同时微调最小。此外,作者还提出了一种通用的模型和基准,展示了BA-SAM在四个数据集上的泛化能力。

参考

[1].BA-SAM: Scalable Bias-Mode Attention Mask for Segment Anything Model

picture.image

点击上方卡片,关注 「AI视界引擎」 公众号

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动云原生降本增效实践
本次分享主要介绍字节跳动如何利用云原生技术不断提升资源利用效率,降低基础设施成本;并重点分享字节跳动云原生团队在构建超大规模云原生系统过程中遇到的问题和相关解决方案,以及过程中回馈社区和客户的一系列开源项目和产品。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论