赞
踩
在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D场景编辑器
3D 高斯泼溅(Splatting)是用于实时辐射场渲染的 3D 高斯分布描述的一种光栅化技术,它允许实时渲染从小图像样本中学习到的逼真场景。 本文将详细介绍它的工作原理以及它对图形学的未来意味着什么。
3D 高斯泼溅的核心是一种光栅化技术。 这意味着:
然而,它不是三角形,而是高斯分布。 这是一个栅格化的高斯函数,为了清晰起见,绘制了边框:
高斯泼溅由以下参数描述:
在实践中,会同时绘制多个高斯曲线:
这是三个高斯。 那么 700 万高斯呢?
这是每个高斯光栅化完全不透明的样子:
这是对 3D 高斯分布的非常简短的概述。 接下来,让我们逐步完成本文中描述的完整过程。
3D高斯泼溅的实现原理分为一下几个部分:
第一步是使用运动结构恢复 (SfM: Structure from Motion) 方法从一组图像中估计点云。 这是一种从一组 2D 图像估计 3D 点云的方法。 这可以通过 COLMAP 库来完成。
接下来,每个点都转换为高斯分布。 这对于光栅化来说已经足够了。 然而,只能从 SfM 数据推断位置和颜色。 为了学习产生高质量结果的表示,我们需要对其进行训练。
训练过程使用随机梯度下降,类似于神经网络,但没有层。 训练步骤为:
步骤 1-3 从概念上讲非常简单。 第 4 步涉及以下内容:
此过程有助于高斯更好地拟合细粒度细节,同时修剪不必要的高斯。
如前所述,3D 高斯分布是一种光栅化方法,它将数据绘制到屏幕上。 然而,一些重要的元素还包括:
光栅化器的原始实现可以在这里找到。 光栅化涉及:
这篇论文中描述了其他优化。
光栅化器是可微分的也很重要,这样就可以用随机梯度下降来训练它。 然而,这仅与训练相关 - 训练有素的高斯也可以用不可微的方法呈现。
为什么 3D 高斯溅射受到如此多的关注? 显而易见的答案是结果不言自明 - 这是高质量的实时场景。 然而,故事可能还有更多。
关于高斯泼溅还能做什么还有很多未知数。 它们可以动画化吗? 即将发表的论文《动态 3D 高斯:通过持久动态视图合成进行跟踪》表明他们可以。 还有许多其他未知数。 他们能做反思吗? 可以在没有参考图像训练的情况下对它们进行建模吗?
最后,人们对嵌入式人工智能的研究兴趣日益浓厚。 这是人工智能研究的一个领域,最先进的性能仍然低于人类性能几个数量级,其中大部分挑战在于表示 3D 空间。 鉴于 3D 高斯分布可以产生非常密集的 3D 空间表示,这对具身AI 研究有何影响?
这些问题需要注意方法。 实际影响如何还有待观察。
那么这对图形学的未来意味着什么呢? 好吧,让我们将其分为优点/缺点:
优点
缺点
到目前为止,原始的 CUDA 实现尚未适应生产渲染管道,如 Vulkan、DirectX、WebGPU 等,因此还有待观察会产生什么影响。
目前已经进行了以下适应性工作:
这些依赖于远程流传输 (1) 或传统的基于四元组的光栅化方法 (2-5)。 虽然基于四元组的方法与数十年的图形技术兼容,但它可能会导致质量/性能降低。 然而,查看器 #5 表明,尽管采用基于四元组的方法,优化技巧仍可以带来高质量/性能。
那么我们会看到 3D 高斯泼溅在生产环境中完全重新实现吗? 答案可能是肯定的。 主要瓶颈是对数百万个高斯进行排序,这在原始实现中使用 CUB 设备基数排序(一种仅在 CUDA 中可用的高度优化的排序)有效完成。 然而,只要付出足够的努力,在其他渲染管道中当然可以达到这种性能水平。
原文链接:3D高斯泼溅 — BimAnt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。