基于Kinect的手势识别和游戏模拟

 2022-01-17 11:01

论文总字数:32426字

目 录

1 绪论 1

1.1 体感技术介绍 1

1.1.1 体感游戏发展历程 1

1.1.2 体感游戏几大类别 1

1.2 Kinect技术介绍 2

1.2.1 Kinect简介 2

1.2.2 Kinect的硬件结构 2

1.2.3 Kinect的工作原理 3

1.2.4 用Kinect进行体感游戏的优势与短板 3

1.3 本文的结构和研究内容 3

1.4 本章小结 4

2 Kinect应用在体感游戏中的主要功能 4

2.1 人脸识别 4

2.2 骨骼跟踪 5

2.3 动作识别 6

2.4 语音识别 6

2.5 绿屏抠像技术 6

2.6 本章小结 7

3 游戏开发环境与Kinect风格化界面介绍 7

3.1 开发环境 7

3.2 体感游戏的风格化界面 8

3.3 通用动作识别与设定 9

3.3.1 悬停选择 9

3.3.2 滑动翻页 9

3.3.3 通用暂停 10

3.3.4 其他可能用到的手势 10

3.4 本章小结 10

4 基于Kinect的手势和人体姿态识别的方法 10

4.1 Kinect空间坐标与骨骼框架 11

4.2 基于Kinect的手势识别方法 11

4.3 静态手势识别 12

4.4 动态手势识别 15

4.5 本章小结 16

5 体感游戏的模拟 16

5.1 模拟键盘 16

5.1.1 模拟键盘的原理与方法 16

5.1.2 通过模拟键盘玩超级马里奥 17

5.1.3 游戏体验与改进措施 17

5.2 模拟鼠标 18

5.2.1 模拟鼠标原理与方法 18

5.2.2 通过模拟鼠标玩水果忍者 18

5.2.3 游戏体验与改进措施 19

5.3 Kinect体育 20

5.3.1 深度数据三维建模原理 20

5.3.2 Kinect变身与变脸原理 21

5.4 游戏平台搭建 21

5.5 本章小结 22

6 全文总结与展望 22

6.1 论文总结 22

6.2 改进与展望 23

参考文献 24

附录 25

致谢 33

基于Kinect的手势识别和游戏模拟

沈琪锋

,China

Abstract: The main work of this paper is the recognition of static and dynamic hand gesture using Kinect to simulate three categories of motion sensing game on the market. An easy game platform will be set up at last. The thesis employs the special skeletal tracking function in Kinect. The principle of the function is algorithm matching so that we can accomplish the interaction of the character in the game and in reality. By means of the recognition of the basic hand gesture, we are able to simulate the mouse and the keyboard. The process of the game is proved very fluent because of the efficient gesture recognition and the game experience is favorable.

Key words: Kinect; Gesture recognition; Skeletal track; Mouse simulation; Keyboard simulation; Motion sensing game;

1 绪论

体感游戏是一种通过肢体的动作来进行操作的新型电子游戏,它具有互动性强、健身与娱乐相结合的特点,是游戏史上的一次创新。而Kinect作为微软公司推出的基于体感交互的人机交互设备,具有骨骼追踪、人脸识别、语音识别等功能,最初就被用在了体感游戏中,使得玩家能够摆脱传统游戏手柄的束缚,通过肢体动作来进行游戏。

由于Kinect强大而独特的工作原理,很多游戏爱好者和研究者开始尝试对现在的一些游戏进行改良,利用Kinect作为其输入接口进行体感操纵,增加游戏的可玩性。本文利用Kinect在对特定的手势和人体姿态识别的基础上,进行体感游戏的模拟。本文对市面上的体感游戏进行分类并分别对其分析和破解,最后尝试搭建出一个简单的游戏平台。本文的研究目标是实现快速准确的手势识别以及流畅的游戏模拟,并探索Kinect更为广泛的功能应用。

1.1 体感技术介绍

体感技术又被称为动作感应控制技术,由机器设备例如摄像头等捕捉到用户的感官动作,然后进行识别[1],同时触发相应的动作。体感技术与用户进行交互的方式主要是电子屏幕加摄像头,它对动作的识别要求准确和快速,才能不影响用户的游戏体验。

1.1.1 体感游戏发展历程

电子游戏最初的形态是红白机,在红白机上诞生了很多十分经典的游戏,但是红白机的画面质量不高,因此迅速被20世纪80年代出现的电脑游戏所取代。电脑游戏不但提高了画质,游戏种类也更加丰富。伴随着互联网技术的不断进步,象征着第二次游戏革命的网络游戏开始成为主流,但是由于它对青少年的不良影响,使得游戏开发者不得不开始思索更为健康的游戏方式。

2010 年微软推出了体感外设Kinect,由此掀起了第三次游戏革命的浪潮,体感游戏正式进入广大玩家的视线[1]。体感游戏让用户摆脱鼠标和键盘进行游戏,通过手势、语言、动作等操纵游戏人物,改变了玩家与游戏的互动方式,使得游戏更为健康和有趣。如今市场上的主流体感游戏产品有任天堂Wii、索尼PS MOVE、微软XBOX 360(Kinect)等,体感游戏已成为游戏市场的重要组成部分[2]

1.1.2 体感游戏几大类别

根据所用软件类型的不同,我们可以将体感游戏产品分为3种类型[2]: 第一种是电脑游戏,它通过手柄模拟键盘输入操作单机游戏、网络游戏、小游戏等,这种游戏数量庞大,但是用户体验较差,远不如用键盘鼠标玩得舒服;第二种是仿Wii游戏, 即用Wii模拟器直接在电脑上运行Wii游戏,其优势是体感效果较好,但是其版权问题难以解决,不适合开发者进行改良和革新;第三种是原创的体感游戏,这些原创游戏一般具有不错的体感效果,能够实现再开发,但是技术要求高,因此游戏数量也不多。

本文从体感操作实现的原理的角度,提出了对体感游戏的另一种分类:一是模拟鼠标类的游戏,即在PC中使用鼠标操作的游戏,如水果忍者,割绳子等;二是模拟键盘类的游戏,即使用键盘操作的游戏,如超级马里奥,魂斗罗等;三是类似于Kinect体育类型专门为体感而开发的游戏,他需要对人物进行3D建模,追踪用户动作,使游戏人物与玩家进行即时的交互。下文对于体感游戏的模拟即是基于这个分类进行的。

1.2 Kinect技术介绍

本节将介绍Kinect的来历与其硬件结构,使读者对Kinect有一个整理上的认识,并简述其工作原理,为后文游戏的模拟做好铺垫。

1.2.1 Kinect简介

Kinect是微软于2009年推出的XBOX360的外接3D体感摄像机[3],它最主要的功能是能够获取图像的深度数据,并且能够自动获得人体的骨骼点信息。Kinect由于其独特的结构已经被广泛的应用在教育、医疗和智能家居等行业,在体感游戏中的应用也日趋成熟。

Kinect有两种版本:Kinect for Windows和Kinect for XBOX。他们的区别是:Kinect for XBOX工作范围只能在0.8-4米范围内,而Kinect for Windows多出了一个近景模式,即在0.4-0.8米范围内仍能取得稳定的深度图像[4]

1.2.2 Kinect的硬件结构

Kinect在直观上可以看到由一个RGB摄像头和两个深度感应器组成,还有一个用于调整俯仰角度的转动支架电机位于底座与上部主要工作区域之间,它的内部还有一对麦克风阵列,其硬件结构如图1.1所示。

图1.1 Kinect的硬件结构图

在上图中,位于三个摄像头中间的是彩色摄像头,用以获取彩色图像,也可以记录视频流;位于两边的深度感应器一个是红外发射器,一个是红外接收器,可以获取深度数据和探测人体动作。内部的麦克风阵列能够识别特定的语音指令,在体感游戏中能够快速调出导航菜单,经过特定编程也能实现需要的功能。

1.2.3 Kinect的工作原理

Kinect最强大的功能在于能够获得深度数据从而抽象出人体骨骼点对其进行编程,它利用的最关键的技术叫做Light Coding技术。Kinect获取深度数据的工作过程是这样的:Kinect左侧的红外投影仪能够发出肉眼不可见的红外射线,当镭射光照到不同的表面时会形成被称作散斑的随机反射光斑,每一位置的反射光斑都与别的位置的光斑不相同,因此每一处的深度信息就能通过这些光斑体现。Kienct右侧的红外线摄像头接收到空间中的不同的散斑后,利用芯片便可解码或的深度数据[5]

图1.2 散斑示意图

1.2.4 用Kinect进行体感游戏的优势与短板

虽然现阶段Kinect的优越性已经得到了充分的展现,但是利用Kinect进行体感操作时还存在如下的一些缺点和不足:

  • 容易受到用户的情感因素和动作习惯的影响。手势具有一定随意性,而且在不同的文化背景下有不同的意思,因此在某些情况下可能被误解[6]。比如在土耳其或者伊朗等地,点头表示否定而摇头表示肯定的意味[7]。这是在交互设计中必须要注意的一点。
  • 视野范围有限,玩家需要站在Kinect摄像头的视野范围内才能进行游戏,超出则无法被检测到,在使用Kinect时需要选择宽阔的空间,身体周围东西也可能会干扰骨骼识别的效率。
  • 识别的精度不够,控制速度有待提升。首先,玩家无意识的动作有时会干扰动作识别,对游戏的体验造成影响;其次,由于追踪骨骼点时数据需要实时刷新,因此数据量巨大,追踪时有一定延迟,不仅在程序设计时需要对识别算法进行进一步的优化,对计算机性能的要求也很高。

1.3 本文的结构和研究内容

本文共分为六个章节:

第一章绪论,说明了本文的研究内容,简要介绍了体感游戏的发展过程和Kinect的相关资料,包括其硬件构成和获取深度数据的原理,并说明了Kinect的优缺点。

剩余内容已隐藏,请支付后下载全文,论文总字数:32426字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;