倾斜摄影模型轻量化及网络加载关键技术研究

known 发布于 2025-08-25 阅读(303)

摘" 要:随着实景三维中国建设的推行和开展,倾斜摄影模型作为城市级实景三维主要数据类型,因其高度还原的真实场景,逐渐在越来越多的行业生产中充当着数据基底的作用。尽管如此,这种高精度的模型也面临着数据量大、显示效率低等挑战。针对这些问题,文章提出一套综合的模型轻量化和网络动态加载技术方案,以四川省某区域的倾斜摄影数据作为实例,验证了这些技术路线的有效性。研究结果显示,该方案显著提升了倾斜摄影模型的显示效率,为其在多个行业的生产应用开辟了新径。

关键词:倾斜摄影模型;OSGB;轻量化;数据加载

中图分类号:TP39;P231" 文献标识码:A" 文章编号:2096-4706(2024)21-0130-05

Research on Key Technologies for Lightweighting and Network Loading of Oblique Photography Model

DU Weisong1, ZENG Yu1,2, LI Xiangying1, YUAN Yaming1,2, JIANG Jianlin1

(1.Surveying and Mapping Geographic Information Center, Sichuan Institute of Geological Survey, Chengdu" 610072, China; 2.Key Laboratory of Investigation, Monitoring, Protection and Utilization for Cultivated Land Resources, Ministry of Natural Resources, Chengdu" 610072, China)

Abstract: With the implementation and development of constructing 3D real scene in China, the oblique photography model is used as the main data type of city-level 3D real scene, and has gradually played the role of database in more and more industry production because of its highly restored real scene. Nevertheless, this high-precision model also faces challenges of large data volume, low display efficiency, and so on. To address these issues, this paper proposes a set of comprehensive model lightweight and network dynamic loading technology solutions. Taking the oblique photography data of a certain area in Sichuan province as an example, the effectiveness of these technical routes is verified. The research results show that this scheme significantly improves the display efficiency of the oblique photography model, opening up new paths for their production application in multiple industries.

Keywords: oblique photography model; OSGB; lightweighting; data loading

0" 引" 言

在当代信息化和智能化技术的快速发展中,空间数据扮演着日益重要的角色,尤其是三维模型数据,它在信息载体能力和空间表现力方面相比传统二维空间数据具有显著的优势。特别是倾斜摄影模型,以其高度的场景还原真实性和广泛的应用价值,在空间数据领域中的占比逐渐增加。倾斜摄影模型作为一种创新的三维空间数据形式,虽然在真实感和应用价值方面表现出色,但在实际应用中仍然面临诸多挑战。一方面,为了更真实地复现现实世界的细节,倾斜摄影模型通常需要高精度的数据生产,导致其纹理和结构数据量巨大,使得数据体量急剧增加[1]。另一方面,由于数据结构的限制,倾斜摄影模型的数据文件较为分散,这在一定程度上降低了数据复制和加载的效率,尤其是在网络环境下,浏览器端的数据加载渲染效率较低,影响了其进一步的生产应用[2]。

尽管已有研究从数据处理角度探讨了如何提高倾斜摄影模型的请求和渲染效率,例如帖黎阳等人通过合并倾斜摄影瓦片的根节点来减少数据节点,提高网络加载速度[3];李淑荣等人探索了纹理压缩对数据量的影响[4];罗万波等人通过构建不同级别的细节层次(Levels of Detail, LOD)改善了模型的加载速度[5]。然而,大多数研究尚未形成一个全面的倾斜模型轻量化方案。此外,从网络和浏览器的数据请求机制出发,关于多节点数据部署、多线程请求等技术如何影响数据加载与渲染效率,缺乏详尽的探讨。

本文以四川省某区域的倾斜摄影数据为例,探索倾斜摄影模型轻量化最优技术路径,同时将基于实际的网络数据请求和获取机制,结合Cesium模型的加载参数设定,探索和验证倾斜摄影模型网络动态加载的关键方法,以期解决倾斜摄影模型在实际应用中遇到的网络加载效率低下等关键技术问题,提升其在生产和应用中的实际效能。

1" 数据源

当前倾斜摄影模型的主流数据格式为OSGB(Open Scene Gragh Binary),是OSG(Open Scene Graph)三维实时场景图形开发引擎中用于存储场景图形数据的OSG数据二进制文件形式。

本文以四川省宜宾市部分区域倾斜摄影数据作为测试数据,数据格式为OSGB,数据量大小为820 GB,测区总面积为8.5 km2。通过对原数据进行一系列轻量化处理,基于Cesium平台测试各优化技术对倾斜摄影数据在网络加载中加载效率的影响,并结合网络数据请求获取机制与Cesium模型加载参数设定,探索倾斜摄影模型轻量化与动态加载的最佳技术路线。

2" 倾斜摄影模型轻量化方案

由于倾斜摄影模型通常包含大量的数据和复杂的三维结构,导致其在存储和渲染上需要消耗大量的资源。为了解决这一问题,本文将介绍一种倾斜摄影模型轻量化方案,该方案旨在不显著降低模型质量的前提下,减少模型的存储大小和提高渲染效率。首先对数据根节点合并、顶点优化、纹理压缩等现有的技术进行分析研究,然后分别运用上述技术对源数据进行处理,最后对结果进行分析比较,得出最佳的轻量化技术路线。

2.1" 合并根节点技术

倾斜摄影测量数据生产成果文件时以分幅图的方式进行分块存储,这就不免会造成分幅过多,进而导致根节点过多的问题[1]。在场景载入的过程中,所有顶层的LOD瓦片都需要被一次性地载入进来,这造成了巨大的资源占用和CPU等待时间,甚至会造成系统耗尽所有的资源而崩溃。如图1所示,合并根节点采用LOD技术自低而上地对相邻一定空间范围的根节点进行合并,对原有数据模型进行聚合,向上抽稀为一个特征根节点。当前主流算法逻辑为每次根节点合并都是将每4个根节点合并为1个,每合并一次,模型根节点数量减少约为原始数量的1/4[6]。根节点的数量并非越少越好,合并根节点的同时单个瓦片数据的体量也在增加,浏览的区域相同时,发送的请求数量减少了,但是请求到的单个数据体量增加了,如在浏览器端会出现数据加载卡顿的情况。

目前行业主流的倾斜摄影模型数据处理软件均提供合并根节点功能,在执行该功能时需要设定合并层级参数,该参数用以控制根节点合并的次数与程度,其数值即根节点合并的次数,本文研究区域倾斜摄影模型820 GB,根节点为135个,通过研究发现,根节点小于10个,同时S3MB单个文件大小不超过5 MB效果较好,故本文将合并层数设定为2级,其合并后的根节点就控制在10个以内。

2.2" 顶点优化技术

倾斜摄影模型的表面结构信息是以三角网的形式进行存储的。将倾斜摄影获取的影像中地面特征点进行三角剖分,生成一系列相互连接的三角形,基于这些三角形创建了地表的三维表示。为了更精细、更真实地重现建模场景,需要足够多的节点来组成三角网进而体现尽可能多的模型细节。

顶点优化,就是采用技术手段来简化或减少模型节点,使得模型的节点规模得到有效减少,从而优化模型结构,减轻图形渲染的负担,提高性能。本文采用Draco压缩算法减少顶点数据的存储量以及MeshOpt压缩算法进行三维图形优化的方式,分别来进行模型的顶点压缩,并对比两种算法的优化效率。

2.2.1" Draco压缩算法

Draco是由Google开发的一种开源的顶点压缩库,专门用于三维图形模型的压缩。其机制是通过减少顶点数据的存储量,来达到顶点压缩的目的,压缩过程中,顶点数量不会减少。Draco算法支持实现不同等级的压缩,压缩等级越高,压缩率越大,数据精度损失也会比较大,通常要根据模型应用环境来平衡压缩比和数据量。

2.2.2" MeshOpt压缩算法

MeshOpt(Mesh Optimization)是一个由Arseny Kapoulkine开发的开源库,用于进行三维图形模型的优化。MeshOpt不同于Draco压缩算法,MeshOpt的机制为删除模型中非必要节点,对应模型渲染展示效果而言,即删除不显著的细节信息,进而减小模型的复杂性,同时尽可能保留视觉质量,以期达到两者之间的平衡。

2.3" 纹理压缩技术

OSGB文件通常采用JPG格式作为纹理格式。然而,JPG格式纹理不能直接被GPU识别,必须先通过CPU解码成像素格式后才能送至GPU进行处理,这一额外步骤延长了模型渲染时间,降低了加载效率[3]。

由于直接可被GPU读取的原生纹理格式如A8R8G8B8在内存占用上相对较高,倾斜摄影模型纹理因此需要一种既能被GPU直接读取又具有较小内存占用的新格式,即压缩纹理格式。本文采用DXT算法来进行纹理色彩上的压缩,以及采用WebP算法将纹理质量进行压缩,对比两种纹理压缩方式的效果。

2.3.1" DXT纹理压缩格式

DXT是由S3 Graphics开发的一种有损纹理压缩算法,采用DXT纹理压缩技术,JPG的纹理格式将转为DXT格式,DXT格式可以被GPU直接读取,以提高纹理载入速度。DXT压缩方式会进行纹理色彩上的压缩,原纹理格式每像素块均使用RGBA四通道每通道8字节的存储方式,即每个像素块的颜色值需要8×4 = 32字节来存储,而DXT中DXT5格式中,每个像素仅使用8字节,体积减小了75%。

2.3.2" WebP纹理压缩格式

WebP是一种由Google开发的开源图像格式,主要用于在Web上加速图像加载,减小图像文件的大小,从而提高页面加载速度。

有损WebP压缩使用的图像编码方式,类似于视频压缩技术中的抽帧,选择性的图像进行编码,利用图像已编码部分预测未编码部分,以此控制大小。当WebP将纹理质量压缩到相当于原图质量的90%时,图片体积会减小50%左右[7]。WebP主要用于Web上,特别是在网页和移动应用的图像优化中。

2.4" 结果验证分析

2.4.1" 合并根节点

采用合并根节点的方法去模型进行处理,设定测试方式为将视角调整到可以俯瞰整个倾斜摄影模型的高度,分别加载未合并根节点和合并根节点的两期模型,记录整个模型被完整渲染完成所需要的时间。实验结果表明合并根节点的模型加载时间要明显优于未合并根节点的,如表1所示。

2.4.2" 顶点优化

使用上述Draco和MeshOpt分别对模型进行顶点优化,设定测试方式为将视角拉至可观测模型细节的高度,分别加载不同处理方式下的模型,记录模型纹理被完全渲染所需要的时间。顶点优化后的数据体量和加载时间的对比如表2所示,经Draco和MeshOpt优化后模型的体量均小于原始数据,经过顶点优化后的模型加载时间均明显少于未经优化的原模型,其中经MeshOpt优化后模型的加载时间要略微少于Draco优化后的。

2.4.3" 纹理压缩

使用上述的WebP和DXT纹理压缩算法对模型进行压纹理缩处理,设定测试方式为将视角拉至可观测模型纹理的高度,分别加载不同处理方式下的模型,记录模型经处理后的体量和纹理被完全渲染所需要的时间。结果如表3所示,经WebP和DXT压缩后的模型体量均减少了3倍以上,在处理后的模型加载时间上,使用两种算法处理后的模型的加载时间有明显的减少。总体来看,WebP算法的纹理压缩效果要优于DXT算法。

2.4.4" 联合测试

模型经合并根节点处理后,将以上顶点优化和纹理压缩的手段进行组合,分别测试压缩效果与所需时间。从表4中可以看出,经Draco顶点优化和WebP纹理压缩组合的方式处理后的模型数据量最小;在加载时间上,模型经MeshOpt和DXT处理后的加载时间最少,如表5所示。

通过以上实验分析对比发现,倾斜模型通过顶点优化,可以压缩或减少不必要顶点信息,其中针对Web浏览器渲染效率提高的作用上,MeshOpt效果最佳;通过纹理压缩,可以将纹理数据转换成GPU能直接读取的数据格式,减少数据解码时间,同时该技术可以压缩纹理数据大小,缩短浏览器渲染数据过程中纹理图片下载的时间,进一步缩短数据加载时间,其中WebP效果最佳。经过顶点优化和纹理压缩算法的联合测试,模型经MeshOpt和DXT处理后,虽在数据量上不是最小的,但加载时间最少,针对浏览器加载渲染的应用目的而言,在电脑内存充足的情况下,应优先选择加载时间最少的,故倾斜摄影轻量化的最佳技术路线为:合并根节点+MeshOpt顶点优化+DXT纹理压缩,如图2所示。

3" 倾斜摄影模型网络动态加载

3.1" Cesium加载优化参数

在倾斜摄影模型网络动态加载中,Cesium能够有效地优化3D Tiles的加载效率和渲染性能,提供了一系列可选参数以支持这些优化。本文通过调整skipLevelOfDetail和dynamicScreenSpaceError这两个关键参数,来提升数据处理效率和渲染质量。

1)跨层级加载参数(skipLevelOfDetail)。参数skipLevelOfDetail启用了一种跨细节层次(LOD)的加载机制。在Cesium的3D Tiles处理框架中,默认情况下,视图会根据用户视角与模型的相对位置动态地逐级调整LOD,以保证渲染的细节与视角距离相匹配。然而,这种逐级加载的方法,尽管在维持视觉质量方面表现出色,却可能导致加载时间的增加、网络请求的累积以及内存使用的提升。

本文通过将skipLevelOfDetail设置为true,在缩放过程中,当视角变化跨多级LOD时,浏览器将不会逐级加载LOD,而是直接略过中间等级,加载最高等级的LOD。其中,并非完全跳过了中间层级,而是使用了部分渲染技巧,来准确地混合加载视角范围内多个LOD细节层级。实践表明,这种方法能够显著减少加载时间和资源消耗,通常能够在加载时间和内存使用上实现30%~50%的节省。

2)动态屏幕空间误差(dynamicScreenSpace-Error)。DynamicScreenSpaceError参数引入了一种基于屏幕空间误差的动态调整机制,可以在不牺牲用户体验的前提下,优化渲染性能。本文在Cesium创建Cesium3DTileset对象时,将DynamicScreenSpaceError参数设置为true,此设置通过将用户视野较远处的瓦片以较低的细节级别渲染,而将近处的瓦片以更高的细节级别展现,从而减少平贴图数量和网络请求,同时保持了渲染效果的质量,网络加载参数设置如图3所示。

3.2" 多节点数据部署与多线程数据请求

在现代网络应用中,浏览器对于同一主机域名的并发连接数限制可能导致数据加载的瓶颈,尤其是在同时请求大量数据切片的情况下。当并发请求超出浏览器限制时,未完成的请求会阻塞后续请求,导致其余数据的下载暂停,从而引起页面响应缓慢或卡顿。此外,当多个客户端同时向同一服务器请求数据时,服务器的硬件性能,特别是数据存储和读取速度,成为影响数据获取效率的另一个关键因素。

为了有效解决这一问题,本文采用多节点数据部署与多线程数据请求策略。通过将数据切片分布式存储于多个服务器节点并提供服务,来平衡高峰期对单一服务器的请求负载,优化数据的存取速度和响应时间。这种多节点部署方式有助于缓解由于单一服务器性能瓶颈或并发连接数限制导致的数据服务延迟。

在客户端,传统的单线程数据请求模式可能因连续请求不同节点的数据而产生分区加载效果,影响用户体验。为了克服这一限制,本文在浏览器端利用Web Worker技术创建多个工作线程,并将数据请求任务分配到不同的线程中,使得脚本能够在与主页面环境(Window对象)隔离的后台线程中运行,从而允许并行处理数据请求和渲染任务。通过这种方式,可以有效避免因单一任务的执行而导致的数据请求堵塞问题,显著提升了应用的性能和响应速度。多节点数据部署与多线程数据请求示意图如图4所示。

3.3" 结果验证分析

经前端的多节点数据部署与多线程数据请求设计[8-10],局部倾斜摄影场景优化前和优化后的对比如图5所示。

以上实验发现,分节点数据部署可以有效地缓解单服务器节点可能遭遇的请求连接数超限和硬件性能不足等问题,同时多线程数据加载技术可以配合多节点数据部署,同步请求加载大范围模型数据的分区数据,进而实现多区数据同时加载,提高浏览器请求渲染大范围倾斜摄影模型的效率。

4" 结" 论

随着城市规划和管理对精确三维数据需求的不断增长,倾斜摄影模型作为提供这些数据的重要手段受到了广泛关注。本文深入探讨了倾斜摄影模型轻量化和网络动态加载的关键技术,并进行了实践验证,成功地提出了一种轻量化技术方案,通过采用合并根节点、MeshOpt顶点优化以及DXT纹理压缩的技术路线,不仅显著提高了大数据量倾斜摄影模型的加载与渲染效率,而且确保了满足精度的要求。此外,研究了多节点数据部署与多线程数据请求模型,为前端加载技术提供了多样化的方法,提高了前端加载效率,进一步促进了倾斜摄影模型数据在实际生产中的应用。结合本研究的成果,未来的工作可以根据不同的应用场景和数据特点,对所提出的方法进行细化和优化,以进一步提升倾斜摄影模型的显示效率。

参考文献:

[1] 王文凯,黄昆学,李梦,等.倾斜摄影测量数据轻量化处理技术研究 [J].测绘通报,2020(9):123-126.

[2] 王昱霏,李绍彬.倾斜摄影模型优化和动态加载的关键技术研究 [J].计算机仿真,2023,40(11):279-283.

[3]帖黎阳,朱大明,杨润书.商业化倾斜摄影测量数据的优化方法及效率研究 [J].中国水运:下半月,2021,21(1):143-144+147.

[4] 李淑荣,李锋.倾斜摄影模型后处理与建库研究 [J].城市勘测,2017(2):98-101.

[5] 罗万波,陈小鸿,谢祖明.基于Skyline三维实景模型在三维GIS中的应用——以晋江三维实景地理信息系统为例 [J].测绘与空间地理信息,2016,39(7):94-96+100.

[6] 彭晖儿,徐佳沅.基于WEB 3D的倾斜三维数据管理与发布技术研究 [J].测绘与空间地理信息,2020,43(8):155-157+160.

[7] X技术.基于WebP压缩算法的多图处理的FPGA加速方法与流程 [EB/OL].[2024-02-16].https://www.xjishu.com/zhuanli/55/202010653783.html.

[8] 单杰,李志鑫,张文元.大规模三维城市建模进展 [J].测绘学报,2019,48(12):1523-1541.

[9] 汪永强,曹晓辉,李德江.基于Android平台的海量真三维数据显示技术 [J].测绘与空间地理信息,2020,43(S1):70-72.

[10] 甘麟露.基于Web的大规模三维城市模型可视化关键技术研究 [D].长沙:国防科技大学,2017.

作者简介:杜伟松(1999—),男,汉族,河北邢台人,助理工程师,本科,主要研究方向:自然资源领域的信息化建设

基金项目:四川省地质调查研究院财政支持科研项目(SCIGS-CZDXM-2023005)

标签:  模型 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor