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、区别
- SLAM要求实时,数据是线性有序的,无法一次获得所有图像,部分SLAM算法会丢失过去的部分信息;基于图像的SFM不要求实时