如何用超大规模真实驾驶视频数据集做端到端自动驾驶

本文讲的是如何用超大规模真实驾驶视频数据集做端到端自动驾驶,

自动驾驶是人工智能落地的重要应用之一,许多业界公司和学校实验室都在以自己的方法研究自动驾驶系统。本次雷锋网 AI 科技评论请到了许华哲博士介绍他们团队研究的端到端自动驾驶系统。

许华哲是UC Berkeley 博士,师从 Prof. Trevor Darrell。对计算机视觉、自动驾驶、强化学习感兴趣。本科毕业于清华大学电子工程系。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

这次分享主要基于徐华哲和他的同学们发表的CVPR2017的收录文章「End-to-end Learning of Driving Models from Large-scale Video Datasets」,这是对端到端自动驾驶的一个尝试。除了文章本身,许华哲也会介绍学术角度上自动驾驶领域中有意思的任务和问题。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

分享的内容包括:

  • 自动驾驶的前世今生

  • 许华哲他们发表的超大规模数据集

  • 为了解决自动驾驶问题,如何用数学公式定义它

  • 论文中构建的FCN-LSTM模型

  • 论文中用到的新技巧“Learning with privileged information”,以及实验结果

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

自动驾驶主要分为这样几类:基于规则的自动驾驶系统,端到端的自动驾驶系统(输出直接是对车的操作),综合性方法(Intermediate,决策系统的输入是前处理系统的输出)。最后还有一个研究方向是对未来会发生的事情做预测以便规避风险。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

图中是基于规则的自动驾驶系统的经典工作,检测出路上的车和车道,然后进行决策。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

基于规则的系统,好处是在工业界得到了广泛使用,比如GoogleX的自动驾驶就是以基于规则的系统为主;以及系统的可解释性非常强。不好之处是难以应对不确定的情况,以及在复杂的情况下无法对所有可能的操作进行建模。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

完全端到端的方法中早期的典型工作是ALVINN,浅层神经网络的结果已经表明端到端学习有形成自动驾驶系统的潜力。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

Yann LeCun提出的DAVE已经可以回避路上的障碍物。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

在2017年10月最新的文章中,已经可以通过高阶的运动意图对低阶的实际驾驶操作进行条件(conditioned)控制,在许华哲看来已经是水平最领先的文章。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

不过话说回来,这个领域影响最大的还是NVIDIA的这篇文章,第一次借助三个摄像头用端到端的方法开起了真车。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

端到端驾驶的好处是,模型可以直接对图像输入作出回应,不需要人类干预;坏处是,系统对于不同的车辆系统需要逐一校准,以及解释性差

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

这项综合自动驾驶系统的典型方法中,用深度学习方法学到一系列行驶中的路况信息,然后把这些路况信息输入决策模型;决策模型中则可以再设定一些规则。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

这种方法的解释性介于端到端和基于规则的系统之间,但还是需要人工定义许多规则,仍然有“无法完全定义系统规则”的问题

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

未来视频预测的目的是帮助训练自动驾驶系统,效果还有很多提升的空间,但是许华哲认为与现阶段各大自动驾驶平台的自动驾驶模拟器相比,这方面研究的意义还有待讨论。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

接下来,值得聊的话题是数据集。大家都知道ImageNet对深度学习领域有着深远的影响,因为它提供了检验算法的绝佳条件。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

从近年的错误率显著下降来看,大家都认为图像分类问题是一个近乎于解决了的问题,ImageNet就在其中起到了非常大的贡献。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

那么,许华哲认为自动驾驶领域也需要一个起到同样作用的数据集,它应当由众包得到,应当是真实的、足够难的、有一个明确的任务目标

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

对于任务目标,他们把它公式化为了一个预测车辆未来位置的问题。

这样做的好处是,泛化性强,可以运用于对任意的车辆,也可以用未经过校准的数据;他们的模型是可以端到端训练的;同时模型可以一次预测多个方向

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

模型中要预测的egomotion用方向角α和位移s描述,这样也就不需要直接对车辆内的方向盘和踏板进行控制,简化了系统的前期研究。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

模型的数学定义如上图,评估给定的状态s和动作a的得分,其中s包括视觉信息和车辆的当前状态;a可以是分离的几个状态,也可以是连续的数值输出;最精确的是输出6个自由度上的运动

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

下一个问题就是如何评估这个模型。借助数据集的话,借助语言模型里perplexity预测的思路,把过去的状态作为序列,预测序列中的下一个元素

在他们的数据集之前,大家比较熟悉几个数据集包括KITTI、Cityscape、英特尔的GTA。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

KITTI的特点是数据量比较小,但图像质量高,数据种类丰富,横向很宽

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

Torcs是在游戏里采的数据

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

Cityscape是一个高质量的图像语意分割数据集,但是并没有放出对应的视频

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

英特尔的GTA数据集也是以语意分割为主,虽然基于虚拟的游戏环境但是很逼真,可以看作最接近真实世界的游戏

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

几个数据集做对比的话,场景的丰富程度上KITTI力压所有数据集,其余更多方面则都有缺失

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

时长方面,Oxford的最长,围绕城市采了200小时数据。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

这几个数据集都不算令人满意。为了大幅度提升时长和丰富程度,许华哲他们想到了众包的方法,与Uber合作,采集、使用了司机视角的视频。这个数据集的特点是基于真实世界的、第一人称视角,从右侧样例里可以看到内容也非常丰富。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

最重要的是,这个数据集也是足够长的,比现存的任何数据集都要多出2个数量级。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

这样对比下来,他们的数据集BDD-V就全面领先于其它的数据集

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

BDD-V数据集更多的指标如上图,30fps/720p,包括了惯性传感器IMU、陀螺仪Gyroscope、GPS和指南针的数据,而且是全面开放的。许华哲还偷偷透露,除了这个视频数据集,他们还会同步发布其它用于驾驶任务的高质量、大规模数据集。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

这里正式介绍文章中的内容,一张图像输入到模型中后,模型要判断车如何行驶,最后输出中绿色部分表示可能的动作的概率分布(离散或者连续)。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

论文中使用的模型结构是Dilated Fully Convolutional Networks+LSTM+Segmentation Loss。FCN用来保留空间信息,LSTM对之前时间中的信息加以利用,Segmentation语义分割则是为了把车辆从背景中分离出来(这部分属于Privileged Learning,等下还会讲到)。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

上图显示的是预测离散的车辆动作(也就是前后左右)的结果,G代表ground truth,P代表预测的结果。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

对于红绿灯也作出了合理的预测结果(黄灯时前进和停止一半一半,红灯时预测结果都是停止)

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

对于预测连续的车辆动作,沿着路的时候能判断出“不能右转”,到了路口就有了更多方向的选择

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

在连续预测中,有个重要问题是能否预测多个模态。可以看到,到了路口时预测结果明显分为了两个部分。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

这里,为了更好地展示模型学到的特征,徐华哲从模型中抽出了conv-4层学到的特征。对于右侧的街道图,左侧是模型注意力的heat-map;两图并不是完全对齐的。可以看到,行车线、红绿灯、骑车的人和汽车(表现为两个车轮)都获得了很高的注意力。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

Privileged Learning是指,模型一边预测未来的运动,一边训练一个语义分割网络,然后用语义分割网络更好地帮助模型做运动预测。P1、P2是Baseline,P3是带有Privileged Learning之后的结果,对图中这样“半辆车”的情况有更好的识别能力。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

总结整篇论文

  • 首先介绍了一个不依赖执行机构的自动驾驶通用模型

  • 收集、公开了最大、最丰富的基于真实世界的数据集

  • 提出了新的网络架构,能够输出多模态行为

  • 确认了Privileged Learning方法的有效性,进一步提升了预测效果

  • 第一个长度可以和人类一生开车时间相比的训练数据集

数据、模型和代码可以在 https://github.com/gy20073/BDD_Driving_Model 看到。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

未来他们也还会继续采集、扩充数据集。目前总长度(最下方)大概是一个人一生开车时间的一半,未来希望扩充到10万个小时。

如何用超大规模真实驾驶视频数据集做端到端自动驾驶 | 分享总结

同时他们也在改进模型,并在测试场地上把真车开起来。 秋天时他们也会再发一两篇文章。

徐华哲最后还解答了几个在线观众提出的问题。






本文作者:杨晓凡
本文转自雷锋网禁止二次转载,原文链接
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 端到端深度学习图像匹配是一种利用深度学习技术来实现图像匹配的方法。这种方法在传统图像匹配方法的基础上,使用了神经网络来自动学习图像间的特征表示,并在端到端的过程中完成匹配。 通常,端到端深度学习图像匹配方法首先对输入图像进行特征提取,使用卷积神经网络(Convolutional Neural Network, CNN)提取图像的特征表示。然后,通过将图像的特征表示与数据库中的图像特征进行比较,确定图像的匹配情况。 与传统的图像匹配方法相比,端到端深度学习图像匹配具有许多优点。首先,它可以自动学习图像间的特征表示,不需要人工设计特征提取算法。其次,它可以处理复杂的图像,包括不同光照、姿态等变化的图像。最后,由于使用了大量的数据训练,端到端深度学习图像匹配具有很好的泛化能力,可以很好地适用于实际应用场景。 总的来说,端到端深度学习图像匹配是一种具有广泛应用前景的图 ### 回答2: 端到端深度学习图像匹配是一种基于深度学习的图像匹配方法,它通过直接学习输入图像之间的映射关系,实现了从输入图像到输出匹配结果的端到端的过程。本文将对端到端深度学习图像匹配的方法、优点和应用进行综述。 在端到端深度学习图像匹配中,一种常见的方法是使用卷积神经网络(CNN)进行特征提取和匹配。首先,将输入图像通过CNN网络提取高层特征表示,然后使用一些配准算法(如光流法、平移不变特征变换等)对这些特征进行配准,最后通过一些匹配损失函数来优化模型参数,得到最终的匹配结果。 端到端深度学习图像匹配具有以下几个优点。首先,通过直接学习输入图像之间的映射关系,避免了传统方法中的特征提取和匹配两个独立步骤的错误传播问题。其次,深度学习模型可以自动学习图像的高层特征表示,从而更好地适应不同类型的图像和视觉任务。此外,通过端到端的训练方式,可以直接优化模型参数,提高整个图像匹配系统的性能。 端到端深度学习图像匹配在许多领域都有广泛的应用。例如,在计算机视觉领域,它可以用于图像配准、图像检索等任务。在无人驾驶领域,它可以用于实时的目标跟踪和环境感知等任务。此外,还可以将其应用于医学影像处理、遥感影像分析等领域。 尽管端到端深度学习图像匹配已经取得了一些重要的进展,但仍然存在一些挑战和限制。例如,对于缺乏标记的训练数据,如何有效利用弱监督学习方法进行训练是一个重要问题。此外,如何解决大规模数据集上的计算和存储问题也是一个挑战。 总之,端到端深度学习图像匹配是一种具有广泛应用前景的方法。通过深度学习模型的优化和训练,可以实现更高效和准确的图像匹配。然而,仍然需要进一步的研究和探索来解决一些挑战和限制,以实现更好的性能和应用。 ### 回答3: 端到端深度学习图像匹配是指使用端到端的深度学习方法来实现图像匹配的过程。传统的图像匹配算法通常包括特征提取、特征匹配和几何校正等多个步骤,而端到端深度学习图像匹配将这些步骤整合在一个网络中,通过端到端的方式直接从原始图像数据中学习匹配模型。 在端到端深度学习图像匹配中,主要涉及两个重要的问题:特征表示和相似性度量。特征表示是指如何将图像数据转化为具有良好表达性能的向量表示,常用的方法包括卷积神经网络(CNN)和循环神经网络(RNN)等。相似性度量是指如何度量两个特征表示之间的相似程度,一般采用欧氏距离、余弦相似度或交叉熵等方法。 端到端深度学习图像匹配在许多视觉任务中都取得了显著的成果。例如,在图像检索中,可以通过学习一个映射函数,将每个图像映射到一个具有良好特征表示的向量空间中,然后通过计算向量之间的相似度来进行图像检索。在图像配准中,可以通过训练一个网络来预测图像的几何变换参数,从而实现图像的自动对齐。 然而,端到端深度学习图像匹配仍面临一些挑战。首先,深度学习方法需要大量的标注数据来进行训练,而图像匹配任务通常难以获得准确的标注数据。其次,深度学习方法的模型复杂度较高,需要大量的计算资源和时间来训练和推断。此外,在一些复杂场景下,由于光照、视角等因素的变化,图像匹配的性能仍然有待提高。 综上所述,端到端深度学习图像匹配是一种通过端到端的深度学习方法来实现图像匹配的新兴技术。虽然它在许多视觉任务中取得了良好的结果,但仍有一些问题亟待解决。随着深度学习技术和计算资源的不断发展,相信端到端深度学习图像匹配将在未来得到更广泛的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值