对汽车司机来说,那些最具挑战性的突发状况通常发生概率很低,比如一个小孩儿突然跑道马路中间,这个在实际中很难遇到。那么问题来了,在开发时,如何训练自动驾驶汽车来应对这种突发状况呢?
近年来,各大媒体相继宣传自动驾驶汽车将彻底改变世界各地的交通系统。如果这种炒作是可信的,那么完全的自动驾驶的汽车在未来将会与人类驾驶汽车一同上路行驶。然而理想很丰满,现实很骨感。目前,最先进的自动驾驶技术只能在极其有限的环境和天气条件下工作。虽然在未来几年,大多数新车将会有某种形式的驾驶辅助系统,但没有人类监督的完全自动驾驶的汽车还需要很多年的时间才会出现。
目前,自动驾驶汽车研发遇到的主要的问题之一是:很难训练车辆去应对所有可能出现的情况。通常来说,驾驶过程中可能遇到的突发状况,往往发生概率比较低。有很多情况是司机很少遇到的,比如:一个孩子跑进了马路中间,一辆汽车在逆向行驶,前面发生了一场事故,等等。
即使遇到上面这些情况的可能性很小,在每一种情况下,自动驾驶汽车都必须做出正确的决定,否则将会产生严重的后果。这就提出了一个重要的问题:在这些事件如此罕见的情况下,汽车制造商如何训练和测试其自动驾驶车辆?现在这个问题已经有了答案。
CARLA
这要感谢英特尔实验室的AlexeyDosovitskiy和位于西班牙巴塞罗那的计算机视觉中心的几个朋友。他们创造了一个开源的驾驶模拟器,汽车制造商可以用它在模拟的真实驾驶条件下测试自动驾驶技术。
这套模拟系统被称为CARLA(CarLearning to Act),它模拟了各种各样的驾驶条件,并且可以不断重复危险的情况来帮助自动驾驶系统学习。该团队已经使用它来评估了几种不同的自动驾驶方法的性能。
驾驶模拟器并不不是一个新生事物。目前就有许多逼真的驾驶和赛车模拟器,其中大部分是游戏用途。很多自动驾驶团队已经用它们来测试他们的技术。但这些模拟器都不能提供自动驾驶系统训练所需要信息,这些系统也太友好,不能改变驾驶条件或设置场景中运动模型的行为。赛车模拟器通常不需要穿越复杂的交通情况,也不会遇到行人。城市模拟器,如“侠盗飞车”,不能控制天气、太阳的位置、其他汽车的行为、交通信号、行人、自行车等等。而且这些仿真系统都没有提供自动驾驶系统学习所需要的技术信息,比如:摄像头图像信息等。所以Dosovitskiy和co创造了自己的模拟器。
CARLA提供了一个资源库,这些资源可以被放置到不同天气和照明条件下的城镇中。这个资源库包含40座不同的建筑,16个运动汽车模型和50个行人模型。该团队利用这些数据创建了两个拥有数公里可行驶道路的城镇,然后测试了三种训练自动驾驶系统的不同方法。“我们用不同难度的场景来评估这些训练方法,”该团队说。实验结果表明,这套仿真模拟系统非常具有实用价值。
当然,像CARLA这样的系统永远无法取代在真实的道路上开车的时间。但它提供一个安全实用的场景来验证新的想法,这也是提现它价值的关键U所在:快速验证。
CARLA是开源的,非商业用途下可以免费在www.carla.org下载使用。研究小组表示:“我们希望CARLA能够让更多的人参与到自动驾驶的研究中。”
AirSim
除了CARLA之外,目前市面上还有几款可以用与自动驾驶研究的仿真模拟器。如Udacity,AirSim等,后续我们会一一体验。
其中,AirSim是大名鼎鼎的微软官方出品的一款开源模拟器,可以模拟无人机、无人车,而且可以通过编程抓取车辆自身摄像头所拍摄的图像信息。有了这些图像信息,那些感觉遥不可及的深度学习、强化学习方法都可以拿来用了。
AirSim能够提供逼真的环境、交通运输工具动力以及传感模拟,帮助研究人员和开发者使用AI在开放世界中构建安全的自动驾驶系统。最新版的AirSim还包含了一些其它新的和增强的功能,例如用于飞行器测试的附加工具。新增的内置飞行控制器可简化初始设置过程,使无人机模拟飞行变得更简单。这些功能通过控制和状态估计算法可提高试验测试效率,相比嵌入式的高成本调试和开发更有优势。
AirSim具备以下功能:
模拟完成车辆建模测试。AirSim包含车辆模拟、城市道路场景,还提供可以简化编程的API以及即插即用的代码,可以很快上手并用于自己的自动驾驶项目。
快速构建丰富场景。AirSim提供了详细的3D城市街景,以及包括交通信号灯、公园、湖泊、工地等丰富的场景。开发者可以在各种不同的场景下测试他们的系统,无论是在市中心,还是在城乡道路、郊野和工业区。开发者还可以利用AirSim的拓展性添加新的传感器、车辆,甚至使用不同的物理引擎。
一站式AI研究平台。AirSim 提供包括C++和Python等多语言的API接口,使用者可以十分容易地将AirSim和众多机器学习工具共同使用。例如,开发者可以使用微软认知工具包(CNTK)和AirSim进行深度增强学习。同时,我们也看到使用新型的对数据量需求很大的机器学习算法进行训练时,在基于Microsoft Azure的AirSim下运行多个实例具有很大的潜力。
此外,微软的研究人员还提供AirSim的编译好的二进制文件,这意味着你可以在短短几分钟之内下载并且调用Python API来控制车辆在模拟环境中运行。在未来的版本中,将会加入新的传感器,提供更完善的车辆物理模型、气候模型,以及更详尽的和真实的环境场景。
话不多说,奉上一些关于AirSim的视频,展示其自动驾驶仿真的魅力:基于AirSim的自动驾驶端对端学习效果(渣配置CPU:E3-1231 GPU:GTX 970 RAM:16G)
视频加载中...
参考文献
[1] CARLA:一个开放的城市驾驶模拟. arxiv.org/abs/1711.03938:
[2] AirSim. https://github.com/Microsoft/AirSim
[3] 自动驾驶仿真软件列表. https://blog.csdn.net/seeseeatre/article/details/80107724
[4] 微软更新AirSim,支持自动驾驶汽车研究
用户评论
玩了CARLA后觉得开车真是个技术活啊,模型太逼真了。
有12位网友表示赞同!
感觉AirSim操作简单易懂,适合新手学习无人机编程。
有13位网友表示赞同!
两个模拟器的渲染效果都很不错,让我有种身临其境的感觉。
有15位网友表示赞同!
感谢这些开源项目,让自动驾驶技术普及得更快了。
有18位网友表示赞同!
CARLA的地图丰富多样,各种场景满足了我对驾驶的热情。
有15位网友表示赞同!
感觉AirSim更新挺快的,每次打开都有新东西等着我去探索。
有12位网友表示赞同!
用这个模拟器训练出的无人机算法在实际环境中表现也很亮眼。
有6位网友表示赞同!
对比了多个自动驾驶模拟器,我觉得CARLA和AirSim的综合素质最高。
有15位网友表示赞同!