行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?

文章目录

    • 0. 前言
    • 1. 要解决什么问题
    • 2. 用了什么方法
    • 3. 效果如何
    • 4. 还存在什么问题&可借鉴之处

0. 前言

  • 相关资料:
    • arxiv
    • github
    • 论文解读
  • 论文基本信息
    • 领域:行为识别
    • 作者单位:Facebook
    • 发表时间:2021.2
  • 一句话总结:尝试几种朴素的Video Trnasformer self-attention 结构

1. 要解决什么问题

  • 如何将 Transformer 与视频类算法结合
  • 视频类算法与NLP有一些相似之处
    • 都是序列(sequence)
    • 一个单词的意思往往必须结合上下文才能理解,类比到视频分类,那就是一个短期原子动作必须结合前后其他动作才能正确、全面理解动作的含义。
  • 之前行为识别中 Transformer 工作都是 CNN+Transformer,希望能够设计没有CNN的纯Transformer结构行为识别模型,其好处在于
    • CNN有较强的inductive biases(不知道该怎么翻译,字面意思是归纳偏见),即CNN的特点 local connectivity(局部连接)和 translation equivariance (平移不变性)导致的问题。当拥有海量数据时,这个问题比较明显,且Transformer在这方面表现比较好。
    • 卷积核是用来提取短期、局部特征的,不适合用来处理序列数据。Transformer 的在这方面表现较好。
    • Transformer的训练以及推理速度更快。
  • 使用 Standard Transformer 存在的问题
    • 要计算所有token之间的相似度以及value,需要较多计算资源
    • 忽略了视频的时空结构

2. 用了什么方法

  • 提出的结构是 TimeSFormer 是 Time-Space Transformer 的简称。
  • 模型基本情况
    • 输入数据:与之前的3D Conv类似,都是对原始数据进行采样,然后再对采样道的图片进行提取patch
    • Pos Embedding 使用的是 learnable vector
    • 也会添加以为 class token
    • Q/K/V 的计算与基本结构都与之前的工作相同
  • Self-attention 模块的设计
    • 前面一张图是总体结构
    • 后面一张图是每类结构的具体实现,即每个q要与哪些k计算相似度。
      • 注意,蓝色的是q,其他颜色根据图示中标题的颜色来确定。

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第1张图片

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第2张图片

3. 效果如何

  • 本文中提出的 TranSformer 根据输入数据不同有几个小变种

    • TimeSformer:就是 8*224*224
    • TimeSformer-HR:即16×448×448
    • TimeSformer-L:即 96*224*224
  • Kinetics400 结果如下

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第3张图片

  • 对比不同的self-attention结构
    • 这里可以看出数据集的特点。由于K400数据集其实对时间信息不敏感,所以space attention 就能得到很好的结果。而SSv2对时间敏感,所以space结构就非常差。

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第4张图片

  • 对比不同输入数据尺寸(每帧图像大小、帧数),当然效果是越多越好。但如果图像尺寸大于一定值,效果也就一般了。

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第5张图片

  • 对预训练模型有较高要求:论文中说直接训练(没有ViT pretrained model)就不收敛了
  • 对数据量的要求:发现Transformer数据还是越多越好,数据多了效果提升显著

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第6张图片

  • 之前3D模型对于 clips 数量还是有一些要求,inference clips 数量越多效果越好。
    • 但Transformer对这个没啥影响,毕竟一个clip就可以覆盖较长的时间,不想3D模型,一个clip大概也就2s左右。

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第7张图片

  • 训练时间:Transformer有优势
    • SlowFast-R50 用64卡训练K400大概54.3小时
    • I3D-R50 用32卡训练K400大概45小时
    • TimeSformer 用32卡训练K400大概14.3小时
  • 长视频建模(Long-Term Video Modeling),其实就是在 HowTo100M 数据集上的效果
    • TimeSformer 效果明显
    • Single Clip Coverage 就是一个 clip 覆盖了多少时间
    • Test Clips 就是需要多少clip覆盖所有任务

行为识别 - Is Space-Time Attention All Y ou Need for Video Understanding?_第8张图片

4. 还存在什么问题&可借鉴之处

  • 在inference的时候有没有什么优势?
    • 理想状态下,处理序列数据inference的时候,不需要跑整体网络而只需要跑当前帧相关的部分网络即可。换句话说,应该有很多特征可以服用的。
    • 但看目前的这个结构,因为self-attention也是叠加的,估计还是需要跑整个网络。
    • 可能是K400的时候,就算跑整个网络,TFLOPs也很少。

你可能感兴趣的:(CV)