Global Structure-from-Motion Revisited golmap论文翻译

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 i j = R j R i ⊤ \boldsymbol{R}_{ij}=\boldsymbol{R}_j\boldsymbol{R}_i^\top Rij=RjRi⊤ 。然而,在实践中,由于噪声和异常值的存在,这种情况并不完全成立。因此,这个问题通常是建立在一个鲁棒的最小度量目标和优化为:

arg ⁡ min ⁡ R ∑ i , j ρ ( d ( R j ⊤ R i j R i , I ) p ) . ( 1 ) \begin{aligned}\arg\min_{\large R}&\sum_{i,j}\rho\left(d(\boldsymbol{R}j^\top\boldsymbol{R}{ij}\boldsymbol{R}_i,\boldsymbol{I})^p\right).&(1)\end{aligned} argRmini,j∑ρ(d(Rj⊤RijRi,I)p).(1)

Hartley 等[26]提供了鲁棒性参数 ρ (例如 Huber) ,旋转参数化(例如四元数或轴角)和距离度量 d (例如弦距或测地距离)的各种选择的全面概述。

基于这些原理,提出了多种方法。Govindu [24]通过四元数将问题线性化,而 Martinec 和 Pa-jdla [47]通过省略旋转矩阵的某些约束来放松问题。埃里克森等[22]利用强对偶性。Wilson 等人研究了这个问题的易处理性条件[74]。利用基于半定规划(SDP)松弛的方法[5,23]通过最小化和弦距离来确保最优性保证[26]。Dellaert 等[20]依次将问题提升到 SO (n)内的高维旋转,以规避标准数值优化技术可能失败的局部极小值[38,46]。各种各样的鲁棒损失函数已经被探索来处理异常值[14,15,25,65,78]。最近,基于学习的方法已经出现。NeuRoRa [54] ,MSP [77]和 PoGO-Net [39]利用图形神经网络消除异常值并估计绝对相机姿态。DMF-synch [69]依赖于矩阵分解技术来提取姿势。在这项工作中,我们使用我们自己的实现 Chatterjee 等人[14]作为一种可伸缩的方法,提供准确的结果,存在噪声和离群污染的输入旋转。

平移平均 。在旋转平均后, R i \boldsymbol{R}{i} Ri的旋转可以从相机姿势中分解出来。摄像头的位置 c i \boldsymbol{c}{i} ci还有待确定。平移平均描述了估计全局摄像机位置的问题,使用两两相对平移 t i j \boldsymbol{t}{ij} tij基于约束 t i j = c j − c i ∥ c j − c i ∥ \boldsymbol{t}{ij} = \frac{\boldsymbol{c}_j-\boldsymbol{c}_i}{\|\boldsymbol{c}_j-\boldsymbol{c}_i\|} tij=∥cj−ci∥cj−ci最大化一致性,然而,由于噪声和异常值以及未知的相对平移尺度,这项任务是特别具有挑战性的。原则上,只要view graph具有平行刚性,就可以唯一地确定摄像机的姿态。平行刚性,也被称为轴承刚度,已经在计算机视觉、机器人技术、决策与控制以及计算机辅助设计等不同领域得到了研究。Arrigoni 等[6]对这个主题提供了一个统一的回顾。在过去的几年中,人们提出了不同的平移平均方法。Govindu [24]的开创性工作最小化了相对摄像机位置和观察方向之间的叉积。蒋等[34]将问题线性化为三联体单位。Wilson 等[75]直接优化了方向差异,并设计了专用的异常值过滤机制。Ozyesil 等[52]提出了对原始问题的凸松弛,并为了鲁棒性使用 L1损失,解决了最小二乘偏差(LUD)问题。庄等[81]实现了 LUD 方法对摄像机基线的灵敏度,并提出了基于双线性角度的平移平均(BATA)误差优化方法。虽然在这些工作中已经取得了显著的改进,但平移平均通常只有在视图连接良好的情况下才能可靠地工作。当摄像机受到或接近于共线运动时,这个问题也是固有的不适定和对噪声测量敏感的。此外,从两视图几何中提取相对平移只有在已知摄像机内参的情况下才可能实现。当这样的信息是不准确的,提取的平移是不可靠的。在我们提出的系统中,由于观察到点跟踪通常有助于平均平移[5,17-19,32,75] ,我们跳过了平均平移的步骤。相反,我们直接执行摄像机和点位置的联合估计。我们将这一步称为全局定位,详细内容见3.2节。

摄像机姿态估计的结构。一些工作探讨了在摄像机位置估计中引入三维结构的问题。Ariel 等[5]直接利用双视图几何中的对应关系估计全局平移。Wilson 等[75]发现3D 点可以像照相机中心一样处理,因此可以很容易地融入到优化中。崔等[18]扩展了[34] ,将点跟踪加入到线性关系的最优化问题中。为了减少尺度漂移,霍林斯基等人将线和平面特征整合到最优化化问题中。Manam 等[44]通过在优化中重新权衡相对平移来整合对应关系。LiGT [10]提出了一种"只有姿态"的方法来求解相机位置与线性全局平移约束应用到点。这些作品的共同主题是,结合对三维场景结构的约束,有助于摄像机位置估计的稳健性和准确性,这对我们的工作是一个启发。

2.3 全局结构与姿态优化

恢复相机位姿后,全局3D结构可以通过三角化获得,和相机内外参一起,使用传统的BA方法优化3D结构。

全局三角化。给定两个视图匹配,可以利用传递对应关系来提高完整性和准确性[59]。Moulon 等[50]提出了一种连接跟踪的有效方法。多视图三角测量有着悠久的研究历史[29,43]。这类任务的常见做法是直接线性映射(DLT)和中点法[2,27,29]。最近,LOST [31]被提出作为一种基于不确定性的三角化。然而,上述三角测量机制往往在存在任意水平的离群值的情况下中断。在这方面,Schönberger 等[59]提出了一个基于 RANSAC 的 三角化方案,寻求在存在错误匹配的情况下建立多点跟踪。相反,我们通过一个单一的,联合全局优化方法直接估计三维点和相机的位置(见第3.2节)。

全局BA 。为了获得精确的最终三维结构 X k ∈ R 3 \boldsymbol{X}_k\in\mathbb{R}^3 Xk∈R3,相机外参 P i \boldsymbol{P}i Pi和相机内参 π i \pi{i} πi是必不可少的。通过最小化重投影误差建模为:

arg ⁡ min ⁡ π , P , X ∑ i , k ρ ( ∥ π i ( P i , X k ) − x i k ∥ 2 ) . ( 2 ) \begin{aligned}&\arg\min_{\pi,\boldsymbol{P},\boldsymbol{X}}\sum_{i,k}\rho\left(\|\pi_i(\boldsymbol{P}_i,\boldsymbol{X}k)-x{ik}\|_2\right).&(2)\end{aligned} argπ,P,Xmini,k∑ρ(∥πi(Pi,Xk)−xik∥2).(2)

请参考 Triggs 等人[70]对光束法平差的全面综述。

2.4 混合SfM

为了结合增量重建鲁棒性和全局 SfM 的效率,以往的工作已制定了混合系统。HSfM [17]提出通过旋转增量的估计摄像机的位置。Liu 等[41]提出了一种图形划分方法,首先将整个图像集划分为重叠的聚类。在每个簇内,摄像机姿态通过全局 SfM 方法估计。然而,当相机内参不精确时,这种方法仍然不适用。我们的方法通过在全局定位步骤中对目标进行不同的建模来克服这一局限性。

2.5 SfM框架

可以使用多个开放源码 SfM 管道。增量式 SfM 由于其在现实世界场景中的稳健性和准确性,目前是应用最广泛的范式。Bundler [66]和 VisualSfM [76]是可以追溯到十年前的系统。在此基础上,Schönberger 等人开发了 COLMAP,一个通用的 SfM 和多视图系统。COLMAP 通用性强,在许多数据集上表现出了强大的性能,使其成为近年来基于图像的三维重建的标准工具。

全局 SfM 也可以使用几个开放源码管道。OpenMVG [51]在这一类别中脱颖而出,成为一个突出的框架。从几何验证匹配开始,它使用相反的 RANSAC 估计相对姿势[49]。在此基础上,OpenMVG 通过调整周期长度加权来评估旋转一致性,以消除异常边缘,并使用稀疏特征值求解器解决全局旋转问题。利用三焦张量优化全局平移,然后利用 L ∞方法进行平移平均。最后,OpenMVG 通过点优化和全局光束法平差进行全局三角化。

Theia [67]是另一个完善的全局 SfM 管道。它采用了类似于 OpenMVG 的方法,通过平均估计全局旋转,然后通过平移平均估计摄像机的位置。对于旋转平均,Theia 采用了[14]中的鲁棒方案。对于平均平移,它默认使用 LUD 方法[52]。这条管道的最后是全局三角测量和光束法平差,类似于 OpenMVG。

有几个基于学习的管道可用。PixSfM [40]提出了一种基于特征和结构的联合优化机制,以实现亚像素级的精确重建,并且可以与我们的系统相结合。VGGSfM [72]为 SfM 任务提出了一个端到端的学习框架,[79]提出对像素级对应匹配进行操作,以直接回归摄像机位置。然而,这两种方法仅限于处理数十幅图像。

在本文中,我们提出了一个新的端到端全局 SfM,并发布给社区作为一个开源的贡献,以促进下游应用和进一步的研究。

3 技术贡献

这一部分介绍了我们对提高全局 SfM 技术水平的关键技术贡献。如图2) ,并在稳健性和准确性方面缩小了与增量 SfM 的差距。

图2.提出的 GLOMAP 系统是一种全局运动结构框架,它将平移平均和三角化阶段合并为一个单一的全局定位步骤,从而区别于其他全局定位方法

3.1 特征跟踪构建

为了实现精确的重建,特征跟踪必须精心构造。首先,我们只考虑由两视图几何验证产生的内点特征匹配。在这一步中,我们区分了两视图几何的初始分类[59] : 如果单应H最好地描述了两视图几何,我们使用H来验证 inlier。同样的原理也适用于本质矩阵 E 和基本矩阵 F。我们进一步通过执行3D点的正景深约束测试来过滤异常值[28,73]。接近任何一个极点或具有小三角化角度的匹配也被删除,以避免由于大的不确定性而产生的正奇异性。在对所有view graph边缘进行成对筛选后,通过连接所有剩余的匹配来形成特征跟踪。

图3. 全局定位。左图可视化初始配置,描绘随机初始化的相机和点。黑色箭头,穿过图像平面上的彩色圆圈,表示测量值。虚线表示的是实际的图像光线,它需要通过调整点和摄像机的位置来进行优化,同时它们的方向保持不变。右图显示了测量值(实线)和来自3D 点(虚线)的图像射线之间的角度最小化后的结果。

3.2 相机和点的全局定位

这一步的目的是共同恢复点和相机位置(见图3)。我们不是进行平移平均然后进行全局三角测量,而是直接进行联合全局三角测量和相机位置估计。与以往的工作不同,我们的目标函数是不需要初始化的,并且在实践中始终收敛到一个好的解。在标准的增量和全局SfM系统中,特征轨迹通过重投影误差进行验证和优化,以确保可靠和准确的三角测量。然而,跨多个视图的重投影误差是高度非凸的,因此需要小心初始化。此外,误差是无界的,因此对异常值不具有鲁棒性。为了克服这些挑战,我们以[81]提出的目标函数为基础,使用归一化方向差作为误差度量。原来的公式是根据相对平移提出的,而在我们的公式中,我们抛弃了相对平移约束,只包括相机光线约束。具体来说,我们的问题被建模和优化为:

arg ⁡ min ⁡ X , c , d ∑ i , k ρ ( ∥ v i k − d i k ( X k − c i ) ∥ 2 ) , subject to d i k ≥ 0 , ( 3 ) \begin{aligned}\arg\min_{\boldsymbol{X},\boldsymbol{c},d}\sum_{i,k}\rho\left(\|\boldsymbol{v}{ik}-d{ik}(\boldsymbol{X}{k}-\boldsymbol{c}{i})\|{2}\right),\quad\text{subject to}\quad d{ik}\geq0,\\(3)\end{aligned} argX,c,dmini,k∑ρ(∥vik−dik(Xk−ci)∥2),subject todik≥0,(3)

其中 v i k \boldsymbol{v}{ik} vik为摄像机 c i \boldsymbol{c}{i} ci全局旋转的摄像机射线观测点 X k \boldsymbol{X}{k} Xk, d i k d{ik} dik为归一化因子。我们使用Huber[33]作为鲁棒器ρ,使用来自Ceres[3]的Levenberg Marquardt[38]作为优化器。所有点和相机变量在[1,1]范围内按均匀随机分布初始化,归一化因子初始化为 d i k = 1 d_{ik}=1 dik=1。我们通过因子2降低涉及具有未知内参的相机的项的权重,以减少其影响。

与重投影误差相比,这有几个优点。首先是稳健性。虽然重投影误差是无界的,但上面的等价于

{ sin ⁡ θ if θ ∈ [ 0 , π / 2 ) , 1 if θ ∈ [ π / 2 , π ] , ( 4 ) \begin{cases}\sin\theta&\text{if}\quad\theta\in[0,\pi/2),\\1&\text{if}\quad\theta\in[\pi/2,\pi],\end{cases}\quad\begin{pmatrix}4\end{pmatrix} {sinθ1ifθ∈[0,π/2),ifθ∈[π/2,π],(4)

其中θ为最优 d i k d_{ik} dik下 v i k \boldsymbol{v}_{ik} vik与 X k − c i \boldsymbol{X}_k\boldsymbol{-}\boldsymbol{c}_i Xk−ci之间的夹角[81]。因此,误差被严格限定在[0,1]范围内。因此,异常值不会严重影响结果。其次,由于目标函数的双线性形式,我们的实验表明,目标函数在随机初始化下是可靠收敛的。

与经典的平移平均算法相比,在优化过程中去掉相对平移项有两个主要优点。首先,我们的方法适用于具有不准确或未知相机内参的数据集,以及不遵循预期针孔模型的退化相机(例如,在处理任意互联网照片时)。这是因为在求解相对平移时需要准确的内参知识。当偏离预期值时,估计的两视图平移存在较大的误差。由于未知尺度,平移平均本身就是病态的,因此从噪声和异常值污染的观测中恢复相机位置是具有挑战性的,特别是当相对平移误差随着较长的基线而加剧时。相反,我们提出的管道依赖于对双视图几何图形的仔细过滤,并且误差是在相机光线附近定义的。因此,较差的相机内参只会对单个相机的估计产生偏差,而不会对其他重叠的相机产生偏差。其次,全局SfM在共线运动场景中的适用性,这是已知的平移平均的退化情况。与两两相对平移相比,特征轨迹约束了多个重叠的摄像机。因此,我们提出的管道可以更可靠地处理常见的向前或侧向运动场景(参见第4.3节)。

3.3 全局BA

全局定位步骤提供了对相机和点的鲁棒估计。然而,精度是有限的,特别是当相机的内参是提前不知道。作为进一步的改进,我们使用Levenberg-Marquardt和Huber损失作为鲁棒器执行了几轮全局束平差。在每一轮中,相机的旋转首先固定,然后用intrinsic和points共同优化。这种设计对于序列数据的重建尤其重要。在构造第一个束平差问题之前,我们基于角度误差对三维点观测进行预滤波,同时允许未校准相机的较大误差。然后,我们根据图像空间中的重投影误差对轨迹进行过滤。当过滤轨迹的比率低于0.1%时,迭代停止。

3.4 相机聚类

对于从互联网上收集的图像,不重叠的图像可能会错误地匹配在一起。因此,不同的重建会合并成一个。为了克服这个问题,我们通过对相机进行聚类来对重建进行后处理。首先,通过计算每个图像对的可见点的个数来构造共视图 G \mathcal{G} G。计数少于5的对被丢弃,因为相对姿态不能在这个数字以下可靠地确定,并且使用剩余对的中位数来设置初始阈值 τ \tau τ。然后,我们通过在 G \mathcal{G} G中找到强连接分量来找到约束良好的摄像机簇。这些分量仅由大于 τ \tau τ计数的连接对来定义。然后,我们仔细尝试合并两个强分量,如果至少有两条边的 τ \tau τ计数大于0.75。我们递归地重复这个过程,直到没有更多的聚类可以合并。每个连接的组件作为单独的重建输出。

3.5 提出的流程

所提出方法的流程如图2所示。它包括两个主要部分:对应搜索和全局估计。对于匹配搜索,它从特征提取和匹配开始。从匹配中估计了两视图几何,包括基本矩阵、基本矩阵和单应性。排除几何上不可行的匹配。然后,类似于Sweeney等人[68]对几何验证的图像对进行可视图校准。利用更新后的相机内参,估计相机的相对姿态。对于全局估计,通过平均估计全局旋转[14],通过阈值化 R i j \boldsymbol{R}_{ij} Rij和 R j R i ⊤ \boldsymbol{R}_j\boldsymbol{R}_i^\top RjRi⊤ 之间的角距离来过滤不一致的相对姿态。

然后,通过全局定位联合估计相机和点的位置,然后进行全局束平差。可选地,重建的精度可以通过结构优化进一步提高。在这一步中,用估计的相机姿态重新调整点,并执行全局BA。相机聚类也可以用于实现连续重建。

4 实验

为了证明我们提出的GLOMAP系统的性能,我们在各种数据集上进行了广泛的实验,范围从校准到未校准,从无序到顺序场景。更具体地说,我们在ETH3D [62,63], LaMAR[57],图像匹配挑战2023 (IMC 2023)[16]和MIP360[9]数据集上比较了最先进的框架(OpenMVG [51], Theia [67], COLMAP[59])。此外,我们提出了消融来研究我们所提出的系统的不同组成部分的行为。

指标。对于所有评估,我们采用两个标准度量。对于无序图像数据,我们报告了从每个图像对之间的相对旋转和平移误差的最大值计算的AUC(召回曲线下的面积)分数,类似于[16,30,62]。这种误差公式考虑了每个可能的相机对之间的偏差。对于序列图像数据,我们报告了全局对齐利用鲁棒RANSAC方案重建地面真值后由相机位置误差计算的AUC分数。当图像按序列拍摄时,特别是当相机几乎共线性时,相对误差不能很好地捕捉尺度漂移。因此,我们直接关注相机位置。为了公平比较,我们使用相同的特征匹配作为所有方法的输入,因此也从报告的运行时中排除了对应搜索。我们还尝试使用OpenMVG和Theia的对应搜索实现,但使用COLMAP始终获得更好的结果。我们使用Kapture[1]将验证匹配导入OpenMVG。我们对GLOMAP使用固定设置,而对OpenMVG和Theia使用默认推荐设置。

4.1 校准图像集

ETH3D SLAM[62]是一个具有挑战性的数据集,包含具有稀疏特征、动态对象和剧烈光照变化的序列数据。我们在具有毫米精度真值的训练序列上对我们的方法进行了评估。对于测试序列和某些帧,不存在真值,因此我们不考虑它们。结果如表1所示。表中的每一行将跨序列共享相同前缀的结果与Supp. material中的完整结果进行平均。结果表明,我们提出的GLOMAP系统比COLMAP系统在0.1m和0.5m阈值下的召回率提高了约8%,在AUC上分别获得了9分和8分,而COLMAP系统也慢了一个数量级。与其他全局SfM管道相比,GLOMAP的召回率提高了18%和4%,在0.1m时的AUC提高了约11个点,证实了其稳健性。

表1.ETH3D SLAM [62]数据集的结果。每一行表示具有相同前缀的场景的平均结果。该系统的性能大大优于全局SfM 基线,并且取得了比 COLMAP 更好的结果[59]

ETH3D MVS (rig) [63]每个场景包含大约1000个多环视曝光,每4张图像。该数据集包含5个训练序列的室外和室内场景,具有毫米精度的地面真值。我们不固定任何方法的rig的姿势。该数据集的结果见表2。我们成功地重建了所有场景。相比之下,OpenMVG在所有场景中都表现不佳,而COLMAP在一个场景中失败,Theia的表现一直比我们的更差。在COLMAP成功的序列上,我们的方法达到了类似或更高的精度。我们的运行时比全局SfM基线慢一点,比COLMAP快3.5倍。

表2.ETH3D MVS (rig)结果[63]。提出的 GLOMAP 在保持全局 SfM 效率的同时,大大优于其他 SfM 系统。

ETH3D MVS (DSLR)[63]的特点是对室外和室内场景的高分辨率图像进行无序采集,训练和测试序列的真值均为毫米级,结果如表3所示。与其他ETH3D数据集一致,我们的性能优于OpenMVG和Theia,同时达到与COLMAP相似的精度。在展览馆(exihibition_hall)中,由于场景的旋转对称性,导致GLOMAP形成不准确,导致旋转平均崩溃。

表3. ETH3D MVS (DSLR)测试结果[63]。在这个数据集上,提出的方法优于其他全局 SfM 基线,并与 COLMAP 相当[59]

LaMAR[57]是一个大规模的室内和室外基准,每个场景包含数万张由各种AR设备和智能手机捕获的图像。对于这个数据集,我们使用基准[57]中的检索管道来建立匹配。该数据集的结果见表4,定性结果见图1b。与包括COLMAP在内的所有其他基线相比,GLOMAP在HGE和LIN上的重建精度明显更高[59],同时速度比COLMAP快几个数量级。在CAB上,所有方法(包括Colmap)的表现不佳,尤其是在视觉检查时,由于许多前进运动轨迹,剧烈的昼夜照明变化以及层次/房间的许多对称性,因此在这种极具挑战性的基准下进行了挑战性的基准测试。

表4: LaMAR [57]数据集的结果。提出的方法在很大程度上优于其他基线以及 COLMAP [59]。对于 LIN,由于内存限制,GLOMAP 不执行结构优化(标记为 *)

4.2 未经校准的图像集合

IMC 2023 [16]包含复杂场景的无序图像集合。图像是从各种来源收集的,通常缺乏先前的相机内参。数据集的ground truth是由COLMAP[59]用保留图像构建的。由于该数据集的准确性不是很高,我们采用与He等人[30]相同的方案来报告 3 ∘ , 5 ∘ and 1 0 ∘ 3^\circ,5^\circ\text{ and }10^\circ 3∘,5∘ and 10∘ 的AUC分数。训练集上的结果如表5所示。在该数据集上,该方法在 3 ∘ , 5 ∘ and 1 0 ∘ 3^\circ,5^\circ\text{ and }10^\circ 3∘,5∘ and 10∘ 的平均AUC分数比其他全球SfM基线高出几倍。运行时类似于其他全局SfM管道。与COLMAP[59]相比,本文方法在 3 ∘ , 5 ∘ and 1 0 ∘ 3^\circ,5^\circ\text{ and }10^\circ 3∘,5∘ and 10∘ 处的AUC得分提高了约4个点,速度提高了约8倍。

表5. IMC 2023年结果[16]。我们的 GLOMAP 方法接近 COLMAP 生成的真值,同时表现优于很大一部分全局SfM

MIP360 [9]包含7个以物体为中心的场景,由同一台相机拍摄高分辨率图像。所提供的COLMAP模型被认为是该数据集的(伪)基本事实。同样,由于地面真实值的准确性是有限的,因此在 3 ∘ , 5 ∘ and 1 0 ∘ 3^\circ,5^\circ\text{ and }10^\circ 3∘,5∘ and 10∘ 报告AUC分数。使用与其他方法相同的匹配重新估计COLMAP重建。结果总结在表6中,与其他全局SfM方法相比,我们的方法明显更接近参考模型,而重新运行COLMAP产生的结果与我们的相似。我们的算法比COLMAP快1.5倍。

表6: MIP360[9]数据集的结果。提出的方法大大优于其他基线,同时获得类似 COLMAP [59]的结果

4.3 消融

为了证明全局定位策略的有效性,我们通过以下方式替换组件进行实验:1)仅添加相对平移约束,表示为(BATA, cam); 2)添加点和平移约束(BATA, cam+pt)。对于(BATA, cam+pt)实验,我们对两种类型的约束使用了与Theia[67]中实现的相似的加权策略。我们还比较了通过Theia's LUD [52]替换全局定位的结果。对于实验(BATA, cam)和LUD,我们使用固定摄像机进行额外的全局定位,以获得后续束调整的点位置。我们在ETH3D MVS (DSLR)[63]和IMC 2023[9]上进行了测试。结果总结如表7。我们看到相对的平移约束会恶化收敛性和整体性能。

表7. 全局定位约束的消融显示,单独的点表现最好

4.4 局限性

虽然总体上取得了令人满意的成绩,但仍有一些失败的情况。主要原因是旋转平均失效,例如,由于对称结构(见表3中的展览馆)。在这种情况下,我们的方法可以与Doppelganger[11]等现有方法相结合。此外,由于我们依赖于传统的对应搜索,错误估计的双视图度量或无法完全匹配图像对(例如,由于剧烈的外观或视点变化)将导致结果下降,或者在最坏的情况下,灾难性的失败。

5.结论

综上所述,我们提出了GLOMAP作为一个新的全局SfM管道。这一类别的以前的系统被认为比增量方法更有效,但不如增量方法健壮。我们重新研究了这个问题,并得出结论,关键在于优化中点的使用。我们将它们合并到一个单一的全局定位步骤中,而不是通过病态平移平均来估计摄像机位置并分别从点三角测量中获得三维结构。在各种数据集上进行的大量实验表明,该系统在交流精度和鲁棒性方面取得了与增量方法相当或更好的结果,同时速度快了几个数量级。该代码在商业友好许可下作为开源提供。

相关推荐
蒙娜丽宁3 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
好喜欢吃红柚子3 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
AI小杨4 小时前
【车道线检测】一、传统车道线检测:基于霍夫变换的车道线检测史诗级详细教程
人工智能·opencv·计算机视觉·霍夫变换·车道线检测
撞南墙者7 小时前
OpenCV自学系列(1)——简介和GUI特征操作
人工智能·opencv·计算机视觉
王哈哈^_^7 小时前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
柳鲲鹏8 小时前
OpenCV视频防抖源码及编译脚本
人工智能·opencv·计算机视觉
浮生如梦_13 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
深度学习lover13 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
Eric.Lee202118 小时前
yolo v5 开源项目
人工智能·yolo·目标检测·计算机视觉
其实吧319 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab