行为识别作为视频内容分析领域的分支,其主要任务是对视频中人体目标实施的行为进行特征提取和表达,让计算机自动完成行为的识别。视频相对于图像而言,多了时间维度的信息,因此如何有效地提取时空信息对于准确度的提升显得至关重要。然而,实际应用中需要考虑运行内存、电源预算等问题,这就意味着追求提升准确度的同时,也必须降低模型的计算量。
近年来,随着大规模数据集的发布,基于深度特征表达的行为识别获得了迅速的发展。卷积神经网络(CNN)占据了行为识别任务的大部分。二维卷积神经网络(2D CNN)在图像处理领域达到较为成熟的应用。针对视频处理时需要考虑到帧与帧之间的相关性,为此Simonyan等人[1]首次搭建时空双流CNN架构用于行为识别,其架构包含两个分支网络:空域网络和时域网络。空域网络的输入为单帧RGB图像,时域网络的输入为堆叠光流图,分别提取时空信息,最后利用SVM分类器进行分类。该方法对于时空特征提取提供了比较好的思路,不足之处在于需要计算光流图,计算量较大。为了提高计算效率,Tran等人[2]提出利用三维卷积神经网络(3D CNN)直接提取时空特征,具体为直接将一段连续16帧的视频片段输入到网络中,该方法不需要计算额外的光流,效率比较高,但是受限于当时视频数据集的大小,准确率较低。为了实现更高的识别精度,通常利用加深网络深度[3]和扩大网络宽度[4]的方式。Hara等人[5]利用多种3D CNN架构在Kinetics数据集上进行实验和预训练,并利用迁移学习的方法在UCF-101和HMDB-51数据集上微调网络参数,均达到了不错的效果,证实了简单的3D CNN架构比复杂的2D CNN架构在提取时空特征上具有明显的优越性。为了充分利用视频中空域与光流的互补性,文献[6]提出时空双流卷积网络TVBN-ResNeXt,良好地解决了光流自学习问题。为了更容易训练优化,P3D[7]和R(2+1)D[8]提出将3D卷积分别分解为空间和深度维度上操作的2D卷积和1D卷积。
针对如何减少模型的计算量,AlexNet[9]最先采用分组卷积(group convolution)来克服计算资源的内存限制,分组卷积就是将输入通道分成不同的组,同一组内的通道进行卷积运算。Xie等人[10]提出在基础块中利用分组卷积,并将网络命名为ResNeXt。为了优化模型大小和减少计算成本,MobileNet[11]引入了深度可分离卷积,主要思想是将常规卷积分解成Depthwise卷积和1×1卷积。为了提高模型的泛化能力,ShuffleNet[12]提出在深度可分离卷积之前将通道进行通道混淆,从而加强了不同通道之间的信息交互能力。以上所提到的模型均是2D版本的,在此基础上,Kopuklu等人[13]将多种轻量级网络实现3D版本并进行实验,证实了模型对运动的捕捉程度以及迁移学习对每个模型的适用性。
ResNet[14]解决了随着模型深度增加而导致训练困难的问题。然而从模型实际表现来看,更深的模型并不会带来等量的精度提升。针对模型精度与计算复杂度之间的制约问题,受模型轻量化的启发,本文提出了可用于行为识别的通道可分离卷积神经网络。将3D-ResNet瓶颈层中的三维卷积分解成3×3×3 Depthwise卷积和1×1×1常规卷积。其中3×3×3 Depthwise卷积用于分离通道交互作用,1×1×1常规卷积用于分离时空交互作用。通过对比具有相同深度的网络模型,验证了通道可分离卷积神经网络可以正则化模型,避免过度拟合,从而既提高识别准确率,又能同时满足系统实时处理的需求。本文提出的通道可分离卷积神经网络在UCF-101和 HMDB-51数据集上分别达到92.7%和64.5%的准确率,并且大大减少了网络参数量和计算复杂度。
本节首先对分组卷积的定义进行说明,然后通过分离通道交互作用和时空交互作用来分解三维卷积,详细说明通道可分离卷积神经网络的单元结构和网络结构。
常规卷积是将每个卷积核与所有输入通道进行卷积操作,如图1(a)所示。为了减少计算成本和复杂度,分组卷积应运而生,其主要是将输入通道进行分组,然后每组内进行卷积操作,如图1(b)所示。Depthwise(DW)卷积是分组卷积的一种特殊情况,即每个组内仅包含一个通道,一个卷积核与一个通道进行卷积,如图1(c)所示。图1依次给出4个输入通道和4个输出通道的情况下常规卷积、分组为2的分组卷积以及DW卷积。
图1 分组卷积
Fig.1 Group convolution
1×1×1常规卷积通过改变卷积核的数量可以实现降维、升维的作用,这同时意味着可以起到跨通道信息交互作用,但是不具备时空信息交互作用。而DW卷积没有改变通道数,因此其不具备跨通道信息交互作用,但是具备时空信息交互作用。
通道可分离卷积神经网络的基础块是在ResNet[14]的瓶颈层(bottleneck layer)基础上减少了通道之间的信息交互作用,其网络基本单元如图2所示。图中χ3表示卷积核大小,F表示特征图的数量,BN(Batch-Normalization)表示批量归一化。与bottleneck对比,通道可分离卷积神经网络将3×3×3常规卷积替换成3×3×3 DW卷积。网络单元结构包含2种不同的卷积层:1×1×1常规卷积用来进行通道之间信息交互作用(没有局部时空交互),3×3×3 DW卷积用来进行局部时空交互(没有通道之间信息交互)。第一层和第三层的1×1×1常规卷积分别用来降低通道维数和升高通道维数,其作用是降低网络参数,同时这也是整个网络进行通道之间信息交互作用的唯一机制。每一层卷积层之后是BN与修正线性单元ReLU(Rectified Linear Unit)。
BN就是使每层神经网络神经元的输入回归到标准正态分布,这样使得输入到激活函数ReLu的值在反向传播时避免梯度消失的问题,从而加快了模型的训练速度。
将上述通道可分离卷积神经网络单元结构进行堆叠形成50层的网络,其网络结构如表1所示。表中F为图2中对应特征图的数量,N为构成各卷积层单元结构的数量。整个架构的具体构造为:卷积层C1的卷积核大小为7×7×7,特征图数量为64,步长为(1,2,2),其余各卷积层C2-C4由基本单元结构堆叠而成,经过卷积操作之后为全局平均池化层和全连接层。
图2 ResNet与通道可分离卷积神经网络单元结构
Fig.2 Unit structure of ResNet and channel separable convolutional neural network
表1 通道可分离卷积神经网络结构及参数
Tab.1 Structure and parameters of channel separable convolutional neural network
层次结构卷积层C1kernel_size=(7, 7, 7),64stride=(1, 2, 2)卷积层C2F=64 N=3卷积层C3F=128 N=4卷积层C4F=256 N=6卷积层C5F=512 N=3全局平均池化层kernel_size=(1, 4, 4)stride=(1, 1, 1)全连接层2048
通道可分离卷积神经网络采用交叉熵损失函数进行训练,对于一个batch-size为N的损失函数如式(1)所示。式中K表示类别的标签数,P和 Y分别表示真实类别的标签和网络输出的概率分布。
(1)
本节首先对数据集和实验设置进行说明,然后将网络深度相同的各种模型进行对比分析,包括网络参数量、模型复杂度、准确率以及处理速度。实验结果表明利用分离通道交互作用和时空交互作用来分解三维卷积可以正则化模型,避免过度拟合,最后将通道可分离卷积神经网络与现有用于行为识别的主流算法对比并进行性能评估。
为了评估通道可分离卷积神经网络的性能,在UCF-101和HMDB-51数据集上进行实验,两种数据集都是经过裁剪处理后的数据集,即去除了许多无关动作帧,因此比较简洁、干净。UCF-101数据集包含101类动作,共有13320个动作实例,每个视频片段的持续时间约为7 s。HMDB-51数据集包含51类动作,共有6766个动作实例,每个视频片段的持续时间约为3 s。两种数据集都提供了三种训练/测试划分方式,每种划分方式训练数据占70%,测试数据占30%。
本文实验模型使用pytorch框架搭建,实验环境的python版本为3.6。Kinetics[15]数据集种类多并且数据量大,因此实验中所有网络模型均在该数据集上进行预训练,并在UCF-101和HMDB-51数据集上微调网络参数,具体微调的层包括卷积层C5和全连接层。
训练阶段,网络采用基于动量的随机梯度下降(Gradient Descent with Momentum)[5]进行训练。首先通过随机采样来选定视频中的时间位置,然后从选定的时间位置向后延续16帧形成一个视频片段,如果视频帧数短于16帧,则根据需求循环多次。接下来从4个角或者中心随机选取一个空间位置,并且随机选择空间尺度来对样本执行多尺度裁剪[16]。最后将样本的空间大小调整为112像素×112像素,因此输入样本的大小为3通道×16帧×112像素×112像素,并且每个输入样本以50%的概率水平翻转。生成的输入样本均保留与原始视频相同的类标签。训练中,使用交叉熵损失函数并反向传播它们的梯度,动量和权重衰减依次设置为0.9和1e-5,初始学习率为0.001。
测试阶段,采用滑动窗口的方式以生成多个输入片段,即每个测试视频被分割成多个不重叠的16帧片段。然后将每个片段分别输入到网络中,得到每个片段的各个类别的分数。取视频所有片段得分的平均值,其中最高得分的类别为视频的类标签。
本文实验首先对相同网络层数(50层)的不同模型进行评估对比,具体模型包含:通道可分离卷积神经网络、ResNet[5]、ResNeXt[5]以及ShuffleNet[13],不同模型的输入均为RGB帧片段,以上网络模型均为3D 版本。MACs[11]表示每秒执行的定点乘累加操作次数,可以作为衡量模型计算复杂度的一种方式。各模型的参数量、计算复杂度和准确率如表2所示,其中1M=106,1G=109,各数据集的最终准确率为三种划分方式上准确率的平均值。
由表2可知,网络深度均为50层的情况下,ShuffleNet的网络参数量和模型复杂度均是最小的,但是其在两种数据集上的准确率也都是最低的,原因在于ShuffleNet的网络参数不足以完全学习视频数据的相关信息。而通道可分离卷积神经网络和ResNeXt分别使用了Depthwise卷积和分组卷积,与基线网络ResNet相比,通道可分离卷积神经网络和ResNeXt的网络参数量和模型复杂度均下降了。更具体地说,通道可分离卷积神经网络的网络参数量分别约为ResNeXt和ResNet的1/2和1/4,计算复杂度分别约为ResNeXt和ResNet的1/3和1/5。由此可见,利用Depthwise卷积能有效降低网络参数量和模型复杂度。在准确率方面,通道可分离卷积神经网络相比基线网络ResNet,在UCF-101和HMDB-51数据集上分别提升0.7%和1.2%。
表2 各模型性能对比
Tab.2 Performance comparison of various models
模型参数量/MMACs/G准确率/%UCF-101HMDB-51ResNet-5047.025.8386.758.0ResNeXt-5026.693.2286.958.1ShuffleNet1.330.274.243.0通道可分离卷积神经网络13.171.0387.459.2
为进一步评估各模型的实时性,实验统一在一个NVIDIA RTX 2080 GPU上计算上述各模型的运行时间,各模型完成一次迭代所消耗的时间和每秒传输帧数FPS(Frames Per Second)的对比如表3所示。可以看出上述模型均能达到实时处理的能力,由于ShuffleNet的网络参数量和模型复杂度最小,因此在batch-size大小为1时完成一次迭代所消耗的时间也是最小的,其FPS可以达到941.2,但是其准确率较低。通道可分离卷积神经网络由于具有较小的网络参数量和较低的模型复杂度,在batch-size大小为1时完成一次迭代所消耗时间为0.026 s,也就是说其处理速度为615.4 FPS,可见其处理速度是比较快的。
表3 各模型在UCF-101上的运行时间分析
Tab.3 Runtime analysis of various models on UCF-101
模型一次迭代消耗时间/sFPSResNet-500.044364.6ResNeXt-500.034470.6ShuffleNet0.017941.2通道可分离卷积神经网络0.026615.4
从以上分析可以看出,通道可分离卷积神经网络通过减少通道之间信息交互作用获得的性能都优于其他模型。
选取通道可分离卷积神经网络与基线网络ResNet在UCF-101数据集上(split 1)的训练损失来进行对比分析。图3显示了通道可分离卷积神经网络与基线网络ResNet训练误差的演变过程,可以看到两种网络模型在epoch达到50次之后均基本呈现收敛趋势。与基线网络ResNet相比,通道可分离卷积神经网络具有更高的训练损失,但是获得了较低的测试误差(测试精度如表2所示),这表明通道可分离卷积神经网络通过减少通道之间信息交互作用能正则化模型并起到防止过度拟合的作用。
图3 ResNet与通道可分离卷积神经网络 在UCF-101数据集上(split 1)的训练损失
Fig.3 Training loss of ResNet and channel separable convolutional neural network on UCF-101 dataset (split 1)
为了进一步评估通道可分离卷积神经网络在行为识别上的性能,将其与现有主流算法进行对比分析。受到计算资源的限制,将通道可分离卷积神经网络模型的网络深度增加至101层。表4为各算法在UCF-101和HMDB-51数据集上准确率和处理速度的对比,各数据集的最终准确率为三种划分方式上准确率的平均值。
由表4可知,相对于其他模型而言,通道可分离卷积神经网络能达到较高的准确率,在UCF101和HMDB-51数据集上的准确率分别为92.7%和64.5%。IDT+FV是深度学习之外较为经典的传统方法,该算法首先提取轨迹形状、HOG、HOF和MBH四种特征,然后对以上特征采用Fisher Vector方法进行特征编码,最后利用SVM分类器进行分类,而本文的通道可分离卷积神经网络在UCF-101和HMDB-51数据集上的准确率分别比IDT+FV高6.8%和7.3%。
表4 通道可分离卷积神经网络与主流算法效果对比
Tab.4 Comparison of effects between channel separable convolutional neural network and mainstream algorithms
算法准确率/%UCF-101HMDB-51FPSIDT+FV[17]85.957.22Two-stream CNN[1]88.059.414C3D[2]82.356.8314P3D[7]88.6-144Efficient 3DCNN[13]84.9--MiCT-Net[18]89.1-394通道可分离卷积神经网络92.764.5485
IDT+FV和双流法作为两种主流方法,它们的处理速度均小于20 FPS,因此实时处理效率较低。相比较于其他3D卷积网络,通道可分离卷积神经网络在处理速度和准确度方面也明显优于其他方法,处理速度可以达到485 FPS,可以达到实时处理的效果。
三维卷积神经网络具有直接提取时空特征的能力,但实际应用时应考虑计算资源和内存有限的问题。本文提出通过分离通道交互作用和时空交互作用来分解三维卷积,搭建的通道可分离卷积神经网络减少了通道之间的信息交互作用。为了解决训练样本不足的问题,采用训练数据增强和迁移学习的方法。结果表明该方法不仅有助于减少网络参数量和计算复杂度,而且能够正则化模型,避免过度拟合,有效提高行为识别性能,对行为识别的研究具有借鉴意义。
[1] Simonyan K, Zisserman A. Two-stream convolutional networks for action recognition in videos[C]∥Neural Information Processing Systems (NIPS), Montreal, 2014: 568-576.
[2] Tran D, Bourdev L, Fergus R, et al. Learning Spatiotemporal Features with 3D Convolutional Networks[C]∥International Conference on Computer Vision (ICCV), Santiago, 2015: 4489- 4497.
[3] Szegedy C, Liu Wei, Sermanet P, et al. Going deeper with convolutions[C]∥Computer Vision and Pattern Recognition (CVPR), Boston, 2015: 1-9.
[4] Zagoruyko S, Komodakis N. Wide Residual Networks[C]∥British Machine Vision Conference (BMVC), York, UK, 2016: 1-12.
[5] Hara K, Kataoka H, Satoh Y. Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?[C]∥Computer Vision and Pattern Recognition (CVPR), Salt Lake City, UT, 2018: 6546- 6555.
[6] 胡正平, 张瑞雪, 张璇, 等. TVBN-ResNeXt: 解决视频分类的端到端时空双流融合网络[J]. 信号处理, 2020, 36(1): 58- 66.
Hu Zhengping, Zhang Ruixue, Zhang Xuan, et al. TVBN-ResNeXt: End-to-End Fusion of Space-Time Two-Stream Convolution Network for Video Classification[J]. Journal of Signal Processing, 2020, 36(1): 58- 66.(in Chinese)
[7] Qiu Zhaofan, Yao Ting, Mei Tao. Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks[C]∥International Conference on Computer Vision (ICCV), Venice, 2017: 5534-5542.
[8] Tran D, Wang H, Torresani L, et al. A Closer Look at Spatiotemporal Convolutions for Action Recognition[C]∥Computer Vision and Pattern Recognition (CVPR), Salt Lake City, UT, 2018: 6450- 6459.
[9] Krizhevsky A, Sutskever I, Hinton G. ImageNet classification with deep convolutional neural networks[C]∥Neural Information Processing Systems (NIPS), Lake Tahoe, 2012: 1097-1105.
[10]Xie Saining, Girshick R, Dollr P, et al. Aggregated residual transformations for deep neural networks[C]∥Computer Vision and Pattern Recognition (CVPR), Hawaii, America, 2017: 5987-5995.
[11]Howard A, Zhu Menglong, Chen Bo, et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications[J]. arXiv preprint arXiv: 1704.04861, 2017.
[12]Zhang Xiangyu, Zhou Xinyu, Lin Mengxiao, et al. ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices[C]∥Computer Vision and Pattern Recognition (CVPR), Salt Lake City, UT, 2018: 6848- 6856.
[13]Kopuklu O, Kose N, Gunduz A, et al. Resource Efficient 3D Convolutional Neural Networks[J]. arXiv preprint arXiv: 1904.02422, 2019.
[14]He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C]∥Computer Vision and Pattern Recognition (CVPR), Las Vegas, America, 2016: 770-778.
[15]Carreira J, Zisserman A. Quo Vadis, action recognition? A new model and the kinetics dataset[C]∥Computer Vision and Pattern Recognition (CVPR), Hawaii, America, 2017: 4724- 4733.
[16]Wang Limin, Xiong Yuanjun, Wang Zhe, et al. Temporal segment networks: Towards good practices for deep action recognition[C]∥European Conference on Computer Vision (ECCV), Amsterdam, Netherlands, 2016: 20-36.
[17]Wang Heng, Schmid C. Action Recognition with Improved Trajectories[C]∥International Conference on Computer Vision (ICCV), Sydney, Australia, 2013: 3551-3558.
[18]Zhou Yizhou, Sun Xiaoyan, Zha Zhengjun, et al. MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition[C]∥Computer Vision and Pattern Recognition (CVPR), Salt Lake City, UT, 2018: 449- 458.
Reference format: Yi Ziwen, Sun Zhonghua, Feng Jinchao, et al. Channel Separable Convolutional Neural Network for Action Recognition[J]. Journal of Signal Processing, 2020, 36(9): 1497-1502. DOI: 10.16798/j.issn.1003- 0530.2020.09.015.
易子文 男, 1996年生, 湖北荆州人。北京工业大学信息学部硕士研究生, 主要研究方向为行为识别。
E-mail: 1149745774@qq.com
孙中华 男, 1978年生, 黑龙江大庆人。北京工业大学信息学部副教授, 硕士生导师, 主要研究方向为机器视觉与模式识别。
E-mail: sunzh@bjut.edu.cn
冯金超 男, 1982年生, 山东潍坊人。北京工业大学信息学部教授, 博士生导师, 主要研究方向为图像重建。
E-mail: fengjc@bjut.edu.cn
贾克斌 男, 1962年生, 新疆乌鲁木齐人。北京工业大学信息学部教授, 博士生导师, 主要研究方向为图像/视频信号与信息处理。
E-mail: kebinj@bjut.edu.cn