具体描述
Kinect是微软公司推出的最新的基于体感交互的人机交互设备。《KINECT人机交互开发实践》(作者吴国斌、李斌、阎骥洲)分为3个部分,首先介绍了Kinect的结构和功能以及如何配置相关的开发环境,接着结合实例介绍如何使用Kinect for Windows SDK提供的API,最后通过4 个实例详细讲述了使用Kinect for Windows SDK开发项目的实现过程。
《KINECT人机交互开发实践》旨在为Kinect for Windows 开发人员提供快速入门的知识,但是要求读者有一定的编程基础。由于本书的实例代码全部由C#编写,读者最好对C#有一定的了解。
作者简介
吴国斌
博士,PMP,微软亚洲研究院学术合作经理,负责中国高校及科研机构Kinect for Windows学术合作计划及微软精英大挑战Kinect主题项目,曾担任微软TechEd 2011 Kinect论坛讲师、微软亚洲教育高峰会Kinect分论坛主席、中国计算机学会学科前沿讲习班Kinect主题学术主任。
李斌
来自西安电子科技大学,国内首批Kinect开发者,策划执行微软Kinect for Windows Pioneer计划,开发Kinect风筝项目,曾担任微软TechEd 2011 Kinect论坛讲师、人大附中Kinect选修课讲师。
阎骥洲
来自北京航空航天大学,国内首批Kinect开发者,曾在微软Kinect for Windows Pioneer计划中凭借“虚拟演示系统”获得第一名的成绩,之后参与并指导了多个Kinect应用开发项目,有着丰富的Kinect使用及开发经验。
目录信息
第1章 Kinect简介 2
1.1 什么是Kinect 2
1.2 Kinect的前世今生 3
1.3 Kinect体感交互技术原理 4
1.3.1 Kinect的结构组成 4
1.3.2 Kinect for Windows SDK 简介及功能介绍 4
1.4 Kinect for Windows应用领域 5
1.5 小结 6
第2章 Kinect for Windows开发环境配置 7
2.1 开发环境需求 7
2.2 配置开发环境 8
2.3 Kinect for Windows SDK技术架构 9
2.4 小结 10
第二部分 Kinect开发篇
第3章 Kinect彩色和红外图像数据的处理 12
3.1 彩色图像的格式 12
3.2 红外数据流 13
3.3 实例1——调用API获取彩色图像数据和红外图像,并实现静态图像的抓取 13
3.4 小结 18
第4章 Kinect深度数据的处理 19
4.1 深度数据的结构 19
4.2 实例2——调用API获取深度数据,并对不同深度值着以不同颜色 19
4.3 小结 24
第5章 Kinect骨骼追踪数据的处理方法 25
5.1 骨骼追踪数据的结构 25
5.2 半身模式 26
5.3 骨骼追踪数据的获取方式 26
5.4 实例3——调用API获取骨骼数据并实时绘制 27
5.5 骨骼点旋转信息 32
5.5.1 骨骼点旋转信息存储方式 32
5.5.2 在骨骼数据回调函数中获取骨骼点旋转信息 34
5.5.3 综述 34
5.6 实例4——使用Kinect控制PPT播放 34
5.7 小结 38
第6章 音频API的使用 39
6.1 关于Kinect麦克风阵列 39
6.2 实例5——记录一段音频流,并监视音频源方向 40
6.3 实例6——调用语音API,实现语音识别小程序 43
6.4 小结 48
第7章 Kinect for Windows Developer Toolkit介绍 49
7.1 安装Kinect for Windows Developer Toolkit 49
7.2 Kinect Studio简介 51
7.2.1 打开Kinect Studio并链接应用 51
7.2.2 记录并回放Kinect数据流 52
7.2.3 保存和载入Kinect数据流 54
7.3 Face Tracking SDK简介 55
7.3.1 Face Tracking SDK主要功能 55
7.3.2 Face Tracking SDK使用方法 57
7.4 实例7——使用Face Tracking SDK识别人脸 57
7.4.1 新建项目并添加引用 57
7.4.2 初始化Kinect数据流 60
7.4.3 获取数据并传入Face Tracking 60
7.5 小结 64
第8章 Kinect常用类库介绍 65
8.1 Coding4Fun Kinect Toolkit介绍 65
8.1.1 基于图像数据的扩展方法 65
8.1.2 基于骨骼数据的扩展方法 67
8.2 Kinect Toolbox类库 67
8.2.1 Kinect Toolbox简介 67
8.2.2 人体姿态识别 68
8.2.3 手势识别 72
8.2.4 模板识别 74
8.2.5 语音识别 76
8.2.6 添加自定义姿态 76
8.3 小结 79
第三部分 Kinect实战篇
第9章 Kinect虚拟演示系统的实现 82
9.1 虚拟演示系统简介 82
9.2 技术实现概述 83
9.3 利用深度数据标签获取人物彩色图像 84
9.3.1 创建人物抠图类 84
9.3.2 利用深度数据获取人物彩色图像 84
9.3.3 修补、优化并完善抠图类 89
9.3.4 利用Kinect SDK抠图的优、缺点 91
9.4 利用骨骼数据识别人体姿态 91
9.4.1 利用Toolbox实现主体识别功能 91
9.4.2 自然交互方式设计 95
9.4.3 Kinect自然交互小结 97
9.5 演示系统简介 98
9.5.1 预备知识 98
9.5.2 Kinect状态类 99
9.5.3 Kinect轮询类 101
9.5.4 演示框架小结 104
9.6 小结 105
第10章 Kinect虚拟放风筝项目的实现 106
10.1 Kinect虚拟放风筝项目简介 106
10.2 技术实现概述 107
10.3 玩家姿势的设计和识别 107
10.3.1 玩家姿势的设计 107
10.3.2 玩家姿势识别的实现 110
10.4 自然交互按钮和光标的实现 112
10.4.1 自定义光标 113
10.4.2 自定义按钮 114
10.5 风筝动画的实现 117
10.6 项目操作流程 119
10.7 小结 123
第11章 Kinect全息显示 124
11.1 Kinect全息显示简介 124
11.2 技术实现概述 124
11.3 Kinect捕捉头部坐标 126
11.3.1 创建用于捕捉头部位置的Kinect组件类 126
11.3.2 Kinect初始化以及头部位置获取 127
11.3.3 根据Kinect和屏幕的位置关系转换坐标 129
11.4 三维图形引擎 131
11.4.1 创建可见模型绘制类 131
11.4.2 构建模型世界矩阵 131
11.4.3 绘制模型 133
11.5 根据头部位置更新绘制图像 134
11.5.1 修改视图矩阵 135
11.5.2 修改投影矩阵 136
11.6 小结 139
第12章 基于Kinect的自主移动机器人的设计与实现 140
12.1 KRobot项目简介 141
12.2 技术实现概述 141
12.3 利用深度数据进行摄像机标定 142
12.4 利用深度数据实现障碍规避 143
12.4.1 获取彩色图和深度图数据 144
12.4.2 处理深度图和深度数据 146
12.4.3 制定障碍物判定规则 148
12.4.4 制定机器人避障规则 151
12.5 利用骨架数据实现人体跟踪 152
12.6 利用麦克风进行声音定位 154
12.7 完善人机交互演示系统 156
12.8 小结 158
附录A Kinect for Windows SDK类、结构类型和枚举类型 159
· · · · · · (收起)
读后感
用户评价
我之所以对这本书爱不释手,在于它所展现出的前沿性和创新性。在当前人工智能和虚拟现实技术飞速发展的时代,理解并掌握如何创造更加自然、沉浸式的人机交互体验至关重要。这本书恰恰抓住了这一时代脉搏,将Kinect这一强大的传感器技术与前沿的交互设计理念相结合,为读者提供了一个全新的视角。书中对于“情感计算”在Kinect交互中的应用探索,尤其让我印象深刻。作者并没有仅仅停留在物理层面的交互,而是进一步思考如何让Kinect能够感知并响应用户的情绪,从而创造出更富有人情味和温度的交互体验。例如,书中讨论了如何通过分析用户的面部表情和身体姿态,来推断其情绪状态,并根据这些信息调整交互反馈,这在游戏、教育、甚至心理健康等领域都具有巨大的潜力。此外,书中还对“增强现实”与Kinect的结合进行了前瞻性的展望,探讨了如何利用Kinect提供的深度和姿态信息,将虚拟内容无缝地叠加到真实世界中,从而创造出更加丰富多样的AR体验。这本书不仅仅是一本技术手册,更像是一次关于未来人机交互的深度思考,它激发了我对这一领域的无限遐想。
这本书的内容实在太令我惊喜了,绝对是我近期阅读体验中最棒的一本。在开始阅读之前,我本以为这会是一本偏向理论,充斥着晦涩概念的学术著作。然而,实际内容完全颠覆了我的预期。作者以一种极其生动、详实的笔触,将Kinect这种前沿技术背后的原理、发展脉络以及最关键的——如何将其转化为实际应用,进行了深入浅出的剖析。我尤其欣赏书中对Kinect传感器工作机制的讲解,它没有止步于概念的堆砌,而是通过图文并茂的方式,一步步揭示了深度感知、骨骼追踪、语音识别等核心技术的奥秘。让我这个非计算机专业出身的读者,也能清晰地理解其背后的逻辑。更难得的是,书中大量穿插了实际的开发案例和代码片段,这些并不是简单地罗列,而是与理论知识紧密结合,清晰地展示了如何运用Kinect SDK来实现各种各样的人机交互功能,例如手势控制、体感游戏、甚至辅助医疗等。我尝试着跟着书中的代码敲打了一部分,发现整个过程非常流畅,作者的讲解清晰易懂,即使遇到一些小问题,书中也提供了相应的解决方案,这极大地增强了我进行实际操作的信心。整本书的叙事逻辑非常流畅,从基础概念的引入,到进阶功能的实现,再到实际应用的拓展,层层递进,让人感觉掌握Kinect开发技术并非遥不可及。
作为一名正在摸索MIP(Mentioned in Post)技术的开发者,我一直试图寻找一本能够深入浅出地讲解相关概念,并且能够提供大量实践指导的参考书。当我偶然翻阅到这本《Kinect人机交互开发实践》时,内心涌现出一种强烈的期待,而它也确实没有让我失望。这本书的魅力在于它能够将相对抽象的MIP技术,通过Kinect这个具体的载体,变得鲜活而可操作。作者并非仅仅停留在MIP理论的层面,而是将重点放在了MIP在Kinect开发中的具体应用。我最喜欢的部分是关于MIP数据流的处理和分析,书中详细介绍了如何从Kinect获取的原始数据中提取出有用的信息,例如用户姿态、动作序列等,并通过MIP算法进行解读,最终实现智能化的交互。书中提供的MIP算法示例,虽然涉及一些数学和统计学知识,但作者的讲解却非常到位,能够帮助读者理解算法的核心思想,并将其应用到实际的项目中。此外,书中还探讨了MIP在提高Kinect交互的自然度和效率方面的潜力,例如通过MIP预测用户的意图,从而实现更流畅、更直观的人机交互。我从书中获得的不仅是技术上的指导,更重要的是一种启发,它让我对MIP技术在未来人机交互领域的应用有了更广阔的视野。
不得不说,这本书的结构设计堪称典范,它为我提供了一个清晰的学习路径,让我能够系统性地掌握Kinect平台上的交互式应用开发。初读之下,就感受到作者对整个开发流程的深刻理解。书的开篇部分,对Kinect硬件的特性、开发环境的搭建以及基础的API调用进行了详尽的介绍,这对于初学者来说至关重要,避免了在技术细节上花费过多的精力而迷失方向。随后,作者逐步深入到更复杂的交互技术,例如多用户追踪、三维重建、以及基于深度信息的物体识别等。我特别欣赏书中对这些高级功能的讲解,它并没有简单地罗列API,而是通过对背后原理的深入剖析,帮助我理解这些技术是如何工作的,以及它们在不同应用场景下的优势和局限性。书中提供的代码示例,更是具有极强的参考价值,它们不仅能够直接运行,而且结构清晰,注释详尽,让我能够快速地理解并模仿,进而进行二次开发。我尝试着书中关于“手势识别”部分的案例,发现通过几行代码的修改,就能实现对不同手势的精确捕捉,这让我非常有成就感。总而言之,这本书是一本集理论指导、实践操作和案例分析于一体的优秀教材,对于任何想要在Kinect平台上进行开发的开发者来说,都具有极高的价值。
这本书的实用性超出了我的预期,它让我深刻体会到理论知识如何转化为实际生产力。我一直对如何构建能够理解并响应用户复杂动作的系统感到好奇,而这本书就提供了非常具体的指导。作者非常注重实际操作的细节,从开发环境的配置,到不同传感器数据的采集与融合,再到最终的交互逻辑实现,每一个环节都进行了详尽的阐述。我尤其欣赏书中关于“动作捕捉与分析”部分的讲解,它不仅介绍了Kinect如何精确地捕捉人体的骨骼信息,还详细讲解了如何利用这些数据进行高级的动作识别和分析,例如区分挥手、鞠躬、甚至复杂的舞蹈动作。书中提供的算法模型和代码库,对于我正在进行的一个体感控制项目非常有帮助,我能够直接借鉴其中的思路和实现方式,大大缩短了开发周期。更重要的是,作者在书中还分享了许多在实际开发过程中可能遇到的常见问题及解决方案,这些经验之谈对于我这样的初学者来说,简直是无价之宝。这本书就像一位经验丰富的导师,在我开发Kinect应用的过程中,给予我及时的指导和启发,让我能够少走弯路,更高效地达成目标。
书中多个KINECT工程开发实例,对于有一定的编程基础的读者提高开发实践能力很有价值~
VS2011版本,我用的是VS2012 express,看的有些晕,不过用express版本的visual studio是有些(系统)库功能无法使用的。要在复习和实践。
书中多个KINECT工程开发实例,对于有一定的编程基础的读者提高开发实践能力很有价值~
书中多个KINECT工程开发实例,对于有一定的编程基础的读者提高开发实践能力很有价值~
书中多个KINECT工程开发实例,对于有一定的编程基础的读者提高开发实践能力很有价值~