一、摘要

  当前单目SLAM系统能够实时稳定地在静态环境中运行,但是由于缺乏明显的动态异常处理能力,在动态场景变化与运动中往往会失败。作者为解决高度动态环境中的问题,提出一种语义单目SLAM架构,结合基于特征和直接方法实现具有挑战的条件下系统的鲁棒性。作者所提出的方法利用专业概率模型从场景中提取的语义信息,使跟踪和建图的概率最大化依赖于那些相对于相机没有呈现相对运动的场景部分。在KITTI和Synia数据集上,作者展示了在动态环境中更稳定的姿态估计效果以及相比当前最好静态场景下不错的表现。

二、贡献

1、提出了一个概率模型,该模型不仅仅依赖于逐帧的语义信息,还考虑了所有帧的语义信息,以估计每个地图点的语义。除了语义信息之外,作者还使用时间运动信息来论证某个地图点是动态的还是静态的。

2、设计了一个高效在线概率更新模型,该模型的内存消耗较低。

3、提出了一种基于CNN预测的语义先验信息的联合概率模型来建模动态异常值的单目SLAM方法。

三、论文总结

  通过依赖关于场景语义的知识,可以检测潜在的动态对象,而不需要直接地跟踪它们。通过对场景中建筑物、车道标线等静态部分的分割,可以指导这些区域的特征提取和匹配。

  本文针对高动态环境,提出了一种基于CNN预测的语义先验信息的联合概率模型建模动态异常值的单目SLAM方法。为了提取快速运动相机和无纹理环境中的特征,作者使用描述性与直接特征的组合的方法。与其他方法相比,概率异常模型允许静态和动态之间的平滑过渡,而这在交通场景中很常见。通过近似推理获得的有效在线更新允许实时应用。每个像素的语义信息仅返回对象的类。在户外环境中,静态像素的强度可能受到附近动态对象的影响,例如在道路上。特别是对于直接方法,这会导致产生沿着动态对象的阴影边界的特征,而这些特征并不是想要的。将用于语义分割的CNN延展到以一种基于图像上下文的方式直接预测像素属于动态对象的概率,可以减少获得可靠内点率估计所需的观察次数。使用有效的在线更新方法可以引入观察数据中的时相依赖性。

  来自CityScapes数据集的一个示例,该数据集是一个困难且高度动态的场景,其中车辆正站在交通灯前。大部分图像区域属于仅暂时静止且将开始缓慢移动的对象,因此导致仅基于运动线索的异常检测过程失效如图(b)。在图(c)中语义掩膜忽略了潜在动态区域中的所有关键点,因此不会使用停放的车辆进行姿态估计。本文的方法(如图d)使用深度方差以及融合语义信息(如图a)的逐点异常值估计。红圈表示估计的离群点测量值,绿圈表示用于姿态估计的内点。

四、算法结构

  ORB-SLAM方法中将直接提取的特征扩展到了建图模块中的匹配过程,因此这些特征可以用于追踪模型中的姿态估计。作者结合了概率模型来更新每个地图点的状态。位姿估计仅使用动态的地图点。增加或者修改模型,集成直接特征和概率内插模型,在图中用红色表示。

Semantic Monocular SLAM for Highly Dynamic Environments面向高动态环境的语义单目SLAM的更多相关文章

  1. 动态环境下的slam问题如何解决?

    作者:颜沁睿链接:https://www.zhihu.com/question/47817909/answer/107775045来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  2. 海量数据挖掘MMDS week7: 相似项的发现:面向高相似度的方法

    http://blog.csdn.net/pipisorry/article/details/49742907 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  3. 单目、双目和RGB-D视觉SLAM初始化比较

    无论单目.双目还是RGB-D,首先是将从摄像头或者数据集中读入的图像封装成Frame类型对象: 首先都需要将彩色图像处理成灰度图像,继而将图片封装成帧. (1) 单目 mCurrentFrame = ...

  4. 微软面向高并发应用而推出的新程序库——TPL Dataflow

    TPL Dataflow库的几个扩展函数 TPL Dataflow是微软面向高并发应用而推出的新程序库.借助于异步消息传递与管道,它可以提供比线程池更好的控制.本身TPL库在DataflowBlock ...

  5. Improving RGB-D SLAM in dynamic environments: A motion removal approach

    一.贡献 (1)提出一种针对RGB-D的新的运动分割算法 (2)运动分割采用矢量量化深度图像 (3)数据集测试,并建立RGB-D SLAM系统 二.Related work [1]R.K. Namde ...

  6. 浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM

    下载<视觉SLAM十四讲:从理论到实践>源码:https://github.com/gaoxiang12/slambook 第二讲:初识SLAM 2.4.2 Hello SLAM(书本P2 ...

  7. 单目三维稠密重建方案:Quadtree-accelerated Real-time Monocular Dense Mapping

    论文:This is a monocular dense mapping system following the IEEE Robotics and Automation Letters (RA-L ...

  8. 巧用dynamic给对象字段动态赋值(经测试无效,使用反射解决)

    动态把json对象的字段值赋给某个对象的字段 var dt=Utils.JsonDataTableConvert.ToDataTable(tableJson); foreach (DataRow ro ...

  9. Sentry 监控 - Environments 区分不同部署环境的事件数据

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

随机推荐

  1. 记一次在Grafana中使用Worldmap Panel的经历

    背景 因与工作相关,以下内容皆做了脱敏处理 主要的需求是要根据地理位置查看可视化的数据. 安装及创建 安装命令来源于官网 grafana-cli plugins install grafana-wor ...

  2. 面向对象之多态(Java实现)

    本文借鉴于csdn,博客园,b站等各大知识分享平台 之前学习了封装与继承,封装就是数据的封装性(大致理解),继承就是一个类继承另一个类的属性,称为父子类 多态 多态是面向对象的第三大特性(共三大特性) ...

  3. JVM 专题十三:运行时数据区(八)直接内存

    1. 直接内存 不是虚拟机运行时数据区的一部分,也不是<Java虚拟机规范>中定义的内存区域. 直接内存是Java堆外的.直接向系统申请的内存区间. 来源于NIO,通过存在堆中的Direc ...

  4. MYSQL 之 JDBC(九):增删改查(七)DAO的补充和重构

    DAO重构后的代码 package com.litian.jdbc; import org.apache.commons.beanutils.BeanUtils; import java.sql.*; ...

  5. java IO流 (八) RandomAccessFile的使用

    1.随机存取文件流:RandomAccessFile 2.使用说明: * 1.RandomAccessFile直接继承于java.lang.Object类,实现了DataInput和DataOutpu ...

  6. bzoj2295【POJ Challenge】我爱你啊*

    bzoj2295[POJ Challenge]我爱你啊 题意: 求一个字符串中有多少个"luvletter"(不包括引号).字符串长度≤100000. 题解: 连kmp都不用…… ...

  7. Java数组最大值和最小值

    package com.mybatis.demo.exercise; /** * @author yinsenxin */ public class ArrayMaxAndMin { public s ...

  8. Cyber Security - Palo Alto Security Policies(1)

    Security policies: Enforcing network traffic by configuring rules of what is allowed or denied to co ...

  9. Python numpy 浮点数精度问题

    Python numpy 浮点数精度问题 在复现FP(fictitious play, Iterative solution of games by fictitious play-page393)算 ...

  10. js中实现继承的方法

    目录 借用构造函数 组合继承 原型式继承 寄生式继承 寄生组合式继承 借用构造函数 这种技术的基本思想很简单,就是在子类型构造函数的内部调用超类型的构造函数.另外,函数只不过是在特定环境中执行代码的对 ...