图片速览 NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

paper code
https://arxiv.org/pdf/2003.08934 https://github.com/yenchenlin/nerf-pytorch
  • Nerf是一种使用神经网络进行渲染3维数据的方法,其基于一种非刚体渲染的方法(刚体渲染方法可见OpenGL)。

在这里插入图片描述

  • NeRF 的神经网络部分(图中的(a)(b))用于从给定的光线信息(位置和方向)计算颜色和密度。该网络的输入为一条光线的空间数据:

    • 光线采样点:由光线起点和方向确定光线,并随机采样得到的多个空间中三维点的位置。
    • 光线方向:每个像素的光线方向,即从相机到场景中的某个点的方向。

    网络的输出为光线对应空间位置的颜色和密度数据:

    • 颜色(RGB):每个光线的颜色(即该点的RGB值)。
    • 密度(sigma):表示光线通过该点时的物质密度。
  • 图中的(c)为体积渲染,体积渲染(Volume Rendering)来从神经网络的输出生成图像。

Nerf中的体积渲染(Volume Rendering)

C ( r ) = ∫ t n t f T ( t ) σ ( r ( t ) ) c ( r ( t ) , d ) d t , w h e r e   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})dt, \mathrm{where} \ T(t)=\exp\left(-\int_{t_n}^t\sigma(\mathbf{r}(s))ds\right) C(r)=tntfT(t)σ(r(t))c(r(t),d)dt,where T(t)=exp(tntσ(r(s))ds)

  • 体积密度 σ ( x ) \sigma(x) σ(x)可以解释为射线在位置x处终止于无穷小粒子的微分概率。
    • 微分概率:对于一个连续型随机变量 X X X,其概率密度函数为 f ( x ) f(x) f(x)。在某个特定的点 x x x上,微分概率可以表示为 f ( x ) d x f(x)dx f(x)dx,其中 d x dx dx代表极小的变化量。微分概率表示了在极小区间 d x dx dx内,随机变量 X X X取值在 x x x附近的概率。
  • C ( r ) C(r) C(r) 在光线 r r r通过后最终显示的颜色
    • r ( t ) = o + t ∗ d r(t) = o+t*d r(t)=o+td , o o o应该为光源坐标, d d d为光照方向, t t t为光运动距离
    • t n t_n tn t f t_f tf为光线范围
    • 函数 T ( t ) T(t) T(t)表示沿着从 t n t_n tn t t t的光线的累积透射率。累积透射率为光线剩余的概率,体积密度越大,积分值越小,累积透射率越小。
    • c ( r ( t ) , d ) c(r(t),d) c(r(t),d)为空间位置的颜色

积分值估计

  • [ t n , t f ] [t_n,t_f] [tn,tf]中进行分层采样获取采样点的公式:
    t i ∼ U [ t n + i − 1 N ( t f − t n ) , t n + i N ( t f − t n ) ] \begin{aligned} t_i\sim\mathcal{U}\left[t_n+\frac{i-1}{N}(t_f-t_n),t_n+\frac{i}{N}(t_f-t_n)\right] \end{aligned} tiU[tn+Ni1(tftn),t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值