首页>参考读物>计算机科学与技术>软件与程序设计

Kinect应用开发实战:用最自然的方式与机器对话
作者 : 余涛 著
出版日期 : 2012-11-16
ISBN : 978-7-111-40092-9
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 360
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书由微软资深企业架构师兼Kinect应用开发专家亲自执笔,既系统全面地讲解了Kinect技术的工作原理,又细致深入地讲解了Kinect交互设计、程序开发和企业应用展望。全书不仅包含大量实践指导意义极强的实战案例,而且还包括大量建议和最佳实践,是学习Kinect for Windows应用开发不可多得的参考书。
本书分为八大部分:准备篇(引言和第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是关于自然人机交互技术、计算机视觉技术的相关开源社区动态。

图书特色

微软资深企业架构师兼Kinect应用开发专家亲自执笔,专业社区及企业客户联袂推荐
系统讲解Kinect工作原理、Kinect for Windows应用开发、人机交互设计,包含大量案例、技巧和最佳实践
繁体版台湾发行
Kinect应用开发实战
用最自然的方式与机器对话
余 涛  著

封底:
Kinect在游戏领域获得极大成功,成为有史以来销售最快的电子消费产品,其成功源于消费者对于自然人机交互方式的渴望和认可。微软最初的战略是通过Kinect开启互动娱乐的新纪元。与此同时,世界各地的人们利用Kinect技术来实现各种奇思妙想,探索Kinect技术的无限可能,引起“Kinect Effect” (Kinect效应)。在这种趋势下,微软推出Kinect for Windows开发平台及工具,启动“Kinect加速计划”,扶持和激发全球开发者基于此平台的应用开发和创新。2012年10月9日,Kinect for Windows带着创新与机遇登陆中国,为中国企业和开发者提供一个自由释放创造力的广阔平台,与Kinect for Windows这一不断提供成功所需的技术创新以及商业基础设施的平台合作,将使企业用户拥有无限的创新机遇。Kinect for Windows SDK为程序开发人员开启了无限宽广的世界,让他们可以轻松地在Windows上发挥Kinect的技术潜力。
整本书内容的组织和定位,在满足读者技术原理上的一些好奇心的同时,更多的是启发读者思考Kinect技术的商业价值。同时通过生动的开发示例帮助读者快速踏上Kinect人机交互开发之旅。另外,本书对Kinect应用的交互设计也有一些原创的见地,希望能给关注用户体验的产品经理一些新的启示。本书也提供了手术室应用原型这一接近真实世界的综合示例,读者可以此为脚手架,找到与更多行业的结合点。为了增加一些阅读的趣味性,作者穿插介绍了很多科幻电影以类比阐述原理,这是本书的一大特色。
如果你对Kinect感兴趣,想了解其背后的工作原理,或是希望开发一款体感应用,本书将会是你开启Kinect应用开发之旅的最佳选择之一。

前:如果一个人能够单纯地因为内心的一个激动,胸中的一份梦想而去做一件事情,这种生活状态是值得羡慕的。余涛正处在这种让我产生羡慕之情的状态中。两年前,余涛和我聊起Kinect,其后,我们又陆续交流过几次,每次都能感受到他对Kinect技术的激情。
Kinect技术目前还在不断完善中,离“用最自然的方式与机器对话”还有距离,但Kinect是一个新的起点,朝着这个方向又迈进了一步。余涛曾经和我说起: 从成都到拉萨的骑行,最难的是将自行车推出家门的那个瞬间。Kinect已经让我们迈出了第一步,等待我们不断探索前行!相信会有键盘、鼠标乃至Kinect也消失的那一天!我们可以用人与人沟通的模式和机器沟通。
期待不同领域的读者会从本书中收获不同的内容:可以是对Kinect的深入了解,可以是很具体的开发方法,也可以是很前瞻的应用模式。期待Kinect技术早日走向实用!
—— 阴忆青 医学博士
/复旦大学附属中山医院计算机网络中心主任
兼普通外科主治医师
/上海市医院协会信息管理专业委员会副主任委员


Kinect让人机互动变得简单易行,从而打开了一扇互动之门。回想多年前的动漫《超时空要塞》中试衣的一个镜头:只要站到指定的位置,就能看到穿上这件衣服的效果。现在这一幕正逐渐走进现实中:足不出户,就能“试穿”全世界的品牌时装,甚至订制尺寸,真正做到“我看见,我穿上”的效果。Kinect技术也许可以激发出电子商务和在线广告应用的新模式,读完本书你可能会有新的思考。
—— 铁 轮(姚云蛟)
淘宝网广告技术资深架构师


作者简介
余 涛 (网名fishking1979)
企业应用架构师(Enterprise Architect)、PMI认证项目管理师(PMP),目前就职于微软中国。热衷于Kinect技术,致力于推广Kinect体感技术在企业领域的应用。拥有12年以上的软件行业经验,有丰富的大型软件项目设计、开发、管理经验,为医疗、智能交通、能源、汽车等企业级客户提供架构及咨询服务。业余爱好旅行、山地车运动和电影。

图书前言

为什么要写这本书
  Kinect以Natal为开发代号在CES2010一亮相就光芒四射。发布会上那段视频令我印象深刻:你可以用身体自如地进行游戏,而且无需任何控制器。也许就在那一刻,全世界的很多技术爱好者都在想:“我们还可以用Kinect干点什么呢?”
我将这段视频转发给复旦大学附属中山医院的阴忆青博士。他看完后敏锐地问道:“是否可以基于Kinect开发手术室的应用?”那时Kinect还未正式发布,但这个念头着实让我兴奋不已。
  我们似乎已经进入了这样一个时代:计算机已逐渐拥有与人类媲美的感知能力—它们能看到、触摸到、感觉到我们所处的地点和运动状态。科幻电影银幕中的场景,正逐步出现在我们的身边,并成为生活中的一部分。Kinect正是在这样的背景中诞生的,人机交互从二维世界扩展到三维空间,而且是非接触的交互体验(Touch-Free)。Kinect也许会成为第三次人机交互革命的原点。
  2011年春天,我从美国买了一台Xbox 360 Kinect套装。“你的身体就是控制器”,Kinect for Xbox的广告词如雷贯耳。为了满足好奇心,我开始搜集Kinect技术及其原理的相关信息,网络上的讨论也逐渐升温。我阅读了New Scientist网站上的一篇博文《Inside the race to hack the Kinect 》,其中讲述了破解Kinect的全过程。这是一次有悬赏的技术竞赛,黑客们通过USB记录仪截获了Kinect与主机之间通信的所有数据,整个破解过程就是一个逆向工程。微软似乎默许了这样的黑客行为。与此同时,关于Kinect的各类创意在网络上如同雨后春笋一般涌现出来,比如用Kinect给四旋翼飞行航模配上“导航雷达”、制作宠物狗看护机器人、在空气中弹吉他、利用Kinect制作倒车雷达系统,或是用来玩经典游戏《超级马里奥兄弟》。
  “向Xbox 360中增加Kinect,就像是给一艘潜水艇配备了声纳设备一样”,这是我特别喜欢的一句评论。Kinect还引发了无尽的想象和创意,让人跃跃欲试。
  2011年初夏,微软顺水推舟发布了Kinect for Windows SDK beta1版本,相比开源社区的工作的确有些姗姗来迟。这期间,我试着写了几个简单的应用,除了SDK帮助文档外,开发资料乏善可陈,相关英文书籍也未出版。那个夏天,我骑车远行了一次,从成都到拉萨。路上我萌发了一个念头—写一本原创书。当年秋天,我在杭州参加QCon2011大会,席间我与好友(淘宝架构师铁轮)对写书的想法进行了深入讨论。会后我正式明确了写作方向,那时Kinect for Windows SDK beta2版本已经发布了。我阅读了Jamie Shotton和Alex Kimpman等人联合写的那篇重要论文《Real-Time Human Pose Recognition in Parts from Single Depth Images》,之后关于Kinect的实现机制豁然开朗。之后的业余时间,我都会跟踪Kinect技术的一些动态发展,并搜集整理资料。与此同时,Kinect自然人机交互技术也逐步成为我和企业用户沟通的一个有趣话题。我发现,除了医疗领域外,教育、银行、航空、广告等领域也都对这项技术表现出浓厚的兴趣。基于此,我对整个书稿原目录的构思做了调整,除了原理、SDK开发基础和实例外,将整理更多关于Kinect在企业级应用的创意,并且从人机交互技术的角度思考它的商业价值。
  2012年春节前,我有幸认识了机械工业出版社华章分社的杨福川先生,期间邮件往来,讨论了本书的定位及大纲。春节过后,微软很快正式发布了Kinect SDK v1.0版本。当时我正在美国出差,顺路在Belleville的Microsoft Store里买了Kinect for Windows传感器。同时,我也正式开始了本书的编写。
  本书从构思到成稿,差不多跨越了Kinect for Windows SDK beta1、beta2、v1.0到v1.5四个版本。写作主要集中在beta2到v1.5发布前的一段时间。
  Kinect技术还在不断发展,本书作为一本开发入门书籍,希望能给国内Kinect技术爱好者们一些启发。如能激发出一些新的创意,那将是件极有意义的事情。
  希望阅读本书能让你感到愉快并有所启发。
读者对象
  从Kinect爱好者到程序员,从在校大学生到游戏研发团队都可阅读本书,因为本书可从工作原理及实操指导两方面给予相应的指导。此外,我相信,对人机交互和用户体验非常敏感的产品经理、企业架构师也能从本书中获得相应的启发和灵感。本书具体的读者对象如下:
   Kinect应用开发爱好者;
   开设计算机视觉和人机交互课程的大专院校相关专业的师生;
   对Kinect技术感兴趣的所有人士。
如何阅读本书
  本书分为八个部分:
  第一部分:准备篇(引言和第1章)。从科幻电影的自然人机交互技术谈起,同时介绍了虚拟现实、增强现实、多点触摸、语音识别、眼球跟踪、人脸识别、体感操作、脑机界面等人机交互技术,并结合一些生动例子来说明这些技术的最新发展动态。
  第二部分:原理篇(第2~3章)。深入剖析Kinect的硬件组成,从原理上分析Kinect的工作机制,并从计算机视觉技术角度去重点分析“体感操作”背后发生的一切。
  第三部分:基础篇(第4~5章)。对Kinect for Windows SDK进行框架性的导读,并对Kinect自然人机交互的设计进行归纳并提出有益的建议。
  第四部分:开发篇(第6~9章)。介绍Kinect的开发环境准备,内容包括“Hello Kinect”代码的编写及视频数据、深度数据、骨骼跟踪等开发示例,其中还包括一个用Kinect测量身高的有趣示例。
  第五部分:实例篇(第10~16章)。通过一些生动、有趣的应用实例开发,帮助读者快速入门。比如用Kinect的体感操作来玩《超级马里奥兄弟》、《水果忍者》等游戏;创建Kinect Hub界面、隔空演示PPT、用Kinect录制梦境的呓语、制作天气预报导播的绿屏效果。这一部分还设计了需要完善的作业,帮助读者动手实践和引发读者进一步的思考。
  第六部分:进阶篇(第17~19章)。包括姿态识别和手势识别的算法实现,Kinect技术结合3D技术的应用。同时结合Kinect在手术室的原型应用这一综合示例,将交互设计、骨骼跟踪、手势识别、语音识别等关键点“串烧”起来,其中还包括Kinect SDK v1.5中人脸跟踪、Kinect Studio等新特性。
  第七部分:展望篇(第20~22章)。汇集Kinect应用的相关创意和奇思妙想,并介绍了Kinect在医疗、教育、动作捕捉、虚拟现实、增强现实、动漫设计乃至冰川研究等诸多方面的发展前景。
  第八部分:附录。附录A是关于Kinect SDK命名空间Microsoft Kinect的详细介绍;附录B是关于自然人机交互技术、计算机视觉技术的相关开源社区动态。
勘误和支持
  由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。书中的全部源文件可以从华章网站以及CnKinect网站下载,我也会及时在CnKinect网站上发布相应的功能更新。如果你有更多的宝贵意见,欢迎发送邮件至邮箱fishking1979@hotmail.com,期待能够得到你们的真挚反馈。
致谢
  首先感谢Microsoft Kinect的研发团队和产品组,是他们创造了这项意义深远的技术。
  感谢杨倩的引荐,是你的引荐促成了本书的出版。
  感谢机械工业出版社华章分社的策划编辑杨福川先生和CnKinect网站创始人王峰,2012年6月初夏的北京之行,席间的畅谈使我受益良多。
  感谢白宇编辑给本书提出的宝贵意见和建议。
  感谢热爱Kinect技术的朋友们,特别是Jerry,在与你的交流中我汲取了很多有价值的内容。
  最后感谢我的家人,尤其是我的妻子,因为有了你们的鼓励和支持,我才能顺利完成全部书稿。
  谨以此书特别献给我的女儿小雨。也许当她能读懂这本书的时候,Kinect技术早已融入生活。科技隐形之时也许才是最佳的状态。

余涛(fishking1979)
于中国成都

上架指导

计算机\程序设计

封底文字

Kinect在游戏领域获得极大成功,成为有史以来销售最快的电子消费产品,其成功源于消费者对于自然人机交互方式的渴望和认可。微软最初的战略是通过Kinect开启互动娱乐的新纪元。与此同时,世界各地的人们利用Kinect技术来实现各种奇思妙想,探索Kinect技术的无限可能,引起“Kinect Effect (Kinect效应)”。在这种趋势下,微软推出Kinect for Windows开发平台及工具,启动“Kinect加速计划”,扶持和激发全球开发者基于此平台的应用开发和创新。2012年10月9日,Kinect for Windows带着创新与机遇登陆中国,为中国企业和开发者提供一个自由释放创造力的广阔平台,与Kinect for Windows这一不断提供成功所需的技术创新以及商业基础设施的平台合作,将给企业用户带来无限创新机遇。Kinect for Windows SDK为程序开发人员开启了无限宽广的世界,让他们可以轻松在Windows上发挥Kinect的技术潜力。
整本书内容的组织和定位,在满足技术原理上的一些好奇心的同时,更多启发读者思考Kinect技术的商业价值。同时通过生动的开发示例帮助读者快速踏上Kinect人机交互开发之旅。另外,本书对Kinect应用的交互设计也有一些原创的见地,希望能给关注用户体验的产品经理一些新的启示。本书也提供了手术室应用原型这一接近真实世界的综合示例,读者可以此为脚手架,找到更多行业的结合点。为了增加一些阅读的趣味性,作者穿插介绍了很多科幻电影用于类比阐述原理,是本书的一大特色。
如果你对Kinect感兴趣,想了解其背后的工作原理,或是希望开发一款体感应用,本书将会是你开启Kinect应用开发之旅的最佳选择之一。

作者简介

余涛 著:放排好的目录和宣传语

推荐序

推荐序一
  人机交互的发展过程就是从人适应计算机到计算机不断地适应人的发展过程。人机交互的发展经历了早期的手工作业阶段、作业控制语言及交互命令语言阶段、图形用户界面(GUI)阶段、网络用户界面阶段、多通道与多媒体的智能人机交互阶段。伴随人机交互的发展,人机交互的输入与输出设备也在不断地发展,从鼠标、键盘、手柄到触摸屏,再到现在的体感传感器。而体感交互技术又是目前人机交互技术中最为前沿和热门的领域之一,这其中基于微软Kinect的应用开发却又最为广泛。
  对于国内众多的体感开发初学者和体感爱好者而言,本书是一本非常优秀的入门读物。本书内容涵盖对自然人机交互技术应用的介绍,Kinect硬件设备构造与原理的分析,Kinect SDK for Windows开发环境的搭建, Kinect SDK for Windows的详细讲解,Kinect交互设计的一些理念,以及Kinect在视觉、声音、3D等多方面的案例开发。其中涉及Kinect多点触摸、虚拟现实、增强现实、动作捕捉、3D重建、机器人控制等多种应用场景。
  本书的编写以国内广大体感开发者的需求为依据,从而使读者能够更深入地理解体感技术的应用场景。本书具有以下特点:由浅入深地引导开发者;实操性很强;创新与实战相结合;图文并茂;有很多珍贵的参考数据。因此本书不失为一本很好的Kinect体感开发工具书。祝广大读者通过对本书的学习能早日步入体感行列,开发出自己的体感应用!

CnKinect 王峰

王峰
Cnkinect.com创始人,体感工场(北京)科技有限公司CEO和创始人。

推荐序二
  我知道余涛,是因为一起参加了微软HR组织的员工活动。我受邀分享南极经历,他分享21天从成都武侯祠骑行至拉萨的经历。当时我就在想,这个人不简单,是个有梦想、能坚持的奇人。
  这次余涛寄来书稿,更加证实了我的判断:有梦想能坚持,居然写了本这么厚的编程指导书。他说,“Kinect唤回我Coding的激情”。
  是的。Kinect唤回了很多人的激情。与其说这是一本编程指导书,不如说是一本用作者的创造力唤醒大家想象力的梦想指南书。作者向大家展示了Kinect带给大家的无限可能。
  现在不少的编程人员,可能都是从基于Windows的Visual系列开始学起的,已经把图形界面和鼠标操作当成理所当然的。作为1985年被邓小平爷爷“学电脑要从娃娃抓起”一声号召之下就开始学电脑的我来说,深知“史前”编程和用户交互的不易。
  在很早的时候,我们只能用“机器语言”和电脑交互。那个时代,是人去理解电脑,并用0和1的指令告知电脑人们希望它去完成的事情。后来虽然有所发展,有了汇编语言、C语言等,但是和电脑谈话,还只是专业人士的工作。所以你可能还记得,要穿白大褂、换鞋进入电脑机房的时代。
  后来,施乐悄悄地发明了图形操作界面和鼠标。施乐并不明白这个发明有多伟大,比尔盖茨和史蒂夫乔布斯看到了,开发出了著名的Windows和Macintosh操作系统。自此以后,普通的人都可以用更加平等的方式和电脑交流了,而电脑也一下子平易近人起来。比尔“每个人的桌面上都有一台电脑”的梦想,最终得以实现。
  但是,这还不够。今天,几乎和鼠标一样伟大的人机交互方式—“Kinect体感”被发明了!这非常令人激动,因为电脑从此以后就可以通过观察人的动作、聆听人的声音,来理解人的指令,更加自然地和人交流了。我们把这种操作界面称为自然用户界面(NUI)。
  若干年后,我想大家会理解,Kinect会是多么伟大的一项尝试。而作者也同样尝试着在这个重要的时间点上,用自己的书点亮大家对未来的想象,帮助大家成为未来NUI的领导者。这本书里提到的例子都非常有趣。
  人类对更加智慧的人机交互方式的探索永远不会停止,你同样会看到用声音、用自然语言、用眼球交互的各种尝试。但是,所有这些基础的技术创新,都需要像你们这样的梦想家,只有你们在各个领域发挥最令人惊叹的想象力,才能开发出独特的应用,改良生产,改善生活。预祝每一个认真阅读本书的人都是未来的学者、未来的成功者!

刘润

刘润
微软战略合作总监,捐献时间公益组织创始人,香港百仁基金特邀会员,福布斯中文网专栏作家,愈奇投资合伙人,《2012,买张船票去南极》的作者。

图书目录

推荐序一
推荐序二
前  言
第一部分 准备篇
引 言 从科幻电影谈起/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

教学资源推荐
作者: 郭文夷 等编著
作者: 郑阿奇 主编 丁有和 编著
作者: 刘建舟 徐承志 陈荆亮 吴奕 编著 邵雄凯 主审
作者: 刘艺
参考读物推荐
作者: 袁林 编著
作者: Jeffrey Allan Hardy
作者: 杨丰盛 著