基于Kinect的人机交互系统设计毕业设计论文.docx
《基于Kinect的人机交互系统设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于Kinect的人机交互系统设计毕业设计论文.docx(47页珍藏版)》请在冰豆网上搜索。
基于Kinect的人机交互系统设计毕业设计论文
基于Kinect的人机交互系统设计
摘要
随着技术的不断进步,人机交互的方式也越来越先进,通过肢体动作来操作计算机和游戏机已经成为现实。
自从微软推出Kinect体感外设以来,自然的人机交互成为当前的研究热点,通过Kinect外设,可以解除人们受键盘、鼠标等传统交互方式的束缚,具有重要的意义。
本论文介绍的就是基于Kinect的人机交互的程序设计。
矚慫润厲钐瘗睞枥庑赖。
本设计通过Kinect的骨骼跟踪接口,自定义动作,如手臂平伸,手臂前伸,手臂上举等,触发事件后映射为键盘事件,达到操作应用程序的目的。
使用者可以选择被控制的对象程序。
为了防止他人干扰操作,本程序默认只追踪离Kinect传感器最近的人。
聞創沟燴鐺險爱氇谴净。
本设计的程序可以让使用者通过手臂动作操作俄罗斯方块、播放PPT、控制音乐播放器、控制视频播放器。
未来还可以扩展其他基于键盘控制的程序的操作。
残骛楼諍锩瀨濟溆塹籟。
关键词:
Kinect人机交互骨骼跟踪
TheDesignofMan-machineInteractionSystemBasedonKinect酽锕极額閉镇桧猪訣锥。
ABSTRACT
Astechnologycontinuestoprogress,human-machineinteractionismoreandmoreadvanced,andbodymovementstooperatecomputersandgameconsoleshasbecomeareality.ThispaperwillintroduceaprogramofKinect-basedhuman-machineinteractiondesign.SinceMicrosoftlaunchedKinectsomatosensoryperipheral,naturalhuman-computerinteractionhasbecomearesearchhotspot.Peoplecanlifttheirshacklesoftraditionalinteractsuchaskeyboard,mouse,andothersthroughtheKinectperipheral,andthiswillbeaimportantsignificance.彈贸摄尔霁毙攬砖卤庑。
ThisdesignachievethepurposeofoperatingapplicationsthroughKinect'sskeletontrackinginterface,suchasstretchyourarms,reachyourarms,andupliftyourarms.customactionsandantriggeredeventwhichismappedtokeyboardevent.Theusercanselecttheobjectofcontrolprogram.Inordertopreventtheinterferenceofotherpeople,thisdesignproceduresonlytracksthepeoplewhoisnearesttotheKinectsensor.謀荞抟箧飆鐸怼类蒋薔。
TheprogramofthisdesignallowstheusertooperateTetris,Powerpoint,musicandvideoplayer.Itcanbeextendedtootherkeyboard-basedcontrolprogramsoperatinginthefuture.厦礴恳蹒骈時盡继價骚。
KeyWords:
KinectHuman-machineinteractionSkeletontracking茕桢广鳓鯡选块网羈泪。
第一章引言
1.1选题理由
人机交互技术是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。
它是计算机用户界面设计中的重要内容之一。
它与认知学、人机工程学、心理学等学科领域有密切的联系。
自从微软推出Kinect体感外设以来,自然的人机交互成为当前的研究热点,通过Kinect外设,可以解除人们受键盘、鼠标等传统交互方式的束缚,具有重要的意义。
緦徑铫膾龋轿级镗挢廟。
通过键盘鼠标等外设控制电脑需要操作者近距离的操作,而且无法解放双手,通过自由的方式操控。
本设计通过微软开发的Kinect体感传感器,令使用者摆脱键鼠的束缚,通过肢体语言让电脑理解你的操作意图,给使用者以更佳操控体验。
騅憑钶銘侥张礫阵轸蔼。
1.2自然人机交互技术的发展
2008年,比尔•盖茨提出“自然用户界面”的概念,并预言人机交互在未来几年内会有很大的改观,键盘和鼠标将会逐步被更为自然的触控式、视觉型以及语音控制界面所替代。
与此同时,另外一种提法——“有机用户界面”也开始悄然兴起,其包括生物识别传感器、皮肤显示器,乃至大脑与计算机的直接对接,这些技术无疑都将给人类的生活带来重大影响。
随着计算机技术和传感器技术的普遍应用,现实世界也逐步出现其“数字版”的一面,而自然人机交互技术正是现实世界与虚拟世界之间的桥梁。
疠骐錾农剎貯狱颢幗騮。
1.3国内外发展情况
Kinect被吉尼斯世界纪录组织称为史上销售最快的电子产品[1]。
除了体感设备比较普及的游戏领域外,Kinect的应用性和实验性正在快速发展。
欧洲时装店Topshop在莫斯科的旗舰店安装了一种全新的试衣间,这种虚拟试衣间利用了当时最先进的两种技术增强现实和Kinect体感,你无须试穿就能见到真实的试衣效果[2]。
近日,KinectforWindows平台为疾病患者打造了一个可以识别面部表情或手势的设备,来帮助很多中风患者缓解失语等困扰。
英国的NottinghamTrent大学正在着手通过KinectforWindows技术帮助中风患者缓解面瘫带来的影响,目前整个项目已经获得347000英镑的资金支持[3]。
还有淡江大学电机工程学系开发的基于Kinect之实时双向人流计数系统[4],台湾大学生医电子与资讯学研究所开发的应用Kinect感应器分析手指活动擷取系统[5]。
镞锊过润启婭澗骆讕瀘。
1.4你就是控制器
很多年来,不用控制器的沉浸式游戏一直都是游戏设计师和开发人员心目中的至高境界。
在Kinect出现之前,任天堂的Wii是体感技术的代表,同期的产品还有Sony的PS3,但它们都需要额外的控制器。
然而,Kinect向世人公布:
你就是控制器(Youarethecontroller)。
站在Kinect前,它立刻就能知道你是谁。
不就如此,它还能将你和朋友区分开来。
当你移动时,传感器能在瞬间追踪到你。
凭借无控制器的娱乐体验,Xbox360和Kinect正以无法想象的方式改变着人们的家庭生活[6]。
榿贰轲誊壟该槛鲻垲赛。
1.5Kinect的应用
(1)通过对最新的科技产品Kinect在SNC的创新智能教室框架下的应用探索,提出了结合手势识别与增强现实技术的教育辅助系统的设想并进行了实现[7]。
邁茑赚陉宾呗擷鹪讼凑。
(2)利用Kinect深度传感器所获取的图像深度信息实现手部从背景中的分割,并通过在Hu矩基础上加入3个表达式,使不变矩包含更多细节特征,对手势目标进行识别,最后把得到的识别结果转换成控制指令通过Ad-Hoc网络传送给智能轮椅,实现运动控制[8]。
嵝硖贪塒廩袞悯倉華糲。
(3)利用Kinect体感设备,可将其即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能整合到视频会议中,使视频会议更具可交互性,提供了更好的用户体验,并提高了视频会议的整体性能[9]。
该栎谖碼戆沖巋鳧薩锭。
(4)一种基于Kinect传感器的快速物体重建方法,以及基于该方法的一种图形处理器(Graphicprocessingunit,GPU)原型系统实现[10]。
劇妆诨貰攖苹埘呂仑庙。
(5)基于Kinect的用于幼儿教育的手势识别功能模块,用OpenCV中的支持向量机识别每个特征向量的手势类别[11]。
臠龍讹驄桠业變墊罗蘄。
(6)通过分析Kinect相机获取的深度图的特征,提出以综合点特征和梯度特征的局域梯度特征的方式来对人体部位区分判定[12]。
鰻順褛悦漚縫冁屜鸭骞。
(7)随着Kinect设别的出现,获取场景的2.5D信息变得很容易。
设计了一个全新的基于无监督物体识别系统[13]。
穑釓虚绺滟鳗絲懷紓泺。
(8)基于微软Kinect系统的单目RGB摄像机以及深度距离受限的RGB-D像机,研究解决室内机器人的6自由度定位问题[14]。
隶誆荧鉴獫纲鴣攣駘賽。
(9)基于Kinect的多点触控系统,该系统利用Kinect获取三维深度信息,通过建立触控感应平面模型,检测用户多点触控事件,并进行触控点的坐标变换,实现对电脑的控制[15]。
浹繢腻叢着駕骠構砀湊。
(10)利用微软公司推出的深度相机Kinect对人体进行扫描,获取人体深度数据,进一步构建人体表面点云数据;再运用Pro/E软件对点云数据进行人体模型重建,最后对人体表面特征数据进行测量[16]。
鈀燭罚櫝箋礱颼畢韫粝。
(11)采用微软公司开发的一款廉价体感游戏设备Kinect,尝试了对农作物长势形态深度图像进行实时监测研究,在介绍Kinect深度成像原理的基础上,提出了采用Kinect获取农作物长势深度图像的算法以及提取3D点云世界坐标的算法,并开展了初步试验[17]。
惬執缉蘿绅颀阳灣熗鍵。
(12)利用Kinect以及ICP迭代算法计算出了人体头部的旋转角度并且对人体头部的姿态进行了准确的估计,成功利用人体脸部三维点云图像估计人体头部姿态,使得在多种复杂环境中,实时检测驾驶员头部姿态成为了可能[18]。
贞廈给鏌綞牵鎮獵鎦龐。
(13)利用微软Kinect体感器作为人物场景采集器,将其采集到的深度数据进行处理,将人物与背景分割,去除背景深度区域,保留人物所在深度区域,进一步检测出人物[19]。
嚌鲭级厨胀鑲铟礦毁蕲。
(14)利用Kinect传感器所获取的人体骨骼跟踪识别点,通过对手势在三维空间中的位置坐标转换,与手势库中的位置特征信息进行匹配,将合法的手势信息转换为识别结果,反馈给电子相册软件并完成相应的控制指令输出[20]。
薊镔竖牍熒浹醬籬铃騫。
1.6需求分析
(1)功能需求
本设计的程序可以让使用者通过手臂动作操作俄罗斯方块、播放PPT、控制音乐播放器、控制视频播放器。
未来还可以扩展其他基于键盘控制的程序的操作。
齡践砚语蜗铸转絹攤濼。
(2)界面需求
本设计需要有选择被控程序的功能,同时还要显示玩家的动作视频和动作识别结果及对应的映射结果。
(3)性能需求
本设计要在本身正常运行的情况下,节省资源,保证被控程序正常运行。
由于操作俄罗斯方块时通过线程休眠防止键盘事件过于频繁,但是本程序为单线程程序,线程休眠时主程序界面会卡死。
解决的方案是使用多线程技术,将主程序和模拟键盘操作的方法放到两个线程内,这样只休眠模拟键盘操作的线程就可以达到防止键盘事件过于频繁的目的,而且主程序也不会卡死。
绅薮疮颧訝标販繯轅赛。
第二章认识Kinect
作为一款集成了诸多先进视觉技术的自然交互设备,Kinect在学术和游戏领域均有很高的关注度。
此外,Kinect硬件的研发与生产综合了声、光、电和机械学等多方面的技术,其主要零部件近百个,拆分成最小单元后有近千个,有三块独立主板,下面就详细介绍一下。
饪箩狞屬诺釙诬苧径凛。
2.1两款Kinect对比
图2.1所示为KinectforXbox360
图2.1KinectforXbox360
图2.2所示为KinectforWindows
图2.2KinectforWindows
从外观上看,二者几乎没有区别,只是logo不同,一个是XBOX360,另一个是KINECT。
新版KinectforWindows固件做了升级,支持近景模式、提升了骨骼跟踪的API性能、更好的兼容各种Windows计算机、采用更为先进的声学模型,并且将其作为微软授权在Windows平台下进行开发的Kinect传感器。
其他方面和KinectforXbox360的版本差异不大。
烴毙潜籬賢擔視蠶贲粵。
KinectforXbox360的版本从设计之初,就是为Xbox360定制的,并未考虑其他平台,这一版本的Kinect,从微软授权角度而言,无法用作商业开发,只能用作教学、科研或者实验。
本设计就是基于KinectforXbox360的。
鋝岂涛軌跃轮莳講嫗键。
2.2Kinect的硬件组成
图2.3拆解后的Kinect
如图2.3所示,Kinect内部的确比想象中的复杂得多。
以下是Kinect组件的完整列表:
a.外壳、底座及不同类型的螺丝;
b.MovingTouch传动马达电机(用于仰角控制);
c.散热风扇;
d.彩色摄像头;
e.红外摄像头;
f.红外投影机;
g.麦克风阵列(4个);
h.3块主板;
i.14种关键芯片。
2.2.1Kinect的“心脏”——PS1080SoC
Kinect的心脏是PrimeSense的PS1080SoC。
PS1080SoC芯片是一个多感应系统,能提供同步深度图像、彩色图像和音频流,如图2.4所示。
PS1080通过USB2.0物理层协议将所有数据传送到主机。
PS1080适用于各种主机CPU——所有深度获取算法均在PS1080上运行,主机只需运行最低限度的USB通信层。
通过这种设计,即使是计算能力有限的主机设备也能具备“深度图像获取能力”。
撷伪氢鱧轍幂聹諛詼庞。
图2.4PrimeSense推荐的设计
2.2.2Kinect的“三只眼”——投影仪和两个摄像头
Kinect有三只不对称的“眼睛”,从左向右分别是红外投影机、彩色摄像头和红外摄线头,如图2.5所示。
踪飯梦掺钓貞绫賁发蘄。
图2.5Kinect的“三只眼”
(1)红外投影机
PS1080SoC对红外光源进行控制,以便通过红外光编码影像放映场景。
红外投影机的光源是一类普通激光光源,经过磨砂玻璃和红外滤光片,投射出近红外光,该光波长为830nm,可持续输出,符合IEC60825-1标准中的一级安全要求。
红外摄像头是一个标准CMOS影像传感器,负责接收放出的红外光,并将红外光编码影像传给PS1080。
PS1080负责处理红外影像,然后逐帧生成准确的场景深度影像。
婭鑠机职銦夾簣軒蚀骞。
(2)彩色摄像头和红外摄像头
Kinect是通过彩色摄像头和红外摄像头来观察这个世界的。
为了生成更准确的传感器信息,PS1080会执行“PrimeSense注册过程”。
为了让深度影像和二维标准色彩影像相互对应,必须进行注册。
注册就是将色彩影像和深度影像进行对应,产生像素相互对应的影像,即色彩影像中的每个像素分别与深度影像中的一个像素对应。
这能让应用程序准确了解收到的色彩影像中每个像素的深度。
所有传感器信息(深度影像、色彩影像和音频)通过一个USB2.0接口传送给主机,且时序一丝不差。
通过KinectSDK可以获得同步的深度图像和彩色图像数据流。
譽諶掺铒锭试监鄺儕泻。
在图2.6中,从左向右,分别是Microsoft/X853750001/VCA379C7130红外摄像头、VNA38209015彩色摄像头、OG12/0956/D306/JG05A红外投影机。
俦聹执償閏号燴鈿膽賾。
图2.6Kinect的“三只眼睛”
2.2.3Kinect的“四只耳朵”——麦克风阵列
由于Kinect的“三只眼”的不对称分布,Kinect的麦克风阵列也是左右不对称的,从而保持重量分布的均匀。
Kinect的麦克风阵列分布如图2.7所示。
缜電怅淺靓蠐浅錒鵬凜。
图2.7Kinect的麦克风阵列
Kinect的音频系统采用了四元线性麦克风阵列技术。
一般而言,麦克风阵列中包含四个相互独立的小型麦克风,每个设备之间相距数厘米,其排列可呈线形,捕捉多声道立体声,通过数字信号处理(DSP)等组件,根据麦克风阵列接听声音的时间差来判断声源方向。
与一般的单麦克风数据相比,Kinect阵列技术包含有效的噪声消除和回波抑制(AcousticEchoCancellation,AEC)算法,同时采用波束成形(Beamforming)技术,通过每个独立设备的响应时间确定音源位置,并尽可能避免环境噪声的影响。
此外,Kinect还被设计为可以在发言者超过一人时辨别出相应的语音指令。
波束形成技术已广泛应用于雷达、声纳和通信等领域。
骥擯帜褸饜兗椏長绛粤。
2.3Kinect相关的技术规格
Kinect传感器的有效追踪范围如表2-1、表2-2所示。
表2-1KinectforXbox360传感器
传感器特性
有效视距/m
色彩和深度
1.2~3.5
骨骼跟踪
1.2~3.5
表2-2KinectforWindows传感器
传感器特性
有效视距/m
色彩和深度
默认模式(0.8~4.0),近景模式(0.4~3.5)
骨骼跟踪
默认模式(0.8~4.0),近景模式(0.4~3.5)
KinectforXbox360的有效视野范围为0.8~3.5m。
推荐最佳距离应该是2.26m(一个玩家)和2.5m(二个玩家)。
癱噴导閽骋艳捣靨骢鍵。
Kinect传感器阵列规格如表2-3所示。
表2-3Kinect传感器阵列规格
传感器特性
规格范围
可视角度
43°垂直方向和57°水平方向有效视野范围
机械化倾斜范围(垂直方向)
±28°
帧率(深度和彩色图像数据流)
30帧每秒(FPS)
深度图像(默认)
QVGA(320×240)
彩色图像(默认)
VGA(640×480)
音频格式
16kHz,16bit单声道(PCM)
音频输入特性
4个带有24bit的数字模拟信号(ADC)和消除和处理噪声的麦克风阵列
2.4Kinect工作原理
通过前面的介绍我们已经对Kinect硬件架构有了充分的了解,通过剖析Kinect的硬件组成,揭开了它神秘的面纱。
那么接下来我们重点从产品设计、原理、软件算法、基础研究等角度去分析Kinect的内在奥秘。
鑣鸽夺圆鯢齙慫餞離龐。
2.4.1KinectforXbox360的产品设计
Kinect作为一个传感器,本质上也只是一个输入设备。
它的成功来源于消费者对自然人机交互的渴望和认可,以及普通大众都能接受的价格。
比起传统摄像头,它的高明之处在于能“识人辨音”。
榄阈团皱鹏緦寿驏頦蕴。
Kinect的设计初衷是将其嵌入Xbox游戏机的娱乐中心,给Xbox360这艘“传统潜艇”配备上更为先进的“声纳系统”。
这是对任天堂Wii、索尼PS3等老牌竞争对手一次很有威胁的进攻,微软希望通过全新的游戏交互体验来占领新的制高点。
此外,Xbox也被定为家庭娱乐中心,占领电视机屏幕也是微软的战略之一——通过Kinect语音和手势控制等功能,让普通用户更直观、更轻易地搜索到互联网及多媒体信息,同时社区用户彼此之间还可以基于Kinect摄像头进行视频通讯。
逊输吴贝义鲽國鳩犹騸。
对微软而言,Kinect的重要性表现在两个方面:
它大大延长了Xbox360游戏机的生命周期,并成功为它带来了大量的新用户;同时也充分证明微软在持续创新上的巨大能量,不管是观念的前瞻性还是对新产品的执行力上。
幘觇匮骇儺红卤齡镰瀉。
“你就是控制器”—Kinect的宣言激动人心。
没有控制器的人机交互,你甚至不用翻阅任何关于控制器的说明书。
这就是游戏设计师们的至高境界:
不用控制器的沉浸式游戏(controller-lessimmersion)。
通过Kinect,玩家和Xbox360游戏机之间仿佛建立了一个良好的“共生系统”。
誦终决懷区馱倆侧澩赜。
2.4.2基于“管道”的系统架构
KinectforXbox360是一个基于“管道”的体系架构。
Kinect传感器设备提供三大类的原始数据信息,包括深度数据流(depthstream)、彩色视频流(colorstream)、原始音频数据(rawaudiostream),同时分别对应骨骼跟踪(SkeletalTracking)、身份识别(Identify)、语音识别(SpeechPipeline)三个处理过程。
医涤侣綃噲睞齒办銩凛。
(1)骨骼跟踪
骨骼跟踪是Kinect“体感操作”的基础,它要求系统在允许的延时范围内,快速构建玩家的躯干、肢体、头部甚至手指。
舻当为遙头韪鳍哕晕糞。
(2)动作识别
动作识别的基础是骨骼跟踪,广义上识别的内容包含肢体运动、手势以及静态姿势。
我们可以把动作抽象为骨骼关节点的状态或运动序列。
手语是一种较为复杂的手势,它的表达涉及动作的连续性和持续性,不同的组合可以表达丰富的词组或短句。
鸪凑鸛齏嶇烛罵奖选锯。
这里谈的动作识别包含两个层次的概念:
a.骨骼在某一时间点的状态,是为静态的姿势;
b.骨骼中的某一关节或是多个关节点在空间的运动序列,是为动态的行为。
(3)人脸识别
人脸识别是整个身份识别中最重要的一个组成部分,Kinect也将拥有如此博闻强识的本领,它能区分不同玩家、快速识别玩家的身份,从而提供更为个性化的体验,比如记住你上次听过的歌曲,或者最近玩过的游戏。
通过人脸识别实现的个性化体验已经成为游戏体验的一部分,神奇之处恰恰在于你并没有做任何事情,你只是站在那里,Kinect通过人脸识别就知道你是谁。
筧驪鴨栌怀鏇颐嵘悅废。
“人脸识别”与“骨骼跟踪”类似,第一步首先定位人脸的存在,其次基于人的脸部特征,对输入的人脸图像或者视频流进行进一步的分析,包括脸的位置、大小和各个主要面部器官的位置信息,并依据这些信息,进一步提取每个人脸中所蕴涵的身份特征,并将其与已知的人脸进行对比,从而识别每个人的身份。
韋鋯鯖荣擬滄閡悬贖蘊。
(4)语音识别
Kinect麦克风阵列捕获的音频数据流通过音频增强效果算法处理来屏蔽环境噪声。
即使在一个大的空间,即使人离麦克风一定的距离,也能够进行语音命令的识别。
Kinect阵列技术包含有效的噪声消除和回波抑制(AcousticEchoCancellation,AEC)算法,同时采用波束成形(Beamforming)技术通过每个独立设备的响应时间确定音源位置,并尽可能避免环境噪声的影响。
涛貶騸锬晋铩锩揿宪骟。
KinectforXbox360的语音识别也仅仅定位在简单的“语音命令”的层次。
比如说“Xbox,Let’sPlay”,这里Xbox就相当于是一个命令提示符,后面的话对应着一些常用操作命。
钿蘇饌華檻杩鐵样说泻。
第三章总体设计
3.1软件概述
本软件的目的是让使用者以一种比传统更加自然的操纵方式与计算机沟通,它让使用者通过肢体动作来操作计算机软件。
其主要实现了四个功能:
通过动作玩俄罗斯方块;通过动作控制PPT播放;通过动作控制音乐播放;通过动作控制视频播放。
戧礱風熗浇鄖适泞嚀贗。
3.2软件用户群
(1)喜欢边运动边游戏的玩家
每个人都能享受到Kinect带来的乐趣。
从4、5岁的孩子到60岁的老人。
小孩可以通过自己的蹦蹦跳跳玩一些体育健身的游戏,而年轻人可以通过自己灵活的动作来玩一些动作或者射