早期的NeRF变体使用多层感知器(MLPs)从三维坐标映射到体积密度和视点相关的颜色,但是表示详细的三维几何和颜色所需的大型MLPs训练和评估速度极慢。最近的工作专注于通过用类似体素网格的数据结构或网格和小型MLPs的组合替代大型MLPs,使NeRF更加高效。虽然可以扩展到表示详细的大规模场景,但其优势仅限于三维几何和主要的漫反射颜色。
扩展NeRF建模现实的视点相关外观的能力仍然是一个挑战。当前先进的用于闪亮物体视图合成的模型在两个方面存在限制:
NeRF-Casting是一种通过将光线追踪引入NeRF渲染模型来解决这些问题的方法。其主要涉及3个领域:
NeRF-Casting不是在每个相机射线的点上查询昂贵的MLP以获取视点相关的外观,而是从这些点投射反射线到NeRF几何中,采样正确抗锯齿的反射场景内内容特征,并使用一个小型MLP将这些特征解码为反射颜色。将光线投射到恢复的NeRF中自然地合成近处和远处内部内容的一致反射。通过光线追踪计算外观减少了在场景中的每个点用大型MLP表示高度详细的视点相关函数的负担。
感兴趣的朋友可以看视频效果:https://nerf-casting.github.io
NeRF-Casting的三个主要目标:
基于Zip-NeRF[2]:利用多尺度哈希网格来存储三维特征,一个小型MLP(1层,宽度64)将这些特征解码为密度,一个较大的MLP(3层,宽度256)将这些特征解码为颜色。这意味着沿光线查询样本的密度和特征相对便宜。考虑到这些约束,按照以下流程来渲染镜面外观:
然后通过反射初始光线关于表面法线来构建一个新的反射光线方向
现在已经定义了一个vMF分布,涵盖了反射射线,目标是估计在vMF分布上的预期体积渲染特征,然后将其解码为反射颜色。这个预期特征可以写成:
使用蒙特卡洛方法对随机采样的射线进行积分估计是非常昂贵的,因为每个样本都需要沿着射线进行体积渲染。受Zip-NeRF的启发,使用一小组代表性样本结合特征减权来近似这个积分。然而与Zip-NeRF不同的是,我们将这两个操作都在二维方向域中执行,而不是在三维欧几里得空间中。
上文描述的方向采样有助于选择一个小的代表性射线集合进行平均。然而,对于具有高粗糙度的表面,采样的射线可能相对于底层的3D网格单元格之间距离较远。这意味着方程9中的特征可能存在伪影,并且反射射线方向的微小变化可能导致外观上的大幅变化。
为了防止这种情况发生,将Zip-NeRF中的“特征降权”技术调整到方向设置中。通过将与vMF锥相比较小的体素对应的特征乘以一个小的乘数来实现这一点,减小它们对渲染颜色的影响。按照Zip-NeRF的做法,定义点 x 处的降权特征为:
颜色解码器的作用是为沿射线的每个采样点分配一种颜色,使用两种颜色分量的凸组合:
第一个颜色分量Cv类似于典型的 NeRF 视角相关外观模型:
第二个分量Cr,旨在模拟光泽外观,计算如下:
NeRF-Casting是一种使用神经辐射场(NeRF)渲染包含高光物体的场景的方法。
方法:将反射锥从场景中的表面反射并通过NeRF进行追踪,并结合了一套新颖的技术来抗锯齿这些反射,从而能够合成远处和近场内容的准确详细反射,这些反射在表面上始终如一且平滑地移动。
讨论:在定量上优于现有的视图合成技术,特别是对于显示详细镜面反射的光滑表面。定性的视觉改进在图像指标方面的定量改进远远超过了。尤其值得注意的是,该方法合成的反射平滑而一致的运动,比基线方法呈现的视角相关外观更加逼真。这表明标准的图像误差度量(PSNR、SSIM等)不足以评估视角相关外观的质量。
以上是高亮反光终结者?谷歌NeRF-Casting:光线追踪就能搞定!的详细内容。更多信息请关注PHP中文网其他相关文章!