科技>计算机>图形图像
虚拟现实技术应用和Kinect开发——基于煤层气仿真训练系统

虚拟现实技术应用和Kinect开发——基于煤层气仿真训练系统"

作者:曹林,朱希安
ISBN:9787121259791
定价:¥49.0
字数:487千字
页数:320
出版时间:2015-06
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书依托国家科技重大专项项目——煤层气田地面集输信息集成及深度开发技术(2011ZX05039-004-02),借助于虚拟现实技术,开发一套专门应用于煤层气集输系统安全操作的仿真训练系统。本书详细介绍了虚拟现实技术以及煤层气产业的研究现状、煤层气仿真训练系统的应用与需求分析,然后介绍煤层气仿真训练系统的开发平台、总体设计、系统模型的构建,以及系统的演示模式、向导模式和人机交互,最后还介绍了数据手套在系统的研究与应用、Kinect的开发及应用。

前言

前 言 随着计算机和信息技术的日新月异,以微电子技术为基础的信息技术迅猛发展,由此带来了多媒体技术的突飞猛进和广泛应用,人们不再从事枯燥乏味的数据输入,而是进入了丰富多彩的图形世界。但目前这种二维图形接口存在严重的局限,与人的自然感知习惯有本质区别,因而仍被称为以计算机为中心的接口技术。 虚拟现实技术是对现实世界进行多维时空的仿真技术,除了对三维空间和一维时间仿真外,还包含对自然交互方式的仿真。是可以模拟人类视觉、听觉、触觉等感知行为的高度逼真的人机交互技术。是计算机图形学、多媒体技术、人机接口技术、计算机仿真技术及传感器技术等多种信息技术的基础上发展起来的一门多学科的交叉技术。虚拟现实技术具有以下几个特征。 1.沉浸性(Immersion),又称临场感,指用户感到作为主角存在于模拟环境中的真实程度。在虚拟现实的环境中,用户能感到自己成为了一个“发现者和行动者”。 2.交互性(Interaction),是指用户可以对虚拟环境中的物体进行操作,并得到即时的反馈。 3.想象性(Imagination)指虚拟的环境是人想象出来的,同时这种想象体现出设计者相应的思想,因而可以用来实现一定的目标。 从虚拟现实的特点可以看出,虚拟现实技术给人提供了一个类似真实的虚拟环境,在这个虚拟环境中,人们可以借助交互技术像在现实世界中一样进行活动。在煤层气行业,由于工作环境复杂,利用虚拟现实技术进行煤层气作业培训具有明显的优势。相对传统的培训方式,在煤层气行业中运用虚拟现实技术具有如下优势。 1.提供逼真的虚拟场景,使受训者不必亲到现场而能经历真实环境的体验。 2.提供清晰的画面,使受训者能全方位清晰的了解作业环境。 3.不受训练环境的限制,受训者可以在任何复杂、危险的环境中接受训练。 4.避免误操作造成的人员伤亡和设备损坏,能有效地降低培训成本。 在煤层气的工业生产中,工作环境相对比较复杂,对矿工的安全教育和技术训练也相对困难,由于新技术、新设备的不断引进,训练方式也越来越复杂。传统的教育模式很难适应现代化工业安全生产的要求,而随着虚拟现实技术的迅猛发展以及在许多领域的成功应用,将该技术引入工业生产中可以解决许多问题。利用虚拟现实技术虚拟出井上和井下各种复杂的作业环境,真实还原地形地貌、管线与设备等情况,实现三维虚拟场景的虚拟漫游、勘察和生产作业相关的人机交互功能,使训练者身临其境去体验和感受,并从中学会如何采取有效的应急措施去处理各种险情,排除隐患。由于“虚拟环境”所具有的交互性,使得受训者能够迅速理解和掌握那些在书面资料上很难理解的内容,操作方法的学习、工作技巧的掌握等也变得非常简单和容易。与传统的训练模式相比,效果明显而且节约成本,可以更快提高训练者的作业素质,促进企业生产效益的提高。 本书依托国家科技重大专项专题项目——煤层气田地面集输信息集成及深度开发技术(2011ZX05039-004-02),借助于虚拟现实技术,开发一套专门应用于煤层气集输系统安全操作的仿真训练系统,该系统通过为受训者提供逼真的煤层气集输工作的虚拟场景,使受训者能够在视、听、触觉多维空间中接受类似实地的作业训练。本书共分10章,其中第1、3、4、5、9、10章由曹林撰写,第2、6、7、8由朱希安撰写,全书由曹林统稿。各章节主要内容如下。 第1章介绍了虚拟现实技术的研究现状及技术特征分类,分析了虚拟现实技术的主要特性,重点介绍了虚拟现实系统的硬件设备和人机交互技术,并探讨了煤层气行业的发展状况以及该行业发展信息技术的进程。 第2章介绍了煤层气仿真训练系统的开发平台。包括统一建模语言(UML)及其应用;系统所使用的编程语言C#及其开发工具Visual Studio 2010;Unity3D开发平台特点和Unity3D在本系统中的应用;最后,介绍了3ds Max建模工具及其特点与应用,以及本系统中运用3ds Max所构建的几个典型的3D模型。 第3章给出了煤层气仿真训练系统的设计原则、定位、技术指标以及模块设计方法,并详细阐述了系统模块的设计方案、设计图及一些重要功能。该系统共分为6个模块,分别是任务系统模型、设备操作系统模块、仿真系统模块、流程演示系统模块、文字语音系统模块以及输入输出系统模块。 第4章提出了系统模型的构建方法,包括场景模型和实体模型。用图像和几何相结合的方法构建了煤层气集输现场各种设备仪器的模型,如压缩机、稀油站、空冷器、分离器等。在建模的基础上,根据实际采集到的场景数据对系统的五大基站进行了还原。 第5章开发了一套系统的演示模式,旨在全面立体地向用户展现煤层气行业的主要流程,让用户快速了解整个煤层气环境和基础知识。在全景演示模式中,用户可以观察煤层气集输过程中气体在设备间的流向。在第一人称演示模式中,用户以第一视角跟随气体流动,每经过一处设备就会围绕该设备旋转并以语音的形式给出该设备的信息与简单原理,使用户得到该设备的更多细节信息。 第6章以增压站为主要场景介绍了系统的向导模式。使用者在向导模式中跟随NPC完成场景任务,熟悉各种仪器设备的作用及其操作流程。此外,本章还给出了向导模式中设备操作模块、文字语音模块及面板模块的核心代码。 第7章以单井、集气站和加压站等场景为基础,讨论系统的人机交互。在系统的人机交互过程中,提供了可自由移动、自由旋转视角的虚拟人物,由用户独立完成任务,既没有向导带领,也没有提示面板。此外,本章还详细讨论了煤层气仿真训练系统中人机交互的任务设计、设备操作以及仿真系统,不仅有详细的功能介绍,而且提供了完整的脚本代码。 第8章主要研究数据手套在系统中的应用,实现数据手套控制场景中的虚拟手进行抓取、旋转等操作。本章重点讨论了虚拟现实中的碰撞检测问题,概述了包围盒算法的原理和类型,并通过分析碰撞检测在虚拟手交互过程中的重要性,结合系统提出了一种基于射线的虚拟手的碰撞检测算法,可以利用射线的特性来解决虚拟手因无力反馈设备而经常出现的穿透现象。 第9章介绍了微软Kinect传感器的相关应用。首先对Kinect的结构和硬件设备做了全面的剖析,然后重点分析了Kinect的工作原理、深度图像成像原理和骨骼追踪原理,并为后续的应用开发提供了重要的支撑。 第10章对人机交互技术中关于Kinect的应用开发做了较为深入的扩展,研究了Adaboost算法与Kinect相结合的人体动作识别算法,提出了基于Kinect传感器骨骼信息的人体动作识别算法和基于Kinect骨骼关节点空间位置的动作识别算法。 本书所涉及的主要内容来源于煤层气田地面集输虚拟现实仿真系统的相关实现,同时广泛参考了国内外同行的研究成果。本书的出版得到了国家科技重大专项——煤层气田地面集输信息集成及深度开发技术(项目编号:2011ZX05039-004-02)和北京市属高校青年拔尖人才培育计划——智能视频行人检测与异常行为识别研究(项目编号:CIT&TCD201304119)等科研项目的资助,在此一并表示感谢。 由于时间仓促,书中难免存在不足,欢迎读者对本书批评指正。 作者 2015年4月28日 中国北京

目录

目 录 第1章 概述 1 1.1 虚拟现实概念与研究现状 1 1.1.1 虚拟现实技术的概念 1 1.1.2 虚拟现实研究领域的形成 2 1.1.3 国外虚拟现实技术的研究现状 5 1.1.4 国内虚拟现实技术的研究现状 7 1.1.5 虚拟现实技术的应用领域 8 1.2 虚拟现实技术的特征与分类 12 1.2.1 虚拟现实的3I特征 12 1.2.2 虚拟现实系统的分类 14 1.3 虚拟现实系统的硬件设备 16 1.3.1 立体显示设备 16 1.3.2 人机交互设备 19 1.3.3 位置跟踪设备 20 1.3.4 声音输出设备 21 1.4 虚拟现实的相关技术 22 1.4.1 虚拟现实建模技术 22 1.4.2 虚拟现实人机交互技术 23 1.5 煤层气产业的发展状况 24 1.5.1 国外煤层气产业的发展状况 25 1.5.2 国内煤层气产业的发展状况 27 1.5.3 虚拟现实技术在煤层气产业中的应用 28 1.6 煤层气仿真训练系统的应用与需求分析 29 1.6.1 煤层气仿真训练系统的应用概述 29 1.6.2 煤层气仿真训练系统的核心系统 29 1.6.3 煤层气仿真训练系统的特色功能 31 1.7 本章小结 33 第2章 系统的开发平台 34 2.1 UML 34 2.1.1 UML概述 35 2.1.2 UML的应用 35 2.2 C#编程语言 36 2.2.1 C#概述 36 2.2.2 Visual Studio 2010开发环境 37 2.3 Unity3D开发平台 38 2.3.1 Unity3D概述 38 2.3.2 Unity3D在煤层气仿真训练系统中的应用 42 2.4 3ds Max虚拟建模工具 43 2.4.1 3ds Max概述 43 2.4.2 3ds Max的应用 45 2.5 本章小结 48 第3章 系统的总体设计 49 3.1 系统定位 49 3.2 系统设计原则 50 3.3 系统模块设计 50 3.3.1 任务系统模块 50 3.3.2 设备操作系统模块 57 3.3.3 仿真系统模块 58 3.3.4 流程演示系统模块 60 3.3.5 文字语音系统模块 62 3.3.6 输入、输出系统模块 62 3.4 本章小结 63 第4章 系统模型的构建 64 4.1 三维建模基础知识 64 4.1.1 几何建模 64 4.1.2 图像建模 66 4.1.3 物理建模 66 4.1.4 运动建模 67 4.1.5 行动建模 68 4.2 实体模型的构建 68 4.2.1 实体建模软件 69 4.2.2 图像与几何相结合的建模方法 69 4.2.3 设备建模 70 4.3 场景模型的构建 73 4.3.1 分场景与模块设计 74 4.3.2 主场景 74 4.3.3 增压站 74 4.3.4 加气站 75 4.3.5 集气站 76 4.3.6 电潜泵单井 76 4.3.7 磕头机单井 77 4.4 模型真实感处理 77 4.4.1 纹理映射 77 4.4.2 细节等级技术 78 4.4.3 光照和着色 78 4.5 用户界面 79 4.5.1 界面设计的必要性 79 4.5.2 任务提示面板 80 4.5.3 操作界面可变图标 80 4.5.4 操作界面固定图标 80 4.5.5 实体模型指示物 81 4.5.6 文字描述框 81 4.6 本章小结 81 第5章 系统的演示模式 82 5.1 演示模式简介 82 5.2 演示模式的设计思路 83 5.3 全景演示模式 86 5.3.1 系统核心模块代码 86 5.3.2 点击操作与按钮操作示例 89 5.4 第一人称视角演示模式 90 5.4.1 系统核心模块代码 90 5.4.2 第一人称视角演示模式操作示例 101 5.5 演示模式在Unity3D中的实现 102 5.5.1 全景演示模式的配置 102 5.5.2 第一人称视角演示模式的配置 104 5.6 本章小结 107 第6章 系统的向导模式 108 6.1 向导模式简介 108 6.2 向导模式的任务设计 108 6.2.1 任务系统核心模块代码 108 6.2.2 老工人NPC的控制代码 117 6.2.3 路径代码 126 6.2.4 avatar跟随NPC代码实现 127 6.3 向导模式的设备操作 129 6.3.1 InteractiveObject 129 6.3.2 avatar的控制脚本 134 6.3.3 可交互物体的控制脚本 141 6.4 向导模式的文字语音 151 6.4.1 背景音乐控制 151 6.4.2 语音系统 152 6.4.3 文字系统 153 6.5 向导模式的面板设计 155 6.5.1 MsUi 156 6.5.2 UIButtonMessage 161 6.6 本章小结 164 第7章 煤层气仿真训练系统的人机交互 165 7.1 人机交互简介 165 7.2 人机交互的任务设计 166 7.3 人机交互的设备操作 172 7.3.1 抽油机单井场景中可交互物体的控制脚本 173 7.3.2 电潜泵单井基站场景中可交互物体的控制脚本 176 7.3.3 加压站场景中可交互物体的控制脚本 185 7.4 人机交互的仿真系统 198 7.5 本章小结 202 第8章 数据手套相关技术的研究与应用 203 8.1 数据手套简介 203 8.2 数据手套的工作原理和功能 204 8.2.1 数据手套的原理概述 204 8.2.2 5DT数据手套的原理和功能介绍 204 8.3 数据手套在系统中的应用 206 8.3.1 DataGloveContent 206 8.3.2 DataGloveSupport 215 8.4 数据手套碰撞检测 221 8.4.1 层次包围盒 222 8.4.2 基于虚拟手的运动方向的动态碰撞检测算法 225 8.5 本章小结 230 第9章 Kinect初探 231 9.1 Kinect硬件设备 232 9.1.1 核心芯片 234 9.1.2 摄像头 234 9.1.3 麦克风阵列 236 9.1.4 传动马达 236 9.1.5 其他部件 237 9.2 Kinect工作原理 239 9.2.1 深度图像成像原理 239 9.2.2 骨骼追踪原理 240 9.3 Kinect底层开发接口 242 9.3.1 Kinect SDK系统架构 243 9.3.2 数据流处理 244 9.3.3 骨骼追踪 248 9.3.4 坐标变换 252 9.4 本章小结 254 第10章 Kinect开发与应用 255 10.1 结合Kinect和Adaboost算法的动作识别开发 255 10.1.1 人体动作识别的系统构架 255 10.1.2 动作特征曲线的获取 257 10.1.3 动作特征集与强分类器的获取 260 10.1.4 动作识别与结果分析 262 10.2 基于Kinect骨骼空间几何角度的动作识别开发 264 10.2.1 基于Kinect获取骨骼数据及骨骼拓扑结构 264 10.2.2 提取感兴趣骨骼关节点及定义骨骼向量 265 10.2.3 提取骨骼向量的方向余弦特征 266 10.2.4 采用支持向量机(SVM)训练 267 10.2.5 动作识别结果分析 268 10.3 基于Kinect骨骼关节点空间位置的动作识别开发 271 10.3.1 动作的分类 271 10.3.2 单个动作识别算法 272 10.3.3 动作识别的系统实现 277 10.4 Kinect在煤层气仿真训练系统中的应用开发 284 10.4.1 Kinect插件使用说明 284 10.4.2 Kinect输入系统设计思路 285 10.4.3 Kinect输入系统具体设计 286 10.4.4 Kinect用户操作说明 302 10.5 本章小结 303 展望 304 参考文献 306

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个