CVPR‘25 SOTA——GoalFlow论文精读
1)第一遍___粗读
Q: 这篇论文试图解决什么问题?
A: 这篇论文提出了一个名为 GoalFlow 的端到端自动驾驶方法,旨在解决自动驾驶场景中高质量多模态轨迹生成的问题。具体而言,它试图解决以下问题:
-
轨迹选择的复杂性:在自动驾驶中,通常不存在单一的合适轨迹,而是存在多种可能的轨迹选择。现有的方法在生成多模态轨迹时,往往面临轨迹选择复杂的问题,难以从众多候选轨迹中快速准确地选出最优轨迹。
-
轨迹发散问题:基于扩散模型的方法在生成轨迹时容易出现轨迹发散的问题,导致生成的轨迹与真实轨迹差异过大,降低了轨迹的质量。
-
引导信息与场景信息的一致性:现有的一些方法使用引导信息(如预定义的目标点)来生成轨迹,但这些引导信息与真实轨迹之间的差距可能导致生成低质量的轨迹。此外,这些方法在引导信息与场景信息不一致时,难以生成符合实际道路网络的轨迹。
-
端到端系统中的轨迹生成:在端到端自动驾驶系统中,现有的方法主要关注碰撞率和 L2 距离等指标,而忽视了车辆是否保持在可行驶区域内。此外,大多数方法基于回归模型,当引导信息与真实值偏差较大时,容易生成低质量的轨迹。
为了解决这些问题,GoalFlow 引入了一种新的目标点引导机制,通过精确的目标点来约束生成过程,从而生成高质量的多模态轨迹。同时,它采用了 Flow Matching 方法来高效生成轨迹,并通过评分机制从候选轨迹中选择最优轨迹。
Q: 有哪些相关研究?
A: 论文中提到了以下相关研究:
端到端自动驾驶
-
早期方法:早期的端到端自动驾驶方法主要使用模仿学习,直接从输入图像中提取特征以生成轨迹。例如,Codevilla 等人的工作[4]和 Codevilla 等人的后续研究[5]。
-
Transfuser:Transfuser[3]通过融合摄像头和激光雷达信息进行感知,并使用辅助任务(如地图构建和目标检测)为感知提供监督。
-
FusionAD:FusionAD[32]进一步发展了 Transfuser,将融合的感知特征直接传播到预测和规划模块。
-
UniAD:UniAD[15]引入了统一查询设计,使框架最终以规划为导向。
-
VAD:VAD[17]通过简化感知任务并将场景表示转换为矢量化格式,显著提高了规划能力和效率。
-
VADv2:VADv2[1]对轨迹空间进行了离散化,构建了轨迹词汇表,将回归任务转换为分类任务。
-
PARA-Drive:PARA-Drive[29]并行执行地图构建、规划、运动预测和占用预测任务。
-
GenAD:GenAD[34]使用 VAE 和 GRU 进行时间轨迹重建。(小米的VLA尾部很像)
-
SparseDrive:SparseDrive[26]在矢量化场景表示方面取得了进展,省略了更密集的 BEV 表示。
扩散模型和 Flow Matching
-
早期生成模型:早期的生成模型通常使用 VAE[21] 和 GAN[10] 进行图像生成。
-
扩散模型:扩散模型通过迭代添加和移除噪声来生成图像,DDPM[14] 是这一领域的开创性工作。后续方法[25]进一步优化了采样效率,CFG[13]增强了生成输出的鲁棒性。
-
Flow Matching:Flow Matching[22]通过建立从一个分布到另一个分布的向量场来进行生成建模。Rectified Flow[23] 是 Flow Matching 的一种特定形式,它通过最优传输[24]路径直接线性过渡。
多模态轨迹生成
-
操纵任务中的多模态建模:在操纵任务中,Cheng 等人[2]通过应用扩散模型取得了显著成功。
-
自动驾驶中的多模态策略:
-
基于离散命令的方法:
-
VAD[17]使用离散命令来引导轨迹生成,产生三种不同的轨迹模式。(left,straight,right)
-
SparseDrive[26]和[16]从数据集中聚类固定的导航点以引导轨迹。
-
直接应用扩散模型:一些方法[18, 28, 31]直接引入扩散模型来生成多模态轨迹,在轨迹预测中取得了成功,但在端到端应用中面临挑战。
-
Diffusion-ES[31]需要基于 HD 地图的评分机制来与真实世界道路网络对齐,这在端到端环境中难以获得。
-
MotionDiffuser[18]通过使用真实终点作为约束来解决轨迹发散问题,但引入了过于强烈的先验信息。
-
GoalGAN[8]首先预测目标点,然后使用它来引导 GAN 网络生成轨迹,但它使用网格单元来采样目标点,没有考虑目标点的分布。
-
Q: 论文如何解决这个问题?
A: 论文通过提出 GoalFlow 方法来解决自动驾驶场景中高质量多模态轨迹生成的问题,具体方法如下:
目标点引导机制---FlowMatching---轨迹选择
Q: 论文做了哪些实验?
A: 论文中进行了以下几类实验来验证 GoalFlow 方法的有效性和性能:
1. 与现有方法的比较实验
- 实验环境:在 Navsim 环境中进行测试,该环境包含 1192 个训练验证场景和 136 个测试场景,总共有超过 10 万个样本。
- 评估指标:使用以下指标来评估生成轨迹的质量:
- SNC(无责任碰撞):衡量生成轨迹是否会导致碰撞。
- SDAC(可行驶区域合规性):衡量轨迹是否保持在可行驶区域内。
- STTC(时间到碰撞):衡量轨迹与周围物体的潜在碰撞时间。
- SEP(自我进度):衡量轨迹是否能够有效推进车辆。
- SCF(舒适性):衡量轨迹的平滑性和舒适性。
- SDDC(驾驶方向合规性):衡量轨迹是否符合驾驶方向(由于实际限制,此指标未在计算中使用)。
- 比较方法:与以下几种现有方法进行比较:
- Constant Velocity:假设车辆以恒定速度前进。
- Ego Status MLP:仅使用当前状态作为输入,通过 MLP 生成轨迹。
- LTF:Transfuser 的简化版本,使用图像和 LiDAR 输入。
- Transfuser:使用图像和 LiDAR 输入,通过 Transformer 融合生成轨迹。
- UniAD:使用多个 Transformer 架构处理信息,专注于规划任务。
- PARA-Drive:并行执行地图构建、规划、运动预测和占用预测任务。
- 结果:GoalFlow 在所有评估指标上均优于其他方法,特别是在 SDAC 和 SEP 上表现突出,分别比第二好的方法高出 5.5 和 5.7 个百分点。
2. 消融研究
- 实验目的:验证 GoalFlow 中各个组件的贡献。
- 实验设置:
- M0:仅使用 Rectified Flow 生成轨迹,不使用目标点引导。
- M1:在 M0 的基础上引入距离评分图,选择得分最高的目标点引导 Rectified Flow。
- M2:在 M1 的基础上引入可行驶区域合规性评分图。
- M3:在 M2 的基础上引入轨迹评分器。
- 结果:
- M0:在 DAC 和 TTC 上表现优于基线方法,表明基于 Flow Matching 的模型具有强大的建模能力。
- M1:引入距离评分图后,性能显著提升,特别是在 DAC 和 TTC 上。
- M2:进一步引入可行驶区域合规性评分图,进一步提升了 DAC 分数。
- M3:引入轨迹评分器后,进一步提升了轨迹选择的可靠性,最终在所有指标上取得了最佳性能。
3. 不同去噪步骤的实验
- 实验目的:评估在不同去噪步骤下 GoalFlow 的性能。
- 实验设置:在推理过程中使用不同数量的去噪步骤(从 20 步到 1 步)。
- 结果:
- 即使在仅使用 1 步去噪的情况下,GoalFlow 依然能够保持高性能,仅比最优情况下降了 1.6%。
- 这表明 Flow Matching 方法在推理过程中具有高效性,适合实时自动驾驶系统。
4. 不同初始噪声的实验
- 实验目的:评估不同初始噪声分布对轨迹生成的影响。
- 实验设置:在训练过程中使用不同标准差 σσ 的高斯分布作为初始噪声。
- 结果:
- 当 σσ 超过 0.1 时,生成的轨迹变得过于发散,导致性能显著下降。
- 当 σσ 小于 0.1 时,性能保持稳定,表明适当的噪声水平对于生成高质量轨迹至关重要。
5. 模型扩展实验
- 实验目的:评估模型扩展对性能的影响。
- 实验设置:
- 维度扩展:在相同的 V2-99 骨架下,增加 Transformer 的隐藏维度。
- 骨干网络扩展:比较不同骨干网络(如 ResNet-34 和 V2-99)对性能的影响。
- 结果:
- 增加隐藏维度和使用更大的骨干网络均能提升性能,最佳性能在隐藏维度为 1024 时取得。
- 不同骨干网络在分数分布上存在显著差异,表明不同的网络架构对目标点信息的学习方式不同。
6. 可视化实验
- 轨迹可视化:生成了多种场景下的轨迹,包括直行、左转、右转和让行场景,展示了 GoalFlow 生成的轨迹多样性和质量。
- 目标点分布可视化:展示了目标点的分布情况,包括距离评分、可行驶区域合规性评分和最终评分,验证了目标点选择机制的有效性。
通过这些实验,论文全面验证了 GoalFlow 在多模态轨迹生成方面的性能和鲁棒性,证明了其在端到端自动驾驶中的应用潜力。
Q: 有什么可以进一步探索的点?
A: 论文中提出了一种有效的方法来生成高质量的多模态轨迹,但仍有一些可以进一步探索的点:
1. 目标点的进一步优化
-
目标点的动态调整:目前的目标点选择是基于静态的评分机制,可以探索动态调整目标点的方法,例如根据实时交通状况和周围车辆的行为动态更新目标点。
-
多目标点的联合建模:目前的方法主要关注单个目标点的引导,可以探索多目标点的联合建模,以更好地捕捉复杂的交通场景和多模态轨迹。
2. 模型的泛化能力
-
跨场景泛化:虽然在 Navsim 环境中取得了良好的性能,但可以进一步探索模型在不同驾驶场景(如城市道路、高速公路、乡村道路等)中的泛化能力。
-
跨数据集泛化:在其他自动驾驶数据集上验证模型的性能,以确保其在不同环境和条件下的鲁棒性。
3. 模型的效率和实时性
-
推理时间优化:尽管 Flow Matching 方法已经减少了推理时间,但进一步优化推理时间对于实际应用至关重要。可以探索更高效的网络架构或优化算法来进一步提高实时性。
-
硬件加速:研究如何利用硬件加速(如 GPU、FPGA 等)来进一步提高模型的推理速度。
4. 与其他技术的融合
-
与强化学习的结合:结合强化学习方法,使模型能够根据环境反馈动态调整轨迹生成策略。
-
与自然语言处理的结合:利用自然语言处理技术,使模型能够理解和处理自然语言指令,生成符合人类驾驶习惯的轨迹。
5. 轨迹生成的多样性
-
多样性增强:虽然 Flow Matching 方法能够生成多模态轨迹,但可以进一步探索如何增强轨迹的多样性,以更好地覆盖不同的驾驶场景和行为模式。
-
轨迹的可解释性:提高轨迹生成过程的可解释性,使人类驾驶员能够理解模型的决策过程。
6. 安全性和可靠性
-
安全机制的增强:进一步增强模型的安全机制,例如引入更复杂的安全检查和碰撞预测算法,以确保生成的轨迹在各种复杂场景下的安全性。
-
可靠性评估:建立更全面的可靠性评估指标,不仅包括轨迹的质量,还包括模型在不同条件下的稳定性和鲁棒性。
7. 模型的可扩展性
-
大规模数据集训练:在更大的数据集上训练模型,以提高其对不同驾驶场景和行为模式的覆盖能力。
-
多任务学习:探索多任务学习框架,使模型能够同时处理多个相关任务(如目标检测、轨迹预测、规划等),以提高整体性能。
8. 用户交互和反馈
-
用户交互机制:引入用户交互机制,使驾驶员能够实时调整或干预轨迹生成过程,以更好地满足实际驾驶需求。
-
反馈学习:利用驾驶员的反馈进行在线学习,使模型能够根据用户的偏好和行为模式进行动态调整。
这些探索方向不仅可以进一步提升 GoalFlow 方法的性能和应用范围,还可以为自动驾驶领域的研究提供新的思路和方法。
2)第二遍___细读
目标引导机制:
精确的目标点选择
-
构建目标点词汇表:通过聚类训练数据中的轨迹末端点,构建一个密集的目标点词汇表。这使得目标点能够覆盖各种可能的驾驶场景和行为模式,为轨迹生成提供了丰富的候选点。
-
评分机制:使用距离评分和可行驶区域合规评分来评估每个目标点。距离评分衡量目标点与真实轨迹末端点的接近程度,值越接近1表示越接近真实终点;可行驶区域合规评分确保目标点位于可行驶区域内,值为1表示目标点在可行驶区域内,值为0表示不在。通过加权融合这两个评分,选择评分最高的目标点作为轨迹生成的引导信息,从而确保生成的轨迹既符合实际道路情况,又接近真实的驾驶意图。
对轨迹生成过程的约束
-
约束轨迹方向:目标点为轨迹生成提供了明确的方向指引,使得生成的轨迹朝着目标点方向发展,避免了轨迹的随意发散。这有助于减少轨迹与真实轨迹之间的差异,提高轨迹的准确性和可靠性。
-
结合场景信息:目标点的选择是基于场景信息进行的,考虑了周围车辆、道路布局等因素。这样生成的轨迹不仅符合目标点的指引,还能与周围的交通环境相协调,更好地适应复杂的驾驶场景。
提升轨迹的多样性和适应性
-
多模态轨迹生成:通过选择不同的目标点,可以生成多种不同模式的轨迹,满足不同场景下的驾驶需求。例如,在交叉路口可以选择直行、左转或右转的目标点,生成对应的轨迹,增加了轨迹的多样性。
-
适应不同驾驶场景:目标点引导机制能够根据不同的驾驶场景选择合适的目标点,使生成的轨迹适应各种复杂的交通状况。比如在高速公路上可以选择保持车道或变道的目标点,在城市道路中可以选择避让障碍物或跟随前车的目标点,提高了轨迹生成的适应性和灵活性。
增强轨迹的安全性和可行性
-
确保轨迹在可行驶区域内:通过可行驶区域合规评分的筛选,确保所选目标点位于可行驶区域内,从而保证生成的轨迹不会驶出道路或进入禁止通行的区域,增强了轨迹的安全性。
-
减少碰撞风险:目标点的选择考虑了周围车辆和障碍物的位置,生成的轨迹能够更好地避开潜在的碰撞风险,提高自动驾驶系统的安全性。