Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >丰田研究院:自监督单目图像深度估计再改进,数据和代码已开源

丰田研究院:自监督单目图像深度估计再改进,数据和代码已开源

作者头像
McGL
发布于 2021-07-07 01:48:56
发布于 2021-07-07 01:48:56
1.3K0
举报
文章被收录于专栏:PyVisionPyVision

作者:Vitor Guizilini 编译:McGL

上一篇文章,我们讨论了深度神经网络如何从一张图像中预测深度。特别是,我们证明了这个问题可以自监督只使用视频和几何约束。这种方法高度可扩展,甚至可以工作在未校准的摄像头或自动驾驶常见的多摄像头装备。

丰田研究院:自监督单目图像深度估计,数据和代码已开源

然而,自监督学习在单目深度估计方面存在一些固有的局限性,如尺度模糊(scale ambiguity)。幸运的是,这些问题可以通过增加最少的额外信息来解决。在这第二篇博文中,我们将讨论这些挑战,以及我们丰田研究院为克服这些挑战所做的研究,这些研究超越了自监督学习。

学习从图像中预测深度,不仅使用几何学,而且在可用的时候使用其他信息来源。

弱监督: 告诉我多快,我会告诉你有多远

从理论上讲,仅仅从像素来估计场景的度量尺度(metric scale)在几何上是不可能的。一个物体小而近,另一个物体大而远,但在图片上大小完全一样。这就是为什么自监督的单目深度预测方法具有尺度模糊性: 他们只能恢复一个场景的几何图形到一个未知的可乘尺度因子。然而,对于机器人技术中的大多数应用,我们绝对想知道物体距离几米远!幸运的是,在实践中有几种方法可以恢复尺度。

世界的尺度有多大?

第一种也是最常见的方法是依靠已知的摄像头标定信息,例如摄像头离地高度或多摄像头配置中摄像头对之间的距离。使用这些参数,可以很容易地按比例缩放深度预测,就像我们在上一篇文章中提到的全环绕单目深度论文中所做的那样。这些静态先验的问题是,他们假定校准后是完全固定的。压过一个坑,位置移动了一点呢?你的预测将会大大的偏离,直到你重新校准。

一个更鲁棒的方法是依靠速度信息作为训练期间的弱监督。弱监督,一个在机器学习社区中使用非常广泛的术语,意味着一个廉价的信息来源,让你知道什么是正确的预测。在我们的例子中,大多数汽车、机器人和手机都有额外的廉价传感器(例如,加速计或里程表) ,可以用米/秒来测量速度。但是速度是你移动的速度,而不是一切离你有多远。那么,如何利用这些信息让深度网络输出以米为单位的预测呢?

在上一篇文章中,我们解释了自监督学习依靠摄像头的运动从当前帧来重建上一帧图像。这种自运动有六个自由度(三个自由度用于旋转,三个自由度用于平移) ,不是用传感器测量的,而是用一个姿态网络(例如,我们的 CoRL 论文中的双流 PoseNet)通过图像对预测的。该姿态网络与深度网络联合学习,并且两者都输出无尺度度量。但是,如果我们可以使用上述速度信息,使姿态网络学习输出以米为单位的平移值呢?这是否足以做出以米为单位的深度预测?正如我们在介绍 PackNet 的 CVPR 论文中所展示的那样,答案当然是肯定的!

令人惊讶的是,在姿态网络中加入一个弱监督的速度回归目标,足以使深度网络的自监督学习具有尺度感知能力。如下图所示,当使用速度信息(红曲线)时,在以米为单位测量的深度估计质量存在一个突然的阶段变化。这对应于当深度网络采用度量尺度时,深度网络在训练过程中的一个关键时刻,性能和激光雷达的重标(rescaling)相当!

迁移学习: 从什么到多远

一个弱监督的有效替代方法是利用完全不同的数据集和任务,这些数据和任务可能与深度预测没有直接关系。这是一种在深度学习中广泛使用的技术,叫做迁移学习。在机器人技术中,我们关心的不仅仅是东西在哪里,我们还想知道它们是什么。因此,大多数机器人也使用计算机视觉模型来完成像全景分割(panoptic segmentation)这样的任务(例如,在模拟中训练)。这些预先训练好的网络也能帮助深度估计吗?

再一次,答案是肯定的,正如我们在 ICLR 论文《Semantically-Guided Representation Learning for Self-Supervised Monocular Depth》中所展示的。由于单目深度网络使用单一图像,它必须学习事物如何出现和距离有多远的模式。那么只能是这种模式本来就存在!幸运的是,现实世界中有很多这样的模式。成年人的身高一般不到2米。汽车也有与众不同的外形和尺寸。道路、建筑物和其他几何结构以特定的、可预测的方式投影到相机的画面上。这就是为什么我们可以从图像中预测 3D 特性的本质(而这也是为什么它们会有某些偏差的原因,我们将在下面讨论)。

当然,预编码将语义类别与大小联系起来的先验知识是很脆弱的。例如,它可能没有考虑到一个2.72米高的人的可能性。此外,预训练的语义分割网络可能泛化不够好。这就是为什么我们提出只使用预训练网络来指导深度网络的自监督学习。我们的新架构利用像素自适应卷积(自注意力的一种形式)在自监督学习过程中产生感知语义的深度特征。通过使用语义内容作为指导,对应于同一类别的特征会有相似的激活,促使对象内平滑和边界锐利。

我们的语义引导的深度网络将来自预训练的语义分割网络的特征直接注入到深度网络中,从而使学习感知语义的深度特征成为可能。

由于语义分割网络没有以任何方式进行修改,因此它仍然可以作为一项额外的任务来生成预测(或进行解释) ,其特征可以被深度网络有效地重用。注意,语义和深度之间的关系不是单向的,我们还在探索自监督的深度如何帮助语义(例如我们最近的论文《Geometric Unsupervised Domain Adaptation for Semantic Segmentation》)。

针对相同的输入(左)的定性示例,标准的 PackNet 结构(中间) ,我们的语义引导的深度网络(右) 。使用预测的语义信息会产生更清晰的边界,清晰度更好,能识别更远的物体。

部分监督: 有的时候使用

到目前为止,我们还没有提到房间里的大象: 激光雷达。在某些情况下,你可能确实能够使用一个可靠的精确深度测量来源。尽管如此,拥有多个独立的深度信息来源还是很有用的,这样可以通过冗余来增强鲁棒性,例如,也可以通过图像来预测深度。事实上,大规模使用的商业激光雷达传感器往往是非常稀疏的。由于它们主要用于安全特性,它们通常只有4线激光,10赫兹时只能测量100个点。显然,这些信息不足以感知环境,但是我们可以利用它们来改善单目深度预测吗?

第一个自然的问题是,我们是否可以使用低成本的激光雷达作为一个额外的监督来源,成为上一篇文章中所描述的几何自监督学习的补充。这个设置被称为半监督(semi-supervised)学习,因为我们只有部分的 ground truth 深度测量。这需要结合异构的监督: 3D 点级别的激光雷达和 2D 像素级别的摄像头。在我们的 CoRL 论文《Robust Semi-Supervised Monocular Depth Estimation with Reprojected Distances》,我们针对半监督设置提出了一种新的损失,其中一个帧的深度误差与重建的点云投影到另一帧。这让深度估计有了重大改进,哪怕激光雷达只有4线!

因此,我们已经演示了在训练期间可以使用低成本的激光雷达,但是推理呢?到目前为止,我们一直集中在单目深度预测,网络被训练,然后测试时从一个单一的图像生成估计。另一种设置是深度补全(depth completion),在测试时其中部分深度信息已知,需要完成每个像素估计补全。补全通常是以一种不同于预测的方式来处理的,但是并不一定要这样做!在我们的 CVPR 论文 SAN 《Sparse Auxiliary Networks for Unified Monocular Depth Prediction and Completion》中,我们提出了一个统一的单目深度预测和补全结构。SAN 是一个附加的可微模块,可以直接引入到像 PackNet 这样的深度预测网络中,从而实现深度补全和联合训练。为了利用这些部分输入深度图的高稀疏性,SAN 模块使用稀疏卷积仅处理有效信息,显著提高了计算速度。这项工作是我们向可调节(dialable)感知迈出的第一步: 根据可用的传感器,传感器故障,丢失包,或其他来源的变化,灵活上调或下调感知算法(这里指深度补全和预测)。

DDAD 上 PackNet-SAN 的结果,深度预测和补全(同一网络,不同输入)。

NYUv2上 PackNet-SAN 的结果,深度预测和补全(同一网络,不同输入)。

自监督学习的偏差

从原始视频中学习对于可伸缩性和适应性非常有帮助。然而,自监督也意味着在学习过程中人的监督更少。结果这个系统可能会遭受不受约束的偏差。我们上面提到的语义指导就是解决这个问题的一种方法。尽管如此,另一个常见的错误来源仍然存在: 与摄像头运动完全一样的物体被预测为无限远,因为它们永远不会靠近!在驾驶数据中,频繁跟随领头车辆是很常见的。这个无限深度问题是自监督、基于运动的图像学习的一个内在局限。

我们找到了一个简单的方法来解决这个问题,在我们的 ICLR 论文《Semantically-Guided Representation Learning for Self-Supervised Monocular Depth》中进行了描述。首先,我们对所有的数据进行训练,会对附近的一些物体做出我们不希望的无限深度预测。然后,我们在训练图像上运行这个有偏差的深度网络来自动检测那些包含无限深的洞的图像。最后,我们丢弃那些表现出这个问题的训练图像,重新训练深度网络。我们发现,这种简单的自动数据清理和再训练过程足以使得得到的模型对于无限深度问题更加鲁棒。

我们提出的两阶段训练方法能够在不引入任何监督源的情况下,消除自监督深度估计中的无限深度问题。

总结

在本系列的第一篇文章中,我们展示了自监督学习如何利用我们对射影几何的先验了解来预测各种摄像头配置的深度。在第二篇文章中,我们概述了纯粹的自监督的实际局限性,然后如何利用其他可扩展的信息来源超越它们,如弱监督、迁移学习、半监督学习或数据清理,以减少偏置。

这仅仅是自监督学习和 3D 计算机视觉的开始。尽管其中一些技术已经投入使用,但在关键领域仍然存在许多研究挑战,比如数据库建设(包括使用合成数据)、可调节感知、安全性,以及通过下游控制任务来结束循环,从而使未来的汽车和机器人对我们所有人都更有帮助。这就是为什么我们在 CVPR 2021 会议上组织 Mono3D workshop 和 DDAD 竞赛,以及为什么我们开源了代码和数据集以用于进一步的研究: 我们希望你能加入我们这个令人兴奋的科学旅程!

原文: https://medium.com/toyotaresearch/self-supervised-learning-in-depth-part-2-of-2-93a42ce6586f

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

本文分享自 PyVision 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
丰田研究院:自监督单目图像深度估计,数据和代码已开源
计算机视觉是人工智能的一个领域,它使计算机能够表示视觉世界。由于神经网络可以从数据中学习如何做出准确的预测,深度学习已经彻底改变了这个领域。最近的进展有望使汽车更加安全,通过自动驾驶车辆增加自由时间,以及为残疾人和我们迅速老龄化的全球人口提供机器人援助。
McGL
2021/05/28
1.6K0
丰田研究院:自监督单目图像深度估计,数据和代码已开源
单目深度估计方法综述
深度估计,就是获取图像中场景里的每个点到相机的距离信息,这种距离信息组成的图我们称之为深度图,英文叫Depth map。
3D视觉工坊
2021/12/01
2.9K0
单目深度估计方法综述
单目图像和稀疏雷达数据深度估计
标题:Depth Estimation from Monocular Images and Sparse Radar Data
3D视觉工坊
2020/11/19
1.4K0
单目图像和稀疏雷达数据深度估计
AAAI-2024 | Mono3DVG:首个基于单目RGB图像实现3D Visual Grounding的方法
本文分享论文Mono3DVG: 3D Visual Grounding in Monocular Images,该论文已被 AAAI 2024 接收,数据集和代码已开源。
CV君
2024/01/23
7060
AAAI-2024 | Mono3DVG:首个基于单目RGB图像实现3D Visual Grounding的方法
计算机视觉最新进展概览(2021年7月4日到2021年7月10日)
1、Faster-LTN: a neuro-symbolic, end-to-end object detection architecture 图像对象之间的语义关系的检测是图像解释的基本挑战之一。 神经符号技术,如逻辑张量网络(LTNs),允许结合语义知识表示和推理的能力,有效地学习典型的神经网络的例子。 我们在这里提出Faster-LTN,一种由卷积主干和LTN组成的目标检测器。 据我们所知,这是在端到端训练设置中结合这两种框架的第一次尝试。 这个体系结构是通过优化一个有根据的理论来训练的,这个理论以逻辑公理的形式将标记的实例与先验知识结合起来。 实验对比表明,与传统的Faster R-CNN架构相比,该架构具有竞争力的性能。 2、Semi-supervised Learning for Dense Object Detection in Retail Scenes 零售场景的每幅图像通常包含密集的高数量的目标。 标准的目标检测技术使用完全监督的训练方法。 这是非常昂贵的,因为注释一个大型密集的零售目标检测数据集需要比标准数据集多一个数量级的工作。 因此,我们提出了半监督学习来有效地利用零售领域中大量的未标记数据。 我们采用一种流行的自监督方法,即噪声学生最初提出的目标分类的任务,密集的目标检测。 我们表明,使用无标记数据与嘈杂的学生训练方法,我们可以提高在密集的零售场景中精确检测目标的技术水平。 我们还表明,随着未标记数据数量的增加,模型的性能也会增加。 3、On Model Calibration for Long-Tailed Object Detection and Instance Segmentation 普通的目标检测模型和实例分割模型在长尾设置中存在检测频繁目标的严重偏差。 现有的方法主要在训练期间解决这个问题,例如,通过重新抽样或重新加权。 在本文中,我们调查了一个很大程度上被忽视的方法——置信度的后处理校准。 我们提出了NorCal,归一化校准用于长尾目标检测和实例分割,这是一种简单而直接的方法,通过训练样本大小重新衡量每个类的预测分数。 我们表明,单独处理后台类和对每个建议的类上的分数进行规范化是实现卓越性能的关键。 在LVIS数据集上,NorCal可以有效地改进几乎所有的基线模型,不仅在罕见类上,而且在普通类和频繁类上。 最后,我们进行了广泛的分析和消融研究,以提供我们方法的各种建模选择和机制的见解。 4、Neighbor-Vote: Improving Monocular 3D Object Detection through Neighbor Distance Voting 随着摄像头在自动驾驶等新的应用领域的不断应用,对单目图像进行三维目标检测成为视觉场景理解的重要任务。 单眼三维目标检测的最新进展主要依赖于“伪激光雷达”生成,即进行单眼深度估计并将二维像素点提升为伪三维点。 但单目图像深度估计精度不高,导致伪激光雷达点在目标内不可避免地发生位置偏移。 因此,预测的边界框位置不准确,形状变形。 在本文中,我们提出了一种新的邻域投票方法,结合邻域预测来改善严重变形的伪激光雷达点云的目标检测。 具体来说,物体周围的每个特征点形成各自的预测,然后通过投票实现“共识”。 这样可以有效地将邻居预测与局部预测相结合,实现更准确的三维检测。 为了进一步放大前景感兴趣区域(foreground region of interest, ROI)伪激光雷达点与背景点之间的差异,我们还将二维前景像素的ROI预测得分编码为相应的伪激光雷达点。 我们在KITTI基准上进行了大量的实验,以验证我们提出的方法的优点。 我们的鸟瞰图检测结果在很大程度上超过了最先进的性能,特别是“硬”水平检测。 5、VIN: Voxel-based Implicit Network for Joint 3D Object Detection and Segmentation for Lidars 提出了一种统一的神经网络结构用于三维目标检测和点云分割。 我们利用丰富的监督,从检测和分割标签,而不是只使用其中之一。 此外,基于隐式函数在三维场景和物体理解中的广泛应用,提出了一种基于单级目标检测器的扩展方法。 扩展分支以目标检测模块的最终特征图为输入,生成隐式函数,为每个点对应体素中心生成语义分布。 我们在一个大型户外数据集nuScenes-lidarseg上演示了我们的结构的性能。 我们的解决方案在三维目标检测和点云分割方面取得了与先进方法相竞争的结果,与目标检测解决方案相比,我们的附加计算负荷很小。 实验结果表明,该方法具有较好的弱监督语义切分能力。
狼啸风云
2021/07/14
9390
基于整合IMU运动动力学的无监督单目深度估计
虽然近年来无监督单目深度学习取得了很大的进展,但仍然存在一些基本问题。首先,目前的方法存在尺度模糊性问题,因为反推过程对于深度和平移来说相当于任意尺度因子。其次,光度误差对照明变化和移动物体敏感。此外,尽管在无监督学习框架下已经为光度误差图引入了不确定性,但自我运动的不确定性度量仍然是重要的。在2022 ECCV论文"Towards Scale-Aware, Robust, and Generalizable Unsupervised Monocular Depth Estimation by Integrating IMU Motion Dynamics",作者提出了一种感知框架,通过集成视觉和IMU来进行真实尺度估计,算法已经开源。
BBuf
2022/09/28
9870
基于整合IMU运动动力学的无监督单目深度估计
60项基于深度学习的SLAM顶会开源方案汇总(上篇)
深度学习结合SLAM是近年来很热门的研究方向,也因此诞生了很多开源方案。笔者最近在阅读SLAM综述论文“A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial Machine Intelligence”,该综述参考了255篇SLAM领域的顶会顶刊论文,并且涵盖了VO、建图、特征提取、定位、描述子提取、BA优化、回环、数据集等多个方向,非常全面。也因此,笔者一直想整理下文章中出现的开源项目,用于在后续工作中进行对比。
3D视觉工坊
2023/04/29
1.6K0
60项基于深度学习的SLAM顶会开源方案汇总(上篇)
点云分割训练哪家强?监督,弱监督,无监督还是半监督?
近年来,自动驾驶领域的各项下游任务基本上都要求了对场景的语义理解,比如自动驾驶车辆要能够理解哪个是路面、哪个是交通灯、哪个是行人、哪个是树木,因此点云分割的作用就不言而喻。
3D视觉工坊
2023/04/29
9940
点云分割训练哪家强?监督,弱监督,无监督还是半监督?
基于深度学习的单目深度估计综述
文章:Monocular Depth Estimation Based On Deep Learning: An Overview
3D视觉工坊
2020/12/11
2.7K0
基于深度学习的单目深度估计综述
SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM
视觉SLAM的稳定性是一项技术挑战。因为基于单目的视觉SLAM需要初始化、尺度的不确定性和尺度漂移等问题[1]。尽管立体相机和RGB-D相机可以解决初始化和缩放的问题,但也存在一些不容忽视的问题,如运动速度快、视角小、计算量大、遮挡、特征丢失、动态场景和光照变换等。针对以上这些问题传感器的融合方案逐渐流行起来,IMU与相机融合的视觉里程计成为研究热点。
点云PCL博主
2020/05/19
3K0
thinktwice:用于端到端自动驾驶的可扩展解码器(已开源)
题目:Think Twice before Driving: Towards Scalable Decoders for End-to-End Autonomous Driving
BBuf
2023/08/22
3730
thinktwice:用于端到端自动驾驶的可扩展解码器(已开源)
单目深度估计思路
2. 之后在2016年,Laina依靠更深层次的网络和一个“novel”的逆卷积结构再加上一个"novel"的loss来得到结果。其实我认为这篇文章的贡献点不是很大,主要是pretrain的ResNet-50帮了很大的忙。这个方法被他们组改进然后用到了之后CVPR2017用来重建SLAM的文章中。
3D视觉工坊
2020/11/19
7930
单目深度估计思路
单摄像头+深度学习实现伪激光雷达,代码已开源
上次介绍了双目摄像头如何估计深度的方案。老板表示两个摄像头还是有点贵呀,只用一个能不能做?嗯,没问题!
McGL
2020/09/27
1.2K0
【计算摄影】先拍照后对焦,浅析基于深度估计的景深编辑与背景虚化
大家好,这是专栏《计算摄影》的第四篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科。今天我们讨论的问题是关于深度估计和景深编辑。
用户1508658
2020/11/19
1.3K0
【计算摄影】先拍照后对焦,浅析基于深度估计的景深编辑与背景虚化
动态场景的无监督单目深度图学习 (附FB和华盛顿大学SIGGRAPH论文)
来源丨https://zhuanlan.zhihu.com/p/273038523
3D视觉工坊
2020/11/11
1.1K0
动态场景的无监督单目深度图学习 (附FB和华盛顿大学SIGGRAPH论文)
ICCV2023 室内场景自监督单目深度估计
本文方法是一种自监督的单目深度估计框架,名为GasMono,专门设计用于室内场景。本方法通过应用多视图几何的方式解决了室内场景中帧间大旋转和低纹理导致自监督深度估计困难的挑战。GasMono首先利用多视图几何方法获取粗糙的相机姿态,然后通过旋转和平移/尺度优化来进一步优化这些姿态。为了减轻低纹理的影响,该框架将视觉Transformer与迭代式自蒸馏机制相结合。通过在多个数据集上进行实验,展示了GasMono框架在室内自监督单目深度估计方面的最先进性能。
BBuf
2023/10/26
9670
ICCV2023 室内场景自监督单目深度估计
最新综述:基于深度学习方式的单目物体姿态估计与跟踪
原文:Deep Learning on Monocular Object Pose Detection and Tracking: A Comprehensive Overview
计算机视觉
2021/07/05
1.3K0
基于深度学习的单目深度估计综述
深度估计是计算机视觉领域的一个基础性问题,其可以应用在机器人导航、增强现实、三维重建、自动驾驶等领域。而目前大部分深度估计都是基于二维RGB图像到RBG-D图像的转化估计,主要包括从图像明暗、不同视角、光度、纹理信息等获取场景深度形状的Shape from X方法,还有结合SFM(Structure from motion)和SLAM(Simultaneous Localization And Mapping)等方式预测相机位姿的算法。其中虽然有很多设备可以直接获取深度,但是设备造价昂贵。也可以利用双目进行深度估计,但是由于双目图像需要利用立体匹配进行像素点对应和视差计算,所以计算复杂度也较高,尤其是对于低纹理场景的匹配效果不好。而单目深度估计则相对成本更低,更容易普及。
计算机视觉
2021/03/17
2K0
基于深度学习的单目深度估计综述
8 篇论文深入学习深度估计:深度预测;自我运动学习;观看冰雪奇缘了解移动人物深度
原文标题:Research Guide for Depth Estimation with Deep Learning
AI科技评论
2019/10/31
2.3K0
8 篇论文深入学习深度估计:深度预测;自我运动学习;观看冰雪奇缘了解移动人物深度
谷歌AI:根据视频生成深度图,效果堪比激光雷达
目前自动驾驶的核心技术是LiDAR(激光雷达),一种运用雷达原理,采用光和激光作为主要传感器的汽车视觉系统。LiDAR传感器赋予了自动驾驶汽车能够看到周边环境的“双眼”,激光雷达技术越先进,视觉感知的精准程度越高,这是自动驾驶得以实现的底层技术基础。
新智元
2019/05/08
1.3K0
谷歌AI:根据视频生成深度图,效果堪比激光雷达
推荐阅读
相关推荐
丰田研究院:自监督单目图像深度估计,数据和代码已开源
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档