Download presentation
Presentation is loading. Please wait.
1
几何模型数据压缩及虚拟场景实时显示技术研究
2019/5/5 几何模型数据压缩及虚拟场景实时显示技术研究 纪庆革 浙江大学CADCG国家重点实验室
2
几何模型数据压缩及虚拟场景实时显示技术研究
绪论 基于细分网格的数据压缩方法 基于视点的网格简化算法 基于视觉敏锐度的实时显示技术 虚拟环境实时显示仿真系统 结论
3
绪 论 本文研究内容的必要性 分布式虚拟环境研究概况 基于渐进网格的传输方法综述 几何模型数据压缩综述 实时显示方法的研究概况
绪 论 本文研究内容的必要性 分布式虚拟环境研究概况 基于渐进网格的传输方法综述 几何模型数据压缩综述 实时显示方法的研究概况 本文完成的主要工作及其意义
4
本文研究内容的必要性 在分布式虚拟环境系统中有时需要快速传输几何数据,基于渐进传输的多分辨率几何数据压缩技术能够较好地解决这种大数据集的传输问题。 对于复杂的动态交互场景,当前的高档图形工作站也难以保证实时地显示十分真实的图象。由于实时交互始终是分布式虚拟环境技术中一项基本要求,因此,一种普遍接受的方法是通过牺牲部分渲染图象的真实性,来换取整个系统的交互实时性。细节层次模型(简称LOD)管理是实现实时显示技术的一项重要工具,为了获得LOD模型,需要对几何数据进行简化。有了LOD模型,就可以应用各种显示策略实现分布式虚拟环境中虚拟场景的实时显示。本文主要研究了分布式虚拟环境中信息压缩及实时显示技术。
5
基于渐进网格的传输方法综述 通过对一给定网格(原始网格)进行某种变换,将其表示为一个很小的基本网格和一系列逐渐精细的细节信息的形式,这些细节信息能够为原始网格的精确(或近似)重建提供全部信息,本文将这种表示形式的网格数据称为渐进网格。渐进网格表示方法有利于多分辨率模型的存储和传输。 在分布式虚拟环境中,交互的实时性是一项非常重要的指标。如果用户在交互之前等待正在传输的一幅精细的模型数据,势必造成用户时间的极大浪费,且很难保证交互的实时性。渐进传输就是在这种背景下提出的。
6
几何数据压缩与简化综述 在分布式虚拟环境中有时需对几何模型进行传输,通常几何模型数据量非常大,因此,必须对之进行压缩。几何数据压缩技术是为了解决大数据集的传输或存储而发展起来的实用技术。 几何模型可分为单分辨率模型和多分辨率模型,因此,几何模型的数据压缩可分为单分辨率模型的几何数据压缩和多分辨率模型的几何数据压缩。下面分别进行介绍。
7
单分辨率模型的几何数据压缩综述 单分辨率模型是指几何实体的某一层次细节的多边形网格表示形式,如果缺少该模型中任何一部分数据,则无法对该实体轮廓有一完整理解。单分辨率几何数据压缩是指对实体的某一层次细节的网格数据进行压缩。下面三种方法是比较有代表性的算法: (1) 基于通用三角形网格的几何压缩 (2) 三角网格连接关系实时压缩算法 (3) 基于拓扑手术方法的几何压缩算法
8
多分辨率模型的几何数据压缩综述 多分辨率模型是指几何实体的多个层次细节网格表示形式,相当于该实体的多个不同分辨率模型的集合。多分辨率模型又可分为离散多分辨率模型和连续多分辩率模型两种。 对复杂网格进行简化,得到不同细节层次的多个三角网格模型,称之为离散多分辨率模型。连续多分辨率模型则是一种紧凑的模型表示方法,可生成任意多个不同分辨率的模型。基于这两种不同模型,面向多分辩率模型的压缩又可分为面向离散多分辨率模型的压缩和面向连续多分辨率模型的压缩。 模型简化是几何数据压缩的基础。因此,下面首先介绍模型简化技术。
9
层次细节模型数据简化技术综述 网格简化算法可以被简单地划分为以下三类: (1)顶点去除(vertex decimation); (2)边折叠(edge collapse); (3)三角形折叠(triangle collapse)。 其中有代表性的算法有下面几种: (1)顶点聚类 (2)区域合并 (3)顶点抽取 (4)迭代塌陷 (5)小波分析方法 图1-5 边塌陷
10
连续多分辨率模型的几何数据压缩综述 多分辨率分析是支持压缩、渐进传输和复杂网格的 LOD控制的基础工具,其中心思想是分解函数到低分辨率部分和一系列增加分辨率的修正项。网格的多分辨率数据压缩表示通常是由基本网格和提供丢失细节的修正项序列组成。下面两类是比较有代表性的算法: (1)基于小波分析的压缩方法 (2)累进森林拆分压缩方法
11
实时显示方法研究综述 对于复杂的动态交互场景,为了使交互可视化达到实时性要求,需保证指定用户的目标幀速率。所谓实时显示方法,是指通过牺牲部分渲染图象的真实性,来换取整个系统的交互实时性的一种显示策略。几种有代表性的方法: (1)可见度判别方法 (2)细节省略方法 (3)自适应细节省略方法 (4)定向凝视的自适应渲染方法 (5)封闭选择(occlusion culling)方法
12
基于细分网格的 数据压缩方法 必要性 细分网格概念 带有细分连通性的多分辨率模型的获取 基于细分网格的数据压缩方法
近似细分网格的重建及仿真实验结果 本章小结
13
必要性 对多分辨率模型数据压缩的研究很多,其中较有代表性的是下面介绍的两种方法。 Eck多分辨率表示方法
优点:能快速、连续地通过一种紧致的表示来获得多面体的多分辨率模型。 缺点:没有利用正则曲面光滑特性,压缩仍有冗余。 Khodakovsky等人的法线网格(normal mesh) 优点:有较高的压缩效率,该方法有着广阔的应用前景 缺点:产生法向网格的方法比较复杂 本章提出了基于细分网格的压缩方法。该算法利用正则曲面的光滑特性,用一维标量代替部分三维细节信息。实践中,完全满足正则曲面条件的曲面很少,而具有细分连通性的细分曲面近似满足正则曲面条件。
14
细分网格概念 图2-1 细分网格 具有细分连通性的网格,被称之为细分网格,这种细分连通性是由均匀分裂算子产生的。所谓细分连通性,是指由一个基本网格M0经过若干次一分四的分裂(细分)而形成的三维图形所具有的三角面片或顶点间的邻接和父子关系,如图2-1所示,该细分网格没有经过平滑处理。
15
Fig.2-2 Butterfly scheme Fig.2-3 Loop scheme
16
带有细分连通性的多分辨率模型的获取 采用 Eck算法来获取带有细分连通性的多分辨率网格,基本想法是对多面体M进行局部参数化,并基于该参数化用重新采样技术生成多分辨率模型MJ,其中MJ具有与M相同的拓扑类型。
17
基于细分网格的数据压缩 细分网格的数据结构 struct Face {level_J; // 整型数(层数)
children[4]; // 面指针数组 cornerVertex[3]; // 顶点指针数组(指向面片的三个顶点) edgeVertex[3]; // 顶点指针数组(指向细分该面中的三 条边的三个顶点的指针数组) unitNormal[3]; // 法线信息数组 };
18
用下面结构表示顶点: struct Vertex {parentV[2]; // 顶点指针数组(指向该顶点所细分 的边的两个顶点) parentF[2]; // 三角面片指针数组(指向该顶点所 细分的边的两个面) fGeom; // 坐标位置 g; // XYZvector };
19
细分网格的分解 为了产生更粗糙层次的近似Mn-1,……,M0,我们使用逆细分算子,即撤消在Mk+1上的1-to-4分裂操作。设S是原始细分操作算子,那么网格Mk+1 和其粗糙表示Mk 满足如下关系: (2-4) (1)首先给粗糙网格结点分配位置,使其满足公式: (2-5) (2)对 Mk 进行细分操作,得到 ,但是网格 中的奇数结点的位置必须得到纠正,以便精确地复制原始网格, 这就需要为 M k+1 中每一个奇数结点存储一个细节向量 ,D k是M k+1和 之间对应奇数结点位置的差值。
20
当某一细分层的抽样公差与上一细分层的抽样公差之差值小于压缩误差时,对该细分层求法向细节标量。要想求法向细节标量,首先需求出细分切平面的法线,然后将细节向量投影到细分切平面的法线方向上,细节向量在法线方向上的分量可以由一标量乘以单位法向表示,该标量就是法向细节标量。重建过程中,在每一细分步之后,加入这些法向细节标量,结合法向细节标量与对应的单位法向量,近似地恢复原来的细节信息(如公式(2-6)所示)。 (2-6) 其中 为法向量,x为标量。
21
图2-6 求法向细节标量的活动标架 图2-7 细分网格中的法向
22
图2-8 面片abc 和acd内的第二细分层上的顶点编码
细节信息编码 图2-8 面片abc 和acd内的第二细分层上的顶点编码
23
近似细分网格的重建 图2-9 网格的近似重建
24
仿真实验结果及分析 图 2-11 兔子的渐进网格
25
本章小结 本章提出的方法可以实现渐进传输,即几何数据可以被表示为一个较小的基本网格和一系列细节信息。该方法利用正则曲面法线向量特性及细分曲面的细分连通性,用一维标量信息代替三维信息,即对细节信息进行了压缩,该方法属于有损压缩。
26
基于视点的网格简化算法 必要性 Garland-Heckert算法及轮廓线 基于视点的网格简化算法 外观相似性评价 复杂性分析
仿真结果及分析 本章小结
27
必要性 Garland等人提出的基于二次误差度量的几何简化方法,采用二次误差度量来刻画误差,计算效率高,质量好。该算法能处理任何拓扑结构的三角网格,有效地产生细节层次模型。但是,该算法存在不足之处:在多边形较少的情况下,模型变粗,外观细节丢失较多。这是由于Garland方法并不能较好地保持模型外观特征所造成的。 本章提出了基于视点的网格简化算法,该算法是为实时显示技术服务的,它能为实时显示算法提供细节层次模型。
28
Garland-Heckert算法及轮廓线
二次误差度量的几何简化算法 图3-1 边收缩
29
基于视点的二次误差度量网格简化算法 视点的选取
通常,我们所说的基于视点是指考虑视点坐标,视线方向及观察者与聚焦平面的距离。本章中所使用的视线向量是指中心视线方向的单位向量。我们以观察兔子为例,概率最大的视线方向依次是侧向,前向及后向等。对重要的视点进行充分的抽样,抽中点尽可能不被移走;如果忽略了视点空间中某些重要部分,就很可能移走很重要的特征。为了简化计算量,目前我们只选择了侧向视线方向。
30
基于视点的抽样准则 定义1:在某一视点条件下,将三维模型投影到二维视平面上,其中映射到模型的二维边界上的三维模型中的那些对应边即为在该视点条件下模型的外观特性边界。后面提到的边界均指这种边界。 引理1 在视点Viewpoint下,如果给定模型是一个凸多面体,则边e是边界的充分必要条件是:
31
(a) 边邻居 (b) 边不在边界上 (c) 边在边界上
图3-4 两个相邻面的单位法向示意图
32
基于视点的二次误差度量网格简化算法 下面给出算法的具体步骤: 步骤 1:给出视线方向(单位向量); 步骤 2:为所有初始顶点计算Q;
步骤3:选择所有合适的点对 ,点对 或者是一条边,或者满足 ,其中t是给定的阈值参数; 步骤4:计算每一顶点对 的最优收缩目标点 和相应误差 ,把顶点对按误差大小顺序放在堆栈中 (在顶端有最小误差);
33
步骤5:从堆栈中移走最小误差的顶点对 ,如果目标面小于300,且该顶点对没有超过最高抽中次数,则执行第六步;否则转到第七步;
步骤6:应用基于视点的抽样标准公式:1).如果 ,将原误差以 代替,并把该顶点对按更新后的误差大小顺序放在堆栈中 (在顶端有最小误差),转到第八步; 步骤7:使该顶点对 收缩, 然后更新包含v1的所有顶点对的误差; 步骤8:如果目标没有达到,转到第五步;否则,结束。
34
外观相似性的评价 模型M的外观是在某一视点条件下由渲染系统产生的光栅图象I确定的。在某一视点条件下,如果模型M1和M2的对应图象相同,那么我们可以认为两模型M1和M2在视点条件下外观相同。如果I1和I2 都是mm RGB 光栅图象, 可以用下面公式定义两者之间的不同[64]: 其中 是两个RGB 向量 与 之差的欧氏长度,我们称 为外观相似性误差。在给定视点下, 如果M2 是M1较好的近似,那麽 值很小。如将灰度图象转换成0-1图象(即属于简化模型的象素点赋值为1,否则为0),那么也可以采用下面公式计算外观相似性误差:
35
复杂性分析
36
仿真结果及分析
38
图4-9 应用MSNS算法简化的网格图形
39
本章小结 本章提出了一种基于视点的非均匀抽样网格简化算法,它是通过采用视点空间中某些重要视点对各自轮廓进行抽样,以便用尽可能少的三角面片来表示尽可能多的模型外观特征。实验结果表明,该算法具有如下优点:可以在三角面片数较少的情况下,尽可能地保持了模型的重要外观特征。
40
基于视觉敏锐度的自适应实时显示技术研究 必要性 视觉敏锐度概念 基于视觉敏锐度的自适应实时显示算法 仿真结果及分析 本章小结
41
必要性 对于复杂的动态交互场景,为了使交互可视化达到实时性要求,一种普遍被接受的方法是通过牺牲部分渲染图象的真实性,来换取整个系统的交互实时性。定向凝视显示方法是利用视觉敏锐度进行实时显示的,但该方法没有考虑亮度视觉,并且调整细节度模型等级的幅度偏小。为此本章研究了一种利用不同的视觉敏锐度公式进行实时显示的新方法。
42
视觉敏锐度概念 敏锐度因子 中央/外围视觉,运动视觉和融合视觉是影响视觉感知的三种最重要的因素,为了分别说明这几种人类视觉特征对人类视觉感知实体模型的重要性,引入敏锐度因子概念。所谓敏锐度因子,就是在考虑某种视觉感知(中央/外围视觉,运动视觉和融合视觉等)因素后对实体模型重要性的一种评价指标,视觉敏锐度因子为1.0 时,表示实体模型重要性最高,观察者可以完全看清楚实体模型;0.0 时表示观察者什么也看不见。下面分别给出三种计算视觉敏锐度因子的公式。
43
图4-1 中央视觉图例 图4-2中央视觉敏锐度因子 中央凹区: 中央/外围视觉的敏锐度因子的计算公式如下: 其中θ表示视轴与从视点指向物体包围盒中心的向量之间的夹角,为物体在视域中所占的视角,表示调整缩小的参数。
44
图4-3 运动视觉图例 运动视觉: 运动视觉的敏锐度因子的计算公式如下: 其中 表示移动物体的有代表性的点的角速度, 表示调整缩小的参数。
45
融合视觉: 融合视觉的敏锐度因子的计算公式如下:
其中 , 表示固定视点的会聚度, 表示从双眼指向物体的角度。 表示调整缩小的参数,b是决定融合区域宽度的门限值。
46
图4-4 融合区域 图4-5 Vieth-Muller相同
视点几何示意图
47
视觉敏锐度 假设所有的视觉皮层区域都程度不同地对视知觉有所贡献, 那么结合三种视觉敏锐度因子可近似确定视觉敏锐度。所谓视觉敏锐度,就是在考虑各种视觉敏锐度因子后对实体模型重要性做出的一个综合评价。当视觉敏锐度较低时,选择较简单的层次模型;视觉敏锐度较高时,选择较复杂的层次模型。Ohshima等人[60] 给出下面两种求解视觉敏锐度方法:
48
从层次细节模型中选择渲染层 渲染层是根据视觉敏锐度a从层次细节模型中选择的。最高LOD被从分层模型中选择,以便在这个水平上的几何模型中没有多边形rmin比更小。计算的公式如下: (4-6) 其中D是观察者和物体之间的距离; 表示实体分层几何模型的l层模型,最大的模型 是从集合 中选择的,这里“最大”模型是指有最多的多边形的几何模型层。
49
基于视觉敏锐度的自适应实时显示算法 由于敏锐度因子是用来描述某种因素对视觉敏锐度贡献大小的有效参数,中央/外围视觉,运动视觉,融合视觉是影响视觉效果的三种最重要的因素,因此我们把上节提到的三种影响视觉敏锐度的因素作为自适应渲染的主要理论依据,并把亮度视觉也考虑在内。我们首先给出了计算亮度视觉敏锐度因子的经验公式,其次提出了根据视觉敏锐度因子求解视觉敏锐度的三种公式,最后推广了公式(4-4)和(4-5)。
50
图4-6 亮度与亮度视觉敏锐度因子之间可能的对应关系
图4-6(c) 较好地刻画亮度视觉的敏锐度因子与亮度之间的对应关系,亮度视觉的敏锐度因子经验计算公式如下:
51
求解视觉敏锐度 假设所有的视觉皮层区域都程度不同地对视知觉有所贡献, 那么综合四种视觉敏锐度因子就可确定视觉敏锐度。可以有以下五种求解方法:
从统计上说,在大多数情况下是按a的取值严格降幂排列的。这就为下面的算法设计提供了理论依据。系统首先尽可能地以最高等级显示所有实体,当发生系统资源匮乏时,采用4.3.3节算法使显示的实体质量退化,以便最终实现均匀的有界的帧速率,更好地适应全局场景的复杂变化。
52
基于视觉敏锐度的实时显示算法 图4-7 LOD调度的自适应控制系统 自适应机构 选择LOD控制器 计算显示当前帧的时间 显示系统 计数器
53
基于视觉敏锐度的实时显示算法: 步骤1:求出场景中每一实体的四种视觉敏锐度因子; 步骤2:为了保持某一指定的目标幀速率,如果渲染先前幀所需要的时间比目标幀所需要的时间长,那么选择排序靠后的视觉敏锐度公式(以便当前幀能被渲染的更快些),并转到步骤4; 步骤3:如果渲染先前幀所需要的时间比目标幀所需要的时间短,那么选择排序靠前的视觉敏锐度公式,以便当前幀中实体选择较复杂的层次模型; 步骤4:按视觉敏锐度公式计算出的视觉敏锐度来显示虚拟场景; 步骤5:如果接到退出命令,则转到步骤6;否则转到步骤1; 步骤6:结束。
54
仿真结果及分析 图4-9 由精细至粗糙的分层几何模型序列
55
图4-8 采用自适应渲染算法得到的图像
56
本章小结 本文首先给出了亮度视觉敏锐度因子的经验公式;其次,提出了根据视觉敏锐度因子求解视觉敏锐度的五种公式;最后,提出了一种利用不同的视觉敏锐度公式进行自适应渲染的新方法。 实验证明了本算法可在对视觉效果影响较小的前提下迅速调整细节度模型等级,能够适应全局场景的复杂度,实现均匀的有界的帧速率,尤其在场景复杂程度变化较大的情况下更加有效。
57
分布式虚拟环境 实时显示仿真系统 必要性 分布式虚拟环境系统 异构机实时通信 仿真结果及分析 本章小结
58
必要性 在分布式虚拟环境中,不同用户对同一对象的视觉模型和行为模型的感知应该是相同的,但是由于各个结点的硬件性能的差别,仿真推进的速度不同,这会引起虚拟数据空间的一致性问题。在 Extreme图形工作站上,每33ms能够渲染25513 个三角面片,即使显示中等复杂的实体模型,一旦实体数量增加到一定数量,其所需要的显示帧速率也达不到实时要求,满足不了实时交互的需要。 为了验证实时显示算法的有效性,本章实现了异构机分布式虚拟环境系统, 在此环境下对第4章提出的实时显示算法进行了仿真实验。
59
分布式虚拟环境系统 DVE系统构成 图5-1 HCDVE的系统构成
60
分布式虚拟环境系统软件结构 图5-2 DVE系统的结构模型 图5-3 DVE中的客户机系统框图
61
异构机网络通信 网络通信性能指标 影响网络性能的关键指标有: 吞吐量、传输延迟、延迟变化和差错率,在实际应用中常使用端到端的总延迟。
网络通信实验 为了测试端到端的总延迟,实测中使每个数据包传输128 bytes的数据,共发送10000次,测得每发送128bytes端到端的平均总延迟为0.89ms。
62
仿真结果及分析 图5-10 应用本文算法产生的LOD模型
63
(a). 工作站显示的图形 (b). PC机显示的图形
图5-11 应用实时显示算法所得到的两幅图像
64
本章小结 本章系统地介绍了分布式虚拟环境系统的设计思想和实现方法,实现了异构机网络通信。最后,完成了在异构机分布式虚拟环境系统下的实时显示算法仿真实验。 实验证明该算法在异构机分布式虚拟环境系统中是有效的。该算法能够根据各节点计算机场景变化及人类视觉特性,在对视觉效果影响不大的前提下可以迅速调整细节层次模型等级,使虚拟场景的显示满足实时交互的需要。
65
结 论 1.提出了一种基于细分网格的数据压缩方法,即几何数据可以被表示为一个较小的基本网格和一系列细节信息。该算法利用正则曲面法线向量特性及细分曲面的细分连通性,用一维标量信息代替三维信息。该方法计算简单,对细节信息进行了有损压缩。通过对几何数据的压缩研究,达到节省存储空间目的,使数据得到实时传输,确保实时显示。 2. 提出了一种基于视点的网格简化算法,该算法通过采用基于视点抽样的方法对轮廓进行抽样,以便用尽可能少的三角面片来表示尽可能多的模型外观特征。实验结果表明,该算法可以在多边形较少的情况下,尽可能地保持了模型的重要外观特征。
66
3. 提出了一种在分布式虚拟环境中利用不同的视觉敏锐度公式进行自适应渲染的新方法。首先给出了求解亮度视觉敏锐度因子的经验公式,在此基础上提出了根据视觉敏锐度因子求解视觉敏锐度的五种公式,最后给出了系统利用不同的视觉敏锐度公式进行自适应渲染的策略;并通过实验对这种方法进行了检验。 4. 介绍了异构机分布式虚拟环境系统的设计思想和设计内容。本系统采用分层结构,在分析分布式虚拟环境系统对实时通信的需求基础上,定义了信息传输数据结构及传输方式。在异构机环境下,开发一个实验系统来对自适应显示算法性能进行检验。实验证明该算法是有效的。为将来进行这方面的研究工作提供理论依据和实验数据。
67
作者在攻读博士学位期间发表的论文 1 纪庆革, 洪炳熔, 王东木. 基于视点的非均匀抽样网格简化. 计算机研究与发展(录用待发表,2001,7) 2 洪炳熔, 纪庆革. 细分网格的多分辨率表示方法研究. 高技术通信(录用待发表, 2001, 8) 3 纪庆革, 洪炳熔, 王东木, 蔡继红. 利用视觉敏锐度公式进行自适应渲染的方法研究. 高技术通信. 10(6), 2000, 5-9 4 Ji Qingge, Hong Bingrong, Wang Dongmu. Mobile Agent in Distributed Virtual Environments, Proc. of the Fourth International Conference on High Performance Computing in Asia-Pacific Region, May 2000, Beijing, China. IEEE Computer Society
68
5 Ji Qingge, Hong Bingrong, Wang Dongmu
5 Ji Qingge, Hong Bingrong, Wang Dongmu. Adaptive Rendering Based on Visual Acuity Equations. High Technology Letters, 2001, 2 6 纪庆革, 王东木, 洪炳熔. 分布式虚拟环境系统的异构机网络通信设计与实现. 计算机工程. 25(12), 1999, 7-8, 28 7 Ji Qingge, Wang Dongmu, Hong Bingrong. Mobile Agent based Prototype of Heterogeneous Distributed Virtual Environment Systems, Journal of Systems Engineering and Electronics. 11(2), 2000, 61-65
69
感谢!
Similar presentations