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

0. 前言

  • 相关资料:
  • 论文基本信息
    • 领域:行为识别
    • 作者单位: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,其他颜色根据图示中标题的颜色来确定。

image-20210422095929405

image-20210422100331251

3. 效果如何

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

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

image-20210422095545256

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

image-20210422100551146

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

image-20210422100931292

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

image-20210422101153684

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

image-20210422101417387

  • 训练时间: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覆盖所有任务

image-20210422101733499

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值