大规模场景分块建图论文笔记

一.(CVPR2018)Very Large-Scale Global SfM by Distributed Motion Averaging

动机:

突破现有全局SfM在大规模数据集上的瓶颈,提出了一种可以处理上百万张图像的分布式运动平均方法,同时增强了计算的效率和鲁棒性。


方法:


作者的分布式运动平均方法通过以下几个步骤解决了大规模SfM问题:

分块处理(Divide Phase):基于嵌套剖分,将相机图划分为多个强关联的子图。
局部运动平均(Local Motion Averaging):在每个子图内独立地进行相机位置和方向的优化,并行化提高了效率。
全局运动平均(Global Motion Averaging):优化分隔符节点的位置,确保不同子图之间的连接正确。
迭代至收敛(Iterative Refinement):通过多次迭代优化,逐步减少误差,直到所有相机的位置和方向达到稳定状态。
内存和效率优化:避免整个重建结果一次性加载到内存中,通过分布式计算降低计算和内存负担。

分布式运动平均的整体思路
分布式运动平均是一种结合了局部运动平均和全局运动平均的框架,通过将大规模的相机图进行分块处理,以提升计算效率和鲁棒性,特别是针对那些拥有非常多照片的大型数据集。它的具体实现步骤如下:

1. 将相机图划分为多个子图(Divide Phase)
首先,作者提出了一种基于嵌套剖分(Nested Dissection)的分块方法来将整个相机图(Camera Graph)划分为多个子图(Sub-graphs):

相机图的构建:
在相机图中,每个相机(也就是每张照片的拍摄位置)是一个节点,节点之间通过边相连,边表示两个相机之间有共视的特征点(即两张照片拍到了一些相同的物体)。
分块策略:
使用嵌套剖分算法来划分相机图。嵌套剖分会将图分割为多个子图,同时找到一些分隔符(Separators),这些分隔符是连接多个子图的节点。
分块的目标是将强关联的相机(拍摄同一部分场景的相机)分配在同一个子图内,这样每个子图可以独立处理。
2. 局部运动平均(Local Motion Averaging)
在划分完子图之后,接下来对每个子图进行局部运动平均的计算:

局部优化:

每个子图可以独立进行局部运动平均。也就是说,每个子图内的相机位置和方向可以被独立地优化,因为这些相机之间的关联性强。
局部运动平均的目标是找到子图内相机的最优位置和方向,使得这些相机之间的相对运动关系得到满足。
并行计算:

由于每个子图是独立的,所以这些局部运动平均可以并行进行,这样大大加快了整个优化过程的速度。这就是“分而治之”的优势所在:每个小问题可以独立求解,从而提高效率。
3. 全局运动平均(Global Motion Averaging)
在完成每个子图的局部运动平均之后,接下来是进行全局运动平均,这一步的目的是将所有子图连接起来,形成完整的相机图:

处理分隔符(Separators):

分隔符节点是那些连接多个子图的相机,它们的优化需要考虑跨越子图的关系。因此,全局运动平均的重点就是处理这些分隔符节点。
全局运动平均通过解决这些分隔符的相对位置,来实现不同子图之间的拼接。换句话说,全局运动平均是在局部优化的基础上,进一步优化那些连接多个子图的相机位置。
相似变换参数化:

在进行全局运动平均时,作者引入了相似变换来参数化每个子图内的相机姿态。这意味着每个子图内的相机位置和方向可以用一个相似变换(缩放、旋转、平移)来表示,这样可以在全局运动平均过程中保持线性化,减少计算的复杂度。
4. 迭代至收敛(Iterative Refinement)
局部和全局运动平均的过程会迭代进行,直到结果收敛,也就是相机的位置和方向都达到了稳定状态,误差降到最小。具体来说:

每次迭代中,先进行局部运动平均来调整每个子图内部的相机位置,然后进行全局运动平均来调整分隔符的相机位置。
这种迭代优化的过程使得最终的重建结果更加精确,同时还能逐步减少误差。
5. 内存和效率的优化
分布式运动平均方法通过局部分块处理和全局连接优化,解决了传统全局SfM方法中内存和计算复杂度的瓶颈:

内存优化:
在全局运动平均过程中,作者避免了将所有相机的数据一次性加载到内存中,而是通过只处理分隔符和相似变换来减小内存占用。
计算效率:
每个子图的局部运动平均可以并行化处理,大大加快了计算速度。此外,由于分块降低了单个优化问题的规模,每次优化的计算复杂度也相对较低。

分析:

        构建相机图,节点表示图像,边表示图像之间的共视特征点,采用嵌套剖分的思想不断地将图分割成更小的子图,分块的目标是将强关联的相机(拍摄同一部分场景的相机)分配在同一个子图内,可以确保子图的鲁棒性,相比之下,其他分块方法可能会假设相机之间的相对精度是均匀的,这种假设在存在强弱关联不均的情况下会影响重建的精度。因此,作者提出的分块方法实际上是一种针对关联性强弱的定向分割。它通过分析相机之间的共视特征,确保强关联的相机在同一个子图中进行优化,而分隔符(即那些跨子图连接的节点)则在全局运动平均中进行处理。

均衡分割 vs 嵌套剖分

  • 均衡分割方法的目标是尽量让每个子图中的节点数量接近均衡,以便在计算中避免某些子图过大带来的计算瓶颈。
  • 而嵌套剖分更关注的是将强关联的节点放在一起,以减少子图之间的依赖,这样在全局运动平均时减少计算量并提高精度。

图:

城市规模数据集的视觉SfM结果

左至右分别是相机分区、BA优化后的最终SfM结果以及从不同视角可视化的详细SfM结果。

应用于视觉定位的独特优势:

  • 局部分块匹配,提升定位效率:将定位请求缩小到特定区域,减少搜索范围,加快定位速度。
  • 增强局部一致性,提升定位精度:强关联相机聚合,减少误差累积,保证局部区域高精度的定位。
  • 减少弱关联的干扰,提升鲁棒性:在定位时主要依赖强关联相机,避免弱关联的误差影响。
  • 动态场景的局部更新,保持实时性:局部子图的独立更新,使系统更快适应动态场景变化。
  • 分隔符节点的连接,解决跨区域定位:通过分隔符节点实现不同子图之间的姿态一致性,保证跨区域定位的顺畅和精确。
  • 区域划分的适应性,提升可扩展性:根据场景的实际复杂度自适应划分,保证各个子图的复杂度均衡,提高定位系统的整体性能。

二、(ICCV2014)Divide and Conquer: Efficient large-scale structure from motion using graph partitioning

动机:

解决SFM过程中常见的两个问题:计算量庞大和重建失败的可能性。传统的SfM方法,如捆绑调整(Bundle Adjustment),由于对所有相机和3D点进行全局优化,在处理大量数据时非常耗时且容易因累积误差导致重建失败,特别是在3D到2D的特征对应不足时。

方法:

作者提出了一种基于“分而治之”的策略。该方法将图像数据集划分为若干小组件,每个组件独立重建,然后利用图像间的极线关系将独立重建的组件对齐到一个全局参考框架中。这种方法的核心步骤包括:

  1. 图像划分:基于匹配特征构建的图像匹配图,通过归一化切割(normalized cuts)将大规模图像集分割成互相独立且可可靠重建的小组件。
  2. 独立重建和对齐:对每个分割的图像子集进行SfM重建,然后利用跨组件的连接图像通过极线几何关系将各组件的重建结果在全局框架下对齐。

图像分割的具体步骤:

1.构建图像匹配图:作者首先使用图像的特征匹配信息来构建一个图像匹配图。在这个图中,每个图像作为一个节点,而边的权重则代表了图像之间的相似度。相似度通过特征匹配得到,比如使用SIFT特征提取图像中的关键点,并计算特征向量之间的相似性来作为边的权重。

2.应用归一化切割:作者采用了归一化切割算法来将图像匹配图划分成若干个子图。归一化切割是一种图分割技术,通过最小化不同子图之间的边权重总和,并同时保持各个子图的连通性,来实现图的分割。这种方法能够确保分割出的每个子图(即每个组件)内部的图像之间具有较高的相似度,并且切割出的边表示子图之间的“连接图像”。

3.确定连接图像:分割过程中产生的“切割边”对应的图像对即为连接图像(Connecting Images),这些连接图像连接不同的子图,是后续步骤中进行全局对齐的关键。连接图像在每个子图中都能看到一些共同的场景,这为后续的组件对齐提供了几何关系支持。

4.调整匹配图质量:为了确保分割出的子图在SfM重建过程中不会失败,作者还使用了几何信息来改进匹配图的构建。例如,通过验证图像对之间的极线几何关系的鲁棒性,确保每个子图内部的图像对可以可靠地匹配,从而减少匹配失败或累积误差带来的风险。

图:

       

  • 步骤 (a):构建原始图像匹配图,图像节点之间的边表示图像的相似性。
  • 步骤 (b):应用归一化切割,将图像集划分为多个独立的子集,连接图像位于不同子集的边界上。
  • 步骤 (c):将每个子集视为独立节点,通过连接图像的极线几何关系对齐到全局坐标系中,形成完整的3D重建

效果图

应用于视觉定位的独特优势:

跟嵌套刨分类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值