MVSNeRF

MVSNeRF: Fast Generalizable Radiance Field Reconstruction from Multi-View Stereo:基于多视图立体的快速可推广辐射场重建(ICCV 2021)
摘要中的主要思想:通过将附近输入视图的2D图像特征(由2D CNN推断)扭曲到参考视图的平截头体中的扫描平面上,在输入参考视图处构建成本体积。该网络对场景几何和外观进行推理,并输出神经辐射场利用3D CNN,重建(从成本体积)神经场景编码体积,该体积由编码关于局部场景几何和外观的信息的每体素神经特征组成。然后,我们使用多层感知器(MLP),使用编码体积内的三线插值神经特征对任意连续位置处的体积密度和辐射进行解码。本质上,编码体积是辐射场的局部神经表示;一旦估计,该体积可直接用于(丢弃3D CNN)通过可微分光线行进进行最终渲染。
本质上为MVS+NeRF,提高泛化能力。
主要思想:利用平面扫描3D成本体积进行几何感知场景理解
流程图
MVSNeRF_第1张图片

1、代价体构造

1.这里的操作与MVSNet类似,首先进行特征提取,得到原图长宽均为1/4,channel为C的特征图,有i张图输入,通过T卷积网络,得到Fi特征图
在这里插入图片描述
2.将所有特征图变换到参考相机的锥形立体空间,形成N个特征体Vi(四维向量)。论文中输入的图像是3张,所以将另外两张reference img的特征图经过单应性变换,投影到resource img相机的锥形立体空间中,得到3个特征体。这里选择128个深度值。关于MVSNet的理解,可以看以下博客

https://blog.csdn.net/qq_43027065/article/details/116641932
https://zhuanlan.zhihu.com/p/370952108

单应性变换公式,求的是从视图i到深度z处的参考视图的矩阵扭曲公式
在这里插入图片描述
这里先求出源视图的世界坐标,将这个世界坐标通过参考视图的相机外参转换到参考图的相机坐标系中,再通过内参投影到参考图中的像素坐标,经过转换可以得到源图中某点与参考图中的对应点,进而得到对应该点在参考图的相机下的的特征图,将所有点扭曲过来,再投影到对应深度处(相机锥体中的若干平行平面),就能得到该图在参考相机坐标系下的特征体Vi

每个特征图Fi可以通过以下方式扭曲到参考视图,u,v是参考图视角下的坐标系,z是对应的深度,这里得到的就是参考图中(u,v)坐标的像素对应的源图相机锥体中深度为z处的特征图
在这里插入图片描述
3.构造代价体,上一步操作得到的是三个特征体,接下来需要将三个特征体构造为一个代价体,代价体指的就是该点在此深度处的可能性大小,使用基于方差的代价指标衡量差距的大小(特征的相似性度量可以判断深度假设接近实际深度值的程度)将N+1个特征体在同一空间位置的相似性进行代价度量

在这里插入图片描述
Var为方差计算,下图为MVSNet中的公式,这里可以消去i这个特征体数量的自变量,变回四维。
MVSNeRF_第2张图片
我们就得到了代价体。
论文中为什么使用代价体的解释:
这种基于方差的成本体积编码了不同输入视图之间的图像外观变化;这解释了由场景几何体和视图相关着色效果引起的外观变化。虽然MVS工作仅将这样的体积用于几何重建,但我们证明它也可以用于推断完整的场景外观,并实现逼真的神经渲染。

2、辐射场重建

3D卷积:首先需要将代价体进行一个3D CNN卷积网络
Neural encoding volume:使用深度神经网络来有效地将构建的代价体转换为辐射场的重建,用一个3D CNN卷积网络 B来重建神经编码体S,S包含每体素的局部场景几何和表面。
在这里插入图片描述
B是一个具有下采样和上采样卷积层和跳过连接的3D UNet,它可以有效地推断和传播场景外观信息,从而产生有意义的场景编码体积S,该编码体积是以无监督的方式预测的,并在端到端训练中使用体积渲染进行推断。网络可以学习在每体素神经特征中编码有意义的场景几何体和外观;这些特征随后被连续内插并转换为体积密度和视景相关辐射。

Regressing volume properties:给定任意3D位置x和观看方向d,使用MLP 从神经编码体积S回归相应的体积密度σ和视相关辐射率r。网络还输入了来自原始图像Ii的像素颜色c=[I(ui,vi)]作为附加输入;这里(ui,vi)是将3D点x投影到视图i上时的像素位置,并且c将来自所有视图的颜色i(ui,vi)作为向量连接起来。MLP表示为:
在这里插入图片描述
f=S(x)是从位置x处的体积S三线插值的神经特征

3、体渲染

MVSNeRF重建神经编码体积,并回归场景中任意点处的体积密度和视颜色。这允许应用可微分体积渲染来回归图像颜色。体渲染给出的公式与NeRF中离散化的公式是类似的
MVSNeRF_第3张图片

使用L2损失函数进行网络训练,这里比较的就是得到的颜色与真实颜色的差距。
在这里插入图片描述

4、优化神经编码体积

论文中介绍神经编码体中回归密度和颜色的解码器具有很强的泛化性。NeRF是通过逐场景优化解决这个泛化性问题,但是花销很高,本文的做法是先只用3个生成,然后多余的图像可以用来fine-tune(微调)。
1.添加颜色,上文中输入的是像素的颜色,这里的改进是:通过将体素中心的每视图颜色作为附加通道附加到编码体积来实现独立的神经重建,这些颜色作为特征在每场景优化中也是可训练的。
2.优化:进一步微调体素特征以及MLP解码器,以在密集图像可用时执行快速的每场景优化。注意,只优化代价体的编码器(encoding volume)和MLP,而不是整个网络。这为神经优化提供了更大的灵活性,以在优化时独立地调整每体素局部神经特征;这比在体素上优化共享卷积运算更容易。

你可能感兴趣的:(深度学习,计算机视觉,人工智能)