官方博客:
https://ai.meta.com/blog/segment-anything-2/
官方论文:https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/
一、研究背景
-
研究问题:这篇文章要解决的问题是如何在图像和视频中进行可提示的视觉分割(Promptable Visual Segmentation, PVS)。具体来说,研究目标是构建一个能够处理视频帧序列并生成时空分割掩码的基础模型。
-
研究难点:该问题的研究难点包括:视频中的实体可能会因运动、变形、遮挡、光照变化等因素而发生显著外观变化;视频质量通常低于图像,且处理大量帧效率低下;现有的视频分割模型和数据集在处理视频分割任务时表现不佳。
-
相关工作:该问题的研究相关工作有:Segment Anything(SA)模型在图像分割中的应用;交互式视频对象分割(iVOS)任务;半监督视频对象分割(VOS)方法;现有的视频分割数据集如DAVIS、YouTube-VOS等。
二、研究方法
这篇论文提出了Segment Anything Model 2(SAM 2),用于解决视频和图像的可提示视觉分割问题。具体来说,
-
模型架构:SAM 2是一个简单的Transformer架构,配备了流式内存以进行实时视频处理。该模型能够在单个图像和视频帧中生成分割掩码,并通过存储对象的先前交互信息来在整个视频中生成掩码预测。
-
数据引擎:为了收集训练数据,研究团队开发了一个数据引擎,该引擎通过与标注者交互来注释新的和具有挑战性的数据。数据引擎不限制特定类别的对象,而是旨在提供任何具有有效边界的对象的训练数据。
-
训练策略:模型在图像和视频数据上联合训练。模拟交互式提示,随机选择多达2帧进行提示,并概率为性地接收正确的点击。初始提示可以是真实掩码、从真实掩码中采样的正点击或边界框输入。
三、实验设计
-
数据收集:研究团队通过数据引擎收集了50.9K个视频,总计642.6K个掩码。视频包括室内和室外场景,平均时长为14秒,覆盖了多种日常场景和地理区域。
-
数据标注:数据标注分为三个阶段:SAM每帧、SAM+SAM 2 Mask、SAM 2。每个阶段的标注时间和精度逐步提升,最终使用SAM 2进行标注,每帧标注时间降至4.5秒。
-
验证步骤:为了确保标注质量,研究团队引入了一个验证步骤,由另一组标注者检查每个掩码的质量,确保其正确且一致地跟踪目标对象。
-
自动掩码生成:为了增加注释的多样性,研究团队使用自动生成的掩码来补充手动注释的掩码。自动生成的掩码经过验证后添加到数据集中。
4、结果与分析
-
视频分割性能:SAM 2在视频分割任务中表现出色,使用比现有方法少3倍的交互次数就能获得更好的分割精度。在多个视频对象分割基准测试中,SAM 2优于现有的基线方法。
-
图像分割性能:在图像分割基准测试中,SAM 2比Segment Anything Model(SAM)快6倍,同时表现出更高的准确性。
-
零样本测试:在17个视频分割和37个单图像分割的零样本基准测试中,SAM 2表现出色,特别是在视频分割任务中,SAM 2在9个密集标注的视频数据集中均优于现有的基线方法。
-
公平性评估:在性别和年龄群体的公平性评估中,SAM 2在3次点击和真实掩码提示下的准确性差异较小,表明模型在不同群体上的表现一致。
五、总体结论
这篇论文提出了Segment Anything Model 2(SAM 2),一个用于视频和图像可提示视觉分割的统一模型。通过构建一个大规模的数据集并使用数据引擎进行交互式注释,SAM 2在视频和图像分割任务中表现出色。研究结果表明,SAM 2在视频分割中比现有方法少用3倍的交互次数,同时在图像分割中比SAM快6倍。SAM 2的发布为视频分割和相关感知任务提供了一个重要的里程碑。
六、论文评价
优点与创新
-
数据集规模:提出了迄今为止最大的视频分割数据集SA-V,包含50.9K个视频和642.6K个masklets,比现有任何视频分割数据集都要大53倍。
-
模型架构:SAM 2采用了一个简单的Transformer架构,并配备了流式内存,用于实时视频处理。该模型在图像和视频分割任务中表现出色。
-
交互性:SAM 2能够通过在一个或多个视频帧上的提示(点击、框或掩码)进行交互式区域分割,并使用流式内存存储先前提示和预测的信息。
-
训练效率:通过在循环中与标注者一起使用模型生成训练数据,SAM 2的数据引擎比现有方法快8.4倍。
-
多任务能力:SAM 2不仅适用于视频分割,还可以处理图像分割任务,并且在图像分割任务中比Segment Anything Model (SAM)快6倍。
-
零样本性能:SAM 2在多个零样本基准测试中表现出色,包括17个视频分割和37个单图像分割基准。
-
公平性评估:评估表明,SAM 2在视频分割任务中基于性别和年龄的表现差异最小。
七、不足与反思
-
场景变化:模型可能在镜头变化时难以分割对象,或在长时间遮挡或长时间视频中失去对象跟踪。
-
细节丢失:模型在跟踪具有非常细或精细细节的快速移动对象时可能会遇到困难。
-
相似物体区分:在有相似外观的附近物体的情况下(例如,多个相同的抛球),模型可能会犯错误。引入更明确的运动建模可以缓解这种情况的错误。
-
多物体处理:尽管SAM 2可以同时跟踪视频中的多个对象,但它分别处理每个对象,没有对象级上下文信息的共享,这可能会影响效率。
-
自动化验证:数据引擎依赖于人工标注者验证masklet质量并选择需要纠正的帧。未来的发展可以包括自动化这一过程以提高效率。
八、关键问题及回答
问题1:SAM 2的内存机制是如何设计的?它在视频分割中起到了什么作用?
SAM 2的内存机制通过一个内存模块来实现,该模块存储了过去帧的预测和提示信息。具体来说,帧嵌入不是直接从图像编码器获取的,而是基于过去预测和提示帧的记忆。记忆模块通过卷积模块下采样输出掩码,并将其与图像编码器的无条件帧嵌入逐元素相加,然后通过轻量级卷积层融合信息。这种内存机制使得SAM 2能够在视频处理过程中记住之前的对象状态和交互信息,从而在生成掩码预测时能够考虑到这些历史信息,提高视频分割的准确性和效率。
问题2:SAM 2在数据收集和标注过程中是如何设计的?各阶段的具体流程是什么?
SAM 2的数据收集和标注过程通过一个数据引擎来实现,分为三个阶段:SAM每帧、SAM+SAM 2 Mask、SAM 2。
-
SAM每帧:在这个阶段,使用基于图像的交互式SAM来辅助人工标注。标注者使用SAM在每个视频帧中标注目标对象的掩码,使用像素级编辑工具(如“画笔”和“橡皮擦”)进行手动编辑。这个阶段收集了16K个掩码。
-
SAM+SAM 2 Mask:在这个阶段,SAM 2仅接受掩码作为提示。标注者首先使用SAM生成第一帧的空间掩码,然后使用SAM 2 Mask将掩码传播到其他帧,以获得完整的时空掩码。标注者可以手动编辑中间帧的预测,并使用SAM 2 Mask重新传播。这个阶段收集了63.5K个掩码。
-
SAM 2:在这个阶段,SAM 2接受各种类型的提示(包括点和掩码),并利用跨帧的对象记忆生成掩码预测。标注者只需偶尔提供细化点击来编辑中间帧的预测。这个阶段收集了197.0K个掩码。
每个阶段的标注时间和效率逐步提升,最终SA-V数据集包含50.9K个视频和642.6K个掩码。
问题3:SAM 2在零样本视频分割任务中表现如何?与其他基线方法相比有哪些优势?
SAM 2在零样本视频分割任务中表现出色。具体来说,SAM 2在17个密集标注的视频数据集和37个单图像分割数据集中均表现出显著的性能提升。
-
交互式离线评估:在9个密集标注的视频数据集中,SAM 2在交互式离线评估中使用了3次点击,平均J&F指标优于现有的XMem++和Cutie基线方法,显示出更高的分割准确性和更少的交互次数。
-
半监督VOS评估:在17个视频数据集中,使用1次、3次或5次点击以及边界框和真实掩码作为提示,SAM 2在所有这些提示类型下均优于XMem++和Cutie基线方法,特别是在使用真实掩码作为提示时表现最佳。
-
公平性评估:在性别和年龄群体的公平性评估中,SAM 2在3次点击和真实掩码提示下的准确性差异较小,表明模型在不同群体上的表现一致。
总体而言,SAM 2在视频分割任务中能够从少量点击生成高质量的分割结果,并且具有良好的跨帧预测能力,显著优于现有的最先进方法。