写点什么

谷歌提出新方法:基于单目视频的无监督深度学习结构化

  • 2018-12-03
  • 本文字数:2684 字

    阅读完需:约 9 分钟

谷歌提出新方法:基于单目视频的无监督深度学习结构化

AI 前线导读:近日,谷歌大脑团队提出一种结构化方法从单目视频中进行无监督学习,获得了较高质量的场景深度和自运动预测。同时,结合在线学习算法,该方法可以进行跨域迁移,在与训练数据库差距较大的数据库上获得可观的表现。


感知场景的深度是自主机器人的一项重要任务:准确估计物体离机器人的距离的能力对于躲避障碍、安全规划和导航至关重要。虽然可以从传感器数据(例如LIDAR)中获得(和学习)深度,但是也可以用无监督的方式从单目相机中学习场景深度,这取决于机器人的运动以及由此产生的场景的不同视图。这种方式还学习了“自运动(egomotion)”(机器人或摄像机在两帧之间的运动),同时提供了机器人自身的定位。虽然这种方法具有较长的历史(运动结构和多视图几何学),但是新的基于学习的技术,具体来说是通过深层神经网络对场景深度和自运动的无监督学习,已经推进了该领域技术的发展。其中包括 Zhou 等人的工作(Unsupervised Learning of Depth and Ego-Motion from Video),以及我们之前在训练中对场景的 3D 点云进行对齐的研究(Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos)。


尽管目前已经有这些成果,学习预测场景深度和自运动仍然是一个持续的挑战,尤其是在处理高动态的场景和估计运动物体的深度情况下。由于以往对无监督单目学习的研究没有对运动对象进行建模,因此会导致对对象深度的连续错误估计,常常会将其深度映射到无穷大。


在我们发表在AAAI-2019的论文 Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos (无传感器深度预测:利用结构信息完成基于单目视频的无监督学习)中,我们提出了一种新的方法,它能够对运动对象进行建模,并且给出高质量的场景深度估计结果。与其它单目视频的无监督学习方法相比,我们的方法能够恢复运动物体的正确场景深度。在本文中,我们还提出了一种无缝的在线优化技术,可以进一步提高质量,并应用于跨数据集的迁移。此外,为了鼓励大家提出更好的机载机器人学习方法,我们开源了论文的TensorFlow代码


图1 之前的工作(中间行)不能正确估计运动目标,而把他们的深度映射为无限远(热度图中深蓝色部分)。而我们的方法则提供了更好的深度估计。


图 1 之前的工作(中间行)不能正确估计运动目标,而把他们的深度映射为无限远(热度图中深蓝色部分)。而我们的方法则提供了更好的深度估计。

结构

我们方法的一个关键思想是在学习框架中引入结构信息。也就是说,我们不是直接依靠神经网络来学习场景深度,而是将单目场景看作由移动物体(包括机器人本身)组成的 3D 场景。我们将各个运动建模为场景中的独立变换——旋转和平移,然后将其用于建模 3D 几何并估计所有物体的运动。此外,知道哪些对象有潜在可能会移动(例如,汽车、人、自行车等)能够帮助我们学习它们单独的运动矢量,即使它们可能是静态的。通过将场景分解为 3D 和单独的对象,可以更好地学习场景中的深度和自运动,尤其是在高度动态的场景中。


我们在KITTICITYSCAPE城市驾驶数据集上测试了该方法。我们发现它的表现优于目前最先进的方法,并且与使用立体成对视频作为监督的方法的表现接近。重要的是,我们能够正确地恢复与自运动车辆速度相同的汽车的场景深度。这在以前是相当具有挑战性的,在这种情况下,移动车辆(单目输入)呈现静态,表现出与静止的地平线相同的行为,导致算法将其推断为无限深度。虽然立体视频输入可以解决这一问题,但是我们首次提出了能够从单目输入中进行正确推断的方法。


图2 之前用单目视频作为输入的工作不能提取运动物体,并且错误地将它们映射到无限深度。


图 2 之前用单目视频作为输入的工作不能提取运动物体,并且错误地将它们映射到无限深度。


此外,由于在我们的方法中对象是单独处理的,所以该算法能够为每个对象提供单独的运动矢量,即对它运动方向的估计:



图 3 动态场景下深度估计结果与独立车辆的移动矢量估计示例


除了上述结果,这项研究还证明了进一步探索无监督学习方法所具有的潜力,因为单目输入比立体或 LIDAR 传感器更便宜,更容易部署。如下图所示,在 KITTI 和 Cityscapes 数据集中,监控传感器(无论是立体还是 LIDAR)都有丢失值,并且有时可能由于时间延迟无法与相机输入对准。


图4 KITTI数据集单目视频深度预测(中间行),与Lidar传感器的真实值对比,后者没有覆盖全部场景,并且有丢失值和噪声值。真实深度值在训练中没有使用。


图 4 KITTI 数据集单目视频深度预测(中间行),与 Lidar 传感器的真实值对比,后者没有覆盖全部场景,并且有丢失值和噪声值。真实深度值在训练中没有使用。


图5 Cityscapes数据集的深度预测结果。从左到右分别是:图像、基线、我们的方法和立体视频提供的真实值。请注意立体真实值中的丢失值。而且我们的算法能在没有任何真实值深度信息的监督的情况下达到这样的效果。


图 5 Cityscapes 数据集的深度预测结果。从左到右分别是:图像、基线、我们的方法和立体视频提供的真实值。请注意立体真实值中的丢失值。而且我们的算法能在没有任何真实值深度信息的监督的情况下达到这样的效果。

自运动

我们的结果还提供了最先进的自运动估计,这对于自主机器人来说至关重要,因为它提供了机器人在场景中移动时的定位。下面的视频(由于微信限制,此处动图无法上传,可以查阅原文看原图)给出了我们方法的结果,我们对推断的自运动中获得的速度和转角进行了可视化。虽然深度和自运动的输出是标量,我们可以看到,当减速或停止时,它能够估计它的相对速度。


图6 深度和自运动预测。从速度和转角指示中可以看出车辆转弯和红灯停下时的估计值。


图 6 深度和自运动预测。从速度和转角指示中可以看出车辆转弯和红灯停下时的估计值。

跨域迁移

学习算法的一个重要特征是移动到未知环境时的适应性。在该工作中,我们进一步介绍了在线优化方法,该方法在收集新数据的同时继续进行在线学习。以下是在 Cityscape 上训练,然后在 KITTI 上进行在线优化之后,估计深度质量提升的示例。


7 在线优化效果示意图。在Cityscapes数据集上进行训练,而在KITTI数据集上进行测试。图像显示了训练模型和经过在线优化的训练模型给出的深度预测。经过在线优化的模型能够更好地描绘场景中目标的轮廓。


图 7 在线优化效果示意图。在 Cityscapes 数据集上进行训练,而在 KITTI 数据集上进行测试。图像显示了训练模型和经过在线优化的训练模型给出的深度预测。经过在线优化的模型能够更好地描绘场景中目标的轮廓。


我们进一步在与训练集有很大不同的数据集上测试,即在由Fetch机器人收集的室内数据集上测试,而训练是在室外城市驾驶 Cityscape 数据集上进行的。这些数据集之间存在很大的差异。即使如此,我们发现在线学习技术能够获得比基线更好的深度估计。


图8 在线自适应的结果:当模型从Cityscapes(室外驾驶数据集)迁移到由Fetch机器人收集的室内数据。最底行显示了应用在线优化后深度预测结果的提升。


图 8 在线自适应的结果:当模型从 Cityscapes(室外驾驶数据集)迁移到由 Fetch 机器人收集的室内数据。最底行显示了应用在线优化后深度预测结果的提升。


综上所述,这项工作致力于从单目相机中进行场景深度和自运动的无监督学习,并解决高度动态场景中的问题。结果显示,该方法获得了高质量的场景深度和自运动预测结果,与立体视频有类似的表现。并且我们提出了在学习过程中结合结构的思想。


更值得注意的是,我们提出的仅从单目视频中无监督学习场景深度和自运动预测与在线适应结合寓示了一个强大的想法,因为它不仅能够以无监督的方式从简单的视频中学习,而且还可以非常容易地迁移到其他数据集上。


查看英文原文:A Structured Approach to Unsupervised Depth Learning from Monocular Videos



2018-12-03 17:282298

评论 2 条评论

发布
用户头像
视频
2018-12-03 19:48
回复
没有更多了
发现更多内容

Serverless 在 SaaS 领域的最佳实践

Serverless Devs

Serverless 云原生 SaaS

顶级!13位专家力荐Spring5为企业级开发提供一站式方案

996小迁

Java spring 编程 架构 面试

智能合约上链系统开发|智能合约上链APP软件开发

系统开发

Redis 学习笔记 02:链表

架构精进之路

redis 七日更 28天写作

Java 异常处理

大海

Java java异常处理

重学JS | 异步编程 Generator()

梁龙先森

面试 大前端 编程语言 28天写作

开发复杂业务系统,有哪些设计思路

邴越

十八般武艺玩转GaussDB(DWS)性能调优:路径干预

华为云开发者联盟

数据库 sql 性能调优 GaussDB 算子

从美国《拜杜法案》到中国供应链体系形成的内在逻辑

JiangX

供应链 28天写作 制造

科技赋能传统产业:工业绿色可视化—核电站工艺流程组态仿真

一只数据鲸鱼

物联网 数据可视化 组态软件 绿色工业 核电站

盘点2020| 开启小马哥的新未来

小马哥

盘点2020

APICloud的发展和应用

anyRTC开发者

ios android 跨平台 sdk APICloud

高频量化交易机器人系统开发|高频量化交易机器人APP软件开发

系统开发

软件测试--selenium安装使用

测试人生路

软件测试

林昊获中国计算机学会杰出工程师奖,阿里中间件再获高度肯定,“三位一体”推动技术普惠

阿里巴巴云原生

阿里巴巴 阿里云 开发者 云原生 中间件

如何对AD和Exchange进行安全加固满足护网需要?

嘉为蓝鲸

安全 asm AD 邮件系统 权限

Socket粘包问题终极解决方案—Netty版(2W字)!

王磊

Java socket Netty

智汇华云 | 安超OS为企业数字化转型构建坚实的云基座

华云数据

大型企业引进低代码开发技术是大趋势

Sam678678

跨越全场景统一架构三大挑战,MindSpore亮出“四招”

华为云开发者联盟

深度学习 联邦学习 mindspore 算子 ai框架

新鲜出炉!阿里内部开源SpringCloud Alibaba全解(全彩版)全网首发

Java架构追梦

Java 学习 架构 面试 SpringCloud Alibaba

okhttp3 第一次使用

我就感觉到快

看图学NumPy:掌握n维数组基础知识点,看这一篇就够了

华为云开发者联盟

Python 机器学习 数组 Numpy

Android开发时的多点触控是如何实现的?

博文视点Broadview

快抛弃你错误的坚持

石君

生活随想 28天写作

港股配资系统搭建

软件开发大鱼V15988750073

金融科技 港股交易系统开发 在线开户系统 CFD交易系统 港股多账户系统

实时媒体AI,打破内容创作天花板,加速视频创新

华为云开发者联盟

人工智能 云原生 媒体 视频

工业传感器:工业互联网的第一道门

工业互联网

进来抄作业:分布式系统中保证高可用性的常用经验

华为云开发者联盟

高可用 运维 设计 分布式系统 系统

2020DevOps状态报告——变更管理

禅道项目管理

DevOps 运维 开发 趋势 自动化测试

谷歌提出新方法:基于单目视频的无监督深度学习结构化_AI&大模型_Anelia Angelova_InfoQ精选文章