GaussianShader: 3D高斯喷溅与遮阳功能的反射

GaussianShader是一种新方法,它在3D高斯上应用简化的着色函数,以增强有反射表面的神经渲染,同时保持训练和实时渲染的效率。该方法解决了三维高斯拼接技术在处理反射表面时的不足,通过基于最短轴方向的法线估算框架和损失函数,实现了高质量的法线预测,提升了渲染的视觉效果。实验结果显示,GaussianShader在渲染速度和质量上超越了现有方法,特别是在处理镜面物体时,PSNR提高了1.57dB,优化时间大幅缩短。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

翻一个论文。

在这里插入图片描述
图1所示。GaussianShader保持实时渲染速度,并为一般和反射表面渲染高保真图像。

Ref-NeRF[45]和ENVIDR[27]试图处理反射表面,但它们的优化非常耗时,渲染速度慢。三维高斯溅射[21]保持了较高的效率,但无法处理这种反射表面。

最近,神经三维高斯[21]的出现给神经渲染领域带来了一场革命,促进了高质量实时渲染的生成。然而,在应用于具有反射表面的场景时,这种显式离散表示法遇到了挑战。在本文中,我们介绍了一种新方法 GaussianShader,它在三维高斯上应用简化的着色函数,以增强具有反射表面的场景中的神经渲染,同时保持训练和渲染效率。应用着色函数的主要挑战在于对离散三维高斯进行精确的法线估算。具体来说,我们提出了一种基于三维高斯最短轴方向的新型法线估算框架,并精心设计了损失,使法线与高斯球的几何形状保持一致
PS: 首要问题似乎都是法线
实验表明,GaussianShader 在效率和视觉质量之间取得了值得称赞的平衡。在镜面物体数据集上,我们的方法在 PSNR 方面超过了高斯拼接(Gaussian Splatting)[21],提高了 1.57dB。与之前处理反射表面的工作(如 Ref-NeRF [45])相比,我们的优化时间大大缩短(23 小时对 0.58 小时)。请点击我们的项目网站查看更多结果。

5. Conclusions

总之,我们提出了 GaussianShader,通过扩展的三维高斯模型推进反射物体和一般物体的渲染。具体来说,我们的方法将着色函数与三维高斯表示整合在一起,用于处理视图相关的外观,成功地处理了反射表面。此外,我们还提出了一种新颖的法线预测方法来实现高质量的法线,该方法将阴影参数与三维高斯的真实几何形状相关联。结果表明,我们的方法实现了高质量的渲染,标志着在高效、逼真的三维物体渲染方面取得了重大改进。

Introduction

近年来,三维计算机视觉领域在三维场景的三维重建和可视化方面取得了显著进步。神经辐射场(NeRF)[32] 等创新技术在生成三维物体和场景的新视图方面取得了重大突破,为高质量和逼真的渲染提供了可能。尽管取得了这些进步,与 NeRF 相关的方法 [6, 27, 45],仍然面临着计算昂贵的优化和缓慢的渲染速度等挑战。这些局限性限制了它们在实时交互场景中的应用。最近,三维高斯拼接技术[21]结合了三维高斯表示法和基于瓦片的拼接技术,实现了高质量的三维场景建模和实时渲染,使神经渲染技术在实际应用中的应用成为可能。然而,它在具有镜面和反射面的场景中性能下降。这是因为三维高斯拼接技术[21]没有对外观属性进行明确建模,因此无法捕捉与视图相关的重要变化,尤其是镜面高光。这一限制对实现各种材料的逼真渲染造成了巨大障碍,尤其是那些具有突出反射属性的材料。
对反射表面进行精确建模是一项具有挑战性的任务。Ref-NeRF [45] 和 ENVIDR [27] 在隐式表示中结合了阴影函数,shading functions
PS:阴影函数是什么
在反射表面上呈现出良好的质量。然而,它们存在优化耗时(数小时)和渲染速度慢的问题。由于 SDF 的灵活性有限,ENVIDR [27] 甚至无法为复杂场景建模,在一般物体上的性能也明显下降。如何在三维高斯拼接框架中结合着色函数,以提高其处理反射的能力,同时保持训练和渲染的效率,仍然是一个尚未探索的问题。在本文中,我们提出了一种新方法 GaussianShader,该方法通过在三维高斯中加入阴影函数,在包含反射面的场景中增强三维高斯的神经渲染。为了确保 GaussianShader 的效率,在保留反射建模能力的同时,评估阴影函数的成本不能太高。有鉴于此,我们提出了一种新颖的简化着色函数,它考虑了漫反射颜色和直接反射,同时将所有高级复杂反射归入一个残余颜色项=。Ref-NeRF 的着色函数只能考虑直接反射,相比之下,利用这一残余颜色,GaussianShader 可以高效地渲染更复杂的反射效果。
计算阴影函数的另一个挑战是如何在离散的三维高斯球上预测准确的法线。首先,很难从三维高斯球中得到一个局部连续的曲面来计算曲面法线。其次,使用邻域搜索将多个三维高斯球关联起来计算法线将非常昂贵。在 GaussianShader 中,我们通过引入一种新的法线表示法来解决这个问题,这种表示法基于高斯球的最短轴线方向,并在此轴线方向上学习法线残差。然后,为了加强估计法线和高斯球构成的几何图形之间的一致性,我们在预测法线和从渲染深度中得出的法线之间引入了一种高效的法线几何约束。法线表示法和约束条件都能准确估计高斯球的法线,从而帮助我们计算阴影函数。GaussianShader 基于三维高斯拼接技术,在保持实时渲染速度的同时,还能适应各种材料(如反射表面)。实验表明,与之前的作品相比,我们的方法在一般场景和反射表面上的效率和鲁棒性能之间保持了良好的平衡。
总之,我们提出的方法具有以下几个显著优势:

  1. 我们的方法通过简化的阴影函数明确地近似了渲染方程,大大增强了渲染场景的真实感,同时也提高了渲染效率。
  2. 我们提出了一种新的三维高斯正则估算框架,该框架具有新的正则化损失,可实现精确的正则估算。
  3. 利用高斯拼接的高效性,我们的方法提供了实时渲染功能,使其适用于交互式应用程序。

Related Work

Neural Radiance Fields

神经辐射场(NeRF)[32] 利用隐式表示和体积渲染技术,在照片逼真的新颖视图合成方面取得了显著进展。最近,NeRF 激发了许多不同方向的后续工作。[5,6] 通过引入三维锥形体,提高了 NeRF 的渲染质量,在 NVS 中达到了最先进的性能。[17、36、47、52、53] 将隐式曲面表示与 NeRF 相结合,实现了更精确的几何重建。[43、44] 提出了使用 NeRF 进行城市规模场景渲染的解决方案。[41、45、51、57] 则针对具有高镜面反射的特殊场景。另一个重要的研究方向[10, 14, 15, 28, 33, 42]是利用体素网格或哈希表来加快 NeRF 的训练和渲染速度。虽然已经取得了很大进展,但基于 NeRF 的方法由于其隐含性质,仍然存在渲染速度低和训练时内存占用高的问题 [11]。在基于点的神经渲染[2, 39, 50, 55]工作的基础上,最近一项里程碑式的工作[21]引入了各向异性三维高斯作为场景的有效表示,并使用基于瓦片的快速可微分光栅器渲染图像,在质量和效率上都超越了现有的隐式神经表示方法。
在这里插入图片描述
图 2. GaussianShader 从神经三维高斯球开始,整合了传统属性和新引入的阴影属性
PS:色调是干什么的。
,以准确捕捉视图相关的外观。我们结合了可微分环境光照图environment lighting map来模拟真实光照。通过端到端训练,模型可以重建反射和漫反射表面,实现高材质和照明保真度。

Reflective Object Rendering

从多视角图像渲染反射物体的视图由于复杂的光相互作用。以前的方法依靠简单的光场插值来实现新视角的高保真渲染视角[16, 25, 49],但却受到密集离散捕捉的限制。反射表面的精确渲染取决于对场景光照(如环境光)和材料属性(如 BR 值)的精确估计。这就是反渲染的任务[4, 35]。以往的研究已经证明了在已知照明条件下预测 BRDF 的方法【1, 13, 31],以及在已知几何条件下估计照明的技术[24, 37, 38]。此外,[12、19、51、58] 还加入了间接照明,从而提高了 BRDF 估算的保真度。

一些与 NeRF 相关的工作试图通过将视觉外观分解为光照和材料属性来建立反射率模型,例如 [7-9, 41, 54, 57],它可以在未知或变化的光照条件下联合预测环境光照和表面反射率属性。Ref-NeRF [45] 引入了一种新的参数化和结构化视图相关外向辐射度,以及法向量上的正则化器。最近的研究[26, 27, 29]利用基于 SDF 的表示法来学习高镜面表面的几何形状,为基于物理的渲染获得更精确的法线。然而,这些方法存在优化耗时长、渲染速度慢等问题,阻碍了它们在实际应用中的应用。

Preliminaries

3D Gaussian Splatting Rasterization

我们的方法基于高斯拼接法[21],该方法从捕捉静态场景的图像集合、相应的相机参数以及通过结构-运动(SfM)[40]生成的稀疏点云开始。这些点构建了一组高斯,每个高斯由位置(均值)p 和三维协方差矩阵 Σ 定义。虽然直接优化协方差矩阵 Σ 似乎很直观,但由于需要正半定义,这就带来了挑战。作为替代方案,在高斯拼接法中,采用了一种更直观但同样具有表现力的表示方法,即椭球体进行优化。椭圆体分为缩放和旋转两个部分,分别由缩放矩阵 S 和旋转矩阵 R 表示,即 Σ = RSST RT
PS: 概括的好有水平

Rendering with 3D Gaussians

根据摄像机参数投影到二维帧空间,三维高斯球既可微分,又可通过二维拼接与α混合快速渲染。在辐射场建模中,通过球面谐波(SH)来传达方向性外观方面(颜色)c。通过基于瓦片tile的光栅化,我们可以在按深度对 ci 进行排序后,求出像素颜色 C 的总和:
在这里插入图片描述
其中,αi 是由高斯权重与与高斯球相关的不透明度 α 相乘得到的。光栅化后,色彩损失可应用于渲染图像:
在这里插入图片描述

Method

图 2 展示了我们的方法概览。我们的方法首先采用三维高斯球,包括协方差 Σ、不透明度 α 和位置 p 在内的形状属性。为了增强对反射的表现能力,我们使用着色函数计算这些高斯球的外观,这需要一组着色属性,包括漫反射颜色、粗糙度、镜面色调、法线和残余颜色(),详见第 3.1 节。
PS:镜面色调
随后,我们采用可微分环境光映射来模拟直接照明,详见第 3.2 节。阴影处理在很大程度上依赖于准确的法线估算,详见第 3.3 节。最后,我们将在第 3.4 节中介绍整个训练过程中使用的损失函数。

Shading on 3D Gaussians

在这里插入图片描述

图 3 公式 4 中的正态分布函数 D 由粗糙度 ρ 和反射方向 r 决定。
ρ 小的表面镜面叶较小,ρ 大的表面镜面叶较大

高斯拼接法[21] 用简单的球面谐函数对高斯的出现进行建模,而不考虑光与表面的相互作用。不考虑光表面的相互作用。因此,高斯拼接法无法准确表示强镜面反射表面。然而,要准确考虑光-面相互作用,需要精确评估渲染方程[20],这需要大量的计算时间和复杂的 BRDF 参数。我们采用了简化的渲染方程近似值,这使我们能够在更短的时间内获得高质量的反射表面渲染结果。
具体来说,对于一个高斯球体,其观察方向 ωo 的渲染颜色 c 计算公式为
在这里插入图片描述
其中,γ 是伽马色调映射函数 [3],cd∈ [0, 1]3 是该高斯球的漫反射颜色,s∈ [0, 1]3 是定义在该球体上的镜面色调,Ls(ωo, n, ρ) 是该球体在该方向上的直接镜面反射光,n 是该高斯球的法线,ρ∈ [0, 1] 是球体的粗糙度,cr : R 3 → R 3 是所谓的残余颜色,⊙ 是元素相乘。

公式 3 的解释 我们从以下三个方面来解释我们建立这个阴影模型的动机。
a) 漫反射色 cd 代表这个高斯球体的一致颜色,它不会随着观察方向的改变而改变。
PS:什么意思,高斯的颜色不是球谐系数控制的吗,应该是会变的啊?

b) s ⊙ Ls(ωo, n, ρ) 描述了表面固有色 s 与直接镜面反射光 Ls 之间的相互作用。

c) 由于仍有一些反射无法用上述直射光的反射来解释,如散射和间接光的反射,我们增加了一个残余颜色项 cr(ωo)来解释这些复杂的反射。相比之下,Ref-NeRF[45] 采用了类似的阴影函数,但没有这种残余颜色项,因此很难处理高级复杂反射。cr(ωo)由球面谐波函数参数化。
PS:色散也行?

d) cd、s、ρ 和 cr(ωo) 中的球谐波系数都是与这个高斯球相关的可训练参数。下面我们将介绍如何计算 Ls(ωo,n,ρ)和 n。

3.2. Specular Light

图 3 显示了镜面 GGX[46]正态分布函数 D,我们通过对入射辐射度与镜面 GGX[46]正态分布函数 D 进行积分来计算镜面光 Ls。
在这里插入图片描述
其中,Ω 表示整个上半球,ωi 是输入辐射度的方向,D 表示镜面叶(有效积分范围)。表面粗糙时,反射方向 r 附近的镜面叶会变大,而表面光滑时,镜面叶会变小。反射方向 r 由视图方向 ωo 和法线 n 计算得出,计算公式为 r = 2(ωo - n)n - ωo 在我们的方法中,环境光 L(ωi) 由可训练的 6 × 64 × 64 立方体地图表示。这种光积分被预先过滤成多个 mip map,其中每个 mip map包含不同反射方向和不同粗糙度的光积分。要计算特定粗糙度和特定反射方向的光积分,我们只需在 mip 地图上插值即可。Ref-NeRF [45] 计算光积分时集成了方向编码,与之相比,我们在此选择了 mip 地图,因为我们发现这些基于 mip 地图的光表示在训练中更有效。为了得到观测方向 ωo 的反射方向 r,我们还需要估计高斯球上的法线 n,具体介绍如下。

PS:完全看不懂

3.3. Normal Estimation

高斯球上的法线估算非常困难。高斯球是离散实体的集合,每个实体代表空间中的一个局部点,没有连续的表面或确定的边缘。这种离散结构使其本身难以直接计算法线,而计算法线通常需要一个连续的表面。
PS:总结的好好
在下文中,我们观察到高斯的最短轴线方向可以作为近似法线,并进一步将预测法线残差与之相关联。
最短轴向 在实验中,我们发现了一个有趣的现象,即三维高斯球的长宽比(具体来说,即最长轴、中间轴和最短轴的比率)在优化过程中逐渐增大,如图 4 所示。这一观察结果表明,高斯球逐渐变得更加扁平,接近平面形状。这一观察结果启发我们选择最短轴作为 "平面化 "高斯球的法线,用 v 表示。
预测正态残差。最短轴 v只能作为近似正态。为了使正态计算更加精确,我们进一步在每个高斯球上引入了可训练的法线残差 ∆n。然而,最短轴 v 的方向具有模糊性因为最短轴线的方向既可能指向外侧,也可能指向内侧。向外或向内。为了处理这种模糊性,我们优化了两个独立的法线残差,以适应这两种情况。给定一个特定的观察方向 ωo,我们首先选择与观察方向 ωo 一致的方向作为该观察方向的活动法线方向,然后将相应的法线残差应用于活动法线。这个过程描述如下
在这里插入图片描述
PS:v是最短轴,∆n是可训练的法线残差,观察方向 ωo
在这里插入图片描述

图 4. 三维高斯球在优化过程中逐渐变成平面的几何演变过程。

为了防止正态残差偏离最短轴线过多,我们对正态残差添加了惩罚,确保惩罚足够小。
在这里插入图片描述
法线残差如图 5 。

**法线几何一致性。**上述最短轴线方向和法线残差是在每个高斯球上分别定义的。然而,一个明显的问题是,法线揭示了局部几何的梯度,而局部几何应该与局部区域的所有高斯球相关联。我们发现,简单地应用颜色损失来训练上述法线残差会导致局部几何图形和估计法线之间的不一致。主要原因是每个高斯球都是单独学习其法线残差的,而不知道其相邻高斯球制定的局部几何形状。因此,我们必须将局部区域内的多个高斯球与它们的法线相关联,以确保法线几何的一致性。一个简单直接的解决方案是在空间中搜索其 K 个邻域,并从所有邻近球体中估算出粗法线。然而,这种 KNN 搜索在训练过程中会非常昂贵,因为在优化过程中所有高斯球体都在动态移动。相反,我们提出了一种简单而有效的方法来确保法线几何的一致性,具体如下。
我们将局部几何图形与预测法线关联起来,具体做法是尽量减小从渲染深度图得出的梯度法线与使用预测法线渲染的法线图之间的差值
PS 就是预测出的法线搞一个图,然后深度图的梯度搞一个法线图,减少两个图的差值
在这里插入图片描述
其中,n¯ 是渲染的法线贴图,nˆ 是通过在渲染的深度贴图上应用索贝尔sobel like算子计算得出的。因为它是通过渲染的深度图计算得出的。n¯ 包含每个高斯球上单独定义的法线信息。通过最小化差值,我们就能确保局部几何图形与估计法线之间的一致性。和估计法线之间的一致性。
PS: 渲染的法线贴图,渲染的深度贴图是什么
在这里插入图sss片描述
图 5. 短轴 v、法线残差 ∆n、法线 n 和depth grad法线 nˆ 之间关系的直观图。监督 Lnormal 强化了法线几何的一致性。

3.4. Losses

除了 Lcolor、Lreg 和 Lnormal 之外,我们还利用稀疏损耗 [30, 50] 来鼓励高斯球的不透明度值 α 接近 0 或 1,方法是

在这里插入图片描述
这种稀疏性损失有助于高斯球的几何形状收敛到单个薄板,并提高渲染质量。总之,总训练损耗 L 为
在这里插入图片描述
其中,λn = 0.01,λs = 0.001,λr = 0.001。

4. Experiments

4.1. Datasets

为了全面验证 GaussianShader 的有效性,我们在多个数据集上进行了评估:a) 广泛使用的 NVS 数据集: b) 反射物体数据集: c) 真实世界的大型场景: 坦克和寺庙[23]。

4.2. Baselines and Metrics

我们将我们的方法与以下基准进行比较:
a) 3D Gaussian Splatting [21]:基于高效 3D Gaussian 表示法的实时辐射场渲染方法;
b) VolSDF [52]:基于 SDF 的经典神经隐式曲面重建方法;
c) Ref-NeRF [45]: 最先进的反光物体新视角合成方法
d) NVDiffRec [34]、NVDiffRecMC [18]:性能最佳的神经逆渲染方法;
e) ENVIDR [27]、NeRO [29]:性能最佳的基于 SDF 的神经隐式方法,用于重建反射物体。
衡量渲染质量的评价指标有 PSNR、SSIM [48] 和 LPIPS [56]。
在这里插入图片描述
图 6. 在 Glossy 数据集[29]上与 3D 高斯拼接法[21]的定性比较。我们的方法不仅能高保真地渲染物体,还能提供详细的法线和光照贴图。为了获得更好的可视化效果,我们放大了部分区域。

4.3. Implementation Details

所有实验均在 Nvidia RTX 3090 显卡上进行。我们使用 Adam [22] 优化器对模型进行了 30,000 次迭代优化。对于 Ref-NeRF[45]、ENVIDR[27] 和 3D Gaussian Splatting[21],我们使用它们的官方代码进行了重新训练,并从我们重新训练的模型中获得了它们的所有结果。其他作品的结果是从其原始论文中导入的

4.4. Comparisons

NeRF 合成数据集 [32]。我们首先在 NeRF 合成数据集上评估了我们的模型,该数据集包含具有复杂几何形状和真实非朗伯材料的物体。表 1 显示了定量结果,图 1 显示了视觉对比。1 中显示了量化结果,图 8 中显示了可视化比较结果。我们的方法与高斯拼接法和神经渲染法在数值上和视觉上都取得了相当的效果,证明了我们的方法在渲染一般物体方面的有效性。请注意,如图 8 所示,基于 SDF 的 ENVIDR [27] 在复杂物体的阴影区域表现不佳。

Shiny Blender 数据集[45]。Shiny Blender 数据集的定量结果见表 2。2. 由于我们的方法能够模拟光线与表面之间的相互作用,因此在所有场景中的表现都优于原始的高斯拼接法,同时还能对物体表面的阴影区域进行拼接。

实验部分略

4.5. Ablation Study

在本节中,我们将在 Shiny Blender 数据集上对我们的模型进行烧蚀研究。数值结果见表 4。4. 所有消融实验均在 Shiny Blender 数据集上进行,图像分辨率为 1/2。
**损失函数。**我们在 "无稀疏损失 Lsparse "和 "无正常损失 Lnormal "的设置下对模型进行了严格的训练。如表 4 所示,这些损失的加入,尤其是对法线的直接正则化,被证明是至关重要的,通过有效地引导法线优化过程,渲染质量得到了明显改善。4.
残差颜色 残差色由三阶 SH 系数组成,用于补偿间接光。如表 4 所示,残余颜色的引入增强了我们的模型,使其能够模拟现实世界中各种复杂的照明情况,并显著提高渲染质量。
法向 公式。在我们的完整模型中,,我们使用最短轴方向 v 和可学习残差 ∆n 来表示正态分布,如公式 3.3 所述。在表 4 中,我们比较了这种新颖的法线形成方法。在表 4 中,我们将这种新颖的法线形成方式与native法线预测方式(用 "w/o axis v "表示)进行了比较。我们没有与三维高斯几何相关联,而是直接优化了单一法线属性。结果表明,我们的完整模型可以获得更高的渲染质量,因为我们预测的法线与高斯球的真实几何形状相关
在这里插入图片描述图 10. 在坦克和寺庙数据集[23]上与高斯拼接法[21]的定性比较。我们的方法得到了更平滑、更合理的法线。
光照表征。我们方法的一个重要组成部分是照明建模。"MLP 照明 "意味着我们使用类似于 Ref-NeRF 的定向 MLP 来隐式优化照明。在我们的完整模型中,我们使用 "Envmap 照明 "表示法,如第 3.2 节所示。结果证明,我们的显式光照表示法更适合三维高斯渲染框架,可以正确渲染反射物体。

PS:不懂啊。怎么用隐式优化显式的,看看代码再说吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值