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

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


前言

倾斜摄影三维模型数据获取快,效果好(看起来),在智慧城市、全景三维中国、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

在这里插入图片描述
在这里插入图片描述

  • 12
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
倾斜摄影数据格式OSGB是一种用于存储倾斜摄影数据的标准格式。它是一种开放标准,被广泛应用于地理信息系统(GIS)和三维模型领域。 OSGB标准主要特点如下: 1. 数据结构:OSGB格式使用一种树状层次结构来组织数据,以支持高效的数据存储和访问。数据被分为不同的层级,如瓦片、块和网格,使得数据可以按需加载和渲染。 2. 数据内容:OSGB格式可以存储倾斜摄影中的图像、点云和三维模型等各种类型的数据。每个数据类型都可以进行编码和压缩,以减小文件大小和提高数据传输效率。 3. 空间参考:OSGB格式支持不同的坐标系统和地理参考系,可以根据实际需要选择合适的投影方式和椭球模型。 4. 数据精度:OSGB格式可存储高精度的倾斜摄影数据,可以达到亚米级的精度要求。同时,OSGB格式还可以支持多分辨率的数据存储,以适应不同的应用需求。 5. 数据交换:OSGB格式不仅可以用于本地存储和数据管理,还可以方便地进行数据交换和共享。通过OSGB格式,不同平台和软件系统之间可以高效地共享倾斜摄影数据,实现数据的无缝集成和协同工作。 总的来说,OSGB标准是一种高效、灵活和通用的倾斜摄影数据格式,可以满足各种应用场景中的数据存储、传输和共享需求。它的广泛应用促进了倾斜摄影技术的发展和推广,为地理信息和三维模型领域的应用提供了丰富的数据资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值