[翻译]Beyond Short Snippets: Deep Networks for Video Classification

摘要

卷积神经网络(CNNs)被广泛应用于图像识别问题,在识别、检测、分割和检索方面提供了最先进的结果。在这项工作中,我们提出并评估了几个深度神经网络架构,将在一个视频中更长时间的图像信息结合起来。我们提出了两种处理全长度视频的方法。第一个方法探索了各种卷积时间特征池架构,研究了在为这个任务调整CNN时需要做出的各种设计选择。第二种方法明确地将视频建模为一个有序的帧序列。为此,我们使用了一个循环的神经网络,它使用长短期记忆(LSTM)单元,这些单元与基础CNN的输出相连接。我们最好的网络在以前发布的关于运动100万数据集(73.1%vs.60.9%)和UCF-101数据集(88.6%比88.0%)和没有额外的光流信息(82.6%比73.0%)的数据上有显著的性能改进。

1. 介绍

 

卷积神经网络在静态图像识别问题上已经被证明是非常成功的,比如MNIST,CIFAR和ImageNet的大规模视觉识别挑战[15, 21, 28]。通过使用层次的可训练的过滤器和特征池操作,CNNs能够自动地学习视觉目标识别任务所需的复杂特征,从而实现相对手工制作的特征的卓越性能。在这些积极的结果的鼓舞下,最近提出了几种方法,将CNNs应用于视频和动作分类任务[2, 13, 14, 19]。

视频分析为识别任务提供了更多的信息,它添加了一个时间组件,通过该组件可以额外使用动作和其他信息。与此同时,由于每个视频可能包含数百到数千个帧,而不是所有的视频都是有用的,所以这个任务对于处理短视频剪辑的要求更多的计算量。一个简单的方法是将视频帧作为静态图像处理,并应用CNNs来识别每个帧,并在视频级别上平均预测预测。然而,由于每个单独的视频帧只构成了视频故事的一小部分,这样的方法将会使用不完整的信息,因此很容易混淆类,特别是如果有细粒度的区别或视频的部分与感兴趣的行为无关的话。

因此,我们假设学习视频时间演变的全局描述对于精确的视频分类是很重要的。从建模的角度来看,这是一个挑战,因为我们必须用固定数量的参数来对可变长度的视频进行建模。我们评估两种能够满足这一需求的方法:特征池和循环神经网络。特征池网络使用CNN独立的处理每一帧,使用不同的池层将帧级信息结合起来,从而独立地处理每一帧。我们使用的循环神经网络结构是由长短期记忆(LSTM)[11] 个单元派生而来的,它使用内存单元来存储、修改和访问内部状态,从而使其能够发现长时间的时序关系。就像特征池一样,LSTM网络在帧级的CNN激活中运行,并且可以学习如何随着时间的推移集成信息。通过在时间上共享参数,这两种架构都能够在捕捉到视频的时间演变的全局描述的同时,保持一定数量的参数。

由于我们正在解决视频分类的问题,所以尝试利用运动信息来获得一个更好的网络是很自然的。以前的工作[14]试图通过使用堆叠的帧作为输入来解决这个问题。然而,这种方法的计算量非常大,因为它涉及到在输入卷上应用的数千个3D卷积滤波器。应用这种方法的性能收益在Sports-1M基准测试[14]中低于2%。因此,在这项工作中,我们避免了隐式运动特征计算。

为了在保持低计算量的同时学习视频的全局描述,我们提出每秒钟只处理一个帧。在这个帧速率下,隐式运动信息丢失。为了补偿,根据 [19] ,我们将显式的运动信息结合起来,以在相邻帧上计算的光流图像的形式。因此,光流允许我们保留运动信息的好处(通常是通过高fps的采样实现的),同时还能捕获全局视频信息。我们的贡献可以总结如下:
1.我们提出CNN架构来获取全局视频级描述符,并演示使用越来越多的帧数可以显著提高分类性能。
2.通过在时间上共享参数,在特征池和LSTM体系结构中,参数的数量保持不变,作为视频长度的函数。
3.我们确认,光流图像可以极大地有益于视频分类,并显示出即使光流图像本身是非常嘈杂的(就像Sports-1M数据集的情况一样),它们仍然可以在与LSTMs相结合时提供好处。
利用这三个原则,我们在两个不同的视频分类任务中获得了最先进的性能:Sports-1M (Section 4.1)和UCF-101(第4.2节)。

 

3. 方法

 

 

两个CNN的架构被用来处理单个的视频帧:AlexNet和GoogLeNet。AlexNet是一个Krizhevsky-style风格的CNN [15],它需要一个220x220大小的帧作为输入。然后,这个框架由大小为11、9和5的方形卷积层处理,每一个后面都跟着一个最大池化和局部对比归一化。最后,输出被送入两个全连接层,每层有4096个修正线性单元(ReLU)。将Dropout应用于每一个全连接层,其比率为0.6(保持和扩展原始输出的40%)。

GoogLeNet [21],使用network-in-network方法,将Inception模块堆叠在一起,形成一个22层的网络,与之前的cnn[15, 28]层有很大的不同。和AlexNet一样,GoogLeNet采用了一个大小为220x220的图像作为输入。然后,这个图像通过多个Inception模块,1x1、3x3、5x5的卷积每一个都应用于并行的,以及最大池化操作,并连接产生的过滤器。最后,激活是平均池,输出为1000维向量。

在接下来的部分中,我们将研究两类能够聚合视频级信息的CNN架构。在第一部分中,我们研究了与时间顺序无关的各种特征池架构,在接下来的部分中,我们将研究LSTM网络,它们能够从时序上有序的序列中学习。为了使学习在计算上可行,在所有的方法中,CNN在不同的框架中共享参数。

 

 

3.1. Feature Pooling Architectures

 

 

时间特征池已经广泛用于视频分类[17, 24, 12],并且通常应用于词袋的表示形式。通常情况下,基于图像或运动特征的每一帧都被计算出来,然后进行量化,然后在时间上进行汇总。产生的向量可以用于做出视频级的预测。我们遵循类似线性的推理,除了由于我们使用神经网络的事实,池操作可以作为一个层直接被合并。这使我们能够在网络架构上试验时间池层的位置。

我们根据特定的池化方法和特征聚合的特定层进行分析,分析几种不同的变体。池操作不需要局限于最大化池。我们考虑使用平均池和最大化池,它们有几个理想的属性,如 [4]所示。此外,我们还尝试使用一个全连接的层作为“池化层”。然而,我们发现,由于它们生成的梯度的数量很大,所以平均池和一个全连接池都不能有效地学习。最大化池生成大量的稀疏更新,结果往往会产生更快的网络,因为梯度更新是由每个帧的稀疏的特性生成的。因此,在本文的其余部分中,我们使用最大化池作为主要的特征聚合技术。

 

 

与传统的单词袋方法不同,来自顶层的梯度有助于从图像像素中学习有用的特性,同时允许网络选择哪些输入帧受到这些更新的影响。当使用最大池时,这让人想起了多个实例学习,其中学习者知道至少有一个输入与目标类相关。

我们尝试了几种基本的最大池结构,如图2所示:

Conv Pooling:卷积池模型在整个视频的帧的最后一个卷积层上执行最大化池。这个网络的一个关键优势是,卷积层的输出中的空间信息是通过时间域的最大池化操作来保存的。

Late Pooling:Late Pooling模型首先传递卷积特征通过两个全连接层,然后再应用到最大池化层。所有的卷积层和全连接的层的权重是共享的。与Conv池相比,Late Pooling直接将高层信息组合在一起。

Slow Pooling:Slow Pooling层次的将帧级信息在较小的时间窗口相结合。Slow Pooling使用一个两阶段池策略:max-pooling首先应用在10帧卷积特征上与步长为5(例如,max-pooling可能被认为是一个大小为10的滤波器卷积在一维输入上步幅5)。然后每个最大池化层跟着一个权重共享的全连接层。在第二阶段,一个单一的最大池化层将所有全连接的层的输出组合在一起。在这种方式下,Slow Pooling网络在组合许多帧的高层次的信息之前,会在时序上将局部特征组合在一起。

Local Pooling:类似于Slow Pooling, Local Pooling模型在最后一个卷积层后将帧级特征结合在一起。与Slow Pooling不同的是,Local Pooling只包含一个在卷积层之后的最大池化阶段。接下来是两个完全连接的层,带有共享参数。最后,一个更大的softmax层连接到所有的顶端。通过消除第二个最大池化层,Local Pooling网络避免了潜在的时间信息丢失。

Time-Domain Convolution:Time-Domain Convolution模型在不同帧上的特征池之前包含一个额外的时域卷积层。在时域卷积层之后,在时域上执行最大池化。卷积层由256个大小为3x3的核组成,横跨10个框架,帧上的步长为5。该模型旨在捕获一个小时间窗口内帧之间的局部关系。

GoogLeNet Conv Pooling:我们试验了一个基于GoogLeNet [21]的架构,在这个架构中,在GoogLeNet的维度减少(平均池)层之后,执行最大池化层。在原始结构中这个层直接连接到softmax层。我们通过在1000D输出的基础上,在softmax之前,增加两个带有ReLU激活的大小为4096的全连接层。与基于 AlexNet的模型类似,卷积层和inception模块的权重会随着时间的推移而共享。

 

3.2. LSTM Architecture

 

 

与最大池化层相反,它产生的表示是时序不变的,我们提出使用一个循环神经网络来显式地考虑CNN激活的序列。由于视频包含动态内容,帧之间的差异可能会编码额外的信息,这对于做出更准确的预测是有用的。

 

 

给定一个输入序列x=(x_1,……x_T)一个标准的递归神经网络计算隐藏的向量序列h=(h_1,……h_T)和输出向量序列y=(y_1,……y_T)通过从t=1到T迭代下面的公式:

这里W项表示权重矩阵(例如,W_ih是输入-隐藏权重矩阵),b项表示偏差向量(例如,b_h是隐藏的偏置向量),H是隐藏层激活函数,通常是logistic sigmoid函数。

与标准RNs不同的是,长短期记忆(LSTM)架构 [6]使用内存单元(图3)来存储和输出信息,从而更好地发现长期的时间关系。LSTM的隐藏层H的计算如下:

这里 σ是logistic sigmoid函数,i、f、o和c分别是输入门、忘记门、输出门和单元激活向量。默认情况下,存储在LSTM单元c中的值是被维护的,除非它被输入门i或被遗忘的门f所增加。输出门o控制来自LSTM单元的内存值的释放。

我们使用一个深度LSTM架构[9](图4),其中一个LSTM层的输出是下一层的输入。我们尝试了不同数量的层和记忆单元,并选择使用5个堆叠的LSTM层,每个层有512个记忆单元。在LSTM层之后,一个Softmax分类器在每个帧上进行预测。
 

3.3. Training and Inference

 

 

利用Downpour Stochastic Gradient Descent的方法最大池化模型在聚类上进行了优化,开始学习率为10−5和动量为0.9和权重衰减为0.0005。对于LSTM,我们使用了相同的优化方法,它的学习速率是N*10-5,其中N是帧数。随着时间的推移,学习率呈指数衰减。每个模型有10到50个副本,分布在四个分区上。为了减少CNN的训练时间,AlexNet和GoogLeNet的参数从一个预先训练的ImageNet模型中初始化,然后对Sports-1M视频进行微调。

Network Expansion for Max-Pooling Networks:多帧模型比单帧模型的训练时间更长,达到更高的精度。由于池化在 CNN towers的“共享权重”之后,所以单帧和多帧的最大池化网络的参数是非常相似的。这使得将单帧模型扩展到多帧模型成为可能。最大池化模型首先被初始化为单帧网络,然后扩展到30帧,再扩展到120帧。虽然随着扩展到更多的帧(特别是在单帧到30帧的情况下),最大池化层的特征分布可能会发生巨大的变化,但实验表明,传输参数仍然是有益的。通过将小型网络扩展到更大的网络,然后进行微调,与从头开始训练大型网络相比,我们取得了显著的加速。

LSTM Training:我们遵循了与训练最大池化网络的相同程序,并进行了两次修改:首先,视频的标签在每个帧上都被反向传播,而不是每段剪辑只传播一次。第二,一个增益g被应用于每一帧的梯度反向传播。g是0…1的线性插值帧t=0...T。g在后来的帧中强调了正确预测的重要性,在此框架中,LSTM的内部状态捕获了更多的信息。根据经验,在所有时间步骤中设置g=1或仅在最后时刻T设置g=1(在别的地方g=0),线性插值g会导致更快的学习和更高的准确性。对于最终的结果,在训练过程中,梯度是通过卷积层反向传播的,以便进行微调。

LSTM Inference:为了结合LSTM帧级预测到一个视频级的预测,我们尝试了几种方法:1)在最后的时间T返回预测,2)最大池化随着时间推移的预测,3)加和随着时间的推移的预测和返回最大值,4)线性加权随时间g的预测,然后求和并返回最大值。

这四种方法的准确性相差都不到1%,但加权预测通常会带来最好的性能,支持这样一种观点即LSTM的隐藏状态会随着它所看到的帧数的增多逐渐变得更加见多识广。

 

 

3.4. Optical Flow

 

 

光流是任何视频分类方法的重要组成部分,因为它编码了视觉场景中物体的表观运动模式。由于我们的网络以1 fps的速度处理视频帧,所以它们不使用任何明显的运动信息。因此,我们在光流图像上同时训练我们的时间模型,并进行后期的融合,类似于 [19]的two-stream假设。

有趣的是,我们发现从一个在原始图像帧上训练的模型中初始化可以帮助对光流图像进行分类,因为它允许更快的收敛,而不是从头开始训练。这可能是因为,能够描述图像边缘这样的原始帧的特征也有助于对光流图像进行分类。这与Motion Boundary Histogram (MBH)的有效性有关,它类似于在光流图像上计算方向梯度直方图(HOG),在动作识别 [23]中。

光流是用[26]中的方法从两个相邻的帧采样15fps中计算出来的。为了利用现有的实现和在原始帧上训练的网络,我们将光流作为图像存储,阈值为[-40 40],并将光流的水平和垂直的部分重新缩放到[0,255]的范围。当向网络输入时,第三个维度被设置为零,这样它就不会对学习和推断产生影响。

在我们的调查中,我们以与图像帧相同的方式处理光流,以利用特征池和LSTM网络来学习对视频的全局描述。

 

 

4. Results

 

 

通过在Sports-1M和UCF-101数据集上评估我们提出方法的结构,从而对所提出的结构的性能进行了实证分析,并对帧的数量和帧率对分类性能的影响进行了量化,并通过光流模型了解了运动信息的重要性。

 

 

4.1. Sports-1M dataset

 

 

Sports-1M数据集[14]是由大约120万个YouTube视频组成的,有487个类,它代表了野外的视频。每个类有1000-3000个视频,大约5%的视频被注释超过一个类。不幸的是,自从数据集的创建以来,大约7%的视频已经被用户删除了。我们用剩下的110万个视频来做下面的实验。

虽然 Sports-1M是最大的公开可用的视频数据集,但它提供的注释是在视频级别。没有提供有关这类兴趣所在位置的信息。此外,这个数据集中的视频是无约束的。这意味着相机的运动不能保证表现良好,这意味着与UCF-101不同的是,相机的运动受到约束的,视频之间的光流质量参差不齐。

Data Extraction:每段视频的前5分钟以1 fps的帧率进行采样,每段视频以获得300帧。视频的时间短于5分钟的,帧就会从开始重复播放。我们学习了特征池模型,在一个例子中处理多达120帧(2分钟视频)。

Data Augmentation:每个视频的可以获得多个例子,通过随机选择第一个帧的位置和在训练和测试期间的随机一致裁剪每一帧。确保相同的转换应用于给定的起始点/终点的所有帧是有必要的。我们在选定的时间间隔内处理所有图像,首先将它们调整为256x256像素,然后随机抽取一个220x220个区域,并随机地以50%的概率将图像水平翻转。为了获得对视频的预测,如上面所述我们随机抽取了240个例子,并对所有的预测进行平均,除非另有说明。由于LSTM模型在固定数量的帧上进行训练,可以推广到任意数量的帧,我们还报告了使用LSTMs而不增加数据扩充的结果。

Video-Level Prediction:考虑到本文提出的方法的性质,可以对整个视频进行预测,而不需要进行采样或聚合(网络被设计为用于对无界帧数的视频预测)。然而,为了获得尽可能高的分类率,我们观察到,最好只在资源受限的情况下才这样做(例如当只有通过视频进行预测时,才有可能做到这一点)。否则,上面所建议的数据增强方法会在Sports-1M数据集上的Hit@1提高3%到5%。

 

 

Evaluation:根据[14],我们使用了Hit@k值,这表明测试样本的分数,在前k个预测中包含至少一个ground truth标签的。我们提供了视频级和剪辑级别的Hit@k值,以便与之前的结果进行比较,其中剪辑命中是单个视频剪辑(30-120帧)的命中,而视频命中是通过平均多个剪辑获得的。

Comparison of Feature-Pooling Architectures:表1显示了在使用120帧的AlexNet模型时,在 Sports-1M数据集上使用不同的特征池结构所获得的结果。我们发现,在最后一个卷积层的输出上的最大池化提供了最好的clip-level和video-level命中率。Late Pooling,在全连接的层之后的最大化池比所有其他方法都要糟糕,这表明在跨时间域执行池化操作时保留空间信息是很重要的。与最大池化模型相比,Time-Domain Convolution的结果是较差的结果。这表明,一个时间域的卷积层对于在高级特征上学习时间关系是无效的,这促使我们去探索更复杂的网络架构,如LSTM,它从时间序列中学习。

Comparison of CNN Architectures:AlexNet和GoogLeNet的单帧CNNs(第3部分)是在从 Sports-1M视频中随机选择的单帧上从零开始进行训练的。结果(表2)显示,cnn的表现优于Karpathy等人 [14]先前的单帧模型4.3%-5.6%。增加的准确性可能是由于更先进的CNN架构,以及在训练时每段视频的采样更多的帧(300而不是50)。将AlexNet与最近的GoogLeNet进行比较,在最大池化架构上Hit@5增加了1.9%,而LSTM增加了4.8%。这大致相当于从Krizhevsky风格的CNNs相对于GoogLeNet在 top-5上获得4.5%的错误下降。对于最大池化结构,架构之间的这种较小的差距很可能是由于与ImageNet相比,在Sports-1M中噪声图像的数量增加了。

 

Fine Tuning:当从预先训练的网络初始化时,是否应该执行微调并不总是清楚的。在我们的实验中,微调对于实现高性能是至关重要的。例如,在表2中,我们展示了一个LSTM网络与GoogLeNet配对,在视频的30帧上运行,达到了Hit@1的67.5。但是,同样的网络进行了良好的微调,达到了69.5的Hit@1。注意,这些结果不使用数据增强,并对整个300秒的视频进行分类。

Effect of Number of Frames:表3比较了Conv-Pooling和LSTM模型作为聚合的帧数的函数。在剪辑命中的情况下,120帧模型的性能明显优于30帧模型。同时,我们的最佳剪辑命中是70.8 ,比[14]中的Slow Fusion方法有70%的改进,它使用的是几秒长度的剪辑。这证实了我们最初的假设,即我们需要考虑整个视频,以便更彻底地从内容中获益。

Optical Flow:表4显示了与光流模型融合的结果。与基于图像的模型(72.1%)相比,光流模型的精度要低得多(59.7%),这是意料之中的,因为Sports数据集由YouTube视频组成,这些视频通常质量较低,而且比手工制作的数据集更自然,比如UCF-101。在Conv Pooling网络中,与光流的融合在精度上没有显著的提高。然而,对于LSTMs来说,光流模型能够将整体精度提高到73.1%。

Overall Performance:最后,我们比较了我们最好的模型的结果与在Sports-1M数据集提交的最好的结果。Table5报告了[14] 最好的模型的结果,它在我们的短视频剪辑上执行了几层3D卷积。最大池化方法显示在视频是hit@1 18.7%的增长,而LSTM方法的相对增长则为20%。最大池化和LSTM方法的区别在于,LSTM模型可以以一种适合于晚模型融合的方式使用光流,这在最大池化模型中是不可能的。
 

4.2. UCF-101 Dataset

UCF-101  [20]包含了13320个视频,其中包含101个动作类,涵盖了一系列广泛的活动,如运动、乐器和人类-对象互动。我们遵循建议的评估协议,并报告给定的三个训练和测试分区的平均精度。用如此小的数据来训练一个深的网络是很困难的。因此,我们在UCF-101测试在Sports-1M中训练的模型的表现。

帧速率的比较:由于UCF-101包含短视频,平均10-15秒,所以可以在更高的帧率中提取帧,比如6fps,同时还能从完整的视频中捕捉上下文。我们比较训练的30帧的模型,它们分别以3种不同的帧速率:30fps(1秒的视频)和6 fps(5秒)。表6显示,将帧速率从30 fps降低到6 fps,效果稍微好一些,因为模型从更长的输入剪辑中获得了更多的上下文。当将帧速率降低到1fps时,我们没有看到进一步的改进。因此,只要网络从每个视频中看到足够的上下文,较低帧率的影响是很小的。另一方面,LSTM模型可以充分利用这样一个事实,即视频可以以每秒30帧的速度处理。

Overall Performance:我们的模型在UCF-101实现了最先进的性能(表7),稍微好于使用了手工制作的特征和基于cnn的方法即使用了光流。和以前一样,我们方法的性能优势是通过使用增加的帧数来捕获更多的视频。

我们的120帧模型在考虑直接从原始帧直接学习的模型时,改进了之前的工作 [19](82.6%和73.0%),而没有光流信息。这是在视频中考虑更大的上下文的直接结果,即使在一个短片段内的帧之间非常相似。

与 Sports-1M相比,UCF-101的光流提供了更大的精度提高(最大池化的82.6%vs88.2%)。这一结果来自于UCF-101的视频,它的中心位置更好,不那么不稳定,而且比YouTube视频的平均视频更好。

High Quality Data:UCF-101数据集包含简短的、分段的概念视频,这些概念通常可以在一个帧中被识别出来。单帧网络的高性能(见表7)就证明了这一点。相反,在野外的视频中,通常会出现包含文本或镜头转换的假帧,无论是第一个人还是第三人,都是手持视频,而非主题的片段,比如评论游戏的评论员。

 

5. Conclusion

 

我们提供了两种视频分类方法,可以将CNN的帧级输出聚合到视频级别的预测中:特征池方法,在时间上最大池化局部信息和LSTM,他的隐藏状态随着后续帧的发展而变化。这两种方法都是基于这样一种观点,即在更长的视频序列中整合信息将支持更好的视频分类。不像以前的工作,我们的网络使用最多2分钟的视频(120帧)来获得最佳的分类性能。如果考虑速度,我们的方法可以一次性处理一整段视频。通过将较小的网络扩展成更大的网络和微调,可以进行训练。由此产生的网络在Sports-1M和UCF-101基准测试中获得了最先进的性能,支持了学习应该在整个视频而不是短视频中进行的观点。

此外,我们还探讨了运动信息的必要性,并确认对于UCF-101基准,为了获得最先进的结果,有必要使用光流。然而,我们也表明,使用光流并不总是有用的,特别是如果视频是从野外拍摄的,就像在 Sports-1M数据集里的情况一样。为了在这种情况下利用光流,有必要使用更复杂的序列处理体系结构,比如LSTM。此外,在两个图像框架上使用LSTMs,而光流则是Sports-1M 基准测试的最高发布性能指标。

在当前的模型中,梯度的反向传播在顶层的所有层中进行,在最顶层的时间内反向传播,但在较低的(CNN)层中却没有反向传播。在未来,考虑将时间序列信息进一步整合到CNNs本身,将是一件很有趣的事情。例如,一个循环的卷积神经网络可以通过在最后一帧中使用它自己的激活和当前帧的图像来产生更好的特性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值