周勇 吴震宇
摘 要: 手势识别作为人机交互的一个重要领域,是目前视觉研究的重点和热门。不同于图像研究,本文针对红外传感器采集到的手势动作数据,提出一种基于深度学习的手势识别方法。该方法通过红外传感器采集7种动态手势信号数据,使用不同网络模型对手势进行分类。实验表明,若只使用卷积神经网络(CNN)或长短期记忆网络(LSTM)单个网络模型的手势识别,准确率最高为92.7%;而CNN-LSTM混合网络模型平均手势识别准确率为99.1%。
关键词: 手势识别; 深度学习; 卷积神经网络; 长短期记忆网络
中图分类号:TP391.41;TP18 文献标识码:A 文章编号:1006-8228(2023)05-77-04
Dynamic gesture recognition based on depth learning
Zhou Yong, Wu Zhenyu
(College of Mechanical and Automatic Control, Zhejiang Sci-tech University, Hangzhou, Zhejiang 310018, China)
Abstract: Hand gesture recognition, as an important field of human-computer interaction, is currently the focus and hotspot of vision research. In this paper, different from image research, a gesture recognition method based on deep learning is proposed for the gesture motion data collected by infrared sensors. Seven kinds of dynamic gesture signal data are collected, and the gestures are classified using different network models. Experiments show that if only a single network model of CNN or LSTM is used for gesture recognition, the highest accuracy is 92.7%, while the average gesture recognition accuracy of CNN-LSTM hybrid network model is 99.1%.
Key words: hand gesture recognition; deep learning; convolution neural network (CNN); long and short term memory network (LSTM)
0 引言
目前手势识别方法多样,Cheo[1]等人提出手势识别方法主要分为两种,其中包括基于数据特征值区分或图像处理的手势识别方法。通过相机[2]或主动技术如Kinect[3],LeapMotion[4]等捕获RGB图像或三位深度通道[5]进行手势识别的方法为基于视觉的方法。而传感器的识别方法是根据不同传感器获得手势动作信号特征,传感器包括惯性测量单元(IMU)和EMG肌电信号感应器[6]传感数据手套[7]等。视觉交互会受到用户所用的仪器设备精密度以及所处识别环境的影响,若使用者所处地方过亮或过暗,交互体验就会大打折扣。穿戴式传感器的交互方式影响人机交互的方便性,因此采用红外传感器,接收手势动作所反射的动作数据,这样既提高了使用者的便捷性,又不受环境的影响。
基于红外传感器的手势识别方法包括两种:特征提取法和深度学习方法。特征提取法需要人为自主地提取手势动作特征,从而进行准确识别,需要采集较多数据并找到数据规律,同时要在程序中设置大量阈值,阈值的大小会影响手势识别的精准度。而随着深度学习的提出和卷积神经网络(CNN)被广泛的应用在手势动作识别上,CNN能自行从输入数据集中学习特征,减少提取特征时导致的不稳定性。Aparna[8]将得到的采样数据集,通过网络深度学习,该网络基于LeNet,识别率较高。在众多研究中,有些使用长短期记忆网络(LSTM)进行手势识别,甚至有些研究将上述两种网络模型同时放进一个网络中,獲得了较高的识别成功率。因此,后续手势识别方法将采用CNN-LSTM混合模型对手势动作进行分类。
1 手势动作数据集
1.1 手势动作定义
本方法定义三类共七种手势,如图1(a)为面内平移手势,图1(b)为面外平移手势,包括上下平移和左右平移手势。图1(c)为面内旋转手势,其中包括顺时针或逆时针旋转。由于采用的红外传感器带有四个红外光源,因此,在不同种类手势下,红外传感器内四组数字信号变化不同。下面将对获取到的不同种类手势数据进行处理。
1.2 手势数据获取及预处理
红外传感器接收到的数据,由于人手移动速度不稳定,会导致采样数据长度不同,且数据的区分度不明显,只有变化趋势。因此,为了简化识别的过程,提高手势动作识别的精准度,对采集到的手势数据进行多项式拟合,并插值处理,统一每一次手势的数据长度Length。多项式拟合公式如下:
[yx,ω=ω0+ω1x+ω0+ω2x?+···+ωMxM] ⑴
其中,M是多项式的阶数,[ω]是参数,x是已知的样本数据。通过数据拟合得到关于[yx,ω]和t的损失函数[Eω],具体函数如下:
[Eω=12i=1N{yx,ω-tn}?] ⑵
对于这个损失函数,因为它是一个关于[ω]的二次函数,因此得到惟一解[ω]*。
[?Eωωj=1Nj=0Mωjxjn-tnxjn=0] ⑶
数据多项式拟合且差值规整后对比图如图2所示,图(a)表示数据处理前的曲线图,图(b)表示数据处理后的曲线图。本方法设计的Length=50。数据长度的大小取决于人手动作速度和采集数据频率。数据长度过小,降低手势识别的精准度。数据长度过大,减慢了识别速度。
2 网络模型
2.1 CNN模型
CNN网络模型如图3所示。该方法循环使用卷积层和下采样层,从采样初始数据中获得能表明数据的局部特征,从而变成大量无损的特征向量。
2.2 LSTM网络模型
LSTM网络是一种改进的时间递推神经网络(RNN)。它通过添加一个遗忘门,来使“梯度消失”问题得到改良[9]。LSTM网络单元如图4所示。
LSTM网络的基本单元中包含遗忘门、输入门和输出门。遗忘门中输入xt与状态记忆单元St-1、中间输出ht-1共同决定状态记忆单元遗忘部分。输入门中的x分别经过函数变化后共同决定状态记忆单元中保留向量。
2.3 CNN-LSTM网络混合模型
本文的CNN-LSTM模型如图6所示,其通过堆叠多个卷积块、池化层、全平均和Softmax层实现分类,而每一个卷积块包括卷积层和ReLU激活层,如图5卷积层输入[x]的卷积是用一组可训练的多维filter [fk]计算的,然后将所得结果与偏差[bk]相加。假设有k个filter,其该层的第k个输出可以用如下等式表示:
[gk(i,j)=c=1Cfck*xc(i,j)+bk] ⑷
其中,大写字母C表示输入总通道数,[xc(i,j)]表示输入的第c个通道(channel)中的第[i]行和第[j]列中的区域。
组成卷积块的第二层是ReLU层,其作用是增加了神经网络的复杂性,使得原本经过训练后像公式一样求得的线性神经网络可以学得更加复杂的数据关系。其公式如下:
[yk(i,j)=max(hk(i,j),0)] ⑸
池化层则用于减小特征数量,本文选取的池化是最大值池化,公式如下:
[pki',j'=max (yk(i'+i-1,j'+j-1))] ⑹
其中,[i']和[j']表示输出后的第[i]行和第[j]列。Softmax层是将最后的特征结果转换为分类类别概率后再进行分类,其公式如下:
[PY=Yn=eYnn=1NeYn] ⑺
其中,[Yn]表示其中一类缺陷n的输出结果,N是缺陷类别总数,[PY=Yn]是缺陷n输出结果[Yn]的概率信息。
如图6,输入数据会先后进入两个64个神经元LSTM层,然后再进入Conv_Block1层,Conv_Block1有64个filters,其核大小是2[×]2,而后是Conv_Block2,其filter数量是192个,核大小是2[×]2,而后特征圖进入一个核大小是2[×]2,步长为2的最大池化层里,以此类推,直至Conv_Block3。在Conv_Block3后接入全平均池层,减少参数量。而后再进行Softmax分类。
3 实验与性能分析
3.1 实验平台和数据采集
本文实验基于keras深度学习框架和型号为NVIDIA GeForce GTX 1060的GPU。采用美国AVAGO型号为APDS9960的红外传感器,在校内普通实验室采集数据。将传感器置于实验平台。六名测试人员在实验区完成七种手势动作各50次,获得2100组数据集。将数据集划分为80%的训练集和20%的测试集进行实验。
3.2 实验结果对比
本方法采用三种不同网络模型来进行对于手势识别的深度学习研究。如图7所示,通过图7(a)CNN模型,图7(b)LSTM模型和图7(c)CNN-LSTM模型三个模型相比,可以看出CNN-LSTM网络收敛速度更快,损失值下降的更低。
为了验证CNN-LSTM的网络性能,将不同网络模型下不同手势识别率记录下来如表1。
对于采集到的手势数据,CNN-LSTM网络模型的准确率相对于CNN和LSTM单个网络有较大的提升。由于图8的混淆矩阵可以看出,除了面外逆时针旋转外,其余手势识别准确率均达到98%以上。导致逆时针旋转手势识别率较低的原因可能是受到红外传感器位置和人手臂的影响。
4 结论
针对人机交互中的手势识别问题,本文提出了一种基于深度学习分类手势动作的识别方法,通过红外传感器接收到手势动作数据,使用一种CNN和LSTM相结合的网络模型。实验表明,对比单独使用单个模型来说,CNN-LSTM混合模型在识别率上有明显提升,7种手势动作的平均识别率为99.1%,其中几个手势动作识别率达到100%,但也有手势识别受到红外传感器位置和人手臂误接触的影响,导致识别率只达到97%。后续将进一步研究网络不同参数对识别结果的影响,加快模型的预测速度与识别准确率等。
参考文献(References):
[1] CHEOK M J,OMAR Z,JAWARD MH.A review of hand
gesture and sign language recognition techniques[J]. International Journal of Machine Learning and Cybernetics,2019,10(1):131-153
[2] 林文华,房怀英,范璐璐,等.采用双相机多尺度方法的机制砂
级配测量及空隙率预测[J].华侨大学学报(自然科学版),2022,43(3):285-290
[3] 张毅,张烁,罗元,等.基于Kinect深度图像信息的手势轨迹识
别及应用[J].计算机应用研究,2012,29(09):3547-3550
[4] 林书坦,尹长青.基于LeapMotion的数字手势识别[J].电脑
知识与技术,2015,11(35):108-109
[5] 朱丙丽,高晓琴,阮玲英.基于多通道卷积神经网络的单幅图
像深度估计[J].计算机应用与软件,2020,37(6):230-233,241
[6] 谢小雨.基于表面肌电信号和惯性测量单元的手势动作识
别的研究[D].硕士,太原理工大学,2018
[7] 徐波,文武.数据手套中传感器技术的研究[J].测控技术,
2002(8):6-9
[8] AparnaAkula,Anuj K. Shah,RipulGhosh. Deep learning
approach for human action recognition in infrared images[J]. Cognitive Systems Research,2018,50
[9] 刘媛媛.融合CNN-LSTM和注意力机制的空气质量指数
预测[J].计算机时代,2022,355(1):58-60