Beyond Positional Encoding: A 5D Spatio-Directional Hash Encoding
Meta; Saarland University
一句话总结
把 Müller 等人用于空间域的多分辨率哈希网格编码推广到方向域和”位置×方向”的 5D 联合域,用递归测地网格(细分二十面体)在球面上做无奇异、无畸变的可学习特征编码,并在神经路径引导中相比现有最优方法取得约 2 倍的方差下降。
研究背景
- 领域现状:可学习的神经编码(如 NeRF 的 Fourier 编码、Instant-NGP 的哈希网格)已经极大提升了空间域(三维笛卡尔信号)的表达与重建效率。但这些编码几乎只服务于笛卡尔正交空间,方向域仍普遍沿用球谐、球面高斯、one-blob 等传统表示。
- 核心痛点:把为笛卡尔空间设计的编码直接搬到方向域会出问题。二维极坐标参数化在两极处 Jacobian 非均匀,导致严重畸变与奇异;三维笛卡尔哈希网格虽避开了极点问题,却把二维球面流形塞进三维体素中,产生体素内/层间的不连续,插值失真且开销大。而球谐、球面高斯这类传统表示要么难以表达高频全频段信号,要么模式数受限、拟合困难。
- 本文 idea:不要在错误的空间里编码方向。直接在球面这个二维流形上构建一个层次化的测地网格(对二十面体递归细分),每个顶点存一个可学习潜在特征,用哈希表压缩存储,从而得到一个紧凑、高效、支持全频段方向信号的编码(hash-sphere);再把它与空间哈希网格联合索引,得到 5D 的 hash-grid-sphere。
方法
整体框架分三层:先做方向域的 hash-sphere 编码,再把它与空间哈希网格耦合成 5D 的 hash-grid-sphere,最后把这个联合编码作为神经路径引导中入射辐射分布的表示直接替换现有方法的编码模块。
flowchart LR
A["输入 (x, d)"] --> B["空间体素 8 角点 + 球面三角 3 顶点"]
B --> C["24 个 角点-顶点 对联合哈希查表"]
C --> D["三线性权重 x 重心权重 插值"]
D --> E["各层特征拼接 f(x,d)"]
E --> F["浅层 MLP"]
F --> G["输出 (辐射/方向函数值)"]
关键设计:
-
hash-sphere:球面上的层次测地编码。第 0 层把球面用正二十面体的 20 个面来划分,之后每层把每个三角形细分为 4 个子三角并把新顶点投影回球面,因此每加一层三角面数翻四倍,细分层级和角频率之间有直接对应关系。对输入方向遍历各层,定位包围三角形的三个顶点、算重心坐标,把顶点上存的可学习特征按重心权重线性插值得到该层特征,各层拼接后送入小 MLP。相比二维极坐标编码它几乎无额外开销(约 4%),却避免了两极奇异。
-
哈希 + 稠密混合索引。粗层顶点数少时用唯一稠密索引,细层顶点数超过每层容量上限 \(T\) 时改用哈希索引,把顶点索引函数写成 \(\Phi_l(v)\),在超容量时取 \(h_{\text{sphere}}(v) \bmod T\)。哈希函数对顶点的整数化笛卡尔坐标做按位异或与大质数相乘:值得注意的是作者在笛卡尔坐标上做哈希而非极坐标,因为极坐标会在碰撞模式里引入畸变、奇异和不连续。每层哈希表大小为 \(\lvert \theta_l \rvert = \min(T, \lvert V_l \rvert)\),从而内存有界。
-
hash-grid-sphere:5D 联合编码。把空间体素网格(分辨率 \(N_l^3\))和测地网格在每一层耦合起来,对查询 \((x, d)\) 同时定位 8 个体素角点和 3 个球面三角顶点,对全部 \(8 \times 3 = 24\) 个”角点-顶点”对查表,用三线性权重与重心权重的乘积做插值。联合哈希 \(h_{\text{joint}}(c, v)\) 把空间角点与方向顶点各自的异或结果再异或到一起,用六个大质数。关键在于插值在空间和方向两个域都保持几何一致,因此能泛化到新视角——这是把哈希网格朴素扩到高维所做不到的。
-
方向与空间分辨率解耦。空间网格每层按 2 倍缩放,但方向二十面体不必同速细分。作者定义映射 \(m(l) = \lfloor l/2 \rfloor\),即每两个空间层才细分一次方向网格。这样能独立控制角分辨率,在稀疏视角下避免方向过拟合,同时保留高空间细节。
实验结果
主实验:在神经路径引导任务中,把 Rath 等人方法里的”哈希网格 + one-blob”编码替换为本文的 hash-grid-sphere,在近似等内存、等每样本计算成本下比较渲染方差与质量。核心结论是本文编码更忠实地表达了入射辐射分布,同样候选数下方差更低。
| 配置 | 方差/相对表现 | 说明 |
|---|---|---|
| Rath 基线 (hash-grid + one-blob, 大 MLP) | 基准 | 方向编码是全局的,需大 MLP 逐点调制方向响应 |
| 本文 hash-grid-sphere (小 MLP) | 等时约 2.25x 方差下降 | 方向-空间联合索引,高频方向变化由编码直接捕获,小 MLP 即可 |
| 本文 M=8 候选 | 优于基线 M=32 候选 | 编码保真度高,RIS 用更少候选就逼近目标分布 |
其余实验用文字概括:在 HDR 环境贴图压缩上,二维极坐标哈希网格在两极严重畸变、三维笛卡尔哈希网格有插值伪影且开销约多 30%,而 hash-sphere 直接工作在球面二维流形上、全球角分辨率一致,仅约 4% 额外开销。在稀疏视角辐射场重建上,”3D 哈希网格 + 9 阶球谐”因球谐容量不足而过糊高光;”6D 哈希网格”能过拟合训练视角但在新视角上灾难性失败(且每层需 64 次查表、六线性插值,性能跌 90% 以上);只有 hash-grid-sphere 同时做到高频重建与新视角泛化。性能上(RTX 4070,半精度,全 HD 帧一次前后向)本文小 MLP 配置约比基线大 MLP 慢 40%,但质量提升足以抵消。
亮点与局限
- 亮点:
- 据作者所知是首个直接紧凑表达 5D “位置×方向”信号的神经编码,且是现有方向/时空方向编码的即插即用替换。
- 用测地网格从根上解决了球面拓扑问题:无极点奇异、无面积畸变、无不连续,全频段方向信号插值平滑。
- 联合索引让高频局部方向变化被编码本身捕获,MLP 可以做得很小;方向与空间分辨率解耦进一步兼顾泛化与细节。
- 局限:
- 相比”哈希网格 + 轻量方向编码(one-blob/球谐)”,需要约 3 倍哈希查询,当角信号本身不高频时未必划算。
- 继承哈希网格的固有问题:哈希表存的是潜在特征、最终喂给 MLP,因此层级与信号频率之间没有显式映射,当前无法做 level-of-detail。
- 实验只在路径引导这一个应用中充分验证,辐射场和入射辐射缓存只给了初步迹象。
延伸思考
这项工作把 Instant-NGP 的”多分辨率哈希”范式补全到方向维度,思路上和”在正确的流形上做参数化”一脉相承——与其在笛卡尔空间硬编码球面,不如直接在测地网格上离散化。一个自然的追问是能否根据信号频率自适应地决定二十面体细分层数,从而在性能与质量间做显式权衡(作者也把它列为未来方向)。另一个方向是把这种 5D 编码迁移到神经 BSDF、环境光缓存、可微渲染等同样”位置×方向”耦合的场景中,验证其通用性。对于做实时全局光照或神经渲染缓存的研究者,这个即插即用的方向编码可能是替换球谐/球面高斯的一个直接候选。