MobileSAMv2: Faster Segment Anything to Everything——更快地分割任何事物到一切事物

这篇文章的核心研究内容是针对Segment Anything Model(SAM)在分割任务中的效率瓶颈进行优化,提出了一个名为MobileSAMv2的改进模型,旨在提高“分割一切”(SegEvery)任务的效率和性能。以下是文章的主要内容概括:

1. 研究背景与动机

  • SAM模型:SAM是一个强大的视觉基础模型,能够执行两类分割任务——“分割任何事物”(SegAny)和“分割一切”(SegEvery)。SegAny通过提示(如点或框)分割图像中的单个目标,而SegEvery则旨在分割图像中的所有目标及其部件。

  • 效率瓶颈:SAM在SegAny任务中因图像编码器的计算开销较大而效率较低;在SegEvery任务中,由于需要生成大量冗余掩码并进行过滤,掩码解码器的效率成为瓶颈。MobileSAM通过知识蒸馏解决了SegAny的效率问题,但SegEvery的效率仍有待提升。

2. 研究目标

文章的目标是通过改进SAM的掩码解码器,提出一种新的提示采样策略,以提高SegEvery任务的效率和性能,同时保持与MobileSAM的兼容性,构建一个统一的高效框架。

3. 方法与创新

  • 目标感知提示采样:文章提出了一种基于目标检测的提示采样方法,使用YOLOv8模型检测图像中的目标,并生成边界框作为提示。这种方法避免了传统网格搜索采样中大量冗余提示的生成和后续的掩码过滤,显著提高了效率。

  • 掩码解码器优化:通过目标感知提示直接生成高质量掩码,减少了掩码解码器的计算开销。此外,文章还探讨了使用边界框提示代替点提示,进一步减少了歧义和计算量。

  • 兼容性验证:证明了目标感知提示采样策略与MobileSAM中蒸馏的轻量级图像编码器兼容,为SegAny和SegEvery任务提供了一个统一的高效框架。

4. 实验与结果

  • 效率提升:与传统的网格搜索采样相比,MobileSAMv2在掩码解码器的效率上提高了至少16倍,总计算时间显著减少。

  • 性能提升:在LVIS数据集上,MobileSAMv2在零样本目标提议任务中平均性能提升了3.6%,在不同提示数量下均表现出优越性能。

  • 定性结果:MobileSAMv2生成的掩码边界更加细粒度,避免了过度分割的问题,同时保持了高质量的分割效果。

5. 结论与未来工作

文章通过目标感知提示采样策略显著提高了SegEvery任务的效率和性能,并证明了其与轻量级图像编码器的兼容性,为构建高效的SegAny和SegEvery统一框架奠定了基础。未来的工作将集中在开发更强大的图像编码器和目标检测模型,以进一步提升模型的性能和效率。

创新点与贡献

  • 提出了目标感知提示采样策略,显著减少了掩码解码器的计算开销。

  • 验证了该策略与轻量级图像编码器的兼容性,为高效分割任务提供了一个统一框架。

  • 在效率和性能上均取得了显著提升,为开放世界中的零样本目标提议任务提供了新的解决方案。

这篇文章的核心贡献在于通过优化提示采样策略,解决了SAM在SegEvery任务中的效率瓶颈,同时保持了高性能,为分割模型的实际应用提供了新的思路。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

官方项目地址在这里,如下所示:

摘要

分割任何事物模型(SAM)解决了两个实际但具有挑战性的分割任务:分割任何事物(SegAny),它利用某个点来预测单个感兴趣对象的掩码;以及分割一切(SegEvery),它预测图像中所有对象的掩码。SAM中SegAny速度慢的原因在于其重量级的图像编码器,这一问题通过MobileSAM的解耦知识蒸馏得到了解决。然而,SAM中SegEvery的效率瓶颈在于其掩码解码器,因为它需要首先生成大量带有冗余网格搜索提示的掩码,然后进行过滤以获得最终有效的掩码。我们提出通过直接生成最终掩码来提高其效率,这些掩码可以通过目标发现获得的有效提示来实现。我们的方法不仅将掩码解码器的总时间减少了至少16倍,还实现了优越的性能。具体来说,我们的方法在LVIS数据集上使用掩码AR@K指标,将零样本目标提议的平均性能提高了3.6%(42.5%对38.9%)。定性结果表明,我们的方法生成了细粒度的掩码,同时避免了过度分割。这个旨在比原始SAM更快地完成SegEvery的项目被称为MobileSAMv2,以区别于专注于更快SegAny的MobileSAM。此外,我们还证明了我们的新提示采样方法也与MobileSAM中的蒸馏图像编码器兼容,为高效的SegAny和SegEvery提供了一个统一的框架。

1. 引言

自然语言处理(NLP)领域已经被ChatGPT [36] 革命化,这标志着生成性人工智能(AIGC,即人工智能生成内容)[37] 发展的一个里程碑。在网页规模的文本数据集上训练的GPT系列模型 [3, 23, 24] 在其发展中发挥了主要作用。继NLP中基础模型 [2] 的成功之后,通过对比学习 [8, 33] 共同学习文本编码器的视觉基础模型,如CLIP [25],已经被开发出来。最近,一个名为SAM [14] 的视觉基础模型被发布,用于解决两个实际的图像分割任务:分割任何事物(SegAny)和分割一切(SegEvery)。这两个任务都执行类别不可知的掩码分割,区别在于分割的对象。SegAny利用某种提示(如点或框)来分割图像中单一感兴趣的事物。相比之下,SegEvery旨在分割图像中的所有事物。由于在这些任务上的出色表现,SAM已被广泛应用于各种应用 [38]。SAM按顺序运行两个模块:基于ViT的图像编码器和提示引导的掩码解码器(见图1)。在本文其余部分中,当不会混淆时,我们简单地将它们称为图像编码器和掩码解码器。轻量级的掩码解码器采用双向注意力,以实现图像嵌入和提示标记之间高效的交互,从而生成细粒度的掩码 [14]。使SegAny变慢的原因是图像编码器,其比掩码解码器重100倍以上。这一问题通过MobileSAM采用解耦方式蒸馏轻量级图像编码器得到了解决。为了分割所有事物,SegEvery需要反复运行掩码解码器以生成大量提议,然后选择高质量且不重叠的掩码。这将计算瓶颈从图像编码转移到掩码生成和过滤。本质上,SegEvery不是一个提示性分割任务,因此掩码可能直接生成而无需使用提示 [34]。这种无提示的方法已经在 [41] 中尝试过,但生成的掩码边界不够令人满意(见第6.1节分析)。带有双向注意力的掩码解码器解决了这个问题,但代价是使SegEvery变得更慢 [14]。为此,我们遵循 [14] 中的SegEvery实践,提示掩码解码器以保证生成掩码的质量,但通过减少提示数量来解决其低速问题。SegEvery在 [14] 中通过网格搜索前景点提示图像编码器。当网格搜索稀疏时,许多小事物或有意义的对象部分可能会被遗漏。因此,SegEvery在 [14] 中采用了高网格密度,例如零样本目标提议中使用的64×64点,这倾向于为大对象产生冗余提示。本质上,它采用了一种策略,首先生成许多掩码,其中大部分是冗余的,然后过滤掉冗余的掩码。直观上,这个过程可以通过只生成有效的掩码来简化,这节省了掩码生成的时间,并且无需进行掩码过滤。受此直觉的启发,我们提出了一个高效的提示采样方法,以寻找目标感知提示。幸运的是,这在现代目标检测中已经得到了很好的解决。在这项工作中,我们采用了YOLOv8,这是一种用于高效检测带边界框的最先进的架构。为了避免过拟合到任何特定数据集,模型应该在开放世界数据集上进行训练,为此选择了SA-1B数据集的一个子集。通过生成的边界框,我们可以将其中心用作目标感知点提示,或者直接采用边界框本身作为提示。点提示的一个问题是,它需要针对每个提示预测三个输出掩码,以解决歧义问题。边界框更具信息量且歧义较小,因此更适合用于高效的SegEvery。总体而言,该项目旨在使 [14] 中的SegEvery更快,同时实现竞争性能。我们将这个项目称为MobileSAMv2,以区别于使SegAny更快的MobileSAM [34]。总体而言,本工作的贡献总结如下:
• 我们确定了SAM中SegEvery变慢的原因,并提出用目标感知框提示替换默认的网格搜索点提示,显著提高了其速度,同时实现了总体优越的性能。
• 我们证明了我们提出的对象感知提示采样策略与MobileSAM中的蒸馏图像编码器兼容,这进一步为高效的SegAny和SegEvery贡献了一个统一的框架。

2. 相关工作

SAM的进展。自2023年4月问世以来,SAM已在众多GitHub项目和研究文章中得到了广泛研究。其SegAny的性能已在各种具有挑战性的设置中进行了研究,包括医学图像 [18, 40]、伪装对象 [28] 和透明对象 [7]。总体而言,SAM表现出强大的泛化性能,但在设置变得更加具有挑战性时可以得到改进。其在对抗性设置中的泛化已在Attack-SAM [35] 中进行了研究,结果表明SAM的输出掩码可能会被恶意生成的扰动轻易操纵。后续工作进一步研究了在SAM上生成的对抗性扰动在跨模型传递性 [7] 和跨样本传递性 [42] 中的表现。SAM的全面鲁棒性评估在后续工作中进行了研究 [22],结果表明SAM对风格迁移、常见干扰和局部遮挡具有鲁棒性,但对对抗性扰动不具有鲁棒性。SAM的多功能性在另一条研究线中得到了展示。尽管在原始论文 [14] 中作为概念验证,SAM被证明与文本提示兼容,但此功能并未包含在其官方代码中。Grounded SAM [9] 项目将Grounding DINO [17] 与SAM结合起来,用于文本引导的提示性分割。具体来说,Grounding DINO利用一个框来生成一个边界框,该框可以用作SAM的提示以预测掩码。语义分割任何事物项目 [4] 引入了CLIP [25],为SAM预测的掩码分配标签。SAM还被证明适用于图像编辑 [26]、修复任务 [32] 和视频中的目标跟踪 [31, 43]。除了2D之外,SAM还可以用于3D对象重建 [11, 27],即从单图像辅助3D模型生成。PersonalizeSAM [39] 通过一次拍摄个性化SAM。高质量标记已在 [12] 中引入,以提高预测掩码的质量。建议读者参考 [38] 以了解SAM的最新进展。

类别不可知分割。检测是计算机视觉的一个基本任务,它通过框定位图像中的感兴趣对象 [16]。检测大致通过框定位对象,而分割通过分配像素级掩码进行更细粒度的定位 [20]。从给定的掩码推导出框是直接的,但反之则不然,这表明分割任务比检测更为复杂。除了分配掩码外,图像分割(如语义分割)通常还涉及从预定义类别集中预测其相应的语义标签 [5]。然而,在实际应用中,这并不实用,因为现实世界中可能存在无限多的类别。为此,一系列工作尝试通过不考虑其语义标签将其扩展到开放世界。类别不可知目标检测最初在 [10] 中被正式提出,并以平均召回率作为评估其性能的指标,随后被用作一种新的预训练技术 [1]。多模态变换器已在 [19] 中被证明具有令人满意的性能。开放世界实例分割已在 [13, 29, 30] 中得到了广泛研究,以实现类别不可知的检测和分割。与它们将对象作为一个整体对待不同,后续工作 [21] 研究了开放世界对象部件分割。最近,SAM [14] 解决了SegEvery任务,即分割所有事物,包括所有对象及其有意义的部分。在多个GitHub项目(CLIP-SAM、Segment-Anything-CLIP、segmentanything-with-clip)中,从SAM [14] 的SegEvery获得的类别不可知分割掩码可以与CLIP [25] 结合,以在开放世界中产生语义感知分割。

3. 分割一切

任务定义。传统的图像分割预测像素级掩码及其相应的类别标签。然而,不同数据集之间的类别可能具有模糊性。例如,CIFAR10数据集有一个狗类,而ImageNet-1K有几百个类来表示各种狗的品种。另一个设置可能会将它们划分为小狗或成年狗,而不是它们的品种。这使得在考虑语义信息时,开放世界的图像分割变得难以处理。当从标签预测中解耦时,开放世界的图像分割变得相对容易,但仍然是一个具有挑战性的问题。在没有语义信息的情况下,图像中的一个区域是否被视为一个对象或由掩码表示的“事物”可能是主观的。这种不明确的性质,至少部分与粒度的模糊性有关 [15]。例如,当粒度太大时,它可能只会检测到一个大对象,而忽略其有意义的部件;而当粒度过小时,每个像素都可以被独立分割,这变得毫无意义。换句话说,开放世界的图像分割需要分割所有事物,包括整个对象及其有意义的部件,即“一切事物”。本质上,这是一个在开放世界中进行零样本目标提议生成的类别不可知分割任务。这个任务在 [14] 中被称为“分割一切”(SegEvery),我们遵循 [14] 的命名以避免混淆。

基于提示的解决方案。SAM是解决提示性分割任务的开创性工作 [14]。具体来说,它利用某种提示来分割任何感兴趣的对象,这在 [14] 中被称为“分割任何事物”(SegAny)。基于此,SAM为SegEvery任务提供了一个直接的解决方案,通过用前景点的网格搜索提示SAM解码器。这种方法的一个潜在问题是,其性能高度依赖于网格密度。直观上,更高的网格密度倾向于获得更高的性能,但代价是显著增加计算开销。与MobileSAM [34] 通过蒸馏重量级图像编码器以加快SegAny的速度不同,这个项目的目标是通过提出一种新的采样策略来减少采样提示的数量,从而加快SegEvery的速度。我们的解决方案显著提高了其效率,同时实现了总体优越的性能。在下一节中,我们将阐述我们解决方案背后的动机及其详细实现。

4. 方法

4.1. 动机与框架

在 [14] 中提出的基于提示的解决方案展示了在极具挑战性的SegEvery任务中的出色性能。它采用了一种策略,即首先生成冗余的掩码,然后过滤它们以获得最终有效的掩码。直观上,这个过程可能没有必要地繁琐,可以通过只用有效的提示来提示掩码解码器来简化,这节省了掩码生成的时间,并且无需进行任何过滤。我们方法的核心在于用目标感知提示采样替换默认的网格搜索提示采样。这一策略归结为确定图像的某个区域是否存在对象。现代目标检测任务已经通过用边界框定位对象解决了这个问题。过去十年见证了目标检测模型的巨大发展,YOLO系列模型因其在实时性能方面的优势已成为事实上的标准选择。为了避免过拟合到任何特定领域,所选择的YOLOv8模型需要在开放世界数据集上进行训练,为此选择了SA-1B数据集的一个小子集 [14, 34]。该模型在边界框和掩码的监督下进行训练,然后仅使用边界框损失进行微调。这种训练方法也有助于与无提示方法进行比较(见第6.1节)。这生成了许多重叠的边界框,这些边界框需要在用作提示之前进行过滤。按照标准做法,我们采用非极大值抑制(NMS)来过滤重叠的边界框。通过过滤后的边界框,我们可以将其中心用作目标感知点提示,或者直接采用边界框本身作为提示。在实践中,我们选择了后一种策略,原因有多个。尽管点提示是目标感知的,但它基于一个假设,即边界框内的对象覆盖了中心点。这在大多数情况下是成立的,但并非总是如此。点提示的另一个问题是,它需要预测三个输出掩码以解决歧义问题,这需要额外的掩码过滤。相比之下,边界框提示更具信息量,并且生成高质量掩码的歧义较小,这减少了预测三个掩码的需求,因此更有益于高效的SegEvery。

4.2. 目标感知提示采样

目标发现已在某些情况下(如视觉-语言任务)被广泛用作一种预处理技术,以避免穷举滑动窗口搜索。受这些实践的启发,我们提出利用目标发现来进行提示采样。本质上,目标发现是通过边界框定位对象,这可以通过现代目标检测模型实现,但不包括其分类头。过去十年见证了目标检测模型的巨大发展,YOLO系列模型因其在实时性能方面的优势已成为事实上的标准选择。为了避免过拟合到任何特定领域,所选择的YOLOv8模型需要在开放世界数据集上进行训练,为此选择了SA-1B数据集的一个小子集。该模型在边界框和掩码的监督下进行训练,然后仅使用边界框损失进行微调。这种训练方法也有助于与无提示方法进行比较(见第6.1节)。这生成了许多重叠的边界框,这些边界框需要在用作提示之前进行过滤。按照标准做法,我们采用非极大值抑制(NMS)来过滤重叠的边界框。通过过滤后的边界框,我们可以将其中心用作目标感知点提示,或者直接采用边界框本身作为提示。在实践中,我们选择了后一种策略,原因有多个。尽管点提示是目标感知的,但它基于一个假设,即边界框内的对象覆盖了中心点。这在大多数情况下是成立的,但并非总是如此。点提示的另一个问题是,它需要预测三个输出掩码以解决歧义问题,这需要额外的掩码过滤。相比之下,边界框提示更具信息量,并且生成高质量掩码的歧义较小,这减少了预测三个掩码的需求,因此更有益于高效的SegEvery。

4.3. 提示引导的掩码解码

我们遵循SAM [14] 的方法,以批处理方式执行提示引导的掩码解码。与图像编码器将图像样本数量设置为批大小不同,这里的“批”概念是指提示的数量。值得注意的是,SAM中的提示引导掩码解码器也接受框作为输入。因此,直接用一组边界框提示掩码解码器在技术上是可行的。尽管这并非我们的初衷,但这种做法在不增加任何额外成本的情况下,带来了非平凡的性能提升。换句话说,这可以被视为一种免费的技巧,用于提高任务性能。在 [14] 中的提示引导解决方案需要进行掩码过滤。经验表明,这一过程可能非常缓慢,因为掩码是高维的。这与高效的边界框过滤不同,因为边界框只有四个维度。在我们提出的SegEvery框架中,这种繁琐的掩码过滤是可选的,因为我们可以通过目标感知的方式采样提示,从而避免它。换句话说,我们保留所有生成的掩码,因为提示是以目标感知的方式采样的。

5. 实验

在 [14] 中,SegEvery被认为是一个零样本目标提议任务,标准平均召回率(AR)被用作性能评估指标。我们遵循 [14] 中的做法,采用K个提议的掩码AR(mask AR@K),其中K是允许的最大掩码数量。根据AR的定义,当允许K设置为更大的值时,AR@K会更高,这构成了一个不太严格的指标。[14] 中只报告了AR@1000,但为了不失一般性同时节省计算资源,我们选择在从大型词汇实例分割(LVIS)数据集 [6] 中随机抽取的100张图像上报告结果。

5.1. 主要结果

使SegEvery比SegAny计算密集得多的原因在于,需要用大量采样的提示运行掩码解码器 [14]。在下文中,我们详细描述了它们在所需计算时间方面的差异,通过将提示引导的掩码解码管道大致分为两个阶段:提示编码(包括预采样)和掩码解码(包括后过滤)。掩码解码远比简单的提示编码更重。除了冗余采样的提示外,SegEvery在 [14] 中通过将多掩码选项设置为true来生成比所需更多的掩码(或AR@K允许的数量)。具体来说,一个点可以提示掩码解码器生成三个具有不同粒度(小、中、大)的输出掩码。在 [14] 中,将多掩码选项设置为true已被证明可以实现SegEvery(如零样本目标提议)的优越性能,但代价是需要过滤更多的冗余掩码。经验表明,[14] 中的掩码过滤(由GPU处理)可能比掩码生成本身更计算敏感,部分原因是访问和从内存中移除高维掩码可能非常缓慢。感兴趣的读者建议查阅其官方代码以获取详细信息。直观上,对于网格搜索提示采样,掩码解码器所花费的时间取决于网格密度(见图1)。不同任务可能需要不同的网格密度。在官方演示 [14] 中,采用32×32的网格密度,实现了效率和性能之间的良好权衡。对于零样本目标提议的性能评估,[14] 中采用了64×64的网格密度。效率比较。SegEvery采用我们提出的采样策略,需要运行目标发现算法以获得目标感知提示,这比 [14] 中的默认网格搜索采样需要更多的时间来进行提示采样,但需要编码的提示数量要少得多。对于掩码生成,掩码解码器所花费的时间与采样提示的数量大致成正比。我们发现,当提示数量接近320时,性能趋于饱和,这被设置为最大检测框的数量(见第6.2节)。当目标发现生成的掩码少于320个时,许多情况下需要的计算量更少。尽管如此,在进行效率分析时,我们将我们最具计算密集型的情况(最多320个提示)与网格搜索策略进行了比较。表2中的结果显示,我们的提示采样策略显著提高了(提示引导的)掩码解码器的效率,至少提高了16倍。在我们的方法中,提示编码所花费的时间占相当比例,因为它运行目标发现以进行提示采样。开发更高效的目标发现算法留待未来工作。

表2. 网格搜索采样和目标感知采样之间的(提示引导的)掩码解码器效率比较。注意,提示编码包括提示预采样时间,而掩码解码包括掩码后过滤时间。

采样策略提示编码掩码解码总计
网格搜索采样(32×32提示)16ms1600ms1616ms
网格搜索采样(64×64提示)64ms6400ms6464ms
目标感知采样(最多320提示)47ms50ms97ms

性能比较。我们仔细遵循 [14] 中推荐的零样本目标提议的实现实践。默认情况下,建议将网格密度设置为64×64,并生成总共12288个(64×64×3)掩码,其中最多选择1000个掩码,考虑到掩码AR@1000指标。我们已经尝试了降低网格密度和/或设置多掩码选项为false(单掩码模式)。表3中的结果显示,通过上述两种方法中的任何一种减少生成的掩码数量会导致性能下降,这表明默认的网格搜索采样策略高度依赖于生成冗余掩码以选择最终所需的掩码。此外,我们通过比较SAM(默认的网格搜索提示采样)和MobileSAMv2(我们提出的目标感知提示采样)得出了多个主要观察结果。首先,在提示类型相同(点)且将多掩码设置为false的情况下,我们发现MobileSAMv2(最多320个点)实现了与SAM使用4096个点相当的性能,这表明我们提示采样策略的目标感知特性显著避免了冗余。在将多任务选项设置为true的情况下,64×64的默认网格密度实现了更高的性能(59.2%),这是网格搜索策略的最佳设置。同样,我们也可以通过将多掩码设置为true来提高我们目标感知点采样的性能。注意,预测一个点的三个输出掩码的不同粒度 [14] 的动机是解决点提示的歧义问题。一个单独的点提示信息有限,因此存在歧义(读者可以查看 [14] 中的图4以获取更多详细信息)。相比之下,边界框提示要信息丰富得多,并且极大地减少了歧义。这一观点得到了表3中边界框提示在单掩码模式下显著性能提升的支持。最后,值得注意的是,与网格搜索采样策略的最佳结果(64×64点,多掩码模式)相比,我们的采样策略(最多320个边界框提示)实现了相当的性能(59.3%对59.2%)。将最大提示数量限制为256时,我们的策略仍然实现了与网格搜索策略(34.6%)相当的性能(58.5%)。我们还在表4中报告了其他K值的AR@K。当K设置为相对较小的值时,我们发现我们的目标感知采样策略在提示数量少得多的情况下,性能提升幅度很大。总体而言,我们的方法平均性能提升了3.6%(42.5%对38.9%)。

表3. 零样本目标提议比较:网格搜索采样与目标感知采样(掩码@1000作为指标)。

方法多掩码总体
SAM(64×64=4096点)true(×3)59.246.678.782.4
SAM(32×32=1024点)true(×3)57.242.979.283.6
SAM(16×16=256点)true(×3)40.019.471.379.1
SAM(64×64=4096点)false(×1)54.344.471.567.4
SAM(32×32=1024点)false(×1)49.837.271.466.8
SAM(16×16=256点)false(×1)34.617.561.564.9
MobileSAMv2(最多320点)true(×3)55.740.678.684.6
MobileSAMv2(最多320点)false(×1)53.644.070.466.6
MobileSAMv2(最多320框)false(×1)59.347.977.179.9
MobileSAMv2(最多256框)false(×1)58.546.777.179.1

表4. 零样本目标提议比较:网格搜索采样与目标感知采样。

方法多掩码总体
SAM(64×64=4096点)true(×3)59.246.678.782.4
MobileSAMv2(最多320框)false(×1)59.347.977.179.9
SAM(64×64=4096点)true(×3)44.829.867.673.8
MobileSAMv2(最多100框)false(×1)50.636.373.176.3
SAM(64×64=4096点)true(×3)12.62.922.745.0
MobileSAMv2(最多10框)false(×1)17.66.435.037.8
平均SAM(64×64=4096点)true(×3)38.926.4356.367.1
平均MobileSAMv2false(×1)42.530.261.764.7

表5. 图像编码器对MobileSAMv2零样本目标提议的影响(掩码@1000)。

编码器总体
ViT-H59.347.977.179.9
TinyViT51.138.969.973.4
EfficientViT-L256.344.774.178.1

5.2. 与蒸馏图像编码器的兼容性

在上述内容中,我们只考虑了提示引导的掩码解码器,然而,整个管道在运行掩码解码器之前需要运行一次图像编码器。如图1所示,对于网格搜索点采样的SegEvery,图像编码器所花费的时间相对较少。然而,当采用我们的目标感知提示采样策略时,这种情况不再成立,这将掩码解码器的时间减少到大约100毫秒。因此,我们考虑通过用MobileSAM项目 [34] 中的蒸馏图像编码器替换SAM中的原始图像编码器(ViT-H),以减少图像编码器所花费的时间。表5中显示了使用不同蒸馏图像编码器的结果。我们观察到,当使用EfficientViT-L2时,性能有适度下降(从59.2%下降到56.3%)。鉴于EfficientViT-L2的运行时间约为20毫秒,这比ViT-H(超过400毫秒)快得多,因此用它替换图像编码器是值得的。由于MobileSAM [34] 中引入的解耦知识蒸馏的简单性和有效性,预计很快会出现更强大的蒸馏图像编码器,以进一步缓解性能下降。值得注意的是,MobileSAM和MobileSAMv2解决了两个正交问题:更快的SegAny和更快的SegEvery。将它们结合起来构成了一个高效的SegAny和SegEvery统一框架。

6. 额外的比较和消融研究

6.1. 与无提示方法的比较

如 [34] 中所述,SegEvery本质上不是一个提示性分割任务,因此可以通过无提示的方式实现。这种尝试已经在 [41] 中采用YOLOv8-seg实现,它主要通过增加一个protonet模块来生成掩码原型。实例掩码是通过将掩码原型与掩码系数(默认为32维)进行卷积获得的,这在数学上是一个点积。直观上,生成掩码的质量取决于掩码系数和掩码原型之间的相互作用。SAM [14] 中的掩码解码器也通过在掩码系数(称为掩码标记)和掩码原型(称为图像嵌入)之间进行点积来生成掩码,它们的维度相同(32),因此可以计算点积。直观上,生成掩码的质量取决于掩码系数和掩码原型之间的相互作用。SAM [14] 中的掩码解码器采用双向注意力来实现掩码原型和掩码系数之间的相互作用,然后进行最终的点积。这种相互作用是保证SAM中高质量掩码的关键基础。相比之下,无提示方法中掩码系数和掩码原型之间没有明确的相互作用。使用单个共享掩码原型,它通常在图像的不同区域预测多个对象,并且依赖于边界框来裁剪掩码。这有助于去除框外的无关掩码,但仍然无法像 [14] 那样生成高质量的掩码,至少部分原因是缺乏掩码系数和掩码原型之间的相互作用。尽管无提示方法实现了最快的速度,但导致了非平凡的性能下降(见表6)。无提示方法的性能不佳主要归因于掩码边界质量差(见图2)。与无提示方法相比,两种提示引导的方法(SAM和MobileSAMv2)生成的掩码边界要细粒度得多。SAM倾向于过度分割事物,而我们的MobileSAMv2通过利用其目标感知特性缓解了这种倾向。

表6. 零样本目标提议比较:无提示和有提示方法(掩码@1000)。

策略方法总体
无提示FastSAM49.636.269.477.1
有提示SAM(最佳设置)59.246.478.782.4
有提示MobileSAMv2(ViT-H)59.347.977.179.9
有提示MobileSAMv2(EfficientViT-L2)56.344.774.178.1

(a) 原始图像
(b) 无提示(FastSAM)
(c) 有提示(SAM)
(d) 有提示(MobileSAMv2)

图2. 无提示和有提示掩码预测的比较。无提示方法倾向于预测边界不光滑的掩码,而有提示方法则生成更细粒度的边界。对于两种有提示方法,SAM倾向于过度分割事物,而我们的MobileSAMv2通过其目标感知特性解决了这一问题。最好以彩色查看并放大。

6.2. 消融研究

以掩码AR@1000为指标,我们发现我们的采样策略通常生成的提示数量少于1000,这促使我们探索最大提示数量对我们提出的提示采样策略的影响。表7中的结果显示,增加框提示的数量有助于提高掩码AR,但在接近320时趋于饱和。因此,我们默认将MobileSAMv2中的最大提示数量设置为320。

表7. 最大提示数量对MobileSAMv2零样本目标提议的影响(掩码@1000)。

最大提示数量总体
38459.347.977.179.9
32059.347.977.179.9
25658.546.777.179.1
19256.644.276.078.8
12853.640.274.677.7
6444.829.268.375.4

7. 结论和未来工作

与通过蒸馏轻量级图像编码器使SegAny更快的MobileSAM项目正交,这个被称为MobileSAMv2的项目通过在提示引导的掩码解码器中提出一种新的提示采样策略,使SegEvery更快。用我们的目标感知提示采样替换网格搜索,我们显著提高了SegEvery的效率,同时实现了总体优越的性能。我们还证明了我们的目标感知提示采样策略与MobileSAM项目中的蒸馏图像编码器兼容。总体而言,我们的工作构成了一个高效的SegAny和SegEvery统一框架的重要一步。未来的工作需要寻找更优秀的图像编码器和目标发现模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值