Segment anything: CV死亡倒计时?

原文链接: https://ai.facebook.com/blog/segmen…

分割——识别哪些图像像素属于一个物体——是计算机视觉中的一项核心任务,用于从分析科学图像到编辑照片的广泛应用。但是,为特定任务创建准确的分割模型通常需要技术专家进行高度专业化的工作,他们可以访问AI训练基础设施和大量经过仔细注释的领域内数据。

今天,我们的目标是通过引入分割任何项目来使分割民主化:一个新的任务、数据集和图像分割模型,正如我们在研究论文中所解释的那样。我们正在发布我们的通用分割任何模型(SAM)和我们的分割任何10亿个掩码数据集(SA-1B),这是有史以来最大的分割数据集,以实现广泛的应用,并促进对计算机视觉基础模型的进一步研究。我们正在将SA-1B数据集用于研究目的,分割任何模型在许可的开放许可(Apache 2.0)下可用。查看演示以尝试SAM与您自己的图像。

减少对图像分割的特定任务建模专业知识、训练计算和自定义数据注释的需求是细分任何项目的核心。为了实现这一愿景,我们的目标是建立图像分割的基础模型:一个可提示的模型,在不同的数据上进行训练,并且可以适应特定的任务,类似于自然语言处理模型中如何使用提示。然而,训练这样一个模型所需的分割数据在网上或其他地方并不容易获得,这与互联网上丰富的图像、视频和文本不同。因此,通过Segment任何内容,我们着手同时开发一个通用的、可提示的分割模型,并使用它来创建一个规模空前的分割数据集。

SAM已经学会了什么是对象的一般概念,它可以为任何图像或任何视频中的任何对象生成掩码,甚至包括它在训练期间没有遇到的对象和图像类型。SAM足够通用,可以覆盖广泛的用例,并且可以在新的图像“域”上开箱即用——无论是水下照片还是细胞显微镜——而不需要额外的训练(这种能力通常被称为零镜头转移)。

将来,SAM可以用来帮助许多领域的应用程序,这些领域需要在任何图像中查找和分割任何对象。对于AI研究社区和其他人来说,SAM可以成为更大的AI系统中的一个组件,用于更普遍的多模态理解世界,例如,理解网页的视觉和文本内容。在AR/VR领域,SAM可以根据用户的目光选择一个对象,然后将其“提升”到3D。对于内容创建者来说,SAM可以改进创造性应用,例如提取图像区域进行拼贴或视频编辑。SAM也可以用来帮助对地球上甚至太空中自然现象的科学研究,例如,通过定位动物或物体来研究和跟踪视频。我们相信可能性是广泛的,我们对许多我们甚至还没有想象到的潜在用例感到兴奋。

Segment anything: CV死亡倒计时?_第1张图片

SAM:一种广义的分割方法

以前,为了解决任何类型的分割问题,都有两类方法。第一种是交互式分割,允许分割任何类别的对象,但需要一个人通过迭代细化掩码来指导方法。第二种是自动分割,允许分割提前定义的特定对象类别(例如猫或椅子),但需要大量手动注释的对象来训练(例如,数千甚至数万只分割的猫的例子),以及训练分割模型的计算资源和技术专长。这两种方法都没有提供通用的全自动分割方法。

SAM是这两类方法的概括。它是一个单一的模型,可以很容易地执行交互式分割和自动分割。模型的提示界面(稍后描述)允许它以灵活的方式使用,只需为模型设计正确的提示(点击、框、文本等),就可以完成广泛的分割任务。此外,SAM是在一个多样化的、高质量的数据集上训练的,该数据集包含10亿多个掩码(作为该项目的一部分收集),这使它能够泛化到训练期间观察到的以外的新类型的对象和图像。这种泛化能力意味着,总的来说,从业者将不再需要收集自己的细分数据并为他们的用例微调模型。

总之,这些功能使SAM能够推广到新任务和新领域。这种灵活性是图像分割的第一个。

下面是一段简短的视频,展示了SAM的一些功能:

(1)SAM允许用户只需单击或通过交互式单击点来从对象中包含和排除对象。模型也可以用边界框提示。

(2)当面对被分割对象的歧义时,SAM可以输出多个有效掩码,这是解决现实世界分割的重要而必要的能力。

(3)SAM可以自动查找和屏蔽图像中的所有对象。

(4)SAM可以在预计算图像嵌入后实时为任何提示生成分割掩码,允许与模型实时交互。

SAM的工作原理:快速分割

在自然语言处理和最近的计算机视觉中,最令人兴奋的发展之一是基础模型,它可以使用“提示”技术对新数据集和任务执行零次和少次学习。我们从这一工作中获得了灵感。

我们训练SAM为任何提示返回一个有效的分割掩码,其中提示可以是前景/背景点、粗糙框或掩码、自由形式文本,或者一般来说,任何指示在图像中分割什么的信息。有效掩码的要求仅仅意味着即使提示不明确并且可以引用多个对象(例如,衬衫上的一个点可能指示衬衫或穿着它的人),输出应该是其中一个对象的合理掩码。此任务用于预训练模型并通过提示解决一般下游分割任务。

我们观察到预训练任务和交互式数据采集对模型设计施加了特定的约束。特别是,模型需要在Web浏览器中的CPU上实时运行,以允许我们的注释者实时交互式地使用SAM来高效注释。虽然运行时约束意味着质量和运行时之间的权衡,但我们发现简单的设计在实践中会产生良好的结果。

在幕后,图像编码器为图像生成一次性嵌入,而轻量级编码器将任何提示实时转换为嵌入向量。然后将这两个信息源组合在一个轻量级解码器中,该解码器预测分割掩码。计算图像嵌入后,SAM可以在网络浏览器中给定任何提示的情况下在短短50毫秒内生成一个片段。

Segment anything: CV死亡倒计时?_第2张图片

在Web浏览器中,SAM有效地映射图像特征和一组提示嵌入以生成分割掩码。

分割10亿面具:我们如何构建SA-1B

为了训练我们的模型,我们需要海量且多样化的数据源,这在我们工作开始时是不存在的。我们今天发布的分割数据集是迄今为止(到目前为止)最大的。数据是使用SAM收集的。特别是,注释者使用SAM对图像进行交互式注释,然后使用新注释的数据依次更新SAM。我们多次重复这个循环,以迭代改进模型和数据集。

使用SAM,收集新的分割掩码比以往任何时候都快。使用我们的工具,交互式注释掩码只需要大约14秒。我们的每个掩码注释过程仅比注释边界框慢2倍,使用最快的注释界面需要大约7秒。与之前的大规模分割数据采集工作相比,我们的模型比COCO完全手动的基于多边形的掩码注释快6.5倍,比之前最大的数据注释工作快2倍,后者也是模型辅助的。

然而,依靠交互式注释蒙版并不能充分扩展以创建我们的10亿蒙版数据集。因此,我们构建了一个数据引擎来创建我们的SA-1B数据集。这个数据引擎有三个“齿轮”。在第一个齿轮中,模型辅助注释器,如上所述。第二个齿轮是全自动注释与辅助注释的混合,有助于增加收集的蒙版的多样性。数据引擎的最后一个齿轮是全自动蒙版创建,允许我们的数据集扩展。

我们的最终数据集包括在大约1100万许可和隐私保护图像上收集的11亿多个分割掩码。SA-1B的掩码是任何现有分割数据集的400倍,并且经过人类评估研究的验证,这些掩码具有高质量和多样性,在某些情况下甚至在质量上与以前更小的、完全手动注释的数据集的掩码相当。

Segment anything: CV死亡倒计时?_第3张图片

Segment anything: CV死亡倒计时?_第4张图片

分割任何东西的功能是使用数据引擎收集的数百万张图像和掩码训练的结果。结果是一个包含10亿多个分割掩码的数据集——比任何先前的分割数据集大400倍。

SA-1B的图像来自多个国家的照片提供商,这些国家跨越不同的地理区域和收入水平。虽然我们认识到某些地理区域仍然代表性不足,但SA-1B在所有区域的图像数量和总体代表性都比以前的分割数据集好。此外,我们分析了我们模型在感知性别表现、感知肤色和感知年龄范围方面的潜在偏见,我们发现SAM在不同群体中的表现相似。我们共同希望这将使我们的工作在现实世界的用例中更加公平。

虽然SA-1B使我们的研究成为可能,但它也可以使其他研究人员训练图像分割的基础模型。我们进一步希望这些数据可以成为具有额外注释的新数据集的基础,例如与每个掩码相关联的文本描述。

展望

将来,SAM可以用来通过AR眼镜识别日常物品,这可以提示用户提醒和指示。

SAM有可能影响广泛的领域——也许有一天会帮助农业部门的农民或协助生物学家进行研究。

通过分享我们的研究和数据集,我们希望进一步加速对分割和更通用的图像和视频理解的研究。我们的可提示分割模型可以通过在更大的系统中充当组件来执行分割任务。组合是一个强大的工具,它允许以可扩展的方式使用单个模型,有可能完成模型设计时未知的任务。我们预计,由提示工程等技术支持的可组合系统设计将比专门为一组固定任务训练的系统实现更广泛的应用,并且SAM可以成为AR/VR、内容生产、科学领域和更通用的AI系统等领域的强大组件。展望未来,我们看到像素级理解图像和视觉内容的高级语义理解之间的紧密耦合,解锁了更强大的AI系统。

更多

  • 尝试demo演示

  • 了解更多关于SA-1B模型

  • 下载SAM

你可能感兴趣的:(AIGC,深度学习,计算机视觉,人工智能)