pixelNeRF: Neural Radiance Fields from One or Few Images(pixel NeRF:来自一个或几个图像的神经辐射场)
这篇论文属于泛化NeRF系列,NeRF构建神经辐射场的方法往往需要大量的已知观察视角的图片作为输入并且需要花费大量的训练时间,PixelNeRF为了克服这些不足,允许网络跨多个场景被训练以学习先前的场景(获取场景先验知识),使其能够以前馈的方式从稀疏(sparse)的视图集(如一个)执行新的视图合成。利用NERF的体绘制方法,文中的模型可以在没有显式3D监督的情况下直接从图像训练。
pixelNeRF将与每个像素对齐的空间图像特征也输入到MLP中。这种图像调节允许框架在一组多视图图像上进行训练,其中它可以学习场景先验以从一个或几个输入视图执行视图合成,提供更多训练知识,提高稀疏视图的重建能力。
模型架构
这是基于空间图像特征调节NeRF的架构,由两个组件组成:一个全卷积图像编码器E,它将输入图像编码为像素对齐的特征网格;一个NeRF网络f,它在给定空间位置及其相应的编码特征的情况下输出颜色和密度。
单张图像场景
对于单张图片I,首先提取特征体积W=E(I),将相机坐标系作为世界坐标系即可,对于相机射线x上的一个点,通过已知的内参,将x投影到图像坐标π(x)上,然后在像素特征之间进行双线性插值来提取相应的图像特征向量W(π(x))。最后把图像特征连同位置和视图方向(都在输入视图坐标系统中)传递到NeRF网络中。网络架构如下
这里输入的就是W(πx):特征向量、x:位置、d:观看方向
公式如下,输出的到颜色和体密度
多视角图像场景
多个视图提供了有关场景的附加信息,并解决了单视图固有的三维几何歧义
这里随意定义一个世界坐标系,假设只知道相对的相机姿势。第I个输入图像表示为I(I),则外参可以表示为P(I)= [ R(I), t(I)],表示旋转和平移的矩阵,通过该矩阵可以将世界坐标转化为相机坐标系中。对于新的目标摄影机光线,将查询点x(视图方向为d)转换为每个输入视图i的坐标系,世界到摄影机的转换为:
这里的观看方向只和旋转矩阵R有关,平移不改变方向
运行流程
1、将每个输入图像编码为特征量W(i)=E(i(i))i=1-N张图片。对于视图空间点x(i),我们从投影图像坐标π(x(i))处的特征体积W(i)中提取相应的图像特征。
2、将这些x(位置坐标)b(观看方向)W(i)(对应特征信息)输入到NeRF网络f1 中,这个网络输出的是中间特征向量。如下图
3、最后用平均池化算子ψ将中间向量V(i)聚合并传递到最后一层f2,得到预测的密度和颜色:
网络结构
学习链接
https://blog.csdn.net/qq_44916258/article/details/125019005
https://blog.csdn.net/weixin_50973728/article/details/126469740