NeRF三维重建—神经辐射场

NeRF—神经辐射场

本文介绍了三维重建相关技术,特别是神经辐射场(NeRF)的进步,它通过深度学习实现逼真的三维场景重建。NeRF在计算机图形学、自动驾驶和元宇宙等领域展现出广阔的应用前景,通过改进传统方法,提供更高质量的渲染和沉浸式体验。

NeRF 是 2020年 ECCV 的 best paper NeRF解决新视图合成问题。

因为其使用了较为简单的神经网络结构,因此属于是可微渲染的一种。NeRF也称为神经辐射场,因为其使用了体渲染的技术来实现的。

NeRF的定义

广义的定义: NeRF是使用神经网络(MLP)来隐式的存储3D信息。

NeRF是隐式的存储3d信息的,也就可以从另外的一个方向说明了,之前的3d信息是通过显示的方式来进行存储的。

显式的3D信息:有明确x,y,z的值(mesh,voxel,点云…等)

隐式的3D信息:无明确的x/y/z的值,只能输出指定角度的2D图片。

我们从论文中就可以得到。

  1. 模型输入是5D向量(x, y, z, theta, phi) ;
  2. 模型输出是4D向量, (密度,颜色(RGB));
  3. 模型是8层的MLP

在这里插入图片描述

输入为 5D coordinate:空间位置 ( x , y , z ) ,视觉方向 ( θ , ϕ ) 也可以说是粒子的空间位姿, (x, y, z, theta, phi)。视觉方向 ( θ , ϕ )可以说是光线所在的视角的方向。

NERF使用多层感知机,将光线上的点位编码成了颜色以及密度值。它将它所表达的场景存储在了MLP的权值中。它的输入是很多已知姿态的图像将其进行训练得到的场景表征。

推论:

  1. 模型不具有泛化能力
  2. 一个模型只能存储一个3D信息

真实场景与相机模型

体渲染

渲染是指对光线进行追踪或者是积分累积从而生成图像的一种方法。

属于渲染技术的分支目的是解决云/烟/果冻等非刚性物体的渲染建模
将物质抽象成一团飘忽不定的粒子群光线在穿过时,是光子在跟粒子发生碰撞的过程。

NERF的假设:

  • 物体是一团自发光的粒子。

  • 粒子有密度和颜色。

  • 外射光和内射光抵消。

  • 多个粒子被渲染成指定角度的图片。

模型的输入:将物体进行稀疏表示的单个粒子的位姿

模型的输出:该粒子的密度和颜色

在这里插入图片描述

粒子采集的原理

首先对于一个自发光的粒子的空间坐标为空间坐标 (x, y, z)。其发射出来的光线会通过相机模型。成为图片上的像素坐标(u,v)粒子颜色即是像素颜色。

这个粒子的颜色即为像素的颜色。

通过将一条光线上的许多(无数)的点的这些视为向量,进行一个合成的操作,最终就可以的得到该条光线在输出图像上的像素值。将该参数值与真实的图像的参数值进行计算,就会得到我们的LOSS

我们的神经辐射场是将2d的输入表征为一个3d场景的过程。而我们的体渲染Rendering Volume是将3d场景下的许多点位给投射出一个二维图像的过程。

  • 输入图像进入网络的部分可以看作是2d转变为3d的一个过程。

  • 最后得到的网络的输出在通过体渲染技术对点位来进行合成。最终输出到图像上。可以认为是一个3d到2d的过程

首先我们定义一条光线的公式为:r(t)=0+td

r ( t ) = 0 + t d r(t)=0+t d r(t)=0+td

  • O:表示的是光线的起始位置。

  • t:表示在光线上经过的距离

  • d:代表着光线所对应的方向

在这里插入图片描述

(选取采样点 t1,t2,t3)例如每间隔多少个点或者说间隔多少的距离。

坐标系转换的计算

在体渲染的过程中,需要涉及到坐标系的相关计算。这里的坐标系分为以下几种类型。

  • 世界坐标系

  • 相机坐标系

  • 像素坐标系(平面坐标系)

光线颜色计算公式 C®我们认为是投射出来的光线所呈现的颜色。

C ( r ) = ∫ t n t f T ( t ) σ ( r ( t ) ) c ( r ( t ) , d ) d t , where  T ( t ) = exp ⁡ ( − ∫ t n t σ ( r ( s ) ) d s ) C(\mathbf{r})=\int_{t_{n}}^{t_{f}} T(t) \sigma(\mathbf{r}(t)) \mathbf{c}(\mathbf{r}(t), \mathbf{d}) d t \text {, where } T(t)=\exp \left(-\int_{t_{n}}^{t} \sigma(\mathbf{r}(s)) d s\right) C(r)=tntfT(t)σ(r(t))c(r(t),d)dt, where T(t)=exp(tntσ(r(s))ds)

简单理解为一种体渲染的光学模型。

离散采样公式:

C ^ ( r ) = ∑ i = 1 N T i ( 1 − exp ⁡ ( − σ i δ i ) ) c i ,  where  T i = exp ⁡ ( − ∑ j = 1 i − 1 σ j δ j ) \hat{C}(\mathbf{r})=\sum_{i=1}^{N} T_{i}\left(1-\exp \left(-\sigma_{i} \delta_{i}\right)\right) \mathbf{c}_{i}, \text { where } T_{i}=\exp \left(-\sum_{j=1}^{i-1} \sigma_{j} \delta_{j}\right) C^(r)=i=1NTi(1exp(σiδi))ci, where Ti=exp(j=1i1σjδj)

t i ∼ U [ t n + i − 1 N ( t f − t n ) , t n + i N ( t f − t n ) ] t_{i} \sim \mathcal{U}\left[t_{n}+\frac{i-1}{N}\left(t_{f}-t_{n}\right), t_{n}+\frac{i}{N}\left(t_{f}-t_{n}\right)\right] tiU[tn+Ni1(tftn),tn+Ni(tftn)]

优化神经辐射场的方法

高频位置编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值