入选ECCV24:全局式SfM最新SOTA,GLOMAP重新定义SfM!

论文标题:

Global Structure-from-Motion Revisited

论文作者:

Linfei Pan1, Dániel Baráth1, Marc Pollefeys, Johannes L. Schönberger

本文由原paper一作Linfei Pan(潘林菲)博士指导授权【深蓝AI】编译首发,Linfei Pan博士就读于苏黎世联邦理工学院,她的个人主页为:https://lpanaf.github.io/

导读:

ETH&微软最新开源-全局式GLOMAP,它与以前的全局SfM系统相比,其核心区别在于全局定位步骤。不是先执行不适定的平移平均然后进行全局三角测量,而是进行联合相机和点位置估计。GLOMAP不仅在鲁棒性和准确性方面达到增量式COLMAP系统相当或更优的水平,同时还比COLMAP快几个数量级。©️【深蓝AI】编译

1. 研究背景

从一组图像中恢复3D结构和相机运动一直是计算机视觉研究的焦点,此类问题被称为运动恢复结构(Structure-from-Motion,SfM)。多年来已经形成了两种主要的解决范式:增量式和全局式。它们都以基于图像的特征提取和匹配开始,然后通过两视图几何估计构建输入图像的初始视图。

增量方法从两个视图开始重建,并通过逐步配准附加的相机图像和相关的三维结构来扩展重建。这一过程交替进行绝对相机姿态估计、三角测量和捆绑调整,尽管实现了高精度和鲁棒性,但由于重复的捆绑调整的高成本,限制了其可扩展性。

相反,全局方法通过联合考虑视图图中的所有两个视图几何形状,在单独的定向平均(rotation averaging)和平移平均(translation averaging)步骤中一次恢复所有输入图像的相机几何形状。通常,在最终的全局束调整(global bundle adjustment)步骤之前,将全局估计的相机几何形状用作3D结构三角测量的初始化。虽然增量方法被认为更准确、更稳健,但全局方法的重建过程更具可扩展性,在实践中速度更快。

增量和全局SfM之间准确性和鲁棒性差距的主要原因在于全局平移平均步骤。平移平均描述了从视图图中的相对姿态集估计全局相机位置的问题,其中之前通过旋转平均恢复了相机方向。这一过程在实践中面临三大挑战:

●第一个是尺度歧义:从估计的双视图几何获得的相对平移只能确定到某种尺度。

●第二是准确地将相对双视图几何分解为旋转和平移分量需要对相机内参的先验知识。

●第三个挑战出现在几乎共线的运动上,这导致了退化的重建问题。

研究者因此做了大量的研究工作致力于解决该问题。

主要贡献:

●引入了一种通用的全局SfM系统,称为GLOMAP。与之前的全局SfM系统的核心区别在于全局定位步骤。本文方法不是先进行不适定的平移平均,再进行全局三角测量,而是执行相机和点位置的联合估计。

●GLOMAP在保持全局SfM流程效率的同时,达到了当前最前进的增量SfM系统相似的鲁棒性和精度(如图1a所示)。

●与大多数之前的全局SfM系统不同,GLOMAP系统能够处理未知的相机内参(例如,来自互联网照片)并且稳健地处理顺序图像数据(例如,手持视频或自动驾驶汽车场景)。

图1|GLOMAP重构对比示例©️【深蓝AI】编译

2. 全局SfM相关研究

全局SfM流程通常由三个主要步骤组成:对应关系搜索(Correspondence Search)、全局相机姿态估计(Global Camera Pose Estimation)以及联合相机和结构细化(Global Structure and Pose Refinement)。

2.1 Correspondence Search

增量和全局SfM都是从输入图像 I = { I 1 , . . . , I N } \mathcal I = \{ I_1, ..., I_N\} I={I1,...,IN}中提取显著的图像特征开始。一般来说,
检测出的特征点与从检测周围的局部上下文中提取的紧凑签名进行描述。接下来,开始在图像对 ( I i , I j ) (I_i,I_j) (Ii,Ij)之间搜索特征对应关系。然后通过稳健地恢复重叠对的双视图几何体来验证这些。基于摄像机的几何配置,这可能会得到一个用于平面场景的一般运动和纯摄像机旋转的单应矩阵 H i j H_{ij} Hij,或者用于一般场景和一般运动的基础矩阵 F i j F_{ij} Fij(未标定)和本质矩阵 E i j E_{ij} Eij(已标定)。当相机内参近似已知时,这些可以被分解为相对旋转 R i j ∈ S O ( 3 ) R_{ij} \in SO(3) RijSO(3)和平移 t i j ∈ R 3 t_{ij} \in \mathbb{R}^3 tijR3

与相关内点对应关系计算出的双视图几何定义了视图图G,作为全局重建步骤的输入。在GLOMAP的流程中,作者利用COLMAP进行对应关系搜索,并结合RootSIFT特征和可扩展的词袋图像检索来找到候选的重叠图像对,以便进行暴力匹配特征。

2.2 Global Camera Pose Estimation

全局相机位姿估计是区分全局SfM和增量SfM的关键步骤。全局SfM不是通过重复的三角测量和光束法平差(Bundle Adjustment,BA)来顺序配准相机,而是利用视觉图G作为输入,寻求一次性估计所有相机的位姿 P i = ( R i , c i ) ∈ S E ( 3 ) P_i = (R_i, c_i) \in SE(3) Pi=(Ri,ci)SE(3),通常将其分解为独立的旋转和位移平均步骤。

Rotation Averaging:也称为旋转同步,与位姿图优化(PGO)算法相关。该问题通常被表述为非线性优化,惩罚全局旋转与估计的相对位姿之间的偏差。实际上,由于噪声和异常值,该问题通常通过鲁棒最小度量目标进行建模并优化为(如公式1所示):

arg ⁡ min ⁡ R ∑ i , j ρ ( d ( R j T R i j R i , I ) p ) ( 1 ) \arg \min_R \sum\limits_{i,j}\rho(d(\mathbf {R}_j^T\mathbf{R}_{ij}\mathbf{R}_i, \mathbf{I})^p)\qquad(1) argRmini,jρ(d(RjTRijRi,I)p)(1)

其中鲁棒器 ρ \rho ρ(如Huber)、旋转参数化(如四元数或轴角)和距离度量 d d d(如弦距离或测地线距离)的各种组合。基于这些原则,目前大多数工作进行展开研究。

Translation Averaging:平移平均描述了估计全局相机位置的问题,这些位置在基于约束 t i j = c j − c i ∥ c j − c i ∥ \mathbf t_{ij} = \frac{c_j - c_i}{ \parallel c_j - c_i \parallel } tij=cjcicjci的条件下与成对的相对平移 t i j t_{ij} tij最大限度一致。然而,由于噪声和异常值,以及相对平移的未知尺度,任务尤其具有挑战性。

近年来,提出了不同的平移平均方法。Govind的开创性工作最小化了相对相机位置和观察方向之间的叉乘。Jiang等使用三元组对问题进行了线性化。Wilson等直接优化方向的差异,并设计了专门的异常值过滤机制。尽管这些研究取得了显著进展,但平移平均通常仅在视图图连接良好时才能可靠工作。这个问题本质上是不适定的,并且在相机受到或接近共线运动时对噪声测量敏感。此外,从双视图几何中提取相对平移只有在已知相机内参的情况下才可能。当这些信息不准确时,提取的平移不可靠。相反,作者跳过了平移平均的步骤,直接对相机和点的位置进行联合估计,视为一种全局定位。

Structure for Camera Pose Estimation:例如直接使用双视图几何中的对应关系来估计全局平移。此外,为了减少尺度漂移,Holynski等将线和面特征集成到优化问题中。这些工作是将对3D场景结构的约束纳入有助于提高相机位置估计的鲁棒性和准确性。

2.3 Global Structure and Pose Refinement

在恢复相机后,可以通过三角测量获得全局3D结构。结合相机的外部参数和内部参数,3D结构通常会使用全局束调整进行精细化。

Global Triangulation:给定双视图匹配,可以利用传递对应关系来增强完整性和准确性。多视图点的三角测量,此类任务的常见做法是直接线性变换(DLT)和中点法,以及最近的LOST方法。然而,上述三角测量机制在存在任意水平的异常值时往往会失效。基于RANSAC的三角测量方案,试图在存在不匹配的情况下建立多个点轨迹。

Global Bundle Adjustment:全局束调整对获得准确的最终3D结构 X k ∈ R 3 X_k \in \mathbb{R}^3 XkR3,相机外部参数 P i P_i Pi和相机内部参数 π i \pi_i πi至关重要。它被形式化为一种联合鲁棒优化,目标是最小化重投影误差,如公式2所示:

arg ⁡ min ⁡ π , P , X ∑ i , k ρ ( ∥ π i ( P i , X k ) − x i k ∥ 2 ) ( 2 ) \arg \min_{\pi, \mathbf{P}, \mathbf{X}} \sum\limits_{i,k}\rho( \parallel \pi_i(P_i, X_k) - x_{ik}\parallel_2 )\qquad(2) argπ,P,Xmini,kρ(πi(Pi,Xk)xik2)(2)

2.4 Hybrid Structure-from-Motion

为了结合增量方法的鲁棒性和全局结构从运动(SfM)的效率,之前的研究提出了混合系统。HSfM提出了通过增量估计相机的位置和旋转。还有研究提出了一个图划分方法,首先将整个图像集划分为重叠的簇。在每个簇内,利用全局SfM方法估计相机姿态。然而,根据研究公式,当相机内部参数不准确时,这类方法依然不可用。作者通过在全局定位步骤中对目标进行不同建模,克服了这一限制。

2.5 Frameworks for Structure-from-Motion

目前有多个开源的结构从运动(SfM)框架可供使用。例如,增量SfM范式的代表-COLMAP,一个通用的SfM和多视角立体系统。开源的全局SfM流程,例如OpenMVG,它从几何验证匹配开始,使用对立RANSAC估计相对姿态。之后,OpenMVG通过调整循环长度加权来评估旋转一致性,以消除异常边,并利用剩余边通过稀疏特征值求解器求解全局旋转。全局平移通过三焦点张量进行精细化,然后使用 L ∞ L_∞ L方法进行平移平均。最后,OpenMVG通过逐点优化和全局束调整执行全局三角测量。类似方法还有Theia。

基于学习的系统流程有PixSfM,提出了一个联合优化机制,用于特征和结构以实现亚像素准确重建。VGGSfM,一个用于SfM任务的端到端学习框架。但是,这两种方法的处理能力仅限于数十幅图像。

本文出了一个新的端到端全局SfM流程(如图2所示)。

图2|GLOMAP系统处理流程©️【深蓝AI】编译

3. 方法精析

本节描述GLOMAP作为全局SfM是如何在鲁棒性和准确性方面缩小与增量SfM的差距。

3.1 Feature Track Construction

为了实现精确的重建,必须仔细构建特征轨迹。首先只考虑由两视图几何验证产生的内点特征对应。在这一步中,需要对两视图几何的初始分类进行区分:如果单应矩阵 H H H最能描述两视图几何,会使用矩阵 H H H来验证内点。同样的原理也适用于本质矩阵 E E E和基本矩阵 F F F。然后通过进行趋势性检验来过滤异常值。靠近任何一个极点或三角化角度较小的匹配也被移除,以避免由于较大的不确定性而产生的奇异性。在对所有视图图边进行成对过滤后,最后拼接所有剩余的匹配形成特征轨迹。

图3|全局定位©️【深蓝AI】编译

3.2 Global Positioning of Cameras and Points

这个步骤旨在共同恢复点和相机位置(如图3所示)。作者这里没有先执行平移平均然后进行全局三角化,而是直接执行联合全局三角化和相机位置估计。针对标准增量和全局SfM系统中,目标函数初始化和误差的问题,本方法的目标函数,使用归一化方向差异作为误差度量。原始形式是基于相对平移提出的,而这里舍弃了相对平移约束,仅包括相机光线约束。具体来说,问题被建模和优化为:

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 ) \arg\min_{X,c,d}\sum_{i,k}\rho(\parallel v_{ik}-d_{ik}(X_k-c_i)\parallel_2),\textit{ subject to }d_{ik}\geq0\qquad(3) argX,c,dmini,kρ(vikdik(Xkci)2), subject to dik0(3)

其中, v i k v_{ik} vik是从相机 c i c_i ci观察点 X k X_k Xk的全球旋转相机光线,而
d i k d_{ik} dik是一个归一化因子。Huber作为鲁棒化函数ρ,并且使用Levenberg–Marquardt作为优化器。所有点和相机变量均通过均匀随机分布初始化在范围[−1,1]内,而归一化因子初始化为 d i k = 1 d_{ik} = 1 dik=1

与重投影误差相比,本方法有几个优点。首先是鲁棒性。尽管重投影误差是无界的,上述公式等价于

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

其中对于最佳的 d i k d_{ik} dik θ \theta θ v i k v_{ik} vik X k − c i X_k − c_i Xkci之间的角度。因此,误差严格限制在[0,1]范围内。这样,异常值不会对结果产生重大偏差。其次,由于其双线性形式,在随机初始化时能够可靠收敛。

与经典的平移平均相比,在优化中舍弃相对平移项有两个关键优点。首先,本方法适用于内参不准确或未知以及不遵循预期针孔模型的退化相机的数据集(例如,处理任意互联网照片时)。这是它因为解决相对平移需要准确内参的知识。其次是全局SfM在共线运动场景中的适用性,这已知是平移平均的一个退化情况。与成对的相对平移相比,特征轨迹限制了多个重叠相机。因此,GLOMAP可以在常见的前向或侧向运动场景中更可靠地处理。

3.3 Global Bundle Adjustment

全局定位步骤为相机和点提供了一个稳健的估计。但是,当相机内参未知时,精度受到限制。
为了进一步优化,利用Levenberg-Marquardt和Huber损失作为鲁棒化器进行了多轮的全局光束平差。在每一轮中,首先固定相机的旋转,然后与内参和点一起进行联合优化。然后,根据图像空间中的重投影误差过滤轨迹。当过滤轨迹的比例低于0.1%时,迭代停止。

3.4 Camera Clustering

解决被采集的图像,不重叠的图像可能会被错误地匹配在一起。因此,不同的重构可以合并为一个重构。为了克服这个问题,通过对相机进行聚类来对重建进行后处理。首先,通过统计每个图像对的可视点数构建可视性图G。然后,寻找G中的强连通分量来发现具有良好约束的相机簇。递归地重复这个过程,直到没有更多的簇可以合并为止。

3.5 Proposed Pipeline

如图2所示,GLOMAP方法的流程图。该方法由两个主要组件组成:对应关系搜索和全局估计。对于对应关系搜索,它以特征提取和匹配开始。从匹配中估计两视图几何,包括基本矩阵、必需矩阵和单应性。几何上不可行的匹配会被排除。然后在几何验证的图像对上执行视图图校准。使用更新后的相机内参,估计相对相机姿态。关于全局估计,通过平均来估计全局旋转,并通过对 R i j R_{ij} Rij R j R i ⊤ R_jR^⊤_i RjRi之间的角度距离进行阈值过滤来排除不一致的相对姿态。然后,通过全局定位联合估计相机和点的位置,随后进行全局束调整。同样的,重建的精度可以通过结构优化进一步提高。

4. 实验分析

在各种数据集上对GLOMAP进行了大量实验,这些数据集覆盖了从标定到未标定、从无序到序列场景的情况。数据集包含ETH3D、LaMAR、2023年图像匹配挑战赛(IMC 2023)和 MIP360,并与最先进的框架(OpenMVG、Theia、COLMAP)进行了比较。

Metrics。对于所有评估,采用两个标准指标。对于无序图像数据,基于每对图像之间相对旋转和位移误差的最大值计算出的AUC(召回曲线下的面积)得分,这种误差的表述考虑了每一对可能相机之间的偏差。对于序列图像数据,在使用鲁棒的RANSAC方案将重建结果全局对齐到真实值后计算的相机位置误差的AUC得分。

4.1 Calibrated Image Collections

数据集ETH3D SLAM包含稀疏特征、动态物体和剧烈光照变化的序列数据。在具有毫米级精确地面真值的训练序列上进行方法评估。结果表明(如表1所示),GLOMAP系统的召回率比COLMAP高出约8%,在0.1m和0.5m阈值下分别得分9分和8分,且COLMAP的速度慢一个数量级。与其他全局SfM流程相比,GLOMAP在召回率上提高了18%和4%,在0.1m下AUC高出约11分,确认了其稳健性。

表1|ETH3D SLAM数据集实验结果对比©️【深蓝AI】编译

ETH3D MVS(rig)每个场景包含约1000个多机rig曝光,每个曝光4张图像。该数据集包含室外和室内场景,5个训练序列具有毫米级的地面真值。结果如表2所示,GLOMAP成功重建了所有场景。相比之下,OpenMVG在所有场景上的表现较差,而COLMAP在一个场景上失败,Theia的表现始终低于本文的方法。在COLMAP成功的序列中,GLOMAP达到相似或更高的精度,其运行时间比全局SfM基线略慢,但比COLMAP快约3.5倍。

表2|ETH3D MVS(rig)数据集实验结果对比©️【深蓝AI】编译

ETH3D MVS(DSLR)特征是一个无序的高分辨率图像集合,包含室内和室外场景,训练和测试序列都具有毫米级的地面真值。结果如表3所示,与其他ETH3D数据集一致,GLOMAP优于OpenMVG和Theia,同时与COLMAP达到类似的精度。对于exhibition_hall,GLOMAP的表现不准确,因为场景的旋转对称性导致旋转平均崩溃。由于场景规模较小,所有方法的运行时间相近。

表3|ETH3D MVS(DSLR)数据集实验结果对比©️【深蓝AI】编译

LaMAR是一个大规模的室内和室外基准测试,每个场景包含数万个由各种AR设备和智能手机拍摄的图像。实验结果如表4所示,与其他基线相比,GLOMAP在HGE和LIN上实现了显著更准确的重建,包括COLMAP,同时在速度上比COLMAP快几个数量级。在CAB上,包括COLMAP在内的所有方法表现不佳,特别是在视觉检查中,由于存在许多前向运动轨迹、剧烈的昼夜光照变化,以及楼层/房间之间的许多对称性和重复外立面,这对这个极具挑战性的基准造成了很大的影响。

表4|LaMAR数据集实验结果对比©️【深蓝AI】编译

4.2 Uncalibrated Images Collections

IMC 2023包含在复杂场景中unordered(无序)的图像集合。图像来自多个来源,通常缺乏先前的相机内参。结果如表5所示。GLOMAP在3°、5°和10°下的平均AUC分数比其他全局SfM基线高出几倍。运行时间与其他全局SfM流程相似。与COLMAP相比,所提方法在3°、5°和10° 下的AUC分数高出约4分,并且速度快约8倍。

表5|IMC 2023数据集实验结果对比©️【深蓝AI】编译

MIP360包含7个以物体为中心的场景,这些场景的高分辨率图像是由同一相机拍摄的。如表6所示,GLOMAP与全局SfM基线相比,显著更接近参考模型。GLOMAP速度超过COLMAP的1.5倍。

表6|MIP360数据集实验结果对比©️【深蓝AI】编译

4.3 Ablation

为了证明全局定位策略的有效性,通过替换组件进行实验,一是仅添加相对位移约束,称为(BATA,cam),以及二是添加点和位移约束(BATA,cam+pt)。在 ETH3D MVS(DSLR)和IMC 2023上进行了测试。结果表明(如表7所示),相对位移约束会降低收敛性和整体性能。

表7|消融实验结果©️【深蓝AI】编译

4.4 Limitations

尽管GLOMAP总体上取得了不错的的性能,但某些情况下会失效。主要原因是旋转均值计算的失败,例如,由于对称结构(如表3中的Exhibition_Hall)。在这种情况下,GLOMAP可以与现有的方法结合,比如Doppelganger。此外,由于GLOMAP依赖传统的对应搜索,错误估计的双视图几何或完全无法匹配图像对(例如,由于外观或视角的剧烈变化)将导致结果下降,或在最坏的情况下,出现灾难性故障。

5. 本文总结

GLOMAP 提出了一种新的全局SfM流程。以前的全局SfM系统被认为更高效但鲁棒性较差,GLOMAP重新审视了这个问题,发现解决关键在于在优化中使用点。GLOMAP不再通过不适定的位移平均来估计相机位置,也不再单独通过点三角测量获取3D结构,而是将它们合并为一个单一的全局定位步骤。通过在多个数据集上进行实验对比,GLOMAP在准确性和鲁棒性方面与增量方法相比有类似或更优的结果,同时速度快十倍。

编译|巴巴塔

审核|Los

本文首发于微信公众号【深蓝AI】,移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态👇

深蓝AI·赋能自动驾驶+机器人+AI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值