您的位置:首页 > 其它

【论文学习】Large-scale Video Classification with Convolutional Neural Networks

2017-09-29 15:29 429 查看

Large-scale Video Classification with Convolutional Neural Networks

原文地址

粗略翻译

摘要:

卷积神经网络(CNN)是图像识别问题上一个非常强大的模型。受到这些结果的鼓舞,我们在大范围的视频分类中提供了广泛的实例评估,我们使用的数据集是100万个、属于487的类别的YouTube视频。为了利用局部时空信息,我们学习了多种方法来扩展CNN在时间域上的连通性,并且提出一种多分辨率、凹状的架构作为加速训练的有前景的方法。与基于特征的基本方法相比,我们最好的时空网络展示出显著的性能提升(55.3% to 63.9%),并且出人意料的是,与单帧模型相比,性能也有所提升(59.3% to 60.9%)。进一步地,我们通过在UCF-1动作识别数据集上,将我们的最好的模型在最高层再训练,研究其泛化能力,并且发现与其他基本方法相比,有明显的性能改善(63.3% up from 43.9%)。

1、介绍

图像和视频在网络中普遍存在,这激励了语义内容分析算法的发展,应用于搜索、摘要等。最近,卷积神经网络已经被证实,对于理解图像内容是一个有效的模型,并且在图像识别、分割、检测、恢复上给出了最先进的结果。这些结果背后关键的促成因素是,将网络扩展成有上百万的参数的这些技术,而且大量的标记数据集可以支持这个学习过程。在这种情形下,CNN可以学习强有力的、有判别性的图像特征。受到在图像领域得到有效结果的鼓舞,我们研究在大范围视频识别中CNN的性能,其中网络不仅可以访问到出现在单个静态图像中的外观信息,也可以访问它们之间复杂的时间演化。在这种设定下,扩展和应用CNN有这样一些挑战。

从实用性的角度来看,目前没有视频分类标准来于已存的图像数据集的规模和种类大小相匹配,因为很明显,视频更难收集、标注和存储。为了获取足够数量的数据来训练我们的CNN架构,我们收集了一个新的Sports-1M数据集,它包含了100万个YouTube视频,属于487个运动类别。我们将开放Sports-1M数据集,以支持今后在这方面上的工作。

从建模的角度来看,我们主要关注以下几个问题:在CNN架构中,什么样的时间连接模式可以充分利用表现在视频中的局部动作信息?额外的动作信息对CNN的预测是如何影响的,并且它能提高整体性能多少?我们通过评估多层CNN架构,经验地检查这些问题,每个CNN都采用不同的方法来结合时间域上的信息。

从计算角度来看,CNN需要一个特别长的训练时间来有效地最优化这个模型中数百万的参数。当扩展了这个架构在时间上的连通性,进一步结合比较困难,这是因为网络不仅要处理一个图像,还要同一时间处理一个视频上的多帧图像。为了减轻这个问题,我们提出,一个有效的方法来加速CNN的运行时间性能,就是通过修改网络架构,包含两个分开处理的流。一个context流,从低分辨率的帧中学习特征;一个高分辨率的fovea流,只在帧的中间位置操作。我们观察到,在网络运行时间性能上,有一个2-4倍的提升,这是由于减少了输入的维度,但仍然保证分类的正确性。

最后,一个本质问题是,从Sports-1M数据集上学习到的特征是否能够通过以泛化到另一个不同的、更小的数据集上。我们经验地研究迁移学习问题,在UCF-101数据集上,通过再次利用在Sports-1M数据集上已经学习到的低层特征,比直接单独在UCF-101数据集上训练整个网络,实现了明显更好的性能(65.4%, up from 41.3%)。进一步说,因为UCF-101数据集上只有一些类别与运动有关,我们可以量化相对于这两种情况下迁移学习的改进。

我们的贡献总结为:

我们提出了一个多种方法的广泛的实验评估,将扩展CNN到视频分类中,在大规模的数百万、包含487个种类的数据集(我们称之为Sports-1M)上验证,并且相比以特征为基础的基本方法,获得了性能上的提升。

我们提出一个架构,从两种空间分辨率上处理输入。分别是低分辨的context流和高分辨率的focea流。在没有降低CNN准确度的同时提高了运行性能。

我们将我们的网络应用到UCF-101数据集上,比基于特征的基本方法和单独在UCF-101数据集上训练,性能都提升很多。

2、相关工作

视频分类的标准方法设计三个阶段:首先,描述视频的一个区域的局部视觉特征或者是密集地提取,或者是在一组稀疏的兴趣点上提取。然后,这些特征组合成一个固定大小的视频级别的描述。一个通用的方法是使用学习的k-means字典量化所有的特征,在视频的持续时间内,将视觉words累积到包含变化的时空位置和范围的直方图中。最后,一个分类器(例如,SVM)会在”bag of words”表示结果上训练,来区分感兴趣的视觉类别。

卷积神经网络是受生物学鼓舞的一类深度学习模型,它使用单个神经网络就能替代所有的三个阶段,它的训练是端到端的,从原始像素点到类别输出。图像的空间结构被明确地利用于通过层之间的受限连接(局部滤波器、参数共享(卷积)和特殊的局部不变性建立神经元(最大池化)。因此这些架构有效地将所需的工程从特征设计、积累策略转移到网络连通结构的设计和超参数的选择上。由于受到计算限制,直到最近CNN才用于小范围(例如数据集MNIST, CIFAR-10/100, NORB,和Caltech-101/256)的图像识别问题上,但是GPU硬件的提高使得CNN可以扩展到数百万参数的网络,反过来这对图像识别、目标检测、场景标注、室内分割和门牌号分类上也有了显著性的提高。此外,从在ImageNet训练的网络中学到的特征已经证实,在使用SVM进行分类的情况下,在很多标准的图像识别数据集已经展示出最先进的性能,即使没有微调。

相比于图像数据领域,几乎很少有工作将CNN应用于视频识别中。既然,CNN在图像领域上很多成功的应用展示出大型训练集的可用性,我们推测,大范围视频分类基准的缺失是引起这种情况的部分原因。特别的,通用的数据集(KTH, Weizmann, UCF Sports, IXMAS, Hollywood 2,UCF-50)仅仅包含了几千个视频序列,几十个类别。即使是最大的可用的数据集,例如CCV(9,317 videos and 20 classes)和最近介绍的UCF-101(13,320 videos and 101 classes),与可用的图像数据集相比,不管是数量还是种类都相形见绌。尽管有这些限制,还是有很多CNN在视频领域的扩展被探索过,并且,通过将输入的空间和时间看做同等维度,并且在空间和时间上进行卷积操作,这样从图像CNN延伸到视频领域。在这项工作中,我们考虑这些扩展中的其中之一的泛化能力。基于卷积的限制玻尔兹曼机和独立子空间分析,通过训练时空特征的无监督学习领域已经发展起来了。相反,我们的模型是端到端的、完全监督的训练。

3、模型

不像图像一样可以通过裁剪、调整到一个固定的尺寸,视频在时间范围上的变化很广泛,不能很容易地用一个固定大小的框架来处理。在这项工作中,我们将视频看做一袋短的、固定大小的剪辑。既然每段剪辑在时间上都包含连续的帧,我们可以扩展网络在时间维度上的连通性来学习时空特征。扩展连通性的精确的细节上有很多选择,在下文中,我们大概描述了3个连通模式类别(Early Fusion, Late Fusion and Slow Fusion)。然后,我们描述了一个多分辨率的架构,用来定址计算效率。

3.1 CNN上的时间信息融合

我们调查了在时间维度上融合信息的几个方法(图1):在网络中,融合可以较早的的做到,通过修改第一层卷积滤波器在时间上进行扩展,或者也可以晚点来做,通过将两个单独的单帧网络在时间的一段距离分开放置,稍后在这个过程中融合它们的输出。首先,我们描述一个单帧CNN的baseline,然后通过几种不同的融合方式讨论它在时间上的扩展。

单帧: 我们使用一个单帧架构baseline来理解静态外观对于分类精确度的贡献。这个网络与ImageNet challenge winning模型相似,但是它接收大小为170x170x像素点大小的输入而不是原来的224x224x3。使用简化符号,整个架构是C(96; 11; 3)-N-P-C(256; 5; 1)-N-P-C(384; 3; 1)-

C(384; 3; 1)-C(256; 3; 1)-P-FC(4096)-FC(4096),其中C(d; f; s)表示卷积层,有d个滤波器,空间上大小为fxf,步长是s。FC(n)表示有n个节点的全连接层。所有的池化层P以无重叠的2x2的区域从空间上池化。归一化层N如Krizhevsky等人定义的那样,使用相同的参数:k = 2; n = 5; VT =

10的-4次方; FF = 0:5。最后一层与具有稠密连接的softmax分类器连接。

早融合: 早融合扩展结合了整个时间窗口上像素级别的信息。这是通过修改单帧模型的第一卷积层的滤波器来实现的,通过将它们扩展为11x11x3xT的像素点,其中T是时间范围(我们使用T=10,或者一秒的三分之一)。像素数据早期直接的连通性可以允许网络精确地检测局部动作方向和速度。

晚融合: 晚融合模型放置了两个单独的单帧网络(如上描述),直到最后卷积层C(256; 3; 1),共享相距15帧的参数,然后将两个流合并到第一个全连接层。因此,单独的单帧塔都不能检测任何动作,但第一个全连接层可以通过比较两个塔的输出来计算全局动作特性。

慢融合: 慢融合模型是两种方法的平衡混合,贯穿整个网络缓慢地融合时间信息,例如高层可以获得日渐增多的关于时间和空间维度的全局信息。这是通过扩展所有卷积层在时间上的连通性来实现的,此外除了空间卷积,也执行时间卷积来计算激活。在我们使用的模型中,第一卷积层扩展,每个滤波器的时间范围T=4,作用在输入的10帧片段上,通过步长为2的有效卷积操作,产生4个时间上的回应。第二第三层也重复迭代这个过程,其时间范围T=2,步长为2。因此第三卷积层可以获得全部10帧输入的信息。



图1: 在整个网络的时间维度上融合信息的几种方法。红色、绿色和蓝色的盒子分别代表卷积、归一化和池化。在慢融合模型中,描述列共享参数。

3.2 多分辨率CNN

尽管CNN已经正常地按照名利花了几个周的时间在大范围数据集上进行训练,甚至用了可用的最快的GPU,运行时间性能仍然衡量不我们在同架构、不同超参数设置下的实验能力的关键因素。这刺激了一些加速模型但仍保留其性能的方法。关于这些研究有多个方面,包括硬件上的提高、权重量化方案、更好地优化算法和初始化策略,但是在这项工作中,我们关注于架构上的改变,在不牺牲性能的同时加快训练时间。

关于加速网络,我们的方法是减少层的数量和每层神经元的数量。但是我们发现这样也会降低性能。为了不减少网络的大小,我们进行了进一步的实验,在低分辨率的图像上训练。然而,这虽然提高了网络的运行效率,但是图像中高频的细节被证实是实现好的准确度的关键。

Fovea and context流: 提出一个多分辨率的架构,志在在两个分别的流处理不同的分辨率(见图2)上达成一个妥协。一个178x178的视频帧剪辑作为网络的输入。context流接收降低采样的帧,即原始空间分辨率的一半(89x89),而fovea流接收中心89x89的区域,保持原始分辨率。用这种方法,总的输入维度减半。明显的,这个设计充分利用了很多在线视频中出现的相机偏置,因为感兴趣的目标经常会出现在中间区域。

架构变化: 两个流都是通过同一网络处理作为完整帧的模型,但是起始于89x89的视频片段。既然这个输入是空间大小的一半,作为完整帧模型,我们把最后一层池化层去掉,确保两个流都是以7x7x256结尾。两个层的激活函数都是串联,并且注入到有稠密连接的第一全连接层。



图2: 多分辨率CNN架构。输入帧注入两个流的处理:一个是context流,对低分辨率图像进行建模;一个是fovea流,处理高分辨率中间裁剪位置。两个流都包含了交替的卷积层(红色)、归一化层(绿色)和池化层(蓝色),两个流汇聚成两个全连接层(黄色)。

3.3 学习

最优化: 我们使用Downpour随机梯度下降来优化计算集群的模型。每个模型复制品的数量在10-50之间变化,每个模型进一步划分为4-32个分区。我们使用mini-batch为32个例子,momentum是0.9,权值衰减是0.0005。所有的模型初始化,其学习速率为1e-3,当验证误差停止提高的时候,这个值可以手动减少。

数据增大和预处理: 我们利用数据增大来减少过拟合的影响。在给出一个网络的例子之前,我们对所有的图像进行预处理,裁剪中心区域,改变大小为200x200像素,随机采样170x170的区域,然后随机以50%的概率水平翻转图像。这些预处理操作会连续应用在同一片段的所有帧。最后一步预处理,我们将原始像素值减去117,这是在我们的图像中所有的像素值的一个均值的近似值。

4、结果

我们首先给出在Sports-1M数据集上的结果并且定性的分析学习到的特征和网络预测。然后我们接着描述将学习经验转换到UCF-101数据集上。

4.1 在Sports1M上的实验

数据集. Sports-1M数据集包含了100万个YouTube视频,并且标注为487个类别。这些类别用一种manually-curated分类方法安排,包含了内部节点,比如Aquatic Sports, Team Sports, Winter

Sports, Ball Sports, Combat Sports, Sports with Animals,最终由叶级别变成细纹理。例如,我们的数据库里包含了6种不同的保龄球,7种不同的美国足球,23种台球。

每个类别有1000-3000个视频,大约有5%的视频注释不止一个类别。这些注释通过分析围绕在视频中的文本元数据来自动产生。因此,我们的数据是在两个级别上的弱注释:首先,如果标签预测算法失败或者提供的描述不符合视频的内容,则视频的标签很有可能是错误的。其次,即使一个视频被正确的注释,仍然可能在帧级别上存在一些变化。例如,一个标签为足球的视频可能包括击中的记分牌、采访、新闻主持人和人群等等。

我们将这个视频数据集的70%作为训练数据集,10%作为验证数据集,20%作为测试数据集。由于YouTube可能包含重复的视频,很有可能同一个视频同时出现在训练数据集和测试数据集上。为了了解这个问题的严重程度,我们将所有的视频在帧级别上,用近乎复制发现算法处理,发现只有1775个视频包含明显的近乎重复帧。进一步地,由于我们只是用到每个视频中随机抽取的100个半秒的片段,并且我们的视频平均长度为5-36分钟,很难出现相同的帧。

训练. 我们的模型大约训练了一个多月,对整个网络来说,每秒大约处理5个片段,如果在单个模型复制品下,对于多分辨率网络最高可以达到每秒20个片段。每秒5个片段的速率大约比我们期待在高端GPU上的慢了20倍左右,但是在给定我们10-50个模型复制品时,总的来说,我们期待可以达到一个可比较的速度。我们进一步地估计了我们采样帧的数据集,大约是在5000万数量级的例子。我们的网络在训练的整个阶段,总共大约有5亿个例子。

视频级别上的预测. 为了对整个视频进行预测,我们随机取样20个片段,并且每个片段单独地放入网络中。每个片段都在网络上传播4次(不同的裁剪和翻转),网络类别估计对每个类的概率产生一个相对更稳健的估计。为了产生视频级别的预测,我们选择了最简单的方法,在每个视频持续的时间上单个片段预测的平均。我们期待有更好的技术来进一步地提高性能,但是这超出了本文的范围。

特征直方图baseline. 除了与CNN架构之间进行比较,我们也给出了基于特征的方法。遵循BoW标准,我们在视频的所有帧上提取了特征类别,使用k-means矢量化编码使其离散,使用空间金字塔和软量化将单词累积到直方图中。每个直方图归一化后和为1,每一个直方图都连接到一个25000维的视频级别特征向量。我们的特征与Yang & Toderici类似,包含了从浓密和稀疏兴趣点提取的局部特征,和全局特征一样(包含了色相饱和度、颜色矩、人脸检测的数量)。作为分类器,在softmax分类器之后,我们使用了改正线性单元的多层神经网络。在单独的验证实验中,我们发现,多层网络比线性模型一贯性能明显要好。进一步地,通过训练多层模型,我们在很多网络超参数上执行交叉验证实验,并且选择一个在验证数据集上最好的性能。调整超参数,包括学习速率、权值衰减、隐藏层的数量、dropout的可能性和所有层上的节点数量。

定量的结果. 这个结果是相对Sports-1M测试数据集,包含了20万个视频和400万个片段,如1总结。从表1中我们可以看出,我们的网络比基于特征的baseline性能要好。我们强调,基于特征的方法在视频的持续时间内,计算稠密的视觉单词,并且基于整个视频级别的特征向量产生预测,而我们的网络每个只能看到随机取样的20个片段。此外,我们的网络可以学习的很好,尽管有明显的标签噪音:训练视频会受制于不正确的注释,即使是正确标签的视频也经常包含大量的人为产品,如文本、效果、裁剪、logo,其中每个我们都没有尝试明确地过滤。

表1: Sports-1M数据集上20万个视频的结果。Hit@k认为,这表明测试样本,在top k预测下,包含了至少一个地面实况标签。



相对于基于特征的baseline,与明显的差异相比,不同CNN架构之间的差异却出人意料地微不足道。尤其是,单帧模型已经展示出了强大的性能。进一步地,我们观察到,在实践中,由于输入维度的原因,fovea架构快2-4倍。精确的加速某种程度上是模型分区和我们实现的细节函数。但是,在我们的实验中,我们观察了,在单帧模型每秒6-21个片段的训练和慢融合模型每秒5-10个片段的训练的加速。

表2: 分类上,通过比较每个类别平均精度的差异,慢融合CNN比单帧CNN(右)性能更好。





图5: 这些例子表明,同是与图4相同的颜色配案,慢融合网络(动作意识)与单帧网络的定性差别。一些类别更容易消除运动信息歧义(左3图)。

动作的贡献. 我们进一步地实验,来理解单帧模型和可以利用动作信息的网络之间的差别。因为其性能最优,我们选择了一个慢融合网络作为一个有代表性的动作意识的网络。我们计算并比较了对于所有运动类别每个类平均准确度,并且在表2中标亮了最大差异的那个。手动检查一些有关联的片段(如图5),我们进行定性观察,在某些情况下,有动作意识的网络明显得益于动作信息,但这似乎相对少见。另一方面,在平衡动作信息所得到的提高时,我们观察到,动作意识的网络在摄像机运动时更容易性能降低。我们假定,CNN试图在所有可能的角度、摄像机速度的转变和变焦上,学习完全不变性。

定性分析. 我们在第一层卷积网络学到的特征可以在图3中看到。有趣的是,context流学习到更多的颜色特征,而高分辨率fovea流学到高频灰度滤波器。



图3: 多分辨率网络第一层学到的特征。左:context流,右:fovea流。尤其是,fovea流学习灰度、高频特征,context流学习低频、颜色特征。移动视频特征的GIF图可以在我们的网站上看到(链接在第一页)。

在图4中我们可以看到,我们的网络可以产生可读的预测,而且产生的错误是合理的。进一步分析这些混合矩阵(附加在补充材料中),大部分是在我们数据集中的细粒度类别中。例如,在top5通常混淆的是deer hunting vs hunting(狩猎鹿和狩猎)、hiking vs backpacking、powered paragliding vs paragliding、sledding vs toboggan、bujinkan vs ninjutsu。



图4: 在Sports-1M测试数据集上的预测。蓝色(第一行)表明地面实况标签,下面的是按照置信度降低排列的模型预测,绿色和红色分别表示正确的和错误的预测。

4.2 在UCF101上的迁移学习实验

在Sports-1M数据集上分析的结果表明,网络学习到了强有力的特征。自然出现一个问题就是,这些特征是否可以泛化到其他数据集和类别范畴中。我们从细节上检验了这个问题,在UCF-101动作识别数据集上进行了迁移学习实验。这个数据集包含了13320个视频,属于101个类别,被分成了5个大组:人体目标内的相互作用(化眼妆、刷牙、敲击等),肢体动作(爬行、俯卧撑、吹蜡烛等),人与人之间的交互作用(头部按摩、萨尔萨舞旋转、理发等),演奏乐器(长笛、吉他、钢琴等)和运动。这种分组允许我们分别学习,相对于在我们的训练数据集上出现的更少的无关视频中的类别,在运动类别上的性能提高。

迁移学习. 因为我们期待CNN能够在网络底部学到更多通用特征(例如边缘、局部形状),在接近网络顶层时学到更复杂的特殊数据集的特征,因此在我们的迁移学习实验中,我们考虑以下几种情形:

微调顶层:我们将CNN作为一个固定的特征提取器,在有4096维度的最后一层上,使用dropout正则化,训练分类器。我们发现只有10%的几率保证每个神经元都是有效的。

微调前三层:不仅仅是再训练最后一层的分类器,我们认为也应该重新训练所有的全连接层。我们在所有训练过的层之前使用dropout,只有10%的几率保证每个神经元都是有效的。

微调所有层:在这种情形下,我们将重新训练所有的网络参数,包括在网络底部所有的卷积层。

从头训练:作为baseline,我们单独在UCF-101数据集上重新训练整个网络。

结果. 为了准备UCF-101数据作为分类,我们从每个视频中采样了50个片段,遵循与验证运动数据集(across the 3 suggested folds)相同的评估协议。我么获得了UCF-101每个视频ID,但不幸的是这无法使用,因为我们无法保证Sports-1M数据集与UCF-101数据集没有重叠。然而这些担忧可以缓解,因为我们只使用了每个视频中抽样的片段。

在UCF-101实验中使用慢融合网络,因为它在Sports-1M数据集上表现了最好的性能。实验的结果可以在表3中看到。有趣的是,再训练softmax层并没有表现的最好(可能是因为高层特征对于sports来说比较特殊),并且微调所有层的另一个极端性能也不足够好(很大程度上由于过拟合)。相反,一个相对平衡的方法,重新训练网络的前几层取得了性能最优。最后,从头训练整个网络导致了大量的过拟合和较低的性能。

表3: 对于使用了不同迁移学习方法的慢融合模型在UCF-101数据集上的结果。



分组性能. 进一步地,我们在UCF-101数据集5个粗略的分组中分别进行性能验证实验。我们计算了每个类别的平均精确度,然后计算了每一组中类别上的平均精确度。如表4所示,较大部分的性能是由于UCF-101数据集中的运动类别,但其他分组仍然展示出了比较好的性能,由于标签噪音,这是唯一的办法来观察训练数据中帧的类型。更进一步,当重新训练前三层得到的性能提升大部分原因归结于非运动类别的提升:运动类别的性能从0.80降低到了0.79,而在其他所有类别中map得到提高。

表4: 通过分组分解UCF-101数据集上的慢融合模型的平均精度。



5、结论

我们在大范围视频分类中学习了卷积神经网络工作的性能。我们发现,CNN架构有能力从弱标签数据中,学习到强有力的特征,而且这远超于基于特征的方法的性能,这些好处对于架构在时间上的连通性的细节是惊人的。网络输出的定性实验和混合矩阵说明了可解释误差。

我们的结果表明,性能对于网络架构在时间上连通性的细节并不是特别的敏感的时候,慢融合模型比早融合、晚融合性能更好。特别的,我们发现,单帧模型总是有很强壮的性能,这表明,局部动作因素并不是很重要,即使是动态数据集,例如运动。另一个可选的理论是,对摄像机运动小心的处理是必要的(例如,从一个跟踪点的局部坐标系中提取特征),但是这要求对CNN架构有明显的变化,这个是以后的研究工作。我们同时也认为,混合分辨率的架构(包含了低分辨率context流和高分辨率fovea流),在没有牺牲精确度的同时是一个对CNN加速的有效方法。

我们在UCF-101数据集上的迁移实验表明,学习到的类别是通用的,并且可以泛化到其他视频分类任务。特别的,通过重新训练前三层网络,我们得到了性能最高的迁移学习。

下一步工作,我们希望结合更广阔类别的数据集,来获得更有力、更通用的特征;明确的提出关于摄像机运动的方法;探索循环神经网络作为一种更有力的技术,将片段级别的预测结合到全局视频级别预测中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐