计算机视觉中Two-Stream双流网络和I3D(双流网格的3D实现)

论文:《Two-Stream Convolutional Networks for Action Recognition in Videos》

论文: Quo Vadis,Action Recognition? A New Model and the Kinetics Dataset

李沐《双流网络论文逐段精读》

神洛华

1.1 Two-Stream网络结构

每个流都有一个CNN网络,其尾部接一个softmax输出概率分布值,最后对两个网络的softmax值进行融合。考虑两种融合方法:平均average和使用SVM

  • 空间流卷积网络
    • 输入是单个帧画面(静态图片),空间流从静止的视频帧中执行动作识别.主要学习场景信息。因为是处理静态图片,所以可以使用预训练的模型来做,更容易优化。最后根据网络输出的特征得出一个logist。
  • 时间流卷积网络
    • 以多帧图像的的光流(是从video中提取的特征信息)作为输入,通过多帧画面的光流位移来获取画面中物体的运动信息,两部分在经过softmax后进行late fusion。时间流则经过训练,以密集的光流的形式从运动中识别动作。

1.2什么是光流

光流(optical flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度。

光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。

通常将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。

一言以概之:所谓光流就是瞬时速率,在时间间隔很小(比如视频的连续前后两帧之间)时,也等同于目标点的位移

1.3 光流估计方法

1.光流堆叠(Optical flow stacking):在同样的点的位置上去取光流(图左)

2.轨迹堆叠(Trajectory stacking):利用光流的轨迹信息(图右)

2.1 什么是I3D?

  • I3D【Inflated 3D ConvNet】------膨胀卷积网络用于行为识别
  • CNN+LSTM是一种方法,其中CNN用于提取视频中关键帧的特征,而LSTM用于对这些特征进行时序建模。首先,视频中的关键帧被提取出来,得到K张图片。然后,这些图片经过CNN网络,得到它们的特征表示。接下来,这些特征被输入到LSTM网络中,用于对不同时间戳上的图片特征进行融合,从而得到整个视频的融合特征。最后,通过一个全连接层将LSTM最终时刻的特征映射到分类结果。
  • 3D Conv是另一种方法,它直接将视频帧输入到3D CNN网络中进行时空学习。与传统的2D卷积网络不同,3D卷积网络的卷积核具有时间维度,因此可以同时学习空间和时序信息(运动信息)。然而,由于增加了一个维度,模型的参数量很大,训练困难,并且效果也不理想。
  • Two stream(late fusion)是一种改进的方法。它使用光流来获取视频中的时序信息(运动信息),将其与2D网络结合起来。通过利用光流提供的物体运动信息,模型的性能得到了显著提升。
  • 3D Fused Two stream(early fusion)是对双流网络的改进。在传统的双流网络中,两个网络的输出仅仅进行简单的加权平均处理,效果不够理想。因此,将两个网络替换为一个较小的3D网络,并进一步融合特征。实验证明,先进行2D卷积网络训练,再进行3D卷积网络融合的效果更好。
  • Two stream 3D ConvNet是I3D的一种结构扩展方式。I3D结合了3D网络和双流网络的优势。由于单纯使用3D网络效果不佳,通过添加光流信息可以显著提高模型性能。因此,可以将I3D视为Two stream与3D Conv的结合。在I3D中,两个分支网络都是3D网络,不需要额外添加一个3D网络来进行融合,直接通过加权平均得到最终结果。

2.2 I3D实现细节

  • In flated Inception-V1架构(左)和其详细的初始子模块(右)

2.3实验结果对比

  • I3D在所有数据集上的表现最好
相关推荐
大江东去浪淘尽千古风流人物19 分钟前
【LoMa】局部特征匹配重访:从LoMa-B到旋转不变LoMa-R的架构与工程实践
开发语言·深度学习·计算机视觉·r语言·视觉定位·sfm·局部特征匹配
江润舟33 分钟前
万物 | 炼器 从零手搓工业级旋转目标检测网络 · 卷2 —— 计算图、梯度与反向传播(三)
人工智能·深度学习
zhurui_xiaozhuzaizai36 分钟前
github上关于节省token的项目一览,上下文压缩,节省token,agent优化skill,热门项目
人工智能·深度学习·github
牧羊人.3332 小时前
动手学深度学习 04 | Dataset 和 DataLoader、数据增强
人工智能·pytorch·深度学习·算法
XiaoZhenHua982 小时前
C#工业机器视觉软件架构设计:从能运行的Demo到能够稳定跑产线的软件
计算机视觉·系统架构·自动化
richard_yuu3 小时前
AOI 实战第六篇:.onnx 到 C++ 的最后一公里
c++·深度学习·yolo
硅谷秋水3 小时前
Qwen-Drive-1.0:迈向自动驾驶视觉-语言基础模型的第一步
人工智能·深度学习·机器学习·语言模型·自动驾驶
这张生成的图像能检测吗3 小时前
(论文速读)基于两阶段多模式深度学习的轮胎表面缺陷自动检测及严重程度分类系统
人工智能·深度学习·计算机视觉·数据采集·检测系统·缺陷检测分类·轮胎缺陷
Thomas.Sir3 小时前
第42课:TensorFlow|计算机视觉实战二【图像分割基础流程与数据标注规范】
人工智能·计算机视觉·tensorflow
无敌的牛4 小时前
大模型推理理解
人工智能·深度学习