为了进一步探究造成这种不一致现象的原因,我们在Something-Something V2数据集上进行了减少预训练视频数量的实验。探究过程的包含了两个实验:(1)使用相同的训练轮次数(epoch) 进行预训练,(2)使用相同的迭代次数(iteration)进行预训练。从图中的结果可以发现,当减小预训练样本数时,采用更多的训练迭代也能够提升模型的性能。即使只使用了 4万2千的预训练视频,直接在 Something-Something V2 数据集上训练的VideoMAE仍然可以取得比利用 24万视频数据的 Kinetics-400 数据集进行预训练更好的准确率(68.7% 对比 68.5%)。这个发现意味着领域差异是视频自监督预训练过程中需要注意的另一个重要因素,当预训练数据集和目标数据集之间存在领域差异时,预训练数据的质量比数据的数量更重要。同时,这个发现也间接验证了VideoMAE是一种针对视频自监督预训练的数据高效的学习器。
主要结果
Something-Something V2数据集实验结果
Kinetics-400数据集实验结果
UCF101和HMDB51数据集实验结果在无需使用任何额外数据的条件下,VideoMAE在Something-Something V2 和Kinetics-400 上的 Top-1 准确率分别达到75.4%和87.4%。需要注意的是,Something-Something V2数据集上目前最佳的方法都强烈依赖于在外部数据集上进行预训练的模型进行初始化。相反,VideoMAE在没有利用任何外部数据的条件下能够显着优于之前的最佳方法的准确率约 5%。VideoMAE在Kinetics-400 数据集上也能取得非常卓越的性能。在视频数据有限的情况下(例如,UCF101 数据集中仅包含不到1万个训练视频, HMDB51 中仅包含约3500个训练视频),VideoMAE不需要利用任何额外的图像和视频数据,也能够在这些小规模视频数据集上远远超过之前的最佳方法。
AVA v2.2数据集实验结果除了传统的动作分类任务,我们还进一步在视频动作检测这种更精细的理解任务上验证VideoMAE模型的表征能力。我们选取了AVA v2.2数据集进行实验。实验中,首先会加载Kinetics-400数据集上预训练好的模型,再对ViT进行有监督形式的微调。由表格可以发现,经过VideoMAE预训练的ViT模型可以在AVA v2.2数据集上取得非常好的结果。如果将自监督预训练后的ViT模型,在Kinetics-400上进行进一步的有监督的微调,可以在动作检测任务上去得更好的表现(3 mAP-6mAP的提升)。这也说明了对VideoMAE自监督预训练后的模型,在上游数据集进行有监督的微调后再迁移到下游任务中,模型的性能可以进一步提升。
对社区的影响
我们于今年4月对VideoMAE的模型和代码进行了开源,收到了社区的持续关注和认可。根据Paper with Code榜单,VideoMAE已经分别占据Something-Something V2[1]和AVA 2.2[2]榜单首位长达半年时间(2022年3月底至今)。如果不利用任何外部数据,VideoMAE在Kinetics-400[3],UCF101[4],和HMDB51[5]数据集上的结果也是迄今为止最好的。
https://huggingface.co/docs/transformers/main/en/model_doc/videomae几个月前,VideoMAE的模型被Hugging Face的Transformers官方仓库收录,是该仓库收录的第一个视频理解模型!一定程度上也反应了社区对我们工作的认可!希望我们的工作能为基于Transformer的视频预训练提供一个简单高效的基线方法,同时也能为后续基于Transformer的视频理解方法带来启发。https://github.com/open-mmlab/mmaction2/tree/dev-1.x/configs/recognition/videomae目前视频理解仓库MMAction2也支持了对VideoMAE模型的推理。
在刚刚结束的 ECCV 2022 2nd International Ego4D Workshop上,VideoMAE已经迅速成为了帮助大家打比赛的利器。上海人工智能实验室在本届Ego4D Challenge中的多个子赛道取得了冠军 。其中,VideoMAE作为重要的Backbone,为他们的解决方案提供了强大的视频特征。值得注意的一点是,从上面第一张图中可以发现,仅仅在Kinetics-400上进行预训练的VideoMAE(ViT-L)的效果已经可以超越在IG-65M视频数据集(约为Kinetics-400样本数据的300倍)上预训练的ir-CSN-152。这也进一步验证了VideoMAE预训练模型的强大表征能力。
总结
我们这个工作的主要贡献包含以下三个方面:• 我们第一个提出了基于ViT的掩码和重建的视频自监督预训练框架VideoMAE。即使在较小规模的视频数据集上进行自监督预训练,VideoMAE仍能取得非常优异的表现。为 了解决由时序冗余性 (temporal redundancy) 和时序相关性(temporal correlation) 导致的「信息泄漏」问题,我们提出了带有极高掩码率的管道式掩码(tube masking with an extremely high ratio)。实验表明,这种设计是VideoMAE 最终能够取得SOTA效果的关键。同时,由于VideoMAE的非对称编码器-解码器架构,大大降低了预训练过程的计算消耗,极大得节省了预训练过程的时间。• VideoMAE 将NLP和图像领域中的经验成功在视频理解领域进行了自然但有价值的推广,验证了简单的基于掩码和重建的代理任务可以为视频自监督预训练提供一种简单但又非常有效的解决方案。使用 VideoMAE 进行自监督预训练后的 ViT 模型,在视频理解领域的下游任务(如动作识别,动作检测)上的性能明显优于从头训练(train from scratch)或对比学习方法(contrastive learning) 。• 实验过程中还有两处有意思的发现,可能被之前NLP和图像理解中的研究工作忽视了: (1) VideoMAE是一种数据高效的学习器。即使在只有 3 千个左右的视频数据集HMDB51上,VideoMAE也能够完成自监督预训练,并且在下游分类任务上可以取得远超过其他方法的结果。(2) 对于视频自监督预训练,当预训练数据集与下游任务数据集之间存在明显领域差异(domain gap)的时候,视频数据的质量可能比数量更加重要。
参考资料:
1. Action Recognition on Something-Something V2 https://paperswithcode.com/sota/action-recognition-in-videos-on-something?p=videomae-masked-autoencoders-are-data-12. Action Detection on AVA v2.2 https://paperswithcode.com/sota/action-recognition-on-ava-v2-2?p=videomae-masked-autoencoders-are-data-13. Action Classification on Kinetics-400 https://paperswithcode.com/sota/action-classification-on-kinetics-400?tag_filter=1634. Self-Supervised Action Recognition on UCF101 https://paperswithcode.com/sota/self-supervised-action-recognition-on-ucf101?tag_filter=1635. Self-Supervised Action Recognition on HMDB51 https://paperswithcode.com/sota/self-supervised-action-recognition-on-hmdb51?tag_filter=163