内容总览:介绍多种相机和地图样式、SLAM框架、简单的运动与观测方程
单目相机
- 用2维反映3维,缺少深度
- 移动相机,才能估计物体运动和结构(结构就是物体远近和大小)
- 存在尺度不确定性,只能看到相对尺度,无法看到真实尺度
缺点:平移才知深度,真实尺度不可知
双目和深度相机
- 双目可通过Baseline(就像人的两眼的距离)测量深度
- 深度相机用激光接受返回光计算深度
SLAM框架
- 视觉里程计(Visual Odometry,VO,也叫前端):关心相邻图像的运动问题,通过相邻帧计算相机的运动,但是会产生误差和误差累积 用后端和回环来矫正
主要工作:图像特征提取和匹配
- 后端优化(Optimization):后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。
主要工作:处理噪声问题,从有噪声的数据中估计系统状态、以及这种估计错误的可能性 最大后验概率估计,滤波和非线性优化
- 回环检测(Loop Closing):利用图像间的相似性,消除漂移误差,判断是否回到了原点,将信息传给后端优化。
累计漂移(Accumulating Drift):最简单的VO只估计两个图像间的运动,而每次的估计都无法避免的会存在一些误差,前面的误差会传递到下一时刻,导致经过一段时间之后,估计的轨迹将不再准确。
- 建图:根据需求有不同的地图样式:
度量地图(Metric Map),拓扑地图(Topological Map)
数学表达
运动
方程
是输入,
是噪声,
是运动传感函数,
是自身位置
方程具体化
物体的位姿由两个位置和一个转角来描述:
传感器观测到两个时间间隔位置和转角的变化量:
所以具体化为:
观测
方程
是观测的噪声,
是路标,
是观测数据
物体在 位置看到路标 ,观测时受到了噪声 的影响,产生了观测数据
方程具体化
路标点与物体之间的距离是
,夹角是
路标点是
,观测数据为
所以方程为: