高斯溅射和GIS融合之路- 将splat文件切片成3dtiles

news/2025/2/6 13:31:37/文章来源:https://www.cnblogs.com/shanhaibi/p/18700933

在具体介绍山海鲸团队如何实现对高斯泼溅模型进行切片并在Cesium中渲染之前,我们先来回顾一下之前系列文章中的一些内容。

之前写了很多关于山海鲸整合GIS的文章,简单来说就是通过深度Buffer来实现Web游戏引擎和Cesium引擎的深度结合,再叠加种种的天空特效,最终在Web上实现了令人满意的效果:
image

大家可以直接下载山海鲸软件并创建GIS模板项目就可以感受最终的使用效果,对技术实现感兴趣的同学可以在GIS专栏中找到更多的技术细节和研发历程:

GIS融合之路系列文章传送门:
GIS融合之路(一)技术选型CesiumJS/loaders.gl/iTowns

GIS融合之路(二)CesiumJS和ThreeJS深度缓冲区整合

GIS融合之路(三)CesiumJS和ThreeJS相机同步

GIS融合之路(四)如何用CesiumJS做出Cesium For Unreal的效果

GIS融合之路(五)给CesiumJS加上体积云(Volumetric Cloud)和高度雾(Height Fog)

GIS融合之路(五)番外-山海鲸的体积云又又又升级了

GIS融合之路(六)-Cesium的雨雪风雷电效果

GIS融合之路(七)-Cesium实现夜空月亮星星渲染

GIS融合之路(八)-如何用Cesium直接加载OSGB文件(不用转换成3dtiles)

同时为了能够加载更全的格式,我们也开启了对于加载高斯溅射格式的研发,具体可以参考高斯的专栏文章:高斯溅射(3dgs)整合之路

言归正传,Gaussian Splatting技术被提出之后,在某些方面确实优于传统的实景建模。深究技术细节的话,3DGS和传统实景建模的第一步相机位姿识别和稀疏点云的建立都是类似的,而在后续的建模过程中3DGS巧妙的使用3D高斯分布这个工具,实现了通过神经网络来优化最终的建模效果。这样建模的结果的清晰度和还原度大部分时候都会好于传统实景建模出来的效果,我们来看一个3d高斯生成的模型效果:
image

可以看到3D高斯对于铁塔这种有很细的模型的还原效果是大幅好于传统实景建模的。

但因为3D高斯是一个非常新的技术,目前对于大范围的高斯模型而言,还无法像3dtiles一样能够分片分层在Cesium加载,因此一定程度限制了3d高斯在gis场景中的应用。山海鲸团队希望能够在工具链和Cesium渲染两个层面来解决3D高斯的这个短板,让3D高斯能够真正能够进入Cesium生态。

那么下面我们也分为两个部分来详细介绍一下技术实现路径:

1.Cesium中加载支持高斯泼溅的3dtiles

首先,Cesium目前能够加载的3dtiles有两个格式,分别是3dtiles1.1和3dtiles1.0,其中3dtiles1.0支持的格式以下几种:
(1)b3dm:批量化的三维模型,适用于异构模型,如纹理地形或3D建筑
(2)i3dm:实例化的三维模型,适用于同一个三维模型的多个实例,如树木或灯柱
(3)pnts:点云,适用于激光扫描或摄影测量产生的点数据
(4)cmpt:复合瓦片,适用于将多种瓦片格式组合在一起的情况
(5)glb:gltf的二进制格式

因此在我们最初提出要将3d高斯转成3dtiles时,我们的方案是扩展3dtiles1.0的格式,扩展出一个splat格式。再对Cesium源码进行修改,让splat文件像是其他格式一样解析和渲染即可。然而在仔细查看Cesium源码后发现,Cesium对这里的扩展支持相当弱,真的要改会涉及大量对Cesium架构的调整,这样做是得不偿失的,因此团队就放弃了这个方案。

那么我们再来看看3dtiles1.1, 3dtiles1.1完全采用gltf和其扩展来实现所有格式的渲染,因此我们只需要对gltf进行扩展即可实现高斯的加载,在技术选型过程中,发现Cesium团队不仅提出了一个gltf的高斯扩展KHR_gaussian_splatting。

更加令人惊喜的是Cesium团队甚至已经实现了这套扩展在Cesium中的加载,只是因为这个KHR_gaussian_splatting还没有正式成为标准的扩展,一直在一个独立的分支当中。
image

可以看到这个分支一直在和main分支的更新保持同步,因此我们可以直接clone这个分支然后来加载支持KHR_gaussian_splatting的3dtiles。

2.PLY/Splat文件切片成3dtiles

既然支持KHR_gaussian_splatting扩展的3dtiles的渲染问题Cesium已经解决了,那我们只需要实现高斯泼溅模型的切片输出即可。熟悉我们的朋友应该知道,山海鲸团队推出了一款一站式3D GIS软件--GISBox,可以实现各种模型转成3dtiles,也可以进行顶层重建。而3D高斯本质就是一个点云升级版,因此我们只需要参考las转3dtiles的模式将ply/splat文件切片成3dtiles,并同时生成不同的lod级别即可。在这个点云3dtiles的基础上,我们还需要根据KHR_gaussian_splatting扩展的要求,将3d高斯模型中的几个独特的属性写入到attribute中既可,具体可以参考KHR_gaussian_splatting官方文档中的格式:

点击查看代码
{"accessors": [{"type": "VEC3","componentType": 5126},{"type": "VEC4","componentType": 5121,"normalized": true},{"type": "VEC4", "componentType": 5126},{"type": "VEC3","componentType": 5126}],"meshes": [{"primitives": [{"mode": 0,"attributes": {"POSITION": 0,"COLOR_0": 1,"_ROTATION": 2,"_SCALE": 3}}]}]
}

如此我们就可以将splat文件切片成支持KHR_gaussian_splatting的3dtiles了。我们最后对上一节中提到的splat-shader分支进行编译,在其本地Sandcastle上运行后可以看到3d高斯的3dtiles已经被正确的渲染出来了:
image

目前ply格式和splat格式的切片功能已经整合到了GISBox当中,大家可以前往官网下载测试切片效果:

再次提醒只有splat-shader分支的Cesium可以加载GISBox中3d高斯的切片结果,大家一定要去Github上拉取正确的分支编译后进行加载。山海鲸也将在后续版本中支持高斯3dtiles的加载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/879630.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL常用编码格式详解utf8、utf8mb4、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci

前言常用字符集utf8utf8mb4排序规则(Collation)utf8mb4_general_ciutf8mb4_unicode_ciutf8mb4_0900_ai_ci总结对比使用建议示例前言 在使用MySQL创建数据库时候免不了选择字符集和排序规则,不同的字符集对应不同的排序规则,不同的排序规则的性能和效果是不一样的。一般我们…

JS-50 事件类型之表单事件

表单事件是在使用表单元素及输入框元素可以监听的一系列事件 ①input事件②select事件③Change事件④reset事件⑤submit事件 1、input事件input事件当<input>、<select>、<textarea>的值发生变化时触发。对于复选框(<input type=checkbox>)或单选框(…

第一章:计算机的历史

计算机的历史 TL;DR因为有时工作量大,以及人类的懒惰性,所以诞生了计算机正文摒弃教材,来站在发明计算机的人的视角,考察为什么计算机会诞生。 思考题你是一个工程师,接到了一个任务:要求在两天之内计算十万个形如 2x+3=7 这样的方程,并返回结果,让上级进行下一步数据处…

2025年打工人自救指南:四款工作计划管理APP对比

一、微软To-Do:极简主义者的效率白月光 ✅ 核心优势: 1、多平台同步:Windows/iOS/Android/网页端实时云同步,微软账号一键打通生态。 2、智能清单管理:支持「我的一天」智能推荐任务、「步骤拆解」功能,适合任务颗粒度细的日程规划。 3、跨软件联动:与Outlook日历深度绑…

数字先锋 | 竞技科研蓝海,中南大学先“算”一步!

自计算机诞生之日起,科学研究对计算性能的无限追求,一直在不断冲击和超越摩尔定律的想象。而高校作为科研成果创新和人才培养的重要基地,其计算能力已经成为衡量自身科学技术研究、产品研发实力、人才培养水平的重要标志。在中南大学的高性能计算公共平台机房内,一排排机柜…

利用ima.copilot,打造你的AI知识库

和几位同学聊起了各路 AI+工具的强大特性,特别是对于团队来说很重要的知识库功能,是我个人认为对职场同学,特别是对于技术管理同学来说很重要的一种增强个人竞争力的途径。 在以前,如果要创建自己或者团队的知识库,需要手动去搜索信息,并且人工对信息进行梳理分类,然后手…

openmv识别颜色--单颜色识别

thresholds = [ (30, 100, 15, 127, 15, 127), # generic_red_thresholds (30, 100, -64, -8, -32, 32), # generic_green_thresholds (0, 30, 0, 64, -128, 0), ] //设置颜色阈值,分别代表lab的最大值最小值. sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.se…

flutter3-dymall仿抖音直播商城|Flutter3.27短视频+直播+聊天App实例

自研flutter3.27+dart3.6+getx实战抖音短视频+聊天+直播电商带货app商城应用。 flutter_dymall一款基于最新版Flutter3.27+Dart3.x+Getx+mediaKit原创实战研发抖音app带货商城项目。集成了直播+短视频+聊天三大功能模块。实现了类似抖音app首页全屏沉浸式联动左右滑动页面模块、…

DeepSeek-R1本地部署使用

春节期间突然被DeepSeek刷屏了,这宣传力度是真大,到处都是新闻和本地部署的教程,等热度过了过,简单记录下自己本地部署及相关的内容,就当电子宠物,没事喂一喂:D,不过有能力的还是阅读论文和部署完整版的进一步使用。 论文链接: https://github.com/deepseek-ai/DeepSee…

面向 Workload 级别的灵活可配置 Serverless 弹性解决方案

本文介绍的四种组件,在解决上述问题,具有各自的优势场景。用户可以根据自身实际场景选择合适的能力来用好弹性算力。Serverless 是云计算的进一步延伸,因此其继承了云计算的最大特点,即按需弹性伸缩。这样的模型设计让开发者无需关注具体的部署资源,充分利用资源规模效应,…

腾讯云 TI 平台部署与调用DeepSeek-R1大模型的实战指南

今天我们将继续探讨如何部署一个私有化的 DeepSeek-R1 大模型,具体的部署过程我们将利用腾讯云的 TI 平台进行操作。当前,腾讯云 TI 平台为用户提供了免费体验的满血版 DeepSeek-R1 大模型,同时该平台还提供了开放的 API 接口服务,用户可以方便地将其接入到自己的平台中,进…

本地化部署deepseek For_Mac

最近deepseek非常火爆,蒸馏算法的落地,实现了小资源跑大模型,也极大的降低了本地化运行的门槛,为打工人带来了福音;本地化运行可以解决脱网、隐私、审计等重要问题,适合闲暇聊个天、练练英语、完成打工任务 等step1 下载并安装Ollama Ollama是一个开源的 LLM(大型语言模…