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

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的全局注册方法是同一件事情。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI学习指南-学习AI需要的编程基础

亲爱的AI初学者们,欢迎来到人工智能的奇妙世界!🚀 在这篇博客中,我将带你了解学习人工智能所需的编程基础。不用担心,我会尽量用简单易懂的方式来解释,让你即使是编程新手也能轻松上手! 1. Pyt…

OpenCV多张图片堆叠显示

OpenCV实现多张图片堆叠显示 程序思路效果代码 程序思路 读取两张或多张图片;获取图片尺寸;选择多张图片中较大的宽度和高度建立画布;合并图片到画布; 效果 代码 import cv2 import numpy as np# 读取两张图片 img1 cv2.imrea…

计算机网络中常用的网络协议

计算机网络中的网络协议可以按照其功能和作用的不同分为多种类型,常见的网络协议包括 传输层协议: TCP (Transmission Control Protocol):传输控制协议,提供可靠的数据传输服务,保证数据的完整性和顺序性。UDP (User D…

C# Web控件与数据感应之 TreeView 类

目录 关于 TreeView 一些区别 准备数据源 范例运行环境 一些实用方法 获取数据进行呈现 ​根据ID设置节点 获取所有结点的索引 小结 关于 TreeView 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,本文将继续介绍与…

mysql设置允许其他IP访问

文章目录 更改mysql配置文件登录mysql 更改mysql配置文件 查找.ini或者.cnf文件 更改bind-address为0.0.0.0 [mysqld] character-set-serverutf8mb4 bind-address0.0.0.0 default-storage-engineINNODB [mysql] default-character-setutf8mb4 [client] default-character-s…

服务器并发编程--libevent

文章目录 一、Libevent概述1.两个重要的结构体2.libevent常用接口 二、libevent IO事件三、libevent信号事件四、libevent高并发服务器参考 一、Libevent概述 Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动&…

redis集群-主从机连接过程

首先从机需要发送自身携带的replid和offset向主机请求连接 replid:replid是所有主机在启动时会生成的一个固定标识,它表示当前复制流的id,当从机第一次请求连接时,主机会将自己的replid发送给从机,从机在接下来的请求…

LAME及 iOS 编译

文章目录 关于 LAME编译 for iOS 关于 LAME 官网:https://lame.sourceforge.io LAME是根据LGPL许可的高质量MPEG音频层III(MP3)编码器。 LAME的开发始于1998年年中左右。Mike Cheng 最开始将它作为针对8hz-MP3编码器源的补丁。在其他人提出…

Redis(九)渐进式遍历 | 数据库管理

文章目录 前言什么是渐进式遍历SCAN数据库管理 前言 前面我们学习了针对 redis 五种基本数据类型和五种特殊数据类型的常用命令,其中通用命令 keys pattern 我们都知道是用来查询当前 redis 服务器中有哪些 key 的,而如果此时 redis 服务器中存在很多的…

Pspnet

Pyramid Scene Parsing Network

Linux mount 挂载出现疑难问题;mount can‘t find in /etc/fstab

当挂载出现 “mount cant find in /etc/fstab” 疑难问题时,你需要检查挂载的虚拟文件目录是否已经被创建成功。 或者挂载路径不是一个文件目录,而不是一个文件。 如果是文件你就删除它,并且在重建为目录类型,如果这样都无法解决&…

mac安装虚拟机linux系统

需要下载的有:centos8镜像 , 虚拟器 VMware 软件包 , Termius 或者xshell 1. CentOS系统下载 linux系统一般有: CentOS、ubuntu、redhat,选择一种进行安装就可以 CentOS 2024 年开始停止维护和发布 CentOS8的下载与安装(windows下安装) 镜…

AI工具大揭秘:如何改变我们的工作和生活

文章目录 📑前言一、常用AI工具:便利与高效的结合1.1 语音助手1.2 智能推荐系统1.3 自然语言处理工具 二、创新AI应用:不断突破与发展2.1 医疗诊断AI2.2 智能家居2.3 无人驾驶技术 三、AI工具在人们生活中的应用和影响3.1 生活方式的变化3.2 …

夏目友人帐所有妖怪名单

夏目友人帐妖怪名单 夏目友人帐 第一季 2008.07.07第1话:猫和友人帐 / 猫と友人帐 菱垣 狞影 斑第2话:露神之祠 / 露神の祠 露神 濯第3话:八原的怪人 / 八ツ原の怪人 一只目 牛头(中级妖怪)第4话:时雨与少女…

MyBatisPlus @TableLogic实现全局自动逻辑删除

一、背景 有一天,小王在编写代码时实现了一个删除操作,但由于测试场景覆盖不全,上线后不慎删除了系统中的部分业务数据。幸运的是,系统已经开启了binlog日志功能,使得我们能够根据日志来恢复这些误删的数据。这一事故…

TransUNet或SwinUNet报错指南

Transformer与Unet的结合是本人的2024毕设项目,在此之前从未接触过该领域,一切从0开始的过程十分痛苦,希望能帮助到你们 本笔记不定时更新 文章目录 复现报错使用预处理Synapse数据集的通用问题使用预处理ACDC数据集的通用问题找不到require…

https自签名ssl证书生成流程

准备工作: 0.安装完整版的openssl openssl下载官网 安装到C:\OpenSSL32,也可以安装到其它盘,不要包含空格和中文 打开openssl.exe所在目录如:C:\OpenSSL32\bin,输入cmd.exe打开cmd控制台 1.创建ca文件夹 ,证书文件夹 mkdir …

基于Spring Boot的学生在线答疑系统设计与实现

基于Spring Boot的学生在线答疑系统设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 管理员登录界面 教师登陆界面 问题发布信息界面&am…

堆内存分配策略傻傻不清楚

一、概述 1.JVM堆内存分为年轻代、老年代和持久代(JDK7及之前版本)或元空间(JDK8及之后版本)。 年轻代用于存放新创建的对象,老年代用于存放存活时间较长的对象。 持久代或元空间主要用于存放类信息、方法信息、常量池…

【Delphi 爬虫库 3】使用封装好的 HTML 解析库对 HTML 数据进行解析

文章目录 解析HTML的意义1、简单解析HTML代码2、实战解析HTML代码 解析HTML的意义 HTML是Web页面的构建语言,每个Web开发者都需要了解HTML的基础知识。但是,通过手动阅读和解析需要极大的心智和时间投入。这时候,我们就需要使用HTML在线解析…