NeRFrac: Neural Radiance Fields through Refractive Surface
通过折射表面的神经辐射场
通过折射表面捕捉场景的神经新视角合成,典型的例子是水面。对于每条查询光线,基于MLP的折射场被训练用来估计从光线起点到折射表面的距离。在每个交点处,根据输入光线和近似的局部法线,通过斯涅尔定律计算折射光线。场景中的点沿折射光线采样,并被送到辐射场进行进一步的辐射估计。我们展示了从一组稀疏图像中,我们的模型能够准确地实现折射表面下场景的新视角合成,并同时重建折射表面。我们通过在合成和真实的通过水面观察的场景中评估了我们方法的有效性。实验结果表明,NeRFrac在建模通过波动的折射表面看到的场景时具有高精度。
一句话总结:
NeRFrac 使用稀疏图像,基于折射场显式恢复折射表面(如水面)捕获的场景,改进了原始NeRF无法处理复杂折射表面的缺陷。
what's the problem
NeRF 对非朗伯反射处理不好,由于 NeRF 是沿直线采样,会导致有折射现象时,建模畸变
使用变形层的 NeRF 也不能建模折射,且建模水下的时候,严重失真
NeRFrac
从基本原理建模折射引起的变形的NeRF。我们首先估计折射表面的深度,然后根据斯涅尔定律(Snell)弯曲光线而不是点。我们基于MLP的神经折射场允许直接推断光线与折射表面的交点,并能隐式学习多视角一致性。一旦估计出交点,我们就可以根据斯涅尔定律计算每条折射光线。然后在折射光线上采样3D点,并将其输入我们的水下辐射场。
What's new
- 引入折射场(Refractive Field):设计了一个基于MLP的折射场,用于估计从光线起点到折射表面的距离。
- 物理模型计算折射光线:在光线与折射表面相交后,利用Snell定律计算折射光线,并在折射光线上采样点进行进一步的辐射估计。
- 复杂水面数据集:创建了一个包含真实和合成水面场景的数据集,用于评估方法的有效性。
Method
Snell's Law
3D 斯涅尔定律
Refractive Field
用于估算从输入光线起点到折射表面的距离
Refractive Field():8 层 MLP(ReLU激活,每层256个通道)
表示为:
其中:
通过相机内参计算出光线的起点和方向向量,分别表示为
网络输出每条光线的深度 𝑑,即光线起点到与折射表面交点之间的距离,也就是光线在碰到水面之前走了多远
Refractive Field 具体步骤如下:
- 光线计算和转换:给定相机的内外参数,计算出光线 ,然后将这些光线从平均相机坐标系转换到NDC中。
- NDC帧中的表示:在NDC中,所有光线起点o的z值应该相同,即z = -1(即NDC近平面),而方向向量v应该满足。
- 输入到Refractive Field:起点和方向向量被送入包含8个全连接层(使用ReLU激活函数,每层256个通道)的Refractive Field 。该网络输出每条光线的深度。
- 计算交点:利用输出的深度计算光线与折射表面的估计交点:
其中,即为上述所提到的估计交点
计算距离d和交点X的原因:
计算光线起点到折射表面的距离d是为了找到光线在折射表面上的确切位置,也就是交点X。计算交点是为了确定光线在哪里穿过折射表面(如水面)。这个交点是光线发生弯曲的位置,从这个位置开始,光线会按照折射定律改变方向。知道这个交点后,可以准确地模拟光线在水中的路径,从而实现更真实的水下场景渲染。
实验结果
实验结果表明,NeRFrac 在处理复杂波动水面上的场景时,能够实现准确的场景新视图合成和折射表面重建。具体而言:
- 合成数据:在两种不同形状的合成折射表面数据集上,NeRFrac的表现优于所有基准方法,在PSNR、SSIM和LPIPS指标上均取得了更好的结果。
- 真实数据:在真实水面场景数据集上,NeRFrac同样表现出色,能够准确重建折射表面并生成高质量的场景新视图。
Relative Works
NDC(normalized device coordinate)
标准化设备坐标(NDC)是一种将三维场景转换为标准化坐标系的方式,使所有坐标都位于一个特定范围内(通常是[-1, 1])。
转换到NDC中有两个主要原因:
简化计算:在NDC中,所有光线的起点都在相同的平面上(z = -1),这使得计算和插值更简单。
统一表示:NDC提供了一种统一的表示方式,方便不同相机视角的数据进行比较和处理。
英文积累
Refractive 折射
Lambertian surfaces 朗伯表面
interpolate 插入、插值