VideoMamba:用于高效视频理解的状态空间模型 | ECCV 2024

我们提出了一个仅基于状态空间模型(SSM)的高效视频理解架构VideoMamba,并通过大量的实验证明了它具备一系列良好的特性,包括 (1) Visual Domain Scalability; (2) Short-term Action Sensitivity; (3) Long-term Video Superiority; (4) Modality Compatibility。这使得VideoMamba在一系列视频benchmark上取得不俗的结果,尤其是长视频benchmark,为未来更全面的视频理解提供了更高效的方案。

论文题目: 

VideoMamba: State Space Model for Efficient Video Understanding 

论文链接:

https://arxiv.org/abs/2403.06977

开源代码(点击“”阅读原文“”直达):

https://github.com/OpenGVLab/VideoMamba

Huggingface:

https://huggingface.co/OpenGVLab/VideoMamba

Online Demo:

https://huggingface.co/spaces/OpenGVLab/VideoMamba

加入通用视频组工作交流群:

研究背景

视频表征学习长期以来存在两大痛点,一是短clip里存在大量的时空冗余,二是长上下本需要复杂的时空关联。曾经风靡一时的3D CNN和video transformer,分别使用卷积和自注意力机制解决了两大难题。在我们之前的工作UniFormer[1]里,我们尝试将卷积和自注意力无缝地结合,尽管它能同时解决两大难题,但对于长视频仍力不从心。而Gemini[2]和Sora[3]的爆火,使得长视频理解与生成成为了研究的重心,这亟需更高效的视频表征模型。

幸运的是,NLP领域这两年涌现了不少高效算子,如S4[4], RWKV[5]和RetNet[6]。而Mamba[7]提出动态状态空间模型(S6),能以线性复杂度进行长时的动态建模。这引领了一系列视觉任务的适配,如Vision Mamba[8]和VMamba[9],提出了多向SSM机制用于处理2D图片,这些模型不仅能与基于注意力的架构媲美,而且大大减小显存开销。

考虑到视频产生的超长token序列,一个自然而然的问题便是,Mamba对视频理解是否同样有效?答案是肯定的。

方法

Architecture

在进入VideoMamba结构的介绍之前,我们先看看用于1D序列的Mamba block,和用于视觉任务的双向Mamba block。这里我们不再赘述SSM和Mamba的底层原理,感兴趣的同学可以通过油管视频Mamba and S4 Explained: Architecture, Parallel Scan, Kernel Fusion, Recurrent, Convolution, Math学习。

图片

双向Mamba在单向Mamba的基础上,引入了对反向序列的SSM,这使得双向Mamba能更好地对2D序列建模,从而提升对视觉输入的感知能力。基于双向Mamba,我们按照ViT[10]的设计,引入[CLS] token和空间位置编码,并针对视频建模,引入3D patch embedding和空间位置编码,提出了如下所示的VideoMamba:

图片

为了应用双向Mamba处理时空信息,我们拓展原本的2D扫描到不同的双向3D扫描:

图片

其中空间优先扫描最简单,实验证明效果也最好。基于该架构,我们提出了三种不同size的模型,VideoMamba-Ti,VideoMamba-S和VideoMamba-M。

图片

但在实验里,当我们增大VideoMamba规模时,非常容易过拟合,导致大模型的结果甚至差于小模型。为此,我们提出了Self-Distillation策略,使用训练好的小模型当老师,引导大模型训练,有效地避免模型过拟合,而只需少量额外的开销。

Masked Modeling

近来,VideoMAE[11]引入掩码建模,显著增强了模型对细粒度时序的理解能力,而UMT[12]进一步提出高效的掩码对齐策略,不仅大大减小了训练开销,还使得模型能鲁棒地处理各种单模态和多模态任务。为了增强VideoMamba对时序的敏感性,同时验证它和文本模态的兼容性,我们借鉴UMT的方式,引入CLIP-ViT当teacher,进行两阶段蒸馏训练。

不同于UMT使用多层对齐,由于VideoMamba和ViT存在架构差异,我们只对齐模型最后一层,考虑到Mamba block对连续token更友好,我们设计了逐行掩码策略:

图片

同时我们也考虑了注意力掩码策略,这能保持语义性更强的邻近token。

实验

Scale Up

我们首先在ImageNet上进行了图像分类实验如下所示

图片

可见在没有Self-Distillation (SD)时,VideoMamba-M和VideoMamba-B都会在训练的最后过拟合,其中VideoMamba-B尤为严重。而在引入SD后,VideoMamba-M收敛符合期望,且明显强于老师模型VideoMamba-S。为了避免老师模型带偏训练,我们引入了Early Stop策略,即提前移除蒸馏引导,实验发现并无提升。完整ImageNet对比如下:

图片

和无层次化结构的其他模型相比,VideoMamba优于其他CNN和ViT的模型,如ConvNeXt和ViT。随着模型规模和分辨率放大,性能稳定提升。

Short-term Video Understanding

图片

图片

在上述K400和SthSthV2的短视频分类任务中,我们同样观察到VideoMamba良好的放缩性,且显著优于基于注意力的视频模型如TimeSformer和ViViT,与结合卷积和自注意力的UniFormer性能相当。再者,在引入掩码训练后,VideoMamba性能显著提升,在细粒度动作分类SthSthV2数据集上,显著好于基于ViT的UMT。

图片

进一步的消融实验表明,spatial-first扫描方案效果最好。不同于ImageNet上性能随分辨率逐渐提升,视频数据集上分辨率对性能影响有限,而帧数对性能影响明显。对于掩码建模,逐行掩码优于随机掩码策略,且注意力掩码策略最有效;对齐最后一层效果最好;合适的掩码比例和Droppath能较好提升训练效果。

Long-term Video Understanding

图片

我们在Breakfast,COIN和LVU上评估了VideoMamba对长时视频的理解能力,相较于以往feature-based的方法,VideoMamba仅需要输入稀疏采样的32-64帧,效果便大幅领先,且模型规模更小。

Multi-modality Video Understanding

图片

我们将VideoMamba和BERT连接,构造多模态模型,并使用大规模多模态数据进行预训练,在多个视频文本检索任务上进行了性能评估。实验揭示VideoMamba同样能很好地作为多模态的视觉编码器,随着预训练数据的增加,能持续提升多模态理解的能力,且由于以ViT为视觉编码器的UMT,尤其是在包含长视频(ANet和DiDeMo)和更复杂场景(LSMDC)的数据集上。

结论

我们提出了仅基于状态空间模型的视频理解架构VideoMamba,全面的实验表明VideoMamba对视频理解具有一系列良好特性,我们希望它可以为未来长视频的表征学习指明道路。

加入视频组工作交流群:添加小助手(gvxiaozhushou)发送“视频”


关注OpenGVLab 获取通用视觉团队最新资讯

🔗开源链接:https://github.com/OpenGVLab

📮官方邮箱:opengvlab@pjlab.org.cn

😊转载,加群,咨询博士招生等,私信GV小助手(二维码见上方)

  • 20
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值