论文笔记NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

NeRF是一种利用神经网络表示场景的技术,它能基于不同视角的输入图片生成新视角的图像。通过5D坐标和视角方向作为输入,输出颜色和体积密度。网络使用位置编码提升高频细节的拟合,并结合立体渲染方法。在渲染过程中,采用分层采样和层次结构提高效率和图像质量。训练时,每个场景都需要单独训练一个NeRF模型,并以渲染像素和真实像素的平方误差作为损失函数。

NeRF使用神经网络来表示场景。给定一个场景,输入该场景一些视角的图片,NeRF可以合成该场景新视角的图片。
在这里插入图片描述

神经辐射场

神经辐射场(neural radiance field,NeRF)使用5D的向量值函数表示一个场景。
输入是连续的5D坐标(包括位置 x = ( x , y , z ) \mathbf x = (x,y,z) x=(x,y,z)和视角方向 d = ( θ , ϕ ) \mathbf d = (\theta, \phi) d=(θ,ϕ)),输出是发光颜色 c = ( r , g , b ) \mathbf c = (r, g, b) c=(r,g,b)和体积密度 σ \sigma σ
具体地,用一个全连接网络近似这个场景,也就是学习 F Θ : ( x , d ) → ( c , σ ) F_{\Theta}:(\mathbf x, \mathbf d) \rightarrow (\mathbf c, \sigma) FΘ:(x,d)(c,σ)
作者鼓励让体积密度只依赖于位置。所以网络结构是先输入位置 x \mathbf x x,输出 σ \sigma σ和一个特征向量。之后将特征向量和视角方向拼接,最后映射到 c \mathbf c c颜色。
注意对每一个场景需要训练一个NeRF。

位置编码

在将输入传递到网络之前,使用高频函数将输入映射到更高维空间可以更好地拟合包含高频变化的数据。所以,类似Transformer,作者提出将 x , d \mathbf x, \mathbf d x,d用三角函数映射到高维空间中,再输入网络:
在这里插入图片描述
p p p是每个坐标的值,比如 x \mathbf x x中的 x , y , z x,y,z x,y,z

使用辐射场进行立体渲染

为了配合辐射场,作者采用立体渲染(volume rendering)方法渲染图像。
关于立体渲染可以参考 https://zhuanlan.zhihu.com/p/595117334
体积密度 σ ( x ) \sigma(\mathbf x) σ(x)可以解释为光线在位置 x \mathbf x x处终止于无穷小粒子的微分概率。
立体渲染中,相机光线 r ( t ) = o + t d \mathbf r(t) = \mathbf o + t\mathbf d r(t)=o+td在范围 [ t n , t f ] [t_n, t_f] [tn,t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值