0


Nikolaj Buhl : Segment Anything 模型 (SAM) 解释

文章目录

本文转译于
Nikolaj Buhl博士Blog

Meta 的人工智能和计算机视觉简史

作为人工智能 (AI) 领域的领先公司之一,Meta 一直在突破机器学习模型的极限。从最近发布的LLaMA等开源模型到开发最常用的 ML 和 AI Python 库PyTorch。

以下部分深入探讨了计算机视觉的进步和基础模型的发展。

计算机视觉的进展

计算机视觉也经历了相当大的进步,像CLIP这样的模型弥合了文本和图像理解之间的鸿沟。

这些模型使用对比学习来映射文本和图像数据。这使他们能够通过及时的工程推广到新的视觉概念和数据分布。

FAIR 的 Segment Anything Model (SAM) 是该领域的最新突破。他们的目标是为图像分割创建一个基础模型,该模型可以使用提示工程适应各种下游任务。

让我们简要探讨一下计算机视觉领域的一些关键发展,这些发展对 Meta 等 AI 系统的发展做出了贡献。

卷积神经网络 (CNN)

CNN于 1989 年由Yann LeCun (现任 Meta 副总裁兼首席 AI 科学家)首次引入,现已成为现代计算机视觉系统的支柱,使机器能够自动学习和识别图像中的复杂模式。

通过使用卷积层,CNN 可以捕获图像中的局部和全局特征,从而使它们能够有效地识别物体、场景和动作。这导致图像分类、对象检测和语义分割等任务的显着改进。

生成对抗网络 (GAN)

GAN是 Ian Goodfellow 和他的团队在 2014 年提出的一种深度学习模型。它们由两个相互竞争的神经网络(生成器和鉴别器)组成。

生成器旨在创建逼真的输出,而鉴别器则试图区分真实输出和生成的输出。这些网络之间的竞争导致了越来越逼真的合成图像的创建,并导致了图像合成、数据增强和风格转换等任务的进步。

迁移学习和预训练模型

与 NLP 类似,计算机视觉受益于预训练模型的开发,这些模型可以针对特定任务进行微调。ResNet、VGG和EfficientNet等模型已经在大规模图像数据集上进行了训练,允许研究人员将这些模型用作他们自己项目的起点。

基础模型的成长

近年来,自然语言处理 (NLP) 中的基础模型取得了重大进展,Meta 自己的LLaMa或 OpenAI 的GPT-4等模型在零样本和少样本学习方面展示了卓越的能力。

这些模型在大量数据上进行了预训练,并且能够通过使用提示工程来泛化到新任务和数据分布。Meta AI 在推进这一领域、促进研究和开发具有广泛应用的大规模 NLP 模型方面发挥了重要作用。

在这里,我们探讨了促进基础模型增长的因素。

大规模语言模型

像 GPT-4 这样的大规模语言模型的出现一直是 NLP 基础模型发展的推动力。这些模型采用具有数十亿参数的深度学习架构,使它们能够捕获训练数据中的复杂模式和结构。

迁移学习

NLP 中基础模型的一个关键特征是它们的迁移学习能力。一旦在大型数据集上进行了训练,它们就可以在较小的、特定于任务的数据集上进行微调,以在各种任务中实现最先进的性能。

零样本和少样本学习

基础模型在零样本和少样本学习中也显示出前景,它们可以在没有任何微调或最少任务特定训练数据的情况下执行任务。这种能力在很大程度上归功于模型能够根据提示提供的上下文理解和生成类似人类的响应。

多模态学习

另一个日益增长的兴趣领域是多模式学习,其中训练基础模型以理解和生成跨不同模式的内容,例如文本和图像。

像 CLIP和ALIGN这样的模型展示了如何将 NLP 和计算机视觉一起使用来制作可以将动作从一个域转换到另一个域的多模态模型。

道德考量和安全

NLP 中基础模型的增长也引发了对其伦理影响和安全性的担忧。研究人员正在积极探索减轻潜在偏见、解决内容生成问题以及开发安全可控的人工智能系统的方法。证明这一点的是最近要求停止所有尖端模型开发六个月的呼吁。

将 Segment Anything 模型与以前的模型进行比较

SAM 是 AI 向前迈出的一大步,因为它建立在早期模型奠定的基础之上。SAM 可以从其他系统获取输入提示,例如,在未来,从 AR/VR 耳机获取用户的目光来选择对象,使用输出掩码进行视频编辑,将 2D 对象抽象为 3D 模型,甚至流行的谷歌照片任务,如创建拼贴画。

它可以通过在提示不清楚的情况下生成多个有效掩码来处理棘手的情况。以用户提示寻找 Waldo 为例:

在这里插入图片描述
source
SAM 的结果具有开创性的原因之一是分割掩码与ViTDet等其他技术相比有多好。下图显示了两种技术的比较:
在这里插入图片描述
该研究论文更详细地比较了这两种技术的结果

深入了解 SAM 的网络架构和设计

SAM 的设计取决于三个主要组件:

1. 可提示的分割 任务可实现零样本泛化。
2. 模型架构。
3. 为任务和模型提供支持的数据集。

在这里插入图片描述

任务

SAM 接受了数百万张图像和超过十亿个掩码的训练,可为任何提示返回有效的分割掩码。在这种情况下,提示是分割任务,可以是前景/背景点、粗框或遮罩、点击、文本,或者一般来说,指示图像中要分割的内容的任何信息。该任务也用作模型的预训练目标。

模型

SAM 的架构包含三个组件,它们协同工作以返回有效的分割掩码:

  • 一种图像编码器,用于生成一次性图像嵌入。
  • 嵌入提示的提示编码器
  • 结合了提示和图像编码器的嵌入的轻量级掩码解码器

在这里插入图片描述
我们将在下一节中更深入地研究架构,但现在,让我们看一下数据集。

数据引擎(data engine)和数据集

需要数据引擎来支持任务并改进数据集和模型。数据引擎分为三个阶段:

  • Assisted-manual,其中 SAM 协助注释者注释掩码,类似于经典的交互式分割设置。
  • 半自动,其中 SAM 可以通过提示可能的对象位置来自动为对象子集生成掩码,并且注释器专注于注释其余对象,从而有助于增加掩码多样性。
  • 全自动,人工注释者用前景点的规则网格提示 SAM,每张图像平均产生 100 个高质量掩码。

数据引擎构建大段任何 10 亿掩码数据集 Meta AI 发布

SAM

在这里插入图片描述

图像编码器

在最高级别上,图像编码器(掩盖的自动编码器,MAE,预训练的视觉变压器,VIT)会生成一次性的图像嵌入,并且可以在提示模型之前应用。

提示编码器

提示编码器将背景点、遮罩、边界框或文本实时编码到嵌入向量中。该研究考虑了两组提示:稀疏(点、框、文本)和密集(掩码)。

点和框由位置编码表示,并为每种提示类型添加学习嵌入。自由格式的文本提示由来自CLIP 的现成文本编码器表示。Dense prompts,如masks,嵌入卷积并与图像嵌入逐元素求和.

掩码解码器

轻量级掩码解码器根据来自图像和提示编码器的嵌入预测分割掩码。它将图像嵌入、提示嵌入和输出标记映射到掩码。所有嵌入都由解码器块更新,解码器块在两个方向(从提示到图像嵌入和返回)使用提示自我注意和交叉注意。

掩码被注释并用于更新模型权重。这种布局增强了数据集,并允许模型随着时间的推移学习和改进,使其高效灵活。

分割任何 10 亿掩码数据集

Segment Anything 10 亿掩码(SA-1B) 数据集是迄今为止最大的标记分割数据集。它专为高级分割模型的开发和评估而设计。

我们认为数据集将成为训练和微调未来通用模型的重要组成部分。这将使他们能够在不同的分割任务中取得卓越的表现。目前,该数据集仅在研究许可下可用。

SA -1B 数据集的独特之处在于:

多样性

数据集经过精心策划,涵盖广泛的领域、对象和场景,确保模型可以很好地泛化到不同的任务。它包括来自各种来源的图像,例如自然场景、城市环境、医学图像、卫星图像等。

这种多样性有助于模型学习分割具有不同复杂性、规模和上下文的对象和场景。

大小

SA-1B 数据集包含超过 10 亿张高质量注释图像,为模型提供了充足的训练数据。庞大的数据量有助于模型学习复杂的模式和表示,使其能够在不同的分割任务上实现最先进的性能。
在这里插入图片描述

高质量注释

数据集已经用高质量的掩码仔细注释,导致更准确和详细的分割结果。在SA-1B 数据集的Responsible AI (RAI) 分析中,调查了地理和收入分配中潜在的公平问题和偏见。

研究论文表明,与其他开源数据集相比,SA-1B 中来自欧洲、亚洲和大洋洲以及中等收入国家的图像比例要高得多。值得注意的是,SA-1B 数据集包含至少 2800 万个所有地区的口罩,包括非洲。这是之前任何数据集中掩码总数的 10 倍。
在这里插入图片描述

Segment Anything 模型开源吗?

简短的回答是肯定的!SA-1B 数据集已作为研究目的开源发布https://github.com/facebookresearch/segment-anything. 此外,根据 FAIR 对开放研究的承诺,Meta AI 在 Apache 2.0(一种许可许可)下发布了预训练模型(大小约为 2.4 GB)和代码。它可以在 GitHub 上免费访问。还提供了训练数据集以及交互式演示 Web UI。


本文转载自: https://blog.csdn.net/m0_60920298/article/details/130042868
版权归原作者 踏实钻研 所有, 如有侵权,请联系我们删除。

“Nikolaj Buhl : Segment Anything 模型 (SAM) 解释”的评论:

还没有评论