End-to-End Learning of Driving Modelswith Surround-View Cameras and Route Planners 翻译
End-to-End Learning of Driving Modelswith Surround-View Cameras and Route Planners
google翻译
摘要
对于人类驾驶员来说,后视镜和侧视镜对于安全驾驶至关重要。它们提供了汽车周围发生的事情的更完整的视图。人类司机也大量利用他们的思维导图进行导航。尽管如此,已经公布了几种方法来学习只使用前置摄像头而不使用路线规划器的驾驶模型。信息的缺乏使得自动驾驶任务变得相当棘手。我们在一个更现实的环境中研究这个问题,这个环境由一个带有八个摄像头的全景摄像头系统、一个路线规划器和一个CAN总线阅读器组成。特别是,我们开发了一个传感器设置,它可以提供车辆周围区域的360度视图、到达目的地的驾驶路线以及驾驶员的低水平驾驶操作(例如转向角度和速度)的数据。通过这样的传感器设置,我们收集了一个新的驾驶数据集,涵盖了不同的驾驶场景和不同的天气/光照条件。最后,我们学习了一个新的驾驶模型,通过整合来自全景摄像机和路线规划的信息。开发了两种路线规划器:(1)通过将OpenStreetMap上的计划路线表示为一堆GPS坐标,以及(2)通过在TomTom Go Mobile上渲染计划路线并将进展记录到视频中。我们的实验表明:(1) 360度环绕声摄像机有助于避免单个前视摄像机的故障,特别是在城市驾驶和十字路口场景中;(2)路径规划者对驾驶任务有很大的帮助,特别是在转向角预测方面。代码、数据和更多可视化结果将在 http://www.vision.ee.ethz.ch/∼heckers/Drive360
(注:未能在网站中找到相关代码,只有数据集)
1 引言
近年来,自动驾驶取得了巨大进步,例如道路场景解析[1–4]、车道跟踪[5–7]、路径规划[8–11]和端到端驾驶模型[12–15]。到目前为止,自动驾驶汽车已经行驶了数千英里,公司渴望在几年内出售这种汽车。然而,在辅助驾驶转变为全自动驾驶之前,必须克服重要的技术障碍,如驾驶模型的必要稳健性、逆风/光照条件[2–4]或提前预测潜在风险的能力[16,17]。与此同时,学术界对“完整”驾驶系统后续步骤的研究越来越少。我们认为,这主要是由于缺乏大型共享驱动数据集来提供更完整的传感器输入。
全景摄像机和路线规划器。
驾驶无疑是一项高度视觉化和智能化的任务。需要收集和整合车辆周围的信息,以做出安全决策。从1906年开始,侧视镜和后视镜就被作为我们眼睛有限视野的一种虚拟延伸[18],与此同时,它们也成为了一种必须品。人类司机也使用他们的内部地图[19,20]或数字地图来选择到达目的地的路线。同样,对于自动车辆,决策系统必须选择一条从当前位置到请求目的地的道路网络路线[21–23]。
如前所述,单个前视摄像头不足以学习安全驾驶模式。在[24]中已经观察到,当到达一个岔口时——没有一个明确的方向——模型可能会输出多个差异很大的旅行方向,每个方向对应一个选择。这将导致不安全的驾驶决策,如选定行驶方向的振动。然而,目前的研究通常集中在这种情况下,因为它仍然允许研究大量的挑战[6,12,25]。这在一定程度上是由于单个摄像机训练模型的简单性,包括可用数据集和有效模型所需的复杂性。我们的工作包括一个全景摄像系统、一个路线规划器和一个车辆CAN总线的数据读取器。该设置提供了车辆周围区域的360度视图、计划的行驶路线和人类驾驶员的“地面真实”操作。因此,我们获得了类似于人类学徒的学习任务,其中(认知/数字)地图给出了总体方向感,并且实际的转向和速度控制需要基于对当地道路情况的观察来设置。
驾驶模型。
为了使任务易于处理,我们选择以端到端的方式学习驾驶模型,即从我们的全景摄像机和路径规划器直接将输入映射到汽车的低级机动。未来的工作是纳入交通代理(如汽车和行人)和交通控制设备(如交通灯和标志)的检测和跟踪模块。我们设计了一个专门的深度网络架构,它集成了来自环绕声摄像机和路线规划器的所有信息,然后将这些传感器输入直接映射到低级别的汽车操作。参见图1和网络架构的补充材料。路线规划器有两种使用方式:(1)通过将计划路线表示为一堆GPS坐标,以及(2)通过在地图上绘制计划路线并将进展记录为视频。
我们的主要贡献有两个方面:(1)一个新的60小时驾驶数据集,具有来自八个环绕声摄像机的视频,路线规划器的两种数据表示形式,低级驾驶操作,以及车辆里程计的GPS-IMU数据;(2)一种学习算法,用于整合来自全景摄像机和计划路线的信息,以预测未来的驾驶动作。我们的实验表明:(1)360度视角有助于避免单个前视摄像头的故障;和(b)路线规划者也显著改善驾驶。
2 相关工作
我们的工作涉及(1)驾驶模型,(2)带有环绕声摄像机的车辆辅助功能,(3)导航和地图,以及(4)驾驶场景理解。
2.1 自动驾驶汽车的驾驶模型
在自动驾驶方面已经取得了显著的进步,特别是由于深度神经网络的部署。驱动模型可以分为两组[7]:中介感知方法和端到端映射方法,除了像[7]这样的一些例外。中介感知方法要求识别所有与驾驶相关的物体,如车道、交通标志、交通灯、汽车、行人等。[1,26,27]。已经做了出色的工作[28]来整合这些结果。这种由汽车工业开发的系统代表了自动驾驶的当前技术水平。大多数使用不同的传感器,如照相机、激光扫描仪、雷达、全球定位系统和高清地图[29]。端到端映射方法构建了从感觉输入到动作的直接映射。这个想法可以追溯到20世纪80年代,当时神经网络被用来学习从图像到转向角度的直接映射[24]。其他端到端的例子是[5,12,14,15,25]。在[12]中,作者训练了一个神经网络,将摄像机输入直接映射到车辆的自我运动。还开发了一些方法来解释端到端网络如何为驾驶任务工作[30],并预测它们何时失败[17]。大多数端到端的工作都是用前置摄像头来演示的。据我们所知,我们提出了第一个端到端的方法,它利用了更现实的输入。请注意,我们的数据也可以用于中介感知方法。最近,强化学习在驾驶中的应用受到越来越多的关注[31–33]。优秀驾驶模拟器的发布尤其推动了这一趋势[34,35]。
2.2 具有全景摄像机的车辆的辅助特征
在过去的几十年里,越来越多的辅助技术被应用到车辆上,这提高了驾驶安全性。车道保持、盲点检查、前方防撞、自适应巡航控制、驾驶员行为预测等技术。,提醒驾驶员潜在的危险[36–39]。这方面的研究最近已经将焦点转移到了环绕声摄像机上,因为许多这样的应用需要车辆周围的全景。值得注意的例子包括目标检测、目标跟踪、车道检测、机动估计和停车引导。例如,在[40]中,鸟瞰图被用来监视车辆的周围环境。周围车辆的轨迹和机动是用周围视野摄像机阵列估算的[41,42]。在[43,44]中研究了利用多个重叠摄像机进行目标检测和跟踪的数据集、方法和评估指标。在[45]和[46]中研究了用环绕声摄像机进行车道检测的问题。先进的驾驶员辅助系统通常使用三维环绕声视图,这可以让驾驶员了解环境并消除盲点[47]。我们的工作将自动驾驶添加到这个列表中。我们的数据集也可以用于所有上述问题;它为研究路线规划者的有用性提供了一个平台。
2.3 导航和地图
车载导航系统已被广泛用于在地图上显示车辆的当前位置,并告知驾驶员如何从当前位置到达目的地。多年来,提高定位、导航和数字地图系统的准确性和鲁棒性一直是另一个研究重点。已经提出了几种用于高清晰度映射的方法[48,49],其中一些专门用于自动驾驶[50,51]。路线规划也进行了广泛的研究[52–56],主要是为了计算最快、最省油或通过道路网络到达目的地的定制轨迹。然而,到目前为止,它们的使用主要限于帮助人类司机。作为学习自动驾驶模式的辅助手段,它们的可及性有限。这项工作报告了两种使用两种地图的方式:一种是s-o-t-a商业地图TomTom MapS 1,另一种是出色的协作项目OpenStreetMaps [57]。虽然在计算机视觉和路线规划方面已经取得了相当大的进展,但是它们在学习驾驶模型方面的集成还没有在学术界得到应有的重视。一个热门话题是结合数字地图和街景图像进行精确的车辆定位[58–61]。
2.4 驾驶场景理解
道路场景理解是辅助驾驶或自动驾驶的关键促成因素。典型的例子包括检测道路[62],交通灯[63],汽车和行人[1,2,64,65],以及跟踪这些物体[66–68]。我们请读者参考这些综合调查[69,70]。集成像上述算法这样的识别结果可能是必要的,但是超出了本文的范围。
3、 数据集
我们首先介绍我们的传感器设置,然后描述我们的数据收集,最后将我们的数据集与其他驱动数据集进行比较。
3.1 传感器
这项工作使用三种传感器进行数据采集:摄像机、一个路线规划器(带地图)和一个用于从车辆的CAN总线获取数据的USB读取器。
摄像机。我们使用八个摄像头,并使用专门设计的带有3D打印摄像头支架的钻机将它们安装在车顶上。摄像机安装在相对于车辆行驶方向的以下角度下:0°、45°、90°、135°、180°、225°、270°、315°。我们安装了GoPro Hero 5黑色摄像头,由于它们的易用性,移动时的良好图像质量,以及耐候性。所有视频都是以1080p每秒60帧(fps)的速度录制的。事实上,一个360度的全景已经可以被四个摄像头覆盖了。我们的相机配置见图2。
路线规划。路线规划多年来一直是研究的焦点[53,54]。虽然在计算机视觉和路线规划方面已经取得了相当大的进展,但是它们在学习驾驶方面的整合还没有得到学术界的应有重视。随着谷歌地图、这里地图和汤姆地图等商业地图的出现,路线已经变得无处不在,车载导航设备几乎出现在每辆新车上。尽管从技术角度来说是可行的,但它们的路线算法和基础道路网络尚未向公众开放。在这项工作中,我们开发了两个路径规划器:一个基于TomTom地图,另一个基于OpenStreetMap。TomTom Map代表了一种用于驾驶应用的s-o-t-a商业地图。与所有其他商业对手类似,它不提供开放的应用编程接口来访问他们的“原始”数据。因此,我们利用了他们的TomTom GO移动应用程序[71]提供的视觉信息,并使用智能手机iPhone 7提供的本机屏幕记录软件记录了他们渲染的地图视图。由于地图渲染更新相当慢,我们以30帧/秒的速度捕捉屏幕。视频分辨率设置为1280 × 720像素。除了商业地图,开放街道地图(OSM) [57]因支持路由服务而受到极大关注。OSM地理数据包括关于道路的详细空间和语义信息,例如道路名称、道路类型(例如公路或人行道)、速度限制、建筑物地址等。亨策尔和瓦格纳已经证明了OSM对机器人导航的有效性[72]。因此,在这项工作中,我们使用卢森和维特尔为OSM数据开发的实时路由方法[73]作为我们的第二个路由规划器。过去的驾驶轨迹(一堆全球定位系统坐标)被提供给路线算法,以将车辆定位到道路网络,并且前方接下来300米的计划道路的全球定位系统标签被作为“当前”位置的计划路线的表示。由于OSM道路网的全球定位系统标签不是按距离均匀分布的,我们对得到的全球定位系统标签拟合了一个三次平滑样条,然后以1m的步长从拟合的样条中采样300个数据点。因此,对于OSM路线规划者,我们有一个300 × 2的矩阵(300个全球定位系统坐标)作为每个“当前”位置的计划路线的表示。
人类驾驶动作。我们记录低水平的驾驶动作,即方向盘角度和车速,记录在汽车的50赫兹的CAN总线上。控制器局域网协议是一种简单的身份和数据有效载荷广播协议,用于车辆中的低级信息广播。因此,我们通过一个控制器局域网到通用串行总线的设备读取特定的控制器局域网标识及其对应的方向盘角度和车速的有效载荷,并将它们记录在连接到总线的计算机上。
车辆里程计。我们使用GoPro摄像头的内置全球定位系统和惯性测量单元模块,在驾驶时记录18赫兹的全球定位系统数据和200赫兹的惯性测量单元测量值。然后,从GoPro创建的视频的元轨道中提取并解析该数据。
车辆里程计。我们使用GoPro摄像头的内置全球定位系统和惯性测量单元模块,在驾驶时记录18赫兹的全球定位系统数据和200赫兹的惯性测量单元测量值。然后,从GoPro创建的视频的元轨道中提取并解析该数据。
3.2 数据收集
同步。所有数据流之间的正确同步至关重要。为此,我们设计了一个自动程序,允许与全球定位系统同步,以快速生成数据集。在所有记录过程中,所有传感器的内部时钟都与GPS时钟同步。视频帧的最终同步误差高达8.3毫秒,即帧速率的一半。如果车辆速度为100公里/小时,由于车辆纵向位置同步而产生的误差约为23厘米。我们承认,就同步误差而言,能够由精确的触发信号触发的照相机是优选的。然而,我们的相机以适度的同步误差为代价,提供了良好的光度图像质量和高帧率。地图与我们的视频帧的同步误差高达0.5秒。这是可以接受的,因为计划的路线(无论其表示形式如何)只需要为导航提供全局视图。CAN总线信号与我们的视频帧的同步误差高达10毫秒。这也是可以容忍的,因为人类驾驶员以相对较低的速度发出驾驶动作。例如,意外和预期的人类驾驶员的平均反应时间是1.3和0.7秒[74]。
Drive360数据集。利用所描述的传感器,我们收集了一个新的数据集Drive360。Drive360是通过在瑞士多个城市驾驶记录的。我们专注于为训练驾驶模型提供真实的数据集。受驾驶教练教人类学徒驾驶的启发,我们选择了路线和驾驶时间,目的是最大限度地增加接触所有典型驾驶场景的机会。这减少了生成带有许多“重复”场景的有偏数据集的机会,从而允许对驾驶模型的性能进行准确判断。Drive360包含60 h的驾驶数据。
司机们总是遵守瑞士的驾驶规则,如小心尊重行驶速度,不超车时在右车道行驶,与前面的车辆保持所需的距离等。我们有第二个人陪同司机帮助(提醒)司机始终遵循我们的路线规划者规划的路线。我们使用了手动设置程序来确保两个路线规划者生成“相同”的规划路线,直到他们自己的道路网络表示之间的差异。选择起点和终点后,我们首先使用OSM路线规划器生成行驶路线。对于TomTom路线规划器,我们通过使用相同的起点和目的地,并通过在路线上添加连续的航路点序列(中间位置)来获得相同的行驶路线。我们在每次驾驶前人工验证路线的每个部分,以确保两条计划路线实际上是相同的。这次同步后,TomTom Go Mobile由于其高质量的视觉信息,被用来指导我们的人类司机。我们的OSM路径规划器的数据是通过使用[73]中提出的路径算法获得的。特别地,对于每个“当前”位置,提供“过去”驾驶轨迹以将车辆定位在OSM的最初计划路线上。然后检索前方下一个300米路线的GPS标签。
3.3 与其他数据集比较
计划路线。由于我们的数据集旨在理解和改进当前端到端驾驶模型的谬误,因此我们为导航提供地图数据,并提供唯一的真实数据集。值得注意的是,计划路线不能通过对车辆记录的GPS坐标进行后处理来获得,因为计划路线和实际驾驶轨迹本质上是不同的。这两者之间的差异是由实际驾驶造成的(例如,在道路施工区变道和超车),并且确实是驾驶模型要学习的目标。
全景摄像头和低水平的驾驶机动。我们的数据集是唯一一个使用真实数据并提供低水平驾驶操作(如转向角度和速度控制)的环绕声视频的数据集。这对于端对端驾驶特别有价值,因为它允许模型学习车道变换的正确转向,当由人类驾驶员执行时需要“镜子”,或者在十字路口转弯时需要正确的驾驶动作。与BDDV [12]和牛津数据集[75]相比,我们通过控制器局域网总线提供车辆的低水平驾驶操作,而它们仅通过全球定位系统设备提供车辆的自我运动。这使我们能够预测车辆的输入控制,从而更接近完全自主的端到端训练驾驶模型。Udacity [76]还通过CAN总线提供低级别的驾驶操作。然而,它缺乏路线规划者,只包含几个小时的驾驶数据。
数据集焦点。在美国,有多个为与自动驾驶相关的任务编译的数据集。然而,这些数据集都有自己的关注点。KITTI、Cityscapes和GTA更注重对驾驶场景的语义和几何理解。牛津数据集侧重于捕捉驾驶场景的时间(季节性)变化,从而将驾驶限制在“单一”驾驶路线上。BDDV [12]是一个非常大的数据集,以众包方式从许多城市收集。然而,它只有一个前置仪表板摄像头。
4 实验方法
5 实验结果
5.2 路线规划的优势
我们通过使用我们的可视TomTom或我们的数字OSM制导系统设计两个网络来评估路径规划器的优势,并将这些与我们没有包含路径规划器的网络进行比较。表3总结了每个网络速度和转向角预测的结果。评估表明,我们的可视化汤姆汤姆路线规划显著提高了预测性能,而OSM方法没有产生明显的改善。因为,速度的预测比转向角的预测更容易,所以使用路线规划器将对转向角的预测有更显著的好处。
为什么视觉Tom规划器更好?很容易认为GPS坐标比渲染的视频包含更准确的信息,从而为计划的路线提供更好的表示。然而,如果直接使用全球定位系统坐标而不进行进一步的仔细处理,情况就不是这样了。导航设备(如TomTom Mobile Go)上的计划路线可视化利用基于车辆移动轨迹的精确车辆定位来提供沿着行驶方向的路线的精确程序知识。基于车辆运动轨迹的定位被称为地图匹配,这本身就是一个长期的研究问题[80–82]。对于我们的TomTom路线规划者来说,这是通过TomTom出色的底层地图匹配方法完成的,尽管公众对此一无所知。这个渲染过程将原始的全球定位系统坐标转换成一个更结构化的表示。然而,我们实现的OSM路线规划器在地图级别编码了更多的全球空间信息,使得导航信息和街景视频的集成更具挑战性。读者可以参考图3,了解两个路线规划者的示例表示。
除了地图匹配,我们还提供了其他可能的解释:(1)原始GPS坐标对于位置来说是准确的,但是缺少其他高级和上下文信息(道路布局、道路属性等)。)在可视路径规划器中是“可见”的。例如,原始全球定位系统坐标不能区分“高速公路出口”和“轻微右弯”,也不能显示十字路口的其他替代道路,而视觉路线规划者可以。似乎那些在导航设备中优化的帮助人类驾驶的语义特征对机器驾驶也很有用。自主驾驶导航任务的特征设计/提取是一个有趣的未来课题。(2)从汤姆到OSM,底层道路网络的质量是不同的。OSM是众包的,因此其道路网络的质量/准确性并不总是得到保证。然而很难进行直接的比较,因为汤姆汤姆的道路网络对公众来说是不可访问的。
6 总结
在这项工作中,我们将学习端到端驾驶模型从仅使用单个前视摄像头扩展到了更真实的设置。我们提出了一项新颖的任务,即通过环绕声摄像机和渲染地图学习端到端的驾驶模型,使汽车能够“观察”侧面、后面和“检查”驾驶方向。我们提出了两个主要贡献:(1)一个新的驾驶数据集,具有60小时的驾驶视频,8个环绕声摄像机,通过汽车的现场总线记录的低水平驾驶操作,两个路线规划者对计划路线的两种表示,以及车辆里程计的全球定位系统-惯性测量单元数据;(2)从传感器输入直接映射到未来驾驶机动的新型深度网络。我们的数据具有高临时分辨率和360°视图覆盖范围、帧同步和多种路况,非常适合学习端到端驾驶模式。我们的实验表明,端到端的学习方法可以有效地使用环绕声摄像机和路线规划器。渲染的视频在表示计划路线方面优于原始GPS坐标堆栈。