UniAD

1. 算法动机及开创性思路

1)UniAD算法简介

  • 算法全称:Planning-oriented Autonomous Driving
  • 核心特点:
    • 统一框架整合感知、预测、规划模块
    • CVPR 2023最佳论文
    • 采用查询(query)方式连接各模块
  • 名称含义:
    • Unified:统一多模块的联合框架
    • AD:自动驾驶(Autonomous Driving)

2)算法动机

  • 传统方案问题:
    • 独立模型方案:各任务独立网络导致信息丢失、错误累积、特征不对齐
    • 多任务学习方案:任务间负迁移(对任务A有利的特征可能损害任务B)
    • 早期端到端方案:
      • 直接规划方案:缺乏安全保障和可解释性
      • 简单模块组合:未充分验证模块有效性

3)开创性思路

  • 研究创新:
    • 首个全面整合感知、预测、规划的联合训练框架
    • 采用Transformer查询机制连接模块
  • 技术优势:
    • 查询机制:相比CNN具有更大感受野,减少上游误差累积
    • 规划导向:所有子模块服务于最终规划决策
    • 特征对齐:通过统一框架解决特征misalignment问题

2. 主体结构

1)UniAD整体结构

在这里插入图片描述

  • 模块组成:
    • 特征提取与转换
    • 感知模块(跟踪+建图)
    • 预测模块(运动+占据)
    • 规划模块

2)输入与输出

  • 输入:多视角视觉图像(纯视觉方案)
  • 输出:自车运动轨迹(Ego-vehicle Query)

3)特征提取与转换

  • BEV Former技术:
    • 主车中心划定区域,网格化处理
    • Z轴划分4个格子
    • 通过deformable attention获取特征
    • 融合前一帧BEV特征

4)感知模块

  • 跟踪模块
    在这里插入图片描述

    • 双任务设计:
      • 目标检测:采用Deformable DETR
        • 学习参考点offset降低计算量
      • 多目标跟踪:采用MOTR
        • 解决物体消失/出现的问题
        • 动态切换检测/跟踪query
  • 建图模块
    在这里插入图片描述

    • 全景分割:
      前景:实例分割(车道/人行道)
      背景:语义分割(可行驶区域)

    • 查询改造:
      Thing queries → 车道边界/人行横道
      Stuff queries → 可行驶区域

5)预测模块

  • 运动预测
    在这里插入图片描述

    • 输入特征:
      • 当前物体位置(来自跟踪模块)
      • 6类典型轨迹(K-means聚类得到)
      • 自车坐标系/全局坐标系轨迹
      • 上层输出轨迹
    • 三路交互:
      • Agent-Agent:历史轨迹交互
      • Agent-Map:交通规则约束
      • Agent-BEV:环境特征交互
  • 占据预测
    在这里插入图片描述

    • 时序预测:
      • 输入:跟踪特征+运动预测特征+位置特征
      • 输出:t0-t4五帧占据概率
    • 特征处理:
      • BEV特征1/4下采样→1/8下采样
      • 交叉注意力机制生成mask
      • MLP解码得到最终概率

6)规划模块

在这里插入图片描述

  • 输入组成:
    • 导航指令(如"左转")
    • BEV特征
    • Ego-vehicle查询(交互特征)
    • MotionFormer特征
  • 轨迹优化:
    • 推理阶段使用牛顿法优化
    • 考虑占据预测结果避障

3. 损失函数

在这里插入图片描述

  • 两阶段训练:
    • 阶段一:仅训练感知模块
    • 阶段二:全模块训练
  • 规划损失:
    • 轨迹点回归损失
    • 碰撞损失(避障约束)
  • 运动预测:
    • 6模态轨迹分类损失
    • 轨迹回归损失

4. 性能对比

1)整体性能消融实验

  • 模块交互性:上游模块对下游模块有正向影响,同时下游模块也会反哺上游模块性能提升
  • 追踪模块表现:AMOTAT、AMOTPI、Recall三个指标在完整模型下均达到最高分
  • 建图模块特点:单独建图模块性能优于多任务干扰下的建图性能
  • 运动预测最佳状态:在没有规划模块时,minADE、minFDE、MR三个指标达到最佳
  • 规划模块效果:完整模型下L2 loss和碰撞率达到最优平衡

2)建图性能

在这里插入图片描述

  • 车道线检测优势:UniAD在车道线检测指标(Lanest)上达到31.3,显著优于LSS(18.3)和VPN(18.0)
  • 多任务平衡:虽然单独建图模块性能更好,但完整系统在可行驶区域(Drivablet)等指标上取得69.1的平衡表现
  • 模块协同效应:下游规划模块会反向提升建图模块的交叉口识别能力(Crossingt 13.8)

3)运动预测对比

  • 绝对优势:minADE(0.71m)和minFDE(1.02m)远超第二名的PnPNet(1.15m/1.95m)
  • 对比基准:优于恒定位置(5.80m/10.27m)和恒定速度(2.13m/4.01m)预测方法
  • 关键指标:MR(0.151)和EPAT(0.456)显示其预测轨迹更符合人类驾驶习惯

4)占据预测对比

在这里插入图片描述

  • 双指标领先:在IoU-n.t(63.4)和VPQ-n.(54.7)两个核心指标上最佳
  • 模块贡献度:
    Cross Attention交互模块使IoU-n.提升1.4%
    Mask特征融合模块使VPQ-n.提升1.2%
    非线性优化策略最终将综合性能提升至最优

5)规划对比

在这里插入图片描述

  • 轨迹精度:3秒平均L2误差(1.03m)比第二名FF(1.43m)降低28%
  • 安全性:平均碰撞率(0.31%)显著低于ST-P3(0.71%)等传统方法
  • 实时性:在狭窄道路场景仍能保持1.65m的3秒轨迹误差

6)可视化效果展示

在这里插入图片描述

  • 指令响应:前进指令时关注前方道路区域,左转指令时注意力明显左移
  • 多视角融合:六摄像头输入与BEV视角的规划轨迹保持空间一致性
  • 异常处理:即使感知模块暂时丢失障碍物(2帧),规划模块仍能通过特征关注避免碰撞

7)失败案例分析

在这里插入图片描述

  • 尺寸估计误差:对大型拖车(长12m+)的尺寸和角度估计存在明显偏差
  • 环境敏感性:黑暗环境中对逆向车辆产生过度避让(实际可保持直线行驶)
  • 改进方向:调整碰撞损失权重和道路边界约束可缓解30%的异常规划

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94127.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP-NOW详解(esp-idf)

esp-now目前主要支持单播和广播,广播地址为ff:ff:ff:ff:ff:ff,广播可以向范围内所有拥有esp-now接收的设备发送数据 注意事项,网络模式是可以设置网络mac地址的,在单播中,目标设备网络模式选择为ap时,mac地址会发生改…

`strlen` 字符串长度函数

1) 函数的概念与用途 strlen 是 C 语言标准库中最基础且使用最频繁的字符串处理函数之一,它的名字来源于"string length"(字符串长度)。这个函数的功能非常明确:计算一个以空字符结尾的字符串的长度。 可以将 strlen 想…

TorchInductor - Introduction

PyTorch 2.x通过TorchDynamo通过Python Bytecode的动态变换实现了图捕获功能,需要搭配一个Compiler Backend完成图编译。 Pytorch尝试集成了多个后端,并使用一个轻量级的autotuner来选择最优的后端图编译结果。这个解决方案存在2个问题: 这…

Adobe Illustrator默认键盘快捷键

目录 默认键盘快捷键 常用的快捷键 处理文档 选择工具 查看图稿 处理所选对象 绘制 编辑形状 处理实时上色组 处理对象 创建可变宽度点 处理文字 使用面板 动作面板 “画笔”面板 “字符”和“段落”面板 “颜色”面板 “渐变”面板 “图层”面板 “色板”…

「数据获取」《中国能源统计年鉴》(1986-2023)(获取方式看绑定的资源)

01、数据简介一、年鉴基本定位与发展历程《中国能源统计年鉴》作为一部权威性极强的能源领域资料典籍,始终以全面、精准反映中国能源建设推进、生产运行、消费态势以及供需平衡状况为核心使命。其编纂工作发轫于 1986 年,最初由国家统计局工业交通统计司…

SpringBoot3系列---【SpringBoot3集成sqlite】

SpringBoot3集成sqlite 1.引入pom.xml <dependencies><dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.34.0</version></dependency><dependency><groupId>com.…

头部 TTS 开源项目深度对比

语音合成&#xff08;TTS&#xff09;开源项目是技术研究与产业落地的核心支撑&#xff0c;不同项目因技术路线、设计目标差异&#xff0c;在语言覆盖、合成自然度、可扩展性等方面表现悬殊。本文选取当前开源生态中应用最广、影响力最大的五大 TTS 项目——MaryTTS、Coqui TTS…

可视化-模块1-HTML-02

1-新建一个HTML文档&#xff0c;命名为&#xff1a;week1-12-<h1>标签<body><h1>这是标题 1</h1> <h2>这是标题 2</h2> <h3>这是标题 3</h3> <h4>这是标题 4</h4> <h5>这是标题 5</h5> <h6>这是…

搜索算法在实际场景中的应用

1. 数据库系统 B+树索引 应用场景:关系型数据库(MySQL、PostgreSQL等)的索引实现 算法特点: 平衡多路搜索树,优化磁盘I/O 支持范围查询和排序操作 典型实现: CREATE INDEX idx_name ON users(last_name); 哈希索引 应用场景:键值存储(Redis、Memcached)、等值查询 算…

基础IO

目录 一、进程和文件的关系 二、背景补充 三、打开文件接口 (1) FILE *fopen(const char* filename , const char *mode) &#xff08;2&#xff09;open 系统调用 文件描述符 open和fopen的关系 &#xff08;3&#xff09;size_t fwrite&#xff08;const void * ptr, …

SpringBoot快速上手

SpringBoot快速上手 环境准备 IDEA版本: 社区版:2021.1-2022.1.4 专业版:无要求 Maven 官方对于Maven的描述: Maven是一个项目管理工具,基于POM(Project Object Model,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告文档和项目管理工具软件. 人…

GitHub Actions workflow最佳实践

使用 GitHub Actions Workflow 时&#xff0c;遵循最佳实践可以显著提升自动化效率、安全性和可维护性。以下是经过实践验证的核心最佳实践&#xff0c;涵盖配置设计、性能优化、安全防护等维度&#xff0c;并附具体示例&#xff1a; 一、工作流组织与触发优化 1. 拆分工作流&a…

JAVA读取项目内的文件或图片

一、读取resources下的文件或图片&#xff1b;文件或图片位置&#xff1a;代码&#xff1a;InputStream fis Thread.currentThread().getContextClassLoader().getResourceAsStream("template/" xxx.jpg);二、读取项目内任意位置的文件或图片。文件或图片位置&…

Python如何将两个列表转化为一个字典

一、使用zip函数 zip函数是Python内置的一个强大工具&#xff0c;它可以将多个迭代器&#xff08;如列表、元组等&#xff09;“压缩”成一个迭代器&#xff0c;其中每个元素都是一个元组。使用zip函数将两个列表转换为字典是最常见的方法。 1、基本用法 keys [a, b, c] value…

Vue 3 useModel vs defineModel:选择正确的双向绑定方案

&#x1f4d6; 概述 useModel() 是 Vue 3.4 版本中引入的一个组合式 API 辅助函数&#xff0c;它是驱动 defineModel() 的底层实现。这个函数主要用于在非单文件组件中实现双向数据绑定&#xff0c;特别是在使用原始的 setup() 函数时。 ⚠️ 重要提示&#xff1a;如果使用 <…

数据库备份sql文件过大,phpAdmin无法执行Sql

数据库导出为sql文件&#xff0c;文件太大导致无法再Sql query执行&#xff0c;可使用命令行执行&#xff1a; windows系统&#xff1a; 1.切换到mysql 安装目录的bin目录下 cd C:\xampp\mysql\bin 2.执行备份sql还原mysql数据库 mysql -u root -p databasename < C://backu…

三格电子——ModbusTCP 转 Profinet 主站网关应用实例

型号&#xff1a;SG-TCP- Profinet(M)一、使用场景ModbusTCPClient 通过 ModbusTCP 控制 Profinet 接口设备&#xff0c; Profinet 接口设备接入DCS/工控机等。产品是ModbusTCP和Profinet(M)网关&#xff08;以下简称网关&#xff09;&#xff0c;使用数据映射 方式工作。 本产…

网址账号正确,密码错误返回的状态码是多少

问题网址账号正确&#xff0c;密码错误返回的状态码是多少我的回答当账号正确但密码错误时&#xff0c;服务器通常会返回401 Unauthorized状态码。这个状态码表示"未授权"&#xff0c;意味着客户端请求缺乏有效的身份验证凭据&#xff0c;或者提供的凭据无效。在实际…

JAVA核心基础篇-操作符

Java 操作符是用于操作变量和值的特殊符号&#xff0c;主要分为以下几类&#xff1a;1. 算术运算符用于执行基本的数学运算&#xff1a;&#xff1a;加法&#xff08;也可用于字符串拼接&#xff09;-&#xff1a;减法*&#xff1a;乘法/&#xff1a;除法&#xff08;整数相除取…

数据库字段类型深度解析:从关系型到 NoSQL 的全面指南

数据库字段类型深度解析&#xff1a;从关系型到 NoSQL 的全面指南 一、引言&#xff1a;数据库字段类型的重要性 在现代软件开发和数据管理中&#xff0c;数据库作为核心组件&#xff0c;其性能、可扩展性和数据完整性在很大程度上取决于字段类型的选择。作为专业的开发者和数据…