3DGS+3D Tiles融合已成 ,更大的场景,更细腻的效果~

news2024/11/19 4:35:18

最近国外同行@Kieran Farr发布了一个他制作的3D GussianSplatting(高斯泼溅)+Google Map 3D Tiles的融合叠加的demo案例(如下所示)。

准确来说这是一个数据融合的实景场景,该实景场景使用了倾斜三维和3D GussianSplatting两种实景表达技术,该融合场景的倾斜三维使用的是Google Maps的3D Tiles瓦片服务,3D GussianSplatting的场景是通过Luma平台生成导出,场景的裁剪使用playcanvas的SuperSplat工具进行场景的裁剪,前端框架上他选择了A-Frame+Three.js的组合。

从二者的融合,我们可以看出3D GussianSplatting的整个技术特点:对于细节的表达更加真实细腻,比如下图的红色箭头指出的部分其实就是使用3D GussianSplatting生成的照片级的小品场景效果。

图片

除了这些小品场景3D GussianSplatting表现的效果比较出色之外,对于室外更大的场景,根据Luma给出的在线案例效果,同样非常细腻,案例地址放在文末,大家有兴趣可以自己体验一下。

其实在年初的时候,我和国内的一个团队交流过,其实他们内部也已经实现了二者的融合,由于现在开源的框架比较多以及格式开放,所以初步做起来难度并不是很大。

比如在场景生成方面可以采用gaussian-splatting-Windows这个开源工具,而且作者还公布了详细的使用教程,。

图片

图片

在场景编辑方面,对GussianSplatting PLY格式的场景可以采用PlayCanvas的开源工具SuperSplat,最直接的就是对场景进行裁剪,对周边的一些质量比较差的区域进行裁剪以及对场景文件进行压缩。

图片

在前端方面,基于Threejs,也都有了相应的开源工具GaussianSplats3D可以直接使用,由于3DGS是一种显示表达的格式,每个高斯都有相应的位置,所以模型转换到统一的地理空间坐标系下也是比较容易的。

图片

在游戏引擎方面,UE的市场上也有GussianSplatting相应的插件,支持PLY格式数据导入,支持空间点数据的八叉树优化和LOD渲染,不过是付费的。

图片

根据最近的一些进展来看,现在通过AI合成场景的研究工作都开始从NeRF转向了3D GussianSplatting领域,同时最近也产生了一系列的研究成果包括上海人工智能实验室发布的Octree-GS,为了解决3D GussianSplatting大场景的渲染问题,引入了八叉树这种LOD解决方案,这个在地理信息领域一直是一个万金油方法,数据大了就分级、分块。

不过基于「软点」的GussianSplatting相对于过去基于Mesh的方法处理起来的难度相对来说可能会更小一些,本质上就是在顾及外观表现的情况下做好数据点密度的分级过滤就可以,所以在GussianSplatting阶段过去一些厂商在数据简化方面积累的优势可能就会不存在了,因为在新的技术条件下这个问题可能根本就不再是个问题了。

图片

同时还有InstantSplat方法,其通过使用DUSt3R来替换传统3D GussianSplatting生成管道中需要依赖的COLMAP,DUSt3R基于Transformer,采用端到端的训练,可简化从任意图像集合中重建三维场景的过程,而无需事先了解相机校准或视点位置的信息,同时支持使用非常少的照片就可以实现3D的重建,比如下图展示的就是通过该方法可以实现基于两张图片就可以实现3D小熊的重建。

图片

根据论文的介绍,InstantSplat可以做到40秒内实现GussianSplatting场景重建,如果有更广泛的适配性,则该方法真的就可以做到又快又好了。

最近和一些开展实践的团队交流的过程中,也确实发现在工程应用的时候,单纯的依靠相机的数据会出现局部重建失败的情况,所以现在也有通过在硬件上融合激光点云的方案来提升该方法在工程上的稳定性,毕竟做几个demo和真正的复杂工程应用场景相比还是有区别的,在工程上通常需要采用一些冗余的方案来保证稳定性,后面有机会我也会找相应的一些工程化的解决方案具体实践一下,到时候再推出具体的内容。 

  • Luma案例在线体验地址:

https://lumalabs.ai/capture/2fe14849-ffc9-4a9f-a205-340ceb032a80

  • 3D GS+3D Tiles融合体验地址:

https://maps-and-splats.glitch.me/

声明:转载此文不为商业用途。文字和图片版权归原作者所有,若有来源标注错误或侵犯了您的合法权益,请与我们联系,我们将及时处理,谢谢。


如何查看全球历史影像

如何快速构建三维模型(倾斜摄影)

注册测绘师资格考试备考建议 | 附30GB学习资料

国产GIS软件在国产化解决方案中的应用与实践

AutoCAD如何加载在线/离线遥感影像地图

UE5+GIS技术应用场景介绍

地知通:探索世界的窗口

图片

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解Java TreeSet:实现与使用案例分析

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

【WPF学习笔记(一)】WPF应用程序的组成及Window类介绍

WPF应用程序的组成及Window类介绍 WPF应用程序的组成及Window类介绍前言正文1、WPF介绍1.1 什么是WPF1.2 WPF的特点1.3 WPF的控件分类 2、XAML介绍2.1 XAML的定义2.2 XAML的特点2.3 XAML的命名空间 3、WPF应用程序组成3.1 App.config3.2 App.xaml3.3 App.xaml.cs3.4 MainWindow…

react18【实战】tab切换,纯前端列表排序(含 lodash 和 classnames 的安装和使用)

技术要点 动态样式 className{tabItem ${currentType item.value && "active"}}安装 lodash npm i --save lodash使用 lodash 对对象数组排序(不会改变源数组) _.orderBy(dataList, "readNum", "desc")src\De…

十二种网络威胁防护方案

一、SQL注入 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任…

Python之数据分析基础

导言: “21世纪的竞争是数据的竞争,谁掌握数据,谁就掌握未来”。如何将大量看似杂乱无章的数据进行聚合,并发现潜在的规律也变得越来越重要。本文将先说明数据分析的步骤,再通过python完成实例数据的处理、分析最终展…

19.接口自动化-Jekins学习

1.CI-持续集成 频繁的(一天多次)将代码集成到主干 目的:让产品快速迭代,保持高质量 好处: 快速发现错误,每次更新都集成到主干,可以快速发现错误,定位错误也容易防止分支大幅偏离主…

示波器基础1-带宽

数字示波器最重要的基本特征之一是其带宽,了解带宽及其对技术指标的影响对于选择合适的示波器非常有帮助。 这里我们对示波器带宽的一些基本方面做一简要介绍。 当我们谈到示波器的带宽时,重要的是要区分模拟带宽和数字带宽。模拟带宽主要受仪器模拟输入…

TriCore: Architecture

说明 本文是 英飞凌 架构文档 TriCore TC162P core archiecture Volume 1 of 2 (infineon.com) 的笔记,稍作整理方便查阅,错误之处,还请指正,谢谢 :) 1. Architecture 2. General Purpose & System Register 名词列表&#…

Spring Cloud Alibaba 网关 Gateway 集成(7)

项目的源码地址 Spring Cloud Alibaba 工程搭建(1) Spring Cloud Alibaba 工程搭建连接数据库(2) Spring Cloud Alibaba 集成 nacos 以及整合 Ribbon 与 Feign 实现负载调用(3) Spring Cloud Alibaba Ribbo…

用标准的GNU/Linux命令替换Alpine上的精简版命令

Alpine Linux 是一个基于 musl libc 和 busybox 的轻量级Linux发行版,busybox 实现了很多常用类Unix命令的精简版,特点是体积很小,舍弃了很多不常用参数,我们简单对比一下标准Linux自带的 date 命令 和 Alpine下默认的 date 命令便…

Babel基础知识及实现埋点插件

目录 前言 AST 遍历 Visitors Paths(路径) Paths in Visitors(存在于访问者中的路径) State(状态) Scopes(作用域) Bindings(绑定) API babylo…

LeetCode 112. 路径总和 || LeetCode 113. 路径总和ii

LeetCode 112. 路径总和 1、题目 题目链接:112. 路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true…

唤醒手腕 Go 语言 并发编程、Channel通道、Context 详细教程(更新中)

并发编程概述 ​ 一个进程可以包含多个线程,这些线程运行的一定是同一个程序(进程程序),且都由当前进程中已经存在的线程通过系统调用的方式创建出来。进程是资源分配的基本单位,线程是调度运行的基本单位&#xff0c…

CentOS 7安装配置docker

CentOS 7、8安装、配置docker 这里宿主机的型号选择是centos7.9.2009的版本 1.宿主机关闭防火墙和selinux,配置ipv4 #设置SELinuxdisabled vim /etc/selinux/config SELinuxdisabled 查看防火墙状态:firewall-cmd --state 关闭防火墙:syst…

C# WinForm —— 14 CheckedListBox 复选列表框介绍

1. 简介 类似 ListBox,提供项的列表,区别就是 CheckedListBox 每一个项前面有个复选框 2. 常用属性 属性解释(Name)控件ID,在代码里引用的时候会用到,一般以 ckl 开头BackColor背景颜色BoderStyle边框样式:无、FixedSingle、F…

探索静态住宅代理IP:网络安全的隐形守护者

在当今这个数字化高速发展的时代,网络安全问题愈发凸显其重要性。无论是企业级的网络运营,还是个人用户的网络活动,都需要一个安全、稳定的网络环境。而在这个环境中,静态住宅代理IP以其独特的优势,逐渐成为了网络安全…

如何通过PHP语言实现远程控制空调

如何通过PHP语言实现远程控制空调呢? 本文描述了使用PHP语言调用HTTP接口,实现控制空调,通过不同规格的通断器,来控制不同功率的空调的电源。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备名称…

Go实现树莓派I2C读取SHT30温度湿度传感器

简介 树莓派其实本身包含很多资源引脚, 合理利用其实可以自制智能家居的一部分,本身硬件和Linux系统等高级语言支持加生态, 不说了, 做就好了… I2C 功能开启 参考之前的文章就可以了 Go实现树莓派读取bh1750光照强度 查看I2C总…

linux性能监控之top

说完了atop和htop,我们在来说说Linux自带的top,我们先看看命令效果: 可以看到是一个实时的系统监控工具,提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。 我们先来解析下命…

重学java 35.API 6.包装类

心有所念,必有所灵 —— 24.5.10 一、基本数据类型对应的引用数据类型(包装类) 1概述 就是基本类型所对应的类(包装类),我们需要将基本类型转为包装类,从而让基本类型拥有类的特性(是基本类型可以使用包装类…