Kinect应用开发实战
Kinect应用开发实战封面图

Kinect应用开发实战

余涛, 著

出版社:机械工业出版社

年代:2012

定价:69.0

书籍简介:

本书由微软资深企业架构师兼Kinect应用开发专家亲自执笔,既系统全面地讲解了Kinect技术的工作原理,又细致深入地讲解了Kinect交互设计、程序开发和企业应用展望。

书籍目录:

推荐序一

推荐序二

前言

第一部分 准备篇

引言 从科幻电影谈起 2

第1章 自然人机交互技术漫谈 10

1.1 自然人机交互技术的发展 10

1.1.1 第六感设备:技术的组合创新 10

1.1.2 追影技术:摄像头也疯狂 12

1.1.3 虚拟现实:真实的体验场景 13

1.1.4 增强现实:真实与虚拟的叠加 14

1.1.5 多点触摸:信息就在指尖 15

1.1.6 语音识别:从ViaVoice到Siri 16

1.1.7 眼球跟踪:从霍金的座椅谈起 17

1.1.8 人脸识别:Photo DNA 19

1.1.9 体感操作:达芬奇手术机器人 20

1.1.10 脑机界面:霍金座椅的升级版 20

1.2 “你就是控制器”—Kinect宣言 21

1.2.1 Kinect销售记录及命名来历 21

1.2.2 未来照进现实 22

第二部分 原理篇

第2章 揭开Kinect的神秘面纱—硬件设备解剖 26

2.1 两款Kinect传感器对比 26

2.2 Kinect传感器的硬件组成 28

2.2.1 Kinect的“心脏”—PS1080 SoC 30

2.2.2 Kinect的“三只眼”—投影机和两个摄像头 32

2.2.3 Kinect的“四只耳朵”—麦克风阵列 34

2.2.4 会摇摆的“相控雷达”—传动马达 35

2.2.5 姿态控制—三轴加速度计 36

2.2.6 USB接口及电源 37

2.2.7 Kinect风扇控制 38

2.3 Kinect相关技术规格 38

2.3.1 Kinect近景模式 39

2.3.2 Kinect放大镜 40

2.4 本章小结 40

第3章 Kinect工作原理大揭秘 41

3.1 Kinect for Xbox 360的产品设计 42

3.2 基于“管道”的系统架构 43

3.2.1 骨骼跟踪 45

3.2.2 动作识别 46

3.2.3 人脸识别 48

3.2.4 语音识别 49

3.3 Kinect眼里的三维世界 50

3.3.1 深度数据是Kinect的精髓 51

3.3.2 2D视觉与3D视觉 55

3.4 深度图像成像原理 56

3.4.1 ToF光学测距与结构光测量 56

3.4.2 Light Coding技术 57

3.4.3 激光散斑原理 58

3.4.4 光源标定 59

3.5 从深度图像到骨骼图 60

3.5.1 动静分离,识别人体 60

3.5.2 人体部位分类 62

3.5.3 从人体部位识别关节 63

3.5.4 会“机器学习”的“Kinect大脑” 65

3.5.5 骨骼跟踪的精度和效率 68

3.6 创建你的Avatar 70

3.6.1 “有骨有肉” 70

3.6.2 泊松方程噪声滤除 70

3.6.3 粗糙变平滑、缺陷自动补齐 71

3.7 本章小结 71

第三部分 基础篇

第4章 Kinect for Windows SDK导读 74

4.1 什么是Kinect SDK 74

4.1.1 Kinect SDK的发展历程 74

4.1.2 SDK v1.5的新特性 75

4.1.3 SDK v1.5尚未提供的API 76

4.1.4 从底层进行封装 76

4.2 Kinect for Windows体系架构 78

4.3 应用层API详解 80

4.3.1 Kinect的核心NUI API 80

4.3.2 Kinect Audio DMO 82

4.3.3 Windows Speech SDK 83

4.4 数据流概述 84

4.4.1 彩色图像数据 84

4.4.2 用户分割数据 85

4.4.3 深度图像数据 86

4.4.4 如何获取数据流 87

4.5 骨骼跟踪 89

4.5.1 骨骼信息检索 90

4.5.2 主动跟踪和被动跟踪 90

4.5.3 骨骼跟踪对象选择 91

4.6 NUI坐标转换 92

4.6.1 深度图像空间坐标 93

4.6.2 骨骼空间坐标 93

4.6.3 坐标变换 93

4.6.4 传感器阵列和倾斜补偿 95

4.6.5 地面测量 95

4.6.6 骨骼镜像 95

4.7 本章小结 96

第5章 Kinect用户交互设计的若干思考 97

5.1 Xbox 360 Kinect Hub界面和Metro风格 97

5.1.1 什么是Metro风格 97

5.1.2 Kinect Hub手势原型设计 98

5.1.3 “悬停选择”和“翻页控制” 99

5.2 体感游戏的优势及局限性 100

5.2.1 更多的自由度 101

5.2.2 关节点重叠的处理办法 102

5.2.3 情感因素和心理暗示 102

5.2.4 Kinect体感操作的局限性及对策 103

5.3 用户交互的趋势和新特性 104

5.3.1 Kinect使交互“柔软化” 105

5.3.2 用户交互设计也可能是一项专利 106

5.4 Kinect“体感操作”交互设计的七条军规 106

5.4.1 控制手势集符合人类自然手势 107

5.4.2 让用户的肢体移动幅度尽可能小 107

5.4.3 操作界面的对象采用Metro风格 109

5.4.4 “确认操作”保持简单、一致 109

5.4.5 手势操作尽可能在同一个平面内 110

5.4.6 从三维的视角去看交互设计 110

5.4.7 配有简单明了的手势说明 111

5.5 本章小结 112

第四部分 开发篇

第6章 开发前的准备工作 114

6.1 开发Kinect应用所需的技能 114

6.2 系统要求 115

6.3 下载和安装Kinect SDK 116

6.3.1 Kinect for Windows SDK v1.5 118

6.3.2 Developer Toolkit 118

6.3.3 Kinect快速开发工具箱 119

6.3.4 XNA开发环境 119

6.4 加载驱动、检验及测试 120

6.5 配置开发环境 122

6.6 要点和故障排除 122

6.7 本章小结 123

第7章 Hello,Kinect! 124

7.1 一行代码的“Hello, Kinect!” 124

7.1.1 创建WPF工程 124

7.1.2 添加KinectDiagnosticViewer控件 126

7.1.3 编写一行代码 127

7.1.4 编译运行 127

7.2 控制台界面HelloKinectMatrix 128

7.2.1 创建Console工程 128

7.2.2 编写代码 129

7.2.3 运行效果 130

7.3 KinectContrib快速工程模板 130

7.4 KinectWpfViewers工具控件 131

7.5 本章小结 132

第8章 Kinect开发循序渐进 133

8.1 一个简单的编程模型 133

8.1.1 初始化、启用Kinect设备 134

8.1.2 彩色图像流事件处理 136

8.1.3 深度数据捕获 138

8.1.4 骨骼跟踪 141

8.1.5 关闭Kinect设备 145

8.1.6 Kinect设备状态管理及异常处理 145

8.2 更专业的深度图 146

8.2.1 改进转换方法 146

8.2.2 事件处理 148

8.3 控制Kinect仰角 148

8.3.1 “你的塑身”游戏 149

8.3.2 垂直调整Kinect仰角 150

8.4 本章小结 151

第9章 Kinect深度数据测量技术及应用 152

9.1 什么是Kinect视角场 152

9.2 深度值与实际距离的对比 153

9.3 深度图像的直方图 155

9.3.1 直方图统计信息的价值 156

9.3.2 深度图像直方图的意义 158

9.4 Kinect深度数据测量的应用 159

9.4.1 近景模式:自动锁屏工具 159

9.4.2 Kinect视角场几何推导:测量人体身高 163

9.4.3 近距离探测:制作地形电子沙盘 169

9.5 本章小结 170

第五部分 实例篇

第10章 用Kinect表演“变脸” 172

10.1 在人的面部变换脸谱 172

10.2 代码实现 173

10.2.1 WPF工程、控件及初始化 173

10.2.2 骨骼跟踪 176

10.2.3 变脸及坐标变换 178

10.3 合理暂停骨骼跟踪 181

10.4 道具平滑跟随 181

10.5 调整幕布大小 183

10.6 练习作业 184

第11章 用Kinect唤起“红白机”的回忆 185

11.1 用身体控制马里奥 185

11.2 代码实现 185

11.2.1 WPF工程、控件及初始化 185

11.2.2 模拟键盘输入工具类 188

11.2.3 肢体语言映射到键盘事件 192

11.3 副产品:PPT演示“空手道” 193

11.4 练习作业 195

第12章 用Kinect玩PC版的《水果忍者》 197

12.1 空气鼠标设计思路 197

12.1.1 找到离Kinect最近的那个人 198

12.1.2 兼容左手习惯和右手习惯 199

12.1.3 从骨骼坐标系到鼠标坐标系 199

12.1.4 模拟鼠标工具类 200

12.1.5 让“空气鼠标”移动自如 202

12.1.6 模拟鼠标左键事件 203

12.2 在PC中用Kinect玩《水果忍者》 203

12.2.1 核心代码示例 203

12.2.2 如何双手挥刀 206

12.3 更多游戏:《割绳子》 206

12.4 练习作业 207

第13章 创建你的Kinect Hub Demo界面 208

13.1 Metro风格界面设计 208

13.2 使用Kinect骨骼跟踪 209

13.3 使用Coding4Fun Kinect Toolkit开发加速器 210

13.4 悬停选择 210

13.5 本章小结 213

第14章 用Kinect导播天气预报 214

14.1 天气预报是这样炼成的 214

14.1.1 绘制幕布,定义前景图片 214

14.1.2 对象定义及初始化 215

14.1.3 实现“画中画”效果 216

14.2 一些优化的话题 219

14.2.1 使用Using及时回收资源 219

14.2.2 使用WriteableBitmap优化图片显示性能 219

14.2.3 多线程和“轮询模型” 220

14.2.4 使用中值滤波边缘去噪 220

14.3 Kinect语音导播切换 221

14.3.1 引用Microsoft.Speech命名空间 221

14.3.2 音频数据流和语音识别引擎 221

14.3.3 语音识别事件 223

14.4 本章小结 224

第15章 基于Kinect的家庭监控系统 225

15.1 通过Kinect进行目标探测 225

15.2 使用计算机视觉库 226

15.2.1 Open CV程序库 226

15.2.2 Emgu CV引用 226

15.2.3 保存快照 227

15.2.4 录制视频 227

15.3 目标人体探测和影像录制 228

15.4 扩展功能和更多应用场景 231

15.5 本章小结 231

第16章 “Kinect牌”梦境录音笔 232

16.1 Kinect音频采集 232

16.1.1 使用音频数据流 232

16.1.2 “波束跟踪”信心值的另类用法 233

16.2 音频录制 233

16.2.1 WAV文件 233

16.2.2 WAVEFORMATEX结构体 234

16.2.3 梦境录音笔的实现 234

16.3 练习作业 240

第六部分 进阶篇

第17章 再谈姿态识别和手势识别 242

17.1 姿态和手势 242

17.2 动作与算法 243

17.2.1 如何设定动作集合 243

17.2.2 借鉴正则表达式和状态机 244

17.2.3 转换为几何三角问题 245

17.3 常见手势识别 245

17.3.1 挥手激活 245

17.3.2 悬停按钮 246

17.3.3 磁石悬停 247

17.3.4 划动手势 247

17.3.5 滑动解锁 248

17.3.6 推按钮 249

17.3.7 通用暂停 249

17.4 工具介绍 250

17.4.1 动作录制和识别GesturePak 250

17.4.2 手和手指的“空气多点触摸” 251

17.5 本章小结 253

第18章 Kinect在手术室的应用原型 254

18.1 原型设计 254

18.2 交互设计 255

18.2.1 “悬停选择”进行功能导航 255

18.2.2 “空气鼠标”的激活和隐藏 256

18.2.3 通过“划动”手势翻阅医学影像 257

18.2.4 放大、缩小医学影像病灶部位 257

18.2.5 “垂直摆动”翻阅病历 258

18.2.6 体感操作结合语音控制 258

18.3 体感操作的实现 259

18.3.1 基于SwipeGestureRecognizer 259

18.3.2 基于单个部位运动序列的轨迹分析匹配 262

18.3.3 基于多个部位姿态快照的状态机匹配 266

18.4 利用SDK v1.5的新特性 280

18.4.1 近景模式下的上半身骨骼跟踪 280

18.4.2 利用关节点朝向信息进行手势识别和三维操作 280

18.4.3 人脸识别用于手术登录验证 283

18.4.4 调试工具Kinect Studio 283

18.5 本章小结 284

第19章 Hello,Kinect 3D World! 285

19.1 点、面、云 285

19.1.1 像素和彩色图像帧 285

19.1.2 深度图像帧和点云 285

19.1.3 多Kinect设备的接入 286

19.2 Kinect体感应用开发工具简介 287

19.2.1 软件开发平台XNA 287

19.2.2 游戏引擎Unity 3D 288

19.2.3 3D场景重建工具ReconstructMe 289

19.3 本章小结 289

第七部分 展望篇

第20章 奇思妙想—Kinect效应 292

20.1 四旋翼飞行器的“导航雷达” 292

20.2 宠物看护机器人 292

20.3 空气吉他 293

20.4 倒车雷达系统 294

20.5 Kinect购物车 294

20.6 魔术道具 295

20.7 本章小结 295

第21章 Kinect企业级应用 296

21.1 思维导图 296

21.2 体感操作应用 297

21.2.1 手术室 297

21.2.2 体育运动竞技研究 297

21.2.3 动作捕捉、CG动画制作 298

21.2.4 虚拟试衣镜 298

21.2.5 课堂 299

21.2.6 虚拟汽车展厅 299

21.2.7 管理你的银行账户 300

21.2.8 聋哑人的同声翻译 300

21.3 深度数据应用 301

21.3.1 老年人监护 301

21.3.2 康复训练 301

21.3.3 家庭监控系统 302

21.3.4 道路交通稽查 302

21.3.5 冰川消融研究 303

21.3.6 给宇航员称体重 304

21.4 实物3D建模应用 304

21.4.1 实物3D数字化 304

21.4.2 文物3D模型“数字敦煌”计划 305

21.4.3 3D扫描和打印 306

21.5 机器人视觉与控制 306

21.5.1 地震搜救机器人 307

21.5.2 深海探测机器人 307

21.5.3 工程机械臂控制 307

21.6 本章小结 308

第22章 下一代人机交互技术 309

22.1 下一代Kinect技术若干猜想 309

22.2 未来惊鸿一瞥 310

第八部分 附录

附录A Kinect SDK命名空间速查手册 312

附录B 推荐阅读及网络资源 328

后记 338

参考资料 339

内容摘要:

《Kinect应用开发实战用最自然的方式与机器对话》由微软资深企业架构师兼Kinect应用开发专家亲自执笔,专业社区及企业客户联袂推荐!系统讲解Kinect工作原理、Kinect for Windows应用开发、人机交互设计,以及商业价值展望,包含大量案例、技巧和最佳实践。系统讲解Kinect工作原理、Kinect 应用开发、人机交互设计,包含大量案例、技巧和最佳实践,版权输出到台湾。《Kinect应用开发实战用最自然的方式与机器对话》由微软资深企业架构师兼Kinect应用开发专家亲自执笔,既系统全面地讲解了Kinect技术的工作原理,又细致深入地讲解了Kinect交互设计、程序开发和企业应用展望。全书不仅包含大量实践指导意义极强的实战案例,还包含大量建议和最佳实践,是学习Kinect for Windows应用开发不可多得的参考书。《Kinect应用开发实战用最自然的方式与机器对话》分为八大部分:准备篇(引言和第1章),从科幻电影的自然人机交互技术谈起,同时针对虚拟现实、增强现实、多点触摸、语音识别、眼球跟踪、人脸识别、体感操作、脑机界面等人机交互技术的最新发展动态,结合一些生动例子进行了说明;原理篇(第2~3章),深入剖析了Kinect的硬件组成,从原理上分析了Kinect的工作机制,并从计算机视觉技术角度重点分析了“体感操作”背后发生的一切;基础篇(第4~5章),对Kinect for Windows SDK进行了框架性的导读,并对Kinect自然人机交互的设计提出了有益的归纳和建议;开发篇(第6~9章),本篇从Kinect的开发环境准备谈起,内容包括了视频数据、深度数据、骨骼跟踪等开发示例,其中还包含一个用Kinect测量身高的有趣示例;实例篇(第10~16章),通过介绍一些生动有趣的应用示例(《超级马里奥兄弟》、《水果忍者》等)的开发,帮助读者快速开发入门;进阶篇(第17~19章),包括姿态识别和手势识别的算法实现,Kinect技术结合3D技术的应用,同时结合Kinect在手术室的原型应用这一综合示例,将交互设计、骨骼跟踪、手势识别、语音识别等关键点“串烧”起来;展望篇(第20~22章),汇集Kinect应用的相关创意和奇思妙想,以及Kinect在医疗、教育、动作捕捉、虚拟现实、增强现实、动漫设计乃至冰川研究等诸多领域的发展前景;附录A是关于Kinect SDK命名空间Microsoft Kinect的详细介绍;附录B是关于自然人机交互技术、计算机视觉技术的相关开源社区动态的介绍。【作者简介】余涛,网名fishking1979,企业应用架构师(Enterprise Architect)、PMI认证项目管理师(PMP),目前就职于微软中国。热衷于Kinect技术,致力于推广Kinect体感技术在企业领域的应用。拥有12年以上的软件行业经验,有丰富的大型软件项目设计、开发、管理经验,为医疗、智能交通、能源、汽车等企业级客户提供架构及咨询服务。业余爱好旅行、山地车运动和电影。

书籍规格:

书籍详细信息
书名Kinect应用开发实战站内查询相似图书
9787111400929
如需购买下载《Kinect应用开发实战》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)69.0语种简体中文
尺寸24 × 19装帧平装
页数 384 印数 4000

书籍信息归属:

Kinect应用开发实战是机械工业出版社于2012.11出版的中图分类号为 TP311 的主题关于 程序设计 的书籍。