【读论文】Ref-NeRF

论文地址

这篇文章《Ref-NeRF: Structured View-Dependent Appearance for Neural Radiance Fields》主要针对现有的NeRF(Neural Radiance Fields)方法进行改进。以下是详细分析:

对标方法

Ref-NeRF对标的方法主要是NeRF及其扩展版本,如mip-NeRF。这些方法在3D场景的视图合成方面表现出色,但在处理光泽表面时存在一定的局限性。

现有方法的缺点

  1. NeRF对出射辐射率的参数化不适合插值:对于复杂的光泽表面,NeRF在新视点插值(合成新视角)时容易出现伪造的光泽伪影。
  2. NeRF的几何结构不够精细:NeRF的体积密度集中在雾状区域,表面法向量过于嘈杂,无法有效计算反射方向。

解决的问题

Ref-NeRF主要解决了NeRF在处理光泽表面时出现的伪造光泽伪影和表面法向量不准确的问题。通过引入反射辐射率函数和正常向量的正则化,Ref-NeRF显著提高了光泽反射的真实性和精确性。

创新点

  1. 反射辐射率参数化:将NeRF的方向性MLP输入从观察向量改为观察向量关于局部法向量的反射。
  2. 集成方向编码:引入集成方向编码和将出射辐射率分为漫反射和镜面反射成分,使得在材料和纹理变化的场景中反射辐射率函数保持平滑。
  3. 正则化法向量:通过新的正则化方法,提高了体积密度在表面的集中度和法向量的准确性。

实验结果

实验结果显示,Ref-NeRF在处理高光泽或镜面物体的新视点渲染质量上显著优于之前的顶级视图合成方法。具体结果包括:

  1. 渲染质量:Ref-NeRF在视觉逼真度和表面法向量的准确性上均显著优于mip-NeRF。
  2. PSNR(峰值信噪比)和MAE(平均绝对误差):Ref-NeRF的PSNR更高,MAE更低,表明其在渲染质量上更优。

模型的输入输出

  • 输入:任意3D坐标和观察方向。
  • 输出:对应位置的体积密度和沿输入观察方向的出射辐射率。

模型结构

Ref-NeRF模型结构包含:

  1. 空间MLP:输出给定3D坐标的体积密度。
  2. 方向性MLP:接收反射观察向量和其他场景属性(如漫反射颜色和粗糙度),输出对应方向的出射辐射率。

总结来说,Ref-NeRF通过重新参数化NeRF的方向性MLP、引入集成方向编码、以及对体积密度和法向量的正则化,解决了现有方法在光泽表面渲染时的不足,并显著提高了渲染质量。

Method

3.1. 反射方向参数化 Reflection Direction Parameterization

3.1 节介绍了使用反射方向重新参数化出射辐射率的方法。这种方法旨在改进视图依赖的外观插值,特别是针对光泽和镜面表面,这是NeRF模型常遇到的挑战。

反射方向参数化

NeRF 视图方向的局限性:
NeRF模型通常直接使用视图方向来参数化出射辐射率,但这种方法存在一些局限性:

  1. 插值问题:镜面高光和反射是视图依赖的,随着视图方向的微小变化会显著变化,导致平滑插值变得困难。
  2. 光泽伪影:NeRF在渲染光泽表面时,往往会产生伪影,因为它无法捕捉到高光的平滑变化。

解决方案:反射方向参数化
为了应对这些问题,Ref-NeRF引入了反射方向来重新参数化出射辐射率。具体步骤如下:

  1. 定义反射方向
    反射方向 ωr\omega_r 使用视图方向 ωo\omega_o 和空间中某点的法向量 nn 来计算:
    ωr=2(ωon)nωo \omega_r = 2(\omega_o \cdot n)n - \omega_o
    其中,ωo=d\omega_o = -ddd 是从该点指向相机的单位向量。这一步通过反射定律得来。

  2. 重新参数化的优势
    这种重新参数化使得镜面外观更适合跨视图插值。对于绕反射视图方向旋转对称的双向反射分布函数(BRDF),视图依赖的辐射率可以简化为仅依赖反射方向的函数:
    Lout(ωo)Lin(ωi)p(ωrωi)dωi=F(ωr) L_{\text{out}}(\omega_o) \propto \int L_{\text{in}}(\omega_i) p(\omega_r \cdot \omega_i) d\omega_i = F(\omega_r)
    通过使用反射方向 ωr\omega_r,模型实际上训练了方向性MLP以输出由BRDF lobe函数 pp 调制的入射光积分。其中L用RGB表示

  3. 处理一般的BRDF
    对于可能随视图方向和法向量之间的角度变化的更一般的 BRDF(例如Fresnel反射效应),还将 nωon \cdot \omega_o 的点积作为输入提供给方向性MLP。这样可以使模型根据视角调整基础BRDF的形状。

结论
通过使用反射方向而非直接的视图方向,Ref-NeRF 显著改进了镜面高光和反射的插值效果。这种方法利用反射的特性简化了基础辐射率函数,使其更适合神经网络插值,使模型能够更有效地处理复杂的光泽表面,从而生成更真实的视图依赖外观渲染。

3.2 集成方向编码(Integrated Directional Encoding,IDE)

3.2 节讨论了集成方向编码方法。这种方法的目的是在材料和纹理变化的场景中保持反射辐射率函数的平滑插值。

背景问题:
NeRF模型在处理视图依赖性时,需要有效地表示和插值视图方向。传统的方法使用球面谐波或径向基函数来编码视图方向,但这些方法在处理高频细节(如镜面反射)时效果有限。

集成方向编码的概念:
为了改进方向编码,Ref-NeRF引入了集成方向编码(Integrated Directional Encoding)。这个方法通过结合多个方向编码技术,来更好地表示和插值复杂的视图依赖性。

  1. 方向编码的集成:
    Ref-NeRF使用一种集成方法,将不同的方向编码技术(如球面谐波、径向基函数等)组合起来。具体来说,它使用Von Mises-Fisher(vMF)分布来表示方向的分布,并结合球面谐波编码,从而能够捕捉更丰富的方向信息。

  2. 实现步骤:

    • vMF分布:vMF分布是一种常用的方向统计模型,可以有效地表示方向的集中性和分布特性。Ref-NeRF使用vMF分布对视图方向进行编码,从而捕捉到方向的集中性。
    • 球面谐波:球面谐波是一种常用的方向编码方法,可以表示不同方向上的频率成分。Ref-NeRF结合球面谐波来补充vMF分布的编码,增强对高频细节的表示能力。
  3. 编码过程:

    • 方向样本的生成:首先,从视图方向中生成一组方向样本。
    • 样本的编码:然后,使用vMF分布和球面谐波对这些方向样本进行编码。
    • 集成编码:最后,将这些编码结果集成起来,形成一个高维的方向编码向量。

优势:
集成方向编码具有以下优势:

  • 高频细节的表示:通过结合vMF分布和球面谐波,能够更好地表示和插值高频细节,如镜面反射和高光。
  • 方向信息的丰富表示:集成了多种编码技术,能够捕捉更丰富的方向信息,提升模型在复杂场景下的表现能力。

通过编码方向向量,模型能够在新的视图下准确地插值3D场景中的视图依赖性特征。以下是具体的工作原理:

1. 方向编码向量的生成

首先,视图方向被转换为一个高维向量,这个过程可以使用多种编码技术,如球面谐波(Spherical Harmonics)、径向基函数(Radial Basis Functions,RBF)以及von Mises-Fisher(vMF)分布等。这些编码方法能够将视图方向的信息嵌入到一个多维向量中,捕捉方向的高频细节和变化。

2. 高维向量表示

编码后的方向向量包含了关于视图方向的丰富信息。这个高维向量不仅仅是一个简单的角度表示,而是包含了视图方向上所有细节变化的信息。例如,对于球面谐波编码,它会将视图方向分解成一系列频率分量,从而能够表示复杂的方向依赖性特征。

3. 模型输入

在NeRF模型中,这些高维方向编码向量被作为输入提供给模型的方向性MLP(多层感知机)。模型同时还接收空间坐标和其他相关信息,如反射方向和表面属性。

4. 插值新的视图

当模型需要插值一个新的视图时,它会使用该视图的方向编码向量来预测该视图下的辐射率。由于编码向量包含了视图方向的丰富信息,模型能够根据训练过程中学习到的特征,准确地生成新视图下的图像。

5. 插值的平滑性

由于方向编码向量能够捕捉视图方向的细微变化,模型在进行插值时能够平滑地过渡不同视图之间的特征。例如,对于光泽和镜面反射,高维向量表示的视图方向能够确保高光在视图变化时平滑地移动,从而避免伪影和不自然的效果。

具体步骤如下:

  1. 获取新视图的方向:从相机位置和目标点计算新的视图方向。
  2. 生成方向编码向量:将新的视图方向通过编码技术转换为高维向量。
  3. 输入模型:将这个高维向量与其他输入(如空间坐标、反射方向等)一起输入到模型中。
  4. 辐射率预测:模型通过方向性MLP对输入进行处理,预测新的视图方向下的辐射率。
  5. 图像生成:利用预测的辐射率进行体积渲染,生成最终的图像。

4. 准确的法向量 Accurate Normal Vectors

背景问题:
NeRF模型在表示3D场景时,通过体积密度和视图依赖的辐射率来渲染图像。然而,由于NeRF的几何结构(体积密度分布)并不集中,法向量的估计通常较为嘈杂且不准确。这导致在计算反射方向和渲染光泽表面时出现问题。

解决方案:
为了提高法向量的准确性,Ref-NeRF引入了一种新的正则化方法,使体积密度集中在表面,并增强法向量的稳定性和准确性。

正则化方法

  1. 体积密度正则化:
    Ref-NeRF使用了一种新的正则化技术,使体积密度更加集中在物体表面。这种方法通过增加一个正则化项来实现,该正则化项鼓励体积密度在表面处达到最大值,从而减少了雾状区域。

  2. 法向量正则化:
    法向量的计算依赖于体积密度的梯度。因此,通过正则化体积密度,Ref-NeRF间接提高了法向量的准确性。具体来说,模型在训练过程中加入了一个正则化项,鼓励法向量的梯度在表面处更加稳定和平滑。

  3. 公式表示:
    具体的正则化公式如下:
    Lreg=λ(τ(x)n(x)1)2dx \mathcal{L}_{\text{reg}} = \lambda \int (\nabla \tau(x) \cdot n(x) - 1)^2 dx
    其中,τ(x)\tau(x) 是体积密度,n(x)n(x) 是法向量,λ\lambda 是正则化项的权重。

  4. 法向量的计算:
    在NeRF中,法向量 n(x)n(x) 可以通过体积密度 τ(x)\tau(x) 的梯度来计算:
    n(x)=τ(x)τ(x) n(x) = \frac{\nabla \tau(x)}{||\nabla \tau(x)||}
    通过正则化,模型能够获得更加准确和稳定的法向量,从而在计算反射方向和渲染光泽表面时提供更好的效果。

实验结果

通过引入这些正则化技术,Ref-NeRF显著提高了法向量的准确性。实验结果表明,这种方法不仅在视觉效果上有显著提升,还在处理高光和反射时表现出色。具体来说:

  1. 渲染质量提升:正则化后的法向量使得高光和反射更加自然,减少了伪影和不自然的过渡。
  2. 法向量误差降低:实验中,正则化技术显著降低了法向量的平均角度误差(MAE),提高了几何表示的精确性。

Related Works

vMF分布(von Mises-Fisher 分布)

vMF分布的概念

vMF分布是一种用于方向数据的概率分布,广泛应用于统计学和计算机视觉中,用于描述在高维球面上分布的方向向量。它是von Mises分布在多维球面上的推广,特别适合表示集中于某一方向的向量数据。

vMF分布的定义

对于单位向量 x\mathbf{x}(即 x=1\|\mathbf{x}\| = 1),在 pp 维单位球面上的vMF分布定义如下:

f(x;μ,κ)=Cp(κ)exp(κμTx) f(\mathbf{x}; \mathbf{\mu}, \kappa) = C_p(\kappa) \exp(\kappa \mathbf{\mu}^T \mathbf{x})

其中:

  • μ\mathbf{\mu} 是均值方向向量(单位向量)。
  • κ\kappa 是浓度参数,表示分布的集中程度。当 κ=0\kappa = 0 时,分布是均匀的;当 κ\kappa 越大,分布越集中在 μ\mathbf{\mu} 方向。
  • Cp(κ)C_p(\kappa) 是归一化常数,确保分布函数的积分为1。对于 pp 维单位球面,归一化常数 Cp(κ)C_p(\kappa) 表示为:

Cp(κ)=κp/21(2π)p/2Ip/21(κ) C_p(\kappa) = \frac{\kappa^{p/2-1}}{(2\pi)^{p/2} I_{p/2-1}(\kappa)}

其中 Ip/21I_{p/2-1} 是修正的贝塞尔函数。

vMF分布的性质

  1. 方向集中性

    • vMF分布通过浓度参数 κ\kappa 来控制方向向量的集中程度。较大的 κ\kappa 值使得向量更集中在均值方向 μ\mathbf{\mu} 附近。
  2. 均匀分布

    • κ=0\kappa = 0 时,vMF分布在单位球面上是均匀分布的,没有特定的集中方向。
  3. 应用广泛

    • vMF分布广泛用于方向数据建模,例如计算机视觉中的法向量聚类、图像分割中的方向建模等。

在Ref-NeRF中的应用

在Ref-NeRF中,vMF分布用于对视图方向进行编码,具体应用如下:

  1. 方向样本生成

    • 从视图方向中生成一组方向样本,这些样本服从vMF分布。
  2. 方向编码

    • 使用vMF分布对这些方向样本进行编码,以捕捉方向的集中性和分布特性。
  3. 集成编码

    • 将vMF分布编码与其他方向编码方法(如球面谐波)结合起来,形成更丰富的方向信息表示。
赞赏