Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
痛点:完全连接的神经网络的参数训练和评估的成本都很高。
目的:降低成本——在不牺牲质量的情况下,减少浮点和内存访问操作的数量,搭建小型神经网络。通过使用完全融合的CUDA内核来实现整个系统,并专注于最小化浪费的带宽和计算操作。
过程:利用可训练特征向量的多分辨的哈希表,其值通过随机梯度下降进行优化。
要素:多分辨率结构允许网络消除哈希冲突的歧义。
Adaptivity(重点):
- 用不同的网格映射到相应的固定大小的特征向量数组上。(将特征向量分组)
- 粗分辨率:1:1映射
- 细分辨率:利用哈希表的思想,将特征向量数组视为哈希表,并使用空间哈希函数索引。
- 哈希碰撞导致碰撞训练梯度靠近平均值,这意味着最大的梯度——那些与损失函数最相关的梯度——将占主导地位。
- 因此,哈希表自动对具有最重要精细细节的稀疏区域进行优先级划分。
Efficiency:略述。
四方面结果:
- Gigapixel image :MLP学习从2D坐标到高分辨率图像的RGB颜色的映射。
- Neural signed distance functions (SDF):MLP学习从三维坐标到到表面的距离的映射。
- Neural radiance caching (NRC)
- Neural radiance and density fields (NeRF)
算法思想:多分辨率哈希编码
参数:
过程:
(1)Hashing of voxel verticles
- 层级基于参数表中最粗分辨率和最细分辨率,通过等比级数划分后选取,每个层级相互独立,表示不同的分辨率。图中,蓝框和红框分别表示2个层级,为不同分辨率的格点。
(2)Look up - Hashing
- 像素的二维坐标到特征维度的映射,是有明确的规定。
- 粗分辨率1:1
- 细分辨率:空间哈希函数,其中,用梯度优化和神经网络来解决所谓的哈希冲突/碰撞。
- 不同层的Grid全部映射到对应层的哈希表。
(3)Linear interpolation
- 由周围格点的线性插值,得到每个点自己的Feature。
(4)Concatenation
- 每一层都是独立的,将对应点与各自的辅助输入(如编码视图方向、纹理)连接。
(5)Neural network
- 网络训练。
【关注】Gigapixel image :MLP学习从2D坐标到高分辨率图像的RGB颜色的映射。
学习2D坐标到RGB的映射已经成为测试模型代表高频细节的能力的一个流行的基准。在最小的尺度上拟合高达10亿像素的超大图像时,显示了令人印象深刻的结果。文章将多分辨率散列编码定位在同一任务上,并在几秒到几分钟内收敛到高保真图像。
输入编码允许使用比ACORN小得多的MLP,这占了剩下的10个×-100×加速的大部分。也就是说,多分辨率散列编码的最大的附加值是它的简单性。ACORN依赖于场景的自适应细分作为学习课程的一部分,这对本文的编码都不是必要的。