然后,研究团队使用 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 数据集的注释收集效率很重要,而且对于现实世界的应用(例如在机器人领域)也很重要。
在图像分割任务中,在给定积极提示的情况下,帧中始终存在可分割的有效对象。在视频中,特定帧上可能不存在有效对象,例如由于对象被遮挡或从视图中消失。为了解释这种新的输出模式,研究团队添加了一个额外的模型输出(「遮挡 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 数据集的亮点包括:
在大约 51,000 个视频中有超过 600,000 个 masklet 注释;
视频展示了地理上不同的真实场景,收集自 47 个国家;
覆盖整个对象、对象中的一部分,以及在物体被遮挡、消失和重新出现的情况下具有挑战性的实例。
结果
下方两个模型都是用第一帧中的 T 恤蒙版初始化的。对于 baseline,Meta 使用来自 SAM 的蒙版,问题是过度分割并包括人的头部,而不是仅跟踪 T 恤。相比之下,SAM 2 能够在整个视频中准确跟踪对象部分。
为了创建统一的图像和视频分割模型,Meta 将图像视为单帧视频,在图像和视频数据上联合训练 SAM 2。团队利用了去年作为 Segment Anything 项目的一部分发布的 SA-1B 图像数据集、SA-V 数据集以及额外的内部许可视频数据集。