一句话定义
三维重建从多视角图像恢复相机位姿与场景结构(SFM 离线、SLAM 实时增量),核心流程是「特征匹配 → 两视图初始化 → 位姿图/束调整优化」,SLAM 在此之上增加实时回环与增量建图。
为什么重要
重建与定位是视觉进入机器人、测绘、元宇宙内容生产的接口;理解 SFM/SLAM 的模块划分,能让你读懂 COLMAP、ORB-SLAM 这类系统的架构图,也能判断「我的场景该用离线重建还是实时 SLAM」。
直观类比
离线 SFM 像修史:把上百张老照片(图像集)逐对考证(匹配),先确定两张的可信时间线(两视图初始化),再不断把新照片编入并整体校对年表(束调整)。SLAM 像边走边画的探险家:每走一步更新自己的位置(前端跟踪),随时把新地形补进地图(后端建图),绕回原地发现画错了就重描(回环检测与修正)。
前置知识
kp-012(本质矩阵与三角化);kp-013(深度与匹配);kp-008(特征匹配)。
核心概念
- SFM(Structure from Motion):离线、增量式的多视图重建,输出相机位姿 + 稀疏点云。
- 两视图初始化:匹配 → F/E → R、t → 三角化得到初始地图。
- PnP(Perspective-n-Point):已知 3D 点与 2D 观测求新相机位姿,用于增量扩展。
- 束调整(Bundle Adjustment, BA):联合优化所有位姿与三维点,最小化重投影误差。
- 回环检测(Loop Closure):识别「回到旧地」,用位姿图优化消除累积漂移。
- 前端/后端:前端高频跟踪,后端低频优化与建图,是 SLAM 的标准架构。
- 稠密化:MVS 多视图立体把稀疏点云扩成稠密深度;NeRF/3DGS 走「可微渲染拟合」路线(概览,不展开)。
原理与机制
SFM 增量流程:选一对视图用 E 初始化(尺度和单位任意,即 up-to-scale);三角化出初始点云;对每个新视图用 PnP 注册位姿、三角化新点;每隔若干步做一次局部/全局 BA。BA 的目标函数是全部观测的重投影残差平方和,因雅可比矩阵高度稀疏(每个观测只关联 1 个相机与 1 个点),用稀疏求解器(如 Schur 消元)才能处理数千相机。SLAM 与 SFM 的本质差异是约束实时性:前端以 kp-022 光流或特征匹配跟踪局部地图点,后端维护关键帧位姿图,回环一旦确认即触发改写历史的位姿图优化——漂移不再随里程无限累积。
公式与模型
min_{R_i, t_i, X_j} Σ_{i,j} ρ( ‖ π(K, R_i, t_i, X_j) − x_{ij} ‖² )
(束调整:对相机位姿 i 与三维点 j 联合最小化重投影误差,ρ 为鲁棒核)图示
实例与案例
无人机倾斜摄影测图:数千张照片经 COLMAP 类 SFM 重建稀疏云,MVS 稠密化后生成正射影像与三维模型。扫地机器人:VSLAM 以关键帧 + 回环维护户型图,断电重定位后继续清扫。AR 建图:手机实时 VIO(视觉 + IMU)估计位姿并增量建图,IMU 提供绝对尺度补上单目短板。神经渲染方向:NeRF/3DGS 用可微渲染拟合多视角外观实现照片级新视角合成,属于「重建的外观表达」新流派(图像生成另站覆盖,此处仅定位其感知侧角色)。
常见误区
- 把 SFM 重建当真实尺度:纯视觉 SFM 输出 up-to-scale,需已知长度(标定板、双目基线、IMU)定标。
- 前端跟踪当定位全部:只有前端没有后端优化的轨迹随时间漂移,回环是长时定位的必需品。
- 以为 SLAM 建图必须稠密:定位只需稀疏/半稠密地图;稠密建图是面向交互与渲染的额外需求。
- 把 NeRF 一并归入「图像生成」:NeRF 拟合的是已拍场景的多视角一致表达,与扩散模型的生成式成像分属不同问题。
与其他知识点的关系
两视图初始化(kp-012)与深度先验(kp-013)是本站积木;前端跟踪复用 kp-008 匹配与 kp-022 光流;回环思想与 kp-024 多目标跟踪的「轨迹确认」有相似的关联管理逻辑。
自测题
- SLAM 相比离线 SFM 必须新增哪两类机制?
答案要点:实时增量前端(跟踪已知地图)与回环检测 + 位姿图优化(消除累积漂移)。
- 为什么束调整必须用稀疏求解器?
答案要点:残差只关联单个相机与单个点,雅可比极度稀疏;稠密求逆在相机数上升后不可行,Schur 消元利用块结构。
- PnP 解决什么问题?
答案要点:已知若干 3D 点及其 2D 投影,求相机位姿 [R|t];是增量式重建注册新视图的标准步骤。
延伸阅读
- Schönberger 与 Frahm 2016《Structure-from-Motion Revisited》(COLMAP)
- Cadena 等 2016《Past, Present, and Future of Simultaneous Localization and Mapping》