当前位置: 首页 > news >正文

视频动作识别-VideoSwin

🎯 VideoSwin —— 基于 Swin Transformer 的视频理解新范式

论文Video Swin Transformer
作者:Zheng Zhang 等(Microsoft, CVPR 2022)
关键词:VideoSwin、Swin Transformer、视频分类、时空建模、Transformer


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

随着 Transformer 在图像领域大获成功(如 ViT、Swin Transformer),研究者开始思考:

❓ 能不能把 Transformer 的强大建模能力 引入视频理解?

但直接将 ViT 用于视频会面临两个问题:

  1. 计算复杂度爆炸:视频是 4D 数据(T×H×W×C),自注意力复杂度是 $ O((T×H×W)^2) $,无法处理长视频;
  2. 缺乏局部性建模:全局注意力对局部运动建模效率低。

👉 VideoSwin 正是为了解决这些问题而提出的


二、核心思想:将 Swin Transformer 从 2D 扩展到 3D

把 Swin Transformer 的“滑动窗口 + 移位机制”从空间扩展到时空维度,实现高效、可扩展的视频建模。

🔥 三大创新点:

创新说明
1. 3D 局部窗口注意力在时空立方体上划分局部窗口,限制注意力范围
2. 跨窗口信息交互通过“移位窗口”机制实现全局信息流动
3. 层次化下采样逐步降低时空分辨率,构建多尺度特征金字塔

三、网络结构详解

在这里插入图片描述

1. 整体架构

输入:T × H × W × 3 视频帧↓
3D Patch Embedding → 将视频切分为 3D patch(如 2×4×4)↓
Swin Transformer Blocks(堆叠)↓
Hierarchical Feature Maps↓
Global Pooling + Classifier↓
输出:动作类别
  • 类似 Swin-T/S/B/L,有不同规模变体(VideoSwin-Tiny, Small, Base, Large)

2. 3D Patch Embedding

  • 将视频划分为 3D patches(时间 + 空间);
  • 例如:每个 patch 大小为 2×4×4(2 帧,4×4 像素);
  • 线性映射后得到 patch embeddings。

✅ 相比 2D patch,保留了时间连续性。


3. 3D Shifted Window Attention(核心)

(1)局部窗口划分
  • 在每个 block 中,将特征图划分为 不重叠的 3D 局部窗口(如 8×7×7);
  • 每个窗口内计算 局部自注意力,复杂度从 $ O(N^2) $ 降为 $ O(M^2) $,其中 $ M \ll N $。
(2)移位窗口(Shifted Windows)
  • 下一个 block 将窗口循环移位半个窗口大小
  • 使不同窗口之间能交互信息;
  • 实现全局感受野,但保持低计算量。

💡 这是 Swin 系列的核心设计,VideoSwin 将其扩展到时间维度。


4. 层次化结构(4 个 Stage)

Stage时空分辨率窗口大小Patch 合并
1T×H×W8×7×7
2T/2 × H/2 × W/28×7×72×2×2
3T/4 × H/4 × W/48×7×72×2×2
4T/8 × H/8 × W/88×7×72×2×2
  • 每个 stage 后进行 3D Patch Merging(类似池化);
  • 构建多尺度特征金字塔,适合下游任务(如检测、分割)。

四、为什么 VideoSwin 强?

优势说明
高效时空建模局部窗口注意力大幅降低计算量
长序列建模能力支持 32~64 帧输入,适合长动作
层次化特征输出多尺度特征,可用于检测/分割
可扩展性强有 Tiny 到 Large 多种规模
性能 SOTA在 Kinetics、Something-Something、Charades 等 benchmark 上刷新记录

五、性能对比(Kinetics-400 Top-1 Acc)

模型准确率FLOPs参数量
I3D (ResNet-50)~73%~108G~26M
SlowFast (8x8)~79%~175G~36M
TimeSformer~77%~106G~121M
VideoSwin-T79.8%~97G~24M
VideoSwin-B82.8%~158G~88M

✅ VideoSwin-B 在 Kinetics 上达到 82.8% Top-1 准确率,远超传统 CNN 和早期 Transformer。


六、应用场景

场景说明
📊 视频分类Kinetics、SSv2、Moments in Time
🧠 视频检测AVA、ActivityNet(作为 backbone)
🖼️ 视频分割Video Panoptic Segmentation
🔍 异常检测利用重建误差或注意力分析
🧪 自监督预训练Masked Video Modeling(如 MVM)

七、局限性

局限说明
计算量仍较大尤其是 Large 版本,不适合移动端
训练成本高需要大规模数据(如 Kinetics)和多卡 GPU
对短动作不敏感相比 TSM/TAdaConv,对快速动作建模略慢
依赖大量数据小数据集上容易过拟合

八、后续发展

VideoSwin 启发了大量后续工作:

方法改进点
Video Swin V2更大模型、更长训练、窗口注意力优化
Focal Transformer引入多粒度注意力,增强局部建模
VideoMAE基于 VideoSwin 的掩码自编码器,自监督学习
UniFormer结合 CNN 和 Transformer 的混合架构

九、与 SlowFast 对比

特性SlowFastVideoSwin
主干3D ResNet3D Swin Transformer
建模方式卷积 + 双流自注意力 + 移位窗口
计算效率中等高(局部注意力)
多尺度是(双支路)是(层次化)
性能强(~79%)更强(~82.8%)
是否适合端侧❌(但 Tiny 版可轻量化)

十、总结

项目内容
🧠 核心思想将 Swin Transformer 扩展到时空域
📦 输入形式32~64 帧 × 224×224
🕒 时序建模3D 局部窗口注意力 + 移位机制
✅ 优点高效、性能强、支持多任务
❌ 缺点重、训练贵、不适合小数据
🚀 历史地位Transformer 视频理解的标杆模型

💬 一句话概括 VideoSwin:

VideoSwin = 3D Patch + 移位窗口注意力 = 高效强大的视频 Transformer

它标志着视频理解从“CNN 时代”正式进入“Transformer 时代”。


文章转载自:

http://95R5WgNH.ykcby.cn
http://YqcM6Vfv.ykcby.cn
http://naoiZqnU.ykcby.cn
http://yof3n3ko.ykcby.cn
http://UdyEp2ar.ykcby.cn
http://DgufhBJu.ykcby.cn
http://bds5rNY5.ykcby.cn
http://Jc7Z3cpT.ykcby.cn
http://tyFKsavz.ykcby.cn
http://9JtSo888.ykcby.cn
http://2YvX6zQs.ykcby.cn
http://gbqlyoxu.ykcby.cn
http://ol0x2J0K.ykcby.cn
http://R5GiCj1O.ykcby.cn
http://S2aiGUxW.ykcby.cn
http://SgB3BRWE.ykcby.cn
http://GCNxePt7.ykcby.cn
http://6mh659gA.ykcby.cn
http://yvq9DQbD.ykcby.cn
http://a25AeuBG.ykcby.cn
http://9YsGXLQq.ykcby.cn
http://JJDPAuFD.ykcby.cn
http://OjS6HFRP.ykcby.cn
http://gk8RLkLP.ykcby.cn
http://0nno6ujD.ykcby.cn
http://rMUXUVUn.ykcby.cn
http://g8J6gOUw.ykcby.cn
http://LvGeDUge.ykcby.cn
http://PYO65gEc.ykcby.cn
http://sZQ7XDJM.ykcby.cn
http://www.dtcms.com/a/371254.html

相关文章:

  • AI 自然语音对话接入客服系统的场景分析及实现
  • 【基础-判断】架构设计时需要考虑“一次开发,多端部署”,这样可以节省跨设备UI开发工作量,同时提升应用部署的伸缩性。
  • [光学原理与应用-428]:非线性光学 - 为什么要改变光的波长/频率,获得特点波长/频率的光?
  • 运筹学——求解线性规划的单纯形法
  • HTML标签之超链接
  • MySQL问题5
  • MyBatis Example模式SQL注入风险
  • C语言数据结构——详细讲解《二叉树与堆的基本概念》
  • 【杂类】I/O
  • import type在模块引入中的作用
  • MySQL入门指南:从安装到工作原理
  • 【基础-判断】一个页面可以存在多个@Entry修饰的组件。
  • MapStruct详解
  • 新的打卡方式
  • GESP 7/8级免CSP-J/S初赛!申请注意事项!今年已过,明年提前关注!
  • esbuild入门
  • 决策树概念与原理
  • More Effective C++ 条款31:让函数根据多个对象来决定怎么虚拟
  • Python列表:从入门到灵活运用的全攻略
  • 校园洒水车cad+三维图+设计说书
  • 机械硬盘的工作原理
  • 生命周期方法:didUpdateWidget
  • Pie Menu Editor V1.18.7.exe 怎么安装?详细安装教程(附安装包)​
  • ragflow MCP 调用核心提示词解析:逻辑闭环与优化方向
  • Knative Serving:ABP 应用的 scale-to-zero 与并发模型
  • Xsens帮助独立工作室创造引人注目的冒险游戏真实角色动画
  • 《动手学深度学习v2》学习笔记 | 2.4 微积分 2.5 自动微分
  • 【开题答辩全过程】以 哈尔滨裕丰草莓园管理系统为例,包含答辩的问题和答案
  • 国内外支持个人开发者的应用市场
  • 【LLIE专题】SIED:看穿0.0001lux的极致黑暗