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在Generative AI和Machine learning方面更广泛努力的一部分,并已集成到NVIDIA Omniverse等工具中。其开源发布促进了学术界和工业界的广泛采用,推动了计算机图形学和Computer vision的进步。
相关概念
Instant NGP与Deep learning中使用的Neural network架构密切相关,特别是用于3D场景表示的架构。它以新颖的方式利用Positional Encoding,其训练依赖于Adam (Optimizer)和Loss Functions。该方法常与基于Residual Network (ResNet)的图像合成方法进行比较,尽管它作用于连续坐标而非离散网格。其效率还使Data Augmentation应用成为可能,用于生成合成训练数据。