[论文阅读笔记]Two-Stream Convolutional Networks for Action Recognition in Videos

Introduction

  识别视频中的人类动作行为是一个富有挑战性的任务,在研究界得到了极大关注。与静态图像分类相比,视频的时间分量为识别提供了额外的(重要的)线索,因为可以基于运动信息可靠地识别多个动作。另外,视频为单一图像(视频帧)分类提供自然数据增强(抖动)。
  在本文中,作者的目的是扩展一种最先进的静态图像表示的深层卷积神经网络—ImageNet。李飞飞使用堆叠视频帧作为网络的输入,但结果比人工设计的浅层表示方法还要差很多。本文使用基于时域和空域的两路识别输入流,之后再进行融合的网络结构。空域流从静止的视频帧中执行行为识别,时域流被训练以密集光流的形式识别来自运动中的动作。两个流都是使用卷积神经网络实现的。把空间网和时间网分开,可以让我们能够通过在ImageNet挑战数据集上预训练空间网来利用大量注释图像数据。这个双流卷积结构的构思和人类视皮层的生物结构相似,人类视皮层包含两条途径:ventral stream(执行对线识别)和dorsal stream(识别运动)。

Core Knowledge

视频识别常用方法介绍
  视频识别研究主要是由图像识别方法的进步驱动的,图像识别方法经常被适应和扩展以处理视频数据。有三种常用的视频动作识别的方法:

  1. shallow high-dimensional encoding of local spatio-temporal features(基于时空域特征的浅层高维编码) :
    检测稀疏时空的兴趣点,然后使用局部时空特征:HOG(Histogram of Oriented Gradients)和HOF(Histogram of Optical Flow)来描述。这些特征然后被编码成BOF(Bag of Features,特征词袋)表示,并且与SVM线性分类器组合。但后面有研究显示,局部特征的密集采样优于稀疏的兴趣点。
  2. dense point trajectories (密集点轨迹)
    现在最先进的浅层视频表示使用密集点轨迹。由调整局部描述符支持区域组成,可以跟随轨迹,通过光流计算。用基于轨迹的管道实现最好效果的小组是Motion Boundary Histogram(MBH),他的特征是基于梯度的,用水平和垂直方向的光流分别计算。几种特征的组合可以进一步提高识别的精度。最近基于轨迹的手写表示,包括全局动作补偿,和使用费舍尔向量,以及更深层变体网络都有效提高识别精度。
    全局动作补偿:消去摄像头运动引起的相对运动。具体表现为将此时动作的位置平移到前一帧的位置,保持运动者的主体位置不变。
  3. 深层网络
    在这些工作中,网络的输入是一叠连续的视频帧,期望该深层网络模型在前几层中隐性地学习时空运动相关特征,而这是一项非常困难的任务。
    刚开始,有人提出在第一层中使用一种用于视频识别的HMAX架构,其具有预定义的时空滤波器。之后,有人把它和红箭HMAX模型结合,形成空间(ventral-like)和时间(dorsal-like)识别流。但这两个识别流和本文的工作不同,这两个识别流是通过手写表示并且其网络结构相当浅(3层)。
    有人比较过几个用于动作识别的卷积网体系架构,发现在单个视频帧上运行的网络与输入是一叠视频帧的网络结果是差不多的,这表明学习的的时空特征不能很好地捕获运动。在UCF-101数据集上微调学习到的表示被证明比手写的最先进的基于轨迹的表示精度低20%。
  4. 本文的网络构架
    本文的时间流卷积网络是在多帧密集光流上进行,通常通过求解位移场(光流的一种)在能量最小化框架中计算。本文基于强度及其梯度的恒定性假设以及位移场的平滑度来制定能量。

光流信息

传统的位移场:dt(u,v)表示在t时刻对应帧上的一个点(u,v),要把它移动到t+1时刻相应地方的方向向量。(这个点具体要怎么得到,可以通过opencv直接处理视频帧得到。)

几种光流表示:

  1. 光流堆叠:
    一个密集光流能够被看做是位移矢量场的结合。时间信息就是从该帧开始接下来连续的L帧,每相邻两帧之间提取所有点的光流信息作为输入,分为X轴和Y轴方向。因此设每帧有w*h个像素点,那么每帧对应的网络输入信息的维数就是w*h*2L。
    位移场的水平和垂直部分dxt,dyt可以被认为是图像的通道。 两通道结合作为输入的结合方式如下:

  2. 轨迹堆叠
    可以想象为在运动轨迹线上进行的抽样。假设一帧的像素点,可以通过光流来追踪它在视频中的轨迹点,从而计算它在每一帧的相应位置的光流向量。同样的会把光流分解成X,Y两个方向的光流,这时会有2L个通道。
    两通道结合作为输入的结合方式如下:

  3. Mean flow subtraction.(减去平均光流)
    对网络的输入使用0中心化,能够使网络更好地利用relu。在我们的方案中,x方向和y方向的位移矢量场都可以是正值或者负值。这主要是为了消去摄像头运动引起的相对运动。

  4. Bi-directional optical flow(双向光流)
    双向的位移矢量
    这里写图片描述
    小结:
      Optical flow stacking 方法存储的是位置(u,v)的位移矢量;
      Trajectory stacking方法存储的是在顺着轨迹线位于位置的向量。

基于Two-stream结构的视频识别

  视频可以分为空域和时域组成部分:
  空域部分,以单个静止视频帧表象的形式存在,携带视频中的背景(场景)和目标等信息,并在此单帧中执行动作识别
  时域部分,以视频帧的运动形式存在,即静止帧的2L信道光流/轨迹,传递观察者(相机)和目标的移动,并在此多通道输入中执行动作识别。

  设计的结果如下图所示:
这里写图片描述

  每一个输入流使用一个深度卷积网络进行训练,经过softmax层的作用后,得到两个“输出”。将这两个softmax输出结合起来,得到分类结果。

有两种结合方式:
1. 加权融合
  但视频中的分类不是按照类似动作的视频就邻近的,所以这种取均值的结合方式并不是很适合。
2. SVM分类
  将两个softmax输出合起来作为新的输入特征。训练SVM分类器实现多分类。

多任务学习

  对于空间卷积网络,因为它输入的只是静态单帧图像,而且只是一个分类网络,它有大量的数据集可供预训练,这是为了应付过拟合的问题。
  而对于时间卷积网络,需要的是视频数据进行训练,而当前的视频数据集规模仍然较小。为了防止过拟合,可以将两个数据集融合为一个。但是两个数据集的分类之间可能存在一些交集,一种选择是将当前数据集中与第二个数据集不同分类的图像放入第2个数据集中,但是这种方法需要人为查找,并且限制了数据集的规模。
  一个更为有效的融合的方法是基于多任务学习。它的目标是学习视频的表示,从而能够应对多种任务(多种数据集)。额外的任务作为一个调整,允许利用额外的训练数据。
  在本文的方法中,ConvNet被修改为在最后的全连接层拥有两个softmax分类层,每一个分类层对应不同的任务(不同的数据集)。每一层拥有损失函数。总的训练损失为单个任务损失之和,网络的权重可以通过总损失函数的后向传播算法得到。

这里的多任务可不可以有另一种做法(疑问)?
  先训练额外的数据集,如HDMB-51数据集,此时,softnax层的结点数为51。当训练完了之后,将softmax结点数改为101个(UCF-101),保留其余结点参数。依照这样的方式,额外数据集就可以作为一种数据增长的方式,先后训练的方法也可以当做正则化,防止过拟合?)。

实施细节

  卷积网配置:隐藏层的激活函数使用ReLu函数,Max-Pooling大小为3*3,步距为2。时间卷积网和空间卷积网唯一的差别在于移除了时间网的第二个正则化层以减少内存需求。
  训练:训练步骤由AlexNet调整而来,对于时域和空域是同样的。网络权重通过动量为0.9的批处理随机梯度下降算法学习得到。每一次迭代,小尺寸的256个样本通过256个训练视频(从不同类中均匀抽样)抽样,每一个视频中一个单帧视频被随机获取。

  • 空域训练
    224×224子图像从选择的帧中随机裁剪;然后采用随机的水平翻转和RGB颜色抖动。视频预先调整大小,所以帧的最小尺寸等于256
  • 时域训练
    计算一个光流输入流I,固定尺寸224×224×2L的输入随机裁剪和翻转。学习速率初始化设置为10−2,之后根据固定的步骤下降,所有训练集保持相同。
    测试:给定一个视频,抽样得到固定数目(本实验25)的帧,对于每一个视频帧,我们可以通过裁剪、翻转视频帧四个角和中心区域获得10个ConvNets。整个视频的类别得分可以通过平均抽样视频的得分得到。

结论
这里写图片描述

  1. 空间卷积网:空间卷积网络需要预训练后在整个网络上进行微调,可以看出,当from scratch训练时,dropout率为0.9都会过拟合。但当微调整个网络后,当dropout为0.9时,精确度达到72.8%.

  2. 时间卷积网络:当堆叠光流的L达到10时,精确度最高可达到81.0%。使用双向光流,精确度为81.2%,在时间卷积网络起到略微提升的作用。另外,我们可以从上面的图表中看出,Mean flow subtraction对于训练时间网来说是非常有用的,它在帧之间的运动检测起到了很有效的作用。

  3. 对比空间网和时间网,可以发现时间网表现出来的效果比空间网要好,这也证明了在动作检测中运动信息的重要性。

    这里写图片描述
    从表中可以看出,使用多任务学习,对于提升时间网的训练精确度是很有效的。

    这里写图片描述
    从表中可以看出:

    1. 时间网和空间网是互补的,因为它们的融合在两个空间网络上显着改善(比时间网高6%,比空间网高14%);

    2. 对Softmax层的组合来说,进行SVM分类比平均融合要好得多;

    3. 尽管使用双向光流对训练时间网有略微提升,但对时间网和空间网的融合是不利的。
      这里写图片描述

  通过精确度的对比可以得出:双流卷积神经网络对于动作识别来说是一种很好的方法,且对比平常单卷积网络来说,其提升效果明显。

不足

  抛却文中所说的应用于轨迹堆叠光流的不适用,对于相机运动带来的相对运动的处理,我觉得本论文中实验最大的问题在于,光流和静态RGB图像是预处理后保存的,这影响了网络的速度,也对应用于实际应用造成了另外的麻烦。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值