SAM 2
Meta 2024 · 论文
一句话总结 — 通过流式记忆注意力架构将Segment Anything扩展到视频领域,在整个视频序列中一致地跟踪和分割物体,同时在静态图像上比SAM更准确、快6倍。
问题
SAM独立地分割每一张图像,因此在视频上运行会丢失帧间的物体身份——但机器人、AR和视频编辑都需要在运动、形变、遮挡和光照变化中随时间保持一致地分割同一个物体,且常常需要在较低的单帧质量(模糊、相机运动)下完成。SAM 2提出了可提示视觉分割(Promptable Visual Segmentation, PVS):给定视频任意一帧上的点击/框/掩码提示,预测该物体在整个视频中的时空掩码(“masklet”),并可在任意帧上通过进一步的提示进行修正。现有的VOS模型在这个意义上并不具备可提示性,视频掩码标注也很稀缺——因此模型和数据集必须一起构建。
方法与架构
这是SAM的流式泛化版本——逐帧消费视频,当记忆为空时,该模型就是作用于单张图像的SAM:
- 图像编码器:一个经MAE预训练的Hiera分层ViT对每一帧运行一次,产生未条件化的多尺度嵌入;分层结构使高分辨率跳跃连接可以直接进入解码器(绕过记忆注意力),从而获得清晰的掩码。
- 记忆注意力:个Transformer模块将当前帧特征与过去信息进行条件化——每个模块先做自注意力,再对记忆库中的条目(已提示帧和未提示帧的空间记忆,以及物体指针)做交叉注意力,然后经过一个MLP;由于是普通注意力,因此可以使用高效的注意力核。
- 提示编码器 + 掩码解码器:与SAM相同(点/框/掩码;通过多个候选掩码处理歧义性),此外新增了一个遮挡头,用于预测物体在当前帧上是否存在——在视频中,一个有效提示可能对应没有可见目标的情况。
- 记忆编码器:用卷积模块对预测掩码进行下采样,与未条件化的帧嵌入逐元素相加,再通过轻量卷积层进行融合。
- 记忆库:一个最多包含个最近帧记忆的FIFO队列,加上最多个已提示帧记忆(例如在VOS中,第一帧的记忆总是被保留),以空间特征图的形式存储,同时附带一份物体指针列表——这是从掩码解码器输出token中提取的轻量向量,携带高层的物体语义信息。
训练在图像和视频上联合进行:8帧序列,最多包含2个已提示帧,纠正性点击从真值和模型预测中采样;初始提示为真值掩码(p=0.5)、正点击(p=0.25)或框(p=0.25)。
数据引擎(三个阶段):阶段1,逐帧SAM标注,6 FPS——每帧37.8秒,1.6万个masklet;阶段2,SAM 2 Mask传播第一帧掩码——每帧7.4秒(5.1倍加速),6.35万个masklet;阶段3,全流程SAM 2循环标注,偶尔加入纠正性点击——每帧4.5秒(8.4倍加速,质量相当),19.7万个masklet,并配有单独的验证环节和用于覆盖率的自动网格提示masklet。结果:SA-V——5.09万个视频,64.26万个masklet,3550万个掩码,掩码数量比之前任何VOS数据集多53倍(不含自动标注时为15倍),以CC-BY 4.0协议发布。
实验结果
- 交互式视频分割:在9个数据集上,无论离线还是在线设置,SAM 2在指标上均超过SAM+XMem++和SAM+Cutie,且交互次数减少3倍以上的情况下取得更高精度。
- 半监督VOS(第一帧掩码提示),指标:SAM 2(Hiera-L)得分为MOSE val 77.9,DAVIS 2017 val 90.7,LVOS val 78.0,SA-V val/test 77.9/78.4,YouTube-VOS 2019 89.3——相比之前最好的方法Cutie-base+的MOSE 71.7以及SA-V上约61/63,展示出以往VOS距离”分割视频中的任何物体”还有多远。
- 速度:单张A100上43.8 FPS(Hiera-B+) / 30.2 FPS(Hiera-L)——实时流式处理。
- 图像分割:在37个数据集组成的SA基准上,SAM 2在SA-23上取得58.9的1-click mIoU,超过SAM在无额外数据情况下的58.1,同时快6倍(更小但更有效的Hiera编码器);在SA-1B加视频混合数据上训练可将其提升到61.4。
- 数据消融实验:相比只用DAVIS/MOSE/YouTube-VOS训练,加入数据引擎数据在9个零样本VOS数据集上平均带来+12.1的提升;精度随SA-V训练数据规模呈幂律增长。
对SLAM的意义
对SLAM来说,逐帧掩码是不够的——系统必须知道自己在不同时间看到的是同一个物体,才能构建语义地图并处理动态场景。SAM 2的流式记忆设计与SLAM流水线的顺序特性天然契合:时间上一致的masklet使动态物体移除、物体级建图以及数据关联所需的持久实例身份成为可能,而遮挡头明确建模了地图维护必须处理的消失/重新出现问题。时空度量-语义建图系统(例如Khronos风格的系统)是这一能力的天然使用者。
相关条目
- SAM — 仅处理图像的前代版本
- Grounding DINO — 用于指定要跟踪目标的文本提示
- Khronos — 时空度量-语义建图
- DynaSLAM — 经典SLAM中的动态物体掩码