前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GES: 通用指数高斯用于高效渲染

GES: 通用指数高斯用于高效渲染

作者头像
用户1324186
发布2024-04-19 11:25:05
940
发布2024-04-19 11:25:05
举报
文章被收录于专栏:媒矿工厂媒矿工厂

目录

  • 介绍
  • 方法
    • 通用指数散点的可微分公式
    • 通用指数高斯的快速可微分光栅化
    • 频率调制图像损失
    • 通用指数散点的优化
  • 实验
    • 数据集和评估指标
  • 结果
    • 新视角合成结果
    • 消融研究和分析

介绍

图1

在游戏、电影和元宇宙中追求更具吸引力和沉浸式的虚拟体验,需要在视觉丰富性和计算效率之间平衡的三维技术进步。在这方面,三维高斯散点(GS)是对神经辐射场的最新替代方案,用于学习和渲染三维对象和场景。GS将场景表示为大量小的、有色的高斯模型。其主要优势是存在一个非常快速的可微渲染器,这使得这种表示非常适合实时应用,并显著降低了学习成本。具体来说,快速渲染可学习的三维表征对于游戏等应用至关重要,这些应用需要高质量、流畅且响应迅速的图形。

然而,GS并非没有缺点。我们特别注意到GS隐含地对所模拟信号的性质做了一个假设,这是次优的。具体来说,高斯对应于低通滤波器,但大多数三维场景远非低通,因为它们包含在形状和外观上的突然不连续。图2演示了基于高斯方法的固有低通限制。因此,GS需要使用大量非常小的高斯来表示这样的三维场景,远远超过如果选择了更合适的基础的话,这对内存利用产生了负面影响。

图2

为了解决这一缺点,本文中,我们介绍了通用指数高斯(Generalized Exponential Splatting),这是一种新的方法,利用通用指数函数(GEF)来模型化三维场景(图3)。我们的方法旨在有效表示信号,特别是那些具有尖锐特征的信号,这些特征通常会被之前的高斯散点技术平滑掉或需要大量分割来建模。如图3所示,我们展示了虽然需要

N=5

个随机初始化的高斯来拟合一个正方形,但同样的信号只需要

2

个GEF。这源于高斯混合具有低通频率域的事实,而许多常见信号,如正方形,并非带限。这种高频带建模构成了基于高斯方法的一个基本挑战。为了帮助GES从低频到高频细节逐渐训练,我们提出了一种专门的频率调制图像损失。这使得GES在标准新视角合成基准测试上保持竞争力的表现,同时实现了高斯散点内存需求的50%以上减少和渲染速度高达39%的提升。

我们总结我们的贡献如下:

  • 我们提出了使用通用指数函数(GEF)而非高斯来进行场景建模的原理性数值模拟。
  • 我们提出了通用指数散点(GES),这是一种新的三维表示方法,利用GEF开发了一种逼真、实时且内存高效的新视角合成的散点基方法。
  • 配备了专门的频率调制图像损失,并通过在标准新视角合成基准上的广泛实验,GES显示了内存需求的50%减少和实时辐射场渲染基于高斯散点的渲染速度高达39%的提升。 GES可以作为任何基于高斯的工具的即插即用替代品。

方法

图3

在确认了通用指数函数(GEF)相对于高斯函数的优势之后,我们现在将演示如何将GEF扩展到通用指数散点(GES)框架中,提供一个高斯散点的即插即用替代品。我们还从通过运动结构(SfM)获取的场景的一组静态图像及其相应的相机校准开始,这还提供了一个稀疏点云。超越高斯模型,GES采用指数

\beta

来调整散点的焦点,从而使场景边缘的描绘更加清晰。这种技术不仅在内存使用上更高效,而且在新视角合成的既定基准测试中也能超越高斯散点。

通用指数散点的可微分公式

我们的目标是通过一种精细的场景表征来增强新视角合成。我们利用一种被称为通用指数散点的通用指数形式,它对于三维空间中的位置

\mathbf{x}

和正定矩阵

\boldsymbol{\Sigma}

定义如下:

\begin{equation} L(\mathbf{x}; \boldsymbol{\mu}, \boldsymbol{\Sigma}, \beta) = \exp \lbrace -\frac{1}{2} \big((\mathbf{x}-\boldsymbol{\mu})^{\intercal}\boldsymbol{\Sigma}^{-1}(\mathbf{x} - \boldsymbol{\mu})\big)^\frac{\beta}{2},\rbrace \end{equation}

其中

\boldsymbol{\mu}

是位置参数,

\boldsymbol{\Sigma}

是在高斯散点中的协方差矩阵等价物。

\beta

是一个形状参数,控制散点的锐利度。当

\beta = 2

时,此公式等同于高斯散点。我们的方法维持一个不透明度测量

\kappa

用于混合,并使用球谐函数进行着色,类似于高斯散点。对于2D图像投影,我们适应了Zwicker等人的技术,但保留了我们的变量指数

\beta

。摄影空间的协方差矩阵

\boldsymbol{\Sigma}'

按如下方式变换:

\begin{equation} \boldsymbol{\Sigma}' = \mathbf{J} \mathbf{W} \boldsymbol{\Sigma} \mathbf{W}^{\intercal} \mathbf{J}^{\intercal}, \end{equation}

其中

\mathbf{J}

是从世界空间到摄影空间的变换的雅可比矩阵,

\mathbf{W}

是包含

\boldsymbol{\Sigma}

的特征值的平方根倒数的对角矩阵。我们通过将

\boldsymbol{\Sigma}

表述为一个缩放矩阵

\mathbf{S}

(通过一些正的修改函数

\phi(\beta) > 0

进行修改,稍后将展示)和一个旋转矩阵

\mathbf{R}

来确保其始终保持正半定,通过分离的3D比例向量

\mathbf{s}

和四元数旋转

\mathbf{q}

来促进这些组件的优化。

通用指数高斯的快速可微分光栅化

体积渲染的直观理解

神经辐射场中的体积渲染概念涉及沿穿过场景的光线积分发射的辐射。摄像机光线

\mathbf{r}(t) = \mathbf{o} + t\mathbf{d}

的预期颜色

C(\mathbf{r})

的积分方程为:

\begin{align} \begin{aligned} C(\mathbf{r}) = \int_{t_n}^{t_f} T(t) \kappa(\mathbf{r}(t)) c(\mathbf{r}(t), \mathbf{d}) ,dt, \ \text{where} \quad T(t) = \exp\left(-\int_{t_n}^{t} \kappa(\mathbf{r}(s)) ,ds\right). \end{aligned} \end{align}

这里,

T(t)

表示从

t_n

t

沿光线的透射率,

\kappa(\mathbf{r}(t))

是体积密度,

c(\mathbf{r}(t), \mathbf{d})

是点

\mathbf{r}(t)

在方向

\mathbf{d}

的发射辐射。光线穿越非空白空间的总距离

[{t_n},{t_f}]

决定了能量的损失,因此渲染色彩的强度降低。在高斯散点世界中,这个距离

[{t_n},{t_f}]

由沿光线方向

\mathbf{o} + t\mathbf{d}

的每个组件的投影方差

\alpha

组成。在我们的GES中,如果某个单独组件的形状参数

\beta

发生变化,有效影响将由同一组件的修改后的投影方差

\widehat{\alpha}

确定,如下所示:

\begin{align} \begin{aligned} \widehat{\alpha}(\beta) = \phi(\beta)\alpha \quad. \end{aligned} \end{align}

注意,我们选择的修改函数

\phi

不依赖于光线方向,因为形状参数

\beta

是散点组件的全局属性,我们假设场景由许多组件组成。接下来我们将讨论修改函数

\phi

的选择以及它如何适应高斯散点的光栅化框架。

近似光栅化

主要问题是如何在光栅化框架中表示GES。实际上,高斯散点的光栅化仅依赖于每个组件的方差散点。因此,我们只需要模拟形状参数

\beta

对每个组件的协方差的影响,以获得GES的光栅化。为此,我们通过该组件的标量函数

\phi(\beta)

修改每个组件的协方差的比例矩阵。从概率论中,广义指数分布的方差与高斯分布的方差之间的确切转换由generlizedgaussian给出,如下所示:

\begin{equation} \phi(\beta) = \frac{\Gamma(3/\beta)}{\Gamma(1/\beta)} \end{equation}

图4

这种修改将影响光栅化就像我们确实进行了指数变更一样。这是一种允许使用广义指数光栅化而不采用

\beta

指数的技巧。同样,高斯散点并不学习刚性高斯,它学习的是就好像在图像平面上放置了高斯的点云的属性。我们的GES和高斯都以同样的散点精神代表三维。 图4展示了这一概念,展示了一个单独的散点组件与摄像机的光线

\mathbf{r}

相交和有效方差投影

\widehat{\alpha}

的想法。然而,如图4所示,这种标量修改

\phi(\beta)

引入了一些视角依赖的边界效应误差(例如,如果光线

\mathbf{r}

通过对角线)。

由于

\Gamma

函数的不稳定性,我们可以用以下平滑函数近似

\phi(\beta)

\begin{equation} \bar{\phi}_{\rho}(\beta)= \frac{2}{1 + e^{-(\rho \beta - 2 \rho)}}. \end{equation}

精确修改

\phi(\beta)

与近似

\bar{\phi}_{\rho}(\beta)

之间的差异(由超参数形状强度

\rho

控制)显示在图5中。在

\beta=2

(高斯形状)时,修改

\phi

\bar{\phi}

完全为1。这种参数化

\bar{\phi}_{\rho}(\beta)

确保了每个组件的方差保持正值。

图5

频率调制图像损失

为了有效利用GES的广谱能力,我们增强了一个频率调制图像损失,记

\mathcal{L}_{\omega}

。这种损失基于这样的理念,即GES最初配置的高斯低通带散点应该在训练的初始阶段主要集中在低频细节上。随着训练的进行,随着散点形态适应以包含更高频率,优化的重点应逐渐转移到图像中这些更高频带上。这个概念在技术上类似于在BARF中使用的频率调制方法,尽管是在图像域而不是3D坐标空间内应用。损失由通过高斯差分(DoG)滤波器实现的频率条件掩模引导,以增强图像重建任务中的边缘感知优化,由规范化频率

\omega

调制。DoG滤波器充当带通滤波器,通过从另一个较少模糊的图像中减去一个模糊版本来突出边缘,从而近似图像的第二空间导数。这个操作在数学上表示为:

\begin{equation} \text{DoG}(I) = G(I, \sigma_1) - G(I, \sigma_2), ~~~ 0 < \sigma_2 < \sigma_1 \end{equation}

其中

G(I, \sigma)

表示在图像

I

上使用标准偏差

\sigma

进行的高斯模糊操作。

\sigma

值的选择决定了要突出显示的边缘的规模,有效地确定滤波器的频率带。我们选择

\sigma_1 = 2 \sigma_2

以确保带通滤波器的有效性,其中

\sigma_2

的选择将决定滤波器的目标频率带。在我们的公式中,我们使用预定的目标规范化频率

\omega

\omega= 0\%

用于低频至

\omega= 100\%

用于高频)。我们选择

\sigma_2= 0.1+10\omega

以确保滤波器的稳定性和合理的结果掩模。然后使用过滤图像通过像素级比较生成边缘感知掩模

M_\omega

。边缘感知频率调制损失

\mathcal{L}_{\omega}

定义为:

\begin{equation} \mathcal{L_{\omega}}=\lVert (I - I_{\text{gt}}) \cdot M_\omega \rVert_1, \end{equation}

其中

I

是重建图像,

\lVert \cdot \rVert_1

表示L1范数。这一项被整合到总损失中,稍后显示。掩模针对指定频率

\omega

。损失

\mathcal{L}_{\omega}

旨在通过根据场景的性质调整形状

\beta

来帮助,它通过在训练期间首先将GES组件集中在低通信号上,然后在调整

\beta

之前专注于高频来实现这一点。这有助于GES的效率,

通用指数散点的优化

我们详细介绍了一种控制形状密度的新方法,它选择性地修剪GES,根据它们的形状属性,从而消除了对可变密度机制的需求。这种优化策略涵盖了

\beta

参数以及散点的位置

\mathbf{x}

、不透明度

\kappa

、协方差矩阵

\boldsymbol{\Sigma}

和通过球谐函数系数的颜色表征。这些元素的优化是使用随机梯度下降进行的,该过程通过GPU加速计算和专门的CUDA内核加速。

\boldsymbol{\Sigma}

\mathbf{x}

的起始估计是从SfM点推断出的,而所有

\beta

值都初始化为

\beta=2

(纯高斯散点)。损失函数结合了

\mathcal{L}_1

度量和结构相似性损失(SSIM),以及频率调制损失

\mathcal{L}_{\omega}

\begin{equation} \mathcal{L} = \lambda_{L1} \mathcal{L_1} + \lambda_{\text{ssim}} \mathcal{L_{\text{ssim}}} + \lambda_{\omega} \mathcal{L}_{\omega}, \end{equation}

其中

\lambda_{\text{ssim}} = 0.2

在所有评估中均匀应用,

\lambda_{\text{L1}} = 1 - \lambda_{\text{ssim}} - \lambda_{\omega}

实验

数据集和评估指标

在我们的实验中,我们使用了多种数据集来测试我们算法在渲染真实世界场景中的有效性。这项评估包括来自不同来源的13个真实场景。我们特别关注了以其优越的NeRF渲染质量著称的Mip-Nerf360数据集的场景,以及选自Tanks & Temples数据集的场景和Hedman等人在深度融合工作中提供的实例。这些场景展示了从有界室内设置到开阔的无界室外环境的广泛捕获风格。

我们研究中的质量基准由Mip-Nerf360设置,我们将其与其他现代快速NeRF方法进行了比较,例如InstantNGP和Plenoxels。我们的训练/测试分割遵循Mip-Nerf360推荐的方法论,使用每8张照片进行一次测试。这种方法便于进行一致和有意义的错误度量比较,包括常用的标准度量如PSNR、L-PIPS和SSIM,这些都是现有文献中频繁使用的(见表1)。我们的结果包括各种配置和迭代,突出显示了训练时间、渲染速度和优化参数的内存要求的差异。

表1

结果

新视角合成结果

我们评估了GES在新视角合成任务中相对于多个最先进技术的表现。表1和图总结了比较结果。表1显示,GES在新视角合成中实现了高保真与效率之间的平衡。尽管它在SSIM或PSNR上不总是超过其他方法,但它在内存使用和速度方面显著优越。仅需377MB内存和2分钟处理速度,GES表现出极高的效率,特别是与需要更多内存或更长处理时间的3D高斯-30K和Instant NGP相比。总体而言,这些结果强调了GES在提供平衡性能和显著效率方面的能力,使其成为需要高质量输出与操作速度和内存效率的实时应用的可行选择。

图6

请注意,在图6中很难看出GES与高斯之间在视觉效果上的差异,因为它们在PSNR上几乎相同但文件大小不同(见表1)。为了进行公平的视觉比较,我们限制了组件数量大致相同(通过控制高斯的分割)并在图6中显示结果。这清楚地表明GES可以比高斯更好地模拟该场景的细小和尖锐边缘。

图7

消融研究和分析

  • 形状参数: 在表2中,我们探索了与新形状参数相关的重要超参数对新视角合成性能的影响。我们发现适当的近似
\bar{\phi}_{\rho}

是必要的,因为如果我们将

\rho

设置为10,使

\bar{\phi}_{\rho}

尽可能接近精确的

\phi(\beta)

,PSNR将下降到11.6。

表2

  • 频率调制图像损失的影响:我们研究了引入的频率损失对性能的影响,通过改变
\lambda_\omega

。在表2中,我们展示了添加这个

\mathcal{L}_{\omega}

如何改善存在大对比度的区域或渲染平滑背景的优化,并提高了GES的效率。我们注意到,在GES中增加

\lambda_\omega

确实减少了文件大小,但可能会影响性能。我们选择

\lambda_\omega =0.5

作为改善性能和减少文件大小之间的折衷。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 方法
    • 通用指数散点的可微分公式
      • 通用指数高斯的快速可微分光栅化
        • 频率调制图像损失
          • 通用指数散点的优化
          • 实验
            • 数据集和评估指标
            • 结果
              • 新视角合成结果
                • 消融研究和分析
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档