一种改进的残差网络手势识别方法*

2021-06-16 07:09张雷乐田军委刘雪松
西安工业大学学报 2021年2期
关键词:残差手势准确率

张雷乐,田军委,刘雪松,王 沁

(西安工业大学 机电工程学院,西安 710021)

随着计算机技术的迅速发展,以及5G网络的迅速普及,人们对于智能生活的要求越来越高。想要解决一些复杂的任务还是有一定的困难,因此,将机械臂控制技术与人机交互技术相结合能有效地提高机械臂的作业能力和智能程度[1]。目前对于手势识别、动作识别及视线跟踪等基于人体动作习惯的人机交互形式成为当前热门的研究领域[2-3]。

近年来,随着人工智能的快速发展,深度学习技术在图像处理方面取得了很好的成绩[4]。 文献[5]采用深度神经网络进行图像识别,通过加深网络层数来提高有用特征的提取率,在ImageNet评测问题中将准确率提高了90%。对于深层次的神经网络,如果对每层网络都进行训练,其时间复杂度会升高,容易陷入局部极值,收敛速度会降低。文献[6]是一种基于卷积神经网络(Convolutional Neural Networks,CNN)的手语识别模型。该模型先采用两路结构相同的卷积神经网络模型对RGB图像和深度图像进行特征提取,然后将提取的特征进行融合并输入到下一级的前反馈神经网络中继续提取有效特征进行分类,在基准数据集上识别准确率达到82%。此方法对采集到的图像特征进行重复利用,减少参数,提高训练速度。对参数的重复利用容易出现过拟合现象,其模型的泛化性与鲁棒性会下降[7]。由深度学习理论分析可知,在理想的网络训练方式下,更深的网络肯定会比较浅的网络效果要好[8]。在实践过程中,随着网络层数的增加,网络模型的分类性能却越来越差。文献[9]在Highway网的基础上提出了残差网络,采用捷径连接取代Highway网中的网关单元,可以保留全部的原始信息并且减少了网络参数,其表征能力强。

对于传统的残差网络,其网络层数加深时,其网络模型的准确率脆弱,易受数据分布中微小自然变化的影响,鲁棒性差[10]。因此,为了进一步提高手势识别的准确率、鲁棒性以及收敛速度,文中通过改进残差网络模型和动态调节学习率等训练方法来获取最优的网络训练模型,与原始网络模型训练过程进行对比,验证文中方法的有效性。

1 手势特征提取的基本原理

基于卷积神经网络的手势识别过程可以看作是手势特征的滤波器[11]。在神经网络中,利用卷积层中卷积核与输入图像的卷积运算,保留出手势图像中的手势特征信息,过滤掉背景信息。图1是不同卷积层提取手势图像特征的过程。经过浅层网络卷积过滤掉手势图像中的非连续线段特征,保留出如线条,角度等连续线段特征;经过中层网络卷积过滤掉手势图像中无法构成完整轮廓的线条特征;经过高层网络卷积运算得到如复杂形状、颜色组合等高层次抽象特征,为手势图像分类提供依据。

图1 卷积神经网络提取图像特征过程

由图1可知,以非连续卷积过程中得到的共性特征为基础,在连续卷积过程中提取手势样本的个性特征[12]。其中共性特征提取出手部轮廓,个性特征对手势样本进行分类操作。

2 改进的残差网络模型

2.1 残差网络模型

传统的随着网络深度与高度的增加,网络的性能也会随之有所提高。然而在实际的实验过程中,发现随着网络层数的增加,实验的训练准确率反而会下降,出现网络退化问题。为了解决网络退化问题[13],何恺明提出了一种残差结构,如图2所示。整个模块将正常的卷积层输出和输入相加得到最终的输出。其公式表达Y=F(x)+x,x为输入,F(x)为卷积分支的输出,Y为整个结构的输出。

图2 残差结构

由图2可以看出残差块使用跳跃链接,缓解了在深度神经网络中增加深度带来的梯度消失问题。同时,将开始的输入信息直接传递给输出,防止信息缺失,使得网络能够更好地提取输入与输出之间有差别特征。由此,简化了网络的训练过程中识别的难度,提高了网络训练的速度 。

在手势的分类过程中,由于传统的残差网络主要训练千万种分类,其网络参数大,容易产生冗余参数,造成训练过程繁琐,收敛速度慢。考虑到手势识别为二分类,所以文中基于原始ResNet18和ResNet34网络设计一种改进的残差网络sResNet-I(small-ResNet-I)模型,通过减少BasicBlock(残差模块)个数来减少网络参数,防止过拟合,从而提高训练速度。

sResNet-I与原始ResNet34网络的卷积主要结构及其参数见表1。

表1 网络卷积结构对比

改进后的残差网络模型主体(sResNet-I),由3个包含64个卷积核、3个包含128个卷积核、4个包含256个卷积核、3个包含512个卷积核的残差块和两层全连接层组成,模型输出为2维,对应两种手势形态。由表1可知,相对于传统残差网络模型(ResNet34),改进后的残差网络模型(sResNet-I),其参数量减少 ,加快了网络训练速度,同时防止过拟合。

Softmax函数表达式:

(1)

式(1)中分子将输入的实数值映射到零到无穷;分母将所有结果相加进行归一化处理。其中j=1,…,K,K为实数。

Categorical_crossentropy损失函数公式:

(2)

2.2 残差结构的改进

在卷积神经网络传播的过程中,卷积层和池化层主要是对原始输入手势图像进行特征提取,全连接层以这些提取的特征作为输入,经过加权处理输出对应类别。在卷积运算过程中,其卷积核内部的参数为权重,神经元与神经元之间通过激活函数连接。获得更多的有用特征信息,即需要对每个权重进行微小更新。权重在整个网络优化过程中主要目的是优化激活函数的输出值,进而实现对成本函数的优化。图3是卷积神经网络反向传播过程。

图3 卷积神经网络反向传播

卷积到卷积层运算:

(3)

式中:x为输入的手势图像矩阵;w为卷积核内的参数权重;b为偏置;z为神经元输入;l为网络的层数;i为下一层神经元特征向量个数;S为上层特征向量向量个数。

(4)

式中:a为经过激活函数输出。卷积层池化层运算:

(5)

式中:ap为池化层输出。池化层到全连接层运算:

(6)

(7)

式中:fw,b(x)为实际输出值。

Lw,b(x)=g(|y-fw,b(x)|)。

(8)

式中:y为期望输出值;Lw,b(x)为损失函数。

由式(4)和式(7)可知,激活函数是将激活的神经元特征通过函数把重要的特征保留并映射出来,负责将神经元的输入映射到输出端。激活函数引入非线性因素,能够提取多样性的特征,解决复杂的问题,防止出现过拟合现象。

由图2可知,传统的残差结构中卷积层间使用ReLU激活函数,其数学表达式为

(9)

由式(9)可知,当输入为负值时,输出为0,ReLU不激活神经元,无法从大量数据中提取到有用的特征,达不到精确手势识别的效果。

在卷积神经网络反向传播中,权重和偏置的迭代更新:

bi=bi-1-α∇L,

(10)

wi=wi-1-α∇L。

(11)

为了提高手势识别网络模型的抗干扰能力(鲁棒性),采用ELU作为激活函数:

(12)

由式(12)可知,相较于ReLU激活函数,当ELU函数输入为正值时,右侧线性部分能够缓解梯度消失问题;当输入为负值时,左侧为软包和,能缓解非正常输入时的问题,让其更加具有鲁棒性;ELU函数输出均值接近于0,其收敛速度更快。

2.3 动态学习率的调节

梯度下降是神经网络训练过程中比较重要的部分,通常使用成本函数进行反向传播不断地更新权重和偏置参数找到损失函数的最低点,使训练的模型达到最优的结果。梯度下降的公式:

(13)

式中:wnew和w为迭代过程中的权值;η为学习率;Loss为损失函数。

由式(13)可以得出,当学习率设置太小时,其手势训练过程需要花费更多的时间来进行收敛;学习率设置太大时,迭代最终结果会在最小值附近震荡无法达到最小值。为了解决这一问题,需要采用动态调节学习率[14-15]。动态调节是根据应用场景,在不同的优化阶段能够动态改变学习率,以得到更好的结果,不同阶段调节学习率为

(14)

式中:ηi为迭代次数为i时的学习率;ηi+1为迭代次数为i+1时的学习率;Δdi为迭代次数为i次时的损失梯度值(|Δdi|<1),求解为

(15)

由式(14)与式(15)可知,当Δdi-1≤0时,损失函数正常下降,为了提高收敛速度,此时学习率应以较小的速度下降;当损失函数出现震荡变化时,此时Δdi>0,学习率应以较快的速度下降。

2.4 动量梯度下降法

利用随机梯度下降法(Stochastic Gradient Descent,SGD)法进行网络参数调整过程中发现,网络传播过程中其权重及偏置等参数的更新基本依据当前输入的样本批大小,因此更新过程十分不稳定[16]。动量方法是加快梯度下降的速度,主要处理高曲率一致的梯度和带噪声的梯度[17]。文中对手势数据集进行数据增强处理,其中做了部分遮挡,加入噪声处理,目的是为了提高样本的多样性,从而验证不同动量值对整个训练过程的影响。

3 手势数据库的建立

3.1 构建手势数据集

数据样本的准确性对于训练卷积神经网络的识别过程至关重要[18]。文中通过模仿机械手爪抓取货物的操作过程,将手势定义为两类(张开、闭合)。通过使用手机采集不同人不同角度的手势图像,其中张开手势收集614幅,闭合手势收集647幅,共计1 261幅图像样本,图4展示张开手势和图5展示闭合手势的样本定义。

图4 张开手势

图5 闭合手势

3.2 数据集样本预处理

在进行手势识别的研究过程中,前期手势数据集的采集以及手势图像的预处理情况都会影响手势分类结果[19]。通常可以通过图像平移、翻转、缩放、加噪声处理及部分遮挡等图像增强手段将数据进行成倍扩充,来解决训练过程中的过度拟合情况[20],预处理后的样本如图6和图7所示。

图6 张开数据预处理后样本

图7 闭合数据预处理后样本

当数据样本具有足够的多样性时,网络模型在训练过程中可以提取到更多更可信的共性特征,从而不断更新网络参数,提高模型的泛化能力,得到最优的网络模型。

将预处理后的数据样本和采集到的原始样本按7∶3的比例随机放入训练集与测试集中。其中训练集工883个样本,测试集378个样本。建立3个不同的测试集样本来对比最终的试验结果,通过实验结果来验证所改进的网络的普适性。

4 试验及结果分析

为了验证文中提出的改进残差网络模型的有效性。文中采用的硬件平台为Intel I9-9900K、Nvidia RTX2080TI、32G内存、软件平台Windows10 64bit操作系统、Tensorflow-GPU1.13.0进行实验测试。

4.1 验证改进残差网络模型的有效性

数据集样本图统一输入尺寸224×224 pixel,模型使用SGD优化器,将学习率设定为0.1,学习衰减率值与动量设为0,批量大小设定为36,迭代次数为20。不同网络模型训练准确率如图8所示。

图8 不同网络模型训练准确率

由图8可以看出四条曲线中,随着迭代次数的增加,四条曲线准确率都在不断提高。首先加入改进残差块的resnet34-I相比于resnet34训练曲线震荡小,准确率高;当训练到第3次时,由于随机输入手势样本集中出现了异常的信号(手势遮挡,模糊等问题),resnet34曲线出现震荡,且识别准确率有所下降。相对于resnet34网络模型resnet34-I曲线随着迭代次数的增加准确率能更加平稳的上升。因为resnet34-I使用ELU作为激活函数,由理论分析可知,ELU激活函数在接受一个异常的信号输入时,损失函数的值增大,更新的参数为负值,此时ELU激活函数仍具有一定的输出;而且当输入为负值时,其具有一定的抗干扰能力,不会使激活函数突然崩掉,失去激活函数的意义;sResnet-I与resnet34-I两条曲线情况可以看出,在前8轮训练中resnet34-I网络模型其训练准确率更高,其收敛速度更快,在第8轮之后两个网络模型的训练准确率几乎重合。然而,在20轮的训练过程中,由于sResnet-I其参数相对于resnet34-I少,其训练时间更短,训练速度更快。

4.2 验证学习率动态调整的有效性

在验证动态调整学习率的有效性时,分别设置固定学习率0.01,0.1,0.2、动态调节学习率进行实验对比,动态调节学习率初始值设置为0.1,其他网络参数保持一致,图9是随着训练次数的增加,损失误差的变化情况。由图9可看出,学习率为0.01,0.1,0.2,动态学习率时,损失值都是随着训练次数的增加而下降。固定学习率为0.2时,在训练初期,网络会陷入局部最优状态,随着迭代次数的增加,损失值不在下降,识别准确率不在提高。在训练初期,固定学习率0.1相比于固定学习率0.01,从损失值下降的速度来看,0.01固定学习率和动态学习率下降速度最快;但随着训练次数的增加动态学习率的损失更加逼近0,由图9可看出,动态学习率达到稳定时所需要的迭代次数越少。

图9 不同学习率下的损失图

4.3 动量选择

文中选择0.5,0.7,0.9的动量值进行对比,根据识别准确率与迭代次数图选择出最优的动量值。

图10可以看出随着迭代次数的增加,三条曲线识别准确率均不断提高。

图10 不同动量参数训练结果对比图

由图10可知,相对于动量值0.7和0.9,动量值为0.5时不仅有效的提高了识别收敛速度,同时取得了最高的识别准确率。当动量较大时,在正确收敛的时间因所提供的加速度快,跳过最小。

4.4 测试样本值

综合以上实验,文中确定以sResnet-I作为手势识别的网络模型。采用动态调整学习率,动量参数选择0.5。为了进一步验证此模型的有效性,文中将已经构建的三组测试样本分别在四个网络模型上进行数值测试,测试结果见表2。

表2 四组模型测试结果

由表2可以看出,加入改进后的残差块结构,识别准确率提升了19.61%;相对于sResnet-I网络模型,Resnet34-I识别准确率提高了1.12%,因Resnet34-I训练时间较长,平均每轮训练时间增加11.2 s。为了提高训练速度,文中选用sResnet-I作为手势识别的网络训练模型。

5 结 论

1) 在手势识别的过程中,手势数据集样本的选择、网络模型的选择以及参数的调整都会影响手势识别的效果。文中通过对数据集进行数据增强预处理,增强其泛化能力,防止过拟合;改进残差块,改变激活函数ReLU提高手势识别的鲁棒性;降低卷积层数,减少迭代参数提高网络模型训练速度;动态调整学习率提高手势识别的收敛速度以及准确率;优选动量值来提高其训练过程的收敛速度以及模型训练过程稳定性。

2) 文中提出的sResnet-I模型其手势识别准确率相对于resnet34、sResnet分别提高了12.1%,19.61%。相对于Resnet34-I,sResnet-I训练消耗时间短,平均每轮训练时间减少11.2 s。提高了识别的鲁棒性和收敛速度。

猜你喜欢
残差手势准确率
基于残差-注意力和LSTM的心律失常心拍分类方法研究
融合上下文的残差门卷积实体抽取
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
挑战!神秘手势
胜利的手势