视觉SLAM十四讲 第2讲 初识SLAM

1、相机速度

普通相机能以30张图片每秒钟的速度采集图像,高速相机更快。

2、单目相机的尺度不确定性

首先,单目相机能够得到单张的相片,但是我们从单张之中是无法得到其 深 度 距 离 \color{red}{深度距离} 的;
因此,我们对单目相机进行了移动,造成双目相机的效果,在图像运用上出现了视差,此时,可以得到其距离信息;
但,该值仍旧是一个 相 对 值 \color{red}{相对值} ,原因是:如果把相机的运动和场景大小同时放大两倍,其在相机中的图像是一样的, 真 实 尺 度 ( 实 际 物 体 的 大 小 ) \color{red}{真实尺度(实际物体的大小)} 缺失了。

书中的一句话:平移之后才能确定深度,以及无法确定真实尺度。
我的理解是:通过平移得到类似双目相机的效果,由于视差的出现可以得到深度,但此时的深度是具有不确定性的,因为尺度未知。所谓的确定深度指的是能够通过数学计算获取深度信息。

单目尺度不确定

3、双目测距原理

双目相机其实是通过两个单目相机组成,但 相 机 间 的 距 离 ( 基 线 ) \color{red}{相机间的距离(基线)} 线已知,基线越大,能够测量的深度范围越远.

缺点:
计算量大,配置与标定复杂,视差的计算消耗资源 ( ? ? ? 不 是 已 知 吗 ) \color{red}{(???不是已知吗)} ,需要GPU和FPGA加速。
大多数立体匹配算法计算出来的视差都是一些离散的特定整数值,可满足一般应用的精度要求。
但 在 一 些 精 度 要 求 比 较 高 的 场 合 , 如 精 确 的 三 维 重 构 中 , 就 需 要 在 初 始 视 差 获 取 后 采 用 一 些 措 施 对 视 差 进 行 细 化 , 如 匹 配 代 价 的 曲 线 拟 合 、 图 像 滤 波 、 图 像 分 割 等 。 \color{red}{但在一些精度要求比较高的场合,如精确的三维重构中,就需要在初始视差获取后采用一些措施对视差进行细化,如匹配代价的曲线拟合、图像滤波、图像分割等。} 线

4、深度相机测距原理(RGBD相机)

红外结构光测量
time-of-flight飞行时间测量法
k i n e c t , x t i o n . p r o . l i v e , r e a l s e n s e \color{red}{kinect , xtion.pro.live , realsense} kinect,xtion.pro.live,realsense

5、为什么单目通过移动还不知道真实深度,而双目可以?

这是由于双目中的视差是已知的,因此能得到尺度信息,
但是单目相机中两张图的距离是未知的。我们无法说两张图片之间的位置信息。(顶多也是大概,且需人为测量,每次)

6、SLAM 框架

SLAM框架

传感器数据:在这里主要是视觉,相机图像的读取和预处理。机器人中码盘和惯性传感器
VO视觉里程计:估算相邻图像帧间的相机运动,以及局部地图的样子。存在误差
后端优化:接收前端信息以及回环检测的信息,优化后得到全局一致的轨迹和地图。
回环检测:
建图:建立与任务对应的地图。

7、 SLAM数学描述

运 动 方 程 \color{red}{运动方程} :运动方程
其中, x k x_k xk表示的是k时刻的位置, u k u_k uk表示的是 运 动 传 感 器 \color{red}{运动传感器} 输入, w k w_k wk表示的是噪声。
观 测 方 程 \color{red}{观测方程} :在这里插入图片描述
其中, y j y_j yj表示的是在某位置看到的路标, z k z_k zk , _, , j _j j表示的是观测数据,v表示观测噪声。
当 观 测 到 多 个 路 标 时 , 可 产 生 多 个 观 测 方 程 。 \color{red}{当观测到多个路标时,可产生多个观测方程。}

例 子 一 : \color{red}{例子一:}
例子

8、编程基础

(1)当前目录下,在功能包下cmake,在通过make命令编译
在这里插入图片描述
(2) 使用build文件夹
在这里插入图片描述
(3)使用库
。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值