小苏子
小苏子PDF在线图书

Kinect应用开发实战 用最自然的方式与机器对话 内容简介

Kinect应用开发实战 用最自然的方式与机器对话 内容简介

Kinect应用开发实战 用最自然的方式与机器对话 目录

Kinect应用开发实战 用最自然的方式与机器对话 精彩文摘

本书由微软资深企业架构师兼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是关于自然人机交互技术、计算机视觉技术的相关开源社区动态的介绍。推荐序一推荐序二前  言第一部分 准备篇引 言 从科幻电影谈起第1章 自然人机交互技术漫谈1.1 自然人机交互技术的发展1.1.1 第六感设备:技术的组合创新1.1.2 追影技术:摄像头也疯狂1.1.3 虚拟现实:真实的体验场景1.1.4 增强现实:真实与虚拟的叠加1.1.5 多点触摸:信息就在指尖1.1.6 语音识别:从ViaVoice到Siri1.1.7 眼球跟踪:从霍金的座椅谈起1.1.8 人脸识别:Photo DNA1.1.9 体感操作:达芬奇手术机器人1.1.10 脑机界面:霍金座椅的升级版1.2 “你就是控制器”—Kinect宣言1.2.1 Kinect销售记录及命名来历1.2.2 未来照进现实第二部分 原理篇第2章 揭开Kinect的神秘面纱—硬件设备解剖2.1 两款Kinect传感器对比2.2 Kinect传感器的硬件组成2.2.1 Kinect的“心脏”—PS1080 SoC2.2.2 Kinect的“三只眼”—投影机和两个摄像头2.2.3 Kinect的“四只耳朵”—麦克风阵列2.2.4 会摇摆的“相控雷达”—传动马达2.2.5 姿态控制—三轴加速度计2.2.6 USB接口及电源2.2.7 Kinect风扇控制2.3 Kinect相关技术规格2.3.1 Kinect近景模式2.3.2 Kinect放大镜2.4 本章小结第3章 Kinect工作原理大揭秘3.1 Kinect for Xbox 360的产品设计3.2 基于“管道”的系统架构3.2.1 骨骼跟踪3.2.2 动作识别3.2.3 人脸识别3.2.4 语音识别3.3 Kinect眼里的三维世界3.3.1 深度数据是Kinect的精髓3.3.2 2D视觉与3D视觉3.4 深度图像成像原理3.4.1 ToF光学测距与结构光测量3.4.2 Light Coding技术3.4.3 激光散斑原理3.4.4 光源标定3.5 从深度图像到骨骼图3.5.1 动静分离,识别人体3.5.2 人体部位分类3.5.3 从人体部位识别关节3.5.4 会“机器学习”的“Kinect大脑”3.5.5 骨骼跟踪的精度和效率3.6 创建你的Avatar3.6.1 “有骨有肉”3.6.2 泊松方程噪声滤除3.6.3 粗糙变平滑、缺陷自动补齐3.7 本章小结第三部分 基础篇第4章 Kinect for Windows SDK导读4.1 什么是Kinect SDK4.1.1 Kinect SDK的发展历程4.1.2 SDK v1.5的新特性4.1.3 SDK v1.5尚未提供的API4.1.4 从底层进行封装4.2 Kinect for Windows体系架构4.3 应用层API详解4.3.1 Kinect的核心NUI API4.3.2 Kinect Audio DMO4.3.3 Windows Speech SDK4.4 数据流概述4.4.1 彩色图像数据4.4.2 用户分割数据4.4.3 深度图像数据4.4.4 如何获取数据流4.5 骨骼跟踪4.5.1 骨骼信息检索4.5.2 主动跟踪和被动跟踪4.5.3 骨骼跟踪对象选择4.6 NUI坐标转换4.6.1 深度图像空间坐标4.6.2 骨骼空间坐标4.6.3 坐标变换4.6.4 传感器阵列和倾斜补偿4.6.5 地面测量4.6.6 骨骼镜像4.7 本章小结第5章 Kinect用户交互设计的若干思考5.1 Xbox 360 Kinect Hub界面和Metro风格5.1.1 什么是Metro风格5.1.2 Kinect Hub手势原型设计5.1.3 “悬停选择”和“翻页控制”5.2 体感游戏的优势及局限性5.2.1 更多的自由度5.2.2 关节点重叠的处理办法5.2.3 情感因素和心理暗示5.2.4 Kinect体感操作的局限性及对策5.3 用户交互的趋势和新特性5.3.1 Kinect使交互“柔软化”5.3.2 用户交互设计也可能是一项专利5.4 Kinect“体感操作”交互设计的七条军规5.4.1 控制手势集符合人类自然手势5.4.2 让用户的肢体移动幅度尽可能小5.4.3 操作界面的对象采用Metro风格5.4.4 “确认操作”保持简单、一致5.4.5 手势操作尽可能在同一个平面内5.4.6 从三维的视角去看交互设计5.4.7 配有简单明了的手势说明5.5 本章小结第四部分 开发篇第6章 开发前的准备工作6.1 开发Kinect应用所需的技能6.2 系统要求6.3 下载和安装Kinect SDK6.3.1 Kinect for Windows SDK v1.56.3.2 Developer Toolkit6.3.3 Kinect快速开发工具箱6.3.4 XNA开发环境6.4 加载驱动、检验及测试6.5 配置开发环境6.6 要点和故障排除6.7 本章小结第7章 Hello,Kinect!7.1 一行代码的“Hello, Kinect!”7.1.1 创建WPF工程7.1.2 添加KinectDiagnosticViewer控件7.1.3 编写一行代码7.1.4 编译运行7.2 控制台界面HelloKinectMatrix7.2.1 创建Console工程7.2.2 编写代码7.2.3 运行效果7.3 KinectContrib快速工程模板7.4 KinectWpfViewers工具控件7.5 本章小结第8章 Kinect开发循序渐进8.1 一个简单的编程模型8.1.1 初始化、启用Kinect设备8.1.2 彩色图像流事件处理8.1.3 深度数据捕获8.1.4 骨骼跟踪8.1.5 关闭Kinect设备8.1.6 Kinect设备状态管理及异常处理8.2 更专业的深度图8.2.1 改进转换方法8.2.2 事件处理8.3 控制Kinect仰角8.3.1 “你的塑身”游戏8.3.2 垂直调整Kinect仰角8.4 本章小结第9章 Kinect深度数据测量技术及应用9.1 什么是Kinect视角场9.2 深度值与实际距离的对比9.3 深度图像的直方图9.3.1 直方图统计信息的价值9.3.2 深度图像直方图的意义9.4 Kinect深度数据测量的应用9.4.1 近景模式:自动锁屏工具9.4.2 Kinect视角场几何推导:测量人体身高9.4.3 近距离探测:制作地形电子沙盘9.5 本章小结第五部分 实例篇第10章 用Kinect表演“变脸”10.1 在人的面部变换脸谱10.2 代码实现10.2.1 WPF工程、控件及初始化10.2.2 骨骼跟踪10.2.3 变脸及坐标变换10.3 合理暂停骨骼跟踪10.4 道具平滑跟随10.5 调整幕布大小10.6 练习作业第11章 用Kinect唤起“红白机”的回忆11.1 用身体控制马里奥11.2 代码实现11.2.1 WPF工程、控件及初始化11.2.2 模拟键盘输入工具类11.2.3 肢体语言映射到键盘事件11.3 副产品:PPT演示“空手道”11.4 练习作业第12章 用Kinect玩PC版的《水果忍者》12.1 空气鼠标设计思路12.1.1 找到离Kinect最近的那个人12.1.2 兼容左手习惯和右手习惯12.1.3 从骨骼坐标系到鼠标坐标系12.1.4 模拟鼠标工具类12.1.5 让“空气鼠标”移动自如12.1.6 模拟鼠标左键事件12.2 在PC中用Kinect玩《水果忍者》12.2.1 核心代码示例12.2.2 如何双手挥刀12.3 更多游戏:《割绳子》12.4 练习作业第13章 创建你的Kinect Hub Demo界面13.1 Metro风格界面设计13.2 使用Kinect骨骼跟踪13.3 使用Coding4Fun Kinect Toolkit开发加速器13.4 悬停选择13.5 本章小结第14章 用Kinect导播天气预报14.1 天气预报是这样炼成的14.1.1 绘制幕布,定义前景图片14.1.2 对象定义及初始化14.1.3 实现“画中画”效果14.2 一些优化的话题14.2.1 使用Using及时回收资源14.2.2 使用WriteableBitmap优化图片显示性能14.2.3 多线程和“轮询模型”14.2.4 使用中值滤波边缘去噪14.3 Kinect语音导播切换14.3.1 引用Microsoft.Speech命名空间14.3.2 音频数据流和语音识别引擎14.3.3 语音识别事件14.4 本章小结第15章 基于Kinect的家庭监控系统15.1 通过Kinect进行目标探测15.2 使用计算机视觉库15.2.1 Open CV程序库15.2.2 Emgu CV引用15.2.3 保存快照15.2.4 录制视频15.3 目标人体探测和影像录制15.4 扩展功能和更多应用场景15.5 本章小结第16章 “Kinect牌”梦境录音笔16.1 Kinect音频采集16.1.1 使用音频数据流16.1.2 “波束跟踪”信心值的另类用法16.2 音频录制16.2.1 WAV文件16.2.2 WAVEFORMATEX结构体16.2.3 梦境录音笔的实现16.3 练习作业第六部分 进阶篇第17章 再谈姿态识别和手势识别17.1 姿态和手势17.2 动作与算法17.2.1 如何设定动作集合17.2.2 借鉴正则表达式和状态机17.2.3 转换为几何三角问题17.3 常见手势识别17.3.1 挥手激活17.3.2 悬停按钮17.3.3 磁石悬停17.3.4 划动手势17.3.5 滑动解锁17.3.6 推按钮17.3.7 通用暂停17.4 工具介绍17.4.1 动作录制和识别GesturePak17.4.2 手和手指的“空气多点触摸”17.5 本章小结第18章 Kinect在手术室的应用原型18.1 原型设计18.2 交互设计18.2.1 “悬停选择”进行功能导航18.2.2 “空气鼠标”的激活和隐藏18.2.3 通过“划动”手势翻阅医学影像18.2.4 放大、缩小医学影像病灶部位18.2.5 “垂直摆动”翻阅病历18.2.6 体感操作结合语音控制18.3 体感操作的实现18.3.1 基于SwipeGestureRecognizer18.3.2 基于单个部位运动序列的轨迹分析匹配18.3.3 基于多个部位姿态快照的状态机匹配18.4 利用SDK v1.5的新特性18.4.1 近景模式下的上半身骨骼跟踪18.4.2 利用关节点朝向信息进行手势识别和三维操作18.4.3 人脸识别用于手术登录验证18.4.4 调试工具Kinect Studio18.5 本章小结第19章 Hello,Kinect 3D World!19.1 点、面、云19.1.1 像素和彩色图像帧19.1.2 深度图像帧和点云19.1.3 多Kinect设备的接入19.2 Kinect体感应用开发工具简介19.2.1 软件开发平台XNA19.2.2 游戏引擎Unity 3D19.2.3 3D场景重建工具ReconstructMe19.3 本章小结第七部分 展望篇第20章 奇思妙想—Kinect效应20.1 四旋翼飞行器的“导航雷达”20.2 宠物看护机器人20.3 空气吉他20.4 倒车雷达系统20.5 Kinect购物车20.6 魔术道具20.7 本章小结第21章 Kinect企业级应用21.1 思维导图21.2 体感操作应用21.2.1 手术室21.2.2 体育运动竞技研究21.2.3 动作捕捉、CG动画制作21.2.4 虚拟试衣镜21.2.5 课堂21.2.6 虚拟汽车展厅21.2.7 管理你的银行账户21.2.8 聋哑人的同声翻译21.3 深度数据应用21.3.1 老年人监护21.3.2 康复训练21.3.3 家庭监控系统21.3.4 道路交通稽查21.3.5 冰川消融研究21.3.6 给宇航员称体重21.4 实物3D建模应用21.4.1 实物3D数字化21.4.2 文物3D模型“数字敦煌”计划21.4.3 3D扫描和打印21.5 机器人视觉与控制21.5.1 地震搜救机器人21.5.2 深海探测机器人21.5.3 工程机械臂控制21.6 本章小结第22章 下一代人机交互技术22.1 下一代Kinect技术若干猜想22.2 未来惊鸿一瞥第八部分 附录附录A Kinect SDK命名空间速查手册附录B 推荐阅读及网络资源后记参考资料第一部分准备篇本部分内容引言  从科幻电影谈起第1章 自然人机交互技术漫谈引言 从科幻电影谈起只要用户手中还有一个控制器,就无法在情感上被完全调动起来。—史蒂芬斯皮尔伯格,2002年《少数派报告》(Minority Report)由学术研究产生的技术,似乎要到好莱坞绕一圈才能走进真实世界。或者换个说法:科幻小说和电影更早地预言了未来的科技—昨日之科幻,今日之现实。科幻电影可说是最直观、最具有冲击力的科普方式。瑰丽冷峻的银河外星球、自由变形的液态机器人,以及耳目一新的人机交互方式一直都是科幻电影最为夺目的光点。众多的科幻电影中,《星际迷航》的影响最大。著名物理学家霍金、科幻小说大师阿西莫夫和美国总统奥巴马等都是“星际迷”。如果看过《生活大爆炸》(The Big Bang Theory),你会注意到在第四季中,两个Geek主角Sheldon和Leonard的游戏机已由Wii变为Kinect(见图0-1),而且他们也是《星际迷航》的狂热粉丝。本书的主题是自然人机交互。事实上,《星际迷航》仿佛一本启示录,外太空、星际旅行、探险,从20世纪冷战时代开始就不断地给予现实的启示,你可以看到许多受到《星际迷航》影响的真实科技:瑞士军刀版的全能手机、超薄大屏幕显示墙、语音导航GPS、语音识别、遥控无人驾驶飞机、手术机器人等。甚至《星际迷航》的艺术家们在30年前就构想出iPad(在电影里它被命名为PADD)。重温经典电影,你会发现,PADD上那些复杂的后期特效的制作,道具上也都惟妙惟肖地采用仿真实现。PADD与iPad惊人的相似,PADD没配备物理键盘,采用全触摸操作。甚至从工业设计的角度来看,PADD与iPad的体型都是一致的:整体矩形构造、圆角设计以及厚度。

赞(0)
未经允许不得转载:小苏子图书 » Kinect应用开发实战 用最自然的方式与机器对话 内容简介