训练45秒,渲染300+FPS!MVSGaussian:高效泛化的混合Gaussian

人工智能 智能汽车
今天为大家分享华科最新的工作MVSGaussian!训练只需45s渲染速度300FPS,拉满了!

本文经自动驾驶之心公众号授权转载,转载请联系出处。

写在前面&笔者的个人理解

华科最新的MVSGaussian,一种从多视图立体(MVS)中导出的新的广义三维高斯表示方法,可以有效地重建看不见的场景。具体地说,1)我们利用MVS对几何感知的高斯表示进行编码,并将其解码为高斯参数。2) 为了进一步提高性能,我们提出了一种混合高斯渲染,它集成了一种高效的体渲染设计,用于新视角合成。3) 为了支持特定场景的快速微调,我们引入了一种多视图几何一致聚合策略,以有效地聚合可推广模型生成的点云,作为每个场景优化的初始化。与以前基于NeRF的可推广方法相比,MVSGaussian通常需要对每个图像进行几分钟的微调和几秒钟的渲染,它实现了实时渲染,每个场景的合成质量更好。与普通的3D-GS相比,MVSGaussian以较少的训练计算成本实现了更好的视图合成。在DTU、Real Forward Faceing、NeRF Synthetic以及Tanks and Temples数据集上进行的大量实验验证了MVSGaussian以令人信服的可推广性、实时渲染速度和快速的逐场景优化攻击了最先进的性能。

图片

总之,我们提出了一种新的快速可推广的高斯飞溅方法。我们在广泛使用的DTU、Real Forward Faceing、NeRF Synthetic以及Tanks and Temples数据集上评估了我们的方法。大量实验表明,我们的可推广方法优于其他可推广方法。经过短时间的逐场景优化,我们的方法获得了与其他方法相当甚至更好的性能,优化时间更长,如图1所示。在单个RTX 3090 GPU上,与普通的3D-GS相比,我们提出的方法实现了更好的新颖视图合成,具有相似的渲染速度(300+FPS)和13.3倍的训练计算成本(45s)。我们的主要贡献可概括如下:

  • 我们提出了MVSGaussian,这是一种从多视图立体和像素对齐的高斯表示导出的广义高斯散点方法。
  • 我们进一步提出了一种有效的混合高斯渲染方法来促进泛化学习。
  • 我们引入了一致的聚合策略,为快速的每场景优化提供高质量的初始化。

项目主页:https://mvsgaussian.github.io/

相关工作回顾

多视图立体(MVS)旨在从多个视图重建密集的3D表示。传统的MVS方法依赖于手工制作的功能和相似性度量,这限制了它们的性能。随着深度学习在3D感知中的发展,MVSNet首先提出了一种端到端的流水线,其关键思想是构建一个成本体积,将2D信息聚合到3D几何感知表示中。后续工作遵循这种基于成本-体积的流水线,并从各个方面进行改进,例如,通过重复的平面扫描或粗略到精细的架构来减少内存消耗,优化成本聚合,增强特征表示,以及改进解码策略。由于代价体积对多视图特征的一致性进行编码,并自然地执行对应匹配,因此在本文中,我们开发了一种新的基于MVS的可推广高斯空间表示。

可推广的NeRF。通过使用MLP将场景隐式地表示为连续的颜色和密度场,神经辐射场(NeRF)通过体积渲染技术实现了令人印象深刻的渲染结果。后续工作将其扩展到各种任务,并取得了可喜的成果。然而,它们都需要耗时的逐场景优化。为了解决这个问题,已经提出了一些通用的NeRF方法。一般的范例包括对每个3D点的特征进行编码,然后对这些特征进行解码以获得体积密度和辐射度。根据编码特征,可推广的NeRF可分为外观特征、聚合多视图特征、基于成本量的特征和对应匹配特征。尽管取得了显著的效果,但性能仍然有限,优化和渲染速度较慢。

三维高斯散射(3D-GS)使用各向异性高斯来显式地表示场景,并通过差分光栅化实现实时渲染。受此启发,一些研究将其应用于各种任务,例如编辑、动态场景等。然而,高斯飞溅的本质仍然在于对场景的过度拟合。为了弥补这一点,一些作品首次尝试将高斯飞溅推广到看不见的场景。广义高斯散射的目标是以前馈方式预测高斯参数,而不是按场景优化。PixelSplat通过利用核极变换器对特征进行编码并随后将其解码为高斯参数来解决尺度模糊问题。然而,它将重点放在图像对作为输入,并且Transformer会产生显著的计算成本。GPS Gaussian从立体匹配中获得灵感,并对输入图像对进行核极校正和视差估计。然而,它专注于人类小说视角的合成,并需要地面实况深度图。Spatter Image介绍了一种单视图三维重建方法。然而,它侧重于以对象为中心的重建,而不是推广到看不见的场景。总体而言,这些方法受到低效率的限制,仅限于对象重建,并且仅限于图像对或单个视图。为此,在本文中,我们旨在研究一种有效的可推广高斯散射,用于我们的一般场景中的新视图合成。

MVSGaussian

概览

给定一组源视图,NVS旨在从一个新颖的相机姿势合成目标视图。我们提出的可推广高斯飞溅框架的概述如图2所示。我们首先利用特征金字塔网络(FPN)从源视图中提取多尺度特征。然后,这些特征被扭曲到目标相机上,通过差分单应性来构建成本体积,然后通过3D细胞神经网络进行正则化以生成深度图。基于获得的深度图,我们通过聚合多视图和空间信息来对每个像素对齐的3D点的特征进行编码。然而,高斯飞溅是一种基于区域的显式表示,专为基于tile的渲染而设计,涉及高斯和像素之间的复杂多对多映射,这对可推广学习提出了挑战。为了解决这一问题,我们提出了一种高效的混合渲染,通过集成一个简单的深度感知体积渲染模块,其中每条光线只采样一个点。我们使用高斯飞溅和体积渲染来渲染两个视图,然后将这两个渲染视图平均化为最终视图。该管道进一步以级联结构构建,以从粗到细的方式传播深度图和渲染视图。

图片

MVS-based Gaussian Splatting Representation

MVS的深度估计。深度图是我们管道的关键组成部分,因为它连接了2D图像和3D场景表示。遵循基于学习的MVS方法,我们首先在目标视图处建立多个前向平行平面。然后,我们使用差分单应性将源视图的特征扭曲到这些扫描平面上,如下所示:

图片

利用源视图中扭曲的特征,通过计算它们的方差来构建成本量,该方差对多视图特征的一致性进行编码。然后,将成本体积馈送到3D CNN中进行正则化,以获得概率体积。利用这个深度概率分布,我们对每个深度假设进行加权,以获得最终的深度。

像素对齐的高斯表示。利用估计的深度,每个像素可以不投影到3D点,该3D点是3D高斯的位置。下一步是对这些3D点的特征进行编码,以建立像素对齐的高斯表示。具体来说,我们首先使用等式(3)将特征从源视图扭曲到目标相机。然后利用池化网络将这些多视图特征聚合为特征。考虑到splatting的特性,每个高斯值都有助于图像特定区域中像素的颜色值。然而,聚合特征fv仅对单个像素的多视图信息进行编码,缺乏空间感知。因此,我们使用2D UNet进行空间增强,产生fg。利用编码的特征,我们可以对它们进行解码,以获得用于渲染的高斯参数。具体而言,每个高斯都由属性{m,s,r,α,c}表征。对于位置m,可以根据估计的深度对像素进行不投影来获得:

图片

对于缩放s、旋转r和不透明度a,它们可以从编码特征中解码,如下所示:

图片

对于最后一个属性,颜色c,3D高斯Splatting使用球面谐波(SH)系数来定义它。然而,从特征学习SH系数的泛化是不鲁棒的。相反,我们直接将特征中的颜色回归为:

图片

高效的混合高斯渲染。利用上述高斯参数,可以使用splatting技术渲染新的视图。然而,所获得的视图缺乏精细的细节,并且这种方法表现出有限的泛化性能。我们的见解是,splatting方法在颜色贡献方面引入了3D高斯和像素之间复杂的多对多关系,这对泛化提出了挑战。因此,我们建议使用3D高斯和像素之间的简单一一对应来预测颜色以进行细化。在这种情况下,镀层退化为具有单个深度感知采样点的体积渲染。具体来说,我们通过解码fv来获得辐射度和体积密度,然后进行体积渲染以获得渲染视图。通过对通过splatting和体积渲染渲染的视图进行平均,形成最终渲染视图。

Consistent Aggregation for Per-Scene Optimization

广义模型可以为看不见的场景重建合理的3D高斯表示。我们可以使用所描述的优化策略,针对特定场景进一步优化这种高斯表示。由于上述可推广模型在几个给定的新颖视点重建高斯表示,因此主要的挑战是如何有效地将这些高斯表示聚合为单个高斯表示以进行有效渲染。由于MVS方法的固有局限性,可推广模型预测的深度可能不完全准确,导致在生成的高斯点云中存在噪声。直接连接这些高斯点云会导致大量的噪声。此外,大量的点会降低后续的优化和渲染速度。一个直观的解决方案是对连接的点云进行下采样。然而,在减少噪声的同时,它也会减少有效点的数量。我们的见解是,一个好的聚合策略应该最大限度地减少噪声点,并尽可能地保留有效点,同时确保点的总数不会过大。为此,我们引入了一种基于多视图几何一致性的聚合策略。跨不同视点的同一3D点的预测深度应显示出一致性。否则,预测的深度被认为是不可靠的。这种几何一致性可以通过计算不同视图之间的投影误差来测量。具体而言,如图3所示,给定要检查的参考深度图D0和来自附近视点的深度图D1,我们首先将D0中的像素p投影到附近视图,以获得投影点q,如下所示:

图片

反过来,我们将获得的具有估计深度D1(q)的像素q反向投影到参考视图上,以获得投影点p',如下所示:

图片

然后,通过以下公式计算重投影误差:

图片

参考图像将与剩余图像中的每一个成对地进行比较,以计算投影误差。我们采用动态一致性检查算法来选择有效的深度值。主要思想是,当估计的深度在少数视图中具有非常低的投影误差或在大多数视图中具有相对低的误差时,估计的深度是可靠的。其公式如下:

图片

实验

我们在DTU训练集上训练可推广模型,并在表1中报告DTU测试集上的定量结果,在表2中报告另外三个数据集上的量化结果。由于基于MVS的像素对齐高斯表示和高效的混合高斯渲染,我们的方法以快速的推理速度实现了最佳性能。由于引入了epipolar Transformer,PixelSplat的速度较慢,内存消耗较大。此外,它专注于以图像对为输入的自然场景,当应用于以对象为中心的数据集时,其性能显著降低。对于基于NeRF的方法,ENeRF通过每条射线仅采样2个点而享有良好的速度,然而,其性能有限,并且消耗更高的内存开销。其余的方法通过采样光线来渲染图像,因为它们的内存消耗很高,因为它们无法同时处理整个图像。定性结果如图4所示。我们的方法可以生成具有更多场景细节和较少瑕疵的高质量视图。

图片图片图片

每个场景优化后的定量结果报告在表3中。对于每场景优化,一种策略是优化整个管道,类似于基于NeRF的方法。另一种方法是仅优化由可推广模型提供的初始高斯点云。在优化整个管道时,与以前的可推广NeRF方法相比,我们的方法可以获得更好的性能和更快的推理速度,结果与NeRF相当,证明了我们方法的鲁棒表示能力。相比之下,仅优化高斯可以显著提高优化和渲染速度,因为它消除了耗时的前馈神经网络。此外,所述的自适应密度控制模块还可以提高性能。由于可推广模型提供了出色的初始化和有效的聚合策略,我们在短的优化期内实现了最佳性能,约为3D-GS的十分之一。特别是在真实面向前的数据集上,我们的方法仅需45秒的优化就实现了卓越的性能,而3D-GS和NeRF分别为10分钟和10小时。此外,我们的方法的推理速度与3D-GS的推理速度相当,显著优于基于NeRF的方法。如图5所示,我们的方法能够生成具有更精细细节的高保真度视图。

图片图片图片图片图片

结论

我们提出了MVSGaussian,一种有效的广义高斯Splatting方法。具体来说,我们利用MVS来估计深度,建立像素对齐的高斯表示。为了增强泛化能力,我们提出了一种混合渲染方法,该方法集成了深度感知体积渲染。此外,由于高质量的初始化,我们的模型可以针对特定场景快速微调。与每个图像通常需要几分钟的微调和几秒钟的渲染的可推广NeRF相比,MVSGaussian实现了具有卓越合成质量的实时渲染。此外,与3D-GS相比,MVSGaussian在减少训练时间的情况下实现了更好的视图合成。局限性由于我们的方法依赖于MVS进行深度估计,因此它继承了MVS的局限性,例如纹理较弱或镜面反射区域的深度精度降低,导致视图质量下降。

责任编辑:张燕妮 来源: 自动驾驶之心
相关推荐

2024-03-13 10:03:02

3D训练场景

2012-03-09 15:33:37

PowerCube华为

2021-12-06 20:32:41

AI

2022-06-19 22:54:08

TypeScript泛型工具

2020-03-12 10:16:45

代码Java多线程

2020-09-28 15:59:41

云计算混合云IT

2014-06-18 10:34:41

Android字体渲染器OpenGL ES

2020-12-14 11:40:27

Next.js SSRReact

2023-08-31 08:28:13

Java应用

2017-01-06 16:06:53

存储IBM软件

2012-10-11 09:17:07

2021-08-13 14:35:37

视频会议软件远程工作

2021-11-02 10:24:55

混合云云计算

2024-09-02 14:30:00

数据训练

2023-11-08 10:25:00

模型技术

2024-01-11 09:55:00

AI训练

2023-11-08 17:29:00

AI模型

2018-03-14 07:47:41

大数据语法SQL

2022-11-28 14:00:24

人工智能

2010-08-12 17:31:06

虚拟化
点赞
收藏

51CTO技术栈公众号