论文阅读《Point NeRF:Point-based Neural Radiance Fileds》
创始人
2024-05-31 11:09:35
0

论文地址:https://arxiv.org/abs/2201.08845
源码地址:https://xharlie.github.io/projects/project_sites/pointnerf


概述

  体素神经渲染的方法生成高质量的结果非常耗时,且对不同场景需要重新训练(模型不具备泛化能力),而基于MVS的方法可以快速重建场景。Point NeRF结合了两种方法的优点,通过在基于光线进行的渲染管道中聚合场景表面附近的神经点特征来有效渲染。Point NeRF与可以与其他 3D 重建方法结合,并使用一种新的剪枝与生长机制来处理此类方法中的错误与异常值,其重建方法比NeRF提升了30倍。


Point-NeRF 场景表示

在这里插入图片描述

体渲染与辐射场

  经典的体渲染模型可以通过沿着可微的光线来计算预测的结果,如式1所示:
c=∑Mτj(1−exp⁡(−σjΔj))rj,τj=exp⁡(−∑t=1j−1σtΔt).(1)\begin{aligned} c & =\sum_{M} \tau_{j}\left(1-\exp \left(-\sigma_{j} \Delta_{j}\right)\right) r_{j}, \\ \tau_{j} & =\exp \left(-\sum_{t=1}^{j-1} \sigma_{t} \Delta_{t}\right) . \end{aligned}\tag{1}cτj​​=M∑​τj​(1−exp(−σj​Δj​))rj​,=exp(−t=1∑j−1​σt​Δt​).​(1)
其中 τ\tauτ 表示透过率,σj\sigma_jσj​ 表示每个点的体密度,rjr_jrj​ 表示点的颜色 ,Δ\DeltaΔ 表示相邻采样点之间的距离。
辐射场是使用每个点的3D坐标与方向信息来表示空间中点的颜色与不透明度的一种方式。NeRF使用空间点的坐标与方向信息来回归辐射场。

基于点云的辐射场

  神经点云表示为 P={(pi,fi,γi)∣i=1,...,N}P=\{(p_i, f_i, \gamma_i)|i=1, ...,N\}P={(pi​,fi​,γi​)∣i=1,...,N} ,其中 pip_ipi​ 表示空间点的位置,fif_ifi​ 表示的局部场景信息的特征向量,γi∈[0,1]\gamma_i\in[0,1]γi​∈[0,1] 表示点的置信度(点在物体表明的概率),Point NeRF使用神经点云来回归辐射场。

  给定任意 3D 点的位置 xxx ,得到半径为 RRR 的范围内的 KKK 个邻域神经点。Point-NeRF可以被抽象为一个神经模块——任意点沿着任意方向从邻域点K回归出对应的 σ\sigmaσ (不透明度)与 rrr (RGB值):
(σ,r)=Point -NeRF⁡(x,d,p1,f1,γ1,…,pK,fK,γK)(2)(\sigma, r)=\text { Point -} \operatorname{NeRF}\left(x, d, p_{1}, f_{1}, \gamma_{1}, \ldots, p_{K}, f_{K}, \gamma_{K}\right)\tag{2}(σ,r)= Point -NeRF(x,d,p1​,f1​,γ1​,…,pK​,fK​,γK​)(2)
PointNeRF使用类似PointNet的多层MLP结构来回归辐射场。

Per-Point processing:使用基于MLP的F来对 xxx 的邻域神经点处理,得到表示 xxx 位置的特征向量:
fi,x=F(fi,x−pi)(3)f_{i, x}=F(f_i, x-p_i)\tag{3}fi,x​=F(fi​,x−pi​)(3)
使用了相对位置信息 x−pix-p_ix−pi​ 有利于提高模型的泛化能力。
View-dependent radiance regression: 对邻域内神经点的特征向量进行加权得到表示位置 xxx 的特征向量:
fx=∑iγiwi∑wifi,x, where wi=1∥pi−x∥. (4)f_{x}=\sum_{i} \gamma_{i} \frac{w_{i}}{\sum w_{i}} f_{i, x} \text {, where } w_{i}=\frac{1}{\left\|p_{i}-x\right\|} \text {. }\tag{4}fx​=i∑​γi​∑wi​wi​​fi,x​, where wi​=∥pi​−x∥1​. (4)
其中 γi\gamma_iγi​ 为 iii 点的置信度。
  使用基于MLP的 RRR 来回归得到 xxx 位置关于 ddd 方向的RGB值:
r=R(fx,d)(5)r = R(f_x, d)\tag{5}r=R(fx​,d)(5)
Density regression:使用基于MLP的 TTT 来回归不透明度,并使用邻域点的不透明度进行加权,如式6所示:
σi=T(fi,x)σ=∑iσiγiwi∑wi,wi=1∥pi−x∥(6)\begin{aligned} \sigma_{i} & =T\left(f_{i, x}\right) \\ \sigma & =\sum_{i} \sigma_{i} \gamma_{i} \frac{w_{i}}{\sum w_{i}}, w_{i}=\frac{1}{\left\|p_{i}-x\right\|} \end{aligned}\tag{6}σi​σ​=T(fi,x​)=i∑​σi​γi​∑wi​wi​​,wi​=∥pi​−x∥1​​(6)
  Point-NeRF在3D层面进行体渲染,通过神经点引导模型在物体表面进行渲染,避免了在大范围深度场景采样,减小了计算量。

Point-NeRF 重建

在这里插入图片描述

Generating initial pointbased radiance fields

神经点的位置与置信度:以多张带有位姿的视图为输入,基于MVSNet获取点云与每个点的置信度:
{pi,γi}=Gp,γ(Iq,Φq,Iq1,Φq1,Iq2,Φq2,…)(7)\left\{p_{i}, \gamma_{i}\right\}=G_{p, \gamma}\left(I_{q}, \Phi_{q}, I_{q_{1}}, \Phi_{q_{1}}, I_{q_{2}}, \Phi_{q_{2}}, \ldots\right)\tag{7}{pi​,γi​}=Gp,γ​(Iq​,Φq​,Iq1​​,Φq1​​,Iq2​​,Φq2​​,…)(7)
神经点特征:使用带有3个下采样层的 VGG 架构 GfG_fGf​ 来提取 2D 图像的多尺度特征图 IqI_qIq​:
{fi}=Gf(Iq)(8)\left\{f_{i}\right\}=G_{f}\left(I_{q}\right)\tag{8}{fi​}=Gf​(Iq​)(8)

Optimizing pointbased radiance fields

  初始点云的有空洞与离群点会影响渲染质量,使用点云剪枝与生长来对初始点云进行优化。
剪枝:使用置信度 γi\gamma_iγi​ 来对初始点云剪枝,每迭代 10k 次就给将 γi<0.1\gamma_i<0.1γi​<0.1 的点云剔除。
在这里插入图片描述
  同时使用置信度稀疏损失函数,使得模型在优化过程中将置信度趋近于 0 或趋近为 1:
Lsparse =1∣γ∣∑γi[log⁡(γi)+log⁡(1−γi)](9)\mathcal{L}_{\text {sparse }}=\frac{1}{|\gamma|} \sum_{\gamma_{i}}\left[\log \left(\gamma_{i}\right)+\log \left(1-\gamma_{i}\right)\right]\tag{9}Lsparse ​=∣γ∣1​γi​∑​[log(γi​)+log(1−γi​)](9)
生长:使用点云生长方法来填充空洞区域的点云,选择渲染过程中不透明度最高的点 xjgx_{jg}xjg​ 为初始点:
αj=1−exp⁡(−σjΔj),jg=argmax⁡jαj(10)\alpha_{j}=1-\exp \left(-\sigma_{j} \Delta_{j}\right), \quad j_{g}=\underset{j}{\operatorname{argmax}} \alpha_{j} \tag{10}αj​=1−exp(−σj​Δj​),jg​=jargmax​αj​(10)
计算与 xjgx_{jg}xjg​ 最近的领域点的距离 ϵjg\epsilon_{jg}ϵjg​,如果同时满足 αjg>Topacity\alpha_{jg}>T_{opacity}αjg​>Topacity​ 与 ϵjg>Tdist\epsilon_{jg}>T_{dist}ϵjg​>Tdist​ 则生长一个点,这些天满足在物体表面附近且远离其他点,通过重复迭代这种生长策略来得到覆盖物体表面的点云。
在这里插入图片描述
损失函数
Lopt =Lrender +aLsparse (11)\mathcal{L}_{\text {opt }}=\mathcal{L}_{\text {render }}+a \mathcal{L}_{\text {sparse }}\tag{11}Lopt ​=Lrender ​+aLsparse ​(11)
其中 Lrender \mathcal{L}_{\text {render }}Lrender ​ 为渲染过程中的损失函数,α=2e−3\alpha=2e^{-3}α=2e−3


实验结果

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

在这里插入图片描述

相关内容

热门资讯

评书童林传250回的和300回... 评书童林传250回的和300回的有什么不一样?内容上是完全一样的,只是在剪辑时语速有所不同。 ...
为啥 有声小说凡人修仙传 和 ... 为啥 有声小说凡人修仙传 和 修真世界 很久都不更新了呢? 播音大灰狼去干吗了?凡人修仙传 和 修真...
月宫的主人不是嫦娥,你知道《封... 月宫的主人不是嫦娥,你知道《封神榜》中姜子牙封了谁吗?大家口中所说的嫦娥在历史上,其实并不是一个人,...
华软科技涨1.15%,成交额6... 7月1日,华软科技盘中上涨1.15%,截至09:57,报6.17元/股,成交6068.05万元,换手...
时间久了是不是真的会忘记? 时间久了是不是真的会忘记?如果那时是真的伤到了心,是不会忘记的,只会淡化,再久的时间想起来还是会有一...
菲沃泰涨1.21%,成交额66... 7月1日,菲沃泰盘中上涨1.21%,截至09:58,报16.76元/股,成交662.09万元,换手率...
党员总数超28.77万名 基层... 来源:本站原创  安庆市委组织部最新党内统计数据显示,截至2024年底,安庆市共有中国共产党党员28...
三棵树成立新材料科技子公司 转自:证券时报人民财讯7月1日电,企查查APP显示,近日,三棵树(海南)新材料科技有限公司成立,注册...
正海生物涨1.07%,成交额9... 7月1日,正海生物盘中上涨1.07%,截至09:43,报20.72元/股,成交936.02万元,换手...
奥联电子跌1.01%,成交额1... 7月1日,奥联电子(维权)盘中下跌1.01%,截至09:44,报15.69元/股,成交1018.39...