赞
踩
本人书写本系列博客目的是为了记录我学习三维重建领域相关知识的过程和心得,不涉及任何商业意图,欢迎互相交流,批评指正。
本文提供了一种新的思路——神经辐射场(NeRF,Neural Radiance Fields),其能够隐式地用一个MLP全连接神经网络来表示一个静态物体或者场景,参数经过优化后的网络则可以从任意角度生成场景的图片。由于NeRF超强的隐式三维信息表达能力,使得其快速应用于新视点合成、三维重建等领域。
论文的要点一共可以分为三大部分:
体绘制(Volume rendering)是一种用于显示离散三维采样数据集的二维投影技术,为了渲染三维数据集的二维投影,首先需要定义相机相对于几何体的空间位置,还需要定义每个点即体素的不透明性以及颜色;
根据NeRF应用的传统体绘制方法描述,若将一个相机射线记为
r
(
t
)
=
o
+
t
d
r(t)=\textbf{o}+t\textbf{d}
r(t)=o+td,其中
o
\textbf{o}
o是射线原点,近处远处的界限为
t
n
t_n
tn和
t
f
t_f
tf,则期望的颜色
C
(
r
)
C(r)
C(r)可以被表示为:
C
(
r
)
=
∫
t
n
t
f
T
(
t
)
σ
(
r
(
t
)
)
c
(
r
(
t
)
,
d
)
d
t
,
where
T
(
t
)
=
e
x
p
(
−
∫
t
n
t
σ
(
r
(
s
)
)
d
s
)
C(r)=\int^{t_f}_{t_n}T(t)\sigma(r(t))\textbf{c}(\textbf{r}(t),\textbf{d})dt,\text{where } T(t)=exp\bigl(-\int^t_{t_n}\sigma(\textbf{r}(s))ds\bigr)
C(r)=∫tntfT(t)σ(r(t))c(r(t),d)dt,where T(t)=exp(−∫tntσ(r(s))ds)其中函数
T
(
t
)
T(t)
T(t)表示射线从
t
n
t_n
tn到
t
t
t的累积透明度(accumulated transmittance),即光线从
t
n
t_n
tn到
t
t
t而不击中任何其他粒子的概率;
原文中表示,从NeRF去渲染一幅场景图像需要跟踪通过该虚拟相机的每个像素点的相机光线去估计这个积分的值 C ( r ) C(\textbf{r}) C(r),而像素点是离散化的,所以采用计算机进行计算时需要将该表达式离散化。最直观的思路则是运用一种常用于渲染离散体素网络的方法——确定性求积(Deterministic quadrature),其原理是在需要求积的区域均匀地采样N个点进行近似计算;但是原文表示这样使得MLP只会在固定的离散位置集中被查询(query),从而选择性地限制图像表示的分辨率。
Rendering a view from our continuous neural radiance field requires estimating this integral C ( r ) C(\textbf{r}) C(r) for a camera ray traced through each pixel of the desired virtual camera.
Deterministic quadrature, which is typically used for rendering discretized voxel grids, would effectively limit our representation’s resolution because the MLP would only be queried at a fixed discrete set of locations.
所以原文提出了一种新的思路——分层抽样法(stratified sampling approach),即将
t
n
t_n
tn到
t
f
t_f
tf分为N个均匀区间,然后从每一个区间中随机抽取一个样本点,则第i个采样点可以表示为:
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} [ t_n+\frac{i-1}{N}(t_f-t_n),t_n+\frac{i}{N}(t_f-t_n) ]
ti∼U[tn+Ni−1(tf−tn),tn+Ni(tf−tn)]
这样做,由于是随机采样,即使是同一条射线采样点也会不同,保证了MLP在不断的训练优化的过程中被估计在宏观上“连续”的位置,从而确保了场景表示的连续性。基于以上的思路,将积分转化为求和的形式为:
C
^
(
r
)
=
∑
i
=
1
N
T
i
(
1
−
e
x
p
(
−
σ
i
θ
i
)
)
c
i
,
其中
T
i
=
e
x
p
(
−
∑
j
=
1
i
−
1
σ
j
θ
j
)
,
δ
i
=
t
i
+
1
−
t
i
是相邻采样点的距离
\hat{C}(\textbf{r})=\sum^N_{i=1}T_i(1-exp(-\sigma_i\theta_i))\textbf{c}_i,\text{其中 }T_i=exp(-\sum^{i-1}_{j=1}\sigma_j\theta_j),\delta_i=t_{i+1}-t_i\text{是相邻采样点的距离}
C^(r)=i=1∑NTi(1−exp(−σiθi))ci,其中 Ti=exp(−j=1∑i−1σjθj),δi=ti+1−ti是相邻采样点的距离
原文表示,如上图所示,直接将位置信息和观察方向作为MLP网络的输入而得到的图像,在对于高分辨率场景的表示时效果不佳,这说明深度网络适合学习低频函数;而采用Positional encoding的方式使用高频函数将输入数据进行升维,映射到高维空间后,能够有效的拟合并表示出高分辨率细节;
文中运用的编码函数为:
γ
(
p
)
=
(
s
i
n
(
2
0
π
p
)
,
c
o
s
(
2
0
π
p
)
,
⋯
,
s
i
n
(
2
L
−
1
π
p
)
,
c
o
s
(
2
L
−
1
π
p
)
)
\gamma(p)=(sin(2^0\pi p),cos(2^0\pi p),\cdots ,sin(2^{L-1}\pi p),cos(2^{L-1}\pi p))
γ(p)=(sin(20πp),cos(20πp),⋯,sin(2L−1πp),cos(2L−1πp))
其中L是维度参数,L越大则能够拟合更高频的内容,经过另一篇论文的实验结果,将
γ
(
x
)
\gamma(\textbf{x})
γ(x)的L设为10,
γ
(
d
)
\gamma(\textbf{d})
γ(d)的L设为4。
原本的渲染方法——在每个摄像机射线的N个查询点上密集地评估神经辐射场网络是低效的,因为对渲染图像没有贡献的自由空间和遮挡区域仍然重复采样。 所以原文又提出了一种分层表示的方法——通过按样本对最终渲染的预期效果的贡献比例分配样本来提高绘制效率。
a hierarchical representation that increases rendering efficiency by allocating samples proportionally to their expected effect on the final rendering
文章中同时对两个网络进行优化,分别为粗网络(coarse)和精网络(fine);首先用均匀随机抽样在
N
c
N_c
Nc个点集中进行采样,并通过coarse网络进行估计输出结果;利用网络输出的
σ
i
\sigma_i
σi结果,改写离散求和函数当中的参数:
C
^
c
(
r
)
=
∑
i
=
1
N
w
i
c
i
\hat{C}_c(\textbf{r})=\sum^N_{i=1}w_i\textbf{c}_i
C^c(r)=∑i=1Nwici,令
w
i
=
T
i
⋅
(
1
−
e
x
p
(
−
σ
i
δ
i
)
)
w_i=T_i\cdot(1-exp(-\sigma_i\delta_i))
wi=Ti⋅(1−exp(−σiδi)),并且对
w
i
w_i
wi进行归一化:
w
^
i
=
w
i
∑
j
=
1
N
c
w
j
\hat{w}_i=\frac{w_i}{\sum^{N_c}_{j=1}w_j}
w^i=∑j=1Ncwjwi,该
w
^
i
\hat{w}_i
w^i可以被视为是沿着射线的物体的概率密度函数,通过这个概率密度函数,我们可以粗略地得到射线方向上物体的分布情况;
接下来根据这个概率密度函数,采用逆变换采样(inverse transform sampling),得到
N
f
N_f
Nf个点,并且用所有
N
c
+
N
f
N_c+N_f
Nc+Nf个样本点通过fine网络计算渲染结果;
最后定义需要优化的损失函数为: L = ∑ r ∈ R [ ∣ ∣ C ^ c ( r ) − C ( r ) ∣ ∣ 2 2 + ∣ ∣ C ^ f ( r ) − C ( r ) ∣ ∣ 2 2 ] \mathcal{L}=\sum_{r\in R}[||\hat{C}_c(r)-C(r)||^2_2+||\hat{C}_f(r)-C(r)||^2_2] L=r∈R∑[∣∣C^c(r)−C(r)∣∣22+∣∣C^f(r)−C(r)∣∣22]
[1]:RAY TRACING VOLUME DENSITIES
[2]:辐射神经场算法——NeRF算法详解
[3]:NeRF原理解析
[4]:【NeRF论文笔记】用于视图合成的神经辐射场技术
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。