SLAM和SFM有什么区别?

article/2025/10/15 14:56:32

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

自古以来,人们惆怅千年要解决的问题: 定位、定向. 当然了还有我是谁?我在哪里?

在这个时候, SLAM与SFM 横空出世. 这两兄弟叱咤乾坤,成为人们解决上述问题的得力帮手.

SFM

SFM即Structure From Motion.

它也称之为传统三维重建,这是一门计算机视觉学科的分支, 特点是把数据采集回来,然后离线处理.常见应用就是重建某建筑物的3D地图.

下面附上一些三维重建的效果图:



SLAM

SLAM也被称为Simultaneous Localization and Mapping,翻译过来叫同时定位与建图.

SALM是一个概念不是算法,SLAM包含多个模块,每个模块都有多种算法.每种算法很复杂的,此处还是保护好自己头发!

整个SLAM框架可以分为前端和后端.根据不同的前端需求,我们采用不同的后端策略,后端也提出了众多的算法理论,这些基本都是关于优化方面的东西,还是要好好保护头发.

附上一些SLAM效果图


区别

关于这两者区别与联系,知乎已有前辈给出了很鲜明的解释.

SFMSLAM基本讨论的是同一问题,不过SFMvision方向的叫法,而SLAMrobotics方向的叫法.

SLAM所谓的Mapping,SFMstructureSLAM所谓的Location,SFM方向叫camera pose.

但是从出发点考虑的话,SFM主要是要完成3D reconstuction,而SLAM主要是要完成localization.这样设计的优化目标就完全不同了.

从方法论的角度上考虑的话,传统的SFM是不要求prediction的,real-time是不要求的.但是对于SLAM而言prediction是必须的,因为SLAM的终极目标是要real-time navigation.

而传统的SLAM也把主要精力放在prediction上面,而且是借助非camera的外界的手段来predict(运动模型?状态方程?).例如acceleration sensor.

传统SFM则把精力放在feature tracking上面了.

直到最近,SFM开始利用图片间的optical flowprediction,而SLAM则更加的注重了feature tracking.所以就目前而言两个领域似有大融和趋势.

SLAM要求实时,数据是线性有序的,无法一次获得所有图像,部分SLAM算法会丢失过去的部分信息;基于图像的SFM不要求实时,数据是无序的,可以一次输入所有图像,利用所有信息.

SLAM是个动态问题,会涉及到滤波,运动学相关的知识,而SFM主要涉及的还是图像处理的知识.

联系

基本理论是一致的,都是多视角几何.

传统方法都需要做特征值提取与匹配.

都需要优化投影误差.

回环矫正和SfM的全局注册方法是同一件事情.

更多精彩回答可参考如下链接:

https://www.zhihu.com/question/64011093/answer/971851111?utm_source=wechat_session

目前现状

从最近几年发展来看

SLAM: 以定位为主,以建图为辅;且是朝轻量级,小型化方向发展,而且最近跟深度学习结合的语义SLAM也在慢慢火热,这也跟这几年深度学习火热有关系,也许深度学习能解决一些SLAM的技术门槛吧.

三维重建: 以建图为主,以定位为辅;朝大规模,大型动态场景的重建方向发展.

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  


http://chatgpt.dhexx.cn/article/mFgAwMLA.shtml

相关文章

SFM问题简介

最近在学习opencv的知识,遇到的一些知识点和理解记录下来,由于还是小白,有所不对的地方,大家一起交流沟通 Structure from motion,简称为SFM,是单目相机在物体周围不同的角度拍摄不同的图片,而相…

SfM详细流程介绍

增量式(Incremental)sfm则是一边三角化(triangulation)和pnp(perspective-n-points),一边进行局部BA。这类方法在每次添加图像后都要进行一次BA,效率较低,而且由于误差累积,容易出现漂移问题;但是增量式sfm的鲁棒性较高。 增量式sfm初始化 初始化主要是指选取两张匹…

主流SFM处理方式的梳理

SFM是什么? SFM即Structure-from-motion运动结构重建,从大批量图像数据出发,通过相关处理,获取目标图像集3D几何(结构)和摄像机姿态(运动)信息,主要处理流程可分为如下几…

SFM过程(一)

以图像为基础的三维重建过程SFM基本如下图所示&#xff1a; 以SfM-Toy-Library代码为例&#xff0c;如下&#xff1a; ErrorCode SfM::runSfM() {if (mImages.size() < 0) {cerr << "No images to work on." << endl;return ErrorCode::ERROR;}//in…

SfM算法

参考 https://blog.csdn.net/kokerf/article/details/72630863 https://blog.csdn.net/qq_42399848/article/details/89348740 https://blog.csdn.net/lpj822/article/details/82716971 《基于无序图像集的运动恢复结构研究与实现》 Structure from Motion可以认为一个相机在运…

SFM算法流程

SFM算法流程 Figure1:Block diagram of structure from motion 1. 算法简介 SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。在进行核心的算法structure-from-motion之前需要一些准备工作&#xff0c;挑选出合适的图片。 首先从图片中提取焦距信息(之后初始化…

Sfm方法过程及原理

1. 算法简介 SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。在进行核心的算法structure-from-motion之前需要一些准备工作&#xff0c;挑选出合适的图片。 先从图片中提取焦距信息(之后初始化BA( Bundle adjust)需要)&#xff0c;然后利用SIFT等特征提取算法去…

SFM原理简介

Structure From Motion SFM简介 通过相机的移动来确定目标的空间和几何关系&#xff0c;是三维重建的一种常见方法。 它与Kinect这种3D摄像头最大的不同在于&#xff0c;它只需要普通的RGB摄像头即可&#xff0c;因此成本更低廉&#xff0c;且受环境约束较小&#xff0c; 在室…

SFM(Structure from Motion)一点总结

SFM&#xff08;Structure from Motion&#xff09;一点总结 运动结构恢复(Structure from motion)数十年来一直是计算机视觉领域的热门研究方向之一&#xff0c;实现了众多实际应用&#xff0c;尤其在近景三维重建中&#xff0c;该算法从获取的目标物系列影像出发&#xff0c…

sfm从运动到结构

sfm&#xff0c;即structure from motion。从一堆同一场景的照片中恢复场景的三维结构和照片拍摄时相机的位置&#xff0c;可分为全局sfm和增量式sfm。 全局sfm主要包括以下步骤&#xff1a; 1.提取各张照片上的特征点及其描述&#xff1b; 2.对所有照片相互进行特征点匹配&a…

猿创征文|SfM(Structure from Motion)学习之路

文章目录 0 前言1 理论基础1.1 书籍推荐1.2 SfM概述 2 动手实践2.1 增量式SfM复现总结2.2 部分复现结果2.3 遇到问题与解决 3 后续学习3.1 前沿论文阅读笔记3.2 Colmap使用问题3.3 三维旋转3.4 场景对齐 0 前言 一转眼&#xff0c;研究生生活已经过去两年了。开始接触SfM也是两…

SFM综述

Structure from Motion&#xff08;SfM&#xff09;是一个估计相机参数及三维点位置的问题。SfM方法可以分为增量式&#xff08;incremental/sequential&#xff09;,全局式&#xff08;global&#xff09;&#xff0c;混合式&#xff08;hybrid&#xff09;,层次式&#xff08…

计算机视觉之三维重建-SFM系统

SFM系统 1.PnP问题2. RANSAC拟合3.本质矩阵与单应矩阵4.sift特征提取*2视图欧式结构恢复求解流程*openMVG系统Tracks联通图计算流程 北邮三维重建课笔记 1.PnP问题 PnP问题&#xff1a;就是利用其中两个相机算出三维点坐标&#xff0c;再利用三维点坐标和第三个相机的像平面坐标…

java中浮点数表示方式

java虚拟机中的浮点数分为float和double两种&#xff0c;分别为32位和64位.它参考了IEEE 754的规范对浮点数进行处理。下面以float为例 &#xff0c;分析一下float数的表示方法. float的32位分成三个部分来表示一个浮点数: 浮点数的取值计算公式为: 解析: 1&#xff09; 当…

一文读懂 IEEE754 浮点数的表示方法

FBI WARNING&#xff1a;鄙人首个开源电子书 《Go 编码建议》已经上线啦&#xff0c;欢迎各位大佬斧正指导&#xff0c;协同共建。 文章目录 1.浮点数的存储格式2.移码3.浮点数的规格化3.1 单精度浮点数真值3.2 双精度浮点数真值 4.浮点数的具体表示4.1 十进制到机器码4.2 机器…

浮点数表示(IEEE 754)

引入 N S r j N Sr^j NSrj N&#xff1a;浮点数S&#xff1a;尾数r&#xff1a;基数j&#xff1a;阶码 举个例子&#xff1a; 123.456 1.23456 1 0 2 123.456 1.2345610^{2} 123.4561.23456102 其中123.456是浮点数&#xff0c;1.23456是尾数&#xff0c;10是基数(10进…

c++ 浮点数表示

1.为何称为浮点数 对于一个浮点数来说&#xff0c;其通常可以科学计数法来表示&#xff0c;而对于一个浮点数来说&#xff0c;由于次方可变&#xff0c;故小数点可以左右移动。 eg&#xff1a;-36.5 &#xff0c;及可以表示为&#xff1a;&#xff0c;也可以表示为&#xff0…

Java中浮点数的表示方法

Java中浮点数的表示方法 Java中浮点数的表示方法 1.计算机中的表示方法2.具体分析表示方法 小结 3.移位存储 小结 1.计算机中的表示方法 对于float来说&#xff0c;4个字节&#xff0c;32位&#xff0c;0-22位表示尾数&#xff0c;23-30(8位)表示指数&#xff0c;31位表示符…

浮点数的表示

科学计数法 浮点数的表示 阶码E反映表示范围及小数点的实际位置 位数M的数值部分的位数n反映浮点数的精度 浮点数尾数的规格化 左移三位 0.110&#xff1b;1.0100000 表示范围 浮点数标准 IEEE 754 移码 阶码真值移码-偏移量

dsp处理浮点数_DSP中浮点数的表示方法

DSP中浮点数的表示方法 tongxin | 2009-03-20 15:16:17 阅读&#xff1a;2484 发布文章 先介绍一下IEEE754中浮点数的定义(这里只介绍单精度浮点数)&#xff1a; %A %A 单精度浮点数由4字节(32位)组成&#xff0c;且分成3段&#xff1a;数符s(0表示正数&#xff0c;1表示负数…