视频分析依赖于能够处理空间和时间信息的神经网络。三种广泛使用的架构包括 3D 卷积神经网络 (3D CNNs)、双流网络 (Two-Stream Networks) 和基于 Transformer 的模型。每种架构都解决了捕获视频帧间运动和上下文的挑战,尽管它们在设计和计算需求上有所不同。根据任务和可用资源,结合这些架构或集成循环组件的混合方法也很常见。
3D CNNs 通过在卷积中添加时间维度来扩展传统的 2D CNNs,从而实现直接的时空特征学习。例如,C3D 模型在帧间应用 3x3x3 核来提取运动模式,这使其在短视频片段的动作识别中表现出色。更高级的变体 I3D (Inflated 3D CNN) 将在 ImageNet 上预训练的 2D 卷积核“膨胀”成 3D,提高了在 Kinetics 等数据集上的性能。虽然 3D CNNs 能够很好地捕获局部运动,但由于需要同时处理多帧,其计算量较大。为了缓解这一问题,像 Pseudo-3D (P3D) 或 R(2+1)D 这样的技术将空间和时间卷积分开,在减少参数的同时保持了准确性。
双流网络 (Two-Stream Networks) 并行处理空间 (RGB 帧) 和时间 (运动) 数据。Simonyan 和 Zisserman 提出的原始双流架构使用空间流进行场景分析,而时间流则输入光流 (像素运动向量) 以捕获运动。像 SlowFast Networks 这样的现代变体通过将处理分为两个路径来优化这一点:“慢”分支处理高分辨率空间特征,“快”分支处理低分辨率运动线索。这种设计平衡了效率和准确性,利用预训练的 2D CNNs 提取空间特征。TSN (Temporal Segment Networks) 通过采样稀疏帧片段并聚合预测,进一步改进了时间建模,在减少计算量的同时保持了上下文。
基于 Transformer 的模型,例如 TimeSformer 和 Video Swin Transformer,将自注意力机制应用于视频。TimeSformer 将视频分割成时空块,并在两个维度上应用注意力,从而无需卷积即可建模长距离依赖关系。Video Swin Transformer 使用带偏移窗口的分层方法来降低计算成本。这些模型在需要全局上下文的任务中表现出色,例如长时活动识别。对于序列建模,像 CNN-LSTM 这样的混合架构将卷积层(用于每帧特征)与循环层(例如 LSTM)结合,以跟踪时间动态,这对于手势预测等任务很有用。开发者通常优先考虑 3D CNNs 或 Transformer 以获得更高准确性,但在平衡速度和资源限制时可能会选择双流或混合模型。