zoukankan      html  css  js  c++  java
  • 视觉SLAM十四讲(第二版)第九讲笔记

    一、 后端优化概述
    1. 后端模块的作用
    前端估计得到:

      k 时刻相机的位姿,xk 

      地图中路标j jj的世界坐标,yj

    ​  前端估计只基于k 的前一时刻或前几时刻。后端优化所做的,则是根据到目前为止观测到的所有信息,优化之前的估计结果。

      后端优化中,把位姿x 和路标y 都看做服从某种概率分布的随机变量。已知相机运动数据u ,观测数据z,问题转化为确定其概率分布,进行最大似然估计。

    后端优化主要有两种方法:

    假设马尔科夫性,k 时刻状态只与k−1时刻有关。即本讲的EKF法。
    假设k 时刻状态与之前所有状态有关,为基于非线性优化的方法。将在下一讲详细阐释。
    2. 问题描述
    变量:
    xk:k 时刻下所有未知量,包含相机和此时刻m个可见路标。
    已知:

     估计:

     根据所有已知,估计现在的位姿和路标的状态分布。

     二、卡尔曼滤波器

      1.线性系统和卡尔曼滤波器(KF)具体推导略

      

        卡尔曼滤波器依据线性系统,没有近似,是线性最优无偏估计。

       2.非线性系统和扩展卡尔曼滤波器

      实际SLAM系统存在问题:

    • 运动方程和观测方程非线性
    • 高斯分布经非线性变换后,不再是高斯分布

      因此需要进行近似,将非高斯分布近似成高斯分布。 在非线性系统中的KF即为EKF。其做法是:在某个点附近考虑运动方程和观测方程的 一阶泰勒展开,即其线性部分,然后按照KF进行

     

    3).局限

    1. 马尔可夫性的局限
    2. 一阶近似的局限
    3. 需要存储均值和方差,因为路标量很大,因此协方差矩阵很大

    三 BA与图优化

      BA(Bundle Adjustment):通过重投影不断优化估计的参数。由于其稀疏属性,能够实现在线运行。

      推导略

    实践:

     初始值

    优化后:

    十月后改为原创
    版权声明:本文为CSDN博主「KylinQAQ」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/pikachu_777/article/details/85041582

    人家都说我们路很长,但是一段路一晃一晃很快就过去了 ——易建联
  • 相关阅读:
    java基础之二:取整函数(Math类)
    springboot:读取application.yml文件
    java基础之一:基本数据类型
    git操作之四:git branch(本地仓库)
    git操作之三:git reset
    git操作之二:git restore
    git操作之一:git add/commit/init
    Kubernetes 教程:在 Containerd 容器中使用 GPU
    Kubernetes 使用 Kubevirt 运行管理 Windows 10 操作系统
    在 macOS 中使用 Podman
  • 原文地址:https://www.cnblogs.com/Lei-HongweiNO11/p/11578069.html
Copyright © 2011-2022 走看看