后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文!
本调查回顾了关于BEV感知的最新工作,并对不同解决方案进行了深入分析。此外,还描述了行业中BEV方法的几个系统设计,介绍了一整套实用指南,以提高BEV感知任务的性能,包括相机、激光雷达和融合输入。最后,论文指出了该领域未来的研究方向,希望本报告能为社区提供一些信息,并鼓励更多关于BEV感知的研究工作。
自动驾驶中的感知识别任务本质上是对物理世界的三维几何重建。随着传感器的多样性和数量越来越复杂,自动驾驶系统的装备也越来越复杂,以统一的视角表示不同视图中的特征至关重要。众所周知的鸟瞰图(BEV)是一种自然而直接的候选视图,可作为统一表示。与二维视觉领域中广泛研究的前视图或透视图相比,BEV表示具有若干固有优点。首先,它没有2D任务中普遍存在的遮挡或缩放问题。可以更好地解决具有遮挡或交叉交通的车辆识别问题。此外,以这种形式表示对象或道路元素将有利于方便后续模块(如规划、控制)的开发和部署。
基于输入数据,论文将BEV感知研究主要分为三个部分:BEVcamera、BEV激光雷达和BEVfusion,下图描述了BEV感知家族的总体图,具体地,BEVcamera指示用于从多个环绕相机检测或分割3D目标的视觉或以视觉为中心的算法;BEV激光雷达描述了从点云输入的检测或分割任务;BEVfusion描述了来自多个传感器输入的融合机制,如相机、激光雷达、GNSS、里程计、高清地图、CAN总线等;
当谈到BEV感知研究的动机时,需要检查三个重要方面。
BEV感知是否会对学术界和/或社会产生真正和有意义的影响?众所周知,与基于激光雷达或融合的解决方案相比,基于视觉的解决方案存在巨大的性能差距,例如,截至2022年8月提交时,仅视觉与激光雷达之间的第一排名方法差距超过了nuScenes数据集上NDS的20%,Waymo基准的差距甚至超过30%。这自然促使我们研究视觉解决方案是否能够超越或等同于激光雷达方法。从学术角度来看,设计基于camera的pipelines以使其优于激光雷达的本质在于更好地理解从2D外观输入到3D几何输出的视图转换过程。如何像在点云中那样将相机特征转换为几何表示,对学术界产生了有意义的影响。从工业角度考虑,将一套激光雷达设备纳入SDV的成本很高。此外基于camera的pipelines可以识别长距离物体和基于颜色的道路元素(如交通灯),这两种激光雷达方法都无法实现。
论文主要回顾了近年来BEV感知研究的全貌,详细阐述了BEV感知文献的综合分析,涵盖了深度估计、视图转换、传感器融合、域自适应等核心问题。介绍并讨论了几种重要的BEV感知工业系统级设计。除了理论贡献外,我们还提供了一本实用的操作指南,用于提高各种BEV感知任务的性能。
LET-3D-APL:在仅camera的3D检测中,使用LET-3D-APL代替3D-AP作为度量。与三维联合交集(IoU)相比,LET-3D-APL允许预测边界框的纵向定位误差达到给定公差。LET-3D-APL通过使用定位亲和力缩放精度来惩罚纵向定位误差。LET-3D-APL的定义在数学上定义为:
mAP:类似于2D目标检测中的AP度量,但匹配策略被从IoU替换为BEV平面上的2D中心距离。AP是在不同的距离阈值下计算的:0.5米、1米、2米和4米。通过平均上述阈值中的AP来计算mAP:
NDS:nuScenes检测分数(NDS)是几个指标的组合,mAP、mATE(平均平移误差)、mASE(平均标度误差)、mAOE(平均方位误差)、mAVE(平均速度误差)和mAAE(平均属性误差)。通过使用上述度量的加权和来计算NDS。mAP的权重为5,其余为1:
最近的研究集中于视图转换模块[3、4、10、26、46、47、48、50、55、58],其中3D信息是根据2D特征或3D先验假设构建的。从二维特征构造三维信息通常表示为深度估计或costvolume。从3D先验假设构造3D信息通常被表示为采样2D特征以通过3D-2D投影映射构造3D特征,视图变换在仅camera3D感知中起着至关重要的作用,因为它是构建3D信息和编码3D先验假设的主要模块。大体上,它可以分为两个方面,一是利用2D特征构造深度信息并将2D特征“提升”到3D空间,另一个是通过3D到2D投影映射将2D特征编码到3D空间。我们将第一种方法命名为2D-3D,第二种方法称为3D-2D。下图给出了通过这两种方法执行视图转换的概要路线图:
从2D到3D,基于LSS的方法[5、45、46、48、56、63、95]根据2D特征预测每个像素的深度分布,而立体视觉方法[64、96]沿着由成本体积构建的平截头体散布2D特征。
从3D到2D,基于单应矩阵的方法[4,26,47,55,85,112]假定稀疏的3D采样点,并通过摄像机参数将其投影到2D平面。基于纯网络的方法[106、107、108、109、110]使用MLP或transformer隐式建模从3D空间到2D平面的投影矩阵。
LSS[56]引入了2D-3D方法,其中预测2D特征上每个网格的深度分布,然后通过相应的体素空间深度“提升”每个网格的2D特征,并执行基于激光雷达的下游任务方法。这一过程可以表述为:
LIGAStereo和DSGN等立体方法利用了这种强大的先验,并与KITTI排行榜上基于激光雷达的替代方案不相上下。
第二个分支(3D到2D)可以追溯到三十年前,当时逆透视映射(IPM)通过有条件地假设3D空间中的对应点位于水平面上,制定了从3D空间到2D空间的投影。这种变换矩阵可以从相机的内外参数中数学推导。一系列工作[99、100、101、102、103、104、105]应用IPM以预处理或后处理的方式将元素从透视图变换为鸟瞰图。
在视图变换的背景下,OFTNet[42]首先引入了3D-2D方法,即从3D到2D的特征投影,其中将2D特征投影到体素空间(3D空间)。它基于这样的假设:从相机原点到3D空间中的特定点,深度分布沿光线是均匀的。这种假设适用于自动驾驶中的大多数场景,但当涉及起伏道路时,有时会中断。同时,许多BEV地图分割工作[106、107、108、109、110]利用多层感知器或transformer架构[111]来隐式地建模3D-2D投影,而无需摄像机参数。最近,3D-2D几何投影和神经网络的组合变得流行[4,26,47,55,85,112],受特斯拉发布其感知系统技术路线图[6]的启发。请注意,transformer架构中的交叉注意)
在特征提取部分,主要有两个分支将点云数据转换为BEV表示。根据pipilines顺序,将这两个选项分别称为前BEV和后BEV,指示主干网络的输入是来自3D表示还是来自BEV表示。如下图所示,BEV激光雷达感知的一般流程。主要有两个分支将点云数据转换为BEV表示。上分支提取3D空间中的点云特征,提供更准确的检测结果。下分支提取2D空间中的BEV特征(原始点云转换),提供更高效的网络。
除了对原始点云进行基于点的方法处理之外,基于体素的方法将点体素化为离散网格,这通过离散化连续三维坐标提供了更有效的表示。基于离散体素表示、3D卷积或3D稀疏卷积可用于提取点云特征。VoxelNet[43]堆叠多个体素特征编码(VFE)层以编码体素中的点云分布作为体素特征,
PV-RCNN将点和体素分支结合起来,以学习更具辨别力的点云特征。具体而言,高质量的3D提案由体素分支生成,而点分支为提案细化提供额外信息。SA-SSD设计了一个辅助网络,将主干网络中的体素特征转换回点级表示,以明确利用3D点云的结构信息,并减少下采样中的损失。VoxelR-CNN采用3D卷积主干提取点云特征。然后在BEV上应用2D网络以提供目标proposal,这些proposal通过提取的特征进行细化。它实现了与基于点的方法相当的性能。objectDGCNN[141]将3D目标检测任务建模为BEV中动态图上的消息传递。在将点云转换为BEV特征图之后,预测查询点迭代地从关键点收集BEV特征。VoTr[139]引入了局部注意力、扩展注意力和快速体素查询,以使大量体素上的注意力机制能够用于大上下文信息。SST[67]将提取的体素特征视为标记,然后在非重叠区域中应用稀疏区域注意和区域移位,以避免对基于体素的网络进行下采样。AFDetV2[68]通过引入关键点辅助监控和多任务头,形成了单级无锚网络。
由于三维空间中的体素稀疏且不规则,应用三维卷积是低效的。对于工业应用,可能不支持3D卷积等算子,期望合适和有效的3D检测网络。MV3D[142]是将点云数据转换为BEV表示的第一种方法。在将点离散到BEV网格中之后,根据网格中的点获得高度、强度和密度的特征,以表示网格特征。由于BEV网格中有许多点,因此在此过程中,信息损失相当大。其它工作[143、144、145、146、147、148]遵循类似模式,使用BEV网格中的统计数据表示点云,例如最大高度和强度平均值。PointPillars[44]首先介绍了柱的概念,这是一种具有无限高度的特殊类型的体素。它利用PointNet[131]的简化版本来学习柱中点的表示。然后,编码特征可以由标准2D卷积网络和检测头处理。尽管点柱的性能不如其他3D主干网令人满意,但其及其变体具有高效率,因此适合于工业应用。
两部同名的作品BEVFusion[5,95]从不同方向探索了BEV中的融合。由于摄像机到激光雷达投影[72,159]抛弃了相机特征的语义密度,BEVFusion[5]设计一种有效的相机到BEV变换方法,将相机特征有效地投影到BEV中,然后使用卷积层将其与激光雷达BEV特征融合。BEVFusion[95]将BEV融合视为保持感知系统稳定性的鲁棒性主题,它将摄像机和激光雷达特征编码到同一BEV中,以确保相机和激光激光雷达流的独立性。这种设计使感知系统能够在传感器故障时保持稳定性。除了BEVFusion[5,95],UVTR[158]表示模态特定体素空间中的不同输入模式,无需高度压缩,以避免语义歧义,并实现进一步交互。图像体素空间是通过将每个视图的图像特征变换为预定义空间来构建的,其中为每个图像生成深度分布。使用常见的3D卷积网络构建点体素空间。然后在两个体素空间之间进行跨模态交互,以增强模态特定信息。
近年来,BEV感知在行业中的流行趋势。上图描述了工业应用中传感器融合的两个典型范例,在BEV感知研究之前,大多数自动驾驶公司基于perspectiveview输入构建感知系统。图a基于几何先验,将来自图像的3D结果从2D结果转换。然后,我们融合图像和激光雷达的预测,利用一些手工制作的方法,这些方法在现实场景中并不总是表现良好。相反,图b基于BEV的方法使用神经网络执行2D到3D转换,并集成特征,而不是来自不同模态的直接检测输出,从而减少手工设计,提高鲁棒性。
下图总结了全球公司提出的各种BEV感知架构:
下表描述了详细的模型/输入选项,请注意,本调查中提供的所有信息均来自公共资源;不同计划之间的比较和分析基于事实:
基于BEV的感知算法支持不同的数据模式,包括相机、激光雷达、雷达、IMU和GPS。摄像机和激光雷达是自动驾驶的主要感知传感器,一些产品仅使用摄像机作为输入传感器,例如特斯拉[6]、PhiGent[166]、Mobileye[164]。其他采用一套相机和激光雷达组合,例如Horizon[162],HAOMO[163]。请注意,IMU和GPS信号通常用于传感器融合计划[6、162、163],特斯拉和Horizon等的情况也是如此。
特征提取器用于将原始数据转换为适当的特征表示,该模块通常由主干和neck组成。特征提取器有不同的组合,例如,HAOMO[163]中的ResNet[149]和Tesla[6]中的RegNet[167]可以用作图像主干,neck可以是HAOMO[163]的FPN[79],Tesla[6]的BiFPN[168]等。对于点云输入,HAOMO[163]的基于pilliar的选项或Mobileye的基于体素的选项是主干的理想候选。
在行业中执行视图转换主要有四种方法:
(a)固定IPM。基于平坦地面假设,固定变换可以将PV特征投影到BEV空间,固定IPM投影也处理地平面,然而,它对车辆颠簸和路面平整度敏感。
(b)自适应IPM利用通过一些姿态估计方法获得的SDV的外部参数,并相应地将特征投影到BEV。尽管自适应IPM对车辆姿态具有鲁棒性,但它仍然假设地面平坦。
(c)基于transformer的BEV变换采用密集transformer将PV特征投影到BEV空间。这种数据驱动的转换在没有事先假设的情况下运行良好,因此被特斯拉、Horizon和HAOMO广泛采用[61,62,163]。
(d)ViDAR于2018年初由Waymo和Mobileye在不同地点并行提出[13,164],以表明基于相机或视觉输入使用像素级深度将PV特征投影到BEV空间的实践,类似于激光雷达中的表示形式。
术语ViDAR相当于大多数学术文献中提出的伪激光雷达概念。配备ViDAR,可以将图像和后续特征直接转换为点云,然后,可以应用基于点云的方法来获得BEV特征。最近已经看到许多ViDAR应用,特斯拉、Mobileye、Waymo、丰田[6、13、164、169、170]等。总体而言,transformer和ViDAR的选择在行业中最为普遍。
在先前的BEV变换模块中完成了不同摄像机源之间的对准。在融合单元中,进一步整合了摄像机和激光雷达的BEV特征。通过这样做,不同形式的特征最终被整合成一种统一的形式。
在BEV感知中,多头设计被广泛采用。由于BEV特征聚集了来自所有传感器的信息,所有3D检测结果都从BEV特征空间解码。同时,PV结果(对于自动驾驶仍然有价值)也从一些设计中的相应PV特征中解码。预测结果可分为三类:(a)低水平结果与物理约束有关,如光流、深度等。(b)实体级结果包括对象的概念,即车辆检测、车道线检测等。(c)结构级结果表示对象之间的关系,包括对象跟踪、运动预测等。
用于2D识别任务的图像上的通用数据增强适用于基于相机的BEV感知任务。一般来说,可以将增强分为静态增强和空间变换,静态增强仅涉及颜色变化,基于颜色变化的增强是直接适用的。对于涉及空间变换的增强,除了相应变换的地面真相外,还需要摄像机参数的校准。最近的工作中采用的常见增强是颜色抖动、翻转、多尺度调整大小、旋转、裁剪和网格遮罩。在BEVFormer++中,采用了颜色抖动、翻转、多尺度调整大小和网格掩码。输入图像按0.5和1.2之间的因子缩放,以0.5的比率翻转;总面积的最大30%被正方形掩模随机掩模。值得注意的是,在BEV感知中有两种翻转图像的方法。第一种方法是简单地相应地翻转图像、GT和相机参数。第二种方法还翻转图像顺序,以保持图像之间重叠区域的一致性,这类似于对称翻转整个3D空间。下图为BEV下的一些trick和消融实验:
点云数据在推理过程中,使用了多个TTA,包括旋转、缩放和翻转。对于缩放,所有模型的缩放因子都设置为{0.90、0.95、1.00、1.05、1.10},因为缩放因子越大或越小对模型性能有害。翻转与训练阶段相同,即沿X轴、Y轴以及X轴和Y轴。
虽然BEV检测消除了多摄像机对象级融合的负担,但也观察到了可从进一步后处理中获益的显著事实,利用2D检测结果对3D检测结果进行重复移除是有益的,其中2Dbox和3Dbox是二分匹配的。
[1]DelvingintotheDevilsofBird’s-eye-viewPerception:AReview,EvaluationandRecipe.2022
往期回顾
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、多传感器融合、SLAM、光流估计、轨迹预测、高精地图、规划控制、AI模型部署落地等方向;