导言
继SAM模型发布以来,Meta公司于2024年8月发布第二个图像分割大模型SAM2。相较于第一代SAM模型,论文提出了第二代"分割任意物体模型" (SAM 2),旨在解决视频中的可提示视觉分割任务(Promptable Visual Segmentation, PVS)。相比于静态图像的分割,视频分割面临着复杂的运动、变形和遮挡等挑战。SAM 2 通过引入数据引擎,改进了模型和数据的互动,并收集了迄今为止最大的可提示视频分割数据集。论文中提到,SAM 2 在视频分割中准确性更高,且比之前的方法减少了三分之二的互动次数,同时在图像分割任务中表现也比 SAM 更快速、更精确。
论文简介
论文题目:
SAM 2: Segment Anything in Images and Videos
研究领域:
Computer Vision and Pattern Recognition; Artificial Intelligence; Image and video Segmentation
论文作者:
Nikhila Ravi等
论文链接:
https://arxiv.org/abs/2408.00714
主要方法
1. 模型架构
SAM 2 是一种基于 Transformer 的模型,具备流式内存模块,用于实时处理视频分割任务。它支持图像和视频的分割,能够在任意帧上接受点击、框选或掩码作为提示,从而定义目标对象的空间范围,并生成分割掩码。
-
图像编码器
SAM 2 使用了一种分层式图像编码器(Hiera),该编码器将图像分割为不同的层级来提取特征。对于视频的实时处理,图像编码器以流式方式逐帧对视频进行编码,生成每帧的特征嵌入(feature embedding)。
-
内存模块
SAM 2 中的内存模块用于存储关于目标对象的前一帧信息和与用户交互的提示。通过这种方式,模型可以更好地理解视频帧之间的关联。内存模块中的注意力机制能够跨越多帧,帮助模型更好地跟踪对象,使得在视频分割时能够持续有效地改进分割结果。对图像来说,由于没有前后帧,模型会空置内存模块,类似于原始的 SAM。
-
提示编码器与掩码解码器
SAM 2 的提示编码器可以接受点击、框选或掩码的提示,用于确定要分割的对象范围。掩码解码器接收来自当前帧的图像嵌入和提示信息,生成相应的分割掩码。提示可以迭代增加,以在同一帧上对掩码进行进一步的修正。
-
流式处理与内存注意力
SAM 2 采用流式处理的方式处理视频帧,一个时间点上只处理一帧。模型利用内存注意力模块来结合之前帧的记忆,生成更精确的分割掩码。内存中的信息来自于之前帧的分割结果以及提示,帮助模型在长时间的视频中跟踪目标对象,即便它们在某些帧中被部分遮挡或发生了较大变化。
2. 数据引擎
论文还提出了一种数据引擎,帮助快速构建用于训练的数据集。数据引擎包含三个阶段:
第一阶段:基于图像的 SAM 逐帧标注视频,但由于没有跟踪机制,标注速度较慢。
第二阶段:结合 SAM 和 SAM 2,在第一帧手动标注后,由 SAM 2 进行后续帧的预测并加以修正。这一阶段的标注速度较前阶段提高了 5.1 倍。
第三阶段:使用全功能的 SAM 2 进行标注,SAM 2 利用内存来帮助生成分割掩码,只需偶尔进行细化点击即可。这一阶段标注速度较第一阶段提高了 8.4 倍。
3. 训练
模型在图像和视频数据上进行联合训练,模拟交互式的提示。训练过程中,随机选择一些帧进行提示,提示可以是物体的边界框、正负点击等,目标是生成正确的分割掩码并在视频中进行连续跟踪。
论文针对的问题
视频分割的核心问题在于如何应对视频中的时空变化,包括运动、变形、遮挡、光照变化等。此外,视频帧的处理效率以及低质量视频的分割也是面临的重要挑战。论文旨在提出一种统一的视频与图像分割模型,以解决当前模型在处理视频时存在的精度不足以及效率低下的问题。
论文创新点
模型架构:SAM 2 引入了流式内存模块,通过对前后帧信息的高效利用,实现了实时视频分割。
数据引擎:开发了一种数据引擎来加速视频分割数据的收集过程,相较于传统方法,效率提高了 8.4 倍。
数据集规模:构建了史上最大的可提示视频分割数据集(SA-V),包含了多达 53 倍于现有数据集的掩码数量,极大丰富了训练数据的多样性和规模。
总结
论文提出的 SAM 2 在视频和图像分割方面实现了显著的性能提升,尤其是在减少用户互动次数的同时仍保持高精度分割。通过构建大规模且多样化的数据集,SAM 2 为视觉感知领域的视频分割和相关任务的进一步研究提供了重要的里程碑。SAM 2 的发布将有助于推动视频分割技术在 AR/VR、机器人、自主车辆和视频编辑等领域的广泛应用。未来的研究应该侧重于减少模型参数,提升模型的推理速度,使得其能够真正在广泛的实际场景中进行应用。
Try SAM2:
https://sam2.metademolab.com/demo