SLAM前沿问题梳理
鲁棒性问题:数据关联是影响系统鲁棒性的主要原因
特征提取、线特征
短期内的数据关联是最容易处理的,新的研究方向包括特征提取、线特征等。
回环检测
对于前端的环闭合检测,检测当前测量中的特征并试图将它们与所有先前检测到的特征匹配的暴力方法并不切实际。通过词袋模型可以量化特征空间并进行有效的搜索来避免这种难题。词袋模型可以设计成层级字典树,可以在大范围数据集中有效查找。基于词袋模型的技术在处理单任务闭环回路检测中表现出非常可靠的性能。然而,这些方法无法处理剧烈的图像变化,因为视觉单词无法匹配。这导致开发出新的方法,通过匹配序列、将不同的视觉外观聚集成统一的表示、或者使用空间和外观信息等来明确地解释这种变化。
回环检测校验
前端中长期数据关联更具有挑战性,同时需要闭合回路的检测和校验。错误的回环闭合会严重损害最大后验估计的质量。为了处理这个问题,最近出现了很多研究,提供了一些方法,可以使SLAM后端对不合格(伪造)的观测值处理更有弹性。这些方法基于回环闭合的有效性进行推导,即回环闭合时通过添加优化过程的参差约束。
传感器失败
如果传感器精度由于误操作或老化而降低,传感器的测量(噪声和偏移)质量不能匹配后端的噪声模型,将会导致较差的估计。问题便是:我们如何检测不良传感器的运行状态?如何相应地调整传感器数据统计模型(协方差、偏移)?
时间变化和地图畸变
大场景非固定地图仍然需要大量研究。
自动参数调整
SLAM系统(特别是数据关联模块)需要进行大量的参数调整才能在给定方案中正常工作。 这些参数包括控制特征匹配的阈值,RANSAC参数以及决定何时向图表添加新因子或何时触发回环闭合算法搜索匹配。 如果SLAM必须在任意场景中“开箱即用”,则需要考虑自动调整所涉及参数的方法。
度量地图模型
理解如何为SLAM中地图选择合适的度量表示(以及扩展当前在机器人中使用的集合或表示)将影响许多研究领域,包括长期导航,与环境的物理交互以及人机交互。目前,在建图过程中如何有效的建模3D几何空间仍然处于早期阶段。基于的路标稀疏表示、低层次原始数据稠密表示、边界和空间分割稠密表示、高层次基于物体的表示。
点云和3D几何模型存在两个弱点
机器人目前主要关注点云或TSDF构建3D几何模型,这些方法存在两个弱点。首先,资源浪费问题。比如,两种表示方法使用了很多参数(比如,点,体素)来编码简单的环境,甚至是空房间。其次,这些表示方法并没有提供对3D几何的高层理解。比如,机器人需要分辨出它是在房间还是在走廊运行。更复杂的模型(例如,参数化的基元实例化)将提供辨别两个场景的简单方法(例如,通过查看定义基元的参数)。
高层次表示有一下三个作用:
a. 使用精简的表示方法可以在大场景建图时提供一种压缩地图的方法;
b. 高级表示将提供对象几何的更高级描述,这为促进数据关联,位置识别,语义理解和人机交互提供理想特征;
c. 最后,使用丰富的3D表示可以实现与现有建筑和现代建筑管理标准的互动,包括CityGML [193]和IndoorGML。
最佳表示
3D几何空间的不同表示方法领域很大,但只有很少的工作关注于如何确定特定表示方法的选择标准上。直观上,在简单的室内场景中,通常会选择参数化基元,仅用少量参数就可以足够描述3D几何空间;另一方面,在复杂的室外环境中,可能更倾向于网格模型。因此,如何比较不同的表示方法,如何选择更好的表示方法?通俗的定义是 “最佳”表示是能够预先形成给定任务的表示,同时简洁且易于创建,最大的对不利因素的不变性。针对一个任务选择最好的表示方法,寻找一个通用的且易驾驭的框架的方法仍然是未解决的问题。
最后总结两个问题:为什么需要SLAM? SLAM的作用?
为什么需要SLAM?
a. 充当里程计的功能,计算机器人轨迹。
b. 回环检测,形成环境真实的拓扑结构。
c. 生成全局一致性地图。
SLAM解决了吗?
SLAM是个很大的问题,所以需要指定特定情况才能回答这个问题。在机器人/环境/性能组合的情况下回答这一问题。 特别是,一旦指定了以下方面,就可以评估SLAM问题的成熟度:
a. 机器人:运动类型(比如,运动状况、最大速度),可用的传感器(如,分辨率、采样速率),可用的计算资源;
b. 环境:平面或三维的,自然路标或者人工路标,运动元素的数量,对称的数量和感知混淆的风险。这些方面都依赖于传感器与环境的匹配;
c. 性能要求:机器人状态中的期望精度,环境表示的精度和类型(比如,基于路标点的或稠密点云),估计延时,最大运行时间,最大地图面积。
SLAM前沿问题梳理的更多相关文章
- AI资源对接需求汇总:第3期
更好的阅读体验,请查看首发原文链接:AI资源对接需求汇总:第3期 平台介绍 平台由人工智能领域几个知名原创公众号发起,总读者约25万. 主要面向人工智能领域的从业者,涵盖图像处理.三维计算机视觉.机器 ...
- 《SLAM十四讲》个人学习知识点梳理
0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http:/ ...
- SLAM领域牛人、牛实验室、牛研究成果梳理
点击公众号"计算机视觉life"关注,置顶星标更快接收消息! 本文阅读时间约5分钟 对于小白来说,初入一个领域时最应该了解的当然是这个领域的研究现状啦.只有知道这个领域大家现在正在 ...
- 第六篇 视觉slam中的优化问题梳理及雅克比推导
优化问题定义以及求解 通用定义 解决问题的开始一定是定义清楚问题.这里引用g2o的定义. \[ \begin{aligned} \mathbf{F}(\mathbf{x})&=\sum_{k\ ...
- 如何从零开始系统化学习视觉SLAM?
由于显示格式问题,建议阅读原文:如何从零开始系统化学习视觉SLAM? 什么是SLAM? SLAM是 Simultaneous Localization And Mapping的 英文首字母组合,一般翻 ...
- SLAM方向公众号、知乎、博客上有哪些大V可以关注?
一.公众号 泡泡机器人:泡泡机器人由一帮热爱探索并立志推广机器人同时定位与地图构建(SLAM)技术的极客创办而成,通过原创文章.公开课等方式分享SLAM领域的数学理论.编程实践和学术前沿. 经典文 ...
- 三维视觉、SLAM方向全球顶尖实验室汇总
本文作者 任旭倩,公众号:计算机视觉life,编辑成员 欧洲 英国伦敦大学帝国理工学院 Dyson 机器人实验室 http://www.imperial.ac.uk/dyson-robotics-la ...
- [SLAM] 01 "Simultaneous Localization and Mapping" basic knowledge
发信人: leecty (Terry), 信区: ParttimeJobPost标 题: 创业公司招SLAM 算法工程师发信站: 水木社区 (Thu Jun 16 19:18:24 2016), 站内 ...
- SLAM+语音机器人DIY系列:(三)感知与大脑——6.做一个能走路和对话的机器人
摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...
随机推荐
- redis在windows平台安装和启动
官网: https://redis.io/ 中文网站:http://www.redis.net.cn/ 一.下载windows版本的redis 官网没有提供windows版本的下载,只有linux版本 ...
- 牛客网多校训练第一场 A - Monotonic Matrix(Lindström–Gessel–Viennot lemma)
链接: https://www.nowcoder.com/acm/contest/139/A 题意: 求满足以下条件的n*m矩阵A的数量模(1e9+7):A(i,j) ∈ {0,1,2}, 1≤i≤n ...
- vs使用libevent
1.下载最新libevent-2.1.8-stable,并解压 2.使用vs2013 工具这里使用x64,这里更新一下,改为使用x86 进入到libevent目录 运行 nmake /f Makefi ...
- Telnet配置
一.环境 路由 IP:192.168.56.2 本地云 IP:192.168.56.1 二.认证模式 AAA模式 认证 授权 计费的安全技术 当配置用户界面的认证方式为AAA时, 用户登录设备时需要首 ...
- OC报错,after command failed: Directory not empty
Directory not empty这个错误经常出现,出现的原因也很多,今天主要记录一下楼主自己碰到的这种情况. 全部错误提示: error: couldn't remove ‘路径/app-fzy ...
- [转]asp.net Request、Response 响应在此上下文中不可用
这个问题一般是在页面中使用了Respons.Write()方法,虽然是继承了System.Web.UI.Page.但System.Web.UI.Page下的Response只有在asp.net页面里才 ...
- 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心(Finchley版本)
转载请标明出处: 原文首发于 https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f10-eureka/ 本文出自方志朋的博客 文章 史上最简单 ...
- java判断类型
判断是否String:str.getClass().getName().equals("java.lang.String") 判断是否在且不为空:Object.hasKey(&qu ...
- oracle中的事务
事务 概述:通过sql 对数据库进行操作时,同时执行成功或失败,且数据完整性一致. 链接到oracle的用户(例如plsql或sqlplus)会形成一个session, 此时对数据库的更新操作,不会 ...
- iOS 文件下载及断点续传
ios的下载我们可以使用的方法有:NSData.NSURLConnection.NSURLSession还有第三方框架AFNetworking和ASI 利用NSData方法和NSURLConnecti ...