核心要点
3D 卷积(如 C3D/I3D):在时空维度联合卷积,直接捕捉短时运动,但计算/参数量大
时序注意力(视频 Transformer,如 TimeSformer/ViViT):在帧间做注意力建模长程依赖
双流网络:RGB 空间流 + 光流时序流分别建模外观与运动,再融合
标准回答
为什么时序是关键
视频比图像多了时间维度,很多任务(动作识别、事件检测)必须靠帧间变化才能判断——单帧无法区分「开门」与「关门」。核心挑战是高效建模时序依赖且控制算力。
主流方案
- 3D 卷积:把 2D 卷积扩展到时间维(C3D、I3D),在局部时空块上联合卷积,能捕捉短时运动,但参数和计算量大。
- 双流网络:一路输入 RGB 帧建模外观(空间流),一路输入光流建模运动(时序流),两路特征融合,显式分离外观与运动。
- 时序注意力 / 视频 Transformer:如 TimeSformer、ViViT,把视频切成时空 patch,用注意力(可分解为空间注意力 + 时间注意力)建模长程时序依赖,更适合长片段。
- 帧采样:长视频逐帧处理代价高,TSN 等用稀疏采样在整段均匀取帧、关键帧采样取信息量大的帧,在覆盖长程时序与控制算力间折中。
选型
短时局部运动用 3D 卷积/双流;长程依赖与大规模预训练用视频 Transformer;长视频务必配合采样策略。
常见误区
⚠️ 常见踩坑
逐帧用 2D CNN 再平均池化会丢失时序顺序,无法区分顺序相关动作。光流计算开销大,双流网络的时序流并非「免费」。
追问
追问 1:为什么不能简单地对每帧用 2D CNN 再做平均池化?
平均池化对帧顺序不变,会丢掉时间方向信息,无法区分「坐下」与「起立」这类只差时序的动作。它只能聚合外观线索,捕捉不到帧间运动。要建模动作必须显式引入时序结构,如 3D 卷积、光流时序流或帧间注意力来保留顺序与运动。
追问 2:视频 Transformer 如何控制注意力的计算复杂度?
直接对所有时空 patch 做全注意力,复杂度随帧数与分辨率平方增长。TimeSformer 用「分解注意力」:先在同一帧内做空间注意力,再跨帧做时间注意力,把联合复杂度从 O((T·N)^2) 降到近似 O(T^2+N^2)。配合稀疏帧采样和分块策略,可在长视频上保持可控算力。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。