Alternating optimization for bundle adjustment with closed form solutions
TL;DR 精炼摘要
该研究针对三维重建中计算成本高昂的光束法平差(BA)问题,提出了一种高效且准确的交替优化算法。核心创新在于引入三维点的逆深度作为额外变量,并构建了一个低阶多项式误差度量。该算法将BA分解为独立的相机位姿、三维结构及可选内参估计子任务,每一子任务均能通过闭式解快速求解,其中相机位姿估计转化为绝对定向问题全局解决,三维点更新则利用线性化方案获得闭式解。实验结果表明,该方法在效率、可靠性和精度方面均显著优于现有替代方案。
摘要
SCIENCE CHINA Information Sciences June 2025, Vol. 68, Iss. 6, 162103:1–162103: 15 https://doi.org/10.1007/s11432-023-4281-3 c © Science China Press 2025 info.scichina.com link.springer.com . RESEARCH PAPER . Alternating optimization for bundle adjustment with closed form solutions Chengzhe MENG, Yiwen JIANG & Weiwei XU * State Key Lab of Computer-Aided Design & Computer Graphics, Zhejiang University, Hangzhou 310058, China Received 11 December 2023/Revised 18 March 2024/Accepted 20 May 2024/Published online 15 May 2025 Abstract This study proposes a novel alternating optimization algorithm for bundle adjustment, a critical process in structure from motion methods. We introduce the inverse depth of each three-dimensional (3D) point as an augmented independent variable and develop a low-order polynomial error metric. Theoretically, the error can be adjusted to align closely with the re-projection error since it essentially acts as a re-weighted re-projection error. We decouple the bundle adjustment problem by breaking it down into three separate tasks: estimating the camera’s pose, determining the 3D structure, and optionally estimating the camera’s
思维导图
论文精读
中文精读
1. 论文基本信息 (Bibliographic Information)
- 标题 (Title): Alternating optimization for bundle adjustment with closed form solutions (基于闭式解的交替优化光束法平差)
- 作者 (Authors): Chengzhe MENG, Yiwen JIANG & Weiwei XU* (孟呈喆、蒋亦文、徐为为)
- 发表期刊/会议 (Journal/Conference): SCIENCE CHINA Information Sciences (《中国科学:信息科学》)。这是中国计算机科学与信息科学领域的权威期刊之一,具有很高的学术声誉。
- 发表年份 (Publication Year): 2025 (在线发表于 2024 年 5 月)
- 摘要 (Abstract): 本研究提出了一种新颖的交替优化算法用于光束法平差(BA),这是运动恢复结构(SfM)中的关键环节。研究引入了每个三维(3D)点的逆深度作为增广独立变量,并构建了一个低阶多项式误差度量。理论上,该误差可以被调整以紧密对齐重投影误差,因为它本质上是一个重加权的重投影误差。通过将 BA 问题分解为三个独立的子任务——估计相机位姿、确定 3D 结构以及可选地估计相机内参——本文解耦了该问题。每个任务都可以按相机或按点独立处理,易于进行分布式计算。相机位姿估计被转化为一个绝对定向问题,可以全局地以闭式解求解。针对 3D 点估计,提出了一种线性化方案,使得更新方向和线搜索步长均可以以闭式解计算。实验结果证实,该算法高效、可靠且准确,并在性能上优于近期的替代方案。
- 原文链接 (Source Link):
/files/papers/68e36fca00f1b238a31a19e6/paper.pdf(已发表)
2. 整体概括 (Executive Summary)
-
研究背景与动机 (Background & Motivation - Why):
- 核心问题: 光束法平差 (Bundle Adjustment, BA) 是三维重建领域的基石,但它是一个大规模、高度非线性的优化问题,计算成本极高,尤其是在处理城市级别的大规模场景时。
- 现有挑战 (Gap):
- 传统方法慢: 基于高斯-牛顿法 (Gauss-Newton) 的方法需要求解一个巨大的正规方程组,即使使用舒尔补 (Schur complement) 等技巧,计算复杂度依然很高。
- 近似方法不准: 预条件共轭梯度法 (PCG) 等非精确方法虽然速度快,但可能牺牲精度,不适用于高精度要求的场景。
- 分布式方法收敛慢: 基于 ADMM 的分布式方法虽然能处理大规模数据,但由于 BA 问题的非凸性,其收敛速度通常较慢。
- 创新思路: 本文的切入点是改变误差函数的数学形式。通过引入一个增广变量(逆深度),将复杂的、带有除法运算的重投影误差转化为一个简单的低阶多项式。这个改变使得原本复杂的优化问题可以被分解为多个能用闭式解 (closed form solution) 直接求解的子问题,从而在根本上提升了求解效率和稳定性。
-
核心贡献/主要发现 (Main Contribution/Findings - What):
- 提出新的误差度量: 引入每个观测点的逆深度作为独立的增广变量,构建了一个新的、低阶多项式的误差函数。该误差函数本质上是重投影误差的重加权版本,既保留了精度,又极大地降低了优化难度。
- 提出基于闭式解的交替优化框架: 将 BA 问题分解为三个独立的子问题:相机位姿优化、3D 点优化和相机内参优化。
- 相机位姿优化被转化为绝对定向问题,存在全局最优的闭式解。
- 3D 点优化通过一种新颖的线性化方案,其更新方向和最优步长也都可以通过闭式解求得。
- 天然的并行与分布式特性: 由于子问题之间的高度解耦(可以按相机或按点独立更新),该算法非常容易实现并行化和分布式计算,且无需像 ADMM 那样引入复杂的共识步骤,通信开销小,收敛速度快。
3. 预备知识与相关工作 (Prerequisite Knowledge & Related Work)
-
基础概念 (Foundational Concepts):
- 光束法平差 (Bundle Adjustment, BA): 在三维重建和 SLAM 中,这是一个联合优化问题的名称。它的目标是同时调整(Adjust)场景中的三维点坐标和所有相机的位姿参数,使得这些三维点在各个相机图像上的重投影位置与实际观测到的特征点位置之间的误差(即重投影误差)最小。因为这个过程看起来像是调整一束束(Bundle)从相机中心射向三维点的光线,故得名。
- 运动恢复结构 (Structure from Motion, SfM): 从一系列二维图像中恢复出场景的三维结构(Structure)以及拍摄这些图像的相机运动(Motion)轨迹。BA 是 SfM 流程中最关键也是最耗时的一步。
- 重投影误差 (Re-projection Error): 衡量三维重建模型好坏的“黄金标准”。它指的是一个估计出的三维点,根据估计出的相机位姿和内参重新投影(Re-project)到图像上,这个投影点与最初在图像上观测到的特征点之间的像素距离。所有观测点的重投影误差之和构成了 BA 的目标函数。
- 闭式解 (Closed-form Solution): 指一个数学问题可以用有限次“基本”运算(如加减乘除、开方、指数、对数等)构成的解析表达式来直接求解,而不需要通过迭代逼近的方式。拥有闭式解意味着可以一步到位得到最优解,效率极高。
- 交替优化 (Alternating Optimization, AO): 一种解决多变量优化问题的策略。当问题难以同时对所有变量求解时,可以固定一部分变量,优化另一部分变量;然后反过来,固定刚刚优化过的变量,再去优化之前固定的变量。如此交替进行,直至收敛。
-
前人工作 (Previous Works):
- 传统 BA 方法 (Gauss-Newton family): 如 Levenberg-Marquardt (LM) 算法,通过迭代求解正规方程来优化。核心瓶颈在于求解该方程,虽然
舒尔补 (Schur complement)技巧可以减小矩阵规模,但对于大规模问题依然耗时。 - 非精确方法 (Inexact Methods): 如
预条件共轭梯度法 (PCG),通过矩阵向量积来迭代求解线性方程组,避免了显式构造和分解巨大的矩阵,节省了内存和时间。但通常需要设置迭代次数上限,可能无法达到最高精度,代表工作是Multicore (MBA)。 - ADMM 方法 (ADMM based Methods): 专为分布式优化设计。它将大问题分解到多个计算节点,每个节点独立优化局部变量,然后通过一个“主节点”汇总平均以达成“共识”。但 ADMM 原本为凸问题设计,用于非凸的 BA 问题时收敛速度可能很慢。
- 误差度量 (Error Measurement): 传统的重投影误差因为包含除法,非线性程度高。有些工作尝试使用“空间误差”,即将深度 移出分母,变成 ,但这会引入与深度相关的权重,影响精度。本文的方法也修改了误差,但巧妙地维持了与原始误差的等价性。
- 传统 BA 方法 (Gauss-Newton family): 如 Levenberg-Marquardt (LM) 算法,通过迭代求解正规方程来优化。核心瓶颈在于求解该方程,虽然
-
技术演进 (Technological Evolution): BA 技术的发展脉络主要围绕着精度、速度和规模这三个维度展开。从最初的精确但慢的直接法,到为了加速而牺牲部分精度的非精确法,再到为了处理超大规模数据而设计的分布式方法。本文的工作则试图通过改变问题的数学结构,找到一个能同时兼顾高精度、高速度和易于扩展的全新路径。
-
差异化分析 (Differentiation): 与现有工作相比,本文最大的不同在于“釜底抽薪”。它没有在传统框架内进行修补(如加速矩阵求解),而是通过引入
逆深度 (inverse depth)增广变量,重构了目标函数,使其具有极好的数学性质。这使得原本需要复杂迭代求解的子问题,现在可以直接用公式算出最优解。这与所有基于高斯-牛顿、PCG 或 ADMM 的方法都有着本质区别。
4. 方法论 (Methodology - Core Technology & Implementation Details)
本方法的核心在于设计了一个新的误差函数,并在此基础上构建了一个高效的交替优化框架。
-
方法原理 (Methodology Principles): 核心思想是“化繁为简”。通过引入一个额外的变量 s(与逆深度相关),将原始重投影误差中的除法运算变成了乘法运算,从而将目标函数从一个复杂的分式形式转化为一个低阶多项式。多项式函数在求导和求解极值方面远比分式函数简单,这为找到闭式解铺平了道路。
-
方法步骤与流程 (Steps & Procedures): 整个算法在一个循环中交替执行以下三个步骤,直到收敛:
- 固定 3D 点和内参,更新所有相机位姿。
- 固定相机位姿和内参,更新所有 3D 点及其关联的逆深度变量。
- (可选) 固定相机位姿和 3D 点,更新相机内参。 由于每个步骤中的子问题(例如更新单个相机或单个点)是相互独立的,因此可以高度并行化处理。
-
数学公式与关键细节 (Mathematical Formulas & Key Details):
-
修改后的重投影误差 (Modified Re-projection Error):
-
传统的重投影误差为: 其中, 是观测到的 2D 点(在相机坐标系下的 3D 表示), 是相机位姿, 是 3D 点坐标, 是焦距。分母项 是点的深度。
-
本文引入增广变量 来代替分式项 ,得到新的误差函数: 这里的 被视为一个独立的优化变量。
-
与原始误差的关系: 作者证明了这个新误差 与原始误差 的关系为 ,其中 是观测光线与相机光轴的夹角。这个关系如下图所示:
 *该图像为示意图,展示了相机光轴、图像平面与点在三维空间中的投影关系。图中标示了实际投影点\( \mathbf{q}_{i,j} 、估计投影点、误差向量、及其在图像平面上的分量,还包含角度和相机内参焦距等关键几何参数,表达了重投影误差及其分解方式。*
这意味着新误差只是对原始误差进行了一个几何上的重加权。这个权重因子 可以通过已知量近似计算,因此可以通过乘以一个修正系数 来补偿,使得最终优化的目标与原始目标高度一致。
-
-
相机位姿优化 (Camera Pose Refinement):
- 当固定 3D 点 和逆深度 后,针对单个相机 的目标函数为:
- 对 求导并令其为零,可以直接得到 的闭式解。将该解代回原式,问题转化为只关于旋转矩阵 的优化: 这是一个经典的绝对定向问题 (Absolute Orientation Problem),可以使用 SVD 分解等方法求得全局最优的闭式解。
-
3D 点优化 (3D Point Refinement):
- 当固定相机位姿后,针对单个 3D 点 的目标函数为: 这个函数因为变量 和 相乘,仍然是非线性的。
- 线性化技巧: 作者引入了微小增量 和 ,将目标函数在当前点附近展开,并忽略二阶项 ,得到一个线性的近似目标函数:
- 这个线性最小二乘问题同样存在闭式解。通过求解一个 3x3 的微型线性方程组,即可得到最优的更新方向 。
- 线搜索 (Line Search): 得到更新方向后,作者并没直接使用它,而是回到原始的、非线性的目标函数 中,求解最优步长 。由于 是一个关于步长 的四阶多项式,其导数为三阶多项式,求根也存在闭式解。这保证了每一步更新都是在当前方向上的最优下降。
-
5. 实验设置 (Experimental Setup)
-
数据集 (Datasets):
-
ETHBA: 作者基于
ETH3D SLAM Benchmark创建的合成数据集,带有精确的相机位姿真值,用于精度评估。 -
BAL (Bundle Adjustment in the Large): 包含大量真实世界图像(部分来自网络)的大规模数据集,含有显著的异常值,是评估算法鲁棒性和效率的常用基准。
-
ASBA: 作者使用
AirSim模拟器生成的城市规模的大型合成数据集,同样带有真值。用于评估算法在大规模场景下的精度、鲁棒性和分布式计算性能。 -
EuRoC: 一个公开的、用于视觉惯性 SLAM 的微型飞行器数据集,用于验证本文方法在实时 SLAM 系统中的实用性。
-
下表总结了合成数据集的基本信息,对应原文的 Table 1:
cables1 table7 repetitive ASBA Images 1158 1484 1015 32739 3D points 68824 11189 11639 3446776 Projections 860608 126835 167178 29738513
-
-
评估指标 (Evaluation Metrics):
- 平移误差 (Translation Error): 估计的相机位置与真值位置之间的欧氏距离,单位为毫米 (mm)。
- 旋转误差 (Rotation Error): 估计的相机旋转矩阵与真值之间的角度差,通过计算 的指数坐标范数来衡量。
-
对比基线 (Baselines):
- CeresBA:
Ceres Solver是谷歌开源的、广泛使用的非线性优化库,其 BA 实现是工业界和学术界的标杆。 - Multicore (MBA): 一种高效的、基于 PCG 的并行 BA 求解器,是速度型方法的代表。
- RootBA: 一种内存高效的 BA 方法,通过雅可比矩阵的零空间投影实现,适用于大规模问题。
- ORB-SLAM3: 目前最先进的开源 SLAM 系统之一,其实时性能和精度都非常高。将其后端 BA 替换为本文方法,以验证实用性。
- CeresBA:
6. 实验结果与分析 (Results & Analysis)
-
核心结果分析 (Core Results Analysis):
-
精度: 在带真值的
ETHBA和ASBA数据集上,本文方法 (ABA) 的平移和旋转误差均显著低于所有对比方法(CeresBA 和 MBA)。这证明了本文提出的新误差度量在精度上至少不输于、甚至优于传统的重投影误差。
该图像为多组折线图,展示了不同算法(ABAv、ABAz、CeresBA、MBA)在三个数据集(cables1、table7、repetitive)上的平移误差和旋转误差随时间变化的趋势。图中横轴为时间(毫秒),纵轴分别为平移误差(毫米)和旋转误差,显示不同方法的收敛速度和精度差异。总体来看,ABAv和ABAz算法在误差降低速度和误差值上表现更优。上图展示了在
ETHBA数据集上的收敛曲线。可以看到ABA(蓝色和绿色线)不仅收敛速度最快,最终达到的误差也最低。MBA(红色线)虽然也很快,但精度损失较大。 -
效率: 从上图及下图
BAL数据集的收敛曲线可以看出,ABA的计算效率极高。在ETHBA上,ABA只需CeresBA大约十分之一的时间。在更大规模的BAL数据集上,ABA的速度与RootBA和MBA相当,远快于CeresBA。此外,ABA的内存占用极低,能够在 8GB 内存的普通电脑上解决BAL和ASBA这种特大规模问题。
该图像为多子图折线图,展示了不同算法(ABA、RootBA、CeresBA、MBA)在五个数据集(Trafalgar、Dubrovnil、Ladybug、Venice、Final)上误差对时间的变化关系。纵轴为误差的对数log(e),横轴为时间(秒)。图中可见ABA和MBA算法普遍收敛速度较快且误差较低,尤其是ABA表现稳定且效率高。CeresBA在部分数据集起初误差较大,收敛慢。Final图仅展示ABA算法,误差随时间持续减小。整体体现了论文中新算法ABA效率和准确性的优势。 -
鲁棒性: 在充满异常值的
BAL数据集上,ABA能够稳定收敛,而CeresBA和MBA的收敛曲线出现了上升(误差增大的情况)。这得益于ABA的每一步迭代都有理论保证会降低目标函数值。下图展示了在BAL数据集上重建出的高质量三维点云,证明了其鲁棒性。
该图像为点云重建示意图,展示了两组三维点云数据,左侧“ladybug”点云用红线框选出特定区域,右侧“final”点云显示更精细的三维结构,右上角小图为整体视角,体现了论文中基于闭式解的交替优化方法在三维重建中的应用效果。 -
大规模场景处理能力:
ABA成功地处理了包含超过 2900 万个投影的ASBA数据集,并获得了毫米级的相机定位精度,证明了其处理城市级别大规模场景的可靠性。下图为ASBA数据集的重建结果。
该图像为三维点云重建的示意图,展示了通过bundle adjustment算法获得的三维建筑物模型及其点云分布。图中黑色点表示三维重建点,红色线条可能表示相机轨迹或视角边界,体现了算法在结构光束法中对建筑环境的高精度重建效果。 -
SLAM 实用性: 将
ABA嵌入ORB-SLAM3后,系统在EuRoC数据集上成功运行,并取得了与原版相当的精度。这表明ABA完全有能力作为实时 SLAM 系统的后端优化器。 -
分布式计算: 作者通过模拟实验验证了分布式方案的可行性。如下图所示,分布式
ABA在ASBA数据集上表现出与单机版一致的稳定收敛行为,且节点间通信开销极小。
该图像为流程图,展示了主机(Master Machine)与辅助机(Machine B)间交替进行姿态更新、特征点采集与更新的过程。两台机器通过变量Ap, Yp和P交换信息,实现分布式的姿态与三维点估计更新。上图是分布式计算的工作流程图。
该图像为双子图表,左图显示随时间推移的平移误差变化曲线,误差迅速下降后趋于稳定,右图显示旋转误差随时间变化趋势,误差同样初期下降明显,随后达到相对稳定状态,反映了算法在优化过程中误差逐渐减小的效果。上图是分布式
ABA在ASBA数据集上的收敛曲线,展示了其高效性和稳定性。
-
-
消融实验/参数分析 (Ablation Studies / Parameter Analysis): 论文对比了两种不同的重加权因子策略,即
ABAv(V-metric) 和ABAz(Z-metric)。实验结果(如 Table 2)显示两者性能差异不大,这表明该框架对重加权因子的选择不敏感,具有一定的鲁棒性。
7. 总结与思考 (Conclusion & Personal Thoughts)
-
结论总结 (Conclusion Summary): 本文提出了一种新颖的、基于交替优化的光束法平差(BA)算法。其核心创新在于引入逆深度作为增广变量,构建了一个低阶多项式误差度量。这一改变使得 BA 问题可以被分解为相机位姿、3D 结构和内参三个子问题,并且每个子问题都可以通过闭式解高效、精确地求解。实验证明,该方法在精度、速度、鲁棒性和可扩展性方面均表现出色,超越了现有的多种主流方法,为实时 SLAM 和大规模三维重建提供了强有力的解决方案。
-
局限性与未来工作 (Limitations & Future Work): 作者在文末指出,当前的方法主要针对只包含点特征的基础 BA 问题。它不容易直接扩展到更广义的 BA 问题,例如同时优化线特征、面特征或其它几何图元。未来的工作计划是将该框架推广到支持更多样化的特征类型。
-
个人启发与批判 (Personal Insights & Critique):
- 启发: 这篇论文最令人印象深刻的是其数学上的巧思。它没有陷入如何更快地求解一个固有复杂问题的泥潭,而是通过一个聪明的变量替换,从根本上改变了问题的结构,使其变得简单。这种“降维打击”的思路在科研中极具启发性。引入增广变量来简化问题,虽然增加了变量数量,但如果能换来更优的优化路径(如闭式解),则是非常值得的。
- 优势: “闭式解”是本文方法效率和稳定性的基石。它避免了传统迭代法中可能出现的收敛缓慢、陷入局部最优以及对初始值敏感等问题。其天然的分布式特性,且无需 ADMM 那样的复杂共识机制,使其在工程应用上具有巨大潜力,尤其是在云计算和边缘计算协同处理大规模视觉数据的场景下。
- 潜在问题/思考:
-
线性化近似: 在优化 3D 点时,方法中忽略了二阶项 。虽然作者通过在原始目标函数上进行精确线搜索来弥补这一近似,但在极端非线性情况下,这种一阶近似是否仍然足够鲁棒,可能需要进一步的验证。
-
增广变量的代价: 引入的变量 的数量与观测(投影)数量相同,这会显著增加内存消耗。虽然单个变量占用空间小,但在亿级投影的场景下,这仍然是一个不可忽视的因素。不过,由于这些变量可以独立处理,内存压力可以被有效分散到分布式节点上。
-
对初始值的依赖性: 尽管交替优化本身很稳定,但整个 BA 问题仍然是非凸的。一个好的初始值对于收敛到全局最优仍然至关重要。论文中提到使用增量式的方式构建问题,这本身是一种获取较好初始值的有效策略。
-
相似论文推荐
基于向量语义检索推荐的相关论文。