LeGo-Drive: 语言增强目标定向的闭环端到端自动驾驶

24年3月论文“LeGo-Drive: Language-enhanced Goal-oriented Closed-Loop End-to-End Autonomous Driving“。

现有的视觉-语言模型(VLM)根据其丰富的场景理解能力估计长期轨迹航路点或一组控制动作,作为闭环规划的反应式解决方案。然而,这些估计是粗略的,并且是主观的,因为“世界理解”可能会由于感知错误而产生次优决策。

本文介绍LeGo Drive,通过基于给定的语言命令估计目标位置来解决此问题,作为端到端设置的中间表示。估计的目标可能落在一个不理想的区域,导致规划不足。因此,采取以端到端的方式训练架构,从而共同迭代细化目标和轨迹。

如图所示:所提出的方法LeGo-Drive在单个前向摄像头图像上用导航指令-“停车”在左前方公交车站附近查询估计一个目标位置,并将其与基于可导优化器的规划器耦合,该规划器联合优化轨迹和目标位置。(左图)提出的架构与联合端到端训练的梯度流一起显示。(右上图)目标改进:从初始估计的绿色位置到改进的红色位置。(右下图)与基线方法生成的红色轨迹相比,绿色的轨迹输出造成改进的目标位置。

添加图片注释,不超过 140 字(可选)

为开发智能驾驶智体,本文采取一个数据集创建和标注策略,该智能驾驶智体集成来自CARLA模拟器以视觉为中心的数据,并与导航指令相结合。假设智体被部署必要的特权信息来执行成功的闭环导航。

数据集:以前的工作如Talk2Car数据集[8],主要侧重于通过标注目标参考的边框来理解场景。进一步的工作,如Talk2Car RegSeg[19],旨在通过标注可导航区域的分割掩码来加入导航。通过各种驾驶操作来扩展这些数据集,包括车道变化、速度调整、转弯、其他目标或车辆的超车或停车、通过十字路口导航以及在人行横道或交通信号灯处停车,将在这些数据集上演示闭环导航。创建的LeGo-Drive数据集包括4500个训练数据和1000个验证数据。用复杂和简单的命令注释来呈现结果、基线比较和消融工作。

模拟设置:LeGo-Drive数据集收集过程由两个阶段组成:1)使用摄像头传感器数据同步记录驾驶智体的状态,然后是交通智体,以及2)使用导航指令解析和注释收集的数据。以10 FPS的速度记录数据,并且为了避免连续帧之间的冗余,以10m距离间隔过滤数据点。对于每帧,用基于规则的专家智体收集自我智体的状态,即位置和速度、前后方向都有50米范围的自我通道、前RGB摄像头图像和交通智体状态(位置和速度),所有这些都在自车坐标系。数据集在6个不同的城镇中不同,涵盖各种不同的环境,代表具有不同车道配置、交通密度、照明和天气条件的各种驾驶场景。此外,数据集包括在户外场景中通常观察到的各种目标,例如公共汽车站、食品摊(food stalls)和交通信号灯。

语言命令注释:每帧都用对应于目标区域分割掩码的适当导航命令手工进行标注,覆盖一系列驾驶场景。考虑3种不同的命令类别:1)。以目标为中心的命令,指在当前相机帧中可见的目标,2)。车道操纵命令,这是特定于与车道变更或车道内调整相关操作的指令,以及3)复合命令,连接多个指令以模拟真实驾驶场景。利用ChatGPT API生成具有相似语义的不同变体。如表显示了来自数据集的示例指令示例。值得注意的是,没有纳入误导性的指令。这种能力在场景推理模型中是必不可少的,目前不考虑。

添加图片注释,不超过 140 字(可选)

如图所示,该架构由两个主要部分组成:

添加图片注释,不超过 140 字(可选)

  1. 目标预测模块,接受前视图像 I 和相应的语言命令 L = {l0,…,lk},其中 li 是单词token,k 是命令的长度 ; 生成或预测分割掩码 M 后跟目标位置 gˆi ,并且,
  2. 可微分规划器,生成轨迹 T ,该轨迹针对估计目标和轨迹优化器参数进行联合优化,从而在端到端训练时将所需位置坐标 gˆi 改进为可导航位置 gˆi* 。

为了对给定的导航命令进行编码,用 CLIP [18] token化器对语言命令进行token化,并将其传递给 CLIP 文本编码器以获得文本嵌入 T。为了从给定的前置摄像头图像中获取图像特征,用 CLIP 图像编码器 ResNet-101 主干网。 众所周知,分层特征有利于语义分割; 因此,在 ResNet 主干的第 2、3、4 层之后提取不同的视觉特征 Vi ,其中 i ∈ {2, 3, 4}。 每个 Vi 都通过卷积块 ConvBlocki,将它们变成相同的通道大小、高度和宽度。

为了从图像和文本特征中捕获多模态上下文,进一步使用 DETR [4] 架构中采用的Transformer编码器。 所有特征T、V2、V3、V4都被展平,文本特征分别与不同的Vi连接获得多模态特征Mi。 然后,Mi 被单独传递到 Transformer 编码器,其中多头自注意层有助于不同类型特征之间的跨模态交互,获得 Xi 作为与 Mi 形状相同的编码器输出。

有两个解码器头,每个解码器头分别用于分割掩码预测和目标点预测任务。 为了预测分割掩模,Xi 进行进一步的重塑和重组操作,将其重塑为 RC×H×W,从而得到 Zi。 对于分割掩码预测,将所有层 Zi 堆叠为形状 RC+C+C×H×W 。

两个预测头都使用 [5] 中的 ASPP 解码器。 对于分割掩码预测,ASPP 输出通过卷积上采样块,其中包括指定阶段的双线性上采样以提高空间分辨率。 输出最终经过 sigmoid 激活产生二进制掩码。 在目标点预测解码器中,它由卷积层和全连接层组成,输出是图像上的像素位置。

首先,对分割掩模预测头进行端到端训练,并在预测分割掩模和人工注释的真值分割掩码之间进行 BCE 损失。 经过几个epochs后,目标点预测头会进行类似的端到端训练,预测目标点和人工标注真值目标点之间存在平滑的 L1 损失。

复杂命令和场景理解:为了处理当前帧中最终目标位置不可见的复合指令情况,将复杂命令分解为需要顺序遵循的原子命令列表来调整。 例如,“换向左车道,然后跟随黑色车”可以分解为“换向左车道”和“跟随黑色车”。 为了分解这些复杂的命令,构建一个原子命令列表 L,涵盖了广泛的简单动作,例如变道、转弯、速度调整和目标参考。 收到复杂命令后,用少样本学习技术提示 LLM 将给定的复杂命令分解为原子命令 li 的顺序列表。然后,这些原子命令通过流水线迭代执行,预测结果为目标点位置作为中间路径点,帮助到达最终目标点。

规划器采用嵌入可学习参数优化问题的形式,改进遵循 VLN 生成的目标下游任务并加速收敛。

假设可以访问车道中心线,并构造 Frenet 框架 [26]。 轨迹规划是在该框架中制定的,其优点是汽车的纵向和横向运动分别与 Frenet 框架的 X 轴和 Y 轴对齐。

创新点是模块化端到端规划框架,其中该框架优化目标预测模块并优先考虑轨迹优化,同时确保获取的行为输入有效促进优化器收敛。 该架构的基础是可导模块的迭代细化,从而目标预测的增强对轨迹优化产生积极影响,相反,细化的轨迹规划有助于改进目标预测。

端到端训练需要通过优化层对轨迹规划过程进行建模进行反向传播,这可以通过两种方式完成,即:隐式微分和算法展开[17]。 现有库对前者的支持,主要限于凸问题 [1] 或无约束非线性最小二乘法 [17]。 在该方法中,按照之前的工作[23],在算法展开之后构建了一个自定义的反向传播例程。 方法的一个优点是,可以处理约束,并且反向传播可以免于矩阵分解[23]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值