zoukankan      html  css  js  c++  java
  • 经典视觉SLAM框架

    经典视觉SLAM框架

    整个视觉SLAM流程包括以下步骤:

    1. 传感器信息读取。在视觉SLAM中主要为相机图像信息的读取和预处理。

    2. 视觉里程计(Visual Odometry,VO)。视觉里程计的任务是估算相邻图图像间相机的运动,以及局部地图的样子。VO又称为前段。

    3. 后端优化(Optimization)。后端接受不同时刻视觉里程计测量的相机位姿以及回环检测的信息,对他们进行优化,得到全局一致的轨迹和地图。由于接在VO之后,又称为后端。

    4. 回环检测(Loop Closing)。回环检测判断机器人是否到达过先前的位置。如果检测到回环,他会把信息提供给后端进行处理。

    5. 建图(Mapping)。他根据估计的轨迹,建立与任务要求对应的地图。

    视觉里程计(Visual Odometry,VO):


    VO能够通过相邻帧间的图像估计相机运动,并回复场景的空间结构。称他为“里程计”是因为他和实际的里程计一样,只估计相邻时刻的运动,而和再往前的过去的信息没有关联。在这一点上,VO就像一种只有短时间记忆的物种。

    由于视觉里程计(在最简单的情况下)只估计两个图像间的运动将会造成累计飘逸(Accumulating Drift)。因为每次估计都带有一定的误差。而由于里程计的工作方式,先前时刻的误差将会传递到下一时刻,导致经过一段时间之后,估计的轨迹将不再准确。

    这就是所谓的飘逸(Drift)。为了解决飘逸问题,我们还需要两种技术:后端优化回环检测

    后端优化(Optimization):

    笼统地说,后端优化主要处理SLAM过程中噪声的问题。在视觉SLAM中,前段和计算机视觉研究领域更为相关,比如故乡的特征提取和匹配等,后端则主要是滤波和非线性优化算法。

    SLAM问题的本质:对运动主体自身和周围环境空间不确定性的估计。

    回环检测(Loop Closing):

    本质:计算图像相似性的算法。

    建图(Mapping)

    构建的地图分为度量地图拓扑地图:

  • 相关阅读:
    【The VC Dimension】林轩田机器学习基石
    N天学习一个Linux命令之ln
    charles支持https抓包
    N天学习一个Linux命令之grep
    N天学习一个Linux命令之帮助命令:man
    一个神奇的PHP框架:Phalcon 之编译安装
    让我们加密吧Let's encrypt
    会员卡系统接入微信卡券那些事儿
    Windows安装php Oracle扩展
    Bitnami LNMP集成包安装简单总结
  • 原文地址:https://www.cnblogs.com/zhousong918/p/9364288.html
Copyright © 2011-2022 走看看