虚拟现实技术导论 课件 梁晓辉 第5、6章 虚拟现实前沿性方向、Unity开发实例-VR电力仿真培训系统_第1页
虚拟现实技术导论 课件 梁晓辉 第5、6章 虚拟现实前沿性方向、Unity开发实例-VR电力仿真培训系统_第2页
虚拟现实技术导论 课件 梁晓辉 第5、6章 虚拟现实前沿性方向、Unity开发实例-VR电力仿真培训系统_第3页
虚拟现实技术导论 课件 梁晓辉 第5、6章 虚拟现实前沿性方向、Unity开发实例-VR电力仿真培训系统_第4页
虚拟现实技术导论 课件 梁晓辉 第5、6章 虚拟现实前沿性方向、Unity开发实例-VR电力仿真培训系统_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

虚拟现实技术导论第5章虚拟现实前沿性方向本讲大纲6.1增强现实技术6.2智能化建模与渲染方法6.3智能化建模例——基于深度学习的流体建模6.4智能化渲染例——三维积云的可微渲染5.1增强现实技术虚拟现实的三个构成要素视/听/触/味/嗅位置/姿态/操作用户/操作者真实环境虚拟环境化身化身化身真实环境现实世界/对象

建模增强现实的关键技术三维注册——真实、虚拟空间配准虚实融合——真实、虚拟空间合成人机交互——显示、界面增强现实系统一个典型的AR系统由虚拟场景发生器、透视式头盔显示器、实现用户观察视线跟踪的头部方位跟踪设备、虚拟场景与真实场景对准的跟踪定位设备和交互设备构成。视频透射式头盔原理视频透射式头盔显示器的优点包括:合成景象的灵活性较宽的视野时间延时的匹配光强度的匹配等。光学透射式头盔原理光学透视式头盔显示器的优点主要体现在:结构简单价格较便宜分辨率较高较为安全不能存在视点的偏差等。跟踪注册技术基于跟踪器跟踪用户头部的方位:主要采用的跟踪器包括电磁跟踪器、惯性跟踪器、测距仪、超声波定位仪、全球定位系统(简称GPS)等。混合跟踪注册:指采用不同种类的跟踪设备,取长补短共同完成增强现实系统的注册任务。目前常采用的硬件跟踪设备包括机械、电磁、光电、惯性跟踪器、超声波、陀螺仪、GPS等。混合跟踪注册:指采用不同种类的跟踪设备,取长补短共同完成增强现实系统的注册任务。目前常采用的硬件跟踪设备包括机械、电磁、光电、惯性跟踪器、超声波、陀螺仪、GPS等。增强现实技术与虚拟现实技术的关系虚拟现实综合了建模技术、渲染技术、人机交互技术、传感技术等,使得用户从感官效果上沉浸在一个虚拟环境中。增强现实则主要借助显示技术、人机交互技术、传感技术和计算机视觉技术等将计算机生成的虚拟环境或物体与用户周围的现实环境融为一体,使用户从感官效果上分辨不出虚拟和真实的部分。增强现实技术与虚拟现实技术的关系虚拟现实增强现实沉浸感隔离现实环境不仅不隔离现实环境,还强调用户在现实环境的存在感,并努力维持用户视听觉等感官效果的不变形注册无AR技术相较而言要求较低,盖因其主要是在充分利用周围业已存在的真实环境的基础上扩充一些附加信息,这就大大降低了对计算能力的要求系统计算能力较高AR技术相较而言要求较低,盖因其主要是在充分利用周围业已存在的真实环境的基础上扩充一些附加信息,这就大大降低了对计算能力的要求增强现实技术的应用AR技术主要利用附加信息去增强使用者对真实世界的感官认识。其应用侧重于辅助教学与培训、辅助医疗研究与解剖训练、辅助军事侦察、辅助精密仪器制造与维修、远程机器人控制等领域。5.2智能化建模与渲染方法智能化建模智能化建模在CAD/CAE以及其他相关工业领域一直是研究热点。通过参数化或者非参数化的方法构造虚拟对象的外观模型,同时定义其表面材质等光度属性,为后续渲染提供数据基础。近年来,随着深度学习从二维图像域拓展到三维空间域,基于学习的建模方法正成为工业界和学术界关心的话题。智能化形状建模显式表示方法:一般是指将虚拟对象表示为点云或多边形网格等形式。其中,多视角图像是三维几何模型的一种有效表示方式。利用多视角深度图像或利用多视角图像生成虚拟对象的外表面,可以有效地实现虚拟对象几何模型的重建。隐式表示方法:基于图像的视点合成是构建虚拟场景的经典技术之一。随着神经网络的发展,将神经网络作为几何模型的隐函数,可以达到不同的应用目的,如新视点生成、虚拟视角生成以及重光照等。智能化物理建模人体运动建模:主要是使用神经网络来进行运动数据帧的合成。柔性体建模:主要思想是利用深度学习进行虚拟对象的变形流体建模:随着人工智能技术的深入发展,深度神经网络模型以其强大的数据学习能力,被广泛应用至计算机图像分类、语音识别、流体细节合成等研究领域。其稳定的、高效的计算模式,为计算机流体模拟提供了一种新的问题解决途径。智能化渲染虚拟场景真实感绘制是通过计算机模拟光线在3D场景中传播的物理过程,将设计人员创作的由视点、光源、三维几何、动画、材质等组成的镜头转化为高度真实感的连续帧画面。全局光照模拟了光线在场景中传播的过程,对绘制真实感具有至关重要的作用。计算全局光照的核心在于绘制方程,该方程计算光束和三维物体的交互过程中的能量传递,具有全局性、递归性等特点,可以使整个虚拟场景在光照传播过程中保持能量守恒。智能化全局光照计算全局光照算法同时考虑了直接来自光源的光线(直接光照)和经过其他表面反射的光线(间接光照)。使用全局光照算法可以模拟现实生活中的大部分光照效果,如阴影、环境遮挡、反射、焦散、次级表面散射等现象。然而,全局光照计算十分耗时,通过使用机器学习方法加速计算是目前的研究热点。智能化全局光照计算——基于预计算辐照度的间接光照计算在使用RRF进行实时绘制时首先进行直接光照的计算,并在计算直接光照的同时,获取每个表面点的属性然后由基于神经网络的RRF模型计算得到每个表面点的间接光照信息,并与计算的直接光照信息进行合成,得到最终的全局光照结果。该方法可以实时渲染出带有全局光照效果的512×512分辨率的结果图片,并保持每秒渲染30帧以上的速度,可有效渲染出包括焦散、高频的反射、间接硬阴影等复杂的光照效果。但是该方法只适用于静态几何场景,允许光源和视点变化。智能化全局光照计算——基于学习的路径指导传统路径跟踪或者双向路径跟踪方法,在进行BSDF或者光源采样时,通常只考虑到局部的信息,而没有考虑到全局的信息,因此导致在复杂光路时,得到一些对整体贡献较少的路径,从而使得绘制噪声较大。路径指导则是通过一定的方式来获取光路中的更多全局信息,并且根据这些信息来指导重要性采样,从而达到减少噪声的目的。使用机器学习或统计学习方法优化光路传输也是实现快速计算全局光照效果的途径之一。智能化全局光照计算——光照采样算法的优化利用大规模数据集,针对首次反弹入射辐射场的自适应采样和重建训练神经网络,可以有效优化现有光照采样算法的时间性能。例如,基于深度强化学习(DRL)的质量网络(Q-network)预测和指导自适应采样过程,利用基于4D卷积神经网络的重建网络(R-network)重构4D空间中的入射辐射场。智能化参与性介质绘制在真实场景中,随时可见各式各样的参与性介质(如蜡烛,牛奶,橄榄油,烟雾等),光线在参与介质中传递时会被吸收或者发生散射。为了模拟介质中的散射现象,需要花费大量计算时间。近年来,有学者提出使用蒙特卡洛积分和神经网络相结合来高效地绘制大气云(radiance-predictingneuralnetworks,RPNN)。该方法从大量样本中提取采样点对应的相关着色位置和光源的几何信息,再将这些信息输入深度神经网络中,以得到最后的辐射度。5.3智能化建模例——基于深度学习的流体建模算法思想速度场与压力场在流体仿真的过程中驱动流体的运动,而密度场则更加容易观测以及被人类感知。使用基于学习的流体建模方法时,直接拟合密度场较为困难,盖因流体作为不定形物体,不存在较强的形状先验知识。使用散度场作为输入,利用CNN拟合压力场的方法进行流体建模。整个算法大致分为流体建模数据集的构建,以及CNN流体求解模型的构建与训练等两部分。流体建模主要围绕三大变量进行:密度场、速度场、压力场。算法实现使用随机的小波湍流噪声(waveletturbulentnoise)初始化空间中的速度场;在空间中随机放置的基本几何体与真实世界中常见的物体作为障碍物;在仿真时在空间中随机添加局部噪声;在仿真空间中的随机位置添加随机大小,随机强度并且发射时间随机的速度源以增加仿真空间的扰动。①流体建模数据集的构建算法实现使用0.125s作为时间迭代步长总共进行256帧的仿真,每8帧记录一次当前的流体状态。记录的信息包括:流体当前状态的速度场、压力场、空间障碍物的信息。对于2D仿真数据生成,设置仿真空间分辨率为256×256,一共生成320个流体仿真场景,每个场景64个训练数据,总大小为26GB。对于3D仿真数据生成,设置仿真空间分辨率为64×64×64,一共生成320个流体仿真场景,每个场景64个训练数据,总大小为450GB。②流体仿真数据生成算法实现

③基于CNN的流体建模算法实现③基于CNN的流体建模算法实现④网格计算过程计算输入的散度场∇⋅𝑢_𝑑𝑖𝑣的标准差,并根据标准差将输入的散度场进行归一化;将输入的归一化散度场以及虚拟场景中障碍物的标记矩阵分别进行2倍与4倍的下采样,并使用共享参数的卷积子网络convsubnet1对其进行处理;为对多尺度网络的输出分别进行1倍,2倍,4倍的上采样到输入的大小并通过第二个子卷积网络convsubnet2得到归一化的输出结果;对归一化的压力场输出结果使用网络输入时归一化参数进行还原,获得与输入量级相匹配的压力场预测结果。算法实现⑤优化目标

算法实现⑥训练设置对于2D流体建模网络训练,使用batchsize为64,并对数据集进行200轮训练,学习速率设置为5e-5,训练时运行网络自纠偏算法的概率为0.9。对于边界条件位置的损失函数加权值k设置为2。流体的迭代步长为0.1s,并在128×128的空间中进行训练。对于3D流体建模网络的训练,仿真训练的分辨率降为64×64×64,并且batchsize设置为32。网络学习率设置为5e-3,其余参数不变。实验结果——2D流体建模结果展示与分析下图分别展示了使用传统PCG流体求解器和使用本节算法,在相同仿真条件下对流体的建模结果。第一行的三幅子图分别展示了密度场,x方向速度场,y方向速度场图像。第二行的两幅子图分别是压力场图与散度场图。实验结果——2D流体建模结果展示与分析下图展示了在遇到正方形障碍物之后的流体建模结果。实验结果——3D流体建模结果展示与分析实验结果——建模效率基于深度学习的流体建模的最大优势在于时间效率。下表展示了基于CNN的方法与传统PCG流体求解的速度对比。基于深度学习的方法在2D与3D建模任务中相比传统方法都取得了巨大的进步建模维度PCG流体求解器建模总时间深度学习方法建模总时间2D(128×128)0.04s(25fps)0.006s(180fps)3D(64×64×64)0.3s(3fps)0.0125s(80fps)5.4智能化渲染例——三维积云的可微渲染积云渲染辐射传输方程空气中特定粒子的物理属性决定了它与光线的相互作用效果,不同的粒子作用效果也不同。通常,光线在云层中发生常见的物理作用主要有三种:吸收、外散射和内散射。积云渲染辐射传输方程积云渲染辐射传输方程光子穿过云层时,它的能量会被吸收一部分,这部分被吸收的能量沿着ω方向的变化量在单位距离的微分形式如下所示:

积云渲染辐射传输方程积云渲染模型在单位路径z下的微分形式:将某一点的微分形式转化成路径的积分形式:积云渲染辐射传输方程一束光线经过参与性介质,从𝑥_𝑎处射出,经过上述的物理作用之后射出的辐射强度遵循比尔定律:

算法思想可微渲染的本质是传统图形渲染的逆向过程,其核心任务是构建渲染图像与模型参数之间的关系算法实现多次前向散射过程如所示。给定初始渲染参数,首先通过预计算得到逐网格的散射强度计算量,然后利用光线行进法进行逐像素的强度计算,最终得到渲染图像。①积云的正向渲染算法实现计算单次散射项。单次散射模拟光源经过介质在单一方向上的散射①积云的正向渲染算法实现计算多次散射项。利用辐射传输的扩散理论,可将光线的多次前向散射强度表示为泰勒展开式的前两项:①积云的正向渲染算法实现光线行进法。对积云渲染任务,首先定义了一个固定体积的积云密度场,然后利用从视点出的光线Ray与包围盒求交点,前交点和后交点分别相交于体积的前后两侧,路径为两个交点之间的距离,按照固定步长一步一步往前计算亮度,并将亮度进行累加。①积云的正向渲染算法实现逆向渲染的目标是通过渲染得到的图像推断原始三维场景的几何、光照、纹理、材质、运动等信息。对积云这种参与介质的渲染,主要需要推断的参数包括光源强度、光源颜色、介质密度、吸收项系数、散射项系数等5个。这也是正向过程渲染中需要的初始参数。可导性、连续性是可微渲染的必要条件,算法的关键就在于如何解决体渲染的不可导问题。②积云的逆向渲染算法实现

②积云的逆向渲染算法实现单次散射项的导数求解多次散射项的导数求解②积云的逆向渲染算法实现下式表示了渲染参数的优化过程:③优化目标

算法实现算法渲染的三维体数据规模为64×64×96,渲染出的二维图像的分辨率为512×512,每个实验优化迭代次数为100次。本文使用的烟雾数据是基于物理的模拟生成的,其余模型来自斯坦福扫描模型,并使用Binvox工具转换为体素,并生成三维密度场数据。④实验设置实验结果①正向渲染可以看出,所设计的正向渲染模块能够较好地保留细节信息。实验结果①正向渲染可以看出,除第一次求解需要5.3s外,平均求解速度为1.83s。相比基于蒙特卡洛估计的体渲染,渲染效率得到显著提升。实验结果②逆向渲染给定目标图像后,所设计的逆向渲染经过100轮次的迭代,已经可以很好地逼近真实的图像。逆向渲染对于场景参数优化的效率也较高,平均100轮次迭代之后基本可以得到最终优化结果,总优化时间在100秒以内。虚拟现实技术导论第6章Unity开发实例——VR电力仿真培训系统本讲大纲6.1Unity简介6.2

VR电力仿真培训系统设计6.3

VR电力仿真培训系统实现6.1Unity简介Unity3D优势及特点Unity一次开发即可针对iPhone、Android、Web、Windows、MacOSX、Wii、PS3、XBox360的平台直接输出产品,而无需进行二次开发和移植。Unity系统概述Unity系统组成系统由应用层、展示层、业务层、数据设计、数据层以及基础层6部分组成。Unity开发流程Unity开发特点高逼真感渲染引擎延迟渲染内置shader统一的着色系统全屏后处理效果表面着色渲染底层接管控制动态贴图融合高效的光影图、创建和控制全局照明、天空灯、以及自定义的发光材质逼真的自然景观。地形、树木、灌木、岩石物理引擎NVIDIA®PhysX®次世代物理引擎,生动真实的模拟现实物理现象布料模拟互动性质的布皮肤性质的布柔体物理体刚体物理体关节模拟车轮运动模拟开发方式Unity3D操作极为简单、直观,操作基本上和主流的3D软件一致。在程序方面使用自带的MoNoDevelop编辑器,使用C#或者JavaScript等高级语言实现脚本功能,使作为开发者来说无需掌握底层复杂的脚本语言。即使不使用脚本开发也能快速的开发出具有高性能、高品质的游戏以及虚拟现实的产品。工程向导面板工程文件:Unity工程文件中存储了我们开发游戏所需要的资源、场景等相关资源。当我们打开Unity的时候,会出现ProjectWizad面板。这里是要求我们创建一个工程文件。工程文件存储地址需要导入的资源包Unity编辑器结构编辑器中的5大视图:Project视图、Hierarchy视图、Inspector视图、Sence视图Game视图以及标题栏、菜单栏和工具栏。Sence视图Game视图Hierarchy视图Project视图Inspector视图标题栏菜单栏工具栏Unity脚本Unity支持:JavaScript,C#和PythonBOO。这三种语言的运行效率一样的快速。并且都支持数据库,正则表达式,XML,网络函数库的开发。脚本与Unity中其他组件相同,都必须绑定在游戏对象中才能执行它的生命周期。Unity中默认使用的是MonoDevelop脚本编辑器,同时我们也可以选择其他常用的脚本编辑器进行脚本编写。例如:MicrosoftVisualStudio系列等。选择Edit-Preferences-ExternalTools,点击Browes即可选择其他脚本编辑器。C#面向对象编程的思想更加符合unity引擎原理并且与大多流行插件、硬件可以进行完美对接。所以在日常开发过程中大多使用C#语言进行开发。接下来我们将以C#语言对unity脚本进行讲解。基于绘制引擎的VR应用程序(漫游)构造过程场景数据库模型加载模型控制面及控制参数非碰撞实体表面定义场景调度

碰撞检测地形匹配实体操纵输入映射与解释

状态设置

视点控制

交互设计

二维地图

特殊效果外部输入DOF实体约束

系统状态控制机制外部输入(包括各种传感器输入及可能的网络命令等)状态设置:用于定制漫游系统,在漫游过程中打开/关闭漫游引擎提供的某些功能,包括设置特殊效果以及是否使用二维地图向导。视点控制:控制漫游系统中观察相机的运动,在相机运动的过程中,完成场景调度控制、碰撞检测与响应、地形匹配等功能。交互设计:在漫游过程中进行简单的虚拟场景动态交互设计。实体操纵:对虚拟环境中的实体实施选择、操纵。如开/关门窗等。漫游引擎的状态机制通用漫游框架中定义的绝大多数功能都被定义为可选择项,也就是说,漫游者可以根据自己的需要打开或关闭某些功能,如开/关雾化效果、开/关二维地图、决定是否进行碰撞检测、选择透明处理方式等。另一方面,漫游者还可以对漫游系统的初始状态进行设置,比如观察相机的初始位置、相机行进的速度步长、转角的步长、系统模拟的气候条件(晴、多云、阴)、时段(早晨、中午、傍晚)等。输入设备映射键盘鼠标游戏杆步行器传感器用户控制指令视点控制相机运动参数映射解释视点控制模型walker_heighteye_height行走相机观察相机v_p1v_p0v_p2w_p1w_p0w_p2step-step

漫游引擎的状态机制场景调度控制碰撞检测与响应地形匹配技术二维地图漫游向导依照计算机图形学正投影的原理,将三维场景模型“压缩”到一个平面上,然后运用相机资源,实现地图的显示、缩放以及二维与三维视点的同步运动基于雾化效果的恒定帧频技术6.2VR电力仿真培训系统设计应用层及展示层应用层采用主流PC主机和HTC或HP主流VR头显产品。主要完成以下功能:培训人员通过学习模式观看视频、文档资料学习电力知识,通过训练模式在VR虚拟场景中进行电力操作培训,同时具有对培训人员进行电力知识及操作考核的功能,所有信息均载入数据库,以方便管理员及教练实时查询信息并管理。展示层采用Unity渲染管线技术和PBR(PhysicallyBasedRendering)物理渲染流程,构建一种高度沉浸式的体验,使培训人员置身于虚拟环境中进行虚拟训练。业务层和数据表单设计业务层由以下6个模块构成。教员端。供教练或培训导师使用,用于创建、管理和监控培训课程;学员端。供学员学习、培训、考试使用;VR培训端。VR培训的主要内容和学习体验;VR考试端。通过VR考试评估学员的知识和技能;系统后台。用于管理整个平台的运行和配置;系统日志。用于记录系统操作、用户活动和错误日志。数据层和基础层数据层采用MySQL数据库以及UnityRPC(RemoteProcedureCall)技术。MySQL是一种流行的关系型数据库管理系统,适用于中小规模应用程序和项目。Unity中,RPC允许不同的游戏对象在网络上进行通信和交互。通过使用Unity的网络功能,可以在多个客户端之间发送RPC消息。基础层采用SteamVR和VRTK(VirtualRealityToolkit)工具包。SteamVR是由ValveCorporation开发,支持多种虚拟现实头显和控制器。VRTK是使用Unity进行VR交互开发的工具,它包含交互组件、导航工具、事件系统和多平台支持。Unity资源主要包括UI、场景、模型、贴图、材质、动画、特效、字体等。场景与模型首先,使用3D建模工具(如Blender、Maya、3dsMax等)创建场景,在建模前应设置好单位,确定模型比例,同时场景搭建还应考虑灯光、阴影效果、渲染管线等因素,使场景更真实。其次,创建斗臂车、检测仪、绝缘手套等需要进行交互的3D模型,模型应包括所有必要的部件和细节,模型的纹理、贴图和材质需符合制作规范,参考现实模型,以便在虚拟现实中逼真地展示。动画创建斗臂车控制动画,以实现其运动和操作。使用3D动画

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论