博客
关于我
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/

你可能感兴趣的文章
Nginx负载均衡(upstream)
查看>>
Vue中删除el-table当前行的方法
查看>>
nginx转发端口时与导致websocket不生效
查看>>
Nginx运维与实战(一)-Nginx不同场景使用方法
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx部署_mysql代理_redis代理_phoenix代理_xxljob代理_websocket代理_Nacos代理_内网穿透代理_多系统转发---记录021_大数据工作笔记0181
查看>>
nginx部署本地项目如何让异地公网访问?服务器端口映射配置!
查看>>
Nginx配置HTTPS服务
查看>>
Nginx配置https的一个误区(导致404错误)
查看>>
Nginx配置Https证书
查看>>
Nginx配置http跳转https
查看>>
Nginx配置ssl实现https
查看>>
nginx配置ssl证书https解决公网ip可以访问但是域名不行的问题
查看>>
Nginx配置TCP代理指南
查看>>
NGINX配置TCP连接双向SSL
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
查看>>
Nginx配置中root和alias分不清?本文3分钟帮你解惑!
查看>>