英特尔实验室联合丰田研究院和巴塞罗那计算机视觉中心联合发布 CALRA,用于城市自动驾驶系统的开发、训练和验证的开源模拟器,支持多种传感模式和环境条件的灵活配置,论文中详细评估并比较了三种自动驾驶方法的性能。
模拟器和配套的资源将会发布在官方网站:http://carla.org。
论文:CARLA:An Open Urban Driving Simulator
摘要:本文介绍一款用于自动驾驶研究的开源模拟器:CARLA。CARLA 的开发包括从最基础的直到支持城市自动驾驶系统的开发、训练和验证。除了开源代码和协议,CARLA 还提供了为自动驾驶创建的开源数字资源(包括城市布局、建筑以及车辆),这些资源都是可以免费获取和使用的。这个模拟平台能够支持传感套件和环境条件的灵活配置。我们使用 CARLA 来研究三种自动驾驶方法的性能:传统的模块化流水线,通过模仿学习训练得到的端到端模型,通过强化学习训练得到的端到端模型。这三种方法在难度递增的受控环境中做了评估,并用 CARLA 提供的指标进行性能测试,表明 CARLA 可以用来进行自动驾驶的研究。在这个网址中可以看到补充的视频:https://youtu.be/Hp8Dz-Zek2E。
图 1:四种不同天气下城市 2 中的一条街道(第三人称视角)。从左上顺时针开始:晴天、雨天、雨后、晴朗的黄昏。在补充视频中可以看到模拟器中的录像。
图 2:CARLA 提供的三种不同模式的传感。从左到右依次是:正常的摄像头视觉、真实深度、真实语义分割。深度和语义分割是由支持控制感知作用实验的伪传感器提供的。额外的传感器模型可以通过 API 接入。
我们在四个难度递增的驾驶任务重测评了这三种方法—模块化的流水线(MP)、模仿学习(IL)、以及强化学习(RL),每个测评都分别在两个不同的城市和六种天气条件中进行。需要注意的是,我们在四个任务上对这三种方法的测试使用的是同一个智能体,并没有为某个场景而单独地去微调一个模型。任务被设置为目标导向的导航:智能体被初始化在城市的某个地方,然后它必须到达指定的目的点。在这些实验中,允许智能体忽略速度限制和交通信号灯。我们遵循难度递增的顺序来安排这些任务,如下:
1. 直线:出发地点和目的地在同一条直线上,而且环境中也没有运动的物体。平均行驶距离是:城市 1 中 200m,城市 2 中 100m。
2. 一次转弯:从出发点到目的地需要一次转弯;没有运动的物体。平均行驶距离是:城市 1 中 400m,城市 2 中 170m。
3. 导航:没有与出发点相关的目的地的严格限定,没有运动的物体。距离目标的平均行驶距离是:城市 1 中 770m,城市 2 中 360m。
4. 具有运动障碍物的导航:与上一个的任务一样,但是有运动的障碍物(包括车辆和行人)。
表 1:三种自动驾驶系统在目标导向导航任务中的量化测评。这张表记录了在每一种环境下每个不同的方法成功完成某个任务中的片段所占的百分比,越高越好。被测试的三种方法分别是:模块化流水线(MP)、模仿学习(IL)、以及强化学习(RL)。
表 1 记录了在每一种环境下每个不同的方法成功完成某个任务中的片段所占的百分比。首先是训练条件:城市 1,训练天气集。要注意,测试中和训练过程中使用的起点和目标点是不一样的:只有通用的环境和条件是一样的。其他三种实验条件均设置在具有挑战性的泛化中:之前从未见过的城市 2 以及从未见过的训练天气集。
表 1 中的结果证明了以下结论。总之,即便是在直线行驶的任务中,三种方法都不是完美的,成功率随着任务难度的增加急剧下降。泛化到新的天气要比泛化到新的城市更加容易。模块化流水线法和模拟学习的方法在大多数任务中的性能都平分秋色。强化学习方法的性能赶不上前两者。我们现在更具体讨论一下这四个关键结论(见原文)。
表 2:两次违规行驶之间的平均行驶距离从(km)。数字越大,性能越好。
违规分析:CARLA 支持细粒度的驾驶规则分析。我们现在测试一下这三个系统在最难的任务上的行为:在具有运动障碍物的环境中导航。我们用这三种方法在五种不同类型的两次违规间行驶的平均距离来描述它们的性能:在相反的车道上行驶,在人行道行驶,与其他车辆并道行驶,与行人并道行驶,碰到静态物体。附录中有具体细节。
表 2 记录了在两次违规行驶之间驾驶的平均距离(km)。所有的方法都在训练的城市 1 中表现更好一些。对于所有的实验条件,模仿学习偏离到对向车道的频率是最低的,强化学习的质量是最糟糕的。在偏向人行道的情况中也是类似的模式。令人惊讶的是,强化学习与行人冲突的频率是最低的,也许这可以通过在这种碰撞中得到的巨大的负面回报来解释。然而,强化学习智能体在避免与行驶的车辆以及静态障碍物发生碰撞时不够成功,而模块化流水线方法通常能够在这些测试中表现得最好。
这些结果突出了端到端方法对罕见事件的脆弱性:在训练期间很少遇到急刹车或者急转弯来避免与行人碰撞的情况。尽管可以在训练期间加大这类事件的频率以支持端到端训练方法,但是为了得到在鲁棒性上的重大突破,学习算法和模型架构上的深层进展是很有必要的。
选自arXiv
机器之心编译
参与:Nurhachu Null、刘晓坤