一、 后端优化概述
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).局限
- 马尔可夫性的局限
- 一阶近似的局限
- 需要存储均值和方差,因为路标量很大,因此协方差矩阵很大
三 BA与图优化
BA(Bundle Adjustment):通过重投影不断优化估计的参数。由于其稀疏属性,能够实现在线运行。
推导略
实践:
初始值
优化后:
十月后改为原创
版权声明:本文为CSDN博主「KylinQAQ」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pikachu_777/article/details/85041582