专栏 | CVPR 2017论文解读:基于视频的无监督深度和车辆运动估计

机器之心专栏

作者:单乐

本届 CVPR 2017大会上出现了很多值得关注的精彩论文,国内自动驾驶创业公司 Momenta 联合机器之心推出 CVPR 2017 精彩论文解读专栏,本文是此系列专栏的第四篇,介绍了 UC Berkeley 与谷歌在大会上展示的 Oral 论文《Unsupervised Learning of Depth and Ego-Motion from Video》,作者为 Momenta 高级研发工程师单乐。

给定一张图像,人类可以根据以往的视觉经验推断出 3D 景深,而如何让计算机从单张图片推断 3D 结构一直是计算机视觉领域的难点和热点。现有的一些 CNN+Depth 或者 CNN+SLAM 的工作大概可以分为:直接利用深度图进行监督学习,以及利用帧间转移的 ground-truth pose 进行监督学习。然而,这类监督学习的方法需要的数据成本较高,难以获取大规模训练数据。在小数据集上训练,往往导致这些方法在没有见过的场景下并不 work,给人的感觉是 CNN 与深度估计以及 SLAM 的结合都停留在实验室和 paper 上,尤其是自动驾驶场景下面临着复杂多变的道路场景,这些监督学习的方法都不太适用。而今天分享的这篇论文,采用了无监督的方法针对视频数据进行训练,从而对单张图片的深度以及连续帧之间的车辆运动进行估计,可以对大量已知相机内参的视频数据进行训练,为 CNN 在自动驾驶领域的应用带来的新的启发。

这篇论文用视频连续帧的不同视角的几何信息作为监督信号训练了一种端到端的单目图像深度估计和车辆运动估计的 framework,如图 1 所示,包括一个用于单一视角深度估计的 Depth CNN,以及用于连续帧间运动估计的 Pose CNN,通过将当前帧图像结合预测的深度图以及帧间转移投影到临近帧上,计算像素误差作为训练的 loss,对两个网络进行联合训练。预测阶段,两个网络可以独立使用进行推理。在 KITTI 数据集上的评估结果显示,该方法和之前用 ground-truth pose 或者 depth 进行监督的方法性能是相当的,并且运动估计的结果和现有的通用 SLAM 方法性能相当。

图 1

这种用 multi-view observations 来学习 single-view depth 以及帧间转移的方法是基于预测结果和多视角观察之间的「几何一致性」(geometrically consistent)。个人认为这篇论文的亮点主要在于:1、提出了一种无监督的方法,使网络可以用更多的场景进行训练; 2、显式的使用了 optical-flow 的 pipeline,这样可以保证网络必须同时学到深度估计和帧间转移估计才能使 loss 最小; 3、利用卷积-反卷积的网络结构以及引入了 multi-scale 和 smoothness loss 的机制来解决 gradient locality 的问题; 4、提出了 explainability mask, 用于解决图像中的运动物体以及随视角变化的遮挡情况。

算法介绍

首先介绍该方法的网络框架,如图 2 所示,对于 single-view depth 网络,输入为单张图像,网络结构是在 DispNet 的基础上加上了 multi-scale 的输出。对于 Pose/explainability network,输入为连续帧的切片,网络结构为两个网络共享前几层卷积,预测出 6-DoF 的帧间转移 pose 之后,再进行反卷积,输出不同 scale 的 explainability mask。这种卷积再反卷积的网络结构比较经典,广泛应用于深度预测(Flow-net 等),论文中给出的解释是这种结构有利于梯度传播以及得到全局 smooth 的深度图。值得一提的是论文提出的 explainability mask, 我们知道,这种 warping 图像的方式,如果两帧图像中存在运动物体或者有较大的随视角变化的遮挡情况,那即使利用 ground-truth pose 用于 warping,得到的 loss 也不为 0。explainability mask 就是为了解决这一问题,将 mask 乘在对应尺度的像素误差上,即得到最后的误差。这也会引入另一个问题,即该 mask 为全零时 loss 为 0, 为了解决该问题,通过计算该 mask 与 1 的交叉熵,加入了一个正则项。也就是说,只有在 single-view depth network 输出正确的深度,Pose network 输出了正确的帧间转移,同时 explainability mask 正确的覆盖了运动物体及遮挡区域以及算法无法解释的区域时,网络的 loss 才为最小。

图 2

该方法利用 Cityscapes 及 KITTI 数据集进行训练和评估,性能和之前经典的监督学习方法相当,具体数据不再赘述。值得一提的是,该方法直接在 Make3D 数据集上进行 test,得到的结果也很好,说明该方法在某种程度上可以根据场景布局推理出深度信息。

拓展

从自动驾驶应用的角度来看这篇论文,首先是无监督的方法使大规模的训练成为可能,其次该方法即使 pose 估计的精度不能满足实际应用,但单张图像的深度图也对特征点的选择有很好的指导意义,比如可以筛选掉较远处的特征点,在近处区域提取更多的特征点等。最后,该方法提出的 explainability mask,该 mask 可以解决 SLAM 中的重要问题,即如何滤除场景中的运动物体,并且更近一步的来看,如果该 mask 确实得到了不利与计算帧间转移的图像部分,直接用该 mask 对特征点或者像素点进行筛选,也许能得到很好的效果。

Q & A

在 CVPR 的 poster 环节和作者进行了面对面的交流,以下为我提的问题以及作者的回答。

Q:网络的输出结果并不是真实的深度,缺少尺度信息?看起来网络要学习的任务很多,要学习预测 depth、学习预测帧间转移、学习可解释的 mask,会不会比较难训练?

A:这种无监督的方法的输出是尺度模糊的, 所以并不能得到真实的 depth,我在 SLAM 的相关实验中加入了一个 scale factor。关于网络的训练,code 已经开源,你可以自己试一下。

Q:网络的 loss 中的几个参数会不会对网络的 performance 有很大的影响?应该怎么调节?去掉 explainability mask 对于结果的影响怎么样?

A:网络的 performance 对那几个参数比较敏感,尤其是对最后一个 mask 的参数特别敏感。对不同的数据集,要在 validation 集上进行手动的参数调整。explainability mask 对结果的影响取决于训练的数据集,比如在 KITTI 数据集上,去掉 mask 对结果影响不大。

Q:如果 pose cnn 输出的两帧之间的转移过大时,怎么保证投影点和 match point 距离过远时 loss 仍有意义?

A:这个问题我也发现了,所以在训练时会以很小的帧间转移来初始化 pose cnn。

Q:有没有试过先监督 pose cnn,或者对 depth cnn 进行监督,然后在更大的数据集上进行 fine-tune?有没有在更大的数据集上试过?

A:还没有试过,但是先加上一定的监督肯定会对网络的 performance 有提高。网络训练需要已知内参的视频数据,条件所限,没有在其他数据集上试过。我知道一些做无人驾驶的公司有很丰富的已知内参的视频数据,他们可以尝试一下这种方法。

Momenta CVPR 2017 系列专栏:

本文为机器之心专栏,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-07-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

大会 | 腾讯优图CVPR 2018论文:图片去模糊及快速肖像处理等多项技术解读

AI 科技评论按:CVPR 2018 将在美国盐湖城举行。腾讯优图实验室继在 ICCV 有 12 篇论文被收录(含 3 篇口头报告)后,在今年的 CVPR 20...

1652
来自专栏Java 源码分析

数字图像处理

2808
来自专栏CDA数据分析师

如何利用机器学习进行海量数据挖掘

互联网的海量数据不可能靠人工一个个处理,只能依靠计算机批量处理。最初的做法是人为设定好一些规则,由机器来执行。但特征一多规则就很难制定,即使定下了规则也没法根据...

2357
来自专栏灯塔大数据

荐读|初学者如何选择合适的机器学习算法

文主要的目标读者是机器学习爱好者或数据科学的初学者,以及对学习和应用机器学习算法解决实际问题抱有浓厚兴趣的读者。 面对大量的机器学习算法,初学者通常会问自己一...

4347
来自专栏SIGAI学习与实践平台

【技术短文】基于深度负相关学习的人群计数方法

原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的。

1896
来自专栏机器之心

教程 | 初学者如何选择合适的机器学习算法(附速查表)

选自sas 机器之心编译 参与:黄小天、蒋思源、吴攀 本文主要的目标读者是机器学习爱好者或数据科学的初学者,以及对学习和应用机器学习算法解决实际问题抱有浓厚兴趣...

3535
来自专栏机器之心

学界 | 与模型无关的元学习,UC Berkeley提出一种可推广到各类任务的元学习方法

选自BAIR Blog 作者:Chelsea Finn 机器之心经授权编译 参与:路雪、蒋思源 学习如何学习一直是机器学习领域内一项艰巨的挑战,而最近 UC B...

3759
来自专栏机器之心

神经风格迁移研究概述:从当前研究到未来方向(附论文和代码)

选自arXiv 作者:Yongcheng Jing 等 机器之心编译 风格迁移是近来人工智能领域内的一个热门研究主题,机器之心也报道了很多相关的研究。近日,来...

4335
来自专栏新智元

DeepMind无监督表示学习重大突破:语音、图像、文本、强化学习全能冠军!

【新智元导读】DeepMind的最新研究提出一种新的表示学习方法——对比预测编码。研究人员在多个领域进行实验:音频、图像、自然语言和强化学习,证明了相同的机制能...

1220
来自专栏人工智能LeadAI

logistic regression一点理解

关于logistic regression一些常见问题,整理出来,方便大家应对各种坑爹的面试官。

1712

扫码关注云+社区

领取腾讯云代金券