1.参考
论文:https://arxiv.org/pdf/2303.12077
代码:https://github.com/hustvl/VAD
2.摘要
自动驾驶由于是一个对安全要求非常高的任务,所以需要全面了解周围的环境,来进行可靠的规划。以前的方法都是网格占用或者分割图等计算量较高的任务。
本文提出了VAD,这是一种端到端的自动驾驶矢量化范式,它对驾驶过程进行了建模
将场景作为完全矢量化的表示。
该方法的优势有两点:(1)矢量化的智能体运动和地图元素作为显示的实例级规划约束,能提高规划安全性;(2)去掉密集型的表示和手工设计的后处理操作,能提高该端到端方法的运行速度。
在NuScences上表现SOTA,大大降低了平均碰撞率29.0%,运行速度提高了2.5倍。
3.介绍
自动驾驶汽车需要有效地感知驾驶场景,并根据场景信息进行合理的规划。原来传统的方法解耦感知与规划模块,规划模块只能获取到处理好的感知结果,感知的误检可能会导致安全问题。
现在端到端的方法,大多数工作将传感器数据转换为光栅化的场景表示(例如语义图、占用图、流程图和成本图)以进行规划。虽然很简单,但光栅化表示在计算上很密集,会遗漏关键的实例级结构信息,处理速度很慢。
所以本文提出了VAD,一种自动驾驶的端到端矢量化范式。一方面,采用map查询和agent查询获取实例级map特征和agent运动特征,还能通过查询交互获取planning指导信息。另一方面,VAD基于显式矢量化场景表示提出了三个实例级规划约束:自车agent碰撞约束,用于在横向和纵向保持自车与其他agent之间的安全距离;超越自我边界的约束,将规划轨迹推离道路边界;以及用于规范具有矢量化车道方向的自动驾驶汽车未来运动方向的自车道方向约束。
贡献:
(1)提出了VAD,这是一种端到端的自动驾驶矢量化范式;
(2)VAD通过查询交互和矢量化规划约束,隐式和显式地利用矢量化场景信息来提高规划安全性;
(3)VAD性能SOTA, 也提高了推理速度。
4.相关工作
(1)感知
DETR3D:使用3D查询对相应的图像特征进行采样,并在没有非最大抑制的情况下完成检测;
PETR:对图像特征进行3D位置编码,并使用检测查询通过注意力机制学习对象特征;
LSS:从BEV的视角将深度预测引入项目特征的开创性工作;
BEVFormer:提出了空间和时间注意力,以更好地编码BEV特征图,并仅通过相机输入实现了显著的检测性能;
FIERY and BEVerse:使用BEV特征图预测密集图分割;
HDMapNet:通过后处理步骤将车道分割转换为矢量化地图;
VectorMapNet:在自回归中预测地图元素;
MapTR:识别地图实例点的置换不变性,可以同时预测所有地图元素;
LaneGAP:以一种新颖的路径方式对车道图进行建模,该方式很好地保持了车道的连续性,并对交通信息进行了编码以供规划。
本文也是用基于BEV的方式。
(2)运动预测
传统的预测是通过感知检测的bounding box进行预测,历史轨迹与高清地图。
ViP3D:根据跟踪结果和HD预测未来的运动;
PIP:提出了一种动态代理和静态矢量化映射之间的交互方案,在不依赖HD映射的情况下实现了SOTA性能。
本文参考PIP的方式。
(3)规划
一些方法通过感知输入与运动预测,planning直接预测规划轨迹或控制信号。强化学习非常适合规划任务,已成为一个有前景的研究方向。通常采用手工制定的规则来选择成本最低的最佳规划轨迹。构建密集的成本图需要大量的计算,使用手工制作的规则会带来鲁棒性和泛化问题。
UniAD:有效地整合了各种先前任务提供的信息,以目标为导向的精神协助规划,并在感知、预测和规划方面取得了显著成绩。
PlanT:将感知bounding box作为输入,并将场景编码为目标级表示,以便进行规划。
在本文中,我们探索了矢量化场景表示在规划中的潜力,并摆脱了密集的地图或手工设计的后处理步骤。
5.方法
VAD方法的流程:
(1)输入:多帧和多视角图像;
(2)通过backbone提取图像特征,通过BEV查询将图像特征投影为BEV特征;
(3)通过agent查询和map查询学习矢量化场景表示,矢量化地图与矢量化运动;
(4)Planning基于场景表示进行规划。
具体来说,VAD使用Ego查询通过与agent查询和map查询的交互来学习隐含的场景信息。基于ego查询、自车状态特征和高级驾驶命令,规划heading输出规划轨迹。此外,VAD引入了三个矢量化规划约束,以在实例级别限制规划轨迹。VAD是完全可微分的,并以端到端的方式进行训练。
5.1 矢量化场景学习
(1)矢量图不仅可以从BEV特征图中学习到map信息,还能预测对应map上对应的元素(车道分隔带、道路边界和人行横道)。
(2)矢量agent运动,可以输出agent的各种属性,位置信息、类别信息、方向信息;每个agent智能体的轨迹。
5.2 通过互动进行规划
(1)自车与智能体的交互:通过Transformer解码器学习自车与交通参与智能体agent之间的交互。
(2)自车与Map的交互:考虑到与静态信息的交互。
(3)Planning Head:输入自车与动静态交互的query优化结果与高级命令(左转、右转、直行) 等作为输入,优化输出planning的自车轨迹。
5.3 矢量化规划约束
基于学习到的Map向量和运动向量,VAD在训练阶段使用实例级矢量化约束对规划轨迹Vego进行正则化。
(1)自车与其他智能体碰撞约束:考虑到自车与其他智能体未来轨迹可能的碰撞。会过滤低置信度的智能体预测,使用最高置信度的智能体预测。我们认为碰撞约束是自我车辆横向和纵向的安全边界。多辆车可能在横向方向上彼此靠近(例如并排行驶),但在纵向方向上需要更长的安全距离。因此,我们针对横纵向采用不同的智能体距离阈值δX和δY。对于每个未来的时间戳,我们在两个方向上都能在一定范围δa内找到最接近的智能体。那么对于每个方向i∈{X,Y},如果与最接近智能体的距离di a小于阈值δi,则该约束的损失项Li col=δi−di a,否则为0。自车-智能体碰撞约束的损失可以公式化为:
(2)自车与道路边界约束:自车行驶不能超出道路边界,应该在可行驶区域内。通过低置信度阈值过来map道路边界。对于每个未来的时间戳,我们计算计划航路点与其最近的地图边界线之间的距离dt-bd。然后,该约束的损失公式为:
(3)自车与车道方向的约束:自车运动方向应该与自车所在车道的车道方向保持一致。 通过低置信度阈值过来map预测。在每个未来的时间戳从我们的计划航路点找到最接近的车道分隔矢量vm∈RTf×2×2(在一定范围内δdir)。最后,此约束的损失是车道矢量和自车矢量之间随时间平均的角度差:
5.4 端到端学习
(1)矢量化场景学习损失:矢量图学习用马氏距离优化预测图点与真实图点;预测图类别通过focal loss进行优化。矢量运动预测使用L1范式优化其智能体属性,focal loss优化智能体类别。智能体轨迹优化通过L1 loss优化,智能体未来轨迹通过最小最终位移误差 the minimum final displacement error (minFDE)预测。
(2)矢量约束损失:在5.3中已写。
(3)模仿学习损失:优化引导驾驶习惯的,像人/专家一样开车。
(4) 总优化:通过各个损失函数加权优化。
6.实验
数据集:在Nuscences上进行实验。
评价指标:采用位移误差(DE)和碰撞率(CR)、路线完成(RC)和驾驶分数(DS)对规划性能进行综合评价。
与之前的SOTA方法相比,VAD在性能和速度方面都有很大的优势。
7.结论
提出的VAD方法是一个完全端到端的直接出planning规划轨迹的自动驾驶方法。一种矢量化表示驾驶场景,该方法性能好、效率高。为了安全,使用最高置信度的智能体预测,以及一些碰撞限制大大提高驾驶安全性。
未来展望,融合更多的静态交通信息,如何将其他交通信息(如车道图、道路标志、交通灯和限速)整合到这个自动驾驶系统中,也值得进一步探索。
标签:Driving,Efficient,矢量化,约束,智能,VAD,自车,规划 From: https://blog.csdn.net/qq_35975447/article/details/142761801