NeRF从一张或者几张图像上合成新颖视角图像。作者展示了pixelNeRF,一个学习框架能够从一张(上方)或几张位置图像(下方)上预测一个神经辐射场(NeRF)。pixelNeRF能够在一系列的多视角图像上训练,无测试时间优化(左下图),可以从较少输入图像上生成合理的新颖视角图像。相反,NeRF在只有三张输入图像时(右下),不能合成新颖视角图像,即合成效果差。
摘要
本文提出一个学习框架pixelNeRF,该框架能够在一张或几张输入图像条件下,预测一个连续神经表示场景。当前存在的神经辐射场方法,需要独立优化每个场景的表示,许多标定视角以及大量的计算时间。本文作者通过对输入图像全卷积特征提取后经NeRF框架处理,来解决上述缺点。这种操作可以使网络在多个场景下训练来学习一个先验场景,从稀疏的视图(甚至只有一张图像)下,以前馈神经网络方式合成新颖的视图。利用NeRF的体神经渲染方法,本文的模型可以在不需要清晰3D监督情况下,就可以在图像上直接训练。网站:https://alexyu.net/pixelnerf
方法
在单视角情况下本文提出的框架。对于一个目标相机在方向d上查询点x对应的图像特征,通过在体特征W上投影和差值来得到。这个特征然后通过一个沿着空间坐标的NeRF网络f处理。输出颜色和稠密度值是体渲染和对应目标的像素值。坐标x和方向d是在输入视角相机的相机坐标系下。
单图像pixelNeRF
作者将坐标系固定在输入图像的视图空间下,并在此坐标系指定位置和相机光线。
给定场景的一张输入图像I,作者提取体特征:
然后,对于在相机射线x处的一点,作者利用已知的内参将x投影到图像平面上的图像坐标,然后在特征对之间双线性差值来提取特征向量。图像特征连同位置和方向一起传入NeRF网络(均在输入视图坐标系下):
合并多视图
多视图提供关于场景的其它信息,可以解决单视图中3D几何模棱两可的情况。本文提出的模型在测试时允许输入任意数量的视图,区别于当前存在的方法,本文在测试时只需要输入一张图像。另外,本文的公式是独立于世界空间的选择和输入视图的顺序。
这里假设多视图下,我们只知道相机的相对位姿。这样对于一个新目标的光线,我们可以转化这个查询点x和查看方向d,到每个输入视角的坐标系统:
本文对于NeRF中的初始层定义为f1,能够独立的处理每个输入视角空间。最后一层为f2累加合成视图。
本文编码每个输入图像到体特征。对于查看空间点x,本文在投影图像坐标系下,从体特征提取对应的图像特征。然后将这些输入下面公式得到中间向量,
累加上述中间公式,然后经过平均池化操作后,经最后一层全连接处理,预测出透明度和颜色信息:
结论
下面定量和定性看一下本文所设计出的网络效果:
作者最后还讨论到关于NeRF的缺点:
1)渲染时间慢,本文渲染时间会随着输入的增加而增加;
2)尺度不变性;
3)当前所做的实验都是在受限场景下进行的,如何整体学习360度场景,需要进一步探索;