Segment Anything
Segment Anything
论文链接:https://arxiv.org/abs/2304.02643
项目网站: https://segment-anything.com/
代码地址:https://github.com/facebookresearch/segment-anything
我们介绍了Segment Anything(SA)项目:一种新的图像分割任务、模型和数据集。在数据采集循环中使用我们的高效模型,我们建立了迄今为止最大的分割数据集,在1100万许可和尊重隐私的图像上有超过10亿个掩码。该模型被设计和训练为可提示的,因此它可以将zero-shot transfer零样本迁移到新的图像分布和任务。我们评估了它在许多任务上的能力,并发现它的零样本性能令人印象深刻,通常与之前的完全监督的结果相当,甚至更优。我们正在发布Segment Anything Model(SAM)和相应的数据集(SA-1B),其中包含10亿个掩码和1100万个图像,以促进计算机视觉基础模型的研究。
![img](https://img2023.cnblogs.com/blog/2009774/202307/2009774-20230710155310136-1555927290.png)
1、Introduction
在网络规模数据集上预训练的大语言模型正在NLP领域引起革命,具有强大的zero-shot零样本和few-shot少量样本泛化能力。这些“基础模型”可以泛化到训练期间看不到的任务和数据分布。这种能力通常通过prompt engineering提示工程来实现,其中手工制作的文本用于提示语言模型为任务生成有效的文本响应。当规模扩大并使用来自网络的丰富文本语料库进行训练时,这些模型的零样本和少量性能令人印象深刻,通常与(甚至在某些情况下与)微调模型相当。经验趋势表明,随着模型规模、数据集大小和总训练计算量的增加,这种行为会有所改善。
计算机视觉领域也探索了基础模型,尽管程度较小。也许最突出的例子是从网络中对齐配对的文本和图像。例如,CLIP和ALIGN使用对比学习来训练文本和图像编码器,以对齐两种模态。一旦训练完成,工程化的文本提示就可以将零样本泛化到新的视觉概念和数据分布。这些编码器也可以与其他模块有效组合,以实现下游任务,例如图像生成(例如,DALL·E)。虽然在视觉和语言编码器方面取得了很大进展,但计算机视觉领域包含了远远超出这个范围的问题,对于其中的许多问题,都不存在充足的训练数据。
在这项工作中,我们的目标是为图像分割构建一个foundation model基础模型。也就是说,我们希望开发一个可提示的模型,并使用一种任务在广泛的数据集上对其进行预训练,以实现强大的泛化。有了这个模型,我们的目标是使用提示工程来解决一系列下游分割问题,以解决新的数据分布问题。
这个计划的成功取决于三个组件:task任务、model模型和data数据。为了开发它们,我们解决了关于图像分割的以下问题:
- 1. 是什么task任务可以实现零样本泛化?
- 2. 对应的model模型架构是什么?
- 3. 哪些data数据集可以支持这项任务和模型?
这些问题是相互联系的,需要综合解决。我们首先定义了一个promptable segmentation task可提示的分割任务,该任务足够通用,可以提供强大的预训练目标,并且可以启用广泛的下游应用程序。这项任务需要一个支持灵活提示(supports flexible prompting)的模型,并且可以在提示时以实时方式输出分割掩码,以便进行交互式使用。为了训练我们的模型,我们需要一个多样化的、大规模的data数据源。不幸的是,还没有用于分割的网络规模数据源;为了解决这个问题,我们建立了一个“data engine数据引擎”,即我们在使用我们高效的模型来协助数据收集和使用新收集的数据来改进模型之间进行迭代。我们接下来介绍每个相互联系的组件,然后是我们创建的数据集以及演示我们方法有效性的实验。
Task任务:在NLP和最近的计算机视觉中,基础模型是一种有前途的发展,可以通过使用“prompting提示”技术来执行对新数据集和任务的零样本和少量样本学习。受到这一工作的启发,我们提出了prompted segmentation task可提示的分割任务,其中目标是在给定任何分割prompt提示的情况下返回有效的分割掩码(见图1a)。一个prompt提示只是指定图像中要分割的内容,例如,提示可以包括识别对象的空间或文本信息。有效输出掩码的要求意味着即使提示存在歧义并且可能指向多个对象(例如,衬衫上的一个点可能表示衬衫或穿着它的人),对于这些对象中至少一个,输出也应该是合理掩码。我们将可提示的分割任务用作预训练目标,并通过提示工程来解决一般的下游分割任务。
Model模型:可提示的分割任务和现实世界使用的目标对模型架构施加了约束。特别是,模型必须支持灵活的提示,需要在摊销的实时计算掩码以允许交互式使用,并且必须是模糊感知的。令人惊讶的是,我们发现一个简单的设计满足了这三个约束:一个强大的图像编码器计算image embedding图像嵌入,一个提示编码器嵌入提示,然后两个信息源在轻量级的掩码解码器中组合,预测分割掩码。我们将这个模型称为Segment Anything Model,或SAM(见图1b)。通过将SAM分为图像编码器和快速提示编码器/掩码解码器,可以重用相同的image embedding图像嵌入(并摊销其成本)与不同的提示。给定image embedding图像嵌入,提示编码器和掩码解码器可以在web浏览器中预测掩码。我们专注于点、框和掩码提示,并且还提供了使用自由形式文本提示的初始结果。为了使SAM模糊感知,我们设计它来预测单个提示的多个掩码,从而使SAM能够自然地处理模糊性,例如衬衫与人的例子。
Data engine数据引擎:为了达到对新数据分布的强大泛化,我们发现需要在大量和多样化的掩码上训练SAM,超出任何现有的分割数据集。虽然获取数据的典型方法是在线获取,但掩码并不自然丰富,因此我们需要另一种策略。我们的解决方案是建立一个“数据引擎”,即我们与model-in-the-loop数据集标注共同开发我们的模型(见图1c)。我们的数据引擎有三个阶段:assisted-manual辅助手动,semi-automatic半自动和fully automatic完全自动。在第一阶段,SAM协助标注人员标注掩码,类似于经典的交互式分割设置。在第二阶段,SAM可以通过prompting提示可能的对象位置来自动为一部分对象生成掩码,并且标注员专注于标注其余对象,从而帮助增加掩码多样性。在最后一个阶段,我们用前景点的常规网格去提示SAM,平均每个图像产生约100个高质量掩码。
Dataset数据集:我们最终的数据集SA-1B包含来自1100万张许可和隐私保护图像的超过10亿个掩码(见图2)。SA-1B是完全自动使用我们数据引擎的最后一个阶段收集的,比任何现有的分割数据集都有400倍多的掩码,并且我们广泛验证了掩码的高质量和多样性。除了将SA-1B用于训练SAM以变得强大和普遍之外,我们希望SA-1B成为研究新的基础模型的有价值的资源。
Responsible 负责的AI:我们研究并报告了使用SA-1B和SAM时可能存在的公平性问题和偏见。 SA-1B中的图像跨越了地理和经济上多样化的国家,我们发现SAM在不同人群中的表现相似。 我们希望这将使我们的工作对于现实世界的使用案例更加公平。 我们在附录中提供了模型和数据集卡片。
Experiments实验:我们广泛评估SAM。首先,使用一套新的23个多样化的分割数据集,我们发现SAM从单个前景点产生高质量的掩码,通常只是略低于手动标注的Ground Truth真值。其次,我们在零样本迁移协议下使用提示工程发现了各种下游任务一致强大的定量和定性结果,包括edge detection边缘检测,object proposal generation对象建议生成,instance segmentation实例分割和text-to-mask prediction文本到掩码预测的初步探索。这些结果表明,SAM可以在提示工程下使用,以解决涉及对象和图像分布的各种任务,超出SAM的训练数据。然而,仍有改进的空间,我们在第8节中讨论。
Release发布:我们为研究目的发布SA-1B数据集,并在Apache 2.0许可下发布SAM,地址为https://segment-anything.com。我们还使用在线演示展示了SAM的功能。
2. Segment Anything Task
我们从NLP自然语言处理中获得灵感,其中下一个token预测任务用于基础模型预训练,并通过提示工程来解决各种下游任务。为了构建分割的基础模型,我们的目标是定义具有类似功能的任务。
Task任务。我们首先将prompt提示的思想将NLP迁移到分割,其中一个prompt提示可以是一组前景/背景点,粗略的框或掩码,自由形式的文本,或者,一般来说,任何指示在图像中分割什么的信息。然后,promptable segmentation task可提示分割任务是给定任何提示返回有效的分割掩码。掩码的“有效”要求只是意味着即使提示模糊并且可能指向多个对象(例如,回想一下衬衫与人的例子,并参见图3),输出也应该是至少一个这些对象中的合理掩码。这个要求类似于期望语言模型输出对模糊提示的连贯响应。我们选择这个任务是因为它导致了一种自然的预训练算法和一种通过提示将可提示分割任务迁移到下游分割任务的通用方法。
Pre-training预训练。可提示的分割任务提出了一种自然的预训练算法,该算法为每个训练样本模拟一系列提示(例如,点,框,掩码),并将模型的掩码预测与真值GroundTruth进行比较。我们从交互式分割中采用了这种方法,尽管与交互式分割不同,其目标是在足够的用户输入后最终预测有效的掩码,我们的目标是始终为任何提示预测有效的掩码,即使提示是模糊的。这确保了预训练的模型在涉及模糊性的用例中是有效的,包括我们的data engine数据引擎所需的自动注释。我们指出,良好地执行此任务是具有挑战性的,并且需要专门的建模和训练损失选择,我们在附录3中讨论。
Zero-shot transfer零样本迁移。直观地说,我们的预训练任务赋予模型在推理时间对任何提示做出适当响应的能力,因此下游任务可以通过设计适当的提示来解决。例如,如果有一个猫的bounding box检测器,那么可以通过将检测器的框输出作为提示提供给我们的模型来解决猫的实例分割。一般来说,各种实际分割任务都可以作为提示来处理。除了自动数据集标记之外,我们在附录7中的实验部分探索了五个不同的示例任务。
Related tasks 相关任务。 分割是一个广泛的领域:有interactive segmentation交互式分割,edge detection边缘检测,super pixelization超像素化,object proposal generation对象建议生成,foreground segmentation前景分割,semantic segmentation语义分割,instance segmentation实例分割,panoptic segmentation全景分割等。我们的可提示分割任务的目标是产生一个广泛的模型,可以通过提示工程来适应许多(但不是所有)现有和新的分割任务。这种能力是一种任务泛化的形式。请注意,这与以前的多任务分割系统的工作不同。在多任务系统中,单个模型执行固定的一组任务,例如,联合语义,实例和全景分割,但训练和测试任务是相同的。我们工作中的一个重要区别是,训练可提示分割的模型可以通过作为更大系统中的组件来执行新的,不同的任务,例如,要执行实例分割,可提示分割模型与现有的对象检测器结合。
Discussion 讨论。prompting提示和composition组合是强大的工具,可以使单个模型以可扩展的方式使用,可能用于在模型设计时不知道的任务。这种方法类似于其他基础模型的使用方式,例如,CLIP是DALL·E图像生成系统的文本图像对齐组件。我们预计,由提示工程等技术驱动的可组合系统设计将使系统能够实现比专门为固定任务集训练的系统更广泛的应用。通过比较可提示和交互式分割的提示和组合来比较它们是有趣的:虽然交互式分割模型是为人类用户而设计的,但训练可提示分割的模型也可以组合成更大的算法系统,如我们将展示的那样。
![img](https://img2023.cnblogs.com/blog/2009774/202307/2009774-20230710155444331-1127826208.png)
3. Segment Anything Model
我们接下来描述了用于可提示分割的Segment Anything Model (SAM)模型的三个组件,如图4所示:图像编码器,灵活的提示编码器和快速的掩码解码器。我们建立在Transformer视觉模型之上,这些模型具有特定的权衡,以实现(摊销)实时性能。我们在这里对这些组件进行高层次的描述,详细信息见附录A。
Image encoder图像编码器。受到可扩展性和强大的预训练方法的启发,我们使用了一个MAE预训练的Vision Transformer(ViT),最小化地适应处理高分辨率输入。图像编码器每个图像运行一次,并且可以在提示模型之前应用。
Prompt encoder提示编码器。 我们考虑两组提示:稀疏(点,框,文本)和密集(掩码)。我们通过位置编码来表示点和框,这些编码与每种提示类型的学习嵌入相加,并且使用CLIP的现成文本编码器来表示自由文本。密集提示(即掩码)使用卷积嵌入,并与图像嵌入元素相加。
Mask decoder掩码解码器。掩码解码器通过有效地将image embedding图像嵌入,prompt embeddings提示嵌入和输出token映射到掩码来实现。这种设计采用了一个修改的Transformer解码器块,后跟一个动态掩码预测头。我们修改的解码器块使用提示自注意力和交叉注意力两个方向(提示到图像嵌入和反之亦然)来更新所有嵌入。在运行两个块之后,我们对图像嵌入进行上采样,并且MLP将输出令牌映射到动态线性分类器,然后在每个图像位置计算掩码前景概率。
Resolving ambiguity解决歧义。在一个输出中,如果给出了歧义的提示,模型将平均多个有效的掩码。为了解决这个问题,我们修改了模型,以便为单个提示预测多个输出掩码(见图3)。我们发现,3个掩码输出足以解决大多数常见情况(嵌套的掩码通常最多三层:whole整体,part部分和subpart子部分)。在训练期间,我们仅在掩码上反向传播最小损失。为了对掩码进行排序,模型预测每个掩码的置信度分数(即估计的IoU)。
Efficiency效率。整体模型设计主要受到效率的启发。给定预先计算的图像嵌入,提示编码器和掩码解码器在Web浏览器中以CPU运行,运行时间大约为50毫秒。这种运行时性能使我们的模型能够无缝、实时地提示我们的模型。
Losses and training损失和训练。我们使用focal loss和dice loss的线性组合来监督掩码预测。使用geometric prompts几何提示的混合来训练可提示的分割任务(对于文本提示,请参见第7.5小节)。我们通过在每个掩码中随机采样11轮提示来模拟交互式设置,从而使SAM能够无缝地集成到我们的数据引擎中。
4. Segment Anything Data Engine
由于分割掩码在互联网上并不丰富,我们建立了一个数据引擎来收集我们的1100万掩码数据集SA-1B。数据引擎有三个阶段:(1)模型辅助的manual annotation stage手动标注阶段,(2)自动预测掩码和模型辅助标注的semi-automatic stage半自动阶段,以及(3)在没有标注人员输入的情况下,我们的模型生成掩码的fully automatic stage完全自动阶段。我们接下来详细介绍每个阶段。
Assisted-manual stage人工辅助阶段。在第一阶段,类似于经典的交互式分割,一组专业的标注人员使用SAM提供的基于浏览器的交互式分割工具,通过点击前景/背景对象点来标记掩码。掩码可以使用像素精确的“brush画笔”和“eraser橡皮擦”工具进行精炼。我们的模型辅助标注在浏览器中实时运行(使用预先计算的图像嵌入),从而实现真正的交互式体验。我们没有对标注对象施加语义约束,标注员自由地标注“stuff物体”和“things事物”。我们建议标注员标注他们能够命名或描述的对象,但是我们没有收集这些名称或描述。标注员被要求按重要性顺序标注对象,并且鼓励在一个掩码花费超过30秒来标注之后,继续进行下一个图像。
在这个阶段开始时,SAM使用常见的公共分割数据集进行训练。在收集足够的数据标注之后,SAM仅使用新标注的掩码进行重新训练。随着收集的掩码越来越多,图像编码器从ViT-B扩展到ViT-H,其他架构细节也不断发展;总共我们重新训练了6次我们的模型。每个掩码的平均标注时间从34秒降低到14秒,因为模型得到了改进。我们注意到,14秒比COCO的掩码标注快6.5倍,而且只比使用极端点进行边界框标注慢2倍。随着SAM的改进,每个图像的平均掩码数量从20增加到44个掩码。总的来说,我们在这个阶段收集了12万张图像中的430万个掩码。
Semi-automatic stage半自动阶段。在这个阶段,我们的目标是增加掩码的多样性,以提高我们的模型的任意分割能力。为了让标注员专注于不那么突出的对象,我们首先自动检测置信度高的掩码。然后我们向标注员展示了图像,这些图像已经预先填充了这些掩码,并要求他们标注任何未标注的对象。为了检测置信度高的掩码,我们在所有第一阶段的掩码上使用通用的“object对象”类别训练了一个bounding box边界框检测器。在这个阶段,我们收集了额外的590万个掩码,18万张图像(总共1020万个掩码)。与第一阶段一样,我们定期在新收集的数据上重新训练我们的模型(5次)。每个掩码的平均标注时间又回到了34秒(不包括自动掩码),因为这些对象更难标注。每个图像的平均掩码数量从44个掩码增加到72个掩码(包括自动掩码)。
Fully automatic stage完全自动阶段。在最终阶段,标注是完全自动的。这是由于我们模型的两个主要改进而实现的。首先,在这个阶段开始时,我们已经收集了足够的掩码来大大改进模型,包括前面阶段的多样化掩码。其次,在这个阶段,我们已经开发了ambiguity-aware模糊感知模型,这使我们能够在模糊的情况下预测有效的掩码。具体来说,我们使用32x32的常规网格点提示模型,并为每个点预测可能对应于有效对象的一组掩码。使用模糊感知模型,如果一个点位于一个part部分或subpart子部分上,我们的模型将返回subpart子部分,part部分和whole整个对象。我们模型的IoU预测模块用于选择confident置信的掩码;此外,我们还识别并选择stable稳定的掩码(如果阈值化概率图在 0.5− 和 0.5+ 之间的结果与相似的掩码,则认为掩码是稳定的)。最后,在选择置信和稳定的掩码之后,我们应用非极大值抑制(non-maximal suppression,NMS)来过滤重复项。为了进一步提高较小掩码的质量,我们还处理了多个重叠的放大图像裁剪。有关此阶段的更多详细信息,请参见附录B。我们将完全自动的掩码生成应用于我们数据集中的所有1100万图像,产生了11亿个高质量掩码的总量。我们接下来描述和分析了这个结果数据集SA-1B。
5. Segment Anything Dataset
我们的数据集SA-1B包含1100万多样化的、高分辨率的、许可的和隐私保护的图像和11亿个高质量的分割掩码,这些掩码是通过我们的数据引擎收集的。我们将SA-1B与现有数据集进行比较,并分析掩码的质量和属性。我们将SA-1B发布出来,以帮助未来计算机视觉的基础模型的发展。我们注意到,SA-1B将在某些研究用途下以有利的许可协议发布,并为研究人员提供保护。
Images图像。我们从直接与摄影师合作的提供商那里获得了一组新的1100万张图像。这些图像具有高分辨率(平均3300x4950像素),因此,数据量的大小可能会带来可访问性和存储挑战。因此,我们将发布下采样的图像,其最短边设置为1500像素。即使是下采样后,我们的图像也比许多现有的视觉数据集(例如COCO图像是480x640像素)具有更高的分辨率。请注意,今天的大多数模型都在更低的分辨率输入上运行。人脸和车牌已被模糊处理。
Masks掩码。我们的数据引擎产生了11亿个掩码,其中99.1%是完全自动的。因此,自动掩码的质量是至关重要的。我们直接将它们与专业标注进行比较,并查看各种掩码属性与突出的分割数据集的比较。我们的主要结论,如下面的分析和第7节中的实验所证实的那样,是我们的自动掩码是高质量的,并且对于训练模型是有效的。受这些发现的启发,SA-1B仅包括自动生成的掩码。
Mask quality掩码质量。我们随机抽取了500张图像(约5万个掩码),并要求我们的专业标注者改进这些图像中所有掩码的质量。标注者使用我们的模型和像素精确的“brush画笔”和“eraser橡皮擦”编辑工具来完成此操作。这个过程产生了一对自动预测的和专业修正的掩码。我们计算了每对之间的IoU,并发现94%的对有大于90%的IoU(97%的对有大于75%的IoU)。相比之下,以前的工作估计了标注者之间的一致性在85-91%的IoU。我们在第7节中的实验通过人类打分证实了掩码质量相对于各种数据集是高的,并且在自动掩码上训练我们的模型几乎与使用数据引擎生成的所有掩码一样好。
Mask properties掩码属性。在图5中,我们将SA-1B中的对象中心的空间分布与最大的现有分割数据集进行了比较。所有数据集中都存在常见的摄影师偏见。我们观察到,与LVIS v1和ADE20K相比,SA-1B在图像角落的覆盖率更大,而COCO和Open Images V5则具有更突出的中心偏差。在图6(图例)中,我们将这些数据集进行比较。 SA-1B比第二大的Open Images数据集有11倍多的图像和400倍多的掩码。平均而言,它比Open Images有36倍多的掩码每张图像。在这方面最接近的数据集是ADE20K,但仍然比Open Images有3.5倍少的掩码每张图像。图6(左)绘制了每张图像的掩码分布。接下来,我们在图6(中)中查看图像相对掩码大小(掩码面积除以图像面积的平方根)。正如预期的那样,由于我们的数据集每张图像都有更多的掩码,因此它也倾向于包含更大百分比的小型和中型相对大小掩码。最后,为了分析形状复杂性,我们在图6(右)中查看掩码凹陷(1减去掩码面积,除以掩码凸包面积)。由于形状复杂性与掩码大小相关,因此我们通过对掩码大小分布进行分层采样来控制数据集的掩码大小分布。我们观察到,我们的掩码的凹陷分布与其他数据集的凹陷分布大致相似。
![img](https://img2023.cnblogs.com/blog/2009774/202307/2009774-20230710160931835-170464064.png)
6. Segment Anything RAI Analysis
我们接下来通过调查使用SA-1B和SAM时可能存在的公平性问题和偏见来对我们的工作进行负责任的人工智能(RAI)分析。我们专注于SA-1B的地理和收入分布以及SAM在人们的受保护属性上的公平性。我们还在第F节中提供了数据集、数据标注和模型卡。
Geographic and income representation地理和收入表示。我们使用标准方法推断图像拍摄的国家(见附录C)。在图7中,我们可视化了SA-1B中每个国家的图像计数(左)和最多图像的50个国家(右)。我们注意到,前三个国家来自世界的不同地区。接下来,在表1中,我们比较了SA-1B、COCO和Open Images的地理和收入表示。 SA-1B的图像中有大量的欧洲和亚洲和大洋洲的图像,以及中等收入国家的图像。所有数据集都低估了非洲以及低收入国家。我们注意到,在SA-1B中,所有地区,包括非洲,都至少有2800万个掩码,比任何以前的数据集的总掩码数多10倍。最后,我们观察到,每张图像的平均掩码数(未显示)在地区和收入方面相当一致(每张图像94-108个掩码)。
略
7. Zero-Shot Transfer Experiments
我们在本节中使用SAM(Segment Anything Model)进行零样本迁移实验。我们考虑了五个任务,其中四个与用于训练SAM的可提示的分割任务有很大不同。这些实验评估了SAM在训练期间未见过的数据集和任务上(我们对“零样本迁移”的使用遵循了CLIP中的使用)。数据集可能包括新的图像分布,例如水下或自我中心的图像(例如图8),我们所知道的是,这些图像在SA-1B中不存在。
![img](https://img2023.cnblogs.com/blog/2009774/202307/2009774-20230710155858974-1940409576.png)
具体来说,我们提示SAM(1)执行边缘检测,(2)分割所有内容,即object proposal generation对象建议生成,(3)分割检测到的对象,即 instance segmentation实例分割,以及(4)作为一种proof-of-concept概念验证,从自由形式文本中分割对象。这四个任务与SAM在训练时的可提示分割任务有很大不同,并通过提示工程实现。我们的实验最后进行了一个消融研究。
7.1 Zero-Shot Single Point Valid Mask Evaluation
Task任务。我们评估从单个前景点分割对象。这个任务是不确定的,因为一个点可以指向多个对象。大多数数据集中的真值掩码不会枚举所有可能的掩码,这可能会使自动指标不可靠。因此,我们补充了标准的mIoU指标(即预测和真值掩码之间所有IoUs的平均值),以及一个人类研究,其中标注者从1(无意义)到10(像素完美)评估掩码质量。有关其他详细信息,请参见附录D.1,附录E和附录G。
略
7.2 Zero-Shot Edge Detection
Approach方法。我们使用BSDS500评估SAM在经典的低级任务中的边缘检测。我们使用我们的自动掩码生成pipeline管线的简化版本。具体来说,我们用16x16的常规网格的前景点提示SAM,从而产生768个预测的掩码(每个点3个)。通过NMS删除冗余的掩码。然后,使用未阈值的掩码概率图的Sobel滤波和标准轻量级后处理计算边缘图,包括边缘NMS(有关详细信息,请参见附录D.2)。
略
7.3 Zero-Shot Object Proposals
Approach方法。接下来,我们评估SAM在中级任务上的对象建议生成。这个任务在对象检测研究中起着重要的作用,作为先驱系统的中间步骤。为了生成object proposal对象建议,我们运行了我们的自动掩码生成管线稍微修改后的版本,并将掩码作为提案输出(详见附录D.3)。
我们在LVIS v1上计算标准的平均召回(AR)指标。我们专注于LVIS,因为它的大量类别提供了一个具有挑战性的测试。我们将其与实现为ViTDet检测器的强大基线进行比较(带有级联Mask R-CNN ViT-H)。我们注意到,这个“baseline基线”对应于“Detector Masquerading
as Proposal generator检测器伪装为提案生成器”(DMP)方法,该方法被证明可以欺骗AR,使其成为一个真正具有挑战性的比较。
略
7.4 Zero-Shot Instance Segmentation
Approach方法。我们将SAM作为实例分割器的分割模块。实现很简单:我们运行一个对象检测器(之前使用的ViTDet),并用它的输出框提示SAM。这说明了在更大的系统中组合SAM。
略
7.5 Zero-Shot Text-to-Mask
Approach方法。最后,我们考虑了一个更高级别的任务:从自由形式的文本中分割对象。这个实验是SAM处理文本提示的能力的概念验证。虽然我们在所有先前的实验中使用了完全相同的SAM,但对于这一个,SAM的训练过程被修改为使其具有文本感知能力,但是以一种不需要新的文本标注的方式。具体来说,对于每个面积大于100x100的手动收集的掩码,我们提取CLIP图像嵌入。然后,在训练期间,我们用提取的CLIP图像嵌入作为其第一个交互来提示SAM。这里的关键观察是,由于CLIP的图像嵌入是训练的,以与其文本嵌入对齐,因此我们可以使用图像嵌入进行训练,但在推理时使用文本嵌入。也就是说,在推理时间,我们通过CLIP的文本编码器运行文本,然后将生成的文本嵌入作为SAM的提示(有关详细信息,请参见附录D.5)。