麻省理工学院发明了一种训练无人驾驶汽车的模拟系统,营造逼真的驾驶环境,模拟无数转向可能,帮助汽车在真正上路前学会如何应对最糟糕的交通状况。
自动驾驶车辆的控制系统或“控制器”主要是依靠人类驾驶员的现实驾驶轨迹的数据。从这些数据中,车辆可以学会如何在各种情形下安全转向控制。但是现实数据中那种危险的“极端案例”很少,如险些撞车或被迫驶离道路或驶入其他车道这类情况。
有些被称为“模拟引擎”的计算机程序,通过详细的虚拟道路模拟此类情况,训练控制器恢复控制。但是从模拟场景中学习的控制从来没有在正常大小的汽车中实践过。麻省理工学院的研究人员通过他们的真实效果模拟器来解决这一问题,这个模拟器被称为虚拟图像合成及自主转换(VISTA)。只使用一个小数据集,由在路上行驶的驾驶员采集,对现实中车辆行驶线路中无数的新视角进行综合。根据没发生碰撞的行驶距离对控制器予以奖励,所以它必须学会如何安全行驶到目的地。因此,车辆必须学会在任何情形下安全行驶,包括在车道间转弯后重新控制或在即将碰撞时及时恢复控制。
在测试中,由VISTA模拟器进行训练的控制器,能够安全地在正常大小的无人驾驶汽车上应用,且能够在没见过的道路上行驶。将汽车放置于脱离道路的情形,对各种即将撞车的情形进行模拟,控制器还是能够在几秒内成功地将汽车恢复到安全驾驶的轨迹。关于介绍这一系统的论文已经发表在IEEE的 Robotics and Automation Letters期刊(机器人与自动化)上,并即将在5月召开的ICRA会议上推出。
计算机科学和人工智能实验室(CSAIL)的博士,论文的第一作者Alexander Amini表示:“想从现实中人们没经历过的极端案例中收集数据非常困难。然而,通过我们的模拟器,控制系统可以体验这些状况,从中学会恢复控制,当现实中在车辆上应用时就可以应对各类状况了。”
数据驱动模拟器
过去,为训练和测试自动驾驶汽车制造模拟引擎主要是一项人工任务。公司和大学经常聘请设计师和工程师们来模拟虚拟环境,有精确的路标、车道,甚至树上的树叶都模拟出来。基于复杂的数学模型,一些发动机可能还包含了汽车与其环境相互作用的物理原理。
但是由于在复杂的现实环境中有太多不同的东西需要考虑,所以实际上不可能将所有东西都涵盖到模拟器中。因此,控制器在模拟场景中所学的东西和它们在现实世界中的操作方式经常不甚匹配。麻省理工学院的研究人员创造了一个他们称之为“数据驱动”的模拟引擎,从实际数据中将与道路外观一致的新轨迹,以及场景中所有物体的距离和运动都综合起来。
首先,他们从一个分别在几条路上行驶的驾驶员身上收集视频数据,然后将数据输入引擎。每一帧,引擎都将每个像素点投影成一种三维点云。然后,将一台虚拟汽车放到这个虚拟世界中。当汽车发出转向指令时,引擎根据转向曲线和汽车的方向速度,通过点云合成新的轨迹。
然后,引擎使用新的轨迹来渲染逼真的场景。为此,通常使用一种用于图像处理任务的卷积神经网络估算景深图,该景深图包含控制器角度的关于物体距离的信息。然后,将景深图与一种能估算三维环境下相机方位的技术相结合。这些都有助于在虚拟模拟器中精确定位车辆位置和相对距离。
基于这一信息,它调整原始像素,从汽车的新视角重新创建一个三维世界。还能跟踪像素的运动,捕捉场景中汽车、人以及其他移动物体的运动。Rus说,“这相当于给汽车提供了无数可能的轨迹,因为收集物理数据时,我们会从汽车遵循的特定轨迹中获取数据。但是我们可以修改这个轨迹,让它涵盖所有可能的驾驶方式和环境。真的是很强大。”
从零开始强化学习
一直以来,研究人员都是通过遵循人类定义的驾驶规则或者通过模仿人类驾驶员来训练自动驾驶汽车。但是这些研究人员让控制器在“端对端”的框架下从零开始学习,也就是意味着只接受原始传感器数据的输入,比如道路的视觉观察,并根据这些数据预测输出的转向指令。Amini说,“基本上是说,就是这样一个环境,想怎么做都行,就是别撞到车,然后待在车道内。”
这需要“强化学习”(RL),这是一种试错式机器学习技术,每当汽车出错时都会提供反馈信号。在研究人员的模拟引擎中,控制器最开始完全不知道如何驾驶,车道标志是什么,甚至不知道其他汽车什么样,所以它随机进行转向角度。只有在碰撞时才会收到反馈信号。然后,把它传送到一个新的模拟位置,再执行一组更好的转向角度避免再次碰撞。经过10到15个小时的训练,控制器利用这些零星的反馈信号学习如何在不撞车的情况下行驶更远的距离。
在模拟环境中成功驾驶1万公里后,作者将训练后的控制器应用到现实世界中的正常大小的自动驾驶汽车上。研究人员表示,在模拟器中使用端对端强化学习训练的控制器在正常大小的汽车上应用这还是第一次。Amini说: “这让我们大吃一惊。这种控制器不仅从未在真正的汽车上应用过,甚至从来都没上过路,也不知道人类是如何驾驶的。”
让控制器在所有类型的驾驶场景中训练一遍,它就能够从迷失方向的位置重新恢复控制,比如部分车身偏离车道或进入了另一个车道,并在几秒内返回正确的车道。Amini说:“其他最先进的控制器都不幸失败了,因为它们在训练中都没有看到这样的数据。”
接下来,研究人员希望通过从一个的驾驶轨迹模拟出所有类型的路况,如白天和夜晚,晴天和雨天。他们还希望模拟出与路上其他车辆更为复杂的互动。Rus说,“要是其它车开始移动然后猛冲到车前面怎么办?这些都是我们想要开始测试的复杂,现实情况中可能出现的状况。”
