两种端到端的自动驾驶系统算法架构

2024-03-18  

自动驾驶中的AI大模型如今已越来越火,其设计实际上主要集中在数据生成和场景分析表述两部分,最终目标是想针对自动驾驶的原始感知直接生成车端控制指令。为了要实现这一目的,业界已经做了很多尝试和努力,先探索可行性,最后再重点解决自动驾驶的长尾分布问题和场景识别。


自动驾驶控制器设计通常有两种范式:局部感知方法和端到端学习方法。感知方法依赖于识别人类指定的特征,例如车辆、车道标记等,需要严格的参数调整才能达到满意的性能。相比之下,端到端方法直接将来自传感器的原始数据作为输入来生成规划路线或控制信号。


将此类自动控制系统部署到实际车辆中的关键挑战之一是自动驾驶汽车决策控制策略往往过于复杂,且难以让普通驾驶员理解,因为对于普通乘客来说,此类车辆的安全性及其可控性是重中之重。

本文将重点集中典型的应用在自动驾驶中的两种GPT算法,且就这些算法在实际应用中的优缺点进行详细分析。

ADAPT:通过标注可解释性动作的端到端Transformer预测架构

理想的自动驾驶系统解决方案是包含自然语言叙述指导自主控制模块的整个规划决策执行过程,且这种决策过程必须是易于驾驶员理解。此外,对每个控制/动作决策的附加推理解释可以帮助用户了解车辆和周围环境的当前状态,作为自动驾驶车辆所采取动作的支持证据。其实这就是一种通过对智能汽车行为生成可解释性的推理来完成对应的驾驶控制决策。通过自然语言描述和推理来解释智能汽车的控制行为,可以使得整个自动驾驶系统更加透明,更容易理解。

例如,[动作叙述:]汽车停在路的右侧,[推理:]因为汽车正在停车”,如图1所示。

0f55a228-b59e-11ee-8b88-92fbcf53809c.png

图1. 自动驾驶车辆的不同解释方法,包括注意力图、成本量和自然语言

尽管注意力图或成本量很有效,但基于语言的解释对普通乘客来说更加用户友好。为此,本文首先介绍一个基于驾驶行为的Transformer预测架构,为乘客提供用户友好的自然语言叙述和自动驾驶车辆的推理。为了消除预测任务和车辆控制信号之间的差异,算法通过共享视频表示联合训练驾驶字幕任务和车辆控制预测任务。通过合并文本生成头,可以将这种多任务框架构建在各种端到端自动驾驶系统上。

1、对于视频字幕标注的研究

本文提到的相关算法是利用视频字幕所表示的自然语言来描述视频的车辆目标决策控制,实际上,早期已有相应的研究来进行车辆动作决策。

首先,通过在固定模板中填充识别的元素来生成具有特定句法结构的句子,这些模板不灵活且缺乏丰富性。后面也有利用序列学习方法来生成具有灵活句法结构的自然句子。具体来说,这些方法采用视频编码器来提取帧特征,并使用语言解码器来学习用于字幕生成的视觉文本对齐。为了利用细粒度的对象和动作来丰富字幕,利用对象级表示来捕获视频中详细对象感知交互特征,进一步开发了一种新颖的双分支卷积编码器来共同学习视频的内容和语义信息。此外,将单模态变换器应用于视频字幕,并采用稀疏边界感知池来减少视频帧中的冗余,场景理解的发展也对字幕任务做出了很大贡献。最近,提出了一种基于端到端Transformer的模型 SWINBERT,它利用稀疏注意力掩模来减少连续视频帧中的冗余和不相关信息。虽然现有的架构在一般视频字幕方面取得了有希望的结果,但它不能直接应用于动作表示,因为简单地将视频字幕转移到自动驾驶动作表示会错过一些关键信息,例如车辆速度,这在自动驾驶系统中至关重要。本文介绍的算法则是有效地利用这些多模态信息来生成驾驶决策动作。

2、智能驾驶决策的可解释性

基于学习的自动驾驶是一个活跃的研究领域。采用了一些基于学习的驾驶方法,例如可供性和强化学习,取得了不错的性能,模仿方法也被用来回归人类演示的控制命令。例如,对车辆等驾驶主体的未来行为进行建模,骑行者或行人来预测车辆路径点,而直接根据传感器输入预测车辆控制信号,这与控制信号预测子任务是类似的。

提供全面解释的能力在自动驾驶中发挥着重要作用,自动驾驶汽车的大多数可解释方法是基于视觉或基于LiDAR的。这种算法主要是利用“注意力图”的可视化来过滤掉不显著的图像区域,以使自动驾驶车辆动作合理且可解释。

然而,注意力图可能很容易包含一些不太重要的区域,从而引起乘客的误解。从车载摄像头构造BEV(鸟瞰图),以可视化车辆的运动信息和环境状态。以激光雷达和高清地图作为输入来预测驾驶代理的边界框,并利用代价函数来解释规划决策数值。此外,根据分割以及驾驶代理的状态构建在线地图,从而可以很好的避免对高清地图的严重依赖。

ADAPT方法论

实际上,利用上游传感器的探测直接进行字幕赋值对于车端驾驶员来说可解释性并不太明显。因为,对于自动驾驶算法来说,是需要利用感知数据进行车端决策控制的。本文介绍的算法是通过探索自动驾驶车辆控制决策的文本解释性,从控制信号预测任务中离线提取视频特征,然后完成视频字幕构建。

ADAPT架构如下图 2 所示,它解决两个任务:驾驶字幕生成(DCG)和控制信号预测(CSP)。DCG 将一系列原始视频帧作为输入,并输出两个自然语言句子:一个描述车辆的动作(例如,“汽车正在加速”),另一个解释采取此动作的原因(例如,“因为交通灯变绿”)。而CSP 将相同的视频帧作为输入,并输出一系列控制信号,例如速度、航向或加速度。

一般来说,DCG和CSP任务共享相同的视频编码器,同时采用不同的预测头来产生最终的预测结果。对于DCG任务,我们采用视觉语言转换器编码器通过序列到序列生成来生成两个自然语言句子。对于CSP任务,使用运动信息编码器通过变换来预测控制信号序列。

0f73881a-b59e-11ee-8b88-92fbcf53809c.png

图 2. ADAPT 框架

如上图所示,(a)输入是车辆前视视频,(b)(c)分别显示预测头。输出是预测的车辆控制信号以及当前动作的叙述和推理。算法首先从视频中密集且均匀地采样T帧,将其发送到可学习的视频swin转换器并标记为视频,不同的预测头生成最终的运动结果和文本结果。

1、视频编码器

遵循 Swinbert算法采用Video Swin Transformer (video swin)作为视觉编码器,将视频帧编码为视频特征标记。给定从第一视角捕获的汽车视频,首先进行均匀采样以获得大小为 H×W×3的T帧。这些帧作为视频 swin 的输入传递,从而得到大小为 T 的特征 FV :0f866ca0-b59e-11ee-8b88-92fbcf53809c.png其中C是视频swin中定义的通道尺寸。然后,视频特征被输入到Transformer不同的预测头中以执行各个任务。

2、预测头

文本生成头的目的是生成两个句子,描述车辆的动作及其背后的原因。如上所述,视频帧被编码为尺寸大小为0f866ca0-b59e-11ee-8b88-92fbcf53809c.png的特征,然后沿着通道维度对视频特征进行标记。对于文本输入(动作叙述和推理),首先对每个句子进行标记并将其填充到固定长度。

然后将这两个句子连接起来并进行嵌入。为了识别动作叙述和推理之间的区别,这里利用分段嵌入方法来区分它们。过程中,使用可学习的 MLP 来转换视频标记的维度,以确保视频标记和文本标记之间的维度一致性。

最后,文本标记和视频标记被输入视觉语言转换器编码器,它将生成一个包含动作叙述和推理的新序列。

控制信号预测头 CSP头的目标是根据视频帧预测车辆的控制信号(例如加速度)。给定 T 帧的视频特征,以及相应的控制信号记录 S = {s1, s2, 。。, sT },CSP头的输出是控制信号序列 ˆS = {sˆ2, 。。., sˆT }。每个控制信号 si 或 s^i 都是一个 n 元组,其中 n 指的是可利用的传感器类型。首先对视频特征进行标记S,然后利用另一个motion transformer来生成这些控制信号的预测ˆS。通过损失函数 LCSP 定义为 S 和 ˆS 的均方误差来找到两者之间的差异:

0f8e56d6-b59e-11ee-8b88-92fbcf53809c.png

请注意,算法不预测与第一帧相对应的控制信号,因为第一帧的动态信息是有限的,而其他信号可以很容易地从先前帧推断出来。

3、联合训练

在本算法框架中,假设 CSP 和 DCG 任务在视频表示的语义层面上是一致的。直观上,动作叙述和控制信号数据是自动驾驶车辆动作的不同表达形式,而推理解释则集中于影响车辆动作的环境要素。在单个网络中联合训练这些任务可以通过利用不同任务之间的归纳偏差来提高性能。通过对CSP和DCG进行联合训练,然后,简单地将 LCSP 和 LDCG 相加即可得到最终的损失函数:0f963cd4-b59e-11ee-8b88-92fbcf53809c.png

尽管两个任务是联合训练的,但每个任务的推理可以独立进行。对于 DCG 任务,ADAPT 将视频序列作为输入,输出包含两段的驾驶字幕,文本生成以自回归方式执行。具体来说,模型从“[CLS]”令牌开始,一次生成一个单词令牌,将之前生成的令牌用作视觉语言转换器编码器的输入。

该过程持续进行,直到模型输出结束标记“[SEP]”或达到单个句子的最大长度阈值。将第一个句子填充到最大长度后,将另一个“[CLS]”连接到输入并重复上述过程。

0f9ee7ee-b59e-11ee-8b88-92fbcf53809c.png

图3.定性分析:生成的叙述正确地描述了当前的动作,推理合理

基于语言的可解释性对于社会接受自动驾驶车辆至关重要。ADAPT这种动作感知驾驶字幕Transformer架构是利用多任务联合训练来减少驾驶动作字幕任务和控制信号预测任务之间的差异。这是一种基于端到端Transformer的新框架,用于为自动驾驶车辆生成动作叙述和推理。

BEVGPT:用于自动驾驶预测、决策和规划的生成式预训练大模型

传统自动驾驶算法架构是通过一种广泛接受的解决方案,将将感知、预测、规划、决策这些任务划分为不同的模块,并为每个模块开发特定于任务的模型。鸟瞰 (BEV) 视角对于自动驾驶系统具有巨大潜力,BEV 可以准确表示邻近交通状况,以实现以视觉为中心的感知。然而,现有的 BEV 生成方法需要复杂的输入表示。此外,这些方法缺乏长期建模的能力,使得它们对未来纯电动汽车的预测不可靠。

因此,这里介绍一种新的集成驾驶场景预测、决策和运动规划的生成式自监督pre-trained预训练模型。该模型以鸟瞰(BEV)图像作为唯一输入源,并根据周围的交通场景做出驾驶决策。最后通过优化运动规划方法实现驾驶轨迹的可行性和平滑性。

在该方案中,首先根据环境信息预测周围交通主体的未来轨迹。然后,预测的代理运动以及地图分割用于制定驾驶决策来规划自动驾驶车辆的未来轨迹。然而,采用这种模块化方法,系统很容易受到不同模块之间累积误差的影响。另一种范式是多任务学习,具有共享的特征提取主干,但具有单独的任务头。尽管这种方法降低了模型大小和复杂性,并实现了更快的计算速度和更少的计算开销,但它可能会受到负向迁移的影响,因为与不相关的任务共享信息实际上可能会损害模型性能。基于如上分析,我们可以认为:自动驾驶的各个模块应该集成到一个综合框架中。

这种将自动驾驶预测、决策和运动规划集成在单个生成预训练生成式预训练大型模型 (GPT,Generative Pretrained Transformer) 中算法,我们称之为BEVGPT。

0fb497d8-b59e-11ee-8b88-92fbcf53809c.png

如图所示,介绍的算法采用两阶段训练过程。首先,使用大量自动驾驶数据来训练生成式大模型。随后,使用真实模拟器通过在线学习对模型进行微调。具体来说,预训练阶段的目标是学习驾驶场景预测和决策,即自动驾驶任务中的 BEV 生成和自我预测。该模型容量大,可在4秒内决定未来轨迹,并在长达6秒内预测未来驾驶场景。

接下来是在线微调阶段,通过将经过训练的生成式预测模型调整为运动动力学运动规划和准确的BEV预测。在微调阶段,运动规划器被设计为自动驾驶车辆生成平滑且可行的轨迹。此外,还开发了体验光栅器来帮助模型处理驾驶场景的静态信息,例如车道和交叉路口。

在本节中,我们详细介绍了方法框架、差分平坦车辆模型、分段多项式轨迹表示和最小加加速度运动规划。

1、框架设计

该算法研究的前提是驾驶员会更加关心其驾驶车辆的预测轨迹,比如,自车轨迹上的位置将来是否会被其他车辆占据,而对周边环境车辆的预测轨迹却并未有那么多关注。

首次,人类驾驶员通常预先了解环境地图。例如,使用导航地图对每条道路的结构和每个交叉路口的位置都一目了然。基于此,驾驶员会做出相应正确的驾驶决策。

基于以上考虑,则可以保留了构成极简自动驾驶的必备模块系统,即决策、运动规划和驾驶场景预测,同时从经典自动驾驶框架中删除了对象跟踪和代理运动预测模块。

在主体框架中,决策输出是自车在 T = 4s 范围内的未来位置,由运动规划器进一步处理以生成运动动力学且平滑的轨迹。考虑到静态环境信息可以很容易地从高清地图中获取,我们更加关注对车辆和行人等动态物体的精确预测。驾驶场景预测是通过环境地图和动态预测相结合得到的,如图2所示。

0fcfcf94-b59e-11ee-8b88-92fbcf53809c.png

该算法采用分段多项式轨迹来表示我们的差分平坦输出,即 px 和 py。为了最小化后续运动规划模块中参数抖动,通常选择五次多项式表示。假设轨迹总共由M段组成,每段具有相同的时间间隔Δt。对于每个维度,第 n 段多项式轨迹可以写为:

0fe02d9e-b59e-11ee-8b88-92fbcf53809c.png

对于 n = 0, 1, 。。., M − 1 且 Tn = nΔt。fn =[fn,0, fn,1, fn,2, fn,3, fn,4, fn,5] T 表示第 n 项多项式的系数。

2、运动规划

规划轨迹f(t)的基本要求包括动态可行性和轨迹平滑性。同时,优选的是最小化控制工作。比如加速度通常作为驾驶舒适性和安全性的判断客观指标。因此,可以选择加加速度来代表控制效果。指定初始状态 p0 和最终状态 pM。决策输出 pn 应包含在轨迹中。总之,运动规划的要求给出了以下加速度jerk问题:

0fe53a3c-b59e-11ee-8b88-92fbcf53809c.png

以上方程中,4a 是我们运动规划问题的一般形式,其目标是最小化控制动力变化率。基于这样的一种迭代优化方式,需要设计初始状态p0和最终状态pM(4b和4c),该每个分段的初始位置需要确定从预训练因果变换器的预测路径点获得(4d),且两段轨迹之间的需要保证其连续性(4e)。最后,需要设置对于最大加速度和其jerk的动态约束4f。

3、模型训练

从数据集中提取车辆姿态、语义BEV图像和静态环境地图图像。去除持续时间短于24秒(即240帧,时间间隔Δt = 0.1秒)的驾驶情景。然后将自车的未来目标位置作为决策训练的label。将每帧的车辆位置、当前BEV图像、下一桢BEV图像和下一桢环境地图图像作为训练集。

在预训练阶段,BEVGPT进行了20个epochs的训练。为了提高模型的决策能力和预测能力,这里使用均方误差(MSE)作为Loss。

0fe95bb2-b59e-11ee-8b88-92fbcf53809c.png

其中,pde 和 pgt 分别代表未来 4 秒的决策输出和真实自车位置。bevpr 和 bevgt 是 BEV 预测和 BEV 真实值。envgt 是对应的静态环境图。损失权重参数α旨在平衡决策损失和预测损失。

4、在线微调

BEV 输入被嵌入并馈送到模型中,以确定 MΔt 时间间隔的未来轨迹点。采用运动规划器根据决策输出生成动态可行的轨迹。然后将可执行轨迹输入模型以生成未来的 BEV 预测。此外,还开发了体验光栅器来帮助模型获取模拟驾驶场景的静态信息。只有知道静态全局地图、自动驾驶车辆的初始世界坐标以及世界坐标和光栅坐标之间的转换,就可以轻松地将所有车道和交叉口映射到光栅化 BEV 图像中。经过Δt时间间隔的模拟后,我们可以获得下一张BEV图像的groundtruth。根据方程式将模型微调 10k 步。

0ff37cdc-b59e-11ee-8b88-92fbcf53809c.png

其中 enver、bevpr 和 bevsm 分别表示体验光栅器提供的环境贴图、L5Kit 模拟器上的预测和模拟 BEV 图像。

总结

预测、决策和运动规划对于自动驾驶至关重要。在大多数传统算法架构中,它们被视为单独的模块或组合成具有共享主干但独立任务头的多任务学习范例。实际上,最终的算法是将它们整合到一个综合框架中,且这种整合过程不应受到复杂的输入表示(即输入解耦)和冗余框架设计的困扰。同时,设计之初也需要重点考虑对未来驾驶场景做出长期预测。为了解决这些问题,需要重新思考自动驾驶任务中各个模块的必要性,并仅将所需的模块纳入到极简的自动驾驶框架中。

基于此,本文介绍了两种端到端的自动驾驶系统算法架构。算法一ADAPT是通过标注可解释性动作的端到端transformer预测架构,BEVGPT 的综合框架,它仅使用 BEV 图像作为输入生成端到端的指令。实际上这种算法不算是真正的端到端处理方法,而是针对感知前处理后形成的目标级结果作为输入BEV images, 最终输出自车轨迹及对驾驶场景的预测。然而,该方案在训练时需要高精地图,来实现BEV场景真值系统构建,因为BEV更关注道路环境中的动态目标(如实时车辆目标等),而高精地图则是对静态场景(如道路拓扑)的构建基准。本文中的输入是BEV图像想要利用想ChatGPT那种自然语言处理方式进行计算,然而,基于文字的语言处理是蕴含丰富的语义的,然而BEV Images这种类型则是原始图像,对于整个后端模型处理无法做到很好的适配。最好的方式则是将BEV Images转化为以LSS变换得到的BEV Feature作为输入,则会更好的提升模型的运算效率。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。