:该翻译主要用Google翻译然后微调,自学用。原文目前发现有3处单词错误,感兴趣的话可以去找找。该翻译不含图片和公式,仅作参考,欢迎交流。
论文链接:Deep Steering: Learning End-to-End Driving Model from Spatial and Temporal Visual Cues
该文章发布于VSCC'17的名字略有不同:Learning End-to-End Autonomous Steering Model from Spatial and Temporal Visual Cues.
《深度转向:从时空视觉提示中学习端到端驾驶模型》
摘要—近年来,使用低成本车载摄像头的自动驾驶算法吸引了学术界和工业界的越来越多的努力。这些努力有多个方面,包括道路上的物体检测,3-D重建等,但是在这项工作中,我们专注于基于视觉的模型,该模型使用深层网络将原始输入图像直接映射到转向角。这代表了计算机视觉领域的一个新兴研究主题。这项工作的技术贡献是三方面的。首先,在与其他车辆传感器时间同步的真实人类驾驶视频上学习和评估模型。这与从赛车游戏中的综合数据训练而来的许多先前模型不同。其次,最先进的模型(例如PilotNet)通常在每个视频帧上独立预测车轮角度,这与对驾驶作为有状态过程的普遍理解相矛盾。取而代之的是,我们提出的模型结合了时空暗示,共同研究了单眼即时相机观察和车辆历史状态。实际上,这是通过在适当的网络层插入精心设计的循环单元(例如LSTM和Conv-LSTM)来实现的。第三,为了促进学习模型的可解释性,我们利用视觉反向传播方案来发现和可视化关键影响最终转向预测的图像区域。我们的实验研究基于Udacity提供的大约6个小时的人类驾驶数据。全面的定量评估证明了我们模型的有效性和鲁棒性,即使在剧烈照明变化和突然转向的情况下也是如此。与其他最新模型的比较清楚地表明了其在预测自动驾驶汽车的应有轮角方面的优越性能。
索引词-自动驾驶,卷积LSTM,深层网络,深层转向
一、引言
新兴的自动驾驶技术已经在学术界和工业研发部门处于研究阶段达十年之久。 3/4级自动驾驶汽车有可能在不久的将来成为现实。 近年来,取得巨大技术成就的主要原因是多种相互关联的趋势的结合,包括深度学习的复兴[1],[2],用于传感和车载计算的设备的快速发展, 带有注释的数据的积累以及相关研究领域(尤其是计算机视觉)的技术突破。在一大批具有挑战性的计算机视觉任务(例如图像分类[3]和对象检测[4],[5])上,最先进的计算机视觉算法在受限条件下已表现出与人类表演者相当的准确性。与LIDAR或超声波之类的其他传感器相比,车载摄像头价格低廉,既可以独立提供可操作的信息,又可以补充其他传感器。例如,人们可能希望这些相机能够检测道路上的物体(行人,交通标志,交通信号灯,前方道路上的障碍物)或估计其他车辆的方向/距离,甚至可以重建周围环境的3-D密集地图环境。
基于视觉的驾驶员辅助功能已在现代车辆中广泛提供。典型功能包括通过估计前车距离来避免撞车,行人/自行车检测,车道偏离警告,智能大灯控制等。这项研究的目标是自主转向,这在计算机视觉,机器人技术和机器学习领域是一项相对未开发的任务。目标是学习一种用于自动驾驶汽车的面向视觉的模型。与大多数先前主要输出静态中间表示的现有深层模型不同,本文中开发的模型直接产生可操作的转向命令(准确的车轮角度,制动或加速等)。
通常,最新的自动驾驶演示系统采用介导感知方法[6]或行为反射方法[7] [8],这两种方法都得益于深度学习的最新进展。我们将在“相关工作”部分中对这两种范式进行更详细的调查。本文遵循行为反射的范式。我们提出的方法(称为“深度转向”)是由于现有方法的不足而引起的。深度指导提供的技术贡献可总结如下:
首先,大多数现有的作品都是通过前置行车记录仪的图像与时间同步的转向角配对来训练深度网络的,该图像可以从人类驾驶员,电子赛车游戏[6]记录下来,或者由IMU传感器[8]进行估算。我们认为,在真实汽车中部署经过训练的模型时,从真实驾驶记录中进行训练对于确保车辆的安全至关重要。例如,从赛车游戏TORCS收集的数据在视觉背景和道路交通中的分布有偏差,因此与实际驾驶场景有很大差异。徐等人的工作[8]使用最近建立的BDD-Nexar Collective1的子集建立了一个深层模型,该子集包含大约300小时的视频数据。但是,BDD-Nexar Collective除视频外还记录有限的信息,主要是GPS和IMU。只能根据IMU信息间接估算驾驶员的行为。轮角注释的准确性和视觉/非视觉信息的同步性尚未得到充分验证。此外,徐等人的主要目标是在预测车辆的离散状态(例如直行或左转),而不是连续的转向操作。相比之下,我们的工作将基于真实的高质量人工驾驶日志执行所有培训和模型评估。
其次,现有方法大多从单个视频帧中学习操纵动作的模型。直观地,先前的车辆状态和转向动作的时间一致性在自主转向任务中起着关键作用。但是,它们要么在模型学习过程中被完全忽略[6],[7],要么被利用不充分[8]。在这项工作中,我们探索了递归神经网络的不同体系结构。从经验上我们发现,同时使用多个网络层而不是任何单个层的时间信息是一个更好的选择。在实践中,该想法是通过在所建议的深层网络的不同层上结合基于标准矢量的Long Short-Term Memory(LSTM)和convolutional LSTM来实现的。
最后但并非最不重要的一点是,通常将深度模型视为复杂的,高度非线性的“黑匣子”。这些模型的预测尽管通常非常准确,但人类无法理解。在自动驾驶中,安全是重中之重。确保最终用户充分了解基础预测模型的机制至关重要。有很多关于可视化深层网络的研究工作,例如Zeiler等人所做的工作[9]和全局平均池化(GAP)[10]。这项工作改编了可视反向传播框架[11],以可视方式分析我们的模型。以人类可读的方式有效地计算和可视化主要影响最终预测的显着图像区域。
本文的其余部分安排如下。第二节回顾了过去几年中开发的相关作品。问题设置在第三部分中说明。我们建议的“深度转向”在第四部分中介绍。第五节显示了全面的经验评估和比较,第六节总结了这项工作。
二、相关工作
自动驾驶的雄心可以追溯到列奥纳多·达·芬奇的自推式手推车,如果不是最早的话,其复杂的控制机制使其可以自动遵循预先设定的路径。迄今为止,无人驾驶汽车已不再是现实道路上的稀有景象。自动驾驶研究已经获得了政府的巨额资助,例如Eureka Prometheus Project2和V-Charge Project3,并受到了DARPA Grand Challenge4等竞赛的刺激。
按照[6]中使用的分类法,我们将现有的自动驾驶系统分为两个主要方向:介导的感知方法和行为反射方法。对于前一类,此困难的任务首先分解为几个原子性的,更易于处理的子任务,以识别与驾驶相关的对象,例如车道,交通标志以及照明灯,行人等。解决每个子任务后,汇总结果以全面了解汽车的周围环境,然后可以预测安全有效的转向动作。实际上,大多数工业自动驾驶系统都可以被标记为介导的感知方法。存在关于每个上述子任务的大量文献。多亏了深度学习,我们见证了大多数子任务的重大进步。尤其是,使用边界框(可能是3D方向)定位感兴趣的对象的对象检测技术[4],[12]被视为自动驾驶的关键实现因素,包括车辆/行人检测[13],[14] ,[15],[16]和车道检测[17],[18],[19]。
Xiao等人的《深度驾驶》工作[6]代表了这种介导的感知范式的新颖研究。与在道路上进行物体检测不同,作者提议提取与驾驶更为紧密相关的负担能力(affordance)。此类负担能力的示例包括到附近车道标记的距离,当前/左/右车道中与先前汽车的距离以及汽车行驶方向与道路切线之间的角度。这种方式不会浪费与任务无关的计算。作者设计了一个端到端的深度网络,以增强的鲁棒性可靠地估计这些能力。
关于行为反射方法,迪恩·波默洛(Dean Pomerleau)开发了ALVINN的开创性著作[20]。与具有数百个层的现代网络相比,其中采用的网络“浅”且很小(大多是完全连接的层)。实验场景大多是没有障碍的简单道路。 ALVINN开创了使用神经网络将图像像素直接映射到转向角的工作。 [21]中的工作使用强化学习方法训练了一个“大型”递归神经网络(权重超过一百万)。类似于Deep Driving [6],它还利用TORCS赛车模拟器进行数据收集和模型测试。 DARPA播种项目称为DAVE(DARPA自主车辆)[22],旨在建立一个小型越野机器人,该机器人可以在未知的开阔地形上行驶,同时仅凭视觉输入避开障碍物(岩石,树木,池塘等)。在各种情况下的训练运行中,DAVE系统都是由人类驾驶员根据数小时的数据进行训练的。文献[22]中的网络是一个六层卷积网络,将左/右一对低分辨率图像作为输入。据报道,在复杂的环境中,DAVE两次撞车之间的平均距离约为20米。 DAVE-2 [7],[11]或PilotNet [23]的灵感来自ALVINN和DAVE。该网络由9层组成,包括标准化层,5个卷积层和3个完全连接的层。训练后的数据是从两车道道路(有车道标记和无车道标记),有停放的汽车,隧道和未铺砌道路的住宅道路中收集的。
我们认为时间信息在上述所有工作中都没有得到很好的利用。例如,PilotNet学会了仅通过查看当前视频帧来控制汽车。深度驾驶工作采用了另一种不同的方法。作者使用一些物理规则来计算适当的速度和车轮角度以获得平稳的驾驶体验。但是,在弯道的情况下,深度驾驶往往会根据物理规则来预测不正确的车轮角度。与我们最相关的是[8]中的工作。作者将LSTM单元插入倒数第二层。 LSTM的内部状态旨在总结所有以前的状态。作者在LSTM中设置了64个隐藏的神经元,我们认为这不足以有效地捕获自动驾驶中的时间依赖性。我们的工作通过探索多种策略的组合来增强时间建模,这些策略包括在网络转发过程的多个阶段的残差累积,标准/卷积LSTM [24]。我们在真实数据上验证了所提出的网络可以更好地捕获时空信息,并预测更准确的方向盘角度。
三,问题公式化
本节正式指定了我们考虑的问题。我们使用数小时的人工驾驶记录来训练和测试模型。主要输入是安装在汽车中的前置摄像头捕获的视频帧流。此外,在训练期间,我们还提供了瞬时GPS,速度,扭矩和车轮角度。以上所有信息均通过车辆中的CAN(控制器局域网)总线进行监控和传输。更重要的是,来自不同模态的信息会根据时间戳准确同步。
这项任务的中心问题是测量用于自动转向的学习模型的质量。在先前研究[22],[23]中进行处理之后,我们将驾驶员的行为视为“良好”驾驶技能的参考。换句话说,学习自动驾驶转向的模型有助于模仿人类驾驶员。来自人类驾驶员的记录的车轮角度被视为ground truth。存在多个定量评估指标,用于计算模型预测的车轮角度和ground truth之间的差异。例如,[8]的工作将实值轮角离散成固定数量的箱(bin),并采用多类分类损失。在PilotNet中,训练损失/评估标准不同:模型训练基于每帧角度比较,但是测试性能是通过人工干预计数来评估的,以避免道路紧急情况。具体来说,每次人为干预都会触发6秒钟的惩罚,最终测试性能通过不受人为干预的驾驶时间百分比来评估。 PilotNet的主要问题在于测试标准无法区分不同级别的不良预测(例如,与基本事实的偏差为1度或20度确实会有所不同)。
我们采用平方损失的简单形式,该形式适合于梯度反向传播。以下目标被最小化:
其中,表示驾驶员在时间t处的车轮转角,而是他获悉模型的预测后得出的。
四、网络设计和参数优化
为了清楚起见,让我们在概念上将提议的网络划分为具有互补功能的多个子网络。 如图2所示,首先将输入视频帧馈送到特征提取子网中,以生成固定长度的特征表示形式,以简洁地对车辆的视觉环境和内部状态进行建模。 所提取的特征被进一步转发到转向预测子网。 实际上,上述网络分解本质上是概念性的-不太可能将每个层归类为专门用于特征生成或操纵控制。
A.特征提取子网
图3提供了子网络的解剖结构,主要起到提取特征的作用。子网是专为我们有趣的任务而设计的。与AlexNet [3],VGG-Net [25]或ResNet [26]等现成的深度模型相比,在这里我们将重点介绍其定义功能。
1)时空卷积(ST-Conv):连续帧通常具有相似的视觉外观,但是当计算光流时,可以观察到细微的每像素运动。像最新的图像分类模型所采用的那样,常规图像卷积可以沿图像中的两个空间维度移动,这意味着它们本质上是二维的。由于这些卷积作用于静态图像或多通道响应图,因此它们无法捕获视频中的时间动态。关于视频分类的先前研究已经探索了将许多视频帧编译成一个体积(多个帧作为多个通道),然后在整个体积上应用二维卷积。尽管能够对时间信息进行编码,但是这种处理在实践中具有严重的缺陷。学到的内核尺寸固定,无法处理其他尺寸的视频片段。另外,由于扩展了通道,内核比普通的2D卷积大得多。这需要更多可学习的参数和更大的过度拟合风险。
受C3D的启发[27],我们在这里采用时空卷积(ST-Conv),该时空卷积在时空维度上均发生变化。图4示出了第一个ST-Conv层如何工作。如图所示,输入是15个连续视频帧的汇编。每个都有RGB通道。由于众所周知,车道是车辆转向的关键线索,因此我们在内核的空间尺寸中利用了相对较大的空间接收场(16×16)。与AlexNet相似,使用大步幅6可以快速降低第一层之后的空间分辨率。为了对时间信息进行编码,在相邻的k帧之间进行卷积,其中k表示时间感受野的参数,此处设置为3。我们不使用任何时间填充。因此,应用宽度为3的时间卷积最终会将15帧的体积缩小为13。
2)多尺度残差聚合:在相关的计算机视觉实践中,被广泛验证的是,在许多卷积层上的响应图是信息性的并且彼此互补。观察到深层网络,首先在第一个卷积层检测低层元素(边缘,斑点等),然后逐渐扩展到中层对象部分(车轮,人眼等),最后扩展到整个对象。为了利用跨尺度信息,已经广泛采用了多尺度聚合方案,例如FCN [28]或U-net [29]。在这项工作中,我们采用ResNet样式的跳过连接,如图3所示。具体地说,我们将特征提取子网的目标维度设置为128。ST-Conv层的响应每个都馈入FC (完全连接)层,它将接收到的所有内容转换为128位向量。最终特征是通过在所有比例上将这些128位向量相加而获得的。由于上述方案利用了从最终特征到所有中间ST-Conv层的跳过连接,因此与ResNet相似,它能够缓解梯度消失的问题。
3)卷积LSTM:自主转向本质上是一个顺序学习问题。对于每个车轮角度,都由模型存储的当前状态和先前状态确定。递归神经网络(例如LSTM)是解决此类情况的主要方法之一。 LSTM层通常在最终loss之前插入。我们还在早期的特征提取阶段引入循环图层。
对于我们考虑的问题,所有ST-Conv层的输入和输出均为4-D张量:前两个维度绘制图像中的空间位置,第三个维度为不同的特征通道建立索引,第四个维度对应于视频帧。对于这种4-D输入,标准LSTM不是最佳选择。当将4D数据馈送到全连接(FC)或LSTM层时,首先需要进行张量到矢量的变换,这将减少所有结构信息。为了避免丢失空间信息,我们采用了最近提出的称为ConvLSTM [24]的网络设计。它已成功应用于香港的降水临近预报任务。 ConvLSTM的关键思想是利用基于内核的卷积实现所有操作,包括状态到状态和输入到状态的转换。这样,可以在维持空间结构的情况下直接利用4D张量。详细来说,ConvLSTM中的三个门控函数是根据以下公式计算的,
其中,让Xt,Ht分别为时间t的输入/隐藏状态。 W是要优化的内核。 ⊗表示时空卷积算子。
研究先前的H和当前的X,循环模型为单元状态综合了一个新提议,即
通过线性融合新提议和先前状态Ct-1获得最终的单元状态:
其中⊙表示哈达玛积。 为了继续执行循环过程,它还呈现了一个经过过滤的新H:
我们要强调的是,大多数变量仍然是4D张量,其大小可以从上下文中推断出来。 因为H略小于X(14×8×64×10 vs. 16×10×64×10),所以在计算之前,我们用零填充H以等于它们的大小。
B.转向预测子网
图6描述了我们提出的转向预测子网。它在多个网络层融合了几种时间信息。
1)时间融合和递归:如图6所示,在网络转发计算过程中总共有三个递归。人们可能会在此子网的核心中观察到一个LSTM单元。它允许1步递归,即将其时间t状态转发到时间t +1。实际上,此LSTM的输入不仅是128-d特征向量,它是从子网中提取的,如IV-A节所述。我们建议使用此128-d向量将先前的转向操作和车辆状态串联起来。为此,我们在LSTM之前/之后的最终输出(即预测车速,扭矩和车轮转角的层)和“concat”层之间添加了另一步递归。 LSTM之前的concat层将先前的车速,扭矩和车轮角度附加到提取的128-d特征向量上,从而形成131-d向量。在LSTM层之后的concat层由128位提取的特征向量+ 64位LSTM输出+ 3位先前的最终输出组成。两个连续层的主要好处是可以充分利用时间信息。
2)总体多任务目标:我们为Lsteer,Ltorque和Lspeed三种预测中的每一种定义一个损失项。它们每个都是平均每帧丢失。回想一下,Lsteer在等式(1)中定义。同样,我们定义Ltorque和Lspeed。
最终目标函数如下:
在这里引入γ来强调轮角精度,在实践中,我们将γ设置为10。
五、实验
A.数据集说明
收集用于自动转向的实验数据大致可以分为三种方法,包括人类驾驶员的日志,来自Euro Truck或TORCS等赛车游戏的合成数据,或由商用行车记录仪上传的众包数据。在评估了上述方法之后,我们的评估坚持使用人工测井数据(logging data)。游戏中的综合数据量很大,并带有无噪音的注释。但是,由于视觉环境是通过计算机图形技术绘制的,因此视觉外观通常显然与真实的驾驶场景有所不同。当将开发的模型部署在实际汽车中时,这可能会导致严重的问题。另一方面,来自人群的行车记录仪记录的是车辆的自我运动,而不是驾驶员的转向动作。换句话说,转向模型从这些数据中学到的是一些间接指标,而不是适当的转向动作本身。另外,目前在这种数据收集中还没有很好地解决个人隐私的法律风险。
Udacity公司于2016年启动了一个制造开源自动驾驶汽车的项目,并提出了一系列公共挑战(https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013)。在这些挑战中,第二个旨在通过视觉输入预测实时车轮转向角。挑战后,数据语料库仍处于定期更新中。我们出于实验目的采用了此Udacity数据集的无错误子集。表1总结了实验数据集的关键信息。具体而言,以20FPS的速率捕获视频。对于每个视频帧,数据提供者设法记录相应的地理位置(纬度和经度),时间戳(以毫秒为单位)和车辆状态(车轮角度,扭矩,行驶速度)。数据收集车在后视镜的左/中/右安装了三个摄像头。测试序列仅给出了中间摄像头视频流,我们仅使用中间摄像头数据。
我们从实验数据中绘制了许多具有代表性的视频帧。帧如图7所示。此外,我们的说明还包括表1中选定视频序列的GPS轨迹,该轨迹在图8中找到。如上图所示,实验数据主要是在美国加利福尼亚州的各种道路类型和条件下收集的。需要学习转向模型来应对道路交通,照明变化和交通标志/灯光。
回想一下,我们在转向预测子网络的最终预测中包括三个损失(分别对应于行驶速度,扭矩和车轮角度)。 这是由于它们之间的相互关系引起的。 为了说明这一点,图9将速度与车轮角,转矩与车轮角相关联,并绘制了车轮角的顺序。 在直行道路上,车轮角度趋于零。 调整网络参数时,主要的零可能会导致数值问题。 作为数据驯化的步骤,我们通过执行零均值和单位标准偏差来标准化车轮角度。
B.网络优化
实验是在具有11个计算节点和6个Titan X GPU的私有集群上进行的。 所有代码均使用Google的TensorFlow框架编写。 以下是重新实现我们方法的一些关键参数:FC层中使用比率为0.25(在TensorFlow的术语中,这意味着只有25%的神经元在特定层处于活动状态)的dropout。 权重衰减参数设置为5×10^-5。 每个mini-batch处理由4个15帧输入组成。 当目标卡在某个平台上时,学习率被初始化为1×10^-4并减半。 我们随机抽取5%的训练数据来验证模型,并始终在此验证集中记住最佳模型。 对于随机梯度求解器,我们采用ADAM。 在单个GPU上训练模型大约需要4-5天。
为了避免训练过程中所有递归单元出现梯度爆炸,我们按照以下简单规则剪裁它们的随机梯度:
其中m表示网络参数的总数,并且gi是第i个参数的局部梯度。 实际梯度由下式计算
剪辑范数是一些预设常数。 当全局范数小于裁剪范数时,不会影响渐变,否则将重新缩放所有比例以避免渐变爆炸。
C.绩效分析
1)与竞争算法的比较:我们将拟议的“深度转向”与几种竞争算法进行比较。 这些竞争对手的简要说明如下:
•零和均值:这两种方法代表了车轮角度的盲目预测。 前者总是预测零轮角,而后者输出在训练集中所有视频帧上平均的平均角。
翻译结果
•AlexNet:网络体系结构基本上遵循开创性的AlexNet,其某些参数略微适合于我们正在考虑的问题。 我们借用了在GTA5(侠盗猎车手V)游戏中经过预训练的其他AlexNet模型,并根据Udacity数据对其进行了微调。
•PilotNet:这是NVIDIA提出的网络。 我们根据NVIDIA的原始技术报告重新实施了该程序。 在送入PilotNet之前,所有输入视频帧的大小都将调整为200×88(这是NVIDIA在纸张中建议的图像分辨率)。
•VGG-16:已知该网络是图像分类领域中最新的深度模型之一。 按照先前的实践策略,所有卷积层在微调过程中几乎都被冻结,并且全连接层是要根据Udacity数据进行调整的主要目标。 请注意,PilotNet和VGG-16都不是递归网络,因此会忽略时间信息。
由于我们主要侧重于预测车轮角度,因此除非另有说明,否则此后的模型性能将以车轮角度(即√Lsteer)的RMSE(均方根误差)表示。表2中显示了模型的性能,从中我们可以立即得到一些观察结果。首先,网络的设计与最终性能密切相关。特别地,更深层的网络在表示复杂决策功能方面表现出优势。众所周知,VGG-16是一个更深的基础网络,当转移到其他与图像相关的任务时,它往往胜过较浅的AlexNet。我们的实验与此先验信念是一致的。请注意,PilotNet的原始论文没有报告其RMSE值,也没有报告路试中使用的数据集。通过我们对PilotNet的重新实现,我们发现PilotNet的性能不如其他深度模型好,这可能表明PilotNet在深度驾驶任务方面存在局限性。其次,除了不同的基础模型之外,我们的模型(表2中的最后一行)通过合并时间信息而明显不同于其他模型。实验结果表明,我们的方法主导了所有其他选择。稍后我们将显示更多的消融分析。
为了进一步研究实验结果,图10在测试视频序列中绘制了车轮角度。 具体而言,显示了从人类驾驶员那里收集的ground truth以及VGG-16和我们的模型的预测。 我们还采用了一个子序列,该子序列对应于道路上的一些突然转弯,在图10的右子图中绘出了车轮转角。显然,VGG-16的预测(绿色曲线)非常不平滑,这表明时间建模对于确保流畅的驾驶体验至关重要。 在图11中,我们绘制了四个具有代表性的测试视频帧,并强加了ground truth情况的车轮角度/我们的模型预测值。
2)通过镜像增强数据:深度模型通常由数百万个参数定义,并且具有巨大的学习能力。从业人员发现,数据集扩充在提升深度模型的泛化能力方面特别有用,尽管很棘手。广泛采用的数据增强方案是对每个图像进行镜像,这会使训练集增加一倍。在这项工作中,我们还探讨了这个想法。镜像视频帧的一些示例如图12所示。我们应该意识到由镜像操作引起的陷阱。尽管在很大程度上扩展了训练集,但它潜在地改变了实际数据的分布。例如,图12(a)将右转弯转换为左转弯,这违反了右行驶策略并且可能使驾驶模型混乱。同样,图12(b)中的黄色车道标记在镜像后变为在车辆的右侧。由于黄色车道标记是转向的重要提示,因此镜框可能会对性能产生不利影响。在图12(c)中,速度限制的交通标志具有人类无法理解的镜像文本。
为避免潜在的性能下降,我们采用了一个三相过程来调整网络参数。在阶段1中,使用原始数据集训练网络。第2阶段仅根据镜像数据微调网络。最终,再次根据原始数据调整模型。关于RMSE的实验结果示于表3。如图所示,已明确验证使用增强数据可以改善学习的深度模型。
3)减少关键帧:培训中的视频帧总计超过三分之一。由于每个训练时期都需要读取一次数据,因此减少帧数或文件大小是加快训练过程的有效手段。为此,我们在经验上利用了各种替代方案,包括1)不缩减:Udacity Challenge 2组织者提供的帧保留原始的空间分辨率(640×480)。如果深层网络参数与空间分辨率(例如卷积核大小)有关,则应适当调整它们,否则保持不变; 2)顶部区域裁剪:对于原始640×480视频帧,观察到其顶部640×200图像区域主要对天空而不是道路条件做出响应。因此,裁剪顶部图像区域是合理的,从而节省了内存消耗; 3)空间子采样:我们可以将所有视频帧的大小统一调整为更低的空间分辨率。需要注意的是,要在关键图像细节保存和文件大小之间找到一个很好的折衷方案。在本实验中,我们将所有帧的大小调整为320×240; 4)时间子采样:原始视频为20 FPS。由于连续帧通常具有相似的视觉外观并编码冗余,因此在计算上不赞成使用高FPS。我们尝试将FPS降低到5(即1/4时间子采样)的做法; 5)仅突出关键帧:实际上,大多数人类驾驶员表现出保守的驾驶行为。从统计上讲,我们发现大多数车轮转角在行驶过程中都接近零。它激发了我们仅保留“显着”视频帧(对应于12度或更大车轮角度的帧)及其相邻帧的灵感。这将总帧数从404,916减少到67,714。
实验评估示于表4。与不进行任何缩减相比,具有适当调整大小因子的空间子采样不会影响最终性能。所有其他选择都证明不是很好的选择。直观地,顶部图像区域通常对应于远视视图,该远视视图也可以包含用于驾驶的有用信息。并且其他两种时间缩减方法的失败可能是由于沿时间维度更改数据分布而引起的。
4)消融分析:我们提出的模型包括几种新颖的设计,例如残差聚合和时间建模。为了定量研究每个因素的影响,本节介绍了三个消融实验,包括1)去除残差聚合(同时保留所有其他层并使用默认参数进行训练)。具体来说,我们删除了第一卷积层周围的跳过连接。目的是验证低级功能对最终精度的影响; 2)消除重复。在转向预测子网中,我们删除了两个“concat”层和最终输出之间的自动回归连接。这样,LSTM和FC层就不会获得有关先前车速,扭矩或车轮转角的信息; 3)删除ConvLSTM,即我们在特征提取子网中不使用ConvLSTM层的情况下评估性能,该子层本应该对历史信息进行空间编码。
评估的结果显示在表5中。该表表明,低级特征(例如道路边缘是必不可少的),先前的车辆状态(速度,扭矩和车轮转角)以及空间递归都为我们正在考虑的任务提供了关键信息。
D.可视化
无人驾驶始终将安全视为重中之重。理想情况下,学习模型的预测机制应为人类用户所理解。在深度学习的文献中,大量的工作[9] [10]致力于可视化输入图像中与网络最终输出最大相关的关键证据。在这项工作中,我们采用了NVIDIA提出的视觉反向传播(VBP)框架[11]。 VBP代表了一个总体思路,可以应用于各种深度模型。简而言之,VBP的计算包括以下步骤:1)对于每个卷积层,平均总信道,获得均值图; 2)通过反卷积对每个均值图进行上采样,以使其新的空间分辨率与下层相同; 3)在上采样后的均值图和当前层的均值图之间进行逐点相乘,得到掩码图; 4)添加蒙版图和均值图以获得残差图,这正是我们所追求的; 5)将以上步骤向后迭代,直到第一层为止。我们在图13中说明了此工作中使用的VBP体系结构,并在图14中显示了可视化。可以看出,VBP发现的关键证据包括车道标记,附近的车辆和信息丰富的环境(例如山谷的轮廓)在图14(c)中)。
此外,图15可视化了在所有卷积层上随机选择的视频帧的响应图。可以看到,车道标记和附近的汽车会引起非常强烈的反应,这表明学习的模型确实抓住了关键因素。
六、结论
这项工作解决了计算机视觉中的一个新问题,该问题旨在仅凭摄像头的视觉观察自动驾驶汽车。我们的主要技术贡献之一是可以有效地组合时空信息的深度网络。这种方式利用了车辆的信息丰富的历史状态。我们认为这样的研究很少在现有文献中找到。除了时间建模之外,我们还探索了诸如残留聚合和空间递归之类的新思想。综上所述,将产生一种新的自动驾驶模型,其性能优于Udacity自动驾驶基准上的所有其他知名替代产品。但是,我们应该意识到,自动转向仍处于起步阶段,在将这种技术应用于实际汽车上之前,还需要克服许多挑战。例如,这项工作采用了行为反射范式。最佳地结合介导的感知和行为反射方法将是我们未来的研究方向。
参考
[1] I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning. 2016, http://www.deeplearningbook.org.
MIT Press,
[2] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. B. Girshick, S. Guadarrama, and T. Darrell, “Caffe: Convolutional architecture for fast feature embedding,” CoRR, vol. abs/1408.5093, 2014.
[3] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification with deep convolutional neural networks,” Commun. ACM, vol. 60, no. 6, pp. 84–90, 2017.
[4] J. Dai, Y. Li, K. He, and J. Sun, “R-FCN: object detection via region- based fully convolutional networks,” in NIPS, 2016.
[5] S. Ren, K. He, R. B. Girshick, X. Zhang, and J. Sun, “Object detection networks on convolutional feature maps,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 39, no. 7, pp. 1476–1481, 2017.
[6] C.Chen,A.Seff,A.L.Kornhauser,andJ.Xiao,“Deepdriving:Learning affordance for direct perception in autonomous driving,” in ICCV, 2015.
[7] M.Bojarski,D.D.Testa,D.Dworakowski,B.Firner,B.Flepp,P.Goyal, L. D. Jackel, M. Monfort, U. Muller, J. Zhang, X. Zhang, J. Zhao, and K. Zieba, “End to end learning for self-driving cars,” CoRR, vol.
abs/1604.07316, 2016.
[8] H. Xu, Y. Gao, F. Yu, and T. Darrell, “End-to-end learning of driving
models from large-scale video datasets,” in CVPR, 2017.
[9] M. D. Zeiler and R. Fergus, “Visualizing and understanding convolu-
tional networks,” in ECCV, 2014.
[10] B.Zhou,A.Khosla,A`.Lapedriza,A.Oliva,andA.Torralba,“Learning
deep features for discriminative localization,” in CVPR, 2016.
[11] M. Bojarski, A. Choromanska, K. Choromanski, B. Firner, L. D. Jackel, U. Muller, and K. Zieba, “Visualbackprop: visualizing cnns for autonomous driving,” CoRR, vol. abs/1611.05418, 2016. [Online].
Available: http://arxiv.org/abs/1611.05418
[12] R. B. Girshick, J. Donahue, T. Darrell, and J. Malik, “Rich feature
hierarchies for accurate object detection and semantic segmentation,” in
CVPR, 2014.
[13] N. Dalal and B. Triggs, “Histograms of oriented gradients for human
detection,” in CVPR, 2005, pp. 886–893.
[14] Q. Zhu, M. Yeh, K. Cheng, and S. Avidan, “Fast human detection using
a cascade of histograms of oriented gradients,” in CVPR, 2006.
[15] O. Tuzel, F. Porikli, and P. Meer, “Human detection via classification
on riemannian manifolds,” in CVPR, 2007.
[16] Y. Yang and D. Ramanan, “Articulated human detection with flexible
mixtures of parts,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 35,
no. 12, pp. 2878–2890, 2013.
[17] M. Aly, “Real time detection of lane markers in urban streets,” CoRR,
vol. abs/1411.7113, 2014.
[18] B. Huval, T. Wang, S. Tandon, J. Kiske, W. Song, J. Pazhayampallil,
M. Andriluka, P. Rajpurkar, T. Migimatsu, R. Cheng-Yue, F. Mujica, A. Coates, and A. Y. Ng, “An empirical evaluation of deep learning on highway driving,” CoRR, vol. abs/1504.01716, 2015.
[19] A. Gurghian, T. Koduri, S. V. Bailur, K. J. Carey, and V. N. Murali, “Deeplanes: End-to-end lane position estimation using deep neural networks,” in CVPR Workshops, 2016.
[20] D. Pomerleau, “ALVINN: an autonomous land vehicle in a neural network,” in NIPS, 1988.
[21] J.Koutn ́ık,G.Cuccu,J.Schmidhuber,andF.J.Gomez,“Evolvinglarge- scale neural networks for vision-based TORCS,” in FDG, 2013.
[22] Y. LeCun, U. Muller, J. Ben, E. Cosatto, and B. Flepp, “Off-road obstacle avoidance through end-to-end learning,” in NIPS, 2005.
[23] M. Bojarski, P. Yeres, A. Choromanska, K. Choromanski, B. Firner,
L. D. Jackel, and U. Muller, “Explaining how a deep neural net- work trained with end-to-end learning steers a car,” CoRR, vol. abs/1704.07911, 2017.
[24] X. Shi, Z. Chen, H. Wang, D. Yeung, W. Wong, and W. Woo, “Convo- lutional LSTM network: A machine learning approach for precipitation nowcasting,” in NIPS, 2015.
[25] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” CoRR, vol. abs/1409.1556, 2014. [Online]. Available: http://arxiv.org/abs/1409.1556
[26] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” in CVPR, 2016.
[27] D. Tran, L. D. Bourdev, R. Fergus, L. Torresani, and M. Paluri, “Learning spatiotemporal features with 3d convolutional networks,” in ICCV, 2015.
[28] E. Shelhamer, J. Long, and T. Darrell, “Fully convolutional networks for semantic segmentation,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 39, no. 4, pp. 640–651, 2017.
[29] P. Isola, J. Zhu, T. Zhou, and A. A. Efros, “Image-to-image translation with conditional adversarial networks,” CoRR, vol. abs/1611.07004, 2016.