收藏 分享(赏)

视觉slam介绍.ppt

上传人:tangtianxu1 文档编号:3498470 上传时间:2018-11-06 格式:PPT 页数:58 大小:10.22MB
下载 相关 举报
视觉slam介绍.ppt_第1页
第1页 / 共58页
视觉slam介绍.ppt_第2页
第2页 / 共58页
视觉slam介绍.ppt_第3页
第3页 / 共58页
视觉slam介绍.ppt_第4页
第4页 / 共58页
视觉slam介绍.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、视觉SLAM介绍,视觉SLAM概述 相机与图像 视觉里程计 后端优化 回环检测 地图构建,提要,第一讲 视觉slam概述,Chapter 1: Introduction,第一讲 视觉slam概述,Question 机器人自主运动两大基本问题 我在什么地方?定位 周围长什么样子?建图 机器人的“内外兼修”:定位侧重对自身的了解,建图侧重对外在的了解准确的定位需要精确的地图 精确的地图来自准确的定位,第一讲 视觉slam概述,How to do SLAM?Sensors,两类传感器 安装于环境中的: 二维码 Marker GPS 导轨、磁条 携带于机器人本体上的 IMU 激光 相机,第一讲 视觉s

2、lam概述,相机 以一定速率采集图像,形成视频 分类 单目 Monocular 双目 Stereo 深度 RGBD 其他 鱼眼 全景 Event Camera, etc.,第一讲 视觉slam概述,相机的本质 以二维投影形式记录了三维世界的信息 此过程丢掉了一个维度:距离各类相机主要区别:有没有深度信息 单目:没有深度,必须通过移动相机产生深度 Moving View Stereo 双目:通过视差计算深度 Stereo RGBD:通过物理方法测量深度,第一讲 视觉slam概述,仅有一个图像时:可能是很近但很小的物体 可能是很远但很大的物体它们成像相同必须在移动相机后才能得知相机的运动和场景的结

3、构,第一讲 视觉slam概述,当相机运动起来时 场景和成像有几何关系 近处物体的像运动快 远处物体的像运动慢 可以推断距离,第一讲 视觉slam概述,双目相机:左右眼的微小差异判断远近 同样,远处物体变化小,近处物体变化大推算距离 计算量非常大,第一讲 视觉slam概述,深度相机 物理手段测量深度 结构光 ToF 主动测量,功耗大 深度值较准确 量程较小,易受干扰,第一讲 视觉slam概述,视觉SLAM框架 前端:VO 后端:Optimization 回环检测 Loop Closing 建图 Mapping,第一讲 视觉slam概述,视觉里程计 Visual Odometry 相邻图像估计相机

4、运动 基本形式:通过两张图像计算运动和结构 不可避免地有漂移 方法 特征点法 直接法,第一讲 视觉slam概述,后端优化 从带有噪声的数据中优化轨迹和地图 状态估计问题 最大后验概率估计 MAP 前期以EKF为代表,现在以图优化为代表,第一讲 视觉slam概述,回环检测 检测机器人是否回到早先位置 识别到达过的场景 计算图像间的相似性 方法:词袋模型,第一讲 视觉slam概述,建图 用于导航、规划、通讯、可视化、交互等 度量地图 vs 拓扑地图 稀疏地图 vs 稠密地图,第二讲 相机与图像,Chapter 2: Cameras and Images,第二讲 相机模型,小孔成像模型,原始形式,翻

5、转到前面,整理之:,第二讲 相机模型,成像平面到像素坐标,代入,得,第二讲 相机模型,矩阵形式,展开形式,左侧是齐次坐标,右侧是非齐次坐标,中间矩阵称为内参数,内参通常在相机生产之后就已固定,传统习惯,第二讲 相机模型,除内参外,相机坐标系与世界坐标系还相差一个变换:这里 R, t 或 T 称为外参 外参是SLAM估计的目标,先把P从世界坐标变到 相机坐标系下,第二讲 相机模型,RGB-D相机:物理手段测量深度 ToF或结构光两种主要原理 通常能得到与RGB图对应的深度图,第二讲 图像,相机成像后,生成了图像 图像在计算机中以矩阵形式存储(二维数组) 需要对感光度量化成数值,例如0255之间的

6、整数(彩色图像还有通道),实践 点云拼接,第三讲 视觉里程计,Chapter 3: Visual Odometry,3.1 特征点法,经典SLAM模型中以位姿路标(Landmark)来描述SLAM过程 路标是三维空间中固定不变的点,能够在特定位姿下观测到 数量充足,以实现良好的定位 较好的区分性,以实现数据关联 在视觉SLAM中,可利用图像特征点作为SLAM中的路标,3.1 特征点法,特征点:图像当中具有代表性的部分 可重复性 可区别性 高效 本地 特征点的信息 位置、大小、方向、评分等关键点 特征点周围的图像信息描述子(Descriptor) 主流方法:SIFT/SURF/ORB (Open

7、CV features2d模块),特征描述应该在光照、视角发生少量变化时 仍能保持一致,3.1.1 ORB特征,例子:ORB特征 关键点:Oriented FAST 描述:BRIEF FAST 连续N个点的灰度有明显差异 Oriented FAST 在FAST基础上计算旋转 BRIEF BRIEF-128:在特征点附近的128次像素比较,3.1.1 ORB特征,特征匹配 通过描述子的差异判断哪些特征为同一个点 暴力匹配:比较图1中每个特征和图2特征的距离 加速:快速最近邻(FLANN),实践:特征提取和匹配,3.2 对极几何,特征匹配之后,得到了特征点之间的对应关系 如果只有两个单目图像,得到

8、2D-2D间的关系 对极几何 如果匹配的是帧和地图,得到3D-2D间的关系 PnP 如果匹配的是RGB-D图,得到3D-3D间的关系 ICP,3.2 对极几何,几何关系: P在两个图像的投影为 两个相机之间的变换为在第二个图像上投影为 记 ,称为极线,反之亦然称为极点 实践当中:通过特征匹配得到,P未知, 未知待求(本质矩阵、单应矩阵), 1 , 2, 12, 1 , 2 2, 2, 1 , 2, 1 , 2, 1 , 2, 12,3.3 三角化,已知运动时,求解特征点的3D位置 几何关系: 求 时,两侧乘 反之亦然 或者同时解 求 的最小二乘解, 2, 1 , 1 , 2, 2 , 1 1

9、2 =,= 1 ,3.4 pnp,已经3D点的空间位置和相机上的投影点,求相机的旋转和平移(外参) 代数的解法/优化的解法 代数的 DLT P3P EPnP/UPnP/ 优化的:Bundle Adjustment,3.4 pnp,DLT(直接线性变换) 设空间点 投影点为: 投影关系: 展开:将它看成一个关于t的线性方程,求解t,= ,1 ,= ,1,= | ,归一化坐标,注意最下一行为用它消掉前两行中的s,则一个特征点提供两个方程:为求解12个未知数,需要12/2=6对点。(超定时求最小二乘解),= 9 , 10 , 11 , 12 ,1 ,3.5 光流,3.5 光流,一般分为稀疏光流和稠密

10、光流 稀疏以Lucas-Kanade(LK)光流为代表 稠密以HornSchunck(HS)光流为代表 本质上是估计像素在不同时刻图像中的运动,3.5 光流,设 t 时刻位于 x,y 处像素点的灰度值为 在 t+dt 时刻,该像素运动到了 希望计算运动 dx, dy灰度不变假设: 注意:灰度不变是一种理想的假设,实际当中由于高光/阴影/材质/曝光等不同,很可能不成立。,3.5 光流,对 t+dt 时刻的灰度进行Taylor展开并保留一阶项:由于灰度不变,所以希望求解dx/dt, dy/dt,因此 =,x方向梯度,y方向梯度,随时间变化,3.5 光流,但本式是一个二元一次线性方程,欠定 需要引用

11、额外的约束 假定一个窗口( )内光度不变:通过超定最小二乘解求得运动 u,v,3.5 光流,最后,我们可以通过光流跟踪的特征的,用PnP、ICP或对极几何来估计相机运动。总而言之,光流法可以加速基于特征点的视觉里程计算法,避免计算和匹配描述子的过程,但要求相机运动较慢(或采集频率较高)。,实践 光流,可以发现,光流法在跟踪过程中一部分特征点会丢失,在第一帧时有1749个特征点,而在第10帧时大约还有1640个特征点,相机的视角在发生改变,所以我们使用光流法时要注意特征点的重新采集。,第四讲 后端,Chapter 4: Backend,4.1 BA与图优化,4.1 BA与图优化,BA 算法起源于

12、上世纪 60 年代,开始应用于图片拼接方向,正是由于 BA 的出现才使得图片自动拼接称为可能。在视觉 SLAM 产生之后,BA 被广泛应用于视觉SLAM的位姿优化,其将相机位姿和特征点的空间位置进行同时优化,获得优化后的结果。BA 本身也是一个非线性最小二乘问题。对于视觉 SLAM 来说 BA 问题可以简单的描述成在不同的相机位姿下看到了相同的空间点,于是通过观测使得空间点和相机位姿之间产生了约束,并且由空间点在两幅图像上的重投影产生了联系。由重投影关系产生的误差即可建立最小二乘问题,求解该问题即可对相机位姿和空间点进行同时优化。,4.1 BA与图优化,BA问题与图结构的关系 BA虽是个纯优化

13、问题,但亦可以用图模型表述出来 顶点为优化变量,边为运动/观测约束 本身还有一些特殊的结构考虑在位姿 i 处对路标 j 的一次观测 zij:,特点: 每个观测只关系两个变量,其中一个是相机,一个是路标 纯视觉Ba中,不存在相机与相机/路标与路标之间的关联 整个误差函数由许多个这样小的项组成,4.1 BA与图优化,该方程组分为两步来求: 求解上半部分,规模较小,得到 将结果代入下半部分,得到 这个做法称为Marginalization或Schur消元 从消元角度来讲,亦可使用Cholesky等其他消元方式解此稀疏方程 从Marginalization角度来讲,是我们把所有的路标信息边缘化到了相机

14、的信息中,g2o下的BA优化,第五讲 回环检测,Chapter 5: Loop detection,5.1 回环检测,为消除累计误差,获得全局一致的地图和轨迹,仅仅通过帧间数据匹配估计运动位姿是远远不够的,需要在全局数据中进行处理才能得到更好的结果。在这个过程中,回环检测就发挥了非常重要的作用。回环检测可以有效修正运动轨迹,将累计误差消除。 回环检测本质上是图像相似度计算的问题,一般使用 BOW 字典对图片进行描述,通过检验图片中单词的数量形成直方图,通过检验直方图之间的关系确定图像之间的相似程度。一般使用词袋模型判断回环检测需要进行词典的建立以及后续对图像相似性的处理。,5.2 词袋模型,利

15、用K-Means算法构造单词表。用K-means对第二步中提取的N个SIFT特征进行聚类,K-Means算法是一种基于样本间相似性度量的间接聚类方法,此算法以K为参数,把N个对象分为K个簇,以使簇内具有较高的相似度,而簇间相似度较低。聚类中心有k个(在BOW模型中聚类中心我们称它们为视觉词),码本的长度也就为k,计算每一幅图像的每一个SIFT特征到这k个视觉词的距离,并将其映射到距离最近的视觉词中(即将该视觉词的对应词频+1)。完成这一步后,每一幅图像就变成了一个与视觉词序列相对应的词频矢量。,5.2 词袋模型,我们从人脸、自行车和吉他三个目标类图像中提取出的不同视觉词汇,而构造的词汇表中,会

16、把词义相近的视觉词汇合并为同一类,经过合并,词汇表中只包含了四个视觉单词,分别按索引值标记为1,2,3,4。通过观察可以看到,它们分别属于自行车、人脸、吉他、人脸类。统计这些词汇在不同目标类中出现的次数可以得到每幅图像的直方图表示:人脸: 3,30,3,20 自行车:20,3,3,2 吉他: 8,12,32,7,其实这个过程非常简单,就是针对人脸、自行车和吉他这三个文档,抽取出相似的部分(或者词义相近的视觉词汇合并为同一类),构造一个词典,词典中包含4个视觉单词,即Dictionary = 1:”自行车”, 2. “人脸”, 3. “吉他”, 4. “人脸类”,最终人脸、自行车和吉他这三个文档

17、皆可以用一个4维向量表示,最后根据三个文档相应部分出现的次数画成了上面对应的直方图。一般情况下,K的取值在几百到上千,在这里取K4仅仅是为了方便说明。,第六讲 建图,Chapter 5: Mapping,第六讲 建图,建图(Mapping)是slam的两大目标之一。上述讨论的都是定位,讨论了特征值点的定位,直接法的定位,以及后端优化。在经典的slam模型中,所谓的地图,即所有路标点的集合。一旦确定了路标点的位置,可以说明完成了建图。 但建图的需求不同,SLAM作为一种底层技术,往往是用来为上层应用提供信息。例如扫地机器人需要完成扫地工作,希望计算一条能够覆盖整张地图的路径。或者,如果上层是一个

18、增强现实设备,那么开发者可能将虚拟物体叠加在现实物体之中。在视觉slam看来,“建图”是服务与“定位”的; 但在应用层看来,“建图”明显还带来许多其他需求。,第六讲 建图,定位:定位是基本功能不用多说。视觉里程计讨论如何利用局部地图来实现定位。在回环检测部分,只要有全局的描述子信息,就能通过回环检测确定机器人的位置。 导航:在地图中进行路径规划,在任意两个地图间寻找路径,然后控制自己运动到目标点的过程。该过程中至少知道地图中哪些地方不可通过,而哪些地方是可以通过。这属于稀疏特征点地图的能力范围,至少得是一种稠密的地图。 避障:避障也是机器人经常碰到的一个问题,不过它更注重局部的,动态的导航物的

19、处理。同样,仅有特征点,无法判断某个特征点是否为障碍物,所以需要稠密地图。 重建:稠密地图,利用slam获得周围环境的重建效果,并把它展示给其他人看。例如:三维的视频通话或者网上购物等。也可以构建带纹理的平面,就像电子游戏中的三维场景那样。,6.1 RGB-D稠密建图,RGB-D相机完全通过传感器中硬件测量得到,无须消耗大量的计算资源来估计。而且,RGB-D的结构光或飞时原理,保证了深度数据对纹理的无关性。故RGB-D进行稠密建图是相对容易的。 稠密建图主流方式。其中最直观,最简单的方法。根据估算的相机位姿,将RGB-D数据转化为点云(Point CLoud),然后进行拼接,最后得到一个由离散

20、的点组成的点云地图(Point Cloud Map)。,6.2 单目稠密重建,单目相机主要使用极线搜索。沿着第一幅图像中的极线的某头走到另一头,逐个比较每个像素与p1的相似程度。类似直接法中的回环检测,然而单个像素的亮度没有区分性,那就比较像素块,在p1周围取一个大小为w*w的小块,然后极线上也取很多同样大小的小块进行比较,就可以一定程度上提高区分性。取名块匹配。 a. 目前计算小块与小块间的差异有 SAD(Sum of Absolute Difference)。取2个小块的差的绝对值之和. SSD(Sum of Squared Distance)。取2小块的差的平方和。 NCC(Normalized Cross Correlation)。归一化相关,计算的是两个小块的相关性。,实践 单目稠密重建,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报