SAM:Segment Anything

摘要: 我们推出了“分割万物”(Segment Anything,简称SA)项目:这是一个全新的图像分割任务、模型及数据集。我们利用高效的模型构建了一个数据收集循环,从而创建了迄今为止(遥遥领先)规模最大的分割数据集,该数据集包含1100万张获得授权且尊重隐私的图像,这些图像上共有超过10亿个分割掩码。该模型经过专门设计和训练,具备可提示性,因此能够实现零样本迁移,适应新的图像分布和任务。我们在众多任务上评估了该模型的能力,发现其零样本表现十分出色——通常能与先前的全监督结果相媲美,甚至更胜一筹。我们将在https://segment-anything.com上发布“分割万物”模型(Segment Anything Model,简称SAM)及对应的数据集(SA-1B),该数据集包含10亿个掩码和1100万张图像,旨在推动计算机视觉领域基础模型的研究。
解释: 一个数据收集循环”。这个短语通常用于描述一个过程,其中数据被不断地收集、处理和分析,以形成一个循环。

1. Introduction

基于网络规模数据集进行预训练的大型语言模型正在以强大的零样本和少样本泛化能力颠覆自然语言处理领域[10]。这些“基础模型”[8]能够泛化到训练期间未见过的任务和数据分布。这种能力通常通过提示工程来实现,即使用手工编写的文本提示语言模型为当前任务生成有效的文本响应。当这些模型使用来自网络的丰富文本语料库进行扩展和训练时,它们的零样本和少样本性能与微调模型相比竟出奇地好(在某些情况下甚至与之匹敌)[10, 21]。实证趋势表明,随着模型规模、数据集大小和总训练计算量的增加,这种性能会不断提高[56, 10, 21, 51]。尽管计算机视觉领域对基础模型的探索相对较少,但也已有一些尝试。其中最突出的例子可能是将网络上的成对文本和图像进行对齐。例如,CLIP[82]和ALIGN[55]使用对比学习来训练文本和图像编码器,使这两种模态对齐。一旦训练完成,通过设计的文本提示,就可以实现对新视觉概念和数据分布的零样本泛化。这些编码器还可以与其他模块有效组合,以执行下游任务,如图像生成(例如DALL·E[83])。尽管在视觉和语言编码器方面已经取得了很大进展,但计算机视觉领域还包括许多超出这一范围的问题,而且其中许多问题缺乏丰富的训练数据。

在这项工作中,我们的目标是构建一个用于图像分割的基础模型。也就是说,我们旨在开发一个可提示的模型,并使用一个能够实现强大泛化能力的任务在广泛的数据集上对其进行预训练。利用这个模型,我们希望通过提示工程来解决新数据分布上的一系列下游分割问题。
该计划的成功取决于三个要素:任务、模型和数据。为了开发这些要素,我们针对图像分割提出了以下问题:
1.什么任务能够实现零样本泛化?
2.对应的模型架构是什么?
3.什么数据能够支撑这项任务和模型?

这些问题相互交织,需要一个全面的解决方案。我们首先定义了一个可提示的分割任务,该任务足够通用,既能提供一个强大的预训练目标,又能支持广泛的下游应用。这项任务需要一个支持灵活提示的模型,当被提示时能够实时输出分割掩码,从而实现交互式使用。为了训练我们的模型,我们需要一个多样化、大规模的数据源。遗憾的是,目前还没有用于分割的网络级数据源;为了解决这一问题,我们构建了一个“数据引擎”,即,我们在使用我们的高效模型辅助数据收集和使用新收集的数据改进模型之间不断迭代。接下来,我们将介绍每个相互关联的组件,以及我们创建的数据集和证明我们方法有效性的实验。
任务(第2节)。在自然语言处理(NLP)和最近的计算机视觉领域,基础模型是一项有前景的发展,它们通常通过使用“提示”(prompting)技术来对新数据集和任务执行零样本学习和少样本学习。受这一研究方向的启发,我们提出了可提示分割任务,该任务的目标是,在给定任何分割提示的情况下,返回一个有效的分割掩码(见图1a)。提示简单地指定了图像中要分割的内容,例如,提示可以包含识别物体的空间信息或文本信息。
有效输出掩码的要求意味着,即使提示存在歧义,可能指向多个物体(例如,衬衫上的一个点可能表示衬衫或穿衬衫的人),输出也应该是这些物体中至少一个的合理掩码。我们将可提示分割任务既用作预训练目标,也通过提示工程来解决一般的下游分割任务。

模型(第3节)。可提示分割任务及其实际应用目标对模型架构提出了要求。特别是,模型必须支持灵活的提示,需要计算摊销实时掩码以支持交互式使用,并且必须具备歧义感知能力。令人惊讶的是,我们发现一个简单的设计就能满足所有这三个要求:一个强大的图像编码器计算图像嵌入,一个提示编码器嵌入提示,然后这两个信息源在一个轻量级的掩码解码器中结合,以预测分割掩码。我们将这个模型称为“分割万物模型”(Segment Anything Model),简称SAM(见图1b)。通过将SAM分离为图像编码器和快速的提示编码器/掩码解码器,可以使用不同的提示重复使用相同的图像嵌入(并摊销其成本)。给定一个图像嵌入,提示编码器和掩码解码器可在网页浏览器中在约50毫秒内根据提示预测一个掩码。我们重点关注点、框和掩码提示,并还展示了使用自由文本提示的初步结果。为了使SAM具备歧义感知能力,我们设计其针对单个提示预测多个掩码,从而使SAM能够自然地处理歧义,例如衬衫与人的示例。

数据引擎(第4节)。为了实现对新数据分布的强泛化能力,我们发现有必要在比现有任何分割数据集都要更大且更多样化的掩码集合上训练SAM。虽然基础模型的一种典型方法是在线获取数据[82],但掩码并不是自然丰富的资源,因此我们需要一种替代策略。我们的解决方案是构建一个“数据引擎”,即我们采用模型在循环中的数据集标注方法共同开发模型(见图1c)。我们的数据引擎有三个阶段:辅助手动、半自动和全自动。在第一阶段,SAM协助标注者标注掩码,类似于传统的交互式分割设置。在第二阶段,SAM可以通过提示可能的目标位置自动为部分目标生成掩码,标注者则专注于标注剩余的目标,有助于增加掩码的多样性。在最终阶段,我们用前景点的规则网格提示SAM,平均每张图像产生约100个高质量掩码。

数据集(第5节)。我们的最终数据集SA-1B包含来自1100万张获得授权且保护隐私的图像中的超过10亿个掩码(见图2)。SA-1B是完全使用我们数据引擎的最终阶段自动收集的,其掩码数量比任何现有的分割数据集[66, 44, 117, 60]多400倍,并且经过我们广泛的验证,这些掩码具有高质量和多样性。除了用于训练SAM以实现鲁棒性和通用性之外,我们希望SA-1B能够成为旨在构建新基础模型的研究的宝贵资源。

负责任的人工智能(第6节)。我们研究了在使用SA-1B数据集和SAM模型时可能存在的公平性问题和偏见,并对此进行了报告。SA-1B数据集中的图像涵盖了地理和经济上多样化的国家集合,我们发现SAM在不同人群中的表现相似。总体而言,我们希望这能使我们的工作在实际应用场景中更加公平。我们在附录中提供了模型和数据集卡片。

实验(第7节)。我们对SAM进行了广泛评估。首先,使用一套包含23个多样化的新分割数据集,我们发现SAM可以从单个前景点生成高质量的掩码,通常仅略低于手动标注的真实值。其次,在使用提示工程的零样本迁移协议下,我们在各种下游任务中获得了持续强劲的数量和质量结果,包括边缘检测、目标候选区域生成、实例分割,以及对文本到掩码预测的初步探索。这些结果表明,SAM可以通过提示工程即插即用,以解决涉及SAM训练数据之外的对象和图像分布的各种任务。然而,如我们在第8节中所述,仍有改进的空间。
发布。我们正在发布SA-1B数据集供研究使用,并在https://segment-anything.com上以宽容的开源许可证(Apache 2.0)提供SAM。我们还通过在线演示展示了SAM的功能。

在这里插入图片描述
图2:来自我们新引入的数据集SA-1B的示例图像,图像上叠加了掩码。SA-1B包含1100万张多样化、高分辨率、获得授权且保护隐私的图像,以及11亿个高质量的分割掩码。这些掩码由SAM全自动标注,并且经过人工评分和大量实验的验证,证明了它们的高质量和多样性。为了可视化,我们根据每张图像的掩码数量对图像进行了分组(平均每张图像约有100个掩码)。

2.Segment Anything Task

我们从自然语言处理(NLP)中汲取灵感,在那里,下一个标记预测任务被用于基础模型的预训练,并通过提示工程解决各种下游任务[10]。为了构建用于分割的基础模型,我们的目标是定义一个具有类似功能的任务。
任务。我们首先将NLP中的提示概念应用到分割领域,在这里,提示可以是一组前景/背景点、一个粗略的框或掩码、自由形式的文本,或者一般来说,任何指示图像中要分割什么的信息。然后,可提示分割任务就是在给定任何提示的情况下返回一个有效的分割掩码。对“有效”掩码的要求仅仅意味着,即使提示是模糊的,可能指向多个对象(例如,回想一下衬衫与人的例子,并参见图3),输出也应该是这些对象中至少一个对象的合理掩码。这一要求类似于期望语言模型对模糊提示输出连贯的响应。我们选择这一任务是因为它引出了一个自然的基础模型预训练算法,以及一个通过提示将模型零样本迁移到下游分割任务的一般方法。

预训练。可提示分割任务暗示了一种自然的基础模型预训练算法,该算法模拟对每个训练样本的一系列提示(例如,点、框、掩码),并将模型的掩码预测与真实标签进行比较。我们从交互式分割[109, 70]中借鉴了这种方法,尽管与交互式分割(其目标是在足够多的用户输入后最终预测一个有效的掩码)不同,我们的目标是始终为任何提示预测一个有效的掩码,即使提示是模糊的。这确保了预训练模型在涉及模糊性的用例中有效,包括我们的数据引擎第4节所要求的自动标注。我们注意到,很好地完成这项任务具有挑战性,需要专门的建模和训练损失选择,我们将在第3节中讨论这些。

零样本迁移。直觉上,我们的预训练任务赋予了模型在推理时能够针对任何提示作出适当响应的能力,因此,通过设计适当的提示,可以解决下游任务。例如,如果有一个猫的边界框检测器,那么可以通过将该检测器的框输出作为提示输入到我们的模型中,来解决猫的实例分割问题。一般来说,各种实用的分割任务都可以转化为提示任务。除了自动数据集标注外,我们还在第7节的实验中探索了五个不同的示例任务。

相关任务。分割是一个广泛的领域:包括交互式分割[57, 109]、边缘检测[3]、超像素化[85]、目标候选区域生成[2]、前景分割[94]、语义分割[90]、实例分割[66]、全景分割[59]等。我们的可提示分割任务的目标是产生一个具有广泛能力的模型,该模型可以通过提示工程适应许多(虽然不是全部)现有和新的分割任务。这种能力是一种任务泛化[26]的形式。注意,这与之前关于多任务分割系统的研究是不同的。在多任务系统中,单个模型执行一组固定的任务,例如联合语义、实例和全景分割[114, 19, 54],但训练和测试任务是相同的。我们工作中的一个重要区别是,为可提示分割训练的模型可以在推理时通过作为更大系统的一个组件来执行一个新的、不同的任务,例如,为了执行实例分割,将可提示分割模型与现有的目标检测器相结合。

讨论。提示和组合是强大的工具,它们使单个模型能够以可扩展的方式使用,甚至可能完成在模型设计时未知的任务。这种方法与其他基础模型的使用方法类似,例如,CLIP[82]是DALL·E[83]图像生成系统的文本-图像对齐组件。我们预计,由提示工程等技术驱动的可组合系统设计将能够比专门为固定任务集训练的系统实现更广泛的应用。通过组合的视角来比较可提示分割和交互式分割也很有趣:虽然交互式分割模型是考虑到人类用户而设计的,但为可提示分割训练的模型也可以像我们将要展示的那样组合成一个更大的算法系统。

3.Segment Anything Model

接下来,我们介绍用于可提示分割的Segment Anything Model(SAM)。SAM由三个组件组成,如图4所示:图像编码器、灵活的提示编码器和快速掩码解码器。我们基于Transformer视觉模型[14, 33, 20, 62]构建,同时针对(平均)实时性能进行了特定的权衡。以下是对这些组件的高级描述,详细信息见附录A。
图像编码器。鉴于可扩展性和强大的预训练方法,我们使用了最小程度调整以适应高分辨率输入[62]的MAE[47]预训练Vision Transformer(ViT)[33]。图像编码器对每个图像运行一次,并可在提示模型之前应用。

提示编码器。我们考虑了两组提示:稀疏(点、框、文本)和密集(掩码)。我们通过位置编码[95](与每种提示类型学习的嵌入相加)来表示点和框,而自由形式的文本则使用CLIP[82]中的现成文本编码器。密集提示(即掩码)通过卷积进行嵌入,并与图像嵌入进行元素级相加。
掩码解码器。掩码解码器有效地将图像嵌入、提示嵌入和输出标记映射到掩码上。这一设计受[14, 20]启发,采用了Transformer解码器块[103]的修改版本,后跟一个动态掩码预测头。我们的修改后的解码器块使用双向(提示到图像嵌入和反之亦然)的提示自注意力和交叉注意力来更新所有嵌入。运行两个块后,我们对图像嵌入进行上采样,并使用多层感知器(MLP)将输出标记映射到动态线性分类器,然后计算每个图像位置的掩码前景概率。

解决歧义。如果给定一个模糊的提示,模型在只有一个输出的情况下会平均多个有效的掩码。为了解决这个问题,我们修改了模型,使其能够为单个提示预测多个输出掩码(见图3)。我们发现,3个掩码输出足以解决最常见的情况(嵌套掩码通常最多有三层:整体、部分和子部分)。在训练期间,我们只对掩码上的最小损失[15, 45, 64]进行反向传播。为了对掩码进行排序,模型为每个掩码预测一个置信度分数(即估计的交并比IoU)。

效率。整体模型设计在很大程度上受到了效率的驱动。在给定预计算的图像嵌入的情况下,提示编码器和掩码解码器可以在网页浏览器中、在CPU上以约50毫秒的速度运行。这种运行时性能使我们的模型能够实现无缝、实时的交互式提示。
损失和训练。我们采用[14]中使用的焦点损失[65]和骰子损失[73]的线性组合来监督掩码预测。我们使用几何提示的混合(对于文本提示,请参见第7.5节)来训练可提示分割任务。遵循[92, 37]的方法,我们通过每轮随机采样11个提示来模拟交互式设置,从而使SAM能够无缝集成到我们的数据引擎中。
在这里插入图片描述

4.Segment Anything Data Engine

由于互联网上的分割掩码并不丰富,我们构建了一个数据引擎来收集我们的11亿掩码数据集SA-1B。该数据引擎有三个阶段:(1)模型辅助的手动标注阶段,(2)结合自动预测的掩码和模型辅助标注的半自动阶段,以及(3)模型在没有标注者输入的情况下生成掩码的全自动阶段。接下来,我们将详细介绍每个阶段。

辅助手动阶段。在第一阶段,类似于经典的交互式分割,一支专业的标注者团队使用由SAM支持的基于浏览器的交互式分割工具,通过点击前景/背景对象点来标注掩码。可以使用像素精确的“画笔”和“橡皮擦”工具对掩码进行细化。我们的模型辅助标注直接在浏览器内部实时运行(使用预计算的图像嵌入),从而提供了真正的交互式体验。我们没有对标注对象施加语义约束,标注者可以自由地标注“背景”和“前景物体”[1]。我们建议标注者标注他们能够命名或描述的对象,但没有收集这些名称或描述。要求标注者按照显著性的顺序标注对象,并且如果标注一个掩码花费的时间超过30秒,则鼓励他们继续标注下一张图像。

在这一阶段的开始,SAM(模型名称)是使用常见的公共分割数据集进行训练的。在足够的数据标注之后,SAM仅使用新标注的掩码进行了重新训练。随着收集的掩码越来越多,图像编码器从ViT-B扩展到了ViT-H,其他架构细节也得到了改进;我们总共对模型进行了6次重新训练。随着模型的改进,每个掩码的平均标注时间从34秒减少到了14秒。我们注意到,14秒比COCO[66]的掩码标注速度快6.5倍,而仅比使用极值点的边界框标注慢2倍[76, 71]。随着SAM的改进,每张图像的平均掩码数量从20个增加到了44个。总体而言,我们在这一阶段从12万张图像中收集了430万个掩码。

半自动阶段。在这一阶段,我们的目标是增加掩码的多样性,以提高模型分割任何物体的能力。为了让标注者专注于不太显著的对象,我们首先自动检测了置信度高的掩码。然后,我们向标注者展示了预先填充了这些掩码的图像,并要求他们标注任何未标注的额外对象。为了检测置信度高的掩码,我们在所有第一阶段掩码上使用了一个通用的“物体”类别训练了一个边界框检测器[84]。在这一阶段,我们又在18万张图像中收集了额外的590万个掩码(总数达到1.02亿个)。与第一阶段一样,我们定期在新收集的数据上对模型进行了重新训练(5次)。由于这些对象更难标注,因此每个掩码的平均标注时间(不包括自动掩码)又回到了34秒。每张图像的平均掩码数量从44个增加到了72个(包括自动掩码)。

全自动阶段。在最后阶段,标注完全是自动的。这得益于我们对模型的两大改进。首先,在这一阶段开始时,我们已经收集了足够的掩码来大幅提升模型性能,包括上一阶段收集的各种掩码。其次,到这一阶段,我们已经开发了能够感知歧义的模型,这使我们即使在模糊的情况下也能预测出有效的掩码。具体来说,我们用32×32的规则网格点向模型发出提示,并为每个点预测可能对应于有效对象的一组掩码。在使用能够感知歧义的模型时,如果一个点位于部分或子部分上,我们的模型将返回子部分、部分和整体对象。我们使用模型的交并比(IoU)预测模块来选择置信度高的掩码;此外,我们还仅识别和选择了稳定的掩码(如果概率图在0.5 - δ和0.5 + δ处进行阈值处理得到的掩码相似,则认为该掩码是稳定的)。最后,在选择出置信度高且稳定的掩码后,我们应用了非极大值抑制(NMS)来过滤重复项。为了进一步提高较小掩码的质量,我们还处理了多个重叠的放大图像裁剪区域。有关这一阶段的更多详细信息,请参见第B节。我们对数据集中的所有1.1亿张图像应用了全自动掩码生成,总共产生了11亿个高质量的掩码。接下来,我们将描述并分析所得数据集SA-1B。
在这里插入图片描述
在这里插入图片描述

5. Segment Anything Dataset

我们的数据集SA-1B包含1100万张多样化、高分辨率、获得授权且注重隐私保护的图像,以及使用我们的数据引擎收集的11亿个高质量的分割掩码。我们将SA-1B与现有数据集进行了比较,并分析了掩码的质量和特性。我们发布SA-1B的目的是为了助力未来计算机视觉基础模型的开发。我们注意到,SA-1B将在有利于某些研究用途的许可协议下发布,并保护研究人员的权益。

图像。我们从一家直接与摄影师合作的供应商那里获得了1100万张新的授权图像。这些图像具有高分辨率(平均分辨率为3300×4950像素),因此所得数据的大小可能会带来访问和存储方面的挑战。因此,我们发布了降采样后的图像,其最短边设置为1500像素。即使经过降采样处理,我们的图像分辨率也远高于许多现有的视觉数据集(例如,COCO[66]图像的分辨率约为480×640像素)。请注意,当今的大多数模型都是在分辨率远低于此的输入上运行的。在发布的图像中,人脸和车牌已被模糊处理。

掩码。我们的数据引擎生成了11亿个掩码,其中99.1%是完全自动生成的。因此,自动掩码的质量至关重要。我们将它们与专业标注进行了直接比较,并查看了各种掩码特性与主要分割数据集的比较结果。我们在以下分析和第7节的实验中得出的主要结论是,我们的自动掩码质量高且适合用于训练模型。基于这些发现,SA-1B仅包含自动生成的掩码。

掩码质量。为了估计掩码的质量,我们随机抽取了500张图像(约5万个掩码),并要求我们的专业标注人员提高这些图像中所有掩码的质量。标注人员使用我们的模型和精确的像素级“画笔”和“橡皮擦”编辑工具完成了这项工作。这一程序产生了自动预测掩码和专业校正掩码的对。我们计算了每对掩码之间的交并比(IoU),发现94%的对具有超过90%的IoU(97%的对具有超过75%的IoU)。相比之下,先前的工作估计标注者之间的一致性为85%-91%的IoU[44, 60]。我们在第7节的实验通过人工评分证实,相对于各种数据集,我们的掩码质量很高,并且使用自动掩码训练我们的模型几乎与使用数据引擎生成的所有掩码一样好。

掩码特性。在图5中,我们绘制了SA-1B与现有最大的分割数据集相比的对象中心的空间分布。所有数据集中都存在摄影师的常见偏见。我们观察到,与分布最为相似的两个数据集LVIS v1 [44]和ADE20K [117]相比,SA-1B在图像角落的覆盖率更高,而COCO [66]和Open Images V5 [60]则存在更明显的中心偏见。在图6(图例)中,我们按大小比较了这些数据集。SA-1B的图像数量是第二大的Open Images的11倍,掩码数量是其400倍。平均而言,SA-1B每张图像的掩码数量是Open Images的36倍。在这方面最接近的数据集ADE20K,每张图像的掩码数量仍然少了3.5倍。图6(左)绘制了每张图像的掩码数量分布。接下来,我们在图6(中)中查看了相对于图像的掩码大小(掩码面积平方根除以图像面积)。不出所料,由于我们的数据集每张图像的掩码更多,因此它也倾向于包含更大比例的小型和中型相对大小的掩码。最后,为了分析形状复杂性,我们在图6(右)中查看了掩码的凹度(1减去掩码面积除以掩码凸包的面积)。由于形状复杂性与掩码大小相关,我们首先通过从分组的掩码大小中进行分层抽样来控制数据集的掩码大小分布。我们观察到,我们的掩码的凹度分布与其他数据集大致相似。

6. Segment Anything RAI Analysis

接下来,我们通过研究在使用SA-1B和SAM时可能存在的公平性问题及偏见,对我们的工作进行了负责任的人工智能(RAI)分析。我们重点关注SA-1B的地理和收入分布,以及SAM在受保护的人群属性方面的公平性。此外,我们在第F节中提供了数据集、数据标注和模型卡片。
地理和收入代表性。我们使用标准方法(见第C节)推断出图像拍摄的国家。在图7中,我们可视化了SA-1B中每个国家的图像数量(左图)以及图像数量最多的50个国家(右图)。我们注意到,排名前三的国家来自世界不同的地区。接下来,在表1中,我们比较了SA-1B、COCO [66]和Open Images [60]在地理和收入方面的代表性。SA-1B在欧洲、亚洲及大洋洲以及中等收入国家的图像比例显著更高。所有数据集在非洲和低收入国家的代表性都不足。我们注意到,在SA-1B中,包括非洲在内的所有地区都至少有2800万个掩码,这比以往任何数据集中的掩码总数都多10倍。最后,我们观察到,平均每张图像的掩码数量(未显示)在地区和收入方面相当一致(每张图像94-108个)。

人群分割的公平性。我们通过测量SAM在不同群体之间的性能差异,调查了感知性别表达、感知年龄组和感知肤色的潜在公平性问题。我们使用“More Inclusive Annotations for People”(MIAP)[87]数据集来确定性别表达和年龄,并使用专有数据集来确定肤色(见第C节)。我们的评估采用了模拟交互式分割,并随机抽取1个和3个点(见第D节)。表2(左上)显示了感知性别表达的结果。我们注意到,女性在检测和分割数据集中的代表性不足[115],但观察到SAM在不同群体中的表现相似。我们在表2(左下)中对感知年龄进行了重复分析,注意到在大规模数据集中,被认为较年轻和较年长的人群代表性不足[110]。SAM在被认为是较年长的人群中表现最佳(尽管置信区间较大)。最后,我们在表2(右)中对感知肤色进行了重复分析,注意到在大规模数据集中,肤色较浅的人被过度代表,而肤色较深的人被代表性不足[110]。由于MIAP不包含感知肤色的标注,我们使用了一个包含感知Fitzpatrick皮肤类型[36]标注的专有数据集,该类型从1(最浅肤色)到6(最深肤色)不等。尽管平均值有所差异,但我们未发现不同群体之间存在显著差异。我们认为这一发现源于任务本身的性质,并承认当SAM作为更大系统的一个组成部分时,可能会出现偏见。最后,在第C节中,我们将分析扩展到服装分割,其中我们发现存在基于感知性别表达的偏见迹象。

7. Zero-Shot Transfer Experiments

在本节中,我们将使用“分割万物模型”(SAM)进行零样本迁移实验。我们考虑了五项任务,其中四项与用于训练SAM的可提示分割任务差异显著。这些实验在训练期间未见过的数据集和任务上评估SAM(我们对“零样本迁移”的使用遵循CLIP [82]中的用法)。这些数据集可能包含新的图像分布,例如水下图像或以自我为中心的图像(例如图8),据我们所知,这些图像在SA-1B中并未出现。
我们的实验首先从测试可提示分割的核心目标开始:从任何提示中生成有效的掩码。我们强调了单个前景点提示这一具有挑战性的场景,因为它比其他更具体的提示更容易产生歧义。接下来,我们展示了一系列实验,这些实验涵盖了低级、中级和高级图像理解,并大致与该领域的历史发展相平行。具体来说,我们提示SAM执行以下任务:(1)进行边缘检测,(2)分割万物,即生成对象提议,(3)分割检测到的对象,即实例分割,以及(4)作为概念验证,根据自由形式的文本分割对象。这四项任务与SAM训练所用的可提示分割任务差异显著,并通过提示工程来实现。我们的实验以消融研究结束。
实现细节。除非另有说明:(1)SAM使用MAE [47]预训练的ViT-H [33]图像编码器,(2)SAM在SA-1B上进行训练,需要注意的是,该数据集仅包含我们数据引擎最终阶段自动生成的掩码。有关模型和训练的所有其他详细信息,如超参数,请参阅第A节。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.1. Zero-Shot Single Point Valid Mask Evaluation

任务。我们评估从单个前景点分割对象的能力。这项任务是不适定的,因为一个点可能指向多个对象。大多数数据集中的真实掩码并没有列举出所有可能的掩码,这可能导致自动评估指标不可靠。因此,我们除了使用标准的平均交并比(mIoU)指标(即预测掩码与真实掩码之间所有交并比的平均值)外,还补充了一项人工研究,其中标注者根据掩码质量从1(毫无意义)到10(完美匹配)进行评分。更多详细信息请参见第D.1节、第E节和第G节。
默认情况下,我们根据交互式分割[92]中的标准评估协议,从真实掩码的“中心”(即掩码内部距离变换的最大值处)采样点。由于SAM能够预测多个掩码,我们默认只评估模型最自信的掩码。基线方法都是单掩码方法。我们主要与RITM[92]进行比较,RITM是一种强大的交互式分割器,在我们的基准测试中与其他强大的基线方法[67, 18]相比表现最佳。
数据集。我们使用了一套新编译的包含23个数据集的套件,这些数据集具有不同的图像分布。图8列出了这些数据集,并展示了每个数据集的一个样本(更多详细信息请参见附录中的表7)。我们使用所有23个数据集进行mIoU评估。对于人工研究,我们使用了图9b中列出的子集(由于这类研究对资源的要求)。该子集既包含了根据自动评估指标SAM表现优于RITM的数据集,也包含了SAM表现不如RITM的数据集。
结果。首先,我们使用平均交并比(mIoU)在全套23个数据集上进行自动评估。在图9a中,我们将每个数据集的结果与RITM进行了比较。在23个数据集中,SAM在16个数据集上取得了更高的结果,最高提高了约47个IoU。我们还展示了一个“oracle”结果,即通过将SAM的三个掩码中与真实掩码最相关的一个进行比较来选择,而不是选择最自信的掩码。这揭示了歧义对自动评估的影响。特别是,在oracle进行歧义解析的情况下,SAM在所有数据集上的表现都优于RITM。
人工研究的结果如图9b所示。误差条是平均掩码评分的95%置信区间(所有差异均显著;详见第E节)。我们观察到,标注者一致认为SAM的掩码质量明显高于最强的基线方法RITM。一个具有单一输出掩码的、被“去除歧义感知”的SAM版本的评分始终较低,但仍然高于RITM。SAM的平均评分在7到9之间,对应于定性评分指南:“高分(7-9):对象可识别,错误小且罕见(例如,缺少一个小的、被严重遮挡的不连续部分,……)。”这些结果表明,SAM已经学会了从单个点分割出有效的掩码。值得注意的是,对于DRAM和IBD等数据集,尽管SAM在自动评估指标上表现较差,但在人工研究中却获得了始终较高的评分。
图9c展示了另外两个基线方法SimpleClick [67]和FocalClick [18],它们在单点性能上低于RITM和SAM。随着点的数量从1增加到9,我们观察到方法之间的差距在缩小。这是预料之中的,因为任务变得更简单了;此外,SAM并没有针对非常高的IoU范围进行优化。最后,在图9d中,我们将默认的中心点采样替换为随机点采样。我们观察到,SAM与基线之间的差距扩大了,并且SAM能够在两种采样方法下都取得可比的结果。

7.2. Zero-Shot Edge Detection

方法。我们使用BSDS500数据集[72, 3]对SAM在低层次任务——边缘检测上的表现进行了评估。我们使用了自动掩码生成管道的简化版本。具体来说,我们用一个16×16的规则网格中的前景点来提示SAM,从而生成了768个预测掩码(每个点3个)。通过非极大值抑制(NMS)来移除冗余的掩码。然后,对未阈值化的掩码概率图进行Sobel滤波,并进行标准的轻量级后处理(包括边缘非极大值抑制),来计算边缘图(详见第D.2节)。
结果。我们在图10中展示了代表性的边缘图(更多内容见图15)。从定性角度来看,我们观察到尽管SAM没有经过边缘检测的训练,但它仍然能够产生合理的边缘图。与真实标签相比,SAM预测出了更多的边缘,包括BSDS500中未标注的但合理的边缘。这种偏差在表3中得到了定量反映:在50%精度下的召回率(R50)很高,但代价是精度下降。与学习了BSDS500偏差(即哪些边缘应该被抑制)的最先进方法相比,SAM自然落后。然而,与HED[108](也在BSDS500上训练)等开创性的深度学习方法相比,SAM表现良好,并且明显优于虽然过时但仍值得注意的零样本迁移方法。

7.3. Zero-Shot Object Proposals

方法。接下来,我们在目标候选区域生成(object proposal generation)这一中级任务上评估SAM[2, 102]。该任务在目标检测研究中发挥了重要作用,是开创性系统(例如[102, 41, 84])中的一个中间步骤。为了生成目标候选区域,我们运行了一个稍作修改的自动掩码生成管道,并将掩码作为候选区域输出(详见第D.3节)。
我们在LVIS v1[44]上计算了标准的平均召回率(AR)指标。我们选择LVIS是因为它包含大量的类别,构成了一个具有挑战性的测试。我们与一个强大的基线进行了比较,该基线使用ViTDet[62]检测器(具有级联Mask R-CNN[48, 11]的ViT-H版本)实现。我们注意到,这个“基线”对应于“作为候选区域生成器的检测器伪装”(Detector Masquerading as Proposal generator,DMP)方法[16],该方法被证明能够操纵AR,因此这是一个真正具有挑战性的比较。
结果。在表4中,我们不出所料地看到,使用ViTDet-H的检测作为目标候选区域(即操纵AR的DMP方法[16])在总体上表现最佳。然而,SAM在多个指标上表现出色。值得注意的是,它在中等和大型物体以及稀有和常见物体上均优于ViTDet-H。实际上,SAM仅在小型物体和常见物体上表现不如ViTDet-H,因为ViTDet-H是在LVIS上训练的,可以很容易地学习LVIS特定的标注偏差,而SAM则没有这样的训练。我们还与一个去除歧义感知的SAM版本(“单一输出”)进行了比较,该版本在所有AR指标上的表现都显著差于SAM。

7.4. Zero-Shot Instance Segmentation

方法。转向更高层次的视觉任务,我们将SAM用作实例分割器的分割模块。实现过程很简单:我们运行一个目标检测器(之前使用的ViTDet),并用其输出的边界框来提示SAM。这展示了如何在更大的系统中组合SAM。
结果。我们在表5中比较了SAM和ViTDet在COCO和LVIS数据集上预测的掩码。从掩码的平均精度(AP)指标来看,我们在两个数据集上都观察到了差距,其中SAM虽然接近但确实落后于ViTDet。通过可视化输出,我们观察到SAM的掩码在质量上通常优于ViTDet,边界更清晰(详见第D.4节和图16)。为了验证这一观察结果,我们进行了额外的人类研究,要求标注者按照之前使用的1到10的质量评分对ViTDet和SAM的掩码进行评分。在图11中,我们观察到在人类研究中,SAM的表现始终优于ViTDet。
我们假设在COCO数据集上,由于掩码的平均精度差距更大且真实标签质量相对较低(人类研究的结果也证实了这一点),ViTDet学习了COCO掩码特有的偏差。而SAM作为一种零样本方法,无法利用这些(通常是不希望出现的)偏差。LVIS数据集的真实标签质量更高,但仍然存在特定的特性(例如,掩码不包含空洞,它们是通过构造的简单多边形)以及模态掩码与无模态掩码之间的偏差。同样,SAM没有训练来学习这些偏差,而ViTDet可以利用它们。

7.5. Zero-Shot Text-to-Mask

方法。最后,我们考虑了一个更高层次的任务:根据自由文本对物体进行分割。这个实验证明了SAM处理文本提示的能力。虽然我们在之前的所有实验中使用了完全相同的SAM,但在这个实验中,我们对SAM的训练过程进行了修改,使其具有文本感知能力,但这种方式不需要新的文本注释。具体来说,对于每个手动收集的面积大于100²的掩码,我们提取其CLIP图像嵌入。然后,在训练过程中,我们用提取的CLIP图像嵌入作为SAM的首次交互提示。这里的关键观察结果是,由于CLIP的图像嵌入被训练为与其文本嵌入对齐,因此我们可以使用图像嵌入进行训练,但在推理时使用文本嵌入。也就是说,在推理时,我们将文本通过CLIP的文本编码器运行,然后将得到的文本嵌入作为提示给SAM(详见第D.5节)。
结果。我们在图12中展示了定性结果。SAM可以根据简单的文本提示(如“一个轮子”)以及短语(如“海狸牙式格栅”)对物体进行分割。当SAM仅根据文本提示无法选择正确的物体时,通常添加一个额外的点就可以修正预测,这与[31]类似。

7.6. Ablations

我们在23个数据集套件上,使用单点中心提示协议进行了几项消融实验。请注意,单点可能是模糊的,并且这种模糊性在仅包含每个点对应一个掩码的真实标签中可能无法体现。由于SAM是在零样本迁移设置下运行的,因此SAM排名最高的掩码与根据数据标注指南生成的掩码之间可能存在系统性偏差。因此,我们还报告了相对于真实标签(即“Oracle”)的最佳掩码。
图13(左)绘制了SAM在数据引擎各阶段累积数据上训练时的性能。我们观察到,每个阶段都能提高平均交并比(mIoU)。当使用所有三个阶段的数据进行训练时,自动生成的掩码数量远远超过手动和半自动生成的掩码。为了解决这个问题,我们发现训练时对手动和半自动生成的掩码进行过采样(10倍)可以获得最佳结果。这种设置使训练过程变得复杂。因此,我们测试了第四种设置,该设置仅使用自动生成的掩码。使用这些数据,SAM的性能仅略低于使用所有数据时的性能(约低0.5 mIoU)。因此,为了简化训练设置,我们默认仅使用自动生成的掩码。
在图13(中)中,我们研究了数据量的影响。完整的SA-1B数据集包含1.1亿张图像,我们在此消融实验中将其均匀子采样为100万张和10万张。在10万张图像的情况下,我们观察到在所有设置下mIoU都有大幅下降。然而,在使用100万张图像(约占完整数据集的10%)时,我们观察到的结果与使用完整数据集时的结果相当。这种数据方案仍然包含约1亿个掩码,对于许多用例来说可能是一个实用的设置。
最后,图13(右)展示了使用ViT-B、ViT-L和ViT-H图像编码器的结果。ViT-H相较于ViT-B有了显著提升,但相较于ViT-L只有微小的增益。目前看来,进一步扩展图像编码器的规模似乎并不明智。
在这里插入图片描述
在这里插入图片描述

8.Discussion

基础模型。自机器学习早期以来,预训练模型就已经被应用于下游任务[99]。近年来,随着对规模的日益重视,这一范式变得越来越重要,这类模型最近被(重新)称为“基础模型”:即“在大规模广泛数据上训练,并能适应广泛下游任务”的模型[8]。我们的工作与这一定义高度相关,尽管我们注意到,图像分割的基础模型本质上是一个有限的范围,因为它虽然是计算机视觉的一个重要子集,但只是其中的一部分。我们还对比了我们的方法与[8]在一个方面的不同,[8]强调了自监督学习在基础模型中的作用。虽然我们的模型是用自监督技术(MAE[47])初始化的,但其大部分能力来自于大规模监督训练。在数据引擎可以扩展可用注释的情况下,如我们的情况,监督训练提供了一个有效的解决方案。

组合性。预训练模型能够赋能新的能力,甚至包括在训练时无法想象的能力。一个突出的例子是CLIP[82]是如何被用作更大系统(如DALL·E[83])中的一个组件。我们的目标是使SAM能够轻松地实现这种组合。我们要求SAM对广泛的分割提示预测有效的掩码,以此来实现这一目标。其效果是在SAM和其他组件之间创建一个可靠的接口。例如,MCC[106]可以轻松地利用SAM对感兴趣的对象进行分割,并在从单个RGB-D图像进行3D重建时,对未见对象实现强大的泛化能力。在另一个例子中,SAM可以通过可穿戴设备检测到的注视点进行提示,从而启用新的应用。由于SAM能够泛化到新的领域,如以自我为中心的图像,这样的系统无需额外训练即可工作。

局限性。虽然SAM总体上表现良好,但它并非尽善尽美。它可能会遗漏精细结构,有时会错误地生成小的、不连贯的组件,并且与那些“放大”的、计算量更大的方法(如[18])相比,其生成的边界不够清晰。一般来说,当提供许多点时,我们预期专门的交互式分割方法会优于SAM,例如[67]。与这些方法不同,SAM的设计旨在实现通用性和广泛适用性,而非高交并比(IoU)的交互式分割。此外,SAM可以实时处理提示,但如果使用较重的图像编码器,SAM的整体性能则无法达到实时。我们对文本到掩码任务的尝试是探索性的,且尚不完全稳健,尽管我们相信通过更多努力可以对其进行改进。虽然SAM可以执行许多任务,但如何设计简单的提示来实现语义分割和全景分割尚不清楚。最后,还有一些特定领域的工具,如[7],我们预计它们将在各自领域超越SAM的表现。

结论。Segment Anything项目旨在将图像分割提升到基础模型时代。我们的主要贡献是提出了一项新任务(可提示分割)、一个模型(SAM)和一个数据集(SA-1B),使这一飞跃成为可能。SAM能否获得基础模型的地位,还有待观察其在社区中的使用情况,但无论如何,我们期望这项工作的视角、超过10亿个掩码的发布以及我们的可提示分割模型将有助于铺平未来的道路。
致谢。我们感谢Aaron Adcock和Jitendra Malik的有益讨论。我们感谢Vaibhav Aggarwal和Yanghao Li在模型扩展方面的帮助。我们感谢Cheng-Yang Fu、Jiabo Hu和Robert Kuo在数据标注平台方面的协助。我们感谢Allen Goodman和Bram Wasti在优化我们模型的网页版方面的帮助。最后,我们感谢Morteza Behrooz、Ashley Gabriel、Ahuva Goldstand、Sumanth Gurram、Somya Jain、Devansh Kukreja、Joshua Lane、Lilian Luong、Mallika Malhotra、William Ngan、Omkar Parkhi、Nikhil Raina、Dirk Rowe、Neil Sejoor、Vanessa Stark、Bala Varadarajan和Zachary Winstrom在制作演示、数据集查看器以及其他资产和工具方面的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值