UniAD:以规划为导向的端到端自动驾驶

文章链接

这个文章是CVPR2023 Best Paper

https://arxiv.org/pdf/2212.10156

提出背景

以往的自动驾驶多数是为不同的任务场景设计部署单独的模型,这样子组成的系统会很复杂如图a。

图b这是多任务共享一个主干,但还是要分离训练,而且不是端到端的。有没有什么方式你可以把所有的环节都串联起来,实现完整的端到端呢?

c.1就是一个直接预测轨迹的方式,但是它的没有明确监督学习中间的过程,所以就如同一个黑箱,基本没有可解释性。c.2做了一些改造加入了一个一个模块,但是串联似乎并不是一个好的设计。最理想的端到端是以最终的规划为导向,并且把前面的任务合理组织促进最终的规划决策的,于是作者提出c.3的端到端自动驾驶规划模型

模型解读

UniAD模型设计:以规划为导向,可以理解为,最终车的轨迹规划是结合了车身轨迹,运动特征,地图语义特征,空间占用特征等做出的综合决策

具体流程

  1. 先对多视角的图片进行特征提取获得BEV特征

  2. 然后用作两个方向:一个通过前后帧结合的自注意力查询,获得根据轨迹检测的特征(Track),实现车辆轨迹跟踪,只有清晰车辆的状态才能进行下一步的规划;另外一个通过查询地图相关元素,得到地图的查询特征(Map),这里也是多层的注意力,最终结果输出到下一个目标

  3. 接下来做轨迹特征预测,这里把前面的车辆跟踪结合地图特征又结合上BEV特征,所有都联合起来进行自注意机制的学习,获得行车运动的轨迹预测(Motion)

  4. 通过Motion轨迹预测再次结合BEV来构建占用网络,获得空间中的占用情况,并且预测占用的变化,占用也是一个关键的特征,只有车辆能够明确占用情况才可以进一步做出安全明智的规划。这里也是多层的Transformer,结合Motion轨迹预测和前后帧的token来实现占用的预测

  5. 通过占用Occ预测,Motion预测还有BEV特征,做出最后的决策规划,这里的规划可以说是集大成的结果,开启可解释性比较强,可以专门针对每个单独模块做优化

总结

这么完整的一套端到端规划流程最大的基石就是Transformer架构,通过自注意力机制,把各种具有不同语义表示的特征结合起来,做下游的规划。不仅如此,模型还基Transformer架构从特征当中获取特征,如Track,Map,Occ。在最后的两步中还是加入了BEV的,我们可以认为BEV就是一个贯穿全程且不断被强化的特征。因为BEV特征是最前且核心的特征,通过传感器直接获取,其他的特征其实都依赖于BEV去查询得到的。UniAD也不是简单把所有的任务模块堆叠,每个特征他们之间的关系以及学习构建的方式都做了清晰的明确,实现了最终的联合决策规划。

相关推荐
夜幕龙3 分钟前
iDP3复现代码数据预处理全流程(二)——vis_dataset.py
人工智能·python·机器人
吃个糖糖20 分钟前
36 Opencv SURF 关键点检测
人工智能·opencv·计算机视觉
AI慧聚堂33 分钟前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
盛世隐者34 分钟前
【pytorch】循环神经网络
人工智能·pytorch
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
开发者每周简报1 小时前
微软的AI转型故事
人工智能·microsoft
dundunmm1 小时前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
普密斯科技2 小时前
手机外观边框缺陷视觉检测智慧方案
人工智能·计算机视觉·智能手机·自动化·视觉检测·集成测试
四口鲸鱼爱吃盐2 小时前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python