简介
在计算机视觉和计算机图形学快速发展的世界中,隐式神经表示 (Implicit Neural Representations, INRs) 已成为一项基石技术。无论是用于 3D 场景重建的神经辐射场 (NeRFs) ,还是图像的新型压缩方法,INRs——将信号表示为由神经网络参数化的连续函数——无处不在。
然而,该领域存在一种根本性的张力。一方面,我们有全隐式方法 (如 SIREN) ,它们结构紧凑但训练缓慢,且受“谱偏差” (难以学习高频细节) 的影响。另一方面,我们有基于网格 (或混合) 的表示法 (如 Instant NGP) ,它们速度极快且可扩展,但依赖于离散的特征网格。
问题就在这里: 标准的基于网格的方法通常使用线性插值来获取网格点之间的特征。虽然高效,但这假设底层世界是局部线性的。但现实世界——充满了锐利的边缘、复杂的纹理和曲率——是高度非线性的。通过将线性近似强加于非线性的现实,这些模型不可避免地会丢失细节。
MetricGrids 登场,这是来自山东大学和中北大学的研究人员提出的新方法。他们提出了一个简单但深刻的问题: 如果线性近似是瓶颈,为什么不使用源自泰勒展开的高阶近似呢?

如图 1 所示,差异非常明显。基线网格方法在复杂场景中留下了结构性残差 (误差) 和模糊的细节,而 MetricGrids 则以惊人的保真度捕捉到了锐利的几何形状和高频纹理。
在这篇文章中,我们将解构 MetricGrids。我们将探索它如何利用泰勒级数的数学直觉来构建“基本度量网格”,如何使用巧妙的哈希算法压缩这些网格,以及专用解码器如何外推未显式存储的高阶细节。
背景: 线性的局限性
要理解 MetricGrids 的创新,我们首先需要了解它所解决的局限性。
混合/基于网格的范式
在现代混合 INR 中,“神经网络”并不承担所有繁重的工作。相反,我们存储一个可学习特征向量的网格 \(\mathcal{Z}\)。当我们想知道连续坐标 \(\mathbf{x}\) (如像素位置或 3D 点) 处的信号值时:
- 我们找到 \(\mathbf{x}\) 周围的网格顶点。
- 我们插值这些顶点的特征以获得特征向量 \(\mathbf{z}_{\mathbf{x}}\)。
- 我们将 \(\mathbf{z}_{\mathbf{x}}\) 传递给一个微型多层感知机 (MLP) 解码器以获得最终的 RGB 颜色或密度。
这可以形式化为:

这里,\(g(\cdot)\) 是索引/插值函数。在几乎所有现有方法 (如 Plenoxels、Instant NGP 或 TensoRF) 中,\(g\) 都是基于欧几里得 (\(L_1\)) 距离的线性插值 。
线性陷阱
线性插值实际上是在网格点之间画一条直线 (或平面) 。如果你建模的信号在这些点之间急剧弯曲 (例如一缕头发、锐利的阴影或纹理图案) ,线性插值器无法在物理上捕捉到它。这是一种“退化”的表示。
MLP 解码器试图对此进行补偿,但这就像逆水行舟。它接收的是线性退化的特征,却必须“臆想”出缺失的非线性。这导致了我们在 NeRF 中经常看到的人工伪影: 混叠、模糊和精细几何细节的丢失。
核心方法: MetricGrids
研究人员提出了一种植根于微积分的解决方案: 泰勒展开 。
回想一下,任何平滑函数 \(f(x)\) 都可以通过多项式级数在点 \(a\) 附近进行近似:
\[f(x) \approx f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \dots\]标准网格只给我们第一项 (值) 。MetricGrids 旨在为网络提供相当于导数项 \((x-a)^n\) 的内容。

如图 2 所示,该框架包含三大支柱:
- 基本度量网格 (Elementary Metric Grids) : 在不同的度量空间中存储特征,以近似泰勒级数的不同阶数。
- 紧凑表示 (Compact Representation) : 使用具有不同稀疏度级别的哈希编码来节省内存。
- 高阶外推解码器 (High-Order Extrapolation Decoder) : 一种旨在将这些项相乘从而重建信号的神经架构。
1. 基本度量网格
MetricGrids 不使用单一特征网格,而是利用一系列由不同距离度量定义的网格集合。
我们构建一组基本网格 \(\mathcal{Z}^{metrics}\)。第一个网格使用标准的线性距离,但后续网格使用非线性度量 (如平方距离、立方距离,甚至三角度量) 。

这里,\(d_p(\mathbf{x}, \mathbf{x}_i) = \|\mathbf{x} - \mathbf{x}_i\|_p^p\) 代表度量。
- 网格 1 (\(d_1\)): 使用 \(L_1\) 距离 (标准线性插值) 。这提供基础近似。
- 网格 2 (\(d_2\)): 使用 \(L_2^2\) (平方距离) 。这允许网格表示二次项,类似于泰勒级数中的二阶项 \((x-x_i)^2\)。
- 网格 3 (\(d_3\)): 使用高阶度量 (立方等) 。
当我们对点 \(\mathbf{x}\) 进行采样时,我们同时从所有这些网格中获取特征。

通过为解码器提供本质上包含关于 \((x-x_i)\)、\((x-x_i)^2\) 等信息的特征,我们明确地向网络输送非线性多项式近似的构建模块。网络不再需要“猜测”曲率;曲率数据直接编码在高阶网格中。
2. 基于哈希编码的紧凑表示
如果我们简单地增加 \(M\) 个网格,我们的内存使用量将乘以 \(M\)。为了避免这种情况,作者利用了多分辨率哈希编码 (由 Instant NGP 推广) ,但在稀疏性方面做了一些针对性的调整。
导数的稀疏性
在微积分中,高阶导数通常为零。例如,如果表面是平坦的,其二阶导数 (曲率) 为零。如果它是一个简单的斜坡,三阶导数为零。这意味着高阶度量网格 (代表这些导数) 应该是稀疏的。
为了利用这一点,MetricGrids 调整了每个网格的哈希表大小 \(T\):
- 基础线性网格获得较大的哈希表。
- 高阶网格获得逐渐减小的哈希表 (每级大小减半) 。
这鼓励模型融合高阶项中的相似特征,并显著减少内存占用。此外,为了防止“哈希冲突” (即不同的坐标映射到相同的内存条目) 混淆不同类型的导数,每个度量网格使用单独的哈希函数 (使用不同的质数 \(\pi_j\)) 。

这产生了一种紧凑的表示,其大小与标准的单个网格大致相同,但携带了更丰富、多阶的信息。
3. 高阶外推解码器
我们无法存储无限数量的网格来表示泰勒级数中的每一项。我们可能显式存储前 3 阶 (线性、二次、三次) ,但那些极其复杂的细节所需的 4 阶或 5 阶项呢?
作者提出了一个高阶外推解码器来预测这些缺失项。

该解码器旨在模拟多项式展开中的乘法运算。在泰勒级数中,高阶项是低阶项的乘积 (例如,\(x^4 = x^2 \cdot x^2\)) 。
解码器使用一种特定的层结构,涉及哈达玛积 (Hadamard product,逐元素乘法,用 \(\circ\) 表示) 来模拟这种行为。

层更新的工作原理如下:
- 骨干更新 (\(\omega_\ell\)): 隐藏状态 \(h\) 由线性层和激活函数处理。

- 调制 (\(\gamma_\ell\)): 来自特定度量网格的特征向量 \(\mathbf{z}_{\mathbf{x}}^{d_{\ell-1}}\) 被处理以充当调节器。

通过在每一层将隐藏状态与网格特征相乘,网络有效地提高了多项式近似的次数。如果你有 5 层乘法,理论上你可以近似一个更高次数的多项式,即使你只在网格中显式存储了前几项。
最后,一个线性层将高阶特征 \(h_M\) 映射到输出信号 (例如 RGB 颜色) :

实验与结果
研究人员在 INR 任务的“三位一体”中测试了 MetricGrids: 2D 图像拟合、3D 有符号距离场 (SDF) 和神经辐射场 (NeRF) 。
1. 2D 图像拟合 (Kodak 和十亿像素级图像)
第一个测试是重建高分辨率 2D 图像。这隔离测试了该方法压缩和表示高频空间数据的能力。
定性结果: 在下面的 Kodak 数据集对比中,请仔细观察窗户和屋顶瓦片。基线 (Instant NGP 和 NeuRBF) 的输出充满噪点或模糊。MetricGrids 恢复了窗户的网格线和瓦片的清晰分隔,将 PSNR 提高了数分贝。

定量结果: 与高斯泼溅 (Gaussian Splatting) 方法 (这是显式而非隐式的) 相比,MetricGrids 依然表现出色。它显著优于标准的 2D 高斯泼溅,并能与 GaussianImage 等专业图像压缩方法抗衡,且通常参数更少。

该方法还可以完美扩展到十亿像素级图像 (Gigapixel images) 。 在下面的东京城市景观示例中,请注意误差图。基线方法 (左/下) 在建筑灯光等高频区域显示出深紫色/蓝色的集中误差。MetricGrids (右下角) 显示出更均匀、更低的误差分布。

2. 3D 有符号距离场 (SDF)
SDF 用于表示 3D 形状。目标是学习一个函数,告知空间中任意点距离物体表面的距离。
MetricGrids 在 Stanford 3D 扫描库上进行了测试。结果显示,它比 NeuRBF 等最先进的竞争对手实现了更高的交并比 (IoU) 和更低的法向角度误差 (NAE) ,同时将模型大小保持在 1MB 左右。

在视觉上,这转化为更锐利的机械部件。在下面的“引擎”重建中,散热片和螺栓清晰可见,而其他方法则引入了微妙的摆动伪影或平滑化。

3. 神经辐射场 (NeRF)
也许最苛刻的任务是新视图合成。在这里,模型必须重建一个 5D 函数 (空间位置 + 观看方向) 以从新角度渲染逼真的图像。
使用 Blender 数据集,MetricGrids 始终优于 TensoRF、K-Planes 和 Instant NGP 等基线。

在图 7 中,请看船上的索具 (顶行) 。标准方法 (第一列) 几乎完全抹去了细线。MetricGrids (第三列) 恢复了它们。同样,金鼓上的反射 (中行) 和食物的纹理 (底行) 也以更高的保真度得以保留。
消融实验: 我们真的需要多个网格吗?
你可能会想: 是多重网格在起作用,还是仅仅是解码器的功劳?作者进行了消融研究 (表 5) 来验证这一点。

结果很明确:
- M=2 vs M=3: 增加第二个网格 (M=2) 提供了最大的性能提升。增加第三个 (M=3) 有进一步帮助,但之后收益略有递减。
- 解码器层级结构: 移除解码器的层级输入 (“w/o hierarchy”) 导致 PSNR 下降超过 1.3 dB,证明了专用的外推架构至关重要。
结论
MetricGrids 代表了基于网格的神经表示向前迈出的重要一步。通过识别线性插值的理论弱点——“退化的线性潜在空间”——并用泰勒展开的数学优雅性来解决它,作者创造了一种既稳健又高效的方法。
关键要点是:
- 非线性很重要: 简单地提高网格分辨率不如改变网格近似空间的方式 (使用非线性度量) 有效。
- 导数是稀疏的: 如果我们使用哈希编码智能地压缩高阶信息,我们就可以负担得起存储它的代价。
- 外推有效: 精心设计的解码器可以从低阶输入推断出高阶复杂性。
随着我们迈向日益复杂的 3D 世界的实时渲染,像 MetricGrids 这样能从有限内存中榨取更多表现力的技术,将成为图形工程师工具箱中必不可少的工具。
](https://deep-paper.org/en/paper/2503.10000/images/cover.png)