E N D
第六章 多媒体虚拟现实技术 主讲: 电话: 邮箱:
概述 • 虚拟现实(Virtual Reality,简称VR)技术是20世纪80年代末90年代初崛起的一种实用技术,是一种可以创建和体验虚拟世界(Virtual World)的计算机系统,是一种逼真地模拟人在自然环境中视觉、听觉、运动等行为的高级人机界面技术,人能够通过多种感官渠道与它进行实时交互,这些渠道包括视觉、听觉、触觉、嗅觉和味觉等等。它使计算机从一种需要人用键盘、鼠标对其进行操作的设备,变成了人处于计算机创造的环境中,通过感官、语言、手势等比较“自然”的方式进行“交互、对话”的系统和环境。 • 近年来,虚拟现实技术的飞快发展,引起了世界各国学者的关注,成为十分活跃的研究领域。它汇集一系列高新技术,包括计算机图形学、多媒体技术、人工智能、人机接口技术、传感器技术、高度并行的实时计算技术和人的行为学研究等多项关键技术。
主要内容 • 6.1 虚拟现实系统概述 • 6.2 虚拟现实系统的硬件设备 • 6.3 虚拟现实系统的相关技术建模 • 6.4 虚拟现实软件简介 • 6.5 虚拟现实建模语言VRML
6.1 虚拟现实系统概述 6.1.1 虚拟现实技术的发展及现状 6.1.2 虚拟现实技术的主要研究内容 虚拟现实的研究内容主要分以下几个方面。 1. 人与环境融合技术 (1)高分辨率立体显示器 (2)方位跟踪系统 (3)手势跟踪系统 (4)触觉反馈系统 (5)声音定位与跟踪系统 (6)本体反馈
6.1 虚拟现实系统概述 2. 物体对象的仿真技术 (1)几何仿真 • 研究如何快速建立不同层次的显示模型。 (2)物理仿真 • 场景造型应采用物理模型,不仅要考虑对象的几何形状,而且要考虑对象的质量、运动规律、受力情况和立体声音等,使物体在虚拟场景中的表示更为真实可信。 (3)行为仿真 • 研究在用户操作下或在其他景物的作用下场景状态的变化规律和变化过程。
6.1 虚拟现实系统概述 3. VR图像生成技术及高效快速生成体系图技术 • 实时显示的刷新频率大于15帧/秒,复杂场景的显示由于计算量巨大,必须采用层次信息模型与逐步求精技术。双屏显示的同步问题也是立体显示的一个关键。图形图像的合成设计及其合理叠加显示、虚拟世界坐标系与对象坐标系之间的转换,都是需要进一步研究的问题。坐标变换和碰撞检测需要大量的计算,并行处理是较好的方法。
6.1 虚拟现实系统概述 4. 实时处理及并发处理的多维信息表示技术 • 根本目的是使参与者沉浸于多维信息空间仿真建模,从中获取知识和形成新的概念。应克服的主要技术瓶颈是能对人类感知和肌肉活动起交互作用的基于计算机系统的接口系统,支撑技术(软硬件环境和工具)包括各类传感器、三维显示和音响器、虚拟环境产生器、程序设计工具集、计算机网络和高性能计算平台等
6.1 虚拟现实系统概述 5. 高性能的计算机图形处理硬件研究 • 重点研究图形处理专用硬件、图形的并行处理、大规模集成电路技术及其在图形发生器设计中的应用。 6. 分布式虚拟环境和基于网络环境的虚拟现实研究 • 对基于网络的虚拟现实研究应给予特别的关注,因为Internet技术与VR技术的结合为虚拟现实的未来提供了光明的前景。
6.1 虚拟现实系统概述 6.1.3 虚拟现实系统的基本组成 1. 虚拟世界 • 虚拟世界是可交互的虚拟环境,是虚拟环境或给定仿真对象的全体。它一般是一个包含三维模型或环境定义的数据库。虚拟环境是由计算机生成的,通过视、听、触觉等作用于用户,使之产生身临其境的感觉的交互式视景仿真。虚拟环境有多种形式,它可能是某些物理环境(如建筑物、厨房,甚至像汽车这样的物体内部)的伪真实反映, 也可能是根本没有任何物理基础的某一跨国公司的地理、层次网的三维数据库,甚至可以是与股票交易有关的多维数据集。虚拟环境还可用来评价一些物理仿真。在对电场中的分子行为进行模拟时,原子结构的行为动态可用简化的模型进行模拟。不管应用在何处,都要建立一个反映环境的几何数据库并将其存储起来,在需要时可进行实时调度和渲染。
6.1 虚拟现实系统概述 2. 虚拟现实软件 • 虚拟现实软件提供实时观察和参与虚拟世界的能力,包括虚拟环境建模、动画制作、物理仿真、碰撞检测和交互模式。 (1)虚拟环境建模 • CAD技术为虚拟现实提供了有效的建模手段。这些模型可为多数虚拟现实系统利用,节省了可观的再建时间。建模工具一般提供了广泛的图形库支持。 (2)动画制作 • 一些动画可用矩阵操作来支持移动及旋转,而摆动及弹跳运动则需要专门程序。实时计算这些物理过程会带来诸如系统延时等一些问题,在某些动画序列中,复杂的动作可用简单的模拟方法而不用复杂的数学过程。这项技术要求将这些动作分解为一系列离散的关键模型并放到数据库中。
6.1 虚拟现实系统概述 (3)物理仿真 • 在进行物理仿真时,我们必须为物体设计一些支持其某些物理行为的程序。这一方面要求很强的计算能力,同时也将使系统增加了一些延时。 (4)碰撞检测 • 在虚拟现实中,常用碰撞来模拟现实生活中的接触、抓、移动和打击等情形。虚拟现实系统的一个重要功能,就是能快速进行虚拟世界中物体间的碰撞检测。 (5)交互模式 • 为简化人机界面,人们提出了许多新方法,发明了许多新设备,以及与虚拟现实有关的新技术。由此出现了许多种交互模式。例如,特征识别单元、视觉显示单元、触摸屏、光笔、游戏杆、拇指轮、压感笔、便笺簿、数字化仪等都是与虚拟现实有关的设备和技术。
6.1 虚拟现实系统概述 3. 输入输出设备 • 输入设备可用于观察和构造虚拟世界,将用户输入信号输入给计算机,包括三维跟踪器、数据手套、三维鼠标等等。 输出设备可用于输出有关虚拟环境的视觉信号、声音信号和触觉信号,包括头盔显示器、耳机和各种触觉设备。 4. 与虚拟世界的交互 • 参与者与虚拟世界交互的过程大致如下:参与者首先激活输入设备,将头、手的位置和方向等信号输入给计算机,虚拟现实软件接受并解释输入,更新虚拟世界以及其中的物体,然后,重新计算虚拟世界的三维视图,并将这一新视图及其他信息如声音信号和触觉信号等立即送给输出设备以便参与者看到效果。用来支持虚拟现实的计算机能协调用户提供的各种输入信号,并向用户输出必要的图形、声音及触觉数据。
6.1 虚拟现实系统概述 6.1.4 虚拟现实的分类与特征 1. 虚拟现实的分类 (l)简易型虚拟现实系统 (2)沉浸型虚拟现实系统 (3)共享型虚拟现实系统 2. 虚拟现实的基本特征 (1)沉浸性 • 沉浸性是指让参与者有身临其境的真实感觉。可分为视觉沉浸、听觉沉浸、触觉沉浸、嗅觉沉浸和味觉沉浸等。 (2)交互性 (3)构想性
6.1 虚拟现实系统概述 6.1.5 虚拟现实系统的应用 1.科学研究和科学计算可视化 2.工程应用 3.商业应用 4.军事应用 5.医学应用 6.教育培训 7.娱乐应用
6.2 虚拟现实系统的硬件 6.2.1 跟踪设备 • 跟踪系统的功能是确定关于用户的头、手、身体及任意真实世界物体的位置及指向 (方向)。目前有六种类型的设备可以实现对用户的跟踪。 1. 电磁波跟踪器 • 此类跟踪器利用小型天线发出的磁场,由多个接收天线接收信号并通过计算得到三维的位置坐标和方向。 2. 超声波跟踪器 • 超声波跟踪器发出高频超声波脉冲,由装在天花板上的三个接收器接收信号,通过延迟即可计算距离。 3. 机械跟踪器 • 机械跟踪器通过精密的机械框架和连接来测量指定点的位置和指向。
6.2 虚拟现实系统的硬件 4. 惯性跟踪器 • 惯性跟踪器采用机械方法,利用小型陀螺仪测量倾角、偏角和转角。 5. 光学跟踪器 • 光学跟踪器是一种红外跟踪器。它利用摄像机获取图像,通过立体视觉计算确定目标位置,并通过观测多个参照点来确定目标的表面指向。 6. 图像提取跟踪器 • 图像提取跟踪器是一种计算密度最高的跟踪器。它是最易于使用但又最难开发的跟踪器。一台(组)视频摄像机拍摄人及其动作,然后由图像处理技术来确定人的位置及动作。
6.2 虚拟现实系统的硬件 6.2.2 传感器 1. 三维空间传感器 • 三维空间传感器应能实时地检测出一个活动的物体在六个自由度上相对于某个固定物体的数值,即在X、Y、Z坐标上的位置值,以及围绕X、Y、Z轴的旋转值。三维空间传感器是用来检测绝对位置和方向的。 2. 跟踪球 • 跟踪球(trackball)是一种检测和控制相对位置和方向的传感器,是用增量位置控制的方法实现的。 3. 三维空间探针 • 三维空间探针是一种直观、便宜,既能仿真绝对的位置和方向、又能仿真相对的位置和方向的I/O设备。
6.2 虚拟现实系统的硬件 6.2.3 数据手套 • 在虚拟现实中最常用的人机接口工具是数据手套,第一副数据手套是1987年在NASA(美国国家航空与宇宙航行局)的支持下研制成功的,近年来已有了极大的改进。数据手套的使用增加了虚拟现实系统的真实感。数据手套比起传统的鼠标来,交互的区域更大,手的运动更自由。鼠标局限于二维平面,而手套则提供了一个三维操作空间。 数据手套可以把手势转化成计算机可识别的数据。它利用复杂的磁骨骸和传感器技术,可以测量每个指关节的弯曲角。 • 视觉跟踪、眼睛跟踪和数据衣这些跟踪系统也都在研制中。
6.2 虚拟现实系统的硬件 6.2.4 触觉与力学反馈装置 1. 力学反馈手套 • 力学反馈手套是在计算机的控制下,通过对手指的运动产生阻尼,从而使用户的手产生力感。阻尼的大小由被抓物体的物理属性决定。 力学反馈手套技术提供给用户一种虚拟手控制系统,使用户可以选择或操纵机器子系统并能自然感觉到触觉和力量模拟反馈。 2. 压力反馈系统 • 当一个虚拟物被用户抓取时,一些虚拟环境系统要求真正的压力反馈,来防止手穿过固体。压力反馈系统是把压力加到操纵者手上,从而使人能够根据运动及压力的感受情况进行控制。
6.2 虚拟现实系统的硬件 3. 表面压力反馈装置 • 表面显示的概念是把虚拟物体本身的表面提供给用户的一个思想,而不是力的感知或与虚拟物体的接触而产生的触觉。在虚拟环境的实现中,存在于现实世界中的用户和在计算机中定义的虚拟物体之间的交互作用不得不通过一个力反馈设备调解。目前这类表面压力反馈装置包括:点阵式表面压力反馈装置和SPICE触觉接口。 6.2.5 头盔显示器 • 根据头盔的主要图像源是否在头盔上,可将头盔分为两类。图像源在头盔上的显示器采用的是阴极射线管(CRT)或液晶显示(LCD)设备。这两种头盔的主要缺点一是通常较重,二是比较危险。第二类头盔的主要图像源不在头盔上。它采用光纤设备把外部图像源输送到头盔上。这种类型头盔的主要缺点是与头盔相连的光缆过重。
6.3 虚拟现实系统的相关技术 • 虚拟现实系统是用计算机生成的虚拟世界,用户可以通过视觉、听觉、触觉等多种感官与虚拟世界进行交互,而虚拟世界能够迅速而准确地做出反应。要达到这个目标,虚拟现实系统的硬件是基础,但这远远不够,虚拟现实系统还要进行大量而复杂的软件设计。环境建模技术是虚拟现实系统软件设计的基础,三维场景实时生成技术和三维虚拟声重现技术是使虚拟现实系统具有真实感、沉浸感和交互性的关键,碰撞检测技术是衡量虚拟现实系统真实可用性的一个重要方面。
6.3 虚拟现实系统的相关技术 6.3.1 环境建模技术 • 环境建模技术是构造虚拟场景模型的技术,它是构造虚拟环境的核心技术。虚拟现实的环境建模技术不同于一般的图形建模技术,主要表现在以下三点: (1)虚拟现实系统中的场景和物体有自己的行为,而不是静止的或简单的运动。 (2)虚拟现实系统中的物体要有良好的可操纵性,当用户对其进行操作时,物体必须能够做出真实的反应。 (3)虚拟环境的生成必须满足实时性的要求,能及时地随用户的操作而改变。 1. 几何建模技术 • 几何建模是用几何图形来构造物体模型的方法。几何建模技术主要研究对物体的几何信息表示与处理、几何信息的数据结构和构造函数以及操纵数据结构的算法。
6.3 虚拟现实系统的相关技术 2. 物理建模技术 • 物理建模是在建模时考虑了物体的物理属性的建模技术,这些物理属性有质量、惯性、变形等。建模技术包括体素和结构两个方面。 3. 行为建模技术 • 行为建模是对物体运动的处理和行为的描述。行为建模不仅赋予物体外形特征,而且赋予物体行为和反应能力,如果说几何建模是虚拟现实的基础,那么行为建模则赋予虚拟现实系统以生命,行为建模真正体现了虚拟现实系统的根本特征。 4.虚拟现实建模NURBS技术 • 许多工程设计,需要统一的数学方法描述曲线和曲面。非均匀有理B样条(简称NURBS,Non Uniform Rational Basic Spline)正是这样一种数学方法。它既能与描述自由型曲线曲面的B样条方法相统一,又能精确表示二次曲线弧与二次曲面。
6.3 虚拟现实系统的相关技术 5.纹理贴图 • 纹理表现了物体表面的自然特征。纹理贴图是既能增加绘制图象的真实性,又不影响它们的基本几何形状的一种技术,没有纹理的图形显得呆板和枯燥。 6.全局光照 • 生成真实感图形的光照效果的主要方法有光线跟踪技术和辐射度技术。 7. 听觉建模技术 • 听觉建模是使虚拟场景中具有准确的声源位置,并使声音随操作者位置的改变而实时改变的声音系统构造方法。
6.3 虚拟现实系统的相关技术 6.3.2 立体显示技术 • 立体图像产生的方法是:对同一景物分别产生两幅对应于左、右眼的具有一定视差的图像,观察者借助立体眼镜等设备,使左、右眼分别看到不同的图像,然后经过大脑的融合,形成立体图像。常用的立体显示技术有: 1. 彩色眼镜法 2.偏振光眼镜法 3.头盔式立体显示器 4.裸眼立体显示技术
6.3 虚拟现实系统的相关技术 6.3.3 三维虚拟声重现技术 • 三维虚拟声系统是在虚拟场景中使用户能准确地判断出声源位置、符合人们在真实世界中听觉方式的声音系统。三维虚拟声重现技术包括声音定位与跟踪系统、听觉环境系统。 1. 声音定位与跟踪系统 • 利用不同声源的声音到达某一特定地点的时间差、相位差、声压差等可以进行声源定位与跟踪。 2. 听觉环境系统 • 听觉环境系统由语音与音响合成设备、识别设备和声源定位设备所构成。
6.3 虚拟现实系统的相关技术 6.3.4 三维场景实时生成技术 • 虚拟现实系统还要求图像具有真实感和实时性,真实感是指物体的形状、光学性质、表面的纹理和粗糙程度,以及物体间的相对位置和遮挡关系等与在真实世界中看到的一样;实时性是指当用户的视点改变时,场景能随之及时改变。这就要求图像的生成和显示的速度在每秒10~30帧。 1. 基于几何图形的实时绘制技术 • 为了保证场景刷新频率不低于30帧/秒,除了采用高性能的计算机外,降低场景的复杂度以提高动态显示速度是一种行之有效的方法,具体有预测计算、脱机计算、场景分块、可见消隐和细节层次模型等。
6.3 虚拟现实系统的相关技术 (1)预测计算 • 根据物体的运动规律,如行进的方向和速度,在绘制下一帧画面之前采用预测、外推等方法提前计算出下一幅场景,以提高显示速度。 (2)脱机计算 • 将一些可预知的数据事先计算好并存储起来,这样可以加快显示速度。 (3)场景分块 • 将一个复杂的场景划分为若干个互相不可见的子场景,每次只绘制可见部分,这样可降低场景的复杂度,减少绘制多边形的数目,提高显示速度。这种方法主要对封闭空间的场景有效。
6.3 虚拟现实系统的相关技术 (4)可见消隐 • 场景分块技术与观察者所处的位置有关,而可见消隐技术则与观察者的视线有关,系统只显示当前能看见的场景,而隐去视线以外的部分,这样也可以降低场景的复杂度,提高显示速度。 (5)细节层次模型 • 所谓细节层次模型(LOD,Level Of Detail),是对场景中的不同物体采用不同细节水平而建立的一组模型。
6.3 虚拟现实系统的相关技术 2. 基于图像的场景生成技术 • 目前,基于图像的场景生成技术主要有以下两种: (1)全景技术 • 全景技术是选择一个观察点,利用鱼眼数码相机旋转一周拍摄下一组画面,然后利用软件去生成所在视点不同视角的场景。 (2)图像的插值和视图变换技术 • 全景技术只有一个视点,而采用插值和视图变换技术可以将在不同视点拍摄的图像,交互地生成两个相邻图像之间的对应画面,从而得到其他视点的场景图,并且可以实现多点漫游。
6.3 虚拟现实系统的相关技术 6.3.5 碰撞检测技术 • 在虚拟世界中漫游,人与物体以及物体与物体之间的碰撞是不可避免的,为了保证虚拟现实系统的真实性,就要对碰撞进行检测,并作出相应的反应,否则就会发生诸如人穿墙而过这种不真实的现象,对碰撞问题的处理包括碰撞检测和碰撞响应两个方面,对他们都有实时性的要求,从检测出碰撞的发生到系统作出响应要在尽量短的时间内完成,最长不超过50ms,否则系统无法正常运行。 • 碰撞检测的方法有层次包围盒法和空间解析法。层次包围盒法的基本思想是利用体积略大的包围盒将对象包围起来,在进行碰撞检测时,首先进行包围盒的相交测试,只有包围盒相交的物体才做进一步的碰撞检测。层次包围盒法适用于复杂环境的碰撞检测。空间解析法是将整个虚拟空间划分成体积相等的小单元格,对占据同一单元格或相临单元格的物体进行相交测试。空间解析法通常用于对稀疏环境中分布比较均匀的物体进行碰撞检测。
6.3 虚拟现实系统的相关技术 6.3.6 增强现实系统 • 增强现实(AR,Augmented Reality)是虚拟现实的一个变种。虚拟现实是由计算机生成的虚拟环境,并使用户沉浸其中进行交互的虚拟环境系统。当沉浸在其中时,用户不能看到他周围的真实世界。与之相比,增强现实允许用户看到周围的真实世界,虚拟对象则被融合到真实的世界之中。因此,增强现实是对虚拟现实的补充,而不是完全取代它,即对现实的“增强”。理想情况下,它应该使用户感觉到虚拟对象与真实对象共存在同一个空间里。 1. 增强现实系统的特点 (1)组合真实与虚拟环境 (2)实时交互 (3)定位在3D空间
6.3 虚拟现实系统的相关技术 2.构造增强现实系统的技术 (1)增强 • 除了真实世界增加对象之外,增强现实也有能力移去这些对象。当前的工作集中在把虚拟对象增加到真实环境中去。目前增强现实的研究主要集中在混合真实和虚拟的图像与图形。 (2)光学与视频 • 构造增强现实系统的根本问题是如何完成真实对象与虚拟对象的结合。有两种基本的方法光学和视频技术。 (3)定位 • 当前限制增强现实应用的根本问题是定位问题。真实世界和虚拟世界中的对象必须相互正确定位。许多应用场合要求的甚至是精确定位。没有精确定位,增强现实将不被许多应用所接受。
6.4 虚拟现实软件简介 • 在虚拟现实中,虚拟环境是十分复杂的,我们不能每开发一个应用系统都从基本的代码开始进行,非常有必要提供某种框架或平台,使得新的应用可以在已有的虚拟环境系统开发工具的基础上进行。显然,我们需要一个通用的虚拟环境开发标准,以保证各种软件开发环境能够提供一个统一的用于对象建模的虚拟现实构造工具集。工具集主要提供相应的控制语言,以支持交互、动画和物理仿真。 6.4.1 虚拟环境应用工具包WTK 6.4.2 三维图形设计软件3DS MAX 6.4.3 网络三维交互软件Cult3D 6.4.4 分布式虚拟环境系统dVS 6.4.5 虚拟现实制作工具Maya
6.5 虚拟现实建模语言VRML • VRML(Virtual Reality Modeling Language)是虚拟现实建模语言,是一种三维造型和渲染的图形描述性语言,是继HTML之后的第二代Web语言,第二代Web把VRML与HTML、Java、流媒体等技术有机地结合起来,形成一种新的三维超媒体Web。VRML包含3D动画、音效、传感器触发、事件输入输出、行为控制、支持多种脚本与多重使用者等功能,具有与设备无关、可扩展以及能在低带宽网络中工作等特点,真正在Web上实现了动态页面,并加强了交互功能,达到真正虚拟现实的效果。
6.5 虚拟现实建模语言VRML 6.5.1 VRML的诞生及发展 • 1994年10月公布了VRML1.0的规范草案。 • 1996年8月公布了VRML2.0标准。 • 1997年12月VRML 97作为国际标准正式发布, 1998年1月正式获得国际标准化组织ISO的批准。 • 1999年底,VRML的又一种编码方案X3D草案发布。 • 2000年6月世界Web3D协会发布了VRML2000国际标准(草案),2000年9月又发布了VRML2000国际标准。 • 2002年7月23日,Web3D联盟发布了可扩展3D(X3D)标准草案。这项技术是VRML的后续产品。
6.5 虚拟现实建模语言VRML 6.5.2 VRML的工作原理 • VRML仍然是按照面向对象的方式来组织的,对象可以包含任何内容,如三维几何体、MIDI数据、JPEG图像等。 • VRML文件的解释、执行和呈现是通过浏览器实现,这与利用浏览器显示HTML文件的机制完全相同。浏览器把场景图中的形态和声音呈现给用户,这种视听觉呈现即所谓的虚拟世界(Virtual World),或称灵境。用户通过浏览器可以获得从某个特定方位体验的视听效果,灵境中的这种位置和朝向称为取景器(Viewer)。VRML提供了6+1个自由度,用户可以沿着三个方向移动,也可以沿着三个方向旋转,同时还可以建立与其他3D空间的超链接,因此VRML是超空间的。 • VRML的访问方式是基于客户/服务器模式的。其中服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载要访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟世界。
6.5 虚拟现实建模语言VRML 6.5.3 VRML的编辑器和浏览器 • VRML同HTML语言一样,是一种基于ASCII的描述性语言可以用普通的文本编辑器进行编辑,也可以用专用的编辑器。如果想浏览VRML文件,就必须安装VRML浏览器现在较常用、功能较强大的播放器有Microsoft2.0 VRML浏览器和Cosmo播放器。 Microsoft2.0 VRML浏览器是Internet Explorer浏览器自带的,不过早期的版本中没有,可以在[添加/删除程序]安装Microsoft2.0 VRML浏览器。Cosmo播放器是由SGI公司开发的一款VRML浏览器,与Microsoft2.0 VRML浏览器相比较,显得更加专业一些,支持Netscape 2.0与Internet Explorer 3.0以上版本,是目前使用较多的一个浏览器。它对Javascript的良好支持有着其他播放器不可比拟的优势。
6.5 虚拟现实建模语言VRML 6.5.4 VRML的应用 • VRML在电子商务、教育、工程技术、建筑、娱乐、艺术等领域中广泛应用,VRML创造一种融多媒体、三维图形、网络通信、虚拟现实为一体的新型媒体,兼具先进性和普及性,已成为构建网络虚拟现实系统的标准语言,是开发新一代网页和虚拟现实系统的得力工具。 1.科技探索 2.商业宣传 3.文物保护 4.娱乐业 5. 教育