视觉slam14讲之相机与框架

本文介绍了视觉SLAM(Simultaneous Localization And Mapping)的基本概念,详细解释了单目、双目及深度相机的工作原理,以及经典视觉SLAM框架的组成部分:视觉里程计、后端优化、回环检测和建图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 视觉相机

     视觉slam使用的相机,以一定速率拍摄周围的环境,形成一个连续的视频流,用以采集数据。使用到的相机分为:单目相机(Monocular),双目相机(Stereo)和深度相机(RGB-D)三大类。前2个较容易,而RGB-D原理较复杂,除了能够采集到彩色图片,还能读出每个像素与相机之间的距离。这个在视觉slam才使用极多。
     单目相机:只使用一个摄像头进行slam。结构简单,成本特别低。
          原理:相机本质就是拍照,将场景在相机成像平面留下一个投影。以2维形式放映三维的世界。其中丢掉了一个维度-深度(就是距离)。人眼通过大量的图像,形成一种天生的直觉,能有较好的距离感。但对机器而言,这就有点强机所难了。要想将二维投影恢复成三维结构,必须改变相机的视角。在单目slam也使用该原理,移动相机才能估计它的运动(Motion),同时估计场景中物体的远近和大小,可以称之为结构(Structure)。怎么估计这些运动和结构呢?生活中我们就知道,相机往右移动,那么图像里的东西就往左边移动,运动解决了。另一方面,远处的物体移动快,近处物体移动慢。移动形成的视差,就可以判断那些物体离得远,哪些物体离得近了。这个仍是一个相对值,这说明单目slam估计的轨迹和地图将与真实的轨迹和地图相差一个因子,也就是所谓的尺度(Scale)。由于单目slam无法凭借图像确定这个真实尺度,所以又称为尺度不确定性。
      双目相机:出现克服单目相机无法知道距离的缺点。两个单目相机组成,正是通过这来估计每个像素的空间位置,类似人眼的左右眼图像的差异判断物体的远近。然而双目相机需要大量的计算(不太可靠)才能估计每个像素点的深度,相比于人类笨拙很多。缺点就比较明显了,配置和标定均较为复杂,其深度量程和精度受双目的基线与分辨率所限,基本需要GPU和FPGA设备加速,有限条件下,计算量是主要问题。
      深度相机(RGB-D相机):通过结构光或Time-of-Flignt(ToF)原理,类似激光传感器,红外传感器,超声波传感器。主动向物体发射光并接收返回的光,测量手段。目前常用的RGB-D相机包括Kinect/Kinect V2,Xtion Pro Live, RealSense等。不过还存在测量范围窄,噪音大,视野小,易受日光干扰,无法测量投射材质等诸多问题。

二. 经典的视觉slam框架

这里写图片描述
(以下粗略介绍)
    1. 视觉里程计(Visual Odometry):视觉里程计的任务是估算相邻图像间相机的运动,以及局部地图的样子。
VO通过相邻帧间的图像估计相机运动,并恢复场景的空间结构。它只计算相邻时刻的运动,而和之前的信息没有关联。但硬件计算肯定是有误差的,也就是说把相邻时刻的运动“串”起来,构成机器人的运动轨迹,来解决定位问题是错误的。误差不可避免的出现累积漂移( Accumulation Drift )。正因为这样,后端优化和回环检测 2项技术来了。

    2. 后端优化( Optimization ) : 后端接收不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。由于接在VO之后,又称为后端(Back End)。
笼统的说,后端优化主要指处理slam过程中噪音的问题。相反地,视觉里程计部分有时被称为“前端”。在Slam框架中,前端给后端提供待优化的数据,以及这些数据的初始值。而后端负责整体的优化过程,它往往只面对数据,不必关心这些数据到底来自哪些传感器。在视觉slam中,前端和计算机视觉研究领域最为相关,比如图像的特征提取与匹配等,后端则主要是滤波与非线性优化算法。slam问题的本质:对运动主体自身和周围环境空间不确定性的估计。

    3. 回环检测(Loop Closing):回环检测判断机器人是否达到过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。
主要解决位置估计随时间漂移的问题。需要经过一段时间的运动后回到原点,但由于漂移,它的位置估计值却没回到原点。这时需要某些特征值,判断图像间的相似性来完成回环检测。消除误差,得到全局一致的轨迹与地图。

    4. 建图(Mapping) : 它根据估计的轨迹,建立与任务要求对应的地图。
地图是对环境的描述,但这个描述并不是固定的,需要视slam的应用而定。
          a. 度量地图 ( Metric Map ) : 强调精确地表示地图中物体的位置关系,通常用稀疏(Sparse)与稠密(Dense)对其分类。稀疏地图进行一定程度的抽象,选择一部分具有代表意义的东西,称之为路标 (Landmark),主要用于定位。而稠密图着重看到的东西,适合各种导航算法A*, D*。
          b. 拓扑地图 ( Topological Map ) : 该地图更强调地图元素之间的关系,拓扑地图是一个图(Graph),由节点和边组成,只考虑节点间的连通性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值