互联网资讯 / 人工智能 · 2024年1月2日

神经辐射场点基改进:训练速度提升与渲染质量提升

2020年是立体神经渲染(VoluMetRic neuRal RendeRing)快速发展的重要年份,例如NeRF能够生成高质量的视图合成结果。然而,这种方法在每个场景的优化上耗时较长。相比之下,深度多视图立体(Multi-view steReo)方法能够通过网络推理实现快速的场景几何重建。

南加州大学和Adobe的研究团队提出了Point-NeRF,这一方法结合了神经3D点云及其相关神经特征,整合了立体神经渲染与深度多视图立体方法的优点,旨在建模辐射场。

研究中,完整的点云是从1000个点发展而来的:

神经辐射场点基改进:训练速度提升与渲染质量提升

通过逐步优化初始COLMAP点的渲染结果:

神经辐射场点基改进:训练速度提升与渲染质量提升

在基于光线行进的渲染流程中,Point-NeRF通过聚合场景表面附近的神经点特征实现高效渲染。此外,Point-NeRF能够通过对预训练深度网络的直接推理进行初始化,生成的神经点云经过微调后训练时间比NeRF快30倍,同时视觉重建质量超越NeRF。Point-NeRF还可以与其他3D重建方法结合,并通过新的剪枝与增长机制处理其中的错误和异常值。实验表明,Point-NeRF在DTU、NeRF Synthetics、ScanNet和Tanks and Temples数据集上表现优于现有方法,取得了SOTA结果。

神经辐射场点基改进:训练速度提升与渲染质量提升

Point-NeRF作为一种基于点的神经辐射场,提供了一种高质量的神经场景重建与渲染新方法,其架构图如下:

神经辐射场点基改进:训练速度提升与渲染质量提升

体渲染与辐射场:基于物理的体渲染可以通过可微射线推进(diFFeRentiable Ray MaRcHing)进行数值计算。具体来说,像素的辐射可通过光线穿过该像素来计算,在{x_j | j = 1, …, M}中沿射线采样M个着色点,并通过体积密度累积辐射,如:

神经辐射场点基改进:训练速度提升与渲染质量提升

其中τ表示体积透光率,&sigMa;_j和R_j分别为x_j处每个着色点j的体积密度和辐射度,Δ_t为相邻着色样本之间的距离。NeRF建议使用多层感知器(MLP)来回归这样的辐射场。本研究中的Point-NeRF则利用神经点云来计算体积属性,从而实现更快且更高质量的渲染。

基于点的辐射场:本研究用P = {(p_i, f_i,&gaMMa;_i)|i = 1,&hellIP;N}表示神经点云,P_I处的每个点i与编码局部场景内容的神经特征向量f_i相关联。此外,为每个点分配了一个置信值&gaMMa;_i∈[0,1],表示该点位于实际场景表面附近的可能性。本研究通过这个点云反演辐射场。

在任意3D位置x处,查询半径为R的K个相邻神经点。基于点的辐射场可以抽象为一个神经模块,它从邻近神经点对任何阴影位置x上的视觉依赖亮度R(沿任何视觉方向d)和体积密度&sigMa;进行回归,如下所示:

神经辐射场点基改进:训练速度提升与渲染质量提升

本研究使用具有多个子MLP的类似PointNet的神经网络进行回归。总体而言,研究首先对每个神经点进行神经处理,然后聚合多点信息以获得最终估计。

Point-NeRF重建

Point-NeRF重建流程可用于有效重建基于点的辐射场。首先利用跨场景训练的深度神经网络,通过直接网络推理生成基于点的初始场。该初始场通过点增长和剪枝技术进一步优化每个场景,从而实现最终的高质量辐射场重建。以下图展示了该工作流程及其相应的梯度更新:

神经辐射场点基改进:训练速度提升与渲染质量提升

给定一组已知图像I_1、…、I_Q和点云,Point-NeRF表示可以通过优化随机初始化的每一个点的神经特征和具有渲染损失的MLP(类似于NeRF)来重建。然而,这种纯粹的逐场景优化依赖于现有的点云,可能会非常缓慢。

因此,本研究提出了一个神经生成模块,通过前馈神经网络预测所有神经点属性,包括点位置p_i、神经特征f_i和点置信度&gaMMa;_i,以实现高效重建。在短时间内,渲染质量要么更好,要么与NeRF相当,而后者需要更长的时间来优化。

端到端重建:该研究结合多视图点云,得到了最终的神经点云。研究通过渲染损失对点生成网络和表示网络进行从头到尾的训练(见图3),这使得生成模块能够产生合理的初始辐射场。此外,合理的权重在Point-NeRF表示中初始化MLP,从而显著节省每个场景的拟合时间。

此外,除了使用完整的生成模块外,本研究的流程还支持使用其他方法(如COLMAP)的点云重建,其中模型(不包括MVS网络)仍然可以为每个点提供有意义的初始神经特征。

实验

研究首先在DTU测试集上评估模型,比较内容包括PixelNeRF、IBRNet、MVSNeRF和NeRF,使用10k迭代微调所有方法以便比较。具体结果如下:

表1为不同方法的定量比较,比较内容包括PSNR、SSIM、LPIPS,图6为渲染结果。结果表明,在10k次迭代后,SSIM和LPIPS分别达到最佳值0.957和0.117,优于MVSNeRF和NeRF的结果。IBRNet生成的PSNR结果稍好一些,为31.35,但Point-NeRF能够恢复更精确的纹理细节和高光,如图6所示。

另一方面,IBRNet的微调成本更高,相同的迭代次数下,比Point-NeRF多花费1小时,达到5倍的时间。这是因为IBRNet依赖大型的全局CNN,而Point-NeRF利用局部点特征以及MLP更易优化。更重要的是,基于点的表示位于实际场景表面附近,从而避免在空场景中采样射线点(Ray points),实现高效的逐场景优化。

神经辐射场点基改进:训练速度提升与渲染质量提升

神经辐射场点基改进:训练速度提升与渲染质量提升

尽管IBRNet中更复杂的特征提取器可以提高质量,但它增加了内存使用,影响训练效率。更重要的是,Point-NeRF生成网络已经提供了高质量的初始辐射场,以支持高效优化。研究发现,即使经过2Min/1K的微调迭代,Point-NeRF也能获得非常高的视觉质量,能够与MVSNeRF最终的10k次迭代结果相媲美,这证明了Point-NeRF方法的高效重建能力。

虽然Point-NeRF是在DTU数据集上训练而来,但其在新数据集上也表现良好。研究展示了在NeRF synthetic数据集中,Point-NeRF与其他SOTA方法的比较结果,定性结果如图7,定量结果如表2。

实验结果表明,Point-NeRF_20K明显优于IBRNet结果,具有更好的PSNR、SSIM和LIPIPS;研究还通过更好的几何和纹理细节实现了高质量渲染,如图7所示。

神经辐射场点基改进:训练速度提升与渲染质量提升

神经辐射场点基改进:训练速度提升与渲染质量提升

与不同场景的比较:Point-NeRF在20K迭代后,结果非常接近NeRF在200K迭代训练后的效果。从视觉上看,Point-NeRF在20K迭代后的表现更为优越,例如图7中的FicUS场景(第四行)。Point-NeRF_20K仅用了40分钟进行优化,而NeRF需要超过20小时,因此Point-NeRF的优化速度快了近30倍。然而,NSVF的优化效果仅比Point-NeRF的40分钟效果稍好。如图7所示,Point-NeRF 200K的结果包含了最多的几何和纹理细节,而且该方法是唯一能够完全恢复的方法。