Instant-NGP:多分辨率哈希编码

原始NeRF不管是训练速度还是推理速度都十分的慢,NVIDIA针对这个问题提出了instant-ngp,实现了训练5min就能得到和NeRF相当的结果。论文全称:Instant Neural Graphics Primitives with a Multiresolution Hash Encoding,主要的思路是:减小MLP的大小;为了保证性能,给MLP的输入是具有特征的向量,而不是单纯的位置加方向(或positional encoding)。

提出一种任务无关的通用高效编码方法-多分辨率哈希编码,在4种任务上验证此方法的优越性。

  1. Gigapixel image:MLP将高分辨率图像的2D坐标转换为RGB;
  2. Neural signed distance functions(SDF):MLP学习将3D坐标映射为到表面的距离;
  3. Neural radiance caching(NRC):MLP从蒙特卡洛路径跟踪器学习给定场景的5D光场;
  4. NeRF:MLP学习从5D位置+方向到3D-radiance和1D-density的映射;

上面的任务都是用了MLP学习一个映射,训练的瓶颈也在于MLP的大小。比如NeRF,在渲染一个pixel时,会使用ray marching,采样数以百计的点,也就是一个pixel需要数以百次的MLP evaluation,非常耗时。

本文的一个想法是将MLP model变小,使一次MLP evaluation几乎不耗时,同时不降低性能。于是,提出多分辨率哈希编码,将大部分特征存储在哈希表中,减小MLP的大小。

NeRF MLP的大小:深度为8,宽度为256,有两个MLP

NGP MLP的大小:深度为3,宽度为64,有两个MLP

多分辨率哈希编码

NGP参数:

L是分为多少个等级(对应多少个hash table),T是指每个hash table的大小,F是每一个hash item的维度,Nl代表每一级的分辨率。

视频解读:instant-ngp:多分辨率哈希编码思路理解

赞赏