5、nerf++(pytorch)

简介

《NeRF++: Analyzing and Improving Nerual Radiance Fileds》,该论文主要包括两部分:一部分是分析了原始NeRF具备的形状-光线模糊性问题,另一部分是提出了一个解决室外360度开放场景的渲染方案。
在这里插入图片描述
在这里插入图片描述

SHAPE-RADIANCE AMBIGUITY(形状-辐射模糊度)

在这里插入图片描述
NeRF通过隐式表达的方式完成新视角合成任务,也就是说NeRF依赖与视图外观进行建模,这就导致了3D形状和辐射度之间的固有模糊性。

对于在一个场景数据下训练好的Nerf表示,其空间的几何表示可能是错误的,但仍然可以在训练样本上渲染出正确的结果,简单来说,由于损失函数只是要求预测颜色与原图接近就行,所以即使训练体积密度σ 是错误的,也能在训练集得到较为的结果

在论文中,作者先使用一个球形的模型去训练NeRF中的σ ,然后再使用上左中的GT training view去训练NeRF中的c ,在相同视角下进行预测时发现即使在错误的σ分布下仍然能输出较好的图像质量,但是一旦更换视角(GT test view)就会输出如上左图的结果。造成该现象的原因正是View-Dependent的网络设计

作者认为有两点因素让Nerf避免受这样的歧义性干扰,一点是如果σ和正确的几何形状偏差较大,那么c的建模必然是关于方向d的高频信号。对于正确的几何建模,c的建模会是平滑的。受限于MLP的有限回归能力,σ与正确几何偏差较大的表示对应的c是难以训练出来的。另一点因素是方向d参数在靠后的层数才被输入,这更加限制了利用该信息拟合高频信号的能力,再加上考虑对于d的正余弦编码到高维空间的空间维度2L的L参数,方向d的L值为4,相比于x的10小,也限制了其表达能力。因此最终训练得到的隐式场反映的会是正确的几何

在这里插入图片描述
作者将采样点的位置x和方向d都从网络的第一层输入的话并且位置编码的L参数都为10,网络整体效果就会下降(vanilla MLP)

INVERTED SPHERE PARAMETRIZATION(倒球面参数化)

在这里插入图片描述
Nerf在建模室外场景时,对于远景,如果不对其进行建模,则会造成背景误差,如果对其建模,由于尺度问题会造成前景的分辨率下降

在原始NeRF中,对于Front-View的开放场景,使用的一种名为NDT坐标系的方式(可以简单理解为逆深度),但是对于360度的开放场景NDT坐标系是搞不定的,于是作者提出了360度开放场景的一种解决方案:将360度开放场景的渲染分为两部分通过两个NeRF进行渲染
在这里插入图片描述

首先将场景空间划分为两个体积,一个内部单位球体和一个由覆盖内部体积补集的反向球体表示的外部体积。内部体积包含前景和所有摄像机,而外部体积包含环境的剩余部分

在这里插入图片描述

渲染光线的颜色,需要单独进行光线投射,然后进行最终合成。内部NeRF不需要重新参数化,因为场景的这一部分被很好地限制住了。对于外部NeRF,我们应用了一个反向球体参数化

在这里插入图片描述
在这里插入图片描述
首先,通过令∣ o + ta d ∣=1就可以求得点 a 的坐标,同理点 b = o + tb d 可以通过d T ( o + t b d ) = 0求得,经过几何求解 w = arcsin|b| - arcsin(|b| / r),然后再对a反向进行渲染即可得到p的方向x’,y’,z’。

公式详解
a点坐标:我们知道射线 o + t d 得到的是世界坐标系下的3d坐标,球心为世界坐标系中心点(计为H),那么对射线上一点取模为1,即Ha为1,也就是球体半径
b点坐标:作点到线段的垂线,可以假设垂线相交与b,满足Hb * Ob = |Hb| * |Ob| * cosΘ = 0,b点坐标为 o + tb d,射线单位方向d(dT)的转置与Hb( o + tb d)相乘为0,求出b点坐标
w:几何求解∠w = ∠baH - ∠bpH,也就是 w = arcsin(|b| / 1) - arcsin(|b| / r),arcsin(|b| / 1)= ∠baH,arcsin(|b| / r)= ∠bpH

原本的渲染公式修改为
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值