SLAM相关知识

  1. 目前在SLAM上的传感器主要分为两大类:激光雷达和摄像头

激光雷达:单线、多线

摄像头:单目相机(普通USB相机)、双目相机(2个普通的USB相机)、单目结构光(深度相机)、双目结构光(深度相机)、TOF(深度相机)

视觉slam-vslam综述总结(以下信息是2010-1016年):

  1. 基于特征的方法:对特征点的跟踪和映射
  2. 直接方法:为了应对无纹理或无特征的环境,提出了不检测特征点而直接使用整幅图像进行跟踪和映射的vslam方法
  3. 基于RGB-D相机的方法:随着低成本RGB-D传感器如微软Kinect的出现,单目RGB图像和深度图像结合的vSLAM算法已经被提出(输入为两张图像,RGB的二维彩色图像和具有深度信息的depth图像)

vslam算法的基本框架:

为了启动vSLAM,需要定义一定的坐标系,用于未知环境下的摄像机姿态估计和三维重建。

  1. 初始化:在初始化时,首先要定义全局坐标系,将环境的一部分重构为全局坐标系中的初始地图。
  2.  跟踪和映射:初始化后,进行跟踪和映射,连续估计相机姿态。在跟踪中,在图像中跟踪重建的地图,以估计图像相对于该地图的相机姿态。(目的是通过图像中的特征匹配或特征跟踪获得图像和地图之间的2D-3D对应关系)
  3. 重新定位:当由于相机快速运动或某些干扰导致跟踪失败时,需要重新定位。在这种情况下,有必要再次计算相机相对于地图的姿态。如果不将重新定位纳入到vSLAM系统中,系统在跟踪丢失后就不再工作,。这样的系统就没有实际用途。
  4. 全局地图优化:考虑整个地图信息的一致性,计算从开始到当前的累计误差(可参考闭环技术:在闭环闭合中,首先通过将当前图像与先前获取的图像进行匹配来搜索闭环。如果检测到循环,则意味着相机捕获了先前观察到的视图之一。在这种情况下,可以估计相机运动过程中发生的累积误差。)

vslam、视觉里程计和在线运动结构的关系:

  1. 视觉里程计VO:基于摄像机的里程计称为视觉里程计(visual odometry,VO). 里程计是指利用传感器来估计传感器位置随时间的顺序变化. Vslam = VO + 全局地图优化
  2. 关系:在VO中,仅在地图的一小部分中考虑地图的局部几何一致性,或者仅计算相对相机运动而不进行映射。另一方面,在vSLAM中,通常考虑地图的全局几何一致性。因此,为了构建几何上一致的映射,在最近的vSLAM算法中进行了全局优化。
  3. SFM:批量估计摄像机运动和环境三维结构的技术,在线运行的SFM方法和vSLAM没有区别。

基于特征的方法展开描述:

  1. 基于过滤器的方法:MonoSLAM2003(使用扩展卡尔曼滤波(EKF)同时估计未知环境的摄像机运动和三维结构),在EKF中,自由度(DoF)相机运动和三维位置特征点被表示为状态向量。在预测模型中假定均匀运动,将特征点跟踪的结果作为观测值。根据相机的移动,新的特征点被添加到状态向量中。初始映射是通过观察定义了全局坐标系的已知对象而创建。总结:Map初始化是通过使用已知对象完成的,利用EKF估计相机运动和特征点的三维位置。遇到的问题:在大型环境中,由于特征点的数量很大,所以稳态向量的尺寸也会变大,很难实现实时计算。PTAM2007:为了解决MonoSLAM的计算成本问题,PTAM[15]在CPU上将跟踪和映射拆分为不同的线程。这两个线程并行执行,因此映射的计算成本不会影响跟踪。因此,在优化中需要计算成本的BA可以用于映射。这意味着跟踪实时估计相机运动,映射以计算成本估计特征点的精确3D位置。在PTAM中,使用五点算法重构初始映射[28]。在跟踪中,映射的点被投影到图像上,使用纹理匹配进行2D-3D对应。从这些通信中,可以计算出相机的姿势。在映射中,新特征点的三维位置在某些帧(称为关键帧)使用三角剖分计算。PTAM的一个重要贡献是在vSLAM中引入了这种基于关键帧的映射。当测量到输入帧与其中一个关键帧之间的较大差异时,选择一个输入帧作为关键帧。准确的三角测量基本上需要大的视差。与MonoSLAM相比,特征点的3D点使用局部关键帧的全局BA和所有关键帧的全局BA与地图进行优化。此外,在跟踪过程中,新版本的PTAM采用了一种重新定位算法[29]。它使用基于随机树的特征分类器来搜索输入帧的最近关键帧。总结:Map初始化由五点算法完成,从地图点与输入图像之间匹配的特征点估计相机姿态,利用三角剖分法估计特征点的三维位置,并利用BA对估计的三维位置进行优化,跟踪过程通过基于随机树的搜索恢复。由于PTAM只能重建环境的稀疏3D结构,因此第三个线程可以用来重建环境的密集3D结构。总结:MonoSLAM中基于ekf的映射与PTAM中基于ba的关键帧映射,其中基于ba的方法可以比基于ekf的方法处理更多的点。
  2. 基于BA的方法:在单目vSLAM情况下,如果不进行全局BA,则存在尺度模糊,并且在摄像机运动期间尺度可能发生变化。在这种情况下,会出现尺度漂移问题,每帧坐标系的尺度可能不一致。为了纠正尺度漂移,相机的姿势应该是优化到7DOF.Strasdat等人[37]提出了一种基于相似性变换的7自由度相机位姿优化方法。ORB-SLAM2015作为PTAM的扩展[38],包括BA、基于视觉的闭环检测和7自由度posegraph优化。据我们所知,ORB-SLAM是目前最完整的基于特征的单目slam系统。orb - slam扩展到立体vSLAM和RGB-D vSLAM[39]。
  3. 总结:MonoSLAM2003(跟踪和映射都是顺序的,同时使用EKF)、PTAM2007(跟踪和映射都是顺序的,同时使用EKF,在大环境下也就是特征点较多的时候,由于BA算法存在局部最小问题,难以得到地图和摄像机姿态的全局最优。为了避免这个问题,可以在BA之前使用闭环检测和姿态图优化)、ORB-SLAM2015(多线程跟踪、映射和闭环检测,地图优化采用位图优化和BA)。其中ORB-SLAM是一个开源系统,可以很容易地在本地环境中使用整个vSLAM系统。
  4. 基于特征点的vSLAM算法通常采用手工制作的特征检测器和描述符,可以在纹理丰富的环境中提供稳定的估计结果。然而,通过使用这种手工制作的特征,很难处理弯曲的边缘和其他复杂的线索。

基于直接方法的展开描述:

直接使用输入图像,无特征方法,光度一致性在直接方法中被用作误差测量,而几何一致性(如图像中特征点的位置)在基于特征的方法误差测量中被使用

  1. DTAM:通过将输入图像与重建地图生成的合成视图图像进行比较来完成跟踪,等同于图像和地图的3D模型之间的配准,在GPU上实现。步骤:首先采用多基线立体模型进行映射,然后考虑空间连续性对地图进行优化,计算出所有像素点的三维坐标。初始深度图是使用类似PTAM这样的立体测量来创建的。组成:地图初始化由立体测量完成、由重建的地图生成合成视图来估计相机运动、利用多基线立体图像估计每个像素的深度信息,然后考虑空间连续性对深度信息进行优化。
  2. LSD-SLAM:继承了半密集VO的思想[20]。在该方法中,重建目标被限制在具有强度梯度的区域,而dtam则重建整个区域。这意味着它忽略了无纹理区域,因为很难从图像中估计准确的深度信息。在映射中,首先设置随机值作为每个像素的初始深度值,然后根据光度一致性对这些值进行优化。由于这种方法不考虑整个地图的几何一致性,所以这种方法被称为视觉里程计。组成:随机值被设置为每个像素的初始深度值、由重建的地图生成合成视图来估计相机运动、重建区域仅限于高强度梯度区域、采用7自由度位图优化,获得几何一致性图。
  3. SVO:半直接VO,跟踪是通过特征点匹配完成的,但映射是通过直接方法完成的。在基于特征的方法中,使用特征描述符和Lucas-Kanade跟踪器[52]来寻找对应关系。与基于特征的方法相比,通过最小化特征点周围的光度误差来估计相机运动。这种方法可以看作是DTAM和LSD-SLAM的稀疏版本。
  4. DSO:直接稀疏里程法,为了抑制累积误差,DSO尽可能地从几何和光度角度去除误差因素。在DSO中,输入图像被分成若干块,然后进行高强度分割点作为重要候选点。DSO同时使用几何和光度相机校准结果。值得注意的是,DSO只考虑局部几何一致性。因此,DSO属于VO,而不是vSLAM。
  5. 总结:直接方法可以根据地图密度进行分类。密集的方法[43,47]生成密集的地图,计算出每个关键帧中每个像素的深度值。这些方法可用于GPU实时三维建模。与密集方法相比,半密集[21]和稀疏[51,53]方法侧重于基于传感器姿态跟踪的应用。这些方法可以在cpu上实时运行。

基于结构光的RGB-D相机方法展开描述:

可以实时的提供3D信息

  1. 与单目SLAM的区别:可以知道坐标系的尺度
  2. 基于深度的VSLAM框架如下:迭代最近点(ICP)算法、结合多个深度图重构环境的三维结构

KinectFusion:用体素空间用于表示环境的3D结构,结合体素空间中获得的深度图重构环境的三维结构,利用估计的三维结构和输入的深度图(基于深度的vSLAM),通过ICP算法估计摄像机的运动。

SLAM++:对象级RGB-D vSLAM算法,预先将多个三维物体注册到数据库中,并在线识别这些物体。通过对三维物体的识别,对估计的地图进行细化,将三维点替换为三维物体,减少数据量。

RGB-D VO和全局地图优化技术:使用了RGB图像,通过跟踪连续帧之间的特征点来估计相对摄像机运动。然后使用跟踪的特征点估计翻译矩阵,并使用深度图通过ICP算法对该翻译矩阵进行细化。另一方面,基于光度一致性的摄像机运动跟踪方法也被提出[22,23,64]。这种基于光度一致性的摄像机运动跟踪也采用了基于单目摄像机的密集vslam方法。·为了获得几何上一致的地图,在RGB-D可视化算法中采用了位姿图优化和变形图优化。通过RGB-D图像和重建模型之间的匹配来估计摄像机的运动。他们展示了几何上一致的模型,可以尽可能多地使用变形图优化来获得。

视觉SLAM遇到的问题:

  1. 纯旋转运动:
  2. 地图初始化:
  3. 估计固有相机参数:
  4. 滚动快门失真:
  5. 比例模糊:

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

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

相关文章

【二】Ubuntu24虚拟机在Mac OS的VMware Fusion下无法联网问题

文章目录 1.环境背景2. 需求背景3. 解决方法3.1 在mac的终端查看虚拟机NAT网络3.2 查看unbuntu节点2的网络配置3.3 问题定位与解决3.3.1 检查是否有冲突3.3.2 冲突解决方法 4. 总结4.1 NAT 网关的原理4.2 VMware Fusion 的 NAT 模式4.3 为什么网关冲突会引起问题4.4 理解配置冲…

AutoHotKey自动热键(五)添加WINDOWS秘笈指令-输入瞬间启动功能

在AUTOHOTKEY的使用中,不仅仅可以监听组合热键,还可以监听正常文本击键录入,这是另一种监听方式,比如依次击键jsq之后直接弹出<计算器>工具,或者依次击键sj之后直接输出135****5564的手机号码,等等,这就是autohotkey的录入击键监听,以双冒号为开头:: 因这种录入监听像极了…

【UE5】仅修改结构体的若干个数据

蓝图中的结构体变量 | 虚幻引擎4.27文档 (unrealengine.com) 连线连到傻&#xff0c;因为如果某个变量set空值也一起过去了。一查发现有这个节点。

EEG源定位(EEG Source Localization)

EEG源定位&#xff08;EEG Source Localization&#xff09;是一种用于确定大脑内部电活动来源的方法。通过在头皮上记录的电信号&#xff08;EEG&#xff09;&#xff0c;源定位技术可以推断这些信号的起源&#xff0c;即确定大脑中的哪些区域产生了这些电活动。这对于理解大脑…

【面向就业的Linux的基础】从入门到熟练,探索Linux的秘密(十三)-常用的命令

上述是一些系统命令的基本练习&#xff0c;可以当做日常笔记学习收藏一下&#xff01;&#xff01;&#xff01; 目录 前言 一、文件权限 二、文件检索 三、查看文件内容 四、用户相关 五、工具 六、安装软件 七、作业​​​​​​​ 总结 前言 上述是一些系统命令的…

简单仿写MVC

代码地址&#xff08;需要自取&#xff09;&#xff1a;mvc_Imitation: 简单仿写实现MVC (gitee.com) 项目目录 先把架子搭好 Controller注解 Documented Retention(RetentionPolicy.RUNTIME) Target(ElementType.TYPE) public interface Controller { }RequestMapping Do…

大模型lora微调中,rank参数代表什么,怎么选择合适的rank参数

在大模型的LoRA&#xff08;Low-Rank Adaptation&#xff09;微调中&#xff0c;rank参数&#xff08;秩&#xff09;是一个关键的超参数&#xff0c;它决定了微调过程中引入的低秩矩阵的维度。具体来说&#xff0c;rank参数r表示将原始权重矩阵分解成两个低秩矩阵的维度&#…

互助学习平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;课程信息管理&#xff0c;课程分类管理&#xff0c;课程评价管理&#xff0c;学习计划管理&#xff0c;留言板管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;课程信息…

Databend 开源周报第 152 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend。 支持内置 UDFs …

数学建模美赛入门

数学建模需要的学科知识 高等数学线性代数 有很多算法的掌握是需要高等数学和线代的相关知识 如&#xff1a;灰色预测模型需要微积分知识&#xff1b;神经网络需要用到导数知识&#xff1b;图论和层次分析法等都需要用到矩阵计算的相关知识等&#xff1b; 概率论与数理统计&am…

忘记Apple ID密码怎么退出苹果ID账号?

忘记Apple ID密码怎么退出账号&#xff1f;Apple ID对每个苹果用户来说都是必不可少的&#xff0c;没有它&#xff0c;用户就不能享受iCloud、App Store、iTunes等服务。苹果手机软件下载、丢失解锁、恢复出厂设置等都需要使用Apple ID。如果忘记Apple ID 密码&#xff0c;这会…

Flutter 开启混淆打包apk,并反编译apk确认源码是否被混淆

第一步&#xff1a;开启混淆并打包apk flutter build apk --obfuscate --split-debug-info./out/android/app.android-arm64.symbols 第二步&#xff1a;从dex2jar download | SourceForge.net 官网下载dex2jar 下载完终端进入该文件夹&#xff0c;然后运行以下命令就会在该…

分享五款软件,成为高效生活的好助手

​ 给大家分享一些优秀的软件工具,是一件让人很愉悦的事情&#xff0c;今天继续带来5款优质软件。 1.图片放大——Bigjpg ​ Bigjpg是一款图片放大软件&#xff0c;采用先进的AI算法&#xff0c;能够在不损失图片质量的前提下&#xff0c;将低分辨率图片放大至所需尺寸。无论…

Windows10 企业版 LTSC 2021发布:一键点击获取!

Windows10企业版 LTSC 2021是微软发布的长达5年技术支持的Win10稳定版本&#xff0c;追求稳定的企业或者个人特别适合安装该系统版本。该版本离线制作而成&#xff0c;安全性高&#xff0c;兼容性出色&#xff0c;适合新老机型安装&#xff0c;力求带给用户更稳定、高效的操作系…

【第24章】MyBatis-Plus之SQL注入器

文章目录 前言一、概述1. 使用场景2. 功能 二、注入器配置三、自定义全局方法攻略1. 定义SQL2. 注册自定义方法3.定义BaseMapper4.配置SqlInjector 四、注意事项五、更多示例六、实战1. 定义SQL2. 注册自定义方法3.定义BaseMapper4.配置SqlInjector5. 测试类6. 结果 总结 前言 …

Linux开机自启动连接wifi

&#x1f308;个人主页&#xff1a;Rookie Maker &#x1f525; 系列专栏&#xff1a;Linux &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于IT的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到我的代码世界~ &#x1f601; 喜欢的…

P8306 【模板】字典树

题目描述 给定 n 个模式串 s1​,s2​,…,sn​ 和 q 次询问&#xff0c;每次询问给定一个文本串 ti​&#xff0c;请回答 s1​∼sn​ 中有多少个字符串 sj​ 满足 ti​ 是 sj​ 的前缀。 一个字符串 t 是 s 的前缀当且仅当从 s 的末尾删去若干个&#xff08;可以为 0 个&#…

2.贪心算法.基础

2.贪心算法.基础 基础知识题目1.分发饼干2.摆动序列3.最大子序和4.买股票的最佳时机24.2.买股票的最佳时机5.跳跃游戏5.1.跳跃游戏26.K次取反后最大化的数组和7.加油站8.分发糖果 基础知识 什么是贪心? 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 贪…

面试经典 106. 从中序与后序遍历序列构造二叉树

最近小胖开始找工作了&#xff0c;又来刷苦逼的算法了 555 废话不多说&#xff0c;看这一题&#xff0c;上链接&#xff1a;https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/description/?envTypestudy-plan-v2&envIdtop-inte…

CentOS 8升级gcc版本

1、查看gcc版本 gcc -v发现gcc版本为8.x.x&#xff0c;而跑某个项目的finetune需要gcc-9&#xff0c;之前搜索过很多更新gcc版本的方式&#xff0c;例如https://blog.csdn.net/xunye_dream/article/details/108918316?spm1001.2014.3001.5506&#xff0c;但执行指令 sudo yu…