阅读笔记。

为了能够在未知的环境中进行自主导航,机器人首先需要能够自动地建立环境地图以及获知自身的位姿信息。其次,最容易被忽略但却必需的是环境的稠密地图。如果机器人没有环境的全部信息,那么进行导航规划时机器人就不知道哪里是可以行走的道路,可能撞到障碍物或者掉坑里…… 

许多著名的vSLAM框架构建的地图都是稀疏的,如S-PTAM、ORB-SLAM2等。为了进行导航,需要构建环境的稠密地图。本文介绍了一些可行的方法,如使用三维重建(3D Reconstruction)生成图像帧的点云,然后进行深度融合;或者基于RGB-D相机,直接生成稠密地图等。

ORB-SLAM2 是 ORB-SLAM 的第二代版本,在一代的基础上,添加了对双目相机、RGB-D 相机的支持。第一代的 ORB-SLAM 基于单目相机。

视觉 SLAM 可使用的传感器有许多种:单目相机、双目相机、RGB-D 相机等。单目相机是最低成本和最小型的传感器配置。然而,由于单个相机无法获取深度信息,通过单目构建的地图的尺度是未知的。此外,单目 SLAM 系统在启动时需要多视角信息或滤波技术以执行地图初始化操作,固定地图的尺度。最后,单目 SLAM 会遇到尺度漂移 (scale drift),而且在相机只有旋转运动时可能会失败。

由于单目 SLAM 固有的这些缺陷,ORB-SLAM2 将重心放在了双目相机和 RGB-D 相机上。特别地,它通过将 RGB-D 采集的深度信息转换为虚拟的右目相机的坐标信息,使得 RGB-D 数据可以转换为双目数据,进而使用双目 SLAM 的方法进行问题求解。

我们知道,三维数据投影到二维空间时,会丢失一个维度的信息。相机成像时,三维场景投影到二维的成像平面上,这一过程中丢失了场景的深度信息。在双目SLAM中,可以利用左右目的视差计算深度信息,在单目SLAM中,可以通过移动视角利用三角化估计深度信息。然而,很多时候我们仅仅拥有一张图像,例如从Web下载了单独的一张图片。怎么估计单张图像的深度呢?

闭环检测 (Loop Closure Detection),主要解决位置估计随时间漂移的问题。闭环检测是大尺度环境中 SLAM 应用的关键环节,是消除 SLAM 定位和构图中累积误差的重要手段。

为了实现闭环检测,机器人需要能够识别出曾经到达过的场景。可以在场景中布置标识物(如二维码),机器人只要看到 / 扫描到相应的标识,就知道自己当前的位置。但是这种方法限制了应用环境,同时部署这类器件会带来额外的工程成本。实际上,让机器人使用自身携带的传感器——摄像头,来完成这一任务更加符合现实需求。由此,闭环检测就转化成了判断图像间相似性的问题。

基于视觉外观的闭环检测方法方法将当前帧的图像与历史帧进行比较,从中选出最佳匹配,得到闭环区域。整个过程可以分为两个部分:图像描述和相似性度量。图像描述可以将一幅图像压缩成一维的向量,称之为图像的特征向量。特征向量比原图像更抽象、表征能力更强。图像描述在闭环检测中尤为重要,直接决定图像匹配的准确与否。

此外,由于机器人所处的环境是复杂多变的,这给闭环检测算法的鲁棒性提出了很高的要求。

    Page 1 of 2