恒源云(Gpushare)_FAIR CVPR2022新作DVT是个啥?

Posted AI酱油君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了恒源云(Gpushare)_FAIR CVPR2022新作DVT是个啥?相关的知识,希望对你有一定的参考价值。

文章来源 | 恒源云社区

原文地址 | 用于视频的可变形Transformer

原文作者 | 咚咚


hi,大家好啊!窗外的树🌲 绿了,楼下的桃花🌺 开了,春天,就这么滴的过去了……

啊啊啊啊,我的春游彻底没希望了!!!

说那么多有啥用呢?还不是得乖乖搬运社区文章!毕竟社区伙伴们发帖是那么的勤快!Respect!

正文开始

摘要

  1. 引入主题:在视频分类领域,视频Transformer最近作为一种有效的卷积网络替代品出现。
  2. 现存问题:大多数以前的视频Transformer采用全局时空注意或利用手动定义的策略来比较帧内和帧间的patch。这些固定注意力方案不仅计算成本高,而且通过比较预定位置的patch,忽略了视频中的运动动力学。
  3. 解决方案:该论文介绍了可变形视频Transformer(DVT),它根据运动信息动态预测每个查询位置的一小部分视频Patch,从而允许模型根据帧间的对应关系来决定在视频中查看的位置。关键的是,这些基于运动的对应关系是从以压缩格式存储的视频信息中以零成本获得的。
  4. 实验结果:在四个大型视频基准(Kinetics-400、Something-Something-V2、EPIC-KITCHENS和Diving-48)上的实验表明,该论文模型在相同或更低的计算成本下实现了更高的精度,并在这四个数据集上获得了最优结果。

算法

视频TRANSFORMER

视频数据的输入大小一般可以表示为 X ∈ R H × W × 3 × T X\\in R^H×W×3×T XRH×W×3×T ,T表示帧数,3表示每一帧是RGB图像

因为使用的是Transformer架构,所以首先需要将输入数据转换为一个 S ⋅ T S \\cdot T ST tokens,S表示每一帧中的patch个数,每个token可以表示为 x s t ∈ R D x_s^t \\in R^D xstRD 。整个过程可以表示如下:

  1. 将每一帧图像进行非重叠分割,生成S个patch。
  2. 将每个patch投影到D个通道维度上。
  3. 添加空间位置编码 e s e_s es和时间编码 e t e^t et

最终得到 z s t = x s t + e s + e t z_s^t = x_s^t + e_s + e^t zst=xst+es+et

然后通过多头自注意力,layer norm(LN)和MLP计算,可以表示如下:

其中具体的自注意力可以表示如下(使用单头进行简化说明)

根据以往的视频Transformer算法,自注意力机制可以分为Global space-time attention和Divided space-time attention

Global space-time attention

简单来说就是将时空联合起来进行注意力计算,公式如下:

其中注意力权重计算公式如下:

整个计算过程的计算复杂度为 ( S 2 T 2 ) (S^2T^2) (S2T2),最大的问题就是计算量很大。

Divided space-time attention

顾名思义,就是将时间和空间的注意力进行分开计算,用来减少计算量

空间注意力计算公式如下:

计算复杂度为 O ( S 2 T ) O(S^2T) O(S2T)对应的时间注意力计算公式如下:

计算复杂度为 O ( S T 2 ) O(ST^2) O(ST2)
需要注意的是,时间注意力只对不同时间帧上的同一个空间位置进行注意力计算!这就是其最大的问题,因为其没有考虑到不同帧之间目标的运动。

可变形视频TRANSFORMER

主要分为以下三个部分(创新点)

Deformable Space-time Attention(D-ST-A)

这个注意力机制和上文Divided space-time attention中的时间注意力机制很相似,但是有两个主要不同点:

  1. 对于每个查询 q s t q_s^t qst ,使用不同帧上的N个空间位置 s ( n ) ∣ n = 1 , … s(n)|n=1,… s(n)n=1,进行相似度计算,而不是一个固定位置,这虽然带来相对较大的计算量,但会获取更大空间上的特征信息,性能会提高很多。文中使用N=8。
  2. 这N个位置是数据驱动的,而不是人为定义的,这在后面进行细说。

该注意力机制的数学表达式如下:

其中每一帧上的N个空间位置是如何计算的呢?

——是根据查询点特征和运动嵌入特征经过投影生成的相对偏置计算的,公式如下:

其中运动嵌入 m s t , t ′ m_s^t, t^\\prime mst,t是根据存储在压缩视频中的运动位移和RGB residuals确定的,详细步骤可以查看论文。

其中的相似度矩阵 α s t , t ′ ∈ R N \\boldsymbol\\alpha_s^t, t^\\prime \\in R^N αst,tRN与之前的计算方式不同,而是根据查询点特征和运动嵌入特征计算而来的,公式如下:

Deformable Multi-Scale Attention (D-MS-A)

上述D-ST-A是一个时间上的注意力机制,而D-MS-A是一个空间上的注意力机制,用于编码同一帧上的注意力。

但对于每一帧图像,这里引入了多尺度注意力——计算F个不同分辨率下的空间信息,不同分辨率图像中采样 N ′ N^\\prime N个patch进行注意力计算,多分辨率可以通过不同步长的3D卷积层来实现,数学表达式如下:

其中不同分辨率图像中的patch采样也是通过根据其中对应查询点特征计算偏置得到的,计算公式如下:

Attention Fusion

可以仅使用可变形时空注意(D-ST-A)、仅使用可变形多尺度注意(D-MS-A)以及两者的组合(D-ST+MS-A)。

在最后一种情况下,将由这两种注意策略独立计算出的两个token z s S T t z_s^ST^t zsSTt z s M S t z_s^MS^t zsMSt馈送到一个注意力融合层u()进行信息融合, Z s t = u ( Z s S T t , Z s M S t ) \\mathbfZ_s^t=u\\left(\\mathbfZ_s^S T^t, \\mathbfZ_s^M S^t\\right) Zst=u(ZsSTt,ZsMSt)

论文给出了两种形式的注意力融合方式,一种基于简单的线性投影,另一种基于MLP-Mixer模型。

实验

在四个标准视频分类基准上评估DVT:Kinetics-400(K400)、Something-Something-V2(SSv2)、EPIC-KITCHENS-100(EK100)和Diving-48(D48)

消融实验

Choice of motion cues



COMPARISON TO THE STATE-OF-THE-ART

以上是关于恒源云(Gpushare)_FAIR CVPR2022新作DVT是个啥?的主要内容,如果未能解决你的问题,请参考以下文章

恒源云(GPUSHARE)_AdderSR: Towards Energy Efficient Image Super-Resolution学习笔记

恒源云(GpuShare)_无监督的QG方法

恒源云(GpuShare)_无监督的QG方法

恒源云(Gpushare)_UNIRE:一种可以共享标签空间的方法

恒源云(Gpushare)_UNIRE:一种可以共享标签空间的方法

恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类