科技一站

 找回密码
 立即注册
查看: 183|回复: 21

NeRF及其发展

[复制链接]

4

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2022-10-30 17:54:04 | 显示全部楼层 |阅读模式
神经隐式表示(neural implicit representation)从2019年开始兴起,在2020年NeRF获得ECCV best paper之后受到了广大的关注。仅2021年一年,关于NeRF或者神经隐式表示的文章就多达150多篇,其中有数十篇高质量的文章。
目前关于NeRF或者神经隐式表示的Survey文章主要有Neural Fields in Visual Computing and Beyond[1]和State of the art on neural rendering[2],这两篇文章主要关注神经场和神经渲染,非常值得阅读,但是他们对于NeRF的介绍并不多。一个比较好的介绍是乔治亚理工大学的Frank Dellaert教授的博客NeRF Explosion 2020,我个人觉得仍然不够系统和全面。还有一个awesome的网站是awesome-NeRF,里面提供了近些年NeRF相关论文的汇总和一些Talk,也非常值得关注。本文结合以上的文章和笔者自己阅读的一些文章,对NeRF及其发展做一个简单的汇总和分析。
需要提前说明的是,这里对NeRF的技术不再进行过多的叙述,因为网络上已经有很多相关的讨论。本文主要关注一些NeRF发展的一些分类,以及一些神经场的应用。
一、NeRF的介绍

1.1 影响力

NeRF: Representing Scenes as neural Radiance Fields for View Synthesis发表于ECCV2020,凭借其震撼的视角合成效果获得了当年的Best Paper。

NeRF视角合成效果
https://www.zhihu.com/video/1507669913263640576
在之后的两年里,NeRF的引用量多达937次,仅2021年一年就有上百篇相关的文章,其中不乏高质量的文章和令人惊艳的合成效果。其中,GIRAFFE[12]再次凭借隐式表示中的物体编辑和组合获得CVPR2021年的best paper。这些都证明了NeRF以及隐式表示在近些年的高涨热度。
1.2 背景

视角合成方法通常使用一个中间3D场景表征作为中介来生成高质量的虚拟视角。根据表示形式,3D场景表征可以分为“显式”和“隐式”表示。显式表示(explicit representation),包括Mesh,Point Cloud,Voxel,Volume等。显式表示的优点是能够对场景进行显式建模,从而合成照片级的虚拟视角。缺点是这种离散表示因为不够精细化会造成重叠等伪影,而且最重要的,它们对内存的消耗限制了高分辨率场景的应用。


隐式表示(implicit representation),通常用一个函数来描述场景几何。隐式表示使用一个MLP模拟该函数,输入3D空间坐标,输出对应的几何信息。隐式表示的好处是它一种连续的表示,能够适用于大分辨率场景,而且通常不需要3D信号进行监督。在NeRF之前,它的缺点在于无法生成照片级的虚拟视角,如occupancy field、signed distance function(SDF)。


我们需要理解的是,无论是显式表示还是隐式表示,都是对3D场景进行表征。这种表征并不是凭空臆测或者天马行空的,而是根据现实中数据格式进行发展。例如现实中的3D数据主要有面数据、点数据、体数据,所以对应催生了一些Mesh、Point Cloud、Volume等中间表示。隐式表示则是借鉴了图形学中的一些表示形式,例如signed distance function。
1.3 NeRF方法

NeRF首次利用隐式表示实现了照片级的视角合成效果,与之前方法不同的是,它选择了Volume作为中间表示,尝试重建一个隐式的Volume。NeRF的主要贡献:
•提出了一种5D neural radiance field 的方法来实现复杂场景的隐式表示。
•基于经典的Volume rendering提出了一种可微渲染的流程,包括一个层级的采样策略
•提出了一种位置编码(positional encoding)将5D坐标映射到高维空间。



NeRF基于MLP合成Volume的隐式表示,并通过Volume rendering渲染到2D图片计算损失

在理解NeRF之前,我们首先需要厘清两个概念,神经场(Neural field)体渲染(Volume rendering)
1.4 神经场

神经场在Neural Fields in Visual Computing and Beyond[1]这篇文章中得到了非常详尽的阐述,简单来说:
场(field)是为所有(连续)空间和/或时间坐标定义的量(标量),如电磁场,重力场等。因此当我们在讨论场时,我们在讨论一个连续的概念,而且他是将一个高维的向量映射到一个标量。
神经场表示用神经网络进行全部或者部分参数化的场。
在视觉领域,我们可以认为神经场就是以空间坐标或者其他维度(时间、相机位姿等)作为输入,通过一个MLP网络模拟目标函数,生成一个目标标量(颜色、深度等)的过程
1.5 体渲染

关于体渲染的理解推荐大家阅读State of the art on neural rendering[2]。体渲染简而言之是从体数据渲染得到2D图片的过程。
现实生活中,有一些领域采集的3D数据是以体数据格式存储的,例如医疗中的CT和MRI、地质信息、气象信息等,这些数据需要渲染到2D图像才能够被人类理解。除此之外体数据建模(Volume)相比于传统的Mesh、Point,更加适合模拟光照、烟雾、火焰等非刚体,因此也在图形学中有很多应用。
体数据的渲染主要是指通过追踪光线进入场景并对光线长度进行某种积分来生成图像或视频,具体实现的方法包括:Ray Casting,Ray Marching,Ray Tracing。
基于体渲染的研究在NeRF之前有很多,因为体渲染是一种可微渲染,非常适合与基于统计的深度学习相结合。目前可微渲染领域也有了一些研究,是未来计算机视觉和计算图形学结合的一个重要方向。
1.6 NeRF总结

从我个人的观点来看,我举得NeRF最大的贡献,是实现了神经场(Neural Field)与图形学组件Volume rendering的有效结合。NeRF本身的方法实现是非常简洁的,简洁而有效,说明这种组合是合理的。这也启发我们探索更多视觉和图形学的交叉领域,事实上这一方面的探索还比较少。
另一方面,NeRF的简洁也说明了他本身存在很多问题。接下来我们将结合NeRF的问题以及NeRF的应用,概述一下NeRF的发展。
二、NeRF的发展

NeRF的发展主要分为两个大的方向,一种是基于NeRF问题的改进,一种是基于NeRF的应用。本节主要从这两个方向出发,介绍NeRF的发展。
基于NeRF问题的改进,主要包括:

  • 速度慢
  • 只针对静态场景
  • 泛化性差
  • 需要大量视角
  • 其他
基于NeRF(或者神经场)的应用,我做了一些简要的分类和总结,主要包括:

  • 逆渲染
  • 可控编辑
  • 数字化人体
  • 多模态
  • 图像处理
  • 视频处理
  • 特殊领域
需要特别注意的是,这两个方向并不是互斥的,问题与应用之间也存在交叉和互动,事实上这种互动往往能催生高质量的文章。
2.1 NeRF的问题:速度慢

NeRF方法生产生图像时,每个像素都需要近200次MLP深度模型的前向预测。尽管单次计算规模不大,但逐像素计算完成整幅图像渲染的计算量还是很可观的。其次,NeRF针对每个场景需要进行训练的时间也很慢。
针对推理时间慢的问题研究较多,例如AutoInt[3]、FastNeRF[20]等



AutoInt[3]在测试时直接预测积分值,能够比NeRF快10倍。

针对训练时间慢的问题,Depth-supervised NeRF[4]使用SfM的稀疏输出监督NeRF,能够实现更少的视角输入和更快的训练速度。这种思路很有意思。



Depth-supervised NeRF训练方式

2.2 NeRF的问题:静态场景

NeRF方法只考虑了静态场景,无法拓展到动态场景。这一问题主要和单目视频做结合,从单目视频中学习场景的隐式表示。Neural Scene Flow Fields[5]将动态场景建模为外观、几何体和三维场景运动的时变连续函数。该方法只需要一个已知摄像机姿势的单目视频作为输入。



Neural Scene Flow Fields在时间维度的映射

2.3 NeRF的问题:泛化性

NeRF方法针对一个新的场景需要重新训练,无法直接扩展到没有见过的场景,这显然与人们追求泛化性的目标相违背。因此一些文章开始对NeRF进行泛化性的改进。GRF[6]学习2D图像中每个像素的局部特征,然后将这些特征投影到3D点,从而产生通用和丰富的点表示。与之类似的还有IBRnet、pixelNeRF等,比较核心的想法都是卷积与NeRF相结合。但是这种泛化都还比较初步,无法在复杂场景中取得理想效果。



GRF能够渲染没见过的物体

2.4 NeRF的问题:视角数量

尽管NeRF方法能够实现出色的视角合成效果,但是它需要大量的(数百张)视角来进行训练,这限制了它在现实中的应用。pixelNeRF[7]和GRF想法类似,使用一个CNN Encoder提出图像特征,从而使得3D点具有泛化性,并且支持少量输入。pixelNeRF能够支持一张图像输入。从我个人的经验来看,针对NeRF泛化性和视角数量的改进,目前都局限在比较封闭的测试环境下,如合成物体或者单个物体,在真实开放世界上的效果并不好。CVPR2022出现了一些开放式的工作,例如Urban-NeRF、Block-NeRF等,尝试在复杂环境下用NeRF进行建模。这个方向也比较重要。



pixelNeRF的网络结构图

2.5 NeRF的问题:其他

还有一些工作对NeRF框架进行了改进,其中比较具有实质性突破的是Mip-NeRF。Mip-NeRF[8]提出了一种基于视锥的采样策略,实现基于NeRF的抗锯齿。Mip-NeRF减少了令人不快的混叠伪影,并显著提高了NeRF表示精细细节的能力,同时比NeRF快7%,大小为NeRF的一半。这篇文章是NeRF发展的一个重要突破,非常值得关注。



Mip-NeRF使用视锥的采样策略

2.6 NeRF的应用:逆渲染

从真实数据中估计不同模型参数(相机、几何体、材质、灯光参数)的过程称为反向渲染,其目的是生成新视图、编辑材质或照明,或创建新动画[2]。这里我简要介绍三种比较重要的逆渲染任务:
几何与代理几何:NerfingMVS[9]用SfM估计的稀疏深度来监督单目深度估计网络,调整其尺度,然后再输入NeRF网络中实现视角一致性。ICCV2021 oral。
照明:NeRV[10]以一组由无约束已知光照照亮的场景图像作为输入,并生成一个可以在任意光照条件下从新视点渲染的三维表示。
相机(位姿估计):Self-Calibrating[11]在没有任何校准对象的情况下,共同学习场景的几何结构和精确的相机参数,提出了一张适用于具有任意非线性畸变的普通摄像机的摄像机自标定算法
2.7 NeRF的应用:可控编辑

虽然NeRF提供了对场景合理的表示,但是它并不允许人们对形状、外观进行编辑。对场景表示进行可控的编辑,是NeRF发展的一个重要方向。编辑的方向主要包括:形状、外观、场景组合。可控编辑一直是计算机视觉的重中之重,NeRF在这方面的发展可以单独作为一个分支来阐述,主要发展从EidtNeRF[21],GRAF[22]到GIRAFFE (CVPR2021 Best Paper)。这些方法主要通过GAN和NeRF结合,实现了可控的编辑。这里主要展示了GIRAFFE的结构:



GIRAFFE网络结构。重要的突破是它能实现多个物体的组合。

2.8 NeRF的应用:数字化人体

数字化人体是立体视觉中的一个重要领域。NeRF跟其他3D场景表征一样,也被应用于对人体进行建模。数字化人体主要包括:1、脸部建模;2、人体建模;3、手部建模等等。
脸部建模:4D Facial Avatar[14]将3DMM和NeRF结合,实现了一个动态神经辐射场。输入一个单目视频,该方法能够实现人脸的位姿、表情编辑。



NeRF与3D MM的结合

人体建模:Animatable[15]引入神经混合权重场来产生变形场,实现了人体建模。需要输入多视角视频。这个领域目前主要向SMPL靠近,就是给定一个规范空间,或者说template,然后从不同观测空间估计规范空间。这个领域也很有意思,有一些很好的demo。



Animatable[15]的流程图

2.8 NeRF的应用:多模态

目前基于NeRF的扩展工作,大部分使用的是图像、单目视频作为输入。探索其他模态如文字、音频等与图像的结合,能够催生惊艳的应用效果。CLIP-NeRF[16]将CLIP和NeRF结合,实现了通过文字和图像编辑场景。目前还局限在椅子、汽车等简单模型中。进一步探索鸟、花等简单场景可能是一个方向。



CLIP-NeRF实现了CLIP和NeRF的结合

2.9 NeRF和神经场的应用:图像处理

NeRF作为一种隐式表示,为传统的图像处理方法提供了一种新思路,即从隐式神经表示,或者神经场的角度来处理图像。这里的图像处理方法包括:压缩、去噪、超分、inpainting等。目前已经有一些文章在视频压缩、去噪,图像超分等领域进行了尝试,但是对其他领域比如增强、恢复、去模糊等还没有比较完备的讨论,这一个领域可能是后面的一个方向。Neural Knitworks[17]提出了一种用于自然图像神经隐式表示学习的体系结构,它通过以对抗的方式优化图像补丁的分布,并通过增强补丁预测之间的一致性来实现图像合成



Neural Knitworks[17]的网络能够针对去噪、inpainting、盲超分任务,但是还没发表

2.10 NeRF和神经场的应用:视频处理

在之前的章节中,我们已经见过一些NeRF与视频的互动,但是他们主要关注Video for NeRF,即主要重点在于基于视频输入的NeRF。还有一些方法关注NeRF for Video,比如使用神经场的方法来进行视频压缩、视频编辑。这些方法证明了单目视频与NeRF或者神经场方法结合会是一个重要方向。Layered Neural Atlases[18]提出了一种将输入视频分解并“展开”为一组分层2D地图集的方法,每个地图集都提供了视频上对象(或背景)外观的统一表示。该文章能够用一组参数来存储视频,能够实现令人惊艳的编辑效果。



Layered Neural Atlases[18]的网络结构图

2.11 NeRF和神经场的应用:特殊领域

除了之前列举的一些视觉和图形学领域的工作外,NeRF和神经场在一些特殊领域也有用武之地。这些特殊领域包括:1、机器人;2、医疗成像;3、偏微分方程求解。这里我主要展示了医疗成像的一些应用。
在医疗成像中,如CT和MRI,传感器探测的数据是人不可读的,需要经过离散采样并重建成体数据(3D)或者切片(2D)供人类观看。如果能够减少采样率,则可以减少CT和MRI的时间。NeRP[19]提出一种在稀疏采样下进行神经场重建的框架,并证明可以推广到医疗图像中。



NeRP[19]的网络结构图

三、NeRF的未来

最后我和结合我自己的个人研究兴趣,对NeRF未来工作做一个简单的讨论,这里我们回避了NeRF和神经场方法技术发展的问题,简要对他们在应用上的一些未来进行讨论。这些未来工作按照我个人的研究兴趣主要可以按这样的顺序排列:

  • NeRF和神经场与单目视频的结合。这种结合已经催生了非常多高质量的工作和惊艳的效果,不管是Video for NeRF还是NeRF for Video,都是非常具有实用价值的。
  • 多模态。图像与图像,文本与图像,视频与图像等。针对NeRF多模态的研究目前还比较少,CLIP-NeRF为我们研究提供了基础,这表明这个方向是可以继续发掘的,比如更加复杂的场景的多模态控制或者编辑。
  • 在低级语义上的探索并没有特别完备,如去噪,图像恢复等。这一部分工作目前还没有成型的工作,是一片蓝海,如果能够基于隐式表示对这种视觉的Inverse Problem提出一个解决框架,是非常有意义的。
  • 数字化人体,尤其是人脸建模。人脸永远是应用最快最广泛的技术,这部分的工作也刚刚开始,值得关注。
  • 可控编辑。正如3D MM催生了很多基于3D表示解耦的方法,隐式表示如何提取可控量,实现可控编辑,是未来的一个重要方向。
  • 从另一个角度来看:NeRF存在的问题与实际应用可以进行组合,也可以催生新的方法。
最后,我们必须理智地分析,提出一些消极观点,实现一个理智的对冲。我个人的一些消极看法是,NeRF目前还没有比较成功的商业化的应用,论文中的出色效果许多无法在现实中落地。技术如果不能落地,就会变成空中楼阁,比如16年比较火的光场相机一样。这里我们没有办法说明,隐式神经表示是未来的视觉领域的新钥匙,它的意义还需要时间和实验来证明。但是它所呈现了那一个个惊艳的demo,确实是我们对视觉和图形学最理想的追求。

参考文献:
1、Xie Y, Takikawa T, Saito S, et al. Neural Fields in Visual Computing and Beyond[J]. arXiv preprint arXiv:2111.11426, 2021.
2、Tewari A, Fried O, Thies J, et al. State of the art on neural rendering[C]//Computer Graphics Forum. 2020, 39(2): 701-727.
3、Lindell D B, Martel J N P, Wetzstein G. Autoint: Automatic integration for fast neural volume rendering[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 14556-14565.
4、Deng K, Liu A, Zhu J Y, et al. Depth-supervised nerf: Fewer views and faster training for free[J]. arXiv preprint arXiv:2107.02791, 2021.
5、Li Z, Niklaus S, Snavely N, et al. Neural scene flow fields for space-time view synthesis of dynamic scenes[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 6498-6508.
6、Trevithick A, Yang B. Grf: Learning a general radiance field for 3d representation and rendering[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 15182-15192.
7、Yu A, Ye V, Tancik M, et al. pixelnerf: Neural radiance fields from one or few images[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 4578-4587.
8、Barron J T, Mildenhall B, Tancik M, et al. Mip-nerf: A multiscale representation for anti-aliasing neural radiance fields[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 5855-5864.
9、Wei Y, Liu S, Rao Y, et al. Nerfingmvs: Guided optimization of neural radiance fields for indoor multi-view stereo[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 5610-5619.
10、Srinivasan P P, Deng B, Zhang X, et al. Nerv: Neural reflectance and visibility fields for relighting and view synthesis[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 7495-7504.
11、Jeong Y, Ahn S, Choy C, et al. Self-calibrating neural radiance fields[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 5846-5854.
12、Niemeyer M, Geiger A. Giraffe: Representing scenes as compositional generative neural feature fields[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 11453-11464.
13、Gafni G, Thies J, Zollhofer M, et al. Dynamic neural radiance fields for monocular 4d facial avatar reconstruction[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 8649-8658.
14、Gafni G, Thies J, Zollhofer M, et al. Dynamic neural radiance fields for monocular 4d facial avatar reconstruction[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 8649-8658.
15、Peng S, Dong J, Wang Q, et al. Animatable neural radiance fields for modeling dynamic human bodies[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 14314-14323.
16、Wang C, Chai M, He M, et al. CLIP-NeRF: Text-and-Image Driven Manipulation of Neural Radiance Fields[J]. arXiv preprint arXiv:2112.05139, 2021.
17、Czerkawski M, Cardona J, Atkinson R, et al. Neural Knitworks: Patched Neural Implicit Representation Networks[J]. arXiv preprint arXiv:2109.14406, 2021.
18、Kasten Y, Ofri D, Wang O, et al. Layered neural atlases for consistent video editing[J]. ACM Transactions on Graphics (TOG), 2021, 40(6): 1-12.
19、Shen L, Pauly J, Xing L. NeRP: Implicit Neural Representation Learning with Prior Embedding for Sparsely Sampled Image Reconstruction[J]. arXiv preprint arXiv:2108.10991, 2021.
20、Garbin S J, Kowalski M, Johnson M, et al. Fastnerf: High-fidelity neural rendering at 200fps[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 14346-14355.
21、Liu S, Zhang X, Zhang Z, et al. Editing conditional radiance fields[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 5773-5783.
22、Schwarz K, Liao Y, Niemeyer M, et al. Graf: Generative radiance fields for 3d-aware image synthesis[J]. Advances in Neural Information Processing Systems, 2020, 33: 20154-20166.
回复

使用道具 举报

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-10-30 17:54:44 | 显示全部楼层
沙发!
回复

使用道具 举报

3

主题

6

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-10-30 17:54:58 | 显示全部楼层
孙博牛逼!
回复

使用道具 举报

2

主题

8

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2022-10-30 17:55:48 | 显示全部楼层
太强了[赞同]
回复

使用道具 举报

2

主题

4

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-10-30 17:56:30 | 显示全部楼层
赞,学习到很多,感谢!
回复

使用道具 举报

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2022-10-30 17:57:18 | 显示全部楼层
您好,在文章中提到显示表示方法的内存消耗较大。您有做过对比吗?譬如同等分辨率下的显示表示、隐示表示,他们之间所占内存大概是多少?隐示表示能减少多少内存的占用?谢谢
回复

使用道具 举报

1

主题

6

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-10-30 17:57:23 | 显示全部楼层
准研一新生推荐做nerf这个方向吗[惊喜]
回复

使用道具 举报

2

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2022-10-30 17:57:44 | 显示全部楼层
你好,我没有做过具体的实验。但是理论上讲,显示表示如Volume,是N^3的空间占用。而隐式表示并不直接为每个体素分配内存,所以理论上它不会存在内存占用问题,而且基于MLP的网络参数量也是非常小的。这两种表示在内存上没有太大的可比性,但是隐式表示的最大问题是牺牲了网络的前向速度,在推理时间上要低效很多。
回复

使用道具 举报

2

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-10-30 17:58:08 | 显示全部楼层
兴趣是最好的老师
回复

使用道具 举报

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-10-30 17:59:06 | 显示全部楼层
好的,感谢~期待有大佬可以把推理时间优化到可接受的情况hhh
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|科技一站

GMT+8, 2025-4-17 22:34 , Processed in 0.117028 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表