基于多视图的神经隐式表面重建
从NeRF开始,对场景的隐式表达成为了一种高效且compact的方法。原始的NeRF对场景的体密度进行parameterize,而只有体密度无法重建出场景表面。于是后续的一些工作定义了能够表达表面的几何表征,如SDF、Occupancy,且这些几何量也能还原出体密度,甚至还能还原出法向量。
但是,即使是对SDF这类定义进行parameterize,最终的loss仍然是视图输入的RGB loss,而这是非常under-constraint的,因为一个像素的约束范围是穿过这个像素的一整条光线,这条光线体密度和颜色的不同分布的组合都能还原出这个像素RGB的GT。所以以往的仅基于RGB loss的方法,在less-observed和textureless区域都表现不佳。
为了解决这个问题,一些工作开始加入一些3D视觉先验loss,来正则化模型损失。比如depth smoothness、surface smoothness、semantic similarity、Manhattan world assumptions(墙壁道路这些区域应当横平竖直)。近年来随着单目工作的不断发展,基于预训练模型给出的单目深度图和法向量图就可以当作这个任务的很好的“补充材料”,给予了模型更多细粒度的约束,从而大幅提升重建精度,加快重建收敛速度。
得到场景SDF后,沿光线进行采样,沿用体渲染的方式对图片进行渲染:
(1)SDF变密度
采用的是NIPS2021《Volume rendering of neural implicit surfaces》里的方法,图像是:
(2)颜色预测
x是3D空间位置,v是视角信息,n是x点SDF的解析梯度,z是x点SDF特征网格的第二个MLP输出(第二个decoder),z采用的是NIPS2020《Multiview neural surface reconstruction by disentangling geometry and appearance》的方法。