闭环自动驾驶新SOTA!| ThinkTwice:拓展端到端解码器!

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

今天自动驾驶之心为大家分享端到端自动驾驶新方案:ThinkTwice。如果您有相关工作需要分享,请在文末联系我们!

作者 | 贾萧松(本文已获授权)

编辑 | 自动驾驶之心

>>点击进入→自动驾驶之心【全栈算法】技术交流群

近年来,端到端自动驾驶取得了令人瞩目的进展。现有的方法通常采用解耦的编解码模式,编码器从原始传感器数据中提取隐藏特征,解码器输出自车的未来轨迹或动作。在这种范式下,编码器无法访问自车的预期行为,将从大量感受野中找出安全关键区域并推断未来情况的负担留给解码器。更糟糕的是,解码器通常由几个简单的多层感知器(MLP)或gru组成,而编码器则精心设计。这种不平衡的资源任务分配妨碍了学习进程。

本文的目标是通过两个原则来缓解上述问题:(1)充分利用编码器的容量;(2)从而增加了解码器的容量。具体地说,首先基于编码器特征来预测粗粒度的未来位置和动作。然后根据位置和动作,如果相应地驾驶,则可以想象未来的场景来检查分支。本文还检索预测坐标周围的编码器特征,以获得关于安全关键区域的细粒度信息。最后基于预测的未来和检索到的显著特征,本文通过预测其与GT的偏移来细化粗粒度的位置和动作。上述细化模块可以以级联的方式堆叠,这利用关于条件未来的时空先验知识扩展了解码器的容量。本文在CARLA模拟器上进行了实验,并在闭环基准测试中实现了最先进的性能。广泛的消融研究证明了每个拟议模块的有效性。

ce913cbeaf3f890910cefe83c8be1644.png

总结来说,本文的主要贡献如下:

  • 提出了一种用于端到端自动驾驶的可扩展解码器范例,据本文所知,这是第一个强调在该领域扩大解码器容量的重要性的范例;

  • 设计了一个解码器模块来回顾安全关键区域,并在预测的动作/轨迹的条件下预测未来场景,这将时空先验知识和密集的监督注入到训练过程中;

  • 论文在两个竞争基准上展示了最先进的性能,并进行了广泛的消融研究,以验证所提出模块的有效性。

相关工作

端到端自动驾驶

与传统的模块化自动驾驶框架不同,基于传感器观测预测动作的端到端方法显示出了巨大的潜力。CIL提出了一种简单的结构,用于基于导航命令将前视图图像特征直接映射到控制信号。在此基础上,CILRS增加了一个速度预测分支,以缓解惯性问题。LBC和Roach使用基于学习的特权专家来更好地教授学生模型。NEAT解码鸟瞰图(BEV)中的路点和语义。

这种方法在闭环评估中获得了令人印象深刻的性能。尽管如此,它们中的大多数只关注编码器部分,通常采用简单的基于MLP或GRU的解码器进行最终规划。在本文的工作中,探索同时增加解码器的容量和充分利用编码器的容量。

用于自动驾驶的BEV表示

学习自动驾驶中感知和规划任务的BEV表示是工业界和学术界的热门话题。BEV表示固有地保留了地平面上的空间关系,使其更适合联合感知规划和传感器融合。

BEV感知任务,包括检测、分割和车道检测,已经迅速突破了自动驾驶3D视觉的前沿。对于规划来说,BEV表示也显示出了巨大的潜力,模型可以推断出重要的几何关系。ChaffeurNet将特权环境和路由信息提供给BEV,作为规划的输入。LBC、LAV和Roach基于privileged BEV表示作为输入来训练强大的专家。用于规划的成本图也可以基于BEV表示来构建或学习。NEAT迭代更新注意力图以聚合特征,并将其解码为BEV中的语义类别和方式点。然而,NEAT并没有明确地将透视图中的图像特征转换为BEV,并且它只使用简单的MLP来直接解码来自聚合特征的结果。在本文的工作中,在将图像特征与BEV中的激光雷达特征明确投影并对齐后,检索关键区域的BEV特征,并预测未来场景,以迭代地细化规划输出。

Coarse-to-fine策略

粗到细策略在计算机视觉领域得到了广泛的研究和应用。2D检测和3D检测的典型两阶段方法通常首先提出粗略的区域建议,然后基于这些建议提取特征,以生成精细的最终预测。粗到细方法在光流估计、显著物体检测和轨迹预测等任务中也取得了巨大成功。

至于自动驾驶中的规划,LAV也会迭代地细化预测的路线点。然而,它们的细化仅基于具有简单RNN的原始特征。我们的方法使用粗略预测来检索关键区域中的特征,并预测未来以更好地细化粗略预测。

方法

所提出的ThinkTwice是一个端到端的自动驾驶框架,由编码器和解码器组成,编码器将原始传感器数据转换为表示向量,解码器基于表示向量生成自我代理的未来轨迹或动作。总体架构如图2所示。

f6812eda56fd290adb08109c4d090d9e.png

BEV编码器

本文考虑了自动驾驶中常用的两种传感器:相机和激光雷达。为了融合它们的信息,首先将原始传感器数据分别转换为鸟瞰图(BEV)特征,然后直接连接BEV特征,因为它们已经在空间中对齐。

对于相机输入-来自多个视图的RGB图像,首先在每个图像上使用图像主干(如ResNet)来获得其紧凑的特征图。为了将2D图像转换到BEV空间,采用LSS:首先预测每个像素的离散深度分布,并将每个像素沿着相机射线散射成离散点,其中每个点的特征是其预测深度和相应像素特征的乘积。对于BEV中的每个网格,我们通过Frustum Pooling聚合网格内这些点的特征。通过这种方式,可以将来自任意数量相机的图像聚合为一个特征图。此外,为了引入时间线索,通过根据相对自车运动将历史图像的先前BEV转换到当前以自车为中心的坐标系来聚合历史图像的之前BEV。因此先前和当前的特征图在空间上对齐,可以简单地将它们连接起来以获得最终的BEV特征。此外,本文发现(i)深度预测模块的GT监督很重要,这与物体检测领域的发现一致。(ii)当分散图像特征时,添加语义分割模块并分散预测的语义得分也是有益的。论文推测它通过过滤掉不相关的纹理信息来提高端到端模型的泛化能力。

对于激光雷达输入-点云,论文使用流行的SECOND,它在体素化点云上应用稀疏3D卷积。它的最终输出也是一个大小为的BEV特征图。为了利用时间信息,类似于目标检测领域中的现有工作,本文将来自多个帧的对齐点云与额外的通道连接起来,以指示时间步长。

当融合两个BEV特征图时,只需将它们连接成一个,并通过一系列2D卷积层进行处理。由于动作是端到端自动驾驶中唯一的直接监督,对于高维多传感器输入来说过于稀疏,因此可以为BEV特征图提供了额外的特征级监督。具体来说,使用Roach的中间BEV特征图作为目标,这是一个具有特权输入的基于RL的教师网络,它以光栅化的BEV周围环境作为特权输入,并通过几个卷积层实现了不错的性能。请注意,这里可以采用任何具有BEV特征表示的可学习专家模型,由于Roach在RL训练中的鲁棒性,本文在这里采用了Roach。通过让学生网络(即ThinkTwice的编码器)的中间BEV特征图与教师网络的相似,每个BEV网格获得关于决策相关信息的密集监督。在实验部分,我们从经验上表明,这种监督是必要的,并且比以前SOTA工作中常用的BEV分割监督信号要好。

解码器

粗预测模块

回想一下,从编码器部分,获得了形状为的BEV特征图HBEV。进而使用2D卷积层对其进行下采样,然后将小特征图展平化为1D向量,其中包含来自相机和激光雷达的关于周围环境的信息。对于包括目标点、高级命令(直行、左转、左转等)和当前速度在内的路由信息,本文使用MLP将其编码为紧凑向量。以和为输入,本文使用另一个MLP来预测自车的未来动作和轨迹,其中0表示它是预测的初始化。请注意,该模块遵循了现有工作中的常见做法:flatten+MLP,它忽略了预测和当前观测之间的时空关联。在接下来的部分中,本文提出了Look模块和Prediction模块,以利用上述先验知识和密集监督来扩展解码器的容量。

Look模块

Look Module背后的直觉是,人类驾驶员在实际前往目标位置之前,会检查他们的目标位置,以确保没有与其他代理发生碰撞,也没有违反交通规则,这在轨迹预测领域被证明是有效的。因此,对于来自最后一层的形状为T×2的预测轨迹,其中T是预测地平线,2表示(x,y),本文基于的坐标检索传感器特征。总体架构如图3所示。

bc7c6f89f3701b8e39224e586fbbaeac.png

对于相机,本文将坐标投影回具有相机的内外参的图像平面。考虑到一个像素上的信息是有限的,并且在投影过程中可能存在误差,论文采用多尺度可变形注意力来聚合信息:

0b18de6ef7f1a2c1afc7d696c489913a.png

对于激光雷达,由于它已经是体素特征的形式,并且坐标可以直接使用,只需在中检索每个坐标的周围体素,并将其压平,然后进行MLP。

到目前为止,本文重用了编码器的表示能力,并将样本特定的空间先验(即预期位置)注入到特征中,这使得模型更容易优化,并可能带来更好的泛化能力。

预测模块

预测模块背后的直觉是,人类驾驶员会预测周围的主体会对他们的行为做出什么反应,并在他们实际执行任何行动之前检查是否会发生碰撞,即行动条件预测。因此,为了对场景的预期动作条件未来进行建模,本文使用了空间GRU,它只是用2D卷积层替换GRU中的线性层。它将当前BEV特征作为其初始状态,并在每个时间步长将预测的粗略动作和来自最后一层的轨迹作为输入。我们将其输出表示为,形状为。

为了为预测提供监督,我们需要知道当自车采取动作时的实际未来场景,这在开环模仿学习过程中很困难。为了解决这个问题,受NLP领域教师强迫技术的启发,在训练过程中,论文向空间GRU提供了一组额外的输入:具有GT动作和轨迹和的当前BEV特征。可以通过收集的未来场景来监督这个隐藏的特征。其总体结构如图4所示。

5e3ec03a4a2370d929e04087d1b7e0ad.png
细化模块

通过look特征和预测特征,细化模块利用它们通过以下方式调整最后一层的预测动作和轨迹:

4204109d6f9e6919b5fccd7d78c60428.png 6736b7644d07b5ef38c4c618f3616b62.png d29677abca96912d1f8feddee0509a61.png

至此完成了一轮细化。与通用视觉领域中基于DETR的方法类似,所提出的解码器模块可以级联堆叠,并且观察到多层的显著性能增益。

监督信号

在端到端自动驾驶中,由于直接监督-动作或轨迹与多模态多视图输入相比相当稀疏,为了避免过度拟合并提高泛化能力,应用多个辅助监督是SOTA工作中的常见做法。在ThinkTwice中,作者对编码器和解码器进行了密集监督,总结如下:

图像深度和分割:与激光雷达相比,图像包含更多的语义,但有很多丰富性。并且由于2D图像和3D世界之间的差异,其更难应用于自动驾驶。为了解决这一问题,本文应用深度监督来进行更准确的BEV投影,并将语义特征图和像素特征图一起投影到BEV,以便减轻纹理的影响。

特征蒸馏:现有工作表明,有了特权输入(GT代理位置、车道、红绿灯状态等),基于学习的教师网络可以获得不错的性能。与BEV分割(一种辅助任务)相比,提取教师网络的中间特征图提供了更直接的监督,并且与主要任务驱动更相关。在这里,论文对当前的BEV和预测的未来BEV进行提取(教师强制)。

辅助任务:使用Henv来预测自车的当前速度,这有助于缓解惯性问题。使用Henv和Hmst来估计由Roach(一个RL教师网络)监督的当前状态的值函数。同样,对于教师强制生成的未来场景表示,我们也预测了它们的速度和值。

直接监督:由于需要坐标来检索传感器特征和动作,以预测受条件影响的未来,论文的模型在每一层都以粗略到精细的方式输出自车的未来动作和轨迹。

为此,编码器接收来自深度、分割和特征提取的密集监督,而解码器接收来自预测模块中的多层直接监督和未来特征图监督的密集监督。

实验

基准

本文使用CARLA[23]作为模拟器进行闭环自动驾驶评估。在Town05 Long和Longest6这两个广泛使用的基准上进行了实验。每个基准包含多条路线,每条路线由一系列稀疏导航点和高级命令(直行、左转/右转、变道和跟道)定义。闭环驾驶任务要求自主代理向目的地点行驶。它旨在模拟现实的交通状况,包括不同的具有挑战性的场景,如避障、穿越无信号交叉口和突然失控。

数据收集

ThinkTwice是一个模仿学习框架,需要专家收集驾驶日志:一系列车辆状态和传感器数据。在这里使用了4个摄像头(前、左、右、后)、一个激光雷达、IMU、GPS和速度计。采用Roach,一种基于RL的网络,作为专家,因为它可以提供强大的监督。在town01、town03、town04和town06上以2 Hz的频率收集数据。总共收集了189K帧,用于进行大多数实验和消融研究。为了匹配数据集的大小和同时进行工作的城镇数量(3M,8个城镇,2Hz)和(2.9M,4个城镇,25Hz),还收集了一个2M 3的数据集,其中包含所有8个城镇。只使用它来与它们进行比较,并用*表示此设置。

与SOTA对比

论文在闭环评估的两个竞争基准中与最先进的工作进行了比较。结果如表1和表2所示。可以观察到,本文的模型在两个基准上都大大优于之前的SOTA。具体而言,如表1所示,在Town5Long中,ThinkTwice在两种协议下都实现了最佳DS,而Roach和MILE可以运行很长时间(最高RC),但碰撞或违反交通规则的次数要多得多。另一方面,Transfuser运行最安全(最高IS),但过于谨慎,无法完成路线。至于Transfuser提出的表2中所示的Longest6基准,他们可以获得非常高的路线完成分数,但本文的方法实现了最好的DS和is,这表明驾驶过程要安全得多。

63cc28b09e4e059de43a6270ca04c6b0.png 3075e73e6d8b0914a317e6b25bedd34e.png

组件分析

各组件实验如表3、表4所示

c487572606217316eeb3ff6ad440fb9d.png

关于扩大模型容量的讨论

增大编码器:一个自然的想法是增大编码器的大小,它工作得很好,在自然语言处理和计算机视觉领域都表现出强大的可扩展性。然而,它不适用于端到端自治模型,这已经在社区中观察到了。在早期的探索实验中,使用TCP进行了实验,这是一种最新的具有单个图像输入的SOTA方法,它使用单个ResNet-34作为编码器。它提供了一个单一的可变环境来观察放大编码器大小的效果。结果见表5。可以发现,将原始TCP从ResNet-34扩展到ResNet-101会导致性能显著下降。因此本文推测,简单地放大编码器不起作用的原因是,在端到端自动驾驶中,编码器只负责处理多传感器输入,而解码器负责找出决策相关信息。大型编码器可以带来更好的场景表示功能,但对决策过程没有太大贡献。事实上,这是ThinkTwice的主要动机:以适当的方式扩大解码器的容量。

70ab95c643257ee4b482569a9dd8a224.png

扩大MLP/GRU:除了扩大编码器大小和所提出的堆叠解码器外,增加模型容量的另一个选择是增加经典MLP/GRU解码器的宽度/深度。在这里,本文以Model4作为基线,其中包括所提出的编码器和TCP头,并以上述三种方式放大了模型。结果见表6。可以观察到,简单地增加编码器或解码器的深度/宽度不会带来性能增益。相反,ThinkTwice通过密集的监督和时空知识,以粗略到精细的方式扩大了解码器的容量,这为模型注入了强大的先验,从而带来了更好的性能。

3f42fcd1c66d3226a3d4ddebc074692e.png

结论

本文提出了ThinkTwice,这是一种端到端的自动驾驶模式,强调扩大解码器的容量。论文提出了一种具有密集监督和时空先验的可扩展解码器层。通过堆叠所提出的解码器层,并在两个具有竞争力的闭环自动驾驶基准上实现了最先进的性能。

参考

[1]. Think Twice before Driving: Towards Scalable Decoders for End-to-End Autonomous Driving

(一)视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

b4f6af73a61987453508ce1f9cf7f04c.png

(扫码学习最新视频)

视频官网:www.zdjszx.com

(二)国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

1c16eedb78a18f0e049e2ec68efa4431.jpeg

(三)自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

57380f86e112dc83921ae4fe27234f1d.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到自动驾驶目标估计和预测方法时,有一些先进的技术被认为是SOTA(State-of-the-Art,最技术)的。以下是一些SOTA自动驾驶目标估计和预测方法的示例: 1. 基于深度学习的方法:深度学习在自动驾驶目标估计和预测领域取得了巨大的成功。通过使用卷积神经网络(CNN)和循环神经网络(RNN)等深度学习模型,可以从传感器数据中提取特征并进行目标检测、跟踪和预测。这些方法通常使用大规模的标注数据进行训练,并具有较高的准确性和鲁棒性。 2. 多传感器融合方法:自动驾驶系统通常使用多种传感器(如相机、激光雷达、雷达等)来获取环境信息。多传感器融合方法将这些传感器的数据进行融合,以提高目标估计和预测的准确性和可靠性。常见的融合方法包括基于卡尔曼滤波或粒子滤波的传感器数据融合。 3. 基于图像语义分割的方法:图像语义分割可以将图像中的每个像素分类为不同的物体类别。这些方法可以用于自动驾驶目标估计和预测中,以提供更精细的目标边界和形状信息。通过结合语义分割和目标检测/跟踪算法,可以实现更准确的目标预测和轨迹规划。 4. 基于概率建模的方法:这些方法使用概率模型来表示目标在未来的位置和轨迹。常见的方法包括高斯混合模型(GMM)和条件随机场(CRF)。这些方法可以通过历史轨迹数据和环境信息来估计目标的未来行为,并进行预测。 5. 端到端学习方法:端到端学习方法直接从传感器数据到车辆控制命令进行学习,省去了传统的模块化设计。这些方法通常使用深度学习模型,如卷积神经网络(CNN)和循环神经网络(RNN),以实现端到端自动驾驶目标估计和预测。 需要注意的是,自动驾驶领域的研究和技术发展迅速,SOTA方法不断涌现。因此,上述列举的方法只是目前为止的一些示例,未来可能会有更多创的方法被提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值