状态:草稿(2026-10-13)。 论文数据均通过查阅原文及相应条件确认。亲自动手实践的部分为笔记本 CPU 上的 numpy 示例(
code/06_video_cost.py, 1 秒以内)。从未在乒乓球视频上运行过此类视频模型(未实测)。 系列《阅读视觉模型 2》第 6 篇。上一篇: 光流与 RAFT。2D 卷积与 ViT 请参见 阅读视觉模型 1。
目录
- 1. 直觉:单张照片无法得知的事物
- 2. 3D 卷积:C3D 与 I3D
- 3. 双流:Two-stream 与 SlowFast
- 4. 注意力:TimeSformer
- 5. 动手实践
- 6. 如何训练:无标签,从视频中进行掩码预测
- 7. 论文指标
- 8. 局限性
- 9. 与我们项目的联系
- 参考文献
1. 直觉:单张照片无法得知的事物
通过一张静态照片,我们可以认出“拿着球拍的运动员”,但却无法得知该运动员是 正在击球、击球刚结束,还是正准备击球。“正在开门”和“正在关门”在单张照片中看起来是完全相同的场景。视频模型正是试图学习这种差异,即 时间顺序中包含的信息。
方法大致分为三类。
- 3D 卷积:除了宽高之外,还将滤波器在时间方向上延伸。
- 双流:分为观察外观的路径和观察运动的路径。
- 注意力(attention):Token 在时间和空间中穿梭并相互参考。
无论哪种方法,训练大多采用 监督学习。通过“该剪辑为‘打乒乓球’”等视频级别的标签来学习分类。代表性数据集是 Kinetics(约 24 万个训练视频,400 种动作)。只有最后一节的 VideoMAE 是进行无标签预训练的。
2. 3D 卷积:C3D 与 I3D
C3D:时间维度也是 3 帧
C3D(2015)将卷积滤波器从 3×3 扩展到了 3×3×3。输入 16 帧 × 112×112 的剪辑,在尝试将时间深度改为 1、3、5、7 后,发现 3 的效果最好(论文中提到,不过作者也自承仅在较小范围内进行了比较)。使用 110 万个体育视频(Sports-1M,487 种类别)从头开始进行监督学习。
I3D:放大图像模型以起步
3D 卷积的弱点在于 必须从头开始学习。图像拥有在 ImageNet 上训练良好的权重,但视频却没有同等量级的起点。I3D(2017)提出了一种将 2D 权重转换为 3D 的简单技巧。
将 2D 滤波器在时间方向复制 N 次,并除以 N。
这样生成的 3D 滤波器在 只有相同帧重复的“枯燥视频”中,会给出与原本 2D 滤波器完全相同的答案。它继承了图像模型已知的知识作为起点,并通过学习来掌握运动。
廉价替代方案:通道平移(TSM)
3D 卷积会使参数量和计算量增加 3 倍。TSM(2019)保持 2D 卷积网络不变,仅将特征通道的 ⅛ 向前平移一帧,⅛ 向后平移一帧 平移 即可。乘法运算没有丝毫增加,但相邻帧的信息得以混入。通过单独设置 只向后平移(仅使用过去帧)的版本,使其也能用于实时流式传输(论文)。第 10 篇 E2E-Spot 使用的 GSM 是该平移操作的变体,它能够学习“平移什么以及平移多少”。
3. 双流:Two-stream 与 SlowFast
Two-stream(2014) 分别学习观察单张图像的路径(空间流)和堆叠第 5 篇中 10 张光流图像观察的路径(时间流),最后将得分取平均。仅凭时间流一项就比空间流更准确(UCF-101 上 83.7% 对 73.0%,论文)。这意味着运动对于动作识别同样重要,但由于需要预先计算光流,因此速度较慢。
SlowFast(2019) 在没有光流的情况下构建了双流。
- 慢速路径:稀疏地观察帧(例如每 16 帧取一帧),但使用大量通道来观察 有什么。
- 快速路径:以 8 倍的密集度(α=8)观察帧,但将通道数减少到 ⅛(β=1/8)来观察 是如何运动的。计算量约为总体的 20%。
- 将快速路径的特征从多层流入慢速路径(侧向连接)。
论文中提到,这借鉴了灵长类视觉系统中存在专门观察形状的细胞和专门观察运动的细胞这一观察结果。最重要的是,它 没有使用 ImageNet 预训练,而是从头开始 仅使用 Kinetics 进行训练。即使进行预训练,差异也仅为 ±0.3%p(论文)。
4. 注意力:TimeSformer
如果将 ViT 应用于视频,Token 的数量会达到“帧数 × 每帧图块数”。如果是 8 帧 × 196 个图块,则是 1,568 个。所有 Token 观察所有 Token 的 联合(joint) 注意力计算成本与 Token 数量的平方成正比。
TimeSformer(2021)在单个块中将注意力分为两部分(divided)。
- 时间注意力:每个图块只观察 相同位置的其他帧图块。
- 空间注意力:基于该结果,每个图块只观察 同一帧中的其他图块。
通过这样划分,计算量大幅减少,准确率反而略有提升(见下表)。它从在 ImageNet 上预训练的 ViT 出发,并使用视频标签进行微调。
5. 动手实践
code/06_video_cost.py 的输出(code/06_video_cost.out.txt).
I3D 放大。 在将 12×12 的单张图像重复 5 次的“枯燥视频”中,应用了将 3×3 滤波器复制 3 次并除以 3 的 3×3×3 滤波器。
멈춘 영상에서 3D 출력과 2D 출력의 최대 차이: 1.33e-15
움직이는 영상에서는 차이가 생긴다(평균 절댓값 1.644) — 이 차이를 학습이 키워 움직임 필터가 된다
差值 10⁻¹⁵ 意味着这仅仅是浮点舍入误差。它们完全相同。
注意力计算量。 计算了单层中比较 Token 对的次数(16×16 图块,224 分辨率时每帧 196 个图块)。
| 输入 | Token | 联合注意力 | 时空分离 | 倍数 |
|---|---|---|---|---|
| 8 帧 | 1,568 | 2.5M | 0.32M | 7.7 倍 |
| 16 帧 | 3,136 | 9.8M | 0.66M | 14.8 倍 |
| 96 帧 | 18,816 | 354.0M | 5.49M | 64.4 倍 |
帧数越多,差距越大。TimeSformer-L 之所以能够处理 96 帧,正是得益于这种划分。
6. 如何训练:无标签,从视频中进行掩码预测
VideoMAE:掩码 90%,使用管状(tube)掩码
VideoMAE(2022)是将第 3 篇的 MAE 迁移到视频中的成果。区别有两点。
- 掩码比例更高。 图像为 75%,视频为 90%(95% 也可以)。由于相邻帧几乎相同,视频中的冗余度远高于图像。
- 使用管状掩码。 如果某个位置被掩码,则 所有帧中的相同位置都会被掩码。使用 2 帧 × 16×16 像素块(立方体)作为单个 Token。
我们亲自测量了使用管状掩码的原因。在 16 帧 × 196 个图块中,被掩码图块的正前或正后帧中 相同位置可见的比例。
가림 75% · 프레임마다 따로 : 0.415
가림 90% · 프레임마다 따로 : 0.180
가림 95% · 프레임마다 따로 : 0.092
가림 75–95% · 튜브(모든 프레임 같은 자리): 0.000
옆 프레임 같은 자리를 그대로 베낀 오차 0.0120 (아무것도 모르고 0 으로 채우면 1.0009)
如果按帧单独掩码,即使掩码 90%,有 18% 的图块也只需 直接复制 相邻帧中的相同位置,就能几乎完美地预测出来(误差 0.012,盲目填充为 1.0)。模型会学会“复制”这条捷径,而无法学到运动或结构。而如果使用管状掩码,这条捷径将被彻底封死。
损失函数与 MAE 相同。通过均方误差来预测被掩码立方体的(归一化)像素。编码器仅处理可见的大约 10% 的 Token。
V-JEPA:预测特征而非像素
V-JEPA(2024)不预测掩码部分的 像素 ,而是让缓慢更新的教师编码器(第 2 篇中的 EMA 教师)预测该部分生成的 特征(L1 损失)。其理念是避免在预测像素的微小细节上耗费精力(这与第 3 篇的局限性相呼应)。论文中指出,它既没有使用预训练图像模型、文本、错误答案,也没有使用像素重建。
7. 论文指标
这是 Kinetics-400 的 top-1 准确率。“view”指测试时单个视频裁剪的剪辑数 × 空间裁剪数。
| 模型 | 准确率 | 条件(论文) |
|---|---|---|
| I3D(图像 + 光流双流) | 71.6 → 74.2 | 无 ImageNet 放大 → 有。训练输入 64 帧 224px |
| TSM(ResNet-50) | 74.1 | 8 帧,10 个 clip。基于 2D(TSN)70.6 |
| SlowFast 16×8 R101+NL | 79.8 | 无预训练,30 view,每 view 234 GFLOPs |
| TimeSformer / -L | 78.0 / 80.7 | ImageNet-21K 预训练,8×224² / 96×224²,3 view。计算量 0.59 / 7.14 TFLOPs |
| VideoMAE ViT-L / ViT-H | 85.2 / 86.6 | 无标签预训练 1,600 个 epoch 后微调,16 帧,5×3 view。320px·32 帧 ViT-H 为 87.4 |
| V-JEPA ViT-H/16 | 82.0 | 冻结编码器,仅训练注意力探测器(非微调) |
TimeSformer 的注意力方式比较(ImageNet-21K 预训练)如下(论文)。
| 注意力方式 | Kinetics-400 | Something-Something v2 |
|---|---|---|
| 仅空间(忽略时间) | 76.9 | 36.6 |
| 联合 | 77.4 | 58.5 |
| 时空分离 | 78.0 | 59.5 |
请注意,在 Kinetics 中,即使忽略时间也能达到 76.9% 。Kinetics 中的许多动作仅通过观察场景(游泳池、乒乓球桌)就能猜对。相比之下,Something-Something 的答案是“将某物从左向右推动”这种 运动本身,因此如果忽略时间,准确率会暴跌至 36.6%。乒乓球判罚显然更接近后者。
训练成本也各不相同。在 ImageNet-1K 预训练条件下,在 Kinetics 上训练 TimeSformer 花费了 416 GPU 小时,SlowFast R50 花费了 3,840 小时,I3D 花费了 1,440 小时(基于数据中心级 GPU 标准,TimeSformer 论文)。
VideoMAE 的数据效率。 这是仅使用各数据集的训练视频对同一个 ViT-B 进行预训练时的结果(论文)。
| 数据集(训练视频数) | 从头监督学习 | 对比学习(MoCo v3) | VideoMAE |
|---|---|---|---|
| UCF101(9.5千) | 51.4 | 81.7 | 91.3 |
| HMDB51(3.5千) | 18.0 | 39.2 | 62.6 |
| Something-Something v2 | 32.6 | 54.2 | 69.6 |
在只有几千个视频的小型数据集上,差距最为明显(UCF101和HMDB51实验采用75%遮挡进行预训练)。此外,使用4.2万个Something-Something视频预训练的模型(68.7)在Something-Something上的表现优于使用24万个Kinetics视频预训练的模型(68.5)。论文将此作为“预训练数据中,与测试领域的相似程度比数量更重要”的依据。
8. 局限性
- 分类无法说明“何时”。 这类模型为整个剪辑附加单个标签。即使知道“这2秒内有击球”,也不知道是“第几帧”。帧级别的视觉由第10篇精准事件检测探讨。
- 双向不是实时。 3D卷积和注意力机制通常同时查看剪辑的过去和未来。由于实时场景中没有未来,必须像TSM的单向变体那样将其改为因果关系,或者承受短暂的延迟(前向查看)。
- 小物体会在分辨率中消失。 在缩减至224px的帧中,乒乓球可能连1个像素都不到。
9. 与我们项目的关联
- 我们的球检测器是①的一种非常简单的形式。 BlurBall和WASB将连续3帧堆叠到通道中(9通道)并输入2D卷积网络(TT Score模型剖析第2篇)。这是在第一层混合时间的“早期融合”。第9篇中处理遮挡的TOTNet在此基础上增加了3D卷积。
- 我们的学习型边界判定器对轨迹而非像素施加时间卷积。 由于对球坐标、速度等9个特征的时间序列使用1D卷积,计算量非常小(第4篇,基于2026-10-13研究负责人标准正在进行的研究)。
- 视频级行为识别是教练方向的候选。 “是正手弧圈球还是推挡”之类的击球分类正是这类模型擅长的问题。目前的教练功能基于姿态(关节),而视频模型尚未进行测试(未实际测量)。
TT简评。 “击球前”和“击球后”单看一张照片是一样的。但是,如果把帧分开遮挡并要求模型回答,模型首先学会的是作弊——直接复制相邻的帧。管状遮挡(Tube masking)就是阻止这种作弊的机制。
参考文献
- Tran et al., Learning Spatiotemporal Features with 3D Convolutional Networks(C3D), ICCV 2015. https://arxiv.org/abs/1412.0767
- Simonyan & Zisserman, Two-Stream Convolutional Networks for Action Recognition in Videos, NeurIPS 2014. https://arxiv.org/abs/1406.2199
- Carreira & Zisserman, Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset(I3D), CVPR 2017. https://arxiv.org/abs/1705.07750
- Lin, Gan, Han, TSM: Temporal Shift Module for Efficient Video Understanding, ICCV 2019. https://arxiv.org/abs/1811.08383
- Sudhakaran et al., Gate-Shift Networks for Video Action Recognition(GSM), CVPR 2020. https://arxiv.org/abs/1912.00381
- Feichtenhofer et al., SlowFast Networks for Video Recognition, ICCV 2019. https://arxiv.org/abs/1812.03982
- Bertasius, Wang, Torresani, Is Space-Time Attention All You Need for Video Understanding?(TimeSformer), ICML 2021. https://arxiv.org/abs/2102.05095
- Tong et al., VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training, NeurIPS 2022. https://arxiv.org/abs/2203.12602
- Bardes et al., Revisiting Feature Prediction for Learning Visual Representations from Video(V-JEPA), TMLR 2024. https://arxiv.org/abs/2404.08471
- 示例代码与输出:
code/06_video_cost.py,code/06_video_cost.out.txt