神经辐射场(NeRF)
神经辐射场(Neural Radiance Fields, NeRF)是一种用于高分辨率三维重建和表示的新颖的隐式方法 。它通过学习一个连续的五维函数来表示场景的体素光辉和密度。这个函数通常由一个多层感知机(Multilayer Perceptron, MLP)实现,将一个三维空间位置 (x,y,z) 和一个二维观察方向 (θ,ϕ) 映射为一个体密度 σ 和一个RGB颜色 c。
NeRF的核心意义在于它标志着一个重要的转变,使得从稀疏的二维图像集合中合成照片般逼真的新视角成为可能 。它通过将场景表示为连续的体函数,解决了视图合成领域长期存在的挑战。Mildenhall等人于2020年(最初发表于ArXiv,后被ECCV 2020接收)引入的NeRF技术,在神经体渲染领域引发了“兴趣的爆炸性增长” ,并开创了隐式三维重建的新研究领域。这与先前通常依赖于离散表示(如网格或体素)的方法形成了鲜明对比。传统显式三维表示方法(如点云、网格、体素)固有的离散化、难以处理视图依赖效应等局限性,直接推动了对替代方案的探索,最终促成了像NeRF这样的隐式神经表示方法的诞生和迅速普及。这一转变不仅解决了旧问题,更预示着三维内容创建和理解方式的范式革新,即越来越依赖基于学习的连续模型。
从传统三维方法到NeRF的转变
传统的三维重建方法通常是显式的,例如生成点云、网格或体素等。这些方法可能存在离散化伪影、可扩展性问题(体素)、缺乏连接性(点云),或者难以平滑地表示复杂的拓扑结构和视图依赖效应。
NeRF的新颖性在于其由神经网络学习到的隐式且连续的表示,这在细节表现、处理遮挡以及视图依赖效应方面展现出优势。它消除了传统摄影测量中许多固有的几何约束。传统方法通常在从有限数据进行高分辨率重建方面面临困难,并且可能高度依赖硬件。NeRF的深度学习方法提供了一种新的范式,即使从少量图像也能合成高度详细的模型。这种从稀疏二维图像集生成照片级真实感结果的能力,降低了创建高保真三维内容的门槛,而这在以前通常需要专业设备和专门知识。这种技术的进步,使得高保真三维重建不再是拥有大量资源的专家的专属领域,而是向更广泛的用户和应用开放,可能催生用户生成三维内容的激增,个性化虚拟体验的普及,以及三维模型在传统视觉特效和游戏之外的各行各业得到更广泛的应用。
关键优势:照片级真实感、连续体表示与视图依赖效应
- 照片级真实感:NeRF以其生成“极高分辨率”和“令人印象深刻的照片级真实感重建”的能力而闻名。这是其受到广泛关注的主要原因之一。
- 连续体表示:场景并非离散化,而是被表示为一个连续函数。这使得视图能够平滑插值,并能捕捉精细细节 。这与本质上是离散的显式表示形成对比。
- 视图依赖效应:NeRF显式地建模了外观如何随观察方向变化(通过输入 θ,ϕ),这对于渲染逼真的镜面高光、反射和半透明效果至关重要。与那些将光照“烘焙”到模型中或难以处理非朗伯表面的方法相比,这是一个显著优势。
对视图依赖效应的建模能力对于实现真实感至关重要。传统方法在这一点上常常遇到困难,而NeRF的五维输入(位置+方向)直接解决了这个问题。例如,Ref-NeRF通过显式建模反射辐射,进一步改进了镜面反射效果。
NeRF工作流程:从图像重建三维场景
必要输入:多视角二维图像与精确相机姿态
- 多视角图像:NeRF需要一组从不同视点拍摄的场景二维图像。通常建议使用20到30张或更多图像以获得良好质量。
- 相机姿态:对于每张输入图像,必须知道拍摄时相机精确的三维姿态(位置和方向)。这些信息通常通过运动恢复结构(Structure-from-Motion, SfM)算法(如COLMAP)获得 。
- 姿态挑战:对精确相机姿态的需求是一个重要条件。不准确的姿态会降低重建质量。像CAD-NeRF这样的研究旨在从少量图像(甚至在没有已知姿态或只有粗略姿态的情况下)重建NeRF。
输入数据的质量,特别是姿态的准确性,直接影响NeRF学习一致三维表示的能力。虽然COLMAP 等工具有所帮助,但在所有场景中获得完美姿态仍然是一个挑战,这催生了对姿态无关或姿态优化的NeRF研究。相机姿态(输入)的准确性与学习到的NeRF质量之间存在至关重要的相互依赖关系。不准确的姿态会导致不一致的三维信息,从而混淆MLP并产生伪影。这种依赖性已催生了一个专注于联合姿态优化或无姿态NeRF的研究子领域。严格的精确姿态要求在实际应用中构成了一个瓶颈,尤其是在随意拍摄或处理历史数据时。这直接刺激了诸如CAD-NeRF 或iNeRF 等旨在放宽这一约束的方法的研究。解决姿态依赖性挑战将极大地拓宽NeRF在非受控环境和用户生成内容中的适用性,使其在实际部署中更加稳健。
核心算法组件
光线投射与采样策略(光线步进)
对于输入图像中的每个像素,从相机视点出发,穿过该像素向场景中投射一条光线。沿这条光线采样一系列点。原始NeRF使用分层采样策略,将光线分成若干段,并在每段内随机采样。
为了提高效率并专注于相关区域,NeRF采用了**分层体采样(Hierarchical Volume Sampling)**策略。首先,一个“粗糙”网络评估采样点,然后一个“精细”网络将采样集中在预期密度或贡献较高的区域。这样可以避免在空白或被遮挡空间浪费计算资源。光线步进模拟了光线的传播方式。高效采样至关重要,因为对每条光线上的每个点都查询MLP的计算成本很高。分层采样是原始NeRF中使其变得实用的一项关键优化。
多层感知机(MLP)的核心作用
NeRF中的“神经”指的是一个MLP(通常是一个简单的、全连接的网络,没有卷积层)。
- 输入:MLP接收一个五维坐标作为输入:光线上采样点的三维位置 (x,y,z),以及光线在该点的二维观察方向 (θ,ϕ) 3。
- 输出:MLP输出该五维坐标处的体密度 σ(一个表示不透明度的标量)和与视图相关的RGB颜色 c。
- 架构示例:一个常见的架构包含8个全连接层(例如,每层256个神经元),使用ReLU激活函数。观察方向通常在较后的层中被拼接进去,以使密度主要成为位置的函数,而颜色可以同时依赖于位置和观察方向。
MLP本身就是场景的表示。其权重经过优化,以编码整个场景的几何形状和外观。MLP架构的简洁性与其产生的高质量结果形成了鲜明对比。原始NeRF的计算流程(密集采样+MLP查询+体渲染)虽然保证了质量,但速度非常慢。这种质量与效率之间的固有权衡,是后续创新(如分层采样、更快的MLP架构以及替代表示方法,例如Plenoxels和Instant-NGP)的主要驱动力。对高质量和实用速度的双重追求,直接催生了各种创新。分层采样是NeRF内部的早期尝试。后来,更激进的方法如Instant-NGP重新思考了编码和MLP,而Plenoxels甚至为了速度而移除了MLP。这种在保持或提高质量的同时不断追求效率的努力,是深度学习和计算机图形学领域的共同主题。为NeRF开发的解决方案(例如高效编码、专用硬件实现如tiny-cuda-nn)通常具有更广泛的适用性。
位置编码:捕捉高频细节
标准MLP难以从低维输入中学习高频变化(即存在谱偏差)。这将导致渲染结果过于平滑或模糊。为了解决这个问题,**位置编码(Positional Encoding)**将低维输入坐标 (x,y,z,θ,ϕ) 通过一组正弦函数(不同频率的正弦和余弦函数)映射到更高维的特征空间。其数学表达式通常为:
γ(p)=(sin(20πp),cos(20πp),…,sin(2L−1πp),cos(2L−1πp))
这使得MLP能够学习到几何和外观上更精细的细节,对于实现照片级真实感至关重要。这项创新后来在SIREN中得到了推广。位置编码是原始NeRF中一个关键的“附加功能” ,它极大地促成了其表示清晰细节的能力。没有它,NeRF会产生模糊的结果。位置编码不仅仅是一个附加组件,更是NeRF高频细节能力的一个根本促成因素。没有它,MLP的谱偏差将严重限制重建质量。这突显了神经网络中一个更深层次的原理:输入特征工程对于克服固有的架构局限性的重要性。标准MLP无法从原始坐标中学习高频信息,这使得位置编码的引入成为NeRF实现其著名细节的必要条件。这强调了一个在应用神经网络时的普遍原则:架构本身可能存在局限性,通过将输入数据转换为更有利的表示形式可以有效地解决这些局限性。这对设计任何基于坐标的神经网络的输入都具有启示意义。
体渲染方程:合成像素颜色
像素的颜色是通过对沿相应相机光线采样的所有点的颜色 c 和密度 σ贡献进行积分来计算的。NeRF中使用的体渲染方程的离散形式为:
C^(r)=i=1∑NTi(1−exp(−σiδi))ci
其中,Ti=exp(−∑j=1i−1σjδj) 是透射率(光线从相机传播到采样点 i 而未被遮挡的概率),σi 是采样点 i 处的密度,ci 是采样点 i 处的颜色,δi 是相邻采样点之间的距离。Ti(1−exp(−σiδi)) 可视为每个采样点颜色的alpha混合权重。密度较高的点对最终像素颜色的贡献更大。这个方程是对光线穿过参与介质时累积过程的数值近似。它是将MLP的输出(每点的密度和颜色)转换为最终二维图像的核心机制。
训练NeRF模型:通过光度损失优化神经网络
MLP的权重通过最小化损失函数(通常是渲染像素颜色 C^(r) 与输入图像的真实像素颜色 C(r) 之间的平方和误差,即L2损失)进行优化。
Loss=r∈R∑∣∣C^(r)−C(r)∣∣
其中 R 是每个批次中的光线集合。优化过程使用梯度下降法(例如Adam优化器)进行。在训练过程中,MLP学会预测密度和颜色值,这些值通过体渲染积分后能够最好地再现输入视图。这是一个自监督过程,因为三维结构仅从二维图像及其姿态中学习,无需直接的三维地面真实监督。网络针对特定场景进行“过拟合”,这对于该场景的高保真重建是理想的。
NeRF技术的演进与关键变体
NeRF自问世以来,其核心思想催生了大量研究工作,旨在克服其初始版本的局限性并扩展其应用范围。这种演进清晰地展现了问题驱动的研究模式:原始NeRF的每一个主要限制(例如混叠、速度、静态场景假设、规模、数据依赖性、材质保真度)都直接催生了特定解决方案的开发(例如分别为Mip-NeRF、Instant-NGP/Plenoxels、动态NeRF、Block-NeRF、少样本NeRF、Ref-NeRF)。研究社区系统地识别并解决了NeRF的瓶颈和缺点,导致了该技术的快速和有针对性的发展。这种迭代的科学技术进步模式表明,一项基础技术的成功和局限性为未来的创新铺平了道路,每一个解决的问题都可能释放新的能力和应用。
随着NeRF技术的成熟,一个明显的趋势是各种思想的融合与混合。例如,快速NeRF技术(如Instant-NGP中的哈希编码)正与少样本学习方法(如用于INGP的DWTNeRF)相结合。同样,一度独立的几何先验知识也被整合到NeRF模型中(如P2NeRF)。最初的变体通常专注于孤立地解决一个问题(例如速度或动态场景)。后来的工作,如DWTNeRF,明确旨在使少样本学习与INGP等快速模型兼容。P2NeRF 将几何先验(来自匹配/深度估计)整合到少样本NeRF中。VoxNeRF 则利用体素引导采样。研究人员开始将来自不同子问题的成功解决方案结合起来,以创建功能更全面的模型。该领域正从解决孤立的NeRF局限性转向整合这些解决方案,从而创建更强大和通用的NeRF框架。这表明该领域日趋成熟。随着各个组件得到充分理解和优化,重点转向系统级集成,从而产生更强大和实用的工具。当一项技术从纯研究过渡到更广泛的应用时,通常会发生这种情况。
有趣的是,尽管NeRF的核心思想是纯粹的隐式基于MLP的表示,但许多成功的加速技术(如Instant-NGP的哈希网格、Plenoxels的体素网格、以及各种占用栅格)重新引入了某种形式的显式、离散结构(网格、体素)来引导或加速隐式函数。原始NeRF是完全隐式的(MLP将坐标映射到密度/颜色)。Instant-NGP使用显式的特征哈希网格。Plenoxels使用显式的包含球谐系数/密度的体素网格。许多快速NeRF使用占用栅格。这些显式结构并非像传统体素/网格那样是主要的场景表示,而是作为高效的查找表或对(通常较小的)MLP或渲染过程的引导。纯粹的隐式模型功能强大但速度较慢。引入精心设计的显式结构可以通过预计算或结构化信息来大幅提速,而不会牺牲由神经组件(如果存在)学习到的底层连续表示的质量优势。这表明许多神经渲染和表示任务的最佳路径可能在于混合方法,将隐式神经函数的表达能力与显式数据结构的效率相结合。这是计算机科学中一个反复出现的主题——在不同表示范式之间找到正确的平衡点。
应对混叠与多尺度场景:Mip-NeRF 与 Mip-NeRF 360
原始NeRF沿光线采样无限小的点,这在渲染与训练视图不同分辨率或距离的视图时会导致混叠(锯齿边缘、闪烁)。当训练图像以非均匀尺度捕获时,它也会产生模糊的渲染结果。
Mip-NeRF的解决方案是将光线表示为圆锥台而非无限细的线。它引入了积分位置编码(Integrated Positional Encoding, IPE),该编码将位置编码函数在这些圆锥台的体积上进行积分。这使得MLP能够在一个连续的尺度范围内推理场景。其结果是显著减少了混叠,并改善了从不同距离或分辨率观察场景时的细节。
然而,Mip-NeRF(以及原始NeRF)在处理“无界”360度场景时遇到困难,这些场景中相机可能指向任何方向,内容可能存在于任何距离。这导致了参数化(有界域中的欧几里得坐标)、效率(大场景需要更多采样点/容量)和模糊性(漂浮物、背景坍塌)等问题。
Mip-NeRF 360针对无界场景的解决方案 包括:
- 非线性场景参数化:使用收缩函数将无界欧几里得坐标映射到有界域(类似于NDC,但用于360度场景),为近处内容分配更多容量。
- 在线蒸馏:采用一个“提议MLP”(较小,预测密度用于重采样)和一个“NeRF MLP”(较大,预测最终颜色/密度)。提议MLP被训练以匹配NeRF MLP预测的权重分布,从而提高大场景的效率。
- 新颖的基于失真的正则化器:惩罚“漂浮物”伪影,并鼓励紧凑的光线贡献,以解决大型、稀疏观察场景中的模糊性。 Mip-NeRF 360在无界场景上的均方误差比Mip-NeRF降低了57%,并能为高度复杂、无界的真实世界场景生成逼真的合成视图和详细的深度图。Mip-NeRF 是实现实用级质量的关键一步,解决了NeRF点采样的一个根本缺陷。Mip-NeRF 360进一步将其扩展到处理具有挑战性的大尺度室外场景,这是早期NeRF的一个主要障碍。
速度革命:加速训练与渲染
原始NeRF速度缓慢是众所周知的,单个场景的训练需要数小时到数天,每帧渲染需要数秒。
Instant-NGP (Instant Neural Graphics Primitives) 的核心创新在于多分辨率哈希编码。输入坐标被映射到存储在不同分辨率的多个哈希表中的可训练特征向量。哈希冲突通过与输出最相关的可训练特征在优化中占据主导地位而得到隐式处理。其他优化包括一个更小、完全融合的MLP(例如4层,每层64个神经元),其操作被融合到单个CUDA核心中以实现极高效率,以及一个在训练过程中更新的占用栅格,用于跳过空白空间或密集区域后的采样 。这些改进带来了数量级的速度提升(例如,训练时间缩短至数秒到数分钟,渲染时间缩短至数十毫秒)。Nerfstudio中的Nerfacto模型吸收了这些思想。
Plenoxels (Plenoptic Voxels) 提出了一种无需神经网络即可实现照片级真实感视图合成的方法。它将场景表示为一个稀疏的三维体素网格,每个体素存储不透明度和用于视图相关颜色的球谐系数。通过梯度方法和正则化(例如全变分正则化)直接优化这些体素值,并采用从粗到细的优化和空体素剪枝策略。其优化速度比NeRF快两个数量级(例如,单个GPU上11分钟对比1天),视觉质量相当。这表明可微分体渲染器,而不仅仅是MLP,是NeRF成功的关键因素。
其他加速方法包括EfficientNeRF 39 和KiloNeRF(将场景划分为许多微型MLP)。原始NeRF的速度限制是其实际应用的主要障碍。Instant-NGP和Plenoxels在解决这个问题上取得了突破,使得NeRF技术更加易于获取和交互。它们突显了神经架构创新乃至非神经显式表示都可以在大幅提高速度的同时达到类似NeRF的质量。
超越静态场景:动态NeRF的进展
原始NeRF假设场景是静态的,无法处理移动物体或变化的环境 。
动态NeRF的通用方法 包括:
- 形变场:学习一个从“规范”或模板空间到每个时间步观察到的动态场景的映射。时间变量或潜码通常作为输入。
- D-NeRF (Pumarola et al.):将时间作为输入参数,以渲染刚性和非刚性物体。
- Nerfies (Park et al.):通过学习一个将点从观察空间扭曲到规范空间的形变场来建模可变形物体。使用特定于帧的潜在形变码。
- HyperNeRF:通过将NeRF提升到更高维空间,并根据每帧特定的潜码对其进行切片,扩展了Nerfies,允许形变场中存在不连续性。
- 场景流:估计场景中点的三维运动(例如,Neural Scene Flow Fields)。
- 分离的静态/动态模型:将场景分解为静态和动态组件,通常由单独的NeRF表示(例如,D2NERF; STaR)。
- 时间作为输入:最简单的方法是将时间 t 作为NeRF MLP的附加输入(例如,Space-Time Neural Irradiance Fields; NeRF-Time)。
动态NeRF的挑战 包括实现比静态NeRF更复杂和困难,处理非刚性运动、拓扑变化,以及建模由运动引起的表观变化(例如,运动物体上的镜面反射——NeRF-DS 对此进行了处理),同时还面临计算成本和数据需求的挑战。
NeRFPlayer 将动态场景分解为静态、变形和新增区域,并使用特征通道上的滑动窗口来实现可流式表示。动态NeRF对于现实世界的应用至关重要,因为场景很少是静态的。该领域正在迅速发展,专注于更好的形变建模、效率和处理复杂的外观变化。动态NeRF被视为可编辑NeRF的前身。
重建大尺度环境:Block-NeRF方法
将单个NeRF扩展到城市规模的环境是不切实际的,因为存在内存限制、渲染时间随场景大小而增加的问题,以及难以处理在不同条件下长时间(例如数月)捕获的数据所导致的外观变化。
Block-NeRF的解决方案是将大规模环境划分为一个由较小的、单独训练的NeRF(称为“块”)组成的网格。这种场景分解将渲染时间与整体场景大小解耦。每个Block-NeRF都包含外观嵌入(用于建模光照、天气随时间的变化)、学习到的姿态优化(用于提高从数月捕获数据的一致性)和可控曝光(用于保持亮度一致)。此外,还引入了一个外观对齐程序,以对齐相邻块之间的外观,从而在渲染时实现无缝组合。这种分块更新机制允许通过仅重新训练相关块来更新环境的某些部分。Block-NeRF由此构建了当时最大的神经场景表示(从280万张图像渲染旧金山的一个社区)。
其他大规模方法包括Mega-NeRF 、BungeeNeRF 和Mip-NeRF 360。Switch-NeRF和HMoHE(异构哈希专家混合)用于可学习的分解和建模场景异构性。Block-NeRF展示了一种将NeRF原理应用于广阔地理区域的实用方法,这对于自动驾驶模拟和城市数字孪生等应用至关重要。其关键在于模块化和处理外观变化。
提高数据效率:少样本NeRF变体
原始NeRF通常需要密集的一组输入视图(例如20-100张)才能获得高质量结果。在稀疏视图(即“少样本”问题)的情况下,性能会显著下降。
少样本NeRF的方法包括:
- 基于先验的方法:利用预训练模型或通用场景先验。
- PixelNeRF :使用卷积网络从稀疏输入中提取图像特征,并以此为条件对NeRF进行约束。可以在无需逐场景训练的情况下推广到新场景。
- 基于正则化的方法:添加损失项以鼓励从稀疏视图中获得合理的几何形状或一致性。
- InfoNeRF :强制相邻光线具有一致的密度分布。
- RegNeRF :对几何形状进行正则化。
- DietNeRF :利用CLIP实现语义一致性。
- 基于模型的方法:修改MLP架构以提高少样本能力 。
- DWTNeRF :针对基于INGP的模型,使用离散小波损失在早期训练中优先考虑低频信息,以减少在少样本情况下对高频信息的过拟合。还使用了多头注意力机制。
- P2NeRF :针对360度外向室内场景,使用基于匹配的几何预热(全局先验)和分组深度排序损失(来自单目深度的分层先验)。
快速收敛模型(如INGP)在少样本设置中的挑战 :INGP的多分辨率哈希编码不同于香草NeRF中的正弦位置编码,使得一些为香草NeRF设计的少样本技术不兼容。此外,INGP的积极优化动态使其对模型架构的调整(通常在基于模型的少样本方法中提出)非常敏感。降低数据依赖性对于在无法进行大量数据采集的场景中使NeRF实用化至关重要。少样本NeRF是一个活跃的研究领域,旨在以最少的输入保持高质量。
增强材质与反射建模:Ref-NeRF
尽管NeRF能够建模视图依赖性,但准确捕捉和再现高度光滑的表面以及复杂的镜面反射仍然具有挑战性,有时会导致反射模糊或不准确 。
Ref-NeRF的解决方案 是用反射辐射的表示替换NeRF对视图相关出射辐射的参数化。它使用空间变化的场景属性(如表面法线和双向反射分布函数(BRDF)参数)来构建此函数,并对法向量使用正则化器。其结果是显著提高了镜面反射的真实感和准确性,并且其内部表示对于场景编辑而言是可解释的。为了实现真正的照片级真实感,准确的材质表示是关键。Ref-NeRF及类似工作(例如使用各向异性球面高斯函数的工作)推动NeRF向更基于物理的材质渲染方向发展。
神经辐射场的多样化应用
媒体与娱乐:视觉特效(VFX)、电影与动画
NeRFs为创建逼真的视觉效果、模拟、栩栩如生的环境和角色提供了照片级真实感的重建能力。其视图相关渲染特性对于视觉特效至关重要,允许镜面高光和透明度根据相机视角自然变化。通过将NeRFs集成到视觉特效流程中(例如,使用带有Nerfstudio的Blender插件),可以将NeRF渲染与网格、其他NeRFs以及实景镜头进行合成 。这包括对齐相机路径,使用NeRF渲染作为环境贴图进行重新照明,以及绿幕合成。尽管对于高端视觉特效中的“最终像素”而言,计算量仍然很大,但它对于预可视化、后可视化、虚拟制作(LED屏幕)和场地勘景非常有价值 。NeRF捕捉复杂材质和光照条件的能力对视觉特效而言,是相较于传统摄影测量技术的重大进步。开发将NeRFs集成到Blender 等现有软件中的工具,对于其推广应用至关重要。
沉浸式体验:虚拟现实(VR)与增强现实(AR)
由于NeRFs能够准确建模三维场景,从而促进了逼真虚拟环境的创建和探索,因此它们是VR/AR领域的一项至关重要的技术 。NeRFs可以根据观察方向显示新的视觉信息,甚至在真实空间中渲染虚拟对象。包括NeRF在内的辐射场可以在VR中查看,并保留视图相关的效果,从而提供逼真的外观。在工业元宇宙应用中,NeRFs用于高保真重建虚拟环境中的对象,从而增强设计、模拟和远程协作。然而,渲染速度(低FPS)可能是沉浸式VR应用的一个障碍。VR/AR的目标是沉浸感。NeRF的照片级真实感和视图依赖性 对此做出了重大贡献,使虚拟体验更加可信。速度的提升对于VR/AR的广泛应用至关重要。
机器人与自主系统:导航、定位与环境建图
NeRFs为融合相机测量数据以形成密集、连续的场景表示提供了一种灵活的方法,可用于SLAM、路径规划和控制等任务。
- 定位:iNeRF通过最小化真实图像与NeRF渲染图像之间的残差来优化相机姿态。即使NeRF不完美,通过将定位信息提取到CNN中,NeRF衍生的定位信息也可以与视觉惯性里程计(VIO)集成以对抗漂移。NeRF-Loc使用粗略和精细两个流在多个尺度上处理信息,以在NeRFs中进行三维对象定位。
- 建图/SLAM:NeRF-SLAM实现了密集的单目SLAM。NeRF-VINS将预训练的NeRF与VIO紧密耦合。
- 模拟:环境的高保真NeRF模型可以作为训练机器人的强大模拟平台。 然而,嵌入式系统上的计算成本以及在非受控环境中出现的伪影是其面临的挑战。机器人需要精确的三维地图才能导航和交互。与传统的点云或体素相比,NeRFs提供了更丰富、更逼真的地图表示,有可能实现更好的感知和决策。
医疗健康:先进医学成像与解剖可视化
NeRFs可以从CT或MRI等二维扫描图像创建全面的三维解剖结构。通过有效处理复杂的光线相互作用和视图相关现象,NeRFs在可视化复杂解剖结构方面提供了前所未有的细节和准确性,从而生成更清晰、更连续的内部身体结构表示,超越了传统方法。
其潜在益处包括:
- 最小化辐射暴露:通过从稀疏的二维图像生成三维表示,可以减少对多次或高分辨率扫描的需求。
- 减少时间消耗:通过从有限数量的图像快速创建三维模型,简化了流程,从而加速了数据收集和图像重建。
- 降低成像成本:通过从较少输入生成详细的三维模型,可能减少对昂贵成像资源的依赖。 然而,应用于医学数据时面临独特的挑战,包括基本的成像原理、内部结构要求、对象边界定义以及颜色/密度在医学背景下的重要性。从标准医学扫描生成详细的三维可视化图像的能力,可以极大地辅助诊断、手术规划和医学教育。解决医学数据的特定挑战是关键。
城市发展与地理空间分析:数字孪生、城市规划与卫星影像
- 数字孪生:NeRFs被用于创建物理对象或环境的虚拟复制品。结合实时数据,这些数字孪生可以为城市规划、工厂自动化、仓库管理等提供洞察和模拟。
- 城市规划:将航空影像重建为景观渲染图,为真实世界的布局提供了有用的参考。城市环境的逼真模拟有助于就基础设施、交通和可持续性做出明智决策。
- 卫星影像:NeRFs可以从卫星图像生成地球表面的综合模型,可用于现实捕捉(RC)。 Block-NeRF和其他方法 对于城市规模的数字孪生至关重要。NeRF的真实感和建模大范围区域的能力使其成为创建详细和交互式数字世界表示的强大工具,影响着我们规划、管理和与物理空间互动的方式。
创意产业:三维内容生成与数字资产创建
NeRFs正在推动三维内容的生成。自动化工作流程可以将图像(甚至来自智能手机的图像)转换为三维网格、NeRFs或高斯溅射,用于沉浸式环境 。这对于在线无法获得的专业三维模型(例如工业硬件)非常有帮助,从而降低了定制资产创建的成本和时间。NeRFs也被探索用于通过GANs进行三维对象生成,使用NeRF或SDF表示。文本到三维生成正在探索将NeRFs作为输出表示。NeRF简化了逼真三维资产的创建,有可能使三维建模大众化,并使高质量内容更易于用于游戏、VR/AR和工业培训。
NeRF当前面临的挑战与固有限制
计算需求:训练时长与实时渲染障碍
原始NeRF的训练速度非常慢(在单个GPU上对中等场景需要1-2天 ;在RTX 3060上可能长达10-12小时),渲染速度也很慢(例如每张图像30秒)。尽管像Instant-NGP 和Plenoxels这样的变体提供了巨大的速度提升,但在各种硬件(尤其是边缘设备)上为高分辨率、复杂的NeRF实现真正的实时渲染(例如>30 FPS)仍然是一个挑战。MixRT 旨在通过混合神经表示(低质量网格、位移贴图、压缩的NeRF)并针对光栅化器进行优化,以在边缘设备上实现实时渲染。速度是主要的实际瓶颈。即使进行了加速,对于非常大或动态的场景,计算负载仍然可能很高,这限制了交互性和在资源受限平台上的部署。这是当前研究的一个关键焦点 。
数据依赖性:“少样本”问题与对稀疏输入的鲁棒性
NeRF通常需要密集的高质量输入图像集(数十到数百张)以及精确的相机姿态。在输入视图稀疏的情况下,性能会显著下降(出现伪影、模糊、几何形状差),这被称为“少样本NeRF”问题。视图不足可能导致过拟合 。针对少样本NeRF的研究旨在解决这个问题,但这仍然是一个活跃的挑战。对大量图像的需求限制了NeRF在随意捕捉场景或无法进行大量数据采集的情况下的使用。提高对稀疏数据的鲁棒性对于更广泛的适用性至关重要。
静态场景约束:动态元素建模的困难
原始NeRF假设场景是静态的;任何移动都会导致伪影,如重影或模糊。动态NeRF变体虽然存在,但更为复杂,并有其自身的挑战:处理复杂的非刚性变形、拓扑变化,以及建模由运动引起的表观变化(例如镜面反射),同时还面临计算成本和数据需求的增加。现实世界中的场景很少是完全静态的(光照变化、微小移动)。大多数现实世界的场景都涉及某种形式的动态性。稳健有效地建模通用动态场景是NeRF当前一个主要的研究方向。
几何保真度:重建精细细节与复杂结构的精度
虽然NeRFs能够生成照片般逼真的视图,但其底层的几何精度有时可能不完美,尤其对于精细结构或在稀疏观察区域。NeRF可能难以处理“漂浮物”(虚假的离散密度)或“背景坍塌”(远距离表面错误地显示为靠近相机的半透明云),尤其是在模糊场景中。Mip-NeRF 360的正则化器对此有所帮助。重建高度详细的植物几何形状(例如细小的树枝)也具有挑战性。传统摄影测量有时可以提供更清晰、更准确的边界。针对光度损失进行优化并不总能保证完美的几何重建。在保证视觉质量的同时确保高几何保真度对于需要精确测量或交互的应用非常重要。
可编辑性与可控性:操控学习到的隐式表示
NeRFs在MLP权重中学习隐式表示,这使得直接编辑(例如移动对象、更改材质)比显式表示(如网格)更加困难。编辑通常需要专门的技术、转换为显式形式或重新训练。这对于内容创建工作流程是一个显著的限制。动态NeRF被视为向可编辑NeRF迈出的一步。为了使NeRF成为图形和设计领域真正通用的工具,直观高效的编辑能力至关重要。这是未来研究的一个关键领域。
泛化能力:在未见场景或对象上的性能
标准的NeRF是针对每个场景进行训练的,并将特定场景的几何形状和光照“烘焙”进去;它不能泛化到新的、未见过的场景或对象。像PixelNeRF这样的变体通过以图像特征为条件来实现泛化,从而允许对新场景进行零样本或少样本重建。在保持高保真度的同时实现跨不同场景和对象的稳健泛化是一个持续的挑战。逐场景优化限制了其可扩展性,如果需要对许多不同场景进行建模。可泛化的NeRF可以学习关于三维形状和外观的通用先验知识。