介绍 SAM 2:下一代 Meta 视频和图像分割模型 [译]
要点:
- 在Meta 图像分割模型(SAM)取得成功之后,我们发布了SAM 2,这是一种统一模型,可以在图像和视频中实现实时提示对象分割,并达到最先进的性能。
- 遵循我们开放科学的方法,我们将以 Apache 2.0 许可证共享代码和模型权重文件。
- 我们还将共享SA-V 数据集,该数据集包括约 51,000 个现实世界视频和超过 600,000 个掩码(时空掩码)。
- SAM 2 可以分割任何视频或图像中的任何对象,即使是之前从未见过的对象和视觉领域的任何内容,从而无需自定义适配即可用于多种用途。
- SAM 2 有许多潜在的实际应用。例如,SAM 2 的输出可以与生成视频模型一起使用,以创建新的视频效果并解锁新的创意应用。SAM 2 还可以帮助更快的视觉数据标注工具,构建更好的计算机视觉系统。
今天,我们宣布了 Meta Segment Anything Model 2(SAM 2),这是Meta Segment Anything Model的下一代产品,现在支持在视频和图像中进行对象分割。我们在 Apache 2.0 许可证下发布了 SAM 2,因此任何人都可以使用它来构建自己的体验。我们还共享了用于构建 SAM 2 的数据集SA-V,并在 CC BY 4.0 许可证下发布,还推出了一个基于网页的演示体验,人人都可以试用我们模型的一个版本。
对象分割——识别图像中对应的感兴趣对象的像素——是计算机视觉领域的一项基本任务。去年发布的Meta Segment Anything Model(SAM)为此任务在图像上引入了一个基础模型。
我们最新的模型 SAM 2 是第一个用于图像和视频中实时可提示对象分割的统一模型,实现了视频分割体验的飞跃,并可无缝用于图像和视频应用中。SAM 2 在图像分割精度上超过了之前的能力,并在视频分割性能上优于现有方法,同时需要三分之一的交互时间。SAM 2 还可以分割任何视频或图像中的任何对象(通常称为零样本泛化),这意味着它可以应用于以前未见过的视觉内容,而无需自定义调整。
在 SAM 发布之前,为特定图像任务创建一个精确的对象分割模型需要技术专家进行高度专业化的工作,且需要访问 AI 训练基础设施和大量精心标注的域内数据。SAM 革命性地改变了这一领域,使其能够通过提示技术应用于各种现实世界的图像分割和即用的用例——类似于大语言模型能够执行一系列任务,而无需自定义数据或昂贵的调整。
在我们推出 SAM 模型的一年里,它在各个领域产生了巨大的影响。它带来了 Meta 应用家族中的新 AI 功能体验,例如 Instagram 上的 Backdrop 和 Cutouts,并在科学、医学和众多其他行业中催生了多种应用。许多最大的数据信息标注平台已经将 SAM 集成为图像中对象分割标注的默认工具,节省了数百万小时的人类标注时间。SAM 还被用于海洋科学中分割 声纳图像 和 分析珊瑚礁,在 卫星图像分析 中用于灾害救援,以及在医学领域中分割 细胞图像 和帮助 检测皮肤癌。
正如马克·扎克伯格在上周的一封公开信中 提到 的那样,开源 AI“比任何其他现代技术都更有潜力提高人类的生产力、创造力和生活质量,同时加速经济增长和推进突破性的医学和科学研究。”我们对 AI 社区使用 SAM 取得的进展感到非常惊讶,并设想 SAM 2 会解锁更多令人兴奋的可能性。
为了保持我们的开放科学方法,我们正在与社区 分享我们的研究 关于 SAM 2,以便他们可以探索新的功能和用例。我们今天分享的工件包括:
- SAM 2 的代码和权重将在宽松的 Apache 2.0 许可证下开源。我们将在 BSD-3 许可证下分享 SAM 2 的评估代码。
- SA-V 数据集,包含比现有最大视频分割数据集多 4.5 倍的视频和 53 倍的标注。此次发布包括约 51,000 个真实世界视频,超过 600,000 个掩模片段。我们将在 CC BY 4.0 许可证下分享 SA-V 数据集。
- 一个 网络演示,它支持对短视频的实时交互分割,并在模型预测上应用视频效果。
作为一个统一的模型,SAM 2 可以无缝地应用于图像和视频数据的各种使用场景,并扩展到以前未见过的视觉领域。对于人工智能研究社区和其他用户来说,SAM 2 可以作为更通用的多模态世界理解系统的一部分。在工业领域,它可以提供更快速的视觉数据标注工具,以训练下一代计算机视觉系统,例如自动驾驶车辆系统。SAM 2 的快速推理能力可能激发实时视频中对象选择和交互的新方式。对于内容创作者,SAM 2 可以在视频编辑中启用创意应用,并为生成式视频模型增加可控性。SAM 2 还可以用于科学和医学研究,例如在无人机视频中追踪濒危动物,或在医疗过程中定位腹腔镜摄像头中的区域。我们相信 SAM 2 有着广泛的应用前景,我们很高兴与 AI 社区分享这项技术,期待看到他们的创新成果。
SAM 2 的构建过程
SAM 能够学习图像中物体的普遍概念。然而,图像只是动态真实世界的静态快照,视频片段则可能表现出复杂的运动。许多重要的现实应用场景需要在视频数据中准确分割对象,例如在混合现实、机器人、自动驾驶车辆和视频编辑中。我们相信,一个通用的分割模型应该既适用于图像也适用于视频。
一张图片可以被视为仅包含一个帧的极短视频。我们采用这种视角来开发一个统一的模型来无缝支持图像和视频输入。处理视频的唯一不同之处在于,模型需要依赖记忆来回忆之前处理过的视频信息,以便在当前时间步准确地分割对象。
成功分割视频中的对象需要理解实体在时空中的位置。与图像分割相比,视频分割提出了显著的新挑战。对象运动、变形、遮挡、光照变化等因素可以在帧与帧之间发生巨大变化。由于相机运动、模糊和分辨率较低,视频通常比图像质量更低,增加了难度。因此,现有的视频分割模型和数据集在提供“分割任何东西”的可比能力方面有所不足。我们在构建 SAM 2 和新的 SA-V 数据集的工作中解决了其中许多挑战。
与我们在 SAM 上使用的方法类似,我们的研究涉及设计一个新任务、一个模型和一个数据集以实现视频分割能力。我们首先开发了提示视觉分割任务,并设计了一个能够执行该任务的模型(SAM 2)。我们使用 SAM 2 来帮助创建一个视频对象分割数据集(SA-V),该数据集的规模比现有任何数据集都大一个数量级,并使用它来训练 SAM 2 以实现最先进的性能。
提示视觉分割
我们设计了一个提示视觉分割任务,将图像分割任务扩展到视频领域。SAM 被训练来接受图像中的点、框或掩码作为输入以定义目标对象并预测分割掩码。使用 SAM 2,我们训练它在视频的任何帧中接受输入提示以定义空间 - 时间掩码(即“掩码片”)并进行预测。SAM 2 基于输入提示立即预测当前帧上的掩码,并在时间上传播以生成目标对象在所有视频帧中的掩码片。一旦初始掩码片被预测出来,可以通过在任何帧中向 SAM 2 提供额外提示进行迭代细化。这可以重复多次,直到获得所需的掩码片。
在统一架构中的图像和视频分割
SAM 2 架构可以视为将 SAM 从图像领域扩展到视频领域的通用版本。SAM 2 可通过点击(正面或负面)、边界框或掩码来定义某一帧中对象的范围。一个轻量级掩码解码器接收当前帧的图像嵌入和编码提示,以生成该帧的分割掩码。在视频场景中,SAM 2 将这一掩码预测传播至所有视频帧,以生成掩码片段。随后,可以在任何后续帧上迭代添加提示,以改进掩码片段预测。
为了在所有视频帧上准确预测掩码,我们引入了一种记忆机制,包括记忆编码器、记忆库和记忆注意模块。应用于图像时,记忆组件为空,模型表现如同 SAM。而在视频应用中,记忆组件使得能够在该会话中存储有关对象和先前用户交互的信息,从而使 SAM 2 能在整个视频中生成掩码片段预测。如果在其他帧提供了额外的提示,SAM 2 能根据对象存储的记忆上下文有效修正其预测。
帧的记忆由记忆编码器基于当前掩码预测创建,并放置在记忆库中,用于分割后续帧。记忆库包括前一帧和提示帧的记忆。记忆注意操作从图像编码器获取每帧的嵌入,并基于记忆库生成一个嵌入,然后将其传递给掩码解码器,以生成该帧的掩码预测。这一过程在所有后续帧上重复进行。
我们采用了一种流媒体架构,这是将 SAM 自然推广到视频领域的方式,逐帧处理视频并在记忆中存储分割对象的信息。在每个新处理的帧上,SAM 2 使用记忆注意模块关注目标对象的先前记忆。此设计允许对任意长度的视频进行实时处理,这对收集 SA-V 数据集的标注效率和实际应用(如机器人技术)都至关重要。
SAM 引入了在图像分割过程中处理歧义的能力,当面对不确定的分割对象时,能够输出多个有效掩码。例如,当用户点击自行车的轮胎时,模型可能将此点击解释为仅指轮胎或整个自行车,并输出多个预测结果。在视频中,这种歧义可能会扩展到不同的视频帧。例如,在某一帧中,如果只看到轮胎,那么点击轮胎可能仅指轮胎,但随着更多自行车在后续帧中显现,该点击也可能是为了整个自行车。为了解决这种歧义,SAM 2 会在视频的每个步骤中创建多个掩码。如果进一步的提示仍无法解决歧义,模型会选择置信度最高的掩码进行传播。
在图像分割任务中,给出一个正向提示后,总会有一个有效对象在帧中。然而在视频中,可能在某一帧中没有有效对象,例如由于对象被遮挡或消失。为了应对这种新情况,我们添加了一个额外的模型输出(“遮挡检测模块”),用于预测当前帧中是否存在目标对象。这使得 SAM 2 能够有效处理遮挡。
SA-V:构建最大的视频分割数据集
将“分割任何东西”的能力扩展到视频的一大挑战是用于训练模型的注释数据有限。目前的视频分割数据集规模较小,缺乏对各种对象的充分覆盖。现有数据集的注释通常覆盖整个对象(如人),但缺乏对象的具体部分(如人的夹克、帽子、鞋子),并且这些数据集通常集中于特定的对象类别,如人、车辆和动物。
为了收集一个大型且多样的视频分割数据集,我们构建了一个数据引擎,采用了交互式模型与人工标注员的循环设置。标注员使用 SAM 2 在视频中交互式标注 masklet,然后将新标注的数据用于更新 SAM 2。我们多次重复这一循环,以逐步改进模型和数据集。与 SAM 类似,我们没有对标注的 masklet 施加语义限制,关注整个物体(例如,一个人)和物体部分(例如,一个人的帽子)。
使用 SAM 2,收集新的视频物体分割掩码比以往任何时候都更快。使用我们的工具和 SAM 2 在循环中的标注速度比每帧使用 SAM 快约 8.4 倍,也比将 SAM 与现成的跟踪器结合使用快得多。
我们发布的 SA-V 数据集包含的标注数量超过现有视频物体分割数据集的一个数量级,视频数量大约多 4.5 倍。
SA-V 数据集的亮点包括:
- 超过 600,000 个 masklet 标注,覆盖大约 51,000 个视频。
- 视频展示了 47 个国家的地理多样性和真实世界场景。
- 标注覆盖了整个物体、物体部分以及物体被遮挡、消失和重新出现的挑战性实例。
结果
为了创建一个统一的图像和视频分割模型,我们通过将图像视为单帧视频来联合训练 SAM 2 在图像和视频数据上。我们利用去年作为 Segment Anything 项目一部分发布的 SA-1B 图像数据集、SA-V 数据集以及额外的内部许可视频数据集。
SAM 2(右)在图像中的对象分割准确性上显著优于 SAM(左)。
我们在研究论文中详述的关键亮点包括:
- SAM 2 在 17 个零样本视频数据集上的交互视频分割显著优于以往的方法,并且仅需约三分之一的人机交互次数。
- SAM 2 在其 23 个数据集的零样本基准测试中表现优于 SAM,且速度快六倍。
- SAM 2 在现有的视频对象分割基准(DAVIS, MOSE, LVOS, YouTube-VOS)中表现出色,超过了之前的最先进模型。
- SAM 2 的推理速度达到每秒约 44 帧,几乎达到实时效果。
- 在视频分割注释中使用 SAM 2 的效率是使用 SAM 逐帧手动注释的 8.4 倍。
我们致力于构建适合所有人的 AI 体验。为了衡量 SAM 2 的公平性,我们对模型在特定人群中的表现进行了评估。结果显示,该模型在视频分割中对不同性别的表现差异极小,并且在我们评估的三个年龄组(18-25 岁,26-50 岁,50 岁以上)之间表现差异甚微。
局限性
尽管 SAM 2 在图像和短视频的对象分割方面表现优异,但在一些具有挑战性的场景中,模型性能仍有提升空间。例如,复杂背景或快速运动的对象可能会影响模型的分割效果。
SAM 2 可能会在剧烈的摄像机视角变化后、长时间遮挡后、拥挤的场景中或长视频中失去对物体的追踪。我们通过设计模型使其具备交互性,并在任何帧中启用手动干预以纠正点击,从而在实际操作中缓解这个问题,以恢复目标物体的跟踪。
当目标物体仅在一个帧中被指定时,SAM 2 有时会混淆物体,无法正确分割目标物体,如上述视频中的马匹所示。在许多情况下,通过在后续帧中添加额外的提示词,这个问题可以完全解决,并且可以在整个视频中获得正确的掩码。
虽然 SAM 2 支持同时分割多个单独的物体,但模型的效率显著降低。在后台,SAM 2 分别处理每个物体,仅利用共享的每帧嵌入,而没有物体之间的通信。虽然这简化了模型,但整合共享的物体级上下文信息可能有助于提高效率。
对于复杂的快速移动物体,SAM 2 有时会错过细节,预测在帧之间可能不稳定(如上述视频中的自行车手所示)。在同一帧或额外帧中添加进一步的提示词来细化预测只能部分缓解这个问题。在训练期间,我们没有对模型预测在帧之间的抖动施加任何惩罚,因此不保证时间上的平滑性。增强这一能力可以促进需要精细结构定位的实际应用。
虽然我们的数据引擎在循环处理中使用了 SAM 2,并且我们在自动掩码生成方面取得了显著进展,但我们仍然依赖人工标注员进行一些步骤,例如验证掩码质量和选择需要校正的帧。未来的发展可能包括进一步自动化数据标注过程以提高效率。
还有很多工作要做,以进一步推动这项研究。我们希望 AI 社区能与我们携手,利用 SAM 2 和我们发布的资源进行开发。我们可以共同加速开放科学,构建强大的新体验和用例,造福人类和社会。
应用 SAM 2 技术
虽然许多 Meta FAIR 在公开演示中使用的模型都托管在 Amazon SageMaker 上,但 SAM 2 模型的基于会话的需求超出了我们团队此前认为在 AWS AI 基础设施上可能实现的范围。得益于 Amazon SageMaker 提供的高级模型部署和托管推理能力,我们得以实现 SAM 2 的发布——使我们能够专注于构建最先进的 AI 模型和独特的 AI 演示体验。
未来,SAM 2 可以作为更大 AI 系统的一部分,利用 AR 眼镜识别日常物品,并为用户提供提醒和指导。
我们邀请 AI 社区下载该模型,使用数据集,并尝试我们的演示。通过分享这项研究成果,我们希望能够加速通用视频和图像分割及相关感知任务的进展。我们期待看到通过向社区发布这项研究所创造的新见解和有用的体验。