英伟达新技术将NeRF模型训练速度提高60倍,最快只需5秒

语言: CN / TW / HK

近日,英伟达使用一种新技术将训练 NeRF 模型的时间缩减到仅需 5 秒。

对此,任职于谷歌的科学家乔恩·巴伦(Jon Barron)在 Twitter 上写道:“18 个月前,训练 NeRF 要 5 小时;2 个月前,训练 NeRF 仍要 5 分钟;而现在,英伟达的最新技术竟将训练 NeRF 的时间缩减到 5 秒!”

据了解,英伟达能够取得这一成绩的主要原因是采用了一种被称作多分辨率哈希编码(Multiresolution Hash Encoding)的技术。同时,其在一篇论文《基于多分辨率哈希编码的即时神经图形基元》(Instant Neural Graphics Primitives with a Multiresolution Hash Encoding)中对这一新技术做了详细说明。

英伟达表示:“计算机图形基元基本上由参数化外观的数学函数表示。数学表示的质量和性能特性对于视觉保真度至关重要。”其希望在保持快速和紧凑函数表示的同时,还能捕获高频、局部的细节。

为了达到上述要求,英伟达采用了多分辨率哈希编码技术。据英伟达称,该技术独立于任务之外,有着自适应性和高效性两大特性。其只有两个值进行配置,分别为参数的数量 T 和所需的最佳分辨率 Nmax。

利用该技术,只需经过几秒钟的训练,便能在各种任务中达到较高的质量。

图 | 在一个 GPU 上对多个任务神经图形基元的即时训练演示(来源:GitHub)

利用 NeRF,能够将一些静态图转成十分真实的 3D 图像。不过,NeRF 相当消耗算力,成本较高,特别是在渲染方面。

据论文中表述,“参数化全连接神经网络的神经图形基元的训练和评估”成本相对较高,为了将成本降低,英伟达采用一新的通用输入编码,可以在一个较小的网络,且不降低质量的情况下,显著减少浮点和内存访问操作的数量。英伟达因此实现了“几个数量级的组合加速,可以在几秒钟内训练高质量的神经图形基元。”

英伟达在神经辐射场(Neural Radiance Fields,NeRF)、神经辐射缓存(Neural Radiance Caching,NRC)、十亿像素图像(Gigapixel Image)、神经符号距离函数(Neural Signed Distance Functions,SDF)等四个较为有代表性的任务中验证了多分辨率哈希编码技术。

这里重点介绍一下 NeRF 任务。

动图 | 不同编码的重建质量演示(来源:GitHub)

上图每个图像下面显示的是可训练参数的数量(神经网络权重 + 编码参数)和训练时间。英伟达表示,由于参数更新的稀疏性和较小的神经网络,训练速度得到提升。另外,随着参数数量的增加,也可进一步提高近似质量,而训练时间却不会明显增加。

同时,英伟达的技术还支持现实 360 度全景场景和“具有较多模糊、镜面反射表面的复杂场景”,且都能够对它们进行实时渲染,并“在 5 分钟内通过随意捕获的数据进行训练”。

视频 | iPhone 拍摄的 360 度全景场景(来源:GitHub)

视频 | 34 张照片构成的复杂场景(来源:GitHub)

值得一提的是,多分辨率哈希编码技术还支持从体积路径跟踪器的噪声输出中训练类似 NerF 的辐射场。在训练期间,光线被实时馈送到网络,以学习一个去噪的辐射场。

最后,再对另外三个任务做一定简述。

动图 | 三角波编码(左)和多分辨率哈希编码(右)显示结果对比(来源:GitHub)

从上面图像对比中,可以看出,新的多分辨率哈希编码能够使网络学习包括阴影区域在内的更多细节。

视频 | 十亿像素图像任务(来源:GitHub)

上图展示的是十亿像素图像任务的实时训练进度。该任务主要指的是多层感知器(Multi-Layer Perceptrons,MLP)学习“从 2D 坐标到高分辨率图像的 RGB 颜色的映射”。

相比自适应坐标网络(Adaptive Coordinate Networks,ACORN),英伟达的方法要达到 38.59 分贝的峰值信噪比(PSNR),需要 2.5 分钟的训练,而 ACORN 则要经过 36.9 小时。

动图 | 对各种 SDF 数据集的实时训练进度(来源:GitHub)

值得一提的是,神经符号距离函数任务的训练数据是从地面实况网格动态生成的,并采用了 NVIDIA OptiX 光线追踪引擎。

许多图形问题依赖于特定任务的数据结构的稀疏性或平滑性,而多分辨率哈希编码则提供了一个实用的基于学习的替代方案。它会自动关注相关的细节,甚至被用于时间受限的设置,如在线训练和推理。

而在神经网络输入编码的背景下,它也可以是一种临时替代,例如,加速 NeRF 几个数量级。

英伟达证明,对于许多图形应用程序来说,单 GPU 训练时间是可以达到以秒为单位的。这使得神经方法可以应用到更多的地方。

-End-

参考:

https://nvlabs.github.io/instant-ngp/assets/mueller2022instant.pdf

https://nvlabs.github.io/instant-ngp/