Beyond Short Snippets: Deep Networks for Video Classification

来源:互联网 发布:第一版主网小说网网络 编辑:程序博客网 时间:2024/06/07 20:32

1. Introduction

      卷积神经网络在静态图像识别问题上已被证明是非常成功的,如MNIST,CIFAR和ImageNet[15,21,28]。
通过使用可训练的滤波器和特征池化操作的层次结构,CNN能够自动学习视觉对象识别任务所需的复杂特征,从而比hand-crafted特征实现卓越性能。受到这些积极成果的鼓舞,最近已经提出了几种方法将CNN应用于视频和动作分类任务[2,13,14,19]。
       视频分析通过添加时间分量来向识别任务提供更多信息。时间分量可以额外使用运动和其他信息。同时,即使处理短的视频剪辑,任务的计算要求也更高,因为每个视频可能包含数百到数千帧,不是全部帧都是有用的。(不懂)一个简单的方法是将视频帧视为静止图像,并应用CNN来识别每个帧,并在视频级别平均预测结果。然而,由于每个单独的视频帧仅构成视频故事的一小部分,所以这种方法将使用不完整的信息,因此可能容易混淆类别,特别是如果有细粒度的区分或部分视频与感兴趣的动作无关。(不懂)
      因此,我们假设,学习视频的时间演化的全局描述对准确的视频分类很重要。从建模的角度来看,这是一个挑战,因为我们必须使用固定数量的参数,来建模可变长度的视频。 我们评估能够满足这一要求的两种方法:特征池
化和RNN。特征池化网络使用CNN独立地处理每个帧,然后使用各种池化层组合帧级别的信息。我们采用的RNN网络架构来自LSTM[11]单元,使用memory cell
来存储,修改,访问内部状态,使其能够发现长范围的时间关系。与特征池化相似,LSTM网络在帧级别CNN激活上操作,并且可以学习如何在时间上整合信息。通过在时间上共享参数,两种架构都能够保持恒定数量的参数,同时捕获视频的时间演化的全局描述。
       由于我们正在解决视频分类的问题,所以尝试利用运动信息来实现更好的网络是很自然的事情。以前的工作[14]已经尝试通过使用frame stacks作为输入来解决这个问题。然而,这种方法是计算密集型的,因为它涉及到在输入卷上应用数千个3D卷积滤波器。通过运用这种方法,在Sports-1M的基准测试中,这种方法的表现是低于2%[14]。
 因此,在本文中,我们避免隐式运动特征计算。
       为了在保持低计算量的情况下学习视频的全局描述,我们提出每秒处理一帧。在这种帧速率下,隐含的运动信息丢失。 To compensate, following [19] we incorporate explicit motion information in the form of optical flow images computed over adjacent frames. 因此,光流允许我们在仍然捕获全局视频信息的同时保持运动信息的优点(通常通过高fps采样实现)。我们的贡献可以总结如下:
1.我们提出了CNN架构,以获得全局视频级别的描述符,并表明使用越来越多的帧显着改善分类性能。
2.通过在时间上共享参数,在特征池化和LSTM架构中,参数的数量作为视频长度的函数保持不变。
3.我们确认,光流图像可以大大有益视频分类,呈现的结果表明即使光流图像本身也是非常的嘈杂(与Sport-1M数据集的情况一样),它们仍然可以与LSTM一起提供一个好处。
        利用这三个原则,我们在两个不同的视频分类任务上实现了最先进的表现:Sports-1M(4.1节)和UCF-101(第4.2节)。

2. Related Work

       传统的视频识别研究在获得对外观和运动信息进行编码的全局视频描述符方面非常成功,从而在大量视频数据集上提供最先进的结果。这些方法能够使用 hand-crafted特征来聚合局部外观和运动信息,例如 Histogram of Oriented Gradients (HOG), Histogram of Optical Flow (HOF), Motion Boundary Histogram (MBH) around spatio-temporal interest points [17], in a dense grid [24] or around dense point trajectories [12, 16, 22, 23] obtained through optical flow based tracking. 然后对这些特征进行编码,以便通过bag of words (BoW)[17]或基于Fisher向量的编码来产生全局视频级描述符[23]。
       然而,以前没有基于CNN的视频识别的尝试使用运动信息和视频的全局描述:几种方法[2,13,14]在短视频剪辑(通常只有几秒钟)上使用3D卷积从原始帧隐含的学习运动特征,然后在视频级别聚合预测。Karpathy等人[14]证明他们的网络只是略微优于单帧baseline,这表明学习运动特征是困难的。鉴于此,Simonyan等[19]直接包含来自光流的运动信息,但只能在inference时,对10个连续帧进行采样。这种局部方法的缺点是,每个帧/剪辑可能只包含完整视频信息的一小部分,导致一个网络不会比对单个帧进行分类的简单方法更好。
       而不是尝试在小时间段内学习时空特征,我们考虑几种不同的方法在长时间的视频上(几十秒)聚合强大的CNN图像特征,包括特征池化和RNN。由于梯度消失和爆炸的问题,标准的循环网络在长序列学习中出现问题[3]。相比之下,LSTM[11]使用 memory cells 来存储,修改和访问内部状态,使其能够更好地发现远程时间关系。因此,LSTMs在手写体识别[8,10],语音识别[9,7],音素检测[5],情感检测[25],会议和事件分割[18]和评估程序[27]中产生最先进的结果。虽然LSTM已被应用于[1]中的动作分类,但该模型是在SIFT特征和BoW表示之上学习的。此外,我们提出的模型允许共同微调网络的卷积和RNN部分,这在以前的工作中提出的使用hand-crafted 特征是不可能的。 Baccouche等人[1]在  应用于9帧视频剪辑的3D卷积的输出上使用LSTM网络学习全局,但不包含明确的运动信息。

3.Approach

       两个CNN架构用于处理单个视频帧:AlexNet和GoogLeNet。 AlexNet,是一个Krizhevsky-style的CNN [15],它采用220×220大小的帧作为输入。然后通过卷积核大小为11,9和5的卷积层处理这个帧,每个卷积层后面连接最大池化和局部对比度归一化。最后,输出被馈送到两个完全连接层,每层具有4096个ReLU。对每个完全连接层(0.6)应用dropout,比率为0.6(保持和缩小原始输出的40%)。 
       GoogLeNet [21]采用NIN方式,堆叠Inception模块,形成了与以前的CNN有很大不同的22层深度的网络[15,28]。像AlexNet一样,GoogLeNet以220×220尺寸的单张图像作为输入。然后将该图像通过多个Inception模块,每个Inception模块以并行的方式运行1×1,3×3,5×5卷积和最大池化操作,并连接所得到的滤波器。最后,激活是平均池化的,并以1000维向量输出。
       在以下各节中,我们调查了能够聚合视频级别信息的两类CNN架构。在第一节中,我们研究了与时间顺序无关的各种特征池化结构,在下一节中,我们研究了能够从时间有序序列学习的LSTM网络。为了使学习在计算上可行,在所有方法中,CNN在帧间共享参数。 

3.1.Feature Pooling Architecture

       时间特征池化已经被广泛地用于视频分类[17,24,22],并且通常被应用于bag-of-words表示。通常,在每个帧上计算基于图像或运动特征,量化,然后在时间上池化。所得到的向量可用于进行视频级预测。我们遵循类似的推理方式,除了由于我们使用神经网络的事实,汇集操作可以直接并入一层。这使我们能够相对于网络架构来测试时间池层的位置。我们根据具体的池化方法和特征聚合的特定层来分析几种变化。池操作不需要限于最大池。我们考虑使用平均汇集和最大汇率,它们具有几个所需的性质,如[4]所示。此外,我们尝试使用完全连接的层作为“池层”。然而,我们发现,由于它们产生的梯度数量众多,我们发现,由于大量的梯度,对于集合而言,无法有效地学习。最大池生成更多的更新,因此趋向于产生学习更快的网络,因为渐变更新是由asparsesetoffeaturesfromeachframe生成的。因此,本文采用文件集合特征聚合技术。与传统的单词方法不同,来自顶层的渐变有助于从图像像素学习有用的功能,同时允许网络选择哪些输入框架受到这些更新的影响。当与max-pooling一起使用时,这让人联想到多个实例学习,其中输入的知识与目标类相关。我们尝试了基本的最大池化体系结构的几个变体,如图2所示:...

阅读全文
0 0
原创粉丝点击