作者:Towaki Takikawa, Thomas Müller, Alex Evans 等 来源:SIGGRAPH Asia 2023 论文题目:Compact Neural Graphics Primitives with Learned Hash Probing for Dynamic Scenes 论文链接:https://dl.acm.org/doi/pdf/10.1145/3610548.3618167 内容整理:梁焕雄 本文提出了特征网格查找函数的统一框架,每个特征网格方法都对应于一个索引到特征向量表中的索引函数。在这个框架内,作者提出了可学习的哈希搜索的神经图元编码(Compact-NGP),该方法实现了低存储和快速渲染的组合。在相同的表征质量下,该方法推理速度比未探测的哈希表更快,而训练速度仅慢 1.2-2.6 倍。
当神经网络使用空间数据结构时,神经图形基元的速度更快,能实现更高的渲染质量。这些空间数据结构保存着排列在网格中可训练的特征。然而,现有的特征网格要么存储占用较大(密集网格,树和哈希表),要么性能较差(索引学习和矢量量化)。
作者将所有特征网格表征方法放入一个通用框架,每个特征网格方法都对应于一个索引到特征向量表中的索引函数。在此框架中,现有数据结构的查找功能可以通过其索引的简单算术进行组合,从而实现压缩和速度的帕累托最优。基于该框架,作者提出了具有学习索引的哈希表的方法,实现了低存储和快速渲染。在相同的表征质量下,该方法推理速度比原始的哈希表快,而训练速度仅慢 1.2-2.6 倍。
作者提出的方法是基于 Instant-NGP 的多分辨率哈希编码,并引入索引学习。在该方法的索引函数中,空间哈希产生索引的最高有效位,而剩余的用户可配置的最低有效位在辅助索引码本中依次由第二个空间散列(使用与第一个空间散列不同的素数)索引。
图1 通用框架下特征网络的表征方式
作者提出了一种通用的框架,在该框架中归纳了所有的特征网格表征方法:训练具有
个𝐹维特征向量的特征码本
,这些特征向量与 𝑑 维空间的网格相关联。从网格顶点
到特征向量的映射是通过索引函数
建立的,索引码本用
表示。
1. dense grid
规范特征网格是一个密集的笛卡尔网格,如图1(a)所示,它建立了网格顶点与特征向量的一对一对应关系,对于
给出如下公式:
其中,其中尺度
定义为网格的分辨率。由于占用内存大小固定,该方法不适用于稀疏的数据。
2. K-plane
该方法将密集网格沿着
个组的一个或多个轴进行投影,如图1(b) 所示,并以算术方式组合所得的低维特征(通常是平面)进行查找,公式如下:
该方案的特殊情况相当于密集网格的张量分解。虽然 𝑘 平面确保少于
参数,但它做出了强约束的假设,即数据中的稀疏性可以通过 MLP 解码的轴对齐投影得到很好的解释。实际并非总是如此,有时候需要一些技巧,例如边界框裁剪或投影网格的变换编码以获得更好的压缩效果。
3. 空间哈希搜索
与 𝑘 平面的轴对齐参数碰撞相比,空间哈希搜索在查找中均匀分布其冲突,公式如下:
其中
表示二进制异或操作,
表示大素数(如,
)。哈希函数的优点是,查找始终统一覆盖码本
,允许独立于数据和程序来学习稀疏性。散列也有显著的缺点,即码本
的索引碰撞会阻止依赖于结构的后处理,例如生成建模或转换编码。
4. subdivision
该方法构造稀疏分层数据结构,例如树,其节点保存特征码本的索引,公式如下:
但是,许多任务不适合这样的细分方案,例如3D重建。树遍历涉及对缓存不友好的指针搜索,这会产生不可忽略的性能开销。
5. 学习索引
索引函数除了手动设计,还可以从数据中学习。索引码本
将查找的索引保存到特征码本中,并依次通过上述方法之一进行索引。例如,VQAD具有索引函数:
其中,
通过索引到
进行
加权训练。该方法优点是没有额外的推理开销,并且压缩性能是空间哈希的10倍以上,但压缩性能不如组合 K-plane 和变换编码的方法。
图2 Compact-NGP训练流程
作者的目标是最小化MLP网络
的参数
和
,以及相应的输入编码
,而不造成显著的速度损失。因此,提出基于 Instant-NGP 的多分辨率哈希编码,同时引入学习索引。在索引函数中,空间哈希产生索引的最高有效位,而剩余的用户可配置的
最低有效位在辅助索引码本
依次由第二个空间散列(使用与第一个空间散列不同的素数)索引。针对单个网格顶点给出了以下函数:
由第二个空间哈希稀疏化的索引码本
,学习在
个值上索引特征码本,以实现冲突解决和信息重用。
训练上,前向传递时作者使用
查找具有最大置信度的特征,后向传递时,作者将梯度分布到探测范围内的所有特征,并通过
的置信度值的 softmax 进行加权。
由于保持学习的位数
较小,作者限制了向后传递中需要加载的特征和置信值的数量。而且由于学习到的位是最不重要的位,因此它们相应的特征在内存中相邻,通常位于同一缓存行中,因此在实现时仅产生 1.2–2.6倍 的训练开销。
在超参数的选择上,该方法继承了 Instant-NGP 的超参数,并引入了两个新参数:索引码本大小 𝑁𝑐 及其索引范围 𝑁𝑝。为了找到质量最大化参数,首先,设置
,
,将方法变成 Instant-NGP。其次,根据所需的压缩大小下限设置特征码本大小
。然后,将
加倍,直到达到合理的最大值(通常
)。最后,如果需要更高的质量,可以加倍
。剩余的参数 𝑁𝑝 可以自定义。
表1 Compact-NGP 和 Instant-NGP 在 NeRF Lego 挖掘机数据集上的对比
表 1 列出了所提出的方法在NeRF Lego 挖掘机数据集上的推理和训练时间。与Instant-NGP 相比,产生了1.2–2.6倍的训练开销,与索引范围
成比例,证实了训练速度和压缩之间存在差异。由于大索引范围的压缩优势不明显,因此在所有实验中作者将
限制为 24,最坏情况下的性能开销为 2.6 倍。
图3 在不同多分辨率级别数𝐿下Compact-NGP的性能
图4 在不同隐藏神经元𝑁下Compact-NGP的性能
除了特征码本大小𝑁𝑓之外,作者对Instant-NGP的默认超参数进行同类比较。为了验证这些默认值是否合理,作者分别探讨了不同多分辨率级别数𝐿(如图3)和隐藏神经元𝑁(如图4)下方法的性能。默认值𝐿 = 16 和𝑁神经元 = 64 对于大范围的大小表现良好,特别是在最实用的数百 kB 范围内。
作者在特征网络查找函数的统一框架上,以混合的方式提出了Compact-NGP,它提高了哈希表的查找性能,实现了压缩和性能的有利组合。Compact-NGP 的设计考虑了随机访问解压缩的实际用例。因此,作者渴望研究其未来在流应用、视频游戏纹理压缩、缓存等实时训练等中的应用。