视频理解学习笔记(三)

视频理解学习笔记(三)

  • 时间梳理
  • 结果对比
  • 从hand-crafted到deep-learning
    • DeepVideo论文概览 (Slow Fusion)
  • Two-Stream and Its Variants
    • Two-Stream CNN (Late Fusion)
    • Beyond Short Snippets (Two-Stream + LSTM/ConvPooling)
    • 3DConv + 3DPool, Early Fusion (Conv Two-Stream)
    • TSN
  • 总结
  • Reference

时间梳理

Paradigm: Time Paper
传统到CNN DeepVideo
Two-Stream:2014-2017 Two-Stream
3D-ConvNet:2017-2020 I3D
ViT-based:2020-present

视频理解学习笔记(三)_第1张图片

结果对比

Model UCF101 (acc, %)
Improved Dense Trajactories (IDTF)S 87.9
Deep Video (Slow Fusion) 65.4
Two-Stream CNN (Optical Flow + Image Frames, SVM Fusion 88.0
Beyond Short Snippets (LSTM Fusion) 88.6
TDD + FV 90.3
3DConv + 3DPool 93.5
TSN 94.0
TLE 95.6

从hand-crafted到deep-learning

DeepVideo论文概览 (Slow Fusion)

论文链接:Large-scale Video Classification with Convolutional Neural Networks by Andrej Karpathy, Li Fei-Fei and etc. from Google Research and Computer Science Department, Stanford University.

Part 1:
视频理解学习笔记(三)_第2张图片

  • Single Frame:从视频里面抽取一帧出来,喂进卷积网络中得到结果。相当于普通的2D图像分类。
  • Late Fusion:从视频里面抽取多帧出来,分别喂进权重共享的卷积网络中,在结果层面做信息融合。比如说Two-Stream在logits处做average或者SVM,因此算是有时序信息在其中。
  • Early Fusion:直接在输入层面做信息融合,如图所示,将consecutive 5 frames在channel维度concatenate起来,相当于输入总共拥有15个channel(每个frame有3个channel)。
  • Slow Fusion:在学习过程中,即特征层面做时序信息融合。

以上4种方法中,Slow Fusion效果最好,但其实4种方法的效果差别很小

Part 2: Multisolution CNN Architecture.
视频理解学习笔记(三)_第3张图片
如上图所示,

  • 上面的分支:学习核心信息。从原始图中间crop出来(认为物体一般在图片中心),让fovea stream来学习这种核心信息。fovea意味视网膜中央凹,该部位对外界变换最为敏感。
  • 下面的分支:学习整体的全局信息。没有特殊处理。

上下两个分支权重共享

该网络在某种程度上也算是一种双流网络。这其实是早期的一种注意力机制,强制让模型去关注图片中心区域。

Two-Stream and Its Variants

Two-Stream CNN (Late Fusion)

双流卷积神经网络概览

由双流网络的启发(效果不一定好,探索):

  • Early fusion and late fusion
  • 换backbone,尝试更深的网络;如何在小数据集上训练大模型,控制过拟合。
  • 怎么更好地处理时序信息,比如说用RNN或者LSTM等。
  • 怎么做长视频

Beyond Short Snippets (Two-Stream + LSTM/ConvPooling)

探究时序信息Fusion的方法,怎么做pooling,主要提出了Conv Pooling和尝试了LSTM。这两者都可以处理非常多的帧,所以叫做beyond short snippets。
论文链接:Beyond Short Snippets: Deep Networks for Video Classification_CVPR’15 by Joe Yue-Hei Ng etc. from University of Maryland, College Park, University of Texas at Austin and Google, Inc.

方法
视频理解学习笔记(三)_第4张图片

实验:
和其他方法做对比:基于双流网络做出的改进,带来的效果提升非常有限。
视频理解学习笔记(三)_第5张图片

消融实验:
视频理解学习笔记(三)_第6张图片
结论:LSTM这种看似能够很好融合时序信息的方法,其实和ConvPooling的效果差不了多少(因为LSTM学的是更high-level的语义信息,需要一个比较长的序列和比较明显的变化);上表中最好两排相比前面两排的增益,主要来自光流的利用。

3DConv + 3DPool, Early Fusion (Conv Two-Stream)

即在卷积中做fusion。

探究Early Fusion,非常细致地讲了如何去做信息融合。具体来讲,如何基于双流网络去做时间流和空间流的early fusion。

论文链接:Convolutional Two-Stream Network Fusion for Video Action Recognition_CVPR’16 by Christoph Feichtenhofer and Axel Pinz from Graz University of Technology, Andrew Zisserman from University of Oxford.

  • Spatial Fusion

    • 怎么合并
      • Max Fusion
      • Concatenation Fusion
      • Conv Fusion (表现最好)
      • Sum Fusion
      • Bilnear Fusion
    • 在哪里合并
      • 空间流和时间流先分别做,然后在中途合并
        视频理解学习笔记(三)_第7张图片
      • 先两个网络分别做,然后把空间流的特征拿去和时间流的特征做合并。(表现更好)
        视频理解学习笔记(三)_第8张图片
  • Temporal Fusion

    • 3D Pooling
    • 3D Conv + 3D Pooling

视频理解学习笔记(三)_第9张图片
实验:

和其他方法做对比:
视频理解学习笔记(三)_第10张图片
结论:Early Fusion可能算是一种对网络的变相的约束,在一定程度上弥补了数据集不足的问题。

贡献:

  • 大量消融实验,在哪里做fusion,怎么做fusion
  • 展现了3D CNN的可行性

TSN

如何处理更长的视频和一些好用的技巧

论文链接:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition_ECCV’16 by Limin Wang etc. from ETH, CUHK, CAS

方法:
给长视频分段,从每个段抽取一帧rgb和对应的光流,喂进权重共享的双流网络。
视频理解学习笔记(三)_第11张图片

  • 如何利用输入不同的预训练好的模型进行初始化(如何利用在ImageNet上预训练好的模型参数对TSN进行初始化):RGB是3个channel,而TSN的输入是N个channel。方法:在第一层对3个channel的参数取平均,得到一个channel的参数;将这个参数重复N次。
  • 正则化的技巧
    • 问题:BN虽然能加速训练,但加重过拟合。解决:partial BN,即把部分BN冻住。具体来讲,把第一层BN打开(因为输入变化了),其他BN全部冻住。
  • 数据增强:防止过拟合。
    • coner cropping:强制在边边角角做crop;
    • jittering:改变视频帧的长宽比。具体操作:resize到固定大小,然后去做裁剪。

实验:
和其他方法对比:
视频理解学习笔记(三)_第12张图片

总结

视频理解学习笔记(三)_第13张图片

  • 上半支:传统方法
    • STIP: Spatial Temporal Interest Point
    • DT/IDT: Dense Trajectory / Improved Dense Trajectory
    • IDT + FV: Fisher+ Vector
  • 下半支:深度学习
    • DeepVideo’14
    • Two-Stream
      • 利用光流轨迹做堆叠:TDD_CVPR’15
      • 利用时序模型LSTM和做Pooling(late fusion):Beyond Short Snippets_CVPR’15
      • Early Fusion: 3DConv + 3DPool, Conv Two-Stream_CVPR’15
      • 对长视频的理解:TSN_ECCV’16
        • 将全局编码加到TSN中,学习一个更全局的video-level特征
          • DVDF:非端到端
          • TLE_CVPR’17:端到端

Reference

Bilibili-视频理解论文串讲(上)

你可能感兴趣的:(视频理解,视频理解,人工智能,计算机视觉)