2023年是AI技术突飞猛进的一年,如果您认为AI领域已经通过 ChatGPT、GPT4 和 Stable Diffusion 获得了快速发展,那么请不要忽略下一个突破性创新: SAM。
Meta 的 FAIR 实验室发布的Segment Anything Model (SAM),是一种最先进的图像分割模型,旨在改变计算机视觉领域。
SAM 基于对自然语言处理 (NLP) 产生重大影响的基础模型(Foundation Model)。它专注于提示分割任务 (promptable segmentation tasks),使用提示工程来适应不同的下游分割问题。
在这篇博文中,您将:
经过详细的测试,我们可以看到以下令人难以置信的进步:
SAM 是人工智能向前迈出的一大步,因为它建立在早期模型奠定的基础之上。SAM 可以从其他系统获取输入提示,例如,将来从 AR/VR 头戴设备中获取用户的视线来选择对象、使用输出蒙版进行视频编辑、将 2D 对象抽象为 3D 模型,甚至流行的 Google照片任务,例如创建拼贴画。
它可以通过在提示不清楚的情况下生成多个有效掩膜来处理棘手的情况。以用户寻找 Waldo 的提示为例:
SAM 的结果具有突破性的原因之一是分割掩模与ViTDet等其他技术相比更有优势。下图显示了两种技术的比较:
SAM 的设计取决于三个主要组件:
SAM 经过数百万张图像和超过 10 亿个掩膜的训练,可以针对任何提示返回有效的分割掩膜。在这种情况下,提示是分割任务,可以是前景/背景点、粗框或掩膜、点击、文本,或者一般来说,指示在图像中分割什么的任何信息。该任务也用作模型的预训练目标。
SAM 的架构包含三个组件,它们协同工作以返回有效的分割掩膜:
我们将在下一节中深入探讨该架构,但现在让我们看一下数据集。
需要一个数据引擎来支持任务并改进数据集和模型。数据引擎分为三个阶段:
在最高级别,图像编码器 (掩膜自编码器,MAE,预训练视觉Transformer,ViT)生成一次性图像嵌入,并且可以在提示模型之前应用。
提示编码器将背景点、掩膜、边界框或文本实时编码为嵌入向量。该研究考虑了两组提示:稀疏(点、框、文本)和密集(掩膜)。
点和框由位置编码表示,并为每种提示类型添加学习的嵌入。自由格式的文本提示由CLIP的现成文本编码器表示。密集提示(如掩膜)通过卷积嵌入,并通过图像嵌入按元素求和。
轻量级掩膜解码器根据图像和提示编码器的嵌入来预测分割掩膜。它将图像嵌入、提示嵌入和输出token映射到掩码。所有嵌入均由解码器块更新,解码器块在两个方向(从提示到图像嵌入再返回)使用即时自注意力和交叉注意力。
掩膜带有标注并用于更新模型权重。这种布局增强了数据集,并允许模型随着时间的推移进行学习和改进,使其高效且灵活。
Segment Anything 10 Billion Mask (SA-1B) 数据集是迄今为止最大的有标注分割数据集。它专为高级分割模型的开发和评估而设计。
我们认为该数据集将成为训练和微调未来通用模型的重要组成部分。这将使他们能够在不同的分割任务中取得出色的表现。目前,该数据集仅在研究许可下可用。
SA -1B 数据集的独特之处在于:
该数据集经过精心策划,涵盖广泛的领域、对象和场景,确保模型能够很好地推广到不同的任务。它包括来自各种来源的图像,例如自然场景、城市环境、医学图像、卫星图像等。
这种多样性有助于模型学习分割具有不同复杂性、规模和上下文的对象和场景。
SA-1B数据集包含超过十亿张高质量标注图像,为模型提供了充足的训练数据。庞大的数据量有助于模型学习复杂的模式和表示,使其能够在不同的分割任务上实现最先进的性能。
该数据集已使用高质量掩膜仔细标注,从而获得更准确和详细的分割结果。在SA-1B 数据集的Responsible AI (RAI) 分析中,调查了地理和收入分配中潜在的公平问题和偏见。
研究论文表明,与其他开源数据集相比,SA-1B 中来自欧洲、亚洲、大洋洲以及中等收入国家的图像比例要高得多。值得注意的是,SA-1B 数据集至少包含包括非洲在内的所有地区的 2800 万个掩膜。这比之前任何数据集中的掩膜总数多出 10 倍。
我们认为 SA-1B 数据集将进入计算机视觉名人堂(与COCO、ImageNet和MNIST等著名数据集一起)作为未来计算机视觉分割模型开发的资源。
简短的回答是肯定的!SA-1B 数据集已作为研究目的开源发布。此外,继 FAIR 致力于开放研究之后,Meta AI 在 Apache 2.0(宽松许可证)下发布了预训练模型(大小约 2.4 GB)和代码。它可以在 GitHub 上免费访问。训练数据集以及交互式演示 Web UI 也可用。
既然你已经知道 SAM 训练的数据集,就可以确定 SA-1B 数据集中是否涵盖了代表你想要解决任务的数据集。如果不是,或者代表性不足,您可以考虑微调 SAM 在数据集上的权重。这可以通过同样开源的预训练模型实现。步骤包括:
我们将SAM视为人工智能辅助标签领域的游戏规则改变者。它基本上消除了使用多边形绘图工具分割图像的痛苦,并允许我们专注于对模型更重要的数据任务。 下图显示由SAM生成的带或不带分割掩模的脑部 MRI 图像。
这些其他数据任务包括映射不同对象之间的关系,赋予它们描述其行为方式的属性,以及评估训练数据以确保其平衡、多样化且无偏见。
SAM 可用于创建人工智能辅助的工作流程增强功能并提高标注者的工作效率。以下是我们认为 SAM 可以做出的一些改进:
因此,将 SAM 集成到标注工作流程中对我们来说是理所当然的事情,它将使我们能够加速尖端计算机视觉应用程序的开发。
为了举例说明 SAM 如何为 AI 辅助标记做出贡献,请考虑之前的医学图像示例。我们将DICOM图像上传到演示 Web UI,并花了 10 秒钟单击图像来分割不同的感兴趣区域。
随后,我们使用多边形标注进行了手动标注,耗时 2.5 分钟。标注速度提高 15 倍!
SAM 几乎可以用于每一个分割任务,从实例分割到全景分割。我们很高兴看到 SAM 能够如此快速地帮助您在进行分割预打标。
从农业和零售到医学图像和地理空间图像, SAM 可以实现的人工智能辅助标注是无穷无尽的。相信 SAM 很快将成为主要标注工具的默认功能。
图像和视频编辑器
SAM 具有为最复杂的视频和图像提供准确分割掩膜的出色能力,可为图像和视频编辑应用程序提供自动对象分割技能。无论提示(点坐标、边界框等)是在前景还是背景,SAM 都会使用位置编码来指示提示是在前景还是背景。
为资源匮乏行业生成综合数据集
困扰制造业等行业计算机视觉应用的一项挑战是缺乏数据集。例如,制造汽车零件并计划检测生产线上零件缺陷的行业无法为该用例收集大量数据集。你可以使用 SAM 为您的应用程序生成合成数据集。如果意识到 SAM 不太适合您的应用,你可以选择在现有数据集上对其进行微调。
基于视线的分割
AR 应用程序可以使用 SAM 的Zero-Shot Single Point Valid Mask Evaluation技术,通过 AR 眼镜等设备根据目标视线的位置来分割对象。这可以帮助 AR 技术在用户与这些对象交互时让他们对世界有更真实的感觉。
SAM真正代表了计算机视觉领域的突破性发展。通过利用提示分割任务,SAM 可以使用提示工程来适应各种下游分割问题。 这种创新方法与迄今为止最大的标记分割数据集 (SA-1B) 相结合,使 SAM 在各种分割任务中实现最先进的性能。
SAM 具有显著增强人工智能辅助标注并减少图像分割任务中的体力劳动的潜力,可以为农业、零售、医学图像和地理空间图像等行业铺平道路。 作为一种开源模型,SAM 将激发计算机视觉领域的进一步研究和开发,鼓励 AI 社区突破这个快速发展的领域的可能界限。
最终,SAM 标志着计算机视觉故事的新篇章,展示了基础模型在改变我们感知和理解周围世界的方式方面的力量。