博客
关于我
CVPR2021| TimeSformer-视频理解的时空注意模型
阅读量:592 次
发布时间:2019-03-10

本文共 1730 字,大约阅读时间需要 5 分钟。

前言:

transformer在视频理解方向的应用主要有如下几种实现方式:Joint Space-Time Attention,Sparse Local Global Attention 和Axial Attention。这几种方式的共同点是采用ViT中的方式将图像进行分块,而它们之间的区别在于如何用self attention来处理这些块。

在本文提出了一种新的处理方式--Divided Space-Time Attention,在大规模行为分类数据集上,通过对以上几种方式与Divided Space-Time Attention的评估,作者发现使用Divided attention的方式是用于处理这些块的最好设计。

TimeSformer在几个主流的行为识别benchmarks上实现了SOTA结果,包括在Kinetics-400和Kinetics-600上取得最高准确度。此外,TimeSformer对比与其它模型训练速度更快,且有更高的测试效率。

 

论文:Is Space-Time Attention All You Need for Video Understanding?

代码:

代码尚未完全开源,但模型已经放出来了。代码比较简单。

 

论文思路

视频理解与NLP有很多的相似的地方。首先,视频和语句都具有序列性;而且,一个字只能与语句中其它字联系才能理解,在视频行为中一个片段也需要与视频的上下文相关联。于是,我们期望NLP中这种long-range self-attention模型可以在视频模型中也有很高的表现。

在视频领域,2D或3D卷积是用来提取时空特征的主流操作,但卷积操作比较明显的一个问题是感受野是有限的,若要获得全局感受野,需要堆叠很多层卷积层,它们的信息传播路径比较长。而self-attention这种操作可以很轻松地获得全局感受野,捕获局部和长范围的依赖关系。

卷积操作的另一个问题是受到内存的限制,特别是视频领域,往往需要在高分辨率和长范围帧之间权衡。而最近几年一些研究者的工作指出Transformer可以比CNN获得更快的训练和推理,因此在同样计算量预算下,transformer可以使用更大学习容量。

标准的self-attention需要计算所有tokens相互之间的相似性,这样的做法就是计算量比较大,因此需要考虑如何利用self-attention来处理图像块。论文比较了这方面的几种处理方式,提出Divided attention的方式具有最好的表现。

在本文将主要介绍这几种方式。

 

一些细节

这几种方式的通用部分是将视频帧分成大小为PxP的块,每一帧可以分成N=HW/(P*P)块。

它们的区别就是以什么样的方式来选择哪些块放一起进行self-attention。

Space Attention是只对同一帧的所有块放一起进行self-attention。这种方式明显没有考虑不同帧之间的时序信息。

Joint Space-Time Attention是将图像的所有块都进行self-attention,这种方式最明显的问题是计算量太大。

Sparse Local Global Attention分为两步,选择局部区域的块进行self-attention提取局部信息,按一定的步长选择块进行self-attention提取全局信息,这种方式具有一定的稀疏性,特点就是计算量减少。

Axial Attention是分为三步,先对不同帧同位置的块进行time attention,再按横向和纵向分别选择同一帧中同一横和同一竖的块进行space attention。

本文提出的Divided Space-Time Attention分为两步,先对不同帧同位置的块进行time attention,再将同一帧中所有块进行space attention。

具体的示意图如下。

 

实验结论

 

这几种方式的参数量和准确度的对比。

 

本文来源于公众号CV技术指南的论文分享系列,更多内容请扫描文末二维码关注公众号。

最近把公众号(CV技术指南)所有的技术总结打包成了一个pdf,在公众号中回复关键字“技术总结”可获取。

转载地址:http://yazvz.baihongyu.com/

你可能感兴趣的文章
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.
查看>>
nestesd exception is java .lang.NoSuchMethodError:com.goolge.common.collect
查看>>
nestJS学习
查看>>
net core 环境部署的坑
查看>>
NET Framework安装失败的麻烦
查看>>
Net 应用程序如何在32位操作系统下申请超过2G的内存
查看>>
Net.Framework概述
查看>>
NET3.0+中使软件发出声音[整理篇]<转>
查看>>
net::err_aborted 错误码 404
查看>>
NetApp凭借领先的混合云数据与服务把握数字化转型机遇
查看>>
NetAssist网络调试工具使用指南 (附NetAssist工具包)
查看>>
Netbeans 8.1启动参数配置
查看>>
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
NetBeans之JSP开发环境的搭建...
查看>>
NetBeans之改变难看的JSP脚本标签的背景色...
查看>>
netbeans生成的maven工程没有web.xml文件 如何新建
查看>>
netcat的端口转发功能的实现
查看>>
NetCore 上传,断点续传,可支持流上传
查看>>