ECCV 2022 | 视频理解新框架X-CLIP:仅用微调的成本,达到预训练的全能

455efc850e350097bcfd05e74d3ee8a0.gif

©作者 | 机器之心编辑部

来源 | 机器之心

如何将现有的图像 - 文本多模态大模型(例如 OpenAI CLIP)用于视频内容理解,是一个非常实用且具有前景的研究课题。它不仅可以充分挖掘图像大模型的潜力,还可以为视频大模型的设计和研究铺平道路。

在视频内容理解领域,为节省计算 / 数据开销,视频模型通常 「微调」图像预训练模型。而在图像领域, 最近流行的语言 - 图像预训练模型展现了卓越的泛化性,尤其是零样本迁移能力。那么人们不禁要问:能否有一种视频模型兼顾「微调」 的高效和 「语言 - 图像预训练」的全能?答案是可以!

为解决此问题,来自微软的研究者提出了将语言 - 图像预训练模型拓展到通用视频识别的方法,在建模时序信息的同时,利用类别标签文本中的语义信息。该方法在 Kinetics-400/600 数据集上分别取得了 87.7% 和 88.3% 的 Top-1 分类准确率,计算量仅为ViViT 和 Video Swin的十几分之一,并且在 few-shot 和 zero-shot 评测上大幅领先其它方法。代码已开源。

3d6383ed982e4d119cfc01861c84d33e.png

论文标题:

Expanding Language-Image Pretrained Models for General Video Recognition

论文链接:

https://arxiv.org/pdf/2208.02816.pdf

代码链接:

http://aka.ms/X-CLIP

下图 1 为吞吐量和计算量对比的展示。

992493f09b6b70dc5e2fd176cf4508ec.png

▲ 图1. throughput 和 FLOPs 对比

总的来说,这项工作的亮点包括如下:

  • 无需海量视频 - 文本数据:直接将预训练的语言 - 图像模型在下游视频数据集微调,而非从零使用视频 - 文本预训练;

  • 利用标签中的语义信息:在视频识别任务中,抛弃了传统离散标签,充分利用每个类别标签中的语义信息并提升了性能;

  • 方法简单、高效且通用:无缝衔接至不同的语言 - 图像模型,可用于多种数据分布场景,如全样本、少样本和零样本。

至于视频分类的效果,与其他方法相比,X-CLIP 可用于零样本识别,即用户自定义候选标签,实现对视频内容更精准的描述:

1440e11c50354dd89b7d3b3bf1f96a4b.gif

▲ 图2. 动作:三只狗在拉雪橇

bca3053e7ab429656034c3991128e723.gif

▲ 图3. 动作:在水池上灌篮

fcb1daec733bc5ad1b5b6a9d709594e8.gif

▲ 图4. 动作:更换车轮

b2040ebcaa521d1e6ffcd1c56aa467f5.png

研究动机

最近,语言 - 图像预训练模型(Language-image pretrained models)在计算机视觉领域引起了极大关注。它使用更广泛的文本信息作为监督,打破了传统模型学习固定视觉概念的范式。受益于此,其展示出了强大的迁移能力和泛化能力,在全样本、少样本和零样本分类上取得了卓越的成绩。

现在是一个短视频爆发的时代,现实世界中丰富的概念更是难以被一个固定的封闭集所定义。于是,研究人员和从业人员也希望有一个泛化能力强大的视频模型,能在不同的数据分布场景和不同的概念环境中表现优异。这样的模型会助力于现实世界的许多应用,比如自动驾驶、视频标签、安防监控等。同样,由于视频的获取成本通常更加高昂,少样本和零样本的识别能力也被期待。

但是,如果直接模仿语言 - 图像预训练,使用视频 - 文本预训练会带来以下两个问题:

  • 数据困境:需要数以亿计的视频 - 文本数据,但是大量的数据是难以获得的;

  • 计算困境:视频的训练通常需要数倍于图像的计算资源,这些资源消耗通常无法承受。

有鉴于此,研究者考虑探索如何将预训练的语言 - 图像模型中的知识迁移到视频领域,而非从零预训练一个语言 - 视频模型。与图像相比,视频增加了时间的维度;与传统视频识别框架相比,研究者引入了文本信息。

因此,研究者需要解决两个关键问题:

  • 如何在语言 - 图像预训练模型中建模视频的时序信息

  • 如何利用视频类别标签中的文本信息

ee03afa6e8530ee9e022f08557d3d554.png

方法概览

针对第一个问题,研究者提出了 Cross-frame Communication Transformer 和 Multi-frame Integration Transformer 模块,在预训练模型中引入时序信息;对于第二个问题,研究者提出了 Video-specific Prompting 机制,用于产生视频自适应的提示信息,充分地利用了类别标签中的文本信息。方法整体框架图如下图 5 所示。

da956e9046e597efd52a58721f62fa6a.png

▲ 图5. 方法框架图

建模时序信息:利用message token帧间通讯

cb34f62bc46bdaca1334235cf6c462e8.png

▲ 图6. (a) CCT Block (b)不同时空 attention 对比

本文中,研究者提出了一种简单高效的视频编码器。该编码器由两部分组成,即 Cross-frame Communication Transformer(CCT)和 Multi-frame Integration Transformer(MIT)。为了避免联合时空建模的高计算量,整体上,CCT 采用各帧独立编码的计算方式。

具体地,对每一帧编码时,动态地生成各自的 message token(如图 6(a)中彩色的圆形部分),携带所在帧的信息,再通过 Cross-frame Fusion Attention 交换不同帧的 message token 携带的信息,弥补了时序信息的缺失。具体地,如图 6(a)所示,在 CCT 的每一个 block 中,我们在 cls token 上施加线性变化得到 message token,每帧的 message token 通过 Cross-frame Fusion Attention(CFA)交换信息:

63f1e071bb728641962e3cb8076c03aa.png

随后,每一帧的 message token 再回归到所属帧。通过 Intra-frame Diffusion Attention,每一帧内的 spatial tokens 在建模空间信息的同时,吸收了来自 message token 的全局时序信息:

2fceb514fde4e2681845c58bfaeb91da.png

最后,每一帧的 spatial tokens 再经过 FFN 进一步编码信息。为了进一步提升性能,研究者在 CCT 产生的每帧的特征上,额外使用一层 Multi-frame Integration Transformer(MIT)(如图 5)聚合每一帧的信息,产生视频最终的表达。

Cross-frame Fusion Attention 和 MIT 是额外添加的模块并使用随机初始化。Intra-Frame Diffusion Attention 和 FFN 对应于预训练 Vision Transformer 中的 self-attention 和 FFN 部分。值得注意的是,因为帧数(message tokens 的数量)远小于 spatial tokens 的数量,所以 Cross-frame Fusion Attention 和一层 MIT 的计算量远小于 Intra-frame Diffusion Attention, 这样便以较小的计算代价建模了全局的时序信息。

利用标签的语义信息:视频自适应的提示学习

针对第二个问题,提示学习(Prompt learning)主张为下游任务设计一种模板,使用该模板可以帮助预训练模型回忆起自己预训练学到的知识。比如, CLIP[4] 手动构造了 80 个模板,CoOp[5]主张构造可学习的模板。

研究者认为,人类在理解一张图片或视频时,自然地会从视觉内容中寻找有判别性的线索。例如有额外的提示信息「在水中」,那么「游泳」和「跑步」会变得更容易区分。但是,获取这样的提示信息是困难的,原因有二:

  • 数据中通常只有类别标签,即「跑步」、「游泳」、「拳击」等名称,缺乏必要的上下文描述;

  • 同一个类别下的视频共享相同的标签信息,但它们的关键视觉线索可能是不同。

为了缓解上述问题,研究者提出了从视觉表征中学习具有判别性的线索。具体地,他们提出了视频自适应的提示模块,根据视频内容的上下文,自适应地为每个类别生成合适的提示信息。每个视频的自适应提示模块由一个 cross-attention 和一个 FFN 组成。令文本特征当作 query,视频内容的编码当作 key 和 value,允许每个类别的文本从视频的上下文中提取有用的提示信息作为自己的补充。

4f988579465ff70a579a1c4d34e78c3c.png

最后,使用学习到的提示信息来丰富原本文本信息的表示,使得其具有更强的判别性。

ee6103d576f90baeb0bd14da0aa18ea0.png

实验结果

研究者在全样本(Fully-supervised)、少样本(few-shot)和零样本(zero-shot)上验证了方法的性能

在 Kinetics-400 上的实验如下表 1 所示,可以看出 X-CLIP 在 FLOPs 更小的情况下领先于其它方法,这得益于提出的视频编码器的高效性。当和其它使用互联网(Web)规模数据预训练的模型比较时,本文的方法依然有性能优势,这归功于该方法充分挖掘和利用了预训练语言 - 图像模型中的表达能力。

61918db2819b339acd51fb579276b146.png

▲ 表1. Kinetics400 性能

下表 2 展示了少样本情况下的性能,和经典的使用离散标签监督的方法相比,使用文本信息可以大幅提升性能。研究者在消融实验中证明了性能增益更多来自于文本的使用,而非更强的预训练模型。

af6077f1e4be6d8d819451bc362fb568.png

▲ 表2. Few-shot 性能

下表 3 展示了在零样本情况下,提出的方法依然有效。这种显著的改进可以归因于所提出的视频 - 文本学习框架,该框架利用大规模的视觉 - 文本预训练和视频自适应的提示学习。

fdef387372f31a7377a9fd4b63439f58.png

▲ 表3. Zero-shot 性能

研究者在消融实验中展示了每个模块的作用,分析了文本信息的必要性,探索了不同数据分布下应该训练哪个分支,比较了不同的 prompts 方法。

08d1d90b9d3fdcb42b7af2492e5029d6.png

▲ 表4. 消融实验

6d1535b634e0980f4f84c09e745b0530.png


接收背后的小插曲

据了解,这项工作入选 ECCV 2022 Oral 并非一帆风顺。虽然 pre-rebuttal 的评分不错,得到了两个 Accepts 和一个 Borderline,评审人的评价也很高。并且,研究者本来希望通过 rebuttal 让中立的评审人改分,争取 Oral。遗憾的是,接收列表出来的时候却发现这篇文章没有中。

研究者没有就此放弃,而是选择在与合著者商量后,向程序主席发邮件询问。结果皆大欢喜,程序主席回信并表示是由于脚本错误这篇文章被遗漏了。

于是,这篇文章最终被接收为 ECCV 2022 Oral。

outside_default.png

参考文献

outside_default.png

[1] Arnab, A., Dehghani, M., Heigold, G., Sun, C., Luˇ ci´ c, M., Schmid, C.: Vivit: A video vision transformer. In: ICCV. 2021

[2] Bertasius, G., Wang, H., Torresani, L.: Is space-time attention all you need for video understanding? In: ICML, 2021

[3] Liu, Z., Ning, J., Cao, Y., Wei, Y., Zhang, Z., Lin, S., Hu, H.: Video swin transformer. In CVPR, 2022.

[4] Radford, A., Kim, J.W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., Sastry, G., Askell, A., Mishkin, P., Clark, J., et al.: Learning transferable visual models from natural language supervision. In ICML, 2021

[5] Zhou, K., Yang, J., Loy, C.C., Liu, Z.: Learning to prompt for vision-language models. arXiv preprint arXiv:2109.01134 (2021)

更多阅读

37cb5b4019cd74ef84811b599baba683.png

df34c65f79beefd36256de7d7c6ca344.png

ff14460c5dac7e894f399e74b76eb7c5.png

92f9d5eb8133407ca958329ed471b26f.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

9c9f7214b7057dc296033aba5ae80765.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

fcacc7b7f72ea3d04d357496d0548f14.jpeg

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ECA-ResNet预训练模型是在ResNet模型的基础上应用了ECA注意力机制的一种变体。 ECA-Net可以插入到其他的CNN网络中来增强性能,比如ResNet和MobileNetV2。这种模型在性能上全面超越了CBAM(ECCV 2018)模型,并且相比于未使用ECA的原始ResNet模型,也有着显著的准确率提升。你可以使用简单的代码来加载ECA-ResNet预训练模型,例如: ``` model = timm.create_model('resnet18', pretrained=True, num_classes=4) model = timm.create_model("hf_hub:timm/eca_nfnet_l0") ``` 这样就可以使用ECA-ResNet预训练模型进行深度学习任务了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【pytorch】ECA-NET注意力机制应用于ResNet的代码实现](https://blog.csdn.net/weixin_51331359/article/details/124772274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [timm----深度学习预训练模型库使用](https://blog.csdn.net/szn1316159505/article/details/129239175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值