APP下载

基于深度学习的手势识别研究

2019-12-12沈雅婷

软件导刊 2019年11期
关键词:手势识别特征提取深度学习

沈雅婷

摘 要:目前一些相对成熟的手势识别算法,如基于模板匹配的方法、基于人工神经网络的方法以及基于隐马尔科夫模型的方法,都存在计算复杂的劣势,而基于深度学习的手势识别具有一定优势。通过深度学习提取多层网络简化的高价值易用特征,通过向量等表示,简化算法以实现良好的识别效果。通过摄像头采集室内复杂背景下的手势图像,在计算能力、存储能力强大的PC平台通过深度学习处理图像,提取特征,然后进行分类识别,能提高识别准确率。通过改进硬件或算法还可提高识别效率及安全性。

关键词:深度图像;预处理;特征提取;深度学习;手势识别

0 引言

手势是人机交互的一种重要手段,是简单且自然的交流方式[1]。手势识别是计算机科学和语言技术研究的主题。手势识别可通俗解释为通过计算机理解人体语言,无需直接接触机械设备即可使人类和机器进行自然交互[2]。手势识别在人机交互智能领域起着重要作用,但由于其在相对复杂的环境中处理困难,因此需要探究出更加适宜的方法。

早期大多通过有线技术连接计算机系统和用户,从而将用户手势信息准确地传送给识别系统,完成手势识别[3]。如数据手套通过传感器将诸如用户手的位置和方向数据信息发送给计算机,再通过机器学习算法进行识别。虽检测效果良好,但穿戴过程给操作者带来极大不便且价格昂贵[4]。此后,数据手套被光学标记方法所取代。光学标志放置在人手上,就可将手的位置和变化通过红外线传给系统屏幕。该方法效果良好,但仍需复杂设备。虽然外部设备干预可以提高手势识别的准确性和稳定性,但无法实现手势的自然表达。为此,自然手势识别被针对视觉的手势识别取而代之[5]。

许多专家学者倾向于使用深度学习研究手势识别。视觉手势识别(即识别自然手势)可以使用手势来控制或与设备交互,无需接触设备。由视频设备捕获的手势图像序列通过计算机技术处理,该过程可以是相关的深度学习算法经过复杂网络结构层的筛选提炼,获取高价值的特征[6]。视觉手势识别分割易受硬件之类的外部环境影响,导致通常使用的机器学习算法识别精度偏低。因此,基于深度学习的手势识别成为热门研究领域[7]。

1 视觉手势识别与流程

手势识别基本流程如图1所示。

首先,通过摄像头捕获图像信息流,之后进行预处理,如过滤噪声数据(手势检索和分割);然后输入识别系统,针对手势特征运用深度学习进行特征提取;最后通过训练完成分类算法以及系统定义的人工语法进行识别输出[8]。

静态手势和动态手势的特征提取和分析过程不一样,静态手势只需通过各种方法对图像进行判断,动态手势是一个变化过程,是一段时间内的动作集合,因此系统需要定义动态手势的开始和结束时间戳。动态手势通过一些手段能够成为静态手势 [9]。

针对视觉的手势识别重点在于图像处理,手势的特征提取直接影响最终的识别结果(本文提及的手势识别即针对视觉的手势识别)[10]。传统的针对视觉的手势识别包含多种算法,如何提高手势识别的一致性和鲁棒性一直是研究重点[11]。

2 相关技术及发展

通过神经网络对手势进行识别研究较多,但由于手势轨迹的维数较大导致神经网络节点较多,从而使整个网络复杂计算量增大[12]。研究发现通过深度学习算法限制玻尔兹曼机对手势轨迹进行特征提取,进而使用神经网络进行训练识别,比单纯使用神经网络算法识别率要高。

深度学习作为一种新型的机器学习算法被广泛研究,有很多深度学习模型,如自动编码器、去噪声自动编码器、卷积神经网络、深度信念网和限制玻尔兹曼机等[13]。在ASL数据集中,不管是训练集还是测试集,普通手势识别算法准确性都不及深度学习算法。因为深度模型能够有效利用多层网络,通过层层抽象的方式深度提取输入数据的深层特征[14]。

本文首先通过深度学习算法对手势轨迹进行特征提取,然后对处理后的轨迹应用分类算法(如分类器softmax)进行识别[15]。

详细流程如下:①通过Kinect采集深度图像,如MNIST、ASL数据集,可压缩,可加密、输入;②对图像进行预处理,例如噪音过滤等(手势检索与分割);③通过深度学习算法对传入的手势数据进行高价值特征提取,数据特征可用向量等表示;④通过对样本训练获得分类器,然后通过分类器对提取后的高价值特征数据进行分类识别[16];⑤输出(按要求描述相应手势,通过相应的描述驱动对应程序)。

2.1 特征提取——深度学习

特征在手势识别建模过程中起着十分重要的作用[17]。人手特征分为基于图像外观的特征和基于人手模型的特征[18]。基于图像外观特征简单易操作,基于人手模型特征可以识别更复杂的人手动作,但要求是深度图像,最终算法的准确性由特征良好性决定[19]。手工选择需要专业知识和大量时间进行调整,十分困难,完全凭借运气和经验[20]。深度学习是机器学习的新领域,深度学习构建的模型具有多层结构,原样本空间经过对海量数据的训练逐层转换为一个新的特征空间,从而能学习出更有用的特征。这类似于人类从原始信号的低级抽象,逐渐往高级抽象迭代,并且在高级抽象层执行终极分类或预测,获取高的准确性 [21]。

2.1.1 深度学习基本思想

2.1.2 深度学习训练过程

(1)采用自下而上的无监督学习。①逐层构建单层神经元;②使用wake-sleep算法对每一层进行调整,一次仅调整一层,逐层调整。这个过程可看作是一个特征学习过程,这是与传统神经网络相比最大的不同[22]。

(2)自顶向下的监督学习。将学习获取的每层参数作为第一步,在顶部编码层添加如Logistic回歸、SVM等分类器,然后通过对已标记数据的监督学习,使用梯度下降法微调网络参数[23]。

2.1.3 深度学习模型与方法

(1)自动编码器(AutoEncoder)。将input信号输入到encoder编码产生code,即输入的表示是code,然后通过decoder解码,如果输出信息类似于输入信号input(理想情况下相同),那么code是可用的[24]。因此,通过调整encoder和decoder参数以最小化重构误差,获得输入input信号的第一个表示,即code[25]。

(2)稀疏自动编码器(Sparse AutoEncoder)。将[L1]的Regularity约束添加到AutoEncoder上([L1]主要是将每层中的大多数节点约束为0,只有少数不为0),就可以得到Sparse AutoEncoder法[26]。

(3)降噪自动编码器(Denosing AutoEncoder)。在自动编码器基础上,噪声添加于训练数据中,自动编码器必须通过学习去除该噪声获得未被污染的输入[32]。因此,编码器通过学习稳健表示输入信号,其泛化能力优于普通编码器。

(4)限制玻尔兹曼机(Resricted Boltzmann Machine)。假设相同层中的节点之间没有链接,一层是可见层,即输入数据层[v],一层是隐藏层[h]。若假设所有节点都是[0,1]随机变量节点,全概率分布[pv,h]满足Boltzmann分布,称为RBM[33]。

(5)深度置信网络(Deep Believe Network)。由几个RBM结构单元组成,堆栈中每个RBM单元的可见层神经元数量等于之前RBM单元中隐藏层神经元数量[34]。使用输入样本训练第一层RBM单元,并使用输出训练第二层RBM模型,通过堆栈增加层使模型性能得以改善。

(6)深度玻尔兹曼机(Deep Boltzmann Machine)。增加RBM隐藏层中的层数可以获得DBM,训练方法是首先使用无监督的预训练方法获得初始权值,然后使用场均值算法,最后再用監督方式进行微调[35]。

(7)卷积神经网络(Convolutional Neural Networks)。卷积神经网络具有多层,每层通过多个二维平面组成,每个平面通过许多独立神经元组成,它是第一个成功训练多层网络结构的学习算法[36]。

2.2 不采用深度学习特征提取的手势识别方法

手势识别是通过分析手势的特征判断手势类型的过程[37],特征的优秀程度对手势判断的准确性有很大影响[38]。常用的手势识别方法有基于模板匹配的方法、基于人工神经网络的方法和基于隐马尔科夫模型的方法[39]。上述几种方法对比如表1所示。

3 实验分析

对特征提取和手势分类相关算法的研究和改进:首先通过深度学习算法进行高价值特征提取,数据特征可用向量等表示,然后通过传统机器学习分类算法进行手势分类[40]。

用于实验的手势图片中,手势通常在复杂的环境中,如各种复杂背景因素、过亮或过暗的光、或与采集设备距离不同[41]。手势数据大小不确定,太大需压缩,可通过H.264算法对其进行压缩。手势数据可预处理,过滤噪音。实验数据通常是小型MNIST数据集和ASL手势数据集,或者由Kinect在复杂室内背景中直接拍摄RGB手势图像。使用Kinect通过红外线发射与接收获取深度图像更好,易于手势分割,能提高识别准确度[42]。Kinect是微软2010年推出的体感外设,深度摄像头获取人手运动的视频信息,接着分割出人手前景。由于深度图像中的每个像素点的值对应于摄像头距离场景中点的深度值,因此容易分割[43]。手部分割方法包括阈值分割、像素点聚类、结合彩色图像和深度图像等[44]。要有足够的训练样本,以便能训练出高精准度的分类器[45]。

硬件配置:建议处理器主频达到双核2.66GHz。深度数据采集输入设备[46]: Kinect for XBOX360(用于PC输入需装驱动)或Kinect for Windows摄像头。

安全性:建议对传输过程进行加密,并可通过开源加密算法OpenSSL对压缩数据进行加密[47]。

4 应用分析

随着人工智能的不断发展,人机交互对传统接触式交互方式提出了挑战,新一代交互方式将以无接触、高效自然的交互为主流[48],目前手势交互已成为热门话题[49]。手势识别增强了现有的人机交互模式,实现更直接、更自然、更和谐的人机对话,并将带来新的应用,如手语识别[50]。

5 结语

手势识别研究进展对交互速度的发展至关重要,改进的手势识别技术为人机交互提供一种新的非接触式交互模式。运用深度学习通过多层网络结构,从Kinect获取深度图像,基于深度学习解决实际应用中的手势识别高价值特征提取问题,以及用向量等表示数据特征问题。

目前手势识别研究仍集中在追求高精确度的算法技术层面,将来应整合心理学和人体工程学等研究成果,提高算法性能。

参考文献:

[1] 张雨晨,甘俊英,余飞,等. 基于深度学习的应急手势识别算法研究[J]. 五邑大学学报:自然科学版, 2018,132(2):57-63.

[2] BOBICK A F, WILSON A D. A state-based approach to the representation and recognition of gesture[J]. IEEE Trans Pattern Analysis & Machine Intelligence,1997,19(12):1325-1337.

[3] KOHLER M. Special topics of gesture recognition applied in intelligent home environments[C].International Gesture Workshop, 1997:285-296.

[4] 常津津,罗兵,杨锐,等. 基于深度学习的交警指挥手势识别[J]. 五邑大学学报:自然科学版, 2018,132(2):42-48,70.

[5] JIA P, HU H H, LU T, et al. Head gesture recognition for hands‐free control of an intelligent wheelchair[J]. Industrial Robot An International Journal, 2007, 34(1):60-68.

[6] 张勋, 陈亮, 胡诚,等. 一种基于深度学习的静态手势实时识别方法[J]. 现代计算机, 2017(34):8-13.

[7] VILLARREAL M, FRIDMAN EA, AMENGUAL A, et al. The neural substrate of gesture recognition[J]. Neuropsychologia, 2008, 46(9):2371-2382.

[8] FROLOVA D, STERN H, BERMAN S. Most probable longest common subsequence for recognition of gesture character input[J]. IEEE Transactions on Cybernetics, 2013, 43(3):871-880.

[9] 郭雷. 手势识别中手分割算法[J]. 软件, 2015, 36(4):81-83.

[10] YING W X. Recognition of complex dynamic gesture based on HMM-FNN model[J]. Journal of Software,2008,19(9):2302-2312.

[11] FERRO J M, MARTINS I P, MARIANO G, et al. CT scan correlates of gesture recognition[J]. Neurol Neurosurg Psychiatry, 1983, 46(10):943-952.

[12] 郭迎,吴蕴翔. 人工智能背景下的无人机手势识别设计研究[J]. 科技创新与应用, 2018, 242(22):44-45.

[13] TORIGE A, KONO T. Human-interface by recognition of human gesture with image processing-recognition of gesture to specify moving direction[C]. IEEE International Workshop on Robot and Human Communication,1992:105-110.

[14] 桑农,倪子涵. 复杂场景下基于R-FCN的手势识别[J]. 华中科技大学学报:自然科学版, 2017(10):54-58.

[15] NAM Y,WOHN N,LEE-KWANG H. Modeling and recognition of hand gesture using colored Petri nets[J]. IEEE Transactions on Systems, Man, and Cybernetics -Part A: Systems and Humans, 2002, 29(5):514-521.

[16] PAULRAJ M P, YAACOB S, DESA H, et al. Extraction of head and hand gesture features for recognition of sign language[C]. IEEE International Conference on Electronic Design,2008:1-6.

[17] 易生, 梁華刚, 茹锋. 基于多列深度3D卷积神经网络的手势识别[J]. 计算机工程, 2017, 43(8):243-248.

[18] 郭雷. 动态手势识别技术综述[J]. 软件导刊, 2015, 14(7):8-10.

[19] HE G F, PARK J W, KANG S K, et al. Development of gesture recognition-based serious games[C]. IEEE-EMBS International Conference on Biomedical and Health Informatics, 2012:922-925.

[20] FR?HLICH M,WACHSMUTH I. Gesture recognition of the upper limbs — from signal to symbol[C]. International Gesture Workshop on Gesture and Sign Language in Human-Computer Interaction. Springer-Verlag, 1997:173-184.

[21] FR?HLICH M, WACHSMUTH I. Gesture recognition of the upper limbs — from signal to symbol[C]. International Gesture Workshop on Gesture and Sign Language in Human-computer Interaction, 1997:173-184.

[22] RAUTARAY S S, AGRAWAL A. Design of gesture recognition system for dynamic user interface[C]. IEEE International Conference on Technology Enhanced Education, 2012:1-6.

[23] PICKERING C A. The search for a safer driver interface: a review of gesture recognition human machine interface[J]. Computing & Control Engineering Journal, 2005, 16(1):34-40.

[24] OSHITA M, MATSUNAGA T. Automatic learning of gesture recognition model using SOM and SVM[C]. International Symposium on Advances in Visual Computing,2010:751-759.

[25] VO M T, WAIBEL A. Multi-modal HCI:combination of gesture and speech recognition[C]. Human-Computer Interaction, INTERACT ‘93, IFIP TC13 International Conference on Human-Computer Interaction, 1993:69-70.

[26] KAWASHIMA M, SHIMADA A, TANIGUCHI R I. Early recognition of gesture patterns using sparse code of self-organizing map[C]. International Workshop on Advances in Self-Organizing Maps, 2009:116-123.

[27] ZHANG X, CHEN X, ZHAO Z Y, et al. Research on gesture definition and electrode placementin pattern recognition of hand gesture action SEMG[C].International Conference on Medical Biometrics, 2008:33-40.

[28] NAKAYA Y,NAKAKUKI T,HIKITA M,et al. A practical approach for recognition of hand gesture and distinction of its singularity[C].IEEE International Conference on Automation and Logistics, 2010:474-479.

[29] SCHWARTZ R L, BARRETT A M, CRUCIAN G P, et al. Dissociation of gesture and object recognition.[J]. Neurology, 1998, 50(4):1186-1188.

[30] DADGOSTAR F, SARRAFZADEH A, FAN C, et al. Modeling and recognition of gesture signals in 2d space: a comparison of nn and svm approaches[C]. IEEE International Conference on TOOLS with Artificial Intelligence, 2008:701-704.

[31] BHATT J, LOBO N D V, SHAH M, et al. Automatic recognition of baby gesture[C]. IEEE International Conference on TOOLS with Artificial Intelligence, 2003:610-615.

[32] KRIARA L, ALSUP M, CORBELLINI G, et al. RFID shakables:pairing radio-frequency identification tags with the help of gesture recognition[C]. ACM Conference on Emerging NETWORKING Experiments and Technologies, 2013:327-332.

[33] LUíS TARRATACA. The current feasibility of gesture recognition for a smartphone using J2ME[C]. ACM Symposium on Applied Computing, 2009:1642-1649.

[34] RASHID O, AL-HAMADI A, MICHAELIS B. Integration of gesture and posture recognition systems for interpreting dynamic meanings using particle filter[C]. Soft Computing and Pattern Recognition, 2011:47-50.

[35] TORIGE A, KUNO K. Human-interface by recognition of human gesture with image processing-recognition of speed change and rapid reaction on motion change[C]. IEEE International Workshop on Robot and Human Communication. 2002:250-255.

[36] YI Z, WU S H, YUAN L, et al. Applications and recognition of gesture trajectory using HMM[J]. Semiconductor Optoelectronics, 2015, 36(4):650-656.

[37] GEETHA M, MANJUSHA C, UNNIKRISHNAN P, et al. A vision based dynamic gesture recognition of indian sign language on Kinect based depth images[C]. International Conference on Emerging Trends in Communication, Control, Signal Processing & Computing Applications, 2014:1-7.

[38] TAN W, WU C, ZHAO S, et al. Recognition of dynamic hand gesture based on SCHMM model[C]. Control and Decision Conference, 2009:2478-2482.

[39] SHIMADA A, KAWASHIMA M, TANIGUCHI R I. Improvement of early recognition of gesture patterns based on a self-organizing map[J]. Artificial Life & Robotics, 2011, 16(2):198-201.

[40] STAMENOVA V, ALMEIDA Q A, BLACK S E, et al. Hemispheric differences in the production and recognition of gesture errors[J]. Brain & Cognition, 2007, 63(2):198-199.

[41] LI Z, ANTAO T, YANG L. Hand gesture recognition of sEMG based on modified kohonen network[C]. International Conference on Electronics, Communications and Control, 2011:1476-1479.

[42] ZHENG W, ZHANG D. Handbutton: gesture recognition of transceiver-free object by using wireless networks[C].IEEE International Conference on Communications, 2015:6640-6645.

[43] TAO Y, YUAN G E, WANG L. The method of gesture recognition based on moment invariants[J]. Computer Engineering, 2004, 30(18):127-129.

[44] MORIMOTO K, MIYAJIMA C, KITAOKA N, et al. Statistical segmentation and recognition of fingertip trajectories for a gesture interface[C]. International Conference on Multimodal Interfaces. 2007:54-57.

[45] TAN T D, GUO Z M. Research on location and gesture recognition of hand based on binocular stereo-vision[J]. Computer Engineering & Design, 2012, 33(1):259-264.

[46] KO Y. Hash-based early recognition of gesture patterns[J]. Artificial Life & Robotics, 2013, 17(3-4):476-482.

[47] GEETHA M, ASWATHI P V. Dynamic gesture recognition of Indian sign language considering local motion of hand using spatial location of key maximum curvature points[C]. Intelligent Computational Systems. IEEE, 2013:86-91.

[48] CHOI C, AHN J H, BYUN H. Visual recognition of aircraft marshalling signals using gesture phase analysis[C].Intelligent Vehicles Symposium. IEEE, 2008:853-858.

[49] IRTEZA K M, AHSAN S M M, DEB R C. Recognition of hand gesture using hidden Markov model[C]. International Conference on Computer and Information Technology, 2013:150-154.

[50] ZHANG H, WANG Y, DENG C. Application of gesture recognition based on simulated annealing BP neural network[C].International Conference on Electronic and Mechanical Engineering and Information Technology, 2011:178-181.

(責任编辑:杜能钢)

猜你喜欢

手势识别特征提取深度学习
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
基于手势识别的工业机器人操作控制方法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于MED和循环域解调的多故障特征提取
Walsh变换在滚动轴承早期故障特征提取中的应用