29、NeRV: Neural Reflectance and Visibility Fields for Relighting and View Synthesis

简介

论文地址:https://arxiv.org/pdf/2012.03927.pdf
在这里插入图片描述
从一组已知但不受约束的照明场景的输入图像中优化了神经反射率和可见度场(NeRV)的3D表示。NeRV表示可以在训练中没有看到的任意光照条件下,从新颖的视角进行渲染。这里,将两个场景的示例输入数据和渲染可视化。每个场景的前两个输出渲染图像来自同一个视点,每个都由不同位置的点光照明,最后一个图像来自不同的视点,在随机彩色照明下。

NeRF只对一个位置的出射光量进行了建模——事实上,这个出射光是入射光和底层表面材料属性之间相互作用的结果,而这个事实被忽略了,论文中NeRV考虑直接反射和one bounce反射,输入是一个3D位置,输出是该输入位置的以下场景属性:体积密度、表面法线、材料参数、到任何方向上的第一个表面交叉点的距离,以及任何方向上的外部环境的可见性

在这里插入图片描述
与näıve raymarching相比,NeRV可视化了“神经可见性场”如何减少体积渲染带有直接(上)和一次反弹间接(下)照明的相机射线的计算负担,以及每个解决方案的计算复杂度(n是沿着每条射线的样本数量,`是光源的数量,d是采样的间接照明方向的数量)。黑点表示在某一位置对体积密度的形状(shape)MLP进行评估,红色箭头表示在某一方向上对可见性(visibility)MLP进行评估,蓝色箭头表示在某一方向上某一位置对光线的预期终止深度进行可见性(visibility)MLP评估(可见性(visibility)MLP的输出可见乘数和终止深度以文本形式显示)。通过NeRF的体积表示和näıve raymarching(左)进行弱力轻传输模拟是棘手的。通过在形状(shape)MLP旁优化的神经可见域(右)近似可见性,NeRV能够使复杂照明的优化变得易于处理。

实现流程

在这里插入图片描述
(a)给定任何连续的3D位置作为输入,例如青色“x”处的点,NeRV输出体积密度以及:(b)场景周围球形环境地图的能见度,乘以©该点的直接照度,并加上(d)该点的估计间接照度,以确定全部入射照度。然后乘以(e)预测的BRDF,并对所有入射方向进行积分,以确定该点的出射亮度。在下面一行中,可视化了整个渲染图像的这些输出:(f)表面法线,以及(g)漫射反照率和(h)镜面粗糙度的BRDF参数。可以使用预测的能见度来计算在任何位置实际入射的总照度的比例,可视化为(i)阴影图。如果它只被(j)直接和(k)间接照明照亮,也显示相同的渲染视点。

NeRF公式
在这里插入图片描述

考虑反射模型,就要对空间的反射参数进行估计。NeRV改写Nerf的公式为
在这里插入图片描述
视相关的发射项 Le(x(t), ωo) 被替换为球面S上入射方向的积分,即从任何方向入射的辐亮度 Li 与反射函数 R (在体渲染中通常称为相位函数,这里使用标准microfacet BRDF反射函数)的乘积,R 描述了从方向 ωi 到方向 ωo 的光的数量

NeRF中的辐射场MLP,替换为输出体积密度σ的“形状”(shape)MLP、输出任何输入3D点的BRDF参数(3D漫射反照率a和一维粗糙度γ)的“反射率”(reflectance)MLP: MLPθ: x→σ, MLPψ: x→(a, γ)

Light Transport via Neural Visibility Fields

在这里插入图片描述
在场景中使用蛮力采样在一次反弹的间接照明下渲染一条光线将需要千万亿次的计算,而场景需要在训练过程中渲染大约10亿条光线,显然消耗过大,因此用学习近似代替几个蛮力体积密度积分

这里引入“可见性”(visibility)MLP,在任何输入位置沿任何输入方向发出环境照明可见性的近似,以及相应射线的期望终止深度的近似:MLPφ:(x, ω)→(Vφ,Dφ),使用这些mlp近似的数量来代替它们的实际值
在这里插入图片描述
将损失放在可见性MLP输出(Vφ,Dφ)上,以鼓励它们类似于(V, D)对应于形状MLP的当前状态

目标渲染公式
在这里插入图片描述
这里对公式进行修改,反射亮度Lr(x, ωo)分解为直接和间接光照分量,定义Le(x, ωi)为光源从ωi方向到达点x的亮度,L(x, ωi)是来自方向ωi在x位置的估计入射亮度,入射光Li分解为Le + L(直接光加间接光)
在这里插入图片描述
为了计算入射直接照明Le,我们必须考虑(已知)环境图E由于沿入射照明射线的体积密度ωi的衰减:
在这里插入图片描述
V表示从点到光源之间的衰减系数,与场景几何相关。E表示光源入射到该点的光度值。可以通过调整E来重新设定光源

使用可见性(visibility)MLP的近似V~φ,而不是通过体积计算V的另一个线积分。由此,对相机光线亮度L(c, ωo)的直接照明分量的完整计算简化为:
在这里插入图片描述
在计算由于直接照明导致的像素颜色时,通过近似从相机光线上的每个点到每个环境方向的光线积分,已经将使用直接照明的渲染的复杂性从每条光线的样本数量的二次型降低到线性型

接下来,使用间接照明来加速渲染的计算,对于这一点,使用蛮力方法将与每条光线的样本数量成立方体。论文使用了两个近似来减少这个棘手的计算。首先,用单点评估近似最外面的积分(沿着射线的每一点反射到相机的累积亮度),通过将体积视为位于预期终止深度t ’ = D(c,−ωo)的硬表面。注意,在这里不使用可见性MLP的t '近似,因为已经沿着相机射线采样σ(x)。这减少了L(c, ωo)在单点x(t’)处对球积分的间接贡献:
在这里插入图片描述
为了简化L在这个积分内的递归计算,限制了单个反弹的间接贡献,并再次使用硬表面近似来避免沿着每个入射方向的射线计算积分:
在这里插入图片描述
其中t " =D~φ(x(t '), ωi)是沿x ’ (t ‘’) = x(t ') + t " ωi的期望交点深度,用可见性MLP近似。因此,由间接照明引起的相机射线辐照度分量L(c, ωo)的表达式为:
在这里插入图片描述
在每个次要交点完全展开入射的直接辐亮度Le(x ’ (t ‘’), ω ’ i)得到:
在这里插入图片描述
最终结合公式9和13得到最终渲染公式为:
在这里插入图片描述

Rendering

为了渲染通过NeRV的摄像机射线x(t) = c−tωo,使用以下步骤估计公式14中的体积渲染积分:

  1. 沿着射线绘制了256个分层样本,并查询了每个点的体积密度、表面法线和BRDF参数的形状和反射率,σ = MLPθ(x(t)), n = ∇xMLPθ(x(t)), (a, γ) = MLPψ(x(t)).
  2. 估计方程9中的积分,用直接光照遮蔽光线上的每个点。首先,通过在围绕每个点的球体上的方向ωi的12 × 24网格上采样已知环境照明来生成E(x(t),−ωi),然后,将其乘以预测可见性V~φ(x(t), ωi)和microfacet BRDF值R(x(t), ωi, ωo)在每个采样ωi,并在球面上对这个乘积进行积分,以产生直接照明贡献
  3. 通过估计方程13中的积分,沿着光线对每个点进行间接照明。首先,使用步骤1中的密度样本计算期望的相机射线终止深度t ’ = D(c,−ωo),然后,在x(t’)处对上半球的128个随机方向进行采样,并查询沿每条射线 t’‘=D~φ(x(t’),ωi) 的期望终端深度的可见性MLP,以计算二次曲面交点 x’(t’‘)= x(t’)+ t’‘ωi。然后按照步骤2的步骤用直接照明遮蔽这些点。这估计了x(t’)处的间接照明入射,然后将其乘以microfacet的BRDF值R(x(t’),ωi, ωo),并在球体上积分以产生间接照明贡献。
  4. 沿着相机射线Lr(x(t) ωo)的每一点的总反射亮度是步骤2和步骤3的量的和。沿着光线合成这些元素,使用与NeRF中使用的相同的求积法则来计算像素颜色:
    在这里插入图片描述
    其中δ为样品间沿射线的距离。

Training and Implementation Details

没有直接将3D坐标x和方向向量ω传递给MLPs,而是使用NeRF的位置编码来映射这些输入,3D坐标的最大频率为27,3D方向向量的最大频率为24。形状和反射率MLPs每个使用8个全连接的ReLU层,256个通道。可见性MLP使用8个全连接的、每个256个通道的ReLU层将编码后的3D坐标x映射到一个8维特征向量上,该特征向量与编码后的3D方向向量ω连接,由4个全连接的、每个128个通道的ReLU层进行处理。

从头开始为每个场景训练单独的NeRV表示,这需要一组RGB图像和相应的照明环境。在每次训练迭代中,从输入图像中随机抽取一批512像素的射线R,并使用前面描述的过程从当前的NeRV模型中渲染这些像素。此外,在每个训练迭代中对256条相交于体积的随机射线R '进行采样,并计算每个位置和沿每条射线的任意方向的可见性和预期终止深度,用于监督可见性MLP。尽量减少三个损失的总和:
在这里插入图片描述
其中τ (x) = x/1+x是一个色调映射算子[13],L®和L®是地面真值和预测相机射线辐射值(地面真值只是输入图像像素的颜色),Vφ®和D~φ®是我们的可见性(visibility)MLP给定其当前权重的预测可见性和期望终止深度,Vθ®和Dθ®是给定其当前权重的形状MLP隐含的可见性和终止深度的估计θ,λ = 20是鼓励可见性MLP与形状MLP一致的损失项的权重

可见性(visibility)MLP不使用任何“地面真实”能见度或终端深度进行监督-它只优化与NeRV的当前场景几何估计一致,通过使用形状(shape)MLPθ发射的密度σ评估方程5和6

效果

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值