Introduction

该方法专注于NeRF中需要消耗巨大资源的渲染过程,采用NeRF的生成器往往需要昂贵的时间和硬件成本来进行训练,因此该论文使用了隐式曲面来辅助在光线上的采样,从而在减少采样点的数量的同时,消除了蒙特卡洛模拟引入的随机噪声,使生成器可以学到更细致高质量的结果

Approach

该方法与其他方法几乎没有区别,将三维坐标点xx、方向dd和latent code zz输入网络Φ\Phi,然后输出对应的颜色和密度,再使用对抗损失进行训练

唯一不同的地方就是对于点的采样,并不像其他方法一样随机采样或者在光线上均匀采样,而是训练了一个网络M\mathcal M,生成一个标量值ss

M:xR3sR\mathcal M:x\in \mathbb R^3\rightarrow s\in\mathbb R

通过此网络获得NN个不同等级的等值面{Si}\{\mathcal S_i \}

Si={xM(x)=li}\mathcal S_i=\{x|\mathcal M(x)=l_i\}

而我们在渲染时仅对这些等值面与光线的交点进行采样,在计算上也就是采样M(x)=l\mathcal M(x)=l的点,对于光线r={o+td,t[tn,tf]}r=\{o+td,t\in[t_n,t_f]\},采样的点集为

{xi}={xx=o+td,x{Si},t[tn,tf]}\{x_i\}=\{x|x=o+td,x\in\{\mathcal S_i\},t\in[t_n,t_f]\}

为了可以计算梯度进行反向传播,使用以下线性插值的方法计算交点,对与交点附近的两个点xax_axbx_b,以及他们对应的等级sas_asbs_b,使用下面公式计算xix_i

xi=lisasbsaxa+sblisbsaxax_i=\frac{l_i-s_a}{s_b-s_a}x_a+\frac{s_b-l_i}{s_b-s_a}x_a

训练策略与其他方法一致,判别器除了判别真假还预测pose,最后计算对抗损失与姿势损失进行训练

Experiments

生成的结果如上,与其他方法结果和分数上的对比如下


分数比之前方法要高,但是低于同期的StyleSDF和eg3d

最主要的是等值面的效果,该论文给出了实验结果

训练前后等值面的变化,训练之后对等值面进行取样,结果如下