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


审核编辑 :李倩

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

    关注

    41

    文章

    3364

    浏览量

    131571
  • 3D
    3D
    +关注

    关注

    9

    文章

    2756

    浏览量

    106458
  • 自动驾驶
    +关注

    关注

    773

    文章

    13060

    浏览量

    163240
收藏 人收藏

    评论

    相关推荐

    华为小米自动驾驶Occupancy Network对决

    2023年6月计算机视觉学术圈CVPR举办两场自动驾驶研讨会,一个是端到端自动驾驶研讨会 (End-to-End Autonomous Driving Workshop),另一个是视觉中心自动驾驶研讨会 (Vision-Cent
    的头像 发表于 04-28 14:35 413次阅读
    华为小米<b class='flag-5'>自动驾驶</b><b class='flag-5'>Occupancy</b> Network对决

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

    巨大的进展;自动驾驶开始摒弃手动编码规则和机器学习模型的方法,转向全面采用端到端的神经网络AI系统,它能模仿学习人类司机的驾驶,遇到场景直接输入传感器数据,再直接输出转向、制动和加速信号。模仿学习人类
    发表于 04-11 10:26

    Waymo自愿召回444辆自动驾驶汽车 L4的自动驾驶还有很多路要走

    近日,谷歌旗下的自动驾驶部门Waymo自愿召回了444辆自动驾驶汽车,原因是其软件可能无法准确预测拖曳车辆的运动轨迹
    的头像 发表于 02-26 10:22 701次阅读
    Waymo自愿召回444辆<b class='flag-5'>自动驾驶</b>汽车 L4的<b class='flag-5'>自动驾驶</b>还有很多路要走

    BEV和Occupancy自动驾驶的作用

    BEV是Bird's Eye View 的缩写,意为鸟瞰视图。在自动驾驶领域,BEV 是指从车辆上方俯瞰的场景视图。BEV 图像可以提供车辆周围环境的完整视图,包括车辆前方、后方、两侧和顶部。
    发表于 01-17 12:33 424次阅读
    BEV和<b class='flag-5'>Occupancy</b><b class='flag-5'>自动驾驶</b>的作用

    自动驾驶领域中,什么是BEV?什么是Occupancy

    BEV是Bird's Eye View 的缩写,意为鸟瞰视图。在自动驾驶领域,BEV 是指从车辆上方俯瞰的场景视图。
    的头像 发表于 01-13 09:41 1946次阅读
    <b class='flag-5'>自动驾驶</b>领域中,什么是BEV?什么是<b class='flag-5'>Occupancy</b>?

    基于区块链的自动驾驶车辆电池寿命预测方法

    基于区块链的自动驾驶车辆电池寿命预测方法
    的头像 发表于 01-05 10:27 199次阅读
    基于区块链的<b class='flag-5'>自动驾驶</b>车辆电池寿命<b class='flag-5'>预测</b>方法

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

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

    【KV260视觉入门套件试用体验】八、VITis AI自动驾驶多任务执行MultiTask V3

    是一种模型,旨在同时执行自动驾驶场景中的不同任务,同时实现优异的性能和效率。这些任务包括对象检测、分割、车道检测、可行驶区域分割和深度估算,这些都是自动驾驶感知模块的重要组成部分。 三、代码实现
    发表于 09-26 16:43

    NVIDIA Research 在 CVPR 上赢得自动驾驶挑战赛并获得创新奖

    新研究成果带来实现安全自动驾驶系统所需的先进 3D Occupancy 预测。 NVIDIA 以自动驾驶开发大赛 3D Occupancy
    的头像 发表于 08-24 17:10 303次阅读
    NVIDIA Research 在 CVPR 上赢得<b class='flag-5'>自动驾驶</b>挑战赛并获得创新奖

    NVIDIA Research在CVPR上赢得自动驾驶创新奖

    新研究成果带来实现安全自动驾驶系统所需的先进 3D Occupancy 预测
    的头像 发表于 08-24 17:09 985次阅读

    广汽自研纯视觉自动驾驶技术斩获运动轨迹预测榜单全球第一

    榜单全球第一,展现广汽埃安自动驾驶技术强大实力。 这是继2022年8月广汽自主研发的XTracker方法在nuScenes自动驾驶测试竞赛中夺得纯视觉榜单全球第一后,自动驾驶技术再次取得创新突破。   Argoverse 2
    的头像 发表于 08-02 14:16 1213次阅读

    中国自动驾驶发展加速,已实现多场景落地应用

    当前技术还无法达到全工况、全区域的自动驾驶,4级自动驾驶足以满足限定场景内实现完全替代驾驶员及安全员的需求 根据工信部发布的《汽车驾驶
    的头像 发表于 06-21 17:32 336次阅读

    自动驾驶落地关键点及趋势预测

    自动驾驶系统控制汽车,驾驶员保持随时接替状态。 L4:特定场景下的自动驾驶驾驶员可以在后排座位嗨了,不用控制方向盘,制动和油门。 L5:
    发表于 06-07 14:39 1次下载
    <b class='flag-5'>自动驾驶</b>落地关键点及趋势<b class='flag-5'>预测</b>

    自动驾驶场景图像分割(Unet)

    本文使用matlab环境,测试了自动驾驶场景的图像分割任务。分割网络使用Unet。 一千张标注图像,最终训练精度达到 90%。    数据准备 场景预标注数据下载地址: Semantic
    发表于 06-07 11:58 0次下载
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>场景</b>图像分割(Unet)

    Matlab自动驾驶工具箱使用简介

    一、自动驾驶工具箱 三个依次是 驾驶场景和传感器模块库 车辆控制模块库 3D仿真模块库 二、自动驾驶模块 自动驾驶模块位于模型
    发表于 06-02 14:19 0次下载
    Matlab<b class='flag-5'>自动驾驶</b>工具箱使用简介