nerf学习

摘录自别人:https://www.scholat.com/teamwork/showPostMessage.html?id=10382

《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》

1、 背景

《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》是2020年发表在ECCV上的一篇论文,这篇论文是介绍神经场景的第一篇论文。NeRF由此展开了在计算机图形学中对与3D的渲染任务,并从中得到了很好的结果。

Neural Radiance Fields的缩写就是NeRF ,它实际上是一种隐式的三维场景表示,之所以是隐式的原因在于NeRF 不能像点云、网格那样以直接的三维模型让人看见。NeRF将场景以空间中任何点的volume density(体积密度σ)和有向的颜色值Color (c) 的方式来表示,在此基础上,通过对场景进行渲染,从而得到新视角的模拟图。

2、 算法概括

图1 、 优化一个连续5D神经辐射场的方法,通过对输入的试图集合运用NeRF进行优化,最终呈现出两个新的试图。

   可以将NeRF简要总结为一个隐式的静态三维场景用一个MLP神经网络进行学习。想要训练一个MLP神经网络需要大量的相机拍摄的图片,通过这些图片训练好MLP,最后就可以从各个角度渲染了。

3、 算法细节

3.1、用神经辐射场来表示场景

NeRF指的是将一个连续场景表示为一个输入为单个连续5D向量的函数。Neural Radiance Fields里面的Radiance Fields指的是映射函数,Neural Radiance Fields则是指用神经网络拟合映射函数。

1

映射函数输入的是x和d,而输出是δ和c 。NeRF是一种场表示,其映射函数的输入x是三维空间某个顶点的三维坐标,输入d是观察角度。而映射函数的输出δ是Volume Density体积密度作用于确定影响最终颜色确定的程度,c是Color即颜色表示每个3D体积具有的RGB值。

具体的实现中,x首先被输入MLP神经网络中,得到δ和中间特征,再将d和中间特征输入到另外的全连接层中并与测验颜色。由此证明δ之和空间位置相关,而颜色则于观察角度和空间位置都有关系。

3.2、 基于辐射场的体素渲染算法

虽然通过NeRF函数就可以得到3D空间点的颜色和密度,但实际上当用单目相机针对场景成相时,得到的2D 场景图像上的一个像素实际上对应了一条从相机出发的射线上的所有的连续空间点。面对这种情况,则需要运用渲染算法通过这条射线上的所有点得到这条射线的最终渲染颜色。同时,需要在NeRF中采用可微的渲染方法。

NeRF通过将2D场景表示为体积密度和颜色值,在此基础上在对生成的场景进行渲染。


图2、输入5D向量通过映射函数得到颜色值和体积密度

体积密度σ(x)可以解释为一条射线r在经过x位置处终止于无穷小粒子的微分概率,这可以理解为由于一条射线上的点是连续的,因此可以微分。这里将摄像机射线标记为r(t)=o+td,o是射线原点,d是之前相机射线的角度,其近、远端边界为tn和tf。因此这条射线的的期望颜色C(r)可以用积分的方式表示为:


2

从5D连续神经辐射场呈现视图需要估计通过所需虚拟相机的每个像素的相机光线的积分C(r),通过上述分析使用求积对该连续积分进行数值估计。其中确定性求积(Deterministic quadrature)通常用于渲染离散体素网格,这一方式将有效地限制我们表示的分辨率,这主要因为MLP只会在固定的离散位置集上查询。在该函数中T(t)表示一条射线从到t所积累的全部的透明度,这也就意味着该射线从到t之间都没有击中任何粒子的概率。T(t)的表现形式为:


3

由此可知想要得到一张用NeRF渲染合成的完整图片,需要做的就是计算通过虚拟相机的光线的所有像素来计算得到像素的颜色值。

3.3、 NeRF优化

通过上述所描述的内容,现在已经详细的描述了将场景建模为神经辐射场和从该表示中渲染新视图的核心部分。但是,考虑到主要用这部分来实现成果的实际效率并不突出。因此在这部分中选择加入两个改进来提高当前的效率,第一种是帮助MLP表示高频函数的输入坐标的位置编码,第二种是分层采样过程,这可以更有效地采样高频表示。

3.3.1 位置编码(Positional Encoding)

通过实验发现直接将位置和角度输入MLP网络操作会导致渲染效果很差,无法表示颜色和几何的高频变化。在此基础上进一步研究发现将输入传递到网络之前,使用高频函数将其映射到高维空间可以实现更好地拟合包含高频变化的数据。因此,将这一发现应用到NeRF 的表示中,选用位置编码的方式将连续输入坐标映射到更高维空间,使MLP网络更容易逼近更高频率的函数,这大大提高了清晰度。

3.3.2 多层级采样(Hierarchical Volume Sampling)

  由于该方法的渲染策略是在每个摄像机光线的N个查询点上对神经辐射场网络进行密集评估,这样渲染的工作量太大导致效率很低。针对此问题提出了一种分层表示法,通过将样本按比例分配给最终渲染的预期效果,提高了渲染效率。这一部分的优化,作者选用了一种“coarse to fine”的方法,即同时优化两个网络:一个“粗略”和一个“精细”。这种方法减小采样计算开销,加快训练速度。

4、 总结

  该研究运用一个MLP网络输出体积密度和辐射度将场景表示为5D神经辐射度。由于深层网络偏向于学习低频函数,导致渲染效果很差,针对此现象选择采用类似于傅里叶变换位置编码的方法,这大大提升网络捕捉高频信息的能力同时,通过提出一种分层采样策略,使渲染更符合样本要求。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容