【论文笔记】SmileSplat:稀疏视角+pose-free+泛化

还是一篇基于dust3r的稀疏视角重建工作,作者联合优化了相机内外参与GS模型,实验结果表明优于noposplat。

abstract

在本文中,提出了一种新颖的可泛化高斯方法 SmileSplat,可以对无约束(未标定相机的)稀疏多视图图像的不同场景,进行像素对齐级别的高斯面元重建。 首先,基于 多头 高斯 回归 解码器 预测高斯面元,它可以用较小的自由度表示,但具有更好的多视图一致性。 此外,我们基于高质量的法向先验,增强了高斯面元的法向向量。 其次,基于所提出的Bundle-Adjusting高斯泼溅模块,对高斯和相机参数(外参和内参)进行优化,以获得用于新颖视图合成任务的高质量高斯辐射场。 在公共数据集上对新颖的视图渲染和深度图预测任务进行了广泛的实验,证明所提出的方法在各种 3D 视觉任务中实现了最先进的性能。

1.Introduction

当使用稀疏视角图像(例如仅两三张图像)进行三维重建时,SFM在准确估计3D点元和相机参数方面变得非常困难。这个问题在低纹理场景或快速相机运动中尤为明显,有限的图像数量无法为常规优化技术提供足够的约束条件。

为了提高稀疏视图任务中新视角渲染的性能,这一领域中探索了通用(可泛化)的高斯 方法。这些方法可以根据是否需要相机参数作为输入分为两类:需要相机参数的方法(CamPara-Required )和不需要相机参数的方法(CamPara-Free)。

对于CamPara-Required方法,给定相机的真实pose和内参,网络预测的3D高斯点[4, 6]被渲染到新视角。为了生成准确的高斯基元,神经多头解码器首先预测深度(点云)、协方差和不透明度值。然后,使用一个forwardmap渲染模块来优化初始的高斯参数。为了进一步减少对相机参数的依赖, Dust3R[38]和Mast3R[21]等网络在标准系统中预测点云而不是深度图。这些点云被用来初始化3D高斯点[instantsplat],之后再获得相机姿态。然后,通过高斯点绘制模块[20]优化高斯参数。由于这两个模块是分开的,因此需要额外的迭代来训练适用于这些场景的3D高斯点。

CamPara-Free方法在应用时更为便捷,因为它们不需要初始化步骤。然而,这些开创性的CamPara-Free方法倾向于直接将基于预测点云的相机标定与高斯点绘制模块集成在一起,这限制了通用可泛化高斯辐射场进一步实现高质量的效果。

我们提出了一种新的通用GS架构,如图2所示,旨在实现不受约束的稀疏视图图像的高保真新视角渲染性能。首先,通过forward神经网络预测高斯表面元(Gaussian surfels)(因为这里是高斯面元,所以只需要坐标点控制高斯中心,尺度控制大小,法线控制朝向,与3D的高斯基于需要协方差控制方向不一样),该网络利用标准的transformer encoder(Siamese ViT en-
coders [8] and cross-attention embedding blocks)从图像中检测几何先验信息
。这些深度先验信息以及图像随后被输入到我们提出的多头高斯回归解码器中,以预测在标准坐标系中像素对齐的、通用的3D高斯表面元参数。

此外,我们基于初始的3D高斯表面,考虑几何和光度约束来估计相机的内参矩阵据我们所知,我们的方法是第一个不需要预定义内参就能渲染图像的方法 。接下来,根据估计的高斯表面元预测图像之间的相对外参矩阵为了提高预测高斯表面元的一致性,我们提出了一种GS Bundle Adjustment方法,进一步优化高斯参数、内参和外参。这种优化基于光度和几何约束,使我们能够为不受约束的稀疏图像建立缩放的高斯辐射场。

作者的贡献如下:

  1. 我们提出了一种用于相机未标定和无pose的稀疏视图图像的通用通用高斯泼溅架构

2.分析了基于Gaussian Splatting的相机参数优化模块,实现稀疏图像的精确运动估计

  1. 提出了一种GS Bundle Adjustment方法来产生高质量和尺度的高斯辐射场。

这个Related Work写的不错,这里纯翻译过来了,应该多看看

辐射场在3D视觉领域中因其能够从任意视角生成物体或场景的新视角图像而受到广泛关注。神经辐射场(NeRF)[26]是其中开创性和最著名的方法之一,通过使用多层感知器(MLPs)隐式表示3D场景,能够高效地渲染高质量的新视角图像。然而,NeRF的训练和推理速度较慢。后续的研究[2, 3]主要集中在提高渲染质量或提升计算效率上。最近的进展引入了显式的体积结构,例如多分辨率体素网格[12, 37]或哈希函数[27],以改善性能。尽管有所改进,但逐像素光线行进仍然是渲染速度的瓶颈,这在需要实时地图交互的SLAM应用中是一个关键问题。

相比之下,3D高斯点绘制(3DGS)[20]使用各向异性的3D高斯点来表示辐射场,并结合可微分点绘制进行渲染。这种方法在快速重建复杂的真实场景并捕捉高频细节方面表现出色。通过遍历光栅化的基元而不是沿着光线进行行进,3DGS利用了3D场景的自然稀疏性,提供了高保真表示和高效渲染之间的平衡。各种研究已将3D高斯点和可微分渲染应用于静态场景捕捉[7, 43],最近的研究则在动态场景捕捉中展示了更优异的结果。

通用/可泛化GS。类似于多视角立体任务,当仅有有限重叠的两张图像输入3D高斯点绘制系统时,会出现几个新的挑战,因为传统的高斯点绘制系统[20]需要大量图像作为输入。SparseGS[42]通过使用扩散网络来去除离群点和不同类型的渲染深度图来检测漂浮物,解决了这些挑战。与依赖从COLMAP[13]或SLAM系统[22]生成的初始点云不同,MVSplat[6]和COLMAP-free GS[13]估计目标和源RGB图像的深度图,然后将这些深度值转换为点云,并基于这些点云初始化高斯椭球的均值向量。得益于Dust3R[38]的点云,InstantSplat[11]的高斯点绘制过程相比MonoGS[25]中随机生成的点云更为高效。基于Dust3R中估计的相机参数,InstantSplat在渲染过程中优化3D高斯点和相机姿态。然而,模块的分离意味着错过了进一步加速高斯点绘制收敛的机会。

与InstantSplat通过Dust3R预测的点云估计相机参数不同,pixelSplat[4]直接预测3D高斯点,这些高斯点在使用真实相机参数的高斯点绘制光栅化中定义。最近,一些无需姿势的新型视图渲染方法[45]使用PnP算法[15]和高斯点绘制SLAM方法[25]估计和优化相机姿态,同时将内参参数嵌入到深特征标记中,以合理比例预测场景。

与这些方法不同,我们的方法为未标定和无姿态的图像预测3D高斯点,并基于预测的高斯点估计未知的相机参数。所有这些估计的参数和表示然后通过束调整高斯点绘制模块进行优化,以建立高保真的辐射场

3. Methodology

3.1. Gaussian Surfel Prediction

作者主要使用高斯表面来表达场景,主要原因有两个:一是,高斯模型的多视角一致性很难保证,所以在这个意义上来说,原始的3D的高斯模型并不适合稀疏重建;二是在旋转矩阵方面,高斯曲面涉及的参数更少,更重要的是,与协方差矩阵相比,它们更容易训练,因为可以利用几个健壮的大型语言模型[1]来训练这个头部。

1.问题设定

先介绍概念,细节问题后续解释,3D高斯表面通过12个值进行参数化,包括颜色,位置,尺度,法向量,不透明度

高斯表面基元的协方差矩阵定义为:

的大圆上,= 表示对角矩阵。

细节1. 的大圆上,何为大圆?其实就是xyz坐标系中,垂直于的一圈向量围成的圆面

细节2.关于公式2的一些理解

2.神经网络架构

我们使用了基于Dust3R百万级图像的预训练模型,其中多视角立体图像I1和I2送入两个共享权重的VIT[8]编码器。然后,使用self-attention and cross-attention来处理图片token。最后分别用4个head来得到高斯面元的各个属性

多头高斯回归decoder我们通过估计4个独立的head包括位置,尺度向量s,表面法向量n,不透明度o,在的坐标系下预测3D高斯(这里注意盯住前面的公式1,少了高斯面元的颜色),为了减少参数规模,高斯面元的颜色直接使用投影到的像素上面对应的颜色来表示。接下来,我们看每一个block的具体计算:

输出位置P的head:主要靠一个偏移量来表示,就是说,当前预测的P等于前面一步预测的P加上一个偏移量,是通过Dust3R网络的pointmap和encoder embeddings输入3层的MLP得到的。

输出法线n的head:我们采用了一种U-Net结构,根据输入图像和深度embeddings来预测每个像素的表面法线,首先,我们把这篇工作作为teacher model【Rethinking inductive
biases for surface normal estimation】,首先使用它的预训练权重得到一个法向量,然后来使用它作为监督:

输出不透明度的head:偏移量低的点更有可能位于精确的表面上,因此应该具有更高的不透明度。因此,我们通过来自backbone的深度feature(注意Dust3R的pointmap本来就是和深度强绑定的),和来自位置偏移量head的feature,来共同预测出每一个3D高斯的不透明度。

输出尺度的head:对于尺度,根据前面的定义,在2层的mlp中输入pointmap和深度embeddings得到。

现在我们得到了尺度矩阵,然后我们根据上面得到的表面法线得到旋转矩阵R,由公式2,我们可以计算出高斯基元的协方差矩阵,也就是形状。

3.2 Camera Parameter Optimization Based on a Single View

1.相机内参估计

由于预测的高斯点与输入图像的像素对齐,并且位于第一幅图像的坐标系中,因此可以将它们视为处于相机坐标系中。因此,未知参数是内参矩阵,可以通过该公式进行优化:

表示图片坐标(u,v)上的像素GT像素值,表示初始化的3D高斯表面通过相机内参K渲染的图片。W,H分别是图片的宽高。

因为现在是在图像I1的相机坐标系下,所以,在渲染的时候,我们无需考虑world2camera变换,直接使用相机内参即可,这就是第一段提到的,直接在相机坐标系下使用3D高斯渲染来优化相机内参。也就是说,我们在第一个图片的坐标系下,估计相机内参。

论文中这里还列出了cuda里面求导的公式,非常详细,里面包含了高斯表面到2D图像的各种变换,当然了,反向传播其实就是链式偏导的公式,大家可以详细看看

2.外参(pose)估计

在传统的相机位姿估计方法中 [28, 33],常见的方法是将 3D 点云从世界坐标重新投影回图像平面以进行相机跟踪。 然而,在本节中,我们介绍基于预测的高斯面元的相机姿态估计策略。

我们先根据上面的公式优化了内参,然后顺便通过下面的公式,在第一个图片的坐标系下,迭代优化与第二张图片的相对位姿变换:

其中,是GT,其实就是通过第一张图到第二张图的相对pose来渲染3D高斯表面,然后这个渲染图和GT之间的loss反向传播来优化pose,也就是公式中的T。

3.3. Bundle-Adjusting Gaussian Splatting

获得初始相机内参和相对相机位姿(第 3.2 节)后,使用 alpha blending算法将高斯面元光栅化为相应的深度图 D1 和 D2。 使用以下变形操作将第二视点的深度图 D2 变换到第一视点

其中,Π(·)表示使用估计的内参矩阵K和相对相机pose T 将深度贴图D2从第二相机视图投影到第一相机视图的变换。

然后,建立基于深度的几何约束以强制高斯辐射场在几何方面更好的多视图一致性

渲染图像和GT之间的loss:

为了联合优化输入稀疏视图的缩放辐射场,包括高斯面元以及相机内在和外在参数,我们定义了一个综合损失函数来监督细化过程

其中 λ1、λ2 和 λ3 是平衡各个损失项的贡献的加权参数。 这种联合优化允许同时细化高斯面元、相机内在因素和外在因素,从而提高稀疏视图辐射场重建的整体性能。联合迭代优化的细节如下:

4. Experiments

4.1 baseline

在新的视图合成任务中,将最新的方法与所提出的方法进行比较,将其分为两类,其中第一组方法,包括PixelNeRF[47]、AttnRend[9]、PixelSplat[5]和MVSplat[6],在其训练和测试过程中需要相机参数 ,而第二组方法DUSt3R[38]、MASt3R[21]、Splatt3R[35]和NoPoSplat[45]具有估计内外参的能力

我们在两个大规模数据集上对所提出的方法进行了评估。第一个数据RealEstate10K(Re10K) [50]是从YouTube上的房地产序列中收集的。基于训练/测试分割,数据集分别包含29,144个用于训练的场景和7286个用于测试的场景。第二个数据集ACID [24]侧重于从无人机视角收集的自然场景。为了评估提出的方法的重建能力,我们进一步评估了其他数据集上的训练模型,包括Replica[36]( 包含多个室内场景的高分辨率图像、深度图以及精确的相机姿态和内参信息。每个场景都是通过 RGBA 摄像头捕捉的,并且数据集中还包括了每幅图像的点云表示**)和ICL-NUIM**[14]。

为了进行定量评估,我们报告了渲染效果 使用标准图像质量指标的性能,包括PSNR,SSIM和LPIPS。 前两个指标(PSNR 和 SSIM)评估渲染图像和观察图像之间的颜色相似性和结构相似性第三个指标 LPIPS,使用预先训练的神经网络(例如 VGG-Net [34])提取的特征来比较两个图像之间的特征级相似性。为了分析渲染性能与输入图像视角重叠程度的关系,基于密集特征匹配方法计算了两个输入图像之间的视觉重叠γ[10]。然后,按照[45]的方法,将重叠程度分为三个级别:小(γ≤0.3%)、中(0.3%≤γ≤0.55%)和大(γ≥0.55%)。

4.2 NVS

如表 1 所示,在新颖的视图渲染任务中,与最先进的方法(CamPara-Free 和 CamPara-Required)进行了比较。 对于 CamPara-Required,gs 方法(例如 PixelSplat 和 MVSplat)与 PixelNeRF 等隐式表示方法相比,表现出卓越的渲染质量。 对于CamParafree方法,DUSt3R [38]和MASt3R [21]根据输入图像预测像素对齐的点云,并且可以使用传统的多视图几何算法来估计和优化其他内在和外在参数。 基于这些方法的架构,Splatt3R [35] 和 NoPoSplat [45] 方法引入了额外的头来估计 3D 高斯椭球体的参数,这显着地将视觉重叠较小的输入的渲染性能从 14.49 提高到 23.08。 与由房地产序列组成的 Re10K 数据集不同,ACID 数据集侧重于自然场景。 然而,表1和图3中观察到的趋势也可以在补充材料中看到。

4.3. Cross-Dataset Generalization

如表3所示,NoPoSplat 和 SmileSplat 相对于其他无需相机参数(CamPara-Free)和需要相机参数(CamPara-Required)的方法,展示了更优越的稳健性和准确性。在本节中,我们继续通过直接将这两种模型应用于 Replica 序列 [36] 来评估它们的零样本性能。需要注意的是,这两种模型都是在 Re10K 数据集上训练的,没有在 Replica 数据集上进行任何进一步的微调。。

如表3所示,我们的方法在不同的序列中分为三类:Small(5张图像)、Medium(12张图像)和Large(20张图像)。在每一类中,SmileSplat 一直表现出稳健的性能。具体来说,在 Room 1 序列中,NoPoSplat 的 PSNR 结果为 27.64,而我们的方法将其提高了 25% 到 34.60。然而,直接比较 NoPoSplat 的渲染质量时,如图4所示,渲染图像仍然表现出较高的保真度。

为了更好地理解定量结果和定性结果之间的差距,我们计算了渲染图像与对应的真实图像之间的光度距离,如图4所示。结果表明,渲染图像与真实图像之间的对齐存在显著问题,特别是在 Office 序列中。在有纹理的区域,NoPoSplat 渲染图像与真实图像之间的光度误差显著较高。由于参考图像的相机姿态是由这些方法自身估计的,观察到的现象表明,所提出的 SmileSplat 方法在对齐和总体性能上优于 NoPoSplat。

4.4. Ablation Study

我们分析了我们方法中不同模块的性能。如表2所示,各种模块设置被集成并测试在 Re10K 数据集基准上。首先,我们使用两种不同的初始相机参数估计方法在三个不同的视点 (View 1、View 2 和 View 3)上渲染预测的高斯分布。由于高斯参数是在 View 1 的坐标上预测的,因此相机姿态误差在从其他两个视点渲染时会导致性能下降。当我们基于 View 1 和 View 2 的光度损失反馈优化高斯参数时,这两个视点的渲染质量显著提高。然而,这种优化对新视点(View 3)的渲染质量影响不大,因为 View 3 的相机姿态无法准确估计。这表明,虽然少数视点的反馈有助于提高这些特定视点的性能,但新视点的准确姿态估计不足限制了整体效果的提升。

相关推荐
AI技术控22 分钟前
计算机视觉算法实战——实时车辆检测和分类(主页有相关源码)
计算机视觉
游客5202 小时前
图像处理|开运算
图像处理·人工智能·python·opencv·计算机视觉
qq_273900232 小时前
AF3 BaseTriangleMultiplicativeUpdate类解读
pytorch·python·深度学习·生物信息学
繁华落尽,寻一世真情2 小时前
【声音场景分类--论文阅读】
论文阅读·分类·数据挖掘
烟波人长安吖~3 小时前
【安全帽头盔检测】基于YOLOV11+pytorch+Flask+SpringBoot+Vue+MySQL的安全帽头盔检测识别系统
pytorch·spring boot·深度学习·yolo·vue·计算机毕业设计·头盔安全帽检测
pzx_0013 小时前
【深度学习】神经网络灾难性遗忘(Catastrophic Forgetting,CF)问题
人工智能·深度学习·神经网络·集成学习
rommel rain4 小时前
投机解码论文阅读:Falcon
论文阅读·语言模型·自然语言处理
liruiqiang055 小时前
机器学习 - 如何理解几何学中的超平面 ?
机器学习·支持向量机·几何学
qq_386170505 小时前
3D 建模中常用的技术
3d