1、基于机器学习的手势识别研究Study of hand gesture recognition based on machine learning目录摘 要IIIAbstractIV第一章 绪论11.1课题背景及问题的提出11.2 手势识别技术发展现状及发展趋势11.3论文主要内容3第二章 基于 OpenCV 的手势识别基础理论42.1 OpenCV 概述42.2OpenCV库函数42.3手势52.3图像处理52.4基于机器学习的手势识别系统组成52.5本章小结6第三章 图像预处理73.1图像的预处理73.2图像滤波73.3图像二值化93.4形态学方法应用103.5本章小结11第四章 手势分割1
2、24.1手势分割的概述124.2 RGB 颜色空间124.3 HSV颜色空间124.4 YcrCb色彩空间134.5本章小结13第五章 手势识别算法及手势识别系统的设计实现155.1手势识别概述155.2模板匹配155.3总体系统图155.3摄像头捕捉手势识别175.5本章小结19第六章 结论以及展望206.1结论206.2展望20致谢22参考文献23附录24摘 要手势在我们的日常生活中随处可见,它是生活中必不可少的一种交流方式。目前为止,人们对手势识别的研究涉及了很多领域,例如教育学、医学、计算机等等。其中,以人机交互的手势识别技术是当前比较研究的热点。手势识别一般可以分为基于数据手套的手势
3、识别和机器视觉的手势识别,其中机器视觉的识别是当前研究热点。而且人的手势千变万化,手的形状也千变万化,因此基于机器视觉的手势识别研究是一个比较难的研究点。人的手势分为静态手势和动态手势。静态手势相对来说简单,就是静态的手型,而动态手势除了手型特征以外,还伴随手势运动的轨迹,因此动态手势的研究相对复杂。本文以静态手势为研究对象,通过摄像头捕捉手势信息,然后对手势图像进行预处理和阈值分割,再加入形态学的方法,使用模板匹配对手势进行识别。经过多次实验表明,该方法是可行的,对手势的识别准确率高。 关键词:手势识别, 机器视觉, OpenCV, 静态轮廓匹配, 肤色模型 AbstractGestures
4、 can be seen everywhere in our daily life. It is an essential way of communication in life. So far, there are many researches on gesture recognition, such as pedagogy, medicine, computer and so on. Among them, gesture recognition technology based on human-machine interaction is a hot topic of compar
5、ative research.Gesture recognition can be generally divided into gesture recognition based on data glove and gesture recognition by machine vision, in which machine vision recognition is the current research hotspot. Moreover, peoples gestures are ever-changing and the shapes of hands are also chang
6、ing. Therefore, research on gesture recognition based on machine vision is a difficult research point.Human gestures are divided into static gestures and dynamic gestures. Static gestures are relatively simple, which are static hand patterns, and dynamic gestures are accompanied by the trajectory of
7、 gestures besides hand features, so the research of dynamic gestures is relatively complex. In this paper, the static gesture is taken as the research object, the gesture information is captured by the camera, then the gesture image is preprocessed and the threshold is segmented, then the morphologi
8、cal method is added, and the template matching is used to identify the gestures. Many experiments show that the method is feasible and the accuracy of gesture recognition is high.Keywords:Gesture recognition, machine vision, OpenCV, Static contour matching, Skin color model 第一章 绪论1.1课题背景及问题的提出近年来,随着
9、计算机性能的渐渐提高和计算机在各个领域的运用,人机交互技术已成为计算机科学范畴的一个热门话题。现在,这些研究主要是人脸识别、脸的表情识别、嘴唇的识别等,能模仿人的感觉认知。作为人性化技术的新类型,手势识别是人类相互作用的中心,成为计算机相互作用领域的热话题。但是,由于多样性、多义性,时间和空间的不同,人的手是复杂的变形体,是模仿认识挑战性的学习的话题。目前,手势识别技术已经形成了一个比较完整的理论体系,由手势的输入方式划分,可以分为基于数据手套的手势识别和基于视觉的手势识别两种10。本次设计运用了OpenCV多种函数库,从而实现基于机器视觉的手势识别研究。未来,随着计算机技术的不断发展,手势识
10、别将迈向以人机交互、人机智能的研究时代。目前,手势识别作为一种新型的人机交互技术,已经成为图像处理、模式识别、计算机视觉等领域的一个活跃的研究课题11。本文主要是研究了基于机器视觉的手势识别,对手势进行一些加工处理,实现对简单手势的识别。1.2 手势识别技术发展现状及发展趋势目前的手势识别技术主要是通过数学算法来实现的。我们可以通过手势操纵设备和控制设备,手势识别就是让计算机理解人的行为,之后做出判断,实现智能化。相信在未来的继续发展下,数字图像处理技术一定会更加完善和优化,进而为手势识别技术的发展带来更多的帮助14。1.2.1国内外研究现状从上世纪90年代起,国外在手势识别研究领域花费大量的
11、财力物力,取得了一定的研究成果。J.Davis 和 M.Shah 将戴上指尖具有高亮标记的视觉手套的手势作为系统的输入,可识别7 种手势18。Vogler 与 Metaxas 将数据手套与视觉手势识别的方法结合,采用一个位置跟踪器和三个相互垂直的摄像机作为输入设备,对 53 个美国手语孤立词进行了识别,识别率为 89.9%19。2003年,美国研究的手势风暴来实现对天气的预测。2009年,美国研发的LCD电视控制传感器,人可以通过自己的手势对电视机的控制,比如换台和调节设置。2010年,微软发明的XBOX 360游戏外设Kinect,可以直接用摄像头与玩家进行互动,体验真实的游戏。2012年,
12、著名的世界汽车生产商奥迪开发了一款汽车导航系统,直接用手势操纵导航信息。2005年,韩国三星手机制造商研发了世界上第一款手势识别的手机,用户通过手势即可操作手机。苹果公司在2016年获得了Apple Watch传感器的专利,利用手机可以让Apple Watch替代手机实现手机的功能。索尼公司在本世纪初也研发了基于手势的游戏外设,利用体感让玩家体验游戏的真实性。相对于国外手势识别研究,我国的手势识别研究发展较为缓慢。2011年,腾讯公司推出了一款名为“QQ手势达人”的软件,该软件可以让用户通过手势对PPT播放进行控制,并可以进行换页调节,简化了人对于机器操作的过程。2012年,我国著名的康佳电视
13、生产商发明了一款利用手势操作的智能化电视机,通过摄像头捕捉用户信息,反馈到电视机系统,系统对人的手势做出判断,从而实现对电视机操作的简化。1.2.2手势识别技术发展趋势手势识别技术最终的核心和发展趋势必将是人机交互和人机智能。正是在这样的环境下,随着科学技术的不断发展,数字图像处理技术的应用领域也得到了极大的拓展12。但是在手势识别过程中,对于简单的背景变化幅度小的背景下,实现手势识别是一件特别容易的事。但是在复杂的背景下,手势识别的过程将受到阻碍,这些复杂因素还没有得到解决。这就需要图像处理技术的发展来为手势识别提供保障,手势的复杂性也为手势识别加上了困难。未来,数字图像处理与芯片技术的结合
14、将是未来的主要应用方向4。进而对人机交互的手势识别做出一定的贡献。1.3论文主要内容针对目前基于视觉的手势识别技术在研究和应用领域的不足之处,本文依据项目实施经验,采用理论分析与实践应用相结合的方法,对其进行研究,主要研究内容如下:(1)简述 OpenCV的计算机视觉手势识别理论。(2)手势图像预处理。去掉手势图像中无关的信息,提高检测能力,最大化简化数据。(3) 手势的分割。通过对不同颜色空间中肤色模型的比较,确定了一种适用的、有效的分割模型,以保证分割图像易于区分。(4)手势的特征提取。由于手势有很多方面的特性,如旋转,缩放和平移,手势特征应该在这些特性当中具有不变的特征。(5)手势识别系
15、统的实现。 由待识别的图像,再到图像信息的获取,之后进行图像的特征提取,最后对手势实现识别。第二章 基于 OpenCV 的手势识别基础理论2.1 OpenCV 概述OpenCV是一个计算机视觉库,它由大量的C函数和C+类构成,具有开源、高效、轻便的优点,同时提供了MATLAB等大型软件的接口,使得它的运用方面较为广阔,也更为全面,已经成为机器视觉研究的重要工具。OpenCV是由C语言编写的,因此只要有C语言基础的人对它的使用都能得心应手。同时OpenCV拥有大量的库函数方便使用者的调用,外加MATLAB等软件的接口,让它在机器视觉方面地位居高。现在,OpenCV也提供对于C#、Ch、Ruby的支持8。2.2OpenCV库函数图2.1 OpenCV 的结构图其中,由主要的一下几个库组成:(1)CXCORE函数库:它是一个各种数据类型运算的基本函数,在OpenCV是一个常用函数;(2)HIGHGUI函数库:主要控制图像和视频的输入和输出,显示图形界面和系统调用函数,是一个与用户