Global Structure-from-Motion Revisited
Paper:https://demuc.de/papers/pan2024glomap.pdf
Code:https://github.com/colmap/glomap
摘要- 从图像中恢复三维结构和摄像机运动一直是计算机视觉研究的热点,被称为运动结构恢复(SfM)。这个问题的解决方案分为增量方法和全局方法。到目前为止,最流行的系统由于其优越的准确性和鲁棒性而遵循增量范式,而全局方法则大大提高了可伸缩性和效率。我们通过这项工作,重新审视了全局 SfM 的问题,并提出了 GLOMAP 作为一个新的通用系统,其性能优于全局 SfM 的最新水平。在准确性和稳健性方面,我们取得的结果与最广泛使用的增量 SfM COLMAP 相当或优于它,同时数量级更快。共享我们的系统作为一个开源实现。
1.引言
从一组图像中恢复3D 结构和摄像机运动仍然是计算机视觉中的一个基本问题,这与各种下游任务高度相关,例如新视图合成[36,48]或基于云的建图和定位[37,55]。文献通常将这个问题称为运动恢复结构(SfM)[71] ,多年来,出现了两个解决这个问题的主要范例: 增量方法和全局方法。它们都是从基于图像的特征提取和匹配开始,然后进行两视图的几何估计来构造输入图像的初始视图。增量方法从两个视图传播重建,并通过注册额外的照相机图像和相关的3D 结构顺序扩展它。这个序列过程交织着绝对相机姿态估计、三角测量和光束法平差,尽管实现了高精度和鲁棒性,但由于昂贵的重复BA,极大限制了其可伸缩性。相比之下,全局方法在单独的旋转和平移平均步骤中,通过联合考虑view graph中的所有两视图几何,一次性恢复所有输入图像的摄像机几何。通常情况下,全局估计的摄像机几何用作初始化的三维结构的最后一个全局BA步骤之前的三角化。虽然最先进的增量方法被认为更加准确和稳健,但全局方法的重建过程更具可扩展性,在实践中数量级更快。在本文中,我们重新审视了全局 SfM 的问题,并提出了一个全面的系统,在保持全局方法的效率和可扩展性的同时,达到与最先进的增量 SfM (例如图1a)相似的准确性和鲁棒性水平。
增量式 SfM 和全局 SfM 之间的精度和鲁棒性差距的主要原因在于全局平移平均步骤。平移平均描述了在通过旋转平均恢复相机旋转之前,在view graph的一组相对位姿估计摄像机全局位置的问题。这一过程在实践中面临三大挑战。首先是尺度模糊: 估计的两视图几何相对平移只能在尺度上确定[27]。因此,为了准确地估计全局摄像机的位置,需要三个相对方向。然而,当这些三联体形成倾斜的三角形时,估计的尺度在观测中特别容易受到噪声的影响[45]。其次,准确地将相对两视图几何分解为旋转和平移分量需要准确相机内参先验。如果没有这些信息,估计的平移方向往往容易产生较大的误差。第三个挑战是近似共线运动,导致退化的重建问题。这种运动模式很常见,特别是在连续数据集中。这些问题共同导致了摄像机位置估计的不稳定性,严重影响了现有全局 SfM 系统的整体准确性和鲁棒性。由于平移平均的困难,人们对这一问题进行了大量的研究。最近的许多方法[5,10,17-19,32,75]与增量 SfM 有一个共同的特点,因为它们将图像点纳入问题表达式。在此基础上,我们提出了一个全局 SfM 系统,它将摄像机位置估计和三维结构直接结合在一个单一的全局定位步骤中。
这项工作的主要贡献是引入了一个通用的全局 SfM 系统,称为 GLOMAP。与以往全球 SfM 系统的核心区别在于全局定位的步骤。该方法不需要先进行病态平移平均,然后进行全局三角化,而是进行摄像机和点位置联合估计。GLOMAP 在保持全局 SfM 管道效率的同时,达到了与最先进的增量 SfM 系统相似的健壮性和准确性水平[59]。与以往的全球 SfM 系统不同,我们的系统可以处理未知的相机内参(例如,在互联网照片中找到的) ,并可以稳健地处理序列图像数据(例如,手持式影片或自动驾驶汽车)。
图1. 提出的 GLOMAP 可以对各种数据集进行令人满意的重建。对于(b) ,从左到右是由 Theia [67] ,COLMAP [59] ,GLOMAP 估计的。然而基线模型不能产生可靠的估计,GLOMAP 实现了高精度。
2.全局SfM研究综述
全局 SfM 流水线通常包括三个主要步骤: 对应搜索、摄像机姿态估计、联合摄像机和结构优化。下一节将详细介绍最先进的算法和框架。
2.1 匹配搜索
增量式 SfM 和全局 SfM 都是从输入图像 I = { I 1 , ⋯ , I N } \mathcal{I} = \{I_1,\cdots,I_N\} I={ I1,⋯,IN}中提取显著的图像特征。传统上,检测特征点[21,42] ,然后用从检测点周围的局部上下文派生的紧凑签名进行描述。随后搜索图像对之间的特征相关性 ( I i , I j ) (I_i,I_j) (Ii,Ij),首先有效地识别具有重叠视野的图像子集[4] ,并随后以更昂贵的程序将其匹配[42,56]。匹配通常首先完全基于紧凑的视觉签名进行,最初产生相对较大的离群值。然后,通过恢复重叠对的两视图几何来验证这些结果。基于摄像机的几何结构,这可以产生一个对于一般运动的平面场景和摄像机对于一般场景的纯旋转的单应 H i j \boldsymbol{H}_{ij} Hij,或者对于一般场景和一般运动的基本矩阵 F i j \boldsymbol{F}_{ij} Fij(未标定)和基本矩阵 E i j \boldsymbol{E}_{ij} Eij(有标定)。当摄像机内参近似已知,可以将其分解为相对旋转 R i j ∈ S O ( 3 ) \boldsymbol{R}_{ij}\in\mathrm{SO}(3) Rij∈SO(3)和平移 t i j ∈ R 3 \boldsymbol{t}_{i j}\in\mathbb{R}^3 tij∈R3。
计算出的具有内点对应关系的两视图几何定义了作为全局重建步骤输入的视图 G \mathcal{G} G。在我们的管道中,我们依靠 COLMAP 的[59]匹配搜索实现[58]与 RootSIFT 特征和尺度的词袋图像检索[60]来寻找候选重叠对进行蛮力特征匹配。
2.2全局相机位姿估计
全局摄像机姿态估计是区分全局和增量 SfM 的关键步骤。全局模型不需要通过重复的三角测量和光束法平差测量来对摄像机进行顺序注册,而是使用视图图 G \mathcal{G} G作为输入,一次估计所有摄像机的姿态 P i = ( R i , c i ) ∈ S E ( 3 ) \boldsymbol{P}_i = (\boldsymbol{R}_i,\boldsymbol{c}_i) \in \mathrm{SE}(3) Pi=(Ri,ci)∈SE(3)。为了使问题易于处理,它通常被分解成单独的旋转和平移平均步骤[51,67] ,一些工作[68]也在前面细化了视图。主要的挑战在于通过精心建模和求解优化问题来处理视图中的噪声和异常值。
旋转平均。有时也称为旋转同步,已经研究了几十年[26,47] ,并且与姿态图优化(PGO)算法有关[12,13]。通常建模为一个非线性优化,惩罚全局旋转和估计相对位姿的偏差,具体地说,绝对旋转 R i \boldsymbol{R}_{i} Ri和相对旋转 R i j \boldsymbol{R}_{ij} Rij理想地应该满足约束条件 R