VAD系列开启全新“多模态端到端自动驾驶革命”,将多模态概率规划推向新高度!

前言🪐

本文由VAD原作Bo Jiang(蒋博)博士梳理,站在原作视角,对VAD系列的两项工作都做了详细的介绍。
蒋博,华中科技大学Vision Lab博士研究生,师从刘文予教授和王兴刚教授,提出VAD, VADv2等算法,在nuScenes和Carla端到端自动驾驶任务上取得多次第一。

VAD系列论文信息:

VAD: Vectorized Scene Representation for Efficient Autonomous Driving

作者:

Bo Jiang, Shaoyu Chen*, Qing Xu, Bencheng Liao, Jiajie Chen, Helong
Zhou, Qian Zhang, Wenyu Liu, Chang Huang, Xinggang Wang*

项目主页:https://github.com/hustvl/VAD

VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning

作者:

Shaoyu Chen, Bo Jiang*, Hao Gao, Bencheng Liao, Qing Xu, Qian Zhang,
Chang Huang, Wenyu Liu, Xinggang Wang*

项目主页:https://hgao-cv.github.io/VADv2

VADv1:基于矢量场景表征的端到端自动驾驶

自动驾驶系统通常采用分阶段模块化的设计,即感知、预测、规划等模块相互解耦,独立优化。但对于模块化方案,模块间无法协同优化,存在误差累积,感知的漏检误检将会影响规划的安全性。近年来,端到端自动驾驶逐渐受到业界的关注。端到端方案基于数据驱动的方式优化整个系统,打通了各个模块的壁垒,并减少了繁琐的后处理,具有很高的研究价值。然而,之前的端到端方案往往基于栅格化的环境表征(如图1)。这种密集的表征不具备高层级的语义信息,并且需要较高的计算代价。

在ICCV 2023上,我们提出基于矢量化场景表征的端到端自动驾驶算法——VAD。VAD摈弃了栅格化表征,对整个驾驶场景进行矢量化建模(如图2),并利用矢量环境信息对自车规划轨迹进行约束。相比于之前的方案,VAD在规划性能和推理速度上具有明显的优势。

在这里插入图片描述
图1|栅格化场景表征©️【深蓝AI】

在这里插入图片描述
图2|矢量化场景表征©️【深蓝AI】

1. VAD架构——基于Transformer的端到端模型

在这里插入图片描述
图3|VAD模型框架©️【深蓝AI】

VAD的各个子模块都是基于统一的Transformer结构(如图3所示)。其实BEV Encoder用于编码输入的环视图像,并将其转化为鸟瞰图视角(BEV)下的特征图;Vectorzied Motion Transformer提取场景中的动态目标信息,实现动态目标检测和矢量化的轨迹预测;Vectorzied Map Transformer提取场景中矢量化的静态元素信息(如车道线,路沿和人行道);Planning Transformer以隐式的动静态场景特征作为输入,提取其中与驾驶决策规划相关的信息,并完成自动驾驶车辆的轨迹规划。另外在模型训练阶段,VAD基于矢量场景表征,对自车的规划轨迹进行矢量化约束,从而提升规划的安全性。

在这里插入图片描述
图4|基于矢量场景表征的规划约束©️【深蓝AI】

2. 基于矢量场景表征的规划约束

此前的工作大多采用各种后处理策略对规划轨迹进行优化,以提升规划安全性。例如,使用占据图预测结果对规划轨迹进行微调,从而使规划轨迹位于可行驶区域内。这种方法破坏了模型的端到端学习能力,另外后处理也会带来额外的计算开销,降低模型的推理速度。VAD完全摈弃了后处理策略,而是选择在训练阶段,使用驾驶先验知识优化规划表现,从而在不引入额外推理计算开销的前提下,提升了规划的安全性。

●自车-他车碰撞约束

基于场景中其他动态目标预测的矢量化轨迹和自车规划轨迹的碰撞约束。VAD将自车安全边界分解为横向和纵向的安全距离,当规划轨迹在任一方向与他车预测轨迹的距离小于指定的安全阈值时,则惩罚该轨迹,从而避免自车规划轨迹与他车预测轨迹相交。

●自车-边界越界约束

基于预测的矢量化边界线,VAD约束自车规划轨迹始终在可行驶区域内。当自车规划轨迹越出道路边界线时,则惩罚该轨迹。

●自车-道路方向约束

VAD基于预测的道路线方向,约束自车规划轨迹朝向与道路前进方向保持一致。当自车规划轨迹朝向与道路前进方向有较大差异时,则惩罚该轨迹。

3. VAD规划性能

VAD在nuScenes开环验证和CARLA闭环验证中均取得了state-of-the-art的规划性能。除此之外,相比之前的方案,大幅提升了模型的推理速度。

在这里插入图片描述
图5|nuScenes开环规划性能©️【深蓝AI】

在这里插入图片描述
图6|CARLA闭环规划性能©️【深蓝AI】

VAD初步探索了基于矢量化场景表征的端到端自动驾驶算法框架。如何建模驾驶决策中的不确定性和多模态特性,从而实现更鲁棒精准的规划决策表现,将在VADv2的工作中展开。

VADv2: 基于概率性规划的端到端自动驾驶

大语言模型(Large Languague Model)通过在互联网级别语料库上的预训练,学习到语法、语义和概念关系等高维知识,进而涌现通用智能。驾驶场景中同样存在着数量庞大并且源源不断产生的人类驾驶数据。从人类驾驶数据中学习拟人的驾驶策略,具备成熟的数据基础。但在算法层面,如何建模和训练,仍需进一步的探索。VADv1初步探索了基于矢量化场景表征的端到端自动驾驶算法框架。在VADv1的基础上,VADv2基于概率性规划,以数据驱动的范式从大量驾驶数据中学习端到端驾驶策略。

1. 概率性规划

与感知不同,规划中存在着更多的不确定性,对于同一场景,存在不同的合理的决策规划结果。环境信息到决策规划不存在明确的映射关系,因此学习拟人的驾驶策略极具挑战性。以往的基于学习的规划方法确定性地通过MLP回归出规划轨迹,无法应对环境信息和决策规划之间不明确的映射关系。同时基于神经网络输出的轨迹无法保证满足运动学约束,仍需要后端的轨迹优化。

VADv2采用概率性规划的方法,从大量的人类驾驶数据中,拟合每一时刻基于环境信息的自车轨迹概率分布,将问题转化为预测每一条轨迹和环境信息的相关性,从而应对规划中的不确定性。

在这里插入图片描述
图7|规划中的不确定性©️【深蓝AI】

2. 算法框架

在这里插入图片描述
图8|VADv2算法框架©️【深蓝AI】

如图8所示,VADv2以车载相机采集的流式图像序列作为输入。鉴于图像信息稀疏性,VADv2将图像信息转换为具有高层语义信息的tokens。具体地,VADv2基于MapTRv2从环视图像数据中提取地图物理层和逻辑层的map tokens,同时从图像中提取关于动态障碍物的agent tokens和交通信号灯的traffic element tokens。此外,由于在连续的动作空间上学习概率分布较为困难,VADv2将动作空间离散化,通过最远轨迹采样的方式从真实的轨迹数据中筛选出N条轨迹构建轨迹集合,用于表征整个动作空间。VADv2将轨迹通过正余弦编码方式编码为planning tokens。planning tokens基于堆叠的Transformer结构与包含环境信息的tokens交互,同时结合稀疏导航信息和自车状态信息,输出每一条轨迹的概率:

p ( a ) = M L P ( T r a n s f o r m e r ( E ( a ) , E e n v ) + E n a v i + E s t a t e ) p(a) = {\rm MLP (\rm Transformer}(E(a), E_{\rm env}) + E_{\rm navi} + E_{\rm state}) p(a)=MLP(Transformer(E(a),Eenv)+Enavi+Estate)
q = E ( a ) , k = v = E e n v q=E(a), k=v=E_{\rm env} q=E(a),k=v=Eenv
a = ( x 1 , y 1 , x 2 , y 2 , . . . , x T , y T ) ] a =(x_{\rm 1},y_{\rm 1},x_{\rm 2},y_{\rm 2},...,x_{\rm T},y_{\rm T})] a=(x1,y1,x2,y2,...,xT,yT)]
E ( a ) = C a t [ Γ ( x 1 ) , Γ ( y 1 ) , Γ ( x 2 ) , Γ ( y 2 ) , . . . , Γ ( x T ) , Γ ( y T ) ] E(a) = {\rm Cat}\Big[\Gamma(x_{\rm 1}), \Gamma(y_{\rm 1}),\Gamma(x_{\rm 2}),\Gamma(y_{\rm 2}),...,\Gamma(x_{\rm T}), \Gamma(y_{\rm T})\Big] E(a)=Cat[Γ(x1),Γ(y1),Γ(x2),Γ(y2),...,Γ(xT),Γ(yT)]
Γ ( p o s ) = C a t [ γ ( p o s , 0 ) , γ ( p o s , 1 ) , . . . , γ ( p o s , L − 1 ) ] \Gamma(pos) = {\rm Cat}\Big[\gamma(pos,0), \gamma(pos,1),...,\gamma(pos,L-1)\Big] Γ(pos)=Cat[γ(pos,0),γ(pos,1),...,γ(pos,L1)]
γ ( p o s , j ) = C a t [ c o s ( p o s / 10000 2 π j / L , s i n ( p o s / 10000 2 π j / L ] \gamma(pos,j) = {\rm Cat}\Big[{\rm cos}(pos/{10000}^{2\pi j/L},{\rm sin}(pos/{10000}^{2\pi j/L}\Big] γ(pos,j)=Cat[cos(pos/100002πj/L,sin(pos/100002πj/L]

在训练阶段,VADv2通过KL散度约束预测的概率分布和驾驶数据对应分布之间的一致性,并引入额外的场景约束进一步降低存在安全风险的轨迹的概率。在推理阶段,VADv2在每一个时刻从轨迹概率分布中采样一条高置信度的轨迹用于车辆控制。由于输出多模式的轨迹簇,VADv2也可以和基于优化或规则的规控架构结合,进行二阶段优化以及筛选过滤。

在这里插入图片描述
图9|CARLA闭环规划性能©️【深蓝AI】

在这里插入图片描述
图10|消融实验©️【深蓝AI】

3. 闭环验证

在CARLA仿真器上,VADv2能够长时间控车稳定地行驶,正确地响应交通信号灯,通过复杂路口,与其他车辆和行人交互,刹停避障等。同时,VADv2也在Town05 Benchmark上取得了显著优于其他方法的闭环性能(图9)。消融实验如图10所示,验证了各类token隐式表征和概率分布约束的有效性。更多闭环验证的可视化结果可以参考项目主页https://hgao-cv.github.io/VADv2。

总结与展望

VADv1提出了基于矢量化场景表征的端到端自动驾驶框架,在模型表现和效率上都取得了不错的表现;VADv2则进一步探索了对于驾驶决策多模态的建模学习方案,从而实现更精确鲁棒的规划表现。VADv2在CARLA仿真器上的闭环实验初步验证了该范式的可行性。

我们未来的研究方向是如何与现有的规控架构结合进一步提升系统的鲁棒性,以及在更加复杂的真实场景中展开验证。

参考文献:

[1] Jiang B, Chen S, Wang X, et al. Perceive, interact, predict: Learning dynamic and static clues for end-to-end motion prediction[J]. arXiv preprint arXiv:2212.02181, 2022.

[2] Liao B, Chen S, Wang X, et al. Maptr: Structured modeling and learning for online vectorized hd map construction. ICLR 2023.

[3] Liao B, Chen S, Zhang Y, et al. MapTRv2: An End-to-End Framework for Online Vectorized HD Map Construction[J]. arXiv preprint arXiv:2308.05736, 2023.

[4] Hu Y, Yang J, Chen L, et al. Planning-oriented autonomous driving. CVPR 2023.

[5] Li Z, Wang W, Li H, et al. Bevformer: Learning bird’s-eye-view representation from multi-camera images via spatiotemporal transformers. ECCV 2022.

[6] Hu S, Chen L, Wu P, et al. St-p3: End-to-end vision-based autonomous driving via spatial-temporal feature learning. ECCV 2022.

[7] Chitta K, Prakash A, Jaeger B, et al. Transfuser: Imitation with transformer-based sensor fusion for autonomous driving[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022.

移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态👇
深蓝AI·赋能AI+智驾+机器人

### VAD 技术原理 基于矢量场景表征的端到端自动驾驶VAD)是一种创新的方法,它通过引入高效的矢量化场景表示来解决传统自动驾驶系统中存在的计算效率低、安全性不足以及规划复杂度高的问题[^2]。该方法的核心在于利用一种全新的矢量化场景表示方式,能够更高效地处理复杂的交通环境数据。 #### 矢量化场景表示 VAD 方法采用了一种名为 **Vectorized Scene Representation (VSR)** 的技术,用于将传感器获取的数据转换成紧凑而有效的矢量形式。这种表示不仅减少了存储需求,还显著提升了模型推理的速度和精度。具体而言,这种方法通过对道路几何形状、车道线和其他静态或动态对象进行参数化建模,从而实现了对周围环境的高度抽象表达。 #### 概率规划框架 为了进一步增强系统的鲁棒性和适应能力,VAD 还集成了概率规划模块。这一部分允许车辆在面对不确定性因素时做出更加合理的选择。例如,在预测其他交通参与者的行为方面,VAD 使用了先进的贝叶斯网络或其他统计学习工具来进行行为推断,并据此调整自身的驾驶策略[^1]。 --- ### 实现细节 以下是关于如何实现 VAD 的一些关键技术要点: #### 数据预处理阶段 在实际部署之前,原始感知数据通常来自多种异构源,比如摄像头图像、激光雷达点云或者毫米波雷达信号等。这些多模态输入会被映射至鸟瞰图视角下的统一空间坐标系下,形成所谓的 BEV 表示[^3]。随后经过一系列卷积操作提取特征并逐步融合不同层次的信息,最终得到高层次语义理解的结果作为后续决策依据的一部分。 ```python def preprocess_bev(data): """ 将多模态传感器数据转化为BEV视图。 参数: data: 多模态传感器数据 返回: bev_map: 鸟瞰图格式的地图表示 """ # 转换为BEV投影 bev_map = project_to_bev(data) # 特征提取与融合 features = extract_features(bev_map) fused_data = fuse_multimodal(features) return fused_data ``` #### 训练过程设计 训练过程中采用了大量真实世界采集来的标注样本集合,配合强化学习算法不断优化控制器参数直至满足性能指标为止。值得注意的是,由于整个架构完全可微分特性使得反向传播机制可以直接作用于底层物理硬件层面之上,极大地简化了调试难度同时也提高了收敛速度。 #### 推理时间优化 考虑到实时性要求极高,因此特别注重降低每一步运算耗时。一方面通过剪枝冗余分支减少不必要的计算开销;另一方面则借助专用AI加速芯片完成关键路径上的密集矩阵乘法任务,确保整体帧率达到行业标准以上水平。 --- ### 应用案例分析 目前已有多个知名厂商在其最新一代产品线中采纳了类似的思路构建下一代智能网联汽车平台解决方案。例如特斯拉推出的FSD Beta版本便广泛运用到了上述提到的部分设计理念和技术手段,成功展示了其卓越的实际效果表现。 尽管如此,仍需注意到当前仍然存在若干挑战亟待攻克,包括但不限于极端天气条件下的可靠性验证、跨区域文化差异带来的规则冲突等问题都需要在未来研究方向上给予更多关注和支持。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值