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

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

3天内不再提示

自动驾驶算法框架的系统级设计

3D视觉工坊 来源:3D视觉工坊 2023-08-22 14:44 次阅读

3DCV有幸邀请到顶会作者Yihan Hu、Jiazhi Yang、Li Chen等与大家一起分享他们的最新文章,如果您有相关工作需要分享,文末可以联系我们!

7bc60ab6-4077-11ee-ac96-dac502259ad0.png

在公众号「3D视觉工坊」后台,回复「原论文」即可获取pdf或代码。

添加微信:dddvisiona,备注:SLAM,拉你入群。文末附行业细分群。

1 背景

7c080524-4077-11ee-ac96-dac502259ad0.png

图1 现代自动驾驶系统的系统流程。

作者首先分析了现代自动驾驶系统的三大核心部分,分别是感知(Perception)、预测(prediction)和规划(Planning),如图1所示。已有的自动驾驶方法,要么为单个任务部署独立的模型。要么,基于统一的特征提取骨干网络,然后为不同的任务设计单独的”任务头“。但是这两种方案都存在问题,例如独立的模型在联合起来以后可能会遭遇累积误差的问题,而多任务联合学习的方案则可能不同的任务会相互拉扯,并不能有一个统一的优化目标。因此,作者提出了统一自动驾驶(UniAD)。这是一种最新的综合框架,以最终的规划(Planning)为目标。将全栈驾驶任务整合到一个网络中。充分利用了每个模块的优势,并从全局角度为agents交互提供了互补的特征抽象。任务通过统一的查询接口进行沟通,方便彼此进行规划。作者在nuScenes数据集上对UniAD,选择nuScenes的原因是目前只有nuScenes提供了面向自动驾驶比较全面的任务标注。最终的实验结果显示,UniAD取得了优异的性能,远超先前的方法。

这里推荐一下3D视觉工坊最新自动驾驶课程:

[1]深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2]国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

2 相关工作

7c4a506e-4077-11ee-ac96-dac502259ad0.png

图2 为单个任务部署单独模型的方案

7c89102e-4077-11ee-ac96-dac502259ad0.png

图3 多任务联合学习方案

7cbbb894-4077-11ee-ac96-dac502259ad0.png

图4 端到端的初步方案

7d37b160-4077-11ee-ac96-dac502259ad0.png

图5 集成了部分中间任务的端到端方案图2展示了为任务部署单独模型的方案,这种方案在实验室中其实已经有很多例子了。这种方案确实在有些任务中会把指标刷的很高,例如,物体检测,语义分割等。但是在将所有的任务进行联合以后,可能会产生累积误差,导致最终的自动驾驶规划结果并不是那么好。图3展示了多任务联合学习的方案,这种方案的优势是容易拓展且高效。但缺点是没有一个统一的优化目标,最终出来的结果可能会是多个任务“相互拉扯”的结果。图4是端到端的初步方案,优点是设计简单,且在模拟环境下性能表现不错。但是自动驾驶毕竟事关人命,这种缺乏可解释性的黑盒方案还是比较难落地到实际环境中。图5展示了集成了部分中间任务的端到端方案,这种方案其实有点接近UniAD了。但是缺点是缺少了自动驾驶的一些重要任务。

3 方法

7d69cd76-4077-11ee-ac96-dac502259ad0.png

图6 UniAD的框架流程图如图6所示,UniAD最终包括四个基于Transformer解码器的感知和预测模块以及一个规划器。查询 Q 起到连接各个任务的作用,以对驾驶场景中实体的不同交互进行建模。具体来说,将一系列多摄像头图像输入特征提取器,并通过 BEVFormer 中现成的 BEV 编码器将所得视图特征转换为统一的鸟瞰图 (BEV) 特征 B。这里的特征提取部分(Backbone)是可以替换的。TrackFormer,负责检测和跟踪任务。MapFormer的作用是执行全景分割。MotionFormer 捕获agents之间的交互,并绘制和预测每个agents的未来轨迹。由于每个agents的动作都会显着影响场景中的其他agents,因此该模块对所有考虑的agents进行联合预测。同时,设计了一个自我车辆查询来显式地建模车辆,并使其能够在这种以场景为中心的范例中与其他agents进行交互。OccFormer 采用 BEV 特征 B 作为查询,预测未来其他agents的占用情况。最后,Planner预测规划结果,并使其远离 OccFormer 预测的占用区域以避免碰撞。

这里推荐一下3D视觉工坊最新自动驾驶课程:

[1]深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2]国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

3.1 TrackFormer

7d956bac-4077-11ee-ac96-dac502259ad0.png

图7 TrackFormer 流程图图7TrackFormer得具体流程图,该方法采用类似Motr和MUTR3D的查询设计思路,在对象检测中只使用传统的检测查询,并引入跟踪查询来实现跨帧跟踪代理,实现检测查询与跟踪查询相结合的范式。具体来说,每一时刻,初始化的检测查询负责检测第一次感知到的新出现代理,跟踪查询对之前帧中已经检测到的代理进行建模。检测查询和跟踪查询都通过考察BEV特征来获取代理的抽象表达。随着场景更新,当前帧的跟踪查询与自注意力模块中之前记录的查询进行交互,从而聚合时序信息,直到相应代理完全消失(在特定时间内未被跟踪到)。TrackFormer通过多层网络,最终输出状态表示,为下游任务提供对环境中有效代理的编码表达。除了对自主驾驶车辆周围其他代理的查询设计外,还在查询集中引入了对自主车辆的专门查询,以显式对自身进行建模,这将在运动规划中进一步使用。

3.2 MapFormer

7dbc4f74-4077-11ee-ac96-dac502259ad0.png

图8 MapFormer流程图图8是该MapFormer的流程图,基于2D全景分割方法Panoptic SegFormer,将道路元素表示为地图查询,以帮助下游任务进行预测,并编码位置和结构知识。针对自动驾驶场景,将车道线、分割线和十字路口设定为things类,将可行驶区域设定为stuff类。MapFormer的多层网络都进行监督,只有最后一层包含的新的地图查询被向前传播到MotionFormer,以进行代理和地图的交互。地图查询采用了稀疏表示,以编码自动驾驶场景的关键道路元素,辅助运动预测任务。

3.3 MotionFormer

7ddf3dfe-4077-11ee-ac96-dac502259ad0.png

图9 MotionFormer流程图

图9是MotionFormer流程图。Transformer结构对运动预测任务非常有效,基于此提出端到端的MotionFormer,它通过分别从TrackFormer和MapFormer对动态代理和静态地图进行高度抽象的查询,以场景为中心的方式预测所有代理的多模态未来运动,即每个代理可能的多条未来轨迹。这种范式通过一次前向传播即可生成整个场景中多个代理的轨迹,大大减少了将整个场景与每个代理对齐的计算量。同时,考虑到未来的动态情况,MotionFormer还传入了来自TrackFormer对自主车辆的编码查询,以使自主车辆与其他代理进行交互。查询抽象提供了场景编码,辅助运动预测。

3.4 OccFormer

7e34ee3e-4077-11ee-ac96-dac502259ad0.png

图10 OccFormer流程图图10是 OccFormer流程图。Occupancy栅格地图是一种离散化的BEV表示,其每个栅格单元包含一个标志位指示其是否被占用。Occupancy预测任务是预测栅格地图未来的变化。之前的方法利用RNN沿时间维展开当前观测到的BEV进行预测,高度依赖手工设计的聚类后处理来为每个代理生成Occupancy,其将BEV特征压缩到RNN隐状态作为整体表示,因此缺乏对代理的建模。这导致其难以预测全局所有代理的行为,而这对场景演变至关重要。UniAD提出OccFormer,从场景级和代理级两个层面结合语义信息:1)稠密场景特征在时间维上展开时,通过设计的注意力机制获取代理级特征;2)通过代理特征和场景特征的矩阵乘法直接获得实例级Occupancy,无需其他后处理。OccFormer可为运动规划提供碰撞风险较低的Occupancy预测。

3.5 Planning

7e63e220-4077-11ee-ac96-dac502259ad0.png

图11 Planning流程图图11是Planning流程图。是在没有高精度地图或预定义路线的情况下,规划通常需要高级命令指示前进方向。因此,本文将原始导航信号转换为三个可学习的embedding,称为命令embedding。来自MotionFormer的自主车辆查询已经编码了其多模态意图,因此再配备命令embedding形成“规划查询”。该查询作用于BEV特征,感知周围环境,然后解码得到未来的航点。命令embedding提供了高级导航意图,辅助基于场景的无地图导航规划。规划查询结合自主车辆状态和导航意图,可实现端到端的条件路径规划。

4 实验

更详细的结果作者放在了补充材料里面,UniAD在nuScenes数据集上进行了实验,从以下三个方面验证了方法的有效性:

任务协同带来的优势及其对规划的影响。

和之前方法相比,每个子任务模块的效果。

对特定模块设计的消融实验分析。

4.1 Joint Results

7ec50e1a-4077-11ee-ac96-dac502259ad0.png

image.png

表1 每一个子任务有效性的消融实验

作者进行了如表 1 所示的消融,以证明端到端管道中先前任务的有效性和必要性。此表的每一行显示合并第二个模块列中列出的任务模块时的模型性能。第一行 (ID-0) 作为普通多任务基线,具有单独的任务头以进行比较。每个指标的最佳结果以粗体标记,第二名结果在每列中用下划线标记。由于与感知相比,预测更接近于规划,因此我们首先研究框架中的两种类型的预测任务,即运动预测和占用预测。在Exp.10-12中,只有当同时引入两个任务时(Exp.12),与没有任何中间任务的朴素端到端规划(Exp.10)相比,规划L2和碰撞率的指标都达到了最佳结果。因此,得出的结论是,这两个预测任务都是安全规划目标所必需的。退一步来说,在实验 7-9 中,展示了两种类型预测的协同效应。当两个任务紧密集成时,它们的性能都会得到提高(Exp.9,-3.5% minADE,-5.8% minFDE,-1.3 MR(%),+2.4 IoUf.(%),+2.4 VPQ-f.(%) )),这证明了包括代理和场景表示的必要性。为实现运动预测,还探索感知模块如何在实验 4-6 中做出贡献。值得注意的是,结合跟踪和绘图节点可以显着改善预测结果(-9.7% minADE、-12.9% minFDE、-2.3 MR(%))。此外,还提出了实验 1-3,它们表明一起训练感知子任务会产生与单个任务相当的结果。此外,与朴素多任务学习(Exp.0)相比,Exp.12 在所有基本指标上都显着优于它(-15.2% minADE、17.0% minFDE、-3.2 MR(% ))、+4.9 IoU-f.(%).、+5.9 VPQf.(%)、-0.15m avg.L2、-0.51 avg.Col.(%)),显示了UniAD的优越性。

4.2 Modular Results

按照感知预测规划的顺序,报告每个任务模块的性能,并与 nuScenes 验证集上的现有技术进行比较。UniAD 使用单个经过训练的网络联合执行所有这些任务。每个任务的主要指标在表格中用灰色背景标记。对于表2中的多目标跟踪,与 MUTR3D 和 ViP3D相比,UniAD 分别产生了 +6.5 和 +14.2 AMOTA(%) 的显着改进。此外,UniAD 获得了最低的 ID 切换分数,显示了每个 tracklet 的时间一致性。对于表 3 中的在线地图(Online mapping),UniAD 在分段车道上表现良好(与 BEVFormer 相比,+7.4 IoU(%)),这对于运动模块中的下游智能道路交互至关重要。由于UniAD的跟踪模块遵循端到端范例,它仍然不如具有复杂关联的检测跟踪方法,例如 Immortal Tracker,并且UniAD的映射结果落后于之前针对特定类别的面向感知的方法。作者认为 UniAD 是通过感知信息来促进最终规划,而不是通过完整的模型能力来优化感知。

7ee108cc-4077-11ee-ac96-dac502259ad0.png

表2 多目标跟踪结果

7f09f246-4077-11ee-ac96-dac502259ad0.png

表3 Online mapping结果

运动预测结果如表4所示,其中 UniAD 明显优于之前基于视觉的端到端方法。与 PnPNet-vision 和 ViP3D相比,它在 minADE 上的预测误差分别减少了 38.3% 和 65.4%。就表5中报告的Occupancy预测而言,UniAD 在附近区域取得了显着的进步,与大量增强的 FIERY和 BEVerse 相比,在 IoU-near(%) 上分别获得了 +4.0 和 +2.0的提升。受益于自我车辆查询和占用中丰富的时空信息,UniAD 与 ST-P3 相比,就规划范围的平均值而言,将规划 L2 错误和碰撞率降低了 51.2% 和 56.3% 。此外,它的性能明显优于几种基于激光雷达的同类产品,这是非常难得的结果。

7f2af6a8-4077-11ee-ac96-dac502259ad0.png

表4 运动预测结果

7f5859b8-4077-11ee-ac96-dac502259ad0.png

表5 Occupancy预测

4.3 Ablation Study

7f7a19c2-4077-11ee-ac96-dac502259ad0.png

表6 运动预测模块中设计的消融。表6显示了UniAD在论文第 2 节中描述的所有建议组件。2.2 为 minADE、minFDE、Miss Rate 和 minFDE-mAP 指标的最终性能做出贡献。值得注意的是,旋转的场景级锚点显示出显着的性能提升(15.8% minADE、-11.2% minFDE、+1.9 minFDE-mAP(%)),表明以场景为中心的方式进行运动预测是至关重要的。agents-目标点交互通过面向规划的视觉特征增强了运动查询,周围的agents可以从考虑自我车辆的意图中进一步受益。此外,非线性优化策略通过考虑端到端的感知不确定性,提高了性能(-5.0% minADE、-8.4% minFDE、-1.0 MR(%)、+0.7 minFDE-mAP(%))。

7f90398c-4077-11ee-ac96-dac502259ad0.png

表7 占用预测模块中设计的消融。如表7所示,与无注意力基线(实验 1)相比,在没有局部性约束的情况下关注所有代理的每个像素(实验 2)会导致性能稍差。The occupancy-guided attention mask解决了问题并带来了增益,特别是对于附近区域(Exp.3,+1.0 IoU-n.(%),+1.4 VPQ-n.(%))。此外,重用掩模特征而不是代理特征来获取占用特征进一步增强了性能。

7fba9c04-4077-11ee-ac96-dac502259ad0.png

表8 规划模块中设计的消融。表8是对规划模块行了消融,即关注 BEV 特征、碰撞损失训练以及占用优化策略。为了安全性,较低的碰撞率优于朴素轨迹模仿(L2 度量),并且在 UniAD 中应用的所有部件中,碰撞率都会降低。

5 总结与未来展望

本文讨论自动驾驶算法框架的系统级设计。面向规划的终极追求,提出了以规划为导向的管道,即UniAD。我们对感知和预测中每个模块的必要性进行了详细的分析。为了统一任务,提出了一种基于查询的设计来连接 UniAD 中的所有节点,从而受益于环境中代理交互的更丰富的表示。大量的实验从各个方面验证了所提出的方法。但是,协调这样一个具有多个任务的综合系统并非易事,需要大量的计算能力,尤其是计算能力。如何设计和管理系统以实现轻量级部署值得未来探索。此外,是否纳入更多的任务,如深度估计、行为预测,以及如何将它们嵌入到系统中,也是未来值得研究的方向。

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

    关注

    23

    文章

    4592

    浏览量

    92539
  • 框架
    +关注

    关注

    0

    文章

    398

    浏览量

    17411
  • 自动驾驶
    +关注

    关注

    782

    文章

    13634

    浏览量

    166007

原文标题:5 总结与未来展望

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

收藏 人收藏

    评论

    相关推荐

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

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

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

    可以根据自动驾驶系统的具体需求,通过编程来配置FPGA的逻辑功能和连接关系,以适应不同的应用场景和算法变化。这种灵活性使得FPGA能够快速适应自动驾驶技术的快速发展和变化。 低延迟:
    发表于 07-29 17:11

    谷歌的自动驾驶汽车是酱紫实现的吗?

    看到新闻报道说谷歌自动驾驶汽车已经行驶近30万公里了,非常的强大~~上次参加了重庆新能源汽车峰会,对会上富士通半导体宣讲的一款全景视频汽车实时监控技术平台似乎看到了自动驾驶的影子(利用MB86R11
    发表于 06-14 16:15

    自动驾驶真的会来吗?

      实际上,按照美国高速公路安全委员会(NHTSA)的5个分级,特斯拉所使用的自动驾驶属于第2别的“混合功能自动化”,该级别主要包含能同时提供组合式的自动化功能。比如
    发表于 07-21 09:00

    细说关于自动驾驶那些事儿

    展示在市区的自动驾驶情境。这台由光达、定位系统和摄影机组成的自动驾驶车,在车辆偏离车道时可自动导回车道。三种系统的作用优先
    发表于 05-15 17:49

    自动驾驶的到来

    。  总之,与其他领域类似,攻击与防守将会是一个长久的话题,目前的做法是尽量提高攻击成本,不断提升自身防御能力。这就要求自动驾驶系统必须要具备软件实时升级的能力。
    发表于 06-08 15:25

    无人驾驶自动驾驶的差别性

    及时发现前方车辆并作出反应。相比之下,在谷歌“无人驾驶”模式下,无人驾驶系统被视为“驾驶员”并对行车安全负完全责任,责任是非常清晰的。就可靠性而言,特斯拉公司同样表示目前其
    发表于 09-28 16:50

    即插即用的自动驾驶LiDAR感知算法盒子 RS-Box

    ,即可快速、无缝地将激光雷达感知模块嵌入到自己的无人驾驶方案中,真正实现“一键获得自动驾驶激光雷达环境感知能力”。RS-BoxLiDAR感知算法专业硬件平台RS-Box 由嵌入式硬件平台、独立操作
    发表于 12-15 14:20

    UWB主动定位系统自动驾驶中的应用实践

    系统、倒车辅助系统和行车辅助系统等。未来更多的传感器加入车辆,提供更多的危险预警,开车就变得更自动化,高速路的自动巡航ACC等功能出现,大大
    发表于 12-14 17:30

    如何让自动驾驶更加安全?

    自动驾驶、完全自动驾驶。第四别是汽车驾驶自动化、智能化程度最高级别,也就是通常所说的无人驾驶
    发表于 05-13 00:26

    自动驾驶汽车的处理能力怎么样?

    功能;但作为一个行业,我们仅仅是才触及ADAS系统的表面,更不用说完全自主驾驶了。示意图:自动驾驶的五个级别自动驾驶的级别
    发表于 08-07 07:13

    自动驾驶车辆中AI面临的挑战

    自动驾驶车辆中采用的AI算法自动驾驶车辆中AI面临的挑战
    发表于 02-22 06:39

    自动驾驶系统设计及应用的相关资料分享

    作者:余贵珍、周彬、王阳、周亦威、白宇目录第一章 自动驾驶系统概述1.1 自动驾驶系统架构1.1.1 自动驾驶
    发表于 08-30 08:36

    自动驾驶技术的实现

    k随着汽车电子的日益复杂化以及汽车电子电气架构(EEA)的升级,人们对于联网智能汽车的需求也在逐步上升,大量先进技术往汽车上应用,如高级驾驶辅助系统(ADAS)、自动驾驶等,这些新技术也对车载网络
    发表于 09-03 08:31

    LabVIEW开发自动驾驶的双目测距系统

    LabVIEW开发自动驾驶的双目测距系统 随着车辆驾驶技术的不断发展,自动驾驶技术正日益成为现实。从L2别的辅助
    发表于 12-19 18:02