视频动作视频-TimeSformer

🎯 TimeSformer ------ 视频理解中的纯 Transformer 开创者

论文Is Space-Time Attention All You Need for Video Understanding?
作者 :Gedas Bertasius 等(Facebook AI, ICML 2021)
关键词:TimeSformer、视频 Transformer、时空注意力、动作识别


一、背景:为什么需要 TimeSformer?

ViT(Vision Transformer) 成功之后,研究者开始探索:

❓ 能不能用 纯 Transformer(无卷积)来理解视频?

传统方法如 I3D、SlowFast 使用 3D 卷积建模时空信息,但存在:

  • 感受野有限;
  • 难以建模长距离依赖(如"起跑→冲刺→撞线");
  • 卷积核大小固定,不够灵活。

👉 TimeSformer 的提出正是为了验证:

"是否仅靠自注意力机制,就能实现强大的视频理解?"


二、核心思想:用 Transformer 替代 3D 卷积

将视频视为一系列图像块(patches),直接在所有时空 patch 上应用自注意力机制,实现全局建模。

🔥 两大创新:

  1. 将视频拆分为 3D patches(时间 + 空间)
  2. 设计多种时空注意力机制,高效建模时间动态

三、网络结构详解

1. 整体流程

复制代码
输入视频(T 帧 × H × W × 3)
   ↓
Patch Partition → 切分为 T × (H/P) × (W/P) 个 3D patch
   ↓
Linear Embedding → 每个 patch 映射为向量
   ↓
Positional Encoding → 加入位置信息(空间 + 时间)
   ↓
Transformer Encoder Blocks(堆叠)
   ↓
[CLS] token → 分类头 → 动作类别
  • 类似 ViT,但扩展到时间维度;
  • 使用 [CLS] token 聚合全局信息用于分类。

2. Patch 划分(3D Patching)

  • 将每帧划分为 P×P 的空间 patch(如 16×16);
  • 时间维度也划分,每个 patch 包含连续 t 帧(如 t=1 或 2);
  • 最终得到 T/t × H/P × W/P 个时空 patch。

例如:32 帧 × 224×224 → 每帧 14×14 个 patch → 共 32×14×14 = 6272 个 tokens。


3. 位置编码(Positional Encoding)

  • 传统 ViT 只有 2D 位置编码;
  • TimeSformer 引入 3D 位置编码(t, h, w) 三元组;
  • 支持两种方式:
    • Joint:统一编码时空位置;
    • Separate:分别编码空间和时间位置。

4. Transformer Block 结构

每个 block 包含:

  • 多头自注意力(Multi-head Self-Attention)
  • MLP
  • LayerNorm
  • 残差连接

但关键在于:如何设计注意力机制?



四、四种时空注意力机制(核心创新)

TimeSformer 提出了 四种不同的注意力策略,用于建模时空关系:

名称 注意力范围 说明
1. Full Attention 所有 patch 之间全局注意力 计算量大,但建模最强
2. Factorized Encoder 空间注意力 + 时间注意力 分离 先空间后时间,降低复杂度
3. Space-only 只在空间维度做注意力 时间不变,类似 ViT
4. Time-only 只在时间维度做注意力 空间不变,建模运动

✅ 推荐组合:Factorized Encoder(空间 + 时间分离)

text 复制代码
Step 1: 空间注意力
  - 对每一帧内的所有空间 patch 做自注意力;
  - 学习"这一帧中物体之间的关系";

Step 2: 时间注意力
  - 对每个空间位置(如左上角 patch),在所有时间步上做自注意力;
  - 学习"这个位置随时间的变化";

✅ 优势:计算量从 O((T×H×W)2)O((T×H×W)^2)O((T×H×W)2) 降为 O(T×H2+H2×T)O(T×H^2 + H^2×T)O(T×H2+H2×T)


五、为什么 TimeSformer 强?

优势 说明
全局感受野 自注意力可直接建模任意两个 patch 的关系
长时依赖建模 能捕捉"开始"与"结束"的语义关联
无需卷积 完全基于注意力,结构统一
性能优异 在 Kinetics、Something-Something 上表现优异
可扩展性强 可结合其他 Transformer 技巧(如 DeiT、MAE)

六、局限性

局限 说明
计算量大 全局注意力 O(N\^2) ,不适合长视频
参数量大 Large 版本 >120M,训练成本高
对短动作不敏感 相比 TSM/TAdaConv,对快速动作建模略慢
需要大量数据 小数据集上容易过拟合

七、总结

项目 内容
🧠 核心思想 用纯 Transformer 替代 3D 卷积,建模时空关系
📦 输入形式 32或16 帧 × 224×224
🕒 时序建模 全局或分离式自注意力
✅ 优点 全局建模、结构统一、可解释性强
❌ 缺点 计算量大、参数多、训练贵
🚀 历史地位 首个成功的纯 Transformer 视频模型,开启新范式

💬 一句话概括 TimeSformer:

TimeSformer = ViT + 3D Patches + 时空注意力 = 视频理解的 Transformer 开创者

它证明了:"Space-Time Attention 真的可以用于视频理解!"

相关推荐
SaN-V2 个月前
针对 OpenMMLab 视频理解(分类)的 MMAction2 的环境配置
人工智能·openmmlab·mmcv·视频理解·mmaction2
Matlab_ImagePro2 年前
基于Matlab的视频人体动作识别,Matlab实现
matlab图像视频处理·人体动作识别·视频动作识别·运动目标识别·傅里叶描述子·背景差法运动目标检测·人体视频识别