1、 电子科技大学UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA硕士学位论文MASTER THESIS 论文题目基于机器视觉的三维手势交互技术研究学科专业 模式识别与智能系统学 号 201121070524作者姓名 孙琴指导教师 康波 副教授 分类号 密级注 1UDC学位论文基于机器视觉的三维手势交互技术研究(题名和副题名)孙琴(作者姓名)指导教师 康波 副教授电子科技大学 成 都(姓名、职称、单位名称)申请学位级别工学硕士 学科专业 模式识别与智能系统提交论文日期 2014.04.10 论文答辩日期 2014.5.19学位授予单位
2、和日期答辩委员会主席评阅人电子科技大学 2014年 06月 30日注 1:注明国际十进分类法 UDC的类号。THE STUDY OF VISION-BASED 3D HAND GESTURE INTERACTION A Master Thesis Submitted toUniversity of Electronic Science and Technology of ChinaMajor: Pattern Recognition and Intelligent Systems Author:Advisor:School : Sun QinAssociate Professor Kang B
3、o School of Automation Engineering 独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。作者签名: 日期: 年 月 日论文使用授权本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将
4、学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)作者签名: 导师签名:日期: 年 月 日摘要摘要体感技术的诞生与应用是人机交互领域的一次新的革命,随之而来的是全新的三维交互方式以及各种创新型人机交互应用。微软推出Kinect体感摄像机后,在学术界引起了很大的反响,使得基于深度信息的人机交互技术成为了学术界研究的热点。本文对基于Kinect的三维动态手势交互技术进行了研究,主要内容如下:1)提出了用于三维动态手势识别的多维加权DTW算法论文以Kinect骨骼数据为基础,跟踪了其中的6个关节点,因此对于每一
5、个手势可以得到一个多维时间序列,考虑到动态时间规整算法及现有一些改进算法在处理多维时间序列对齐问题上的不足,提出了多维加权DTW算法,它的主要思想是在规整过程中,把每个时间点获得的多维特征向量作为一个基本单元进行处理,并把维数加权和特征加权引入到DTW代价矩阵的求解中。 实验结果表明,对于本文设计的一系列三维动态手势,多维加权DTW算法明 显比DTW 算法以及现有的一些基于DTW的改进算法的 识别率更高,实时性更好。2)研发了一种集录制、管理和识别功能于一体的三维动态手势交互系统论文研发的手势交互系统,可以对手势模版进行增加、修改、删除等操作,同时能为每个手势指定一个控制命令,去操作带有快捷键
6、的 Windows软件。该系统使用简单方便,可扩展性强。3)开发了基于手势交互的图片浏览软件作为应用示例,论文开发了基于手势交互的简易图像浏览软件,目的是借助于Kinect体感摄像机让用户得到虚拟触摸的体验,通过手势交互实现对图片的隔空操作。经测试表明该系统可以满足人机交互中所需的实时性和鲁棒性,同时交互手势的设计也基本符合用户预期。关键词:动态手势识别,动态时间规整算法,人机交互IABSTRACTABSTRACTThe birth and use of Motion Sensing technology is a new revolution in thehuman-computer int
7、eraction field,followed by a genuinely new way for a computer tomake some sense of the world around it and various innovative HCI applications.Since the launch of the Mircosoft Kinect, it has evoked great repercussions inacademia and makes 3D Human Computer Interaction becomes an active area ofresea
8、rch. In this paper,the 3D dynamic gesture recogniton using Kinect is studied and itsmain idea is as follows:First, a novel method called Multi-Dimensional Weighted Dynamic TimeWarping(MDW-DTW) is proposed for recognizing hand gestures using a sequence ofreal-time skeleton image data acquired by Micr
9、osoft Kinect sensor. Six 3D body jointmotion trajectories are obtained, giving us multi-dimensional time series for eachgesture sample. In order to achieve a better alignment,the proposed MDW-DTW isemployed,which is an extension of DTW to handle multi-dimensional time seriesalignment problem. Its ma
10、in idea is that the time series point at each time instance isconsidered as a basic processing unit and also both Dimension Weighting scheme andFeature Weighting scheme are incorporated into the DTW framework when computingthe cost matrix. Experimental results demonstrate that MDW-DTW outperforms DT
11、Wand improved algorithms based on DTW.Second,a 3D dynamic hand gesture interaction system with multiple functions isdeveloped.It provides gesture recording,gesture management,gesture recogniton andsome other functions.Moreover,we can specify the control command for each gesture tooperate Windows sof
12、tware with shortcuts.The developed system is simple, convenientand easy extensibility.Finally, for our example application,a simple photo album browser system basedon gesture control is designed and realized to let user experience the feeling of virtualtouch using Kinect and control images at a dist
13、ance. After several tests,it turns out thatour recognition algorithm can meet the real-time capability and robustness which ainteraction system requires.Besides, the designed interactive gestures are also able tomeet the user expectations.IIABSTRACTKeywords: 3D Dynamic Hand Gesture Recognition,Dynam
14、ic Time Warping,HumanComputer InteractionIII目录目录第一章绪论 11.1研究背景与意义 11.2国内外研究现状 31.2.1数据采集及预处理 31.2.2手部区域分割与跟踪 41.2.3手势建模与特征提取 61.2.4手势识别 71.3本文的主要工作及章节安排 10第二章多维加权动态时间规整算法研究 112.1标准 DTW算法原理 112.1.1 DTW距离定义112.1.2规整路径的约束 122.2用动态规划求解 DTW距离 132.2.1 Bellman最优化原理 132.2.2求解累积代价矩阵 132.2.3求解序列之间的 DTW距离142.3
15、标准 DTW算法的改进 142.4多维加权 DTW算法 182.4.1维数加权 182.4.2特征加权 222.5本章小结28第三章基于多维加权DTW算法的三维动态手势识别 研究293.1数据采集293.2手势的起始位置分割 313.3位置特征提取 333.3.1位置特征预处理 33IV目录3.3.2位置特征求导 363.3.3位置特征及其一阶差分的对比 383.4手势识别423.5实验与分析423.5.1实验配置 433.5.2实验数据库 443.5.3实验与分析 463.6本章小结49第四章手势交互系统设计与实现 504.1系统总体设计 504.1.1系统设计原则 504.1.2系统工作流
16、程 514.1.3功能模块划分 514.1.4系统平台搭建 524.2手势识别子系统设计 524.2.1交互手势的设计 534.2.2手势库的训练 544.2.3手势库的管理 554.3手势交互系统整合 554.3.1系统功能介绍 554.3.2系统功能演示 564.5本章小结61第五章手势交互系统测试与分析 625.1测试内容625.2手势交互系统测试结果与分析 635.2.1手势易用性测试 635.2.2手势识别率测试 645.2.3系统响应时间测试 645.3手势交互系统总体评价 65V目录5.4本章小结66第六章总结和展望 676.1本文主要工作 676.2下一步的工作展望 68致谢6
17、9参考文献70VI第一章绪论第一章绪论1.1研究背景与意义回顾传统人机交互领域经历过两次革命,第一次是1983年鼠标的出现,让人们从基于键盘的一维命令行进入到了基于鼠标的二维图形界面。第二次是2007年苹果公司iPhone的出现,打破了手机键盘的标准,将 显示和输入融为一体,使人们逐渐熟悉多点触控的交互方式。iPhone的畅销不仅 推动了触摸屏技术的发展,也带动了其他新型交互方式和设备的探索和研究。可以认为,人机交互方式的转变与科技进步和社会的发展是密切联系的。从传统遥控器,鼠标,键盘输入方式到现在的手写、触摸屏和语音输入方式,再到最新的体感输入方式,这些趋势告诉我们,由人适应计算机的工作方式
18、已逐渐转变为以人为中心,让计算机去获得视觉感知的能力,从而“ 理解”用户的意图,做出正确的响 应1。在日常生活中,人们通常会用手势来表达自己的情感和意图,有时我们并不会察觉到我们在使用手势,因为手势本身就是连贯的动作,符合人的思维习惯2。如果能够把手势用在人机交互中,那将是极具趣味性的,因为它使得交互过程变得更加的自然友好,能够满足新型人机交互系统易用的需求,同时成本低廉,实用性强。手势的形式多种多样,从最简单的用手去点击屏幕上的控件,到使用指定的符合一定规范的手的运动去操作计算机软件,甚至可以用整个身体的连续运动来表示一个“手 势” ,如我们 在体感游戏里面见到的那 样。然而,由于手势本身具
19、有丰富的形变,且在不同文化背景下可能具有不同的含义以及同一个手势在持续时间和手势幅度上的差异性等特点,使得手势识别的研究面临着各种各样的挑战:1)复杂环境下的手势分割当交互系统处在一个无控的环境下时,摄像头视野范围可能会出现多个人,这给目标对象的判断和跟踪带来了很大难度;同时,受光照等因素的影响,传统的肤色分割等算法提取到的手部区域包含大量噪声,不利于后续的特征提取工作。2)时间上的差异性由于手势动作的完成在时间上存在差异 ,对多个用户做同一手势 ,或者同一个用户多次去完成一个手势,其手势的完成周期及速度均不可能完全相同。3)空间上的差异性在空间上,手势的变化性更大 ,同一种手势,不同的人,或
20、者同一个人不同时期的手势呈现出的空间位置、运动趋势都不会完全一样。1电子科技大学硕士学位论文4)实时性对于动态手势识别来说,为了保证较高的识别率,一般会选取多个特征的组合,但这也导致了特征维数的急剧增长,降低了计算机处理的速度。一般来说,用户所用的计算机运算速度较一般,因而导致一些手势识别算法运行效果不错,但实时性欠佳。由于数码相机的普及,到目前为止大多数关于手势识别的研究在采集手势数据时都选择了彩色图像或者彩色视频。而近年来,得益于廉价的商用深度摄像机的出现,给手势识别的研究带来了便利。微软公司在2010年推出了名为Kinect的的3D体感摄 像头,如图1-1所示,它有3个摄像头,中间一个是
21、RGB摄像头,用于获得分辨率为640*480的彩色图像(30fps ),左侧的是红外线发射器,右侧的是红外线接收器,用来获取320240的深度图像。Kinect能对人体进行实时捕捉以及跟踪,并对人体姿态进行估计2。挥动的手臂、舞动的胳膊,一切身体的姿态和动作,均由识别算法进行解析,并转换为控制命令,最终实现友好、自然、和谐的人机交互。图1-1 Kinect硬件结构本文研究的三维手势跟踪和识别的方案正是采用了 Kinect作为传感器。由于Kinect可以获取到物体的颜色信息、深度信息和骨骼信息,不需要对用户的手的位置以及用户的背景做限制,也不需要带任何数据手套之类的传感器,原理简单,实现相对容易
22、,代价相对低廉,并且对用户的限制也更小,可以把人们从接触性输入装置中解放出来,以弥补传统交互方式的不足,做到“操控随心,交互无界” 。2第一章绪论1.2国内外研究现状本小节从基于视觉的动态手势识别系统的 5个主要模块来介绍国内外研究现状,这 5个模块分别是:数据采集及预处理、手势分割、特征提取、手势建模、手势识别3。数据采集和预处 手势分割 手势跟踪 特征提取 手势识别理手势建模图1-2基于视觉的手势识别系 统1.2.1数据采集及预处理获取图像的传感装置大致有三种:(1)基于传感器的手势信号采集装置(2)基于触摸屏的手势轨迹采集设备(3)基于视觉的传感装置。从数据采集的角度来讲,所阅读到的文献
23、中,大多数方法都是对可见光相机(visiblelight camera)采集的图像进行处理,用计算机视觉的方法来检测、描述和学习其中的视觉特征。对RGB数据进行 视觉描述的主要 问题在于,它容易受形状、纹理、背景物体、光照和视角变化等因素的影响,从另一方面来讲,深度信息可以较好的应对上述变化,便于将目标与背景分离,且具有很好的鲁棒性。早期的研究是使用立体摄像机来估计人的姿势或进行人体跟踪,但这些系统比较昂贵,很难在实际应用中推广。20世纪 90年代出现了通过计算光的飞行时间(Time of Flight,ToF)来测量拍摄物体信息的飞行时间摄像机。它生成的深度图像比较精确且实时性很高(50 f
24、ps),与可见光相机相比, TOF摄像机可以很方便的区分出场景中的前景与背景。不过 ToF得到的深度图像分辨率较低(144x176),加上价格比较昂贵,在实际应用中没有被推广。随着廉价的结构光技术的出现,让深度图像的获取变得可靠且鲁棒。这项技术由PrimeSensor公司发明并用在了 Microsoft Kinect中。使用这种传感器,Shotton3等人展示了利用深度信息去估计人体姿态的巨大优势,他们用 20个关节点组合起来的骨架图像来表示一个人。得益于廉价的商用深度摄像机的出现,给手势识别技术带来了极大的方便。3电子科技大学硕士学位论文1.2.2手部区域分割与跟踪1.2.2.1手部区域分割
25、在获得了手势图像之后,需要把我们待跟踪的身体部位从复杂的背景中提取出来。能否正确有效地定位出手部区域,对手势识别来说十分关键。对于手部区域的定位,可以细分为 2个部分:手部区域分割以及手部区域跟踪。手部区域分割就是把图像中属于手部区域的像素点与非手部区域的像素点用不同的像素值标识出来,比如说值为 1的像素点代表手部区域,而值为 0的像素点代表非手部区域。在不使用深度信息的情况下,最普遍的作法就是使用肤色信息4和级联的Haar特征分类器5去分割手部区域。但当光照变化很大或人的肤色差异性很大时,这种方法就会出现问题。另外一类分割方法就是聚类和区域增长。聚类就是把相邻的点放在一个连续的区域,区域增长
26、就是在目标区域内部放置一个种子点,然后不断寻找与该种子点相连通的点,再用这些点来填充该区域。Chen 6通过视频序列上一帧的内容去估计手部的位置,然后用这个值作为当前帧的种子点,使用区域增长的方法分割出手部。Malassiotis 7使用分层聚类的方法来同时分割手和手臂,然后使用统计模型(如混合高斯模型)从手臂中分割出手来。但目前这些基于二维图像的手势分割算法实现起来效果并不理想。深度摄像机优于彩色摄像机这一事实在分割手部区域时表现得尤为明显。当用户面对深度摄像机,伸出双手去做某个手势时,手离深度摄像机的距离最近。因此单纯的设定一个深度阈值,就能把大致的手部区域分割出来。这种方法直接被Zhen
27、yao 8, Yoo 9, Du10, Frati 11 和 Ren 12所采用。设定深度阈值后,只有Z轴(深度)的值在给定范围内的像素点才可以加到手部区域中去,正如方程1-1所示。在这个方程中 Di(x, y).z是点(x , y)处的深度值, p.z是当前用户手部中心位置的深度值,这个值既可以根据深度直方图自动设定,也可以由用户指定。Fi (x, y )是一幅8位单通道的二值图像。手部候选区域的像素值为255,其余部分像素值为0。在下面的式子中,深度阈值设为100mm。Fi (x, y) 255, Di (x, y).z p.z p.z 100 (1-1)0,其他通常,用这种方式分割出来的
28、手部区域中经常会有噪声的干扰,但可以确定的是,手部区域在整个结果图像 Fi (x, y)中面积是最大的。因此,一种直接且有效4第一章绪论的降低噪声影响的方法就是选取手部候选区域中面积最大的那块区域作为目标区域。Li 13和 Klompmaker 14使用了这种改进的方法。Oikonomidis 15和 Tang16把手部的肤色信息和深度信息结合起来,取得了很好的分割效果。另一种对深度阈值的改进方法就是通过身体其他部位的位置信息来预测手部区域的深度值,而不是直接假设手是场景中离深度摄像机最近的物体。Cerlinca 17和 Van den Bergh 18利用了OpenCV提供的Harr分类 器
29、来得到头部的位置信息,然后根据此信息去推断手的位置。Biswas 19 利用深度阈值从深度图像中把人的身体从背景中分割出来,然后使用了深度直方图来提取手部区域以确保区域的连续性,同时也降低了噪声。结合深度信息的手部检测方法目前被广泛使用。随着 Kinect等深度摄像机的相继出现,图像的深度信息可以直接由深度摄像机提供,利用获得的人体深度数据,再引入肤色及骨髂等信息,可以方便地计算出手的位置。1.2.2.2手部区域跟踪手部区域跟踪的目的就是获得手势图像序列中手的运动轨迹,从而直观的去描述一个动态手势。当前目标跟踪的方法多种多样,常用的手部跟踪算法有:Kalman滤波、Camshift算法等。Ka
30、lman滤波器是一种高效率的自回归滤波器,它能够从一系列的不完全及包含噪声的测量中,去估计动态系统的状态。对于手势识别系统来说,被估计的状态就是下一帧图像中手的位置和方向。MeanShift,即均值漂移算法,是一种迭代的寻找概率密度极大值的梯度下降法,它可以估计一个运动区域(对本文来说,就是手部区域)的方向和运动速率。Mean Shift算法可以很好的跟踪形状会发生变化的物体,因此非常适合于跟踪手部的运动。CAMSHIFT (Continuous Adaptive MeanShift)是Mean Shift 算法的一个扩展,它主要通过视频图 像中运动物体的颜色信息来达到跟踪的目的。因此对于跟踪
31、尺度发生变化的物体有很好的鲁棒性。Park 20 和Trigueiros 21使用了Kalman滤波器去跟踪手的位置,Yoo 10和 Yang 22CAMSHIFT算法,而Chen 7和 Keskin 23使用了Mean Shift算法。使用了之前提到过的 Kinect深度摄像头特别擅长全身的运动跟踪,在 OpenNI 开源框架(通过 NITE中间件)和微软发布的 Kinect SDK中都提供了相应的 API函数去追踪 20个关节点,图 1-3显示了利用 Kinect提供的 SDK进行多人检测与跟踪的结果。不仅如此,NITE还提供了腰部以上部位的运 动 跟踪以及手部区域检测的算法。有别于官方的
32、 Kinect SDK,NITE 在初始化身体部位跟踪之前,需要用户做出一个标定的姿势。Avancini 24,Bellmore 25, Chang 26, Frati 12, Hassani 27, Lai 28,Ramey5电子科技大学硕士学位论文29和 Zafrulla 30都直接使用了 NITE提供的 API函数,在视频序列中去跟踪手的运动。图1-3 Kinect多人检测与人体跟踪效果1.2.3手势建模与特征提取正确分割出手势后,接下来要对每一帧手势图像进行特征提取,目的是为了获得该手势的数学描述特征。通过提取手势序列(或图像)的特征向量,对不同的手势进行描述,使得在该描述下,不同手势
33、的特征向量之间差异较大,同一类手势的特征向量之间差异较小,以达到更好的识别效果。同时,这些特征需要具备尺度和平移不变性。手势在形变,运动,纹理等方面提供了丰富的信息,因此,选择合适的特征来表征一个手势对后续手势识别的成败至关重要。一个好的特征加上简单的分类模型往往就能达到较高的识别率。对于静态手势,常用的特征有直方图特征、形状特征、区域特征、纹理特征、Haar特征、骨架特征等。直方图是表达颜色特征的最常用形式,它具有与图像旋转和平移无关的优点。通过对特征的归一化运算,还能具有与图像尺度无关的特点。因此使用直方图对图像进行描述,能降低不同尺度下图像识别的出错概率。常见的有颜色直方图、梯度方向直方
34、图等。图像的形状特征包括面积、周长、曲率、重心等参数,这些参数可以反映图像的一些特有的属性,并可依据它们完成对于目标对象的识别。常用的形状特征描述方法有轮廓特征和区域特征。傅里叶边缘描述子就是一个常用的形状边缘描述方法,还有 Sobel算子,Canny算子,Log算子等 边缘检测算法。得到手的边缘之后,可以统计出指尖的个数作为特征,也可以把手的边缘信息转换到角度-距离坐标空间,生成手轮廓的时间序列图13 。这样就把手势识别的问题转化成了时间6第一章绪论序列相似度比较的问题。对于图像区域特征描述,常用的有 HU不变矩。HU不变矩是对目标所占区域的各阶矩作为目标的形状描述特征。图像的纹理特征则常指
35、图像的像素灰度级或各种颜色分量上的变化,对其研究的主要目标在于对纹理特征和结构如何获取、描述、解释和应用。常见的纹理特征有局部二值模式(Local Binary Pattern,LBP)特征。它是基于灰度空间的图像局部纹理特征描述算子,在不同光照环境下表现出鲁棒性好、不受图像尺度及灰度影响等特点,具有良好的灰度不变性和旋转不变性。另外,LBP纹理描述准确,其理论又比较简单,在很多领域都有应用。基于特征点检测的方法,如 Haar特征。最早用在人脸检测上面,后来被推广到其他物体的检测上面,如静态手势检测。Surf特征 检测应用于目标跟踪、特征匹配等方面,都有非常好的效果。骨架特征是图像几何特征的一种应用,它通过对图像进行中轴变换来提取图像的骨架模型,然后提取手指头的个数及角度等信息作为特征。与静态手势不同,绝大多数动态手势被建模为模型参数空间的一条轨迹,包括了空间和时间两个维度的变化。通过手势轨迹可以提取到三个基本的特征:位置、角度、速度。由于不同的人甚至同一个人在不同时间所作的手势幅度和持续时间不同,熟练程度的不同以及人在场景中所处的位置不同,容易引起手势轨迹在时间轴上的非线性波动,因此同一个动态手势轨迹的位置以及速度特征可能差别较大。Ayoub Al-Hamadi等人31 也通过实验证明了,只