作者:蔡道清 链接:https://zhuanlan.zhihu.com/p/5921851610Motivation
写在前面的话:
你想知道量产端到端范式里面到底使用了那些经典的网络结构吗?又会遇到哪些问题,今天让我们一些梳理了一些在端到端量产范式中用到的一些经典论文的解读,希望对大家有所帮助!
SparseDrive论文
Motivation:
本文认为现有的端到端方法主要存在两个问题:一个是BEV范式下的方法非常耗算力;另一个是预测和planning串联式的方式不够好。基于此,本文提出一种Sparse范式下的端到端方法,且预测和planning并行。
Contribution:
提出了一个Sparse范式下的端到端方案;
设计了并行架构的motion planner,即同时预测agent的轨迹和自车的轨迹,进一步的,提出了一种分层规划选择策略,该策略结合了碰撞感知重新评分模块来提高规划性能;
nuScenes 上 SOTA。
Method:
三个重要模块:
图像编码器
图像编码器没有特别的地方,主要作用就是把多路图像编码成不同尺度的特征:
Symmetric Sparse Perception
parallel motion planner(重点)
这个模块由三部分组成:ego instance initialization,spatial-temporal interactions和hierarchical planning selection。
Experiment
训练策略:两阶段,第一阶段训练前面的感知模块;第二阶段联合训练。
试验结果里,我们需要关注一下预测和规划一起出,这个方式是否是好的,以前的方式是先有了周围目标的预测轨迹,再出自车的规划轨迹,其实自车的运动也会影响到其他目标。而本文考虑了这个因素,第二行是串行的方式,对比第一行,是差一丢丢。但是这点差距也很难说明什么,可能得重点分析一下和自车存在交互的目标的轨迹?
另外,文中还对 把根据碰撞风险给轨迹打分的策略放在后优化,还是放在训练阶段 做了比较,结果表明集成到训练里更好。
小结
SparseDrive 是个很适合落地的工作,模型结构简单,比较适合当前模块化的方案进一步演进。
预测和规划一体化,考虑agent和ego之间的互相影响,非常的符合直觉。甚至进一步的,可以考虑车辆交互间的博弈关系,值得拓展一下。
HE-DRIVE
Motivation:
HE-Drive针对的问题有两个,一个是生成轨迹的时序一致性,另一个是轨迹的舒适性。
Contribution:
Diffusion-based Motion Planner: 提出了基于Diffusion的planner,这里采用的是condition dp(diffusion policy)的模型结构,具体细节可以参考我之前的文章。
Plug-and-Play Trajectory Scorer: 一个VLM引导的轨迹打分器;
nuScenes和OpenScene上的SOTA表现。
Method:
HE-Drive主要有三个重要模块:
Sparse perception:感知复用了SparseDrive里面的模块,包括detection,tracking和mapping。
diffusion-based 规划器:diffusion-based的规划器的模型用的是我之前介绍的文章里的cnn范式下的结构,输入的condition是sparse 范式下的感知结果,自车状态和历史预测轨迹,历史轨迹中包括了位置,速度,加速度,yaw,输出是噪声,维度是
[ 𝐵 , 𝑁 𝑎 , 𝑇 𝑖 , 𝑃 ] [B, N_a, T_i, P] ,其中B是batch size,N_a是轨迹点数量,T_i是轨迹点之间的时间间隔,𝑖 = 0.5 , 1 , 1.5 , 2 , 2.5 , 3 i=0.5,1,1.5,2,2.5,3 ,P是位置( 𝑥 , 𝑦 ) (x,y) 。dp的优势在于能够建模轨迹中的多模态,且轨迹生成上比较丝滑,时序一致性比较好。
第二步是引入VLMs,这里VLMs的使用也是分两阶段,第一阶段主要是减轻大模型的幻觉,更适合自动驾驶领域,具体而言,搞了一个有多路图像的数据集,其中标注了对当前驾驶场景的描述、周围代理的运动状态(即人和车辆)和当前驾驶风格(即激进或保守)以及权重调整值。通过多轮对话,让大模型能理解自动驾驶领域的上下文信息。这里选用了Llama3.2V。第二阶段是用GPT-4o生成一系列提示词,每隔5秒调用大模型,矫正预设的weights参数,以此来更改驾驶风格。这里可以看到,大模型不是实时调用的。
Experiment
训练策略:三步走,第一步训练前面的sparse perception模块,第二步训练diffusion planner模块,第三步联合训练。
试验部分需要关注一下dp是不是真的让轨迹时序性更好,以及vlms是不是真的让轨迹更舒适。下表中的第二行和第一行的对比,确实可以看出VLM引导的打分器会让输出的轨迹更好一点。而从可视化图里面看出,连续帧之间的轨迹还是比较一致的。
小结:
diffusion policy的优势在于可以比较好的建模轨迹的多模态特性,本文算是将condition dp应用到自动驾驶planning的一个比较好的工作,dp的缺点是推理耗时长,不容易部署上车,不过diffusion的优化改进版本有很多,推理时延应该不是个大问题。
整个系统其实还是偏传统的端到端结构,端到端系统出轨迹以后,后面跟一个planning后处理模块,这里是一个vlm引导的打分器,实际落地可能会更复杂。本文尝试了在后处理模块引入VLMs,算是vlm和端到端系统融合方式的探索吧。有一定借鉴的意义,不过实际应用性不足
关于更多的端到端量产范式的问题,详见我们的自动驾驶之星知识星球!
自动驾驶之星和生成式AI与具身智能知识星球,新人优惠券来袭,结识一群志同道合的小伙伴一起成长。
下一个风口会不会是生成式AI 与具身智能的时代,我们特意创建了生成式AI与具身智能交流社区,关于大模型,机器人的相关业界动态,学术方向,技术解读等等都会在社区与大家交流,欢迎感兴趣的同学加入我们(备注具身智能)!
自动驾驶之星知识星球主打自动驾驶量产全技术栈学习,并包括: 学习板块,求职面试,有问必答,论文速递,行业动态五大板块!星球内部包括端到端大模型,VLM大模型,BEV 障碍物/车道线/Occ 等的学习资料!
生成式AI与具身智能知识星球,我们相信生成式AI 与具身智能会碰撞出出乎我们意料的内容,本知识形象并包括: 学习板块,求职面试,有问必答,论文速递,行业动态五大板块!星球内部包括生成式AI大模型,具身智能,业界资料整理等的学习资料!
👇点个“赞”和“在看”吧