行为识别 - Video Transformer Network

发布时间:2023-09-18 10:00

文章目录

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

0. 前言

  • 相关资料:
    • arxiv
    • github
    • 论文解读
  • 论文基本信息
    • 领域:行为识别
    • 作者单位:Theator公司
    • 发表时间:2021.2
  • 一句话总结:CNN+LSTM中把LSTM换成Transformer

1. 要解决什么问题

  • Transformer 用到视觉中的主要问题就是,如何构建输入序列。
    • VIT 将 Transformer 引入图像分类,就是将图像分为若干个不重叠的patch作为输入序列。
    • 那么一个视频,要如何转换为序列,作为Transformer的输入呢

2. 用了什么方法

  • 总体结构如下图所示,一共可以分为三个部分:
    • 2D spatial feature extraction:提取每一帧的图像,可以用CNN也可以用VIT等纯transformer。
      • 这个没啥好具体说的,其实就是提取特征,可以随机初始化并和Longformer一起训练,也可以使用预训练模型并固定权重。
    • temporal-base encoder:使用了 Longformer 结构,后文详细说。
    • classification MLP head:Longformer 的结果其实也是一个向量,最终需要通过FC进行分类。
      • 没啥好说的。

行为识别 - Video Transformer Network_第1张图片

  • Transformer 的输入要求是一个序列,每个元素是一个特征。
    • VTN 中,序列就是一组视频帧,每一帧通过 2D feature extractor 提取特征。
  • TimeFormer 本质就是对普通的普通 Transformer 的一些改进
    • 存在的问题:目前对长视频(或者说长序列)的处理很不符合常识,比较尴尬。
    • 目前处理长视频的方法:
      • 目前行为识别模型的主要抽帧策略是 dense strategry(短视频取多帧)或 uniform strategy(将长视频分为若干段,每一段提取一帧),两种方法都有很明显的短板。
      • 比如对一段时间内的视频切分为多个clip,每个clip分别分类,平均所有clip的预测结果。
      • 有些是对每个clip使用多个view(也可以理解为Crop),比如SlowFast中的10个clip*3个view
    • Transformer本来就是处理序列任务的,那么长序列任务有什么方法呢?之前NLP领域就提出了TimeFormer 的方法,其核心如下图所示
      • 普通Transformer有多个q/k/v,每个q要跟所有k计算相似度+softmax、与v相乘累加,如下图左一
      • 但随着序列长度增加,这个计算量太高了,所以每个q不是跟每个k计算相似度,而是跟部分k,具体选择哪些k就有下图的右边三张。

行为识别 - Video Transformer Network_第2张图片

3. 效果如何

  • 简单贴一些结果

行为识别 - Video Transformer Network_第3张图片

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

  • 其实这个方法我觉得不是特别惊艳,感觉就是CNN+LSTM算法把LSTM换成了Transformer。
  • 不过好歹也是纯Transformer的Video方向论文。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号