CVPR| 2021 Video Swin Transformer阅读笔记

Video Swin Transformer 阅读笔记
论文
代码
研究背景
在计算机视觉领域,模型正在从CNN 向Transformer转变,并且纯transformer架构在主要的视频识别方向获得了最高的精度,这些模型建立在能够在时间和空间维度上将patches全局连接起来的transformer层上。CNN向transformer的转变开始于vision transformer(ViT),它通过 transformer encoder对非重叠的图像快的空间关系进行全局建模,由于在图像上取得的巨大成功,使得开始了对于基于transformer的视频识别任务的研究。
之前的对于视频主干结构就是将用于图像的主干结构扩展到时间轴即可,如C3D,对于时间和空间联合建模,但这种方法既不经济也不容易优化,因此提出了一种对时空域进行分解的方法,该方法在速度和精度上有所折中。并且最初将transformer用于视频识别是,也采用过分解的方法,通过分解编码器或者分解自注意力,这种方法能够极大的减小模型的规模,同时不会大幅降低模型的性能。
研究目的
在本文中,我们提出了一种用于视频识别的纯transformer骨干结构,并且在效率上超过分解模型,该方法利用了视频的固有时空局部性,时空距离越接近的像素越有可能被关联,
在本文中我们在视频transformer中引入局部归纳偏执,与之前的方法相比,该方法在速度和精度上具有更好的权衡,通过时空分解,能够计算全局自注意力,所提出的视频架构的局部是有为图像领域涉及的swin transformer来实现的,同时继续利用预训练的图像模型的力量。
研究方法
我们通过对swin transformer的时空适应,swin transformer最近作为图像理解的通用视觉主干,swin transformer结合了空间局部性,层次性,平移不变性的归纳偏执,我们的vedio swin transformer严格遵循原始swin transformer的层次结构,但是将局部注意力计算的范围向哦嗯仅空间域扩展到时空域,由于局部注意力是在非重叠窗口上计算的,所有swin transformer的变化窗口机制也被用于处理时空输入,
结论
我们的方法在很多视频识别基准上达到先进精度,在行为识别(在kinetics-400达到84.9%,在kinetics-600达到86.1%都是top-1) 在something-something v2上精度为69.6 top-1)

相关工作
1.CNN及其变种
C3D、I3D
P3D、S3D、R(2+1)D:通过分离时空卷积在速度和精度上取得了很好的折中
2.self-attention/transformer 补充CNN
NLNet、GCNet、DNL
3.vision transformer
ViT DeiT(image)
VTN、TimeSformer、ViViT、MViT

vedio Swin Transformer

3.1整体架构
CVPR| 2021 Video Swin Transformer阅读笔记_第1张图片
整体架构:输入为T HW3 将每个大小为2443的3D patch看作一个token,经过3D patch 分割层后获得了T/2H/4W/4 的具有96维的特征的token,再经过一个线性的emdedding 层,将每个token的特征投影到一个任意的C 的维度。vedio swin 严格遵从swin transformer,包含了4个阶段,在每个阶段的paatch合并层进行2次空间下采样,patch合并层将每组2×2的空间邻近的patch连接起来并且通过一个线性层将连接起来的特征投影到他们维度的一半,
CVPR| 2021 Video Swin Transformer阅读笔记_第2张图片
vedio swin transformer block
将标准transformer层的MSA替换为基于3D移动窗口的多头自注意力模块,一个vedio transformer block是由基于3D变化窗口的MSA模块和前馈网络组成,在每个MSA模块和FFN 模块之前使用LN,并对每个模块应用残差连接。

3.2 基于3D移动窗口的MSA 模块
相比图像,视频需要大量的输入tokens来表示他们,因为视频多了一个时间维度,因此全局的自注意力机制不适用于视频任务,会产生大量的计算和内存消耗,因此我们在自注意力模块引入一个局部归纳偏执。
在非重叠3D窗口的多头自注意力
给出一个T′×H′×W′的3D tokens和一个P×M×M的窗口,该窗口以不重叠的均匀的方式分割视频的输入,也就是说这个tokens被分割为T′/P×H′/M×W′/M的3D非重叠窗口,
CVPR| 2021 Video Swin Transformer阅读笔记_第3张图片
3D可变窗口
因为多头自注意力机制用于每个非重叠的3D窗口上,在不同的窗口之间缺少联系,因此将swin transformer的2D可变窗口机制扩展到3D 窗口中,意在引入跨窗口连接的同时保持基于自注意力的非重叠窗口的高效计算。
给出一个T′×H′×W′的3D tokens和一个P×M×M的窗口,对于两个连续层,自注意力模块的第一层使用规则的的窗口分割策略,将会获得T′/P×H′/M×W′/M个非重叠的3D窗口,对于自注意力模块的第二层,窗口分区配置沿时间轴,高度轴,宽度轴被自注意力模块的第一层之后的第P/2×M/2×M/2处的token分割,得到的结果为( P/2+1)×(M/2+1)×(M/2+1)
对于两个连续的vedio swin transformer block的计算过程为:
CVPR| 2021 Video Swin Transformer阅读笔记_第4张图片这种3D可变窗口的涉及引入了上一层的相邻的非重叠窗口之间的连接

3D相对位置偏执:
之前的工作证实了在计算自注意力的每个head时候包含一个相对位置偏差是有用的,因此在每个head的计算中,我们引入了3D 相对位置偏差B∈RP2×M2×M2
在这里插入图片描述
3.3 Architecture Variants
CVPR| 2021 Video Swin Transformer阅读笔记_第5张图片 C表示第一个阶段的隐藏层的通道数量,这4个版本的模型尺寸和计算复杂度的大小分别是基础模型的0.25,0.5,1,3倍,窗口的大小默认设置为P=8,M=7,每个头部的查询维度为d=32,每个MLP的扩展层设置为α=4。

总结
我们提出了一个用于视频识别的基于时空局部归纳偏执纯transformer架构,这个模型改编自用于图像识别的swin transformer 集,因此利用这个强大的图像模型预训练,提出的方法在3个广泛使用的基础数据集Kinetics-400,Kinetics-600和something-something v2上取得了很好的效果,

你可能感兴趣的:(transformer,计算机视觉)