锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

TCP:结合轨迹规划和控制预测的端到端自动驾驶框架

时间:2022-08-14 10:00:01 abs轮速传感器各自的优缺点td系列传感器

你是否仍然担心如何整合多传感器信息,心如何整合多传感器信息,还是为了提高上游检测和预测模块的点数?不妨改变想法,在端到端模型的输出形式上对症下药,乘坐我们TCP,即使路途遥远,充满挑战,也能安全护送你。

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

TCP 在CARLA AD Leaderboard排名(截至2022.6.24)

论文地址: http://arxiv.org/pdf/2206.08129.pdf

项目地址: https://github.com/OpenPerceptionX/TCP

主要撰写小伙伴: @吴鹏浩、陈立

PS:禁止未经授权转载


TD;LR (太长不看版):

1.与以往的端到端模型不同,TCP有何特别?

  • 关注模型设计?NOT encoder!过去,端到端模型通常专注于输入信息的集成encoder部分的设计,而TCP专注于提取feature之后的预测部分

  • E2E AD 输出形式,轨迹or控制?平常的端到端模型采用轨迹 PID/控制信号中的一个,TCP研究了这两种输出形式的特点和优缺点,并将两者结合在一个统一的框架中,达到互补优势取长补短的效果。

2.我们做了什么具体的工作?

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

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

  • 我们将轨迹预测分支和多步控制分支集成到一个框架中,并添加两者之间的交互,并灵活地结合两个分支的输出,以获得最佳的最终控制信号。

3.TCP模型效果如何?

作为一个简单有效的框架,TCP在不同的测试环境和场景下,以单相机为输入,出色地应对各种具有挑战性的驾驶场景CARLA AD Leaderboard上取得了第一名的成绩 (75.14 Driving Score0.87 Infraction Penalty 均远超过其他方法)。Demo视频如下:

Demo: TCP在CARLA测试片段在中间


以下是TCP详细介绍工作。

TCP (Trajectory-guided Control Prediction)方案

初衷:轨迹 vs 控制信号,which is better?

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

动机:轨迹vs控制信号。红点是轨迹预测结果,蓝点是跟踪实际轨迹,绿点是控制信号方法的实际轨迹。这两种输出形式有一定的限制,如(a)跟踪转弯场景的轨迹,(b)独立分布假设培训获得的控制模型缺乏长期驾驶策略决策

两种输出形式的轨迹和直接控制信号各有不同的特点。

  • 轨道是未来每一步车辆的位置,轨道的输出形式自然包含正确的考虑未来间的考虑,而且可以进一 步与结合其他车辆的额外轨迹预测模块或检测和分割模块,从而降低碰撞率。然而,目前常用的轨迹需要通过额外的控制器将其转换为最终控制信号PID控制器不仅需要大量的调参,车辆在转弯或启动时可能表现不佳不能真正行驶符合预测轨迹的路线

  • 对于直接输出控制信号的模型,可以直接优化最终信号。然而,直接优化当前时刻相应的控制信号会导致模型只关注当前时刻,对未来缺乏考虑,可能导致刹车不及时造成碰撞增加

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

TCP Pipeline

TCP整体pipeline

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

1.轨迹分支

我们在自己的轨道分支中没有太多的设计。输入特性被送到一个GRU模块自回归地依次预测未来每个事件步行车辆的坐标,从而形成轨迹。轨迹将被提供给PID控制器获得控制信号,包括油门、制动器和方向盘角。同时,在轨道预测的每个时间步骤中,将提供多步控制预测分支作为指导。

2.多步控制预测分支

轨迹引导的多步控制预测示意图

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

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

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

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

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

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

3.分支输出融合

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

分支输出融合算法

实验效果

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,大大地减少了各类碰撞,偏航等问题。

CARLA AD Leaderboard比较

2.Ablation分析

多任务学习的作用:简单地在control only model中加入轨迹预测的附属任务,就可以对控制预测本身带来提升。证明了轨迹预测和控制预测两个任务本身的关联性,将二者作为多任务学习的任务可以提升模型所提取特征的泛化性能。

多步控制信号预测的作用:在使用我们的多步控制预测方案后,DS和RC获得了10个点左右的增益,证明了我们设计的轨迹引导的多步控制信号预测的有效性。

结合轨迹和控制输出形式的作用:在结合轨迹和控制的输出形式后,IS获得大幅度提升,证明我们的结合方案能够巧妙地结合二者的优势,减少由控制模型带来的碰撞和轨迹模型带来的偏航。

​各个设计模块的消融实验

模型性能与大小比较:与直接将两个纯轨迹模型和纯控制模型以ensemble的方式结合不同,TCP采用多任务学习的(MTL)思路,使用一个共享的backbone,将轨迹和控制作为两个并列的分支,在保证性能优异的同时,仍然保持较少的模型参数和计算量,确保了实时的推理速度。(表中模型具体含义见论文)

​采用的各种模型大小与性能比较

在可视化下,TCP更直观地展示出了应对各类挑战性驾驶场景的出色能力。比如(Row1)对画面中仅占很小区域红绿灯变化的反应、(Row2)在转弯后面对突然出现的行人的及时反映、(Row3)路口场景候车转弯、(Row4)无保护左转过程中与对向车辆的交互。

测试中的挑战性case

相关工作

端到端自动驾驶模型避免级连式的设计,以一个统一简单的模型将传感器输入映射为最终输出。通常采用模仿学习或强化学习的方式来训练,模型的直接输出形式往往是轨迹和控制信号中的一种。

工业界方案:Openpilot【1】

Openpilot 是一套针对高速驾驶场景,面向L2辅助驾驶功能(ACC、LKA、DMS等)的开源项目,也是我们所知的唯一一个将端到端模型应用于量产落地的项目。Openpilot采用一个简单的supercombo模型,以前后两帧前视摄像头作为输入,直接输出预测轨迹,预测轨迹和雷达信号结合送入MPC控制器得到最终的控制信号,supercombo模型也以多任务学习的形式同时预测车道线,车辆状态等信息。

本组也对Openpilot相关工作进行了一系列的deepdive,也公开了我们的代码、arXiv及相关探索性内容,若感兴趣请移步项目仓库(Openpilot-Deepdive)或相关知乎文章: PerceptionX - 知乎

工业界方案:Wayve【2】

​英国的Wayve公司,也在各种不同公开场合表示他们采用了端到端的模型实现英国繁忙街区中的自动驾驶。他们的模型通过decode中间特征,来增强可解释性。我们也非常建议感兴趣的同学听一下其CEO Alex Kendall在CVPR 2022 Workshop on Autonomous Driving上的keynote演讲,其中总结了他们在可迁移性、Off policy训练、仿真/数据等对于端到端自动驾驶关键问题上的看法。

学术界论文:Learning from all vehicles (LAV,CVPR2022)【3】

​LAV利用pointpainting融合点云和图片信息,coarse to fine地得到规划的轨迹,并在BEV视角下进行目标检测和他车轨迹预测帮助刹车的判断。LAV利用了数据收集车周围所有车辆的数据,增加了训练数据的多样性,缓解数据长尾分布的问题。

学术界论文:Multi-Modal Fusion Transformer for End-to-End Autonomous Driving (Transfuser,CVPR2021)【4】

​Tranfuser利用attention based transformer block在不同的尺度的特征图上融合激光雷达点云和图片信息,最终提取出的具有丰富信息的特征向量送给一个时序模块,自回归地输出预测的轨迹。

学术界论文:End-to-End Urban Driving by Imitating a Reinforcement Learning Coach (Roach,ICCV2021)【5】

​不同于以往的rule-based的专家模型,Roach先用强化学习的方式获得一个以BEV标注作为输入的专家模型,再采用蒸馏的方式训练一个以前视相机作为输入预测控制信号的学生模型。

下一步工作

TCP首次讨论了端到端自动驾驶模型中轨迹和控制信号这两种输出形式的特点,并将二者结合在了一个统一的框架中。

一个自然的方向是将多传感器(多相机+激光雷达)作为输入,使用传感器融合的方法,提取更丰富的信息供后续分支使用。同时,可在模型中加入检测和分割任务,并与轨迹预测分支的结果结合。

另一个我们思考的问题是,两种输出的结合可以获得更出色的效果,那么两种表达形式到底在关注一些什么。如何在可解释性的引导下,设计更合理的端到端自动驾驶模型也是一个异常有趣的方向。

我们拥抱多彩纷呈的想法,欢迎大家加入我们致力于实现更智能的端到端自动驾驶!

团队介绍

上海人工智能实验室坐落于美丽的徐汇滨江,这里即有学术大牛具体指导实习生、刚入职的校招生;也适合工作多年的社招大佬在这里充分展现自己的价值。我们坚信在这里能做出solid impact的工作、对标国际一流实验室成果。

TCP工作由上海人工智能实验室自动驾驶感知算法团队PerceptionX完成。自动驾驶团队OpenPerceptionX致力于探索前沿的学术界与工业界感知、融合、端到端算法,团队研究研究方向包括但不限于视觉感知融合(BEV Perception)、多模态感知算法、自动驾驶大模型、感知决策一体化、决策智能、车路协同与多车智能等。感兴趣同学请联系小编刘礼同学 :liuli@pjlab.org.cn,或者加入我们的QQ社群:250154442,一起探索感知的魅力。

参考

[1] https://github.com/commaai/openpilot

[2] https://arxiv.org/abs/2108.05805

[3] https://arxiv.org/abs/2203.11934

[4] https://arxiv.org/abs/2104.09224

[5] https://arxiv.org/abs/2108.08265

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章