视觉slam介绍课件_第1页
视觉slam介绍课件_第2页
视觉slam介绍课件_第3页
视觉slam介绍课件_第4页
视觉slam介绍课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

视觉SLAM介绍

2021视觉SLAM概述相机与图像视觉里程计后端优化回环检测地图构建提要2021第一讲视觉slam概述Chapter1:Introduction2021第一讲视觉slam概述Question机器人自主运动两大基本问题我在什么地方?——定位周围长什么样子?——建图机器人的“内外兼修”:定位侧重对自身的了解,建图侧重对外在的了解准确的定位需要精确的地图精确的地图来自准确的定位2021第一讲视觉slam概述HowtodoSLAM?——Sensors两类传感器安装于环境中的:二维码MarkerGPS导轨、磁条携带于机器人本体上的IMU激光相机2021第一讲视觉slam概述相机以一定速率采集图像,形成视频分类单目Monocular双目Stereo深度RGBD其他鱼眼

全景EventCamera,etc.2021第一讲视觉slam概述相机的本质以二维投影形式记录了三维世界的信息此过程丢掉了一个维度:距离各类相机主要区别:有没有深度信息单目:没有深度,必须通过移动相机产生深度MovingViewStereo双目:通过视差计算深度StereoRGBD:通过物理方法测量深度2021第一讲视觉slam概述仅有一个图像时:可能是很近但很小的物体可能是很远但很大的物体它们成像相同必须在移动相机后才能得知相机的运动和场景的结构2021第一讲视觉slam概述当相机运动起来时场景和成像有几何关系近处物体的像运动快远处物体的像运动慢可以推断距离2021第一讲视觉slam概述双目相机:左右眼的微小差异判断远近同样,远处物体变化小,近处物体变化大——推算距离计算量非常大2021第一讲视觉slam概述深度相机物理手段测量深度结构光ToF主动测量,功耗大深度值较准确量程较小,易受干扰2021第一讲视觉slam概述

视觉SLAM框架前端:VO后端:Optimization回环检测Loop

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

相机模型小孔成像模型原始形式翻转到前面整理之:2021第二讲

相机模型成像平面到像素坐标代入得2021第二讲

相机模型矩阵形式展开形式左侧是齐次坐标右侧是非齐次坐标中间矩阵称为内参数内参通常在相机生产之后就已固定传统习惯2021第二讲

相机模型除内参外,相机坐标系与世界坐标系还相差一个变换:这里R,t或T称为外参外参是SLAM估计的目标先把P从世界坐标变到相机坐标系下2021第二讲

相机模型RGB-D相机:物理手段测量深度ToF或结构光两种主要原理通常能得到与RGB图对应的深度图2021第二讲

图像相机成像后,生成了图像图像在计算机中以矩阵形式存储(二维数组)需要对感光度量化成数值,例如0~255之间的整数(彩色图像还有通道)2021实践点云拼接2021第三讲视觉里程计Chapter3:VisualOdometry20213.1

特征点法经典SLAM模型中以位姿——路标(Landmark)来描述SLAM过程路标是三维空间中固定不变的点,能够在特定位姿下观测到数量充足,以实现良好的定位较好的区分性,以实现数据关联在视觉SLAM中,可利用图像特征点作为SLAM中的路标20213.1

特征点法特征点:图像当中具有代表性的部分可重复性可区别性高效本地特征点的信息位置、大小、方向、评分等——关键点特征点周围的图像信息——描述子(Descriptor)主流方法:SIFT/SURF/ORB (OpenCVfeatures2d模块)特征描述应该在光照、视角发生少量变化时仍能保持一致20213.1.1ORB特征例子:ORB特征关键点:OrientedFAST描述:BRIEFFAST连续N个点的灰度有明显差异OrientedFAST 在FAST基础上计算旋转BRIEFBRIEF-128:在特征点附近的128次像素比较20213.1.1ORB特征特征匹配通过描述子的差异判断哪些特征为同一个点暴力匹配:比较图1中每个特征和图2特征的距离加速:快速最近邻(FLANN)2021实践:特征提取和匹配20213.2

对极几何特征匹配之后,得到了特征点之间的对应关系如果只有两个单目图像,得到2D-2D间的关系 ——对极几何如果匹配的是帧和地图,得到3D-2D间的关系 ——PnP如果匹配的是RGB-D图,得到3D-3D间的关系 ——ICP20213.2

对极几何几何关系:P在两个图像的投影为两个相机之间的变换为

在第二个图像上投影为记,称为极线,反之亦然

称为极点实践当中:

通过特征匹配得到,P未知,未知

待求(本质矩阵、单应矩阵)

20213.3

三角化已知运动时,求解特征点的3D位置几何关系:求时,两侧乘

反之亦然或者同时解求的最小二乘解

20213.4pnp已经3D点的空间位置和相机上的投影点,求相机的旋转和平移(外参)代数的解法/优化的解法代数的DLTP3PEPnP/UPnP/…优化的:Bundle

Adjustment20213.4pnpDLT(直接线性变换)设空间点投影点为:投影关系:展开:将它看成一个关于t的线性方程,求解t

归一化坐标注意最下一行为用它消掉前两行中的s,则一个特征点提供两个方程:为求解12个未知数,需要12/2=6对点。(超定时求最小二乘解)

20213.5光流20213.5光流一般分为稀疏光流和稠密光流稀疏以Lucas-Kanade(LK)光流为代表稠密以Horn–Schunck(HS)光流为代表本质上是估计像素在不同时刻图像中的运动20213.5光流设t时刻位于x,y处像素点的灰度值为在t+dt时刻,该像素运动到了希望计算运动dx,

dy灰度不变假设:注意:灰度不变是一种理想的假设,实际当中由于高光/阴影/材质/曝光等不同,很可能不成立。20213.5光流对t+dt时刻的灰度进行Taylor展开并保留一阶项:由于灰度不变,所以希望求解dx/dt,

dy/dt因此=>x方向梯度y方向梯度随时间变化20213.5光流但本式是一个二元一次线性方程,欠定需要引用额外的约束假定一个窗口()内光度不变:通过超定最小二乘解求得运动u,v20213.5光流

最后,我们可以通过光流跟踪的特征的,用PnP、ICP或对极几何来估计相机运动。总而言之,光流法可以加速基于特征点的视觉里程计算法,避免计算和匹配描述子的过程,但要求相机运动较慢(或采集频率较高)。2021实践光流

可以发现,光流法在跟踪过程中一部分特征点会丢失,在第一帧时有1749个特征点,而在第10帧时大约还有1640个特征点,相机的视角在发生改变,所以我们使用光流法时要注意特征点的重新采集。2021第四讲后端Chapter4:Backend

20214.1BA与图优化20214.1

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

20214.1

BA与图优化BA问题与图结构的关系BA虽是个纯优化问题,但亦可以用图模型表述出来顶点为优化变量,边为运动/观测约束本身还有一些特殊的结构考虑在位姿i处对路标j的一次观测zij:特点:每个观测只关系两个变量,其中一个是相机,一个是路标纯视觉Ba中,不存在相机与相机/路标与路标之间的关联整个误差函数由许多个这样小的项组成20214.1

BA与图优化该方程组分为两步来求:求解上半部分,规模较小,得到将结果代入下半部分,得到这个做法称为Marginalization或Schur消元从消元角度来讲,亦可使用Cholesky等其他消元方式解此稀疏方程从Marginalization角度来讲,是我们把所有的路标信息边缘化到了相机的信息中2021g2o下的BA优化2021第五讲回环检测Chapter5:Loopdetection20215.1回环检测为消除累计误差,获得全局一致的地图和轨迹,仅仅通过帧间数据匹配估计运动位姿是远远不够的,需要在全局数据中进行处理才能得到更好的结果。在这个过程中,回环检测就发挥了非常重要的作用。回环检测可以有效修正运动轨迹,将累计误差消除。回环检测本质上是图像相似度计算的问题,一般使用BOW字典对图片进行描述,通过检验图片中单词的数量形成直方图,通过检验直方图之间的关系确定图像之间的相似程度。一般使用词袋模型判断回环检测需要进行词典的建立以及后续对图像相似性的处理。

20215.2

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

词袋模型我们从人脸、自行车和吉他三个目标类图像中提取出的不同视觉词汇,而构造的词汇表中,会把词义相近的视觉词汇合并为同一类,经过合并,词汇表中只包含了四个视觉单词,分别按索引值标记为1,2,3,4。通过观察可以看到,它们分别属于自行车、人脸、吉他、人脸类。统计这些词汇在不同目标类中出现的次数可以得到每幅图像的直方图表示:人脸:[3,30,3,20]自行车:[20,3,3,2]吉他:[8,12,32,7]

其实这个过程非常简单,就是针对人脸、自行车和吉他这三个文档,抽取出相似的部分(或者词义相近的视觉词汇合并为同一类),构造一个词典,词典中包含4个视觉单词,即Dictionary={1:”自行车”,2.“人脸”,3.“吉他”,4.“人脸类”},最终人脸、自行车和吉他这三个文档皆可以用一个4维向量表示,最后根据三个文档相应部分出现的次数画成了上面对应的直方图。一般情况下,K的取值在几百到上千,在这里取K=4仅仅是为了方便说明。2021第六讲建图Chapter5:Mapping2021第六讲建图建图(Mapping)是slam的两大目标之一。上述讨论的都是定位,讨论了特征值点的定位,直接法的定位,以及后端优化。在经典的slam模型中,所谓的地图,即所有路标点的集合。一旦确定了路标点的位置,可以说明完成了建图。但建图的需求不同,SLAM作为一种底层技术,往往是用来为上层应用提供信息。例如扫地机器人需要完成扫地工作,希望计算一条能够覆盖整张地图的路径。或者,如果上层是一个增强现实设备,那么开发者可能将虚拟物体叠加在现实物体之中。在视觉slam看来,“建图”是服务与“定位”的;但在应用层看来,“建图”明显还带来许多其他需求。2021第六讲建图定位:定位是基本功能不用多说。视觉里程计讨论如何利用局部地图来实现定位。在回环检测部分,只要有全局的描述子信息,就能通过回环检测确定机器人的位置。导航:在地图中进行路径规划,在任意两个地图间寻找路径,然后控制自己运动到目标点的过程。该过程中至少知道地图中哪些地方不可通过,而哪些地方是可以通过。这属于稀疏特征点地图的能力范围,至少得是一种稠密的地图。避障:避障也是机器人经常碰到的一个问题,不过它更注重局部的,动态的导航物的处理。同样,仅有特征点,无法判断某个特征

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论