基于深度学习的应急手势识别算法研究
2018-06-08张雨晨甘俊英余飞曾军英
张雨晨,甘俊英,余飞,曾军英
基于深度学习的应急手势识别算法研究
张雨晨,甘俊英,余飞,曾军英
(五邑大学信息工程学院,广东 江门 529020)
本文提出了一种基于深度学习的应急手势识别算法. 首先采用深度图像传感器做手势分割获取应急手势数据集,其次采用肤色分割算法和本文提出的应急手势识别算法做实时性测试. 与常规算法不同的是,本文构建了一个应急手势数据库,并建立了深度卷积神经网络模型,提出了7种应用于多种场景的应急手势识别算法. 实验结果表明,本文应急手势识别算法优于现有的机器学习算法,识别率达99.95%,可广泛应用于人机交互场景.
应急手势识别;手势分割;深度学习;卷积神经网络
基于视觉的手势识别技术是自然人机交互(Natural Human Computer Interaction,NHCI)中不可缺少的一项关键技术,其以自然、直观的特性受到研究人员越来越多的广泛关注. 由于手势的多样性、在时间和空间上的差异性,且人手是复杂的变形体,以及视觉本身的不确定性,基于视觉的手势识别成为一个多学科交叉、富有挑战性的研究课题.
借助深度图像传感器和相关图像处理技术分割所需识别的应急手势图像,使用计算机可以对人手的各种手势姿态信息准确识别,尤其是在静态手势识别技术中,多数研究者所用的分类识别方法主要包括基于规则的分类算法和基于机器学习分类算法. 基于表观特征的分类算法[2]是通过对手势图像获取手势轮廓信息,进而得到一些具有分类效果的手势表观特征,例如手指的个数、周长、长宽比等,利用这些特征分类,算法简易但性能不佳,识别率在80%~90%. Y.Liu等[3]采用了多特征融合的方法进行手势识别,识别率稍有提高,但无法满足实际应用需求. S.Lee等[4]提出了包括随机森林和基于规则两个阶段的手势识别方法,算法较为繁琐且识别性能不够好. G.Plouffe等[5]提出了一种改进的DTW(Dynamic Time Warping)算法识别静态和动态手势,识别率依然没有突破性的提升. T.Wan等[6]建立一个手势识别系统来控制移动机器人的运动,有具体的应用但没有可靠的算法识别率. K Rajendran等[7]利用穿戴式数据手套设计了一种系统,该系统提出了一种比现有的符号语言解释更简单的新方法帮助捕捉老人或者病人,为识别手指和手移动产生的信号用户需要佩戴手套,且系统门槛高、体验较差. S.Singhal等[8]提出了一种识别包含5种手语的识别方法,但识别类别较少且识别率不高.
中国人口老龄化正进入快速发展阶段,智能陪护机器人是照顾居家老人的好帮手[1],而应急手势识别是陪护机器人的重要功能之一,可以让老人在紧急情况下简单快速地操作机器人. 结合手势识别相关研究和深度学习相关算法,本文提出一种针对智能陪护机器人的应急手势识别解决方案,并提出了一种基于深度学习的应急手势识别算法模型,以提升陪护机器人的易用性.
1 相关基础
1.1 卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)是一种前馈神经网络[9],它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理任务有出色表现. 它包括卷积层(convolutional layer)和池化层(pooling layer),文献[10]探讨了如何将卷积神经网络用于有名的深度手势数据库NYU dataset上并获取成功的训练和测试结果.
本文采用的一种深度卷积神经网络(Deep Convolutional Neural Networks,DCNN),网络模型参考文献[11]中的LeNet-5网络模型,如图1所示,包含3个卷积层,2个最大池化层和1个全连接层. 选择LeNet-5网络的原因有三点:第一,网络模型简单;第二,实验结果显示识别率高;第三,本文数据库都是单通道图像数据.
图1 LeNet5结构
1.2 手势分割
目前,广泛使用的两种手势分割算法是基于肤色或者深度信息的算法,实验过程中都有使用,一种获取数据集,另一种做模型实时性测试. 在手势识别过程中,手势分割是整个识别流程中非常关键的一步,包含核心算法,分割的效果将直接影响后续识别准确率.
由于肤色可以明显区别于较多背景颜色,而且肤色在HSV以及YCrCb颜色空间中的分布具有聚簇特性,通过对这两种颜色空间各个分量的直方图统计分析可得到分割肤色所需阈值,进而得到阈值分割处理后的二值图像. 肤色模型分割效果如图2所示. 其中,图1-a是原始图像,图1-b是图1-a经过图像增强所得到,图1-c是基于HSV颜色空间的分割效果图,图1-d是基于YCrCb颜色空间的分割效果图,图1-e是图1-b灰度化得到,图1-f是图1-e二值化后所得. 从分割效果看基本具有使用价值,但都由于是基于肤色模型分割,同时也带来了难以处理的问题. 例如,在很多场景中都有类肤色的信息源,对类肤色的干扰没有很好的解决方法. 所以要想使用这种方法,还要做更多的相关研究工作来完善结果,这是一种优先级较低的解决方案.
图2 基于肤色的手势分割
国内外研究者对于基于深度信息的手势工作做了大量研究,包括制作的深度图像数据集以及手势识别、手势估计算法等. 深度图像的采集需要用到RGB-D传感器,主流的RGB-D传感器有Xbox 360 Kinect、Kinect V2、ASUS Xtion Pro Live、Intel Realsense RS300. 本文使用Kinect V2,其性能较好,代码开发方便.
在具体人机交互场景中,手势位置都位于身体位置之前,即在深度摄像头与身体之间,因此,可以利用手势位置与身体以及背景区域深度信息的差异来分割出手势区域,同一深度的像素点在深度图像中灰度值相同,但是每次人和深度摄像头之间的距离不完全相同,无法用固定深度阈值实现区域的分割. 虽然可以使用基于灰度直方图的方法寻找手势区域与背景的最佳分割阈值,但增加了算法的复杂度,降低了处理速度. 深度图像中的灰度值越大,表明该位置距离深度摄像头的距离越近. 而在实际情况中,手势往往是离深度摄像头较近的目标,而且中间没有其他物体的遮挡或者干扰. 因此,手势区域在整个深度图像中的灰度值是最大的,距离是最小的,只要找到深度图像中深度值最小的点位置即能锁定手势区域,在设置合适的手掌深度值即可分割出手势区域,本文手掌深度值设置在70~90之间,手掌深度值表示手掌的厚度转换到深度信息后的值并非真实的手掌厚度,二值化后即可得到分割的手势二值图,分割效果如图3所示,其中图3-a是基于深度信息的手势分割效果图,图3-b是灰度化处理的深度信息图.
图3 基于深度信息的手势分割
2 算法模型
2.1 应急手势含义
结合智能陪护机器人的应用场景,所做的应急手势识别是有重要作用的,七种应急手势对应的七种含义如表1所示.
表1 应急手势及其含义
2.2 算法模型
本文结合深度学习理论,提出一种采用深度卷积神经网络应急手势识别算法,算法流程框图如图4所示.
图4 算法流程框图
图5 本文DCNN模型
3 实验结果与分析
3.1 应急手势数据库
针对本文的应急手势识别研究,根据初步设定的7种静态手势,建了一个用于训练模型的小型数据集,包括七种静态手势,由多名志愿者贡献的数据集,每人每种手势贡献不低于500张. 采集设备是微软Kinect 2代,手势分割方法是基于深度图像的分割算法. 为了研究分析基于深度学习方法在静态手势识别上的表现,对采集的图像做数据扩增,所使用的扩增方法是图像模糊,具体操作步骤是使用4种滤波器对每个样本做图像模糊操作,分别是中值滤波、均值滤波、高斯滤波和双边滤波,每种滤波器使用3次,但这3次的滤波操作使用的模板大小不同,因此共有12种滤波操作,进而数据集将再一次增加12倍. 数据集的分配情况是60%用于训练,20%验证集和20%测试集,分配比例为6︰2︰2. 数据扩增前的数据集分配情况为70%训练集和30%测试集,当需要验证集的时候,从测试集中取出50%作为验证集,如表2所示.
表2 实验用应急手势数据集
3.2 实验环境
主机配置:处理器Intel i7-3770 3.40GHz,内存16G,编程语言Python,编程环境Window 10系统下Anaconda2. 并利用Google公司开发的深度学习框架Tensorflow编程将算法实现.
3.3 方法比较
特征是决定样本之间的相似性和分类器设计的关键,如何找到合适的特征是识别的核心问题. 在实际问题中,常常不容易找到那些最重要的特征,特征选择成为构造识别系统、提高决策精度最困难的任务之一. 本文在采用HOG和Gabor特征之前,也做了大量特征筛选工作,选择了HOG、LBP、Haar-like、Gabor、SIFT、SURF这六种特征,对这六种特征都做了提取并测试分类效果,发现分类有效的特征是HOG和Gabor特征,识别率都达到了80%以上,而LBP和Haar-like特征对分类没有明显的帮助,由于机器学习算法需要每个样本的特征向量维度保持一致,对于SIFT和SURF特征,因每个样本提取的特征点个数不尽相同,所以不利于结合的机器学习算法.
本文在做基于深度学习的应急手势识别算法之前,还做了基于机器学习的应急手势识别算法,算法模型如图6所示.
机器学习算法有SVM、SoftMax、GBRT、RF、DT、ELM,采用SVM、SoftMax、GBRT、RF、DT、ELM来训练和测试,其中采用ELM[12]算法时不需要做特征提取. 本文选择提取的特征包括HOG和Gabor特征,进一步融合HOG特征和Gabor特征,将这种组合特征与机器学习算法结合训练模型并测试,结果如表3所示.
图6 机器学习算法流程框图
表3 机器学习算法模型性能
图7 模型准确率和损失曲线图
实验结果表明,融合HOG和Gabor两种特征结合SVM分类器的性能较好,其中识别率最好的算法达到了99.4%,基于卷积神经网络模型优于人工神经网络模型,识别率达到了99.95%,如表4所示.
表4 神经网络模型性能
4 总结
本文从人机交互中的一项关键手势识别技术出发,结合深度学习和图像处理理论提出了一种基于深度学习的应急手势识别算法,构建了一个应急手势数据库,算法采用深度卷积神经网络模型,通过多层的卷积操作能有效提取图像特征;与现有算法比较突显了本文算法的有效性. 实验结果表明,本文算法识别率要远远优于现有的机器学习算法. 未来将进一步提高算法的实时性,添加更多手势类别,研究动态应急手势识别.
[1] 甘俊英. 面向老人的智能陪护机器人:中国,201710035885.2 [P]. 2017.
[2] 屈燕琴,李昕,卢夏衍. 基于表观特征分析的手势识别及其应用[J]. 计算机工程与科学,2015, 37(1): 139-145.
[3] LIU Y, ZHANG L, ZHANG S. A hand gesture recognition method based on multi-feature fusion and template matching [J]. Procedia Engineering, 2012, 29(4): 1678-1684.
[4] DINH D L, LEE S, KIM T S. Hand number gesture recognition using recognized hand parts in depth images [J]. Multimedia Tools & Applications, 2016, 75(2): 1333-1348.
[5] PLOUFFE G, CRETU A M. Static and dynamic hand gesture recognition in depth data using dynamic time warping [J]. IEEE Transactions on Instrumentation & Measurement, 2016, 65(2): 305-316.
[6] WAN T, WANG Y, LI J. Hand gesture recognition system using depth data [C]// International Conference on Consumer Electronics, Communications and Networks. IEEE, 2012: 1063-1066.
[7] RAJENDRAN K, SAMRAJ A, RAJAVEL M. Emergency gesture communication by patients, elderly and differently Abled with care takers using wearable data gloves [J]. Journal of Signal & Information Processing, 2013, 04.
[8] SINGHAL S. Hand gesture recognition using depth data for Indian sign language [D]. Rourkela: National lnstitute of Technology, 2013.
[9] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]// International Conference on Neural Information Processing Systems. Curran Associates Inc, 2012: 1097-1105.
[10] PYO J, JI S, YOU S, et al. Depth-based hand gesture recognition using convolutional neural networks [C]// International Conference on Ubiquitous Robots and Ambient Intelligence. IEEE, 2016: 225-227.
[11] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[12] HUANG Guangbin, ZHOU Hongming, DING Xiaojian, et al. Extreme learning machine for regression and multiclass classification [J]. IEEE transactions on systems, man, and cybernetics. Part B, Cybernetics: a publication of the IEEE Systems, Man, and Cybernetics Society. 2012, 42(2): 513-529.
[责任编辑:韦 韬]
Research on an Emergency Gesture Recognition Algorithm for Based on Deep Learning
ZHANGYu-chen, GANJun-ying, YUFei, ZENGJun-ying
(School of Information Engineering, Wuyi University, Jiangmen 529020, China)
This paper proposes an emergency gesture recognition algorithm based on deep learning. First, the depth image sensor is used to do gesture segmentation to obtain an emergency gesture dataset. Then, the skin color segmentation algorithm and the emergency gesture recognition algorithm proposed in this paper are used to do real-time testing. Different from the conventional algorithm, this paper establishes a database of emergency hand gestures and builds a deep convolution neural network model based on deep learning theory. Seven emergency hand gesture recognition algorithms are proposed for multiple scenarios. Experimental results show that the proposed emergency gesture recognition algorithm is superior to the existing traditional machine learning algorithms, with a recognition rate of 99.95%. It can be widely used in human-computer interaction scenarios.
emergency gesture recognition; gesture segmentation; deep learning; convolution neural networks
TP391
A
1006-7302(2018)02-0053-07
2018-02-06
国家自然科学基金资助项目(61771347,61072127,61372193,61070167)
张雨晨(1991—),男,河南信阳人,在读硕士生,研究方向为生物特征识别;甘俊英,教授,博士,硕士生导师,通信作者,研究方向为生物特征识别.