点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

0. 引言

虽然近年来无监督单目深度学习取得了很大的进展,但仍然存在一些基本问题。首先,目前的方法存在尺度模糊性问题,因为反推过程对于深度和平移来说相当于任意尺度因子。其次,光度误差对照明变化和移动物体敏感。此外,尽管在无监督学习框架下已经为光度误差图引入了不确定性,但自我运动的不确定性度量仍然是重要的。在2022 ECCV论文"Towards Scale-Aware, Robust, and Generalizable Unsupervised Monocular Depth Estimation by Integrating IMU Motion Dynamics",作者提出了一种感知框架,通过集成视觉和IMU来进行真实尺度估计,算法已经开源。

1. 论文信息

标题:Towards Scale-Aware, Robust, and Generalizable Unsupervised Monocular Depth Estimation by Integrating IMU Motion Dynamics

作者:Sen Zhang, Jing Zhang, Dacheng Tao

来源:2022 European Conference on Computer Vision (ECCV)

原文链接:https://arxiv.org/abs/2207.04680

代码链接:https://github.com/SenZHANG-GitHub/ekf-imu-depth

2. 摘要

近年来,无监督单目深度和自我运动估计引起了广泛的研究关注。尽管当前的方法已经达到了很高的尺度精度,但是由于利用单目序列进行训练所固有的尺度模糊性,它们通常不能学习真实的尺度度量。在这项工作中,我们解决了这个问题,并提出了DynaDepth,一种新的尺度感知框架,集成了视觉和IMU运动动力学的信息。

具体来说,我们首先提出了IMU光度损失和跨传感器光度一致性损失,以提供稠密的监督和绝对尺度。为了充分利用来自两个传感器的互补信息,我们进一步驱动一个可微分的以相机为中心的扩展卡尔曼滤波器(EKF),以在观察视觉测量时更新IMU预积分。

此外,EKF公式使得能够学习自我运动不确定性测量,这对于无监督的方法来说不是微不足道的。通过在训练过程中利用IMU,DynaDepth不仅学习了绝对尺度,还提供了更好的泛化能力和对光照变化和移动物体等视觉退化的鲁棒性。我们通过在KITTI和Make3D数据集上进行大量实验和仿真,验证了DynaDepth的有效性。

3. 算法分析

如图1所示是作者提出的单目尺度感知深度估计和自我运动预测方法DynaDepth的概述,该系统在以相机为中心的扩展卡尔曼滤波器(EKF)框架下,将IMU运动动力学显式集成到基于视觉的系统中。DynaDepth旨在联合训练尺度感知深度网络Md,以及融合IMU和相机信息的自我运动网络Mp。

图1 DynaDepth概述

DynaDepth通过使用IMU的估计运动执行反向操作,来构建尺度感知的IMU光度损失,并使用基于外观的光度损失。为了校正由光照变化和运动物体引起的误差,作者进一步提出了跨传感器光度一致性损失,分别使用网络预测和IMU集成自我运动的合成目标视图。

与积累来自初始帧的重力和速度估计的经典VIO-SLAM系统不同,对于无监督深度估计方法,这两个度量是未知的。为了解决这个问题,DynaDepth训练两个超轻型网络,这两个网络将两个连续帧作为输入,并在训练期间预测以相机为中心的重力和速度。

考虑到IMU和相机提供两种互补的独立传感模式,作者进一步为DynaDepth导出了一个可区分的以相机为中心的EKF框架,以充分利用这两种传感器。当从相机观察新的自我运动预测时,DynaDepth根据IMU误差状态和视觉预测的协方差更新IMU预积分。

这样一方面可以通过视觉来纠正IMU噪声偏差,另一方面还提供了一种学习预测自我运动的不确定性测量的方式,这对于最近出现的将深度学习纳入经典SLAM系统以实现学习、几何和优化的协同作用的研究方法是有益的。

综上所述,作者所做工作的主要贡献如下:

(1) 提出了IMU光度损失和交叉传感器光度一致性损失,以提供稠密的监督和绝对尺度;

(2) 为传感器融合推导了一个可微分的以相机为中心的EKF框架;

(3) 通过在KITTI和Make3D数据集上的大量实验和仿真证明了DynaDepth有利于:<1>绝对尺度的学习;<2>泛化能力;<3>对诸如照明变化和移动物体的视觉退化的鲁棒性;<4>自我运动不确定性度量的学习。

3.1 IMU光度损失

如果直接将训练损失写为IMU预积分项上的残差,那么就只能为自我运动网络提供稀疏的监督,作者提出了一种IMU光度损失:

其中K和N是相机的固有特性,yi和zi是图像中的像素坐标系以及由Md预测的深度,I(yi)是yi处的像素强度,ψ()表示深度归一化函数,SSIM()表示结构相似性索引。

3.2 交叉传感器光度一致性损失

作者进一步提出跨传感器光度一致性损失来对齐IMU预积分和Mp的自我运动,而不是直接比较。对于自我运动,作者使用反向图像之间的光度误差,这为Md和Mp提供了更密集的监督信号:

此外,DynaDepth中的总训练损失Ltotal还包括基于视觉的光度损失Lvis、平滑度损失Ls以及弱L2范数损失Lvg:

3.3 以相机为中心的EKF融合框架

为了充分利用互补的IMU和相机,作者提出了一个以相机为中心的EKF框架。与之前将EKF集成到基于深度学习的框架中以处理IMU数据的方法不同,DynaDepth不需要真实的自我运动和速度来获得每个IMU帧的对齐速度和重力,而是提出{Mv,Mg}来预测。在论文中,作者推导了该EKF的传播和更新过程。

EKF传播:设ck表示时刻tk的相机帧,bt表示tk到tk+1之间的IMU帧,误差状态为:

EKF利用一阶泰勒近似将状态转移模型在每个时间步线性化进行传播,误差状态的连续时间传播模型为:δx*bt = Fδxbt + Gn,其中F和G为:

EKF更新公式为:

DynaDepth将观测量定义为Mp预测的自我运动,为了完成以相机为中心的EKF更新步骤,可推导h和H为:

4. 实验

作者评估了DynaDepth在KITTI上的有效性,以及在Make3D上的泛化能力。此外,作者对IMU损耗、EKF框架、学习到的自我运动不确定性以及对光照变化和移动物体的鲁棒性进行了消融实验。在具体试验阶段,损失函数的四个权重依次为0.001,0.5,0.01,0.001,初始学习率为1e-4,在一个NVIDIA V100 GPU上训练了30轮。

4.1 KITTI上的尺度感知深度估计

如表1所示是将DynaDepth与最新的单目深度估计方法进行比较的结果,作者为了公平比较只给出了图像分辨率为640x192和尺寸适中的编码器所取得的结果,即ResNet18(R18)和ResNet50(R50)。

表1 对KITTI进行的每张图像的重定标深度评估

除了标准的深度评价指标之外,作者还报告了重尺度因子的均值和标准误差来证明尺度感知能力。值得注意的是DynaDepth达到了一个近乎完美的绝对尺度,在尺度感知方面甚至R18版本也优于G2S R50 ,而后者使用了更重的编码器。

如表2所示是对比结果,并与利用GPS信息构造速度约束的PackNet-SfM和G2S进行了比较。在这种情况下,DynaDepth实现了所有度量指标的最佳性能,为单目方法的非尺度深度评估设定了一个新的基准。为了更好的说明,图1(b)给出了包含IMU和不包含IMU的比例直方图。

表2 在KITTI进行深度评估结果

4.2 Make3D上的泛化

作者利用KITTI上训练的模型进一步检验DynaDepth在Make3D上的泛化能力,图1(c)给出了一个定性示例,其中没有IMU的模型在玻璃和阴影区域失效,而DynaDepth实现了可区分的预测。定量结果如表3所示,DynaDepth取得了相当好的尺度比例,表明DynaDepth学习的尺度能力可以很好地推广到不可观测的数据集。

此外,仅利用陀螺仪和加速度计IMU信息的DynaDepth取得了最好的泛化效果。作者解释了可能的原因:首先,由于建模能力的提高,完整模型可能会过拟合KITTI数据集。第二,因为Mv和Mg都以图像作为输入,性能退化可能是由于视觉数据的域间隙造成的,这也解释了这种情况下G2S的尺度损失。

此外,实验也表明EKF有明显的提高泛化能力,可能是因为EKF融合框架考虑了不确定性,以更合理的方式融合了可泛化IMU动力学和特定视觉信息。

表3 Make 3d上的泛化结果

4.3 消融研究

作者对KITTI进行了消融研究,并关注IMU相关损失、EKF融合框架和学习自我运动不确定性对KITTI的影响,结果如表4所示。此外,还设计了模拟实验来验证DynaDepth对光照变化和运动物体等视觉退化的鲁棒性。

表4 KITTI上IMU相关损失和EKF融合框架的消融结果

结果显示,IMU光度损失具有重要作用。但仅用IMU光度损失学习的只是一个粗略的尺度。将IMU光度损失和交叉传感器光度损失结合在一起,可以提高准确性,Lvg的使用进一步增强了评价结果。

针对光照变化和运动物体,这两种情况违反了光度损失的底层假设。作者通过在0.5范围内随机交替的图像对比度来模拟光照变化,通过随机插入三个150x150的黑色方块来模拟运动物体,结果如表5所示。在光照变化下,Mono deep2的精度按预期下降,DynaDepth则在一定程度上挽救了精度,保持了正确的绝对尺度。

在这种情况下,EKF几乎改进了所有的度量指标,使用EKF和Lvg在AbsRel上达到了最优。然而,没有Lvg的模型在大多数度量指标上都取得了最好的性能,其原因可能是Lvg对视觉数据的依赖性,对图像质量更加敏感。当存在移动对象时,Mono deep2完全失败,使用EKF显著地提高了性能,但考虑到任务的难度,仍然难以学习到尺度。在这种情况下,使用Lvg显著提供了强有力的规模监管,取得了良好的规模效果。

表5 对来自KITTI的模拟数据的鲁棒性消融结果

作者以平均协方差作为不确定性度量,图2说明了自我运动不确定性的训练过程。学习的不确定性表现出与深度误差(AbsRel)类似的模式,这意味着随着训练的继续,模型对其预测变得更加确定。此外,DynaDepth R50比R18具有更低的不确定性,表明更大的模型容量也有助于提高预测的可信度,但这种差异并不明显。

图2 训练过程

5. 结论

在2022 ECCV论文"Towards Scale-Aware, Robust, and Generalizable Unsupervised Monocular Depth Estimation by Integrating IMU Motion Dynamics"中,作者提出了DynaDepth,这是一个使用IMU运动动力学的尺度感知、鲁棒和可推广的单目深度估计框架。具体来说,作者提出了IMU光度损失和跨传感器光度一致性损失,以提供稠密的监督和绝对尺度。

此外,作者为传感器融合推导了一个以摄像机为中心的EKF框架,它也提供了在无监督学习设置下的自我运动不确定性度量。最后作者通过实验证明了DynaDepth在学习绝对尺度、泛化能力和抵抗视觉退化的鲁棒性方面具有优势。

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

ECCV2022 | 基于整合IMU运动动力学的无监督单目深度估计相关推荐

  1. 最新开源无监督单目深度估计方法,解决复杂室内场景难训练问题,效果性能远超SOTA...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 一.摘要 无监督单目深度估计算法已经被证明能够在驾驶场景(如KITTI数据集)中得到精确的结果,然而最 ...

  2. 最强无监督单目深度估计Baseline--MonoViT--简介与代码复现

    1. 无监督单目深度估计 单目深度估计是指,借助于深度神经网络,从单张输入视图中推理场景的稠密深度信息:该技术可以广泛用于自动驾驶.虚拟现实.增强现实等依赖于三维场景感知理解的领域,同时也可以为其他视 ...

  3. 无监督单目深度估计 Unsupervised Monocular Depth Estimation with Left-Right Consistency 论文方法分析

    最近在做深度估计相关的毕业设计,一般的基于深度学习单目深度估计算法都是基于监督学习的方法,也就是说我希望输入一张拍摄到的单目照片,将它通过卷积神经网络后生成一张深度图.在这个过程中我们就要求需要有大量 ...

  4. 基于深度学习的单目深度估计综述

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 文章:Monocular Depth Estimation Based On Deep Learnin ...

  5. 面向单目深度估计的基于几何的预训练方式 -- Geometric Pretraining for Monocular Depth Estimation

    一些前提知识 Monocular Depth Estimation:单目深度估计,从单张图片中去预测每个像素点具体的深度,相当于从二维图像推测出三维空间. ImageNet-Pretraining:基 ...

  6. 基于分段平面性的单目深度估计 P3Depth: Monocular Depth Estimation with a Piecewise Planarity Prior

    P3Depth: Monocular Depth Estimation with a Piecewise Planarity Prior 面向可解释深度网络的单目深度估计 0 Abstract   单 ...

  7. 基于传统方法的单目深度估计

    如果想要深入学习单目深度估计方面的知识,可以关注我们工坊推出的课程: 单目深度估计方法:算法梳理与代码实现 单目深度估计一直以来都是计算机视觉领域中的一项非常具有挑战的难题.随着计算机技术.数字图像处 ...

  8. 【2022集创赛】飞腾杯二等奖作品:基于单目深度估计网络的全息显示终端

    本篇文章是2022年第六届全国大学生集成电路创新创业大赛飞腾杯二等奖作品分享,参加极术社区的**[有奖征集]分享你的2022集创赛作品,秀出作品风采**活动. 1.团队介绍 参赛单位:西安电子科技大学 ...

  9. 基于高分辨率的单目深度估计网络(AAAI2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨图灵智库 来源丨 泡泡机器人SLAM 标题: HR-Depth:High Resolution ...

最新文章

  1. shiro将session认证改成token认证_Shiro 运行过程
  2. win7 64系统无法看见其他计算机,win7一直显示正在启动进不了系统怎么办
  3. 鸿蒙和安卓,到底有什么区别?
  4. 宽度自适应实现方法(转)
  5. 【转发】未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。...
  6. jni 调用java类方法_AndroidJNI 通过C++调用JAVA
  7. 万网域名转向指定URL地址
  8. 中国裁判文书下载:selenium路线
  9. 熊猫阿波的故事 2201
  10. 简述5G技术在远程医疗应用
  11. GemFire 异步写和同步读
  12. webpack 配置 alias
  13. 计算机应用技术未来职业规划书,计算机应用技术专业大学生职业生涯规划书
  14. Java 实现视频时间维度剪切 | Java工具类
  15. java 日期格式化 24小时_SimpleDateFormat转换时间,12,24时间格式
  16. mp4封装格式各box类型讲解及IBP帧计算
  17. 初识语音视觉交互芯片——CSK6
  18. 隐式转换、IF判断、逻辑【与、或、非】、三目运算的用法(基础)
  19. AntDB基于WAL日志的DML数据闪回实现
  20. 3.1 Docker最新入门教程-Docker入门-概述

热门文章

  1. App启动图片变形,拉伸
  2. Vs调试报错:不能将 “const char *“ 类型的值分配到 “char *“ 类型的实体
  3. 大学物理 复习指导、公式推导精简过程、结论归纳 第八章 热力学基础
  4. 司法制度类毕业论文文献包含哪些?
  5. 中职计算机专业介绍,【中职计算机专业介绍】中职计算机专业教学改革探幽
  6. 在LINUX中用cal命令解了一段人类文明历史 1752年 - 九月
  7. 关于栈迁移的那些事儿
  8. 荣耀v20支持html,荣耀V20支持NFC刷公交吗 荣耀V20支持NFC功能吗
  9. PSINS中19维组合导航模块sinsgps详解(滤波部分)
  10. Young For You - 歌词