简介
主页:https://zju3dv.github.io/neuralrecon-w
给定大量捕捉热门旅游景点的互联网照片(左),学习产生高质量的3D表面重建,有效地建模整个3D场景与新的混合神经隐式表示(右)。颜色表示表面法线
实现流程
球基抽样与论文提出的抽样策略的比较。NeuS中使用的基于球体的采样(a),它产生的样本分布在整个单位球体上,并覆盖整个场景,导致大多数样本位于空区域,因此没有必要。建议体素引导采样(b),通过只在SfM点云估计的表面周围的稀疏体素内采样(为了清晰起见,只显示了体素的子集),以避免不必要的样本。为了进一步增加表面周围的采样密度,另外提出了一种表面引导的采样策略©,其中将之前训练迭代的SDF值存储在稀疏体素中,并在以估计表面位置为中心的较小范围内生成样本。请注意,从(a)到(b)到©的每个采样策略所考虑的体积的每个连续区域都是逐渐变小的,正如二维蓝色和红色边界框所建议的那样。
通过优化图像重建损失来重建一个三维场景作为神经网络的权重,参考NeRF-W使用潜在外观建模,以不同照明的不受约束的互联网集合为3D场景建模,为了对精确的曲面几何建模,扩展了NeuS中提出的场景表示,使用两个由MLPs编码的神经隐式函数 𝑑 和 𝑐𝑖 来表示场景,给定场景中的点 x∈R3,观看方向 v∈S2,图像索引 𝑖
{e𝑖}𝑁𝑖=1是每个输入照片对应的外观嵌入,与MLPs的参数一起优化
函数 d 近似到真表面 𝑆 的有符号距离,表示为这个函数的零水平集
函数 𝑐𝑖 模拟3D点 x 在给定图像 𝑖 中的外观,允许每个输入图像的不同外观
通过光线 {r(𝑡) = o + 𝑡v|𝑡 ≥ 0} 得到颜色
C
^
\hat{C}
C^ i
(
r
)
(r)
(r)
𝑤(𝑡)是一个无偏和遮挡感知的权重函数(详情请看NeuS)
动态对象(在Internet集合中非常突出)会显著影响模型的性能,因为瞬态头部主导了渲染的颜色,导致所有场景结构建模为视相关的瞬态效果,而不是几何图形
Efficient Sampling during Training
引入了一种混合体素和表面引导的采样策略来提高训练效率
从右侧图像中所示的红色框中对应像素的射线中可视化样本。NeuS中的分层抽样(左上)使用了一组冗余的精细级样本(总共1024个),而表面引导抽样(左下)使用的样本要少得多(总共24个)。在精细级采样的最后一次迭代中,来自表面引导采样(右下)的样本比来自NeuS(右上)的样本密度更大,更接近表面,引导网络更精确地拟合表面几何形状。采样点是由训练好的模型生成的。网格显示只是为了清晰。
Voxel-guided sampling
为了加快训练速度,首先通过将搜索空间从整个单位球减少到一个包含真实表面位置的更小的空间包络线来去除不必要的训练样本,其中粗糙的初始表面估计是由 SfM 在估计的相机姿态旁边产生的稀疏点云提供的。然后在训练开始时,从稀疏的 SfM 点云生成一个稀疏体 Vsfm,这个稀疏的体量通过 3D 扩张操作进行扩展,以确保大多数可见表面都被这个体量包围,给定射线的采样范围可以减少到每条射线与 Vsfm 之间的内外交点,在此阶段进行采样 𝑛𝑣 点。
体素引导采样不是从密集的体素网格中进行修剪,而是利用来自SfM已经可用的3D信息作为更明确的指导,以减少点采样的搜索空间,构建的稀疏体素将场景粗略地分离为前景和背景区域,通过去除不与稀疏体素相交的射线(例如天空中的背景射线),所需的训练射线的数量通常可以减少30%以上。
Surface-guided sampling
为了训练几何函数 𝑑 准确拟合三维表面,在真实表面周围生成尽可能多的样本
因此,论文提出了一种表面引导采样策略,进一步增加真实表面周围的样本密度。在通过 Voxel-guided 抽样引导训练之后,利用之前训练迭代的表面位置估计来生成新的样本。为了实现这一点,将之前迭代的 SDF 预测缓存到稀疏体素 Vcache 中,并在每次训练迭代时从这个缓存中查询表面位置。Vcache是一个建立在 Vsfm 之上的八叉树,深度为 ℓ 。使用查询的表面位置 x ^ \hat{x} x^ ,在表面位置周围较窄的范围内 ( x ^ \hat{x} x^−𝑡𝑠, x ^ \hat{x} x^+𝑡𝑠) 查询多个 𝑛𝑠 样本。在训练期间,Vcache会定期更新,以确保存储的 SDF 值是最新的。
缓存的表面位置提供了一个很好的近似真实的表面位置,使得网络在以前的估计上改进。Surface-guided 用真实表面位置周围的样本来解释渲染的颜色,允许网络更准确地贴合几何形状。研究表明,如果没有表面引导采样,即使给予足够的时间,训练也无法收敛到相同的精度。
Hybrid sampling
由于对空白空间的监督不足,仅使用 Surface-guided 将导致体素边界周围产生伪影,为此,使用 Voxel-guided 和 Surface-guided 的混合采样,为了保证良好的采样密度,在 Surface-guided 之后再进行一次重要采样迭代,使每条射线的采样总数达到 𝑛𝑣+ 2 × 𝑛𝑠
其他细节
Handling transient objects
直接使用 NeRF-W 中提出的动态对象建模策略(即:,瞬态NeRF头),瞬态NeRF将主导呈现的颜色,所有场景结构都将被NeRF 而不是几何 MLP 𝑑 建模为依赖于视图的瞬态效果,因为 𝑑 比 NeRF 收敛得慢,因此使用分割遮罩来去除属于动态对象的光线
Supervision signals and handling the textureless sky
在NeuS之后,使用L1损失来监督渲染的彩色图像(LCOLOR),并使用 eikonal 术语 LREG来正则化 SDF。由于没有纹理的天空缺乏运动视差,像在 NeuS 中那样直接使用背景削弱来实现前景背景分离,将导致包含在球形壳中的重建。𝑉sfm中剩余的背景光线(大部分是天空)被标记为语义蒙版,并通过LMASK作为自由空间进行惩罚。由于背景的语义蒙版并不完美,而且常常包含前景场景结构,只应用了较小权重的LMASK,经验发现它可以在保持前景结构完整的同时删除天空。有关LCOLOR, LREG和LMASK的详细信息,请参阅 NeuS。