首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >OpenGV 2.0:基于运动先验的车载环视标定与SLAM系统

OpenGV 2.0:基于运动先验的车载环视标定与SLAM系统

作者头像
点云PCL博主
发布2025-03-10 10:44:34
发布2025-03-10 10:44:34
1.4K0
举报
文章被收录于专栏:点云PCL点云PCL

文章:OpenGV 2.0: Motion prior-assisted calibration and SLAM with vehicle-mounted surround-view systems

作者:Kun Huang , Yifu Wang , Si’ao Zhang , Zhirui Wang , Zhanpeng Ouyang , Zhenghua Yu , Laurent Kneip.

编辑:点云PCL

摘要

本论文提出了一种基于优化的视觉 SLAM 解决方案,适用于车载环视摄像系统。由于这些系统最初的应用场景,它们通常仅包含单个朝向特定方向的摄像头,视场之间的重叠区域极其有限。我们的创新之处在于设计了三个优化模块,分别用于:基于简单的双视几何进行外部姿态的在线标定、稳健的前端初始化以估计相对位移,以及采用连续时间轨迹模型进行高精度的后端优化。这些模块的共同特点在于,它们都利用了与乘用车运动固有的非完整性特性相关的运动先验信息。与以往相关研究相比,我们的优化模块在规避 Ackermann 运动常见的部分不可观测性方面表现出色。此外将这些模块集成到一个全新的环视摄像头 SLAM 系统中,该系统专门针对在城市环境中运行的 Ackermann 车辆的应用。所有模块均经过深入的消融研究,并在公开的、大规模、高挑战性的在线数据集上成功验证了整个框架的实用性。值得注意的是,在论文接受后,该完整框架计划作为 OpenGV 库的扩展部分开源发布。

主要贡献

使用环视摄像头系统进行定位与建图仍面临诸多挑战。首先如图 1 所示,该系统通常仅包含四个摄像头,分别朝向不同方向,视场重叠区域极其有限。这不仅增加了利用立体约束进行直接深度感知的难度,也使系统的外参标定变得更加复杂。其次为了尽可能完整地生成鸟瞰视图,仅依靠四个摄像头,它们需要具备大视场角,这导致图像平面上的畸变增大且变化较大。第三,由于 Ackermann 转向车辆常见的退化运动模式,尺度观测性通常较弱。此外,市售低成本摄像头往往存在高传感器噪声和滚动快门等不利因素。

图 1. 本文研究的车载环视摄像头系统示例

环视摄像头系统在部分自动驾驶(如自动代客泊车)中的应用,最早由 V-Charge 项目进行探索。该研究表明,这类感知系统可提供足够的信息,以在未知环境中实现在线定位与建图,并进一步支持基于视觉的自主导航,特别是在受控的低速场景下。本论文的作者持续在该领域进行研究,并最终提出了一整套完整的算法体系,以进一步缓解上述挑战。其核心思想是利用运动先验信息。众所周知汽车是一种非完整性运动系统,其可控自由度数量少于实际自由度。即使车辆姿态限制在 3D 流形(即三个自由度),其可控自由度仍然较少。简单来说,在正常路况下且无侧滑的情况下,汽车无法横向移动,其运动可近似为局部切平面上的圆弧轨迹。本论文的主要贡献总结如下,这些贡献均基于引入部分运动约束,以促进、稳定或优化非重叠环视摄像头系统的几何标定问题:

  • 总结了完整的技术栈,包括摄像头到车辆的在线外参标定、稳健的车载多摄像头运动初始化,以及基于 B 样条的大规模非完整性轨迹优化。
  • 提出了一个完整的系统,将所有模块集成在一起,并最终在大规模公开城市基准数据集上实现了高可靠性、高精度的实时定位与建图。
  • 更新了现有的开源软件包,扩展了该框架,引入了本文提出的受运动先验约束的几何环视求解器和优化器。

主要内容

系统概述

图 5. 环视 SLAM 系统概览,显示跟踪和后端优化线程执行的所有步骤

本文最终贡献是一个基于全景视图的同步跟踪与地图构建框架,该框架围绕前面章节中描述的两个核心模块构建:运动初始化方法以及基于样条的后端优化方法。该框架采用ORB特征,其跟踪与地图构建模块受ORB-SLAM框架的启发。系统包含两个工作线程:一个前端线程运行视觉里程计,另一个后端优化线程运行带窗口的束束调整。需要注意的是,框架中没有添加回环闭合模块。相反加入了一个可选但经过仔细设计的低质量GPS信号,以防止长期漂移累积。借助所采用的核心模块,该框架能够实现前端相对位移的高度可靠初始化,以及后端精确的、即时的车辆运动学感知优化。

在前端视觉里程计线程中,每个来自全景视图系统的摄像头首先独立处理,以提取每一帧中的ORB特征。可以选择使用OpenCV的原始版本或ORB-SLAM的修改版(旨在实现更均匀的特征分布)。一旦提取了特征,会进行暴力时间内摄像头匹配。不进行跨摄像头的立体匹配,因为相邻视场的重叠区域被认为不存在或至少过小且变形,无法可靠地提取和匹配特征。相反通过可选的GPS读取来恢复并保持度量尺度。

但并不是每一帧都传递给后端优化器。前端采用一个简单的关键帧生成机制,验证帧间差异的中值是否超过某个阈值。然后,采用计算相对变换并通过RANSAC发现所有内点对应关系。接下来需要区分两种情况,如果某个对应关系是新的(即没有先前的3D地标参考),则通过三角化生成一个新的3D地标。反之,如果存在参考,则仅通过最新添加的关键帧中的新测量扩展该地标的测量列表。此外现有地标用于一致地重新调整新旧关键帧之间平移位移的幅度。鉴于可能存在多个这样的地标,通过对所有缩放因子的中值进行运算来以鲁棒的方式进行此操作。

建图线程会在足够的新关键帧添加后触发新的优化轮次。优化从标准的束束调整实现开始,通过最小化重投影误差来优化关键帧位姿和地标。这一预优化可以为后续的样条优化提供可靠的初始估计。后续的优化采用了更高效、几乎不受约束的FSBA变体,以确保精确、平滑且运动学感知的估计结果。由于没有惯性读取或重力测量的存在,我们还在滚转角上添加了正则化项,以限制沿第四维度的漂移。最后,GPS数据项作为可选的位置信差项被添加,以减缓长期的位移漂移。运动学约束轨迹模型的引入需要谨慎的时间节点放置策略。这尤其重要,因为长时间轨迹可能包含较少转弯的部分,而其他部分可能需要更多的节点和控制点,以允许更高的非线性。

在我们的工作中,引入的自动节点放置算法,该算法考虑了一种简单的平均策略,依赖于输入样本的局部时间密度。该策略的优势在于一旦车辆超过某个速度,每一组新采集的全景图像都会触发新的关键帧,从而使控制点在车速较高的直线路段上更加分散,在转弯时则更为集中。然而这一策略的缺点是,在城市环境中,交通信号灯和人行道过道导致车辆速度与道路布局的复杂性不总是相关。当汽车完全停下来时,情况极端。在这种情况下,自动节点放置可能会在长时间停驶期间触发额外的节点,这会导致控制点的局部积累,从而在最终优化结果中产生严重的伪影。为了规避这一问题,前端添加了一个检测静止间隔的特殊模块。该模块通过检查所有特征匹配的帧间差异,并将其与非常小的阈值进行比较,来评估有多少比例的差异可以忽略。如果这个比例足够大,则认为相对于背景的运动不存在。静止间隔被记录下来,曲线参数化的内部时间线仅是原始时间线中有效间隔的连续拼接。如前所述,低质量GPS读取被可选地集成,以实现更强的定位鲁棒性。在使用GPS信号时需要小心,避免使用由于卫星信号接收数量变化或多径效应导致的GPS异常值。通过GPS读取的连续性可以有效地检测到跳跃。只有当GPS读取保持在预期的误差范围内时,才会添加GPS数据项。所提出的配置确保了可靠的、全局一致的地图构建和定位,即使没有回环闭合或附加传感器,这使得它能够轻松部署在现有平台上。该框架不依赖于繁琐的IMU标定或与车辆固有传感器(如车轮里程计)的连接。

方法概述

相机的内参标定是一个较为成熟的问题,本文专注于一种实用的在线方法,用于对视场之间重叠有限或无重叠的环视摄像系统进行外参标定。该方法返回相机到车辆的参数,这对于运动先验的应用至关重要。然而需要注意的是,该方法仅限于推导外参旋转。这一策略的合理性在于,相机的位置通常由工厂参数精确定义,其公差足够小,不会对基于多视角相机的车辆运动估计精度产生显著影响。其原理如下:

  • 如果车辆未发生任何旋转,则车辆上的任意点(包括相机中心)都将经历相同的平移位移,并且不同视角之间的旋转将为单位矩阵。因此从相机视角测得的位移仅仅是外参旋转的函数,而与位置无关。
  • 更一般的平面运动可以用阿克曼转向模型进行局部解释。车辆的位移可近似为圆弧,并且对于安装在包含非转向轴的垂直平面内的相机而言,问题可简化为 1 自由度(DoF)。此时相机的垂直或横向偏移不会影响感知到的相机旋转或位移方向。ICR(瞬心)的半径(即比例因子)仅对具有前向偏移的相机可观测。然而由于前向偏移与场景深度之间的比值通常较小,该比例的可观测性依然有限,并且错误的偏移假设导致的误差可能会被一般噪声所掩盖。

此外,使用工厂参数的另一个动机在于,相机安装点与测得的相机位移之间的相关性较弱,使得从自然数据中标定平移外参变得困难。此外平移参数通常在时间上较为稳定。因此如果需要更高精度的参数,推荐使用基于运动捕捉系统的离线标定方法。本文主要关注相机到车辆的旋转参数,这些参数需要在出厂后进行标定,并且由于冲击、振动或温度变化的影响,需要持续监测。

图 2:本研究中使用的坐标系、路标、测量值以及外参几何变换变量的符号表示。

旋转外参的优化

该方法的核心目标是通过车辆的 运动方向 来推导摄像头的旋转外参。优化过程主要包括以下几个步骤:

(1) 运动约束的建立

  • 该方法首先从极线几何关系 出发,但并非直接使用它作为代数残差,而是采用 物理空间的误差,即对应光线在三维空间中的正交距离,来进行优化。
  • 通过引入 摄像头到车辆的旋转矩阵,可以将 不同时间步长的车辆旋转 约束在一个全局优化框架下。
  • 这样每个摄像头的旋转参数不仅受到自身图像对之间的约束,还能够利用多个摄像头的观测结果来优化整个系统。

(2) 前向运动方向的约束

  • 车辆的 前向方向(y 轴) 可用于建立优化约束。
  • 由于摄像头相对车辆的平移参数不影响车辆的前向运动测量,因此摄像头的运动轨迹可以用来估计前向方向,并用作优化目标。
  • 该方法会检测车辆是否在短时间内 无显著旋转,如果满足条件,则车辆的前向运动方向可以直接用于约束摄像头的旋转矩阵,使其与车辆前向方向对齐。

(3) 旋转中心(垂直方向)的约束

  • 当车辆发生 较大角度旋转 时,可以认为旋转轴主要沿着 车辆的垂直方向(z 轴),因此可以用此信息来进一步优化摄像头的旋转参数。
  • 该方法通过检测 旋转角度超过一定阈值 的运动情况,从而确定车辆的旋转中心,并对摄像头的旋转矩阵施加约束,使其垂直方向对齐。

(4) 结构化环境的约束

  • 在人造环境中(如城市道路),通常可以利用 垂直线特征(如路灯杆、建筑边缘)来进一步优化摄像头的旋转参数。
  • 该方法通过检测图像中的垂直线,并计算它们在三维空间中的方向,从而提供额外的几何约束,使摄像头的 垂直方向 与真实世界的垂直方向对齐。

全局优化

  • 该方法将上述 前向方向约束、旋转中心约束、结构化环境约束 结合在一起,构造一个全局优化目标,并采用 鲁棒优化方法(如 Huber 损失) 来减少噪声影响。
  • 由于优化目标仅涉及 旋转参数,且采用 3 自由度的旋转向量(如 Rodriguez 向量) 进行参数化,使得优化计算更加高效。
  • 该方法避免了复杂的 全局束调整(Bundle Adjustment, BA),仅依赖 相邻帧对的约束,因此计算量较小,适用于在线标定。

该方法的优势

  • 无需使用校准板或特定标定目标,可以直接基于车辆的自然运动进行标定,适用于实际应用场景。
  • 不依赖大规模 SLAM 解决方案,仅通过局部图像对计算旋转外参,降低计算复杂度。
  • 摄像头间的转换矩阵(camera-to-camera transformations)可直接作为推导的副产品,无需额外计算。
  • 避免了对难以观测的平移参数(摄像头安装位置)的优化,提高了鲁棒性。
  • 能够自适应调整优化权重,在不同约束之间进行平衡,以确保最优结果

图 3:线段 Lk的解释平面,该平面由测量线段在单位球面上的归一化坐标定义。

稳定运动初始化(Stable Motion Initialization)

在相机标定的任务中,稳定的运动初始化是一个关键步骤。该部分主要探讨了如何在多相机系统中进行稳定的运动估计,特别是在相机视角重叠较少甚至完全不重叠的情况下。

1. 通过极线几何约束进行运动估计

文章首先介绍了在两帧图像之间,通过最小化极线误差来估计相机的相对运动(旋转和位移)。其中,极线误差衡量的是特征点在不同视角下不满足极线约束的程度。然而,如果仅优化单对视图之间的相对位姿,位移向量的尺度因子是无法约束的。因此,作者采用了标量三重积(scalar triple product)的方法,将极线误差转换为一个仅依赖旋转矩阵的优化目标,从而避免了位移尺度的不确定性。该优化目标的求解方式是最小化一个矩阵的最小特征值,该矩阵仅与旋转矩阵相关。这种方法可以有效计算相对旋转,但在多相机系统中存在一定的局限性,例如当旋转矩阵为单位矩阵(即无旋转)时,能量函数会变为零,即使存在真实的旋转。

2. 线性方法的局限性

作者指出,基于广义本质矩阵的线性方法在某些运动情况下会退化,特别是在以下两种情况:

  • 纯平移运动:如果相机的运动仅是平移,没有旋转,那么传统方法可能无法准确估计运动。
  • 沿圆弧的位移:在车辆等应用场景中,摄像机的运动往往是弯曲路径上的位移,这也可能导致估计退化。

由于车辆运动通常至少部分接近上述两种情况,因此线性方法在实际应用中并不可行。

3. 适用于非重叠多相机系统的平面运动估计

为了克服上述问题,作者提出了一种新的方法,用于估计多相机系统在平面上的一般运动。该方法的核心思想是:

  • 在每个相机视角内分别求解极线几何问题,将其转换为一个一元的特征值优化问题。
  • 使用已知的相机外参旋转矩阵,将每个相机的观察结果旋转到与车辆本体坐标系对齐。这样可以在所有相机之间建立一个统一的旋转参考系,使得所有相机的法向量可以用于同一个优化目标。
  • 最小化所有相机的特征值目标,并联合求解一个全局旋转矩阵,使得所有相机的极线几何误差最小化。

在该方法下,每个相机的位移仍然是独立的,但旋转是全局共享的,因此可以通过最小化特征值来优化整体旋转。

4. 旋转优化

针对平面运动的情况,作者使用 Cayley 变换 进行旋转参数化。Cayley 变换的一个优势是,它可以用一个单一的参数来描述二维平面上的旋转,从而使得优化问题变得更加高效。最终,作者采用 非线性优化(如 Levenberg-Marquardt 方法)来求解旋转,并通过 采样 z 轴旋转 进行初始化,以确保优化不会陷入局部最小值。

5. 物体空间误差优化

为了进一步提高精度,作者引入了基于 物体空间误差(Object-Space Error) 的优化方法。该方法的基本思想是:

  • 极线误差可能存在旋转-平移歧义,特别是在相机视野较小或是车载侧向相机的情况下。
  • 通过计算 光线之间的几何距离,即计算每对匹配点所定义的两条光线之间的最小距离,可以得到更加稳健的位姿估计。
  • 该误差可以被转换为一个基于特征值的最优化问题,类似于之前的旋转优化问题。

相比于传统的 两视图捆绑调整(Bundle Adjustment),该方法的计算量明显更低,同时能有效避免旋转-平移歧义带来的局部最小值问题。

6. 绝对尺度的恢复

在多相机系统中,单靠两帧之间的极线几何关系,无法恢复位移的 绝对尺度,因为相对位移的尺度因子是不确定的。为了恢复尺度,作者利用了 手眼标定(Hand-Eye Calibration) 约束,即:

  • 在车辆本体坐标系中,多个相机的运动满足一定的代数约束。
  • 通过已知的相机外参,可以将多个相机的位移关系转换为一个线性方程组。
  • 使用 奇异值分解(SVD) 计算尺度因子。

然而,由于 非重叠多相机系统的本质特性,如果旋转矩阵是单位矩阵(即没有旋转),那么尺度因子仍然是不可观测的。但在一般情况下,该方法仍然可以稳定地恢复运动的绝对尺度。

后端优化

在本模块中,介绍了运动感知几何求解器的最终工具——后端优化器。首先,我们探讨了一些必要的前提,为后续介绍所有车辆运动模型感知目标函数做准备。这些目标函数通常是通过黄金标准误差(即几何重投影误差)来公式化的。

A. B样条

连续时间参数化方法在处理平滑轨迹或时间密集采样传感器时,已证明在运动估计中非常有价值。为此,可以使用多种基础函数,如快速傅里叶变换(FFT)、离散余弦变换(DCT)、多项式核或贝塞尔样条。在本文中,采用了Furgale等人推广的高效平滑B样条参数化方法。具体而言,采用了p阶B样条曲线来表示平滑运动,其中控制点决定了轨迹的形状,而B样条基函数则控制着曲线的光滑性。B样条曲线的初始化来源于一组离散的车辆姿态和图像时间戳。为了初始化,采用了Piegl和Tiller提出的样条曲线近似算法。

B. 非全向运动

地面车辆通常具有非转向的双轮轴,这使得其运动成为非全向(non-holonomic)的。这个运动约束体现在Ackermann转向模型中。具体而言,车辆的瞬时运动是围绕瞬时旋转中心(ICR)旋转的,该旋转中心位于非转向的双轮轴上。换句话说,车辆的瞬时航向与其速度方向是平行的。这种约束在纯视觉算法中已被利用,但通常仅基于对分段常数转向角的近似来实现:

  • 前端方法:例如,Scaramuzza等人将车辆运动近似为平面上的运动,并假设平台具有局部常数的转向角。两个连续视图之间的轨迹被近似为圆弧,车辆的航向始终切向圆弧。用圆弧的内接角度和半径来最小化运动参数化。
  • 后端方法:如Peng等人提出的,通过分段常数转向角或圆弧模型,车辆的相对旋转和位移需要满足某些约束,这些约束可以作为正则化项添加到常见的束束调整框架中。

这些模型仅是对车辆速度和瞬时旋转中心位置约束的近似,接下来将介绍如何使用连续时间参数化方法来强制执行车辆速度方向与车辆前轴之间的一致性,我们称之为R-v约束。

C. 非全向轨迹优化

通过使用样条来表示车辆的非全向轨迹,并通过连续时间对运动轨迹进行建模,我们在优化过程中强制执行R-v约束。这种方法可以直接表达车辆的航向,或者作为软约束对车辆的朝向进行正则化。应用这些运动学约束的硬约束或软约束可能会影响优化的准确性和计算性能,因此本文介绍并比较了多种不同的优化方法,开始于传统的束束调整(CBA)。

1) 传统束束调整(CBA)

传统的束束调整方法通过最小化重投影误差来优化姿态和地标的位置。非线性目标函数通过调整相机模型将物体从相机坐标系转换到图像平面,计算重投影误差。该方法主要优化姿态和地标,尽管采用了基于地标的优化,但仍然是一种简化的优化形式。

2) 带R-t约束的束束调整(CBARt)

在传统束束调整的基础上,添加了R-t约束,作为一对软正则化约束。此约束通过计算两个视图之间的相对旋转和相对平移来修正运动模型的偏差,从而提高优化的准确性。该方法的核心思想是通过束束调整框架进行优化,并将这些约束作为正则化项加入到优化中。

3) 带样条回归的束束调整(CBASpRv)

在这种方法中,结合了传统的束束调整和样条回归。通过在优化过程中逐步回归3D样条并将其应用于软正则化R-v约束,这种方法允许更精确地描述车辆轨迹,且不完全依赖于圆弧模型。通过样条回归,可以根据车辆的姿态变化调整轨迹的平滑度和方向。

4) 软样条束束调整(SSBARv)

在这种方法中,样条直接用于表示车辆的姿态,并仅保留R-v约束作为附加约束。通过7D样条曲线来表示位置和四元数姿态,优化问题的目标函数结合了R-v约束和平滑度约束,能够进一步提高运动轨迹的精度。

5) 硬样条束束调整(FSBA)

这是最终的优化目标,它直接使用连续位置的导数来表示车辆的部分朝向(即航向)。车辆的姿态使用四维样条来表示,其中车辆的位置由样条的前三个分量表示,航向由其导数表示,剩余的翻滚角度通过样条来建模。这种方法能够在硬约束条件下精确控制车辆的运动轨迹。

这些不同的方法展示了如何通过优化车辆的运动轨迹来提高系统的精度和性能,并且每种方法都有其适用的场景和优缺点。通过合理选择和结合不同的优化方法,可以根据不同的需求达到最佳的运动估计效果。如图4。

图 4. 不同方法的图形模型:(a)CBA;(b)CBARt;(c)CBASpRv;(d)SSBARv;(e)FSBA。

实验结果

实验结果提出的三大核心模块的消融实验,并分析了它们在加性噪声下的表现。同时还强调了相对姿态求解器在处理偏离纯 Ackermann 模型的情况下的能力,并分析了后端模型在束调整图中连通性变化下的鲁棒性。最后展示了在公共基准测试集 Oxford RobotCar上获得的大规模全景相机 SLAM 系统结果。

在线标定的消融实验

在线标定的实验评估分为两部分。我们首先进行模拟测试,测试该方法在噪声下的鲁棒性。接着将该方法应用于标定用于收集公开可用的 KITTI 立体基准数据集的相机。在这两次实验中,我们使用提出的相对姿态求解器,嵌入 Ransac方案中,以稳健地恢复相机之间的相对位移,并特别使用了 OpenGV中的实现。

1. 仿真验证:通过假设车辆上安装了两台相机并沿平面行驶来生成仿真实验。这些相机分别面向左右,具有水平主光轴、基线为 0.1m、图像尺寸为 500×500 像素,焦距为 250 像素。我们生成了 60 帧虚拟相机图像,帧间距为 0.3m。车辆在前 20 帧保持直线行驶,剩余部分进行转弯。图像测量是通过生成随机的 3D 点和垂直线并将其投影到每一帧图像中来生成的。最后加入了均匀噪声以模拟图像观测的误差。除了测试抗噪声能力外,序列还测试了算法自动区分直线和曲线轨迹段的能力。

图 6. 所提出的校准方法的精度与图像噪声的关系。该图既显示了从最少数量的视图初始化的质量(实线),也显示了多帧优化后的最终误差(虚线)。旋转轴(绿色)和垂直线(红色)都可以使用。

我们的结果如图 6 所示。绿色线条表示使用旋转轴测量得到的结果,红色线条表示使用垂直线测量得到的结果。实线表示初始误差,虚线表示优化后的最终结果。初始结果通过考虑平移向量和从单对视图中获得的垂直消失点来获得。如图所示,尽管初始化值的质量变化较大,该方法仍能持续有效地将噪声平均化。此外,可以得出结论,在相似的噪声特性下,使用旋转轴或垂直线测量并没有显著差异。

2. 在 KITTI 上的测试:为了进一步测试在自然数据中利用垂直线测量的能力,将该方法应用于 KITTI 基准数据集提供的立体序列,并禁用了旋转轴约束(λ2 = 0)。通过忽略相机视场的重叠,校准每台相机的相机到车身的旋转,然后将它们连接起来以获得直接的相机到相机变换。最后,我们将其与网页上提供的地面实况值进行对比。我们在多个序列中评估该方法,每次选择 10 个不同的子序列,每个子序列包含 70 帧。每个序列的平均误差如表 I 所示。可以观察到,该方法始终将误差控制在 2° 以下。值得注意的是,网页提供的值的偏差与该方法之间的差异具有一定一致性,表明剩余的部分可能确实源自不同标定方法的不一致结果,而不是与(无法获得的)地面实况数据的误差。

运动初始化框架的消融实验

运动初始化框架再次在合成数据和真实数据上进行测试。我们的求解器依赖于平面运动,且设计用于非重叠的多相机系统。因此实验重点是与以前的通用相机相对姿态求解器进行比较,这些求解器包括依赖非完整运动假设的 2 点 Ransac 算法、线性化的 17 点算法和广义特征值最小化算法。为了展示使用指向不同方向的多相机的优势,我们还与集中式的单相机算法进行对比,如传统的 8 点算法和 1 点 Ransac,后者同样依赖非完整运动假设。我们执行了不同的比较仿真实验,以评估准确性和抗噪声能力。

1. 实验概要:假设全景相机系统有四个共面相机,分别指向各个方向。在每次实验迭代中,将第一个视点的框架固定为与世界坐标系重合。然后通过采用线性变化的旋转速度,添加 6 个额外的视点,从而生成现实的非圆形运动轨迹。最后计算第一个和最后一个视点之间的相对位移。为每个相机生成随机对应关系,通过定义位于第一个视点视野中的随机 3D 地标来生成。我们还向测量数据中添加噪声和异常值,最后在不同条件下分析我们方法的表现,包括动态旋转速度、纯平移运动和变化的视场。我们对每个实验执行了 1000 次随机实验,并且由于规模可观察性问题,主要报告相对旋转估计的准确性。

2. 与最小求解器的比较:将该方法(ME)与最先进的平面运动最小求解器进行比较,这些算法采用 Ackermann 运动模型,因此假设运动是非完整的,且整个相对位移的旋转中心(ICR)固定。因此需要的对应关系数量较少。为所有算法生成每个相机的 20 个点,并使用每种方法所需的最小点数来解决问题假设。实验中没有添加异常值。进行重复实验,并根据每帧线性变化的旋转变化来改变与纯 Ackermann 运动的偏差,旋转变化定义为 ω = 0.04k·i + ω0,其中 i = 1, …, 6,ω0 = 0.2°,k 从 0 变化到 10。ICR 通过假设恒定的前进速度 v = 0.1m/s 来推算。结果如图 7(a) 所示。正如预期的那样,随着与非完整运动偏差的增加,我们的模型表现得更好。

图 7. 我们提出的方法 ME 与 1pt、2pt、8pt、17pt、GE 方法在不同扰动因素下的比较。每个值都是 1000 次随机实验的平均值。

3. 与非最小求解器的比较:我们将我们的方法与其他非最小的通用求解器以及常用于车辆运动估计的集中式方法进行比较。为所有通用算法生成每个相机的 5 个点,并为 8-pt 生成前向相机的 8 个点。仅运行求解器,并不添加非线性优化。我们进行三种类型的实验:

  • 显著旋转:每个相机的视场固定为 120°,噪声水平在 0 到 5 像素之间变化。结果如图 7(b) 所示。可以观察到,所有通用求解器都优于集中式方法,而 ME 在平均误差和中位误差方面均优于 17-pt。
  • 纯平移:重复相同的实验,但强制运动仅为纯平移。结果如图 7(c) 所示。正如预期的那样,17-pt 和 ME 在精度上优于 8-pt。
  • 视场变化:将视场从 15° 变化到 165°。如图 7(d) 所示,8-pt 在非常小的视场下表现最佳。随着视场的增加,通用求解器的表现开始超过 8-pt。ME 明显优于其他方法,并且对于任何大于 30° 的视场,均超过了 8-pt。

4. 基于物体空间误差的优化行为:图 8 显示了我们提出的物体空间误差最小化与标准两视图束调整的比较。两者都依赖于足够好的初始化。标准两视图束调整在旋转、平移和结构参数上减少了重投影误差,而基于联合特征值最小化的物体空间误差减少仅涉及旋转自由度(对于平面运动,这只有一个自由度)。如图 8 所示,物体空间误差最小化在变化的视场下表现与两视图束调整一样好。

图 8. 不同几何优化方法的精度和平均执行时间。

不同后端优化变种的比较

我们的最终消融实验研究了本工作中提出的基于帧和样条的各种后端优化变种之间的差异。我们主要使用KITTI基准数据集,该数据集已完全标定,并包含由安装在乘用车上的前向摄像头捕获的图像,这些图像来自不同的环境。数据集还包含来自高端GPS/IMU传感器的信号,这使得我们能够将结果与地面实况进行比较。使用了多个不同的序列,这些序列提供了从显著转弯、高度变化到简单前进运动的各种运动特性。还增加了一些精心选择的合成序列,以便进一步分析。测试了所有上述方法,另外还测试了CBASp和SSBA,它们分别类似于CBASpRv和SSBARv,但不包含运动学R-v约束。

所有优化变种都使用了Ceres优化工具箱,该工具箱支持自动微分。本研究的主要目的是展示在处理恶化的视觉条件时,强加运动学约束的优势。除了常见的噪声对图像测量mij的影响外,我们还分析了通过改变地标数量和观测数量来改变图的连通性对结果的影响。对于每个分析、噪声或连通性设置,我们计算了相对于地面实况的滑动成对相对姿态误差(RPE)的均值和标准差,分别分析了旋转和位移误差。

1. 合成数据的结果:首先定义了现实的轨迹,这些轨迹直接来自KITTI序列的地面实况轨迹。我们还采用了KITTI平台的内参和外参fp(·)和Tsb。然而并没有使用原始图像信息,而是通过在每个视图中定义均匀分布的随机图像点来生成合成对应关系。点的数量表示局部连通性。为这些点定义了随机深度,通过从6到30米的均匀分布中采样。相应的世界坐标点(地标)最终被投影到所有邻近视图中,生成图中的所有可能的对应关系。请注意,每个地标的观测数量受限于全局连通性设置。我们还执行了边界检查,以确保重新投影的点在虚拟视图中可见。最后向观测值中添加了零均值的正态分布噪声。结果如图9的第一行所示。详细设置和结果观测如下:

  • 噪声水平:噪声水平通过设置单位像素的正态分布噪声的标准差来控制。如图9(a)和9(b)所示,添加运动学约束显著减少了误差;使用连续时间参数化的提出方法在大多数情况下表现优于CBA,尤其是在位移误差方面。尽管CBASpRv和CBARt在稳定性上较差,但它们在低噪声场景下表现最佳。FSBA和SSBARv则在噪声水平增加时表现出较高的鲁棒性。
  • 全局连通性:如图9(c)和9(d)所示,当图的全局连通性退化时,提出的运动学一致方法显著优于其替代方法。CBASpRv和CBARt在高连通性下表现最佳,尽管CBA在该设置下也具有竞争力。
  • 局部连通性:如图9(e)和9(f)所示,当每帧的观测数量减少时,提出的运动学方法显著表现更好,SSBARv和FSBA优于其他方法。

图 9. 不同方法对合成数据的 RPE 平均值和标准差。实验中使用的默认噪声级别为 4,默认全局连接性为 3,默认局部连接性为 40。第一行使用 KITTI-VO-05 地面真实轨迹,而第二行总结了在更稀疏采样的人工轨迹上获得的结果。第一列和第二列分析了不同噪声水平下的旋转和平移误差,第三列和第四列分析了每个地标的最大观测次数,第五列和第六列分析了每帧地标数量的不同。

2. 与ORB-SLAM的比较:最后让我们添加了运动学约束的优化与开源社区中的成熟替代方法ORB-SLAM进行比较。RPE结果再次如表II所示。结果确认,简单的CBA无法与ORB-SLAM竞争,而强加运动学约束的方法返回的结果与ORB-SLAM相当,甚至在某些情况下超越了ORB-SLAM。我们要强调的是,尽管ORB-SLAM也在后端使用CBA,但它是一个经过精心设计的框架,执行额外的任务来增强基础图形模型的健康和质量,而本消融研究中的后端优化器仅使用由前端求解器初始化的地图。因此再次得出结论,添加运动学约束通常能够很好地建模运动,并增强处理退化视觉测量的能力。

在大规模场景中对完整框架的评估

为了评估完整SLAM系统的性能,使用了Oxford RobotCar数据集进行了大规模实验。该数据集是在一个具有挑战性的环境中采集的,记录了在英国牛津的一个一致路线上的100多次重复采集,采集时间跨度为一年,期间经历了天气、交通密度和行人活动等变化。这些变化为评估提出的SLAM系统的鲁棒性和准确性提供了理想的测试环境。

1. 系统配置:该框架使用新提出的OpenGV 2.0模块来处理输入的稀疏特征对应关系,以实现稳定的运动初始化和基于样条的后端优化。尽管数据集包含一个指向前方的立体摄像头和三个指向汽车两侧及后方的单目摄像头,仅使用单目摄像头来展示系统在视觉重叠非常有限的情况下处理较不理想设置的能力。需要注意的是对于可选的GPS信号,它依赖于后处理的GPS信号、惯性读取和静态GNSS基站记录的融合,我们依赖于原始GPS信号,这些信号质量有限且偶尔存在离群值。在城市环境中,低质量GPS接收器中的离群值是常见的,可能由卫星数量不足或多路径效应引起。

2. 数据选择:我们选择了四个序列,这些序列展示了广泛的运动模式和环境条件。具体而言,我们使用:

  • 序列1(2014-11-28-12-07-13):该序列长6.6公里,在白天条件下采集。然而,它展示了显著的GPS信号跳跃,给轨迹估计带来了挑战。
  • 序列2(2014-12-16-18-44-24):该序列长8.4公里,在低光照的夜间条件下记录。减少的环境光照导致视觉系统可检测到的特征较少,特别是在缺乏人造光源的区域。
  • 序列3(2014-11-18-13-20-12):该序列长9.8公里,在阴天的白天条件下记录。扩散的光照减少了强烈的阴影,有助于特征提取,相较于明亮、阳光明媚条件下的HDR挑战。
  • 序列4(2015-02-03-08-45-10):该序列长13.9公里,记录了覆盖大量积雪的冬季景观。此外,序列中还存在GPS信号中断,进一步复杂了准确的定位和轨迹估计。

图 10. 从 Oxford RobotCar 数据集中选择的序列的样本图像。图像 (a) 至 (c) 显示了序列 1(白天)的左、右和后摄像头的视图。图像 (d) 至 (f) 显示了序列 2(夜间)的视图。

3. 评估:我们在三种不同配置下评估了系统:

  • 仅前端:在RANSAC中通过连续的多视角配对进行运动初始化和简单的尺度传播。
  • 标准捆绑调整:前端加上标准的捆绑调整后端进行预优化。
  • FSBA样条优化:包含我们提出的FSBA样条优化的完整框架,以持续强制执行非完整约束并改善轨迹平滑性。结果还包括弱GPS先验。

4. 结果:序列1的结果如图11(a)所示。不同优化方法获得的轨迹估计结果被叠加在环境的卫星视图上。如观察所示,只有前端的方法由于缺乏多视角约束,导致显著的漂移积累,进而快速发生漂移。标准捆绑调整显著减少了漂移,并改善了对齐,但由于姿态漂移,仍然无法与街景完美对齐。最后,提出的FSBA方法在仔细包含弱GPS先验的情况下,得到了最佳的轨迹估计结果,它纠正了GPS跳跃,同时确保了平滑、准确且运动学上可行的路径。如11(c)中显示的详细视图所示,我们的运动学感知方法即使在GPS信号不可靠的段落中,也能保持一致的轨迹。

图 11. 从 Oxford RobotCar 数据集中选择的序列的卫星地图上绘制的 SLAM 系统轨迹。(a) 是序列 1 的轨迹。可以看出提出的具有弱 GPS 数据项的 FSBA 自然会返回最佳结果,并且比前端或标准捆绑调整的结果有所改进。如 (b) 和 (c) 所示 - 序列 1 的详细视图 - GPS 信号有时不可靠。该方法成功检测并忽略了错误的读数,同时确保了运动学上可行的轨迹。

序列2展示了最具挑战性的场景。它包括一个低光照场景,系统面临着特征数量和质量差的问题。仅前端的方法再次未能生成准确的轨迹,并遭遇了显著的漂移。与白天场景相比,标准捆绑调整在低光照条件下也返回了受漂移积累影响的轨迹估计。最后FSBA结合弱GPS先验成功保持了准确的轨迹。但需要注意的是,在序列的某个时刻,提取的对应关系数量降到了前端稳定执行所需的最小数量以下,因此未处理完整的数据集。

对于序列3,该序列在阴天白天条件下记录,FSBA相较于标准BA有了显著提升。在阴天条件下减少的HDR效应有助于更一致的特征提取,而在较亮的条件下录制的序列中,HDR挑战可能会影响特征匹配。尽管FSBA相较于标准BA实现了更低的误差,但在对齐完整轨迹时仍然面临困难,尤其是由于一些低纹理表面和急转弯,减少了基于特征的视觉里程计的效果。FSBA+GPS中使用的弱GPS先验有助于缓解这些问题。

序列4显著长于其他序列,长达13.9公里。尽管如此,标准BA在RMSE和APE方面表现与序列3相似。尽管积雪创造了不同的视觉环境,但它没有覆盖许多特征,使得该场景与序列3中的阴天条件相当,在那里减少的光照变化有助于特征提取。FSBA成功改善了标准BA的结果,但性能与序列3相似。FSBA+GPS中包含弱GPS先验进一步减少了APE,凸显了使用GPS数据在较长距离和一致视觉条件下精细化轨迹估计的优势。与真值数值结果对比见表III。

总的来说,实验结果证明了系统在各种挑战条件下的稳定性和准确性。所解决的挑战包括在充满活力的城市环境中的停走运动、显著的GPS跳跃以及低光照条件。提出的FSBA样条优化方法持续产生高精度的定位,证明了将非完整运动约束集成到SLAM框架中,显著增强了估计轨迹的稳定性和逼真性。据我们所知,这是首次成功使用主要依赖于周围视角、非重叠视觉输入的SLAM系统来一致地产生大规模轨迹估计结果。所提出的系统在计算效率方面也具有吸引力,并能够在标准笔记本上每秒处理11个周围视角的捕捉。我们认为这一数字在潜在的实际应用中非常鼓舞人心。

总结

本文介绍了支持运动先验的校准和运动估计解决方案,适用于纯非重叠的多视角摄像头,从而为具有极低视场重叠的挑战性环视摄像系统提供了新的性能水平。提出了一种新的外部定向优化范式,能够在自然数据上操作,从而为默认或工厂校准参数的精细化提供了实用解决方案,或者为应对由于振动或冲击引起的变化提供了有效补救方法。还引入了一种新型的多摄像头系统平面位移解算器,它对摄像头运动的具体细节保持稳健性。该解算器不假设更为近似的圆弧模型,并且在退化运动条件下没有尺度不可观察性。这一点非常重要,因为现有算法的退化条件通常与常见的车辆位移(例如纯平移位移)密切相关。最后引入了一种基于样条的车辆姿态时间参数化方法,它持续地强制执行给定在常见地面车辆上的运动学约束,从而增强并改善从非重叠环视摄像系统中获得的结果。需要注意的是,所提出的所有方法都没有做出圆弧假设,该假设仅在瞬时层面有效。此外即使发生滑移,依赖瞬时旋转中心的非完整模型仍然能够较好地解释滑移转向平台的运动,这也是所提出的理论可以应用于此类平台的原因。本文的贡献还包括将其纳入一个开源框架,该框架处理城市环境中车辆运动的所有特性,并通过引入弱GPS先验来解决度量尺度可观察性和漂移积累问题。一旦获得批准,我们的框架将以开源形式发布。

相关阅读:2024年度历史文章大汇总

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档