22、Point-NeRF: Point-based Neural Radiance Fields

简介

主页:https://xharlie.github.io/projects/project_sites/pointnerf/
在这里插入图片描述
像NeRF这样的体积神经绘制方法可以生成高质量的视图合成结果,但对每个场景进行了优化,导致重建时间过长。另一方面,深度多视图立体(deep multi-view stereo)方法可以通过直接的网络推理快速重建场景几何。point - nerf结合了这两种方法的优点,Point-NeRF使用神经3D点有效地表示和渲染连续的辐射体积。基于点的亮度场可以通过网络正向推理对多视角图像进行预测。然后可以对每个场景进行优化,在几十分钟内实现超过NeRF的重建质量。point - nerf还可以利用现成的重建方法,如COLMAP,并能够执行点修剪和增长,自动修复这些方法中常见的漏洞和异常值。

实现流程

在这里插入图片描述

  • 使用, G p , y G{p,y} Gp,y (参考deep MVS)生成点云,通过 G f G_f Gf 从每个图像Iq中提取神经2D图像特征图,这些特征图与 G p , y G{p,y} Gp,y 的点(深度)预测对齐,通过将一个三维点反投影到每一层并获取多尺度特征来提取点特征 f i f_i fi。(这一步也可以通过预先提供的点云替代,点云特征随机初始化,就是效果不太好)
  • 射线在点云中采样速度慢,用3D网格包裹点云,减少射线空白查询
  • 点云稀疏、离群,每个点云特征加入置信度 γ i γ_i γi,通过点的置信度剪枝,通过透明度 α i \alpha_i αi 和 与点云边界距离实现补全

Point-NeRF Representation

NeRF提出用MLP来回归这样的辐射场,而论文提出用点云作为替代来计算体素属性,NeRF体渲染公式如下
在这里插入图片描述

一个点云 P = { ( p i , f i , γ i ) ∣ i = 1 , . . . , N } P = \{(p_i, f_i, γ_i)|i = 1, ..., N \} P={(pi,fi,γi)i=1,...,N},其中每个点 i 位于 p i p_i pi 并与含有局部场景信息的神经特征向量 f i f_i fi 关联, y i y_i yi 是一个在[0,1]之间的置信值,描述了这个点接近真实场景表面的程度

给定任意一个3D位置 x,在一定半径 R 内查询它周围的 K 个相邻的神经点,基于点的神经辐射场可以被抽象为一个神经模块,它在任何位置 x 从其相邻位置回归体积密度 σ 和视相关辐亮度 r (在方向d上)

总的来说,论文使用一个类似 PointNet 的神经网络,完成上述回归过程,首先对每个神经点进行神经处理,然后对多点信息进行聚合,得到最终的估计值
在这里插入图片描述

Per-point processing

使用一个MLP F来处理每个相邻的神经点,以预测阴影位置 x 的一个新的特征向量
在这里插入图片描述
本质上,特征向量 f i f_i fi 编码了 p i p_i pi 周围的局部3D场景内容,这个MLP网络表达了一个局部三维函数,在 x 输出特定的神经场景描述 f i , x f_{i,x} fi,x,由其局部帧中的神经点建模。使用相对位置x−p 使网络对点平移不变,以更好地泛化

View-dependent radiance regression

使用标准的反距离加权(距离越远,权重越低)来聚合神经特征 f i , x f_{i,x} fi,x,从这 K 个相邻点回归,得到一个描述 x 处场景外观的单一特征 f x f_x fx
在这里插入图片描述
然后MLP,R,从给定观察方向 d 的特征回归视图相关的辐射
在这里插入图片描述
反距离权值 w i w_i wi 广泛应用于分散数据插值;利用它来聚合神经特征,使更近的神经点对阴影计算有更大的贡献。此外,在此过程中使用了per-point confidence γ;这在最终的重建中得到了优化,具有稀疏性损失 sparsity loss,网络拒绝了不必要的点

Density regression

为了计算 x 处的体积密度 σ,遵循一个类似的多点聚合,首先使用MLP T回归每点的密度 σ i σ_i σi,然后进行基于距离的反加权
在这里插入图片描述
每个神经点直接贡献于体积密度,而点置信度 γ i γ_i γi 与此贡献明确相关,在点去除过程中利用了这一点

Point-NeRF Reconstruction

现在开始重建基于点的辐射场,首先利用一个跨场景训练的深度神经网络,通过直接网络推理来生成一个基于点的初始场。通过点生长修剪技术,进一步优化了这个初始场,通过相应的梯度更新进行初始预测和优化
在这里插入图片描述
虚线表示亮度场初始化和每个场景优化的梯度更新

Generating initial point-based radiance fields

在这里插入图片描述
通过MLP可以预测每个神经点的属性,但是这过于依赖现有的点云,效率不高。论文提出了一个神经生成模块来预测所有的神经点属性,包括点位置 p i p_i pi、神经特征 f i f_i fi 和点置信度 γ i γ_i γi
在这里插入图片描述
随机初始化点需要更多的迭代次数才能勉强提升效果

利用深度MVS方法,使用基于成本体积的3D CNNs来生成3D点位置,这种网络能产生高质量的密集几何结构,并能很好地跨领域推广

输入图像 I q I_q Iq 在每个视点 q 处有摄像机参数 Φ q Φ_q Φq,遵循MVSNet,通过从相邻视点扭曲二维图像特征,构建平面扫描代价体积 plane-swept cost volume,然后使用深度3D CNNs回归深度概率体积,深度概率描述了点在表面上的可能性,因此对深度概率体积进行三线性采样,以获得每个点 p i p_i pi 上的点置信度 γ i γ_i γi

通过线性组合每个平面的深度值来计算深度图Depth,然后将深度映射投影到3D空间以获得每个视图 q 的点云 { p 1 , … , p N q } \{p_1,…, p_{N_q}\} {p1pNq}
在这里插入图片描述
G p , γ G_{p,γ} Gp,γ 是基于MVSNet网络。 I q 1 , Φ q 1 , … … I_{q_1},Φ_{q_1},…… Iq1Φq1…… 是在MVS重建中使用的附加相邻视图;在大多数情况下,使用了两个附加的视图.

与此同时使用二维CNN G f G_f Gf 从每个图像 I q I_q Iq 中提取神经二维图像特征图。这些特征图与 G p , γ G_{p,γ} Gp,γ 的点(深度)预测对齐,并用于直接预测每个点的特征 f i f_i fi
在这里插入图片描述
G f G_f Gf使用了一个VGG网络架构,它有三个降采样层。将不同分辨率的中间特征结合为 f i f_i fi,提供了一个有意义的点描述来建模多尺度场景外观

最后从多个视点组合点云来得到最终的神经点云,除了使用上述点云生成模块,模型支持使用从COLMAP等其他方法重建的点云

Optimizing point-based radiance fields

  • Point pruning

点云通常包含降低渲染质量的空洞和异常值,直接优化现有点的位置会使训练不稳定,不能填补大洞,论文为此提出点剪枝生长技术,逐步提高几何建模和渲染质量

在生成点云的时候,使用了点置信值 γ i γ_i γi 来描述一个神经点是否靠近一个场景表面,为此利用这些置信度值来修剪不必要的离群点, 点置信值 γ i γ_i γi 与体积密度回归中的每点贡献直接相关,因此,低置信值反映了一个点的局部区域的低体积密度,表明它是空的。因此,每10K迭代修剪一次具有 γ i γ_i γi<0.1的点。同时对点置信度施加了一个稀疏性损失,迫使置信度值接近于零或1

在这里插入图片描述在这里插入图片描述
剪枝技术可以去除离群点,减少相应的伪影

  • Point growing

网络需要增长新的点来覆盖原始点云中缺失的场景几何,使用基于Point-NeRF表示建模的局部场景几何,逐步增长点云边界附近的点,利用了每条射线的位置 x j x_j xj 在射线行进ray marching中取样,以识别新的候选点。具体来说,确定了沿射线具有最高不透明度的位置 x j g x_{j_g} xjg
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于行进射线 marching ray,在 x j g x_{j_g} xjg 处增加一个神经点,当满足
在这里插入图片描述
这意味着该位置位于表面附近,但远离其他神经点,重复这种增长策略,辐射场可以扩展到覆盖初始点云中缺失的区域。点增长特别有利于用像COLMAP这样不密集的方法重建的点云
在这里插入图片描述

Volume Rendering

对每点的相对位置、特征以及观察方向应用频率位置编码。从网络 G f G_f Gf 中不同分辨率的三层中提取多尺度图像特征,得到一个具有56个(8+16+32)通道的向量。此外,还从每个输入视点添加了相应的查看方向,以处理与视图相关的效果。因此,最终的每点神经特征是一个59通道向量
在这里插入图片描述
从K(8个)神经点邻居计算阴影位置x处的辐射场网络管道。“PosEN”表示位置编码。“d3”表示在x处的3通道视图方向矢量。最终输出是亮度颜色 r 和密度 σ。

总损失
在这里插入图片描述
a = 2 e − 3 a = 2e^{−3} a=2e3

Limitations

因为没有关注渲染速度,也没有为快速渲染优化实现(点查询和点特征聚合)。虽然,模型自然比NeRF (3X)快,因为跳过了空白区域的阴影。

效果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值