当前位置:   article > 正文

【ViViT】A Video Vision Transformer 用于视频数据特征提取的ViT详解_视频vit

视频vit

在这里插入图片描述



前言摘要

  文章主要transformer在包含时序信息维度的视频格式上的问题展开:

  • 一、视频格式数据生成的token序列数量过多,带来繁重的计算冗余。
  • 二、训练Transfomer结构模型需要引入大规模的数据集,训练对数据条件十分苛刻。

  为了高效处理视频数据中生成的大规模时空tokens,①文章提出并探讨了几种对空间和时间维度进行分解的方法,进而提出了相应的网络结构,从而增加模型对视频数据特征提取的效率和可扩展性。②其次,规范了模型的训练(主要针对模型的训练策略)。目的在小数据集上也能使得Transformer类模型能有很好的效果。

论文名称: ViViT: A Video Vision Transformer
论文地址: ICCV 2021 open access
代码地址: GitHub(Unofficial implementation)–非官方实现


一、Overview of ViT 回顾视觉 ViT

在这里插入图片描述
基础的ViT模型主要有三个模块组成:

  • Linear Project of Flattened Patches即为Embedding层,对输入的三通道图像数据利用conv卷积层进行分块并完成对应的线性映射,如上式当中的E,而后通过torch.view()进行展平压缩维度。拼接上类别token后采用矩阵相加方式引入位置编码。
  • Transformer Encoder模块,对Embedding层输出的token进行多头注意力计算和多层感知机(中间包含Layer Norm)。其中MSA是整个模型的核心部分。
  • MLP Head层,堆叠的Transformer Block最终的输出经过Head结构提取出类别token所对应的结果信息,文中通过两个线形层叠加中间插入一个tanh激活函数来实现。

二、Embedding video clips 视频嵌入方法

  区别于常规的二维图像数据,视频数据相当于需在三维空间内进行采样(拓展了一个时间维度)。而文章中所提出的两钟视频嵌入方法目的都是将视频数据 V ∈ R T × H × W × C V\in\R^{T×H×W×C} VRT×H×W×C 映射到token当中得到 z ~ ∈ R n t × n h × n w × d \widetilde{z}\in\R^{n_t×n_h×n_w×d} z Rnt×nh×nw×d,而后添加位置编码并对token进行reshape得到最终Transformer的输入 z ∈ R N × d z\in\R^{N×d} zRN×d

2.1 uniform frame sampling 均匀采样

在这里插入图片描述

Fig.2 Uniform frame sampling


  采用相同的采样帧率,从视频数据当中均匀采样 n t n_t nt帧,使用相同的embedding方法独立地处理每一个帧当中的patch,而后将得到的所有token拼接concat在一起。具体而言,从每个采样获得的帧当中划分 n w × n t n_w×n_t nw×nt个不重叠的图像块patch,则共产生 n t × n w × n t n_t×n_w×n_t nt×nw×

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/367465
推荐阅读
相关标签
  

闽ICP备14008679号