本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面&出发点
为了应对传感器融合和安全风险预测的挑战,当前利用模仿学习的闭环自动驾驶神经网络通常需要大量的参数和计算资源来运行。鉴于车载计算机有限的计算能力,这里引入了一种紧凑而强大的解决方案,名为EfficientFuser。该方法采用EfficientViT进行视觉信息提取,并通过交叉注意力整合特征图。随后,它利用仅含解码器的transformer将多个特征进行融合。为了进行预测,将可学习向量作为标记embedding,以通过注意力机制探索任务与传感器特征之间的关联。在CARLA仿真平台上进行评估,EfficientFuser表现出色,与最先进的轻量级方法相比,仅使用了37.6%的参数和8.7%的计算量,同时驾驶评分仅低0.4%,安全评分接近领先的增强安全性的方法,展示了其在自动驾驶系统中的有效性和实际应用潜力。
当前领域背景
深度神经网络的成功为基于数据驱动学习的自动驾驶(AD)方法铺平了道路,这些方法利用大规模数据和计算。这使得端到端自动驾驶(E2E AD)系统成为现实。E2E AD被定义为完全可微的程序,直接将原始传感器数据映射到计划动作或低级控制命令,从而消除了对中间模块的需求。这不仅简化了开发,而且有可能提高性能。E2E AD主要在两个主要方向上发展:强化学习(RL)和模仿学习(IL)。虽然RL能够增强对数据分布变化的鲁棒性,但最近驾驶场景生成的进步,加上BEV数据的日益可用性,使得IL变得越来越有吸引力。
早期的基于模仿学习(IL)的端到端自动驾驶(E2E AD)利用卷积神经网络(CNNs)提取图像特征并直接模仿控制动作。然而,由于数据可用性和计算能力的限制,这些早期系统难以获得良好的性能。随后,大多数研究转向了预测轨迹(即waypoints)。LBC利用策略提炼,其中使用鸟瞰图(BEV)语义地图训练的教师模型预测未来的waypoints。而学生模型仅使用图像数据,从教师的预测中学习。TransFuser使用两个CNNs分别提取图像和激光雷达(LiDAR)信息,然后利用转换器在每个下采样步骤中融合这些信息。类似地,InterFuser使用CNNs提取传感器特征,但利用编码器-解码器结构额外融合了交通规则和车辆密度信息,旨在实现安全的驾驶策略。TCP结合了两种预测目标,将控制动作和一段时间内的waypoints引入训练,并使用了一种混合轨迹跟踪器和行为预测结果的控制方法。
尽管端到端方法具有潜力,但它们面临着一个关键障碍:深度神经网络(DNN)庞大的计算需求与自动驾驶(AD)对实时、低延迟操作的需求之间存在不匹配。当前的车载硬件难以处理DNN的复杂架构和大量参数,从而限制了端到端系统在现实世界中的可行性。最近,越来越多的研究开始关注轻量级神经网络(NN)的设计。MobileNet利用深度可分离卷积来提高计算效率,同时不损失准确性。MCUNet则进一步推动了小型化的极限,将网络适配到仅有256KB内存的嵌入式平台上,极大地扩展了在资源受限环境中的部署可能性。尽管在轻量级NN设计方面取得了进展,但专门为端到端自动驾驶系统量身定制的此类网络仍然稀缺。
为了克服端到端自动驾驶(E2E AD)的计算障碍,这里引入了EfficientFuser,这是一个强大且硬件友好的模型,它使用EfficientViT从多视角进行特征提取,并采用仅解码器的转换器结合任务引导嵌入进行预测。交叉注意力机制无缝地在不同尺度上整合了多视角信息。值得注意的是,EfficientFuser在保持强大功能和效率的同时,所需的参数和计算量更少,非常适合于实际应用。主要贡献如下:
- EfficientFuser通过交叉注意力机制融合多个camera视角,提供了对环境更丰富的理解,同时计算负担不大。
- 使用仅解码器的转换器进行预测过程,通过学习到的向量作为嵌入令牌,解码器通过注意力机制找到任务与传感器特征之间的联系。
- 预测的waypoints和控制输入被动态混合,提供了对不同驾驶场景的灵活适应性和潜在的安全行为。
EfficientFuser结构
如图1所示,该架构包含三个组件:(1) 交叉注意力特征融合。(2) 仅解码器的transformer用于预测。(3) 动态混合行为预测结果和waypoints跟踪器actions。
EfficientFuser的决策过程基于一个广泛的输入状态x,它融合了多个数据源:传感器信号i,通过车辆相机捕捉实时环境状况;车辆速度v,表示当前速度;以及高级导航信息g,包括来自全局规划器的离散导航指令和目标坐标。为了调节车辆的速度和方向,系统生成油门∈[0, 1]、刹车∈[0, 1]和转向∈[-1, 1]的输出,分别控制加速、减速和转向。
模仿学习(IL)的目标是学习一个策略π,该策略能够模仿专家π* 的行为。TCP认为轨迹和控制动作都包含重要的驾驶信息,因此两者都应作为模仿目标。EfficientFuser遵循TCP的设置。不同之处在于,TCP首先预测轨迹,然后利用轨迹来指导控制动作的预测,而EfficientFuser则在解码器中通过注意力机制完全交换这两者之间的信息,并同时进行预测。模仿目标可以表述为:
其中,$D ∼ (x, [π^_t, π^_c]) $是一个数据集,包含从专家那里收集的状态-动作对。πc 表示控制分支的策略,πt 表示轨迹预测。L 是衡量专家动作与模型动作之间接近程度的损失。
Roach 被用作专家,它是一个相对简单的模型,通过强化学习(RL)训练得到,并可以访问特权信息。这些信息涵盖了驾驶环境的各个方面,如道路、车道、路线、车辆、行人、交通信号灯和停车标志,所有这些都被渲染成2D鸟瞰图(BEV)图像。与基于手工规则的专家相比,Roach可以为控制动作预测提供潜在特征作为中间监督,使训练更加稳定。
1)结构设计
该结构结合了视觉transformer(ViT)和大语言模型(LLM)中的仅解码器transformer。
2)Image Backbone
EfficientViT 被用作视觉主干网络。它首先将输入图像分割成更小的块(例如,16x16 像素)。然后,将这些block展平并视为一系列标记(token),类似于句子中的单词。随后,transformer的自注意力机制对这些图像块token进行操作,这使得 ViT 能够学习图像不同区域之间的复杂关系。虽然标准的 ViT 往往需要大量的计算资源,但采用级联group注意力(Cascaded Group Attention)的 EfficientViT 能够保持高效。这种方法允许更快的处理速度和更低的内存使用量。与基于卷积神经网络(CNN)的融合方法 Transfuser 不同,后者在每个下采样之后都依赖于多个transformer层进行融合,ViT 可以直接与小图像block一起工作。对于 Transfuser 来说,在transformer阶段之前,CNN 仍然需要进行特征池化以减少计算负担,之后可能还需要进行插值以恢复分辨率。这种插值可能会损害原始特征图的完整性。
为了保留原始图像特征,采用了一种利用两个图像主干网络之间交叉注意力的方法,这能够实现两个视角之间的知识交换,引导它们关注特定区域的相关特征,如图2所示。
3) Decoder Transformer
在序列处理领域,Transformer通常依赖于编码器-解码器结构。编码器首先处理输入序列(图像块)并提取关键信息,最终生成一个context 向量,该向量捕获了整个输入的本质。然后,解码器接手,利用context 向量和来自其他信息(如速度、命令、占用图等)的查询来逐个生成输出序列的元素。这就是InterFuser的工作原理。
受流行的大型语言模型(如GPT[18])的启发,我们采用仅解码器的转换器架构来对所有输入数据进行统一学习。研究表明,这种仅解码器的框架不仅提供了增强的泛化能力,还具有更简洁的结构、更高的操作效率和更好的可扩展性。
与典型的基于transformer的架构(该架构交互标记特征然后将其送入预测头)不同,我们的方法引入了一个独特的预测嵌入向量。该向量使用从高斯分布中抽取的随机值进行初始化,并在整个训练过程中学习预测任务的特征表示。这种技术不仅提高了解码器组件的可扩展性,还利用注意力机制在早期阶段识别标记之间的有利关系。示意图如图3所示。
4) Dynamic control
与TCP(传输控制协议)不同,TCP优先考虑模型预测的控制量,而忽略了waypoints跟踪器的控制量,而本文认为,底层控制器的偏好应根据驾驶场景动态调整。
为了实现这一目标,开发了一个损失估计器,它利用waypoints头部中的GRU(门控循环单元)的隐藏特征和控制头部的中间特征作为输入,从而对两者的训练损失进行建模。该过程的结果被用作预测置信度的度量,进而用于调整最终控制序列的偏好。更具体地说,可以表述如下:
实验结果
评估指标。使用四个指标来评估方法的有效性:驾驶分数(DS)、路线完成率(RC)、参数数量(Param)和浮点运算次数(Flops)。其中,DS和RC用于表示驾驶效果,Param和Flops用于表示神经网络的效率。
驾驶分数(DS)是Carla排行榜的主要指标,它是路线完成率和违规罚分的乘积。RC表示智能体完成的路线距离百分比。Param指的是需要保存的参数总数,它代表神经网络的大小,并通常决定了运行神经网络所需的存储空间量。Flops是衡量通过网络执行一次前向传播(推理)所需的计算成本的指标。
数据集。使用CARLA模拟器进行训练和测试,具体是CARLA 0.9.10版本。在7个城镇上进行训练,在Town05上进行评估。选择Town05进行评估是因为与其他CARLA城镇相比,其可驾驶区域具有较大的多样性,例如多车道和单车道道路、高速公路和出口、桥梁和地道。为了进一步提高驾驶安全性的评估,将涉及行人突然出现和车辆异常行为的场景集成到模拟环境中。考虑两种评估设置:(1) Town05 Short:32条100-500米的短路线,每条路线包含3个路口;(2) Town05 Long:10条1000-2000米的长路线,每条路线包含10个路口。天气条件为晴朗中午。
训练。使用EfficientViT-m1和m0作为视觉主干,并加载ImageNet预训练权重。其他部分使用高斯随机数进行初始化。EfficientFuser以0.0005的学习率训练60个周期,然后以0.0001的学习率再训练60个周期。bs大小为256。使用Adam优化器,权重衰减为1e-7。每30个周期将学习率减半。设置了四个损失部分,即速度损失Ls、特征损失Lf、航点损失Lw和控制损失Lc。Lf和Ls是中间监督,用于指导训练,这与TCP类似。
结果对比
表1展示了在公开的Carla排行榜框架内,EfficientFuser与其他显著研究的比较分析。EfficientFuser的性能以两个不同版本进行阐述。初始版本结合了前视图和焦点视图(即增强的正面视角)的输入,图像分辨率为256x256。“更宽视野”迭代保持相同的相机方向,但将图像宽度扩展到768像素,从而捕捉更广泛的信息。
EfficientFuser显著减小了基于模仿学习的闭环自动驾驶模型的大小,达到了前所未有的水平。与最先进的轻量级方法TCP相比,EfficientFuser的模型大小仅为TCP的37.6%,计算需求仅为TCP的8.5%。尽管EfficientFuser的神经网络(NN)大小显著减小,但在Town05 Short场景中,其驾驶分数(DS)仅下降了0.4%。与在相似参数和计算负载下的CIL相比,EfficientFuser表现出色,在DS上获得了显著的73分优势。
作为一种前沿的易于实现的闭环自动驾驶解决方案,InterFuser在路线完成率(RC)上与EfficientFuser相似,但驾驶分数(DS)提高了6.3分。然而,这一提升是以参数数量增加8.4倍和计算需求增加31.6倍为代价的。基于检测结果,这些模型通常采取谨慎的方法,建议在车辆长时间静止且路径上没有任何障碍物时缓慢行驶。凭借其增强的安全驾驶策略,InterFuser甚至会识别到远处下一个无法到达的路口红灯并停下来——这种行为不符合典型的人类驾驶模式,而EfficientFuser则不会出现这种情况。
为了突出EfficientFuser的安全性能,我们在Town05 Short上报告了各种方法因违规而受到的处罚。EfficientFuser在安全性方面显著超过了TCP和Transfuser设定的基准,并且仅略逊于以安全为核心的InterFuser。
EfficientFuser采用了一种新颖的方法,通过引入一个可学习的嵌入向量来进行预测。这种方法与传统做法不同,后者通常直接将传感器标记信息输入到预测头中。通过采用这种设计,EfficientFuser开始在早期阶段探索预测目标与输入数据之间的相关性,从而生成特定于任务的表示。为了说明这种方法的影响,我们可视化了两个代表性的注意力图。红线将来自不同信息源的标记分隔开。以横坐标为例,从左到右分别是预测标记、测量标记、侧视图标记和主视图标记。
消融实验
为了全面调查系统架构并评估提出方法的有效性,进行了一系列消融研究。首先,评估了使用不同大小的图像主干的影响以及跨注意力融合器带来的性能提升。随后,我们探索了改变解码器层深度和实现可学习向量嵌入的影响。最后,动态控制调整与TCP中采用的静态分配方法进行了比较。这些实验的结果均在Town05 Short上收集,为分析每个组件对整体性能的贡献提供了全面的视角。
跨注意力融合是一种高效的方法,在EfficientFuser中仅增加了5.7%的额外参数和7.2%的计算量。尽管其计算需求很小,但跨注意力在EfficientFuser中发挥着关键作用。缺少这种多级图像信息交互会显著影响系统的有效性,导致驾驶分数大幅降低14.9分。这凸显了跨注意力在促进有效特征融合和提高模型做出明智决策能力方面的重要性。
直观上,人们可能会认为更大的图像主干由于其增强的特征提取能力会产生更好的结果。然而,如表2所示,主干大小的增加实际上降低了模型的性能。这种反直觉的结果可能归因于训练任务的复杂性,这阻碍了更大主干充分训练潜力的发挥。
在评估解码器层时,建立了两组比较分析。第一组研究了解码器层深度变化的影响。随后考察了我们提出的将可学习向量作为预测标记的方法。为了比较,进行了另一项实验,其中没有使用可学习向量并将其集成到标记维度中,而是对传感器特征进行了平均处理,并将其发送到预测头以观察对预测的影响。这些调查的结果列于表3中。
尽管引入了一些轻微的计算开销,但EfficientFuser所使用的可学习向量方法显著提高了驾驶性能。关于解码器层的深度,很明显增加深度并不一定会提高性能。虽然车辆的响应能力(RC)可能会增加,但驾驶得分(DS)却大幅下降,这表明车辆开始忽视与安全相关的信息。这一现象在视觉注意力图中也可以观察到;从第七层开始,焦点从预测标记转移到加强某些测量标记信息的方向上。
EfficientFuser采用了TCP使用的混合控制,并结合了动态分配策略。为了验证动态调整方法的有效性,我们进行了关于TCP设置和动态设置的实验。表4中的结果证实了动态分配组件的有效性,提高了驾驶得分(DS)和响应能力(RC)。