降低60.6%碰撞率!复旦大学地平线CorDriver:首次引入「走廊」增强端到端自动驾驶安全性

导读

复旦大学&地平线新作-CorDriver: 首次通过引入"走廊"作为中间表征,揭开一个新的范式。预测的走廊作为约束条件整合到轨迹优化过程中。通过扩展优化的可微分性,使优化后的轨迹能无缝地在端到端学习框架中训练,从而提高安全性和可解释性。

©️【深蓝AI】编译

论文题目:Drive in Corridors: Enhancing the Safety of End-to-end Autonomous Driving via Corridor Learning and Planning

论文作者:Zhiwei Zhang, Ruichen Yang, Ke Wu, Zijun Xu, Jingchu Liu, Lisen Mu, Zhongxue Gan, Wenchao Ding

论文地址:https://arxiv.org/pdf/2504.07507

1,技术背景

端到端自动驾驶在复杂的现实世界场景提供了更好的可扩展性和适应性,它通过统一的神经网络直接将原始传感器数据映射到轨迹,该网络经过训练以模仿人类驾驶员。通过将模块(如感知、预测和规划)集成到单一可训练架构中,它消除了手工制定规则的需要。

但端到端涉及的安全行为是一个问题,源于基于学习的缺乏精确数学保证和可解释性。有研究通过在采样轨迹上引入安全成本函数来解决这一问题。然而,这种方法依赖于大量高质量的轨迹样本和精确的评估函数。例如:UniAD在占用栅格上进行后轨迹优化,而VAD采用约束损失来增强轨迹安全性。

为了提高端到端自动驾驶的安全性,本文提出两项研究。第一涉及解决约束车辆行为的有效表征缺失问题,通过在数据集中标注走廊、设计网络架构和制定损失函数,将走廊学习整合到端到端驾驶的多任务流程中。这些组件使模型能够在不同和动态的驾驶场景中准确且灵活地识别安全可行区域。其次,采用轨迹优化过程来生成规划轨迹。

本文贡献如下:

● 提出了CorDriver,一种在端到端框架内增强自动驾驶车辆安全性的显式和可解释方法。

● CorDiver是首次将安全走廊引入基于学习的自动驾驶, 还开发了一个完整的走廊学习流程,并证明了其在改善驾驶安全性方面的有效性。

● 以走廊为约束的可微分优化过程能够在考虑车辆运动学的同时生成安全轨迹,从而增强端到端驾驶的可解释性。

● 通过充分和全面的验证,该方法展示了端到端规划安全性的显著改进。

2,相关研究

2.1 安全端到端自动驾驶

在端到端自动驾驶中,确保安全的常用方法是为一组采样轨迹分配成本函数。早期方法预测占用栅格,并以与自车重叠的单元格数量作为安全评估指标。VADv2从示范中建模轨迹分布,对碰撞样本给予较低概率。但是这些基于采样的方法高度依赖采样轨迹的质量和多样性,而更大的轨迹库不可避免地会增加计算开销。

其他端到端方法通过回归直接预测轨迹,如UniAD和VAD。UniAD通过后优化优化轨迹以远离占用栅格,而VAD引入基于矢量化感知输出的额外损失函数来惩罚碰撞。还有些研究强调了轨迹质量与自车状态之间的联系,而其他方法提出改进的架构和解码器,使轨迹规划精确水平再次提高。

2.2 安全走廊

安全走廊是机器人规划中避免碰撞和轨迹优化的强大表征。它最初通过IRIS在机器人规划中引入,通过迭代优化计算凸无障碍区域以规划双足机器人的步态。Liu等人提高了这种方法的效率,并通过将约束表述为线性不等式来成功地将走廊应用于轨迹优化问题,将轨迹限制在多面体内。安全走廊的概念也可以用于自动驾驶。在本工作中,将这种表征扩展到端到端驾驶领域。如图1所示:

图 1 | CorDiver方法架构

3,方法精析

3.1,走廊学习
3.1.1 安全走廊表征

走廊通常使用连接的多面体或球体表示。然而,考虑到驾驶环境的高度结构化特性,如车道和智能体边界框,使用矩形作为走廊表征是一种简单有效的方法。这些矩形可以在2D鸟瞰图(BEV)上使用位置、朝向和大小等属性。为了在驾驶场景中融入时间信息,为每个规划时间戳分配一个矩形,得到走廊公式C:

其中$c_x$$c_y$表示矩形的中心位置,$\theta$表示其朝向,$l$$w$对应其长度和宽度。变量$N$表示未来时间戳的总数。在实践中,这种表征即使在高度动态的场景和弯曲道路上也能有效捕捉安全区域。与4D占用等替代方案相比,它更轻量级,更适合后续的凸优化。

3.1.2 安全走廊标注

使用走廊标注作为监督。在数据集中标注走廊的第一步是识别交通场景中的物理和语义障碍物。● 障碍物考虑:智能体。车辆和行人等交通参与者对安全驾驶至关重要,它们的边界框被保留为障碍物。

● 路沿,道路边界作为基本约束,确保车辆保持在可行驶区域内。

● 车道,车道也作为隐式限制,引导驾驶行为。

为此,首先提取最近时期$T_{ego}$的自车轨迹,并保留未与轨迹重叠的车道作为灵活的语义障碍物。基于这些元素的几何形状,使用指定阈值$\delta_{obs}$沿其轮廓采样2D坐标,形成障碍物点集:
$O = \{[p_x^o, p_y^o]_i | i = 1, ...N_o\}$

其中$N_o$是点的总数。这种方法是自适应的,可以扩展到额外的语义,如交通灯和行人过街道。

在识别了必要的障碍物后,可以通过寻找最大矩形来生成安全走廊。如图2所示,在每个时间戳$t$,提取2D障碍物点$\mathcal O_t$,并根据自车状态$(p_x^{ego}, p_y^{ego}, \theta^{ego})$将其坐标转换到局部坐标系。为提高计算效率,定义一个最大区域$(l_{max}, w_{max})$,并忽略区域外的点。这个问题被表述为计算几何学中广为研究的最大空矩形(Maximum Empty Rectangle, MER)问题——即在给定边界内找到包含原点且避开障碍物点的最大轴对齐矩形。为解决MER问题,通过遍历障碍物点的组合,每个点精确地定义候选矩形的边缘。计算并比较每个有效矩形的面积,选择最大的矩形。在每个时间戳重复此过程并将矩形组合在一起,可以生成走廊的完整标注。

图 2 | 安全走廊标注流程

3.1.3 安全走廊学习

本文端到端学习模型基于VAD,它利用矢量化场景表征并采用基于transformer的交互,从图像输入中生成检测、预测和地图。其规划头采用交互的自车查询$Q_{ego}$以及自车状态和驾驶指令,并使用多层感知机(MLP)解码自车轨迹。引入了与原始规划头并行的额外头部,直接从$Q_{ego}$解码走廊预测。
走廊损失计算为:
$\mathcal{L}_{cor}=\mathcal{L}_{1}\left(\hat{C}, C^{\star}\right)$

其中$\mathcal{L}_{1}$是损失,$\hat{C}$$C^{\star}$分别是预测和真实走廊。

为进一步捕捉几何特性,为走廊学习引入了三个辅助损失,包括两个将走廊从障碍物中排斥的安全损失项。感知输出提供路缘和智能体的位置。

路沿表示为标记道路边界的点集$\mathcal M$,而智能体简化为从检测和预测头获得的其边界框的顶点$\mathcal A$。其中,安全损失不惩罚与车道分隔线的重叠。因此,走廊预测可能与某些车道标记相交,以获得更大的安全区域,模仿人类在驾驶时利用相邻车道空间的倾向。随后,计算预测走廊每个矩形的边缘,并通过障碍物点与边缘之间的最小距离确定安全损失。

具体而言,地图安全损失$\mathcal{L}_{map}$和智能体安全损失$\mathcal{L}_{agent}$表述为:

$\begin{aligned} \mathcal{L}_{m a p} &=\sum_{t=1}^{N} \max _{i} \mathbb{D}\left(\mathbf{p}_{t}^{i}, \mathbf{c}_{t}\right), \mathbf{p}_{t}^{i} \in \mathcal{M} \end{aligned}$

$\begin{aligned} \mathcal{L}_{a g e n t} &=\sum_{t=1}^{N} \max _{i} \mathbb{D}\left(\mathbf{p}_{t}^{i}, \mathbf{c}_{t}\right), \mathbf{p}_{t}^{i} \in \mathcal{A} \end{aligned}$

其中$\mathbb{D}$表示计算点到矩形最近边缘的距离的函数,当点位于矩形内时。它定义为:
$ \mathbb{D} (\mathbf{p}, \mathbf{c}) = \begin{cases} \min_{i \in \{bl, br, tl, tr\}} d_i, & \text{if } \mathbf{p} \in \mathbb{C}, \\ 0, & \text{if } \mathbf{p} \notin \mathbb{C}. \end{cases}$

其中,$d_i$表示点与矩形四条边(左下、右下、左上、右上)的距离,$\mathbb{C}$代表矩形包围的区域。为防止走廊过度收缩,引入面积损失项以鼓励更大的走廊尺寸。面积损失定义为:
$\mathcal{L}_{area} = \sum_{t=1}^{N} e^{-\alpha w_t l_t}$

其中$\alpha$是控制惩罚强度的缩放参数,$w_t$$l_t$分别表示$t$时刻矩形的宽度和长度。

3.1.4 安全走廊对齐

基于预测与建图结果,进一步优化初始预测的走廊以减少与感知结果的潜在冲突。具体而言,将预测的智能体边界框和路缘石视为障碍物点,要求优化后的矩形必须排除这些点。优化后的矩形保留预测矩形原点$[\hat{c}_x, \hat{c}_y]_t$,其边界受预测矩形尺寸$[\hat{c}_l, \hat{c}_w]_t$约束,确保优化过程不会引入大的位置偏移或过度形状畸变。通过逐时间步求解MER问题,后处理步骤可得到优化后的走廊$C^+$,实现走廊与感知障碍物的对齐。

3.2,微分优化

基于车辆模型跟踪参考轨迹的问题在控制理论中通常建模为优化问题。本文提出的紧凑走廊表征,安全约束可以无缝集成,将问题构建为二次规划(QP)。这类优化过程的可微分性,允许梯度通过代价函数和约束反向传播,可以将优化过程嵌入网络作为可微分头部。

3.2.1 前向优化

正向传播通过求解优化问题计算最优控制序列,在满足系统动力学和约束条件下最小化预设代价函数。优化问题表述为:

其中$\mathbf{x} = \left[ p_x, p_y, \theta, v \right]^{\mathrm{T}} \in \mathbb{R}^{4}$包含车辆位置、航向和速度,控制向量$\mathbf{u} = [\alpha, \delta] \in \mathbb{R}^2$表示加速度和转向角。边界$\mathbf{u}_{min}$$\mathbf{u}_{max}$定义控制输入的可行范围,$\mathbf{x}_{init}$指定车辆初始状态。代价函数包含两个分量:跟踪代价$\hat{\mathbf{x}}_{t+1}^{\mathrm{T}} \mathbf{Q} \hat{\mathbf{x}}_{t+1}$和控制消耗$u_t^T R u_t$分别由正定对角矩阵$\mathbf Q$$\mathbf R$加权。其中,$\hat{\mathbf x} = \mathbf x_t - \hat{\xi}_t$表示与参考轨迹$\hat{\xi}_t$的偏差。
车辆动力学采用线性化自行车运动学模型建模,离散时间动力学方程为$\mathbf{x}_{t+1} = \mathbf{A} \mathbf{x}_t + \mathbf{B} \mathbf{u}_t$,矩阵$\mathbf A$$\mathbf B$定义为:

其中$\Delta_t$为时间步长,$L$为车辆轴距。

约束$x_t \in C_t$确保自车保持在指定走廊内。具体而言,预测走廊$\hat{C}$可转换为$\mathcal H$表示(即通过线性不等式定义的半空间交集来描述凸多面体),因此约束点$\mathbf p$位于矩形内可表达为:
$A_c p \leq b_c $

其中$\mathbf A_c$$\mathbf b_c$是由各时间戳矩形$\mathbf c_t$转换得到的不等式系数。
此外,需在约束中考虑自车尺寸。通过将自车顶点投影至世界坐标系,走廊约束进一步细化为:
$A_c \left ( \bar{R}_{\theta} \begin{bmatrix} l_{ego} & -w_{ego} \\ l_{ego} & w_{ego} \\ -l_{ego} & w_{ego} \\ -l_{ego} & -w_{ego} \end{bmatrix} ^T + P_{xy} \right ) \leq b_c$

其中$\bar{R}_{\theta}$为当前自车航向$\theta$的线性化旋转矩阵,$ P_{xy}$为自车位置堆叠矩阵,$l_{ego}$$w_{ego}$分别表示自车的半长和半宽。

最终通过求解$P$得到最优控制序列$\mathbf u$。从初始状态$\mathbf x_0$正向传播$\mathbf u$可生成最终轨迹$\tilde{\xi}$。模仿损失通过计算与人类驾驶轨迹$\xi^{\star}$的偏差实现。
$ \mathcal{L}_{imi} = \mathcal{L}_{1}\left(\tilde{\xi}, \xi^{\star}\right).$

通过整合所有加权损失函数,即走廊损失、地图安全损失、智能体安全损失、面积损失、模仿损失以及来自VAD的损失项,构建了整体学习目标。

3.2.2 反向传播

在反向传播过程中,利用KKT条件的隐式微分特性,将梯度从QP解传播至问题参数。KKT条件将最优解与问题参数相关联,使梯度能够通过优化层进行反向传播。通过求解线性化的KKT系统,可以高效计算梯度,这使得优化层能够调整控制策略、规划轨迹和走廊约束。

4,实验总结

4.1 实验细节

训练过程分为两个阶段。在第一阶段,不包含可微分优化模块,仅对检测、预测、建图、规划及走廊预测任务进行48轮次训练。第二阶段持续12轮次,在冻结感知模块参数的同时引入模仿损失函数。

4.2 实验结果

采用BEVPlanner1的评估框架。具体而言,将自车、交通参与者和路缘石投影至0.1米精度的鸟瞰网格,通过像素交集计算碰撞率ACR和CCR。任一时刻发生碰撞即判定轨迹失效,L2指标按时序平均计算,与VAD方法一致。

实验结果显示(表1),将UniAD、VAD-Base和AD-MLP均引入规划阶段自车状态信息

表1 | 在nuScenes上的规划结果

实验结果表明:在nuScenes开环测试中,基础模型CorDriver较领先模型VAD实现平均60.6%的物体碰撞率降低,较UniAD减少42.1%的路缘碰撞。强化版CorDriver+进一步将ACR和CCR分别降至0.11%和0.85%,对应66.7%和46.5%的降幅。闭环测试显示,CorDriver在保持可比驾驶得分的同时,显著提升车道保持能力和路线完成率,实现了安全性与效率的平衡。这充分验证了走廊学习与规划策略在降低碰撞风险、增强驾驶鲁棒性方面的优势。

4.3 消融实验

不同模块的消融实验结果如表2所示。验证结果表明:仅引入走廊学习任务即可在保持轨迹精度相当的情况下适度降低碰撞率;而辅助损失函数的加入显著提升了走廊预测精度,进而改善轨迹质量与安全性,这说明驾驶区域认知对自车轨迹规划具有潜在增益。

表 2 | 不同模块的消融实验结果

有无辅助损失的走廊预测对比如图3所示。尽管优化模块因建模误差导致轨迹精度略有下降,但其施加的安全约束使车辆与障碍物、路缘的碰撞率大幅降低,这种权衡是值得的的,因为实际应用中规避碰撞更为关键。优化对降低路缘碰撞的效果尤为显著,印证了走廊能有效捕捉道路几何特征,约束参考轨迹偏离路面。这些发现凸显了显式约束在轨迹优化中的重要性,证明了可解释规划过程对提升整体安全性的有效性。

图3 | 学习走廊的可视化结果

表3结果显示:仅优化权重矩阵时整体性能最佳,而引入可学习的轨迹与走廊参数会导致性能持平或下降。权重矩阵通过调节各项成本的重要性,能在不同样本间产生更稳定的优化影响,这种平滑的梯度特性有利于模型收敛与性能提升。

表 3 | 学习参数在优化方面的消融实验

4.4 其他结果

图4展示了多个挑战场景的可视化结果,包括交互路口、急弯道及车流汇入等。

图 4 | 定性实验结果

5,总结展望

本文提出CorDriver方法,通过走廊表征增强了端到端自动驾驶的安全性,将走廊预测作为约束融入轨迹优化,在提升安全性的同时增强了可解释性。作者还探索了可微分优化在端到端框架中的作用,验证了特定组件的可训练性带来的性能提升。

此外,模型优化过程产生的不稳定梯度对模型学习构成挑战,未来希望通过引入惩罚函数平滑梯度(而非硬约束)等方式改进。如何将基于模型的优化有效融入可扩展的端到端方法,是下一步需要研究的目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/80852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS flex:1

在 CSS 中,flex: 1 是一个用于弹性布局(Flexbox)的简写属性,主要用于控制 flex 项目(子元素)如何分配父容器的剩余空间。以下是其核心作用和用法: 核心作用 等分剩余空间:让 flex …

1.6 关于static和final的修饰符

一.static static是静态修饰符,用于修饰类成员(变量,方法,代码块) 被修饰的类成员属于类,不必生成示例,即可直接调用属性或者方法。 关于代码块,被static修饰的代码块是静态代码块…

数据结构—(链表,栈,队列,树)

本文章写的比较乱,属于是缝合怪,很多细节没处理,显得粗糙,日后完善,今天赶时间了。 1. 红黑树的修复篇章 2. 红黑树的代码理解(部分写道注释之中了) 3. 队列与栈的代码 4. 重要是理解物理逻辑&a…

每日Prompt:发光线条解剖图

提示词 一幅数字插画,描绘了一个 [SUBJECT],其结构由一组发光、干净且纯净的蓝色线条勾勒而成。画面设定在深色背景之上,以突出 [SUBJECT] 的形态与特征。某个特定部位,如 [PART],通过红色光晕加以强调,以…

【时时三省】(C语言基础)使用字符串处理函数

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 在C函数库中提供了一些用来专门处理字符串的函数,使用方便。几乎所有版本的C语言编译系统都提供这些函数。下面介绍几种常用的函数。 ①puts函数 输出字符串的函数 其一般形式…

构建可信数据空间需要突破技术、规则和生态三大关键

构建可信数据空间需要突破技术、规则和生态三大关键:技术上要解决"可用不可见"的隐私计算难题,规则上要建立动态确权和跨境流动的治理框架,生态上要形成多方协同的标准体系。他强调,只有实现技术可控、规则可信、生态协…

模板的使用

模板 模板的概念&#xff1a;模板就是建立一个通用的模具&#xff0c;大大提高复用性 c中模板机制分为两类 函数模板 建立一个通用函数&#xff0c;其函数返回值类型和形参类型可以不具体定制&#xff0c;用一个虚拟的类型来代表 template<typename T> //template 声…

YOLOv1:开启实时目标检测的新篇章

YOLOv1&#xff1a;开启实时目标检测的新篇章 在深度学习目标检测领域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;系列算法无疑占据着重要地位。其中&#xff0c;YOLOv1作为开山之作&#xff0c;以其独特的设计理念和高效的检测速度&#xff0c;为后续的目标…

vim中的查找

在 Vim 中&#xff0c;使用 n 键可以按正向&#xff08;向下&#xff09;继续查找下一个匹配项。若要反向&#xff08;向上&#xff09;查找&#xff0c;可以使用以下方法&#xff1a; 1. 使用 N 键反向查找 在查找命令&#xff08;如 /keyword&#xff09;后&#xff0c;按下…

卡尔曼滤波通俗理解

卡尔曼滤波器的目的与意义何在&#xff1f; - 陈不陈的回答 - 知乎 https://www.zhihu.com/question/41351736/answer/3057034500 这是一个比较通俗易懂的例子&#xff0c;读完之后可以对卡尔曼滤波怎么使用有比较直观的理解。 &#x1f9e0; 一、卡尔曼滤波是什么&#xff1f;…

对抗帕金森:在疾病阴影下,如何重掌生活主动权?

帕金森病&#xff0c;一种影响全球超 1000 万人的神经退行性疾病&#xff0c;正无声地改变着患者的生活轨迹。随着大脑中多巴胺分泌减少&#xff0c;患者逐渐出现肢体震颤、肌肉僵硬、步态迟缓等症状&#xff0c;甚至连扣纽扣、端水杯这类日常动作都变得艰难。更棘手的是&#…

黑马k8s(五)

1.Namespace 2.Pod run nginx&#xff1a;nginx是pod控制器的名称&#xff0c;不是pod的名称 查看pod更高的参数&#xff1a; 启动一个不存在的镜像&#xff1a;pod 查看 dev下面的pod&#xff0c;第二个pod处于容器创建的状态 查看pod的详情描述&#xff1a; 通过pod的ip&…

推荐算法工程化:ZKmall模板商城的B2C 商城的用户分层推荐策略

在 B2C 电商竞争激烈的市场环境中&#xff0c;精准推荐已成为提升用户体验、促进商品销售的关键。ZKmall 模板商城通过推荐算法工程化手段&#xff0c;深度挖掘用户数据价值&#xff0c;制定科学的用户分层推荐策略&#xff0c;实现 “千人千面” 的个性化推荐&#xff0c;帮助…

如何使用 Qwen3 实现 Agentic RAG?

今天&#xff0c;我们将学习如何部署由阿里巴巴最新Qwen 3驱动的Agentic RAG。 这里是我们的工具栈&#xff1a; CrewAI用于代理编排。 Firecrawl用于网络搜索。 LightningAI的LitServe用于部署。 顶部的视频展示了这一过程。 图表显示了我们的Agentic RAG流程&#xff1…

【UAP】《Empirical Upper Bound in Object Detection and More》

Borji A, Iranmanesh S M. Empirical upper bound in object detection and more[J]. arXiv preprint arXiv:1911.12451, 2019. arXiv-2019 文章目录 1、Background and Motivation2、Related Work3、Advantages / Contributions4、Experimental Setup4.1、Benchmarks Dataset…

LeetCode 941. 有效的山脉数组 java题解

https://leetcode.cn/problems/valid-mountain-array/description/ 双指针 class Solution {public boolean validMountainArray(int[] arr) {int lenarr.length;if(len<3) return false;int left0,rightlen-1;while(left1<len&&arr[left]<arr[left1]){left…

udp多点通信和心跳包

刷题 # UDP多点通信核心要点## 基础通信模式### 单播通信- 一对一通信方式- UDP默认通信模式- 地址指向具体目标主机### 广播通信- 一对多通信机制- 地址范围&#xff1a;xxx.xxx.xxx.255- 仅限局域网传输- 需设置SO_BROADCAST标志### 组播通信- 多对多群组通信- 地址范围&…

文件相关操作

文本文件 程序运行时产生的数据都属于临时数据&#xff0c;程序一旦运行结束都会被释放 通过文件可以将数据持久化 C的文件操作需要包含头文件 文件分类 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 二进制文件&#xff1a;文件以文本的二进制形式存储在计算…

[论文阅读]ControlNET: A Firewall for RAG-based LLM System

ControlNET: A Firewall for RAG-based LLM System [2504.09593] ControlNET: A Firewall for RAG-based LLM System RAG存在数据泄露风险和数据投毒风险。相关研究探索了提示注入和投毒攻击&#xff0c;但是在控制出入查询流以减轻威胁方面存在不足 文章提出一种ai防火墙CO…

C++中的各式类型转换

隐式转换&#xff1a; 基本类型的隐式转换&#xff1a; 当函数参数类型非精确匹配&#xff0c;但是可以转换的时候发生 如&#xff1a; void func1(double x){cout << x << endl; }void func2(char c){cout << c << endl; }int main(){func1(2);//…