分享

基于地面几何约束的单目视觉里程计精确鲁棒尺度恢复

 InfoRich 2021-12-14

标题:Accurate and Robust Scale Recovery for Monocular Visual Odometry Based on Plane Geometry

作者:Rui Tian,Yunzhou Zhang,Delong Zhu,Shiwen Liang,Sonya Coleman,Dermot Kerr

来源:ICRA 2021

编译:廖邦彦

审核:lionheart

本文转载自泡泡机器人SLAM ,文章仅用于学术分享。

Image

摘要

Image

尺度模糊性是单目视觉里程计的一个基本问题。典型的解决方案包括回环检测和环境信息提取。对于自动驾驶汽车等应用场景,回环检测并不总是可用的,因此从环境中提取先验知识成为一种更有前景的方法。在本文中,假设相机与地面保持恒定高度,我们设计了一个轻量的尺度恢复框架,利用准确和稳健的地面估计。该框架包括一种在地面平面上提取高质量点的地面点提取算法,以及一种在局部滑窗中将提取的地面点聚合到一起的地面点点聚合算法。在聚合数据的基础上,利用基于RANSAC的优化器求解最小二乘问题,最终恢复了尺度。足够的数据和健壮的优化器实现了一个高度精确的尺度恢复。在KITTI数据集上的实验表明,该框架可以在平移误差方面达到SOTA性能,同时在旋转误差方面保持竞争性能。由于轻量级的设计,我们的框架也在数据集上实现20hz的更新频率。

Image

主要贡献

Image
  • 我们提出了一个基于Delaunay三角剖分的地面点提取算法(GPE),并且能够准确的提取地面点。

  • 我们提出了一个地面点聚合算法(GPA),能够高效的聚合局部地面点,并且能够实现鲁棒的对于地面的参数的优化。

  • 基于提出的算法,我们实现了一个实时的单目视觉里程计,并且可以实现精确且鲁棒的尺度恢复,最终达到降低尺度漂移并且为缺少回环约束的长距离里程计提供高精度的里程计。

Image

系统概述

Image

状态定义

Image

系统的符号标记,分别是第t帧在全局坐标系下的相机位姿,t帧和t-1帧间相对位姿,针孔相机的内参矩阵,3D点以及对应在图像平面上的2D坐标,平面参数,不同状态的估计的相机高度。

问题定义

给定标定过后的单目相机的连续图像帧,我们的目标是估计相机姿态的绝对尺度,然后利用先前已知的相机高度恢复真实的相机轨迹。在尺度模糊情况下,根据图像特征计算的相机高度h与真实的保持一个确定比例

Image

因此,尺度恢复本质上是为了计算s,关键在于准确估计地面。

系统框架
我们提出的系统基于这样一个假设,局部地面是平坦的,并且可以使用一个平面法向量近似。如图1中的红色方块所示。对于从单目视觉里程计线程中提取的每个图像帧,首先应用Delaunay三角剖分将匹配的特征点分割成一组三角形。然后将每个三角形反向投影到相机帧中,并估计相关的平面参数。在此之后,利用一些几何约束来挑选,然后细化地面点点。 
需要注意的是,所筛选的地面点不足以准确估计平面参数。因此,我们提出了GPA算法,使用滑动窗口方法聚合来自多个帧的基点,如图1的橙色块所示。在聚合的局部点的基础上,采用鲁棒参数估计方法来拟合地面平面。因此,可以估计每一帧的相对相机高度,并恢复相机的绝对轨迹,如图1中的蓝色块所示。

Image
Image

方法概述

Image

GROUND PLANE ESTIMATION

A. Ground Point Extraction

对于当前的图像帧中的一组给定的匹配特征点,使用Delaunay三角剖分使用每个特征点作为一个三角形顶点。我们将图像平面上的三角形反向投影到当前的相机帧中,并通过一组三角形顶点和边来表示它们。每个三角形的法向量可以通过叉积得到

Image

其中左式为单位长度,对于三角形的每个顶点,以下几何约束成立

Image

同时基于一个事实,相机总是安装在车辆的顶部,并且高于地面,我们可以得到以下约束

Image

值得注意的是,三角形分散在整个图像平面上,因此我们需要识别出位于地平面上的三角形来估计平面参数。基于地面三角形的法向量与相机平移向量正交,且相机的俯仰角为零,可以通过以下约束条件来识别地面三角形。

Image

实践中,不能严格满足相等条件。因此,我们在实现中设置了一个忍耐值为5°。对于满足上述约束的地面三角形,它们的顶点被分类为一个新的点集,由于同一个顶点可能由多个三角形共享,因此我们也需要从点集中删除重复的顶点。这将确保每个点对地面平面估计的贡献相同。地面点现在最初被分割出来,但可能仍然存在一些由移动对象和一些远点引入的异常值。为了进一步提高地面点的质量,利用基于RANSAC的方法优化地面点,使平面距离误差最小化。

Image
Image

B. Ground Point Aggregation

Image

由于GPE的严格分割标准,现有的内点不足以准确估计地面。因此,我们提出了GPA算法来聚合连续图像帧中的地面点。如图2所示,我们利用滑动窗口的方法来选择图像帧,并维护一个帧缓冲区来存储当前窗口中的相机姿势和地面点。在每个时间点中,随着一个新的图像帧的到来,我们更新缓冲区,然后通过求解一个最小二乘问题来估计地面。我们先通过转移矩阵将每个内点转换到全局坐标系下面。

Image

假设缓冲区中有N个局部地面点,基于点面距离误差最小的最小二乘问题定义如下

Image

公式6可以重写为下式

Image

公式7可以通过SVD方法高效求解为了进一步提高对于μ的估计精度,我们提出一种权重矩阵Σ

Image

其中的σ定义为地面点深度与其平均值的归一化距离

对平面参数估计的另一个重要改进是进行基于RANSAC的优化,在每次优化迭代中,我们首先估计µ,然后计算pi与估计平面之间的距离。距离大于0.01m的点被移除,然后利用剩余的点来估计一个新的µ。这样的过程一直持续到收敛。我们用n_t表示最终的平面法向量,保留的地面点用p_k表示。然后,可以通过将相机中心投影到地面平面来计算相机的相对高度

Image

其中p_c是在世界坐标系下帧I_t的相机中心,值得注意的是,这里有K个估计的相机高度,会被进一步处理来得到一个平滑尺度,在下图中详细展示

Image

C. Filter-Based Scale Recovery在计算每一帧的相对相机高度h后,用s_t = h∗ / h得到比例因子,使用下式将每一帧的运动比例恢复

Image

对应于公式9中的多个h值,s值也有多个。通过绘制图中每一帧的相机高度,如图所示。我们发现数据并不严格遵循高斯分布。因此,我们选择中值点作为当前帧的尺度。在时域内,应用了一个移动平均滤波器,如图所示。这可以给出一个更平稳的结果。

Image
Image

实验结果

Image
Image
Image
Image
Image

Abstract

Scale ambiguity is a fundamental problem in monocular visual odometry. Typical solutions include loopclosure detection and environment information mining. For applications like self-driving cars, loop closure is not always available, hence mining prior knowledge from the environment becomes a more promising approach. In this paper, with the assumption of a constant height of the camera above the ground, we develop a light-weight scale recovery framework leveraging an accurate and robust estimation of the ground plane. The framework includes a ground point extraction algorithm for selecting high-quality points on the ground plane, and a ground point aggregation algorithm for joining the extracted ground points in a local sliding window. Based on the aggregated data, the scale is finally recovered by solving a least-squares problem using a RANSAC-based optimizer. Sufficient data and robust optimizer enable a highly accurate scale recovery. Experiments on the KITTI dataset show that the proposed framework can achieve state-of-the-art accuracy in terms of translation errors, while maintaining competitive performance on the rotation error. Due to the light-weight design, our framework also demonstrates a high frequency of 20 Hz on the dataset.

独家重磅课程!

1、三维视觉基础 如何实现视觉深度估计?单/双目+几何算法/深度学习网络

2、视觉SLAM必备基础 太卷了!听说学懂ORB-SLAM2课程第3期可全额退款?敢不敢来挑战?

3、 VINS:Mono+Fusion SLAM面试官:看你简历上写精通VINS,麻烦现场手推一下预积分!

4、VIO进阶:VIO最佳开源算法:ORB-SLAM3超全解析课程重磅升级!

5、图像三维重建课程(第2期):视觉几何三维重建教程(第2期):稠密重建,曲面重建,点云融合,纹理贴图

6、重磅来袭!基于LiDAR的多传感器融合SLAM 系列教程:LOAM、LeGO-LOAM、LIO-SAM

7、系统全面的相机标定课程:单目/鱼眼/双目/阵列 相机标定:原理与实战

8、激光定位+建图课程:激光SLAM框架Cartographer课程90+视频全部上线!适合服务机器人!

全国最棒的SLAM、三维视觉学习社区↓

技术交流微信群

—   版权声明  —

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多