倾斜摄影三维模型OSGB格式简化(压缩、优化)

倾斜摄影三维模型OSGB格式简化(压缩、优化)

文章目录

  • 倾斜摄影三维模型OSGB格式简化(压缩、优化)
  • 前言
  • 一、OSGB格式
  • 二、当前osgb简化/压缩的主要方式
    • 1.第一种 输出osgb格式
    • 2.第二种 输出其他格式
  • 三、我的理解
    • **有兴趣的同学可以加我QQ451560242进一步交流。 下载使用地址:*链接:https://pan.baidu.com/s/13nmPVfyeQOJODTDmslb3uw?pwd=cxwl


前言

倾斜摄影三维模型数据获取快,效果好(看起来),在智慧城市、全景三维中国、CIM等等平台建设中的重要性不言而喻。另一方面,相应的问题也不少。如:数据量大(占空间)、大区域显示效果不好(卡)、只有一张皮(也就是当前提的比较多的没有语义)等等,这些都是倾斜三维模型的诟病。
本文仅从osgb格式的简化或是说压缩方面谈一些自己的理解,有不足之处大家姑且看之。


一、OSGB格式

OSGB的全称Open Scene Gragh Binary,它是OSG引擎的自有格式(开源三维引擎OSG、osgEarth,国内很多三维桌面平台都是基于它改的),它是一种二进制格式,它可以转换为文本格式,即OSG格式(osgconv工具)。OSGB的内部结构主要由两部分组成,即结构数据和纹理数据,结构数据主要由Group、PagedLOD、Geode、Geometry四个关键节点组成(依次包含),其中Geometry节点包括具体的顶点数据结构。(详情可以参考https://blog.csdn.net/kasteluo/article/details/73648354)。(对于想查看该类型文件的同学,推荐一款小工具RockyViewer,小巧实用,ps:缺点是只支持单块的数据查看)

二、当前osgb简化/压缩的主要方式

倾斜三维模型基于对地物多角度的拍照及实时测量进行三维建模,区别于一般的人工模型,其三维结构复杂(各类细部都进行了体现),数据量大(越精细、分辨率越高,占的空间越大)。在数据范围大时,往往在三维展示中会出现加载速度慢、卡顿的情况,这个时候就需要考虑对数据进行简化或压缩。
当前对osgb进行简化/压缩主要有两种方式,一种是直接对osgb格式进行操作,输出还是osgb格式,另一种是面向具体应用,在转换为其他格式时对三维模型进行操作,输出的是其他格式。

1.第一种 输出osgb格式

主要流程流程如下
(1)读取osgb文件
读取osgb文件也有两种方式。一种利用osg库(c++)进行读取,接口现成,读取过程相对简单,但是仅限于c++语言(参考https://blog.csdn.net/u010608964/article/details/89017325)。第二种,根据osgb文件格式,用字节方式读取osgb文件,这种方式读取过程复杂,但是灵活性好,不依赖第三方库,也不依赖某种语言,方便与其他平台集成(参考https://view.inews.qq.com/a/20201216A0DOA400)。
(2)根据相关算法对结构进行重构,对纹理进行压缩
按照某种算法对解析后的osgb文件的顶点结构、纹理结构、顶点简化(合并顶点、删除面等),根据需要对纹理数据进行压缩(这里可以对纹理进行一些操作,如引入图像识别算法、机器学习算法)。
(3)重组文件
对重构的三维结构、纹理进行文件重组,保持文件层级、块的结构不变(应该也可以采取变的方式,没有实践过),形成新的osgb文件。

2.第二种 输出其他格式

这种方式也是在读取osgb文件的基础上,基于其他文件格式的要求,在转换过程中对纹理和结构进行压缩和简化。cesiumlab以及一些其他的3Dtile生产功能或多或少带有相关功能,简化和压缩效率一般(因为这个功能不是其主要功能点,在输出效率和质量上一般)。

三、我的理解

当前一些主流的商用软件都宣传自己支持对倾斜摄影三维模型轻量化、简化、压缩,往往在模型大小、压缩质量上宣传过度,面对这些宣传的时候,大家需要明白一点:简化和压缩肯定会损失质量,简化和压缩比越大质量损失越大。具体应用的时候还得看实际需求,例如,如果你用的是超图的引擎支撑倾斜,就可以考虑他自己的简化工具(商用软件一般压缩后变成了自己的格式),如果你要使用3Dtile进行展示,那你可以选择在输出的时候进行简化和压缩。
到这可能有童鞋要问,那是否有支撑osgb简化后还是osgb格式的软件,这样后续想怎么用都可以呀。答案是有的,本人做了一个工具(广告时间到),采用的是二进制读取osgb,没有依然第三库,支撑与其他系统无缝衔接(需要改造),在保证显示效果不受影响的情况下(也会有损伤),简化和压缩率较高(三角面简化30%-50%),模型大小减少(30%-60%)。

**有兴趣的同学可以加我QQ451560242进一步交流。 下载使用地址:*链接:https://pan.baidu.com/s/13nmPVfyeQOJODTDmslb3uw?pwd=cxwl

倾斜摄影三维模型OSGB格式简化(压缩、优化)_第1张图片
倾斜摄影三维模型OSGB格式简化(压缩、优化)_第2张图片

你可能感兴趣的:(倾斜摄影,osgb,算法,c#,java,python,javascript)