端到端无人驾驶文献学习:End-to-end Learning of Driving Models from Large-scale Video Datasets

1 简介

End-to-end Learning of Driving Models from Large-scale Video Datasets是一篇由加州大学伯克利分校Huazhe Xu∗ Yang Gao∗ Fisher Yu Trevor Darrell完成的论文,收录在CVPR_2017的论文集中。在大规模众包视频数据中训练通用的车辆运动模型,使用端到端的体系结构学习从瞬时单目摄像机观测和先前的车辆状态来预测未来车辆运动的分布。作者在文章中介绍他们的模型包含了一种新的FCN-LSTM架构, 可以从大规模众包车辆动作数据中学习,并利用可用的场景分割侧任务来提高特权学习范式下的性能。
在这里插入图片描述

关键点

因为这是一篇17年的论文,需要列出一些关键点,帮助理解本文内容:
目的:希望找到一种通用的学习方法\学习策略
端到端的局限性: 只能在收集的数据与专门校准的驱动装置,或在相应的模拟上运行;
动机:当时数据集都较小从同一辆车收集或者是模拟器上收集的,提出了一种大规模在线和/或众包数据集。 为了从这些数据中学习一个模型,提出了一种新的深度学习体系结构,用于从未经校准的大规模视频数据中学习到驱动;
特权学习Privileged Learning:模型一边预测未来的运动,一边训练一个语义分割网络,然后用语义分割网络更好地帮助模型做运动预测
输入-输出:从先前的agent state预测egomotion;类似语言模型,对可能性做一个打分
对学习数据的处理:从一个语料库中去训练模型,不断评估语料库里的保留数据;
贡献Contribution:1) 一种通用的运动方法来学习深度视觉运动动作策略,根据当前的视觉观测和之前的车辆状态独立执行器运动规划;2)开发了新的FCN-LSTM,可以从demonstration loss和segmentation loss中联合学习,输出多模态预测;3) 策划并公开了一个大规模的数据集,以从具有异构执行器的车辆中学习通用的运动模型。4) 通过实验证实了具有侧任务(语义分割)损失的“特权”训练比仅从运动预测任务损失中学习Egomotion预测任务更快。

3 深度通用驱动网络

3.1 通用驾驶模型

通过先前的观察和车辆状态来预测下一个动作的可行性。
F ( s , a ) : S × A → R F(s,a):S\times A \rightarrow \mathbb{R} F(s,a):S×AR
s表示状态,a表示具有潜在可能的运动动作,则 F ( s , a ) F(s,a) F(s,a)表示为在s状态下a的可行性分数。

通过输入原始像素信息和当前及先前的车辆状态信号,预测未来运动动作的可能性。

简单状态集合:
A = { s t a i g h t , s t o p , l e f t − t u r n , r i g h t − t u r n } A=\{staight,stop,left-turn,right-turn\} A={ staight,stop,leftturn,rightturn}
更精细状态集合描述:
A = { v ⃗ ∣ v ⃗ ∈ R 2 } A=\{\vec{v}|\vec{v}\in \mathbb{R}^2\} A={ v v R2}
v ⃗ \vec{v} v 表示未来的运动状态。

3.2 FCN-LSTM架构

通过一个完全卷积神经网络处理来提取图像特征学习视觉信息,再利用LSTM来记录车辆前后的运动历史信息,将语义分割作为一项侧任务进行特权学习。

3.2.1 视觉解码器

ImageNet [19] pre-trained AlexNet [11] model, remove POOL2 and POOL5 layers and use dilated convolutions for conv3 through fc7.

[11]ImageNet classification with deep convolutional neural networks.
[19]ImageNet large scale visual recognition challenge

dilated convolutions(扩张卷积/空洞卷积):对Dilated Convolution理解这是知乎上一位作者写的,本人的主要理解来源,贴链接学习使用。主要对论文《Multi-Scale Context Aggregation by Dilated Convolutions》进行总结,也帮助理解了dilated convolutions。文章后面也有关于dilated convolutions的其他回答

3.2.1 暂时融合

通过LSTM对先前和目前的状态输出状态 s s s,再通过一层全连接层去预测物理可行性;还研究了一种时间卷积的方法去融合信息,时间卷积层通过多视觉特征和在时间维度上以 n × 1 n\times 1 n×1 的核进行卷积, n n n 是输入特征的数量。

3.3 驾驶复杂度

作者自己定义了一套基于序列复杂度的训练评价指标(类语言模型):
p ( a 1 ∣ s 1 ) ⋅ ⋅ ⋅ p ( a t ∣ s t ) = F ( s 1 , a 1 ) ⋅ ⋅ ⋅ F ( s t , a t ) p(a_1|s_1)· · ·p(a_t|s_t) = F(s_1, a_1)· · · F(s_t, a_t) p(a1s1)p(atst)=F(s1,a1)F(st,at)
以动作 a 1 ⋅ ⋅ a t a_1··a_t a1at为条件,以世界状态 s 1 ⋅ ⋅ s t s_1··s_t s1st为条件的保持驱动序列的概率。于是定义序列模型复杂度为:
p e r p l e x i t y = exp ⁡ { − 1 t ∑ i = 1 t log ⁡ F ( s i , a i ) } perplexity = \exp\{-\frac{1}{t}\sum_{i=1}^{t}\log{F(s_i,a_i)}\} perplexity=exp{ t1i=1tlogF(si,ai)}
对比从驾驶者得到的 a r e a l a_{real} areal来对准确度预测
a p r e d = a r g m a x a F ( s , a ) a_{pred} = argmax_aF(s, a) apred=argmaxaF(s,a)
简单来说,就是 F ( s , a ) F(s, a) F(s,a)分数要高。

3.4 离散和连续动作预测

输出是对所有可能动作的概率分布。
离散动作:通过在训练集上最小化复杂度来训练网络等价于最小化预测和所执行的行动之间的交叉熵损失;
连续动作:采用非参数方法,例如,将动作空间离散成许多小bins.

3.5 特权学习驾驶

作者考虑到端到端学习容易忽略小而关键的信息,使用特权学习策略。使用语义分割作为额外的监督信息,辅助的改进任务,提升运动预测的表现。
在这里插入图片描述
具体来说,就是在fc7之后添加了一个分割损失,它强制fc7学习有意义的特征表示。 特别是当强制模型处理小的相关场景现象时提升表现明显。

4 数据集

本文提出了一个很有意义的数据集。 伯克利深度驱动视频数据集(BDDV)是一个由真实驾驶视频和GPS/IMU数据组成的数据集。 BDDV数据集包含不同的驾驶场景,包括美国几个主要城市的城市、公路、城镇和农村地区。下面是与当时主流数据集的对比:
在这里插入图片描述

4.1 规模

BDDV包含超过10000小时的dashcam摄像头视频流来自世界不同的地点。

4.2 数据形式

除了图像,BDDV数据集还附带了智能手机的传感器读数。 传感器有GPS、IMU、陀螺仪和磁强计。 这些数据还带有传感器融合的测量,如航向和速度。 这些信息可用于恢复车辆的轨迹和动态。

4.3 多样性

BDDV的覆盖范围包括各种驾驶、场景和照明条件。

5 实验

在初始实验中作者使用的是BDDV的一个子集,包括21,808个仪表板摄像机视频作为训练数据,1,470个作为验证数据,3,561个作为测试数据。 每个视频长度约为40秒。 由于一小部分视频的持续时间略低于40秒,作者将所有视频截断为36秒,将帧降采样到640×360,并将视频暂时降采样到3Hz,以避免将近重复帧输入到模型中。

经过所有这些预处理,总共有290万帧。 为了训练模型,作者选择使用随机梯度下降(SGD),初始学习速率为 1 0 − 4 10^{-4} 104 ,动量为 0.99 0.99 0.99 ,批处理大小为 2 2 2 。 当处于训练损失平原时,学习率衰减 0.5 0.5 0.5 。 Gradient clipping选择 10 10 10 ,以避免LSTM中的梯度爆炸问题。 在视频上,LSTM与之前视觉观察的方式顺序运行。 具体而言,LSTM中隐藏单元的数量为64个。 模型的评估使用预测的复杂度和准确性,其中最大似然行动作为预测。

5.1 离散动作驾驶模型

根据 A A A动作集进行预测1/3秒后的可行动作。
在这里插入图片描述
消融实验,变体对比
Random-Guess:基于输入分布的随机预测;
Speed-Only:只根据前面帧给出的速度信息进行预测;
CNN-1-Frame:每个时间步骤上只给一帧的信息;

TCNN3:固定窗口长度为3,对应1秒;
TCNN9:固定窗口长度为9,对应3秒;
这两种方法需要一个固定大小的历史窗口,并且比基于LSTM的方法更需要内存。

CNN-LSTM:(略,见图)
CNN-LSTM+Speed:(略,见图)
FCN-LSTM:当将视觉编码器从CNN改为FCN时,性能是相当的。基于FCN的视觉编码器对于从特权分割信息中学习至关重要。
在这里插入图片描述
ab展示了模型学习到了信号灯的信息;
cd展示了模型学习到了距离的信息。

5.2 连续动作驾驶模型

前面提到的使用非参数方法,将预测域离散为bins,把问题转化为多项式预测任务,表三是不同的分块方案:数据驱动的二进制方法在所有这些方法中表现最好,而线性二进制方法表现最差。
在这里插入图片描述
在这里插入图片描述

5.3 特权学习(LUPI)

设计了三种方法:运动反射方法是指上面的FCN-LSTM方法;中介感知预测方法 ;特权训练方法采用FCN-LSTM体系结构,在FC7层之后增加了额外的分割损失。
在这里插入图片描述
在这里插入图片描述

6 结论

本文介绍了一种从具有端到端可训练体系结构的大规模众包视频数据集学习通用驱动模型的方法。 它可以从单目摄像机观测和先前的运动状态中学习,以预测未来运动的分布。

该模型使用一种新的FCN-LSTM体系结构来学习驾驶行为。 它可以利用语义分割作为辅助任务来提高性能,遵循特权学习范式。

而且还提供了一个新的大规模的人群驱动行为数据集,适合于学习驾驶模型。 通过评估未来的运动预测在不同的条件下保持序列,研究了所提出的驾驶模型和“特权”学习的有效性。

参考

End-to-end Learning of Driving Models from Large-scale Video Datasets

猜你喜欢

转载自blog.csdn.net/Nick_cloud/article/details/109523600