摘要:卷积神经网络(CNN)已广泛应用于图像识别问题,给出了有关识别,检测,分割和检索的最新结果。在这项工作中,我们提出并评估了几种深度神经网络体系结构,以尝试在更长的时间段内组合视频中的图像信息。我们提出了两种能够处理长视频的方法。第一种方法探索了各种卷积时间特征池化体系结构,尝试了在使CNN适应此任务时需要做出的各种设计选择。第二种方法将视频建模为帧的有序序列。为此,我们采用了循环神经网络,该网络使长短期记忆(LSTM)单元与CNN输出相连的。我们的最佳网络在Sports 1 million数据集(73.1%vs60.9%)和UCF-101数据集(88.6%vs88.0%)上有了显着的性能改进,而没有其他光流信息(82.6%vs73.0%)。
1引言
卷积神经网络在诸如MNIST,CIFAR和ImageNet大规模视觉识别挑战之类的静态图像识别问题上取得了很大成功[15,21,28]。通过使用可训练的过滤器层次结构和特征池化操作,CNN能够自动学习视觉对象识别任务所需的复杂特征,从而获得优于手工特征的性能。受这些积极成果的影响,最近提出了几种方法来将CNN应用于视频和动作分类任务[2、13、14、19]。

视频分析通过添加时间分量为识别任务提供更多可以额外使用信息。同时,即使处理短视频剪辑,该任务在计算上也要高得多,因为每个视频可能包含数百到数千个帧,但并非所有帧都有用。最基本的方法是将视频帧视为静止图像,并应用CNN识别每个帧并在视频级别平均预测值。但是,由于每个单独的视频帧仅占视频的一小部分,这种方法将使用不完整的信息,特别是存在与动作无关的部分时,因此很容易混判断错误。
因此,我们认为视频时间变化的全局描述对于准确分类视频很重要。从建模的角度来看,这是一个挑战,因为我们必须使用固定数量的参数对可变长度的视频进行建模。我们评估了两种能够满足这一要求的方法:特征池化和循环神经网络。特征池化网络使用1个CNN独立处理每个帧,然后使用各个池化层组合帧级信息。我们采用的递归神经网络体系结构源自长短期记忆(LSTM)[11]单元,并使用记忆单元来存储,修改和访问内部状态,从而使其能够发现样本长时间的关系。像特征池化一样,LSTM网络在帧级CNN激活上运行,并且可以学习如何随着时间的推移聚合信息。通过在时间上共享参数,两种体系结构都可以保持恒定数量的参数,同时捕获视频时间演变的全局描述。
由于我们正在解决视频分类问题,因此自然要尝试利用运动信息来获得性能更好的网络。先前的工作[14]试图通过使用帧堆叠作为输入来解决此问题。但是,这种方法的计算量很大,因为它涉及应用于输入量的数千个3D卷积滤波器。在Sports-1M基准上,采用这种方法获得的性能低于2%[14]。 结果,在这项工作中,我们避免了隐式运动特征的计算。
为了在保持较低计算要求下的同时学习视频的全局描述,我们建议每秒仅处理一帧。在此帧速率下,隐式运动信息会丢失。为了进行补偿,在[19]之后,我们在相邻帧上计算光流图像合并了显式运动信息。因此,光流使我们能够保留运动信息的优势(通常通过高fps采样实现),同时仍能捕获全局视频信息。 我们的贡献可以总结如下:
1我们提出了用于获得全局视频级描述符的CNN体系结构,并证明了使用越来越多的帧可以显着提高分类性能。
2通过在时间上共享参数,在特征池化和LSTM体系结构中,参数的数量无论视频长度保持恒定。
3我们确认光流图像可以极大地有益于视频分类,并且显示的结果表明,即使光流图像本身非常嘈杂(与Sports-1M数据集一样),当与LSTM结合使用时,它们仍然可以带来好处。
利用这三个原理,我们在两项不同的视频分类任务上实现了SOTA:Sports-1M(第4.1节)和UCF-101(第4.2节)。
2相关工作
传统的视频识别研究在获取外观和运动信息进行编码的全局视频描述符以在大量视频数据集实现最新成果。这些方法能够使用手工制作的特征来汇总局部外观和运动信息,例如定向梯度直方图(HOG),光流直方图(HOF),时空兴趣点周围的运动边界直方图(MBH)[17], 在密集网格[24]中或通过基于光流的跟踪获得的密集点轨迹[12、16、22、23]周围。然后对这些特征进行编码,通过单词袋(BoW)[17]或基于Fisher向量的编码[23]来生成全局视频级描述符。
但是,以前没有同时使用了运动信息和视频的全局描述的基于CNN的视频识别的尝试:几种方法[2、13、14]在短视频剪辑(通常只有几秒钟)上采用3D卷积来学习运动 从原始帧隐式提取特征,然后在视频级别汇总预测。Karpathy等[14]证明他们的网络仅比单帧基线稍好,这表明学习运动特征很困难。鉴于此,Simonyan等[19]直接合并来自光流的运动信息,但在预测时最多只能采样10个连续帧。这种局部方法的缺点在于,每个帧/片段可能只包含完整视频信息的一小部分,从而导致网络的性能相对于单个帧进行分类仅仅好了一点。
我们没有尝试在短时间内学习时空特征,而是考虑了几种在视频的长时间段(数十秒)内聚合强大的CNN图像特征的方法,包括特征池化和循环神经网络。由于梯度消失和爆炸的问题,标准的递归网络在长序列上学习困难[3]。相反,长短期存储器(LSTM)[11]使用存储单元来存储,修改和访问内部状态,从而使其能够更好地发现长期的时间关系。 因此,LSTM在手写识别[8,10],语音识别[9,7],音素检测[5],情绪检测[25],会议和活动的分段[18]方面产生了最好的结果。虽然LSTM已在[1]中应用于动作分类,但该模型是在SIFT功能和BoW表示之上学习的。此外,我们提出的模型允许对网络的卷积和循环部分进行联合微调,这在使用手工制作的功能时是不可能实现的,如先前的工作中所提出的那样。Baccouche等[1]将3D卷积应用于9帧视频剪辑的过程中,使用长短期记忆(LSTM)网络进行了全局学习,但未包含任何明确的运动信息。
3方法
两种CNN架构用于处理各个视频帧:AlexNet和GoogLeNet。 AlexNet以220×220尺寸的框架作为输入。 然后,分别由大小为11、9和5的正方形卷积层处理该帧,每层卷积后进行最大池化和局部对比度归一化。最后,输出被送到两个全连接层,每个层具有4096个线性单元(ReLU)。随机失活以0.6的比率应用于每个完全连接的层(保持并缩放原始输出的40%)。
GoogLeNet [21]将Inception模块堆叠起来形成22层深的网络,这与以前的CNN完全不同[15,28]。 像AlexNet一样,GoogLeNet也以尺寸为220×220的图像作为输入。 然后,此图像通过多个Inception模块传递,每个模块并行应用1×1、3×3、5×5卷积和最大池化操作,并合并生成的结果。最后,激活被平均池化并作为1000维向量输出。
在以下各节中,我们研究了能够聚合视频级信息的两类CNN体系结构。 在第一部分中,我们研究了与时间顺序无关的各种特征池化体系结构,在下一部分中,我们研究了能够从时间顺序序列中学习的LSTM网络。为了使学习在计算上可行,CNN在所有方法中跨帧共享参数。
3.1特征池化结构
时间特征池已被广泛用于视频分类[17、24、12],通常应用于词袋表示。通常,在每个帧上计算基于图像或运动的特征,将其量化,然后跨时间合并。所得向量可用于进行视频级预测。我们遵循类似的推理路线,除了由于我们使用神经网络可以将合并操作直接作为一个层合并。这使我们可以相对于网络体系结构尝试时间池化层的位置。
我们根据特定的合并方法和聚合特征的特定层来分析几种变体。池化操作不必限于最大池化。我们考虑同时使用平均池化和最大池化,它们具有[4]中所示的几个理想属性。另外,我们尝试将全连接层用作“池化层”。但是,我们发现平均池和用于池化的全连接层都无法有效学习,因为它们会生成大量的梯度。最大池化共享会产生大量的稀疏更新,因此往往会产生学习速度更快的网络,因为梯度更新是由每个帧的稀疏特征生成的。因此,在本文的其余部分中,我们使用最大池作为主要特征聚合技术。
与传统的单词袋方法不同,来自顶层的梯度有助于从图像像素中学习有用的功能,同时允许网络选择受这些更新影响的输入帧。当与最大池一起使用时,这使人想起多实例学习,在这种情况下,学习者知道至少有一个输入与目标类相关。
我们尝试了基本最大池架构的几种变体,如图2所示:
卷积池化:卷积池化模型会在视频帧的最终卷积层上执行最大池化。该网络的主要优势在于,卷积层输出中的空间信息通过时域上的最大操作得以保留。
后期池化:后期池化模型首先在应用最大池化层之前将卷积特征通过两个全连接层。所有卷积层和全连接层的权重是共享的。与卷积池化相比,后期池直接将跨帧的高级信息组合在一起。
慢池化:慢池化在层次上组合了较小时间窗口中的帧级别信息。慢池化采用两阶段池化策略:首先将最大池化应用于步幅为5的10帧卷积特征中(例如,最大池化可以认为是大小为10步长为5的滤波器作用于一维输入)。然后,每个最大池层之后是具有共享权重的全连接层。在第二阶段中,单个最大池化层将所有全连接层的输出合并在一起。以这种方式,慢池化网络在组合来自多帧的高级信息之前将时间局部特征分组。
局部池:类似于慢池,局部池模型在最后一个卷积层之后在局部合并帧级特征。与慢池化不同,局部池化仅在卷积层之后包含一个最大池化层。随后是两个全连接层,具有共享参数。最后,更大的softmax层连接到所有输出。通过消除第二个最大池化层,本地池网络避免了潜在的时间信息损失。

时域卷积:时域卷积模型在跨帧存储特征之前包含一个额外的时域卷积层。在时域卷积层之后,执行最大池化。卷积层由256个3×3大小的内核组成,跨10帧,步幅为5。该模型旨在捕获小的时间窗口内帧之间的局部关系。
GoogLeNet卷积池化:我们尝试了基于GoogLeNet[21]的体系结构,其中在GoogLeNet的降维(平均池化)层之后执行maxpooling操作。 这是在原始体系结构中直接连接到softmax的层。 我们通过在1000D输出的顶部在softmax之前添加带有ReLU激活的两个大小为4096的全连接层来增强了此体系结构。 类似于基于AlexNet的模型,卷积层和起始模块的权重在整个时间上共享。
3.2:LSTM结构
与最大池化不同,我们建议使用循环神经网络来考虑CNN激活的序列。由于视频包含动态内容,因此帧之间的变化可能会编码额外信息,这些信息可能有助于做出更准确的预测。

给定输入序列x =(x1,...,xT),标准的递归神经网络计算隐藏矢量序列h =(h1,..,hT),输出矢量序列y =(y1,..,yT),将以下公式从t = 1迭代到T:

其中W项表示权重矩阵(例如Wih是输入隐藏的权重矩阵),b项表示偏差向量(例如bh是隐藏的偏差向量),H是隐藏层激活函数,通常是逻辑S形函数。
与标准RNN不同,长期短期记忆(LSTM)架构[6]使用存储单元(图3)来存储和输出信息,从而使其能够更好地发现长期的时间关系。 LSTM的隐藏层H的计算如下:

其中σ是逻辑S形函数,而i,f,o和c分别是输入门,忘记门,输出门和单元激活向量。 默认情况下,存储在LSTM单元c中的值会被保留,除非它被输入门i增加或被遗忘门f所减小。输出门o控制LSTM单元中存储值的输出。
我们使用深LSTM架构[9](图4),其中一个LSTM层的输出被输入到下一层。我们尝试了各种数量的层和存储单元,并选择使用五个堆叠的LSTM层,每个层有512个存储单元。 在LSTM层之后,Softmax分类器在每个帧进行预测。
3.3训练以及推论
使用随机梯度下降法优化最大池模型,其学习速率为10-5,动量为0.9,重量衰减为0.0005。 对于LSTM,我们使用相同的优化方法,其学习速率为N * 10-5,其中N是帧数。 学习率随时间呈指数下降。每个模型都有十到五十个复制分布在四个分区中。为了减少CNN训练时间,从预训练的ImageNet模型初始化AlexNet和GoogLeNet的参数,然后在Sports-1M视频上进行微调。
为最大池化网络进行扩展:与单帧模型相比,多帧模型以更高的训练时间为代价实现了更高的准确性。由于池化是在共享权重的CNN之后执行的,因此单帧和多帧最大池网络的参数非常相似。这使得可以将单帧模型扩展为多帧模型。最大池模型首先被初始化为单帧网络,然后扩展到30帧,再扩展到120帧。虽然最大池化层的特征分布可能会由于扩展到更多帧而发生显着变化(尤其是在单帧到30帧的情况下),但实验表明,传递参数仍然是有益的。 通过将小型网络扩展为大型网络,然后进行微调,与从头开始训练大型网络相比,可以显着提高速度。
LSTM训练:我们采用了与训练最大池化网络相同的方法,但进行了两项修改:首先,视频的标签在每个帧上向后传播,而不是每个剪辑一次。其次,将加权g应用于在每个帧处反向传播的梯度。g在帧t = 0到 T上从0到1线性插值。g具有这样的效果,即在LSTM内部后续帧中捕获更多信息,强调由此对于预测的重要性。与在所有时间步长上设置g = 1或仅在最后一个时间步长T上设置g = 1(其他位置g = 0)进行经验比较,线性加权g可以更快地学习和提高准确性。对于最终结果,在训练过程中,将梯度反向传播通过卷积层以进行微调。

LSTM推论:为了将LSTM帧级预测合并到单个视频级预测中,我们尝试了几种方法:1)在最后一个时间步长T上返回预测; 2)时间尺度上最大池化以合并预测;3)随时间推移对预测求和并返回最大值4)对时间上的预测线性加权g,然后求和并返回最大值。
四种方法的准确度相差不到1%,但是加权预测通常会带来最佳性能,这支持了LSTM的隐藏状态根据所看到的帧数逐渐变得更加准确的想法。
3.4光流
光流是任何视频分类方法的关键组成部分,因为它可以对视觉场景中对象运动模式进行编码。由于我们的网络以1f ps的速度处理视频帧,它们不使用任何明显的运动信息。 因此,我们另外在光流图像上训练了我们的两个时间模型,并进行了类似于[19]提出的双流假设的融合。
有趣的是,我们发现用从原始图像帧上训练的模型进行初始化可以通过比从头开始训练更快地收敛,从而有助于对光流图像进行分类。这可能是由于以下事实:可以为原始帧(如边缘)描述的特征也有助于对光流图像进行分类。这与运动边界直方图(MBH)的有效性有关,类似于在动作识别中计算光流图像上的定向梯度直方图(HOG)[23]。
使用[26]的方法,从两个相邻的以15fps采样的帧中计算出光流。 为了利用现有的和在原始帧上训练的网络,我们将光流的水平和垂直分量重新缩放到[0,255]范围,将光流存储为图像。 当送入网络时,第三维被设置为零,因此它对学习和预测没有影响。
在我们的观察中,我们以与图像帧相同的方式处理光流,以使用特征池和LSTM网络来学习视频的全局描述。
4结果
我们对Sports-1M和UCF-101数据集进行实证评估,目的是调查提出架构的性能,量化帧数和帧频对分类性能的影响,并通过光流模型了解运动信息的重要性。
4.1Sports-1M dataset
Sports-1M数据集[14]包含大约120万个YouTube体育视频,并标注了487个分类,可以代表真实视频。每个类别有1000-3000个视频,其中大约5%的视频带有一个以上的分类。但是,自创建数据集以来,用户已删除了大约7%的视频。 我们将剩余的110万个视频用于以下实验。
尽管Sports-1M是最大的公开视频数据集,但它提供的标签是视频级别。没有提供有关感兴趣类别的位置信息。此外,该数据集中的视频不受限制。这意味着不能保证摄像机固定,这意味着与UCF-101不同(UCF-101的摄像机运动受到限制)光流质量在视频之间差异很大。
数据提取:每个视频的前5分钟以1f ps的帧速率进行采样,每个视频300帧。对于少于5分钟的视频,从头开始重复播放帧。我们学习一个示例中最多可处理120帧(2分钟视频)的特征池化模型。
数据增强:通过在训练和测试过程中随机选择第一帧的位置以及每一帧的随机裁剪,可以获取每个视频的多个示例。必须确保对给定的起点/终点所有帧应用相同的变换。我们首先将图像调整为256×256像素,然后随机采样220×220区域,然后以50%的概率将图像随机水平翻转,从而对选定时间间隔内的所有图像进行处理。 为了获得视频的预测,除非另有说明,否则我们如上所述随机采样240个示例并对所有预测取平均。由于在固定数量的帧上训练的LSTM模型可以推广到任意数量的帧,因此我们还报告了在不进行数据增强的情况下使用LSTM的结果。
视频级预测:鉴于本文介绍的方法,可以无需进行采样或汇总,而对整个视频进行预测(网络被设计为可在不固定数量帧上工作进行预测)。但是,为了获得尽可能高的分类正确率,我们观察到最好仅在资源受限的情况下才执行此操作(即,仅在视频上进行一次传递以进行预测时)。否则,上面建议的数据增强方法在Sports-1M数据集上Hit1正确率改善了3-5%。
评估:根据[14],我们使用Hitk值,该值表示在前k个预测中至少包含一个真相标签之一的测试样本的比例。我们提供视频级别和片段级别的Hitk值,以便与以前的结果进行比较,在这些结果中,片段命中是单个视频片段(30-120帧)上的命中,而视频命中是通过对多个片段进行平均获得的。
特征池化结构的比较:表1显示了当使用120帧AlexNet模型时,在Sports-1M数据集上使用不同特征池体系结构获得的结果。我们发现,在最后卷积层的输出上应用最大池化提供了最佳的片段级和视频级命中率。后期池化(在全连接的层之后最大池化),比其他所有方法都差,这表明在跨时域执行池化操作时保留空间信息非常重要。与最大池化模型相比,时域卷积效果较差。这表明单个时域卷积层对于学习高级特征上的时间关系无效,这促使我们去探索更多复杂的网络架构,例如从时间序列中学习的LSTM。

CNN架构的比较:AlexNet和GoogLeNet单帧CNN(第3节)是从头开始从Sports-1M视频中随机选择的单帧上进行训练的。结果(表2)显示,两个CNN的性能均优于Karpathy等人的先前单帧模型[14],幅度为4.3-5.6%。 准确性的提高可能是由于CNN架构的进步以及训练时每个视频采样更多帧(300个而不是50个)。
将AlexNet与最新的GoogLeNet进行比较,最大池化结构的Hit5增加了1.9%,而LSTM则增加了4.8%。 这与赢得ILSVRC-13的CNN相比,Hit5错误转移减少了4.5%.对于最大池化结构,两个架构之间的差距可能是与ImageNet相比,Sports-1M中的噪点图像数量更多。

微调:从预训练的网络初始化时,并不知道是否应该微调。在我们的实验中,微调对于实现高性能至关重要。例如,在表2中,我们显示了与GoogLeNet配对的LSTM网络,在30帧视频上运行时,Hit1率为67.5%。但是,经过微调的同一网络可达到69.5 Hit1。请注意,这些结果不使用数据增强,也不对整个视频的300秒进行分类。
帧数的影响:表3比较了Conv Pooling和LSTM模型作为聚合帧数的函数。 在片段命中方面,120帧模型的性能明显优于30帧模型。 同样,我们最好的片段命中率70.8代表比[14]的慢融合方法(使用几秒钟长的剪辑)提高了70%。这证实了我们最初的假设,即我们需要考虑整个视频,以便从其内容中获得更大的收益。

光流:表4显示了与光流模型融合的结果。相对于基于图像的模型(72.1%),光流模型本身的准确性(59.7%)要低得多,因为体育数据集包含的YouTube视频比手工制作的数据集通常质量较低(例如UCF-101)。在Conv Pooling网络的情况下,与光流融合准确性没有明显改善。但是,对于LSTM,光流模型能够将整体精度提高到73.1%。
总体表现:最后,我们将最佳模型的结果与Sports-1M数据集上的最新技术进行了比较。 表5报告了[14]中最佳模型的结果,该模型在短视频片段上对视频进行了多个层的3D卷积。最大池化方法显示的视频Hit1增长了18.7%,而LSTM方法则相对增长了20%。 最大池法和LSTM方法之间的差异是因为LSTM模型可以使用光流,这有助于后期模型融合,而对于最大池法是不可能的。

4.2:UCF101数据集
UCF-101 [20]包含13320个视频,具有101个动作类别,涵盖了广泛的活动集,例如体育,乐器和人与物体的交互。 我们遵循评估方案,并报告给定的三个训练和测试部分的平均准确性。用这么少量的数据来训练深度网络是困难的。 因此,我们测试了在Sports-1M数据集中训练的模型在UCF-101中的性能如何。
帧速率的比较:由于UCF-101包含较短的视频(平均10-15秒),因此可以在更高的帧速率(例如6f ps)下提取帧,同时仍可以从完整视频中捕获前后内容。我们比较了以三种不同帧速率训练的30帧模型:30f ps(视频的1秒)和6f ps(5秒)。 表6显示,将帧速率从30f ps降低到6f ps会产生更好的性能,因为该模型从更长的输入中获得了更多的信息。当将帧速率降低到1f ps时,我们没有观察到任何进一步的改进。 因此,只要网络从每个视频中看到足够的上下文,较低帧速率的影响就很小。 另一方面,LSTM模型可以充分利用视频可以每秒30帧的速度处理这一事实。

总体性能:我们的模型在UCF-101(表7)上达到了最先进的性能,在性能上稍好于使用手工特征的方法和基于CNN的使用光流的方法。和以前一样,我们方法的性能优势来自使用更多帧来捕获更多视频。
当考虑直接从原始帧中学习而没有光流信息的模型时,我们的120帧模型比以前的工作[19]有所改进(分别为82.6%和73.0%)。 这是考虑视频中较大上下文的结果,即使短片段中的帧彼此高度相似也是如此。
与Sports-1M相比,UCF-101中的光流在准确性上有更大的提高(82.6%vs最大池为88.2%)。这是由于UCF-101视频比普通YouTube视频具有更好的居中性,较少的晃动和更好地调整了所涉及的动作。
高质量数据:UCF-101数据集包含概念清晰的简短视频,通常可以在单个帧中对其进行识别。 单帧网络的高性能证明了这一点(参见表7)。相比之下,真实的视频通常具有大量帧,其中包含文本或镜头过渡,以第一人称或第三人称视角拍摄的手持视频以及非关联片段,例如谈论比赛的评论员。

5结论
我们提出了两种能够将帧级CNN输出聚合到视频级预测中的视频分类方法:特征池化方法,可通过时间最大池化局部特征,而LSTM的隐藏状态随每个后续帧而变化。两种方法均受以下想法影响:在更长的视频序列中合并信息将实现更好的视频分类。与以前的视频训练时间不同,我们的网络最多利用两分钟的视频(120帧)来实现最佳的分类性能。
如果不考虑时间,我们的方法可以一次处理整个视频。通过将较小的网络扩展为扩大的网络并进行微调,是可以进行训练的。最终网络在Sports-1M和UCF-101基准上均达到了最先进的性能,支持了学习应该在整个视频而不是短片上进行的想法。
此外,我们探讨了运动信息的必要性,并确认对于UCF-101测试,为了获得最优结果,必须使用光流。但是,我们还表明,使用光流并不总是有帮助的,特别是如果视频是真实拍摄的,例如Sports-1M数据集。 为了在这种情况下利用光流,有必要采用更复杂的序列处理架构,例如LSTM。 此外,在Sports1M中,在图像帧和光流上使用LSTM可获得最佳性能指标。
在当前模型中,梯度的反向传播会在所有层中向下传播,并在顶层中向后穿越时间,但在较低(CNN)层中则不会向后传播。将来,考虑将时间序列信息更深入地集成到CNN本身会很有趣。例如,循环卷积神经网络可能能够通过利用最后一帧中自身的激活与当前帧中的图像相结合来生成更好的特征。