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

2024-04-27 14:04

本文主要是介绍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也不是简单把所有的任务模块堆叠,每个特征他们之间的关系以及学习构建的方式都做了清晰的明确,实现了最终的联合决策规划。

这篇关于UniAD:以规划为导向的端到端自动驾驶的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/940698

相关文章

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

浅谈MySQL的容量规划

《浅谈MySQL的容量规划》进行MySQL的容量规划是确保数据库能够在当前和未来的负载下顺利运行的重要步骤,容量规划包括评估当前资源使用情况、预测未来增长、调整配置和硬件资源等,感兴趣的可以了解一下... 目录一、评估当前资源使用情况1.1 磁盘空间使用1.2 内存使用1.3 CPU使用1.4 网络带宽二、

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我