基于单目手势识别交互系统的设计与实现本科毕业设计论文.docx
- 文档编号:14067267
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:51
- 大小:988.13KB
基于单目手势识别交互系统的设计与实现本科毕业设计论文.docx
《基于单目手势识别交互系统的设计与实现本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单目手势识别交互系统的设计与实现本科毕业设计论文.docx(51页珍藏版)》请在冰点文库上搜索。
基于单目手势识别交互系统的设计与实现本科毕业设计论文
本科毕业设计(论文)
基于单目手势识别交互系统
的设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
摘要
随着计算机技术的逐渐发展,出现了一些符合人的习惯的人机交互技术。
其中,手势的检测和识别技术作为一种有着自然性、简洁性和直接性的一种新型的交互方式,是这些交互技术当中倍受重视的研究和应用的技术之一。
近几年来,已经有相当一部分的应用采用了这种手势识别的方式作为跟机器交互的手段,受到了世界各个国家的科研机构和科技企业的重视与青睐。
基于计算机视觉的手势识别需要解决一系列的问题。
首先是要做到的是从背景中将手分割出来;然后将有用的信息与冗余的信息分离开来,并将相关的手势信息提取出来;最后从相同的手势中根据实际情况,解读出它的特定的含义。
针对这些问题,本文讨论里一种采用基于单目的特定颜色模型的背景分离方法和基于关键信息的手势提取方法,用VisualC++2010和OpenCV进行开发,实现在多种摄像头下的手势识别交互系统,主要包括以下方面:
(1)针对不同摄像头画质的缺陷,采用中值滤波或均值滤波然后还原细节的方法实现图像较好的降噪,再用不同采样半径的USM锐化的方式实现图像信息的强化。
(2)根据人手和背景色相等方面的差异,采用亮度+两个颜色通道的色彩模型进行色彩分离,并将未选择到的阴影和高光等区域利用连续色的原理进行进一步的选取。
(3)根据选取结果有很多干扰区域的情况,实现最大面积连通区域的提取算法,以排除关键信息提取时的干扰。
(4)根据手的区域的情况和交互的自然性,采用稳定的手的重心作为手的位置,利用近大远小的关系,采用手占摄像头面积的大小判断手离摄像头的距离。
(5)针对以上识别的结果,实现了一些常见的人机交互应用,包括屏幕画图器、鼠标模拟器等。
关键词:
手势识别;VisualC++;背景消除;连通区域;关键信息提取
Abstract
Withthedevelopmentofcomputertechnology,somehuman-computerinteractiontechniqueswhichmeetpeople'shabitsappear.Amongthem,gesturedetectionandrecognitiontechnology,asanewnatural,simpleanddirecttechnology,ishighlyvalued.Inrecentyears,therehavebeenconsiderablepartoftheapplicationusingthisgesturerecognitionapproachasameansofaninteractionwiththemachine,anditdrawsattentionofandwasfavoredbythescientificresearchandtechnologyenterprisesofvariouscountries.
Computervision-basedgesturerecognitionneedstosolveaseriesofproblems.Thefirstisishowtosplitthehandfromthebackground;thenseparatetheusefulinformationandredundantone,andextracttherelevantinformationgesture;finally,decipherthespecificmeaningofthesamegestureinaccordancewiththeactualsituation.Tosolvetheseproblems,thispaperdiscussesagesturerecognitioninteractivesystemwithakindofbackgroundseparationmethodsbasedonspecificcolormodel,andakindofgestureextractionmethodonkeyinformation,developedbyVisualC++2010andOpenCV,fitsavarietyofcamera,whichincludesthefollowingaspects:
(1)Fordifferentqualitydefectsamongcameras,thissystemusesmedianfilterormeanfilterandrestoresthedetailmethodtoreducetheimagenoiseconservatively.ThenusedifferentsamplingradiusofUSMsharpeningtoenhancetheimageinformation.
(2)Accordingtothedifferenceofcolorsbetweenbackgroundandhands,thissystemusesthebrightnessandthetwocolorchannelsasacolormodelforcolorseparation.Thenotchosendistinct,suchastheshadowandhighlightareaswillbefurtherselectedusingacontinuouscolormethod.
(3)Accordingtotheresultstherearealotofinterferingregionsofselectedareas.Thesystemachievesthemaximumconnectedarearegionextractionalgorithm,whichexcludestheinterferenceofthekeyinformationextraction.
(4)Accordingtothehandregionofthecaseandforthenaturalistinteractive,thesystemusesthestablepoint--gravitycenterofthehandasthehandposition,andusesthesizeofthehandtoknowthedistancefromtheareawiththenear-farsmallerprinciple.
(5)Accordingtotheresultsabove,thesystemachievessomecommoninteractiveapplications,includingscreendrawingcontrol,mousesimulator,etc.
Keywords:
GestureRecognition;VisualC++;BackgroundRemoval;ConnectedRegion;KeyInformationExtraction
1绪论
1.1手势识别交互的背景
随着整个社会逐步的信息化,带给了我们一种新的交互方式——人机交互(human-computerinteraction)。
而这一交互活动越来越成为人们日常生活的一个重要内容。
近几年来,随着计算机技术的逐渐发展,出现了一些符合人的习惯的人机交互技术,如头部跟踪、人脸识别、表情识别、唇读、体势识别以及手势识别等等[1],并逐步向以人为本的方向迈进。
其中,手势的检测和识别技术作为一种新型的方式,是这些交互技术当中倍受重视的研究和应用的技术之一。
手势是一种有着自然性、简洁性和直接性的一种人机交互手段。
[1]如果能只用人手作为计算机的输入设备,那么我们就无需学习其他繁重的硬件设备的操作,仅需根据人们的习惯,确定一些适当的手势,即可用简单的方式控制机器。
而手势是人的一种很常用的交流方式。
像人可以用手指的方向来表示物体的位置,用挥手来表示过来或再见,用一定的手势表示数字等等[2]。
近几年来,已经有相当一部分的应用采用了这种手势识别的方式作为跟机器交互的手段。
受到了世界各个国家的科研机构和科技企业的重视与青睐,如IEEE自1995年起召开的人脸与姿势自动检测年会FG(IEEEConferenceonAutomaticFaceandGestureRecognition)以促进包括手势检测识别技术在内的技术交流与发展。
[2]
图1.1手势识别应用
1.2手势及识别方式的分类
手势(gesture)本身具有多义性和多样性,由于领域、文化背景等的不同,对手势的定义也会不同。
这里把手势定义为:
手势是人手产生的各种姿势和动作,手势和姿势(posture)的主要区别在于姿势更为强调身体的总体形态而手势更强调手的细节。
[1]
手势按时间关系可分为静态手势(指姿态,又称手形)和动态手势(指动作,由一系列姿态组成)。
静态手势对应时间上的一个点,而动态手势对应着一段时间内的一条轨迹,需要使用随时间变化的空间特征来表述[3]。
动态手势具有丰富和直观的表达能力,与静态手势结合在一起,能创造出更丰富的语义。
按手势目的又可以分为操控手势和交际手势[10]。
在人机交互系统中,操控手势的一种典型应用就是在二维和三维的虚拟环境中来操控物体。
交流手势主要是指在自然环境中伴随人们自然对话的自由形式手势。
手势相对于语言来说是一种表达人们想法的单独的补充模式。
在对话中与手势相关联的信息是一种语句的时间和空间结构,可以用机器来提取它们[11]。
手势的识别方式可分为利用机械装置的识别和基于计算机视觉的识别。
机械装置,如数据手套是虚拟现实中重要组成部分,可以将手指的复杂的三维位置和动作利用附着的感应器传到到计算机当中去。
然后可以重新呈现手部动作。
数据手套传感的识别方法的技术关键是手套能不能将手指、手掌、手腕的弯曲真实的以数据形势反演到系统数据库中,让系统根据模型对手势进行有效识别。
由于手部软组织和计算复杂性,数据手套的计算速度总是存在延时,同时从人机交互的角度手套佩戴也十分不方便。
如果多人使用还存在卫生等问题[4],再加上这些传感器昂贵的价格,因此数据手套等机械识别的方式在推广上会受到很多的障碍。
近些年来,基于计算机视觉的识别方法提供了一种成本较低的能减少用户限制的手势识别的方法,这种方法也是本系统的主攻方向。
在基于计算机视觉的识别方式中,通常的做法就是把手势识别问题看成模式识别问题来对待。
通过摄像头等设备来获取图像或视频,再把它们分解成特征集,然后用这些特征集与预先定义好的模式进行匹配。
1.3基于计算机视觉的手势识别技术需要解决的问题
无论是利用数据手套还是用手部粘贴高亮标签使作为输入设备会给使用者带来不舒适感如出汗等,且设备价格昂贵,难以推广。
在上述研究的基础上,研究者渐渐把研究的重心转移到的不佩戴手套或不粘贴设备的自然手识别检测技术之上,以追求使用者更舒适的体验,其中从计算机视觉的研究方式入手是当前比较主流的研究方向,然而实现起来难度更大。
首先是要做到的是从背景中将手分割出来,通常会用肤色分割的方法基于皮肤的色调将不同于周围背景手的区域分离出来.但是会受到光线等因素干扰,分离出手后需要用合适的模型对手的动作建模。
之后从模型中估算出参数,根据估算出的参数对手势进行分类,得出结论。
由于在数据采集时容易受到背景干扰,往往要求背景颜色和手的颜色有较好的区分度。
[4]
其次人体由多个部分组成,其中手指往往包含丰富的信息,而头和手臂所以及人手本身因光滑而产生的大量阴影等信息则大多为冗余信息,故如何将有用的信息与冗余的信息分离也是提高手势识别能力的关键。
再次,人手是弹性物体,同样的手势的表现效果可能差别很大[5],并且同样的用户者要重复做出完全相同的手势也是不可能的,如何降低甚至消除这个因素的影响对整个识别的准确率也有一定影响。
最后,手势往往具有复杂、多重的含义,单一的方法很难准确地解读人手的具体内涵进而实现最终的识别,故需要综合多种方法。
[6]
针对上面提到的多种难题,不同的研究和开发人员提出了许多种不一样的方案。
综合以上,本文将提出一种能适应各种摄像头的,能抵抗一定干扰信息的一种基于计算机视觉的进行手势识别解决方案。
1.4本程序主要实现的功能
(1)实现对摄像头的发现和选取,与对每一帧图像的采集和缩放。
(2)实现对图像的清晰化,包括点状噪声的去除、细节的还原以及之后整体的锐化。
(3)实现对背景信息的剔除,包括对肤色的提取和分割,对阴影和高光区域的扩散和对一些孤立点的剔除。
(4)实现关键信息,如手的重心、手的远近(手的面积)等的确定。
(5)利用以上关键信息,实现一些应用。
为了保证软件的实时性,同时便于以上功能的实现,开发工具选用VisualC++2010,第三方类库采用OpenCV2.0来完成这项工程。
2摄像头信息的采集和预处理
2.1OpenCV关于摄像头操作的API
要进行手势信息的获取,首先需要拥有一定的硬件,如数据手套、摄像头等。
对于软件方面则要安装相应的驱动程序和了解它们的API。
幸好OpenCV提供了一系列通用而且简洁的外部接口以便于实现以上的工作,对摄像头操作代码流程如图2.1所示:
图2.1摄像头启动和释放的代码流程
在实际的应用当中,当用户拥有多个摄像头时,cvCreateCameraCapture方法的参数应该取零或正整数,来选择不同编号的摄像头。
当找不到该摄像头时,可以自动选择成默认的摄像头,一般来说是第0号摄像头,仍未找到才进行错误退出。
2.2在控件中呈现有关摄像头的图像
为了便于观察,需要将摄像头的源数据或数据的处理情况呈现到控件中,而MFC类库和OpenCV共同提供了这些方法。
2.2.1HDC的获取
MFC的CDC(设备上下文)和它对应的句柄HDC提供了一系列有关画图的方法,对于一个有一定ID(如IDC_STATIC1)的控件来说,获取的方法如下:
CWnd*pwnd=GetDlgItem(IDC_STATIC1);
CDC*pDC=pwnd->GetDC();
HDChDC=pDC->GetSafeHdc();
if(hDC==NULL)
{
MessageBox("无法获取hdc!
");
returnTRUE;
}
这里将ID为IDC_STATIC1的控件通过pWnd获取控件本身的窗口信息,然后通过这个pWnd来获得有关设备的上下文CDC和HDC,获取不到则出现错误对话框并退出。
如果已经设置了控件的Control类型的变量(如m_s1),则CDC和HDC可以通过这个变量直接获取:
CDC*pDC=m_s1.GetDC();
HDChDC=pDC->GetSafeHdc();
2.2.2将IplImage*位图渲染到控件当中
OpenCV的IplImage*类型的图片渲染到控件的HDC前需要得到它的头部信息,这需要开辟一段内存并将它的结构体提取出来,然后分别赋值:
staticucharbuffer[sizeof(BITMAPINFOHEADER)+1024];
BITMAPINFO*bmi=(BITMAPINFO*)buffer;
BITMAPINFOHEADER*bmih=&(bmi->bmiHeader);
memset(bmih,0,sizeof(*bmih));
bmih->biSize=sizeof(BITMAPINFOHEADER);
bmih->biWidth=image->width;
bmih->biHeight=image->origin?
abs(image->height):
-abs(image->height);
bmih->biPlanes=1;
bmih->biBitCount=(unsignedshort)((image->depth&255)*image->nChannels);
bmih->biCompression=BI_RGB;
其中imag
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 手势 识别 交互 系统 设计 实现 本科 毕业设计 论文