Advertisement

行为克隆(End to End Learning for Self-Driving Cars 论文翻译)

阅读量:

摘要:我们开发了一个卷积神经网络(CNN),使其能够直接从一个向前倾斜的摄像头对应的原始像素数据中学习并生成转向指令。研究表明这种方法表现出色,在有或无车道标记的道路条件下都能有效驾驶,并且在视觉引导不清晰的区域也展现出一定的能力,在停车场和未铺设的道路等复杂环境中也能正常工作。
我们的系统仅根据驾驶员转向角作为训练信号,并能自主学习必要的内部表示过程。例如它无需被明确地训练去探测道路分界线这类信息。
与基于显式分解的方法相比我们的端到端系统能够同时优化所有处理步骤从而可能带来更好的性能和更为紧凑的系统结构。
我们认为这种方法最终将带来更好的性能和更为紧凑的系统结构。
因为我们相信这种自我优化的方式比人工选择的标准更能提升整体系统的性能而不必为了便于人工解释而去追求某些特定的标准。
此外较小规模的数据集也是可能实现的原因是我们所设计的学习机制能够用最少数量的基础处理步骤来解决问题从而减少了不必要的计算开销。
硬件配置方面我们采用了NVIDIA DevBox结合Torch 7框架进行了模型训练并使用NVIDIA DRIVE TM PX自动驾驶汽车计算机进行测试工作同样也利用了Torch 7框架来实现自动驾驶功能。
该系统的运行速度达到了每秒30帧(FPS)这一较高水平表现出了良好的实时性与稳定性。

1介绍

基于文献[1]的研究表明,在模式识别领域中,CNNs的方法已经取得了革命性的突破。在此之前,传统的模式识别系统主要依赖于人工设计的手征提取阶段以及后续的人工分类器。这一突破性进展体现在网络能够从大量训练样本中自动学习出有效的特征表示。值得注意的是,在图像识别领域,CNN方法因其强大的表现而广受欢迎,其核心优势在于利用二维卷积操作能够有效捕捉图像的空间信息。进一步地,由于网络中的卷积核能够覆盖整个输入区域进行计算,相较于全连接层所需的大量参数而言,CNN模型所需的参数数量显著减少。

尽管具有学习功能的卷积神经网络(CNNs)已在商业领域被广泛应用于20多年[3]。然而,在过去几年中由于两项重要突破使得其应用呈现出爆发式增长。其中一项关键因素是大量标注的数据集合成为训练与验证的有效工具之一,并且其中最著名的案例是大规模视觉识别挑战(ILSVRC)[4]项目的成功应用。另一个重要因素是基于CNN的学习算法已被成功部署到大规模并行计算单元(如GPU),从而显著提升了模型的训练与推理效率。

我们在本文中介绍了一种超出了模式识别现有水平的人工智能网络结构(Convolutional Neural Network, CNN)。这种系统能够模拟并学习人类驾驶汽车所需的关键处理流程和决策机制。该研究起源于10多年前美国国防高级研究计划局(DARPA)资助的一个新兴项目DAVE计划中的基础性工作[5]。DAVE项目的目的是开发自适应自动驾驶技术测试平台,在一个模拟的城市废墟场景中进行测试开发和性能评估。为了提高系统的泛化能力,在类似于真实城市交通环境但又不完全相同的虚拟环境中进行了约8小时的人类驾驶员行为模仿训练。
在这个过程中, 我们利用来自两个摄像头捕捉到的画面信息以及由人类操作者发出的具体转向指令作为训练数据集。

从多个维度来看,DAVE-2的设计灵感来源于波默劳[6]所提出的开创性概念,在1989年时他开发了一个名为ALVINN(Autonomous Land Vehicle)的人工智能驱动系统,并成功实现了对自动驾驶功能的支持。该系统展示了远程控制下的神经网络具备完全独立于传统驾驶装置或固定道路设计的能力。经过25年的持续发展与技术革新,在这项关键任务中我们积累并应用了更为丰富的数据资源与更高的计算能力。同时结合我们丰富的CNN应用经验,在这项技术上展现出显著的优势。(ALVINN采用的是一个全连接层构成的网络架构结构,在当前标准下其规模相对较小)

虽然DAVE展示了端到端学习的巨大潜力,并确实在启动用于地面机器人(LAGR)项目的DARPA学习中得到了验证;然而,在可靠性方面仍显不足。该系统目前还无法作为模块化越野驾驶方法的有效替代方案。此外,在复杂环境下两次碰撞之间的平均距离约为20米

2 DAVE-2系统概述

在这里插入图片描述

图像为两个特定的偏离中心位移可以获得从左和右相机。通过对距离最近的摄像机图像进行视点变换,来模拟摄像机之间的位移和所有转动。精确的视点转换需要三维场景知识,而我们没有。因此,我们通过假设视界以下的所有点都在平坦的地面上,而视界以上的所有点都无限远来近似这个变换。这对于平坦的地形很有效,但是它会对地面上的物体造成变形,比如汽车、杆子、树和建筑物。幸运的是,这些扭曲并没有给网络培训带来大问题。转换后的图像的转向标签被调整到一个,将引导车辆回到所需的位置和方向在两秒内。
我们的培训系统框图如图2所示。图像被输入到CNN中,然后CNN计算出一个建议的控制命令。将建议的命令与图像所需的命令进行比较,调整CNN的权值,使CNN输出更接近所需的输出。权重调整是使用Torch 7机器学习包中实现的反向传播来完成的

在这里插入图片描述

经过训练后,网络能够基于单中心摄像头的视频图像实现转向行为。如图3所示可见。

在这里插入图片描述

3 数据收集

为了收集训练数据,在不同类型的道路上行驶,并结合多种照明及天气条件进行采集。尽管来自伊利诺伊、密歇根、宾夕法尼亚和纽约的数据中包含高速公路部分,但大部分高速公路数据集中于新泽西中部地区。此外还包括双向两条车道的道路(有与无车道线区分)、有停车位的车辆、隧道以及未铺沥青路面的人行道。无论是晴朗无 clouds 的白天还是夜晚,在某些情况下会遇到太阳位于较低位置的情况:当太阳位于较低的位置时,在挡风玻璃上会出现由于路面反射而产生的眩光。

这些数据是由我们的线控驱动测试车(包括[注:此处保留原公式...]...])所获取的。我们要求司机集中注意力以确保安全,并在其余情况下保持正常的驾驶习惯。至截至日期为止(即...),我们已经收集了大约72小时的驾驶数据

4网络体系结构

我们通过优化网络参数来减小其输出转向指令与人类驾驶员指令或经偏心/旋转图像校正后的转向指令之间的均方误差(见第5.2节)。我们的网络体系结构如图4所示。该网络由9层构成,其中包括标准化层, 5个卷积块以及3个全连接层.输入图像经过YUV平面分解后再传递给该网络进行处理.

在这里插入图片描述

最底层应用图像归一化。该规范化的操作是预设方式,在学习过程中无法动态优化。在实际网络运行中实施规范化处理能够使规范化方案适应网络架构变化,并且同时借助GPU技术实现加速。

前馈网络中的卷池层旨在实现特征提取,并通过实验验证不同配置的可行性。在本研究中,我们采用了间距型卷池在前三个层中设置间距尺寸为2x2、内核大小5x5,在后续的两个层中转而采用非间距型。

在经过五个卷积层后随后添加了三层全连接网络以生成一个输出控制参数这一参数即为反向转向半径其核心作用是用于方向控制系统设计者发现在整体上采用端到端微分训练策略使得很难明确区分哪些模块主要负责特征提取作用以及哪些模块承担控制器功能

5训练细节
5.1 数据选择

确定所需使用的帧作为神经网络训练的首要任务。我们收集的数据将被归类为道路类型、天气状况以及驾驶员活动(包括维持当前车道、转向其他车道以及偏离原车道等)。为了实现对卷积神经网络(CNN)进行车道跟踪的目的,在数据预处理阶段我们将被迫排除不属于驾驶员所在车道的数据序列。随后采用10fps的帧率捕捉图像序列。由于较高的采样率会导致高度重复性图像数据生成的现象,在实际应用中这将限制有效信息量的有效获取。

为了消除直线驾驶时造成的偏差问题,在训练数据中特意增加了较高比例显示道路曲线特征的具体帧。

5.2 增加数据量(特殊情况)

在选择了最后一组帧后,在引入人工偏移和旋转后强化数据集以使网络学习其在异常位置或方向下的恢复能力。这些扰动量是随机选取而非服从正态分布。其均值为零而标准差等于人工驾驶员测量的标准偏差的两倍。随着幅度增大,在这种情况下人为地扩大数据量确实可能导致了不希望的现象(参见第2节)。

第6次仿真实验之前,在训练完成后对CNN进行仿真实验前

在这里插入图片描述

该模拟器利用一辆由人驾驶的数据收集车上的前向机载摄像机获取预先录制的视频,并随后生成相应的图像。这些生成的图像在一定程度上与CNN在转向车辆时所呈现的图像相似。这些测试视频同步于人类驾驶员产生的驾驶指令。

考虑到人类驾驶员通常不在车道中央行驶的情况,在每帧画面中对应的模拟器视频中进行人工校准以确定车道中心的真实位置是必要的工作。我们称这个精确的位置为真实地面('ground truth')。

模拟器通过将原始图像进行转换来揭示其与地面真实情况之间的偏差。
请注意,在这种情况下不仅包括了人工路径与地面真理之间的差异。
这些转换按照第2节所述的方法进行。

模拟器不仅访问录制的测试视频,在视频被捕获时也同步执行相应的转向操作。模拟器会将选定测试样本的第一帧图像数据输入训练好的卷积神经网络(CNN),并通过比较计算出与实际行驶路径之间的偏差进而优化参数设置。随后系统会根据分析结果生成必要的控制指令。这些来自网络的部分指令数据会被整合到驾驶员操作记录中一起导入车辆动态模型[8]中,在线更新并重新计算模拟车辆当前的状态信息如位置及行驶方向等信息

然后模拟器根据测试视频中的下一帧进行调整, 使其呈现车辆处于所给出的方向指示位置的状态. 接着将这一调整后的图像传递给CNN进行分析, 并循环执行这一系列操作.

模拟器监测离中心的距离(以车至车道中线之距为基准)、偏航角度及虚拟车辆行经路程等参数信息。若车辆偏离中线达1米以上,则系统会自动执行人工干预措施,并对虚拟车辆位置及朝向进行归正化校准处理

7 评估

评估我们的网络需要两个步骤,首先是模拟,然后是路上测试。

在模拟环境中, 让模拟器中的网络接收并执行一系列预先录制好的测试路线的指令, 这些路线等同于该地区行驶约3小时100英里. 测试数据则来自不同光照与气象条件下的情况, 涵盖高速公路、本地道路以及居民区的道路类型.

本研究估算了网络实现无人驾驶汽车自主运行能力的比例。该指标是通过模拟系统中人为干预行为的数据来计算得出的(参考第6节)。这些人为干预动作发生于模拟车辆偏离中央车道线超过1米的位置。在现实中,在每次实际发生车辆偏离中央车道线超过1米的情况下... 在现实中,在每次实际发生车辆偏离中央车道线超过1米的情况下... 在现实中,在每次实际发生车辆偏离中央车道线超过1米的情况下... 我们假设在现实生活中,在每次实际发生车辆偏离中央车道线超过1米的情况下… 我们假设在现实生活中,在每次实际发生车辆偏离中央车道线超过1米的情况下… 我们假设在现实生活中,在每次实际发生车辆偏离中央车道线超过1米的情况下… 在现实中,在每次出现车辆偏离中心位置的情况时… 我们认为在网络环境下… 其中N代表总的干预次数。

在这里插入图片描述

因此,如果我们在600秒内进行10次干预,我们的自主价值就会是:

在这里插入图片描述
在这里插入图片描述

图形界面模拟器运行时生成如图所示屏幕快照

7.2 路上测试
经过专业训练后的网络在模拟器中的运行表现优异后,我们将该网络部署至我们的测试车辆上的DIVINE TM PX系统,并对其进行了道路测试。 在此次测试中,我们将性能测量为其一部分用于衡量车辆自动转向所需的时间,此时间段内未涉及车道变换或直线路段的情况。 约有98%的道路行驶过程中实现完全自动驾驶状态,全程沿着该多车道高速公路行驶了10英里,期间未发生任何拦截情况。

7.3 CNN内部状态可视化

图7和图8分别展示了两个不同示例输入(未铺设的道路与自然林地)前两个功能映射层的空间激活模式。在未经处理的道路场景中,CNN能够明确地将道路边界提取出来;而在自然林地场景下,则由于存在较多的空间干扰(如树冠遮挡等),导致CNN未能有效识别出关键特征。

该研究显示CNN具备自主学习能力,能够识别有用的路标或道路元素;主要基于驾驶员转向行为的反馈机制。例如,在实验中我们并未直接指导网络识别道路边界。

在这里插入图片描述

图7展示了CNN对未铺设道路的感知方式。顶部部分收集了CNN所有摄像头接收到的道路图像片段。左下方区域通过CNN的第一层特征图识别路肩轮廓;而右下方区域则利用第二层特征图捕捉更复杂的道路细节。这一现象表明CNN能够自主识别关键的道路元素;即仅利用驾驶员转向行为作为模型训练的基础信号。值得注意的是,在整个学习过程中并未给予模型明显的轮廓信息。

在这里插入图片描述

第8幅图:不含道路信息的道路示例图像。 最初两个特征图的激活表现出高度噪声特征,并且表明该网络未能有效提取该图像中的有用信息

8结论

通过一系列实验证明,在无需对道路进行人工分解或车道标记、语义抽象、路径规划及控制等任务进行分解的情况下(即无需依赖复杂的预设分层架构),卷积神经网络(CNNs)能够完成对车道识别及道路跟随的整体任务。研究结果表明,在基于仅100小时以内的实际驾驶数据所获得的小规模训练集上(即基于有限的学习样本),该方法即可实现对各种天气条件(包括晴天、多云以及下雨天气)、高速公路、地方道路以及居民区道路上车辆运行能力的有效模仿与适应性学习。此外,在仅通过单次转向动作获得训练信号的情况下(即无需依赖复杂的预设分层架构),CNN能够提取出具有高度意义的道路特征信息。

例如,系统在训练过程中不需要显式标签就可以检测道路轮廓。

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~