APP下载

3DCNN人体动作识别中的特征组合优选

2021-03-30郭志涛曹小青王宝珠高妍

河北工业大学学报 2021年1期
关键词:卷积准确率神经网络

郭志涛 曹小青 王宝珠 高妍

摘要 为了提高人体动作识别准确率,改进原有3D CNN网络模型以获得更为丰富细致的人体动作特征,并通过对比实验为模型输入优选出识别效果最好的特征组合。该模型主要包括5个卷积层、3个下采样层和2个全连接层,二次卷积操作有利于提取到更为细致的特征,BN算法和dropout层用以防止模型过拟合,空间金字塔池化技术可以使网络能够处理任何分辨率的图像,提高模型适用性。通过在KTH和UCF101数据集上做识别测试实验,特征组合“ViBe二值圖+光流图+三帧差分图”作为模型输入可以得到较高的识别准确率,尤其针对背景较复杂、动作类别多且差异性较小的数据集提高明显,具有较好的实际应用价值。

关 键 词 深度学习;人体动作识别;三维卷积神经网络;BN算法;dropout技术;空间金字塔池化

中图分类号 TP391.41     文献标志码 A

Abstract In order to improve the accuracy of human motion recognition, a new 3D CNN network model is constructed to obtain more detailed human motion features, and the best combination of features is selected through comparative experiments as input of the model. The model consists of five convolution layers, three undersampling layers and two full connection layers. The secondary convolution operation is beneficial to extract more detailed human motion features, BN algorithm and dropout layer are used to prevent model over-fitting. Spatial pyramid pooling technology can enable the network to process any resolution image and improve the applicability of the model. Through the recognition test on KTH and UCF101 data sets, the combination of feature "vibe binary graph + optical flow graph + three frame difference map" as model input can obtain higher recognition accuracy, especially for the data set of complex background, multiple action categories and small differences which has obviously improved and has good practical application value.

Key words deep learning; human motion recognition; three-dimensional convolution neural network; BN algorithm; dropout technology; spatial pyramid pooling

随着计算机视觉技术的飞速发展,人体动作识别[1]已被广泛应用于视频监控、运动辅助分析、家居养老、体感游戏等各个领域,具有十分广阔的商业前景和可观的经济价值。传统的人工设计特征[2]方法需要研究人员有丰富的经验,工作量大,鲁棒性较差,而逐步兴起的深度学习[3-4]可以很好解决这一问题。二维卷积神经网络[5]虽可以自动学习特征,但只能处理图像,不能直接处理视频,损失了运动目标的时间信息。石祥滨等[6]提出一种融合深度特征和时空特征的人体动作识别方法,虽然能够取得较好的识别准确率,但是特征设计复杂,算法鲁棒性较差。Gessert[7]提出了一种结合单帧图像和光流图的卷积神经网络结构,通过3个卷积层、2个下采样层和1个全连接层实现对人体极限姿态的估计,虽然通过使用CNN网络可以满足自动学习特征的需求,但仍无法获取视频相邻帧间的运动信息。Ji[8]首次将时间维引入卷积神经网络,提出了1个可以直接处理视频的三维卷积神经网络模型[9],在数据集KTH上达到90.2%的识别准确率,但是仍存在特征提取不完善的问题,需进一步提高特征学习率。为了更好地获取运动目标的时空信息,进一步提高模型识别准确率,本文通过多次卷积加池化操作得到更丰富细致的特征信息,并引入BN算法、空间金字塔池化技术和dropout技术优化网络结构,并在标准行为识别视频库上进行特征优选实验,选出识别率最高的特征组合作为模型输入,并通过与其他算法比较,验证该模型的有效性。

1 3D CNN原理结构

卷积神经网络是人工神经网络的一种,是一种前馈神经网络[10],执行有监督的训练学习。卷积神经网络是专门针对二维数据设计的多层感知器,对比例缩放、平移操作、倾斜等变化都具有高度不变性。三维卷积神经网络是在二维卷积神经网络的基础上发展而来的,可以直接处理视频序列,获得更加丰富细致的人体动作特征,具有更高的识别准确率。

1.1 3D CNN原理

3D CNN的构造原理是在2D CNN的基础上加入时间维,根据视频数据的时间连续性和空间局部相关性[11]的特点,以3D卷积和池化操作替代原本的2D卷积和池化操作。

1.2 3D CNN典型结构

学者Ji等[8]首次将时间维引入卷积神经网络,并使用3D卷积核进行卷积操作,可以提取到连续多帧图像间的目标运动信息,获得更加丰富的动作特征,其模型的通道特征输入为连续7帧图像的灰度图、光流图和梯度图,最终在KTH数据集上获得90.2%的识别准确率,其模型结构如图1所示。该模型与人工设计特征和2D CNN方法相比,有效提高了识别准确率和算法鲁棒性,但仍有一定可改进之处。比如该3D CNN模型只利用3D卷积核进行卷积操作,却仍然使用传统的二维池化方式进行池化操作,没有很好地达到降低数据处理量的池化目的;该模型只包含3个卷积层和2个下采样层,特征学习不够充分,还需要增加卷积层数提高特征学习率,从而进一步提高人体动作姿态识别准确率。

2 3D CNN模型设计

本文通过分析卷积神经网络结构的特点及经典3D CNN模型的不足之处,引入多个算法改进原有3D CNN模型进行人体动作识别,并通过优化网络结构进一步增强模型区分相似动作的能力,提高动作识别准确率。

2.1 改进的3D CNN模型

本文通过分析3D卷积的特点及经典3D CNN模型的不足之处,改进原有3D CNN模型进行人体动作识别,并通过在输入数据前增加BN算法+ReLU模块解决数据分布不稳定问题,引入空间金字塔池化技术和dropout方法优化网络结构,进一步提高动作识别准确率和算法鲁棒性。该模型结构如圖2所示。

该3D CNN网络各层参数设置如表1所示。

本文改进的3D CNN的输入为连续7帧图像,得到的feature map构成H1层;第2、3层为连续两个3D 卷积层C2、C3,分别用64个大小为3×3×3的3D卷积核对上一层的feature map做卷积处理;第4层为三维池化层S4,池化方式为最大值池化,池化尺寸为2×2×2;第5、6层同第2、3层一样,为两个连续卷积层C5、C6,3D卷积核的尺寸为3×3×3,数量分别为32个;第7层同第4层一样,为三维最大值池化层S7,池化尺寸为3×3×3;第8层为卷积层C8,包含32个大小为3×3×3的3D卷积核;第9层为dropout层,为了防止模型出现过拟合,该层将会以设定置零率的比例将卷积层C8与下一层之间的神经元断开,减少学习参数的数量;第10层为空间金字塔池化层(SPP),通常置于全连接层前,可以处理任意大小的图像并得到固定长度的特征向量送入全连接层;第11、12层均为全连接层,FC11的256个神经元与SPP层得到的特征向量进行全连接,并输出包含256个元素的一维特征向量,FC12的128个神经元再与上一层的一维数组全连接,最终经过softmax分类得到动作类别。

2.2 改进3D CNN模型的优势

1)学者Ji等[8]提出的3D CNN模型只在卷积层使用3D卷积核进行卷积操作,在下采样层仍然使用传统的二维池化操作,且一共只包含2个卷积层和2个下采样层。本文改进的3D CNN模型包含5个卷积层和3个下采样层,多层卷积可以获得更细致的动作特征,在下采样层使用三维池化方式进行池化操作,可以更好地降低特征图维度,减少数据处理量,提高整个网络输出对于位移和形变的鲁棒性,从而进一步改善网络性能。

2)使用BN算法+ReLU。CNN训练过程中每一层的权重都在改变,只要浅层网络权值有微小变化,后面层将会累积放大这些变化。为了保证每一层适应其输入数据的分布,训练过程不得不使用较小的学习率,尽可能降低代价函数损失值。而这种多层网络反复学习数据分布的操作将会严重影响整个网络的训练速度。为了解决数据分布不稳定的问题,本文在两次3D卷积和三维下采样组合操作后,各加入1个BN+ReLU模块,为下一层的输入数据做批量归一化处理(归一化为均值为0,标准差为1),从而加快网络收敛速率,提高模型学习速度。

3)使用空间金字塔池化技术(SPP)。卷积神经网络中的卷积层和下采样层都可以处理任意分辨率的输入数据,并得到对应尺寸的特征图,但是全连接层只能接收固定长度的特征向量,因此传统CNN要求输入数据必须具有统一维度。为了克服这一限制,提高模型适用性,本文模型在全连接层前加1个SPP层,能将任意大小的特征图转换为固定大小的特征向量,因此只需要训练1个网络模型就可以识别不同分辨率的输入图像。

4)使用dropout技术。在卷积神经网络的训练过程中,模型泛化能力强弱是该网络训练好坏的重要考量,但是过拟合问题(over-fitting)在深度网络中普遍存在,尤其是在较复杂的神经网络中训练小样本时,严重影响整个网络模型的泛化能力,降低网络对未知样本的学习能力。本文选用dropout方法解决模型训练过程中的过拟合现象,通过调整卷积神经网络的自身结构,避免模型对训练样本部分局部特征过度依赖,达到防止过拟合的目的。

3 特征优选实验与分析

为了优选出识别准确率最高的特征组合,并验证改进3D CNN模型有效性,本文在KTH、Weizmann 和UCF101标准视频库上做多组识别测试实验。3个标准视频库的具体属性如表2所示。

传统3D CNN的通道数据输入分别为灰度图、梯度特征图、光流特征图,为了验证这样的特征组合是否是最适合的,以及不同特征对模型识别准确度的贡献大小,本文在3个标准视频库上做多组对比实验,并选择出该模型输入的最优特征组合。

3.1 标准视频库实验结果与分析

3.1.1 特征组合“灰度图+光流图+梯度图”

当以传统特征组合“灰度图+光流图+梯度图”为输入时,分别对3个标准数据库进行实验,得到相应的识别准确率,取KTH和Weizmann数据库的平均识别率,识别准确率如表3所示。

以KTH和UCF101视频库为例,原特征输入时识别准确率随着epoch的变化趋势如图3所示,其中train-acc曲线为训练识别准确率,test-acc曲线为测试识别准确率。

3.1.2 特征组合“二值图+光流图+梯度图”

传统3D CNN以灰度图为通道输入,对于样本数量大、动作种类多,背景较复杂的UCF101数据库来说,难以提取到较为精确的前景目标。因此本文选用Vibe算法提取到的运动前景二值图作为卷积神经网络的输入数据,达到提高运动轮廓清晰度的目的。其中UCF101数据库的部分动作及其ViBe算法得到的二值图如图4所示。

以二值图代替灰度图作为输入数据,其他通道特征不变,分别对3个标准数据库进行实验,得到网络模型识别准确率如表4所示。

通过与表3对比可发现,以二值图代替灰度图作为输入,其他特征不变,对KTH数据库和Weizmann 数据库识别准确率的提升效果不大,只提高了0.3个百分点,但是对UCF101 数据库的识别准确率有很明显的改进,从83.1%提高到84.8%,提高了1.7个百分点。可见,对于背景较复杂,动作较多变的数据库样本来说,用二值图代替灰度图可以更准确地捕捉运动目标和运动部位,更好地将运动前景轮廓与背景分离开来,提高了获取运动目标的速度,降低识别误差,而且还为3D CNN模型消除大量背景噪声,大大降低了背景数据的处理量。

3.1.3 特征组合“二值图+光流图+轮廓特征/运动特征”

本文分别从轮廓特征和运动特征两个方面选取特征进行组合,以“二值图+光流图”为基础特征,分别与HOG特征图、累积边缘图(AEI)、频谱特征图(DCT)及運动历史图(MHI)、帧差图、三帧差分图组成特征组合,并通过对比实验找到最优特征组合。在KTH+Weizmann 数据库上,特征组合的识别准确率分别如表5、表6所示。

将表5、表6与表3对比可知,用轮廓特征对整个网络模型识别准确率的提高效果并不明显,最好的HOG特征只提高了0.3个百分点。而运动特征明显提高了识别准确率,效果最好的三帧差分图提高了1.2个百分点,原因是包含三帧间的运动信息,能够更好地体现不同类别动作的差异性,提高区分相似动作的识别准确率。最终,本文模型选用“二值图+光流图+三帧差分图”为最优特征组合作为模型的输入数据,以KTH和UCF101数据库为例,本文模型识别准确率随着epoch的变化趋势如图5所示。

通过对比图5和图3可知,使用最优特征组合后的网络模型可以有效提高识别准确率,且对背景较复杂、动作种类较多视频集的识别准确率有很明显的提高。而且相较于传统通道特征,以最优组合特征为输入数据的模型分类准确率提高较快,即训练和识别时具有更快的收敛速度,能在较短时间内达到预期的分类精度。以KTH数据库为例,原特征数据完成30个epoch后,模型识别准确率才达到86.6%,最终识别率为90.1%;而最优特征组合在20个epoch后准确率就可达到89.7%,最终识别率为93.7%。

3.2 自建视频库实验结果与分析

除了在标准视频库上进行实验,本文还在自建视频库上做识别测试实验,进一步验证本文改进的3D CNN模型在人体动作姿态识别领域的实用性。本文的自建视频库共包含360个视频,6类动作(walking、running、jumping、falling、hand waving、hand clapping),4个不同的场景(室内、室内放大、室外、室外放大),每类动作均由15个不同的人完成,视频主要差异体现在动作变化、尺度变化和光照变化。且视频无摄像机运动,背景较简单,人体动作简单类别少,类间差异较明显。自建视频库部分动作示例如图6所示。

当输入特征组合分别为“灰度图+光流图+梯度图”和“二值图+光流图+三帧差分图”时,本文模型在自建视频库上的运动姿态识别准确率如表7所示。

由表7可知,本文改进的3D CNN在以两个不同的特征组合为输入时均可以达到较高的识别准确率,且以最优特征组合“二值图+光流图+三帧差分图”为输入特征比传统特征组合“灰度图+光流图+梯度图”达到更好的识别效果。由此可见,本文在标准数据库上通过多次对比实验选择出的最优输入特征组合在实际应用中也具有适用性。

为了验证本文模型较其他深度学习算法的识别优势,分别对比不同算法在KTH数据库和UCF101数据库上的识别准确率,如表8、表9所示。

4 结语

为了提取到更加丰富的动作特征,提高区分相似动作的能力,本文通过融合BN算法、dropout技术和空间金字塔池化技术,改进原有3D CNN模型进行人体动作识别,并优选特征组合作为模型输入以提高识别准确率。该模型采用多次卷积加池化操作获得更为细致的特征信息;通过BN算法、dropout技术和空间金字塔池化技术优化网络结构,提高网络收敛速度和算法适用性。本文对模型输入特征进行优选,实验结果表明特征组合“ViBe二值图+光流图+三帧差分图”在KTH和UCF101标准视频库上取得较高识别准确率,分别为93.7%和90.2%。通过与其他算法对比可见,本文模型取得了较高识别准确率,尤其是针对背景较为复杂、动作种类多的数据集提高明显,具有较好的实际应用价值。但是深度学习算法计算量大,实时性问题需要进一步考虑,如何通过优化网络结构,提高运行速度是以后需要着重关注的方向。

参考文献:

[1]    陈利峰. 舞蹈视频图像中人体动作识别技术的研究[J]. 现代电子技术,2017,40(3):51-53,57.

[2]    ALKASASSBEH M. An empirical evaluation for the intrusion detection features based on machine learning and feature selection methods[J]. Journal of Theoretical and Applied Information Technology,2017,95(22):5962-5976.

[3]    SHEN D G,WU G R,SUK H I. Deep learning in medical image analysis[J]. Annual Review of Biomedical Engineering,2017,19:221-248.

[4]    張慧,王坤峰,王飞跃. 深度学习在目标视觉检测中的应用进展与展望[J]. 自动化学报,2017,43(8):1289-1305.

[5]    王正来,黄敏,朱启兵,等. 基于深度卷积神经网络的运动目标光流检测方法[J]. 光电工程,2018,45(8):180027.

[6]    石祥滨,李菲,刘翠微. 基于多特征融合的动作识别方法[J]. 沈阳航空航天大学学报,2017,34(2):55-65.

[7]    GESSERT N,BERINGHOFF J,OTTE C,et al. Force estimation from OCT volumes using 3D CNNs[J]. International Journal of Computer Assisted Radiology and Surgery,2018,13(7):1073-1082.

[8]    JI S W,XU W,YANG M,et al. 3D convolutional neural networks for human action recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(1):221-231.

[9]    ZOU L,ZHENG J N,MIAO C Y,et al. 3D CNN based automatic diagnosis of attention deficit hyperactivity disorder using functional and structural MRI[J]. IEEE Access,2017,5:23626-23636.

[10]  朱坚民,谢平,黄春燕,等. 基于前馈神经网络控制的球杆系统位置控制[J]. 控制工程,2017,24(6):1186-1193.

[11]  夏佳志,张亚伟,张健,等. 一种基于子空间聚类的局部相关性可视分析方法[J]. 计算机辅助设计与图形学学报,2016,28(11):1855-1862.

[12]  BLENDOWSKI M,HEINRICH M P. Combining MRF-based deformable registration and deep binary 3D-CNN descriptors for large lung motion estimation in COPD patients[J]. International Journal of Computer Assisted Radiology and Surgery,2019,14(1):43-52.

[13]  刘嘉莹,张孙杰. 融合视频时空域运动信息的3D CNN人体行为识别[J]. 电子测量技术,2018,41(7):43-49.

[14]  CAMARENA-MARTINEZ D,VALTIERRA-RODRIGUEZ M,PEREZ-RAMIREZ C A,et al. Novel downsampling empirical mode decomposition approach for power quality analysis[J]. IEEE Transactions on Industrial Electronics,2016,63(4):2369-2378.

[15]  ZHAO J F,MAO X,ZHANG J. Learning deep facial expression features from image and optical flow sequences using 3D CNN[J]. The Visual Computer,2018,34(10):1461-1475.

猜你喜欢

卷积准确率神经网络
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于全卷积神经网络的变压器故障诊断
基于深度卷积网络与空洞卷积融合的人群计数
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测