ActionVOS: Actions as Prompts for Video Object Segmentation¶
会议: ECCV 2024
arXiv: 2407.07402
代码: https://github.com/ut-vision/ActionVOS (有)
领域: 视频理解 / 视频物体分割
关键词: Referring Video Object Segmentation, 动作提示, 主动物体分割, 第一人称视觉, 伪标签
一句话总结¶
提出ActionVOS——一种以人类动作叙述作为额外语言提示的Referring Video Object Segmentation新设定,通过无参数的动作感知标注模块生成伪标签,并设计动作引导的focal loss来抑制假阳性,在VISOR上将非活跃物体的误分割降低35.6% mIoU,同时在VOST/VSCOS上对状态变化物体的分割提升3.0% mIoU。
背景与动机¶
现有的Referring VOS (RVOS) 任务主要依赖静态属性(如物体名称、颜色)来描述目标物体。在简单场景中这已足够,但当场景变得复杂时——例如存在多个同类物体(多把刀、多个碗)或物体正在发生状态变化(指甲从粉色被涂成蓝色)——仅靠静态属性无法准确区分目标物体和背景物体。第一人称视觉中,理解人类活动需要区分哪些物体真正参与了交互(主动物体),这是机器理解人类行为的基础。
核心问题¶
如何在第一人称视频中仅分割与人类动作真正相关的主动物体(active objects),而不分割场景中出现但未参与交互的冗余物体?难点在于:(1) 现有数据集缺乏物体是否参与动作的标注;(2) 静态属性在存在冗余实例或状态变化时容易失败。
方法详解¶
整体框架¶
输入为视频片段、动作叙述(如"cut apple")和N个物体名称,输出每个物体的分割mask。与传统RVOS不同,ActionVOS额外引入动作叙述作为语言提示。框架分三部分:(1) ActionVOS模型——在RVOS模型上加一个分类头来区分正样本(active)和负样本(inactive);(2) 动作感知标注模块——利用现有标注自动生成伪标签;(3) 动作引导focal loss——降低伪标签中假阳性的影响。
关键设计¶
-
ActionVOS模型(分类头): 在ReferFormer等RVOS模型上添加一个线性分类头
nn.Linear(256,1),预测每个物体参与动作的概率。推理时用阈值θ=0.75判定:概率≥θ保留分割结果,<θ则输出全零mask。这是一个极简但有效的修改。 -
动作感知标注模块(Action-aware Labeling): 针对现有数据集缺乏active/inactive标注的问题,利用动作叙述、语义分割标注和手-物体分割标注,自动将三类物体标为正样本:(a) 动作叙述中提到的物体;(b) 手-物体mask内的物体;(c) 与手-物体bounding box有交集的物体。第三类设计比较宽松,会引入假阳性,但能捕获容器和内容物等间接相关物体。整个模块无可训练参数。
-
动作引导focal loss: 设计像素级加权机制来处理伪标签中的假阳性。权重分配遵循三条规则:(a) 既在叙述中提到又在手-物体bbox内的物体 > 仅满足其一的物体(λ_pos=5);(b) 叙述中提到或与手接触的物体 > 仅在bbox交集内的物体(λ_nar=λ_h-obj=2);(c) 负样本物体在其mask区域内赋予高权重(λ_neg=5),惩罚对负样本的误分割。
损失函数 / 训练策略¶
- 基于focal loss,加入上述动作引导权重W,focal loss参数α=0.25, γ=2
- 分类头使用交叉熵损失,权重系数为2
- 从Refer-YouTube-VOS预训练的最佳checkpoint开始微调
- 文本编码器RoBERTa在训练中重新训练
- 语言提示格式采用自然句式:如"knife used in the action of cut apple"
- 手-物体mask仅在训练时用于生成伪标签,推理时不需要
实验关键数据¶
| 数据集 | 指标 | ActionVOS (RF-R101+AP) | RVOS基线 | 变化 |
|---|---|---|---|---|
| VISOR | p-mIoU | 65.4 | 67.7* | -2.3 (轻微) |
| VISOR | n-mIoU | 19.0 | 54.2 | -35.2 (大幅降低误分割) |
| VISOR | gIoU | 70.9 | 43.8 | +27.1 |
| VISOR | Acc | 82.4 | 59.1 | +23.3 |
| VOST | mIoU | 32.3 | 29.3 | +3.0 |
| VSCOS | mIoU | 49.4 | 46.4 | +3.0 |
*RVOS的p-mIoU是上界(将所有物体视为正样本)
不同backbone均有效:Swin-L (gIoU 70.3, Acc 80.7)、Video-Swin-B (gIoU 70.6, Acc 81.2)。
消融实验要点¶
- 分类头:加入分类头后gIoU从61.8→70.9,阈值θ=0.75为最佳平衡点
- 语言提示格式:自然句式(+sAction) > 逗号拼接(+,Action) > 仅物体名(NoAction),微调文本编码器进一步提升
- 动作引导focal loss: 相比标准focal loss,gIoU从70.6→70.9,n-mIoU从20.5→19.0,Acc从82.1→82.4,且可视化中能正确区分双手分别持有的不同物体
- 无动作提示训练的模型被负样本伪标签误导,p-mIoU仅56.3 vs 65.4
- 对未见动作的泛化:在未见过的动作类别上仍优于RVOS和HOS基线
亮点¶
- 极简且优雅的设计:整个方法的核心(标注模块+损失权重)是无参数的,仅需一个额外的线性分类头,即插即用于任何RVOS模型
- "正样本"定义的深思熟虑:不仅包括叙述中提到的物体,还扩展到手持工具、容器和内容物,充分建模人-物交互的层次性
- 动作引导权重的设计逻辑清晰:通过多层次优先级(叙述+接触 > 叙述 > 接触 > bbox交集 > 负样本),优雅地处理伪标签噪声
- 无需额外标注:完全利用已有的动作叙述、语义分割和手-物体分割标注
- 跨场景动作理解:同一场景下不同动作可产生不同的分割结果,真正理解了人-物交互语义
局限性 / 可改进方向¶
- 依赖密集标注的可用性:需要手-物体分割mask用于训练,在无此标注的数据集上无法直接使用
- 手不可见时表现差:失败案例显示当手在画面外时,模型难以判断物体的参与性
- 对物体名称歧义敏感:如"package"等模糊名称可能导致错误分割
- 剧烈形状变化困难:如"divide dough"等导致物体形状大幅改变的动作仍然挑战
- 伪标签质量上限:标注模块的宽松定义不可避免引入假阳性,虽然focal loss缓解了部分影响
- 可扩展到开放世界:作者提到未来可结合更多动作-物体关系、减少对密集标注的依赖
与相关工作的对比¶
- vs ReferFormer (RVOS): RVOS不区分active/inactive,将所有提及的物体都分割。ActionVOS通过动作提示和分类头实现了对主动物体的选择性分割,gIoU提升27.1个点
- vs HOS (Hand-Object Segmentation): HOS只分割手和手持物体,范围过窄,无法覆盖容器、内容物等间接相关物体。ActionVOS的正样本定义更全面
- vs MeViS: MeViS关注运动表达式描述的分割,但不涉及主动/非主动的区分。ActionVOS的核心差异在于引入动作语义来筛选目标物体
启发与关联¶
- 与 面向分割的渐进式视频蒸馏 相关:ActionVOS的伪标签生成策略可启发视频分割中的伪标注方案,特别是如何利用多源现有标注组合生成新任务的训练信号
- 动作提示的思路可迁移到其他任务:如动作识别中的物体发现、机器人抓取中的目标物体识别、视频问答中的交互物体定位
- 分类头+阈值的极简方案可作为任务切换的通用设计模式——任何需要从"全分割"变为"选择性分割"的场景
评分¶
- 新颖性: ⭐⭐⭐⭐ 动作作为VOS提示的设定新颖,但方法本身偏简单
- 实验充分度: ⭐⭐⭐⭐ 三个数据集+多backbone+详细消融+未见类别评估
- 写作质量: ⭐⭐⭐⭐ 问题定义清晰,图表信息量大,正样本定义的讨论周到
- 价值: ⭐⭐⭐⭐ 对第一人称视觉理解有切实推动,方法即插即用的兼容性好