鲁棒性问题:数据关联是影响系统鲁棒性的主要原因

特征提取、线特征

  短期内的数据关联是最容易处理的,新的研究方向包括特征提取、线特征等。

回环检测

  对于前端的环闭合检测,检测当前测量中的特征并试图将它们与所有先前检测到的特征匹配的暴力方法并不切实际。通过词袋模型可以量化特征空间并进行有效的搜索来避免这种难题。词袋模型可以设计成层级字典树,可以在大范围数据集中有效查找。基于词袋模型的技术在处理单任务闭环回路检测中表现出非常可靠的性能。然而,这些方法无法处理剧烈的图像变化,因为视觉单词无法匹配。这导致开发出新的方法,通过匹配序列、将不同的视觉外观聚集成统一的表示、或者使用空间和外观信息等来明确地解释这种变化。 

回环检测校验

  前端中长期数据关联更具有挑战性,同时需要闭合回路的检测和校验。错误的回环闭合会严重损害最大后验估计的质量。为了处理这个问题,最近出现了很多研究,提供了一些方法,可以使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前沿问题梳理的更多相关文章

  1. AI资源对接需求汇总:第3期

    更好的阅读体验,请查看首发原文链接:AI资源对接需求汇总:第3期 平台介绍 平台由人工智能领域几个知名原创公众号发起,总读者约25万. 主要面向人工智能领域的从业者,涵盖图像处理.三维计算机视觉.机器 ...

  2. 《SLAM十四讲》个人学习知识点梳理

    0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http:/ ...

  3. SLAM领域牛人、牛实验室、牛研究成果梳理

    点击公众号"计算机视觉life"关注,置顶星标更快接收消息! 本文阅读时间约5分钟 对于小白来说,初入一个领域时最应该了解的当然是这个领域的研究现状啦.只有知道这个领域大家现在正在 ...

  4. 第六篇 视觉slam中的优化问题梳理及雅克比推导

    优化问题定义以及求解 通用定义 解决问题的开始一定是定义清楚问题.这里引用g2o的定义. \[ \begin{aligned} \mathbf{F}(\mathbf{x})&=\sum_{k\ ...

  5. 如何从零开始系统化学习视觉SLAM?

    由于显示格式问题,建议阅读原文:如何从零开始系统化学习视觉SLAM? 什么是SLAM? SLAM是 Simultaneous Localization And Mapping的 英文首字母组合,一般翻 ...

  6. SLAM方向公众号、知乎、博客上有哪些大V可以关注?

    一.公众号 泡泡机器人:泡泡机器人由一帮热爱探索并立志推广机器人同时定位与地图构建(SLAM)技术的极客创办而成,通过原创文章.公开课等方式分享SLAM领域的数学理论.编程实践和学术前沿. ​ 经典文 ...

  7. 三维视觉、SLAM方向全球顶尖实验室汇总

    本文作者 任旭倩,公众号:计算机视觉life,编辑成员 欧洲 英国伦敦大学帝国理工学院 Dyson 机器人实验室 http://www.imperial.ac.uk/dyson-robotics-la ...

  8. [SLAM] 01 "Simultaneous Localization and Mapping" basic knowledge

    发信人: leecty (Terry), 信区: ParttimeJobPost标 题: 创业公司招SLAM 算法工程师发信站: 水木社区 (Thu Jun 16 19:18:24 2016), 站内 ...

  9. SLAM+语音机器人DIY系列:(三)感知与大脑——6.做一个能走路和对话的机器人

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

随机推荐

  1. [转]基于WorldWind平台的建筑信息模型在GIS中的应用

    1 引言   随着BIM(Building Information Modeling)的不断发展,建筑信息建模的理念贯穿着建筑.结构.施工.运行维护以及拆迁再规划的整个建筑的生命周期,这种理念不仅使得 ...

  2. STS使用git下载项目代码

    在自己的eclipse 上安装git 插件,一般都自带了现在. 4.选择Clone URI 5.下一步输入刚才的复制的路劲,填写自己的github 账户名密码即可 6.选择要克隆的分支 7.设置本地g ...

  3. 【洛谷P2258】子矩阵

    子矩阵 题目链接 搜索枚举选了哪几行,将DP降为一个一维的问题, 先预处理出w[i]表示该列上下元素差的绝对值之和 v[i][j]为第i列和第j列对应元素之差的绝对值之和 f[i][j]表示前j列中选 ...

  4. Code First 二 DataAnnotation 数据注解

    Code-First中配置域类 我们在前一节学习了默认的代码优先约定.Code-First使用默认约定从您的域类构建概念模型.Code-First利用称为约定而不是配置的编程模式.这意味着您可以通过配 ...

  5. C# 泛型的协变和逆变 (转载)

    1. 可变性的类型:协变性和逆变性 可变性是以一种类型安全的方式,将一个对象当做另一个对象来使用.如果不能将一个类型替换为另一个类型,那么这个类型就称之为:不变量. 协变和逆变是两个相互对立的概念: ...

  6. ES6系列文章 异步神器async-await

    关于异步处理,ES5的回调使我们陷入地狱,ES6的Promise使我们脱离魔障,终于.ES7的async-await带我们走向光明.今天就来学习一下 async-await. async-await和 ...

  7. React Native开发中自动打包脚本

    React Native开发中自动打包脚本 在日常的RN开发中,我们避免不了需要将我们编写的代码编译成安装包,然后生成二维码,供需要测试的人员扫描下载.但是对于非原生的开发人员来说,可能不知如何使用X ...

  8. 如何优雅的使用C语言绘制一只小猪佩奇

    今天我们来用C语言画一只小猪佩奇---社会.社会....在画小猪佩奇之前,我们先使用带符号的距离长 (signed distance field,SDF) 来画一个圆形. 使用这个方法表示形状,但是这 ...

  9. vscode调试html文件

    1. vscode调试html文件 1.1. 使用Debugger for Chrome进行调试 1.1.1. 基于本地file配置方式调试 1.1.2. 基于服务端配置方式调试 1.1.2.1. 启 ...

  10. linux系统基础之---文件系统(基于centos7.4 1708)