NVIDIA自动驾驶-End to End Learning for Self-Driving Cars-NVIDIA-arXiv1604.07316

Nvidia GTC上Nvidia 老大黄仁勋介绍了他们自家的无人驾驶汽车,这个汽车的无人驾驶技术和以往的方法不一样,完全采用神经网络。

次周,Nvidia发表了他们的文章来介绍这个工作。和以往需要分感知、检测、决策控制等分开的无人驾驶不同,Nvidia试图仅通过摄像头看到的图像来完成这件事情(当然看完论文其实Nvidia这次只学习控制方向盘,而不考虑速度和路径等等因此简单不少)。

在GPU撑起深度学习之后,NVIDIA这次的动作自然引起高度关注,这里给大家细致的介绍下NVIDIA的无人驾驶是如何完成的。

一、干货摘要

模型:CNN

Input:raw pixels from a single front-facing camera

Label:  human steering angle

训练工具:NVIDIA DevBox + Torch 7

预测:NVIDIA DRIVE PX + Torch 7

性能:30 FPS(Frames per second)

数据规模:72小时的人类驾驶数据

结果:实际路测,可以达到98%的自动驾驶程度,10公里内无需人工介入

特点:

1、end2end,对马路标线和路面条件无要求

2、中间产出:仅依靠human steering angle作为训练信号,就可以自动学习detecting路面形状特征

二、相关介绍

DAVE:小时级别的人类在相似道路上的驾驶数据,包括左右两个cameras以及对应的steering commands from a human operator

DAVE-2: 1989,受启发于Autonomous Land Vehicle in a Neural Network(ALVINN),end2end NN can indeed steer a car on public roads. NN采用的全连接的网络(NVIDIA这次用的是CNN)

DAVE-2的问题是稳定性不够,尤其是在复杂环境中平均只能走20米

三、NVIDIA系统


NVIDIA自动驾驶-End to End Learning for Self-Driving Cars-NVIDIA-arXiv1604.07316_第1张图片

steering command signal的表示:1/r ,r代表转弯半径,好处是忽略掉汽车自身的几何形状

图像数据:从视频中采样得到

这里有个trick,人类只输入的是正确的样本,那么怎么让计算机面对错误的环境来做调整呢?很简单的trick,在车上面再安装两个摄像头,不过这两个摄像头的位置不在正中间,那么这两个摄像头看到的样本就是错误的。其他的偏移中间及旋转则可以根据3d变化来模拟出来。那么对应的偏移及旋转的控制量也可以计算出来。这样就有了一一对应的样本了。

那么这里我们也应该看到,输出是很简单的,就是汽车驾驶的轮子的角度。并没有速度控制。这一定程度上大大简化了训练的要求。

预测的时候仅需要中间的camera采样的图像数据。


NVIDIA自动驾驶-End to End Learning for Self-Driving Cars-NVIDIA-arXiv1604.07316_第2张图片

数据规模:72小时的人类驾驶数据(100小时以内的数据足够训练汽车在不同的路况环境下行驶);steering signal数据十分稀疏。

Loss = MSE

网络结构:

1layer:硬编码的图像norm层,不需要学习

2-6layer: CNN卷积层。前3层带stride,2*2和5*5的kernel;后2层无stride,3*3的kernel

7-9layer: 3个FC层

训练数据选择的细节:

1、针对性的选择训练数据。为了让CNN学习巡线,只选择按线驾驶的视频,丢弃其他的。对图像进行10 FPS的采样。数据里对弯曲的路段保留了比较高的比例。

2、附加的偏移和旋转部分——为了教会网络学习如何从错误的位置恢复回来。从正态分布中随机,0均值,方差是人类驾驶员的方差两倍

四、评估

指标:系统自动驾驶时间占行驶总时间的比例。当系统驾驶的汽车偏离中心线大于1m时,人工介入干预驾驶6s来完成接管和行驶回中心。自动化指标autonomy公式:

结果:实际路测,可以达到98%的自动驾驶程度,10公里内无需人工介入。

五、TODO

1、鲁棒性和如何衡量鲁棒性的方法

2、可视化展示网络中间层feature map

论文地址:

https://images.nvidia.com/content/tegra/automotive/images/2016/solutions/pdf/end-to-end-dl-using-px.pdf

你可能感兴趣的:(NVIDIA自动驾驶-End to End Learning for Self-Driving Cars-NVIDIA-arXiv1604.07316)