手势识别的智能小车交互控制
摘 要基于手势识别的智能小车交互控制是一种能够通过Kinect实时检测实验者手势所代表的数字并控制小车进行不同动作的人机交互系统,该系统由Kinect人体骨骼识别技术、凸包集算法以及无线串口通信技术组成。在VS 2010环境下,使用Visual C++结合OpenCV和OpenNI完成了该项目的设计和开发。经过测试,基于手势识别的智能小车交互控制基本达到了预期的计划,实现了手势识别和人机交互的功能,实验者可以实时地通过不同手势控制轮式机器人进行不同方向的运动。 手势识别系统符合“智能生活”的设计理念,能够实现手势实时控制机器人,指示机器人做出不同的运动,在智能家具或者医疗器械方面有很广阔的应用前景。
目 录
第1章 绪论 1
1.1手势识别的研究背景及意义 1
1.2手势识别的研究现状 1
1.2.1 国外研究现状 2
1.2.2 国内研究现状 3
1.3 课题主要研究内容 3
1.4 Kinect的介绍 3
1.5论文结构安排 5
1.6本章小结 6
第2章 基于Kinect的手势识别 7
2.1设计目标 7
2.2设计总流程 7
2.3手部分割与提取 8
2.4 手部轮廓,凸点与凹点绘制 12
2.4.1 相关函数简介 12
2.4.2 手部凸点与凹点的绘制 14
2.4.3 手部轮廓的绘制 16
2.5 数字手势的判断 18
2.5.1 手部中心点与凹凸点 18
2.5.2 逻辑判断 19
2.6无限串口与小车模块 20
2.6.1 串口简介 20
2.6.2 编程实现 21
2.6.3 串口程序测试 21
2.7本章小结 22
第3章 基于手势识别的小车交互测试 23
3.1测试过程的设计 23
3.2测试结果 23
3.3不足之处 27
3.4本章小结 27
第4章 总结与展望 29
4.1总结 29
*好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2#
4.2展望 29
参考文献 30
附录 32第1章 绪论
1.1手势识别的研究背景及意义
人机交互作为信息时代高速发展的高科技产物,已经成为了当前各大高校和开发者们最为关注的技术之一,在计算机刚刚出现时,各种开发技术都以计算机为中心,充分发挥其潜力,但如今,人们已经转变了这种传统的观念,开发者们开始考虑到以人为中心进行开发。人机交互领技术与许多热门高科技技术以及各个学科都息息相关,比如心理学、认知学、语言学、人机工程学、医药器械的研究成果等等。到现在,人与PC终端的关系已经由从人学习了解计算机,变成计算机被设计地不断去适应人的行为。人机交互技术已不再局限于传统的键鼠操作,也不仅局限于触摸设备,而且有了更新颖和更贴近生活实际的操作方式,比如:手指指尖的摆动、人脸表情的变化、身体在空间的位移变化、声音的传播,都可以实现人与计算机之间的交互,完成人机“对话”。在这些形形色色的方式中,利用手势实现与机器人交互无疑是最为吸引人们的方式之一,无论是科幻影视作品的影响还是人们的本能,手势识别无疑是人机交互技术这个大家庭中的一颗耀眼的明星。不难看出,手势在我们的日常生活中扮演着重要的角色,所以,手势识别可以说是最自然的一种人机交互技术。小到智能机的触摸屏,大到航空系统,手势识别以其简单易懂的语义和贴近生活实际的操作方式成为如今人机交互方式的第一选择。
手势识别的研究可以应用在各行各业,比如现在发展迅猛的“隔空切水果”等系列虚拟体感游戏;还可以应用在医疗器械的微型化,虚拟化上;甚至有朝一日,科幻电影中的特效画面不再需要后期合成,可以直接实现等诸多方面。同时也有助于改善和提高残疾人士的生活学习和工作条件,为他们供更好的服务。因此,我认为尽力完成本课题所要求的内容,是一项非常有意义的工作。
1.2手势识别的研究现状
最初开发者们在进行手势识别时,考虑的是人眼最直观的感受,所以采用的基本思想是通过外设检测人手部位在空间中的坐标变化来完成手势识别。这些外设大多采用的是有线技术,将实验者与PC连接起来,使实验者的手势信息准确地传至手势识别系统中,其中最为典型的外设就是数据手套[1]。数据手套的基本思想方法是:在人手的关键部位上放置许多传感器,当人的手指,手掌或者胳膊发生位置变化或方向变化时,这些传感器可以将变化的信息采集起来发送到PC端,数据手套的检测效果十分可观,但考虑到其复杂的设备支持,这种方法并不能适用于常规领域[2]。随后,光学标记法取代了数据手套。光学标记较数据手套就显得经济多了,它是将一些可以发射红外线的光学标记放置在人手上,通过监视光学标记所发射的红外线来判断人手所作出的动作,这种方法的识别效果也不错,但是还是无法解放双手,可以说,不是真正的“手势识别”。
外设的接入虽然使手势识别的精确度得到了提高,但却丢失了实际生活中手势自然表达的优势。为此,基于计算机视觉的手势识别方式应运而生。计算机视觉手势识别相对于前面所提到的方法就更加接近人们心中理想的手势识别,这种方法是首先采用视频采集设备对手势进行采集,然后对这些视频中的图像流进行处理,进而完成对手势的识别,这种方法就完全解放了双手,不需要在手上放置任何辅助的识别设备,是一种较为符合人手势表达习惯的方法。
1.2.1 国外研究现状
埃及研究者Mahmoud Elmezain和他的搭档提出了一个通过使用隐马尔可夫模型(HMM模型)能够实时从彩色图像的序列中识别字母字符(AZ)和数字(09)的系统,这个系统使用的是笛卡尔坐标系统中的位置、方向和速度的组合特征[3]。韩国Korea Polytechnic大学的JongShill Lee、YoungJoo Lee 等人采用的是熵分析法从,这种方法从背景复杂的视频流中分割出手势区域并进行手势识别[4]。使用的是链码的方法检测手势区域的轮廓,最后计算出从手部区域的中心到轮廓边界的距离。该系统可识别6种手势,平均识别率超过95%,6个人分别做每个手势的识别率平均达到90%-100%。
1.2.2 国内研究现状
国内方面,主要有各大高校和研究机构进行手势的研究与识别。HUANG Hejiao 等人采用的识别方式是利用我们眼睛所能直观感受到的特征[5],将手部的几何特征例如面积和周长提取出来,达到较高的手势识别率。上海大学丁友东、庞海波等人采用的则是一种改进过后的LBP算法[6],他们是利用AdaBoost分类器来进行手势的识别,他们建立了一个数据的集合,其中包含了许多的手势数据,比较突出的是这个数据集中包含了一些角度变化较大的手势。清华大学的任海兵,祝远新,徐光祐等人提出了一种基于表观的手势识别技术[7]。提出了一种基于运动分割的帧间图像运动估计方法,并指出了一条如何将运动、形状、颜色和纹理等信息统一起来进行手势识别的途径,实现了对多种手势进行在线识别的实验系统,识别率超过了90%。王凯,于鸿洋,张萍提出了基于AdaBoost 算法和光流匹配的实时手势识别方案[8]:通过打开PC的摄像头,从一个视频片段中提取手势就可以进行手势的识别。他们还分别进行了静态与动态的手势识别。实现静态识别采用的方法是是利用AdaBoost算法遍历图像获取手势识别结果。实现静态识别采用的方法是光流法与模板匹配法。滕达,刘岩等人研究的是基于“大小手”的徒手手势实时识别[9],他们的基本思想是:首先将双手分为“大小手”,如果重叠则按一只手处理,然后采用背景差分法将背景剔除,只留手部所在区域。接下来,他们利用文献中讲到的大小手特征提取算法进行手势的检测,最终实现手势识别,这种方法对文中所提到的大部分手势识别率都很高,达到了94%以上。
目 录
第1章 绪论 1
1.1手势识别的研究背景及意义 1
1.2手势识别的研究现状 1
1.2.1 国外研究现状 2
1.2.2 国内研究现状 3
1.3 课题主要研究内容 3
1.4 Kinect的介绍 3
1.5论文结构安排 5
1.6本章小结 6
第2章 基于Kinect的手势识别 7
2.1设计目标 7
2.2设计总流程 7
2.3手部分割与提取 8
2.4 手部轮廓,凸点与凹点绘制 12
2.4.1 相关函数简介 12
2.4.2 手部凸点与凹点的绘制 14
2.4.3 手部轮廓的绘制 16
2.5 数字手势的判断 18
2.5.1 手部中心点与凹凸点 18
2.5.2 逻辑判断 19
2.6无限串口与小车模块 20
2.6.1 串口简介 20
2.6.2 编程实现 21
2.6.3 串口程序测试 21
2.7本章小结 22
第3章 基于手势识别的小车交互测试 23
3.1测试过程的设计 23
3.2测试结果 23
3.3不足之处 27
3.4本章小结 27
第4章 总结与展望 29
4.1总结 29
*好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2#
4.2展望 29
参考文献 30
附录 32第1章 绪论
1.1手势识别的研究背景及意义
人机交互作为信息时代高速发展的高科技产物,已经成为了当前各大高校和开发者们最为关注的技术之一,在计算机刚刚出现时,各种开发技术都以计算机为中心,充分发挥其潜力,但如今,人们已经转变了这种传统的观念,开发者们开始考虑到以人为中心进行开发。人机交互领技术与许多热门高科技技术以及各个学科都息息相关,比如心理学、认知学、语言学、人机工程学、医药器械的研究成果等等。到现在,人与PC终端的关系已经由从人学习了解计算机,变成计算机被设计地不断去适应人的行为。人机交互技术已不再局限于传统的键鼠操作,也不仅局限于触摸设备,而且有了更新颖和更贴近生活实际的操作方式,比如:手指指尖的摆动、人脸表情的变化、身体在空间的位移变化、声音的传播,都可以实现人与计算机之间的交互,完成人机“对话”。在这些形形色色的方式中,利用手势实现与机器人交互无疑是最为吸引人们的方式之一,无论是科幻影视作品的影响还是人们的本能,手势识别无疑是人机交互技术这个大家庭中的一颗耀眼的明星。不难看出,手势在我们的日常生活中扮演着重要的角色,所以,手势识别可以说是最自然的一种人机交互技术。小到智能机的触摸屏,大到航空系统,手势识别以其简单易懂的语义和贴近生活实际的操作方式成为如今人机交互方式的第一选择。
手势识别的研究可以应用在各行各业,比如现在发展迅猛的“隔空切水果”等系列虚拟体感游戏;还可以应用在医疗器械的微型化,虚拟化上;甚至有朝一日,科幻电影中的特效画面不再需要后期合成,可以直接实现等诸多方面。同时也有助于改善和提高残疾人士的生活学习和工作条件,为他们供更好的服务。因此,我认为尽力完成本课题所要求的内容,是一项非常有意义的工作。
1.2手势识别的研究现状
最初开发者们在进行手势识别时,考虑的是人眼最直观的感受,所以采用的基本思想是通过外设检测人手部位在空间中的坐标变化来完成手势识别。这些外设大多采用的是有线技术,将实验者与PC连接起来,使实验者的手势信息准确地传至手势识别系统中,其中最为典型的外设就是数据手套[1]。数据手套的基本思想方法是:在人手的关键部位上放置许多传感器,当人的手指,手掌或者胳膊发生位置变化或方向变化时,这些传感器可以将变化的信息采集起来发送到PC端,数据手套的检测效果十分可观,但考虑到其复杂的设备支持,这种方法并不能适用于常规领域[2]。随后,光学标记法取代了数据手套。光学标记较数据手套就显得经济多了,它是将一些可以发射红外线的光学标记放置在人手上,通过监视光学标记所发射的红外线来判断人手所作出的动作,这种方法的识别效果也不错,但是还是无法解放双手,可以说,不是真正的“手势识别”。
外设的接入虽然使手势识别的精确度得到了提高,但却丢失了实际生活中手势自然表达的优势。为此,基于计算机视觉的手势识别方式应运而生。计算机视觉手势识别相对于前面所提到的方法就更加接近人们心中理想的手势识别,这种方法是首先采用视频采集设备对手势进行采集,然后对这些视频中的图像流进行处理,进而完成对手势的识别,这种方法就完全解放了双手,不需要在手上放置任何辅助的识别设备,是一种较为符合人手势表达习惯的方法。
1.2.1 国外研究现状
埃及研究者Mahmoud Elmezain和他的搭档提出了一个通过使用隐马尔可夫模型(HMM模型)能够实时从彩色图像的序列中识别字母字符(AZ)和数字(09)的系统,这个系统使用的是笛卡尔坐标系统中的位置、方向和速度的组合特征[3]。韩国Korea Polytechnic大学的JongShill Lee、YoungJoo Lee 等人采用的是熵分析法从,这种方法从背景复杂的视频流中分割出手势区域并进行手势识别[4]。使用的是链码的方法检测手势区域的轮廓,最后计算出从手部区域的中心到轮廓边界的距离。该系统可识别6种手势,平均识别率超过95%,6个人分别做每个手势的识别率平均达到90%-100%。
1.2.2 国内研究现状
国内方面,主要有各大高校和研究机构进行手势的研究与识别。HUANG Hejiao 等人采用的识别方式是利用我们眼睛所能直观感受到的特征[5],将手部的几何特征例如面积和周长提取出来,达到较高的手势识别率。上海大学丁友东、庞海波等人采用的则是一种改进过后的LBP算法[6],他们是利用AdaBoost分类器来进行手势的识别,他们建立了一个数据的集合,其中包含了许多的手势数据,比较突出的是这个数据集中包含了一些角度变化较大的手势。清华大学的任海兵,祝远新,徐光祐等人提出了一种基于表观的手势识别技术[7]。提出了一种基于运动分割的帧间图像运动估计方法,并指出了一条如何将运动、形状、颜色和纹理等信息统一起来进行手势识别的途径,实现了对多种手势进行在线识别的实验系统,识别率超过了90%。王凯,于鸿洋,张萍提出了基于AdaBoost 算法和光流匹配的实时手势识别方案[8]:通过打开PC的摄像头,从一个视频片段中提取手势就可以进行手势的识别。他们还分别进行了静态与动态的手势识别。实现静态识别采用的方法是是利用AdaBoost算法遍历图像获取手势识别结果。实现静态识别采用的方法是光流法与模板匹配法。滕达,刘岩等人研究的是基于“大小手”的徒手手势实时识别[9],他们的基本思想是:首先将双手分为“大小手”,如果重叠则按一只手处理,然后采用背景差分法将背景剔除,只留手部所在区域。接下来,他们利用文献中讲到的大小手特征提取算法进行手势的检测,最终实现手势识别,这种方法对文中所提到的大部分手势识别率都很高,达到了94%以上。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1134.html