Gaussian Noise
搜索文档
DiffusionDriveV2核心代码解析
自动驾驶之心· 2025-12-22 11:23
DiffusionDriveV2模型架构 - 整体架构基于截断扩散模型,并引入强化学习约束,用于端到端自动驾驶 [3] - 环境编码部分融合了BEV特征和自车状态特征,BEV特征通过骨干网络从相机和激光雷达特征中提取并下采样,自车状态通过独立编码器处理,两者拼接后加入位置嵌入 [5][6] - 解码部分采用类似DETR的查询机制,将查询输出分割为轨迹查询和智能体查询,用于后续规划 [7] 轨迹规划模块 - 利用多尺度BEV特征进行轨迹规划,通过上采样和拼接操作融合不同层级的特征,然后进行投影变换 [8] - 规划过程以预定义的轨迹锚点为基础,锚点通过K-Means聚类从真值轨迹中获取,在训练时对锚点进行归一化、加噪和反归一化处理 [9][10][11] - 将加噪后的轨迹锚点通过正弦位置编码转换为查询向量,并与时间编码、BEV特征、智能体查询、自车查询进行交叉注意力计算,最终预测轨迹分类分数和去噪后的轨迹偏移量 [12][13][14][15][16][17][18][19][20][21] - 最终轨迹由预测的轨迹偏移量与加噪的原始轨迹锚点相加得到,并对航向角进行限制 [22] 模态选择与轨迹生成 - 采用模态选择器从多个候选轨迹中选取最终输出 [23] - 在推理(反向去噪)阶段,对规划锚点进行归一化和加噪,然后通过多步迭代的去噪过程生成轨迹,每一步都使用扩散模型解码器预测轨迹并利用调度器进行去噪更新 [25][26][27] - 使用PDM评分器对生成的所有模态轨迹及真值轨迹进行多维度综合评估,评估维度包括安全性、舒适性、规则遵守、进度和物理可行性,并计算加权总分 [27] 强化学习优化与损失函数 - 提出锚点内GRPO方法,在每个锚点对应的轨迹组内执行组相对策略优化,通过计算组内相对优势来更新策略,避免模式崩溃 [27][28] - 对强化学习优势函数进行改进,将所有负优势截断为0,并对发生碰撞的轨迹施加-1的强惩罚,同时引入时间折扣因子,降低未来时间步的奖励权重 [29][30][31][32] - 在扩散过程中创新性地使用尺度自适应的乘性噪声(纵向和横向)替代传统的加性噪声,以保持轨迹的平滑性和结构完整性,避免产生锯齿状路径 [33][35] - 总损失函数结合了强化学习损失和模仿学习损失,以防止过拟合并保持通用驾驶能力 [39] - 训练监督包含真值匹配,将最接近真值的锚点轨迹作为正样本,其余作为负样本,总损失由轨迹恢复损失和分类置信度损失两部分构成 [40][41][42][43]