文章快速检索  
  高级检索
集群环境下基于视点移动的三维城市模型快速显示方法
李朝奎1,2, 方军1,2, 方文1,2, 卜璞1,2     
1. 湖南科技大学地理空间信息技术国家地方联合工程实验室, 湖南 湘潭 411201;
2. 湖南科技大学地理空间信息湖南省工程实验室, 湖南 湘潭 411201
摘要:大范围三维城市模型数据在现有的单机运行环境下,因数据量大导致运行速度慢、计算耗时等难题。为解决该问题,本文结合集群并行运算,提出了一种基于视点移动规则的大范围三维城市模型的快速显示方法。采用静态细节层次简化算法将三维城市模型简化为4个分辨率层次,根据视点移动规律,利用距离和偏心率选择不同层次的细节层次模型,逐级加载不同分辨率层次模型,并在集群系统中并行显示,从而有效地解决了大范围三维城市模型加载显示过慢、场景效果跳跃等问题,实现了对大范围三维城市模型的快速可视化。试验结果表明:随视点变化分层逐级加载不同等级LOD模型,采用PC集群并行绘制,可以快速有效地对大范围三维城市模型进行渲染处理,在兼顾效率的同时,并行地显示模型的细节,具有良好的可视化效果,对智慧城市的建设具有重要的指导意义。
关键词集群环境     视点移动     三维城市模型     快速显示    
The Fast Display Method for 3DCM Based on the Viewpoint Moving in Cluster Environment
LI Chaokui1,2, FANG Jun1,2, FANG Wen1,2, BU Pu1,2     
1. National-local Joint Engineering Laboratory of Geo-spatial Information Technology, Hunan University of Science and Technology, Xiangtan 411201, China;
2. Hunan Province Engineering Laboratory of Geospatial Information, Hunan University of Science and Technology, Xiangtan 411201, China
Abstract: With the rapid development of digital city construction, as the core content of digital city, 3DCM has the characteristics of large amount of data, slow running speed, great calculation pressure and so on in the existing computer's running environment.To solve these problems, combined with the parallel computing, a new fast display method for 3DCM based on the viewpoint move rules is proposed.Using static LOD simplification algorithm to simplify the 3DCM to four resolution level.Based on the viewpoint move rules, the LOD model was selected and gradual loading according to the distance and the eccentricity ratio.The results were parallel displaying in the cluster system, which effectively solves the problems of slow load display and scene jumping for large-scale 3DCM, achieved the fast display of large scale 3DCM.Experimental results show that this method can quickly and effectively deal with large-scale 3DCM rendering, while taking into account the efficiency and showing the details of the model, has a good visual effect, which has important significance for the development of digital city.
Key words: cluster environment     viewpoint moving     3DCM     fast display    

随着智慧城市和虚拟现实技术的快速发展,三维城市模型(three dimension city model,3DCM)在导航、交通及城市空间规划等多方面起着至关重要的作用,它具有多种细节层次的三维几何表达,并提供逼真的材质和纹理特征及目标的属性信息。但由于目前三维城市模型数据量大、单机运算处理时间长、显示绘制压力大,单机绘制和静态算法已无法满足日益增长的3DCM数据对其可视化的要求。因此,迫切需要研究大范围3DCM的快速并行显示方法。

Clark指出多细节层次模型(level of details, LOD)是解决大范围3DCM的高精度表达困难最重要的方法之一[1]。目前,许多学者针对LOD简化进行了研究,简化方法主要有顶点聚类法、几何元素删除法、顶点采样法、小波分解法、聚类算法等[2-4],通过这些方法可进行模型简化并实现三维模型的显示。但上述方法的共同缺陷是丢失了一定量的精细信息,对于大范围三维模型数据显示速度较慢,不利于三维场景的快速显示与可视化决策。

针对这些问题,本文通过构建集群并行显示系统,对3DCM进行多分辨处理,生成多层次细节模型(LOD),分析视点变化规律,并根据距离和偏心率选择不同层次的三维模型,既能兼顾模型的显示速度,又可表达较为完整的精细信息,实现了大范围3DCM的集群并行快速显示。

1 集群环境下视点移动模型绘制方法 1.1 构建并行集群

集群就是通过高速网络连接多台相互独立的计算机(节点),使多台计算机作为一个整体向用户提供网络资源和服务。集群中各节点除了可以作为单一计算机供用户使用,还可以协同作为一个整体使用。集群是一个系统,用户无须了解集群系统内部的节点和构造,且集群系统的管理员可以随意增加和删改集群系统的节点。集群具有高可扩展性、高可用性、高性能、高性价比等特点[5]。集群系统结构[6]图 1所示。

图 1 集群系统结构

在集群系统中,选用一台计算机作为主节点整体协调控制多台子节点计算机,每台计算机控制一个显示屏。主节点负责将数据划分至各个子节点,协调管理各个子节点的数据量大小和处理进度,由各个子节点对分配到的数据进行处理渲染并最终显示。通过集群并行计算,可以有效地解决单一计算机硬件性能有限、计算能力不足等问题,实现大范围3DCM快速处理显示任务。

1.2 多分辨率三维模型

LOD是一种为了提高绘制速度,适度放弃精度的简化方法,根据人眼分辨率的感知原理和视点的移动规律,对不同的视距采用不同精细程度的物体细节层次,达到漫游帧速流畅的目的。在构建模型的细节层次时,要综合考虑细节层次与数据量之间的关系[7]。细节层次太多,数据量相应变大,不利于存储管理;而细节层次太少,在场景切换时画面呈跳跃感,影响场景的连续性。

目前常用的建立LOD的方法主要有静态LOD和动态LOD两种[8-10]。静态LOD,即预先生成几个层次的细节模型,在渲染时根据算法确定所需的分辨率及细节层次,这种方法绘制速度快,但需要存储多个细节层次模型,占用过多的存储空间,在模型切换的时画面会有跳跃感;动态LOD,即通过模型简化算法或迭代运算生成任意多个连续的细节层次模型,从而得到相邻的细节层次模型,模型切换时能够保持很好的视觉平滑效果,但是算法复杂,计算量大,影响显示速度,且目前并不能实现完全动态模型简化。

虽然静态LOD简化需要占用较多的存储空间,但在目前存储空间足够的情况下,可通过预先生成多层次细节模型,在渲染显示时不需要再通过算法实现模型层次的构建,进而提高了运行速度[11]。在大范围3DCM渲染显示时,不需要显示全部的细节信息,无需将所有分辨率下的模型全部加载显示,可以根据视点移动规律对模型进行动态调度。

1.2.1 三维模型LOD简化

3DCM主要由许多个三角面片组成,因此模型的简化可以转换为对三角面片的简化。采用一种改进的基于边折叠简化算法,依据小波曲面细分原理,并对边折叠生成的新顶点提取矫正系数,对新顶点进行修正[7]图 2为边折叠算法示意图。

图 2 边折叠算法示意图

假设新生成顶点为X0(x0, y0, z0), 顶点实际坐标为X1(x1, y1, z1),则矫正系数J就是X0X1之差,即

根据上述算法,并参照《城市三维建模技术规范》,将三维模型简化为4个LOD层次,并进行存储。表 1为LOD细节层次分级。

表 1 LOD细节层次分级
细节层次分级 用途说明 分辨率/m
LOD1 精细化管理、逼真显示 <10
LOD2 专题应用 10~20
LOD3 城市区域发展趋势分析 20~50
LOD4 城市格局演变分析 >50
1.2.2 基于视点和距离选择的LOD层次选择

在进行三维场景绘制时,视野的变化范围随着人眼视点的移动而移动。虽然视点的变化是随机的,但是整体来说包含6种变化趋势:沿着X轴的正、反方向的移动(沿X轴前进或后退),沿着Y轴的正、反方向的移动(沿Y轴前进或后退),沿着Z轴的正、反方向的移动(沿Z轴前进或后退)[12-13]。将其投影至二维平面变化为向上、向下、向左、向右、左上、左下、右上、右下等几种情况,如图 3所示。

图 3 视点变化情况

因此在进行三维场景显示时,可以根据视点位置及其变化趋势对三维场景分级逐渐显示。采用距离选择法和偏心率选择法相结合的方法选择LOD细节层次。距离选择法是根据场景内视点距离模型的欧氏距离选择合适的LOD模型,这是最简单也最常用的一种方法。场景的精细程度随着视点到模型距离的增大而减小,当距离视点较远时,一些细节就变得不重要,可以选择较低分辨率,甚至可以选择不显示。偏心率选择法是根据视觉规律,通常居于视野中心的模型往往具有更高的关注度,可以选择较高分辨率的细节模型,而居于边缘的模型容易不被重视,选择较低分辨率的细节模型。图 4(a)图 4(b)分别为距离选择法和偏心率选择法的示意图。

图 4 ${paragraph.title}
1.3 不同层次LOD模型加载

对构建的不同层次三维模型进行树形结构存储和建立索引,便于后期加载绘制。集群系统采用4台子节点,每台节点控制一台投影仪,将4台投影仪进行多屏拼接绘制。按投影屏幕范围与模型显示区域进行换算,将屏幕范围划分为4块进行显示,并在此基础上再次划分为16块及64块等更高等级。根据人眼观察规律,视点通常位于屏幕中心,因此选择屏幕中心作为初始视点,并以初始视点为中心进行屏幕等级划分。在视点移动规律下,可知通常上、下、左、右4个方向是人眼视野最易变化的方向,由模型在这4个方向上距离初始视点的欧式距离作为判定模型分辨率等级的标准。与此同时,兼顾左上、左下、右上、右下4种视点移动情况,将对这4个方向上(即对角线方向)的模型层次等级进行一定的提高。以X轴、Y轴分别进行八等分,取交点作为屏幕划分依据,得到均匀划分区域,不同屏幕区域对应不同范围下的三维模型,进而计算得到不同等级屏幕区域所需加载显示范围。LOD模型分级加载显示流程如下图 5所示。

图 5 LOD模型分级加载显示流程

将屏幕按照划分规则划分为4个等级(如图 6所示),其中最小框线包含的区域(区域Ⅰ)是视点最关注区域,区域Ⅱ次之,区域Ⅲ进一步模糊化,最外层区域Ⅳ采用LOD4。在模型显示及变化时,先在整体范围Ⅳ内加载LOD4,区域Ⅲ进一步加载LOD3,区域Ⅱ加载LOD2,区域Ⅰ加载LOD1。当显示区域稳定不变后,根据需要按照Ⅱ、Ⅲ、Ⅳ的顺序逐步加载更为精细的模型。

图 6 屏幕等级划分方案
2 试验及结果分析 2.1 并行结果显示

试验采用的集群系统由1台主节点机、4台子节点机和4台投影仪组成。所有节点计算机操作系统均为Windows 7,其中主节点内存为4.00 GB,子节点内存为2.00 GB。在集群系统中,通过主节点对4台子节点进行控制,每台子节点连接一台投影仪,利用4台投影仪对模型进行并行显示,以解决单一计算机绘制时易产生卡顿、运行缓慢等现象。试验所使用的测试数据为自主构建的三维城市场景模型。

使用OSG(OpenSceneGraph)三维描绘引擎对三维城市模型进行管理渲染,通过OSG渲染流水线(依次遍历操作、更新遍历、拣选遍历和绘制遍历),得到三维场景的渲染结果。将所有层次LOD模型一次载入,利用OSG中的PageLOD节点代替LOD节点,每一层分辨率模型只在显示时加载,不显示时可动态卸载[15-16]。采用改进的边折叠算法[7]对模型进行简化,构建4个层次等级的LOD模型,并存储在计算机节点中,由主节点对模型绘制过程进行整体管理和调度。按照不同等级屏幕对应的模型范围,根据视点的选择,每块屏幕逐级加载对应的不同等级LOD层次模型,并随视点变化动态的加载符合重要度等级的LOD模型,卸载当前等级LOD模型。待视点稳定后,分区域逐级完成整个模型的加载及绘制。

2.2 结果及分析

3DCM在集群并行系统下的显示效果如图 7所示。表 2为原始未简化三维模型和LOD简化后模型的顶点数、面数、帧数等试验结果。可以看出,通过简化后的模型的三角面片数和顶点个数减少,模型数据量变小,为模型可视化提供了良好的数据准备;利用分层逐级加载模式进行场景加载,每块模型根据视点重要度只在显示使加载,不显示时动态卸载,模型加载时间由21 s提升至8 s,能够快速地渲染显示;根据视点变化规律动态加载模型,运行效率得到了大幅提高,帧率由18.9帧/s加速至30.1帧/s,能够满足连贯流畅的可视化效果。采用基于视点变化规律,通过距离选择法与偏心率选择法相结合的方法分层次、分区域的渲染显示三维场景,能够在较短时间内完成3DCM的显示,且具有良好的可视化效果。

图 7 3DCM集群并行环境显示效果
表 2 不同分辨率模型实验结果对比
模型 三角面/个 顶点数/个 载入平均时间/s 帧率/(帧/s)
原始格网模型 153 362 460 086 21 18.9
简化后格网模型 102 918 163 563 8 30.1
3 结论

针对三维城市模型数据量大、运行速度慢、计算压力大等问题,对三维模型构建了多层次细节模型,根据视点变化规律,结合距离选择法与偏心率选择法,对屏幕进行划分,按照划分方案对三维模型分层次加载,在集群系统中并行地实现了3DCM的快速显示。研究表明:

(1) 对三维场景进行LOD简化,可以大大减少模型的数据量。

(2) 基于视点的模型加载显示可以有效地提高三维场景的显示速率,且显示连贯,没有明显的跳帧现象。

(3) 在集群系统中采用并行的方式对三维模型进行处理,是一种快速有效的方法,可以大幅提高3DCM的处理显示速度,提供流畅连贯的可视化效果。

随着数字城市的快速发展,需要越来越精细的3DCM。如何解决大范围模型数据的处理显示,建立更连贯精细的LOD层次模型,以及利用GPU加速图形的渲染等问题还需要进一步研究;同时,在多屏幕显示绘制中屏幕中间易产生裂缝,影响整体可视化效果,通过硬件软件相结合的方法解决屏幕裂缝,实现多屏无缝可视化绘制将会是下一步研究方向。

参考文献
[1] CLARK J. Hierarchical Geometric Models for Visible Surface Algorithms[J]. Communications of the ACM, 1976, 19(10): 547–554. DOI:10.1145/360349.360354
[2] 俞凌云, 王毅刚, 王亢. 大屏幕无缝拼接系统的应用软件平台开发[J]. 计算机应用, 2008, 28(9): 2434–2436.
[3] 张志国. 基于边塌陷和顶点分裂的动态多分辨率网格生成[D]. 上海: 上海交通大学, 2006.
[4] CHEN Huahong, LUO Xiaonan, LING Ruotian. Surface Simplifi-cation Using Multi-edge Mesh Collapse[C]//International Conference on Image and Graphics.[S.l.]:IEEE, 2007:954-959.
[5] 石教英. 分布式并行图形绘制技术及其应用[M]. 北京: 科学出版社, 2010.
[6] 迟学斌. 高性能并行计算[M]. 北京: 中国科学院计算机网络信息中心, 2010.
[7] 杨武. 三维城市模型数据组织与存储方法研究[D]. 湘潭: 湖南科技大学, 2014.
[8] 朱庆, 龚俊, 杜志强, 等. 三维城市模型的多细节层次描述方法[J]. 武汉大学学报(信息科学版), 2005, 30(11): 965–969.
[9] ASTHEIMER P, PÖCHE M.Level of Detail Generation and Its Applications in Virtual Reality[C]//Conference on Virtual Reality Software and Technology.[S.l.]:World Scientific Publishing, 1994.
[10] 费红辉, 王毅刚. 大规模场景分割及LOD结构生成算法研究[J]. 计算机应用与软件, 2012, 29(7): 227–230.
[11] 付燕平, 罗明宇, 刘其军. 大数据三维模型快速显示技术研究[J]. 计算机技术与发展, 2015(5): 87–90.
[12] 殷智慧. 三维空间数据存储技术与动态调度机制研究[D]. 湘潭: 湖南科技大学, 2014.
[13] 李拥. 基于OpenMP的三维城市模型并行绘制研究[D]. 湘潭: 湖南科技大学. 2013.
[14] 龚俊, 朱庆, 张叶廷, 等. 顾及多细节层次的三维R树索引扩展方法[J]. 测绘学报, 2011, 40(2): 249–255.
[15] 聂小波, 邢光成, 陈涛, 等. OpenGL及其在DEM可视化中的应用[J]. 地理空间信息, 2009, 7(3): 48–50.
[16] 王锐, 钱学雷. OpenSceneGraph三维渲染引擎设计与实现[M]. 北京: 清华大学出版社, 2009: 74-86.
http://dx.doi.org/10.13474/j.cnki.11-2246.2017.0319
国家测绘地理信息局主管、中国地图出版社(测绘出版社)主办。
0

文章信息

李朝奎,方军,方文,卜璞
LI Chaokui, FANG Jun, FANG Wen, BU Pu
集群环境下基于视点移动的三维城市模型快速显示方法
The Fast Display Method for 3DCM Based on the Viewpoint Moving in Cluster Environment
测绘通报,2017(10):74-78.
Bulletin of Surveying and Mapping, 2017(10): 74-78.
http://dx.doi.org/10.13474/j.cnki.11-2246.2017.0319

文章历史

收稿日期:2017-02-17

相关文章

工作空间