论文部分内容阅读
摘 要: 手势识别是当前计算机视觉的一个重要研究课题,由于手势旋转,角度等因素的影响,视频手势识别仍是一项具有挑战性的任务。该文提出了一种基于三维密集卷积神经网络和门限循环单元的双通道手势识别算法,通过三维密集卷积神经网络获取手势的空间信息,使用门限循环单元学习视频中手势的时序信息,最后融合RGB图像和深度图像的深度学习模型特征以此对手势进行识别。在ISOGD数据集上的实验表明,该手势识别算法能够有效提高了视频手势识别的准确率。
关键词: 手势识别;三维密集卷积神经网络;门限循环单元
中图分类号: TP183;TP391.4 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.06.024
本文著录格式:马乾力,魏伟航,赵锦成,等. 三维循环密集卷积神经网络在视频手势识别的应用[J]. 软件,2019,40(6):109112
【Abstract】: Recent vedio gesture recognition is an important research topic in computer vision,which is an still a challenging task due to the influence of gesture rotation, angle and other factors. In this paper, a two-channel gesture recognition algorithm based on 3-D dense convolution neural network and threshold cycle module is proposed. We acquire the spatial information of gesture by 3-D dense convolution neural network,get the temporal information of gesture in video by gated recurrent unit, and the deep learning model features of RGB image and depth image are fused to recognize gesture.The experiments on ISOGD datasets show that this gesture recognition algorithm can effectively improve the accuracy of video gesture recognition.
【Key words】: Gesture recognition; 3-D dense convolution neural network; Gated recurrent unit
0 引言
手势作为人类的一种常用身体语言,在日常生活中具有非常重要的作用,在现实中也有很多应用场景,如人机交互、手语识别和虚拟现实等。传统的手势识别方案主要通过穿戴设备采集使用者的手势信息,由计算机分析这些手势信息作出手势判别。这一类方案识别准确度高,算法复杂度低,但使用时需要辅助设备,用户体验差以至于难以推广。随着计算机视觉和深度学习的发展,基于图像与视频的手势识别成为了目前手势识别研究领域的重点研究方向。
基于视觉的手势识别通过提取图像或者视频中的特征由分类器给出对应的手势标签。最早的基于视觉的手势识别方法主要分三个阶段:手势形态分割、手势特征提取和分类。其中手势形态分割主要通过肤色特征进行手势分割[1],手势特征提取阶段使用SIFT特征、HOG特征或者各类统计量特征,分类阶段常采用传统的机器学习方法,如隐马尔可夫模型、支持向量机、有限状态机和神经网络等。在2016年大型手势识别挑战中,基于神经网络的方法[2,3]在手势检测方面有了显著提升,所以当前比较流行的手势识别方法大多采用深度学习算法。馬等人[4]结合了二维密集卷积网络与空间转换网络,空间转换网络能够动态地对输入图像进行空间变换和对齐。不同于一般的图像分类任务,手势通常是一个连续性的动作,从一幅静态图像很难识别完整的手势。因此,具有时间序列的手势视频具有更强的鲁棒性,同时学习时序信息为手势识别提供更多的有效特征。Zhu等人[5,6]使用三维卷积神经网络对视频进行检测,这种策略使得网络能够从视频中识别出人类的手势。
本文提出了一种基于三维密集卷积神经网络[7,8]和门限循环单元[9]的双通道手势识别算法,如图1所示,32帧RGB和深度视频输入经过不同的预处理后,三维密集CNN用于从输入视频中提取短期空间特征,门限循环单元进一步学习手势的长期时序特征,最后将基于RGB和深度视频的网络输出进行特征融合,通过全连接层得到最终预测结果。实验结果表明,该算法在视频手势识别上取得了很好的效果。
1 三维循环残差卷积神经网络
1.1 预处理
深度网络模型能通过大量的训练数据优化出一个强分类器,但训练数据的噪声、对比度小或图像背景暗会降低模型的准确性和鲁棒性。在手势识别任务中,也经常对待测图像使用一些图像预处理方法。由图1可知,本文对RGB和深度图像采用了不同的预处理方法。
对RGB图像进行检测时,相同的手势在不同的光照条件下会发生很大的变化,在可见度不高的情况下甚至会使一些手势无法识别,由此对RGB视频采用了同态滤波进行图像增强,同态滤波能够在不损失图象细节的前提下消除不均匀光照的影响。而深度数据是通过发射和接收红外线得到,图像表现接近于灰度图像,图像中的像素值代表了红外传感器与被测物体的实际距离。由于红外传感器会受光源或热源等外部环境所影响,图像中会产生噪声和空洞,且边缘深度值不稳定。因此本文中对输入的深度视频采用中值滤波进行预处理,中值滤波能够有效抑制图像中的椒盐噪声,减小甚至去除一些图像空洞,并对图像边缘部分有一定的增强作用。 1.2 三维密集卷积模块
近年来,三维卷积神经网络模型在基于视频的识别任务中获得了优越的效果,同时,密集卷积神经网络是目前最受关注和认可的卷积网络模型之一,本文结合这两种网络的特点,提出了三维密集卷积模块,其结构如图2所示,三维密集卷积模块由三个三维卷积层组成,每个三维卷积层分别进行批量归一化,ReLU函数激活和三维卷积,在卷积后会将前面三维卷积层的输入和当前的输出进行拼接合并,前两个三维卷积层采用的尺寸为3×3×3,最后一个三维卷积层采用的尺寸为1×1×1,能够减少下一级三维密集卷积模块输入的特征图数量,融合各个通道的特征。
1.3 预训练模型
预训练模型结构如图3所示,可以看出整个预训练模型由1个普通三维卷积层、4个三维密集卷积模块、2个门限循环单元和一个全连接层组成,三维密集卷积模块后都会增加一个模板为3×3×3,步长为2×2×2的均值池化层。在卷积网络之后建立了2层门限循环单元作为GRU网络,门限循环单元是一种结构简单,性能优越的递归神经网络单元,具有很强的捕获序列中上下文信息的能力,并且能反向传播其损失值到卷积层,允许共同训练GRU网络和卷积网络。2层门限循环单元的隐藏单元数量为1000,最后的全连接层对应需要判别的手势类别数量,该全连接层只应用于预训练阶段,在双通道特征合并训练时会直接去除。
1.4 特征合并
在视频手势识别中,RGB视频具有大量的纹理、颜色、光照等信息,深度视频能够提供更加丰富的外观和结构信息,二者对识别都具有十分重要的作用,本文将这两种信息进行并行的信息融合,如图1所示,将两种视频通过预处理和预训练网络模型后得到的特征进行特征拼接。
另一方面,虽然三维循环密集卷积神经网络比起普通的卷积神经网络具有更强的处理视频序列的能力,但其网络模型参数要远远多于普通的卷积神经网络,参数过多在训练样本数量有限的情况下网络很难收敛,所以采用了预训练的方法。首先,分别对两种视频进行相应的预处理后,先对预训练模型进行有监督的训练,最后在联合双通道训练时,增加了一个全连接层和softmax函数反向指导所有模型参数的学习。
2 实验结果
2.1 数据集
为了评估其性能,在ISOGD数据库[11]上进行了实验。ISOGD数据库源自Challern手势数据集,此数据集用于用户独立识别的任务,即在不考虑执行者影响的情况下识别手势,共有47933个RGB-D手势视频,包括由21个不同的人录制的249种手势,分为三个子集:训练集(35878个视频)、验证集(5784个视频)和测试集(6271个视频),没有相同的视频人员同时出现在训练集,验证集和测试集中。
2.2 实验设置
本文实验在Ubuntu 16.04.4 LTS环境下,基于TensorFlow 1.7平台实现的,计算机配置为Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GH和2片Nvidia GTX 1080 GPU,内存为64 GB,显卡内存为12 GB。
所有卷积核参数初始化为零均值,标准差为0.01的高斯分布,全连接层以Xavier分布初始化,优化算法采用了带动量的小批量梯度下降算法,训练时批处理数量为8,每个视频提取32帧图像,每张图像下采样为112×112。训练分为两阶段:预训练阶段和微调训练阶段,第一阶段训练基于RGB视频和深度视频的网络,初始学习率设为0.1,动量设置为0.9,每迭代12000个批次学习率衰减为原来的五分之一,训练3000个批次为一个训练周期,训练周期内所有训练数据都会被遍历一次并重新置乱,预训练阶段需要40个训练周期。在微调训练阶段,初始学习率设为0.0001,动量设置为0.9,每迭代12000个批次学习率衰减为原来的十分之一,需要12个训练周期。网络的对比通过比较测试数据集的识别准确率得到,识别准确率为测试集识别准确的數量与测试集视频总数量的比值,准确率越高,该算法的性能越好。
2.3 实验结果与分析
本文选择了MFSK[2],CNN+depth maps[3],Pyramid C3D[5]和C3D+LSTM[6]四种视频手势识别算法进行实验对比,。由表2可得五种视频手势识别算法在ISOGD数据库验证集上的比较结果。其中,Pyramid C3D需要在另一个手势数据集上进行预训练,再在ISOGD数据库进行微调,为了保证所有实验环境的公正性,所比较的所有算法仅在ISOGD数据集上进行训练。如表2所示,本文提出的手势识别算法对比其他四种算法都有不同程度的提升,对比MFSK有大幅度的提升,而比较同样使用了三维卷积网络的Pyramid C3D和C3D+LSTM算法,也分别提高了8.34%和2.24%的识别准确率。
提出的手势识别算法中,两个预训练模型在最终决策之前需要独立训练,再微调整个网络,为了验证预训练的有效性,通过直接训练整个网络进行比较,由表2可得,进行预训练的识别准确率比不进行预训练高3.7个百分点,在单个GPU的情况下,进行预训练的方案需要训练92个周期,其中80个周期训练预训练模型,训练总时长约为17小时,而直接训练方案的训练时间高达32小时。在表3中对算法中提出的视频预处理进行验证,在对比试验中,将算法中的预处理部分直接去除进行比较,由实验可得,在不使用视频预处理的情况下,识别准确率下降了约3.3%。
3 结束语
本文提出了一种适用于视频手势识别的三维循环密集卷积神经网络模型,通过对输入的RGB视频和深度视频的预处理,解决了图像背景光照和噪声问题,使用三维密集卷积神经网络和门限循环单元来提取视频的时序特征,网络训练时增加了预训练以防止过度拟合。通过仿真验证实验,本文提出的网络模型有效地提高了视频手势识别的准确率,是一种可靠高精度的视频手势检测算法。 參考文献
[1] PIYUSH K, SIDDHARTH S R, and Anupam A. Hand data glove: A new generation real-time mouse for humancomputer interaction[C]. International Conference on Recent Advances in Information Technology, Dhanbad, Jharkand, India, 2012: 750-755
[2] Wan J, Li S Z, Zhao Y. ChaLearn Looking at People RGB-D Isolated and Continuous Datasets for Gesture Recognition[C]. 2016 IEEE Conference on Computer Vision and Pattern Recognition Workshops. IEEE, 2016.
[3] Wang P, Li W, S. Liu, Z. Gao, et al. Large-scale isolated gesture recognition using convolutional neural networks[C]. In IEEE International Conference on Pattern Recognition Workshops, 2016.
[4] 马杰, 张绣丹, 杨楠. 融合密集卷积与空间转换网络的手势识别方法[J]. 电子与信息学报, 2018, 40(4): 951-956.
[5] Zhu G, Zhang L, Mei L, et al. Large-scale Isolated Gesture Recognition using pyramidal 3D convolutional networks[C]. 2016 23rd International Conference on Pattern Recognition (ICPR). IEEE, 2016.
[6] Zhu G, Zhang L, Shen P, et al. Multimodal Gesture Recognition Using 3-D Convolution and Convolutional LSTM[J]. IEEE Access, 2017, 5:4517-4524.
[7] Huang G, Liu Z, Laurens V D M, et al. Densely Connected Convolutional Networks[J]. 2016.
[8] Tran D, Bourdev L, Fergus R, et al. Learning Spatiotemporal Features with 3D Convolutional Networks[J]. 2014.
[9] Kalchbrenner N, Danihelka I, Graves A. Grid Long Short-Term Memory[J]. Computer Science, 2015.
关键词: 手势识别;三维密集卷积神经网络;门限循环单元
中图分类号: TP183;TP391.4 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.06.024
本文著录格式:马乾力,魏伟航,赵锦成,等. 三维循环密集卷积神经网络在视频手势识别的应用[J]. 软件,2019,40(6):109112
【Abstract】: Recent vedio gesture recognition is an important research topic in computer vision,which is an still a challenging task due to the influence of gesture rotation, angle and other factors. In this paper, a two-channel gesture recognition algorithm based on 3-D dense convolution neural network and threshold cycle module is proposed. We acquire the spatial information of gesture by 3-D dense convolution neural network,get the temporal information of gesture in video by gated recurrent unit, and the deep learning model features of RGB image and depth image are fused to recognize gesture.The experiments on ISOGD datasets show that this gesture recognition algorithm can effectively improve the accuracy of video gesture recognition.
【Key words】: Gesture recognition; 3-D dense convolution neural network; Gated recurrent unit
0 引言
手势作为人类的一种常用身体语言,在日常生活中具有非常重要的作用,在现实中也有很多应用场景,如人机交互、手语识别和虚拟现实等。传统的手势识别方案主要通过穿戴设备采集使用者的手势信息,由计算机分析这些手势信息作出手势判别。这一类方案识别准确度高,算法复杂度低,但使用时需要辅助设备,用户体验差以至于难以推广。随着计算机视觉和深度学习的发展,基于图像与视频的手势识别成为了目前手势识别研究领域的重点研究方向。
基于视觉的手势识别通过提取图像或者视频中的特征由分类器给出对应的手势标签。最早的基于视觉的手势识别方法主要分三个阶段:手势形态分割、手势特征提取和分类。其中手势形态分割主要通过肤色特征进行手势分割[1],手势特征提取阶段使用SIFT特征、HOG特征或者各类统计量特征,分类阶段常采用传统的机器学习方法,如隐马尔可夫模型、支持向量机、有限状态机和神经网络等。在2016年大型手势识别挑战中,基于神经网络的方法[2,3]在手势检测方面有了显著提升,所以当前比较流行的手势识别方法大多采用深度学习算法。馬等人[4]结合了二维密集卷积网络与空间转换网络,空间转换网络能够动态地对输入图像进行空间变换和对齐。不同于一般的图像分类任务,手势通常是一个连续性的动作,从一幅静态图像很难识别完整的手势。因此,具有时间序列的手势视频具有更强的鲁棒性,同时学习时序信息为手势识别提供更多的有效特征。Zhu等人[5,6]使用三维卷积神经网络对视频进行检测,这种策略使得网络能够从视频中识别出人类的手势。
本文提出了一种基于三维密集卷积神经网络[7,8]和门限循环单元[9]的双通道手势识别算法,如图1所示,32帧RGB和深度视频输入经过不同的预处理后,三维密集CNN用于从输入视频中提取短期空间特征,门限循环单元进一步学习手势的长期时序特征,最后将基于RGB和深度视频的网络输出进行特征融合,通过全连接层得到最终预测结果。实验结果表明,该算法在视频手势识别上取得了很好的效果。
1 三维循环残差卷积神经网络
1.1 预处理
深度网络模型能通过大量的训练数据优化出一个强分类器,但训练数据的噪声、对比度小或图像背景暗会降低模型的准确性和鲁棒性。在手势识别任务中,也经常对待测图像使用一些图像预处理方法。由图1可知,本文对RGB和深度图像采用了不同的预处理方法。
对RGB图像进行检测时,相同的手势在不同的光照条件下会发生很大的变化,在可见度不高的情况下甚至会使一些手势无法识别,由此对RGB视频采用了同态滤波进行图像增强,同态滤波能够在不损失图象细节的前提下消除不均匀光照的影响。而深度数据是通过发射和接收红外线得到,图像表现接近于灰度图像,图像中的像素值代表了红外传感器与被测物体的实际距离。由于红外传感器会受光源或热源等外部环境所影响,图像中会产生噪声和空洞,且边缘深度值不稳定。因此本文中对输入的深度视频采用中值滤波进行预处理,中值滤波能够有效抑制图像中的椒盐噪声,减小甚至去除一些图像空洞,并对图像边缘部分有一定的增强作用。 1.2 三维密集卷积模块
近年来,三维卷积神经网络模型在基于视频的识别任务中获得了优越的效果,同时,密集卷积神经网络是目前最受关注和认可的卷积网络模型之一,本文结合这两种网络的特点,提出了三维密集卷积模块,其结构如图2所示,三维密集卷积模块由三个三维卷积层组成,每个三维卷积层分别进行批量归一化,ReLU函数激活和三维卷积,在卷积后会将前面三维卷积层的输入和当前的输出进行拼接合并,前两个三维卷积层采用的尺寸为3×3×3,最后一个三维卷积层采用的尺寸为1×1×1,能够减少下一级三维密集卷积模块输入的特征图数量,融合各个通道的特征。
1.3 预训练模型
预训练模型结构如图3所示,可以看出整个预训练模型由1个普通三维卷积层、4个三维密集卷积模块、2个门限循环单元和一个全连接层组成,三维密集卷积模块后都会增加一个模板为3×3×3,步长为2×2×2的均值池化层。在卷积网络之后建立了2层门限循环单元作为GRU网络,门限循环单元是一种结构简单,性能优越的递归神经网络单元,具有很强的捕获序列中上下文信息的能力,并且能反向传播其损失值到卷积层,允许共同训练GRU网络和卷积网络。2层门限循环单元的隐藏单元数量为1000,最后的全连接层对应需要判别的手势类别数量,该全连接层只应用于预训练阶段,在双通道特征合并训练时会直接去除。
1.4 特征合并
在视频手势识别中,RGB视频具有大量的纹理、颜色、光照等信息,深度视频能够提供更加丰富的外观和结构信息,二者对识别都具有十分重要的作用,本文将这两种信息进行并行的信息融合,如图1所示,将两种视频通过预处理和预训练网络模型后得到的特征进行特征拼接。
另一方面,虽然三维循环密集卷积神经网络比起普通的卷积神经网络具有更强的处理视频序列的能力,但其网络模型参数要远远多于普通的卷积神经网络,参数过多在训练样本数量有限的情况下网络很难收敛,所以采用了预训练的方法。首先,分别对两种视频进行相应的预处理后,先对预训练模型进行有监督的训练,最后在联合双通道训练时,增加了一个全连接层和softmax函数反向指导所有模型参数的学习。
2 实验结果
2.1 数据集
为了评估其性能,在ISOGD数据库[11]上进行了实验。ISOGD数据库源自Challern手势数据集,此数据集用于用户独立识别的任务,即在不考虑执行者影响的情况下识别手势,共有47933个RGB-D手势视频,包括由21个不同的人录制的249种手势,分为三个子集:训练集(35878个视频)、验证集(5784个视频)和测试集(6271个视频),没有相同的视频人员同时出现在训练集,验证集和测试集中。
2.2 实验设置
本文实验在Ubuntu 16.04.4 LTS环境下,基于TensorFlow 1.7平台实现的,计算机配置为Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GH和2片Nvidia GTX 1080 GPU,内存为64 GB,显卡内存为12 GB。
所有卷积核参数初始化为零均值,标准差为0.01的高斯分布,全连接层以Xavier分布初始化,优化算法采用了带动量的小批量梯度下降算法,训练时批处理数量为8,每个视频提取32帧图像,每张图像下采样为112×112。训练分为两阶段:预训练阶段和微调训练阶段,第一阶段训练基于RGB视频和深度视频的网络,初始学习率设为0.1,动量设置为0.9,每迭代12000个批次学习率衰减为原来的五分之一,训练3000个批次为一个训练周期,训练周期内所有训练数据都会被遍历一次并重新置乱,预训练阶段需要40个训练周期。在微调训练阶段,初始学习率设为0.0001,动量设置为0.9,每迭代12000个批次学习率衰减为原来的十分之一,需要12个训练周期。网络的对比通过比较测试数据集的识别准确率得到,识别准确率为测试集识别准确的數量与测试集视频总数量的比值,准确率越高,该算法的性能越好。
2.3 实验结果与分析
本文选择了MFSK[2],CNN+depth maps[3],Pyramid C3D[5]和C3D+LSTM[6]四种视频手势识别算法进行实验对比,。由表2可得五种视频手势识别算法在ISOGD数据库验证集上的比较结果。其中,Pyramid C3D需要在另一个手势数据集上进行预训练,再在ISOGD数据库进行微调,为了保证所有实验环境的公正性,所比较的所有算法仅在ISOGD数据集上进行训练。如表2所示,本文提出的手势识别算法对比其他四种算法都有不同程度的提升,对比MFSK有大幅度的提升,而比较同样使用了三维卷积网络的Pyramid C3D和C3D+LSTM算法,也分别提高了8.34%和2.24%的识别准确率。
提出的手势识别算法中,两个预训练模型在最终决策之前需要独立训练,再微调整个网络,为了验证预训练的有效性,通过直接训练整个网络进行比较,由表2可得,进行预训练的识别准确率比不进行预训练高3.7个百分点,在单个GPU的情况下,进行预训练的方案需要训练92个周期,其中80个周期训练预训练模型,训练总时长约为17小时,而直接训练方案的训练时间高达32小时。在表3中对算法中提出的视频预处理进行验证,在对比试验中,将算法中的预处理部分直接去除进行比较,由实验可得,在不使用视频预处理的情况下,识别准确率下降了约3.3%。
3 结束语
本文提出了一种适用于视频手势识别的三维循环密集卷积神经网络模型,通过对输入的RGB视频和深度视频的预处理,解决了图像背景光照和噪声问题,使用三维密集卷积神经网络和门限循环单元来提取视频的时序特征,网络训练时增加了预训练以防止过度拟合。通过仿真验证实验,本文提出的网络模型有效地提高了视频手势识别的准确率,是一种可靠高精度的视频手势检测算法。 參考文献
[1] PIYUSH K, SIDDHARTH S R, and Anupam A. Hand data glove: A new generation real-time mouse for humancomputer interaction[C]. International Conference on Recent Advances in Information Technology, Dhanbad, Jharkand, India, 2012: 750-755
[2] Wan J, Li S Z, Zhao Y. ChaLearn Looking at People RGB-D Isolated and Continuous Datasets for Gesture Recognition[C]. 2016 IEEE Conference on Computer Vision and Pattern Recognition Workshops. IEEE, 2016.
[3] Wang P, Li W, S. Liu, Z. Gao, et al. Large-scale isolated gesture recognition using convolutional neural networks[C]. In IEEE International Conference on Pattern Recognition Workshops, 2016.
[4] 马杰, 张绣丹, 杨楠. 融合密集卷积与空间转换网络的手势识别方法[J]. 电子与信息学报, 2018, 40(4): 951-956.
[5] Zhu G, Zhang L, Mei L, et al. Large-scale Isolated Gesture Recognition using pyramidal 3D convolutional networks[C]. 2016 23rd International Conference on Pattern Recognition (ICPR). IEEE, 2016.
[6] Zhu G, Zhang L, Shen P, et al. Multimodal Gesture Recognition Using 3-D Convolution and Convolutional LSTM[J]. IEEE Access, 2017, 5:4517-4524.
[7] Huang G, Liu Z, Laurens V D M, et al. Densely Connected Convolutional Networks[J]. 2016.
[8] Tran D, Bourdev L, Fergus R, et al. Learning Spatiotemporal Features with 3D Convolutional Networks[J]. 2014.
[9] Kalchbrenner N, Danihelka I, Graves A. Grid Long Short-Term Memory[J]. Computer Science, 2015.