三维重建(SFM)与实时定位建图(SLAM)的区分与联系

本文探讨了SLAM(同时定位与建图)和SFM(结构从运动)这两种在自主机器人和计算机视觉领域的关键技术。SLAM强调实时性和轻量化,用于定位;SFM追求高精度,适用于大规模场景重建。两者共享多视角几何基础,但SFM更注重精度和后处理优化。
摘要由CSDN通过智能技术生成

1、SLAM

        SLAM是Simultaneous Location and Mapping,同时定位与地图构建。是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。目的是解决自主机器人“定位”和“建图”两个问题。同时要求能够实时地,没有先验知识地进行。SLAM问题的本质是对主体自身(位姿)和周围环境空间(点云)的不确定性的估计。

2、SFM

        Structure from Motion(SFM)是一个估计相机参数及三维点位置的问题。一个基本的SFM pipeline可以描述为:对每张2维图片检测特征点(feature point),对每对图片中的特征点进行匹配,只保留满足几何约束的匹配,最后执行一个迭代式的、鲁棒的SFM方法来恢复摄像机的内参(intrinsic parameter)和外参(extrinsic parameter)。并由三角化得到三维点坐标,然后使用Bundle Adjustment进行优化。

        根据SfM过程中图像添加顺序的拓扑结构,SFM方法可以分为增量式(incremental/sequential SFM),全局式(global SFM),混合式(hybrid SFM),层次式(hierarchica SFM)。另外有基于语义的SFM(Semantic SFM)和基于Deep learning的SFM。

3、区别

  1. SLAM要求实时,数据是线性有序的,无法一次获得所有图像,部分SLAM算法会丢失过去的部分信息;基于图像的SFM不要求实时,数据是无序的,可以一次输入所有图像,利用所有信息。
  2. SLAM是个动态问题,会涉及到滤波,运动学相关的知识,而SFM主要涉及的还是图像处理的知识。

        SLAM:以定位为主,以建图为辅;要求速度大于精度;且是朝轻量级,小型化方向发展。

        SFM:以建图为主,以定位为辅;要求精度更高;朝大规模,大型动态场景的重建方向发展。

        SLAM最重要的作用是定位,相机要知道自己的姿态,因为需要的姿态通常都是3d的,所以在恢复3d姿态的时候,使用pnp方法能得到不少3d点,这些3d点也能成为新的地图,但是多半是稀疏的,当然这是非直接法,直接法会计算图像梯度变换比较大的地方的深度,所以最终能得到半稀疏的地图。slam属于稀疏重建的范畴,它也没有刻意要去重建某个目标,并且要求运行速度很快,通常是在线的,否则在某些场景里面就要出事故,slam要求速度大于精度,所以slam只会在关键帧间做BA,非关键帧都会使用基于filter的方法

        SFM和SLAM的功能其实是最像的,它的目的也是为了求解相机姿态,同样也能得到3d的稀疏点,它和slam最大的不同在于它要求精度更高,能做BA的地方通常都会做BA。

4、联系

  1. 基本理论是一致的,都是多视角几何;
  2. 传统方法都需要做特征值提取与匹配;
  3. 都需要优化投影误差;
  4. 回环矫正和SfM的全局注册方法是同一件事情。
  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值