关注公众号,发现CV技术之美

 写在前面

在视频Transformer中,时间维度通常与两个空间维度(W和H)的处理方式相同。然而,在对象或摄影机可以移动的场景中,在第t帧中的一个位置处的物体可能与在第t+k帧中的该位置的内容完全无关。因此,应该对这些时间相关性对应进行建模,以便于了解动态场景。

为此,作者提出了一种用于视频Transformer的轨迹注意力(trajectory attention) ,它沿着隐式确定的运动路径聚集信息。此外,作者还提出了一种新的方法来解决计算和存储对输入大小的二次依赖关系,这对于高分辨率或长视频尤为重要。

作者将本文的Attention方法运用到的Transformer模型中,并在Kinetics、Something-Something V2和EpicKitchens数据集上的视频动作识别任务中实现了SOTA的结果。

 1. 论文和代码地址

Keeping Your Eye on the Ball: Trajectory Attention in Video Transformers

论文:https://arxiv.org/abs/2106.05392
代码:https://github.com/facebookresearch/Motionformer

 2. Motivation

Transformer已经成为NLP、Vision和Speech的主流结构,其中的自注意机制适用于不同类型的数据和跨域的数据。然而,它的普遍性和缺乏归纳偏置也意味着Transformer通常需要非常大量的数据或特定于域的数据增强来训练 ,对于视频数据,这一现象尤其严重。虽然视频携带丰富的时间信息,但它们也可以包含来自相邻帧的冗余空间信息,而标准的自注意力机制没法克服这种冗余。

因此,作者提供了一种自注意的变体,称为轨迹注意(trajectory attention) ,它能够更好地描述视频中包含的时间信息。对于静态图像的分析,空间局部性可能是最重要的归纳偏置,这激励了卷积网络的设计和在视觉Transformer中使用的空间编码,因为属于同一3D对象的点倾向于投射到图像中彼此接近的像素 上。

在视频数据中是类似的,但是除此之外,视频数据还有一个性质:3D点随着时间的推移而移动,因此沿着特定的二维轨迹投影在图像的不同部分 。现有的视频Transformer方法忽略这些轨迹,直接汇集跨时间维度或者整个三维时空特征上的信息。作者认为,沿着运动轨迹池化,将为视频数据提供更自然的归纳偏置,并允许网络从同一物体或区域的多个视图聚合信息,以推断物体或区域如何移动

在本文中,作者利用注意力机制来寻找这些轨迹。RAFT等方法表明通过比较跨空间和时间的局部特征,可以获得良好的光流估计。因此,在这项工作中,作者利用了注意力机制来指导网络沿着运动路径汇集信息

作者还注意到,视觉Transformer是在图像patch上运行的,因此不能假定对应于单个的3D点,从而沿着简单的一维轨迹移动。上图描述了“踢足球”的动作,根据特定的视频帧,球最多可以跨越四个patch。此外,这些patch包含前景(球)和背景物体的混合,因此至少有两种不同的运动。因此,本文提出的轨迹注意力机制,使得模型从所有相关的“球区域”中组装一个运动特征。

 3. 方法

本文的目标是修改Transformer中的注意机制,以更好地捕捉视频中包含的信息。将输入的视频表示为,像目前的视频Transformer一样,首先将视频序列预处理成ST个 token 的序列,空间分辨率为,时间分辨率为,在这个过程中作者采用了三维embedding方法,也就是将不相交的时空立方体特征线性投影到。

然后,将可学习的位置编码分别添加到空间和时间维度的视频嵌入中,从而得到。最后,将一个可学习的分类token 添加到token序列中,以作为一个视频的整体解释。

视频Transformer的结构,与ViT一样,包括层归一化(LN)操作、多头注意(MHA)、残差连接和前馈网络(MLP):

3.1 Video self-attention

自注意操作首先需要一组query-key-value向量,视频中每个时空位置st对应一个向量。这些向量通过输入的线性投影得到,即

402 Payment Required

,投影矩阵为。跨时空注意(联合时空注意)的计算表示为:

这个公式的一个问题是,它在空间和时间上都具有二次复杂度,即。另一种方法是将注意力限制在空间或时间上,称为分离时空注意:

这就将复杂度降低到了和,但是只允许模型独立建模时间和空间维度。

与这两种方法不同,作者沿着轨迹进行注意。对于每个时空位置(轨迹“参考点”)和相应的查询,作者构造了一组轨迹token 。轨迹token拓展到视频序列的持续时间,其不同时间的轨迹token计算如下:

这个公式中的Attention是在空间上应用的,并独立地应用于每一帧,然后在对空间上的维度进行求和(pooling),从而只剩下时间维度,表示轨迹“参考点”不同时间的轨迹。

一旦计算出这些轨迹,需要进一步跨时间汇集它们。为此,轨迹token被投影到一组新的 queries, keys 和values上:

与之前的一样,更新后的查询对应于轨迹参考点,并包含来自所有帧的空间汇集的信息。这个新的查询通过在新的时间(轨迹)维度上进行池化来获得一维注意力:

与联合时空注意一样,本文的方法在空间和时间上都有二次复杂度,因此没有计算优势,并且比分离时空注意要慢。然而,本文的方法比联合和分离的时空注意机制更好的准确性。本文的轨迹注意力的示意图如下:

3.2 Approximating attention

为了获得更快的运行速度,作者提出了一个近似方案来加速计算。将query-key-value矩阵表示为,里面的每一个向量表示为。

为了得到注意力算子的有效分解,作者使用一个概率公式来重写它。设为一个分类随机变量,表示第个输入()是否分配给第个输出(),其中。注意力算子使用一个基于多项式逻辑函数的该事件概率的参数模型,即softmax算子:

其中,下标:表示该维度中输入张量的完整切片。然后引入潜在变量,它同样地表明第个输入是否被分配给第个原型,表示的辅助向量。因此,可以利用全概率公式和条件概率公式得到:

其中,潜在变量独立于输入。即使在的参数模型下,相应的真实分布也是难以处理的。因此,作者用一个近似的参数模型来近似条件概率:

其中,表示水平拼接所有查询向量的结果。因此,整理上述所有方程,可以得到:

Computational efficiency

方程中近似的一个重要特征是,它可以分两步计算 。首先,将value 乘以一个prototypes-keys attention矩阵,它比全注意矩阵要小得多,因为。

因此,的计算也远比原来的计算量要小得多。这就避免了全注意力对输入和输出大小的二次依赖,只要保持不变,近似的计算用的就是线性复杂度。

3.3 The Motionformer model

本文的Video Transformer建立在以前的工作之上。如上表所示。作者使用ViT模型作为基础架构,采用TimeSformer的独立空间和时间位置编码,以及ViViT中的三维图像tokenization策略。

 4.实验

4.1 Ablation studies

Input: tokenization

上表展示了不同tokenization方法的实验结果,可以看出,Cubic的方式能比Square达到更好的性能。

Input: positional encoding

上表展示了不同positional encoding方法的实验结果,可以看出,Separate ST的方式能比Joint ST达到更好的性能。

Attention block: comparisons

上表展示了不同Attention模块的实验性能对比,可以看出本文的轨迹注意力比其他注意力模块能够达到更好的性能。

4.2 Orthoformer approximated attention

Approximation comparisons

上表展示了Orthoformer实现的轨迹近似计算,能够比他方法占用更少的显存。

Prototype selection

Orthoformer是原型选择过程,上表展示了不同原型选择策略的实验结果。

Number of prototypes

上表展示了不同原型数量的实验结果。

Temporally-shared prototypes

上表展示了原型是否共享的结果,可以看出,共享原型不只可以减少显存,还能提高性能。

4.3 Comparison to the state-of-the-art

上表展示了本文方法在多个数据集上和其他SOTA方法的对比结果,可以看出,本文在多个数据集上实现了SOTA的性能。

 5. 总结

在本文中,作者提出了一种通用视频数据注意块 ,它沿着隐式确定的运动轨迹聚集信息,为模型提供了一个现实的归纳偏置。此外,作者用一种注意近似算法 进一步解决了其对输入大小的二次依赖问题,该算法显著降低了显存需求。通过这些设计,作者在几个基准数据集上获得了SOTA的结果。

尽管如此,本文的方法继承了Transformer模型的许多局限性,包括数据效率差和训练速度慢。本文提出的轨迹注意力相比于最近的工作具有更高的计算复杂度,虽然近似算法减弱了这一点,显著降低了显存和计算量,然而这一步不能并行,使得其运行时的速度会很慢。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

欢迎加入「Transformer交流群

Facebook AI牛津提出带“轨迹注意力”的Video Transformer,在视频动作识别任务中性能SOTA!...相关推荐

  1. 空间注意力机制sam_一种基于注意力机制的神经网络的人体动作识别方法与流程...

    本发明属于计算机视觉领域,具体来说是一种基于注意力机制的神经网络的人体动作识别的方法. 背景技术: 人体动作识别,具有着非常广阔的应用前景,如人机交互,视频监控.视频理解等方面.按目前的主流方法,可主 ...

  2. 剑桥三星AI中心提出“X-ViT”:基于时空混合attention的视频Transformer,大幅度降低计算复杂度...

    关注公众号,发现CV技术之美 ▊ 写在前面 本文介绍了利用Transformer进行的视频识别问题.最近Transformer在视频识别领域的尝试在识别精度方面展现出了非常不错的结果,但在许多情况下, ...

  3. ICCV 2019 | 北邮提出高阶注意力模型,大幅改进行人重识别SOTA精度

    点击我爱计算机视觉标星,更快获取CVML新技术 今天跟大家分享一份ICCV 2019 上新出的关于注意力模型的工作Mixed High-Order Attention Network for Pers ...

  4. 商汤港理工提出基于聚类的联合建模时空关系的 GroupFormer 用于解决群体活动识别问题,性能SOTA...

    关注公众号,发现CV技术之美 ▊ 写在前面 群体活动识别是一个关键而又具有挑战性的问题,其核心在于充分探索个体之间的时空交互,产生合理的群体表征 .然而,以前的方法要么分别建模空间和时间信息,要么直接 ...

  5. 不同网络结构的特征也能进行对比学习?蚂蚁美团南大阿里提出跨架构自监督视频表示学习方法CACL,性能SOTA!...

    关注公众号,发现CV技术之美 本文分享 CVPR 2022 论文『Cross-Architecture Self-supervised Video Representation Learning』,提 ...

  6. NeurIPS 2022 | 基于对齐引导时间注意力机制的视频动作识别

    ©作者 | 张海涛 单位 | 重庆邮电大学 研究方向 | 视频理解 论文标题: Alignment-guided Temporal Attention for Video Action Recogni ...

  7. ICLR 2022 | Facebook AI提出解决表示学习坍塌问题新方法

    Facebook AI团队在ICLR 2022发表了一篇文章,针对表示学习中的坍塌问题,提出了VICREG方法,通过variance.invariance.covariance三种loss的结合约束自 ...

  8. Facebook AI指出:CNN的padding机制,存在一大缺陷

           作者 | 青暮 Facebook AI近期提出一项新研究,表明CNN中常用的padding机制存在重大缺陷,会导致特征图中出现伪影,从而影响CNN的应用. 作者把这种伪影称为空间偏差,这 ...

  9. 让手机跑SOTA模型快8倍!Facebook AI开源最强全栈视频库:PyTorchVideo!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨新智元 编辑丨极市平台 导读 时隔一年,Facebook AI ...

最新文章

  1. HDU 5695 Gym Class 拓扑排序
  2. canvas 将图形设置为button_将Excel设置为存放文件的文件夹:自动提醒直观摘要免压缩发微信...
  3. oracle jdbctype null,Oracle数据库之springboot 项目mybatis plus 设置 jdbcTypeForNull
  4. python 网络编程_Python网络编程(六)
  5. codeforces contest 1119
  6. GoldenGate Logdump基本使用
  7. 02-再探MySQL数据库
  8. 荣耀play一直显示无服务器,降价都无法补救?荣耀Play3:绝不是电子垃圾!
  9. 鲲鹏服务器项目背景_华为鲲鹏产业生态加速算力升级,企业数字化转型在山西吹响号角...
  10. 边缘计算是流行词还是风口?开发者怎样选开源项目?
  11. JavaMail回复
  12. 董明珠给格力员工加薪 10 亿;张小龙回应微信 7.0 界面变丑;库克怒怼高通 | 极客头条...
  13. 寒门难再出贵子(6),一篇值得思考的文章
  14. eureka集群的两种配置方式:配置文件方式与DNS方式
  15. linux低级格式化工具下载,硬盘低格工具(Hard Disk Low Level Format Tool)
  16. 量子计算机大致原理,通俗简介量子计算机原理
  17. 厉害,竟然把VSCode玩成了IDEA的效果,有点哇塞
  18. vue实现生成二维码,并生成图片
  19. 到家服务公司php源码,微信小程序-仿五洲到家商城源码
  20. 炬源繁荣气化炉炸酱面

热门文章

  1. Python 使用特性对属性进行访问
  2. 数字图像处理--图像的缩放变换
  3. GUI Design Studio 4 5 151 0原型设计工具的使用
  4. 第46屆ICPC 東亞洲區域賽(澳門)(正式賽)Link-Cut Tree
  5. linux虚拟存储技术,红帽Linux 7.0发布:整合虚拟存储技术
  6. bool转nsnumber ios_iOS开发之NSDecimalNumber的使用,货币计算/精确数值计算/保留位数等...
  7. python编程循环语句_循环语句—Python编程从入门到精通(5)
  8. js计算器代码加减乘除_理不清亲戚关系,程序员直接写了一个亲戚关系计算器,来试试?...
  9. python的缩进意义_python缩进错误的原因是什么
  10. android代码怎么打成蓝色,如何将我的Android应用程序的重音颜色从蓝色更改为其他颜色...