社区计算机视觉课程文档

基于 CNN 的视频模型

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

基于 CNN 的视频模型

通用趋势:

深度学习的成功,尤其是大规模数据集(如 ImageNet)上训练的 CNN,彻底改变了图像识别。这一趋势在视频处理中也得以延续。然而,与静态图像相比,视频数据引入了另一个维度:时间。这种简单的变化带来了一系列新的挑战,而静态图像中训练的 CNN 并没有为此做好准备。

视频处理中之前的 SOTA 模型

双流网络 (2014)

Two-Stream architecture for video classification

本文扩展了深度卷积网络 (ConvNets) 以在视频数据中执行动作识别。

所提出的架构被称为双流网络。它在神经网络中使用了两个独立的路径:

  • 空间流: 标准的 2D CNN 处理单个帧以捕获外观信息。
  • 时间流: 2D CNN 或其他网络,处理多个帧序列(光流)以捕获运动信息。
  • 融合: 然后将两个流的输出组合起来,以利用外观和运动线索进行动作识别等任务。

3D ResNet (2017)

Residual block. Shortcut connections bypass a signal from the top of the block to the tail. Signals are summed at the tail.

标准 3D CNN 扩展了概念,使用 3D 核(2D 空间信息 + 时间信息)同时捕获空间和时间信息。该模型的一个缺点是参数数量庞大,导致训练计算量更大,因此比 2D 版本慢。因此,ConvNet 的 3D 版本通常比 2D CNN 的更深层架构具有更少的层。

在本文中,作者将 ResNet 架构应用于 3D CNN。这种方法为 3D CNN 引入了更深的模型并实现了更高的准确性。

实验表明,3D ResNet(尤其是 ResNet-34 等更深的模型)优于 C3D 等模型,特别是在更大的数据集上。Sports-1M C3D 等预训练模型可以帮助减轻小数据集上的过拟合。总体而言,3D ResNet 有效地利用了更深层架构来捕获视频数据中复杂的时空模式。

方法 验证集 测试集
Top-1 Top-5 平均分 Top-1 Top-5 平均分
3D ResNet-34 58.0 81.3 69.7 - - 68.9
C3D* 55.6 79.1 67.4 56.1 79.5 67.8
带 BN 的 C3D 56.1 79.5 67.8 - - -
不带 ImageNet 的 RGB-I3D - - 68.4 88.0 78.2

(2+1)D ResNet (2017)

3D vs (2+1)D convolution.

(2+1)D ResNet 的灵感来源于 3D ResNet。然而,关键的区别在于层的结构。这种架构引入了 2D 卷积和 1D 卷积的组合

  • 2D 卷积捕获帧内的空间特征。
  • 1D 卷积捕获连续帧之间的运动信息。

该模型可以直接从视频数据中学习时空特征,可能在动作识别等视频分析任务中带来更好的性能。

  • 优点
    • 在两次操作之间添加非线性整流(ReLU)使非线性操作的数量增加了一倍,与使用相同参数数量的完整 3D 卷积网络相比,该模型能够表示更复杂的函数。
    • 分解有助于优化,在实践中产生更低的训练损失和测试损失。
方法 Clip@1 准确率 Video@1 准确率 Video@5 准确率
DeepVideo 41.9 60.9 80.2
C3D 46.1 61.1 85.2
2D ResNet-152 46.5 64.6 86.4
卷积池化 - 71.7 90.4
P3D 47.9 66.4 87.4
R3D-RGB-8帧 53.8 - -
R(2+1)D-RGB-8帧 56.1 72.0 91.2
R(2+1)D-Flow-8帧 44.5 65.5 87.2
R(2+1)D-双流-8帧 - 72.2 91.4
R(2+1)D-RGB-32帧 57.0 73.0 91.5
R(2+1)D-Flow-32帧 46.4 68.4 88.7
R(2+1)D-双流-32帧 - 73.3 91.9

当前研究

目前,研究人员正在探索更深的 3D CNN 架构。另一种有前途的方法是将 3D CNN 与注意力机制等其他技术相结合。除此之外,还有一项推动开发 Kinetics 等更大视频数据集的努力。Kinetics 数据集是一个大规模高质量视频数据集,常用于人类动作识别研究。它包含数十万个涵盖广泛人类活动的视频片段。

当前研究

自监督学习:MoCo (动量对比)

3D vs (2+1)D convolution.

概览

MoCo 是自监督学习领域的一个突出模型,它使用对比学习方法从未标记的视频片段中提取特征。通过利用基于动量的队列,它有效地从大规模视频数据集中学习,使其非常适合动作识别和事件检测等任务。

主要功能

  • 动量编码器:使用动量更新的编码器来保持表示空间的一致性,增强训练稳定性。
  • 动态字典:采用基于队列的字典,为对比学习提供大量一致的负样本。
  • 对比损失函数:利用对比损失通过比较正负对来学习不变特征。

高效视频模型:X3D (扩展 3D 网络)

3D vs (2+1)D convolution.

概览

X3D 是一种轻量级 3D ConvNet 模型,专为视频识别任务而设计。它基于 3D CNN 的概念,但优化了更少的参数和更低的计算成本,同时保持了高性能。这使得它适用于实时视频分析和在移动或边缘设备上的部署。

主要功能

  • 效率:以显着更少的参数和更低的计算成本实现高精度。
  • 渐进式扩展:利用系统方法扩展网络维度(例如,深度、宽度)以获得最佳性能。
  • 易于部署:专为在计算资源有限的设备上轻松部署而设计。

实时视频处理:ST-GCN (时空图卷积网络)

3D vs (2+1)D convolution.

概览

ST-GCN 是一种专为实时动作识别而设计的模型,特别是在分析视频序列中的人体运动方面。它使用图结构建模时空数据,有效地捕获人体关节位置和运动。该模型广泛用于监控和体育分析等应用中的实时动作检测。

这些尖端模型在推动视频处理方面发挥着至关重要的作用,在视频分类、动作识别和实时处理等领域表现出色。

主要功能

  • 基于图的建模:将人体骨骼数据表示为图,允许自然地建模关节连接。
  • 时空卷积:集成空间和时间图卷积以捕获动态运动模式。
  • 实时性能:针对快速计算进行了优化,使其适用于实时应用。

结论

视频分析模型的演变令人着迷。这些模型深受其他 SOTA 模型的影响。例如,双流网络(Two-StreamNets)受到 ConvNets 的启发,而 (2+1)D ResNet 则受到 3D ResNet 的启发。随着研究的深入,未来有望出现更先进的架构和技术。

< > 在 GitHub 上更新