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

    文章

    1144

    浏览量

    40799
  • 自动驾驶系统

    关注

    0

    文章

    65

    浏览量

    6781
  • MLP
    MLP
    +关注

    关注

    0

    文章

    57

    浏览量

    4257

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

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

收藏 人收藏

    评论

    相关推荐

    基于改进ResNet50网络的自动驾驶场景天气识别算法

    摘要:为了充分利用自动驾驶汽车路测图像数据,增加行驶过程中对天气情况识别的准确性,提出了一种基于改进ResNet50网络的自动驾驶场景天气识别算法。该
    的头像 发表于 11-09 11:14 950次阅读
    基于改进ResNet50网络的<b class='flag-5'>自动驾驶</b>场景天气识别<b class='flag-5'>算法</b>

    智能驾驶自动驾驶的关系

    智能驾驶自动驾驶在概念上存在定的联系和区别,以下是对两者关系的介绍、概念定义 智能驾驶
    的头像 发表于 10-23 16:02 736次阅读

    自动驾驶HiL测试方案介绍#ADAS #自动驾驶 #VTHiL

    自动驾驶
    北汇信息POLELINK
    发布于 :2024年10月12日 18:02:07

    FPGA在自动驾驶领域有哪些优势?

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)在自动驾驶领域具有显著的优势,这些优势使得FPGA成为自动驾驶技术中不可或缺的部分。以下是FPGA在
    发表于 07-29 17:11

    FPGA在自动驾驶领域有哪些应用?

    是FPGA在自动驾驶领域的主要应用: 、感知算法加速 图像处理:自动驾驶中需要通过摄像头获取并识别道路信息和行驶环境,这涉及到大量的图像处理任务。FPGA在处理图像上的运算速度快,可
    发表于 07-29 17:09

    自动驾驶的传感器技术介绍

    自动驾驶的传感器技术是自动驾驶系统的核心组成部分,它使车辆能够感知并理解周围环境,从而做出智能决策。以下是对自动驾驶传感器技术的详细介绍,内容涵盖常见类型、工作原理、在
    的头像 发表于 07-23 16:08 2326次阅读

    中级自动驾驶架构师应该学习哪些知识

    师是个新兴且不断发展的职业。随着技术的进步,这领域将继续吸引更多人才,推动自动驾驶技术的发展。 自动驾驶架构师在设计和开发
    的头像 发表于 06-20 21:47 303次阅读

    初级自动驾驶架构师应该学习哪些知识

    师是个新兴且不断发展的职业。随着技术的进步,这领域将继续吸引更多人才,推动自动驾驶技术的发展。 自动驾驶架构师在设计和开发
    的头像 发表于 06-20 21:45 327次阅读

    自动驾驶:揭秘高精度时间同步技术(

    本文重点探讨了高精度时间同步技术在多传感器融合中的重要性。通过选择统一的时钟源和基于以太网的协议,确保多传感器数据在统一时间框架内准确处理,为自动驾驶系统提供了可靠的时间基准。
    的头像 发表于 05-29 10:40 5090次阅读
    <b class='flag-5'>自动驾驶</b>:揭秘高精度时间同步技术(<b class='flag-5'>一</b>)

    移动端芯片性能提升,Armv9架构新升级引发关注

    “数码博主”5月17日的最新爆料指出,联发科积极推进Armv9新代IP BLACKHAWK“黑鹰”的架构设计,预计天玑9400芯片将采用这一架构,有望以“大核”设计再度领跑移动So
    的头像 发表于 05-17 16:51 1061次阅读

    智行者联合清华完成国内首套式端到端自动驾驶系统的开放道路测试

    近日,智行者与清华大学车辆学院李克强院士、李升波教授领导的研究团队,完成了国内首套式端到端自动驾驶系统的开放道路测试。
    的头像 发表于 04-22 09:24 800次阅读
    智行者联合清华完成国内首套<b class='flag-5'>全</b><b class='flag-5'>栈</b>式端到端<b class='flag-5'>自动驾驶</b>系统的开放道路测试

    未来已来,多传感器融合感知是自动驾驶破局的关键

    /L4级自动驾驶赛跑的元年。 马斯克评论FSD 12.3版本的左转弯操作就像人类司机样。如果FSD 12.3版本成功,将基本颠覆目前市场上的智能驾驶技术路线。基于“数据/算法/算力”
    发表于 04-11 10:26

    一种灵活可扩展的自动驾驶解决方案

    每个自动驾驶应用都结合了组特定的功能和定程度的驾驶员脱离,即在定程度上由驾驶员负责的前提下
    发表于 03-27 10:23 367次阅读
    <b class='flag-5'>一种</b>灵活可扩展的<b class='flag-5'>自动驾驶</b>解决方案

    自动驾驶发展问题及解决方案浅析

    汽车的发展提供有益的参考。   自动驾驶汽车发展的现状与挑战 ()技术难题 自动驾驶汽车的核心在于通过先进的传感器、算法和控制系统实现车辆的自主
    的头像 发表于 03-14 08:38 1185次阅读

    端到端的自动驾驶系统算法架构

    基于学习的自动驾驶个活跃的研究领域。采用了些基于学习的驾驶方法,例如可供性和强化学习,取得了不错的性能,模仿方法也被用来回归人类演示的控制命令。
    发表于 01-18 09:33 1438次阅读
    两<b class='flag-5'>种</b>端到端的<b class='flag-5'>自动驾驶</b>系统<b class='flag-5'>算法</b><b class='flag-5'>架构</b>