摘要:神经辐射场是一种面向三维隐式空间建模的深度学习模型,这种深度学习模型又称全连接神经网络(又称多层感知机)。Nerf 所要做的任务是 Novel View Synthesis,一般翻译为新视角合成任务,定义是:在已知视角下对场景进行一系列的捕获 (包括拍摄到的图像,以及每张图像对应的内外参),不需要中间三维重建的过程,仅根据位姿内参和图像,合成新视角下的图像。在基于Nerf的表示方法下,三维空间被表示为一组可学习且连续的辐射场,由输入视角+位置学习后,得到密度+色彩。Nerf的基本算法使用全连接(非卷积)深度网络表示场景,其输入是单个连续的 5D 坐标(空间位置(x, y, z)和观看方向(θ, φ)),其输出是该空间位置的体积密度和与视图相关的发射辐射,通过沿相机光线查询 5D 坐标来合成视图,并使用经典的体渲染技术将输出颜色和密度投影到图像中。
1.背景
Nerf(Neural Radiance Fields)是一种基于神经网络的三维重建和渲染技术,由Google研究团队于2020年提出。
在计算机视觉领域,传统的三维重建和渲染方法通常需要使用多张图像或利用深度传感器等设备来捕捉场景的几何形状和表面属性。然而,这些方法往往存在复杂性和设备要求高的问题,限制了它们在实际应用中的使用。
Nerf的出现旨在简化三维重建和渲染的过程,通过从单个或多个二维图像中恢复场景的三维几何信息和表面反射属性。与传统方法相比,Nerf利用深度学习模型通过大规模的训练数据来学习从图像到场景的映射,从而实现更准确和高保真度的结果。
Nerf的核心思想是将场景建模为神经辐射场(neural radiance fields),其中每个点在场景中的辐射性质和透明度通过神经网络来建模。这种建模方法允许Nerf根据相机位置和方向来生成场景中每个像素点的颜色值,从而实现高质量的渲染效果。
Nerf的引入推动了基于神经网络的三维重建和渲染的发展。它不仅在学术界引起了广泛的关注和研究,还在虚拟现实、增强现实、游戏开发和电影制作等应用中展示了巨大的潜力。
2.相关原理
2.1场景建模
Nerf将场景建模为神经辐射场(neural radiance fields),其中每个点在场景中的辐射性质和透明度通过神经网络建模。这意味着对于每个三维坐标点,NERF的神经网络输出其颜色、法线、透明度等属性。
注:在这里颜色近似成辐射场
2.2光线采样和投射
从相机位置和方向出发,沿着多个光线采样场景中的点。每个采样点由其三维坐标表示。这些光线可以根据需要进行密集或稀疏的采样,并且可以通过均匀采样或重要性采样进行选择。
2.3辐射计算
对于每个采样点,通过神经网络来计算其辐射场值。神经网络将采样点的三维坐标和光线方向作为输入,输出辐射场的颜色和透明度。这个过程可以看作是一个从输入空间到输出空间的映射。具体结构如下:
编码器通常由卷积神经网络(CNN)组成,负责从输入的多个视角图像和相机参数中提取出场景中每个点的空间位置和视角特征。编码器中的每个卷积层都可以将输入数据从低维空间映射到高维空间,并提取出更复杂的特征表示。
解码器通常由多层感知机(MLP)组成,负责从编码器提取的特征中生成连续的三维辐射场。具体来说,解码器接受来自编码器的每个点的空间位置和视角特征作为输入,并输出该点的颜色和密度值。解码器中的每个MLP层都可以将输入数据映射到另一个高维空间,并提取出更复杂的特征表示。
2.4合成图像
通过累积光线采样点的辐射场值,可以生成最终的合成图像。这个过程类似于光线追踪,将光线与场景中的物体交互,考虑光照和遮挡等因素,最终生成像素的颜色值。Nerf中采用体(积)渲染技术:
体积渲染将三维空间分成许多小的体素(voxel),并对每个体素中的颜色和密度进行插值。通过对所有体素进行插值,可以得到整个场景的颜色和密度值。
2.5训练过程
Nerf的神经网络需要通过大规模的训练数据进行训练。训练过程中,使用损失函数和优化算法来最小化合成图像与真实图像之间的差异。损失函数通常包括重建损失(reconstruction loss)和视角一致性损失(view consistency loss)等,用于衡量合成图像与真实图像之间的差异。
3.算法应用
Nerf解决了从二维图像到三维场景的重建和渲染问题。它在三维重建、三维渲染、虚拟现实和增强现实等领域具有广泛的应用价值,为用户提供了更真实、交互性更高的体验。
三维重建:Nerf能够从二维图像中重建真实世界中的三维场景。通过对输入图像进行分析和建模,它可以还原场景的几何形状、表面属性以及光照等信息,实现高质量的三维重建。
三维渲染:通过对场景中光线的采样和交互建模,Nerf可以生成高质量的三维渲染结果。它能够模拟光线的传播和反射过程,从而生成逼真的渲染图像,提供更加真实的虚拟现实体验。
虚拟现实和增强现实:Nerf可以为虚拟现实(VR)和增强现实(AR)应用提供高质量的三维场景重建和渲染。它能够将真实世界的场景转化为虚拟环境,并实现与用户的交互和沉浸式体验。
数字内容生成:利用Nerf的能力,可以生成新的虚拟场景和视角,创造出前所未有的数字内容。这可以应用于游戏开发、电影制作、虚拟旅游等领域,为用户提供更多多样化的体验。
3.1针对可变形对象的建模
这个方向主要针对动态对象建模。这里的动态主要指时变观测下场景中对象外观存在非刚性形变,但同时这种形变存在很强隐变量约束。近期可变形对象研究方向的成果主要聚焦在人体的体积动画模型表征构建和相关自由视角合成方面。典型成果包括了基于像素对齐的人物化身体积动画建模研究P,姿态可控的人物化身自由视角影像合成研究,和用于动态人物化身的动画神经辐射场研究。相关的包括了聚焦人脸面部化身4D动画重建应用的动态神经辐射场研究, 以及可以兼具场景和人物化身 4D 动画处理能力的动态神经辐射场研究和显式构建神经辐射场拓扑可变高维表示的研究。
3.2针对连续时序内容的建模
这个方向主要针对基于时空联系的场景表征建模。通过同时构建时空两个维度的建模表征,研究者后期就可以方便开展基于场景视频记录的时间插值、视点插值以及混合插值的应用探索。相关领域典型成果包括针对动态场景时空视图 自由合成的场景流场算法,时空辐照度场算法,动态视点合成算法和侧重于人体动态时空新视角合成的隐式神经人体表征研究。
3.3基于空间的表征建模可编辑性
这个方向主要针对多物体组成的大型场景的结构化表征,包括了如何将多物体组合成一个完整可体积渲染场景,以及场景内容再编辑方面的研究。其也对应可控图像合成任务。换言之,表征建模可编辑性着眼于生成新的图像和控制将要出现的内容、对象及其位置和方向、背景等。近期典型文献包括了针对可编辑场景表示的可组合生成特征算法,可组合场景对象算法,以及涉及动态场景构建的场景图算法, 和可编辑条件辐射场算法。
3.4基于无约束图像的视点合成
该方法为每张输入图像进行外观编码,用于隐式地表示每幅输入图像所蕴含的拍摄条件。在加入这一编码操作之后,Nerf-W 可以准确地学习到场景的几何结构,并可以对不同的输入图像的光照条件进行编码和解码。除此之外,为了处理不同照片中存在不同的前景等临时物体,Nerf-W 将场景建模为各输入图像间共享的元素以及依赖于各输入图像的元素。这使得模型可以对场景中保静态的内容与临时物体进行有效的区分,从而使得在合成新视点时,能够避免由于行人、车辆等临时前景所带来的视觉瑕疵。
4.局限及未来发展方向
4.1计算资源需求
Nerf的计算成本相对较高,尤其是在处理大规模或复杂场景时。这限制了Nerf在实际应用中的可扩展性和实时性。未来的发展方向是改进算法和网络架构,以提高Nerf的计算效率,使其更具实用性.
4.2 输入数据要求
Nerf对输入图像要求较高,特别是对于视角和照明条件的变化敏感。这意味着需要收集多个视角或照明条件下的图像数据,以获得更准确的重建结果。未来的研究可以探索使用少量图像数据进行更鲁棒的重建,或者通过图像增强和视角一致性处理来提高Nerf的稳健性。
4.3复杂场景处理
Nerf在处理复杂场景时面临挑战,例如包含大量细节、遮挡物体或复杂光照条件的场景。这些情况可能导致重建结果不准确或渲染结果出现伪影。未来的研究可以专注于改进Nerf模型的鲁棒性和泛化能力,以适应更复杂的场景。
4.4 视角和交互性
目前的Nerf方法主要关注静态场景的重建和渲染,对于动态场景的处理还有待改进。此外,Nerf也面临与用户交互和实时应用相关的挑战。随着技术的发展,未来的研究可以探索将Nerf与动态场景建模、交互设计和实时渲染等方法相结合,以实现更多样化和实用化的应用。
参考文章
3D场景表征—神经辐射场(NeRF)近期成果综述_朱方