这下真的不用相机标定了?中科大统一内外参估计和3DGS训练~

点击下方卡片,关注“3D视觉之心”公众号

第一时间获取3D视觉干货

>>点击进入→3D视觉之心技术交流群

同时优化相机的内外参和无序图像数据

在给定一组来自3D场景的图像及其相应的相机内参和外参的情况下,3D高斯喷溅(3DGS)能够使用一系列3D高斯来有效地表示场景,并从新视角生成高质量的图像。由于其高效的训练过程以及在测试阶段的卓越性能,3DGS已被广泛应用于场景重建、编辑以及增强现实(AR)/虚拟现实(VR)等多个领域。然而,3DGS的训练效果严重依赖于预先精确确定的相机姿态(即相机外参)和相机焦距(即相机内参)。这些参数通常需要使用COLMAP进行预处理。然而,该预处理步骤不仅耗时,还会影响3DGS的训练性能,尤其是在处理复杂的相机运动和场景时。

近期研究试图放宽对输入数据的要求。这些方法通常假设输入数据是按顺序排列的,并且已知相机的焦距。然而,与这些方法不同,我们的目标是同时优化相机的内参和外参,同时处理无序的图像数据,并探索相机参数与3DGS训练之间的关系

e90da9d287e5d7a244fe0aab3b1564fa.jpeg

为了解决这一问题,首次提出了一种联合优化方法[1],以在不依赖相机内参和外参的情况下,从一组图像中训练3DGS。具体而言,与以往仅在训练过程中更新相机姿态的方法不同,我们还从理论上推导出了焦距的梯度,以便通过反向传播同时优化相机内参,从而实现相机参数和3D高斯的统一学习。此外,为了提高训练的稳定性,我们进一步整合了全局轨迹信息,并选择与轨迹点对应的3D高斯。在训练过程中,这些跟踪的3D高斯会动态调整其大小,逐渐缩小至极小尺寸,并无限逼近真实的空间点,使其能够更精确地分布在实际表面附近。利用重投影损失,我们能够不断优化这些点的位置以及相机参数,以满足几何约束。此外,其余的3D高斯仍然保持原本的功能,并且所有3D高斯都会受到损失函数的约束。借助这种混合表示方法,我们无缝地将相机参数优化与3DGS训练结合在一起。

在公共基准数据集以及我们合成的虚拟数据集上进行了广泛的评估。与以往方法相比,我们的方法仅需一组图像作为输入,就能在相机参数估计和新视角合成方面取得最先进(SOTA)的性能。

主要贡献

  • 从理论上推导了焦距对3DGS训练的梯度,使得相机内参能够在训练过程中进行优化,从而彻底消除3DGS训练对相机参数的任何先验需求。

  • 据我们所知,我们首次提出了一种相机参数与3DGS的联合优化方法。我们通过初始化一组3D高斯,并施加轨迹和尺度约束,使得我们能够应用多视角一致性和重投影损失来估计相机参数,从而实现更鲁棒的3DGS训练。

  • 在公共数据集和合成数据集上,我们的方法超越了以往需要相机内参的方法,并在新视角合成任务上达到了当前最优(SOTA)性能。

具体方法

8548d64c69198b0a7501c765da84c01e.png

给定一组图像 ,其中每张图像  的相机外参表示为 ,相机内参矩阵表示为 。本方法的目标是同时获取相机的内参和外参,以及3D高斯喷溅(3DGS)模型,如图2所示。由于引入了额外的变量(即相机参数),我们对原始3DGS进行了多项关键改进。

首先,作为理论支撑,我们推导了相机内参的梯度,使得这些参数可以在训练的反向传播过程中进行更新。此外,我们结合全局轨迹信息,并选择与轨迹点对应的高斯核。利用重投影损失,我们进一步约束了3DGS和相机参数的优化,使其符合多视角几何一致性。为了确保计算重投影误差不会影响其余3D高斯的作用,我们要求跟踪的高斯核自动缩放至极小尺寸,并分布在场景的实际表面附近。接下来,我们提出了一种高效的联合优化方案来完成训练。

相机参数的梯度推导

要同时优化3D高斯的相机参数,我们需要计算损失函数  对相机参数的梯度。对于相机外参,梯度表示如下:

其中,  ,而 。

进一步设  为投影到2D的中心点和协方差矩阵,那么焦距  的梯度可通过链式法则计算如下:

最终,损失函数  对相机内参  的梯度可表示为:

在推导梯度时不受特定损失函数的限制,只要损失函数是可微的即可。

初始化

为相机参数和3D高斯提供更好的初始值有助于加速收敛并避免陷入局部次优解。为了保证通用性,我们构建了一个最大生成树(MST),其边权表示两张图像之间的匹配点数量。利用MST,我们可以获得图像级匹配对及点级对应关系,从而提取全局轨迹信息(请参考补充材料获取详细信息)。随后,相机参数和3D高斯的初始化方法如下。

相机参数初始化

我们假设所有相机均采用标准的针孔模型、无畸变,且主点位于图像中心,则相机内参矩阵  定义为:

其中,  为主点坐标,  为焦距。经验上,我们用60°的视场角(FoV)来初始化焦距:

对于MST中的每条边 ,我们利用图像的单目深度信息(如DPT[17])来估计点云,并定义重投影损失来优化其相关变换矩阵:

通过最小化所有匹配对的重投影损失,我们可以初步获得相机的内参和外参。

3D高斯初始化

我们从MST提取一组轨迹点 ,其中每个轨迹点  由3D轨迹点  及其对应的像素匹配点  组成。轨迹点  的初始化方式如下:

值得注意的是,我们仅使用轨迹点来初始化3D高斯,而它们的具体位置会在后续的全局优化和约束中进一步调整,以准确表示物体表面。由于某些点的深度估计存在误差,其距离真实表面较远,因此不适合直接用于3D高斯初始化。

联合优化

由于我们需要同时优化相机的内参、外参以及3D高斯参数,训练的复杂度大幅增加。原始损失函数(公式4)仅依赖光度信息,在约束相机参数方面不足。为了解决这一问题,我们提出了一种多视角几何一致性约束的方法,通过跟踪匹配点轨迹来增强联合优化能力。值得注意的是,我们利用初始化的3D高斯质心来维护3D轨迹点,从而保证这些3D高斯在优化过程中得以保留,并可用于计算投影误差,以评估相机参数的准确性。为此,我们定义了两个额外的约束项。

轨迹损失

为了度量多视角几何一致性,我们将3D轨迹点  投影到所有对应的图像中,并计算投影误差:

总轨迹损失为:

尺度损失

3D轨迹点实际上位于场景中的物体表面。为了确保跟踪的3D高斯质心与实际物体表面对齐,并减少投影误差,我们引入了尺度损失:

总体目标

结合公式4,我们的联合优化目标可表示为:

此方法实现了相机参数优化与3DGS训练的无缝结合,有效提升了模型在新视角合成和相机参数估计方面的性能。

实验效果

15514ec1ae3bacf84fdb6a47a94519e5.png 95e556ac28d151bbd60dbd95970190b9.png e8478308306a7c3d7ebab2c31299647d.png f5b4415b4e68b89c46f94380ff7cc9b4.jpeg d6f5042fad0dc9d4727f503b0078262c.png 96646f5951ee22a2d3987ed967e701cc.png dc4bf094e7b7f8d3a336d3c0f3189228.png 70c80a8bdb0def6c2e7e3b55357a75b1.png

总结一下

本文介绍一种新的联合优化方法,使得3DGS能够在无需相机内参和外参的情况下进行训练。为解决这一问题,我们首先推导出了相机内参的梯度,使得这些参数能够在反向传播过程中进行优化。此外,我们整合了全局轨迹信息,并选择与每个轨迹相关的高斯核进行训练。我们进一步将两种新的损失函数——轨迹损失和尺度损失,与原始3DGS的光度损失结合在一起。广泛的实验评估表明,我们的方法在公共数据集和复杂的合成数据集上均超越了以往需要相机内参的方法,并在新视角合成任务上达到了当前最优(SOTA)性能。

局限性:假设所有相机均遵循标准针孔模型,无畸变,并共享相同的内参。

参考

[1] No Parameters, No Problem: 3D Gaussian Splatting without Camera Intrinsics and Extrinsics

本文仅做学术分享,论文汇总于『3D视觉之心知识星球』,欢迎加入交流!

【3D视觉之心】技术交流群

3D视觉之心是面向3D视觉感知方向相关的交流社区,由业内顶尖的3D视觉团队创办!聚焦维重建、Nerf、点云处理、视觉SLAM、激光SLAM、多传感器标定、多传感器融合、深度估计、摄影几何、求职交流等方向。扫码添加小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

e971f1241a81cd84fd29ee7abd206fc5.jpeg

扫码添加小助理进群

【3D视觉之心】知识星球

3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。

bfbfe7c22638806b2c4db9b232d06d47.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值