[博客翻译]Sam 2:下一代元分割模型


原文地址:https://ai.meta.com/blog/segment-anything-2/


在去年的Meta万物分割模型(SAM)在图像领域取得成功后,我们今天发布了SAM 2,这是一个专为实时提示对象分割设计的统一模型,适用于图像和视频,实现了最先进的性能。遵循开放科学的理念,我们以Apache 2.0许可协议共享代码和模型权重。同时,我们也分享了SA-V数据集,包含大约51,000个真实世界的视频和超过600,000个时空掩码(空间-时间掩码)。

物体分割——识别图像中与感兴趣对象对应的像素——是计算机视觉领域的基础任务。去年发布的Meta万物分割模型(SAM)为这项任务引入了一个基础模型,专注于图像处理。

我们的新模型SAM 2是第一个支持实时、可提示的图像和视频对象分割的统一模型,极大地提升了视频分割体验,并且在图像和视频应用之间实现了无缝衔接。它在图像分割精度上超越了先前的水平,在视频分割性能上优于现有工作,同时只需要三分之一的交互时间。更重要的是,SAM 2可以对任何视频或图像中的任何对象进行分割,即使是对它从未见过的视觉内容,无需定制适应,这被称为零样本泛化。

在SAM发布之前,为特定图像任务创建准确的物体分割模型需要技术专家的高度专业化工作,他们需要访问AI训练基础设施和大量精心标注的领域数据。SAM革新了这一领域,通过提示技术,使得模型能够应用于各种现实世界中的图像分割任务,而无需定制数据或昂贵的调整,就像大型语言模型可以执行一系列任务一样。

自推出SAM以来的一年里,该模型已在各个领域产生了巨大影响。它激发了Instagram上的Backdrop和Cutouts等Meta应用程序中的AI驱动体验,并在科学、医学等多个行业推动了多样化的应用。许多最大的数据标注平台已将SAM作为默认工具,用于图像中的物体分割标注,节省了数百万小时的人工标注时间。SAM还被用于海洋科学研究,用于分析声纳图像和珊瑚礁,以及卫星图像分析中的灾害救援,甚至在医疗领域,用于细胞图像分割和皮肤癌检测。

正如马克·扎克伯格上周在公开信中所说,开源人工智能“比任何现代技术都更有潜力提高人类的生产力、创造力和生活质量”,同时加速经济增长,推动开创性的医学和科学研究。我们对AI社区使用SAM取得的进步印象深刻,我们相信SAM 2将解锁更多令人兴奋的可能性。

遵循开放科学的精神,我们与社区分享SAM 2的研究成果,让大家探索新功能和应用场景。我们今天提供的资源包括:

  • SAM 2的代码和权重,我们以Apache 2.0许可协议开源。
  • 我们的SAM 2评估代码,采用BSD-3许可。
  • SA-V数据集,它比现有的最大视频分割数据集拥有4.5倍的视频和53倍的注释。此次发布的数据集包含约51,000个真实世界视频,超过600,000个时空掩码。我们以CC BY 4.0许可分享SA-V。
  • 网络演示,实现实时互动视频分割,并在模型预测上应用视频效果。

作为统一模型,SAM 2能够在图像和视频数据之间无缝运行,并扩展到未见过的视觉领域。对于AI研究社区和其他人来说,它可以作为更大AI系统的一部分,用于更普遍的多模态理解世界。在工业界,它可以加速视觉数据的标注工具,用于训练下一代自动驾驶车辆的计算机视觉系统。SAM 2的快速推理能力可能启发新的实时或直播视频中选择和交互物体的方式。对于内容创作者,SAM 2可以推动视频编辑的创意应用,并增强生成式视频模型的可控性。此外,它还可以用于科学研究,如通过无人机视频追踪濒危动物,或在手术过程中定位腹腔镜摄像头中的区域。

我们相信可能性是无限的,我们很高兴与AI社区分享这项技术,看看他们会创造出什么样的新见解和有用的应用。让我们一起努力,推动这一研究更进一步。

如何构建SAM 2

SAM能够学习到图像中物体的一般概念。然而,图像只是动态现实世界的一个静态快照,其中视觉片段可能会表现出复杂的运动。许多实际应用需要准确的视频物体分割,例如在混合现实、机器人、自动驾驶和视频编辑中。我们认为,一个通用的分割模型应该适用于图像和视频。

我们可以将图像视为一个只有一个帧的非常短的视频。我们采用这种观点,开发了一个支持图像和视频输入的统一模型。处理视频时,模型需要依赖记忆来回忆视频中先前处理的信息,以便在当前时刻准确地分割物体。

在视频中准确地分割物体需要理解物体在时间和空间中的位置。与图像分割相比,视频带来了显著的新挑战。物体运动、变形、遮挡、光照变化等因素会在帧与帧之间发生大幅变化。由于相机移动、模糊和较低分辨率,视频通常质量较低,增加了难度。因此,现有的视频分割模型和数据集在提供视频中的“万物分割”能力方面存在不足。我们在构建SAM 2和新的SA-V数据集中解决了许多这些问题。

与SAM的方法类似,我们通过设计新任务、模型和数据集来实现视频分割能力。首先,我们开发了可提示的视觉分割任务,并设计了能执行此任务的模型(SAM 2)。我们使用SAM 2帮助创建了一个视频物体分割数据集(SA-V),其规模是目前最大的几倍,并用它来训练SAM 2,使其达到最先进的性能。

可提示的视觉分割

SAM 2支持在任何视频帧中选择和细化物体

我们设计了一个可提示的视觉分割任务,将图像分割任务推广到视频领域。SAM被训练接受图像中的点、框或掩码作为目标物体的定义,然后预测一个分割掩码。在SAM 2中,我们训练它接受视频帧中的输入提示,定义要预测的时空掩码(即“masklet”)。基于输入提示,SAM 2立即对当前帧进行掩码预测,并将预测传播到所有视频帧,生成目标物体的masklet。一旦得到初始masklet,可以通过在后续帧中提供额外提示来迭代地精细化它。这个过程可以重复多次,直到获得所需的masklet。

从SAM到SAM 2的架构演变

SAM 2的架构可以看作是从图像到视频领域的SAM的扩展。SAM 2可以接受点击(正负)、边界框或掩码来定义给定帧中物体的范围。一个轻量级的掩码解码器接收当前帧的图像嵌入和编码的提示,输出该帧的分割掩码。在视频设置中,SAM 2将这个掩码预测传播到所有视频帧,生成masklet。然后可以在后续帧中添加提示,进一步细化masklet预测。

为了在所有视频帧上准确预测掩码,我们引入了一种内存机制,包括记忆编码器、记忆库和记忆注意力模块。对于图像,这些记忆组件为空,模型行为类似于SAM。对于视频,记忆组件允许存储关于物体和会话中用户交互的信息,使SAM 2能够在整个视频中生成masklet预测。如果在其他帧上有额外的提示,SAM 2可以根据存储的记忆上下文有效地修正其预测。

帧的记忆由记忆编码器基于当前掩码预测创建,并存放在记忆库中供后续帧使用。记忆库包含来自先前帧和提示帧的记忆。记忆注意力操作取图像编码器的每帧嵌入,并根据记忆库条件化,然后传递给掩码解码器生成该帧的掩码预测。这个过程会重复应用于所有后续帧。

我们采用了流式架构,这是SAM自然扩展到视频领域的结果,逐帧处理视频并存储分割物体的信息。在每个新处理的帧上,SAM 2使用记忆注意力模块关注目标物体的先前记忆。这种设计使得处理任意长度的视频成为可能,这对于SA-V数据集的收集效率至关重要,也对现实世界应用,如机器人,非常重要。

SAM首次实现了在面对图像中分割对象的不确定性时,能够输出多个有效的掩码。例如,当用户点击自行车的轮胎时,模型可以解释点击是指轮胎还是整个自行车,并输出多个预测。在视频中,这种不确定性可能跨帧延伸。如果在某一帧只看到轮胎,点击可能仅指轮胎;随着后续帧中自行车的更多部分出现,这个点击可能指的是整个自行车。为了解决这种不确定性,SAM 2在视频的每一步都会创建多个掩码。如果后续提示无法解决歧义,模型会选择置信度最高的掩码继续在视频中传播。

在SAM 2的架构中,遮挡头用于预测物体是否可见,即使在物体暂时被遮挡时也能帮助进行分割。