视觉SLAM十四讲学习笔记——第一二讲



前言

研0学生,放假宅家,本科期间对其感兴趣,故开始学习。
一个人学有点无聊,可以一起来学呀!参考书:高翔《slam十四讲》第二版
我会在我的笔记中,结合自己的理解复述内容,并对代码部分完成复现。有问题的可以留言或者私信噢!
开发环境:虚拟机Ubuntu22.04+Vscode。

第一讲 预备知识

SLAM:Simultaneous Localization and Mapping
中文名:同时定位与地图构建
基本定义:搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。
这里的传感器主要为相机,则为“视觉SLAM”

第1讲预备知识——已学完7.10
第2讲SLAM系统概述,介绍SLAM组成模块,各模块具体工作。编程环境搭建以及IDE使用——已学完7.10
第3讲三维刚体运动,主要了解旋转矩阵,欧拉角,四元数,练习使用Eigon——已学完7.11
第4讲:学习李群和李代数,定义及使用方式;练习使用Sophus操作
第5讲针孔相机模型,图像在计算机中的表达;用OpenCV调用相机内外参——已学完7.12
第6讲:非线性优化,包括状态估计理论基础,最小二乘问题,梯度下降法;使用Ceres和g2o进行曲线拟合实验
第7讲:基于特征点法视觉里程计,特征提取与匹配,对极几何约束的计算、PnP和ICP等。利用以上方法估计两个图像之间的运动。
第8讲:直接法视觉里程计,学习光流法和直接法原理,利用以上方法实现简单的直接法运动估计。
第9讲:后端优化,主要对Bundle Adjustment(BA)深入讨论,利用稀疏性加速求解过程,利用Ceres和g2o分别书写BA程序。
第10讲:后端优化中的位姿图,介绍SE(3),Sim(3)位姿图,使用g2o对一个位姿球进行优化
第11讲:回环检测,介绍以词袋模型为主的回环检测,使用DBoW3书写字典训练程序和回环检测程序
第12讲:地图构建,使用单目进行稠密深度图的估计,讨论RGB-D的稠密地图构建过程
第13讲:工程实践,搭建双目视觉里程计框架,综合运用之前的知识,利用Kitti数据集测试性能
第14讲:介绍当前开源SLAM方案以及未来的发展方向

第二讲 初识SLAM

SLAM回答了两个关键问题:

  1. 我在什么地方?——定位
  2. 周围环境怎么样?——建图

传感器 Sensors

安装于环境中的:二维码,GPS;

携带于机器人本体的
对比激光和相机两大类传感器,激光建图基本上已经研究清楚,视觉SLAM还没有稳定可靠运行;
摄像头优点:轻便、便宜、信息丰富;
缺点:遮挡、受光照影响、计算量大;
种类:单目,双目,深度相机(TOF:Time of flight/结构光)

经典视觉SLAM框架

经典视觉SLAM框架
传感器信息读取:在视觉SLAM中主要为相机图像信息的读取和预处理。如果是机器人中,还可能是码盘、惯性传感器等信息的读取和同步

前端视觉里程计(Visual Odometry,VO):视觉里程计的任务是估算相邻图像间相机的运动,以及局部地图的样子,又称为前端(Front End)

后端非线性优化(Optimization):后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对他们进行优化,得到全局一致的地图。由于在VO之后,又被称为后端(Back End)

回环检测(Loop Closure Detection):回环检测机器人是否到达过先前的位置,如果检测到回环,它会把信息提供给后端进行处理。

建图(mapping):它根据估计的轨迹,建立与任务要求对应的地图

SLAM问题的数学表述

关于SLAM的数学描述,主要有两个方程,分别为位置方程和观测方程:

x k = f ( x k − 1 , u k , w k ) z k , j = h ( y j , x k , v k , j ) x_{k} =f(x_{k-1},u_{k},w_{k})\\ z_{k,j} =h(y_{j},x_{k},v_{k,j}) xk=f(xk1,uk,wk)zk,j=h(yj,xk,vk,j)
x k x_{k} xk表示机器人当前所处的位置, x k − 1 x_{k-1} xk1表示机器人 k − 1 k-1 k1时刻所处的位置, u k u_{k} uk是运动传感器的读数或者输入;
z k , j z_{k,j} zk,j表示机器人在 x k x_{k} xk位置上看到的某个路标点 y j y_{j} yj时产生的观测数据;
另外,无论是位置方程还是观测方程均要引入噪声,也就是式子中的 w k w_{k} wk v k , j v_{k,j} vk,j,也因此需要在后端进行优化,或者说状态估计,来找到一个最有可能的位姿图。
直观理解

总结

这两张的知识并不难理解,对slam有一个宏观的认识,后面的基础知识才是重点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值