(周末公众号解读系列)2000字-视觉SLAM综述

news2024/11/18 23:26:25

参考链接:

https://mp.weixin.qq.com/s?__biz=Mzg2NzUxNTU1OA==&mid=2247528395&idx=1&sn=6c9290dd7fd926f11cbaca312fbe99a2&chksm=ceb84202f9cfcb1410353c805b122e8df2e2b79bd4031ddc5d8678f8b11c356a25f55f488907&scene=126&sessionid=1677323905&subscene=227&key=9a02e99e10746e62edc61b510f8aa435c893767b6ec76041a96a2d39cb0923b7ca8ddd1ab0097ac2e6217b606b417eb69a086da9ed974160452df9b6c6c0f5b027a4213626c2f423451e45483b8fc46475378a84bb89041d614925d5f73fe5542db4d35ef46699463ff782427b1092450fc1016047edc1c1010d6ca92b0f3836&ascene=0&uin=Mzc0NTg4MzkyNw%3D%3D&devicetype=Windows+10+x64&version=6309001c&lang=zh_CN&countrycode=CN&exportkey=n_ChQIAhIQgje2UUM5NqDpia5oVB%2FXHxLgAQIE97dBBAEAAAAAAOyyL7mK2bcAAAAOpnltbLcz9gKNyK89dVj0vLNeFk65c8P6inPTXZ29QjOPVkYra5AJxJtX0E7z%2FLVP2Au7HyYmR0X%2FEoIPgPw0AzQU8TGtSVDX9vrkMIx5sfgjFmZqInx7EblixofRc%2FrDV%2Bu5sk7jAB8d2Cr7kIBRKAg3gq715LqS3CLOY%2F5VQ4KqrEmUp1JRmnCeCgqEx1MTKStBV6ihSUhaLgwMJKHFS0YmMD7PoFQpMRJYoMqMTWjz9CDfCYMmKWAJPdFqjnI6HeBGWKqtrPNl&acctmode=0&pass_ticket=dVWGS3Iox01jACb0GxzkNrJO8A4pK0njBNgvyRFW67nVbm6C5y5zRZm1SRwVDFUn5iynKL7FMHFZJLb6BlUuGQ%3D%3D&wx_header=1&fontgear=2

阅读心得:

视觉SLAM系统的经典结构可分为五个部分:相机传感器模块、前端模块、后端模块、回环模块和建图模块。如图1所示,相机传感器模块负责收集图像数据,前端模块负责跟踪两个相邻帧之间的图像特征,以实现初始相机运动估计和局部建图,后端模块负责前端的数值优化和进一步的运动估计,回环模块负责通过计算大规模环境中的图像相似度来消除累积误差,建图模块负责重建周围环境(Gao等人,2017)。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

视觉SLAM的前端被称为视觉里程计(VO)。它负责基于相邻帧的信息粗略地估计相机运动和特征方向。为了获得具有快速响应速度的精确姿态,需要有效的VO。目前,前端主要可分为两类:基于特征的方法和直接方法(包括半直接方法)(Zou等人,2020)。本节主要回顾VO的基于特征的方法。关于半直接和直接方法在后文。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

后端的话没啥创新的地方,能明白这里面的原理就行了。这个地方的创新点还是不足的,但是类似与GTSAM这种工程性质的代码,感觉没个100人,想要重构这个代码是有些些困难的。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

回环部分现在是可以加深度学习的,这个还不太了解。但是激光SLAM那边的回环检测是已经用了很成熟的深度学习框架在运行了。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

度量地图描述了地图元素之间的相对位置关系,拓扑地图则强调了地图元素间的连接关系。同时度量地图又可以分为稀疏地图和密集地图,简单来说稀疏地图就是用特征点(关键点)来进行地图的构建,而密集地图则是用所有点(特征点)来进行地图的构建。

根据传感器的类型,视觉SLAM可以分为单目、双目、RGB-D和基于事件相机的方法。根据地图的密度,可分为稀疏、密集和半密集SLAM。总的来说,反正就是SLAM的分类有很多种,看你到底按照什么来进行分类了。

2017年,Tong等人(2017)提出了VINS-Mono,它被视为一种优秀的单目VI-SLAM系统,前端采用光流方法,后端采用基于滑动窗口的非线性优化算法(Cheng等人,2021b)。此外,VINS-Mono的初始化方法值得注意,它采用了不相交方法(以及VI-ORBSLAM Mur Artal和Tards,2017),该方法首先初始化纯视觉子系统,然后估计IMU(加速度计和陀螺仪)的偏差、重力、比例和速度。通过KITTI和EuRoC数据集的测试,VINS Mono已被证明具有与OKVIS相当的定位精度,在初始化和环路闭合阶段具有更完整和鲁棒性。2019年,VINS-Mono团队提出了双目版本,并整合了GPS信息,VINS-Fusion(Tong等人,2019)。如图6(c)所示,由于增加了GPS测量,它在户外环境中实现了良好的定位和建图效果,并且被认为是自动驾驶车辆领域的一个良好应用。

上面这一段介绍了vins,是一个非常值得学习的vio系统,这个正在学习和整理阶段,md,最近实在是没时间整理了,过几天就开始搞这个的ppt了。

基于LIDAR-IMU融合的方案分为两类:松耦合和紧耦合方案。典型的松耦合方案是LOAM,(图16(a))和LeGO-LOMA(Shan和Englot,2018),其中IMU测量信息未用于优化步骤。与松耦合方案相比,紧耦合方案处于开发阶段,这通常大大提高了系统的准确性和鲁棒性。在当前公开的紧密耦合系统中,LIO-Mapping(Ye等人,2019)使用VINS-Mono中的优化过程来最小化IMU残差和LIDAR测量误差。由于LIO建图旨在优化所有测量值,因此系统的实时效果较差。Zou等人提出了LIC融合,如图16(b)所示。它融合了点云中提取的LiDAR特征和稀疏视觉特征,蓝色和红色的LiDARR点分别是平面和边缘特征,估计的轨迹用绿色标记。为了节省计算资源,LIO-SAM(图16(c))引入了滑动窗口优化算法,使用因子图方法联合优化IMU和LIDAR的测量约束。LINS(图16(e)),专门为地面车辆设计,使用基于误差状态的卡尔曼滤波器迭代修正待估计的状态量。Zhang和Singh(2018)提出了一种紧密耦合的LVIO(激光雷达视觉惯性里程表)系统,该系统使用从粗到精的状态估计方法,从IMU预测开始进行粗略估计,然后由VIO和LIO进一步细化。目前,LVIO算法是KITTI数据集上测试精度最高的算法。Zoo等人(2019)基于MSCKF框架实现了时空多传感器的在线校准。不幸的是,Zhang和Singh(2018)和Zoo等人(2019)实施的代码目前不是开源的。Shan等人(2021)于2021发布了最新的可视化LIDAR-IMU紧耦合方案:LVI-SAM(图16(d))。为了提高系统的实时性能,它使用了平滑和建图算法。作者将视觉IMU和激光雷达IMU视为两个独立的子系统。当检测到足够多的特征点时,这两个子系统将链接在一起。当其中一个子系统检测不到时,这两个子系统可以独立分离,因为不会相互影响。表5总结了近年来视觉-惯性SLAM框架中的主要算法。

未来发展趋势:由于视觉SLAM的复杂模块(例如前端、后端、回环和建图等)增加了硬件平台的计算负担,高性能移动计算平台通常限制了上述视觉SLAM算法在自动驾驶中的应用。基于多代理的视觉SLAM技术似乎能够克服这个问题。目前,基于多智能体的可视化SLAM通常用于无人机,如果它安装在自动驾驶汽车上进行移动计算,移动计算机平台只负责处理前端数据,而后端优化和建图的过程则由远程服务器通过5G/6G通信网络来处理,我们相信,这将大大加快视觉SLAM在未来自动驾驶车辆中的应用;

(这个未来发展趋势我认为是可以的,后端的计算需要昂贵的计算资源,但是我们可以通过极快的网速将数据传入到服务器内进行计算,然后将结果再通过网络输出出去,那么这样可以大大减少车载计算资源的使用,使其能够在路上行驶的时候做其他保障车内人员安全的事情)

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

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

相关文章

10 分钟把你的 Web 应用转为桌面端应用

在桌面端应用上,Electron 也早已做大做强,GitHub桌面端、VSCode、Figma、Notion、飞书、剪映、得物都基于此。但最近后起之秀的 Tauri 也引人注目,它解决了 Electron 一个大的痛点——打包产物特别大。 我们知道 Electron 基于谷歌内核 Chro…

C++回顾(二)——const和引用

2.1 C中的const 2.1.1 C与C中const的比较 (1)C语言中的const C语言中 const修饰的变量是一个 常变量,本质还是变量,有自己的地址空间。 (2)C中的const 1、C中 const 变量声明的是一个真正的常量&#xff…

24 openEuler管理进程-调度启动进程

文章目录24 openEuler管理进程-调度启动进程24.1 定时运行一批程序(at)24.1.1 at命令24.1.2 设置时间24.1.3 执行权限24.2 周期性运行一批程序(cron)24.2.1 运行机制24.2.2 crontab命令24.2.3 crontab文件24.2.4 编辑配置文件操作…

Linux基础命令-whereis查找命令及相关文件

文章目录 whereis 命令介绍 命令格式 基本参数 参考实例 1)查找date命令及相关文件 2)只显示date的二进制文件 3)只显示源代码文件 4)指定目录查找二进制文件 which与whereis对比 命令总结 whereis 命令介绍 通过帮助…

【TCSVT22】Pareto Refocusing for Drone-view Object Detection【航拍目标检测】

论文与代码论文地址:https://ieeexplore.ieee.org/document/9905640/代码地址:未开源背景与动机作者认为阻碍航拍场景目标检测发展的原因主要有以下两个:航拍图像中存在大量困难目标,文中作者把困难目标总结为小目标和遮挡的目标。…

机械革命旷世G16电脑开机变成绿屏了无法使用怎么办?

机械革命旷世G16电脑开机变成绿屏了无法使用怎么办?最近有用户使用的机械革命旷世G16电脑一开机之后,电脑屏幕就变成了绿色的,无法进行任何的操作。出现这个问题可能是因为电脑中病毒了,或者是系统出现故障。我们可以通过U盘来重新…

实习-----Mybatis 框架

Mybatis 框架ORM持久化介绍 了解什么是“持久化”即把数据(如内存中的对象)保存的磁盘的某一文件中ORM概念ORM,即Object Relational Mapping,它是对象关系映射的简称。它的作用是在关系型数据库和对象之间作一个映射,是…

CNTM 和ADA线下会议总结!

预计CNTM将会是ADA和Ocean共同孵化的第二个AI项M!CNTM25号和ADA在台湾举办线下会议 并在近期CNTM和Ocean在一起交流AI技术,同时AGIX也是ADA和Ocean深度孵化的项目,预计CNTM将会是ADA和Ocean共同孵化的第二个AI项目!什么是 CNTM &a…

【测试平台系列】如何停止测试任务执行

今天我们就玩点好玩的,和大家一起探讨:怎么停止一段python代码。之后我们将会运用到pity之中。 知识要点 本文需要大家对asyncio相关知识有一些了解,至于原理方面,大家可以自行查阅,因为我也没细看。 为什么要做这个…

Spring使用mongoDB步骤

1. 在Linux系统使用docker安装mongoDB 1.1. 安装 在docker运行的情况下,执行下述命令。 docker run \ -itd \ --name mongoDB \ -v mongoDB_db:/data/db \ -p 27017:27017 \ mongo:4.4 \ --auth执行docker ps后,出现下列行,即表示mongoDB安…

【项目精选】网络考试系统的设计与实现(源码+视频+论文)

点击下载源码 网络考试系统主要用于实现高校在线考试,基本功能包括:自动组卷、试卷发布、试卷批阅、试卷成绩统计等。本系统结构如下: (1)学生端: 登录模块:登录功能; 网络考试模块…

gdb openocd jlink arm-a9调试

连接关系是这样的:gdb —> openocd —>(这里需要两个xx.cfg配置文件) jlink —> arm-a9板子 具体流程是这样的: 给jlink(硬件调试器)安装驱动,用USB Driver Tool这个软件,…

02.24:图片的风格转换

Github网址:https://github.com/lengstrom/fast-style-transfer 在anaconda prompt中切换环境命令:activate 环境名 列出所有环境名:conda info --envs 安装环境:conda create -n 环境名 pythonx.x.x 删除某环境:co…

Spring Cloud Nacos源码讲解(八)- Nacos客户端服务订阅的事件机制剖析

Nacos客户端服务订阅的事件机制剖析 ​ 上次我们已经分析了Nacos客户端订阅的核心流程:Nacos客户端通过一个定时任务,每6秒从注册中心获取实例列表,当发现实例发生变化时,发布变更事件,订阅者进行业务处理&#xff0c…

WAF渗透攻防实践(16)

预备知识 WAF:WEB攻击一直是黑客攻击的主流手段,WAF作为网站安全基础设施的标配。Web Application Firewall,Web应用防火墙,通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的产品。 Nginx:Nginx 是…

京东10年经验测试工程师,整理出来的自动化测试学习路线,写给还在迷茫的你们

1、学习python基本语法。 2、上w3school这个网站(2019年4月6日补充:网址是http://www.w3schools.com。但是现在这个网站被墙,而且出现众多山寨站点。。。这个网站的特点是你可以在网页上做一些练习,比如他教html的时候会让读者直…

Word的多级列表及自定义带级联编号有序列表的方法

1.多级列表的应用 输入列表时,列表项目符号或编号不应手动输入。可在输入文字后将光标放在文字所在段落,点击开始面板段落工具组的编号命令或者多级列表命令来生成编号。由于多级列表命令完全可以覆盖编号命令,且格式调整功能更强大&#xf…

ES数据迁移_snapshot(不需要安装其他软件)

参考文章: 三种常用的 Elasticsearch 数据迁移方案ES基于Snapshot(快照)的数据备份和还原CDH修改ElasticSearch配置文件不生效问题 目录1、更改老ES和新ES的config/elasticsearch.yml2、重启老ES,在老ES执行Postman中创建备份目录…

第45届世界技能大赛“网络安全”赛项浙江省选拔赛竞赛任务书

第45届世界技能大赛浙江省选拔赛竞赛任务书 一、竞赛时间 8:00-17:00,共计9小时。 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 模块A 任务1 数据库安全加固 8:00-10:00 50 任务2 文件MD5校验 50 任务3 Linux系统服务渗透测试及安全加…

洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk

最后水一篇水题题解(实在太水了) # [USACO1.3]混合牛奶 Mixing Milk ## 题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。 Marry 乳业从一些奶农手…