APP下载

基于卷积神经网络的手势识别

2018-07-25杨红玲宣士斌莫愿斌

计算机技术与发展 2018年7期
关键词:识别率决策树骨架

杨红玲,宣士斌,莫愿斌

(广西民族大学 信息科学与工程学院,广西 南宁 530006)

0 引 言

近年来随着科学技术的高速发展,人机交互的方式得到了很大改变,各种新型的人机交互方式不断出现,鼠标键盘的交互方式变为触摸屏与语音,交互形式变得多样化、人性化。而更为高效的交互形式是让机器能够理解人的肢体语言,在各类肢体语言中手势最为常见,可将它作为一种简单、自由的人机交互手段。

基于手势进行人机交互时,一个很重要的过程是对手势进行识别。手势识别时,首先提取手势的特征,然后对所提取的特征根据有效的识别方法进行手势识别。常见的手势识别方式有很多,例如基于神经网络的识别方法具有较强的识别分类能力,但是如果采用的神经网络层数较浅,很容易出现过拟合现象[1-2];基于几何特征的识别方法通过提取手势结构、边缘、轮廓等特征进行手势识别,具有良好的稳定性,但是不能在提升样本量的同时提升识别率[3-5];基于隐马尔可夫模型的识别方法虽然具有描述手势时空变化的能力,但识别速度却不尽如人意[6]。随着机器学习和深度学习在计算机视觉的迅速发展,基于机器学习和深度学习的方法得到了更多的关注。其中基于深度卷积神经网络具有局部连接、权值共享、深度层次化结果、自动特征提取等特点,给手势识别[7-8]带来了新的思路。

因此针对手势变化的复杂性,通过对比支持向量机、决策树、随机森林和邻近算法在手势识别中的特点和存在的问题,提出了一种基于深度卷积神经网络的手势识别方法。该方法提取手势的骨架与边缘相融合的特征图,将特征图作为深度卷积神经网络的输入,通过学习获取分类手势时的分类模型,实现手势识别。

1 基于机器学习的手势识别

利用计算机代替人学习提高自身的处理问题的能力就是机器学习。随着计算机技术的高速发展,使用机器学习的领域逐渐扩大,基于机器学习的方法已经在语音、图像、文本、金融等领域取得了突破性进展。

文中通过对比常见的有监督学习算法,从中选择最优的学习算法进行手势识别。算法的输入为采集得到的原始手势图像,将原始图像通过滤波、去除噪声等预处理后进行骨架与边缘特征提取,获取这两种特征相融合的特征图,然后将融合后的特征作为输入,训练支持向量机、决策树、随机森林和卷积神经网络的手势识别模型,通过对比选取最优的分类模型作为输出来判断手势所代表的含义。具体算法流程如图1所示。

图1 手势识别算法流程

1.1 特征提取

由于手势变化的复杂性,人们在进行手势识别时更加关注手势本身所代表的含义,而原始的手势图像中包含很多不必要的细节信息,从而增加了识别难度。为了增加手势识别的准确率,减少计算的复杂度,将手势的骨架特征与边缘特征相融合作为手势识别的输入,以减少不必要的细节信息对手势识别的干扰。

骨架作为手势的一种表示形式,能够保持手势体的几何、形状、拓扑信息,能够有效地描述手势。因此,骨架能够很好地描述手势所代表的物理含义,可以将手势骨架信息作为一类手势识别的特征描述,手势骨架提取结果如图2(b)所示。

虽然单一的手势骨架特征能够很好地解释手势所代表的含义,但是在提取不准确或者一定的条件下,骨架特征信息会有一定的缺失。对此,进一步利用形态学算子提取手势二值图像的边缘,获取具有更好解释效果的手势边缘图像,然后将其手势骨架图像相结合作为卷积神经网络的输入,获取更好的识别效果,融合结果如图2(d)所示。

图2 多特征融合效果图

1.2 手势识别

1.2.1 基于支持向量机的手势识别

支持向量机是建立在VC维理论和结构风险最小原理基础上的机器学习算法,能够很好地解决非线性以及高维度识别的问题。由于手势本身的复杂性,因此可以考虑将其引入到手势识别,将融合后的特征图像转化为支持向量机训练时所需要的一维特征向量并作为输入,训练获取分类模型,进行手势识别。

1.2.2 基于决策树的手势识别

决策树学习是以实例样本为基础的归纳学习算法,可以从一组无次序、无规则的事例样本中推理出决策树所表示形式的分类器和预测模型,从而实现对未知数据样本的分类或预测。文中采用ID3学习算法生成决策树并进行剪枝,通过手势融合特征图像样本训练生成决策树模型进行手势预测。在利用决策树生成算法对手势进行识别时,由于独特的树形结构在预测时能减少识别时间,并且能够直接体现数据的特点,因此具有一定的可信度,但是对于图像数据来说,高维度的数据训练存在分类识别精度的问题。

1.2.3 基于随机森林的手势识别

在机器学习中,随机森林是一个包含多个决策树的分类器,其输出的类别由个别树输出的类别的众数而定。随机森林学习算法中每棵树的训练过程与决策树类似,只是无需对决策树进行剪枝。并且数据样本和特征选择是一个随机过程,每棵树的具体构造如下:

(1)用N表示训练样本的个数,M表示图像转化为一维数据结构作为训练的特征;

(2)从N个训练样本中采用又放回的抽样方式,取样N次,形成一组训练集;

(3)对抽取的样本,随机选择m个特征(m≪M),计算其最佳的分割方式,训练生成一棵决策树;

(4)选取20个数据集进行训练,每棵树都会完整地成长而不会剪枝。

利用随机森林算法对手势进行识别时,由于结果需要根据多棵树输出的众数而定,因此相对决策树分类来说,精确度会有一定的提升,但是由于多棵树的预测,时间将会增加。

1.2.4 基于卷积神经网络的手势识别

随着深度学习的快速发展,卷积神经网络已经在语音识别[9]、手写字体识别[10]、车牌识别[11]、人脸识别[12]等领域得到了广泛的应用,其高效的识别精度和速度对手势识别也具有一定的促进作用。因此可以采用基于深度学习的方法来进行手势识别。

卷积神经网络(CNN)具有三个最基本的特征[13]:局部连接、权值共享和下采样。通过局部连接和权值共享减少训练参数,通过下采样提升模型的鲁棒性,减少训练参数。因此根据卷积神经网络的特征,其一般包含两个特殊的网络神经元层:卷积层和下采样层。由于文中的分类任务较为简单,因此基于AlexNet的网络结构进行精简,具体的网络结构如图3所示。

图3 手势识别的卷积神经网络结构

该结构共有6层,Input Layer为输入层,具体为64×64的手势特征融合图像,Layer1-Layer3为卷积层,Layer4-Layer5为全连接层,Layer6 Output为输出层,输出层神经元有3个,分别代表手势类别:石头、剪刀、布。卷积核和各偏置等参数的初始值均随机产生,输入样本后通过前向传播和反向传播算法对网络进行训练来更新参数。

卷积滤波实质就是用卷积核在图像矩阵中滑动遍历,卷积核与图像上相对位置的元素作乘积,将所得结果相加得到一个结果值,最后通过激活函数获得卷积结果。当卷积核滑动遍历整张图像,结束特征提取,获取一个新的图像特征矩阵(feature map)。同时卷积核滑动的步幅也和最后获取的特征矩阵存在以下关系:

(1)

f(x)=max(0,x)

(2)

W2=(W1-F+2P)/S+1

(3)

H2=(H1-F+2P)/S+1

(4)

式1为卷积计算,式2为激活函数,式3和式4为卷积变化。其中,xi,j为图像的第i行第j列元素,wm,n为卷积核中第m行第n列权重,wb为卷积核的偏置项;f为激活函数,即relu函数;W2为卷积后feature map的宽度,W1为卷积前图像的宽度,F为filter的宽度,P为Zero Padding数量,Zero Padding是指在原始图像周围补几圈0,如果值是1,那么就补1圈0,S为步幅;H2为卷积后Feature Map的高度,H1为卷积前图像的宽度。

卷积滤波后再通过下采样图像特征矩阵进行降维,减少计算量,同时避免特征过多导致出现过拟合,增强网络结构对位移的鲁棒性。具体的卷积和下采样计算如下所示:

(5)

其中,ai,j为卷积后的第i行第j列元素;P为下采样函数,一般为MaxPoling或MeanPoling,文中采用MaxPoling。

2 实验结果及分析

2.1 实验结果

对提出的方法在两个数据库上进行验证,第一个数据库是在室内场景采集的手势图像数据库,通过普通的摄像头拍摄不同环境、不同旋转角度下的3种类别的手势图像各100张,用于算法性能的测试;第二个数据库采用Thomas Moeslund’s Gesture Recognition Database。同时在两个数据库中对文中所涉及的手势识别模型进行验证,结果如表1所示。

表1 识别性能的比较(1)

可以看出,平均消耗时间上虽然随机森林(RF)和决策树(DT)比基于卷积神经网络(CNN)的消耗时间过短,这是因为其独特的树形结构在分类过程中会减少算法的时间复杂度,但是在平均识别率上,CNN却有着天然的优势,而且其消耗时间也在可接受范围之内;而SVM无论在消耗时间还是速度上都逊色于CNN,因此采用深度卷积神经网络进行手势识别可行。

为了更好地验证卷积神经网络训练次数对手势识别率和误差的影响,从拍摄的各类手势图像中选取2 000个训练样本和100个测试样本进行实验,不同的训练次数与手势识别率和误差的关系如图4所示。

图4 训练次数与手势识别率和误差的关系

可以看出,训练次数较少时,手势的识别率较低,网络需要训练较多的次数才可以达到较好的识别效果。因为在训练次数较低时,由于手势的复杂性,并不能提取出具有高效分类的网络参数,使得训练误差仍然很高,当训练进行到一定程度时,网络参数不会发生太大变化,误差趋于稳定,网络识别率的提高趋于稳定。

2.2 实验对比分析

为进一步验证文中算法的性能,与国内其他学者提出的算法进行比较,表2显示了手势样本在不同方法下的识别率和时间消耗对比。

表2 识别性能的比较(2)

通过对比发现,文中算法获取的识别率相对较高的原因在于将手势图像的骨架和边缘的融合特征图像作为卷积神经网络的输入,能够描述手势所代表的物理含义,从而获得更好的识别效果。而且网络结构更为简单,从一定程度上减少了识别的消耗时间,从而实现快速准确的手势识别。

3 结束语

针对手势的复杂性,通过融合手势的边缘与骨架特征作为识别算法的输入,提出基于卷积神经网络的手势识别方法。实验结果表明,基于卷积神经网络的手势识别具有较高的准确率,并且识别速度也在可接受范围之内。下一步将通过改进网络结构进一步提高手势识别的速度,实现复杂环境下动态的手势识别。

猜你喜欢

识别率决策树骨架
浅谈管状骨架喷涂方法
信息时代基于决策树对大学生情绪的分类
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
简述一种基于C4.5的随机决策树集成分类算法设计
周博士考察拾零(六十六)日光温室前屋面开机具作业门处骨架的处理方法
档案数字化过程中OCR技术的应用分析
决策树学习的剪枝方法
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展