UnDeepVO: Monocular Visual Odometry through Unsupervised Deep Learning 论文阅读

论文链接

UnDeepVO: Monocular Visual Odometry through Unsupervised Deep Learning


0. Abstract

  • 提出了一种名为 UnDeepVO 的新型单目视觉里程计(VO)系统。 UnDeepVO 能够使用深度神经网络估计单目相机的 6-DoF 位姿及其视图深度
  • 两个显着特征:一是无监督深度学习方案,二是绝对规模恢复

Fig. 1 UnDeepVO 的系统概括。在使用未标记的立体图像进行训练后,UnDeepVO 可以同时使用单目图像进行视觉里程计和深度估计。估计的 6-DoF 位姿和深度图均已缩放,无需进行缩放后处理


1. Intro

视觉里程计有两类主要的方法:特征法和直接法

目前,在实践中获取真实数据集通常很困难且昂贵,并且用于监督训练的现有标记数据集的数量仍然有限。这些限制建议后续工作寻找各种无监督学习 VO 方案

本文主要贡献

  • 展示了一个具有恢复绝对尺度的单目 VO 系统,并且我们通过利用空间和时间几何约束以无监督的方式实现
  • 由于在训练期间使用立体图像对,不仅估计的姿态而且估计的密集深度图都是以绝对比例生成的
  • 使用 KITTI 数据集评估我们的 VO 系统,结果表明 UnDeepVO 在单目相机的姿态估计方面取得了良好的性能

2. System Overview

Fig. 2 UnDeepVO 的架构图

系统由姿态估计器和深度估计器组成,如图 2 所示。两个估计器都以连续的单目图像作为输入,并分别生成缩放的 6-DoF 姿态和深度作为输出

姿态估计器:基于 VGG 的 CNN 架构。它以两个连续的单目图像作为输入并预测它们之间的 6-DoF 变换。由于旋转(以欧拉角表示)具有高度非线性,因此与平移相比通常很难训练。为了更好地通过无监督学习训练旋转,在最后一个卷积层之后用两组独立的全连接层将平移和旋转解耦。这使我们能够引入对旋转和平移预测进行归一化的权重,以获得更好的性能

深度估计器:基于编码器-解码器架构来生成密集的深度图。UnDeepVO 的深度估计器被设计为直接预测深度图。这是因为训练轨迹表明,以这种方式训练时整个系统更容易收敛

UnDeepVO 的一个特点是恢复 6-DoF 姿态和深度的绝对尺度,这归功于我们的训练方案,如图 3 所示

Fig. 3 UnDeepVO的训练方案。位姿和深度估计器将立体图像作为输入来分别估计 6-DoF 位姿和深度图。然后可以根据原始 RGB 图像、估计的深度图和姿势计算总损失,包括空间损失和时间损失

利用立体图像序列的空间和时间几何一致性来制定损失函数.一张图像中的红点在另一张图像中都有对应的红点。空间几何一致性表示左右图像对中对应点之间的几何射影约束,而时间几何一致性表示两个连续单目图像中对应点之间的几何射影约束,通过使用这些约束来构建损失函数并将它们一起最小化,UnDeepVO 学会以端到端无监督方式估计缩放的 6-DoF 姿势和深度图


3. Objective Losses For Unsupervised Training

UnDeepVO 通过反向传播进行损失训练。由于损失是建立在几何约束而不是标记数据的基础上的,因此 UnDeepVO 以无监督的方式进行训练。

其总损失包括空间图像损失和时间图像损失,如图3所示。空间图像损失驱动网络通过使用立体图像对来恢复缩放的深度图,而时间图像损失旨在最小化相机上的误差使用两个连续的单眼图像进行运动

3.1 立体图像对的空间图像损失

空间损失是根据左右立体图像之间的几何约束构建的。它由左右光度一致性损失、视差一致性损失和姿态一致性损失组成

光度一致性损失:对于两幅立体图像之间的重叠区域,一幅图像中的每个像素都可以在另一幅图像中以水平距离 D p D_p Dp 找到其对应关系。假设 p l ( u l , v l ) p_l(u_l, v_l) pl(ul,vl) 是左图像中的一个像素, p r ( u r , v r ) p_r(u_r, v_r) pr(ur,vr) 是右图像中其对应的像素。就有空间约束 u l = u r u_l = u_r ul=ur v l = v r + D p v_l = v_r + D_p vl=vr+Dp,距离 Dp 可由下式计算
D p = B f / D d e p (1) D_p=Bf/D_{dep}\tag{1} Dp=Bf/Ddep(1)
其中 B B B 是立体相机的基线, f f f 是焦距, D d e p D_{dep} Ddep 是对应像素的深度值

有了这个空间约束和计算出的 D p D_p Dp 图,我们可以通过“空间变换器”合成一幅图像和另一幅图像。 L1范数和SSIM项的组合用于构造左右光度一致性损失
L p h o l = λ s L S S I M ( I l , I l ′ ) + ( 1 − λ s ) L l 1 ( I l , I l ′ ) (2) L^l_{pho} = λ_sL^{SSIM}(I_l, I_l^\prime) + (1 − λ_s)L^{l_1} (I_l, I_l^′)\tag{2} Lphol=λsLSSIM(Il,Il)+(1λs)Ll1(Il,Il)(2)

L p h o r = λ s L S S I M ( I r , I r ′ ) + ( 1 − λ s ) L l 1 ( I r , I r ′ ) (3) L^r_{pho} = λ_sL^{SSIM}(I_r, I_r^\prime) + (1 − λ_s)L^{l_1} (I_r, I_r^′)\tag{3} Lphor=λsLSSIM(Ir,Ir)+(1λs)Ll1(Ir,Ir)(3)

其中 I l , I r I_l,I_r IlIr 分别是原始左图像和右图像, I l ′ I_l^′ Il 是原始右图像 I r I_r Ir 合成的左图像, I r ′ I_r^′ Ir 是原始左图像 I l I_l Il 合成的右图像。

视差一致性损失:左右视差图(深度的倒数)也受到 D p D_p Dp 的约束。 UnDeepVO使用的视差图是
D d i s = D p × I W (4) D_{dis}=D_p\times I_{W}\tag{4} Ddis=Dp×IW(4)
其中 I W I_W IW 是原始图像尺寸的宽度。将左右视差图分别表示为 D d i s l D^l_{dis} Ddisl D d i s r D^r_{dis} Ddisr。我们可以用 D p D_p Dp D d i s r D^r_{dis} Ddisr D d i s l D^l_{dis} Ddisl 合成 D d i s l ′ D^{l^\prime}_{dis} Ddisl D d i s r ′ D^{r^\prime}_{dis} Ddisr。那么视差一致性损失为
L d i s l = L l 1 ( D d i s l , D d i s l ′ ) (5) L^l_{dis} = L^{l_1} (D^l_{dis}, D^{l^\prime}_{dis})\tag{5} Ldisl=Ll1(Ddisl,Ddisl)(5)

L d i s r = L l 1 ( D d i s r , D d i s r ′ ) (6) L^r_{dis} = L^{l_1} (D^r_{dis}, D^{r^\prime}_{dis})\tag{6} Ldisr=Ll1(Ddisr,Ddisr)(6)

姿势一致性损失:在训练过程中,我们使用左右图像序列分别预测相机的 6-DoF 变换。理想情况下,这两个预测的转换应该基本相同。通过以下方式来惩罚它们之间的差异
L p o s = λ p L l 1 ( x l ′ , x r ′ ) + λ o L l 1 ( φ l ′ , φ r ′ ) (7) L_{pos} = \mathbf{λ}_pL^{l_1} (\mathbf{x}^′_l , \mathbf{x}^′_r) + \mathbf{λ}_oL^{l_1}(\mathbf{φ}_l^′, \mathbf{φ}_r^′)\tag{7} Lpos=λpLl1(xl,xr)+λoLl1(φl,φr)(7)
其中 λ p \mathbf{λ}_p λp 是左右位置一致性权重, λ o \mathbf{λ}_o λo 是左右方向一致性权重, [ x l ′ , φ l ′ ] [\mathbf{x}^′_l, \mathbf{φ}_l^′] [xl,φl] [ x r ′ , φ r ′ ] [\mathbf{x}^′_r, \mathbf{φ}_r^′] [xr,φr] 分别是左右图像序列的预测姿势

3.2 连续单目图像的时间图像损失

时间损失是根据两个连续单目图像之间的几何约束来定义的。它是恢复相机六自由度运动的重要部分。它包括光度一致性损失和3D几何配准损失。

光度一致性损失:光度损失是根据两个连续的单眼图像计算的。为了估计 6-DoF 变换,采用投影光度误差作为损失来最小化。分别表示 I k I_k Ik I k + 1 I_{k+1} Ik+1 为第 k k k 和第 ( k + 1 ) (k+1) (k+1) 图像帧, p k ( u k , v k ) p_k(u_k,v_k) pk(uk,vk) I k I_k Ik 中的一个像素, p k + 1 ( u k + 1 , v k + 1 ) p_{k+1}(u_{k+1},v_{k+1}) pk+1(uk+1,vk+1) 为对应的 I k + 1 I_{k+1} Ik+1 中的像素。然后,我们可以通过 p k p_k pk 导出 p k + 1 p_{k+1} pk+1
p k + 1 = K T k , k + 1 D d e p K − 1 p k (8) p_{k+1} = KT_{k,k+1}D_{dep}K^{−1}p_k\tag{8} pk+1=KTk,k+1DdepK1pk(8)
其中 K K K 是相机本征矩阵, D d e p D_{dep} Ddep 是第 k k k 帧中像素的深度值, T k , k + 1 T_{k,k+1} Tk,k+1 是从第 k k k 帧到第 ( k + 1 ) (k+1) (k+1) 帧的相机坐标变换矩阵。以通过使用估计姿态和“空间变换器”从 I k + 1 I_{k+1} Ik+1 I k I_k Ik 合成 I k ′ I_k^′ Ik I k + 1 ′ I_{k+1}^\prime Ik+1。因此,单目图像序列之间的光度损失为
L p h o k = λ s L S S I M ( I k , I k ′ ) + ( 1 − λ s ) L l 1 ( I k , I k ′ ) (9) L^k_{pho} = λ_sL^{SSIM}(I_k, I_k^′ ) + (1 − λ_s)L^{l_1}(I_k, I_k^′)\tag{9} Lphok=λsLSSIM(Ik,Ik)+(1λs)Ll1(Ik,Ik)(9)

L p h o k + 1 = λ s L S S I M ( I k + 1 , I k + 1 ′ ) + ( 1 − λ s ) L l 1 ( I k + 1 , I k + 1 ′ ) (10) L^{k+1}_{pho} = λ_sL^{SSIM}(I_{k+1}, I_{k+1}^′ ) + (1 − λ_s)L^{l_1}(I_{k+1}, I_{k+1}^′)\tag{10} Lphok+1=λsLSSIM(Ik+1,Ik+1)+(1λs)Ll1(Ik+1,Ik+1)(10)

3D 几何配准损失:3D几何配准损失是通过对齐两个点云来估计变换,类似于迭代最近点(ICP)技术。假设 P k ( x , y , z ) P_k(x, y, z) Pk(x,y,z) 是第 k 个相机坐标中的一个点。然后可以使用 T k , k + 1 T_{k,k+1} Tk,k+1 将其转换为第 ( k + 1 ) (k + 1) (k+1) 个相机坐标为 P k ′ ( x , y , z ) P_k^′(x, y, z) Pk(x,y,z)。类似地,第 ( k + 1 ) (k+1) (k+1) 帧中的点可以变换到第 k k k 帧。然后,两个单目图像之间的 3D 几何配准损失为
L g e o k = L l 1 ( P k , P k ′ ) (11) L^k_{geo} = L^{l_1}(P_k, P_k^′)\tag{11} Lgeok=Ll1(Pk,Pk)(11)

L g e o k + 1 = L l 1 ( P k + 1 , P k + 1 ′ ) (12) L^{k+1}_{geo} = L^{l_1}(P_{k+1}, P_{k+1}^′)\tag{12} Lgeok+1=Ll1(Pk+1,Pk+1)(12)

系统的最终损失函数将之前的空间和时间损失结合在一起。UnDeepVO 是第一个通过受益于所有这些损失以及 3D 几何配准和姿势一致性损失来恢复缩放的相机姿势和深度图的。


4. Experimental Evaluation

Adam 优化器用于训练网络长达 20-30 个时期,参数 β 1 = 0.9 β_1 = 0.9 β1=0.9 β 2 = 0.99 β_2 = 0.99 β2=0.99。学习率从0.001开始,每迭代1/5就减少一半。

  • 馈送到位姿估计器的图像序列长度为 2。输入到网络的图像大小为 416 × 128。
  • 还将输出图像的大小调整为更高分辨率以计算损失并最终微调网络
  • 使用不同类型的数据增强方法来增强性能并减轻可能的过度拟合,像颜色增强、旋转数据增强和左右姿态估计增强
    • 机选择 20% 的图像进行颜色增强,其中随机亮度范围为 [0.9, 1.1],随机伽玛范围为 [0.9, 1.1],随机颜色偏移范围为 [0.9, 1.1]
    • 对于旋转数据增强,我们增加了旋转数据的比例,以在旋转估计中获得更好的性能
4.1 轨迹评估

采用流行的 KITTI Odometry Dataset 来评估所提出的 UnDeepVO 系统,并将结果与 SfMLearner 、单目 VISO2-M 和 ORB-SLAM-M(无回环)进行比较。所有方法都采用单目图像进行测试,并且我们对 SfMLearner 和 ORB-SLAM-M 的尺度进行后处理,因为它们无法恢复姿态和深度的尺度

Fig. 4 序列 02、05、07 和 08 的轨迹。SfMLearner 的结果通过 7-DoF 对齐到地面实况进行后处理,因为它无法恢复比例。 UnDeepVO 和 SfMLearner 使用尺寸为 416×128 的图像。 VISO2-M使用的图像为1242×376

UnDeepVO 的轨迹在所有方法中在质量上最接近真实情况。对于序列11-21,没有可用的真实数据

Fig. 5 使用 UnDeepVO 绘制 KITTI 数据集的轨迹。这些序列没有可用的姿势的基本事实。绘制了单目 VISO2-M 和立体 VISO2-S 的轨迹。我们的 UnDeepVO 在这些序列上效果很好,与 VISO2-S 相当。

Tab. 1 VO 结果与我们提出的 UnDeepVO 一致。表中列出的所有方法均未使用循环闭合。请注意,单目 VISO2-M 和 ORB-SLAM-M(无回环)不适用于图像尺寸 416 × 128,结果是在图像尺寸 1242 × 376 下获得的。 SfMLearner 和 ORB-SLAM-M 采用与地面实况的 7-DoF(6-DoF + 比例)对齐

  • t r e l t_{rel} trel:100m-800m 长度上的平均平移 RMSE 漂移 (%)
  • r r e l r_{rel} rrel:100m-800m 长度上的平均旋转RMSE 漂移(°/100m)

如表一所示,即使在低分辨率图像且没有尺度后处理的情况下,我们的方法也能在单目方法中实现良好的姿态估计性能

4.2 深度估计评估

Fig. 6 深度估计器生成的深度图像。左列是原始 RGB 图像,右列是估计的相应深度图像。

Tab. 2 使用 Eigen 等人的 split 在 KITTI 上的深度估计结果

本文的方法优于一些有监督/无监督方法的,但性能不如某些方法。这可能是由几个原因造成的。首先,我们仅使用部分 KITTI 数据集(KITTI odometry dataset)进行训练,而所有其他方法都使用完整的 KITTI 数据集来训练其网络;其次,其他网络使用的图像有更高的分辨率


5. Conclusions

  • 提出了 UnDeepVO,一种具有无监督深度学习的新型单目 VO 系统。该系统利用立体图像序列之间的空间损失和时间损失进行无监督训练
  • 系统在训练阶段恢复尺度,这与其他基于模型或基于学习的单目 VO 方法不同。一般来说,基于无监督学习的 VO 方法有可能随着训练数据集大小的增加而提高其性能
  • 下一步,将研究如何使用大量数据集训练 UnDeepVO 以提高其性能,例如对图像模糊、相机参数或光照变化的鲁棒性。未来,我们还计划将我们的系统扩展到视觉SLAM系统以减少漂移
  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Triangulation Learning Network (TLN) 是一个用于从单目图像到立体图像的三维物体检测的算法,其存在一些主要问题,包括: 1. 训练数据缺乏:TLN 算法需要大量的训练数据才能准确地预测三维物体的位置和姿态。但是,由于三维物体检测数据集的获取成本很高,因此当前可用的数据集相对较少,这可能会影响算法的性能。 2. 姿态估计不准确:TLN 算法依赖于对相机姿态的准确估计,但是在实际应用中,姿态估计可能会出现误差。这些误差可能会导致算法无法准确地确定物体的三维位置和姿态。 3. 光照和背景干扰:TLN 算法对光照和背景的变化敏感,这可能会对其检测性能产生负面影响。在不同光照条件和背景下进行测试时,算法可能会出现误报或漏报。 4. 计算复杂度高:TLN 算法需要进行复杂的三角测量和卷积计算,因此需要较高的计算资源。这可能会限制算法在实时应用中的使用。 总之,尽管TLN 算法在三维物体检测方面取得了一些进展,但是它仍然面临着一些挑战和限制,需要进一步研究和改进。 ### 回答2: Triangulation Learning Network (TLN) is a type of deep learning model used for monocular to stereo 3D object detection. However, there are several main problems that currently exist with this approach. 首先,monocular-based 3D object detection methods, including TLN, heavily rely on depth estimation from a single image. This poses a challenge because estimating accurate depth information from a monocular image is inherently difficult. Monocular depth estimation is an ill-posed problem, as there are multiple possible depth solutions for a single input image. Therefore, the quality of depth estimation directly affects the accuracy of 3D object detection, and the current performance of monocular-based methods is still limited due to inaccurate depth estimation. 其次,TLN relies on stereo vision to improve the accuracy of 3D object detection. However, stereo vision has its limitations as well. It requires the presence of two or more cameras with known spatial calibration, which can be expensive and cumbersome to implement in real-world scenarios. Moreover, in challenging environments with poor lighting conditions or occlusions, the accuracy of stereo vision-based methods can be significantly affected. 此外,TLN suffers from the problem of ambiguous depth inference. Even with accurate depth estimation, it is still challenging to determine the exact 3D position of an object. This is because an object can have multiple possible 3D positions that are consistent with the observed 2D image. It becomes even more complex when multiple objects overlap or occlude each other, leading to further ambiguities in 3D object detection results. 最后,TLN requires a large amount of training data to achieve satisfactory performance. Collecting and annotating such data, especially for stereo 3D object detection, can be time-consuming, costly, and error-prone. This limits the scalability and practicality of TLN, as acquiring a diverse and representative dataset for training can be challenging. In summary, the main problems currently existing with Triangulation Learning Network (TLN) for monocular to stereo 3D object detection are inaccurate depth estimation, limitations of stereo vision, ambiguous depth inference, and the requirement for a large amount of training data. Addressing these challenges is essential for improving the accuracy, robustness, and practicality of TLN-based 3D object detection methods. ### 回答3: 目前Triangulation Learning Network: from Monocular to Stereo 3D Object Detection存在以下主要问题: 1. 数据需求高:从单目到立体的3D物体检测需要更多的数据支持。单目图像中的物体深度信息是模糊的,缺乏对立体视觉中物体准确深度的直接观测。因此,为了训练Triangulation Learning Network,需要大量的立体图像数据集,这样的数据集很难获得且成本较高。 2. 精度限制:尽管Triangulation Learning Network提供了改善单目到立体3D物体检测的方法,但其精度仍然受到一些限制。由于立体视觉中的散射和遮挡问题,物体表面的纹理信息可能会受到影响并导致深度估计的误差。此外,图像中物体的姿态和形状也会对准确的深度估计产生影响。 3. 依赖立体匹配:Triangulation Learning Network的核心思想是通过使用立体图像中的匹配点将单目图像的深度信息转换为立体深度。然而,立体匹配本身是一个复杂和计算密集的任务,尤其在具有高度纹理变化或遮挡的场景中,可能存在匹配错误的情况。 4. 硬件要求高:Triangulation Learning Network需要用于获取立体图像的专门的硬件设备,如立体相机或深度相机。这些硬件设备的成本较高,因此部署这种方法可能会面临一定的技术和经济挑战。 综上所述,尽管Triangulation Learning Network提供了一种从单目到立体的3D物体检测方法,但仍然存在着数据需求高、精度限制、依赖立体匹配和硬件要求高等问题。随着技术的进步,相信这些问题将逐渐得到解决,从而更好地推动Triangulation Learning Network的发展和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值