BEVerse:自动驾驶视觉为中心的BEV统一感知和预测框架

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

6e3936f4d96e6c84a4b5d14265ae45b5.png

作者丨黄浴

来源丨计算机视觉深度学习和自动驾驶 

arXiv论文“BEVerse: Unified Perception and Prediction in Birds-Eye-View for Vision-Centric Autonomous Driving”,上传于2022年5月19日。作者来自清华大学和创业公司鉴智机器人。

5a21220196b3c7fda07bb972162ae5f8.png

本文提出了基于多摄像机系统的3D感知和预测的统一框架BEVerse。与现有研究专注于改进单任务方法不同,BEVerse的特点是从多摄像头视频中生成BEV表征,并对多个任务进行联合推理,实现以视觉为中心的自动驾驶。具体来说,BEVerse首先执行共享特征提取和提升(lifting),从多时间戳和多视图图像生成4D BEV表征。在自运动补偿之后,利用时空编码器进一步提取BEV特征。

最后,加上多个任务解码器进行联合推理和预测。在解码器中,提出栅格采样器(grid sampler)来生成对不同任务支持不同范围和粒度的BEV特征。此外,还设计一个迭代流(iterative flow)方法,实现内存高效的未来预测。实验发现,时域信息可以提高3D目标检测和语义图的构建,而多任务学习以隐含方式有利于运动预测。

通过在nuScenes数据集上的大量实验,表明多任务BEVerse框架在3D目标检测、语义地图构建和运动预测方面优于现有单任务方法。与序列工作相比,BEVerse也有利于显著提高效率。

代码和模型今后将开源在https://github.com/zhangyp15/BEVerse。


2408466526675dbcc2d06c8611fd43f8.png

如上图所示,传统的范例是按序列堆叠这些子任务,其中一个子任务的输出作为输入馈送到下一个子任务。序列设计可以从整个系统中分割单个任务,为学术研究创造了独立和特定的问题。然而,错误的传播会显著影响下游任务。此外,由于重复的特征提取和传播,序列范式本身会带来额外的计算负担。而提出的BEVerse框架用于联合感知和预测,通过共享特征提取和并行多任务推理,在性能和效率之间实现了更好的权衡。

最近一些研究一直在探索以激光雷达为中心的自动驾驶系统感知和预测的联合推理。这些工作表明,由于共享计算的好处,多任务范式可以更有效,并且还可以实现最先进的性能,得益于时域融合和联合学习。考虑到激光雷达传感器的昂贵成本,大家研究的兴趣包括了以视觉为中心的方法,依赖于多个周围摄像头作为输入信息。

其他道路智体的未来行为对于自训练系统做出安全规划决策非常重要,已经提出了大量基于摄像头的运动预测方法。FIERY提出第一个直接从周围摄像头视频中进行BEV运动预测的框架。同时StretchBEV进一步提出在每个时间戳对潜变量进行采样,并预测残余变化产生未来状态。

FAF网络提出了一个整体模型,该模型将对检测、预测和跟踪进行联合推理。MotionNet提出了一种分层时-空金字塔网络,对激光雷达扫描序列中的BEV特征进行编码。然后,在不使用边框的情况下执行联合感知和运动预测。

与FIERY类似,本文方法也采用原始感知输入,在BEV坐标系下进行联合感知和预测。为了减少FIERY的内存消耗并支持多任务推理,提出一个用于未来状态高效生成的迭代流。


24afd7a1d16a69e62685e242602b989a.png

如图所示,BEVerse从N个时间戳中获取M个周围的摄像头图像,并将相应的自运动和摄像头参数作为输入。通过多任务推理,输出包括当前帧的3D边框和语义图,以及后续T帧的未来实例分割和移动。BEVerse由四个子模块组成,这些子模块依次为图像视图编码器、视图转换器、时空BEV编码器和多任务解码器。

图像视图编码器采用SwinTransformer做主干网,视图转换器采用Lift-Splat-Shoot(LSS)的方法,然后如FIERY时空BEV编码器由一组时域块组成。

多任务解码器是并行和独立的一组解码器组成,其中每个解码器包括栅格采样器、任务编码器和任务头。

由于不同任务可能需要特定的范围和粒度,输入BEV特征的空间范围和分辨率不能直接用于解码。例如,语义地图的学习需要细粒度特征,因为3-D空间的交通线很窄。因此,栅格采样器裁剪特定任务区域,并通过双线性插值转换为理想分辨率。实验中为提高效率,基本BEV栅格设置大而粗。

特征采样后,用轻量级任务编码器在相应的BEV栅格对特定任务特征进行编码。随BEVDet,作者用ResNet基本块构建主干,并结合图像视图编码器类似的多尺度特性。输出特征上采样到输入分辨率,并发送到任务头。

由于BEV的特征表征由多个摄像头视频构建,因此单目和激光雷达的方法之间的维度差距(dimension gap)已经消失。因此,为激光雷达设计的检测头可以直接采用,无需修改。本文使用两步法CenterPoint的第一步(stage)作为3D目标检测头部。

带有BatchNorm和ReLU的两个普通卷积层构建语义地图重建头,输出通道是语义地图中Cmap的类数。

6be98993517d292460b77b0373036096.png

还需要对未来状态进行预测。如上图(a)所示,FIERY首先预测未来高斯分布参数,并采样潜向量φt∈ RL,其中L是潜维度。采样的φt,在空域扩展为R (Xmotion × Ymotion × L)形状,并用于初始化未来状态。然后,重复应用ConvGRU(convolutional gated recurrent unit)网络块和瓶颈块,生成未来状态{st+1,st+2,···,st+T}。

影响FIERY预测模块有效性的两个重要因素:(1)每个BEV像素共享采样的全局潜向量φt,不能代表许多不同智体的不确定性。(2) 仅从采样潜向量初始化未来状态,这样会提高预测的难度。

为此,提出用于未来预测的迭代流,如上图(b)。与FIERY不同的是,这里直接预测和采样一个潜图R(Xmotion × Ymotion × L),这样可以分离不同目标的不确定性。

此外,通过预测流进行当前状态的warping,生成下一个时间戳的状态,这自然适应运动预测问题并简化了学习过程。生成未来状态后,用相同的输出头(如FIERY)预测未来实例分割和运动。


在nuScenes数据集进行综合实验。nuScenes数据集包括1000个在波士顿和新加坡收集的驾驶视频段。每个视频段长度为20秒,并以2Hz频率用3D边框进行标注,生成多达40k个关键帧和1.4M个目标边框。所有视频段正式划分为700、150和150,分别用于训练、验证和测试。对于以视觉为中心的方法,提供的感知输入包括六个周围的摄像头、内/外参数和自运动。

构建两个版本的BEVerse,即BEVerse-Tiny和BEVerse-Small,用于在性能和效率之间进行不同的权衡。BEVerse-Tiny使用Swin-T(33)作为主干,输入图像缩放至704×256,而BEVerse-Small使用更强Swin-S(59),图像缩放至1408×512。请注意,nuScenes数据集中的原始分辨率为1600×900。

按照FIERY设置,BEVerse获取过去三帧(包括现在)图像,感知当前环境,并预测未来四帧的实例运动(在nuScenes其时长2.0秒)。基于nuScenes的自车系统构建BEV坐标。

对于3-D目标检测,定义X-轴和Y-轴的BEV范围为[-51.2m,51.2m],间隔为0.8m。对于语义地图重建,X-轴范围为[-30.0m,30.0m],Y-轴范围为[-15.0m,15.0m],间距为0.15m。对于运动预测,X-轴和Y-轴的范围均为[-50.0m,50.0m],间隔为0.5m。

视图转换器的BEV栅格遵循检测设置。

对于模型架构实现,图像视图编码器的输出通道是512,并且在视图转换期间进一步减少到64。在时域模型和任务特定编码器之后,特征通道增加到256进行解码。对于每个任务的损失权重,遵循CenterPoint和FIERY的设置。为平衡多任务学习,将检测、地图和运动的权重设置为[1.0、10.0、1.0]。除非另有说明,否则所有报告的结果都是用多任务框架生成。

对于训练,使用AdamW优化器,初始学习率为2e-4,权重衰减为0.01,梯度剪辑为35。该模型使用CBGS进行了20 epochs的训练。对于学习安排,采用单周期(one-cylce)策略,峰值学习率为1e-3。在32个NVIDIA GeForce RTX 3090 GPU,为BEVerse Tiny/Small训练批量大小为64/32的模型。主干在ImageNet上进行预训练,其他参数随机初始化。对于推理,采用BEVDet提出的scale-NMS和加速技巧。

对于增强策略,严格按照BEVDet的设置来执行图像视图和BEV增强。图像视图操作包括输入图像的随机缩放、旋转和翻转。BEV增强包括类似的操作,但适用于BEV表征和相应的学习目标。为了保持一致性,对过去每一帧应用相同的增强操作。

实验结果:

23a6b711f9f79acf8a846d82b64e3324.png

fe3b25b79831d6d83ab0b69803f7be9b.png

c92cd5b1cef9a4aced85b9725837e8fd.png

cad54993293ee4d2a8f6b554b41a44be.png

d440cd2ef0dddceea12ad2776150857f.png

2119abf2bb956a0d96849a0a9c9aab5b.png

本文仅做学术分享,如有侵权,请联系删文。

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

a0decbb0cea01f60cfb410fe90d09eec.png

▲长按加微信群或投稿

e6aa327f145b0c942f4b5c42e03f441f.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

5121045e37de0246ce41088a7261ea54.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值