CVPR自动驾驶公开赛冠军!Hydra-MDP: 端到端多模态规划与多目标 Hydra 蒸馏

文摘   2024-08-10 02:28   上海  

Projection:https://github.com/NVlabs/Hydra-MDP

Arxiv:https://arxiv.org/pdf/2406.06978

本期概述

NVIDIA 采取行动加速自动驾驶汽车的开发,成为2024年美国西雅图举办的国际计算机视觉与模式识别会议(CVPR)会议的自动驾驶国际挑战赛的获胜者!不得不说,显卡厂还是有点东西!我们今天来学习这个强力的自动驾驶方案:Hydra-MDP!

Hydra-MDP旨在解决端到端自动驾驶中常见的不足,特别是模仿学习(IL)在开放回路评价中的局限性。Hydra-MDP是一种通过多目标Hydra蒸馏(Hydra-Distillation)进行多模态规划的框架。该框架采用师生模型的知识蒸馏方法,从多个教师(包括人类和基于规则的教师)中学习,学生模型通过多头解码器学习不同的轨迹候选方案,以适应不同的评价指标。

Hydra-MDP的主要创新点包括:
  1. 多目标学习与多模态规划的结合:与传统的单目标或单模态方法相比,Hydra-MDP能够同时处理多个评价指标,并能够在一个统一的框架内集成从不同教师处获得的知识。这使得模型在复杂的驾驶环境中具有更好的泛化能力和鲁棒性。
  2. 全新的端到端学习架构:传统的规划方法通常依赖于后处理步骤,这些步骤往往是不可微的,且可能导致信息丢失。而Hydra-MDP通过一体化的端到端架构,避免了这些后处理步骤,确保了信息的完整性和模型的可扩展性。
  3. 改进的知识蒸馏技术:论文引入了多目标Hydra蒸馏技术,使得学生模型不仅能够学习模仿人类驾驶行为,还能结合规则基础的规划结果,从而提升闭环性能,确保车辆在实际驾驶场景中的安全性、舒适性和合规性。

展示了三种端到端规划范式的对比。(a)单模态规划和单目标学习的传统方法。规划直接依赖于感知数据的输入,但只受限于有限的监督,即使用日志重播(Log-replay)进行回放。这种方法通常只注重一个单一的目标,且在监督信息上存在不足。(b)多模态规划和单目标学习的方法。多模态方法引入了多种感知信息,并通过后处理步骤来选择最优的规划。然而,这种方法存在信息损失的问题,因为感知模块与规划模块之间存在一定的脱节,导致感知信息无法被充分利用。(c)Hydra-MDP多模态规划与多目标学习。该方法不仅利用了来自多个教师(包括人类和规则基础的教师)的知识,还通过仿真全面利用了感知数据的真实值。

PipeLine

Hydra-MDP的pipeline,包括(1)感知网络、(2)轨迹解码器和(3)多目标Hydra蒸馏部分。感知网络部分通过融合LiDAR和前视图像信息生成环境特征(Env. Tokens)。轨迹解码器部分将输入的规划词汇(Planning Vocabulary)与环境Token结合。多目标Hydra蒸馏部分通过多个基于规则的教师模型,利用仿真环境下的指标(例如无责任碰撞、可驾驶区域符合性等)对预测轨迹进行评估。

感知网络Perception Network感知网络部分基于Transfuser方法构建,包含图像骨干网络(Image Backbone)和LiDAR骨干网络 (LiDAR Backbone),用于处理来自不同传感器的数据。这两个网络通过Transformer层连接,提取出有最终的感知网络输出环境Token 。同步,感知网络输出环境特征和地面实况感知数据(Ground truth Perceptions),用于训练中的监督。

Transfuser projection:https://github.com/autonomousvision/transfuser

Transfuser paper:https://www.cvlibs.net/publications/Chitta2022PAMI.pdf

感知网络的整体结构

轨迹解码器(Trajectory Decoder)使用了一个基于Transformer的解码器结构,将输入的规划词汇 (Planning Vocabulary)与环境Token结合。规划词汇由 条轨迹聚类得到,用于表示可能的轨迹选择。Transformer解码器生成预测轨迹,并通过一个多层感知器(MLP)计算模仿得分( ),即预测轨迹与人类教师的参考轨迹之间的相似度。

该部分直接看图不太容易理解,小编总结如下:

规划词汇的构建:规划词汇 (Planning Vocabulary) 是通过从nuPlan数据库中采样70万条轨迹并进行K-means 聚类生成的。每条轨迹由 40 个时间戳的坐标 ( ,航向角)组成,涵盖了未来4秒的驾驶路径。通过K-means聚类,得到的聚类中心形成了规划词汇表,用来表示可能的轨迹选择。
Transformer编码器:规划词汇表中的每个轨迹输入到Transformer编码器中。Transformer将这些嵌入查询与自车的状态信息(Ego status,E)相结合,生成更具表达性的特征表示。
这里, 代表的是通过MLP处理后的规划词汇, 分别代表查询 (Query)、键 (Key) 和值 (Value)。 是编码后的轨迹表示,加上自车状态信息 ,形成最终的编码结果。
环境信息的融合:环境Token 是由感知网络输出的。Transformer解码器将环境Token与轨迹编码结果融合,生成用于最终决策的轨迹表示:
 作为查询 (Query),环境Token 作为键(Key)和值(Value)。生成的轨迹表示 更好地反映了当前的驾驶环境,能够更准确地预测出适应不同驾驶条件的轨迹。
模仿损失:轨迹解码器的输出会与人类驾驶的参考轨迹进行比较,计算模仿损失 。模仿损失的核心思想是奖励那些与人类驾驶行为更接近的轨迹。使用距离为基础的交叉嫡损失函数来实现这个目标:
其中, 是通过轨迹与日志重播轨迹之间的L2距离计算得到的模仿目标分布:
这里, 代表日志重播轨迹, 代表规划词汇表中的第 条轨迹。通过这个公式,计算出与人类驾驶行为最为接近的轨迹的概率分布。最终,使用Softmax函数将距离转化为概率分布,并计算轨迹的模仿损失。

轨迹选择:通过计算出的模仿损失,选择最优的轨迹用于实际的驾驶决策。

多目标Hydra蒸馏部分(Multi-target Hydra-Distillation):旨在通过多目标学习和知识蒸馏的方式,提升模型在不同驾驶场景中的闭环性能。通过结合多个教师模型的知识,使得学生模型能够更好地应对各种驾驶场景下的挑战。这些目标包括无责任碰撞(No at-fault Collisions),可驾驶区域符合性(Drivable Area Compliance),以及舒适性(Comfort)等。

Hydra-Distillation的学习过程分为两个主要步骤:离线仿真生成真实分数和学习阶段的蒸馏损失。
1.离线仿真生成真实分数:
在训练过程中,首先使用规则基础的教师模型对整个训练数据集进行离线仿真。对于每一个轨迹,通过仿真计算其在不同评价指标下的真实分数 ,其中 表示不同的指标(例如无责任碰撞、可驾驶区域符合性等), 表示轨迹的编号。
2.学习阶段的蒸馏损失
在学生模型的学习阶段,轨迹解码器生成的潜在轨迹表示 被传入一组Hydra预测头(Hydra Prediction Heads),这些预测头用于预测每个轨迹在各个指标下的分数 。通过使用二元交叉熵损失函数,将预测分数与教师模型生成的真实分数对齐,从而实现知识的蒸馏。蒸馏损失函数定义为:
其中, 是通过MLP(多层感知器)从轨迹解码器输出的轨迹表示中预测的分数,而 是通过规则基础的教师模型仿真生成的真实分数。这个损失函数的目标是将学生模型的输出尽可能逼近教师模型的结果,从而在各个目标上实现最佳性能。
每个目标分数的蒸馏损失会被加权组合,最终得到整体的轨迹评价。轨迹解码器通过优化这些加权组合后的分数,选择出最终的最优轨迹。

推断和后处理策略(Inference and Post-processing):包括如何在实际驾驶场景中选择最优轨迹以及如何通过模型集成增强性能。

推断阶段(Inference):综合模仿分数和各个指标子分数,以选择最适合当前情境的轨迹。Hydra-MDP框架利用以下公式计算每条轨迹的综合成本:

其中, 是模仿分数,  和 是不同安全和性能指标的分数, 是权重系数,用于平衡不同指标的影响。通过最小化综合成本 ,选择最优轨迹。
后处理(Post-processing):主要涉及两种模型集成技术,用以提升轨迹预测的准确性和鲁棒性:
1.编码器混合(Mixture of Encoders):使用线性层来结合来自不同视觉编码器的特征。通过编码器混合,模型可以更好地泛化到未见过的环境,提升预测的准确性。
2.子分数集成 (Sub-score Ensembling) :计算来自独立模型的子分数的加权和,用于轨迹选择。不同模型可能对特定类型的场景有更好的敏感度,通过集成这些模型的输出,可以显著提升整体性能。
Experiments

数据集和评价指标(Dataset and Metrics):实验使用了Navsim数据集,这是基于OpenScene的简化版本,主要聚焦于涉及意图变化的场景,无法简单地通过历史数据推导未来的驾驶规划。数据集分为训练/验证集(Navtrain)和测试集 (Navtest),分别包含1192个和136个场景。

模型的表现通过PDM得分进行评估,PDM得分的公式如下:

其中,NC表示无责任碰撞率(No at-fault Collisions),DAC表示可驾驶区域符合性(Drivable Area Compliance),TTC表示碰撞时间(Time to Collision),C表示舒适度(Comfort),EP表示自我进展(Ego Progress)。实验中忽略了DDC指标,原因是实现中存在问题。
实验结果 (Main Results):Hydra-MDP在Navsim挑战中表现出显著的性能优势。特别是使用8192个词汇的 Hydra-MDP-V8192在所有评价指标上均优于基线方法。定量结果如下:
  • Hydra-MDP-V8192 在Navtest上的总得分为 83.0,相比基线方法的 80.9 有明显提升。
  • Hydra-MDP-V8192-W 进一步通过加权置信度在推断过程中提升性能,总得分达到 85.7。
  • 最终版本 Hydra-MDP-V8192-W-EP 在引入自我进展(Ego Progress)指标的蒸馏后,总得分达到了 86.5,是所有方法中表现最优的。
扩展与模型集成 (Scaling Up and Model Ensembling):更大规模的数据集和更复杂的模型结构上扩展Hydra-MDP框架的效果。通过引入更强大的视觉编码器(如ViT-L和V2-99),Hydra-MDP在Navtest上的表现继续提升:
  • Hydra-MDP-C 结合了ViT-L和V2-99编码器,总得分达到了 91.0,显示了该模型的强大扩展能力。


演示视频:https://www.bilibili.com/video/BV1Pi421i7Ch?t=175.9
往期回顾
GaussianBEV:首次将3D Gaussian引入BEV感知应用
无需模块化和 3D 手动标注的端到端自动驾驶,UAD框架解析(1)
高度提炼 | DreamCar??严肃!这个可不是魅族汽车!在moving-froward场景中的3D车辆重建!
ICML 2024 | Best Paper新鲜出炉!AIGC持续霸榜中... ...
深度聚焦|最强落地端到端自动驾驶算法!Tesla FSD v12公开模型分享!
如果对你的开发、科研有帮助,拜托拜托关注我们,我们将持续奉上优秀的端到端自动驾驶领域研究的分享干货!

温馨提示:点赞=学会,收藏=精通
点击在看,我们一起充电!



端到端自动驾驶
关注AD(Autonomous Driving)行业最前沿的人工智能解决方案,致力于打造为一个自动驾驶从业者及相关科研学者们的课外充电,技术分享,以及社区交流的服务平台!
 最新文章