共计 2897 个字符,预计需要花费 8 分钟才能阅读完成。
还有网友认为,SAM 2 的出现可能会使其他相关技术黯然失色。
如何构建 SAM 2?
SAM 能够了解图像中对象的一般概念。然而,图像只是动态现实世界的静态快照。许多重要的现实用例需要在视频数据中进行准确的对象分割,例如混合现实、机器人、自动驾驶车辆和视频编辑。Meta 认为通用的分割模型应该适用于图像和视频。
图像可以被视为具有单帧的非常短的视频。Meta 基于这个观点开发了一个统一的模型,无缝支持图像和视频输入。处理视频的唯一区别是,模型需要依靠内存来调用该视频之前处理的信息,以便在当前时间步准确地分割对象。
视频中对象的成功分割需要了解实体在空间和时间上的位置。与图像分割相比,视频提出了重大的新挑战。对象运动、变形、遮挡、光照变化和其他因素可能会因帧而异。由于摄像机运动、模糊和分辨率较低,视频的质量通常低于图像,这增加了难度。因此,现有的视频分割模型和数据集在为视频提供可比的「分割任何内容」功能方面存在不足。
Meta 构建 SAM 2 和新 SA-V 数据集来解决这些挑战。
与用于 SAM 的方法类似,Meta 对视频分割功能的研究涉及设计新任务、模型和数据集。
研究团队首先开发了可提示的(promptable)视觉分割任务并设计了一个能够执行该任务的模型 ——SAM 2。
然后,研究团队使用 SAM 2 来帮助创建视频对象分割数据集 ——SA-V,该数据集比当前存在的任何数据集大一个数量级。研究团队使用它来训练 SAM 2 以实现 SOTA 性能。
可提示的视觉分割
SAM 2 支持在任何视频帧中选择和细化对象。
研究团队设计了一个可提示的视觉分割任务,将图像分割任务推广到视频领域。SAM 经过训练,以图像中的输入点、框或掩码来定义目标对象并预测分割掩码。该研究训练 SAM 2 在视频的任何帧中获取输入提示来定义要预测的时空掩码(即「masklet」)。
SAM 2 根据输入提示立即预测当前帧上的掩码,并将其临时传播(temporally propagate)以生成跨所有视频帧的目标对象的 masklet。一旦预测出初始 masklet,就可以通过在任何帧中向 SAM 2 提供附加提示来迭代完善它。这可以根据需要重复多次,直到获得所需的 masklet。
统一架构中的图像和视频分割
从 SAM 到 SAM 2 的架构演变。
SAM 2 架构可以看作是 SAM 从图像领域到视频领域的推广。
SAM 2 可以通过点击、边界框或掩码被提示,以定义给定帧中对象的范围。轻量级掩码解码器采用当前帧的图像嵌入和编码提示来输出该帧的分割掩码。在视频设置中,SAM 2 将此掩码预测传播到所有视频帧以生成 masklet,然后在任何后续帧上迭代添加提示以细化 masklet 预测。
为了准确预测所有视频帧的掩码,研究团队引入了一种由记忆编码器、记忆库(memory bank)和记忆注意力模块组成的记忆机制。当应用于图像时,内存组件为空,模型的行为类似于 SAM。对于视频,记忆组件能够存储关于该会话中的对象和先前用户交互的信息,从而允许 SAM 2 在整个视频中生成 masklet 预测。如果在其他帧上提供了额外的提示,SAM 2 可以根据对象存储的记忆上下文有效地纠正其预测。
帧的记忆由记忆编码器根据当前掩码预测创建,并放置在记忆库中以用于分割后续帧。记忆库由先前帧和提示帧的记忆组成。记忆注意力操作从图像编码器获取每帧嵌入,并根据记忆库进行调整以产生嵌入,然后将其传递到掩码解码器以生成该帧的掩码预测。对于所有后续帧重复此操作。
Meta 采用流式架构,这是 SAM 在视频领域的自然推广,一次处理一个视频帧并将有关分割对象的信息存储在记忆中。在每个新处理的帧上,SAM 2 使用记忆注意力模块来关注目标对象之前的记忆。这种设计允许实时处理任意长的视频,这不仅对于 SA-V 数据集的注释收集效率很重要,而且对于现实世界的应用(例如在机器人领域)也很重要。
当图像中被分割的对象存在模糊性时,SAM 会输出多个有效掩码。例如,当一个人点击自行车轮胎时,模型可以将这次点击解释为仅指轮胎或整个自行车,并输出多个预测。在视频中,这种模糊性可能会扩展到视频帧中。例如,如果在一帧中只有轮胎可见,则轮胎上的点击可能仅与轮胎相关,或者随着自行车的更多部分在后续帧中变得可见,这种点击可能是针对整个自行车的。为了处理这种模糊性,SAM 2 在视频的每个步骤创建多个掩码。如果进一步的提示不能解决歧义,模型会选择置信度最高的掩码,以便在视频中进一步传播。
SAM 2 架构中的遮挡 head 用于预测对象是否可见,即使对象暂时被遮挡,也能帮助分割对象。
在图像分割任务中,在给定积极提示的情况下,帧中始终存在可分割的有效对象。在视频中,特定帧上可能不存在有效对象,例如由于对象被遮挡或从视图中消失。为了解释这种新的输出模式,研究团队添加了一个额外的模型输出(「遮挡 head(occlusion head)」),用于预测当前帧中是否存在感兴趣的对象。这使得 SAM 2 能够有效地处理遮挡。
SA-V:Meta 构建了最大的视频分割数据集
来自 SA-V 数据集的视频和掩码注释。
为了收集一个大型且多样化的视频分割数据集,Meta 建立了一个数据引擎,其中注释员使用 SAM 2 交互地在视频中注释 masklet,然后将新注释的数据用于更新 SAM 2。他们多次重复这一循环,以迭代地改进模型和数据集。与 SAM 类似,Meta 不对注释的 masklet 施加语义约束,注重的是完整的物体(如人)和物体的部分(如人的帽子)。
借助 SAM 2,收集新的视频对象分割掩码比以往更快,比每帧使用 SAM 快约 8.4 倍。此外,Meta 发布的 SA-V 数据集的注释数量是现有视频对象分割数据集的十倍以上,视频数量大约是其 4.5 倍。
总结而言,SA-V 数据集的亮点包括:
结果
下方两个模型都是用第一帧中的 T 恤蒙版初始化的。对于 baseline,Meta 使用来自 SAM 的蒙版,问题是过度分割并包括人的头部,而不是仅跟踪 T 恤。相比之下,SAM 2 能够在整个视频中准确跟踪对象部分。
为了创建统一的图像和视频分割模型,Meta 将图像视为单帧视频,在图像和视频数据上联合训练 SAM 2。团队利用了去年作为 Segment Anything 项目的一部分发布的 SA-1B 图像数据集、SA-V 数据集以及额外的内部许可视频数据集。
SAM 2(右)提高了 SAM(左)图像中的对象分割精度。
SAM 2 论文也展示了该模型的多项提升:
1、SAM 2 在 17 个零样本视频数据集的交互式视频分割方面表现明显优于以前的方法,并且所需的人机交互减少了大约三倍。
2、SAM 2 在 23 个数据集零样本基准测试套件上的表现优于 SAM,而且速度快了六倍。
3、与之前的最先进模型相比,SAM 2 在现有的视频对象分割基准(DAVIS、MOSE、LVOS、YouTube-VOS)上表现出色。
4、使用 SAM 2 进行推理感觉很实时,速度大约为每秒 44 帧。
5、循环中使用 SAM 2 进行视频分割注释的速度比使用 SAM 进行手动每帧注释快 8.4 倍。
6、为了衡量 SAM 2 的公平性,Meta 对特定人群的模型性能进行了评估。结果表明,在感知性别和 18-25 岁、26-50 岁和 50 岁以上三个感知年龄组评估中,模型显示的差异很小。