您当前的位置:企业聚焦 >  >> 正文
NeurIPS 2022 | 利用多光照信息的单视角NeRF算法S^3-NeRF,可恢复场景几何与材质信息 世界要闻

时间:2023-01-09 14:17:39    来源:机器之心


(资料图)

机器之心专栏

作者:杨雯琦

S3-NeRF 通过利用不同点光源下捕获的单视图图像学习神经反射场(neural reflectance field)以重建场景的 3D 几何和材质信息。与依赖于视图间照片一致性(photo-consistency)的多视图场景重建(multi-view scene reconstruction)不同,S3-NeRF 主要利用图像中的 shading 和 shadow 信息来推断可见 / 不可见区域的场景几何。

目前图像 3D 重建工作通常采用恒定自然光照条件下从多个视点(multi-view)捕获目标场景的多视图立体重建方法(Multi-view Stereo)。然而,这些方法通常假设朗伯表面,并且难以恢复高频细节。 另一种场景重建方法是利用固定视点但不同点光源下捕获的图像。例如光度立体 (Photometric Stereo) 方法就采用这种设置并利用其 shading 信息来重建非朗伯物体的表面细节。然而,现有的单视图方法通常采用法线贴图(normal map)或深度图(depth map)来表征可见表面,这使得它们无法描述物体背面和被遮挡的区域,只能重建 2.5D 场景几何。此外,法线贴图无法处理深度不连续的情况。 在最近的一项研究中,来自香港大学、香港中文大学(深圳)、南洋理工大学、MIT-IBM Waston AI Lab 的研究者们提出了通过利用单视图多光源(single-view,multi-lights)图像,重建完整 3D 场景的工作。 论文链接:https://arxiv.org/abs/2210.08936 论文主页:https://ywq.github.io/s3nerf/ 代码链接:https://github.com/ywq/s3nerf 与现有基于法线贴图或深度图的单视图方法不同,S 3 -NeRF 基于神经场景表征(neural scene representation),同时利用场景中的 shading 和 shadow 信息来重建整个 3D 场景(包括可见 / 不可见区域)。神经场景表征方法使用多层感知器 (MLP)对 连续 3D 空间进行建模,将 3D 点映射到如密度、颜色等的场景属性。尽管神经场景表征在多视图重建和新视图合成方面取得了重大进展,但其在单视图场景建模中的探索较少。与现有依赖多视图照片一致性的基于神经场景表征的方法不同,S3-NeRF 主要通过利用单视图下的 shading 和 shadow 信息来优化神经场。 我们发现简单的在 NeRF 中直接引入光源位置信息作为输入无法重建场景的几何和外观。为了更好地利用捕获的光度立体图像,我们使用反射场(reflectance field)对表面几何和 BRDF 进行显式建模,并采用基于物理的渲染来计算场景 3D 点的颜色,并通过立体渲染得到该光线(ray)对应的二维像素的颜色。同时,我们对场景的可见度(visibility)进行可微建模,通过追踪 3D 点到光源之间的光线,计算该点的可见度。然而,考虑一条光线上所有采样点的可见性计算成本较大,因此我们通过计算光线追踪得到的表面点的可见性来优化阴影建模。 基于神经反射场的场景表征我们采用类似 UNISURF 的 occupancy field 来表征场景几何。UNISURF 通过 MLP 将 3D 点坐标及视线方向映射到该点的 occupancy 值和颜色,并通过立体渲染得到像素的颜色, N v 为每 条射线上采样 点的数量。 为了有效利用光度立体图像中的 shading 信息,S3-NeRF 显式地对场景的 BRDF 进行了建模,并使用基于物理的渲染得到 3D 点的颜色。同时我们对场景 3D 点的光可见性进行建模以利用图像中丰富的阴影线索,并通过下式得到最后的像素值。 基于物理的渲染模型我们的方法考虑了非朗伯表面和空间变化的 BRDF。点 x 在近场点光源(pl, Le)下从视线方向 d 观测得到的值可以表示为 其中,我们考虑到点光源的光线衰减问题,通过光源 - 点之间的距离计算入射该点处的光照强度。我们采用考虑漫反射和镜面反射的 BRDF 模型 通过球形高斯(Sphere Gaussian)基的加权组合来表示镜面反射率 阴影建模阴影在场景几何重建中是至关重要的其中一个线索。图中的三个物体在正视图中具有相同的形状和外观,但其背面却是形状各异。通过不同光照下产生的阴影,我们可以观察到其阴影的形状各不相同,这些反应了正视图中不可见区域的几何信息。光线通过映射在背景中的阴影对物体的背面轮廓产生了一定的约束。 我们通过计算 3D 点 - 光源之间的 occupancy 值来反映该点的光可见度 其中,N L 是该点 - 光源线段上采样的点的数量。 由于计算像素点沿光线采样的所有 Nv 点的可见度计算成本较大(O (NvNL)),现有的方法有的采用 MLP 直接回归点的可见度(O (Nv)),或是得到场景几何后预先提取表面点(O (NL))。S3-NeRF 则通过 root-finding 定位的表面点以在线方式计算该像素的光可见度,并通过下式表示像素值。 场景优化我们的方法不需要对阴影进行监督,而是依靠图像的重建 loss 来进行优化。考虑到单视角下没有其他视角带来的额外约束,如果采用类似 UNISURF 逐渐缩小采样范围的采样策略,将会导致模型在采样间隔减小后开始退化。因此,我们采用联合立体渲染和表面渲染的策略,利用 root-finding 定位得到的表面点渲染颜色并计算 L1 loss。 实验结果与神经辐射场方法的比较我们首先与基于神经辐射场的两个 baseline 方法进行比较(由于任务不同,我们在其颜色 MLP 中引入光源信息)。可以看到它们无法重建场景几何,也无法准确生成新光照下的阴影。 与单视角形状估计方法的比较在与现有单视图法线 / 深度估计的方法比较中可以看到,我们的方法在法线估计和深度估计上都取得了最好的结果,并且能够同时重建场景中可见与不可见的区域。 不同背景的场景重建我们的方法适用于各种不同背景条件的场景。 新视图渲染、改变光照与材料编辑基于神经反射场的场景建模,我们成功解耦了场景的几何 / 材质 / 光照等,因而可以应用于新视图渲染、改变场景光照、材料编辑等应用。 真实拍摄场景的重建我们拍摄了三个真实场景来探索其实用性。我们将相机位置固定,利用手机的手电筒作为点光源(环境光源关闭),手持手电筒随机移动以捕捉不同光源下的图像。该设置无需光源校准,我们应用 SDPS‑Net 得到光源方向的粗略估计,并粗略估计相机 - 物体及光源 - 物体的相对距离来初始化光源位置。光源位置在训练过程中随场景的几何和 BRDF 联合优化。可以看到即便是较为随意的数据捕捉设置(没有对于光源的校准),我们的方法仍能较好的重建 3D 场景几何。 总结S3-NeRF 通过利用单视图多个点光源下拍摄的图像来优化神经反射场以重建 3D 场景几何和材质信息。 通过利用 shading 和 shadow 线索,S3-NeRF 能有效恢复场景中可见 / 不可见区域的几何形状,实现单目视角下完整场景几何 / BRDF 的重建。 各项实验表明我们的方法能够重建各种复杂几何 / 材质的场景,并能应对各种几何 / 材质的背景以及不同的光照数量 / 光源分布。

©THE END

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

关键词: 法线贴图 光源位置

X 关闭

X 关闭