开放科学(资源服务)标志码(OSID):
视频分类是指给定一个视频片段并对其中包含的内容进行分类,广泛应用于视频点播、网络演示、远程教育等互联网信息服务领域[1-2]。随着深度学习[3-4]技术的发展,通常将视频每一帧视为一幅单独的图像并利用二维卷积神经网络(Convolutional Neural Networks,CNN)进行图像分类。该方法将视频分类问题简化为图像分类问题,对比图像分类仅多了一个维度的时序特征。KARPATHY等[5]将时序语义融合分为识别动作靠场景和识别场景靠物体的单融合、相邻固定帧的两帧做卷积而全连接接受时序信息的后融合、在二维卷积中增加深度的前融合、在前融合中增加长度和步长的缓融合4类。根据3D卷积神经网络(3D Convolutional Neural Network,3DCNN)保留时序特征的特点,TRAN等[6]在UCF101数据集上的分类准确率最高为85.2%,每秒传输帧数(Frame Per Second,FPS)为313.9。研究人员对3D卷积神经网络进行大量研究,CARREIRA等[7]提出增加网络宽度的I3D网络,在单一数据集RGB流中的分类准确率为84.5%,但需使用64个GPU并行训练,且计算量难以应用于现实场景。为解决现实生活场景下的视频分类问题,杨曙光等[8-11]分别对3D卷积提取进行改进并将其运用于人体动作识别、体育运动分类等任务,获得了较高的分类准确率。HARA等[12]将ResNet网络[13]从2D扩展到3D,并将其与ResNeXt网络[14]、DenseNet网络[15]在Kinetics数据集上进行分类准确率对比,证明了预训练的简单3D体系结构优于复杂2D体系结构。陈意等[16]改进了NeXtVLAD,并且在VideoNet-100数据集中的分类准确率最高为85.4%。
由于目前常用的UCF101[17]、Kinetics[7]、HMDB51等数据集主要是以人物动作进行分类,然而在现实生活场景中还有纯风景、纯文字、卡通动漫等识别类型,此类基于人物动作的分类数据集并不适用,因此本文构建来源于抖音、快手、今日头条等平台的短视频数据集,并提出一种双流程短视频分类方法。在主流程中,通过考虑短视频在时间维度的连续性、平衡性与鲁棒性,设计更适合短视频分类的A-VGG-3D网络模型和采样策略。在辅助流程中,将帧差法判断镜头切换抽取出的若干帧通过人脸检测进行人物类和非人物类的二分类,以进一步提升短视频分类准确性。
1 双流程短视频分类原理针对实际生活场景下的短视频分类问题,本文提出一种双流程分类方法。主流程采用A-VGG-3D网络结构,通过对特征的精准提取并结合视频时序特征实现短视频分类。辅助流程通过镜头判别和人脸检测进行辅助分类。将辅助流程的分类结果与主流程分类结果进行分析,得出最终的分类结果。该分类方法不局限于人物动作,可将生活中的短视频进行更好的分类,适用于视频推荐、视频监管、视频查询等任务。
1.1 短视频采样策略在采样过程中,为充分保留视频的时序性,并且考虑到2D卷积网络在每次卷积运算后都会丢失输入的时间信息,而3D卷积网络除了2D卷积网络原有特征之外,还会保留输入的时间信息,因此选择3D卷积用于视频的相关特征提取。给定一个短视频,将其按相等间隔分为
$ V=\{{T}_{1}, {T}_{2}, \cdots , {T}_{k}\} $ | (1) |
2D和3D卷积操作如图 1所示,其中,L、H、W分别表示为短视频的时间长度、通道数、高和宽,k、d、K表示卷积核的尺寸。
![]() |
Download:
|
图 1 2D和3D卷积操作 Fig. 1 2D and 3D convolution operations |
牛津大学的SIMONYAN等[18]提出的VGG16卷积神经网络模型在ImageNet数据集中的Top-5测试精确率达到92.7%。VGG16网络模型利用深度学习技术,使得每个神经元只能感觉到局部图像区域,而全局信息则通过整合不同敏感的神经元获得,减少了卷积神经网络训练所需的参数量和权值。
1.3 注意力机制注意力机制是一种大脑信号处理机制,通过计算概率分布突出某个关键输入对输出的影响[19]。软注意力机制考虑所有输入,为每一个特征分配不同概率的注意力权重值,相对发散。硬注意力机制较为随机,在某一时刻只关注一个位置的信息,相对专注。通道注意力模块通过对特征图的各个通道之间的依赖性进行建模,提高了对于重要特征的表征能力。HU等[20]提出SENet block,其核心思想在于网络根据loss学习特征权重,有选择性地通过权重分配加强有关特征或抑制无关特征。BAHDANAU等[21]将注意力机制引入循环神经网络(Recurrent Neural Network,RNN),实现机器翻译。
本文在VGG16网络模型的基础上,引入压缩注意力模块(SENet block),SENet block主要包含Squeeze和Excitation两部分,如图 2所示,其中X为输入,C为通道数,W为权重参数,
![]() |
Download:
|
图 2 SENet block结构 Fig. 2 SENet block structure |
压缩操作(Squeeze)是一个全局平均池化操作,将
$ {Z}_{C}={F}_{\mathrm{s}\mathrm{q}}\left({U}_{C}\right)=\frac{1}{W\times H}\sum\limits_{i=1}^{W}\sum\limits_{j=1}^{H}{U}_{C}(i, j) $ | (2) |
其中:
激励操作(Excitation)是一个全连接层操作,位于压缩操作得到的结果
$ S={F}_{\mathrm{e}\mathrm{x}}(Z, W)=\sigma \left(g\right(Z, W\left)\right)=\sigma \left({W}_{2}\delta \right({W}_{1}Z\left)\right) $ | (3) |
其中:
规模化操作(Scale)是在得到
$ {X}_{C}={F}_{\mathrm{s}\mathrm{c}}\left({U}_{C}, {S}_{C}\right)={S}_{C}\cdot {U}_{C} $ | (4) |
其中:
短视频分类流程如图 3所示,在主流程中选取网络输出的前5类,从高到低设置为5分至1分,辅助流程输出结果各占1分,采用投票法计算出最终分值后进行短视频类别排序,最终输出总排名第1的短视频类别作为最终分类结果,进一步提升短视频分类准确率。
![]() |
Download:
|
图 3 短视频分类流程 Fig. 3 Procedure of short video classification |
选取典型短视频,构建C1和C2两类数据集,其中,C1是仅包含人物动作类的数据集,细分为访谈、剧情、乐器、舞蹈、穿搭5类短视频,C2数据集在C1数据集的基础上增加了文字类和动画类短视频,每类包括10~25组短视频,每组包括3~7个短视频。C1和C2数据集标签层级结构关系如图 4所示。
![]() |
Download:
|
图 4 C1和C2数据集标签层级结构关系 Fig. 4 C1 and C2 dataset label hierarchy relationship |
通过观察创作者的短视频,自制数据集中的短视频时长为15 s至1 min,主要集中在30 s左右,分别选取对应的388条和504条短视频,以防止过拟合。本文提出的短视频分类方法以短视频实际展示内容为视频标签,在短视频分类上更具实用性和鲁棒性。C2数据集中的部分短视频如图 5所示。
![]() |
Download:
|
图 5 C2数据集部分短视频 Fig. 5 Part of short videos of the C2 dataset |
短视频分类主流程如图 6所示,首先分割选取短视频片段,保证帧图像规格相同并确保相应数量的片段样本,然后把视频段输入A-VGG-3D网络进行特征提取、训练和测试,最后网络预测出前5类分类结果。
![]() |
Download:
|
图 6 短视频分类主流程 Fig. 6 Main procedure of short video classification |
目前,短视频分辨率一般为720×1 280像素。通过降采样处理,将短视频分割为224×224×3×15的片段输入A-VGG-3D网络特征提取部分,将Conv 3-3特征图输入短视频分类部分,将调整特征图做上采样处理为112×112×3×15的片段输入A-VGG-3D网络分类部分,其中采样深度为15,通道数为3,最终输出为该短视频类别。短视频深度选择方法主要分为给定固定值和选择所有帧2类,本文选择所有视频帧,这样能减少特殊样本对数据的影响。在式(5)中,
$ {N}_{\mathrm{f}\mathrm{r}\mathrm{a}\mathrm{m}\mathrm{e}}=x\times \frac{{N}_{n\mathrm{f}\mathrm{r}\mathrm{a}\mathrm{m}\mathrm{e}}}{{N}_{\mathrm{d}\mathrm{e}\mathrm{p}\mathrm{t}\mathrm{h}}} $ | (5) |
A-VGG-3D网络架构分为特征提取部分和短视频分类部分,其中特征提取部分为增加注意力机制的VGG网络,短视频分类部分为改进的C3D网络。A-VGG-3D网络模型的创新之处在于:1)特征提取部分在VGG-16网络浅层增加注意力机制,可模拟人脑对感兴趣区域合理分配权重;2)短视频分类部分减少了卷积层和池化层,在几乎不影响准确度的情况下降低了计算复杂度,加快了分类速度,并具有较高的分类鲁棒性;3)短视频分类部分新增3个BN层,解决了因网络层数加深而产生的收敛速度慢甚至消失的问题;4)短视频分类部分增加了级联融合模块,将小尺度图像放大至所需尺度,实现了多级特征融合。
A-VGG-3D网络架构如图 7所示,彩色效果见《计算机工程》官网HTML版。在特征提取部分,卷积层为粉色(Convolution+ReLU)、池化层为蓝色(max pool)、全连接层为黄色(Fully connected+ReLU)、深橙色为注意力机制模块(SENet block),最后输出层为绿色(softmax)。该网络在VGG网络Conv 1-1和Conv 1-2之间加入SENet block,主要包含Squeeze和Excitation两部分,通过在浅层进行学习并分配注意力权重从而选择性地加强有关特征或抑制无关特征。然后将特征以Conv 3-3特征图作为短视频分类部分输入。在短视频分类部分,绿色部分为本文加入的归一化层,通过两个跳跃连接的上采样模块(浅橙色)融合多尺度特征进行预测,从而加强对局部特征的学习,其中32@3×3×3为32个3×3×3的卷积核。
![]() |
Download:
|
图 7 A-VGG-3D网络架构 Fig. 7 A-VGG-3D network architecture |
短视频分类辅助流程主要包括镜头判别和人脸检测两部分辅助流程。由于短视频拍摄可分为航拍、弧型运动、衔接等镜头,因此不同类别短视频采用的镜头拍摄方法存在差异。剧情类和访谈类短视频的拍摄视角和场景切换频率存在很大不同,以相同方式选取短视频的46帧,剧情类前景与背景均存在较多变化,如图 8(a)中黑框区域,访谈类前景背景几乎不变,如图 8(b)所示。
![]() |
Download:
|
图 8 短视频镜头拍摄差异图 Fig. 8 Lens shot difference images in the short videos |
在镜头判别辅助流程中,采用帧差法来判断镜头切换,根据视频序列具有连续性的特点:如果拍摄镜头内没有较大变化,则连续帧的变化很微弱;如果存在镜头切换,则连续的帧与帧之间会有明显变化,即为本文选取的变换镜头帧。将相邻两帧图像对应像素点的灰度值进行相减并取绝对值,
$ {D}_{n}(x, y)=\left|{f}_{n}(x, y)-{f}_{n-1}(x, y)\right| $ | (6) |
设定阈值T,按照式(7)逐个对像素点进行二值化处理得到二值化图像
$ {R}_{n}^{\mathrm{\text{'}}}(x, y)=\left\{\begin{array}{l}255, {D}_{n}(x, y) > T\\ 0, \mathrm{其}\mathrm{他}\end{array}\right. $ | (7) |
其中:灰度值为255的点,即为前景点;灰度值为0的点,即为背景点。
为进一步提升短视频分类准确性,将帧差法抽取出的若干帧通过人脸检测辅助流程进行人物类和非人物类的二分类。采用滑动窗口机制与级联分类器融合的方式进行多尺度人脸检测,若抽取的短视频帧中存在人脸,则将人脸框出作为人物类短视频依据。因为人物类短视频部分带有人物特征,所以将改进的行为识别网络作为分类网络进行分类。最终根据分类网络得到的分类结果进行分析优化,并与前几次分类结果进行比对,得到最优分类结果。
3 实验与结果分析 3.1 实验参数设置实验操作系统为Windows 10 64位旗舰版。实验环境GPU为4块NVIDIA GeForce GTX 1080Ti显卡。A-VGG-3D以keras为框架,batch size设置为128,初始学习率为0.003,每经过1.5×105次迭代,学习率除以2,在第1.9×106次迭代(大约13个epoch)时停止,共训练100个epoch。镜头判别采用灰度帧差法,其中镜头边界阈值为0.5。人脸检测采用Python脚本在镜头帧中进行自动检测。
3.2 评价指标采用Top-1准确率和FPS作为评价视频分类方法主流程的性能指标。Top-1准确率和FPS计算公式分别如式(8)和式(9)所示:
$ A=\frac{T}{T+F} $ | (8) |
$ {F}_{\mathrm{F}\mathrm{P}\mathrm{S}}=\frac{{N}_{\mathrm{F}\mathrm{r}\mathrm{a}\mathrm{m}\mathrm{e}\mathrm{N}\mathrm{u}\mathrm{m}}}{{T}_{\mathrm{t}\mathrm{i}\mathrm{m}\mathrm{e}}} $ | (9) |
其中:A表示准确率;T表示分类正确的样本数;F为分类错误的样本数;
选择查准率(
$ {A}_{\mathrm{T}\mathrm{R}}=\frac{T}{T+{A}_{\mathrm{F}\mathrm{P}}} $ | (10) |
$ {A}_{\mathrm{P}\mathrm{R}}=\frac{T}{T+{A}_{\mathrm{F}\mathrm{N}}} $ | (11) |
其中:
由于数据集数量有限,在较多的短视频样本中选取少量推荐率高、代表性强的短视频作为实验数据集。UCF101[17]为包含时间短于10 s的13 320条实际动作短视频的公开数据集,共分为101类,其中每类有25个人,每人做4~7组刷牙、击鼓、蛙泳等动作。由于UCF101数据集与短视频分类研究数据集在时间上有相似性,因此选取UCF101数据集和自建数据集以解决短视频分类问题。选择C1、C2和UCF101数据集进行5类、7类、101类短视频分类,并按照4∶1的比例划分为训练集和测试集。为确保结果的一致性,实验选取视频的随机性保持不变,使用RGB帧输入。在辅助流程中,镜头判别在C1、C2数据集中进行镜头切换数量判定,在表示访谈类、剧情类、卡通类镜头切换数量与视频帧总数量的关系中:访谈类镜头切换数量基本保持在5次左右,在视频总帧数中占比不足5%;剧情类镜头切换数量基本大于10次,集中于20~70次,在视频总帧数中占10%~20%;卡通类镜头切换数量并不稳定,在切换数量上与剧情类更为相似,通过人脸检测辅助流程可较好地将两者进行分类。在辅助流程中,人脸检测准确率高达99%,表明辅助流程在短视频分类中具有较大作用。由于访谈类和剧情类在镜头切换数量上存在较大区别,因此以镜头数量判别非访谈类和非剧情类效果较好,也可降低网络对短视频分类的误判。为保证较高的查准率与查全率,设置镜头切换数量阈值为10,查准率与查全率结果如表 1所示。
![]() |
下载CSV 表 1 镜头判别查准率与查全率 Table 1 Precision and recall of lens discrimination |
通过双流程权重设置,主流程A-VGG-3D网络判定中存在粗分类问题,在分类层得出的前5名分类结果得分从高到低为5分至1分,辅助流程结果各占1分,采用投票法计算出最终分值作为分类结果,进一步提升短视频分类准确率。由于镜头判别仅针对辅助访谈类和剧情类提升准确率,最终分类准确率主要依据A-VGG-3D网络结果,因此本文权重设置较为合适。不同视频分类方法的消融实验结果如表 2所示。由表 2可以看出,与主流程A-VGG-3D网络分类相比,增加人脸检测可提升人物类和非人物类的分类准确率,在C2数据集上提升了3.2个百分点,增加镜头判别在C1数据集上提升了4.5个百分点,可见本文方法中的辅助流程可提升现实生活场景短视频的分类准确率。
![]() |
下载CSV 表 2 消融实验结果 Table 2 Ablation experiment results |
不同视频分类方法的对比实验结果如表 3所示。由表 3可以看出,与基于C3D的分类方法相比,本文方法的准确率在UCF101数据集上提升了9.7个百分点,在C1和C2数据集上表现也较为突出。综上,本文方法针对不同数据集能快速高效地进行短视频分类,并且对于人物类和非人物类短视频均具有较强的鲁棒性。
![]() |
下载CSV 表 3 对比实验结果 Table 3 Comparative experiment results |
本文提出一种针对生活场景的双流程短视频分类方法,构建A-VGG-3D网络模型,采用带有注意力机制的VGG网络提取特征,利用优化的3DCNN网络进行短视频分类,并结合镜头判别和人脸检测进一步提高短视频分类准确率。实验结果表明,该方法相比基于2D网络的视频分类方法可以更好地保留时间信息,并且在UCF101数据集和自建的生活场景短视频数据集上的分类效果均优于传统短视频分类方法。后续将优化A-VGG-3D分类模型,通过匹配镜头判别和人脸检测辅助流程进一步提升分类效果。
[1] |
SOOMRO K, ZAMIR A R, SHAH M. UCF101: a dataset of 101 human actions classes from videos in the wild[EB/OL]. [2021-05-17]. https://arxiv.org/abs/1212.0402.
|
[2] |
KUEHNE H, JHUANG H, GARROTE E, et al. HMDB: a large video database for human motion recognition[C]//Proceedings of International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2011: 2556-2563.
|
[3] |
HEILBRON F C, ESCORCIA V, GHANEM B, et al. ActivityNet: a large-scale video benchmark for human activity understanding[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2015: 961-970.
|
[4] |
HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2016: 770-778.
|
[5] |
KARPATHY A, TODERICI G, SHETTY S, et al. Large-scale video classification with convolutional neural networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2014: 1725-1732.
|
[6] |
TRAN D, BOURDEV L, FERGUS R, et al. Learning spatiotemporal features with 3D convolutional networks[C]//Proceedings of 2015 IEEE International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2015: 4489-4497.
|
[7] |
CARREIRA J, ZISSERMAN A. Quo Vadis, action recognition? A new model and the Kinetics dataset[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2017: 4724-4733.
|
[8] |
杨曙光. 一种改进的深度学习视频分类方法[J]. 现代计算机, 2017(8): 66-69. YANG S G. An improved video classification method of deep learning[J]. Modern Computer, 2017(8): 66-69. (in Chinese) DOI:10.3969/j.issn.1007-1423.2017.08.014 |
[9] |
廖小东, 贾晓霞. 基于改进型C3D神经网络的动作识别技术[J]. 计算机与现代化, 2019(3): 32-38. LIAO X D, JIA X X. Action recognition technology based on improved C3D neural network[J]. Computer and Modernization, 2019(3): 32-38. (in Chinese) |
[10] |
王倩, 孙宪坤, 范冬艳. 基于深度学习的时空特征融合人体动作识别[J]. 传感器与微系统, 2020, 39(10): 35-38. WANG Q, SUN X K, FAN D Y. Fusion of spatio-temporal features based on deep learning for human action recognition[J]. Transducer and Microsystem Technologies, 2020, 39(10): 35-38. (in Chinese) |
[11] |
李钊光. 基于深度学习和迁移学习的体育视频分类研究[J]. 电子测量技术, 2020, 43(18): 21-25. LI Z G. Research on sports video classification based on deep learning and transfer learning[J]. Electronic Measurement Technology, 2020, 43(18): 21-25. (in Chinese) |
[12] |
HARA K, KATAOKA H, SATOH Y. Can spatiotemporal 3D CNNs retrace the history of 2D CNNs and ImageNet? [C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 6546-6555.
|
[13] |
HE K M, ZHANG X Y, REN S Q, et al. Identity Mappings in Deep Residual Networks[M]. Berlin, Germany: Springer, 2016.
|
[14] |
XIE S N, GIRSHICK R, DOLLÁR P, et al. Aggregated residual transformations for deep neural networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2017: 5987-5995.
|
[15] |
HUANG G, LIU Z, VAN DER MAATEN L, et al. Densely connected convolutional networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2017: 2261-2269.
|
[16] |
陈意, 黄山. 基于改进NeXtVLAD的视频分类[J]. 计算机工程与设计, 2021, 42(3): 749-754. CHEN Y, HUANG S. Video classification based on improved NeXtVLAD[J]. Computer Engineering and Design, 2021, 42(3): 749-754. (in Chinese) |
[17] |
TRAN D, BOURDEV L, FERGUS R, et al. Learning spatiotemporal features with 3D convolutional networks[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2015: 4489-4497.
|
[18] |
SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2021-05-17]. https://arxiv.org/abs/1409.1556.
|
[19] |
李梦洁, 董峦. 基于PyTorch的机器翻译算法的实现[J]. 计算机技术与发展, 2018, 28(10): 160-163, 167. LI M J, DONG L. Implementation of machine translation algorithm based on PyTorch[J]. Computer Technology and Development, 2018, 28(10): 160-163, 167. (in Chinese) DOI:10.3969/j.issn.1673-629X.2018.10.033 |
[20] |
HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 7132-7141.
|
[21] |
BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[EB/OL]. [2021-05-17]. http://aps.arxiv.org/abs/1409.0473v2.
|
[22] |
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90. DOI:10.1145/3065386 |
[23] |
BARTZ C, HEROLD T, YANG H, et al. Language identification using deep convolutional recurrent neural networks[M]. Berlin, Germany: Springer, 2017.
|
[24] |
SIMONYAN K, ZISSERMAN A. Two-stream convolutional networks for action recognition in videos[EB/OL]. [2021-05-17]. https://arxiv.org/abs/1406.2199.
|
[25] |
NG J Y H, HAUSKNECHT M, VIJAYANARASIMHAN S, et al. Beyond short snippets: deep networks for video classification[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2015: 4694-4702.
|
[26] |
智洪欣, 于洪涛, 李邵梅. 基于时空域深度特征两级编码融合的视频分类[J]. 计算机应用研究, 2018, 35(3): 926-929. ZHI H X, YU H T, LI S M. Video classification based on cascaded encoding fusion of temporal and spatial deep features[J]. Application Research of Computers, 2018, 35(3): 926-929. (in Chinese) |