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

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

3天内不再提示

基于自动驾驶场景Occupancy和Flow的运动预测

地平线HorizonRobotics 来源:地平线HorizonRobotics 作者:地平线HorizonRobot 2022-07-05 11:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

摘要:近年来自动驾驶场景中的预测任务逐渐兴起一种新形式,即预测未来基于鸟瞰图的空间占有栅格(occupancy)和光流(flow)。此类预测任务与传统预测轨迹的任务相比在很多场景下会提供更多的信息,作为自动驾驶上下游的一环,有着更广泛的应用场景。在今年的Waymo Open Dataset Challenge 2022上,Waymo推出了此任务的全新挑战赛。地平线在这个项目上研发出了一种全新的利用时空信息进行编码解码的层级网络,通过多重编码网络,多尺度时空融合,预测隐变量以及联合栅格占有和光流的损失函数等创新性技术,将这一任务的精度推上新的高度。

背景

预测任务是自动驾驶场景中至关重要的一项任务,其目的是通过对运动物体的历史轨迹和运动状态的观测,结合道路信息,推测其未来的行为,为下游的规划控制提供更丰富的预测信息。其表征形式通常为多条未来可能的轨迹。近年来,越来越多的研究表明,基于鸟瞰图的空间占有栅格和光流的表征形式相比多条轨迹预测有更强的表征能力。相比于轨迹的形式,占有栅格有更丰富的空间分布信息,能更好的表征动态物体的位置,形状,身份的不确定性;其联合概率分布的形式在一定程度上可以处理物体之间的交互的能力;同时,所有的动态物体可以同时并行处理,极大地提升了处理的效率;另外,此种方法还具有推测被遮挡物体的能力,能有效预防诸如“鬼探头”等的情况;最后,其鸟瞰图下的表征形式能更好地与上下游相结合。基于这个趋势,Waymo于今年推出了全新的自动驾驶挑战赛项目,即Occupancy and Flow Prediction Challenge。此挑战赛给定过去一秒中动态物体(车辆,自行车和行人)的运动轨迹,要求对未来八秒的可观测物体的栅格占有、遮挡物体的栅格占有以及对应光流做预测。本方法结合了CNN、transformer、三维稀疏卷积等优势,利用隐变量丰富了未来的信息,创新性地引入了层级时序解码机制,在此次Waymo挑战赛中取得了极佳的成绩。

方法

e883bd60-fba9-11ec-ba43-dac502259ad0.png

输入

模型的输入包含了动态信息和静态信息。其中动态信息包含了历史帧和当前帧的动态物体(车辆,自行车和行人)的空间占有栅格信息以及对应物体的属性信息(比如物体检测框的长宽高和速度等信息),静态信息包含了整个场景的路面相关信息(比如道路中线,道路边缘,路面其他特征等)。所有信息都被处理成二维鸟瞰图并进一步进行时间尺度上的聚合。我们同时使用了2D编码器和3D编码器,其中针对2D编码器,动态信息输入会直接在特征维上进行时间拼接;而针对3D编码器,时间会作为额外的维度(静态信息在每一帧上进行复制),并且输入会作稀疏化处理。 编码器

编码器一共分为三种,分别是基本编码器,注意力编码器以及时空编码器

基本编码器:作为整个框架的基本编码器,我们选择使用了RegNet[1]模型。RegNet是一个设计完备且效率很高的模型。编码器经过层层降采样编码,生成了5个维度上的特征,对应的尺度分别是输入的1/2,1/4,1/8,1/16和1/32。

注意力编码器:近年来,在检测和分割任务中,SwinTransformer及其升级版SwinTransformerV2[2]取得了很好的结果。基于其独特的局部窗口注意力机制,不仅能很好地编码动态物体和路面间的交互,还大量地减少了网络计算量,因此我们使用了SwinTransformerV2来作为整个网络的注意力编码器。为了可以和基本编码器输出特征的尺度相对应,我们将每个patch的尺寸由4改成了2,由此注意力编码器可以输出和基本编码器尺度相同的5个特征。

e8a677ce-fba9-11ec-ba43-dac502259ad0.png

时空编码器:为了更好地进行帧间信息交互提取,我们设计了一个3D时空编码器来额外捕捉时间尺度上的信息。因为我们的输入信息在鸟瞰图上有着很高的稀疏度,我们选择使用3D稀疏卷积和子流形稀疏卷积[3]来搭建网络。这样既可以大量地加速3D卷积的计算也可以有效防止稀疏特征在早期过快地膨胀(dilation)。我们对应其他编码器,设计了5阶段网络,其中时间维在2和4阶段进行下采样。针对网络的每个输出特征,我们将时间维和特征维进行合并来使特征降维。

e8cd57ea-fba9-11ec-ba43-dac502259ad0.png

聚合器

聚合器由两部分组成,在空间尺度上,我们利用BiFPN做多尺度的聚合;在时间尺度上,我们利用隐变量模型来丰富未来的信息。类比于条件变分器,我们在每一个尺度,每一个空间位置都对未来的概率进行建模。在训练阶段,我们基于现在时刻的概率分布做采样。推理阶段,我们直接采用概率分布均值。为了保证预测分布和已观测分布的一致性,我们采用Kullback-Leibler divergence损失函数作为监督信号

e8eebc50-fba9-11ec-ba43-dac502259ad0.jpg

解码器

解码器采用多层级多尺度的特征金字塔形式,基本的组成单元为3D卷积Bottleneck结构。3D bottleneck中采用了膨胀卷积和分组卷积,可以极大地扩大感受野并节省计算量。同时,为了将编码后的2D特征做时序展开,我们引入了3D转置卷积Bottleneck。这些堆叠的bottleneck通过上采样进行多尺度的链接,有效地融合了多尺度的信息。同时,为了节省计算量,我们在输出尺度上用ConvLSTM做时序上的修正。

e92a2dee-fba9-11ec-ba43-dac502259ad0.png

ec74a024-fba9-11ec-ba43-dac502259ad0.png

损失函数

对于可观测占有栅格和被遮挡占有栅格的预测,我们采用Focal Loss作为其监督信号,两者采用相同的权重进行加权。

eced00be-fba9-11ec-ba43-dac502259ad0.png

对于光流的预测,我们采用Smooth L1损失函数。为了将光流和占有率的预测解耦,我们利用占有率的真值做加权。

ecfe2f2e-fba9-11ec-ba43-dac502259ad0.png

为了保证栅格占有率和光流预测的一致性,我们采用跟踪损失函数进行进一步监督。利用光流的预测,我们可以对前一帧的栅格占有率进行空间变形来得到当前帧的基于光流的空间占有预测。

ed39b922-fba9-11ec-ba43-dac502259ad0.png

最后将基于光流的空间占有预测和当前帧栅格占有预测相乘,来得到当前帧的空间占有-光流联合预测,并用此联合预测和当前帧的栅格占有真值来计算损失函数traced loss。我们同时采用Focal loss和交叉熵损失函数进行监督[4]。

ed5b9b00-fba9-11ec-ba43-dac502259ad0.png

为保证聚合器中隐变量中现在和未来的一致性,我们采用Kullback-Leibler divergence损失函数作为监督信号[5]来监督预测的概率分布函数参数。

ed7f3c72-fba9-11ec-ba43-dac502259ad0.png

ed9fec56-fba9-11ec-ba43-dac502259ad0.png

最后,所有的损失函数进行加权和作为最后的损失函数。

edb2da32-fba9-11ec-ba43-dac502259ad0.png

实验结果

消融实验

本表展示了在Waymo数据集上的消融实验结果,灰色的一列为评测的主指标。可以看出,loss的改进,如focal loss和traced loss分别带来了2.01%和0.46%的提升。同时,更丰富的栅格化输入带来了1.23%的提升。同时,结构化的改进,包括隐变量,时空解码器,以及解码器的改进带来了约1.21%的提升。最后TTA带来了约0.40%的提升。值得一提的是,所有的实验都是在十分之一的数据集上做的验证。这些结果充分的说明了我们方法的有效性。

edcf1f94-fba9-11ec-ba43-dac502259ad0.png

测试集表现

下表展示了我们方法在waymo测试集上的排名,灰色的一列代表评测的主指标,可以看出,我们的结果在主指标上大幅领先对手,充分说明我们方法的优越性。

f11ff90c-fba9-11ec-ba43-dac502259ad0.png

结果可视化

下面展示我们的方法在特定场景下的对接下来8秒占有栅格(左)和光流(右)的可视化结果。下面列出了直行,红绿灯路口左转右转掉头,无保护左转,4-way-stop,无保护左转,自主避障,停车入库,被遮挡物体的猜测等场景。可以看出,我们的方法能有效地处理复杂场景,能实现多动态物体的交互,交通信息和规则的理解,自主避障,对被遮挡物体的推测等功能。

普通路面:主要展示对不同车速/加速减速情况的车流预测,可以看出HOPE能对未来轨迹的不确定性进行很好的建模

f13ebd88-fba9-11ec-ba43-dac502259ad0.gif

交叉路口:主要展示对不同转弯,停车等待的车流预测

f1850d7e-fba9-11ec-ba43-dac502259ad0.gif

掉头场景:复杂路口

f1a7a906-fba9-11ec-ba43-dac502259ad0.gif

不确定场景:直行、右转两条车道都有可能驶入

f212722c-fba9-11ec-ba43-dac502259ad0.gif

右转:右转车辆对直行车辆进行了避让

f2433916-fba9-11ec-ba43-dac502259ad0.gif

左转:根据路口红绿灯、交通规则等综合信息对路权进行判断

f26a3b92-fba9-11ec-ba43-dac502259ad0.gif

无保护左转:左转车辆对直行车辆进行了避让

f2b43cce-fba9-11ec-ba43-dac502259ad0.gif

2 way stop:可以看见车辆交互,处理先来后到顺序

f5c80f76-fba9-11ec-ba43-dac502259ad0.gif

遮挡绕行:可以看见车辆对前方静止车辆进行了绕行

f652d66a-fba9-11ec-ba43-dac502259ad0.gif

停车入库:小样本、低速场景预测,可以看见低速场景下轨迹的不确定性更高,模型可以有多种可能的轨迹预测

f98a4868-fba9-11ec-ba43-dac502259ad0.gif

遮挡物体的猜测:绿色的为被遮挡物体

f9b56b38-fba9-11ec-ba43-dac502259ad0.gif


审核编辑 :李倩

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

    关注

    45

    文章

    4022

    浏览量

    143730
  • 3D
    3D
    +关注

    关注

    9

    文章

    3032

    浏览量

    115814
  • 自动驾驶
    +关注

    关注

    795

    文章

    15056

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶端到端为什么会出现黑盒现象?

    自动驾驶领域,端到端(End-to-End)是指从感知环境的原始数据到车辆实际控制指令,全部交给一个统一的深度学习模型来完成。这和传统的模块化自动驾驶系统不一样,模块化自动驾驶系统会先识别道路和障碍物,再做行为
    的头像 发表于 02-20 09:25 9649次阅读
    <b class='flag-5'>自动驾驶</b>端到端为什么会出现黑盒现象?

    自动驾驶汽车如何实现自动驾驶

    人类驾驶员而言是非常直观且有效的指令,但对于自动驾驶汽车来说,则意味着需要一套极其复杂的感知、理解与决策链路。 自动驾驶如何看清文字? 自动驾驶汽车感知汉字的第一步是
    的头像 发表于 02-10 08:50 901次阅读
    <b class='flag-5'>自动驾驶</b>汽车如何实现<b class='flag-5'>自动驾驶</b>

    已有VLM,自动驾驶为什么还要探索VLA?

    [首发于智驾最前沿微信公众号]自动驾驶技术正处于发展的转折点。过去十几年间,行业长期依赖模块化的技术路径,即将驾驶任务拆解为感知、预测、规划和控制四个独立环节。这种结构虽然清晰,但在面对突发状况
    的头像 发表于 02-03 09:04 454次阅读
    已有VLM,<b class='flag-5'>自动驾驶</b>为什么还要探索VLA?

    自动驾驶场景生成方法及优选方案:康谋aiSim 3DGS方案重塑行业标准

    自动驾驶技术飞速发展的当下,仿真测试的重要性愈发凸显,而 自动驾驶场景生成 作为仿真测试的核心环节,其技术水平直接决定了测试的效率与可靠性。面对传统场景生成方式的诸多痛点,基于生成式
    的头像 发表于 02-02 17:39 570次阅读

    如何设计好自动驾驶ODD?

    为确定自动驾驶的可使用范围,会给自动驾驶设置一个运行设计域(Operational Design Domain,ODD)。ODD的作用就是用来明确自动驾驶在什么情况下能工作,在什么情况下不能工作,给车设定“工作范围”。
    的头像 发表于 01-24 09:27 1914次阅读

    世界模型是让自动驾驶汽车理解世界还是预测未来?

      [首发于智驾最前沿微信公众号]世界模型在自动驾驶技术中已有广泛应用。但当谈及它对自动驾驶的作用时,难免会出现分歧。它到底是让自动驾驶汽车得以理解世界,还是为其提供了预测未来的视角?
    的头像 发表于 12-16 09:27 1094次阅读
    世界模型是让<b class='flag-5'>自动驾驶</b>汽车理解世界还是<b class='flag-5'>预测</b>未来?

    自动驾驶为什么要重视轨迹预测

    轨迹预测。 轨迹预测要做的是,在几秒到十几秒的时间范围内,判断出“其他交通参与者可能会怎么移动”。如果缺少这个能力,自动驾驶系统更像是一个被动的跟随者,只能针对当前状况做出反应;一旦前方出现突发状况,很容易应对
    的头像 发表于 11-20 10:45 863次阅读
    <b class='flag-5'>自动驾驶</b>为什么要重视轨迹<b class='flag-5'>预测</b>?

    语言模型是否是自动驾驶的必选项?

    [首发于智驾最前沿微信公众号]自动驾驶的发展并非一成不变,在传统自动驾驶系统中,通常采用分层的体系架构。最底层是感知层,负责将摄像头、雷达、激光雷达等传感器数据转化为车辆能够“看到”的环境信息;其上
    的头像 发表于 11-14 16:23 3834次阅读
    语言模型是否是<b class='flag-5'>自动驾驶</b>的必选项?

    不同等级的自动驾驶技术要求上有何不同?

    谈到自动驾驶,不可避免地会涉及到自动驾驶分级,美国汽车工程师学会(SAE)根据自动驾驶系统与人类驾驶员参与驾驶行为程度的不同,将
    的头像 发表于 10-18 10:17 2947次阅读

    无引导线的左转场景下,自动驾驶如何规划轨迹?

    对于很多新手司机来说,在无引导线左转的场景中,开车会非常谨慎,但依旧会很好地处理好这一操作。但对于自动驾驶汽车来说,其行驶需要有较为明显的参考线,在没有白色虚线、没有箭头感知“我的车道在哪儿”的交通
    的头像 发表于 09-18 09:12 990次阅读
    无引导线的左转<b class='flag-5'>场景</b>下,<b class='flag-5'>自动驾驶</b>如何规划轨迹?

    自动驾驶汽车如何处理“鬼探头”式的边缘场景

    [首发于智驾最前沿微信公众号]自动驾驶遇到“鬼探头”式的边缘场景时应该如何处理?其实对于自动驾驶汽车来说,无论是常规场景,还是边缘场景,它都
    的头像 发表于 08-29 11:11 1000次阅读
    <b class='flag-5'>自动驾驶</b>汽车如何处理“鬼探头”式的边缘<b class='flag-5'>场景</b>?

    低速和高速自动驾驶的应用场景和技术方向有何不同?

    [首发于智驾最前沿微信公众号]在很多交流场景中,当我说到自动驾驶技术的应用还不成熟,现在只能达到L2级时,就会有些小伙伴提到快递、外卖小车的应用,他们认为这些小车已经不需要驾驶驾驶
    的头像 发表于 08-03 09:35 1191次阅读

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

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展正朝着多元化方向迈进,其中低速自动驾驶小车(以下简称“低速小车”)因其在物流配送、园区运维、社区服务等场景中的独特价值而受到广泛关注,且现阶段已经深入
    的头像 发表于 07-14 09:10 1348次阅读
    低速<b class='flag-5'>自动驾驶</b>与乘用车<b class='flag-5'>自动驾驶</b>在技术要求上有何不同?

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

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