【论文阅读笔记】Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields

paper:https://arxiv.org/abs/2111.12077
code:https://github.com/google-research/multinerf
project:https://jonbarron.info/mipnerf360/

概述

MipNeRF360是在NeRF++和MipNeRF的基础上进行的扩展,利用NeRF++提出的远景参数化技巧和MipNeRF的低通滤波思想同时实现了无界场景的高质量渲染与抗锯齿。

摘要

  1. 现有方法在新视角合成方面取得了令人影响深刻的结果
  2. 但是现有方案由于附近和远处物体的细节和比例不平衡导致模糊和低分辨率渲染
  3. 提出了基于mipnerf的扩展:场景参数化在线蒸馏一种失真正则化来克服抗锯齿和无界场景渲染
  4. 目标场景是相机围绕一个点旋转360度的场景,同时能够得到较低的误差和更好的渲染质量、更详细的深度图

引言

  1. NeRF(Neural Radiance Fields)使用沿着射线的无穷小3D点来建模多层感知机(MLP)的输入,这种建模方式在渲染不同分辨率的视图时可能会导致混叠现象
  2. MipNeRF沿着截椎体进行推断,提高了质量但和NeRF一样都在渲染无界场景的时候遇到困难
  3. 现有方法在处理无界场景的问题
    • 参数化:无界的360度场景可以占据一个任意大的欧几里德空间区域,但mip-NeRF要求3D场景坐标位于有界域内。
    • 效率:大型和详细的场景需要更多的网络容量,但在训练过程中沿着每条射线密集查询大型MLP是昂贵的。
    • 歧义性:无界场景的内容可能位于任意距离,并且只有少数射线观察到,加剧了从2D图像重建3D内容的固有歧义性

参数化

  1. NeRF 成功的一个方面是它将特定场景类型与其适当的 3D 参数化配对,比如mask场景可直接在3D欧式空间进行参数化场景;对于前置场景,NeRF使用投影空间中定义的坐标(归一化设备坐标,或“NDC”)。通过将无限深的相机视锥体变形为有界的立方体,其中沿着z轴的距离对应视差(逆距离),NDC有效地重新分配了NeRF MLP的容量,以与透视投影的几何形状一致。
  2. NeRF++ 使用一个额外的网络来模拟远处的对象;DONeRF 提出了一种空间扭曲过程,以将远处的点缩小到原点

效率

  1. 随着场景的变大,MLP的容量也需要变大吗,带来了时间复杂度的增长
  2. NeRF使用两个网络分别表达粗采样和细采样,但是粗采样对于最终图像没有贡献;本文使用了一个小型的proposal MLP和一个较大的NeRF MLP。proposal MLP预测体积密度,用于重新采样提供给NeRF MLP的新间隔,然后渲染图像。
  3. proposal MLP生成的权重使用NeRF MLP生成的直方图权重进行监督,而不是输入图像。这使得能够使用一个大型的NeRF MLP,相对较少地进行评估,以及一个小型的提案MLP,进行更多次的评估。因此,整个模型的总容量比mip-NeRF的容量大得多(约15倍),从而显著提高了渲染质量,但我们的训练时间仅略有增加(约2倍)。
  4. 两个MLP同时训练,被称为在线蒸馏。NeRV使用类似的建模可见性和光照,DONeRF使用深度图监督,TermiNeRF使用类似方案加速了推理,但减慢了训练
  5. 几项工作尝试将训练好的NeRF**压缩或“烘焙”**成一个可以快速渲染的格式[KiloNeRF等],但没有加速训练过程。在渲染领域,通过使用层次化数据结构(如八叉树或包围体层次结构)来加速光线追踪的思想已经得到了广泛探索,但这些方法假设对场景的几何形状有先验知识,因此无法自然地推广到逆向渲染的情景中,其中场景的几何形状是未知的,需要进行恢复。事实上,尽管在优化类似NeRF模型时构建了八叉树加速结构,但神经稀疏体素场方法并没有显著减少训练时间。

歧义性

  1. 无限系列的nerf可以解释输入图像,但只有一个小子集为新视图产生可接受的结果。(参见nerf++)例如,一个NeRF可以通过将每个图像重新构建为其相应相机前方的纹理平面来重新创建所有输入图像
  2. 原始的NeRF论文通过在NeRF MLP的密度头部在整流器之前注入高斯噪声来正则化模糊的场景这样可以使密度趋向于零或无穷大。尽管通过抑制半透明密度减少了一些"浮游物",但我们将展示这对于我们更具挑战性的任务是不够的。其他的NeRF正则化方法也已经被提出,比如对密度的鲁棒损失或对表面的平滑惩罚[UNISURF,NeRFactor],但这些解决方案解决的问题与我们的不同(渲染缓慢和非平滑表面)。此外,这些正则化方法是针对NeRF使用的点采样设计的,而我们的方法是为每个mip-NeRF射线上定义的连续权重而设计的。

mip-NeRF

使用位置集成编码对沿射线方向的圆锥台区间计算位置编码的均值和方差
γ ( μ , Σ ) = { [ sin ⁡ ( 2 ℓ μ ) exp ⁡ ( − 2 2 ℓ − 1 diag ⁡ ( Σ ) ) cos ⁡ ( 2 ℓ μ ) exp ⁡ ( − 2 2 ℓ − 1 diag ⁡ ( Σ ) ) ] } ℓ = 0 L − 1 \gamma(\boldsymbol{\mu}, \boldsymbol{\Sigma})=\left\{\left[\begin{array}{l} \sin \left(2^{\ell} \boldsymbol{\mu}\right) \exp \left(-2^{2 \ell-1} \operatorname{diag}(\boldsymbol{\Sigma})\right) \\ \cos \left(2^{\ell} \boldsymbol{\mu}\right) \exp \left(-2^{2 \ell-1} \operatorname{diag}(\boldsymbol{\Sigma})\right) \end{array}\right]\right\}_{\ell=0}^{L-1} γ(μ,Σ)={ [sin(2μ)exp(221diag(Σ))cos(2μ)exp(221diag(Σ))]}=0L1

参考之前的文章:【论文阅读笔记】NeRF+Mip-NeRF+Instant-NGP

场景和光线参数化

根据一阶泰勒展开,可以将高斯函数的变换进行线性近似:
f ( x ) ≈ f ( μ ) + J f ( μ ) ( x − μ ) f(\mathbf{x}) \approx f(\boldsymbol{\mu})+\mathbf{J}_{f}(\boldsymbol{\mu})(\mathbf{x}-\boldsymbol{\mu}) f(x)f(μ)+Jf(μ)(xμ)
J f ( μ ) \mathbf{J}_{f}(\boldsymbol{\mu}) Jf(μ)是在 μ \boldsymbol{\mu} μ处的 f f f的雅可比矩阵,
f ( μ , Σ ) = ( f ( μ ) , J f ( μ ) Σ J f ( μ ) T ) f(\boldsymbol{\mu}, \boldsymbol{\Sigma})=\left(f(\boldsymbol{\mu}), \mathbf{J}_{f}(\boldsymbol{\mu}) \boldsymbol{\Sigma} \mathbf{J}_{f}(\boldsymbol{\mu})^{\mathrm{T}}\right) f(μ,Σ)=(f(μ),Jf(μ)ΣJf(μ)T)

这在功能上等同于经典的扩展卡尔曼滤波器,其中 f f f是状态转移模型。我们选择的 f f f如下所示的契约:
contract ⁡ ( x ) = { x ∥ x ∥ ≤ 1 ( 2 − 1 ∥ x ∥ ) ( x ∥ x ∥ ) ∥ x ∥ > 1 \operatorname{contract}(\mathbf{x})=\left\{\begin{array}{ll} \mathbf{x} & \|\mathbf{x}\| \leq 1 \\ \left(2-\frac{1}{\|\mathbf{x}\|}\right)\left(\frac{\mathbf{x}}{\|\mathbf{x}\|}\right) & \|\mathbf{x}\|>1 \end{array}\right. contract(x)={ x(2x1)(xx)x1x>1
这种设计与 NDC 具有相同的动机:远处的点应该按比例分布到视差(逆距离)而不是距离


我们的场景参数化的二维可视化如上图所示。我们定义了一个契约(contract)算子(方程式10,用箭头表示),它将坐标映射到半径为2的球体(橙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值