0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种包含全栈自动驾驶算法的统一架构设计UniAD介绍

3D视觉工坊 来源:自动驾驶之心 2023-01-09 11:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、研究背景:

现代自动驾驶系统包含多个顺序执行的任务,即感知、预测及规划。随着传感器和硬件的进步,设计一种可以执行各种任务的智能系统成为一种趋势。之前的设计方案可概括为两类:1)为每个任务部署独立的模型;2)组建包含多个独立任务头的多任务学习模型。然而,这些方法都可能会受到累积误差以及在下游规划上较差的迁移效果的影响。

近期,arXiv 中收录了上海人工智能实验室OpenDriveLab团队联合武汉大学、商汤科技的一篇文章——Goal-oriented Autonomous Driving,其提出良好的自动驾驶系统应该以最终任务——安全的路线规划为导向。该研究对感知与预测中的关键组成部分进行分析与研究,并按照一定优先级进行组建,以便所有的子任务都有助于规划,并提出了统一自动驾驶框架 (UniAD) ,这是第一个将全栈驾驶任务整合到一个深度神经网络中的框架,并可以发挥每个子任务以及各个模块的优势,以执行安全的规划。

随着深度学习的成功发展,自动驾驶算法由一系列子任务组成,包括感知中的物体检测、多目标跟踪、地图分割;预测任务中的轨迹预测和占用栅格预测。如图1(a)所示,大多数工业解决方案是为每个任务部署独立模型。尽管简化了多任务模型的设计,但由于不同子任务优化方向的不同,这样的设计面临着信息丢失、错误累积和特征未对齐的风险。

poYBAGO7h6KAISN1AACYwkxKw8c489.jpg

图1:自动驾驶算法框架的各种设计比较。(a)大多数工业解决方案是对不同的任务部署不同的模型。(b)多任务学习架构,多个任务头共享一个主干网络(特征提取器)。(c)端到端学习范式,其联合了感知与规划模块。现有工作或如(c.1)采用直接从感知结果进行规划,或如(c.2)中采用多模块级联的系统。

除了上述工业方案,更为先进的设计是将不同的任务整合到多任务学习(MTL)范式中,如图1(b)所示,例如BEVerse,以及部分工业化架构,例如Mobileye、Tesla、Nvidia等。在MTL中,多任务的协同训练利用同一个特征提取器,可以方便地拓展至多个子任务并节省芯片的计算。然而,这样的方法仍未解决不同任务优化方向不一致的问题,同时不同任务的监督信息也未得到充分的交互,以更好作用于规划。相比之下,端到端自动驾驶架构(如图1(c)所示)将感知、决策和规划结合为一个整体。前序任务(模块)的组合应当有利于最终的规划,同时应该尽量避免误差累计的问题。(c.1)中采用直接从感知结果进行规划,(c.2)中采用模块级联的方式。在(c.3)中,UniAD以良好的规划为导向,通过层级结构对不同任务进行组建以达到更好的规划结果。

pYYBAGO7h7SAdcYjAADCWbEKmW0662.jpg

表1:UniAD 与之前方案的对比,包含了更多的任务以辅助下游规划,包含检测 (Detection),跟踪 (Tracking),地图生成 (Mapping),轨迹预测 (Motion Forecasting),占用栅格预测 (Occupancy prediction) 与规划 (Planning)。

二、研究内容

如图2所示,UniAD是由四个基于Transformer解码器的感知预测模块以及一个规划模块组成。多组查询向量 (query) 用于连接整个架构以及学习多个智能体与周围环境的交互。具体而言,多个环视摄像头采集的图像将首先通过特征提取器转化为图像特征,再通过 BEV(Bird’s-Eye-View,鸟瞰图视角)编码器将图像特征转化为 BEV 特征。在 TrackFormer 中,用一组跟踪查询向量 (Track query) 从 BEV 特征中检测新出现的物体(智能体)并持续跟踪已经检测到的物体。MapFormer 是通过地图查询向量 (Map query) 对不同类别的地图元素进行分割,比如车道线与人行道。MotionFormer 通过建模物体与环境之间的交互关系对每个物体的未来轨迹进行预测。同时引入自车查询向量 (Sdc query) 对自车的运动进行建模,自车查询向量将用于后续的自车规划中。OccFormer 用于进行占用栅格预测,以 BEV 特征为查询向量,物体特征为键 (key) 与值 (value),对未来的 BEV 特征进行不断地更新,进而解码为占用栅格。规划模块 (Planner) 将自车查询向量解码,生成规划路径,并利用占用栅格预测对路径进行优化,使其避免障碍物。

pYYBAGO7h8aAMYjWAABcuE_92Co400.jpg

图2. 统一的自动驾驶(UniAD)的整体框架。UniAD通过多个 Transformer 模块将各个任务进行层级式的结合,并对不同任务间的信息进行了充分的交互。UniAD使用多组查询向量对物体与地图进行建模,并将预测结果传递至规划模块,用于进行安全的路径规划。

(1)感知:跟踪与地图分割

TrackFormer 可以同时进行检测与多目标跟踪,通过引入一组 Track query 去建模追踪物体在场景中的整个生命周期(即从出现到完全消失)。Track query 通过与 BEV 特征进行注意力机制运算并通过多层感知机 (MLP) 进行解码,最终得到跟踪物体的边界框与速度等属性。MapFormer 是将 2D 全景分割的经典方案 Panoptic Segformer 迁移至 3D 场景,并用于在线地图分割。具体而言,用一组 Map query 表示地图中的不同元素,比如车道线、人行道等,这些地图元素将有利于下游任务对周围环境信息的学习。Map query 经过 MapFormer 的更新后,将被传送至 MotionFormer 进行物体与地图元素的交互。

(2)预测:轨迹预测

MotionFormer 以信息丰富的物体特征和地图特征为输入,输出场景中所有智能体在多种模态下的未来轨迹。这种范式只需要进行一次网络的前向传播便能输出所有智能体的未来轨迹,相较于之前以智能体为中心(agent-centric)的方法,节省了每步对坐标空间进行对齐的计算消耗。同时为了持续建模自车运动信息,利用 TrackFormer 中的自车查询向量 (Sdc query) 学习自车的未来轨迹。MotionFormer 由多层交叉注意力 (cross-attention) 模块组成,以达到不断精细化的目的。每层模块包含三次不同的注意力计算以建模不同类型的交互,分别是智能体-智能体,智能体-地图,智能体-轨迹目标,具体交互表示如下:

pYYBAGO7h9iAanCCAAAc5x29Xvw255.jpg

其中 MHCA、MHSA 与 DeformAttn 分别表示多头交叉注意力,多头自注意力与可变形注意力。交互结束后得到的轨迹查询向量 (Motion query) 将继续传递给占用栅格预测与规划模块。

poYBAGO7h-6ADdBaAAD8MeW2tYI261.jpg

图3. MotionFormer。它由N个堆叠的交互模块组成,每个模块内会进行agent-agent,agent-map 和 agent-goal point(轨迹终点)的关系建模。agent-agent 和 agent-map 交互模块使用标准的Transformer解码器层,agent-goal交互模块构是建在可变形的交叉注意力模块上。

(3)预测:占用栅格预测

占用栅格图是一种离散化的BEV 表示形式,其中每个格子代表的值代表当前位置是否被物体占用。占用栅格预测任务是指预测未来多步的占用栅格图,即未来 BEV 的占用情况。之前的方法通常会利用卷积神经网络 (CNN) 与递归神经网络 (RNN) 逐步预测未来多步 BEV 特征图并解码,但是却忽略了场景中物体的运动信息,这些信息与未来场景的占用栅格有很强的关联。为了引入稀疏的物体运动信息,本文在 OccFormer 中利用注意力机制,将场景中密集的各栅格表示为查询向量 (query),将物体特征表示为键 (key) 与值 (value)。通过多层 Transformer 的解码器,查询向量将多次更新,用于表示未来时序的 BEV 特征图。为了更好地对齐物体与各栅格的位置关系,本文引入了一个基于占用栅格的注意力掩码,该掩码使得注意力计算只在位置对应的栅格-物体特征之间进行。查询向量的更新过程如下:

poYBAGO7iAuAWOSfAAAQ10LomU4408.jpg
poYBAGO7iBKAAeNbAADJaMqS2tg246.jpg

poYBAGO7iCeARzxHAACv3u6Qu94212.jpg

(4)自车规划

为了规划自车未来的运动轨迹,将 MotionFormer 更新后的自车查询向量 (Sdc query) 与 BEV 特征进行注意力机制交互,让 Sdc query 感知整个 BEV 环境,隐式地学习周围环境与其他智能体。为了更显式地避免与周围车的碰撞,作者利用占用栅格预测模块的输出对自车路径进行优化,避免未来可能有物体占用的区域。

pYYBAGO7iECAT91jAAE4uWIg9CI078.jpg

三、实验结果

1. 各模块实验结果

感知结果

poYBAGO7iFyAFBDiAAFBoRQ8jKI179.jpg

预测结果

pYYBAGO7iG-AKDGeAAFCQumlZHI433.jpg

规划结果

与 ST-P3 相比,UniAD 将规划L2误差和碰撞率分别降低了51.2%和56.3%,并优于其它基于 LiDAR 输入的方案。
poYBAGO7iImAbHR0AADLJurJn_w847.jpg

2. 消融研究

为了验证以目标为导向的设计理念是否真正发挥作用,本文对感知及预测中的各个模块进行了广泛的消融研究,如表7所示,以证明前序模块的有效性和必要性。 0e057914-8fcc-11ed-bfe3-dac502259ad0.jpg表7:感知及预测中的各个模块对下游任务的帮助。

poYBAGO7iLKAQ-ZkAACTO-NGZ5Q578.jpg

3. 可视化

poYBAGO7iMiAcWslAAHGnh4NzIw779.jpg

图7:在市区驾驶的可视化表示。UniAD 可以生成高质量的感知和预测结果,并进行安全的路径规划。前三列显示六个摄像机的视角,最后两列分别是 BEV 预测结果和来自规划模块的注意力掩码。每个智能体都用单独的颜色表示。

poYBAGO7iNqAK0ccAADXkzewGaU974.jpg

图8:关键案例可视化。第一个场景(上图)显示自车正在让两个过马路的行人,第二个场景(下图)显示自车正在让侧方一辆快速行驶的汽车。从最右图可以观察到规划模块对最关键的智能体给予更多的关注度。

pYYBAGO7iOqASMGcAADSjwfcnpM557.jpg

图9:避障可视化。在这两种情况下,自车正在进行变道以避开障碍物车辆。从最右注意力掩码中,可以观察到UniAD可以关注障碍物以及前后的道路

四、总结

UniAD 设计是以安全的路径规划为导向,对多个必需的自动驾驶任务进行层级化设计,以多组查询向量 (query) 对物体与环境之间的多种交互进行建模。通过大量实验验证了模型设计的有效性,并相对之前的方案取得了更好的性能。UniAD 是一种统一的自动驾驶算法框架,可以以高精度执行包含跟踪、地图生成、轨迹预测、占用预测与规划任务,是首个全面探索自动驾驶系统各模块必要性的工作,作者通过进行广泛的消融和实验,验证了 UniAD 在各感知预测任务对最终规划的帮助。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1203

    浏览量

    42874
  • 自动驾驶系统

    关注

    0

    文章

    69

    浏览量

    7280
  • MLP
    MLP
    +关注

    关注

    0

    文章

    57

    浏览量

    4931

原文标题:All in One | UniAD:一种包含全栈自动驾驶算法的统一架构设计

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    大模型中常提的快慢思考会对自动驾驶产生什么影响?

    2024年7月,理想汽车发布的基于端到端模型、VLM视觉语言模型和世界模型的全新自动驾驶技术架构标志着其自研的智能驾驶研发进入了新阶段。
    的头像 发表于 11-22 10:59 2281次阅读
    大模型中常提的快慢思考会对<b class='flag-5'>自动驾驶</b>产生什么影响?

    蘑菇车联中标新加坡自动驾驶巴士服务试点项目

    近日,新加坡陆路交通管理局(LTA)宣布,由MKX Technologies、蘑菇车联(MOGOX)与比亚迪组成的联合体,中标新加坡自动驾驶巴士服务试点项目,这是新加坡首个L4级自动驾驶巴士官方项目,标志着蘑菇车联自动驾驶
    的头像 发表于 10-15 14:07 507次阅读

    个完整的自动驾驶感知系统包含些什么?

    如果将感知拆分,可以分为“传感器”和“算法”两大块,但其中还包含时间同步、标定、数据融合、状态估计,以及在线自检与降级(当某种传感器失效时系统如何优雅退化)等内容。
    的头像 发表于 10-09 17:53 599次阅读

    为什么自动驾驶感知系统一定要注意时间同步?

    [首发于智驾最前沿微信公众号]时间同步,看似非常简单的个概念,但在自动驾驶中有着非常重要的作用。定要明白,时间同步不是感知系统的可选项,而是多传感器系统能否正确工作的基础性约束。自动驾驶
    的头像 发表于 09-10 09:00 550次阅读
    为什么<b class='flag-5'>自动驾驶</b>感知系<b class='flag-5'>统一</b>定要注意时间同步?

    端到端自动驾驶相较传统自动驾驶到底有何提升?

    各自专业模块独立承担,再通过预定的接口协议将信息有序传递。与之相对照,“端到端”(end-to-end)自动驾驶统一的大规模神经网络为核心,将从摄像头、雷达、激光雷达等传感器采集到的原始数据直接映射为驾驶控制指令,极力
    的头像 发表于 09-02 09:09 508次阅读
    端到端<b class='flag-5'>自动驾驶</b>相较传统<b class='flag-5'>自动驾驶</b>到底有何提升?

    自动驾驶中常提的“”是个啥?有必要“”吗?

    [首发于智驾最前沿微信公众号]随着自动驾驶技术落地,越来越多车企公布了自己的自动驾驶方案,在很多车企的宣传中,会使用“自研”的说法来证明自己的实力。所谓“
    的头像 发表于 08-27 09:43 667次阅读
    <b class='flag-5'>自动驾驶</b>中常提的“<b class='flag-5'>全</b><b class='flag-5'>栈</b>”是个啥?有必要“<b class='flag-5'>全</b><b class='flag-5'>栈</b>”吗?

    低速自动驾驶与乘用车自动驾驶在技术要求上有何不同?

    到我们生活的方方面面。与面向开放道路、高速巡航的乘用车自动驾驶系统相比,低速小车在技术实现、系统架构、硬件配置、软件算法及安全冗余等方面都存在显著差异和针对性优化。 从感知需求方面相比,低速小车的行驶环境通常
    的头像 发表于 07-14 09:10 676次阅读
    低速<b class='flag-5'>自动驾驶</b>与乘用车<b class='flag-5'>自动驾驶</b>在技术要求上有何不同?

    卡车、矿车的自动驾驶和乘用车的自动驾驶在技术要求上有何不同?

    自动驾驶技术也得到了充足的应用,但因应用场景不同,技术的侧重方向也有所区别。今天就来和大家聊聊这个话题。 应用场景:开放道路vs封闭场地 首先要理解的是,自动驾驶所面对的环境决定了它的技术基础。乘用车
    的头像 发表于 06-28 11:38 726次阅读
    卡车、矿车的<b class='flag-5'>自动驾驶</b>和乘用车的<b class='flag-5'>自动驾驶</b>在技术要求上有何不同?

    自动驾驶安全基石:ODD

    和限制下可以正常工作,是自动驾驶安全的核心概念之。   对于人类司机来说,在不同的道路上驾驶的能力也有所区别,比如新手司机在些窄路、山路,或者交通状况复杂的道路上可能会无所适从,人
    的头像 发表于 05-19 03:52 5810次阅读

    新能源车软件单元测试深度解析:自动驾驶系统视角

    。 ‌自动驾驶软件的特殊性‌ ‌ 感知层: ‌激光雷达、摄像头等传感器数据处理算法的单元测试需覆盖极端场景。例如,激光雷达点云滤波算法在雨雪天气下的噪声抑制能力需通过边界测试验证。某厂商曾在测试中遗漏
    发表于 05-12 15:59

    一种多模态驾驶场景生成框架UMGen介绍

    端到端自动驾驶技术的快速发展对闭环仿真器提出了迫切需求,而生成式模型为其提供了一种有效的技术架构。然而,现有的驾驶场景生成方法大多侧重于图像模态,忽略了其他关键模态的建模,如地图信息、
    的头像 发表于 03-24 15:57 1513次阅读
    <b class='flag-5'>一种</b>多模态<b class='flag-5'>驾驶</b>场景生成框架UMGen<b class='flag-5'>介绍</b>

    理想汽车推出全新自动驾驶架构

    2025年3月18日,理想汽车自动驾驶技术研发负责人贾鹏在NVIDIA GTC 2025发表主题演讲《VLA:迈向自动驾驶物理智能体的关键步》,分享了理想汽车对于下
    的头像 发表于 03-19 14:12 906次阅读

    自动驾驶规控算法验证到底需要什么样的场景仿真软件?

    ModelBase-AD凭借其优秀的静态场景模型、随机交通流模型、整车动力学模型,为各大主机厂和供应商提供了准确的自动驾驶规控算法验证仿真环境,提升了自动驾驶规控算法验证效率。
    的头像 发表于 02-11 14:16 1986次阅读
    <b class='flag-5'>自动驾驶</b>规控<b class='flag-5'>算法</b>验证到底需要什么样的场景仿真软件?

    自动驾驶自研可行吗?

    随着自动驾驶加速落地,自研模式在高阶智能驾驶技术领域逐渐成为共识,这种模式指的是整车厂从底层硬件、软件算法到系统集成全面自主开发,而非依
    的头像 发表于 01-27 10:24 3398次阅读

    如何实现自动驾驶规控算法的仿真验证

    随着自动驾驶技术的不断进步,市场需求的持续增长,自动驾驶产业迎来广阔的发展前景。L3及以上级别的自动驾驶技术有望逐步落地普及,为人们带来更加安全、便捷、高效的出行体验。
    的头像 发表于 12-30 09:39 1588次阅读
    如何实现<b class='flag-5'>自动驾驶</b>规控<b class='flag-5'>算法</b>的仿真验证