隐式神经表示(INRs)从入门到前沿:NeRF、SIREN、Instant NGP核心原理与应用

发布时间:2026/8/8 23:10:35
隐式神经表示(INRs)从入门到前沿:NeRF、SIREN、Instant NGP核心原理与应用 1. 从“隐式神经表示”说起为什么它值得你花时间研究如果你最近在关注计算机图形学、3D视觉或者深度学习的前沿大概率会频繁听到“隐式神经表示”这个词。它听起来有点学术但背后的想法其实非常直观用一个小型的神经网络去“记住”一个复杂的信号比如一张图片、一段声音或者一个三维物体。这个神经网络本身就成了这个信号的一种全新、高效的“表示”或“描述符”。我第一次深入接触这个概念是在尝试解决一个三维模型高保真压缩和传输的难题时传统的方法要么文件太大要么在无限放大时会出现模糊和锯齿。而隐式神经表示提供了一种思路我们能否不存储成千上万个多边形顶点而是存储一个能“生成”这个模型的神经网络权重这个想法让我着迷也让我花了大量时间去追踪和梳理这个领域的关键论文。隐式神经表示之所以火爆是因为它颠覆了我们对数据表示的认知。传统上我们描述一个三维场景用的是点云、网格、体素这些“显式”的表示——数据直接对应空间中的位置。而INRs是“隐式”的它学习一个函数输入空间坐标输出该位置的属性如颜色、密度、符号距离。这种表示方式具有内存效率高、分辨率无关、易于微分和优化等天然优势。无论你是想进入学术圈深挖还是希望在工业界寻找如数字人、3D内容生成、逆向工程等领域的创新应用系统性地理解INRs的发展脉络都是至关重要的一步。这篇汇总并非简单的论文列表而是结合我自己的阅读和实践梳理出的一条从入门到前沿的清晰路径并附上每篇工作的核心洞见与实用启示。2. 基石篇理解INRs的核心思想与开创性工作要进入这个领域有几篇奠基性的论文是绝对无法绕过的。它们定义了问题的基本范式并提供了最经典的解决方案。2.1 开山之作Neural Radiance Fields (NeRF)毫无疑问2020年ECCV的《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》是点燃整个领域的“引爆点”。在这之前INRs更多是实验室里的一个有趣想法而NeRF向世界展示了其惊人的实用潜力。核心思想NeRF用一个多层感知机来表示一个静态场景。这个MLP的输入是一个5D向量空间位置 (x, y, z) 和观察方向 (θ, φ)。输出是该位置的颜色 (RGB) 和体密度 (σ)。通过从相机光线进行可微分的体渲染NeRF能够从一组稀疏的二维图片中重建出复杂的三维场景并生成极其逼真的新视角图片。为什么它如此重要高质量它生成的视图合成效果在当时的多个基准测试上达到了前所未有的逼真度。可微分整个管道是可微的使得通过梯度下降从2D图像优化3D表示成为可能。隐式连续它天然地表示了一个连续的场景因此可以实现任意分辨率的渲染没有离散化带来的瑕疵。实操心得复现原始NeRF是理解这个领域最好的起点。你需要重点关注两个部分一是位置编码它将低频的坐标输入映射到高频空间让MLP能够学习到场景的细节这是成功的关键二是分层采样策略它先用一个“粗”网络估计密度分布再引导“细”网络对重要区域进行精细采样极大地提升了效率。自己动手调参比如改变位置编码的维度、MLP的层数你能直观感受到这些设计对结果的影响。2.2 更基础的表示DeepSDF与Occupancy Networks在NeRF专注于“渲染”之前已有工作探索用INRs表示三维几何本身。其中两篇代表作是《DeepSDF: Learning Continuous Signed Distance Functions for 3D Shape Representation》和《Occupancy Networks: Learning 3D Reconstruction in Function Space》。DeepSDF (2019)的核心是学习一个符号距离函数。SDF是一个函数对于空间中的任意点其值表示该点到物体表面的最近距离符号表明点在内部负还是外部正。DeepSDF用一个MLP来近似这个SDF函数。一旦网络训练好通过寻找SDF0的等值面例如使用Marching Cubes算法就可以提取出高质量的水密网格。Occupancy Networks (2019)则学习一个占据概率函数。输入一个点坐标网络输出一个0到1之间的值表示该点被物体占据的概率。它同样可以从点云或图像中学习重建3D形状。两者的对比与意义DeepSDF输出的SDF包含更丰富的几何信息梯度方向即为法向量更利于进行诸如网格提取、碰撞检测等操作。Occupancy Networks在概念上更简单对于形状补全等任务表现良好。它们共同证明了一个简单的神经网络足以紧凑地表示复杂的三维几何且这种表示是连续的、可微的。2.3 高效的通用函数逼近器SIREN当大家开始广泛使用ReLU作为MLP的激活函数来训练INRs时发现了一个问题重建的信号往往过于平滑缺乏高频细节。2020年的《SIREN: Implicit Neural Representations with Periodic Activation Functions》提出了一个优雅的解决方案。核心创新使用正弦函数作为神经网络的激活函数。作者发现使用正弦激活的MLP能够完美地拟合复杂的自然信号及其导数。为什么SIREN是里程碑高频细节正弦函数的周期性使其天生擅长建模包含丰富细节的信号在图像、音频、3D形状重建上效果显著优于ReLU。导数特性SIREN的导数仍然是SIREN这意味着它学习到的函数是无限可微的。这对于物理仿真等需要高阶导数的应用至关重要。收敛速度在拟合复杂信号时SIREN通常收敛得更快。注意事项SIREN对权重初始化非常敏感。原论文提出了一种特定的初始化方案以确保输入到每一层的信号分布在正弦函数的线性区域。在你自己实现时务必严格按照论文中的初始化方法否则网络可能根本无法训练。3. 演进篇针对核心瓶颈的优化与改进原始的NeRF虽然效果惊艳但其训练和渲染速度极慢训练一个场景需数天渲染一张图需数分钟。随后的大量研究都围绕着“加速”和“提升泛化能力”这两个核心目标展开。3.1 加速渲染从离散化哈希到张量分解加速的核心思路是避免让庞大的MLP对每条光线上的无数个点进行冗余计算。这里介绍两个代表性方向。Instant Neural Graphics Primitives (Instant NGP, 2022)是NVIDIA的工作它通过一个多分辨率哈希表彻底改变了游戏规则。核心机制它不再将所有信息都存储在MLP的权重中而是设置了一个可训练的多分辨率哈希表。对于输入的3D坐标在不同分辨率网格上查找并插值得到特征向量再将这个特征向量输入到一个非常小的MLP通常只有1-2层中预测颜色和密度。带来的飞跃这种方法将NeRF的训练时间从几天缩短到秒级渲染速度也达到实时级别。它本质上是将一部分“记忆”功能从参数化的MLP转移到了显式的、可快速查表的哈希数据结构中实现了效率与质量的绝佳平衡。TensoRF (2022)则从另一个角度出发将场景的辐射场建模为一个4D张量空间XYZ特征维并利用张量分解如CP分解或VM分解将这个巨大的张量近似为多个小型向量/矩阵的乘积。核心优势这种分解表示非常紧凑且渲染速度快。它提供了对场景辐射场的一种显式、可解释的低秩分解视角。对比思考Instant NGP更像一个高效的“查找表轻量解码器”而TensoRF则是对数据本身进行数学上的紧凑因式分解。两者都极大地提升了效率但哲学不同。3.2 提升泛化从Per-Scene到Generalizable原始的NeRF是“场景特定”的即一个网络只表示一个场景换个场景就得重新训练数小时。我们自然希望有一个“通用”模型见过一些数据后能快速重建新场景。PixelNeRF (2021)是这方面的重要尝试。它以一个或多个输入图像为条件构建一个能输出辐射场的网络。工作流程首先用一个CNN编码器提取输入图像的特征图。对于目标光线上的一个3D点将其投影到各个输入图像的特征图上获取视觉特征。将这些视觉特征与3D点坐标一起输入一个MLP预测该点的颜色和密度。意义PixelNeRF实现了“泛化”对于新场景只需前向传播即可得到辐射场无需优化。这为单图或少数图3D重建打开了大门。MVSNeRF (2021)思路类似但更侧重于利用多视图几何先验。它先构建一个代价体然后通过一个基于NeRF的渲染网络从代价体中回归颜色和密度将传统的MVS多视图立体技术与NeRF的可微分渲染优势结合。3.3 动态与可编辑场景建模现实世界是动态的我们不仅想重建静态场景还想重建会变化的场景甚至去编辑它。Dynamic Scene RepresentationD-NeRF (2021)将时间作为额外输入学习一个动态辐射场。它通常还会用一个独立的网络来学习场景中点的变形场将观测时刻的点映射到一个规范空间再输入到主辐射场网络中。这允许从单目视频中重建动态3D场景。HyperNeRF (2021)进一步处理拓扑结构变化如张嘴、握手的场景。它引入了一个“超空间”的概念比D-NeRF能处理更复杂的非刚性形变。Editable Scene RepresentationObject NeRF / Scene Editing一系列工作探索如何分解场景。例如通过语义分割或用户交互将场景中的物体分离出来每个物体用独立的NeRF表示或者为背景和前景学习独立的表示。这样就可以实现物体的移动、删除、替换等编辑操作。GANeRF (2022)等则将生成对抗网络与NeRF结合允许在隐空间中对场景进行编辑如改变风格、天气然后通过GAN生成器映射回辐射场。4. 应用篇INRs如何改变不同领域INRs不仅仅是一个好看的渲染工具它作为一种强大的数据表示范式正在渗透到多个领域。4.1 3D视觉与机器人SLAM传统的SLAM维护一个显式的地图如点云、体素网格。iMAP (2021)和Nice-SLAM (2022)等首次用单个MLP实时优化表示整个场景的隐式地图实现了高质量的重建与精准的相机跟踪。这种表示紧凑且连续非常适合对内存和精度要求高的机器人应用。逆向工程与CAD建模从点云或网格重建出具有规则几何特征平面、圆柱、布尔运算的CAD模型一直是个难题。INRs通过学习SDF可以更稳健地拟合表面并利用其可微性将几何正则化项如对称性、平滑性融入优化过程有助于重建出更“干净”、更易编辑的模型。4.2 计算机图形学材质与光照建模NeRF最初只建模了视图相关的颜色。后续工作如NeRFactor (2021)尝试从图像中分解出场景的几何、BRDF材质和光照。这允许重新打光、改变材质等高级编辑。人体与Avatar创建HumanNeRF (2021)、NeuMan (2022)等工作专注于用NeRF表示动态人体从多视角视频中创建可以自由控制姿态的数字人在电影、游戏和元宇宙中有巨大应用潜力。4.3 医学影像与科学计算医学图像超分辨与补全INRs的连续表示特性使其非常适合用于医学图像如MRI、CT的超分辨率重建和缺失数据补全。它可以从低分辨率扫描中重建出高分辨率、连续的体数据且不受传统离散网格的限制。物理场模拟SIREN因其优异的导数特性被用于学习物理方程的解如流体运动、电磁场分布。将INRs作为PDE偏微分方程解的参数化形式可以实现快速推理和高效存储。4.4 跨模态生成与AIGC这是目前最火热的方向。扩散模型等生成式AI擅长生成2D图像而INRs提供了一种理想的3D表示桥梁。文本/图像生成3D如DreamFusion (2022)它利用预训练的2D文本-图像扩散模型作为“裁判”通过分数蒸馏采样技术优化一个NeRF模型使其多视角渲染的图片符合文本描述。这绕过了对3D数据集的依赖实现了从文本“想象”出3D内容。3D生成模型直接训练一个生成INRs的扩散模型或GAN。例如Shape-E (2023)和Point-E (2023)是OpenAI提出的生成3D点云和隐式表示的扩散模型可以快速生成多样化的3D形状。5. 实践指南如何开始你的INRs项目看了这么多论文你可能已经摩拳擦掌。以下是我根据经验总结的入门和进阶路径。5.1 学习路线与资源推荐基础巩固必读论文NeRF, DeepSDF, SIREN。精读理解每篇的动机、方法和贡献。代码复现从PyTorch或TensorFlow实现一个最简单的NeRF开始。GitHub上有大量开源的最小实现如“tiny_nerf”。不要只看要动手调试可视化中间结果如位置编码后的特征、体密度分布。深入核心效率与泛化阅读Instant NGP和PixelNeRF的论文及代码。尝试用Instant NGP的框架跑一下自己的数据。动态场景阅读D-NeRF理解其将形变场与规范场分离的思想。追踪前沿关注顶级会议CVPR, ICCV, ECCV, SIGGRAPH, NeurIPS。在arXiv上订阅相关关键词。关注知名实验室如MIT, Stanford, UC Berkeley, Google Research, NVIDIA Research这些机构是该领域的主要推动者。实用工具与库PyTorch / JAX主流深度学习框架。tiny-cuda-nnInstant NGP作者开发的高性能神经网络库对INRs推理优化极好。Nerfstudio一个模块化的NeRF开发框架集成了许多SOTA算法非常适合快速实验和开发。Kaolin, PyTorch3DPyTorch的3D深度学习库包含可微渲染器、网格操作等有用工具。5.2 项目构思与常见陷阱当你开始自己的项目时可以从以下几个方向思考改进现有方法针对某个特定缺陷如对光照变化的鲁棒性、对透明物体的建模、更快的训练速度提出改进。在新领域应用将INRs应用到你的专业领域比如地质建模、文化遗产数字化、工业质检等。构建新系统结合INRs和其他技术如SLAM、强化学习构建一个完整的应用系统。常见陷阱与避坑指南问题现象可能原因与解决方案训练崩溃或发散Loss变成NaN或渲染全黑/全白。1.学习率过高INRs优化对学习率敏感尝试调低如从5e-4调到1e-4。2.位置编码尺度不当原始NeRF的位置编码有固定频率范围确保你的坐标输入被归一化到合理区间如[-1,1]或[0,1]。3.SIREN初始化错误如果使用SIREN必须严格使用论文中的权重初始化方案。重建结果模糊缺乏细节输出的图像或几何过于平滑。1.位置编码频率不足增加位置编码的L参数最大频率。2.网络容量太小增加MLP的层数或宽度。3.采样不足每条光线上采样的点不够多尤其是在高密度区域。检查你的分层采样策略。训练速度极慢迭代一次需要很长时间整体训练遥遥无期。1.未使用加速技术在科研初期可以接受但做产品必须集成加速方法。优先考虑Instant NGP的哈希编码或类似技术。2.射线采样策略低效实现“粗网络细网络”的重要性采样避免在空白空间均匀密集采样。3.代码未优化使用向量化操作减少Python循环。在可能的情况下将数据预加载到GPU。泛化能力差在训练集上效果很好但输入新视角或新场景时效果很差。1.过拟合对于Per-Scene优化这是正常的。对于Generalizable模型需要增加训练数据的多样性和数量或引入更强的正则化如几何平滑约束。2.模型容量与任务不匹配PixelNeRF这类模型需要大量多场景数据预训练数据不足时泛化能力有限。5.3 实验记录与论文写作建议如果你希望工作最终能形成论文良好的实验习惯至关重要。严谨的消融实验每提出一个改进如新的网络结构、新的损失函数、新的编码方式都必须设计消融实验证明该改进单独带来的性能提升。控制变量是关键。公平的对比与基线方法对比时要在相同的数据集、相同的评估指标、尽可能相同的实验设置如迭代次数、分辨率下进行。在论文中明确说明这些设置。丰富的可视化INRs是高度可视化的领域。除了定量的PSNR、SSIM、LPIPS指标一定要提供直观的对比图、误差图、3D重建网格图、新视角合成视频等。一图胜千言。清晰的贡献陈述在引言和摘要中用一两句话清晰概括你的核心贡献是什么“我们提出了XXX解决了XXX问题在XXX数据集上实现了XXX提升”。避免模糊的表述。隐式神经表示这片森林已经枝繁叶茂但仍有无数未知的角落等待探索。它的魅力在于用一个简洁统一的数学框架——神经网络函数逼近优雅地解决了多个领域的表示难题。从我个人的实践来看最重要的不是追逐最新的模型而是深入理解其底层原理为什么MLP能表示复杂信号位置编码究竟起了什么作用可微分渲染如何将2D监督信号传递到3D空间想清楚这些你就能更好地判断哪些工作是本质创新哪些是工程组合从而找到属于自己的研究方向。这个领域迭代飞快保持阅读、动手实现、并乐于分享你的发现是跟上节奏的最好方式。