从零实战SLAM-第九课(后端优化)

 在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。

-------------------------------------------------------------------------------------------------------------------------------

后端的目标:从带噪声的数据估计内在状态——状态估计问题。主流方法分为两大类:

❑ 渐进式(Incremental/Recursive)

❑ 批量式(Batch)

其中,渐进式(Incremental/Recursive)的思想和主流方法如下:

➢ 保持当前状态的估计,在加入新信息时,更新已有的估计(滤波)

➢ 线性系统+高斯噪声=卡尔曼滤波器

➢ 非线性系统+高斯噪声+线性近似=扩展卡尔曼

➢ 非线性系统+非高斯噪声+非参数化=粒子滤波器

➢ Sliding window filter & multiple state Kalman(MSCKF)

批量式(Batch)的思路为:

➢ 给定一定规模的数据,计算该数据下的最优估计(优化)

渐进式的作用是根据观测的结果,修正自己对位姿的估计。没有观测,则随着机器人的移动,自身的位姿误差会越来越大。

从零实战SLAM-第九课(后端优化)_第1张图片

与之前保持一致,xk表示位姿,zk表示观测

从零实战SLAM-第九课(后端优化)_第2张图片

则k时刻的位姿,与原始位姿、运动序列和观测序列有关

从零实战SLAM-第九课(后端优化)_第3张图片

从零实战SLAM-第九课(后端优化)_第4张图片

这其中涉及到当前时刻与之前各时刻位姿之间的关系,一般分为两种:

➢ 假设时刻状态只和-1时刻有关

➢ 假设时刻状态与先前所有时刻均相关

常用第一种,也叫作马尔科夫性。

.从零实战SLAM-第九课(后端优化)_第5张图片

其中,卡尔曼滤波用在线性模型、高斯噪声的情况之下

从零实战SLAM-第九课(后端优化)_第6张图片

高斯分布的线性变换,仍然属于高斯分布。

从零实战SLAM-第九课(后端优化)_第7张图片

计算过程很复杂,最后只要记住这几个公式即可。

从零实战SLAM-第九课(后端优化)_第8张图片

当运动函数与观测函数为非线性函数时,用一阶Taylor展开

从零实战SLAM-第九课(后端优化)_第9张图片

分析的工具为扩展卡尔曼滤波

从零实战SLAM-第九课(后端优化)_第10张图片

扩展卡尔曼滤波的优缺点

❑ Advantage

➢ 推导简单清楚,适用各种传感器形式

➢ 易于做多传感器融合

❑ Disadvantage

➢ 一阶马尔可夫性过于简单

➢ 可能会发散(要求数据不能有 outlier)

➢ 线性化误差

➢ 需要存储所有状态量的均值和方差,平方增长

批量法的思路

从零实战SLAM-第九课(后端优化)_第11张图片

Bundle Adjustment问题与图结构的关系:

➢ BA虽然是个纯优化问题,但亦可以用图模型清晰地表述出来

➢ 顶点为优化变量,边为运动/观测约束

➢ 本身还有一些特殊的结构

从零实战SLAM-第九课(后端优化)_第12张图片

BA使用高斯-牛顿或者L-M算法计算

从零实战SLAM-第九课(后端优化)_第13张图片

这里的雅可比矩阵为一个稀疏阵。

从零实战SLAM-第九课(后端优化)_第14张图片

目标函数与雅可比矩阵的情况

从零实战SLAM-第九课(后端优化)_第15张图片

雅可比矩阵与H矩阵的稀疏性特点

从零实战SLAM-第九课(后端优化)_第16张图片

图模型结构与H矩阵之间的映射关系

从零实战SLAM-第九课(后端优化)_第17张图片

利用H矩阵的特点,可以加速计算过程。

从零实战SLAM-第九课(后端优化)_第18张图片

从零实战SLAM-第九课(后端优化)_第19张图片

迭代法与批量发之间的区别

从零实战SLAM-第九课(后端优化)_第20张图片

在SLAM中使用Bundle Adjustment,用来做关键帧和地图的管理

批量方法:

➢ 用BA优化一部分图

➢ 其余的固定

递归方法:

➢ 保留一定数量的关键帧

➢ 使用BA来优化窗口内的关键帧

➢ 新的关键帧到来时,边缘化老的关键帧

从零实战SLAM-第九课(后端优化)_第21张图片

位姿图与BA之间的关系

实际当中Bundle Adjustment的计算量很大:

➢ 通常放在单独的后台线程中计算而无法实时

➢ 主要计算来自于大量的特征点

Pose Graph 即是省略了特征点的 Bundle Adjustment。

从零实战SLAM-第九课(后端优化)_第22张图片

位姿图的计算过程

从零实战SLAM-第九课(后端优化)_第23张图片

从零实战SLAM-第九课(后端优化)_第24张图片

你可能感兴趣的:(计算机视觉,算法,计算机视觉)