本文属于菜鸟转译,阅读对象为非专业普通人,主要解决普通人的第一层认知问题——“不知道自己不知道”,知道科学界的新知识。
专业人士请移步原文。
****************分割线************************
作者:Fu Li, Chuang Gan, Xiao Liu, Yunlong Bian, Xiang Long, Yandong Li, Zhichao Li, Jie Zhou, Shilei Wen,来自:Baidu IDL & Tsinghua University
摘要
本文描述了在Google Cloud和YouTube-8M视频理解挑战赛中获得第三名的视频识别任务解决方案。由于挑战赛提供的是预先提取的视觉和音频特征而不是原始视频,因此我们主要研究聚合多标签视频识别帧级特征的时间建模方法。我们的系统主要由三部分组成:双流序列模型、快进序列模型和时间剩余神经网络。实验结果表明,我们提出的时间建模方法可以极大地改善现有的大规模视频识别任务的现有时间建模方法。值得注意的是,我们的快速LSTM深度为7层,以Kaggle公开测试集测试,精度达到82.75%(评估指标为GAP@20)。
1、简介
视频理解是一项具有挑战性的任务,在计算机视觉和机器学习的研究中得到了大量的关注。无处不在的视频捕捉设备已经创造了远远超过人力所能观看和处理的视频数量,因此迫切需要能开发各种应用程序进行自动视频理解的算法。
为了识别视频中的动作和事件,基于深度卷积神经网络(CNNs)[11、15、6、20]以及重复网络[9、18、10、3]的现有方法已经取得了显著的成果。然而,由于缺乏可公开的数据集,现有的视频识别方法仅限于小规模的数据,而大规模的视频理解仍然是一个未解决的问题。为了解决这个问题,谷歌发布了一个新的网络抓取大型视频数据集,名为YouTube-8M,它包含了超过700万个YouTube视频,标签类量约为4716类。一个视频可能有多个标签类,每个视频的标签类的平均数量是1.8。在此之前, al [5,7]还研究了使用Web视频和图像学习视频识别模型。
Youtube-8M数据集的另一个吸引人的地方是,比赛仅提供预先提取的视频每秒视觉和音频特征,而不是原始视频。我们既不能训练不同的CNN构架,也不能学习原始视频的光流特性。因此,我们将重点专注在时间建模方法上,以聚合帧级特性,从而为进一步的多标签识别提供丰富的、有区别的视频表示。特别提出三种新颖的时间建模方法,即双流序列模型,快进序列模型和时间剩余神经网络。实验结果证明了这三种模型在传统的时间建模方法上的有效性。我们还发现这三种时间建模方法是互补的,整体应用可以表现优异。
本文的后续内容主要有:第2节介绍了我们的时间建模方法,以学习丰富且有区别的视频特性表示;第3节报告实验结果;并在第4节讨论和总结。
2、方法
在这一节中,我们分别描述了我们的三种时间方法。
2.1双流序列模型
我们的双流序列模型建立在双向LSTM [10]和GRU [3]之上,因为它们已经在视频识别中显示出强大的时间建模能力。本文主要解决的是如何整合视频中包含的视觉和音频信息。为了最好地利用多模态线索的优势,我们提出的几个序列架构融合了这两种模式的特点。
原始双流CNN [15]框架分别对具有RGB和光流特征的CNN进行训练,然后依靠后期得分融合策略来利用两种模式的互补特性。最近,Ma et.al [14]提出的时域网络RNN将两种形态特征连接在一起并将它们输入到一个LSTM以获得视频识别。
与他们不同,我们建议训练两个双向的LSTM或GRU模型(例如,一个用于RGB特征,另一个用于音频特征)。注意层插入在序列模型之后,并连接到两个模式的特征向量。最后,特征向量被输入到两个完全连接的层和一个s形结构层,用于多标签的分类。我们在图1中概述了这种机制。最终实验结果验证了我们所提出的两流序列模型比融合方法的更为有效。
图1.双流LSTM模型的架构
2.2 快进序列模型
最近,我们见证了深度CNN在大规模图像分类上的成功[16,19,8]。通常,具有较深的卷积层的模型要比浅的模型表现得更好。然而,并没有成功转移到视频识别任务中使用的序列模型中。文献中报道的最好的序列模型仍然是浅的模型。这种现象主要是由两个问题造成的。首先,在以前存在的小型视频识别数据集[17,12]中,不可能探索更深层次的序列模型,它只包含大约10万个视频。其次,优化深层次序列模型比训练深层CNN更具挑战性,因为存在更多的非线性活动和循环计算导致更小和不稳定的梯度。
新的Youtube8M数据集提供了探索具有深层结构的序列模型的机会。由于大规模视频识别是一个非常困难和具有挑战性的问题,因此我们认为,采用更复杂架构的深层次序列模型对于捕获帧之间的时间关系是必要的。在竞赛中,我们通过增加模型的深度来提高序列模型的复杂度。然而,我们观察到,单纯地增加LSTM和GRU的深度会导致过度拟合和优化问题,对视频识别有负面影响。这种现象与原始Youtube8M技术报告中的描述一致。
为了解决这些问题,我们通过向序列模型添加快进的方法来探索一个新颖的深LSTM/GRU体系结构,它在构建一个具有7层双向LSTM序列模型方面起着至关重要的作用。我们在图2中概述了框架。我们首先将每个帧的RGB和音频功能连接在一起,然后将它们输入进快进序列模型中。快进连接被添加在相邻循环层的两个前馈计算块之间。每一个快进的连接都将前面的快进和重复层的输出作为输入,并使用一个完全连接的层来嵌入它们。快进连接提供了快速传播信息的路径,因此我们称之为路径快进连接。在接下来的技术报告中,我们将详细介绍我们提出的快进序列模型和实现细节。
图2快进序列模型架构
2.3 时间残差神经网络
尽管周期性模型(LSTM和GRU)的功能得到了广泛的认可,但是最近的序列卷积体系架构[13,14]显示出对时间建模任务具有的很大潜力。Li et.al[13]提出了一种基于ResCNN的神经语音识别系统,用于识别和验证讲话者。Maet.al[14]提出了一个用于视频识别的时间启发架构,并在UCF101和HMDB51数据集上取得了最先进的结果。
在比赛中,我们研究了时间卷积神经网络对视频识别的时间建模的使用。与对帧级特征进行卷积以学习全局视频级别表示的[14]不同,我们结合卷积和循环神经网络这两种模型的优点。时间卷积神经网络用于将原始帧级特征变换为更具辨别力的特征序列,并且将LSTM用于最终分类。
提出的时间CNN的架构如图3所示。每个帧中的RGB和音频特征都被连接起来,零值特征被填充以产生固定长度的数据。所输入数据的大小为4000×1152×300,其中4000,1152,300表示小批量大小,通道号和帧长度。然后,我们将批量数据传播到一个时间重分配网(Temporal Resnet),它是一个9个时间重定向块(TRB)的堆栈,每个TRB由两个时间卷积层(后面是批量规范和激活)和快捷连接组成。对于所有时间卷积层,我们使用1024 3×1滤波器。然后,关注时间CNN的输出被输入到一个双向的LSTM。
图3.时间残差CNN的架构。
3、实验
在本节中,我们将介绍数据集、实验设置和实验结果。
3.1 数据集
我们利用Youtube-8M数据集[1]进行实验。这个数据集包含了大约700万个Youtube视频。每个视频都带有一个或多个标签。竞赛中的视频和音频特征是预先处理的,视频的每一秒都提供了数据集。视频特征是由ImageNet [4]预先训练的Google Inception CNN获得的,随后PCA压缩为1024维矢量。音频功能是VGG[16]网络中预先训练好提取出来的。在正式的分析过程中,数据集分成三个部分:70%用于培训,20%用于验证,10%用于测试。在竞赛中,我们只保留了来自官方验证集的60K个视频来验证参数。验证集中的其他视频被包含在训练集里。我们观察到这个策略可以稍微提高分类的效果。使用Youtube-8M Kaggle比赛中使用的前20名的全球平均精度(GAP)指标来评估结果。
3.2 实验结果
•表1报告了Youtube8M测试集上各个模型的性能。对于视频级别的方法,我们使用平均池来聚合帧级特征向量。对于基于VLAD编码的方法,我们使用256个集群中心,然后是[2,21]中建议的签名的平方根和L2标准化。然后我们将这些表示输入到一个MLP分类器中以获得最终的视频分类分数
表1. Youtube8M测试集的比较结果
在表1中,我们得到三个关键的观察结果。
(1)与以前的视频汇集方法相比,我们提出的双流序列模型和快速序列模型实现了更好的结果。
(2)具有7层深度的快进LSTM模型可以在GAP方面提升约0.5%的浅序列模型。
(3)不同的时间建模方法相互补充。
我们的最终作品集合了57种具有不同隐藏元件和深度的模型。
4、结论
在这项工作中,我们提出了三种时间建模方法来应对具有挑战性的大规模视频识别任务。实验结果验证了我们的方法比传统的时间建模方法具有更明显更好的效果。我们的模型已经被证明可以进一步提高性能,也使得我们的方法能够在挑战竞赛中获得第3名的好成绩。我们的PaddlePaddle视频工具可从https://github.com/baidu/Youtube-8M下载,里面包含了三种时间建模方法的实现。
注:如果本文侵犯了您权益,请联系我进行删除。联系方式: zhuazhua365@qq.com