当前位置:   article > 正文

【小白】一文读懂3DGS高斯泼溅技术

3dgs

论文:《3D Gaussian Splatting for Real-Time Radiance Field Rendering》
代码:https://github.com/graphdeco-inria/gaussian-splatting
主页:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

前言

3D Gaussian Splatting是最近NeRF方面的突破性工作,它的特点在于重建质量高的情况下还能接入传统光栅化,优化速度也快(能够在较少的训练时间,实现SOTA级别的NeRF的实时渲染效果,且可以以 1080p 分辨率进行高质量的实时(≥ 30 fps)新视图合成)。开山之作就是论文“3D Gaussian Splatting for Real-Time Radiance Field Rendering”是2023年SIGGRAPH最佳论文。

首先,3DGS可以认为是NeRF的一种,做的任务也是新视图的合成。

对于NeRF而言,它属于隐式几何表达(Implicit Geometry ),顾名思义,不表达点的具体位置,而表示点与点的关系。通过选取空间坐标作为采样点输入,隐式场景将输出这些点的几何密度是多少,颜色是什么。而所谓的神经隐式几何则是用神经网络转换上述输入输出的方法(输入三维空间坐标和观测视角,输出对应点的几何密度和颜色)。把光线上的一系列采样点加权积起来就渲染得到一个像素颜色,这便是NeRF神经辐射场渲染的流程。

既然有隐式,那么就有显式几何表达( Explicit geometry),就是类似点云、三角mesh这类可以沿着存储空间遍历所有元素。(通过某些方式,真正的把物体上的点都表示出来)

对于渲染,NeRF是非常典型的backward mapping过程,即计算出每个像素点受到每个体素影响的方式来生成最终图像,对每个像素,投出一条视线,并累积其颜色和不透明度。
而3DGaussian Splatting是forward mapping的过程,将每个体素视作一个模糊的球,投影到屏幕上。在Splatting中,我们计算出每个体素如何影响每个像素点。

摘要

辐射场方法最近彻底改变了用多张照片或视频捕获的场景的新颖视图合成。然而,实现高视觉质量仍然需要训练和渲染成本高昂的神经网络,而最近更快的方法不可避免地要牺牲速度来换取质量。对于无界和完整的场景(而不是孤立的对象)和1080p分辨率的渲染,目前没有任何方法可以实现实时显示速率。

本文介绍了三个关键要素,使我们能够在保持有竞争力的训练时间的同时实现最先进的视觉质量,重要的是能够在1080p分辨率下实现高质量的实时(≥30 fps)新视图合成。
首先,从相机校准过程中产生的稀疏点开始,我们用3D高斯分布表示场景,该分布保留了连续体辐射场的理想属性,用于场景优化,同时避免了在空白空间中不必要的计算;
其次,我们对三维高斯函数进行交错优化/密度控制,特别是优化各向异性协方差,以实现对场景的准确表示;
第三,我们开发了一种快速的可视性感知渲染算法,该算法支持各向异性飞溅,既加速了训练,又允许实时渲染。我们在几个已建立的数据集上展示了最先进的视觉质量和实时渲染。

一、介绍

网格和点是最常见的3D场景表示,因为它们是显式的,非常适合基于GPU/ cuda的快速光栅化。相比之下,最近的神经辐射场(NeRF)方法建立在连续场景表示的基础上,通常使用体积射线推进优化多层感知器(MLP),用于捕获场景的新视图合成。同样,迄今为止最有效的辐射场解决方案建立在连续表示的基础上,通过插值存储的值,例如体素或散列网格或点。
虽然这些方法的连续性有助于优化,但渲染所需的随机采样成本很高,并且可能导致噪声。我们引入了一种结合了两者优点的新方法:我们的3D高斯表示允许优化最先进的(SOTA)视觉质量和竞争性训练时间,而我们基于瓷砖的飞溅解决方案确保在几个先前发布的数据集上以1080p分辨率以SOTA质量实时渲染(见图1)。
在这里插入图片描述
我们的目标是允许对多张照片拍摄的场景进行实时渲染,并以优化时间创建表示,速度与之前针对典型真实场景的最有效方法一样快。

我们的解决方案基于三个主要组件。我们首先引入三维高斯函数作为灵活和富有表现力的场景表示。

我们从与以前类似nerf的方法相同的输入开始,即使用运动结构(SfM)校准的相机,并使用作为SfM过程的一部分免费生成的稀疏点云初始化3D高斯集。与大多数需要多视图立体(MVS)数据的基于点的解决方案相反,我们仅使用SfM点作为输入就获得了高质量的结果。请注意,对于nerf合成数据集,我们的方法即使在随机初始化的情况下也能达到高质量。我们证明了3D高斯图像是一个很好的选择,因为它们是一个可微的体积表示,但它们也可以通过将它们投影到2D并应用标准声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】

推荐阅读
相关标签