当前位置: 首页 > news >正文

ESP-VO 论文阅读

论文链接

End-to-End, Sequence-to-Sequence Probabilistic Visual Odometry through Deep Neural Networks


0. Abstract

  • 本文从深度学习的角度研究视觉里程计(VO)。由于 VO 问题通常被表述为纯几何问题,当前 VO 系统仍然缺少的关键特征之一是通过学习自动获取知识和提高性能的能力
  • 本文研究了深度神经网络是否可以有效且有益于 VO 问题
  • 针对基于深度循环卷积神经网络 (RCNN) 的单目 VO,提出了一种端到端、序列到序列概率视觉里程计 (ESP-VO) 框架
    • 它以端到端的方式进行训练和部署,即直接从一系列原始图像(视频)中推断姿势和不确定性
    • 不仅可以通过卷积神经网络自动学习封装几何信息的有效特征表示,还可以使用深度循环神经网络隐式建模 VO 的顺序动态和关系
    • 不确定性也随 VO 估计一起导出,而无需引入太多额外的计算

1. Intro

一般来说,VO方法根据所使用的相机可以分为两种类型:立体VO和单目VO。本工作重点关注单目 VO

一个经典的流程:通常由相机校准、特征检测、特征匹配(或跟踪)、异常值拒绝(例如 RANSAC)运动估计组成、规模估计和优化(捆绑调整 BA)组成

  • 当前 VO 系统吸引人但仍然缺少的功能之一是能够自动获取知识
  • 当前的 VO 系统严重依赖手动故障排除来分析故障案例、跟踪故障和完善定位结果
  • 此外,当前的 VO 系统很难从训练数据(即准确的轨迹以及感知图像)可用的情况中受益

事实上,深度学习主要应用于 2D 视觉相关问题,而在 VO 和 3D 几何方面的工作有限。造成这种情况的主要原因有两个

  • 大多数现有的深度学习架构和预训练模型本质上都是为了解决识别和分类问题而设计的,这驱动深度卷积神经网络(CNN)从图像中提取高级外观特征
  • 在 VO 的背景下,学习视觉外观最终限制了它只能在经过训练的环境中发挥作用,并严重阻碍了它的泛化

VO 方法应该通过检查连续图像之间的变化和连接来对运动和动力学进行建模,而不是处理单个图像。因此,DNN有必要对VO进行顺序学习,而仅靠CNN是不够的

本文的主要贡献如下

  • 本文证明,基于深度学习以端到端的方式实现单目 VO 是可行的,即直接从原始图像估计姿势。是第一个基于 DNN 的单目 VO 端到端方法
  • 开发了 RCNN 架构,通过使用 CNN 学习到的特征表示,将 VO 算法推广到全新的环境
  • 图像序列的序列依赖性和复杂的运动动力学对于 VO 至关重要,它们被隐式封装并由深度循环神经网络(RNN)自动学习,以执行序列到图像的转换
  • VO 的不确定性是与姿态估计一起以无监督形式导出的,无需引入太多额外的计算

2. Related Work

从采用的技术和框架来看,VO算法主要有两种类型:基于几何的方法和基于学习的方法

2.1 基于几何的方法

基于几何的方法依靠从图像中提取的几何约束来估计运动。大多数最先进的 VO 算法都属于这个家族。根据图像是否经过稀疏特征提取和匹配预处理,它们可以进一步分为基于稀疏特征的方法和密集/直接方法

基于稀疏特征的方法

Fig. 1 (a) 基于稀疏特征的方法。首先从原始图像中提取显着特征点并进行匹配,以找到图像之间的特征点对应关系。然后,根据特征点的几何关系来估计姿势。为了减轻噪声和离群值的影响,离群值拒绝(例如 RANSAC)和局部优化是必要的

基于特征的方法对特征匹配的异常值很敏感,这些异常值可能是由图像运动模糊、外观相似性、遮挡等引起的。另一个很大的限制是它们仅使用显着特征,而无法从整个图像中的丰富信息中受益。这就是提出密集度/直接方法的原因

密集度/直接方法

Fig. 1 (b) 密集度/直接方法。在光度一致性的假设下,直接优化整个图像的光度误差,密集度/直接方法不采用手动设计的特征点检测、描述符或匹配

由于密集/直接方法原则上比基于稀疏特征的方法更准确,并且可以通过利用图像中的所有像素在无纹理环境中更好地工作,因此它们越来越受到青睐

然而,它们的主要缺点是,当两个匹配图像的基线较长时,由于长基线下局部最小值的数量增加,光度对准的准确性会严重降低。尤其是机器人快速移动且相机帧速率相对较低时,这种情况很常见

2.2 基于学习的方法

基于学习的方法旨在通过使用 ML 技术导出运动模型并从传感器数据推断 VO,而无需明确应用几何理论。作为数据驱动方法,大多数都是基于监督学习,并且通常需要大量标记数据(VO 的标签可能是真实姿势)来训练适当的 VO 模型

2.2.1 基于传统学习的方法

一些基于传统 ML 技术的工作已经被用来解决单目 VO 问题。如 KNN,GP,SVM

这些方法展示了通过学习而不是手动设计来实现单目 VO 的有趣方向和一些有希望的结果。然而,由于基于学习的方法最近才出现,因此工作量有限,而且还没有人直接处理原始图像

2.2.2 基于深度学习的方法

深度学习可以充分利用大规模图像数据集来自动学习适合任务的特征表示,已越来越多地应用于各种计算机视觉和机器人问题,并显示出显着的效果

CNNs。CNN 越来越多地用于解决几何问题,为了估计与运动相关的几何信息,通常为 CNN 提供一对图像。由于经过训练的 CNN 模型充当场景的外观“地图”,因此需要从头开始训练网络,或者至少针对新环境进行微调,这限制了该技术只能在有限的区域中发挥作用。由于 CNN 无法进行顺序学习,因此之前的工作都没有考虑使用图像序列或视频进行 VO 或姿势估计

RNNs。顺序学习和建模对于涉及时间序列数据的应用至关重要。对于 VO,图像序列中隐含的顺序依赖、动态和运动也很重要,并且仅考虑单个图像极大地阻碍了实现准确姿态估计的能力

DNN 中的不确定性估计。不确定性在机器人技术中发挥着重要作用,特别是对于定位和导航。在基于几何的 VO 和视觉 SLAM 系统中,不确定性或协方差不仅可以用于与其他传感器模态融合,而且还可以极大地促进特征跟踪和主动搜索


3. Monocular Visual Odometry through RCNN

3.1 网络架构

已经有一些流行且强大的 DNN 架构是为计算机视觉任务开发的。它们中的大多数在设计时都考虑到了识别、分类和检测问题,这意味着它们经过训练可以从外观和图像上下文中学习知识。然而,植根于几何的 VO 不应该与外观紧密耦合。因此,简单地采用当前流行的DNN模型来解决VO问题是很困难的

一个能够学习几何特征表示的框架对于解决 VO 和其他几何问题具有重要意义。同时,导出连续图像帧(例如运动模型)之间的连接至关重要

Fig. 1 © 本文所提出的端到端 VO 系统架构图。该方法以图像(视频)序列作为输入,并使用 DNN 学习的特征和序列模型直接估计姿势和不确定性序列

  • 图像张量被输入 CNN 以产生有效特征,然后通过 RNN 进行顺序学习。
  • 引入 FC 层将 RNN 输出转换为具有不确定性的里程计估计,然后是 SE(3) 合成层,在特殊欧几里得群上执行姿势合成。该网络使用训练图像的真实姿势进行训练,以使用学习到的特征和模型来预测其姿势
  • 每个图像对都会在网络的每个时间步产生 6 个自由度 (DoF) 姿态估计及其协方差

请注意,只有姿势具有训练标签(地面实况),而不确定性是在没有监督的情况下得出的

3.2 特征提取:CNN

为了自动学习适合 VO 问题的有效特征,开发了 CNN 对两个连续单目图像的串联进行特征提取。因为 VO 系统需要推广到未知环境并部署在未知环境中。 CNN 的结构受到光流估计网络的启发

Tab. 1 CNN 的配置

Fig. 2 所提出的单目 VO 系统的输入和 CNN 架构。此处显示的张量尺寸是基于 KITTI 数据集的图像大小作为示例给出的。 CNN 应该根据输入图像的大小而变化。

CNN 采用原始图像而不是经过预处理的图像(例如光流或深度图像)作为输入,因为网络经过训练可以学习 VO 降维的高效特征表示。这种学习到的特征表示不仅将原始高维图像压缩为紧凑的描述,而且还增强了连续的顺序训练过程。因此,最后一个卷积特征Conv6被传递给RNN进行顺序建模

3.3 序列学习:深度 RNN

RNN 非常适合涉及时间模型(运动模型)和序列数据(图像序列)的 VO 问题。例如,估计当前图像帧的姿态可以受益于封装在先前帧和状态中的信息

然而,RNN 不适合直接从高维原始图像中学习顺序表示。因此,所提出系统的 RNN 采用 CNN 特征代替

对于所提出的 VO 网络,深度 RNN 是通过堆叠两个 LSTM 层构建的,如图 3 所示。每个 LSTM 层都有 1024 个隐藏状态。借助这个深度 LSTM 组件,网络有望在高级 CNN 特征的背景下学习时间模型和动态。借助这种顺序学习,RNN 的特征封装了运动信息,可用于姿态估计

Fig. 3 所提出的单目 VO 系统的 RNN、全连接 (FC) 层和 SE(3) 组合层的架构

3.4 全连接层

引入两个全连接层来收集 RNN 的特征并将其转化为运动和不确定性

第一层有 128 个隐藏状态,后面是 ReLU 非线性激活。另一个包含 12 个维度来表示运动和不确定性,即运动 u \mathbf{u} u 的 6 个维度,包括上一个时间步长的行进距离 ( Δ x 、 Δ y 、 Δ z ) (\Delta x、\Delta y 、\Delta z) (ΔxΔyΔz) 和航向变化 ( Δ ϕ 、 Δ θ 、 Δ φ ) (\Delta \mathrm{\phi}、\Delta θ、\Delta \varphi) (ΔϕΔθΔφ) 以及相应方差的 6 个维度

为了导出相对于初始起始坐标系的全局姿态,需要随时间组合位置和方向的变换。这就是设计SE(3)复合层的原因

3.5 SE(3) 复合层

VO 需要增量地组合里程计估计,以便导出相机相对于初始姿势定义的坐标系的全局姿势。 R n \mathbb{R}^n Rn 中的变换 T \mathrm{T} T 可以表示为特殊欧几里得群 S E ( n ) \mathrm{SE}(n) SE(n) 中的元素:
T = [ R t 0 1 ] \mathrm{T}= \begin{bmatrix} \mathrm{R} & \mathrm{t} \\ 0&1 \end{bmatrix} T=[R0t1]

  • 旋转矩阵 R ∈ S O ( n ) \mathrm{R} \in \mathrm{SO}(n) RSO(n) 且平移矩阵 t ∈ R n \mathrm{t} \in \mathbb{R}^n tRn S O ( n ) \mathrm{SO}(n) SO(n) 表示特殊正交群。然后,两个 6 DoF 位姿的串联可以通过 S E ( 3 ) \mathrm{SE}(3) SE(3) 上下文中的矩阵乘法进行
  • 对于一系列姿势,当前姿势估计是通过组合最后一个姿势来计算的
  • 由于 RNN 具有隐藏状态,可以携带先前状态的信息,因此它们应该能够学习姿势组合。然而,由于该姿势合成中没有需要学习的超参数,因此基于SE(3)的操作设计了SE(3)合成层,并将其直接引入到神经网络中以加速学习

4. Uncertainty estimation of VO

不确定性通常是在最优状态估计的框架中得出的。假设机器人系统由非线性离散时间过程模型描述为
y k = f ( y k − 1 , u k , v k ) \mathrm{y}_k=f(\mathrm{y}_{k-1},\mathrm{u}_k,\mathrm{v}_k) yk=f(yk1,uk,vk)
这里 u k = [ Δ x k , Δ y k , Δ z k , Δ ϕ k , Δ θ k , Δ φ k ] T \mathrm{u}_k = [\Delta x_k, \Delta y_k, \Delta z_k, \Delta \phi_k, \Delta \theta_k, \Delta \varphi_k]^T uk=[Δxk,Δyk,Δzk,Δϕk,Δθk,Δφk]T 是运动输入, y k \mathrm{y}_k yk 是时间 k k k 的位姿, v k ∼ N ( 0 , Q k ) \mathrm{v}_k \sim \mathcal{N} (0, \mathrm{Q}_k) vkN(0,Qk) 是高斯过程噪声动作输入。

在 VO 的背景下,相机被用作传感器来计算运动输入 u k \mathrm{u}_k uk 以进行状态预测。而本工作中讨论的 VO 的不确定性是运动输入的不确定性,即 v k \mathrm{v}_k vk,以避免与其他基于视觉的算法混淆

为了获得 VO 的不确定性,就需要从概率角度对特征提取和相机几何进行建模。它涉及相机投影函数的线性化和坐标变换、雅可比矩阵计算等,将特征提取的不确定性转化为VO估计的不确定性,因此,这种不确定性通常通过假设它是恒定的来近似

有效地确定神经网络的不确定性具有挑战性,并且仍然是一个悬而未决的问题。首先,大多数 DNN 的设计和训练仅用于预测平均值。其次,概率推理下定义的不确定性不容易作为监督训练的准确标签

4.1 DNN 的 VO 不确定性

回归 DNN 通常通过最小化均方误差 (MSE) 形式的成本函数进行训练,在给定训练数据的情况下仅生成平均值。这意味着很难得出不确定性,限制了其统计信息来检查预测。

相反,给定 DNN 和时间 k k k 的图像 x k \mathrm{x}_k xk 并假设其预测由运动 u k \mathrm{u}_k uk 及其协方差 Q k \mathrm{Q}_k Qk 组成,它们一起参数化遵循高斯分布的条件概率,我们有
p ( u k ∣ x k ; θ ) = 1 ( 2 π ) 6 ∣ Q k ∣ exp ⁡ ( − 1 2 ( F k ( x k ; θ ) − u k ) T Q k − 1 ( F k ( x k ; θ ) − u k ) ) p(\mathrm{u}_k|\mathrm{x}_k;\theta)=\frac{1}{\sqrt{(2\pi)^6\left|\mathrm{Q}_k\right|}} \exp\left(-\frac{1}{2} (F_k(\mathrm{x}_k;\theta)-\mathrm{u}_k)^T\mathrm{Q}^{-1}_k(F_k(\mathrm{x}_k;\theta)-\mathrm{u}_k)\right) p(ukxk;θ)=(2π)6Qk 1exp(21(Fk(xk;θ)uk)TQk1(Fk(xk;θ)uk))
其中 F k ( x k ; θ ) F_k(\mathrm{x}_k; θ) Fk(xk;θ) 表示神经网络定义的函数,该函数由其参数 θ θ θ(权重和偏差)进行参数化,以根据 x k \mathrm{x}_k xk 预测 u k \mathrm{u}_k uk。如果我们通过最小化它的负对数来最大化,有
θ ∗ = a r g m a x θ p ( u k ∣ x k ; θ ) = a r g m i n θ − log ⁡ p ( u k ∣ x k ; θ ) = a r g m i n θ log ⁡ ∣ Q k ∣ + ( F k ( x k ; θ ) − u k ) T Q k − 1 ( F k ( x k ; θ ) − u k ) \begin{aligned} \theta^* &= \mathop{\mathrm{argmax}}\limits_\theta\ p(\mathrm{u}_k|\mathrm{x}_k;\theta)\\ & = \mathop{\mathrm{argmin}}\limits_\theta − \log\ p(\mathrm{u}_k|\mathrm{x}_k;\theta)\\ &= \mathop{\mathrm{argmin}}\limits_\theta \log |\mathrm{Q}_k| + (F_k(\mathrm{x}_k;\theta)-\mathrm{u}_k)^T\mathrm{Q}^{-1}_k(F_k(\mathrm{x}_k;\theta)-\mathrm{u}_k) \end{aligned} θ=θargmax p(ukxk;θ)=θargminlog p(ukxk;θ)=θargminlogQk+(Fk(xk;θ)uk)TQk1(Fk(xk;θ)uk)
当所有样本和时间步长的 Q k \mathrm{Q}_k Qk 被假设为常数( Q k \mathrm{Q}_k Qk 可以被忽略,因为它不影响最优值 θ ∗ \theta^* θ)时,MSE 是这种情况的一个特例。因此,为了使 VO 具有协方差,神经网络需要将 Q k \mathrm{Q}_k Qk 保留并预测为高斯分布的参数。这就是为什么在之前的 RCNN 中,最后一个全连接层由运动 u k \mathrm{u}_k uk 及其协方差 Q k \mathrm{Q}_k Qk 组成,即网络输出的一个子集定义了 VO 估计,而其余的则表示其不确定性

训练中无真正的协方差

一个巨大的挑战是在监督学习的框架中,虽然可以通过额外强大的设备(例如 Vicon 和激光扫描仪)获得 u \mathrm{u} u 的标签,但很难产生用于训练的 Q \mathrm{Q} Q 标签,或算法。事实上,通过最小化负对数来训练神经网络可以通过最小化 F ( x ; θ ) F(\mathrm{x};\theta) F(x;θ) u \mathrm{u} u 之间的差异来驱动,而不需要 Q \mathrm{Q} Q 的标签。协方差 Q k \mathrm{Q}_k Qk 也必须在训练过程中进行优化以平衡成本函数,它可以被隐式训练。由于没有采用标签来训练不确定性估计,因此在某种程度上是无监督学习

保持协方差矩阵的性质

协方差矩阵需要是半正定的。因此,在优化过程中必须保持该属性。

我们建议根据Cholesky分解将协方差矩阵重新参数化为下三角矩阵,然后使用神经网络来预测其元素。协方差矩阵可以恢复为预测下三角矩阵及其转置的乘积。这不仅保证了正半定性,而且减少了神经网络需要预测的元素数量


5. Cost function and optimisation

ESP-VO 的 DNN 旨在同时预测姿态和不确定性。

Fig. 6 使用联合成本函数进行位姿和不确定性的网络训练。 (黑色)表示成本函数中的错误,而⊕(绿色)和(黄色)分别表示姿态复合和反向关系

至于姿势估计,所提出的 RCNN 可以被认为是在给定的一系列单目图像 X t = ( x 1 , . . . , x t ) \mathrm{X}_t = (\mathrm{x}_1, ..., \mathrm{x}_t) Xt=(x1,...,xt) 直到时间 t t t 计算姿势的条件概率 Y t = ( y 1 , . . . , y t ) \mathrm{Y}_t = (\mathrm{y}_1, ..., \mathrm{y}_t) Yt=(y1,...,yt)
p ( Y t ∣ X t ) = p ( y 1 , . . . , y t ∣ x 1 , . . . , x t ) p(\mathrm{Y}_t|\mathrm{X}_t) = p(\mathrm{y}_1, ..., \mathrm{y}_t|\mathrm{x}_1, ..., \mathrm{x}_t) p(YtXt)=p(y1,...,ytx1,...,xt)
用于姿态估计的最佳网络参数 θ ∗ \theta^* θ(权重和偏差)可以通过最大化上述公式来获得
θ ∗ = a r g m a x θ p ( Y t ∣ X t ; θ ) \theta^*=\mathop{\mathrm{argmax}}\limits_\theta\ \ p(\mathrm{Y}_t|\mathrm{X}_t;\theta) θ=θargmax  p(YtXt;θ)
因此,基于 MSE,地面真值姿态 y k = ( p k T , Φ k T ) T \mathrm{y}_k = (\mathrm{p}_k^T , \mathrm{\Phi}_k^T )^T yk=(pkT,ΦkT)T 与其估计 y ^ k = ( p ^ k T , Φ ^ k T ) T \hat{\mathrm{y}}_k = (\hat{\mathrm{p}}_k^T , \hat{\mathrm{\Phi}}_k^T )^T y^k=(p^kT,Φ^kT)T 在时间 k 之间的欧几里得距离可以最小化为
θ ∗ = a r g m i n θ 1 t ∑ k = 1 t ∣ ∣ p ^ k − p k ∣ ∣ 2 2 + κ ∣ ∣ Φ ^ k − Φ k ∣ ∣ 2 2 \theta^∗ = \mathop{\mathrm{argmin}}\limits_\theta \frac{1}{t} \sum\limits^t_{k=1}\left|\left|\hat{\mathrm{p}}_k − \mathrm{p}_k\right|\right|_2^2 + \kappa\left|\left|\hat{\Phi}_k − \Phi_k\right|\right|^2_2 θ=θargmint1k=1tp^kpk22+κ Φ^kΦk 22
其中 p \mathrm{p} p Φ \Phi Φ 分别表示位置和方向, ∣ ∣ ⋅ ∣ ∣ \left|| \cdot \right|| 是 2-范数, κ \kappa κ 是平衡位置和方向权重的比例因子

在运动和不确定性估计方面,给定一系列单目图像 X t = ( x 1 , . . . , x t ) \mathrm{X}_t = (\mathrm{x}_1,...,\mathrm{x}_t) Xt=(x1,...,xt),通过最大化运动的条件概率 U t = ( u 1 , . . . , u t ) \mathrm{U}_t = (\mathrm{u}_1, ..., \mathrm{u}_t) Ut=(u1,...,ut) 来训练 RCNN
p ( U t ∣ X t ) = p ( u 1 , . . . , u t ∣ x 1 , . . . , x t ) θ ∗ = a r g m i n θ 1 t ∑ k = 1 t log ⁡ ∣ Q ^ k ∣ + ( u ^ k − u k ) T Q ^ k − 1 ( u ^ k − u k ) p(\mathrm{U}_t|\mathrm{X}_t) = p(\mathrm{u}_1, ..., \mathrm{u}_t|\mathrm{x}_1, ..., \mathrm{x}_t)\\ \theta^*=\mathop{\mathrm{argmin}}\limits_\theta\ \frac{1}{t}\sum_{k=1}^t\log\left|\hat{\mathrm{Q}}_k\right|+(\hat{\mathrm{u}}_k-\mathrm{u}_k)^T\hat{\mathrm{Q}}_k^{-1}(\hat{\mathrm{u}}_k-\mathrm{u}_k) p(UtXt)=p(u1,...,utx1,...,xt)θ=θargmin t1k=1tlog Q^k +(u^kuk)TQ^k1(u^kuk)
其中 u ^ \hat{\mathrm{u}} u^ Q ^ \hat{\mathrm{Q}} Q^ 由最后一个全连接层制定


6. Experimental results

6.1 数据集
  • KITTI VO 数据集

  • M a ˊ l a g a M\acute{a}laga Maˊlaga 数据集

  • 城市景观数据集

  • EuRoC MAV 数据集

  • 自采集的室内运动数据集

  • 纽约大学深度数据集

6.2 算法

由于在未检测到回环时视觉 SLAM 会变为 VO,因此要比较的算法还包括一些禁用回环检测的视觉 SLAM 算法

VISO2

它使用基于稀疏特征的立体匹配来实现高效的单目和立体VO。由于单目 VO 没有绝对比例,因此单目 VISO2 利用固定的相机高度(1.7 米)来恢复绝对位置

ORB-SLAM

为了实现单目 VO 背景下的比较,ORB-SLAM 算法被修改,其全局闭环检测被禁用

LSD-SLAM

它不仅通过进行直接跟踪来检测尺度漂移,而且还从概率角度对噪声深度估计进行建模以执行准确的跟踪

6.3 训练和测试

该网络基于TensorFlow框架实现,Adam 优化器用于训练网络,初始学习率为 0.001,参数 β 1 = 0.9 \beta_1 = 0.9 β1=0.9 β 1 = 0.999 \beta_1 = 0.999 β1=0.999,最多 200 个epoch。在网络训练过程中引入了 Dropout、提前停止和增量训练技术。为了减少所需的训练数据数量并促进网络收敛,CNN 基于预训练的 FlowNet 模型

6.4 过拟合对于 VO 结果的影响

Fig. 5 在 KITTI 数据集上训练的两个模型的训练损失和 VO 结果。顶行和底行的图分别是关于过拟合和拟合良好的模型。 (a) 和 (d):训练和验证损失。 (b) 和 (e):训练数据的估计 VO(序列 00)。 © 和 (f):测试数据的估计 VO(序列 05)

对于基于深度学习的 VO 问题,过拟合具有非常直观的影响,并且会严重降低里程估计的性能。拟合良好的模型是确保对未经训练的环境进行良好泛化和可靠姿态估计的关键

在本文的工作中,发现方向比位置更容易出现过拟合。这可能是因为方向变化通常较小

6.5 户外驾驶场景的结果

在 KITTI 数据集上的结果

在 KITTI 数据集上进行了两组实验来评估所提出的方法

  • 第一个是基于序列00-10,使用groundtruth来定量分析其性能,因为groundtruth仅针对这些序列提供
    • 仅使用较长的序列00、01、02、08和09进行训练。将轨迹随机分割成不同的长度,以生成大量用于训练的数据
    • 训练好的模型在序列03、04、05、06、07和10上进行测试以进行评估
  • 进行了一些实验来分析所提出的方法和经过训练的 VO 模型在全新环境中的表现
    • 在所有序列 00-10 上训练的模型都在新数据上进行测试,例如没有可用真实数据的序列 11-21 和 KITTI 基准的原始数据

采用 ORB-SLAM、单目 VISO2 和立体 VISO2 来评估所提出的 VO 方法的性能,但 LSD-SLAM 始终无法跟踪 KITTI 数据集,没有提供LSD-SLAM的结果

Fig. 9 不同路径长度和速度下平移和旋转的平均误差。使用的 ESP-VO 模型在序列 00、01、02、08 和 09 上进行训练,并在序列 03、04、05、06、07 和 10 上进行测试。当它在更多数据上进行训练时,其性能预计会有所提高

Fig. 10 不同算法在序列05上的VO结果轨迹。所使用的ESP-VO模型是在序列00、01、02、08和09上训练的

Fig. 11 序列 03、04、05、06、07 和 10 上 VO 测试结果的轨迹。使用的 ESP-VO 模型在序列 00、01、02、08 和 09 上进行训练,其尺度从神经网络自动恢复,无需对齐基本事实。当接受更多数据的训练时,其性能有望提高

ESPVO 产生相对于地面真实情况相对准确且一致的轨迹,尽管它随着时间的推移而漂移,这表明该尺度可以进行高精度估计。ESP-VO 既不执行尺度估计,也不执行与地面实况的后对齐以获得绝对姿态。该尺度完全由神经网络本身维护,并在端到端训练期间隐式学习

Fig. 12 KITTI VO 基准测试序列 11、12、15、17、18 和 19 的 VO 结果轨迹(这些测试序列没有可用的地面事实)。使用的 ESP-VO 模型在 KITTI VO 基准的整个训练数据集 (00-10) 上进行训练,其尺度从神经网络自动恢复,无需与地面实况对齐

ESP-VO 的性能优于单目 VISO2 和 ORB-SLAM,并且是与双目 VISO2 最相似的一种。这个更大的训练数据集似乎还提高了 ESP-VO 的性能。考虑到立体 VISO2 的立体特性,ESPVO 作为单目 VO 算法,在不同的未知场景中实现了有竞争力的性能和良好的泛化能力

图 12(b) 中的序列 12 的测试可能是一个例外,尽管轨迹的形状接近立体 VISO2,但其定位误差相当高。有几个原因。首先,训练数据集没有足够的高速数据;此外,图像仅以 10 Hz 的频率捕获,这使得快速运动期间的 VO 估计更具挑战性

Fig. 13 KITTI 原始数据集序列 39、61、64、95 上的 ESP-VO 测试结果轨迹,每个序列有 5 个样本图像

Fig. 14 序列 12 中的示例图像显示了该序列中的动态物体和大片开放区域

Cityscapes 和 Málaga 数据集的测试结果

为了进一步评估 EPSVO 在新环境下不同平台上的泛化能力,使用 Cityscapes 和 Málaga 数据集直接测试在 KITTI 数据集上训练的模型。请注意,本部分中的所有结果都是通过直接在 Málaga 或 Cityscapes 数据集上进行测试而产生的,无需对其进行任何训练或微调

Fig. 15 在 Cityscapes 数据集上测试结果,无需对其进行训练或微调。使用的 ESP-VO 仅在 KITTI 的训练数据集 (00-10) 上进行训练

Fig. 16 Málaga 数据集的测试结果覆盖在 Google 地图上,无需对其进行训练或微调。使用的 ESP-VO 仅在 KITTI 的训练数据集 (00-10) 上进行训练

ESP-VO 接近立体 VISO2 和 GPS,并且在大多数序列上显着优于单目 VISO2。与所有里程计技术类似,ESP-VO 也会随着时间的推移而出现漂移。我们可以通过与其他传感器(例如 GPS)融合或使用 SLAM 进行改进来纠正漂移

6.6 MAV 场景中的结果

EuRoC 数据集用于评估所提出的 ESP-VO 方法在复杂飞行运动中的性能。由于EuRoC数据集在机器大厅中只有5个图像序列,因此我们用不同的序列组合来训练神经网络

Fig. 17 ESP-VO 在 EuRoC 数据集的 Machine Hall 04(“困难”)上的结果。使用的模型在 Machine Hall 01、02、03 和 05 上进行训练。对于基于 DL 的 ESP-VO 方法,训练数据的大小非常有限

从样张图中我们可以看到,部分环境非常暗,导致图像曝光不足。尽管轨迹会随时间漂移,但 ESP-VO 仍能够准确地恢复轨迹的形状和比例。图 17(b) 给出了相对于地面实况的相应 6 DoF 位置和方向估计。可以看出,网络很好地跟踪了位置和方向的变化,这意味着网络学习了飞行机器人的动力学

Fig. 18 ESP-VO 在 EuRoC 数据集的 Machine Hall 05(“困难”)上的结果。使用的模型是在机器大厅 01-04 上训练的。对于基于 DL 的 ESP-VO 方法,训练数据的大小非常有限

6.7 室内运动场景的结果

室内运动场景的实验分两部分进行。首先使用自行收集的数据集来训练和测试 ESP-VO 模型。然后,直接使用 NYU 数据集进行测试,无需任何进一步的训练或微调

在自收集数据集的结果

网络模型使用在部门大楼收集的训练数据进行训练,然后在另一座办公楼和博物馆进行测试

Fig. 19 ESP-VO 和示例图像在办公楼环境中的测试结果。点周围的 3 个连续图像显示帧之间的快速转动和大场景变化

可以看出,该数据集对于单目 VO 来说非常具有挑战性,因为图像是在不同的光照条件下捕获的,并且其中一些图像大多包含狭窄走廊中无纹理的白墙

Fig. 20 ORB-SLAM 失去跟踪的过程,并用图像显示正在跟踪的特征

当图像帧的大部分部分是低纹理白墙时,在失去追踪之前,当前图像帧与关键帧之间的特征对应关系数量急剧减少。这是基于特征的方法的众所周知的限制

Fig. 21 博物馆内有繁忙咖啡馆的 ORB-SLAM 示例图像和结果 ́ 。图像显示了具有挑战性的照明条件和行走的人。大尺度漂移出现在 ORB-SLAM 轨迹的不同段上

Fig. 22 使用颜色编码深度图和连续图像序列的 LSD-SLAM 丢失跟踪过程

可以看出,由于单目 VO 的额外规范自由度,ORB-SLAM 轨迹的不同段上存在大规模漂移。由于该轨迹上不存在全局循环(参见图 23 中的整个轨迹),因此即使具有尺度漂移感知校正的 ORB-SLAM 的 SLAM 版本也无法缓解此问题

这是因为使用低速率图像帧跟踪快速旋转期间的姿势具有挑战性,并且自动曝光变化可能违反直接方法的亮度恒定性假设

Fig. 23 博物馆数据集的本地化结果。表明 ESP-VO 可以仅使用单目视觉来准确估计 VO,而无需明确的尺度估计或与地面实况进行后对齐

Fig. 24 博物馆数据集上 ESP-VO 的位置和方向。表明 ESP-VO 以合理的精度预测位置和方向

6.8 NYU深度数据集的测试结果

使用 NYU 深度数据集直接测试在我们自己收集的数据集上训练的 ESP-VO 模型,评估其在全新场景中的泛化能力

NYU 数据集中没有可用于评估目的的地面真实姿势。由于Kinect摄像头视场相对较窄、室内环境纹理有限以及摄像头运动速度过快等带来的困难,NYU数据集很少用于测试单目VO和SLAM

Fig. 25 ESP-VO 和 RGBD-SLAM 在 NYU nyu office 0 序列以及连续图像上的结果。请注意位置 A 和 B 处连续图像的巨大变化

可以看出,RGBD-SLAM虽然在SLAM后端优化后仍然存在一些误差,但得益于SLAM期间维护的深度信息和地图,可以高精度地估计位姿。与 RGBD-SLAM 的定位结果相比,ESP-VO 作为一种单目 VO 技术,尽管在位置 A、B 和 C 处存在较大的漂移,但仍以合理的精度恢复了运动轨迹

根据图 25 中的连续图像(b),我们可以看到,由于严重的角运动导致缺乏图像重叠,VO 方法在位置 A 和 B 上表现良好非常具有挑战性

Fig. 26 NYU 卧室 0002 序列上的 ESP-VO 和 RGBD-SLAM 结果以及该序列的 10 个样本图像

进一步使用 NYU 卧室 0002 序列测试 ESP-VO。由于 ESP-VO 仅使用在办公楼中收集的数据进行训练,因此它之前从未“见过”任何卧室。这意味着测试环境的风格对于 ESP-VO 模型来说是全新的

6.8 不确定性估计

本节评估所提出的 ESP-VO 的不确定性估计。这里以 KITTI 数据集为例。为了获得评估协方差估计的基本事实,所采用的 ESP-VO 模型在序列 00、01、02、08 和 09 上进行训练,留下其他序列进行测试。序列06测试结果详细分析

Fig. 27 两个连续图像之间针对 3 σ \sigma σ 协方差间隔的 VO 误差(KITTI 序列 06)

可以看出,位置和方向上的误差均位于协方差区间之间,这验证了 ESP-VO 的不确定性估计的有意义

Fig. 28 VO 在整个序列 06 上随时间漂移,协方差间隔为 3 σ \sigma σ。表明 VO 漂移始终受 3σ 协方差区间限制,并且偏航漂移逐渐增加,并且在转弯时增加得更多

Fig. 29 VO 在序列 06 上随 3σ 协方差椭圆漂移。协方差椭圆的颜色强度随着时间的推移而增加

可以看出,虽然轨迹漂移,但其协方差椭圆不断覆盖相应的地面真实位姿

为了进一步评估 ESP-VO 估计的协方差,其 VO 被扩展用于基于位姿图 SLAM 的机器人定位。由于里程计边缘的协方差在位姿图 SLAM 中至关重要,因此在位姿图 SLAM 的背景下分析协方差估计的性能是准确的

Fig. 30 使用具有不同协方差的 ESP-VO 中的 VO 在序列 06 上得出位姿图 SLAM 结果。一条轨迹是使用 ESP-VO 估计的协方差生成的,而另外两条轨迹则使用两个不同的固定协方差

目的是评估 ESP-VO 不确定性估计的性能。这里没有采用相似变换Sim(3)组优化、局部BA等先进技术

Fig. 31 基于 VO 和 ESP-VO 的协方差结果在 KITTI 序列 05 和 07 上的 SLAM 结果

6.9 运行时间、可靠性和限制

Fig. 32 用于预测的每帧运行时间的直方图

ESPVO 在 GPU 上的运行速度约为每秒 20 帧 (FPS),在 CPU 上的运行速度约为 6 FPS

所提出的 ESP-VO 均使用现实世界数据进行训练和测试,这些数据表现出各种具有挑战性的照明条件、图像过度曝光和曝光不足、图像模糊、动态物体、低纹理环境、敏捷运动、快速旋转等。测试 ESP-VO 的示例视频演示了这一点。由于图像受到非常严重的滚动快门效应和模糊影响

Fig. 33 用于在超市测试 ESP-VO 的滚动快门手机摄像头的示例图像。建议观看视频,看看严重的卷帘效果

通过直接在全新环境中使用不同设备收集的新数据集上进行测试,验证了 ESP-VO 的泛化能力。由于CNN学习的特征是与光流相关的几何特征而不是外观,因此它可以推广到新的场景而无需微调。与所有基于监督学习的方法类似,基于深度学习的方法的性能很大程度上取决于训练数据集的质量以及训练数据和测试数据之间共享的相似性(就特征表示而不是图像外观而言)。因此,大规模数据集通常可以提高训练模型的泛化能力和结果

Fig. 34 KITTI Sequence 21 的结果以及样本图像。该序列是在有许多动态驾驶汽车的高速公路上高速拍摄的。没有可用的地真数据

ESP-VO 的规模是在训练过程中隐式学习的,无需使用额外的信息或设备。上述结果表明,模型可以准确地估计不同环境下的尺度。然而,在单一场景中训练模型可能会导致性能下降。因此,有必要训练一个跨不同场景的模型来进行规模估计


7. 讨论和开放性问题

7.1 提高学习的准确性和稳健性
  • 在考虑鲁棒性时仍然会遇到问题,例如拒绝在具有挑战性的场景(例如低纹理走廊和快速运动)的操作过程中经常会初始化并丢失跟踪
  • 在设计 VO 或视觉 SLAM 系统时,仍然需要花费大量时间手动分析故障案例,然后修补我们的算法
  • 泛化是关键,因为只要训练数据和测试数据具有一定的相似性,基于深度学习的算法就能很好地工作。对于相似性,这里我们指的是 DNN 学习的特征表示和动态模型方面的相似性,而不是简单的图像外观
7.2 什么可以促进 VO 和机器人技术中的深度学习
  • 首先是可用于训练 DNN 执行各种任务的数。机器人领域可用的大规模高质量数据集数量有限
  • 另一个是DNN的架构。由于 RNN 可以以端到端的方式进行训练,许多难以通过手工设计明确建模或利用的连接和依赖关系是可以学习的
7.3 关于基于 DL 的 VO 和视觉 SLAM 的开放问题

与基于几何的方法相结合

将基于深度学习的方法与基于传统几何的方法结合起来进行 VO 估计至关重要。然而,尚不清楚以何种方式实现这一点最有效

结合闭环检测进行 SLAM

ESP-VO 的结果展示了位姿图 SLAM 的一些初步结果。但目前尚不清楚通过使用传统框架(例如图 SLAM)或基于 DL 设计新的 SLAM 端到端范式来实现这一目标是否理想

无监督学习

所提出的基于深度学习的方法的 DNN 是通过使用用于 VO 估计的监督学习来训练的,这仍然是在实践中从大规模未标记数据中受益的障碍。启用无监督学习应该提供更多的数据来提高基于深度学习的方法的性能

强化系统

深度强化学习也许能够定义一个好的策略来引导 VO 系统实现这一目标


8. Conlusion

  • 本文提出了一种基于深度学习的新颖的端到端、序列到序列概率单目 VO 算法,演示了如何充分利用我们可能已经收集的数据来构建和改进 VO 系统
  • 由于没有采用传统 VO 算法的模块(甚至相机校准),并且 DNN 以端到端的方式进行训练,因此无需仔细调整 VO 系统的参数
  • 尽管所提出的基于 DL 的 VO 方法在该领域显示出一些潜力,但我们强调它不会取代基于经典几何的方法。相反,这将是一个可行的补充,即将基于几何的方法与 DNN 学习的表示、知识和模型相结合,以进一步提高 VO 系统的准确性,更重要的是,鲁棒性

相关文章:

  • Fastjson2 <== 2.0.26反序列漏洞
  • redis 为什么会阻塞
  • 二刷代码随想录算法训练营第七天 |454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
  • Python 编辑工具 Jupyter notebook
  • PTA天梯 L1-087 机工士姆斯塔迪奥
  • SQL中把datetime 转为字符串
  • 多模态论文阅读--V*指导视觉搜索成为多模态大语言模型的核心机制
  • Java 石头剪刀布小游戏
  • 【MySQL】查询语句:条件、排序和分页
  • Thinkphp框架漏洞--->5.0.23 RCE
  • 通过vue实现左侧树状右侧的组件
  • MySQL数据库基本操作(一)
  • 创建hadoop集群
  • WPS如何共享文件和文件夹
  • (规划)24届春招和25届暑假实习路线准备规划
  • 【Leetcode】101. 对称二叉树
  • 【译】JS基础算法脚本:字符串结尾
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 03Go 类型总结
  • 2019.2.20 c++ 知识梳理
  • Android Volley源码解析
  • create-react-app项目添加less配置
  • go语言学习初探(一)
  • JavaScript设计模式与开发实践系列之策略模式
  • laravel with 查询列表限制条数
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MYSQL 的 IF 函数
  • Sass 快速入门教程
  • select2 取值 遍历 设置默认值
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 阿里云前端周刊 - 第 26 期
  • 笨办法学C 练习34:动态数组
  • 解析 Webpack中import、require、按需加载的执行过程
  • 前端性能优化——回流与重绘
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 算法系列——算法入门之递归分而治之思想的实现
  • 网络应用优化——时延与带宽
  • 异步
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # Java NIO(一)FileChannel
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (31)对象的克隆
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (定时器/计数器)中断系统(详解与使用)
  • (翻译)terry crowley: 写给程序员
  • (附源码)计算机毕业设计大学生兼职系统
  • (六)Hibernate的二级缓存
  • (十八)三元表达式和列表解析
  • (十一)手动添加用户和文件的特殊权限
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原創) 未来三学期想要修的课 (日記)