如何构建一个虚拟现实系统工程(VR/AR/MR开发)

vr|ar|虚拟现实

169人已加入

描述

虚拟现实VR一般指一种技术,它仿真真实和虚拟世界,使人类沉浸地融入一个三维空间,产生有立体感的视觉、听觉、触觉甚至嗅觉,在一个确定范围内非常类似于真实世界。它有三个特征(3R):实时渲染( Real time)、真实空间(Real space)和真实交互(Real Interaction)。

数字化的巨浪把数字革命从我们的真实世界活动引入到了虚拟世界。除了通信、购物、学习、生产、游戏、交友外,人们发微信、玩网游、看3D影视等,消耗在虚拟世界的时间在逐步超过在真实世界的时间。

VR技术依靠其沉浸感把人类推高到虚拟环境的一个高境界。HMD ( Head Mounted Display,即头戴式显示器(俗称头盔),结合跟踪系统使得沉浸容易实现,大大推动了虚拟现实的发展,应用纷纷涌现,令人眼花缭乱。随着发展,AR和MR成了虚拟现实的新宠。

1、VR

关于VR有不同的定义:虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。

虚拟现实VR一般指一种技术,它仿真真实和虚拟世界,使人类沉浸地融入一个三维空间,产生有立体感的视觉、听觉、触觉甚至嗅觉,在一个确定范围内非常类似于真实世界。它有三个特征(3R),即实时渲染( Real time)、真实空间(Real space)和真实交互(Real Interaction)。

几十年来,VR在游戏、影视、专业学习与训练、旅游、制造、军事等各个方面极大地影响了人类。近年来,随着HMD的普及和远程通信技术的发展,距离已经不成问题,在真实环境中融入虚拟现实获得了人们的青睐,从而诞生了增强现实(AR)。进一步,技术的发展使得真实环境和虚拟环境可以更好地融合,人类可以灵活地游走于虚、实环境,从而混合现实(MR)大大发展,以至于Microsoft号称其Hololen、系统只聚焦于混合现实。

2、AR

什么是增强现实(AR),百度百科和维基百科说:增强现实技术是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。

增强现实技术AR,以一种鲜活的直接或间接视点交互物理真实环境,其中的成分已获“增强”,增强效果借助于计算机生成或真实世界传感输入,诸如声音、视频、图形或GPS数据等。

显然,VR本身是基于个人计算机诞生的,而增强现实和参与者的现实环境相关,因此可以说是面向移动计算的。

3、MR

混合现实MR有时也称hybrid reality,它把真实世界和虚拟世界合成在一起,产生一个新的环境,使之形象化,物理和数字对象共存,实时的交互。混合现实不仅仅发生在真实世界或虚拟世界,而且把现实和虚拟现实融合到了一起,借助于沉浸技术包容了增强现实和增强虚拟。

MR

图1 从现实到虚拟和从虚拟到现实

如图1所示,横向两端分别是真实(环境)和虚拟(环境),从左往右,对真实世界略有修改的状态称为放大现实(Amplified Reality)。放大现实意味着借用计算手段将物理对象的性质予以充实。AR是关于如何让用户感知真实,放大现实则是影响用户感知真实。

这里,出现了新的中间状态—Mediated reality(姑且称为“间接现实”)。这里还出现了增强虚拟AV ( Augmented Virtuality,指的是从一个虚拟世界看真实世界。因这两个已不常用,我们这里不再赘述。

我们关注的是其中的3点:VR,AR和MR。我们在广义上把VR,AR和MR统称为虚拟现实(VR)。下面就以VR统称它们。

虚拟现实的历史与由来:Virtual Reality这个词是由美国计算机科学工作者Jaron Lanier在上世纪80年代末引入的。但是,追溯起来,虚拟现实的历史要悠久得多。我们列出一张表,见表1。

表1 虚拟现实发展史

MR

 

MR

 

MR

到了21世纪,计算设施和智能手机越来越强大、高清晰度显示和3D图像能力剧增,VR迅速发展。各种头盔(如Google Cardboard , Samsung galaxy Gear , Oculus Rift , HTC vive)的问世,大幅推动了VR的发展。

云计算又使得基于云端的VR应用纷纷涌现,AR和MR成了主流。一些IT尤其是软件界巨头,如Google ,Apple和Microsoft开始竞相大力布局AR和MR,构建自己的VR生态系统。

以Microsoft为例,2015年1月,微软对Microsoft HoloLens混合现实设备的能力进行了发布和展示。它可以无缝地把全息对象集成到用户世界,有时难以区分自己是在现实世界还是虚拟世界。微软在做一个大布局,就像当年Apple开发智能手机iPhone一样,开放接口,让基于HoloLens平台的新应用不停地由独立开发者开发出来,共享这个大饼。

若干关键技术支持

虚拟现实涉及技术很多,限于篇幅,这里聚焦于其中的一部分。首先讨论VR建模方法与技术,因为建模是虚拟现实的关键核心之一。

虚拟现实建模

虚拟现实建模即3D对象建模,这些对象将在真实世界和虚拟世界里交互。建模是VR的基础之一,它包括一系列方法。

1、场景展现建模方法

虚拟现实系统首先需要一个场景及其展现,需要建立一个虚拟与真实融通的场景,并有效地展现。相关的建模问题包括:

1)基于深度区域图像的建模:

(1)区域图像获取与登录;

(2)3D模型表面重构;

(3)3D模型修补。

2)基于图像的建模方法:

(1)基于单个图像的几何模型重构;

(2)采用立体视觉和结构光照方法几何模型重构;

(3)使用先验知识重构风景;

(4)基于轮廓线的几何模型重构。

3)材质光照建模方法:

(1)体光照建模方法(Volume Illumination modelling method);

(2)活胜变化建模(Active alteration model;

(3)变密度传播模型( Varying density emission model;

(4)材质分类与混合模型( Material classification&hybrid model)。

4)领域建模方法(Filed modelling method):

(1)矢量场(Vector field;

(2)标量场(Scalar field。

2、行为建模方法

虚拟现实环境中活动对象(如人、车)建模尤其是其行为建模也是VR的关键,其中,常用的方法有:

(1)自主对象的主要类型( Main types of autonomous objects)方法;

(2}基于有限状态自动机的建模方法;

(3)面向建模方法的专家系统;

(4)基于智能代理的建模方法;

(5)聚合与分解模型 ( Aggregation and disaggregation model)。

3、虚实结合建模

AR和MR需要虚实结合的场景,虚实结合建模是一个大挑战。涉及的建模问题包括:

(1)虚实合成场景中真实环境信息的获取与表示;

(2)虚实间3D登录和存储方法;

(3)虚实间祸合处理方法;

(4)虚实合成方法。

4、基于物理的建模方法

1)刚体建模方法:

(1)刚体运动仿真;

(2)碰撞检测;

(3)连接性和限制性建模。

2)柔性物体建模方法:

(1)离散颗粒建模;

(2)连续性建模方法;

(3)柔性物体碰撞检测。

3)虚拟人体运动建模方法:

(1)运动数据采集(Acquisition of motion data)

(2)运动数据处理(Treatment of motion data)

(3)运动控制(Motion control)

计算机图形学和计算机动画

视觉是人感知世界的第一感觉,因此虚拟现实中涉及的一个关键技术是计算机图形学和计算机动画技术。

这里涉及的技术有数学问题、3维建模和影像渲染问题等。数学指的是坐标系统、向量和转换矩阵,用于表示可视化、3D对象动画、特征描述等。3D建模是借助于几何描述为实际物体对象构建一个特定的3D形象;渲染借助于光照模型、灯光、色彩和纹理演绎3D模型。

大部分虚拟世界是动态的,随时间变化的,物件在其中运动、旋转和变化,因此需要计算机动画技术的支持。计算机动画的主要目标是合成期望的运动效果。

虚拟现实系统的体系结构

虚拟现实系统的体系结构也是一个技术难点。

目前常用的体系结构大多数由本地部署的,陆续地往基于云计算的发展。

一个模拟驾驶虚拟现实系统如图2所示。

MR

图2 一个模拟驾驶系统

讨论基于Microsoft的HoloLens开发MR系统,给出开发一个混合现实系统的必要软、硬件要求:一台PC,参数要求是:Windows 10 64bit ( Windows ,Mac OS or Linux ) ; 30GB可用硬盘空间;RAM 6 GB ; CPU处理能力。推荐Intel Core i5或Core i7处理器(或类似性能);GPU( Graphics Processing Unit)或图形卡。

如果使用HoloLens仿真器,推荐的最小系统要求是:操作系统64bit Windows 10 Pro/Enterprise/Education Edition;CPU至少4核;8 GB RAM;BIOS必须支持和能够基于硬件的虚拟化;二级地址转换技术(SLAT)和基于硬件的数据执行保护(DEP ) ; DirectX 11.0及以上的GPU, WDDM 1.2或更高版的驱动。其他还有专用硬件要求:HoloLens , Emulator或其他类似硬件。建模则可以使用一些3D建模软件,如Unity Technologies公司的Unity。

感知技术

1、视觉

计算机的显示技术经历了显像管CRT,液晶LC D等时代,期间,等离子显示也曾流行,但目前基本上有LCD占据主流。

虚拟现实的显示目前有HMD头盔、投影和桌面显示三种主要方式,最受青睐的是HMD。

大部分HMD有一个或两个带透镜的小显示器,显示单元可以使用CRT , LCD , LCos或OLED技术。显示器有镜头和半透明反光镜,封装在一起。许多HMD配有耳机(或喇叭),以便视频和音频一起输出。有的HMD是一个复杂的感知和计算系统,以Microsoft的HoloLens为例:它拥有3个处理器—CPU,GPU,HPU(holographic processing unit);Inertial Measurement Unit(IMU)—加速度传感器、陀螺仪、磁力计;摄像机一一一5个可见波长摄像机、一个远红外摄像机;一个远红外激光投影器;麦克风等等。

为了发挥自己潜力,HMD和跟踪器配合在一起,探测角度、方向甚至是位置的变化,以便在计算机里控制VR应用,按特定实践渲染成虚拟场景。

在医疗外科应用中,还使用了X射线视像,和传统视像合成在一起。传统的HMD可以提供大多数沉浸感,但还有不足,主要如显示粒度、视角大小等。

2、听觉

声音是我们日常生活体验的一部分,从中获取大量信息。声音来自不同空间位置,我们生活中感知的是空间声音。如何在虚拟环境里构建空间声音一个重要挑战。

声音在虚拟显示系统中扮演着不同角色,如:

1)补充信息:声音可以提供较仅有视觉外补充的、更丰富的信息。少许的回声和反响都可使人的大脑对关注对象的方位和距离,以及环境大小和背景有新的认识。

2)可供选择的反馈:声音反馈可以提升用户接口(例如可以用声音指示用户命令的确认或选择的对象)。

3)可供选择的交互模式:声音是一种有效的通信通道。语音识别和语音合成可以有效地提升VR效果。

涉及的问题如空间声音的记录与再生和空间声音合成等。空间声音合成包括处理声音信号以生成逼真的声音,描述真实声音场景:声源的位置、方位,室内还是旷野,等等。还有的问题如声音渲染。声音渲染大多用于为动画生成同步声道,为场景里的每个对象通过创建有特征音色的空间声音。声源可以通过采样或合成实现。

VR里的声音系统需要满足如下需求:

1) 3D定位:精确地定位虚拟声源。

2)音响仿真:音响空间仿真是再现真实环境的基本要素,要能反映出房间的大小,墙面的特点等。

3)速度和效能:在空间声音的物理性质的精确仿真和声音实时有效生成间往往存在矛盾,因此一般需要有个折衷。同时,实现虚拟环境还需要一定数目的虚拟声源。大多数重要的声音现象可以用计算机引擎仿真。值得注意的一个挑战是如何在任意虚拟位置将声源映射到一定数目的喇叭,而其实际位置又受到VR系统安装时的物理设置所限制。

3、触觉

目前的大多数VR应用提供视觉和听觉反馈,较少涉及力反馈。但是,很多VR应用,迫切需要涉及触觉和肌肉运动知觉,给人“接触”虚拟物体的能力。触摸是人的一种重要感觉,其中包括皮肤接触和肌肉运动触觉等。典型的触觉感知设备和技术如:

1)数据手套(Data Gloves)手是人触摸的一个主要输入通道,是通过触摸感知和操纵外部环境的主要接口。因此,手套形式的VR设备被大量设计和开发出来。这类手套里纳入了大量的传感器,用于获取手指弯曲等身体数据。内置磁性或惯性的运动跟踪器( motion tracker)用于获取全方位的手套位置与旋转数据。有的还有响应激励设施,用于反映用户在虚拟现实应用中的反应,例如在手指关节处内置可充气气囊,在用户接触虚拟物体时,弯曲手指或握拳时适时将小气囊充气,用户感知气囊压力,虚拟环境逼真仿真出握到虚拟物体的感觉。市场上已有丰富的数据手套产品,如CyberGlove,SDT Data Glove。它们拥有丰富的传感功能,蓝牙接口,开发SDI等。

2)触觉演绎和渲染触觉演绎和渲染指的是通过用户和虚拟物体的交互,计算和产生出响应力的过程。

一般有2类渲染算法:

(1) 3-DOF触觉演绎:这类算法考虑和虚拟物体的单个接触点场景,只有3个自由度(3 DOF),只能在3D空间里变化位置。

(2) 6-DOF触觉演绎:这类算法以6自由度抓住的物体:解决位置和转动问题,触觉的反馈既有位置还有力矩。触觉渲染接口也值得一提,触觉渲染接口负责产生机械信号刺激人的肌肉和触摸通道,让人理解感知和在现实环境里作出响应动作。触觉接口的目标是通过再生虚拟物体的物理特征便于操纵虚拟物体。一般可将这类接口分为被动触觉接口、主动触觉接口和混合触觉接口三类。被动触觉接口只能针对用户运动施加阻力。主导触觉接口使用激励器,有提供能量的能力,这类激励器可以是电动马达、水力系统、压电装置等。混合触觉接口则同时使用主动和被动激励器。

虚拟现实系统工程与软件框架

如何构建一个VR系统

开发和运维一个VR系统并不容易,需要许多领域的深度知识,涵盖传感和跟踪技术、立体显示、多模态交互和处理、计算机图形学和几何建模、动态和物理仿真、性能调节等。和其他软件系统比较,新的特点是:(1)实时性性能要求;(2)对象外观和物理性质建模问题,还要包括其行为特征;(3)根据不同任务和输入/输出设备,不同风格和形态的交互技术。同时VR面临的是一个多目标决策的复杂问题,这些目标还很可能是矛盾的。

构建一个VR系统往往需要分步和迭代实现。第一步需要分析对虚拟体验的需求,初略描述完整的流程和情景结构,包括时间和交互条件。还需要估算基本的输入/输出设施或必要的计算能力。在需求分析基础上,需要对主要虚拟对象建模。要使用CAD软件常常还需要建立几何形态,开发人员使用图形/VR库函数(例程)对行为特征进行编程。虚拟对象和其他成分要组织起来构成一幕幕场景,编程后的场景要渲染,以高帧率(如20 Hz)显示给用户,保证对象动画的平滑性。系统中常用特定的VR传感器和显示设备作为接口。通过一步一步的精细化,系统逐步到达用户要求。

VR软件应当迭代方式分步开发。最初的迭代应聚焦于常规视图,如需求分析,描述对象和特征,定义分层、全局系统行为、用户任务建模和总体系统体系。下一步更多涉及VR相关的视野,对性能目标、计算模块逐步细化。我们可以简述如下:

算法1 VR软件开发算法

(1)脚本设计/需求分析

(2)对象/全局行为/系统结构“场景”建模

①系统概要设计/修改需求

②系统设计

③系统仿真与验证,性能调节,过程分配

(3)性能/任务分解/交互模型/信息、功能、行为模型精细化

(4)实现呈现/特效

虚拟现实系统工程

VR/AR/MR开发是一种特殊的系统工程,我们这里称为虚拟现实系统工程,对此,从3个方面讨论:交互设计、软件设计和实现、虚拟现实应用。

1、交互设计

学者提出了一个基于混合对象的集成框架:将MR中出现的对象称为(虚/实)混合对象,分析混合对象的内涵特征和外延特征,从而给出了一些方法,如:

(1)一种迭代的用户为中心的设计方法;

(2)嵌入式MR环境。

针对虚拟现实系统工程,还讨论了若干特殊设计问题,如提出一个面向工程的软硬件协调设计方法;在设计结构中,讨论了基于模型的方法,使用传统的基于模型转换方法,从概念模型逐步演化和求精,最后实现软件的方法。

2、生命周期

和所有软件系统一样,VR系统也有其生命周期。VR系统的生命周期管理也是一个挑战。

应用

VR不只是在游戏娱乐中找到用武之地,其应用的领域很广,主要应用在健康、教育、娱乐、文化、工业和军事等领域。

健康科学

虚拟现实技术广泛应用在健康领域,如外科、康复等。

1、虚拟外科

虚拟细幕)凳集拟现实应用的一个热门课题,很多系统被开发出来。手术前的准备往往可以用一个VR系统来实现。这样的系统让外科医生在一个虚拟环境里熟悉和改进技能,大大有利于真实手术过程。

2、虚拟康复和治疗

虚拟现实也可用来基于物理治疗的康复处理。用于康复的VR系统集成触觉和先进传感技术,识别运动模式、开发仿真任务(治疗练习)和诊断。一般通过立体显示、力反馈设备、现代传感技术实现的。诊断则通过收集数据、导入医院检测和基于人工智能模型实现的。

3、心理治疗

心理治疗中使用虚拟现实也很有用。例如,对于孤独症儿童而言,直接将其置于人群中可能儿童会不适应。使用VR技术,让他/她在虚拟人群中先熟悉起来,在逐步让其真正融入人群会更有利。

4、虚拟解剖

虚拟解剖也是VR的典型应用,借助于VR技术,医学学生可以很直观地掌握解剖技术、了解人体结构,很好解决解剖对象短缺困境的问题。

工业制造业应用

计算机在产品开发中广泛使用,计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助装配规划(CAAP )等是产品生命周期里广泛使用的计算机系统。VR技术的应用大大提高CAD/CAM处理能力。图3展示VR在产品设计中的应用。

MR

图3 产品设计中的VR系统

在装配和运维中虚拟现实技术也广泛应用。1990年,波音公司启动777飞机的研制工作,生产过程采用了大量全新的航电、飞控、起落架等设计,需要在飞机上安装大量的长捆航空线束。这些航空线束仅担负着传统的输配电功能,还担负这各类系统的信息传输功能。线束的安装位置必须准确快速,一方面保证各类线束之间彼此不产生干扰,另一方面也要避免被外界的信号干扰或者干扰外界的信号。

为了准确地安装这些复杂的线束,1990年,波音的两位工程师,Thomas Caudell和David Mizell,提出了使用一种抬头透视装置。利用这个装置,安装工人在工作过程中,按照他们现在所处的位置以及头部朝向,系统依据数字CAD图,自动生成虚拟图像,叠加到工人们视野中的真实场景里。工人们可以方便地按照透视的虚拟线路指导,进行各类航空线束的安装。通过这么一个装置,可以轻而易举地提高安装线束的效率同时减少安装线束的错误。增强现实这个词也产生于此,描述这种在真实场景下,按照用户看到的物体以及他们的位置和头部朝向,自动叠加虚拟内容的这种技术。Thomas和David把他们的设想写成论文,发表在1992年的第25届系统科学国际会议上。

军事应用

虚拟现实在军事上的应用由来已久。表1中例举的Ivan Sutherland的项目支持就来自美国国防部DARPA。战场的态势感知(Situation Awareness)是军事上的重要问题。大量侦察到的信息,无论来自卫星、雷达、传感设备,还是飞机侦察等,需要收集起来、融合到一起,借助于3D技术和虚拟现实技术就可以把战场环境虚拟地再现出来,有利于指挥和作战。

培训也是虚拟现实技术在军事上的重要应用。飞机驾驶、导弹操控、军舰操作往往可以借助于VR技术部分实现,从而减少成本,避免新手初操作时容易发生的事故。其他还有:战士的单兵作战系统、飞行员的驾驶系统等。

VR的其他应用,如教育、文化、旅游、BIM等,读者可能已很熟悉,限于篇幅,本文不再赘述。

趋势、发展和挑战

虚拟现实发展迅速,从资本市场看:2017年8月9日蜜蜂网发布《2017年上半年VR/AR投融资报告》称:全球VR/AR行业投资总额超过21.63亿美元。其中,国内VR/AR行业投资总额超过5.2亿美元;国外投资总额超过16.4亿美元。半年里,发生投资事件126起,其中国内为60起,国外为84起。这些投资主要集中在技术、硬件、游戏、平台、教育、建筑和行业应用等领域。其中,技术、硬件、游戏是投资热点。腾讯2016发布年全球首份AR行业报告:到2017年,AR市场将增长至52亿美元。IDC发布报告:全球范围内AR和VR市场的收入预计将在接下来四年内翻倍,甚至更多。所有在AR/VR产品和服务上的花费预计会从2017年的114亿美元上涨至2021年的2150亿美元,年增长率达到113.2%。面临大好机会,我们也面临新的挑战。

首先,鉴于虚拟现实的3R要求,对处理器的要求很高。芯片(CPU,GPU和HPU)及其集成能力的需求十分迫切。感知技术/激励技术包括硬件和软件需要进一步的发展。这里,我们仅从软件角度看,我们的机遇和挑战包括:

(1) VR建模技术。前面描述了VR建模技术的需求,目前尚有很多工作需要去做。

(2) VR开发方法。和大家习惯的软件开发有很大不同的是,VR是一个软硬件融合对策系统,需要软硬件协同设计和开发,相应的开发方法有待研究和深化。

(3)大数据处理能力。VR系统中涉及大量感知数据,实时采集、融合、处理和分析这些数据需要专门的算法。

(4)人工智能。传统的VR演化为AR和MR,其关键在于大数据处理与AI技术,而面向AR和MR的算法与技术研究尚在初级阶段。

(5)情景感知计算能力。作为一种计算形态,情景感知计算具有适应性、反应性、相应性、就位性、情景敏感性和环境导向性的特征,这就是VR系统所必须的更是需要突破的。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分