Paper Reading—Nerf:Representing Scenes as Neural Radiance Fields for View Synthesis

原文:https://arxiv.org/abs/2003.08934

1. Nerf的玩法

用已知视角的图像进行训练,inference未知视角的图像
Nerf的数学表达

2. Nerf 的结构设计

Nerf结构设计

2.1 Nerf的物理模型

如图(a)中,假设相机在某个角度拍摄中间的物体,它的物理模型就是相机成像模型,即光线照射在三维空间中物体上的某一点,反射光线穿过相机光心,停止在成像平面上的某个像素点。Nerf把这个过程反过来看:从相机光心发射出射线,穿过图像上的每个像素点,落在空间上的三维物体上。假设图像分辨率是256*256的,那么每个图像上的射线的数量就是65536。在建模的时候,会围绕待建模对象在很多不同的位姿下进行拍摄,作为训练数据:
分布在空间中的相机

2.2 Nerf的pipeline

图(a)中,在每条射线上做离散的采样,每个采样点上的信息包含坐标值x,y,z以及它们的观测角度。网络的输入就是这些射线上全部离散点的x,y,z,θ,φ值。
图(b)是网络的输出,它包含每条射线上采样点的r,g,b信息(论文中用),和σ(论文中称之为density,不透明度,可以理解为该射线在当前采样点处终止的概率值)
图(c)是网络后面接的volumn blender渲染层,渲染的结果就是当前角度的图像,它是可微的。因此(d)中将渲染结果与当前角度图像GT计算Loss,而由于整个pipeline都是可微的,所以可以用SGD进行优化。

3 Nerf的网络

网络结构总览

3.1 Density的预测

从上图的网络结构中可以看出,Density的预测仅依赖于射线上采样点的坐标值,而不依赖于当前观测的角度。因为Density表示不透明度,也就是表示这个位置上是否包含实际的物体,不管相机摆在什么位姿上,这个位置上有物体就是有,没有就是没有。
另外,在x,y,z每个坐标上,都增加了一个20维的位置编码,式中L=10:
在这里插入图片描述
增加位置编码相当于是一种特征增强,把原本的一个坐标数值升维到21维,作者的解释如下:
在这里插入图片描述

3.2 RGB的预测

RGB的预测与相机的位姿相关,因此在RGB的预测时,引入了射线上采样点的观测方向值,用一个三维的方向向量表示。它的position encoding是L=4,也就是每个方向上增加了8个维度,原本的(x,y,z)增强到了 27维的特征。

3.3 网络结构

就是全连接层,没什么可说的。。。

3.4 体渲染

  • 连续的体渲染公式:
    在这里插入图片描述
    d表示射线上点的方向向量(观测方向)
    r(t) 表示射线上点的坐标(位置)
    σ(r(t))表示density,density只与射线上点的坐标有关
    c(r(t), d)表示color,color与射线上点的坐标和观测方向都有关

对σ与c的乘积做积分,就可以得到渲染结果了。不过在前面还要加个透射率T,这个透射率的目的是处理遮挡,在射线遇到第一个物体后,这个值就变成0了,因为投射不过去了。类比于dehaze,也就是因为这个参数,导致Nerf重建出来的三维空间看上去有雾。

  • 离散的体渲染公式(网络中射线上采样点是离散的):
    在这里插入图片描述
    式中σ后面那个参数表示的是采样间隔,它与σ相乘近似微分的效果。这里用了指数计算,增加非线性。综上,由于整个pipeline都是可微的,所以计算Loss用梯度下降的方法进行优化。
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值