SfM(三)-- bundle adjustment

本文介绍如何运用光束法平差(BA)进行三维重建和相机位姿估计,详细解释了从摄影测量学引入计算机视觉领域的BA方法,并探讨了非线性最小二乘优化问题的求解过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在通过本征矩阵E,SVD分解后,我们得到了相机的外参。

前方交汇,我们得到稀疏点的3D坐标。

下面我们需要利用BA来获得精确的R和t.

关于BA,中文的资料不多,一些是对着wiki的翻译,大家可以看到,BA为什么翻译成光束法平差,另外,大家也会知道BA中使用的L-MS算法,高斯牛顿算法等。

下面我们就言归正传:

大家都知道BA是从摄影测量领域引入计算机视觉。在摄影测量中,光束法平差分为自由网和绝对网平差,他们的区别是控制点是否参与平差模型计算流程中,显然,我们常说的BA是自由网平差。

根据小孔成像原理,可以建立矩阵和齐次坐标系来表示3D点和二维像点的观测方程。

建立误差方程,对于该非线性优化问题,其变量包括相机6个外方元素和3D点3个元素。

目标函数:

求解非线性最小二乘,摄影测量中一般使用Gauss-Newton or L-M迭代优化方法。


非线性最小二乘优化

Gauss-Newton

Leverberg-Marquart


### SFM 和 MVS 的基本概念 Structure from Motion (SFM) 是一种通过分析一组图像中的相机运动来重建维场景的技术[^1]。其核心目标是从二维图像序列中推导出物体的维结构以及拍摄这些图像时相机的位置和姿态。 Multiple View Stereo (MVS) 则是一种基于多视图几何的方法,用于从多个视角获取的图像集中估计密集的维点云[^2]。它通常作为 SFM 后续阶段的一部分,提供更详细的表面信息。 两者的主要区别在于:SFM 主要关注稀疏特征点的匹配及其对应的相机参数恢复;而 MVS 更侧重于利用稠密像素级对应关系生成高分辨率的维模型。 #### SFM 实现流程概述 以下是典型的 Structure from Motion 技术实现的关键环节: 1. **特征检测与描述** 使用算法(如 SIFT 或 ORB)提取每张图片上的显著特征点并计算它们的描述子[^3]。 2. **特征匹配** 将不同照片间具有相似特性的点配对起来形成初步关联列表[^4]。 3. **基础矩阵/本质矩阵估算** 基础矩阵 F 可由两帧之间的匹配点集求得,进一步可转换成本质矩阵 E 来约束相对位姿变化[^5]。 4. **角化重建初始场景** 应用 PnP 方法或其他优化手段得到粗略的空间坐标位置集合[^6]。 5. **全局Bundle Adjustment** 对所有已知变量执行非线性最小二乘法调整过程以提升整体精度水平[^7]。 ```python import numpy as np from scipy.optimize import least_squares def bundle_adjustment(params, points_2d, camera_indices, point_indices): """ Perform Bundle Adjustment using Levenberg-Marquardt algorithm. Args: params: Initial parameters including both cameras' poses and 3D points positions. points_2d: Observed two-dimensional coordinates of projected feature points across all views. camera_indices: Indices indicating which camera observes each observation. point_indices: Indices specifying the corresponding world-point index per observed projection. Returns: Optimized set of extrinsics & intrinsics alongside refined landmarks locations. """ ... ``` #### MVS 工作原理简介 对于 Multiple View Stereo 而言,主要涉及以下几个方面的工作内容: - **深度映射生成**: 针对每一个输入影像单独构建局部区域内的距离场表示形式[^8]. - **光度一致性评估**: 测量候选深度值下相邻几个方向上颜色差异程度大小以便选取最佳解方案[^9]. - **融合操作**: 综合考虑来自各个角度的信息贡献最终合成完整的立体效果展示成果[^10]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值