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

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


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

❑ 渐进式(Incremental/Recursive)

❑ 批量式(Batch)

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

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

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

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

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

➢ Sliding window filter & multiple state Kalman(MSCKF)

批量式(Batch)的思路为:

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

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

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

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

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

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

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

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

.

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

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

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

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

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

扩展卡尔曼滤波的优缺点

❑ Advantage

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

➢ 易于做多传感器融合

❑ Disadvantage

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

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

➢ 线性化误差

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

批量法的思路

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

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

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

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

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

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

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

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

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

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

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

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

批量方法:

➢ 用BA优化一部分图

➢ 其余的固定

递归方法:

➢ 保留一定数量的关键帧

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

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

位姿图与BA之间的关系

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

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

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

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

位姿图的计算过程

相关推荐
格发许可优化管理系统1 分钟前
Mentor许可证与其他软件许可证的深度比较
java·大数据·运维·c语言·c++·算法
wjcroom9 分钟前
时空和电子7-泡力模型含罗量
人工智能·算法·机器学习
大奎帝国10 分钟前
Segearth-R2-03
深度学习·机器学习·计算机视觉
KaMeidebaby12 分钟前
卡梅德生物技术快报 | Fab 合成文库构建与抗体筛选实验流程及数据解析
人工智能·python·tcp/ip·算法·机器学习
金融小师妹16 分钟前
基于AI事件驱动模型与验证溢价框架的市场分析:从预期交易到事实验证,原油与黄金面临关键定价重构
大数据·人工智能·算法·均值算法·线性回归
YOLO数据集集合17 分钟前
无人机航拍RGBT双模态行人检测数据集 | 可见光红外对齐 低空小目标检测 多模态计算机视觉基准数据
人工智能·深度学习·目标检测·计算机视觉·无人机
xxwl58522 分钟前
工作室小测的部分记录
c++·学习·算法
智者知已应修善业26 分钟前
【51单片机串口通信甲机四个按键模拟四位二进制值发送乙机以十进制显示2位数码管】2024-6-14
c++·经验分享·笔记·算法·51单片机
KobeSacre26 分钟前
划分为k个相等的子集
算法·leetcode·深度优先
不会就选b28 分钟前
算法日常・每日刷题--<二分查找>2
算法