深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))


这里写目录标题

  • 视频的行为识别
  • 前言
  • 背景
  • 内容组成
  • 主要贡献
  • 算法介绍
  • 网络结构
    • 双流(two stream)网络结构
    • 空间流卷积网络(Spatial stream ConvNet)
    • 时间流卷积网络(Temporal stream ConvNet)
      • 卷积网络的输入配置
      • 光流估计方法
        • 光流的堆叠方式(optical flow stacking)
          • 光流堆叠(Optical flow stacking
          • 轨迹堆叠(Trajectory stacking)
  • 多任务学习
    • 背景
    • 解决
    • 目的

论文地址:ttp://de.arxiv.org/pdf/1406.2199
论文:Two-Stream Convolutional Networks for Action Recognition in Videos
视频的行为识别 参考链接:
视频的行为识别
论文阅读笔记
使用DL方法解决视频中行为识别/动作识别的问题解决思路有三个分支:
分别是two-stream(双流)方法,C3D方法以及CNN-LSTM方法。
本文将从算法介绍、算法架构、参数配置、训练集预处理、算法优势及原因、运行结果六个方面对每种算法进行阐释,并对每一个分支的算法集合总结自己的心得。本文暂不区分行为识别(Activity Recognition)与动作识别(Action Recognition)。
前言 这一篇论文是动作检测中较早的一篇,阅读这篇论文有助于近几年最新论文的阅读。
**如何在静态的图像和动态过程之间捕获一种连接性的信息,让两者能够很好的联系起来?**这篇论文就针对这样的问题,提出了很好的方案,它介绍了一种双流卷积网络,来实现视频中的行为识别。
背景 视频相比于图像而言,是一帧帧图像的集合。因此,很自然可以想到从两个维度去提取视频信息:
空间信息:单帧图像包含的信息,独立于这个帧的表面信息(也就是视频中的物体和场景信息)
时间信息:就是帧间的光流,它会携带帧之间的运动信息;多帧图像之间包含的运动信息;
所以文章就想能否同时利用视频的空间信息与时间信息,来更好的提取视频特征,进而进行视频分类任务。
内容组成 1.1部分,我们回顾了有关使用浅层、深层的架构的动作识别的相关工作。
第2部分,我们介绍了two-stream架构,并且详细介绍了空间卷积网络。
第3部分,介绍了时间卷积网络,并且特别介绍了它如何推广到1.1节中介绍的先前的网络。
第4部分,提出多任务学习框架,使得多个数据集上的训练数据可以容易的组合。
实现细节在第5部分给出。在第6部分进行评估,并与最先进水平进行了比较。
我们的实验在两个挑战性的数据集(UCF-101和HMDB-51数据集)上都展示出,两个识别流是互补的,并且我们的深度架构比Large-scale video classification with convolutional neural networks这篇论文做的要好,不管是在相对较小的数据集上训练,与浅表示的最先进水平相比也是有竞争力的。
主要贡献 论文就提出了空间网络和时间网络并存的双流卷积网络结构,
利用空间网络去处理静态信息,利用时间网络去处理动态信息。两者结合起来可以大大提高行为识别的准确率。
1.提出了一个双流卷积网络模型,其包括了空间网络和时间网络。
2.在较小规模的训练数据集上,在多帧稠密光流上训练的卷积神经网络可以获得非常好的性能。(指的还是那个双流卷积网络)
3.使用多任务学习(multiple learning),应用了两种不同的动作分类的数据集,可以同时提升数据集的规模和检测性能。
(多任务学习概念,即将不同种类的分类数据进行融合训练,论文中采用UCF-101和HMDB-51进行融合训练。多任务一方面可以提高它的数据量,也可以改善它的训练效果,来降低过拟合。)
UCF-101和HMDB-51两个数据集上取得state-of-the-art效果,也是深度学习进入行为识别的转折点。
算法介绍 该篇论文是双流方法的开山之作,论文所提出的网络使用以单帧RGB作为输入的CNN来处理空间维度的信息,使用以多帧密度光流场作为输入的CNN来处理时间维度的信息,并通过多任务训练的方法将两个行为分类的数据集联合起来(UCF101与HMDB),去除过拟合进而获得更好效果。
网络结构 双流(two stream)网络结构 每个流都有一个CNN网络,其尾部接一个softmax输出概率分布值,最后对两个网络的softmax值进行融合。考虑两种融合方法:平均average和使用SVM(作者实验中SVM效果更好)。
深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))
文章图片

视频信息可以分为空间和时间两个部分:
1)空间部分:通过单帧图像表达图像中的场景和对象的信息。
2)时间部分:通过多帧来表示对象的运行信息和时序行为。
模型分为两部分:
两个流都是用卷积网络来实现的。
spatial stream convnet网络以单帧图片(静态图像)作为输入;空间流从静止的视频帧中执行动作识别
temporal stream convnet以多帧图像的的光流(是从video中提取的特征信息)作为输入,两部分在经过softmax后进行late fusion。时间流则经过训练,以密集的光流的形式从运动中识别动作。
对于temporal stream convnet,用optical flow(光流信息)作为输入的效果,远远优于用raw stacked frame(简单的一系列帧)作为输入。
首先对输入的视频进行分流,分为空间流卷积和时间流卷积,在空间流卷积中可以看到,输入的是单个的帧,在时间流卷积中可以看到它是多帧的光流。空间流卷积和时间流卷积有很大的相似性,首先进行相似的卷积操作,卷积具有局部连接和权值共享的特点,能够大大降低训练时间,有效提取图像信息。经过卷积后,后面可以连接一个归一化层,归一化就是将这些数据调整到同一个数量级,来加快梯度下降来求最优解的速度。归一化之后会连接池化层,这里采用的池化法是最大池化法,对这个区域中最主要的信息进行提取。这样可以降低输出的大小,也可以降低过拟合。在经过五个卷积层之后,会连接两个全连接层,全连接层主要对前面的连接进行伸展和扁平化,第一个全连接层就是将不同大小的信息映射到更大的空间,来增加这个模型的表征泛化能力第二个全连接层是为了更好的匹配网络的输出尺度,为维度变化做准备,也就是得到我们想输出的形式 两个卷积层的最后一层都是softmax层,主要对输出进行分类,最终将他们的分类的分数进行融合。

分数的融合有2种方法:
平均法:将两者的分数进行平均,最后得到结果。
线性SVM(支持向量机法)
空间流卷积网络(Spatial stream ConvNet) 介绍:输入为单张RGB图像,经过一系列卷积、全连接层后接一个sofrmax输出概率分布值。
特点:单个视频帧上操作,有效地表现了静止图像中的动作识别。其自身静态外表是一个很有用的线索,因为一些动作很明显地与特定的目标有联系。
本质:图像分类架构
时间流卷积网络(Temporal stream ConvNet) 输入:多帧图像间的光流(optical flow)
介绍:多帧图像间的光流(optical flow),同样经过一系列卷积、全连接层后接一个sofrmax输出概率分布值。(作者实验部分对比了不同帧数光流的效果,最后取光流数L=10).
这个输入准确地描述了视频帧之间的运动信息,这使得识别更加容易,并且网络不需要暗中估计运动。
空间流和时间流使用的CNN网络结构基本一致,除了光流的conv2中没有使用normalization层。
网络中最后的class score fusion将两个stream的score值融合在一起,文章一共尝试了:average、SVM这两种方法,最后貌似SVM效果更佳。
卷积网络的输入配置
深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))
文章图片

**光流(optical flow)*由一些displacement vector fields(位移矢量场,每个vector用dt表示)组成的,其中dt是一个向量,表示第t帧的displacement vector,是通过第t和第t+1帧图像得到的。dt包含水平部分dtx和竖直部分dty
Figure2中的(d)和(e)。因此如果一个video有L帧,那么一共可以得到2L个channel的optical flow,然后才能作为Figure1中temporal stream convnet网络的输入。
光流是时间网络的载体。
FIugre2中
(a)和(b)表示连续的两帧图像,动作是一个人想要去拿东西的动作,在图中用矩形框勾画了出来。
(c)动作动作轮廓的表征,图中有很多矢量,这些矢量组成的区域叫做密集光流(光流位移场)。光流位移场分为水平分量和垂直分量。
(d)位移矢量场(强度高相当于正值,强度低相当于负值)的水平分量dx。
(e)垂直分量dy。注意d和e是如何高亮出移动的手和弓。卷积网络输出包含了多流(3.1部分)。
对于空间尺寸为W×H,时序长度为L帧的视频片段。每个帧间光流会有水平方向分量dx和垂直方向分量dy。将L帧中的dx和dy堆叠起来就得到长度为2L的channel,则光流网络的输入就为W×H×2L。
时间网络就是对应多个连续视频帧的光流位移场来形成的
设定w和h是视频的宽和高,对于任意帧τ,temporal stream convnet卷积网络输入容量,其中τ表示任意的一帧:
深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))
文章图片

光流估计方法
主要介绍了两种Iτ的计算方式,optical flow stacking和trajectory stacking,这二者都可以作为前面temporal stream convnet网络的输入
光流的堆叠方式(optical flow stacking) 深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))
文章图片

图3: 卷积网络从多帧光流中的输入来历。
左:光流叠加在连续多帧的同一个位置的采样位置矢量。
右:轨迹叠加沿着轨迹采样矢量。帧和与之相对应的位移矢量都用相同的颜色表示。
光流堆叠(Optical flow stacking 将多个视频帧的光流通道叠加在一起 ,如上图左边,就是光流堆叠的过程,图中不同帧的相同位置有3个光流。
(一个密集光流可以看做是在连续的帧t和帧t+1之间的一个位移矢量场dt的集合。通过dt(u,v),我们表示在帧t的(u,v)位置的位移矢量,他表示移动到在下一个帧t+1相对应的点。矢量场的水平和垂直部分是dtx和dty,可以视为图像的通道(如图2所示),在卷积网络中可以用来识别。为了表示一系列帧之间的运动,我们叠加了L个连续帧的流通道dtxy,行成了2L的输入通道。更正式的)
用如下图分别得到水平和竖直方向的Iτ的计算公式,其中(u,v)表示任意一个点的坐标。因此 Iτ(u,v,c) 存的就是(u,v)这个位置的displacement vector
深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))
文章图片

对于任意点(u.v),通道
深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))
文章图片
通过一系列L帧(如图3左图所示),编码了这个点的动作信息。
轨迹堆叠(Trajectory stacking) 如上图右边,沿着运动轨迹产生的光流。就是从第1到L帧中,轨迹是一个连续的过程(作者最后没有使用这种方式,
双向光流(Bi-directional optical flow):在一个帧的前向区间和一个帧的后向区间,堆叠一定数量的光流,然后来达到双向传递的效果。
平均流减法(Mean flow subtraction):对网络的输入进行零中心化(或者说是 光流可以人为操作进行位移调整),在论文中,是对每一个位移场距减去一个平均向量来实现平均流减法,这样做主要是纠正模型的非线性的问题
多任务学习 背景 不同于空间流卷积网络,它可以在大量静止图像数据集(例如ImageNet数据集)上进行预训练,
时间卷积网络需要在视频数据集上训练,对于视频动作识别可用的数据集非常少。
在我们的实验(第6部分)中,在UCF-101和HMDB-51数据集上训练,各自自由9500和3700个视频。
解决 数据集太少会导致过拟合,为了避免这种情况,卷积网络架构进行了修改,首先原来的网络(temporal stream convnet)在全连接层后只有一个softmax层,现在要变成两个softmax层,一个用来计算HDMB-51数据集的分类输出,另一个用来计算UCF-101数据集的分类输出。每一层都配有自己的损失函数,只在各自数据集的视频数据上操作。总体的训练损失由单个任务的损失和计算得出,通过后向传播计算网络权重。
目的 【深度学习|深度学习-视频行为识别(论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos))】旨在学习一个(视频)表示,不仅可以应用于这个问题(例如HMDB-51分类),也适用于其他任务(如UCF-101分类)

    推荐阅读