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

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

  • 声明
  • 论文概述
  • Section 4的创新点以及方法解读
    • 1. Block块大小和位置的选择(Block Size and Placement)
    • 2. Block-NeRFs网络搭建(Training Individual Block-NeRFs)
      • 2.1 外观嵌入(Appearance Embeddings)### 2.2曝光嵌入(Exposure Input)
      • 2.2曝光嵌入(Exposure Input)
      • 2.3 可见性预测(Visibility Prediction)
      • 2.4 通过学习的位姿细化(Learned Pose Refinement)
      • 2.5 瞬态对象(Transient Objects)
    • 3. 合并多个Block-NeRFs(Merging Multiple Block-NeRFs)
      • 3.1 Block-NeRF的选择(Block-NeRF Selection)
      • 3.2 Block-NeRF的组合(Block-NeRF Compositing)
      • 3.3 外观匹配(Appearance Matching)
  • 参考文献和资料

声明

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

论文概述

NeRF神经辐射场学习笔记(八)— Block-NeRF论文创新点解读_第1张图片
Block-NeRF是一种NeRF新的延伸,用来表示大规模环境。在渲染城市规模的场景时,将城市场景分为多个模块(Blocks),并且将NeRF也单独分配给每个block进行渲染,在预测时动态地呈现和组合这些NeRFs。这种分解(decomposition)的过程将渲染时间与场景大小解耦(decouples),即分隔开两者之间的必然联系,使渲染能够扩展到任意大的环境,并允许对环境进行逐块更新(per-block updates ofthe environment)。
针对以下目的——使NERF对不同环境条件下数月捕获的城市场景的数据具有鲁棒性,Block-NeRF的一些建设性的改进:

  • 外观嵌入(appearance embeddings)和通过学习的位姿优化(learned pose refinement):应对采集数据时的环境变化和位姿错误;(environmental changes and pose errors)
  • 对于单个NeRF的可控曝光(controllable exposure):通过添加曝光条件来提供在预测时修改曝光的能力;
  • 提出了一种在相邻NeRFs之间的配准方法(aligning appearance between adjacent NeRFs):通过优化不同Block-NeRF的外观嵌入信息以匹配光照条件,并使用基于每个块神经网络到新视图的距离计算的插值权重(use interpolation weights computed based on each Block-NeRF’s distance to the novel view),使整个场景实现视觉上的配准;

Section 4的创新点以及方法解读

1. Block块大小和位置的选择(Block Size and Placement)

所有Block-NeRFs应该整体实现对目标场景的全覆盖,并确保每个Block-NeRF都是在一个区域范围内的数据上进行训练的。故规定——在每个十字路口放置一个Block-NeRF,该Block-NeRF覆盖十字路口本身和任何连接的街道的75%的道路,直到与下个十字路口汇聚;这导致在连接街道段上的任何两个相邻街区之间有50%的重叠,使它们之间的外观匹配更容易。

2. Block-NeRFs网络搭建(Training Individual Block-NeRFs)

NeRF神经辐射场学习笔记(八)— Block-NeRF论文创新点解读_第2张图片
Block-NeRF的MLP网络是基于Mip-NeRF和NeRF-W的扩展,第一级MLP f σ f_{\sigma} fσ用来预测空间中某个点 x \pmb{x} xx的体密度 σ \sigma σ,接着输出的向量信息与方向信息 d \pmb{d} dd、曝光度、外观嵌入信息一同传递到第二级MLP f c f_c fc,并且输出该点的颜色信息。不同的是,Block-NeRF还额外搭建了一个MLP f v f_v fv用来预测训练场景中的某一个点是否可见,在最后的推理场景时将用于筛选Block-NeRF。

2.1 外观嵌入(Appearance Embeddings)### 2.2曝光嵌入(Exposure Input)

Appearance信息的嵌入,可以使得Block-NeRF解释一些环境变化的条件,如变化的天气和光照。 如下图所示,我们还可以操作这些外观嵌入,以便在训练数据中观察到的不同条件之间进行转换(例如多云和晴天,或者白天和黑夜)。
NeRF神经辐射场学习笔记(八)— Block-NeRF论文创新点解读_第3张图片

2.2曝光嵌入(Exposure Input)

而曝光水平过高,可能会对NeRF训练产生影响,向MLP嵌入曝光信息可以使NeRF补偿视差;其中曝光信息为 γ P E \gamma_{PE} γPE(快门速度 × \times ×模拟增益(analog gain)/t)——一个具有4个电平的正弦位置编码,t作为缩放因子实际取1000。如下图所示,模型以曝光信息为条件,用来解释训练数据中的曝光变化,这使得在最后的预测场景时以人类可解释的方式改变输出图像的appearance:
NeRF神经辐射场学习笔记(八)— Block-NeRF论文创新点解读_第4张图片

2.3 可见性预测(Visibility Prediction)

在合并多个Block-NeRF时,应该能够判断出特定的场景区域是否对该Block-NeRF可见,故文章搭建了一个小的MLP f v f_v fv,以位置信息 x \pmb{x} xx和方向信息 d \pmb{d} dd作为输入,用来学习样本点可见性的近似值(an approximation of the visibility)。可见性预测还有两个作用——可以帮助确定一个特定的NeRF是否可能为给定的位置产生有意义的输出可用于确定在两个NeRF之间执行外观匹配的位置

2.4 通过学习的位姿细化(Learned Pose Refinement)

进一步学习正则化后的位姿偏移会有利于最后场景的配准,而位姿细化的相关知识在iNeRF、NeRF-、Barf、A-nerf都有讨论。

2.5 瞬态对象(Transient Objects)

文章利用一个语义分割模型——Panoptic-deeplab来忽略训练过程中常见的移动对象。

3. 合并多个Block-NeRFs(Merging Multiple Block-NeRFs)

3.1 Block-NeRF的选择(Block-NeRF Selection)

两种用于渲染给定目标视点(the given target viewpoint)的筛选机制:

  • 只考虑目标视点半径范围内的Block-NeRFs;
  • 计算所有候选项的可见性,若平均可见性低于阈值,则舍弃该Block-NeRF;
    NeRF神经辐射场学习笔记(八)— Block-NeRF论文创新点解读_第5张图片

3.2 Block-NeRF的组合(Block-NeRF Compositing)

接着从筛选后的Block-NeRF中渲染颜色信息,并使用相机原点 c c c和Block-NeRF中心点 x i x_i xi之间的反距离加权进行插值,这个操作可以使得该渲染结果在各个Block-NeRF之间平滑的过渡。

3.3 外观匹配(Appearance Matching)

NeRF神经辐射场学习笔记(八)— Block-NeRF论文创新点解读_第6张图片
我觉得这部分说的不是很清楚,大概就是通过判断相邻两个Block-NeRF之间的可见性均较高的区域作为3D配准的位置,之后只对目标Block-NeRF的appearance信息进行优化,以减少各个区域渲染之间的 l 2 l_2 l2损失;由于该优化只针对场景外观进行迭代,所以速度很快,目的并非完美配准两个场景,而是使两个场景之间的appearance信息基本一致(同一时间、同一光照、同一种天气等)。如上图所示,从Base Block-NeRF开始,通过迭代优化邻近Block-NeRF的外观,将优化后的外观传播到场景中。

参考文献和资料

[1]Block-NeRF原文
[2]Block-NeRF官网

你可能感兴趣的:(学习,人工智能,深度学习)