互联网技术 / 互联网资讯 · 2023年12月23日

基于PlenOctrees的NeRF实时高保真渲染速度提升3000倍

实时高保真渲染,基于PlenOctrees的NeRF渲染速度提升3000倍

从稀疏的静态图像合成任意 3D 视角物体和场景新视图是很多 VR 和 AR 应用的基础。近年来神经辐射场(NeuRal Radiance Fields, NeRF)的神经网络渲染研究通过神经网络编码实现了真实的 3D 视角场景渲染。但是 NeRF 需要极端的采样要求和大量的神经网络运算,导致其渲染速度十分缓慢,严重制约了其在实际场景,尤其是实时交互场景中的应用。近日,来自 UC 伯克利等机构的研究者使用一种名为 PlEnoctRees 的数据结构为 NeRF 引入了一种新的数据表示,实现了实时的 NeRF 渲染。其渲染速度比原始的 NeRF 提高了 3000 多倍,并且图像质量可以与 NeRF 媲美。此外,采用 PlEnoctRees 结构还能有效减少 NeRF 的训练时间。

实时高保真渲染,基于PlenOctrees的NeRF渲染速度提升3000倍

方法

在 NeRF 方法中,摄像机光线从特定角度穿过场景,生成一组采样的三维点,通过神经网络把这些点的空间位置和视角映射成对应的密度和颜色。然后使用经典的体绘制技术将这些颜色和密度累积到二维图像中。这要求沿射线方向的每个样本都需输入神经网络来获取密度和颜色。这种方式是很低效的,因为大部分样本都是在自由空间中采样的,对整体的颜色并没有贡献。因此本篇论文提出使用稀疏的八叉树(OctRee)结构来避免过度采样。另外该方法还预计算了每个体素的值,避免重复输入网络。

实时高保真渲染,基于PlenOctrees的NeRF渲染速度提升3000倍

图 1 算法框架图

NeRF-SH 模型

NeRF-SH 模型如图 1(a)所示,其基本的优化过程和渲染过程与 NeRF 相同,但 NeRF-SH 模型不直接输出 RGB 颜色,而是输出球谐函数 k。颜色 c 由在相应的射线方向 (θ, &pHi;) 上的球谐函数 k 基上加权求和计算得出。转换公式如下:

实时高保真渲染,基于PlenOctrees的NeRF渲染速度提升3000倍

PlEnoctRee 结构

PlEnoctRee 结构如图 1(b)所示,在 NeRF-SH 模型训练完成后,将其转换成稀疏的 OctRee 结构以实现实时渲染。转换的过程分为以下三个步骤:1)在较高的层次上,在网格上评估网络,只保留密度值,2)通过阈值过滤体素。3)对每个剩余体素内的随机点进行采样,并对它们进行平均,以获得 SH 函数,并存储在 OctRee 叶子中。在渲染的过程中树的值是完全可微的,直接在原始训练图像上微调就可以进一步提升图像质量。PlEnoctRee 结构的优化速度约为每秒 300 万射线,相比之下,NeRF 优化速度约为每秒 9000 射线。该方法的优化速度相比 NeRF 具有明显的提升,因此可以提前结束 NeRF-SH 的训练来构建 PlEnoctRee 结构,而几乎不会降低模型性能。

实验结果

渲染效果如图 2 所示,相比于 NeRF,该方法渲染的图像在细节上更优,更接近于真实图像,并且渲染速度快了 3000 多倍。

实时高保真渲染,基于PlenOctrees的NeRF渲染速度提升3000倍

图 3 是几种方法训练时间的对比结果,可以看出 NeRF 模型和 NeRF-SH 模型所需的训练时间接近。而 PlEnoctRee 结构转换和微调需要大约 1 小时的训练时间。但是将 NeRF-SH 和 PlEnoctRee 结合可以让模型只需 4.5 小时,就能达到 NeRF 大约 16 小时的训练质量。

实时高保真渲染,基于PlenOctrees的NeRF渲染速度提升3000倍

虽然渲染速度和性能都有所提升,但使用 OctRee 结构也会占用更多内存资源。

 

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册