使用Meta的Segment Anything Model (SAM) 加速图像分割标注

作为一名遥感行业从业者,深知获取高质量标注数据集的痛点。针对新物体类别的分割任务,往往需要手动收集并标注成千上万张图像。相比物体检测的边界框标注,像素级分割的精确度要求更高,工作量成倍增加。

Meta的Segment Anything Model (SAM) 模型提供了一种革命性方法,能大幅加速各种物体的标注过程。下面,我们来深入探讨这个出色模型的细节。

主要内容

  • 什么是Segment Anything Model (SAM)?
  • 为什么需要SAM?
  • SAM的架构
  • SAM模型训练
  • 结果分析
  • SAM 2的新特性

什么是Segment Anything Model (SAM)?

SAM 是Meta AI开发的最先进AI模型,能在图像或视频中识别并分割任意物体。作为计算机视觉的基础模型,它无需额外训练即可泛化到新物体类别和任务。

本质上,SAM 执行图像分割任务,即将图像分区成多个物体段落。但它超越传统分割模型的地方在于:

  1. 通用性:能分割任何物体,即使训练数据中未包含。
  2. 交互性:用户可通过点、框或文本等提示引导模型。
  3. 实时性:能实时生成高质量掩码,适合交互应用。
  4. 适应性:无需大量重训,即可微调特定任务或领域。

Meta 通过三个互连组件构建了这个分割基础模型:

  • 可提示的分割任务。
  • SAM模型,用于数据标注,并通过提示工程实现零样本转移到各种任务。
  • 数据引擎,用于收集SA-1B数据集(超过10亿个掩码)。

SAM的成功依赖任务、模型和数据三要素。我们需要回答三个关键问题:

  1. 什么任务能实现零样本泛化?
  2. 对应的模型架构是什么?
  3. 什么数据能驱动这个任务和模型?

这些问题相互纠缠,需要整体解决方案。我们从定义一个足够通用的可提示分割任务入手,这要求模型支持灵活提示,并实时输出掩码以便交互使用。为训练模型,我们需要多样化、大规模数据源。但网络上缺乏海量分割数据,Meta因此构建了“数据引擎”——通过模型辅助数据收集,并用新数据迭代改进模型。

在我的理解中,SAM的核心创新在于将提示工程从NLP扩展到视觉领域,这让我联想到CLIP模型的零样本能力。

为什么需要SAM?

数据标注难上加难,我亲身经历过四年分割模型工作。现实数据集不像基准测试那样完美标注。

我用过免费和专业工具标注分割数据,各有局限。免费工具多限于多边形工具,通过点击物体边界绘制多边形,但问题有二:(1) 非像素级精确;(2) 标注小物体(如混凝土裂缝)异常困难。

现有计算机视觉模型的局限包括:

  1. 范围有限:多针对特定物体类别。
  2. 灵活性不足:难以处理新奇物体。
  3. 计算开销高:不适合实时应用。
  4. 训练需求大:适应新任务需大量重训。

SAM 通过提供通用、适应性强且高效的解决方案,解决了这些痛点。

为什么NLP基础模型众多,而视觉任务少?NLP模型创建相对容易,但视觉受标注瓶颈制约。零样本提示在这里大显身手,帮助解决标注难题。

SAM填补了视觉领域的“基础模型空白”,类似于BERT对NLP的影响。它不只加速标注,还开启了提示驱动的视觉AI新时代,潜在应用包括医疗影像分析和自动驾驶。

SAM的架构

为向分割模型指示物体位置,我们有多种提示方式:点、边界框、粗略区域图或文本提示。为实现这种灵活性,先用图像编码器将图像转为嵌入,然后整合各种提示。

None

SAM 使用预训练的Vision Transformer (ViT,基于掩码自编码器),稍作调整以处理高分辨率输入。图像编码器每图像运行一次,可在提示前预计算。

提示类型多样:稀疏提示(点、框、文本)用位置编码加学习嵌入表示;稠密提示(掩码)用卷积嵌入并与图像嵌入逐元素相加;自由文本用CLIP的现成文本编码器。

None

解码器采用修改的Transformer解码器。训练使用Focal和Dice损失组合。

None

SAM模型训练

训练分三阶段:

初始阶段:用公开数据,人力修正错误掩码并重训。产生12万图像、430万掩码。

None

半自动阶段:标注员标注详细未标签物体,平均掩码从44增至72。

None

全自动阶段:用32x32网格点提示,标注部分、子部分和整体。产生超11亿掩码,形成SA-1B数据集。

None

结果分析

None

None

SAM 2、SAM3的新特性?

Meta最近发布的SAM 2\ SAM3主要针对视频增强,核心概念类似,但有优化:

记忆机制:添加记忆编码器、记忆库和注意力模块,跨帧存储信息,提升视频跟踪,尤其处理遮挡或物体重现。

多掩码歧义解决:在复杂场景生成多个掩码预测,处理重叠物体。

改进训练数据:用SA-V数据集训练,更丰富多样,包含更多视频和标注。

SAM 2的记忆机制借鉴了序列模型如RNN的思想,标志着分割从静态向动态演进。

目前我的测试中,SAM2的图像分割在细节方面不如SAM。SAM3我还没开始测试。

你的点赞和分享是最大动力。别忘了关注我,快乐学习。