Segment Any Motion in Videos¶
会议: CVPR 2025
arXiv: 2503.22268
代码: https://motion-seg.github.io/
领域: 视频理解 / 分割
关键词: 运动物体分割, 长程轨迹, SAM2, 语义-运动解耦, 视频理解
一句话总结¶
本文提出了一种结合长程点轨迹运动线索、DINO 语义特征和 SAM2 像素级掩码致密化的运动物体分割方法,通过时空轨迹注意力和运动-语义解耦嵌入,在多个基准上显著超越了基于光流的传统方法,尤其在细粒度多物体分割场景中表现出色。
研究背景与动机¶
领域现状:运动物体分割(MOS)是视频理解的核心任务,要求将视频中有独立运动的物体从背景和相机运动中分离出来。传统方法大量依赖光流提供运动线索,但光流本质上是短程的两帧匹配,容易受到遮挡、运动模糊和亮度变化的影响。
现有痛点:基于光流的方法存在三大问题:(1)短程性——光流只覆盖相邻帧,对缓慢运动或长期遮挡无能为力;(2)深度歧义——很难区分物体独立运动和由深度差异引起的视差运动;(3)分割质量差——生成的掩码几何完整性不高。基于轨迹的方法则主要依赖仿射矩阵的谱聚类,难以捕获全局一致性和复杂运动模式。
核心矛盾:运动线索和语义线索各有优劣——纯运动线索难以区分相机运动和物体运动(特别是剧烈相机运动场景),纯语义线索则无法区分同一类别的运动和静止物体。如何有效融合两类信息是关键难题。
本文目标:用长程点轨迹替代光流作为运动线索,结合 DINO 语义特征作为补充,并利用 SAM2 的强大分割能力生成高质量的逐物体掩码。
切入角度:长程点轨迹(BootsTAP 生成)天然具备抗遮挡和抗形变能力;DINO 特征的自监督性质保证了跨域泛化;SAM2 可基于点提示进行分割和跟踪。三者的巧妙组合形成了一个强大的统一框架。
核心 idea:训练一个 transformer 模型接收长程轨迹和 DINO 特征,通过运动-语义解耦的嵌入方式预测每条轨迹的动态标签,然后用这些轨迹作为 SAM2 的点提示,通过迭代提示策略生成逐物体的精细掩码。
方法详解¶
整体框架¶
整体 pipeline 分为三个阶段: 1. 运动模式编码(Motion Pattern Encoding):用 BootsTAP 生成长程 2D 轨迹和 Depth-Anything 估计深度图,通过时空轨迹注意力编码器提取运动特征 2. 逐轨迹运动预测(Per-trajectory Motion Prediction):通过运动-语义解耦嵌入的 transformer 解码器,结合 DINO 特征,预测每条轨迹是否对应运动物体 3. SAM2 迭代提示(SAM2 Iterative Prompting):用被识别为动态的轨迹作为 SAM2 的点提示,通过两阶段迭代策略生成逐物体的像素级掩码
关键设计¶
-
时空轨迹注意力 (Spatio-Temporal Trajectory Attention):
- 功能:在编码器中交替执行空间注意力和时间注意力,捕获轨迹间的空间关系和单条轨迹内的时间动态
- 核心思路:输入是长程轨迹的增强表示,包括归一化像素坐标 \((u_i, v_i)\)、帧间差分 \((\Delta u_i, \Delta v_i)\)、深度 \(d_i\)、深度差分 \(\Delta d_i\)、可见性 \(\rho_i\) 和置信度 \(c_i\)。对坐标使用 NeRF 式频率编码应对过平滑问题。注意力层交替在轨迹维度(空间)和时间维度操作,最后通过时间维度上的 max-pooling 获取每条轨迹的单一特征向量
- 设计动机:标准注意力机制无法同时高效建模空间关系和时间动态,交替注意力设计解决了这一问题。频率编码避免了空间相近的采样点特征被过度平滑
-
运动-语义解耦嵌入 (Motion-Semantic Decoupled Embedding):
- 功能:在解码器中平衡运动和语义信息的使用,优先运动线索,语义作为辅助
- 核心思路:编码器层仅对嵌入轨迹(只含运动信息)做注意力,计算完注意力加权特征后再拼接 DINO 特征并通过 feed-forward 层。在解码器层,self-attention 仍只作用于运动特征,但 multi-head attention 会关注包含语义信息的 memory。最终通过 sigmoid 输出每条轨迹的动态概率
- 设计动机:简单将 DINO 特征作为输入会让模型过度依赖语义——例如把同一类别的静态物体也判为动态。解耦设计确保模型"以运动为主、语义为辅",避免语义过拟合
-
SAM2 迭代提示策略 (SAM2 Iterative Prompting):
- 功能:将稀疏的动态轨迹点转化为逐物体的像素级密集掩码
- 核心思路:分两阶段。第一阶段(物体分组):在可见点最多的帧中找最密集点作为 SAM2 的初始提示,生成掩码后膨胀扩展边界,将掩码内的点标记为同一物体,然后排除这些点继续处理剩余点,直到所有点被分组。第二阶段(掩码精化):用每组轨迹中最密集的点和最远的两点作为提示,间隔性地提示 SAM2 防止长距离跟踪丢失,最后后处理合并重叠掩码
- 设计动机:SAM2 需要物体 ID 作为输入,不能将所有动态物体分配同一 ID。迭代分组策略解决了多物体区分问题
损失函数 / 训练策略¶
使用加权二元交叉熵损失训练轨迹分类模型。Ground truth 标签通过检查轨迹采样点是否落在动态掩码内来生成。
训练数据混合三个数据集:Kubric(合成,35%)、Dynamic Replica(合成,35%)、HOI4D(真实世界,30%)。Dynamic Replica 中 300 帧以 1/4 间隔采样以加速训练,同时保留大范围相机运动的特征。
实验关键数据¶
主实验¶
运动物体分割(MOS, 所有前景合并评估):
| 方法 | 运动线索 | 语义线索 | DAVIS16-Moving \(\mathcal{J\&F}\)↑ | SegTrackv2 \(\mathcal{J}\)↑ | FBMS-59 \(\mathcal{J}\)↑ | DAVIS2016 \(\mathcal{J\&F}\)↑ |
|---|---|---|---|---|---|---|
| RCF-All | 光流 | DINO | 79.6 | 79.6 | 72.4 | 80.7 |
| OCLR-TTA | 光流 | RGB | 78.5 | 72.3 | 69.9 | 78.8 |
| ABR | 光流 | DINO | 72.0 | 76.6 | 81.9 | 72.5 |
| Ours | 轨迹 | DINO | 89.5 | 76.3 | 78.3 | 90.9 |
细粒度 MOS(DAVIS17-Moving, 逐物体评估):
| 方法 | MOS \(\mathcal{J\&F}\)↑ | Fine-grained \(\mathcal{J}\)↑ | Fine-grained \(\mathcal{F}\)↑ |
|---|---|---|---|
| ABR | 74.6/75.2 | 50.9 | 51.2 |
| OCLR-TTA | 76.0/75.3 | 48.4 | 49.9 |
| Ours | 90.0/89.0 | 77.4 | 83.6 |
消融实验¶
| 配置 | DAVIS17-Moving \(\mathcal{J\&F}\)↑ | DAVIS16-Moving \(\mathcal{J\&F}\)↑ | 说明 |
|---|---|---|---|
| Ours-full | 80.5 | 89.1 | 完整模型 |
| w/o Tracks | 19.6 | 20.9 | 去掉轨迹后崩溃,证明轨迹是核心 |
| w/o DINO | 65.0 | 75.5 | 显著下降,语义信息重要补充 |
| w/o MSDE | 63.0 | 78.2 | 非解耦方式融合语义,性能差 |
| w/o MOE | 72.0 | 81.8 | 编解码器都融合DINO,过度依赖语义 |
| w/o ST-ATT | 65.5 | 78.3 | 时空注意力贡献大 |
| w/o Depth | 69.2 | 82.5 | 深度信息有帮助但非关键 |
| w/o PE | 66.4 | 82.0 | 频率位置编码有一定贡献 |
关键发现¶
- 轨迹是最关键的输入:去掉轨迹后效果直接崩溃至 ~20%,而去掉 DINO 或深度的下降相对温和。这验证了长程轨迹作为运动线索的不可替代性
- 语义融合方式至关重要:w/o MSDE(不用解耦嵌入直接拼接)比 w/o DINO(完全不用语义)效果更差,说明错误的融合方式比不融合还糟糕
- 细粒度分割中优势巨大:在 DAVIS17-Moving 上,逐物体分割的 \(\mathcal{J}\) 为 77.4 vs 次优 50.9,提升了 26.5 个点
- 模型在剧烈相机运动、水面反射、迷彩伪装等极端场景下依然表现稳定
亮点与洞察¶
- 长程轨迹 × SAM2 的组合堪称优雅:轨迹提供跨帧一致的运动线索并自然作为 SAM2 的点提示,这比光流 → 分割的传统范式在时间一致性上有根本优势
- 运动-语义解耦嵌入的设计理念有广泛迁移价值:在任何需要融合两种可能冲突的信息源的任务中,让主要信号走主干、辅助信号通过交叉注意力注入是一种有效范式
- 迭代提示策略中的"找最密集点 → 生成掩码 → 排除 → 迭代"流程,巧妙地将物体计数问题转化为贪心分组问题
局限与展望¶
- 依赖跟踪估计器质量:BootsTAP 的精度直接影响最终结果
- 快速出现又消失的物体:如果物体只出现几帧且运动很快,生成的轨迹太短,方法可能失败
- 主导运动遮蔽微弱运动:场景中如果有大运动物体,微弱运动的物体容易被忽略
- 部分分割问题:SAM2 有时只分割物体的一部分(如人的衣服而非整体),后处理的合并策略不总能解决
- 未来可探索更鲁棒的轨迹估计器或引入 3D 轨迹信息
相关工作与启发¶
- vs 光流方法 (OCLR, RCF): 光流是短程的两帧匹配,在遮挡和长期跟踪中表现差。长程轨迹本质上是光流在时间维度的延伸,克服了短程局限
- vs 仿射矩阵谱聚类方法: 传统轨迹方法依赖仿射矩阵聚类,只捕获局部相似性,缺乏全局一致性。本文用 transformer 直接建模轨迹特征,学习全局运动模式
- vs ABR: ABR 也用 DINO 特征但效果不稳定,因为它是分阶段融合运动和语义。本文的解耦嵌入实现了更紧密的集成
评分¶
- 新颖性: ⭐⭐⭐⭐ 长程轨迹 + SAM2 + 解耦嵌入的组合新颖,但各组件并非全新
- 实验充分度: ⭐⭐⭐⭐⭐ 多数据集评估、丰富的消融、定性对比详尽
- 写作质量: ⭐⭐⭐⭐ 结构清晰,图示有效,limitation 部分坦诚
- 价值: ⭐⭐⭐⭐⭐ 在细粒度运动分割上的表现令人印象深刻,实用价值高
相关论文¶
- [CVPR 2025] SAP: Segment Any 4K Panorama
- [CVPR 2025] GleSAM: Segment Any-Quality Images with Generative Latent Space Enhancement
- [CVPR 2025] SAM2-LOVE: Segment Anything Model 2 in Language-Aided Audio-Visual Scenes
- [CVPR 2025] Holmes-VAU: Towards Long-term Video Anomaly Understanding at Any Granularity
- [CVPR 2025] FineCaption: Compositional Image Captioning Focusing on Wherever You Want at Any Granularity