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