社区计算机视觉课程文档

基于 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 ResNets (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 版本慢。因此,ConvNets 的 3D 版本通常比 2D CNN 更深层的架构层数更少。

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

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

方法 验证集 测试集
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
C3D w/ BN 56.1 79.5 67.8 - - -
RGB-I3D w/o ImageNet - - 68.4 88.0 78.2

(2+1)D ResNets (2017)

3D vs (2+1)D convolution.

(2+1)D ResNets 受 3D ResNets 的启发。然而,一个关键的区别在于层的结构方式。这种架构引入了 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-8frame 53.8 - -
R(2+1)D-RGB-8frame 56.1 72.0 91.2
R(2+1)D-Flow-8frame 44.5 65.5 87.2
R(2+1)D-Two-Stream-8frame - 72.2 91.4
R(2+1)D-RGB-32frame 57.0 73.0 91.5
R(2+1)D-Flow-32frame 46.4 68.4 88.7
R(2+1)D-Two-Stream-32frame - 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 ResNets 则受到 3D ResNets 的启发。随着研究的进展,我们可以期待未来会出现更先进的架构和技术。

< > 在 GitHub 上更新