NeRF神经辐射场学习笔记(四)——Mip NeRF论文创新点解读

声明

本人书写本系列博客目的是为了记录我学习三维重建领域相关知识的过程和心得,不涉及任何商业意图,欢迎互相交流,批评指正。

论文概述

“mip”来自于拉丁语 multum in parvo 的首字母,意思是“放置很多东西的小空间”,例如mipmapping——就是一种减少图像锯齿的技术;Mip NeRF是针对NeRF原始方法渲染时由于同一场景对应的多个图片分辨率不一致而出现模糊和锯齿的现象提出的,对于Mip NeRF而言,主要的创新点分为三个方面:

  1. Mip NeRF的渲染过程是基于抗锯齿的圆锥体(anti-aliased conical frustums);
  2. Mip NeRF提出了新的位置编码的方法——IPE(Integrated Positional Encoding);
  3. Mip NeRF将coarse和fine的MLP减少到一个单一的多尺度MLP(a single multiscale MLP);

混叠定义

根据笔记作者(什么是混叠?)的解释来看,当采样频率设置不合理时,即采样频率低于2倍的信号频率时,会导致原本的高频信号被采样成低频信号。如下图所示,红色信号是原始的高频信号,但是由于采样频率不满足采样定理的要求,导致实际采样点如图中蓝色实心点所示,将这些蓝色实际采样点连成曲线,可以明显地看出这是一个低频信号。在图示的时间长度内,原始红色信号有18个周期,但采样后的蓝色信号只有2个周期。也就是采样后的信号频率成分为原始信号频率成分的1/9,这就是所谓的混叠:高频混叠成低频了。
在这里插入图片描述
对连续信号进行等时间采样时,如果采样频率不满足采样定理,采样后的信号频率就会发生混叠,即高于奈奎斯特频率(采样频率的一半)的频率成分将被重构成低于奈奎斯特频率的信号。这种频谱的重叠导致的失真称为混叠,也就是高频信号被混叠成了低频信号。
锯齿产生的本质就源自于采样频率低于真实原始信号的频率,即信号处理中的“混叠”现象,所以要想改变NeRF渲染固定位置相机场景的局限性,需要替代渲染时的采样方式或者采样数量,而将one ray per pixel的采样数量提升到multiple rays per pixel能够使采样更接近奈奎斯特频率,但是时间成本太高,故Mip NeRF在渲染过程中使用圆锥体替代光线进行采样。

1.Cone Tracing(基于conical frustums的渲染采样)

在这里插入图片描述
当观察方向产生远近或者方向变化时,利用NeRF基于ray的采样方式对于此种变化不敏感,因此可能会产生相同的采样特征,从而显著降低NERF的性能。而基于圆锥体采样的方式显示地建模了每个采样圆锥台(图中梯形)体积变化,从而解决了这种模糊性。
在这里插入图片描述

对于任意一个像素点,从相机的投影中心 o \textbf{o} o沿着穿过像素中心的方向 d \textbf{d} d投射出一个圆锥体,该圆锥体的顶点位于 o \textbf{o} o,并且在图像平面 o+d \textbf{o+d} o+d处的圆锥面的半径参数设为 r ˙ \dot{r} r˙。我们将 r ˙ \dot{r} r˙设置为世界坐标中像素的宽度,按 2 / 12 2/\sqrt{12} 2/12 缩放,它产生一个锥体,其在图像平面上的截面在x和y方向中有方差,该方差与像素足迹的方差相匹配(which yields a conewhose section on the image plane has a variance in x and y that matches the variance of the pixel’s footprint.),位于两个t值 [ t 0 , t 1 ] [t_0,t_1] [t0,t1]之间的圆锥台内的位置 x \textbf{x} x的集合可以表示为: F ( x , o , d , r ˙ , t 0 , t 1 ) = 1 { ( t 0 < d T ( x-o ) ∣ ∣ d ∣ ∣ 2 2 < t 1 ) ∧ ( d T ( x-o ) ∣ ∣ d ∣ ∣ 2 ∣ ∣ x-o ∣ ∣ 2 > 1 1 + ( r ˙ / ∣ ∣ d ∣ ∣ 2 ) 2 ) } F(\textbf{x},\textbf{o},\textbf{d},\dot{r},t_0,t_1)=\mathbb{1}\left\{ \left( t_0<\frac{\text{d}^T(\textbf{x-o})}{||\textbf{d}||^2_2}<t_1\right)\land \left(\frac{\text{d}^T(\textbf{x-o})}{||\textbf{d}||_2||\textbf{x-o}||_2}>\frac{1}{\sqrt{1+(\dot{r}/||\textbf{d}||_2)^2}}\right)\right\} F(x,o,d,r˙,t0,t1)=1{(t0<∣∣d22dT(x-o)<t1)(∣∣d2∣∣x-o2dT(x-o)>1+(r˙/∣∣d2)2 1)}其中 1 { ⋅ } \mathbb{1}\{\cdot\} 1{}是一个指示函数(indicator function):即如果 x \textbf{x} x介于 ( o , d , r ˙ , t 0 , t 1 ) (\textbf{o},\textbf{d},\dot{r},t_0,t_1) (o,d,r˙,t0,t1)定义的圆锥体内,则 F ( x , ⋅ ) = 1 F(\textbf{x},\cdot)=1 F(x,)=1

2.IPE(integrated Positional Encoding)

针对基于圆锥体采样方式,原始的位置编码表达式的积分没有封闭形式的解,不能有效地计算。故文章采用了一个多元高斯函数(multivariate Gaussian)来近似圆锥截面,这可以有效地近似成所需要的特征(allows for an efficient approximation to the desired feature)。为了用多元高斯函数逼近圆锥台,我们必须计算 F ( x , ⋅ ) F(\textbf{x},\cdot) F(x,)的均值和协方差,因为每个圆锥台假定是圆形的,而且圆锥台绕锥体的轴线是对称的,所以除了 o \textbf{o} o d \textbf{d} d以外,这种高斯模型完全由3个值来表示: μ t \mu_t μt(沿射线的平均距离)、 σ t 2 \sigma^2_t σt2(沿射线方向的方差)、 σ r 2 \sigma^2_r σr2(沿射线垂直方向的方差): μ t = t μ + 2 t μ t δ 2 3 t μ 2 + t δ 2 , σ t 2 = t t 2 3 − 4 t δ 4 ( 12 t μ 2 − t δ 2 ) 15 ( 3 t μ 2 + t δ 2 ) 2 , σ r 2 = r ˙ 2 ( t μ 2 4 + 5 t δ 2 12 − 4 t δ 4 15 ( 3 t μ 2 + t δ 2 ) ) \mu_t=t_{\mu}+\frac{2t_{\mu}t^2_{\delta}}{3t^2_{\mu}+t^2_{\delta}}, \sigma^2_t=\frac{t^2_t}{3}-\frac{4t^4_{\delta}(12t^2_{\mu}-t^2_{\delta})}{15(3t^2_{\mu}+t^2_{\delta})^2}, \sigma^2_r=\dot{r}^2\left(\frac{t^2_{\mu}}{4}+\frac{5t^2_{\delta}}{12}-\frac{4t^4_{\delta}}{15(3t^2_{\mu}+t^2_{\delta})}\right) μt=tμ+3tμ2+tδ22tμtδ2,σt2=3tt215(3tμ2+tδ2)24tδ4(12tμ2tδ2),σr2=r˙2(4tμ2+125tδ215(3tμ2+tδ2)4tδ4)其中定义中点为 t μ = ( t 0 + t 1 ) t_{\mu}=(t_0+t_1) tμ=(t0+t1),半宽为 t δ = ( t 1 − t 0 ) / 2 t_{\delta}=(t_1-t_0)/2 tδ=(t1t0)/2,上述变量都是根据这两个参数定义的,并且对数值稳定性至关重要。
紧接着可以将这个高斯模型从圆锥台的坐标系转换成世界坐标,得到最终的多元高斯模型: μ = o + μ t d , Σ = σ t 2 ( d d T ) + σ r 2 ( I − d d T ∣ ∣ d ∣ ∣ 2 2 ) \mu=\textbf{o}+\mu_t\textbf{d}, \Sigma=\sigma^2_t(\textbf{d}\textbf{d}^T)+\sigma^2_r\left(\textbf{I}-\frac{\textbf{d}\textbf{d}^T}{||\textbf{d}||^2_2}\right) μ=o+μtd,Σ=σt2(ddT)+σr2(I∣∣d22ddT)接下来推导IPE,它是根据前面提到的高斯分布的位置编码坐标的期望,即:IPE为高斯分布的positional encoding的期望值。首先将位置编码改写为矩阵形式(Fourier feature): P = [ 1 0 0 2 0 0 2 L − 1 0 0 0 1 0 0 2 0 ⋯ 0 2 L − 1 0 0 0 1 0 0 2 0 0 2 L − 1 ] T , γ ( x ) = [ s i n ( Px ) c o s ( Px ) ] \textbf{P}=\begin{bmatrix}1 & 0&0&2&0&0 &&2^{L-1}&0&0\\ 0 & 1&0&0&2&0 &\cdots&0&2^{L-1}&0\\ 0& 0&1&0&0&2&&0&0&2^{L-1}\end{bmatrix}^T, \gamma(\textbf{x})=\begin{bmatrix}sin(\textbf{Px} )\\ cos(\textbf{Px})\end{bmatrix} P= 1000100012000200022L10002L10002L1 T,γ(x)=[sin(Px)cos(Px)]利用协方差性质( C o v [ Ax , By ] = A C o v [ x , y ] B T Cov[\textbf{Ax},\textbf{By}]=\textbf{A}Cov[\textbf{x},\textbf{y}]\textbf{B}^T Cov[Ax,By]=ACov[x,y]BT),若对高斯模型进行位置编码,则位置编码必然服从于高斯分布,且期望和方差为: μ γ = P μ , Σ γ = P Σ P T \mu_{\gamma}=\textbf{P}\mu, \Sigma_{\gamma}=\textbf{P}\Sigma\textbf{P}^T μγ=Pμ,Σγ=PΣPT,再有如果 x \textbf{x} x服从高斯分布,则sin(x)和cos(x)的期望表示为 E x ∼ N ( μ , σ 2 ) [ s i n ( x ) ] = s i n ( μ ) e x p ( − ( 1 / 2 ) σ 2 ) E x ∼ N ( μ , σ 2 ) [ c o s ( x ) ] = c o s ( μ ) e x p ( − ( 1 / 2 ) σ 2 ) E_{x\thicksim\mathcal{N}(\mu,\sigma^2)}[sin(x)]=sin(\mu)exp(-(1/2)\sigma^2)\\E_{x\thicksim\mathcal{N}(\mu,\sigma^2)}[cos(x)]=cos(\mu)exp(-(1/2)\sigma^2) ExN(μ,σ2)[sin(x)]=sin(μ)exp((1/2)σ2)ExN(μ,σ2)[cos(x)]=cos(μ)exp((1/2)σ2)所以结合以上的原理如果想要计算IPE——即高斯分布的positional encoding的期望值,表达式为: γ ( μ , Σ ) = E x ∼ N ( μ γ , σ γ ) [ γ ( x ) ] = [ s i n ( μ γ ) ∘ e x p ( − ( 1 / 2 ) d i a g ( Σ γ ) ) c o s ( μ γ ) ∘ e x p ( − ( 1 / 2 ) d i a g ( Σ γ ) ) ] \gamma(\mu,\Sigma) = E_{\textbf{x}\thicksim\mathcal{N}(\mu_{\gamma},\sigma_{\gamma})}[\gamma(\textbf{x})] \\ =\begin{bmatrix}sin(\mu_{\gamma})\circ exp(-(1/2)diag(\Sigma_{\gamma}))\\ cos(\mu_{\gamma})\circ exp(-(1/2)diag(\Sigma_{\gamma}))\end{bmatrix} γ(μ,Σ)=ExN(μγ,σγ)[γ(x)]=[sin(μγ)exp((1/2)diag(Σγ))cos(μγ)exp((1/2)diag(Σγ))]其中 ∘ \circ 表示按元素相乘,并且为了减少不必要的计算量,对于模型的协方差直接用 Σ γ \Sigma_{\gamma} Σγ的对角线元素来替代: d i a g ( Σ γ ) = [ d i a g ( Σ ) , 4 d i a g ( Σ ) , … , 4 L − 1 d i a g ( Σ ) ] T diag(\Sigma_{\gamma})=[diag(\Sigma),4diag(\Sigma),\dots,4^{L-1}diag(\Sigma)]^T diag(Σγ)=[diag(Σ),4diag(Σ),,4L1diag(Σ)]T,而 d i a g ( Σ ) = σ t 2 ( d ∘ d ) + σ r 2 ( 1 − d ∘ d ∣ ∣ d ∣ ∣ 2 2 ) diag(\Sigma)=\sigma^2_t(\textbf{d}\circ\textbf{d})+\sigma^2_r\left(\textbf{1}-\frac{\textbf{d}\circ\textbf{d}}{||\textbf{d}||^2_2}\right) diag(Σ)=σt2(dd)+σr2(1∣∣d22dd),如果直接计算这些对角线,IPE特征与PE特征构造的代价大致相同。

IPE的优点

  1. PE的计算中所有频段都会被考虑到,也包括了可能超出采样频率的高频信息(这是前文中提到的锯齿(混叠)产生的主要原因)。而IPE通过计算期望,只需要考虑到 γ ( x ) \gamma(x) γ(x)的边缘分布,集成了PE特征,当存在频率周期小于被集成的频率周期时,IPE的高频维度将向零收缩,从而具有更好的抗锯齿性能;
    在这里插入图片描述

  2. 由于1中提到的原因,PE的表现依赖于超参数L(PE中的sin/cos阶数),可以看到,当L增大时,高频信息增加,效果也急剧下降了。而IPE的高频维度收缩能够使其摆脱超参数L的限制。
    在这里插入图片描述

3.单一的多尺度MLP的应用(the use of a single multiscale MLP)

NeRF使用具有两个不同MLP的分层抽样过程——fine和coarse。 这在NeRF中是必要的,因为它的PE特性意味着它的MLP只能学习单一规模的场景模型。 但是Mip NeRF服从高斯分布的位置编码可以自动在采样频率较低时(IPE特征间隔较宽时)弱化高频特征,从而缓解混叠现象。这种采样设计本身决定了其适用于多尺度情况,因此,Nerf的两个MLP可以合并为一个MLP。

参考文献和资料

[1]Mip-NeRF:抗混叠的多尺度神经辐射场ICCV2021
[2]Mip-NeRF论文笔记
[3]Mip-NeRF阅读笔记
[4]Mip NeRF原文

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

右边的口袋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值