Instant NGP(即时神经图形基元)是NVIDIA开发的一种技术,用于加速神经辐射场(NeRF)和其他神经图形基元的训练与渲染。该技术于2022年推出,结合了多分辨率哈希编码和紧凑的神经网络,相比传统NeRF实现实现了数量级的加速。该方法能够在单个GPU上实现高质量场景重建和实时渲染,使其在计算机图形学、机器人和虚拟现实应用中被广泛采用。
Instant NGP的核心创新在于其多分辨率哈希编码,它取代了早期NeRF模型中使用的高维位置编码。这种编码将输入坐标映射到存储在多级哈希表中的一组可学习特征向量。每个级别以不同的空间分辨率捕获特征,使网络能够高效地表示精细细节。哈希表在训练过程中进行优化,哈希冲突的问题通过网络学习区分它们的能力得到缓解。这种方法大幅降低了查询神经网络的计算成本,因为特征向量是直接索引的,而不是通过大型全连接层计算得出。
训练与性能
Instant NGP对典型场景的训练时间从几秒到几分钟不等,而早期NeRF方法则需要数小时或数天。例如,使用数百张图像捕获的360度场景可以在NVIDIA RTX 3090 GPU上于30秒内完成训练。该方法还支持交互式帧率的实时渲染,使其适用于虚拟物体检查和远程呈现等应用。该实现作为开源项目提供,包含一个基于CUDA的库,可与PyTorch和TensorFlow等流行深度学习框架集成。
应用
Instant NGP已应用于新视角合成之外的多种任务。它支持用于表面重建的符号距离函数(SDF)、用于实时全局光照的神经辐射缓存,以及用于医学成像的体积渲染。在机器人领域,它能够实现用于导航和操作的快速场景映射。该技术还用于内容创作工具,使艺术家能够从照片或视频中捕获和编辑3D场景。其速度和灵活性使其成为许多研究项目和商业产品中的标准基线。
技术细节
Instant NGP的架构由一个具有少量隐藏层的小型多层感知器(MLP)组成,通常为2到4层,每层有64到128个单元。MLP的输入是编码坐标和可选视角方向的拼接。哈希编码使用一组分辨率网格,每个网格具有固定数量的特征维度(例如2到4)。哈希函数是一种简单的空间哈希,特征向量随机初始化。在训练过程中,网络和哈希表使用随机梯度下降变体(如Adam)联合优化。损失函数通常是渲染图像与真实图像之间的光度损失,通常结合正则化项以确保平滑性。
影响与遗产
Instant NGP显著影响了神经渲染领域,使基于NeRF的方法在实际应用中变得可行。它启发了后续基于其编码方案的工作,例如用于其他神经场的多分辨率哈希网格。该技术是NVIDIA在生成式AI和机器学习方面更广泛努力的一部分,并已集成到NVIDIA Omniverse等工具中。其开源发布促进了学术界和工业界的广泛采用,为计算机图形学和计算机视觉的进步做出了贡献。
相关概念
Instant NGP与深度学习中使用的神经网络架构密切相关,特别是用于3D场景表示的架构。它以新颖的方式利用位置编码,其训练依赖于Adam优化器和损失函数。该方法常与基于残差网络的图像合成方法进行比较,尽管它作用于连续坐标而非离散网格。其效率还使其能够应用于数据增强,以生成合成训练数据。