目前图象 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与现有鉴于法线贴图或深度图的单视图办法不同,S3-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 值和色彩,并通过平面衬着获得像素的色彩,
Nv为每条射线上采样点的数量。为了有效哄骗光度平面图象中的 shading 信息,S3-NeRF 显式地对场景的 BRDF 进行了建模,并使用鉴于物理的衬着获得 3D 点的色彩。同时我们对场景 3D 点的光可见性进行建模以哄骗图象中丰富的暗影线索,并通过下式获得最后的像素值。
鉴于物理的衬着模型我们的办法考虑了非朗伯外观和空间变化的 BRDF。点 x 在近场点光源(pl, Le)下从视线方向 d 观测获得的值可以表示为
其中,我们考虑到点光源的光芒衰减问题,通过光源 – 点之间的距离估计入射该点处的光照强度。我们采纳考虑漫反射和镜面反射的 BRDF 模型
通过球形高斯(Sphere Gaussian)基的加权组合来表示镜面反射率
暗影建模暗影在场景多少重修中是至关重要的其中一个线索。图中的三个物体在正视图中具有相同的形状和外观,但其背面却是形状各异。通过不同光照下产生的暗影,我们可以观察到其暗影的形状各不相同,这些反应了正视图中不可见区域的多少信息。光芒通过映射在背景中的暗影对物体的背面轮廓产生了一定的约束。
我们通过估计 3D 点 – 光源之间的 occupancy 值来反映该点的光可见度
其中,NL是该点 – 光源线段上采样的点的数量。由于估计像素点沿光芒采样的所有 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 的重修。各项实验表明我们的办法能够重修各种复杂多少 / 材质的场景,并能应对各种多少 / 材质的背景以及不同的光照数量 / 光源分布。
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/25429