Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Basics about Visual SLAM 视觉SLAM的基础知识

Similar presentations


Presentation on theme: "The Basics about Visual SLAM 视觉SLAM的基础知识"— Presentation transcript:

1 The Basics about Visual SLAM 视觉SLAM的基础知识
高 翔(半闲居士) 清华大学 自动化系 ROS暑期学校

2 Robotics What people think What I am actually doing

3 提要 视觉SLAM概述 视觉里程计 后端优化 回环检测 地图构建 小结

4 视觉SLAM概述

5 1. 视觉SLAM概述 SLAM: Simultaneous Localization and Mapping
应用:机器人、无人机、AR/VR、智能硬件……

6 1. 视觉SLAM概述 内在 外在 机器人的“内外兼修” 了解自身位置 了解周围环境 Where am I? Where am I?
精确的地图 精确的位姿 “定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人, 一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。 解决方式 同时建模二者误差并优化

7 1. 视觉SLAM概述 如何确定位置与地图?——传感器 为何强调内部传感器? 内部传感器(Interoceptive)
激光、视觉、IMU、轮子等 间接、受噪声影响大 外部传感器(Exteroceptive) GPS、导轨、标志物等 直接、受噪声影响小 为何强调内部传感器? 对环境不存在假设——适用于任何环境 “定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人, 一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。

8 1. 视觉SLAM概述 激光传感器 视觉传感器 精确 快速 计算量小 研究充分 体积大、功耗大 价格昂贵 便宜 轻量 信息丰富 计算量大
对环境假设强 易受干扰 细分:单目、双目、RGB-D 相机能够以一定速率拍摄周围的环境,形成一个连续的视频流。普通的摄像头能以每 秒钟30 张图片的速度采集图像,高速相机则更快。在SLAM 中,我们把相机分为单目 (Monocular)、双目(Stereo)和深度相机(RGB-D)三个大类,此外还有鱼眼、全景、 Event 相机等特殊或新兴的种类。

9 1. 视觉SLAM概述 视觉SLAM细分: 单目 双目 RGB-D 其他
“定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人, 一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。

10 单目 双目 RGB-D 1. 视觉SLAM概述 成本低 距离不受限 尺度不确定性 初始化问题 计算深度 配置复杂 计算量大 主动测深度
重建效果好 测量范围小 受日光干扰 受材质干扰 “定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人, 一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。

11 1. 视觉SLAM概述 视觉SLAM过程 “定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人,
一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。 视觉SLAM过程

12 1. 视觉SLAM概述 经典SLAM数学表述 机器人在环境中运动,产生一条轨迹: 环境中存在许多路标点: 机器人从 时刻运动到 时刻:
机器人从 时刻运动到 时刻: 在 时刻观察到了路标 ,产生观测 𝑘−1 𝑘 “定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人, 一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。 运动模型 输入 噪声 𝑘 𝑦 𝑗 𝑧 𝑘𝑗 观测模型 观测点 噪声

13 1. 视觉SLAM概述 SLAM数学模型: 视觉SLAM有何不同? 相机位姿是三维空间旋转和平移 ——李群与李代数
相机位姿是三维空间旋转和平移 ——李群与李代数 观测模型是空间点到像素的投影 ——相机模型 如何确定路标点和数据关联? ——视觉里程计(前端) 状态估计问题 滤波器或非线性优化 “定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人, 一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。

14 1. 视觉SLAM概述 视觉SLAM框架 “定位”和“建图”,可以看成感知的“内外之分”。作为一个内外兼修的机器人,
一方面要明白自身的状态(即位置),另一方面也要了解外在的环境(即建图)。当然, 解决这两个问题的方法非常之多。比方说,我们可以在房间地板上铺设导引线,在墙壁 上贴识别二维码,在桌子上放置无线电定位设备。如果在室外,还可以很大程度上依靠 GPS 信号(像汽车一样)。这些方式统称为“外部的”传感器(Exteroceptive),当然相 对的就有“内部的”传感器(Interoceptive)。外部传感设备能够测量机器人的位置信息, 从而简单有效地解决定位问题,但它们不放置在机器人本体上,而是放置在环境当中,限 制了机器人的使用范围。相对的,内部传感器(相机,轮式编码器,IMU 等)无法直接 测量机器人的位置信息,但它们对环境没有提出任何要求,因而可适用于未知环境。

15 1.视觉SLAM概述 SLAM is more like a concept than a single algorithm.* 视觉里程计
估算相机的帧间运动以及路标的位置 后端优化 接受不同时刻视觉里程计测量的相机位姿,计算最大后验概率估计 回环检测 判断机器人是否曾经到达过先前的位置 建图 根据相机轨迹和图像,建立与任务要求对应的地图 SLAM is more like a concept than a single algorithm.*

16 1.视觉SLAM概述 3D刚体运动 旋转矩阵/变换矩阵 角轴(旋转向量) 欧拉角 四元数 3*3和4*4矩阵 3*1向量
3*1向量,r-p-y角 直观 有奇异性 四元数 4*1向量,扩展的复数 完备,但不直观 𝑝 𝑤 = 𝑇 𝑤𝑐 𝑝 𝑐 = 𝑅 𝑤𝑐 𝑡 𝑤𝑐 0 𝑇 1 𝑝 𝑐 = 𝑅 𝑤𝑐 𝑝 𝑐 + 𝑡 𝑤𝑐

17 1.视觉SLAM概述 旋转/变换矩阵最为常用 SLAM中需要微调相机位姿——李代数 但只有乘法,没有加法,代数结构上不够好,只成群
旋转/变换矩阵没有加法,无法计算微分 SLAM中需要微调相机位姿——李代数

18 1.视觉SLAM概述 程序库:Eigen, Sophus, tf 相关资料
[1] State Estimation for Robotics: A Matrix-Lie-Group Approach [2] An invitation to 3D computer vision 程序库:Eigen, Sophus, tf

19 2. 视觉里程计

20 2. 视觉里程计 视觉里程计的目的 问题 根据图像,计算相机的帧间运动(ego-motion) *估计特征点(路标点)大致空间位置
Motion & Strcutre 问题 图像是怎么来的? 特征点是怎么来的? 如何根据特征点计算相机运动? 如何估计特征点位置?

21 2. 视觉里程计 图像是怎么来的? ——相机模型 相似关系:

22 2. 视觉里程计 空间点到成像平面: 从成像平面到像素坐标 齐次坐标形式:

23 2. 视觉里程计 图像是怎么来的? ——相机模型

24 2. 视觉里程计 图像是怎么来的? ——相机模型 视觉观测模型 空间点 相机坐标系下的点 成像平面下的点 像素坐标 𝑝= 1 𝑍 𝑝 𝑐
图像是怎么来的? ——相机模型 视觉观测模型 空间点 相机坐标系下的点 成像平面下的点 像素坐标 𝑝= 1 𝑍 𝑝 𝑐 𝑢 𝑣 1 =𝐾𝑝 𝑝 𝑤 𝑝 𝑐 =𝑅 𝑝 𝑤 +𝑡 𝑧= 𝑢 𝑣 = 1 𝑍 𝐷𝐾 𝑅 𝑝 𝑤 +𝑡 𝐷= 齐次坐标下: 𝑧=𝐷𝐾 𝑅𝑝+𝑡

25 2. 视觉里程计 视觉里程计基本问题 给定一组空间点在两个相机 上的投影 计算两个相机之间的运动 单目:只知道像素位置,没有深度
RGB-D、双目:深度已知 2D-2D:只根据两组像素位置,估计运动 ——对极几何 3D-2D:已知空间位置和投影位置,估计运动 ——PnP 3D-3D:已知两组空间位置,估计运动 ——ICP

26 2. 视觉里程计 2D-2D 对极几何 空间点P在两个相机中成像: 去掉标定矩阵: 整理: 两边叉乘 t: 两边左乘
𝑥 1 =𝐾𝑃 𝑥 2 =𝐾 𝑅𝑃+𝑡 𝑦 1 = 𝐾 −1 𝑥 1 , 𝑦 2 = 𝐾 −1 𝑥 2 𝑦 2 =𝑅 𝑦 1 +𝑡 对极约束: 𝑦 2 𝑇 𝑡 × 𝑅 𝑦 1 =0 几何意义: 𝑂 1 𝑃, 𝑂 2 𝑃,𝑡 三个向量共面 𝑡 × 𝑦 2 = 𝑡 × 𝑅 𝑦 1 + 𝑡 × 𝑡= 𝑡 × 𝑅 𝑦 1 𝑦 2 𝑇 𝑦 2 𝑇 ( 𝑡 × 𝑦 2 )= 𝑦 2 𝑇 𝑡 × 𝑅 𝑦 1 =0

27 2. 视觉里程计 对极约束: 获得E矩阵后,如何计算R,t? 一对点提供了一个对极约束 E有八个自由度(9个数,但乘任意常数等价)
单目相机存在尺度问题 最少提供八对点即可计算E ——八点法 多于八对点时:最小二乘估计 获得E矩阵后,如何计算R,t? SVD分解 由于 ,当t=0时,E为零,无法解出R 单目相机在纯旋转时无法估计运动 𝑦 2 𝑇 𝑡 × 𝑅 𝑦 1 =0 𝑡 × 𝑅≜𝐸 称为Essential矩阵 𝐸= 𝑡 × 𝑅

28 2. 视觉里程计 单目相机的尺度不确定性 对极约束常用于单目相机初始化,设定t=1以固定尺度
𝑦 2 𝑇 𝐸 𝑦 1 =0⇒ 𝑦 2 𝑇 (𝑘𝐸) 𝑦 1 =0 4m? 40m? 1.8 m?

29 2. 视觉里程计 通过优化估计相机运动:Bundle Adjustment 相机模型: 由于R,t不准确,上式不会精确成立,于是有误差:
𝑧= 𝑢 𝑣 = 1 𝑍 𝐷𝐾 𝑅 𝑝 𝑤 +𝑡 𝑒=𝑧− 1 𝑍 𝐷𝐾 𝑅 𝑝 𝑤 +𝑡 迭代策略 梯度下降 Newton法 Gauss-Newton法 Levenburg-Marquadt 𝑅,𝑡 ∗ =argmin 𝑖=1 𝑁 𝑒 𝑖 𝑇 𝑒 𝑖

30 2. 视觉里程计 Bundle Adjustment 问题:梯度如何计算? 优点 缺点 需要用李代数se(3)表达R,t,使用扰动模型
𝑅,𝑡 ∗ =argmin 𝑖=1 𝑁 𝑒 𝑖 𝑇 𝑒 𝑖 2. 视觉里程计 𝑒=𝑧− 1 𝑍 𝐷𝐾 𝑅 𝑝 𝑤 +𝑡 PnP: ICP: 𝑒=𝑞− 𝑅𝑝+𝑡 Bundle Adjustment 问题:梯度如何计算? 需要用李代数se(3)表达R,t,使用扰动模型 优点 通用性强,对于3D-2D, 3D-3D问题都可用BA优化;(只要有观 测模型即可建立误差项) 可以同时优化许多变量,包括相机位姿和特征点位置; 缺点 对初值敏感 对非凸问题,易落入局部极小

31 2. 视觉里程计 剩下的问题 特征点怎么来?——特征点提取算 法(SIFT、ORB等)
特征提取算法会计算图像中的关键 点(Key-Point),以及每个关键点 对应的描述子(Descriptor) 关键点代表图像信息集中的部分 描述子能够区别每个关键点——可 以用于匹配

32 2. 视觉里程计 基于特征点的视觉里程计 步骤: 对图像提取特征点和描述子 匹配当前图像与先前图像
通过最小化重投影误差,计算相机运动:PnP, ICP 但是: 特征提取很耗时 特征提取并不一定成功,匹配也并不一定找的到 可能存在误匹配 视觉里程计主流算法

33 2. 视觉里程计 直接法 灰度不变假设 最小化灰度差(Photometric Error)
可以考虑所有的像素(但只有梯度明显的 像素对优化有贡献) 可以计算稀疏、半稠密乃至稠密的结构 省去特征提取的时间 𝑒= 𝐼 1 𝑝 1 − 𝐼 2 𝑝 2 = 𝐼 1 𝑝 1 − 𝐼 𝑍 𝐾 𝑅𝑃+𝑡 例子:稀疏直接——SVO 半稠密直接——LSD 稠密直接——DVO

34 2. 视觉里程计 Feature-based Methods Direct methods
Select representative points (or lines, planes) and discard the others. Estimation the motion from the key-points. Track the key-points using descriptors. Sparse Robust to outliers Estimate the motion directly from pixels. Use all information from images. Sparse is fast, but dense is slow Difficult to remove the outliers Needs good initialization

35 2. 视觉里程计 计算特征点位置(Motion & Structure) 三角化 理论上,P应该在 延长线交点处
但受噪声影响,这两条线一般不相交 根据左图: 两边分别乘 和 : 可解出 𝑂 1 𝑥 1 , 𝑂 2 𝑥 2 𝑃= 𝑘 1 𝑥 1 = 𝑘 2 𝑅 𝑥 2 +𝑡 𝑥 1 𝑇 𝑥 2 𝑇 𝑥 1 𝑇 𝑥 1 𝑘 1 −( 𝑥 1 𝑇 𝑅 𝑥 2 ) 𝑘 2 = 𝑥 1 𝑇 𝑡 𝑥 2 𝑇 𝑥 1 𝑘 1 − 𝑥 2 𝑇 𝑅 𝑥 2 𝑘 2 = 𝑥 2 𝑇 𝑡 𝑘 1 , 𝑘 2 𝑃 ∗ = 𝑘 1 𝑥 1 + 𝑘 2 𝑅 𝑥 2 +𝑡 但是,三角化之后的特征点深度是带有误差的。我们可以进一步使用后续图像来估计像素深度,引出Depth Filter。

36 2. 视觉里程计 视觉里程计小结 在视觉里程计中,我们: 但是它们会: 提取、匹配了特征点 根据配对的特征点计算相机运动
估计特征点的空间位置 但是它们会: 带有噪声 随着误差累计,发生飘移 丢失(相机被遮挡或运动过快) Solutions Global optimization Loop closure Re-localization

37 3. 后端优化

38 3. 后端优化 回顾SLAM数学模型 Motion: Observation: Observation:
视觉里程计:提取了关键帧、特征点,并提供了初值 后端:处理观测和运动模型之间的误差,计算最大后验概率估计 Motion: Observation: Observation: 𝑧= 𝑢 𝑣 = 1 𝑍 𝐷𝐾 𝑅 𝑝 𝑤 +𝑡 𝑥 ∗ =arg max 𝑥 𝑝 𝑥|𝑧 =arg max 𝑝 𝑧|𝑥 𝑝 𝑥

39 3. 后端优化 后端存在两种主流方法 历史上,EKF曾占据很长一段时间的主流 EKF思路 EKF存在的问题
基于滤波器:Kalman Filter, EKF, PF, RBPF, UKF 基于非线性优化:图优化、因子图 历史上,EKF曾占据很长一段时间的主流 EKF思路 在工作点线性化,将系统线性化,并用高斯分布 近似其噪声 按照卡尔曼滤波进行预测——更新步骤 EKF存在的问题 即使是高斯分布,经过非线性变换后也不是高斯 分布,近似有时是没道理的。 线性化过程中丢弃了高阶项,且工作点不是输入 状态真实的均值,而是一个估计的均值。 需要更新状态的协方差矩阵,复杂度为 从状态估计角度来说,SLAM是一个非线性非高斯系统 𝑂 𝑛 2

40 3. 后端优化 全局优化 转化成优化问题 与滤波器的差异 考虑所有时间的Pose和Point 局部线性化并迭代求解
𝑒 𝑘,𝑣 = 𝑥 𝑘 −𝑓 𝑥 𝑘 , 𝑢 𝑘 ∼𝑁 0, 𝛴 𝑘,𝑣 𝑒 𝑘𝑗,𝑜 = 𝑧 𝑘,𝑗 −ℎ 𝑦 𝑗 , 𝑥 𝑘 ∼𝑁 0, 𝛴 𝑘𝑗,𝑜

41 3. 后端优化 工具:g2o, gtsam等 图优化 稀疏性 优化变量——节点 误差项——边 问题可以用一个图来描述 给定初值后,迭代更新
认识到SLAM中图优化的稀疏性是21 世纪SLAM研究的重要进展 图优化中的位姿节点和路标节点可 以先后优化,大幅提高优化效率 详细地稀疏性需要介绍稀疏Schur和 Cholesky分解 工具:g2o, gtsam等 G={V,E}

42 3. 后端优化 The loop constraints can help to correct the drift.

43 3. 后端优化 图优化中的问题 加入了错误的边怎么办? 图的规模随着SLAM过程增长 大规模图优化很耗时 使用鲁棒核函数 剪枝、合并
控制优化逻辑

44 4. 回环检测

45 4. 回环检测 回环检测 识别到达过的地点. 视觉里程计仅用相邻帧图像估计运动,存在累积误差 回环检测通过发现到达过的地方,消除累积误差
从而保证了轨迹与地图的全局一致性(Globally Consistent)

46 Looks different but the same
4. 回环检测 视觉SLAM的回环检测 计算图像的相似性 图像信息丰富,因此视觉SLAM在回环检测中具有优势 YES Looks same but not Looks different but the same False Positive False Negative

47 4. 回环检测 如何计算两个图像的相似性? 主流方法: Bag-of-Words A-B?
From many images: nose, eyes, hairs, … Dictionary Face = 1 nose + 2 eyes + 1 hairs + … Features -> Words

48 Compute Similarity and
4. 回环检测 BoW回环检测 如何评价一个回环检测算法? Precision-recall curve. Approaches from ML: Auto-encoders, CNNs. Clustering A large image set Features: SIFT, ORB Dictionary Words A= 2 car + 1 people Image A Words A= 1 car + 1 cat Image B Compute Similarity and Raise loop hypothesis

49 5. 建图

50 5. 建图 “定位”与“建图”是SLAM两个主要目标 但地图的形式却没有定位那么固定 依赖于“希望用SLAM来做什么”
Topological map Others Metric map

51 5. 建图 我们希望找到合适的方式描述环境 Metric Maps Topological Maps Accurate Navigation
Hard to extend Expensive in storage Examples: Grid map Occupancy map Raw point cloud map Topological Maps Flexible Low-cost Inaccurate Need local models to navigate

52 5. 建图 导航用地图: 精确 Occupancy maps: 描述某个空间点是否被占据
3D Occupancy map (Octomap) 2D Occupancy map (ROS)

53 5. 建图 用于重构的地图: 漂亮(Visually Pleasant) 点云
TSDF (Truncated signed distance function) Surfels

54 5. 建图 建图是目前视觉SLAM的明显不足 现有的视觉地图 与激光地图不同的是,视觉地图无法直接用于定位
稀疏特征点图(ORB-SLAM为例) 必须存储描述子后,才能用于定位 无法描述障碍物 如果环境光照发生变化(白天/晚上),是否要重新生成地 图? 半稠密地图(LSD-SLAM为例) 很难找到实际用处 稠密地图(RGB-D) 可以用于导航,但无法直接定位

55 5. 建图 对地图的需求 很遗憾,视觉SLAM尚未能产生满足以上条件的地图 对比:百度地图。 定位 交互 导航
从游戏/CAD角度来看,使用参数化模型将是很好的选择。 地图={地面+桌子+椅子} 地面:z=0.2平面 桌子:h=0.7*桌子模型 椅子:h=0.3*椅子模型 观看 理解 精确 紧凑 快速

56 5. 建图 人工智能 参数化模型地图? 需要结合人工智能领域知识,如模型识别、检测 定位算法亦将发生改变 现有的定位方法是以空间点为基础的
如何构建 参数化模型地图? 人工智能 定位 建图 SLAM 如何使用该地图 进行定位?

57 6. Conclusion

58 6. Conclusion In a typical SLAM system, we use Is that all about SLAM?
VO to estimate the ego-motion between frames Optimization to handle the global trajectory Loop closure to correct the draft Map to describe the environment Is that all about SLAM? We haven’t talked about coding yet.

59 Qualified open-source SLAM solutions
From slamcn.org

60 6. Conclusion For a student starting to work in SLAM, one should learn: Math: geometry, probabilistic, Optimization Coding skills: Linux C++ Libraries: ROS, OpenCV, PCL, g2o, DBoW2, libpointmatcher, octomap, Fabmap, ceres … Python Future issuses: Dynamic, Multi-robots, Semantic, Low-weight devices, Mobile platforms

61 Thank you for attention!


Download ppt "The Basics about Visual SLAM 视觉SLAM的基础知识"

Similar presentations


Ads by Google