3D高斯泼溅的崛起

沉浸式媒体领域正在以前所未有的速度发展,其中 3D 高斯溅射成为一项关键突破。 这项技术在广泛的应用中看起来非常有前景,并且可能会彻底改变我们未来创建数字环境以及与数字环境交互的方式。

在本文中,我们将通过与摄影测量和 NeRF 等前辈进行比较,探索 3D 高斯溅射的深度和潜力,并探索当今市场上可用的一些工具。

1、什么是 3D 高斯泼溅?

3D 高斯分布是计算机图形学中的一项复杂技术,它通过将点或“splats”从点云投影到 3D 空间,并为每个 splat 使用高斯函数来创建高保真、逼真的 3D 场景。 该技术支持复杂的依赖于视图的视觉效果,并通过产生动态且逼真的可视化效果超越了传统的点云渲染。

今年在 SIGGRAPH 2023 上发表了一篇最受欢迎的研究论文,详细解释了用于实时辐射场渲染的 3D 高斯分布的技术细节,引发了人们对这一主题的新兴。

2、了解基础知识:适合所有人的指南

为了更好地了解 3D 高斯喷射与可视化点云的传统方法的比较,让我们进行实验。 将自己视为一名艺术家,但你不是在普通画布上绘画,而是在你周围的空间中进行创作。 你为场景中的每个对象绘制彩色点,生成点的集合,我们将其称为“点云”:

乔治·皮埃尔·修拉 (Georges Pierre Seurat) 的点画派绘画《大贾特的塞纳河》

当我们在传统观看器上可视化普通点云时,场景是由微小的点组成的,形成一幅图片,类似于艺术中的点画法。 点画派艺术家使用小的、独立的点来创作图像。 虽然这些图片从远处看起来不错,但近距离观察时,它们只是单独的点。 大多数传统点云可视化技术也会出现同样的问题。

克劳德·莫奈的印象派绘画《撑阳伞的女人——莫奈夫人和她的儿子》

现在,想象一下像印象派艺术家一样绘画。 他们不只是使用点,他们在画布上混合颜色,使画面更平滑、更真实。 这就是 3D 高斯泼溅背后的想法:它不只使用点,而是使用柔和地混合在一起的“泼溅”。 每个splat就像一个温柔的点,有自己的颜色并且可以是透明的。

摘自 Tilt Brush:从新角度绘画

为了更好地理解这一点,请考虑一下雾。 使用传统的点云可视化方法,就像看到每个微小的雾滴一样。 相反,使用高斯溅射就像观察雾的平滑、整体效果 - 每个部分都融入到下一个部分中。

为此,3D 高斯分布使用一种称为高斯的数学函数,这使得空间中的“连续可视化”成为可能。 由于这个公式,场景看起来更加真实,赋予其深度和自然的外观,而不是看起来离散和像素化。

3、高斯函数是什么样的?

高斯函数是 3D 高斯分布的基础,类似于钟形曲线,对于将单个点转换为生动、连续的场景至关重要。

3D 高斯图使用它来表示以下信息:

  • 位置 (XYZ):确定每个点在 3D 空间中的位置。
  • 协方差(3x3 矩阵):规定每个点如何拉伸或缩放,从而影响其形状和大小。
  • 颜色 (RGB):决定每个点的色调,增加视觉丰富度。
  • Alpha(α):控制透明度,使场景更加逼真。

4、3D 高斯溅射与摄影测量与 NeRF

将 3D 高斯溅射与摄影测量和 NeRF(将真实地点或物体数字化为数字孪生的其他成熟技术)进行比较时,了解它们的差异非常重要。

他们的工作流程都有一个共同的起点:从不同角度拍摄物体或环境的多张重叠照片。 然后通过每种技术对它们进行不同的处理,以生成捕获环境的数字版本。

4.1 摄影测量

这些图像用于根据每张图片上检测到的相机位置构建 3D 网格。

优点:摄影测量以其相对较低的计算占用量和 3D 网格的直接输出而闻名。 该网格很容易在传统游戏引擎渲染管道中使用。 此外,这些网格可以为动画蒙皮,使其成为游戏开发和动画模拟应用的理想选择。

缺点:该技术在处理闪亮或透明表面时存在局限性,可能会导致生成的 3D 模型出现孔洞和形状错误。

使用案例:摄影测量适用于资源效率至关重要且最终产品需要以 3D 网格模型的形式与标准游戏引擎或动画工具无缝集成的情况。

以下是我使用摄影测量和现实捕捉根据照片重建的 3D 模型

示例:

4.2 神经辐射场 (NeRF)

使用人工智能和神经网络处理图像,生成场景的任何视角,通过混合现有信息来填充任何间隙或丢失的照片。

优点:NeRF 的优势在于其人工智能驱动的能力,可以生成场景的任何视角,通过混合现有图像来填充间隙或丢失的照片。 这使得它对于摄影测量可能遇到困难的复杂场景特别有效。 此外,由于 NeRF 具有学习智能,因此不需要像摄影测量那样多的各个角度的图像。

缺点:虽然 NeRF 擅长处理摄影测量的缺点,但与摄影测量和 3D 高斯溅射相比,它的计算要求更高且渲染速度更慢。

使用案例:它非常适合在视点生成方面需要高度灵活性的应用程序以及处理不完整数据具有挑战性的场景。

以下是我使用 Nerfstudio 制作的 NeRF 捕获的示例视频:

4.3 3D 高斯泼溅

使用光栅化技术,允许从小图像样本实时渲染照片级真实感场景。 首先使用“运动结构”方法根据初始图像集估计点云。 然后将每个点转换为高斯分布,由位置、协方差、颜色和透明度等参数描述。

优点:与 NeRF(截至目前)相比,该技术以其快速、实时光栅化以及创建高质量、逼真场景的能力而闻名。 该技术还特别擅长令人信服地渲染头发等薄表面,提供高质量的实时可视化效果。

缺点:高斯泼溅(截至目前)以其高 VRAM 使用率而闻名,并且尚未与现有渲染管道完全兼容。

使用案例:高斯泼溅在实时渲染和复杂细节(如头发或薄结构)可视化至关重要的场景中非常有用,例如在虚拟现实应用程序或高端可视化中。

值得注意的是,由于所有三种技术在工作流程开始时都使用输入照片的数据集,因此在使用相同的图像数据集时交换它们相对容易,以根据所需的用例生成不同的可视化效果。

以下视频比较了所有三种技术,从相同的输入图像数据集开始:

这是一个重点介绍 NeRF 和高斯 Splatting 捕获之间差异的视频:

5、实际应用和行业影响

3D 高斯分布不仅仅是一个理论奇迹,它的实际应用也非常广泛。 其中包括:

  • 房地产:增强虚拟房地产之旅,为潜在买家提供真实的体验。 这可以彻底改变远程展示和探索房产的方式。
  • 城市规划:协助创建城市的数字孪生,帮助更好的规划和管理。 通过提供高保真、实时的城市空间渲染,它为更有效的城市发展战略做出了重大贡献。
  • 虚拟现实 (VR) 和增强现实 (AR):高斯泼溅在创建高度逼真的 VR 背景(为各种应用程序创建作为背景设置的虚拟环境或场景)方面特别有效,可将虚拟环境的沉浸感提升到新的水平。
  • 电子商务和平面设计:它可以通过实现高质量、实时的产品 3D 渲染来彻底改变在线购物体验,从而带来更具互动性和身临其境的购物体验。 在图形设计中,它可以帮助创建更逼真的 3D 模型和动画,从而提高设计过程的质量和速度。
  • 远程呈现中的真实感虚拟人物:Meta 对编解码器虚拟人物的高斯泼溅实验展示了其在 VR 环境中实现真实感远程呈现的潜力。 该应用程序增强了虚拟人物的真实感和照明效果,这是沉浸式虚拟通信的关键要素
  • 相机跟踪和 3D 重建:SplaTAM 是密集 RGB-D SLAM 中的高级应用程序,它使用高斯 Splatting 在现实场景中进行精确的相机跟踪和高保真重建,展示了其在复杂空间映射和 3D 重建中的实用性。

  • 游戏:通过更加身临其境和真实的环境提升游戏体验。 Gaussian Splatting 插件已可用于 Unity 和 Unreal Engine 等主要游戏引擎,从而增强游戏世界的视觉质量

它处理大型数据集的能力及其多功能性吸引了各个领域的目光,标志着我们与虚拟世界交互方式的潜在革命。

6、游戏引擎和协作 3D 平台的集成

将 3D 高斯泼溅纳入 Unity 和 Unreal Engine 等游戏引擎中标志着游戏开发的重大进步。 插件和软件包现已推出,将这项技术带给更广泛的受众,并释放互动游戏和模拟的新可能性。

对于 Unity,GaussianSplatting 包(Unity Asset Store)和对于 Unreal Engine,UEGaussianSplatting 插件(Unreal Engine Marketplace)就是此类开发的示例。

最近,协作 3D 平台 Spline 实施了另一个解决方案,该解决方案通过一个非常令人兴奋的演示展示了对 3D 高斯泼溅的支持,此处是进一步讨论。

我们预计未来将会发布更多插件和工具,进一步改善数字产品中对高斯分布的支持。

8、Android 上的高斯泼溅

虽然 Luma AI 和 Polycam 等公司的高斯泼溅管道瞄准了 iOS 和 Web,但最近 Kiri Innovations 团队在其新的 Kiri Engine 3.0 中宣布支持 Android,这是一款适用于 Android 和 iOS 设备的 3D 扫描应用程序。

Kiri Engine 最初于 2022 年作为摄影测量工具发布,可根据源照片重建 3D 模型。 3D 高斯溅射的加入代表了一项重大进步,允许创建和查看高质量、可能快速渲染的对象或场景的 3D 表示。

9、3D 高斯斑点查看器示例

Luma AI 和其他平台提供了高斯泼溅的交互式示例,将日常场景变成身临其境的体验。

此处托管一些基于 WebGL 的 3D 高斯泼溅捕获示例。

令人难以置信的是,这些工具还可以与旧图像一起使用,生成过去事件的吸引人的高斯图。 2009 年的“MTV 电影奖”就是这样,红地毯上设有“时尚 360 度旋转”舞台,最近被用来拍摄几位知名艺术家的照片。

例如,查看这个栩栩如生的 Miley Cyrus 的高斯 Splats 捕获:

10、挑战和未来方向

尽管 3D 高斯泼溅具有令人鼓舞的优势,但它仍面临计算强度和实现复杂性等挑战。 然而,随着研究深入克服这些障碍,以及 SIGGRAPH 等论坛和会议上的讨论推动进一步创新,未来看起来是光明的。 在最近的解决方案中,有人尝试减小 Gaussian Splats 文件的大小,例如程序员 Aras Pranckevičius 的解决方案。

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

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

相关文章

支持向量和非支持向量

一、支持向量 支持向量是指那些距离超平面最近的且满足一定条件的训练样本点。 在分类问题中,支持向量对于确定分类边界起着关键作用。 对于线性可分的情形,位于间隔边界上的样本点被称为硬间隔的支持向量;而对于线性不可分的情形&#xf…

被指标化后的生活

概述 病来如山倒,不生病,感觉自己是个英雄,生病后,感觉自己狗屁不是。 生老病死本是人生常态,但生与死只只一瞬间,很少人能被有意感知! 但老与病,他们两个却是一个渐渐变化的过程…

.NET 依赖注入和配置系统

文章目录 依赖注入DI几个概念.NET 中使用DI生命周期IServiceProvider的服务定位器方法 配置系统Json文件配置绑定类读取配置 依赖注入 依赖注入(Dependency Injection,DI)是控制反转(Inversion of Control,IOC&#xf…

关于uniapp上使用websocket在H5能用,在真机不能用的问题

不要用本地电脑开的websocket来连接,真机(手机端)连不到本地websocket。 uni.connectSocket({url: ws://localhost:3000/chat}); 解决办法: 部署到服务器上面,用一个公网的websocket地址,真机上面可以正…

Macbook安装Go以及镜像设置

Macbook安装Go 文章概要:本文主要介绍了在MacOS上安装Go的步骤 本文内容来自:谷流仓AI - ai.guliucang.com 有两种方式安装go: 通过homebrew安装通过Go官网直接下载安装文件安装 1. 通过homebrew安装 brew update && brew install…

企业用大模型如何更具「效价比」?百度智能云发布5款大模型新品

服务8万企业用户,累计帮助用户精调1.3万个大模型,帮助用户开发出16万个大模型应用,自2023年12月以来百度智能云千帆大模型平台API日调用量环比增长97%...从一年前国内大模型平台的“开路先锋”到如今的大模型“超级工厂”,百度智能…

从相机空间到像素空间的投影和反投影原理和代码

目录 从相机空间到像素空间的投影 效果 ​编辑 公式 ​编辑 代码 像素空间到相机空间的反投影 记录一下从相机空间到像素空间的投影(3D-->2D)和像素空间到相机空间的反投影(2D-->3D)。 推荐blog:SLAM入门之视…

获取kafka中topic偏移量和消费偏移量

1、kafkaclient版本1.0.1 public class MutiThreadScheduleTask {Resource private KafkaConsumer<String, String> kafkaConsumer;public void test(String topic) {//查询 topic partitionsList<TopicPartition> topicPartitionList new ArrayList<>();L…

smpl渲染工具

根据3d姿态预测smpl参数 GitHub - Jeff-sjtu/HybrIK: Official code of "HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation", CVPR 2021 GitHub - woo1/Texture_visualize_smpl: smpl texture visualizatio…

ModbusRTU/TCP/profinet网关在西门子博图软件中无法连接PLC的解决方法

ModbusRTU/TCP/profinet网关在西门子博图软件中无法连接PLC的解决方法 在工业生产现场&#xff0c;ModbusRTU/TCP/profinet网关在与西门子PLC连接时&#xff0c;必须要使用西门子的博图软件来进行配置&#xff0c;博图v17是一个集成软件平台&#xff0c;专业版支持300、400、12…

下载 macOS 系统安装程序的方法

阅读信息&#xff1a; 版本&#xff1a;0.4.20231021 难度&#xff1a;1/10 到 4/10 阅读时间&#xff1a;5 分钟 适合操作系统&#xff1a;10.13, 10.14, 10.15, 11.x, 12.x&#xff0c;13.x, 14 更新2023-10-21 添加Mist的介绍支持版本的更新&#xff0c;13.x&#xff0…

JVM内存划分

一、运行时数据区域 堆、方法区&#xff08;元空间&#xff09;、虚拟机栈、本地方法栈、程序计数器。 Heap(堆)&#xff1a; 对象的实例以及数组的内存都是要在堆上进行分配的&#xff0c;堆是线程共享的一块区域&#xff0c;用来存放对象实例&#xff0c;也是垃圾回收&…

计算机服务器中了faust勒索病毒怎么办,faust勒索病毒解密工具流程

网络是一把利剑&#xff0c;可以方便企业开展各项工作业务&#xff0c;为企业提供极大的便利&#xff0c;但随着网络技术的不断发展与应用&#xff0c;网络数据安全威胁也在不断增加&#xff0c;给企业的正常生产运营带来了极大困扰&#xff0c;近日&#xff0c;云天数据恢复中…

element-ui实现证件照上传预览下载组件封装

element-ui实现证件照上传预览下载组件封装 效果&#xff1a; 参数说明 我只写了两个参数&#xff0c;后续有需求再对其组件进行丰富~ 参数说明fileListProp用来存储上传后后端返回的图片UR了uploadUrl图片上传反悔的URL后端接口地址 父组件调用&#xff1a; <au-upload…

报表生成器FastReport .Net用户指南:关于脚本(下)

FastReport的报表生成器&#xff08;无论VCL平台还是.NET平台&#xff09;&#xff0c;跨平台的多语言脚本引擎FastScript&#xff0c;桌面OLAP FastCube&#xff0c;如今都被世界各地的开发者所认可&#xff0c;这些名字被等价于“速度”、“可靠”和“品质”,在美国&#xff…

【Android 内存优化】 native内存泄漏监控方案源码分析

文章目录 前言使用效果使用apiJNI的动态注册native方法动态注册 hook的实现android_dlopen_ext和dl_iterate_phdr naive监控的实现nativeGetLeakAllocs 总结 前言 Android的native泄漏怎么检测&#xff1f;下面通过研究开源项目KOOM来一探究竟。 使用效果 未触发泄漏前的日志…

spring cloud gateway k8s优雅启停

通过配置readiness探针和preStop hook&#xff0c;实现优雅启动和停止&#xff08;滚动部署&#xff09; 1. k8s工作负载配置 readinessProbe:httpGet:path: /datetimeport: 8080scheme: HTTPinitialDelaySeconds: 30timeoutSeconds: 1periodSeconds: 30successThreshold: 1fa…

The plain HTTP request was sent to HTTPS port

异常信息 原因 错误信息 “The plain HTTP request was sent to HTTPS port” 表明客户端尝试使用未加密的HTTP协议发送请求到一个配置为使用加密的HTTPS协议的端口。 解决方案 要解决这个问题&#xff0c;需要确保使用正确的协议和端口号进行请求。应该使用的HTTPS前缀。例如…

导入excel复杂校验加异常信息返回

1.导出实现类 package com.dst.steed.fulfillment.modules.business.resourceplan.serviceimport;import com.alibaba.excel.EasyExcelFactory; import com.dst.steed.common.domain.response.Response; import com.dst.steed.common.util.*; import com.dst.steed.fulfillmen…

Spring Cloud微服务Actuator和Vue

目录 前言一、引入Actuator依赖二、暴露Actuator端点1. 配置文件2. 监控端点 三、自定义健康检查自定义健康检查类 四、vue前端代码五、监控器的优势六、监控指标的可视化1. Grafana2. Prometheus 七、安全性考虑安全配置示例 八、总结 前言 随着微服务架构的流行&#xff0c;…