小觅智能 | 视觉里程计(VO)学习笔记

视觉里程计(VO) 基本介绍

视觉里程计 (VO) 是一个仅利用单个或多个相机的输入信息估计智能体的运动信息的过程。VO 通过获取相邻两帧之间的 RT 变换关系,将获取得到的多个 RT 相乘获取得到当前帧与原始位置之间的变换关系, 然后进行迭代优化。

作为基于视觉技术的一种,在最近十几年的时间里已广泛应用于各类机器人的导航定位中,其中最成功的应用当属美国 NASA 开发的火星探测器 “勇气号” 和 “机遇号” 。除此以外,还用于无人空中飞行器、水下机器人、室内/外陆地机器人等。

视觉里程计是视觉导航的一种特殊形式,其最早可追溯到 Moravec ,他利用一个可滑动相机获取视觉信息作为输入,完成了机器人室内导航。1980 年, Matthies 等人提出了视觉里程计的概念,并设计了从特征提取、特征匹配与跟踪到运动估计的理论框架。该框架至今仍为大多数视觉里程计系统所遵循。2004 年,Nister 等人首次提出术语 “Visual Odometry”,因为它和车轮里程计的概念相似,增量式地通过对车轮转过的圈数积分估计车辆的运动。他们还提出了使用 3D 到 2D 重投影误差的基于 RANSAC 的运动估计,与 3D 到 3D 误差相比,使用 3D 到 2D 重新投影误差可以提供更好的估计。与此同时,还提出了在单目和双目立体系统中通过视觉输入获取相机的运动的开创性方法,为后来视觉里程计的研究奠定了新的基础。

相比传统的里程计技术,视觉里程计更具优势。它只利用相机完成,无需场景和运动的先验信息;不会存在编码器读数不准、传感器精度降低或惯导漂移等因素引起的数据误差;可以运用于非结构化的环境或非常规的任务和平台,如 CPS 不能满足的星际探索和导航等任务,很难满足条件的城市环境或室内环境,以及传统里程计不能应用的腿式机器人的导航和定位等。另外,系统在利用视觉信息完成里程计的同时,还可以提供丰富的景象特征, 完成障碍物识别、目标检测和可通行区域的划分等任务,为机器人的实时导航提供更充分的支持。

视觉里程计(VO)类型

视觉里程计可以根据系统所配置的相机数分为单目视觉里程计和立体视觉里程计。

单目视觉最大的缺点是缺少绝对尺度 (即图像帧序列,特征点的对应不能唯一确定,有一个变化的尺度因子),模型求解过程中,会出现尺度因子的模糊性。所以在单目视里程计中,需要一定的约束和假设,在计算过程中,也需要更多的视觉特点和图像帧参与。

而对于立体视觉,如双目视觉,其固定基线在三角测量:是一个很好的优势。已知基线便可进行视差图的精确计算,能进行快速密集的三维三角测量,而且还解决了单目视景中白尺度二义性。立体视觉通过固定和已知的基线能提供深目信息,但当物体距离远大于基线时,立体视觉也近似于单目视觉,所以立体视觉有一个景深信息获取范围。

视觉里程计(VO)著名算法

ORB-SLAM

ORB-SLAM 是西班牙 Zaragoza 大学的 Raúl Mur-Arta 编写的视觉 SLAM 系统。 它是一个完整的 SLAM 系统,包括视觉里程计、跟踪、回环检测,是一种完全基于稀疏特征点的单目 SLAM 系统,同时还有单目、双目、RGBD 相机的接口。其核心是使用 ORB (Orinted FAST and BRIEF) 作为整个视觉 SLAM 中的核心特征。

ORB-SLAM 优缺点

优点:

一个代码构造优秀的视觉 SLAM 系统,非常适合移植到实际项目。
采用 g2o 作为后端优化工具,能有效地减少对特征点位置和自身位姿的估计误差。
采用 DBOW 减少了寻找特征的计算量,同时回环匹配和重定位效果较好。重定位:比如当机器人遇到一些意外情况之后,它的数据流突然被打断了,在 ORB-SLAM 算法下,可以在短时间内重新把机器人在地图中定位。
使用了类似「适者生存」的方案来进行关键帧的删选,提高系统追踪的鲁棒性和系统的可持续运行。
提供最著名的公共数据集( KITTI 和 TUM 数据集)的详尽实验结果,以显示其性能。
可以使用开源代码,并且还支持使用 ROS。 (Github: slightech/MYNT-EYE-ORB-SLAM2-Sample)

缺点:

构建出的地图是稀疏点云图。只保留了图像中特征点的一部分作为关键点,固定在空间中进行定位,很难描绘地图中的障碍物的存在。
初始化时最好保持低速运动,对准特征和几何纹理丰富的物体。
旋转时比较容易丢帧,特别是对于纯旋转,对噪声敏感,不具备尺度不变性。
如果使用纯视觉 slam 用于机器人导航,可能会精度不高,或者产生累积误差,漂移,尽管可以使用 DBoW 词袋可以用来回环检测。最好使用 vSLAM+IMU 进行融合,可以提高精度上去,适用于实际应用中机器人的导航。

现有研究中实用性最好的基于特征的 VO 方法是 ORB-SLAM2,它提出了一个更为完整的 VO 框架。ORB-SLAM2 在 ORB-SLAM 的基础上,还支持标定后的双目相机和 RGB-D 相机。双目对于精度和鲁棒性都会有一定的提升。ORB-SLAM2 是基于单目,双目和 RGB-D 相机的一套完整的 SLAM 方案。它能够实现地图重用,回环检测和重新定位的功能。无论是在室内的小型手持设备,还是到工厂环境的无人机和城市里驾驶的汽车,ORB-SLAM2 都能够在标准的 CPU 上进行实时工作。ORB-SLAM2 在后端上采用的是基于单目和双目的光束法平差优化(BA)的方式,这个方法允许米制比例尺的轨迹精确度评估。此外,ORB-SLAM2 包含一个轻量级的定位模式,该模式能够在允许零点漂移的条件下,利用视觉里程计来追踪未建图的区域并且匹配特征点。

小觅双目摄像头标准版实跑 ORB-SLAM2:

猜你喜欢

转载自blog.csdn.net/qq_43525734/article/details/85340304