GRU-CNN优化模型的手势动作识别研究

2021-02-28 06:20刘慧婷李建军
小型微型计算机系统 2021年10期
关键词:卷积神经网络特征

刘慧婷,李建军

(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)

1 引 言

动态手势识别是人机交互系统发展的一个重要方向.由于动态手势识别易受光照变化、复杂背景、遮挡以及类内变化诸多因素的影响,成为一项具有挑战性的任务.虽然传统的识别方法取得了良好的效果,但仍然存在鲁棒性差、识别率低等缺点[1,2].基于深度学习的方法,由于其具有很强的自学习能力以及能够根据大量的样本学习获得深层次的语义特征,受到了广大学者的青睐.本文基于深度学习进行动态手势识别,进一步提高了动态手势识别的准确率,获得了更强的鲁棒性和较好的泛化能力.

CNN[3,4]可以直接将图像数据作为输入,不需要人工对图像进行预处理和额外的特征抽取等复杂操作,保留了更多的数据信息,减少了数据特征的损失.因此CNN得到了广泛的应用.例如,基于CNN设计的LeNet、AlexNet、GoogleNet以及深度神经网络VGGNet和ResNet网络等,在视频处理等领域均取得了非常好的效果.

卷积神经网络通常只能提取短期视频序列的时空信息,无法保存从过去时序学习得到的信息.鉴于长短期记忆网络(LSTM)在处理和预测时间序列问题上的良好表现,因此,许多学者将CNN和LSTM网络进行融合学习.Donahue等人[5]将CNN 与LSTM模型进行融合,提出了LRCN网络,该网络CNN用来提取空间信息,LSTM提取时间信息,最后通过softmax层输出结果,但该模型收敛慢训练难度大;Pedro等人[6]提出LSTM-CNN模型进行文本分类,取得了不错的结果.Feichtenhofer等人[7]提出的双流卷积网络,将两个分支softmax分数进行融合,该方法的缺点是光流只能获取短时间上的信息.

虽然LSTM网络对有长时间关联性变化的数据有较强的处理能力,但与GRU[8,9]网络相比,GRU网络具有更少的网络参数,收敛时间更短,能更好地满足人机交互的实时性需求.因此,本文提出了GRU-CNN融合网络模型,该模型首先使用GRU网络将输入的时间序列进行标记,其中不仅包含原始标记的信息,还包含输出标记的历史信息,然后通过CNN网络进行特征提取.该结构比直接使用CNN提取的特征更加的丰富,有利于我们获得更好的识别率和鲁棒性.最后通过全局池化输出分类结果.

2 相关理论

2.1 CNN

卷积神经网络CNN是一种深度前馈人工网络,在图像处理领域得到了广泛的应用[10-12].卷积神经网络有3个基本层:卷积层(Convolutional Layer),池化层(Pooling Layer),全连接层(Fully Connected Layer).卷积神经网络最重要的步骤就是卷积,如公式(1)所示:

(1)

式中y(x)为输出,f(*)为激活函数,m×n大小的(i,j)位置的卷积核权值为ωij,其中i,j∈Rm,n,xij为原始图片和卷积核对应区域的像素值,b为偏置.

2.2 LSTM

长短期记忆网络(Longshort term memory network)是循环神经网络RNN经过改进之后的循环神经网络[13-15],在隐藏层各神经单元中增加记忆单元,从而使时间序列上的记忆信息可控,每次在隐藏层各单元间传递时通过几个可控门(遗忘门、输入门、候选门、输出门),控制之前信息和当前信息的记忆和遗忘程度,从而使RNN网络具备了长期记忆功能.因此LSTM比RNN具备长期记忆功能力和可控记忆能力[16],它可以避免常规RNN的梯度消失或爆炸问题.LSTM的基本结构如图1所示.

图1 LSTM基本结构图

其中σ和tanh是激活函数.it为输入门,ft为遗忘门,ot为输出门,ht表示当前时刻输出,ht-1表示前一时刻输出,Ct表示当前记忆单元状态,Ct-1表示前一时刻记忆单元状态[17].具体的计算公式如式(2)-式(7):

ft=σ(Wf·[ht-1,xt]+bf)

(2)

it=σ(Wi·[ht-1,xt]+bi)

(3)

(4)

(5)

ot=σ(Wo·[ht-1,xt]+bo)

(6)

ht=ot*tanh(Ct)

(7)

2.3 GRU

GRU是LSTM的一个变体,它保持LSTM效果的同时,变得更加简单,相比于LSTM,GRU只有两个门,即更新门(update gate)和重置门(reset gate).更新门决定有多少历史的信息可以继续传递到未来.将前一时刻和当前时刻的信息分别进行线性变换,也就是分别右乘权重矩阵,然后相加后的数据送入更新门,即与sigmoid函数相乘,得出在[0,1]之间的数值.重置门决定有多少历史信息不能继续传递到下一时刻.同更新门的数据处理方式一样.只是两次的权重矩阵的数值和用处不同.如图2所示,GRU的基本模型.

图2 GRU基本结构图

2.4 全局平均池化

全局平均池化(GAP)不采用窗口形式的平均值,它以特征图为平均单位,一个特征图输出一个数值.这样使得各个类别之间的连接更加直观,分类概率的转换更加容易.将特征图转换为分类概率更容易.同时,GAP汇总了空间信息,使输入的空间转换更加可靠.GAP操作过程如图3所示.

图3 全局平均池化图示

3 本文模型

GRU-CNN模型如图4所示,该模型使用3个双向GRU层框架.本文将先将图片处理为CSV文件,CSV文件存储人体各个部位的骨骼帧数据.数据集的每一帧数据由人体20个骨骼关键点的坐标组成.由于空间信息丰富,距离特征适合输入GRU,但距离特征丢失了大量的方向信息.用CNN来捕捉方向信息.第1个GRU层将手势动作识别的20个骨骼关键点帧序列的数据作为输入,该输入的是每一个骨骼关键点的位置向量;第1层GRU的输出作为第2层GRU的输出;最后一层GRU的输出馈送到卷积层.其中,卷积窗口的大小设置对最终的分类结果影响较大,借鉴文本分类思想,通过提取相邻n个特征进行局部特征的提取,从而捕捉人体手势关键点信息,对整个人体手势的进行判断.根据这种思想,将卷积窗口大小设置为n*m,n为骨骼关键点的的个数,m为图片的向量维度.最后将卷积层的输出进行全局平均池化再输入到全连接层和dropout层防止过拟合,提高模型泛化能力.最后将结果输入到softmax层进行归类.

该模型中GRU框架用于提取骨架序列的时间序列特征,GRU的输出用作CNN的输入,以获得骨骼的空间特征[18].

4 实验及结果

4.1 数据集

实验使用的MSRC-12数据集是微软研究院公开的动作行为数据集[19],该数据集使用Kinect体感设备采集获得,30个人执行12类动作行为,包括594个动作序列,6244个动作实例.

4.2 实验结果及分析

本文将GRU层作为初始层,骨骼序列输入GRU层.然后将GRU层的输入紧接着输入到CNN模型以提取局部特征.本文将数据集按训练集和测试集8:2的比例进行训练.

为了验证该模型的可行性,本文分别进行了几组模型的对比实验.为了说明GRU模型在网络中的重要性,本文还设计了CNN-GRU模型,并进行了实验对比.

1)本实验是在Tensorflow和Keras深度学习平台和采用NVIDIA v100卡Ubuntu系统下进行的实验.其中Dropout为0.5.最初将学习率设置为0.001以进行微调.并设置了时间步长(Epoch)为10.

实验结果如表1所示.

表1 在数据集MSRC-12上的对比实验

本文所提出的方法与最近几年其他最新方法进行比较,从实验结果可以看出,该模型获得了最高的识别率,验证了该模型的可行性和有效性.在CNN-GRU模型中GRU层仅仅充当着全连接层的作用,对于这个模型来说没有将GRU处理时间序列的优势展现出来.而对于GRU-CNN模型,初始层GRU像一个编辑器将输入的每个序列进行标记,其中不仅包含原始标记的信息,而且还包含输出标记所有其他以前的信息.之后,CNN层将使用原始输入的更丰富的表示来查找局部特征,从而获得更好的准确性.

2)为了验证GRU模型作为LSTM模型变体具有的优势,本文还进行了GRU-CNN模型和LSTM-CNN模型的对比实验.如图5所示,横坐标是训练的批次epoch,纵坐标是训练精度,在相同的实验参数下,可知GRU-CNN模型收敛速度明显优于LSTM-CNN模型,但得到的最终训练精度却相差不大.但是由于GRU的结构比LSTM简单,参数更少更容易收敛,训练速度更快.

图5 LSTM-CNN与GRU-CNN模型的训练精度

3)该实验主要分析dropout和epoch设置对模型的影响.

不同dropout设置参数对模型实验的影响如表2所示.

表2 Dropout参数对模型影响的对比实验

dropout层的作用是在模型训练时让网络的某些隐含层节点的权重暂时不工作,防止模型过拟合.由于本文采用交叉验证,隐含节点dropout率为0.5时,对比的模型均取得了较好的实验结果,原因是0.5的时候dropout随机生成的网络结构最多.当dropout为0.3时,它将对CNN-GRU的影响最大,减少了近50%.但是,CNN和GRU模型的准确性有所提高.当dropout为0.9时,所有3个模型均减少5%-21%.从实验结果可以看出,本文提出的GRU-CNN模型在不同的dropout参数下,均能取得较好的效果,具有较强的鲁棒性.

学习率对模型的识别准确率的影响如表3所示.

表3 学习率对模型准确率的对比试验

从实验结果可以看到epoch大小对GRU-CNN模型影响不大,但CNN和CNN-GRU模型的精度会随着epoch的增加而大大增加,进一步验证了该模型的有效性.

5 结 论

本文提出的基于GRU—CNN的融合网络模型,在MSRC-12数据集上取得了最高的识别率,优于目前其他学者提出的方法,并通过网络参数的性能对比实验,进一步证明了该网络模型具有一定的可行性和较好的鲁棒性.为动态手势识别领域的研究提供了新的思路.

猜你喜欢
卷积神经网络特征
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
离散型随机变量的分布列与数字特征
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
抓特征解方程组
不忠诚的四个特征