【三维重建-算法解析】SfM(Structure from Motion)

一、SfM概念与目标

  • 目标:通过多张不同视角的图像,重建场景的三维结构,同时估计相机的运动轨迹(外参)。
  • 输入:一组图像(通常是同一场景的多张照片或视频帧)。
  • 输出:相机的姿态(位姿轨迹)和场景的稀疏点云。

二、核心思想

SfM 是一种 多视几何 的方法:

  1. 通过图像中的 特征点匹配,恢复两两图像间的 相对相机位姿
  2. 将不同图像的位姿对齐到同一坐标系,逐步扩展重建场景点。
  3. 通过 BA(Bundle Adjustment,全局优化) 优化相机参数和三维点坐标。

三、算法流程

典型的 SfM 流程分为以下几个步骤:

1. 特征提取与匹配

  • 提取局部特征:SIFT、SURF、ORB 等。
  • 进行图像对之间的特征匹配,并用 RANSAC 估计几何模型,去除错误匹配。

2. 初始相机对的选择

  • 选取一对视角差异较大、匹配点足够多的图像作为初始对。
  • 使用 本质矩阵 E 或基础矩阵 F 分解,恢复这两张图像的相对姿态。
  • 三角化匹配点,得到初始的 3D 点云。

3. 增量式重建

  • 逐步加入新的图像:

    • 将新图像与已有点云进行 PnP(Perspective-n-Point) 估计相机位姿。
    • 对新图像与已有相机视角可见的点进行三角化,增加点云。

4. 全局优化(Bundle Adjustment, BA)

  • 定义重投影误差:

    min ⁡ { R i , t i , X j } ∑ i , j ∥ x i j − π ( R i , t i , X j ) ∥ 2 \min_{\{R_i, t_i, X_j\}} \sum_{i,j} \| x_{ij} - \pi(R_i, t_i, X_j) \|^2 { Ri,t

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值