以下文章来源于自动驾驶之心 ,作者南亦

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

ADAS巨卷干货,即可获取

今天自动驾驶之心很荣幸邀请到南亦来分享他们的多模态端到端模型FusionAD,针对预测与规划任务的设计展开了讨论,如果您有相关工作需要分享,请在文末联系我们!


>>点击进入→自动驾驶之心【端到端自动驾驶】技术交流群

论文作者 | 南亦

编辑 | 自动驾驶之心

大家好,很开心受邀来到自动驾驶之心平台分享我们的最新工作FusionAD,我们这项工作的作者来自Udeer.ai、西湖大学和和菜鸟网络!

建立一个具有精确和鲁棒性能的多模态多任务神经网络是自动驾驶感知任务的标准。然而,利用来自多个传感器的此类数据来联合优化预测和规划任务在很大程度上仍未得到探索。我们提出了FusionAD,这是第一个融合来自相机和激光雷达这两个最关键传感器的信息的统一框架(在感知之外)。FusionAD首先构建了一个基于transformer的多模态融合网络,以有效地产生融合特征。与基于相机的端到端方法UniAD相比,我们建立了一个融合辅助的模态感知预测和状态感知规划模块,称为FMSPnP。在常用的基准nuScenes数据集上进行了广泛的实验,FusionAD在检测和跟踪等感知任务上实现了最先进的性能,平均超过基线15%,占用预测准确率超过基线10%,ADE得分预测误差从0.708降低到0.389,碰撞率从0.31%降低到仅0.12%。

背景介绍

在过去的几年里,深度学习一直在加速自动驾驶的发展。AD(Autonomous Driving )算法通常将Camera和激光雷达作为传感输入,并输出控制命令。一般来说,AD任务通常分为感知、预测和planning,在传统范式中,AD中的每个学习模块都单独使用自己的主干,并独立地学习任务。此外,预测和规划任务等下游任务通常依赖于感知结果的矢量化表示,而高级语义信息通常不可用,如图1(顶部)所示!

以前,基于端到端学习的方法通常基于透视相机和激光雷达信息直接输出控制命令或轨迹。最近的端到端学习方法开始将端到端的学习公式化为多任务学习问题,同时输出中间信息和计划的轨迹,这些方法只采用单一输入模式。另一方面,特别是通过与激光雷达和相机信息融合进行感知任务,可以显著改善感知结果!

最近,人们对BEV的兴趣激增,特别是以视觉为中心的感知,如图1(中)所示。这一发展显著提高了自动驾驶汽车的能力,并使视觉和激光雷达模式更加自然地融合在一起。基于BEV融合的方法已经证明了有效性,特别是对于感知任务。然而,在预测和规划任务中,以端到端的方式使用来自多模态传感器的特征仍然未被探索。

本文提出了FusionAD,这是第一个统一的基于BEV多模态、多任务端到端学习框架,专注于自动驾驶的预测和规划任务。首先,我们设计了一个简单而有效的transformer架构,将多模态信息融合到一个transformer中,以在BEV空间中产生统一的特征。由于我们的主要重点是探索融合特征以增强预测和规划任务,因此我们制定了一个融合辅助的模态感知预测和状态感知规划模块,称为FMSPnP,该模块结合了渐进交互和细化,并制定了基于融合的碰撞损失建模。FMSPnP模块利用了图1(底部)所示的分层金字塔公式,确保所有任务都能从中间感知特征中受益。所提出的方法可以更好地传播高级语义信息,并在不同任务之间有效地共享特征。

在自动驾驶基准nuScenes数据集中进行了广泛的实验,结果显示FusionAD显著超过了最先进的方法:轨迹预测的误差降低了37%,占用预测的误差提高了29%,规划的碰撞率降低了14%。

我们的主要贡献概述如下:

  1. 针对自动驾驶的主要任务,我们提出了一种基于BEV融合、多感知、多任务、端到端的学习方法;与基于camera的BEV相比,基于融合的方法大大提高了性能;
  2. 我们提出了FMSPnP模块,该模块结合了用于预测任务的模态自注意和精化,以及用于规划任务的放松碰撞损失和与矢量化自我信息的融合,实验研究验证了FMSPnP改进了预测和规划结果。
  3. 我们在多项任务中进行了广泛的研究,以验证所提出方法的有效性;实验结果表明,FusionAD在预测和计划任务中达到了SOTA的结果,而在中间感知任务中保持了有竞争力的结果!

领域的子任务介绍

1)BEV感知

鸟瞰图(BEV)感知方法在自动驾驶中因感知周围环境而受到关注。基于相机的BEV方法将多视图相机图像特征转换到BEV空间,实现端到端感知,而无需对重叠区域进行后处理。LSS和BEVDet使用基于图像的深度预测来构建截头体并提取图像BEV特征,用于地图分割和3D检测。在此基础上,BEVdet4D和SoloFusion通过将当前帧BEV特征与对齐的历史帧BEV特性相结合来实现时间融合。BEVFormer使用时空注意力和transformer来获得时间融合的图像BEV特征。这些方法提高了对动态环境的理解,并增强了感知结果。

然而,基于相机的感知方法存在距离感知精度不足的问题。激光雷达可以提供准确的位置信息,但其点很少。为了解决这个问题,以前的一些方法已经探索了融合多模态数据进行感知的好处。BEV是基于LiDAR的感知算法中的一个常见视角,将多模态特征转换到BEV空间有助于这些特征的融合。BEV融合将通过LSS方法获得的图像BEV特征与通过Voxelnet获得的LiDAR BEV特征连接起来,以获得融合的BEV特征,这提高了感知性能。SuperFusion进一步提出了基于多模态地图感知的多阶段融合。

2)运动预测

继VectorNet之后,主流的运动预测(或轨迹预测)方法通常利用HD图和基于向量的障碍物表示来预测代理的未来轨迹。在此基础上,LaneGCN和PAGA通过细化地图特征(如车道连接属性)来增强轨迹地图匹配。此外,某些基于锚的方法对地图附近的目标点进行采样,从而能够基于这些点进行轨迹预测。然而,这些方法在很大程度上依赖于预先收集的高清地图,这使得它们不适合地图不可用的地区。

矢量化预测方法往往缺乏高级语义信息,需要高清地图,因此,最近的工作开始使用原始感官信息进行轨迹预测。PnPNet提出了一种新的跟踪模块,该模块通过检测在线生成目标轨迹,并利用轨迹级特征进行运动预测,但总体而言该框架基于CNN,运动预测模块相对简单,只有单模输出。由于transformer被应用于检测和跟踪,VIP3D成功地借鉴了以前的工作,并提出了第一个基于transformer的联合感知预测框架。Uniad进一步整合了更多的下游任务,并提出了一种面向规划的端到端自动驾驶模型。在前人的基础上,我们对运动预测任务进行了更精细化的优化,引入了精细化机制和模式关注,大大提高了预测指标。

3)基于学习的planning

模仿学习(IL)和强化学习(RL)已被用于规划,IL和RL常用于端到端方法(即使用图像和/或激光雷达作为输入)或矢量化方法(即,使用矢量化的感知结果作为输入)。尽管使用中间感知结果进行规划可以提高泛化能力和透明度,但矢量化方法会受到后处理噪声和感知结果变化的影响。早期的端到端方法,如ALVINN和PilotNet,通常直接输出控制命令或轨迹,而缺乏中间结果/任务。相反,P3、MP3、UniAD学习了一个端到端的可学习网络,该网络执行联合感知、预测和规划,可以产生可解释的中间表示并提高最终规划性能。

然而,它们要么只使用激光雷达输入,要么只使用相机输入,这限制了它们的性能。Transuser同时使用激光雷达和相机输入,但不在BEV空间中,并且仅执行少量AD学习任务作为辅助任务。为了解决这个问题,我们提出了一种基于BEV融合的统一多模态多任务框架,该框架吸收了激光雷达和相机的输入。

我们提出的方法

我们提出的FusionAD的整体网络架构如图2所示。首先,使用基于Deformable Attention的融合模块同时实现对相机图像、BEV空间中的激光雷达特征和历史帧BEV特征的融合。之后,融合的 BEV特征通过基于查询的方法用于检测、跟踪和mapping任务。随后,token被转发到运动和占用预测任务以及规划任务,这里将我们的融合辅助模态感知预测和状态感知规划模块简称为FMSPnP!

1)BEV编码器和感知

这个灵感来自FusionFormer,我们提出了一种新的基于Transformer架构的多模态时序融合框架。为了提高效率,采用了一种类似于BEVFormer的递归时序融合技术。与FusionFormer不同,我们使用BEV格式的特征作为激光雷达分支的输入,而不是体素特征。多模态时序融合模块包括6个编码层,如图1所示。首先使用一组可学习的BEV查询分别使用点交叉注意力和图像交叉注意力来融合激光雷达特征和图像特征。然后,我们通过时序自注意将产生的特征与前一帧的历史BEV特征融合,最后,查询在由前馈网络更新后用作下一层的输入。经过6层融合编码后,为后续任务生成最终的多模态时序融合BEV特征。

激光雷达:首先对原始激光雷达点云数据进行体素化,然后通过SECOND网络生成激光雷达BEV特征。

相机:多视图相机图像首先通过backbone网络进行处理以进行特征提取。然后,利用FPN网络生成多尺度图像特征。

我们进一步开发了以下技术,以有效提高聚变模块的性能:

Points Cross-Attention:在点交叉attention过程中,每个BEV查询仅与其相应参考点周围的LiDAR BEV特征交互。这种互动是通过可变形的注意力来实现的:

Image Cross-Attention:为了实现图像交叉关注,我们采用了与BEVFormer类似的方法。每个BEV查询都以类似于Pillar表示的高度维度展开。在每个pillar中沿着其Z轴对固定数量的 3D参考点进行采样,图像交叉关注过程如下所示:

Temporal Self-Attention:我们还利用BEVFormer的insights来实现时态自我注意。具体来说,我们的方法涉及 基于车辆在帧之间的运动的历史帧BEV特征,然后利用时间自注意来融合历史框架BEV特征,如下所示:

由于我们对预测和规划增强感兴趣,对于感知中的检测、跟踪和mapping任务,主要遵循UniAD中的设置。

2)Prediction

得益于信息量更大的BEV特征,预测模块接收到更稳定、更细粒度的信息。为了进一步捕捉多模态分布并提高预测精度,我们引入了模态自注意和精化网络,设计的细节可以在图3中找到!

Context-Informed Mode attention:在UniAD中,使用数据集级别的统计anchors来辅助多模态轨迹学习,并应用anchor间的自我注意来提高anchor质量。然而,由于这些anchor不考虑历史状态和地图信息,它们对多模态学习的贡献是有限的。因此,我们正在考虑稍后添加此操作。在运动查询检索所有场景上下文以捕获agent、agent地图和agent目标点信息后,我们引入模式自关注,以实现各种模式之间的相互可见性,从而获得更好的质量和多样性!

Refinement Network:可变形注意力使用统计anchors 作为参考轨迹来与Bev特征交互。如前所述,由于需要特定的场景信息,这种参考轨迹增加了后续学习的难度。我们引入了一个细化网络,将Motionformer生成的轨迹用作更准确的空间先验,查询场景context,并预测该阶段GT轨迹与先前轨迹之间的偏移,如下所示:

3)planning

在评估过程中,我们无法访问高清(HD)地图或预定义路线。因此,依靠可学习的命令embedding来表示导航信号(包括向左转弯、向右转弯和保持前进),以引导方向。为了获得周围的embedding,我们将由自我查询和命令embedding组成的计划查询输入到鸟瞰图(BEV)特征中。然后,将其与自车的embedding相融合,该embedding由MLP网络处理,以获得状态embedding,然后将该状态embedding解码为未来的航路点τ!

为了确保安全,在训练过程中,除了简单的imitation L2 loss外,我们还将碰撞损失的可微分collision loss纳入,图4中展示了完整的设计。

此外,在推理过程中,为了进一步确保轨迹的安全性和平滑性,我们使用牛顿方法,使用占用预测模式的占用预测结果进行轨迹优化!

4)训练

利用三阶段训练进行多传感器、多任务学习。对于第一阶段,只训练BEV编码器和感知任务;对于第二阶段,固定BEV编码器并训练感知、预测和规划任务;而对于可选的第三阶段,进一步训练占用和规划任务,并修复所有其他组件!

实验对比

1)实验设置

我们在A100 GPU集群上进行了所有实验,使用32个A100 GPU进行实验训练。使用nuScenes数据集,包括在波士顿和新加坡拍摄的1000个驾驶场景。每个场景大约持续20秒,nuScenes提供了一个巨大的140万个3D框的集合,包括23个不同的类别,以2Hz采样。在我们的工作中,我们使用了可用的相机、激光雷达和canbus数据。对于超参数,使用0.075×0.075×0.2m(对于激光雷达点云);图像分辨率为1600×900;BEV尺寸为200×;使用启动学习率为2e−4的AdamW优化器,1000次迭代的warmup,并使用CosineAnnealing scheduling;由于高GPU内存消耗,bs大小为1;

对于感知任务的度量,使用mAP和NDS来评估检测任务,使用AMOTA和AMOTP来评估跟踪任务,IoU来评估mapping任务。为了评估预测和规划任务,使用常用的指标,如端到端预测精度(EPA)、平均位移误差(ADE)、最终位移误差(FDE)和未命中率(MR)来评估运动预测的性能。对于未来占用率预测,我们使用FIERY采用的近(30×30m)和远(100×100m)范围的VPQ和IoU指标。并采用位移误差(DE)和碰撞率(CR)来评估规划性能,其中碰撞率是衡量规划性能的主要指标!

2)实验结果

主要实验结果如表I所示。可以看到,与UniAD基线相比,我们融合相机和激光雷达感知信息的设计显著提高了几乎所有任务的性能。请注意,我们没有包括任何数据增强方法,这些方法通常用于感知任务!

运动预测结果如表II所示,FusionAD显著优于现有方法。对于未来的占用预测,还观察到FusionAD的性能比现有方法要好得多,特别是在(100×100m)范围内的IoU-f和VPQ-f,如表III所示,这表明激光雷达信息的融合有助于更远的距离!

表IV显示了规划结果,表明FusionAD与现有方法相比具有卓越的性能,其平均碰撞率和总碰撞率最低。CRtraj表示整个3秒轨迹之间的碰撞率,而[3]中采用的CRavg表示1、2和3秒时trajecotory的平均碰撞率。此外,FusionAD实现了第二低的L2距离,这作为评估计划轨迹和GT之间相似性的参考度量。需要注意的是,碰撞率是主要指标,而在现实世界中,可能存在多个可行的轨迹,因此L2距离是次要考虑因素。

3)消融实验

与FMSPnP模块相关的消融研究如表五和表六所示。经检查,很明显,细化网络和模式注意力模块对提高预测结果有显著贡献。就规划结果而言,当与过去轨迹和自我状态的矢量化表示融合时,观察到显著的改进。

4)量化结果

FusionAD和UniAD之间的比较定性结果如图5所示。激光雷达传感输入的集成和FusionAD中FMSPnP模块的新颖设计证明了感知和预测性能的增强。例如,图5a显示了UniAD在公交车检测中的一个显著的航向误差,这是由于摄像头的失真,特别是在前摄像头和右前摄像头之间的重叠区域。相比之下,FusionAD可以准确地识别公交车的行驶方向。图5b显示了一个涉及U型转弯的预测场景,FusionAD始终预测U型转弯轨迹,而UniAD则生成向前移动、左转和U型转弯模式。请在我们的项目页面,https://github.com/westlake-autolab/FusionAD,了解更多详细信息。

5)一些讨论

虽然所提出的方法表现出强大的定量和定性性能,但它仍然依赖于基于规则的系统来对输出进行后处理,以实现可靠的真实世界性能。此外,当前的研究工作主要使用规划任务的开环结果来评估学习的规划器,这可能无法有效地衡量其性能。用真实世界的感知数据以闭环方式评估规划者带来了挑战。尽管如此,端到端框架下的预测结果仍然很有希望,并且有可能在该框架内进一步改进规划模块。

参考

[1] FusionAD: Multi-modality Fusion for Prediction and Planning Tasks of Autonomous Driving.

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码学习)

视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

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

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

④【自动驾驶之心】平台矩阵,欢迎联系我们!