文章目录
前言
本人刚接触SLAM大概两个星期,下面是本人的一些理解。仅供参考,若有错误,欢迎来扰!!!是关于十四讲的学习!!!
SLAM:Simultaneous Localization and Mapping 同时定位与地图构建
一、第一讲(准备)
数学:高等数学、线性代数(矩阵论)、概率论
编程:C++、Linux,了解语法和基本命令即可
英语:文献、文档阅读能力
环境:Ubuntu 16.04
不提供windows环境下的方案!
一、第二讲(综述)
名称 | 含义 |
---|---|
视觉里程计 | 估计邻近时刻的相机运动 (最简化:两个图像的相对运动) |
后端 | 从带有噪声的数据中估计最优轨迹与地图、最大后验概率估计、滤波器、图优化 |
回环检测 | 检测相机是否到达过之前位置、判断与之前位置的差异、计算图像间相似性、词袋模型 |
建图 | 导航、规划、通讯、交互、可视化、度量地图、拓扑地图、稀疏地图、稠密地图 |
位置是三维的,如何表述?——第三、四讲
观测模型如何表述?——第五讲
已知u,z时,如何推断x,y?——第六讲
二、第三讲(刚体运动)和第四讲(李群和李代数)
1.感性认识
2.相关公式
见《视觉SLAM十四讲》
三、第五讲(相机模型)
1.针孔相机模型
下图:针孔相机的原理图
从一个点的世界坐标到,相机的内部的像素坐标的转化如下:
成像平面到像素平面:就会原点的平移加缩放。
其中涉及到了一个归一化平面的知识如下:
2.畸变类型
畸变可以用归一化坐标的变换来描述!!!
径向畸变:
径向畸变的多项式描述:
切向畸变:
相机在组装的过程中由于 透镜和成像平面不是严格平行导致的。
切向畸变的多项式描述:
将他们放在一起保留各项系数(在实际更加实用):
3.双目相机模型
下图:双目相机模型相机的原理图
d称为视差(disparity),描述同一个点在左右目上成像的距离。
d最小为1个像素,因此双目能测量的z有最大值:fb。
虽然距离公式简单,但d不容易计算。
左右相机中心距离称为基线,左右像素的几何关系:
整理得:
四、第六讲(非线性优化)
1.贝叶斯公式
概率密度函数:
这个称为全概率公理!!
概率密度函数在某区间的积分即为概率:
如果x表达某种状态,也称为x在该区间下的可能性/似然(likehood):
条件概率:
联合概率:
联合概率也满足全概率公理:
贝叶斯公式:联合=条件*边缘
另一形式:
赋予该式物理意义:x=状态,y=传感器读数,p(y|x)=传感器模型,p(x|y)=状态估计,就叫贝叶斯公式。
2.高斯分布
一维高斯分布
多维高斯分布
高斯概率密度函数
联合高斯分布:
已知联合分布p(x,y)和p(y),求p(x|y)
这个过程中,均值作出了调整,方差变小了。
3.状态估计问题
可以由运动方程和观测方程组成。
最大后然估计MAP:
最大似然估计MLE:
1.最小二乘法的引出
根据观测方程可以推出:
列出其高斯分布的表达式,并且求对数就可以由最大问题转化为求最小的问题:
2.批量估计问题
定义误差:
进而引出最小二乘问题:
4.非线性最小二乘
当f(x)特别复杂的时候,我们应该怎么求 min(1/2)*||f(x)||^2的最小值,和最小值对应的x。可采用迭代的思想:
其中△xk是人为设置的,同时也要设定增量△xk的步长!!那么这个△xk取什么才算合适呢???!!!
可以有以下方式:
将分别介绍这几类方法
1.一阶和二阶梯度法
在x处泰勒展开:
J为雅克比矩阵,H为海塞矩阵。
1.一阶法(最速下降法)
只保留一阶项:
梯度的方向为函数增长的方向。取增量的反方向,就可以保证函数一直处于下降的情况即:
通常还需要计算步长!!!
2.二阶法(牛顿法)
保留二阶梯度:
对△x求导:
但是求H的过程过于复杂!!
2.高斯牛顿法(Gauss-Newton)
将目标函数降级为f(x)而不是F(x),对f(x)进行展开:
使||f(x+△x)||^2最小:
但是无法保证H可逆!!!
3.列文伯格-马夸尔特法(Levenberg-Marquadt)
L-M属于信赖区域方法(Trust Region),认为近似只在区域内可靠
1.LM相比于GN,能够保证增量方程的正定性
即,认为近似只在一定范围内成立,如果近似不好则缩小范围
2.从增量方程上来看,可以看成一阶和二阶的混合
参数λ控制着两边的权重
总结
以上是本人对高翔博士的《SLAM十四讲》第一部分数学基础部分的理解。如有错误,多多指出!!!
VISIO资源下载:
https://download.csdn.net/download/qq_42027654/19854975