一种改进的深度学习视频分类方法
2017-04-22杨曙光
杨曙光
(四川大学计算机学院,成都 610065)
一种改进的深度学习视频分类方法
杨曙光
(四川大学计算机学院,成都 610065)
目前在深度学习领域最典型的视频分类方法是3D卷积深度网络。但是3D卷积网络对于较长的视频只能把视频截成小段,分别提取特征向量,求均值,最后在特征均值基础上进行分类。均值操作会造成分类精度下降,针对此问题,提出一种改进的方法,对3D卷积方法提取的短视频特征放入LSTM进行序列识别,并通过实验来验证改进的有效性。
视频分类;3D卷积深度网络;LSTM;深度学习
0 引言
视频分类在视频分析中具有重要意义,目前在深度学习中经典的视频分类方法是3D卷积深度网络。3D卷积深度网络巧妙地利用了2D卷积深度网络在图像分类中的优势,通过在时间维度增加一维卷积来达到对视频数据的分类。相比于传统算法,不用人工提取复杂的图像特征,可以实现端到端的训练。3D卷积深度网络是一种空间网络,由于受深度网络后端全连解层的影响,在设计3D卷积深度网络的时候,我们必须首先确定网络输入视频的宽、高和帧数。由于限制了固有的帧数,当模型要对很长的视频进行分类时,就必须把长视频分成一段段长度相等的短视频,对这些短视频进行3D卷积运算会提取一段段特征向量,对得到的特征向量求均值得到一个均值特征向量,然后把均值特征向量放入最后的Softmax层进行分类。
视频本质上是一个时序数据,视频帧之间如果发生错乱就会破坏这个视频数据的规律性。而上述3D卷积深度网络对提取的短视频特征向量加和求均值的做法就会破坏时序特性。反过来思考,对于特定的一堆数字,无论怎么打乱它们的次序,加和求均值后的结果总是不变的。所以加和求均值不会反映原来数据的次序性。
针对这个问题,本文提出用LSTM融合3D卷积网络来分类视频。LSTM是一种时序识别网络,加入LSTM可以克服3D卷积深度网络中对提取的特征加和求均值所带来的时序丢失问题。
1 改进的3Dcnn-LSTM算法流程图及原理
典型的3D卷积深度网络视频分类的流程如图1所示,可以看到原始长视频片段被分成一个个短视频片段,每个短视频片段通过3D卷积深度网络后都会提取到一个特征,所有的提取特征加和求均值后的值放入最后的分类层进行分类。
改进的3Dcnn-LSTM融合模型的视频分类流程如图2所示,可以看出,3D卷积网络已经成为了LSTM的特征提取层,长视频被分成一个个短视频,每个短视频通过3D卷积网络时候被提取成一个特征向量,特征向量又被送如LSTM,不断重复这一过程,直至所有短视频片段识别完成。这一过程对比传统的3D卷积方法能够更加合理地处理视频分类的问题,对于一个超长视频识别问题来说,通过3D卷积来识别视频短跨度的规律,通过全局的LSTM来识别视频的长跨度的规律。
就像2D卷积网络比较擅长图像分类一样,3D卷积神经网络对一定帧长的视频分类比较优秀。LSTM是在RNN(Recurrent Neural Networks)基础上发展起来的一种优秀的序列识别网络,通过加入输入门、输出门以及遗忘门等结构,再加上误差流截断等技术,很大程度上克服了RNN梯度消失和爆炸等问题,特别适合序列问题的识别。所以LSTM和3D卷积神经网络来识别视频是符合视频数据的特征原理的。
2 试验介绍
本次实验对比在UCF101上进行。为了分析两种算法的有效性,分别在UCF101上进行了5类、30类、101类的试验对比。
(1)数据集介绍
UCF101[3]是从YouTube上收集的一个行为识别数据集,它包含了101类行为,共13320个短视频。UCF101通过拍摄相机的运动,拍摄对象的外观姿势变化,目标尺度变化,背景光照的变化,视角的变化来保证数据的多样性。每一类的视频分为25组,每组有4到7个短视频,每一组里的视频有许多共有特征,例如:相似的背景、相似的视角等。
视频总体上可分为五大类:人与物互动,人与人互动,肢体运动,演奏乐器,体育运动。在详细的类别上有小孩爬行,射箭,篮球运动,刷牙,跳高,骑自行车,遛狗等,类别如图3所示。
图3 UCF101数据的代表类别图
图2 3Dcnn-LSTM视频分类流程图
(2)数据预处理
原始视频是三通道的320×240彩色图像,在实验过程中综合考虑了运行的时间成本和试验精度,把视频放缩为54×40。在时间维度上,原始视频是每秒24帧,由于相邻视频帧之间的动作差异性很小,数据的冗余性很大,冗余的数据一方面会降低运算速度,另一方面也会增加分类识别难度,所以本文对视频进行了丢帧处理,具体做法就是每三帧丢掉两帧,总的视频识别长度是240帧,丢帧后,输入网络的数据是80帧,分成16个帧序列,每个帧序列有5帧。UCF101虽说是当前比较全,也是比较大的视频数据集之一,但是一万多的样本对于深度神经网络来说还是太少了,所以为了克服过拟合的问题,本文采用了图像增强技术,对每个视频就行了视频的水平反转,抖动生成3个视频。
(3)网络设计
考虑到视频样本的不足又没有一个训好的3D卷积网络来做迁移学习,本文设计了一个比较小的8层神经网络功能层,3个3D卷积层,2个池化层,一个LSTM层,一个全连接层,一个Softmax分类层。各层都采用ReLU作为激活函数,为了克服过拟合问题,在最后一个3D卷积层之后加入了BN(Batch Normalization)层。在实验中发现这样的网络配置还是容易过拟合,为了解决这个问题,被迫采用了迁移学习的技术,但是在做迁移学习遇到困难,因为没有现成的训好的3D卷积网络,也没有数量庞大,质量很好的视频样本来供自己预训练网络,最后采取了一个折中的方法,首先用Cifar100数据集来预先训练一个2D卷积神经网络,然后把这个2D卷积网络扩充成3D卷积网络,用这个扩充的3D卷积神经网络来初始化网络参数。具体网络结构如表1所示。
表1 深度分类网络
3 结果讨论
本次实验是在Theano框架上进行,在图像分类中我们已经有了预训练好的模型来做迁移学习,这些模型是指百万级别甚至千万级别的优质数据上训练的,所以做迁移学习时能够很好的避免过拟合,遗憾的是,截至到目前,视频领域的优质数据集还远远达不到这个规模,所以也没有一个成熟的预训练模型来初始化3D卷积模型的参数,本文在这方面做了很多尝试,发现即使用成熟的大型的2D卷积网络扩展成3D卷积网络来初始化参数,做UCF101数据集的分类,仍会出现过拟合现象,所以本文采用了一个小型的2D卷积网络在cifar100上做预先训练,训练出的参数扩展成3D卷积网络,然后用扩展成的网络做参数初始化,用初始化的3D卷积网络来训练视频分类器。
本文为了对比改进算法的有效性,分别进行了5类,30类,101类的视频分类试验。5类,30类是从UCF101数据集中随机抽取的,101类是全部的UCF101数据集。基本网络采用表1的网络,不同类别只是把最后的分类层的输出个数进行更改,对比的3D卷积网络只是把表1的LSTM层去掉,优化算法采用自适应adadelta优化方法。结果发现在5类视频分类任务上,3D卷积网络能够达到75%的准确率,改进的3Dcnn-LSTM算法可以达到80%的准确率;在30类的分类任务上,3D卷积网络可以达到57%的准确率,而改进的3D-LSTM算法可以达到63%的准确率;在101类的识别任务上,3D卷积网络能够达到39%的准确率,而改进的3Dcnn-LSTM可以达到43%的准确率。
从试验结果上看,我们的改进算法在各种条件下都是优于经典的3D卷积网络的,证明了改进算法的有效性。
4 结语
本文把序列识别网络LSTM和3D卷积网络融合在一起来做视频的分类,弥补了经典3D卷积网络的时序丢失问题,使得分类精度更高。由于视频相对于图像数据量要大很多,训练普通图像模型很快的机器来训练视频分类任务就特别慢,所以本实验不得把视频的分辨率调到很低,这些因素显然会影响分类的精度。另外目前优质的大规模的视频数据集的缺少使得训练大规模的3D卷积模型比较困难,3D卷积模型要从2D模型的基础上进行扩展来进行迁移学习,这也在很大程度上影响了分类的精度。本实验只是这些不利情况下进行的试验对比,相信两种模型都没发挥出它们的最大潜力,未来随着计算速度的提升和公共大型优质的视频数据集的完善,两种模型尤其是改进的3Dcnn-LSTM模型会有很大的精度提升。
参考文献:
[1]Shui-wang Ji,Wei Xu,Ming Yang,Kai Yu,D Convolutional Neural Networks for Human Action Recognition,Pattern Analysis and Machine Intelligence,IEEE Transactions on(Volume:35,Issue:1),2013
[2]S.Hochreiter,J.Schmidhuber.Long Shortterm Memory.Neural Computation,9(8):1735-1780,1997.
[3]K.Soomro,A.R.Zamir,M.Shah.UCF101:A Dataset of 101 Human Action Classes from Videos in the Wild.CRCVTR-12-01, November,2012.
An Improved Video Classification Method of Deep Learning
YANG Shu-guang
(College of Computer Science,Sichuan University,Chengdu610065)
3D Convolutional Neural Networks is the most typical video classification method in deep learning at present.But the 3D convolution network can only segment the long video into many short videos,extract the feature vectors of those short videos,solve the mean value of those feature vectors and then classify the long video based on the mean value.The above average operation will result in decreased precision.To solve this problem,proposes an improved method which puts the feature extracted by 3D Convolutional Neural Networks into the LSTM method for sequence recognition.The effectiveness of the improvement is verified by experiments.
Video Classification;3D Convolutional Neural Network;LSTM;Deep Learning
1007-1423(2017)08-0066-04
10.3969/j.issn.1007-1423.2017.08.014
杨曙光(1987-),男,河南周口人,硕士研究生,研究方向为机器学习
2016-12-22
2017-02-25