NeurIPS 2022 | 结合轨迹预测与控制信号的端到端自动驾驶模型

2023-01-09 13:14 983 阅读 ID:675
将门
将门

热爱自动驾驶研究的你,是否还在为如何融合多传感器信息而苦恼,亦或是为提升上游检测和预测模块的点数而卷得不可开交?不妨换个思路,在端到端模型输出形式上对症下药,乘坐我们的TCP,纵使路途遥远充满挑战,也能安全为您保驾护航。

本文我们将介绍一项被 Thirty-sixth Conference on Neural Information Processing Systems (NeurIPS’22) 会议接收的新工作,我们于该工作中提出了一种名为 TCP 的模端到端自动驾驶模型,目标即是将轨迹规划和控制预测结合到一个统一的框架中,从而取长补短,获得优异的性能。

该工作的亮点总结如下:

· 我们通过大量实验分析了两种输出模型(轨迹预测+PID模型和直接输出控制模型)各自的特点。

· 针对模仿学习中,对于state-action pair独立同分布假设带来的问题,我们提出了推演预测未来多步控制信号的方案,赋予模型较短时序上的推理能力。

· 我们将轨迹预测分支和多步控制分支整合在一个框架中,并加入二者的交互,并根据先验方案灵活结合两分支输出,获得最佳的最终控制信号。

论文链接:

https://openreview.net/pdf?id=2nWUNTnFijm

代码链接:

https://github.com/OpenPerceptionX/TCP

一、背景

不同于模块化的自动驾驶方案,端到端的自动驾驶将传感器原始输入直接通过网络得到规划轨迹/控制信号。端到端自动驾驶模型结构简单,直接优化最终的驾驶信号,近年来吸引了诸多学术界和工业界的注意。端到端自动驾驶模型的输出形式主要分为控制信号和轨迹两种。控制信号(如油门,刹车,方向盘转角)可直接作用于自动驾驶的车辆上,而轨迹则需要再结合一个控制器(如PID 控制器)把轨迹转换为最终的控制信号。

CARLA是一个广泛用于自动驾驶相关研究的开源模拟器,CARLA Autonomous Driving Leaderboard 是一个用来衡量自动驾驶模型在复杂城市交通环境下行驶性能的平台,自动驾驶模型需要在不同天气,光照环境下,应对各类富有挑战性的驾驶场景,完成驾驶任务。我们提出的一个统一了两种典型输出形式(轨迹规划和控制预测)的端到端自动驾驶(E2E AD)模型 - TCP (Trajectory-guided Control Prediction),仅使用单一单目相机作为输入,便取得了75.14 Driving Score 和 0.87 Infraction Penalty,在CARLA Autonomous Driving Leaderboard上取得了 第一名 的分数(截至2022.6.24),远超其他使用多传感器输入的方法(多相机和激光雷达)。

二、Motivation

轨迹和直接控制信号这两种输出形式各自拥有一些不同的特点:

  • 轨迹是未来每个时间步车辆的位置,轨迹这种输出形式自然地包含了对未来一小段时间的考虑,并且可以进一 步与额外的他车轨迹预测模块或检测和分割模块结合,从而减少碰撞率。然而,轨迹需要通过额外的控制器将其转换为最终的控制信号,当前常用的PID控制器不仅需要大量调参,在车辆拐大弯或启动时可能表现不佳,车辆无法真正行驶出贴合预测轨迹的路线。
  • 对于直接输出控制信号的模型,最终的信号能够直接被优化,然而,对当前时刻对应控制信号直接优化会导致模型仅仅关注当前时刻,缺乏对未来的考虑,可能使得刹车不及时导致的碰撞增大。

我们提出的TCP(Trajectory-guided Control Prediction)模型,目标即是将二者结合到一个统一的框架中,从而取长补短,获得优异的性能。

三、方法

根据前述的初衷,那么接下来的设计也就非常自然了。TCP 以一种多任务学习的形式(Multi-task learning)将轨迹和控制信号作为两个并列的分支,接在共用的输入encoders后,并设计了两个分支之间的交互,在最后将两个分支的输出结果灵活结合。类似既往的端到端模型,我们的输入也包含传感器、指令两部分内容。一个基于CNN的image encoder用于提取输入前视相机的图片特征,一个基于MLP的measurement encoder用于处理自车当前速度和导航信息,两者结合得到的特征同时提供给后续轨迹分支和多步控制分支使用。

3.1 轨迹分支

我们在本身的轨迹分支中并没有过多的设计。输入特征被送入一个GRU模块,自回归地依次预测未来每个事件步车辆的坐标,从而形成一条轨迹。轨迹将被提供给PID控制器从而得到包括油门,刹车,方向盘转角的控制信号。同时,在轨迹预测的每个时间步,相关信息将会被提供给多步控制预测分支作为引导。

3.2 多步控制预测分支

这里首先要谈,为什么要多步控制?

传统的控制信号预测模型,在采用监督学习的训练方式时,将每个state-action对视作独立同分布,这与本属于序列决策问题的驾驶任务不符,使得模型只关注于当前时刻,失去了对未来的思考能力。我们通过设计一个简单的时序模块来进行多步控制预测来缓解这个问题。

在模拟器中或真实世界中,我们驾驶的车辆将会不断与环境交互互动,我们希望通过一个时序模块,在一定程度上模仿一个简易模拟器,用来推演环境的发展变换和自车与环境的交互。我们设计了一个基于GRU的时序模块,该模块在每一步以一个表征当前环境的特征向量和当前预测的控制信号作为输入,推演出下一时刻对应的环境特征向量。在每一步使用一个共用的MLP头来输出对应的控制信号,并对每一步的特征向量和控制预测进行监督,从而使得模型能够思考当前应采取怎样的控制信号才能使得未来环境也与专家模型相近。

但是,只根据当前时刻的输入与简易场景模拟器,想要预测未来多步的控制信号仍并非易事,我们还需要更丰富的信息来帮助。针对性地,我们也提出了轨迹引导的注意力机制。

对于未来的一小段时间,预测所需要的静态信息(车道线,路沿等)往往已经包含在了当前时刻的输入图片中,问题在于如何在当前时刻输入中找到未来对应时刻的控制预测所需要的动态信息。因为该信息和未来车辆所在位置紧密相关,而轨迹预测分支正包含了此类信息,所以我们在未来的每个对应时间步,结合轨迹分支对应步的信息来预测一个注意力权重图,用来重新聚合当前时刻的输入特征,从而更好地预测未来时间步的控制信号。

至此,我们轨迹引导的多步控制预测(TCP主体)即已成型,大量的重复实验也证明了以上设计的有效性。

3.3 分支输出融合

在以上的TCP两路分支中,它们会各自输出一个控制信号,但最终我们必然只能输出一个结果。正如上文所提到的,轨迹和控制两种形式有各自的优缺点,所以我们根据已有的先验知识和实验结果,设计了一个灵活地融合方式,从而以不同的比重结合两个分支的结果。例如,我们发现在拐弯时以控制为直接输出的模型表现效果更好,所以我们判断当前车辆是否在拐弯,若在拐弯,则赋给控制分支的输出更大权重,轨迹分支更小的权重,来结合形成最终的控制信号。

四、实验结果

4.1 CARLA Leaderboard 榜单(SOTA)比较

当前的CARLA AD Leaderboard共包含10条secret routes,每条route会在2种天气条件下进行测试,每组测试重复5遍。自动驾驶模型将在一系列稀疏的导航点的引导下完成既定起点到终点的驾驶任务。驾驶过程中将会面对10种预设的富有挑战性的场景,包括并道,变道,相应红绿灯和交通标志,无保护交通路口等。评价指标主要包括Driving Score(DS), Route Completion(RC), Infraction Score(IS)。其中主要指标DS为RC和IS的乘积,RC是自动驾驶模型完成的驾驶距离占总路线的比例,IS则汇总了模型在驾驶过程中产生的infraction(基础分为1,每犯一次infraction将被乘以一个对应0-1的系数),infraction包括撞行人,撞车辆,闯红灯,偏航等。

在CARLA AD Leaderboard上我们的TCP模型仅使用单一相机作为输入,获得了第一名的DS和IS,大大地减少了各类碰撞,偏航等问题。

4.2 消融实验

  • 多任务学习的作用:简单地在control only model中加入轨迹预测的附属任务,就可以对控制预测本身带来提升。证明了轨迹预测和控制预测两个任务本身的关联性,将二者作为多任务学习的任务可以提升模型所提取特征的泛化性能。
  • 多步控制信号预测的作用:在使用我们的多步控制预测方案后,DS和RC获得了10个点左右的增益,证明了我们设计的轨迹引导的多步控制信号预测的有效性。
  • 结合轨迹和控制输出形式的作用:在结合轨迹和控制的输出形式后,IS获得大幅度提升,证明我们的结合方案能够巧妙地结合二者的优势,减少由控制模型带来的碰撞和轨迹模型带来的偏航。
  • 模型性能与大小比较:与直接将两个纯轨迹模型和纯控制模型以ensemble的方式结合不同,TCP采用多任务学习的(MTL)思路,使用一个共享的backbone,将轨迹和控制作为两个并列的分支,在保证性能优异的同时,仍然保持较少的模型参数和计算量,确保了实时的推理速度。(表中模型具体含义见论文)

五、总结与展望

TCP首次讨论了端到端自动驾驶模型中轨迹和控制信号这两种输出形式的特点,并将二者结合在了一个统一的框架中。一个自然的方向是将多传感器(多相机+激光雷达)作为输入,使用传感器融合的方法,提取更丰富的信息供后续分支使用。同时,可在模型中加入检测和分割任务,并与轨迹预测分支的结果结合。

另一个我们思考的问题是,两种输出的结合可以获得更出色的效果,那么两种表达形式到底在关注一些什么。如何在可解释性的引导下,设计更合理的端到端自动驾驶模型也是一个异常有趣的方向。我们拥抱多彩纷呈的想法,欢迎大家加入我们致力于实现更智能的端到端自动驾驶!

作者: 吴鹏浩,陈立

文章来源:公众号【sjtuThinklab】

Illustration by Delesign Graphics from IconScout

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn