BEV最新综述 | 学术界和工业界方案汇总!优化方法与tricks(下)

简介: 本调查回顾了关于BEV感知的最新工作,并对不同解决方案进行了深入分析。此外,还描述了行业中BEV方法的几个系统设计,介绍了一整套实用指南,以提高BEV感知任务的性能,包括相机、激光雷达和融合输入。最后,论文指出了该领域未来的研究方向,希望本报告能为社区提供一些信息,并鼓励更多关于BEV感知的研究工作。

原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA



BEV前特征提取


除了对原始点云进行基于点的方法处理之外,基于体素的方法将点体素化为离散网格,这通过离散化连续三维坐标提供了更有效的表示。基于离散体素表示、3D卷积或3D稀疏卷积可用于提取点云特征。VoxelNet[43]堆叠多个体素特征编码(VFE)层以编码体素中的点云分布作为体素特征,


PV-RCNN将点和体素分支结合起来,以学习更具辨别力的点云特征。具体而言,高质量的3D提案由体素分支生成,而点分支为提案细化提供额外信息。SA-SSD设计了一个辅助网络,将主干网络中的体素特征转换回点级表示,以明确利用3D点云的结构信息,并减少下采样中的损失。Voxel R-CNN采用3D卷积主干提取点云特征。然后在BEV上应用2D网络以提供目标proposal,这些proposal通过提取的特征进行细化。它实现了与基于点的方法相当的性能。object DGCNN[141]将3D目标检测任务建模为BEV中动态图上的消息传递。在将点云转换为BEV特征图之后,预测查询点迭代地从关键点收集BEV特征。VoTr[139]引入了局部注意力、扩展注意力和快速体素查询,以使大量体素上的注意力机制能够用于大上下文信息。SST[67]将提取的体素特征视为标记,然后在非重叠区域中应用稀疏区域注意和区域移位,以避免对基于体素的网络进行下采样。AFDetV2[68]通过引入关键点辅助监控和多任务头,形成了单级无锚网络。


BEV后特征提取


由于三维空间中的体素稀疏且不规则,应用三维卷积是低效的。对于工业应用,可能不支持3D卷积等算子,期望合适和有效的3D检测网络。MV3D[142]是将点云数据转换为BEV表示的第一种方法。在将点离散到BEV网格中之后,根据网格中的点获得高度、强度和密度的特征,以表示网格特征。由于BEV网格中有许多点,因此在此过程中,信息损失相当大。其它工作[143、144、145、146、147、148]遵循类似模式,使用BEV网格中的统计数据表示点云,例如最大高度和强度平均值。PointPillars[44]首先介绍了柱的概念,这是一种具有无限高度的特殊类型的体素。它利用PointNet[131]的简化版本来学习柱中点的表示。然后,编码特征可以由标准2D卷积网络和检测头处理。尽管点柱的性能不如其他3D主干网令人满意,但其及其变体具有高效率,因此适合于工业应用。


一些讨论


点云数据由神经网络直接处理,在连续3D空间中计算点之间的邻域关系,这带来了额外的时间消耗并限制了神经网络的感受域。最近的工作[43,84]利用离散网格来表示点云数据;采用卷积运算提取特征。然而,将点云数据转换为任何形式的表示不可避免地会导致信息丢失。BEV前特征提取中的现有技术方法利用具有细粒度大小的体素,保留了点云数据中的大部分3D信息,因此有利于3D检测,作为一种权衡,它需要高内存消耗和计算成本。将点云数据直接转换为BEV表示避免了3D空间中的复杂操作。当高度维度被压缩时,信息的巨大损失变得不可避免。最有效的方法是使用统计数据表示BEV特征图,但其结果较差。基于pillar的方法[44]平衡了性能和成本,成为工业应用的流行选择。如何处理性能和效率之间的权衡成为基于激光雷达应用的关键挑战。


3.BEV Fusion


逆透视映射(IPM)[157]利用摄像机内外矩阵的几何约束将像素映射到BEV平面。尽管由于平地假设而不准确,但它提供了在BEV中统一图像和点云的可能性。Lift splat Shot(LSS)[56]是第一种预测图像特征深度分布的方法,引入神经网络来学习不适定相机到激光雷达转换问题。其它工作[41,58]开发了不同的方法来进行视图转换。考虑到从透视图到BEV的视图转换方法,下图显示了融合图像和点云数据的一般管道。模态特定特征提取器用于分别提取透视图和BEV中的特征。在转换为BEV中的表示之后,融合来自不同传感器的特征图。也可以在BEV表示中引入时间和自我运动信息。

640.png


激光雷达相机融合


两部同名的作品BEVFusion[5,95]从不同方向探索了BEV中的融合。由于摄像机到激光雷达投影[72,159]抛弃了相机特征的语义密度,BEVFusion[5]设计 一种有效的相机到BEV变换方法,将相机特征有效地投影到BEV中,然后使用卷积层将其与激光雷达BEV特征融合。BEVFusion[95]将BEV融合视为保持感知系统稳定性的鲁棒性主题,它将摄像机和激光雷达特征编码到同一BEV中,以确保相机和激光激光雷达流的独立性。这种设计使感知系统能够在传感器故障时保持稳定性。除了BEVFusion[5,95],UVTR[158]表示模态特定体素空间中的不同输入模式,无需高度压缩,以避免语义歧义,并实现进一步交互。图像体素空间是通过将每个视图的图像特征变换为预定义空间来构建的,其中为每个图像生成深度分布。使用常见的3D卷积网络构建点体素空间。然后在两个体素空间之间进行跨模态交互,以增强模态特定信息。


时间融合


时间信息在推断对象的运动状态和识别遮挡方面起着重要作用。BEV为连接不同时间戳中的场景表示提供了一个理想的桥梁,因为BEV特征地图的中心位置对ego-car来说是永久的。MVFuseNet[160]利用BEV和range视图进行时间特征提取,其它工作[52、62、63]使用ego运动将先前的BEV特征与当前坐标对齐,然后融合当前BEV特征以获得时间特征。BEVDet4D[63]使用空间对齐操作,然后连接多个要素图,将先前的要素图与当前帧融合。BEVFormer[4]和UniFormer[161]采用软方式融合时间信息,注意模块用于分别融合来自先前BEV特征图和先前帧的时间信息。关于ego car的运动,注意模块在不同时间戳表征中的位置也会被自我运动信息所修正。


一些讨论


由于图像在透视坐标中,点云在3D坐标中,两种模式之间的空间对齐成为一个重要问题。尽管使用几何投影关系很容易将点云数据投影到图像坐标上,但点云数据的稀疏特性使得提取信息特征变得困难。相反,由于透视图中缺乏深度信息,将透视图中的图像转换为3D空间将是一个不适定问题。基于现有知识,以前的工作,如IPM[157]和LSS[56]可以将透视图中的信息转换为BEV,为多传感器和时间融合提供统一表示。激光雷达和摄像机数据在BEV空间的融合为3D检测任务提供了令人满意的性能。这种方法还保持了不同模式的独立性,这为构建更强大的感知系统提供了机会。对于时间融合,通过考虑自我运动信息,可以在BEV空间中直接融合不同时间戳中的表示。由于BEV坐标与3D坐标一致,通过监控控制和运动信息很容易获得自我运动补偿。考虑到鲁棒性和一致性,BEV是多传感器和时间融合的理想表示。


工业界中的BEV感知设计



近年来,BEV感知在行业中的流行趋势。上图描述了工业应用中传感器融合的两个典型范例,在BEV感知研究之前,大多数自动驾驶公司基于perspective view输入构建感知系统。图a基于几何先验,将来自图像的3D结果从2D结果转换。然后,我们融合图像和激光雷达的预测,利用一些手工制作的方法,这些方法在现实场景中并不总是表现良好。相反,图b基于BEV的方法使用神经网络执行2D到3D转换,并集成特征,而不是来自不同模态的直接检测输出,从而减少手工设计,提高鲁棒性。

下图总结了全球公司提出的各种BEV感知架构:

640.png


下表描述了详细的模型/输入选项,请注意,本调查中提供的所有信息均来自公共资源;不同计划之间的比较和分析基于事实:


640.png


1.输入数据


基于BEV的感知算法支持不同的数据模式,包括相机、激光雷达、雷达、IMU和GPS。摄像机和激光雷达是自动驾驶的主要感知传感器,一些产品仅使用摄像机作为输入传感器,例如特斯拉[6]、PhiGent[166]、Mobileye[164]。其他采用一套相机和激光雷达组合,例如Horizon[162],HAOMO[163]。请注意,IMU和GPS信号通常用于传感器融合计划[6、162、163],特斯拉和Horizon等的情况也是如此。


2. Feature Extractor


特征提取器用于将原始数据转换为适当的特征表示,该模块通常由主干和neck组成。特征提取器有不同的组合,例如,HAOMO[163]中的ResNet[149]和Tesla[6]中的RegNet[167]可以用作图像主干,neck可以是HAOMO[163]的FPN[79],Tesla[6]的BiFPN[168]等。对于点云输入,HAOMO[163]的基于pilliar的选项或Mobileye的基于体素的选项是主干的理想候选。


3.PV到BEV转换


在行业中执行视图转换主要有四种方法:


(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的选择在行业中最为普遍。


4.Fusion模块


在先前的BEV变换模块中完成了不同摄像机源之间的对准。在融合单元中,进一步整合了摄像机和激光雷达的BEV特征。通过这样做,不同形式的特征最终被整合成一种统一的形式。


5.时空模块


通过在时间和空间上堆叠BEV特征,可以构建特征队列。时间堆栈每固定时间推送和弹出一个特征点,而空间堆栈每固定距离推送一个。在将这些堆栈中的特征融合为一种形式后,可以获得对遮挡具有鲁棒性的时空BEV特征[61,63]。聚合模块可以是3D卷积、RNN或transformer的形式。基于时间模块和车辆运动学,可以维护围绕ego车辆的大型BEV特征图,并局部更新特征图,就像特斯拉的空间RNN模块[6]中那样。


6.预测头


在BEV感知中,多头设计被广泛采用。由于BEV特征聚集了来自所有传感器的信息,所有3D检测结果都从BEV特征空间解码。同时,PV结果(对于自动驾驶仍然有价值)也从一些设计中的相应PV特征中解码。预测结果可分为三类:(a)低水平结果与物理约束有关,如光流、深度等。(b) 实体级结果包括对象的概念,即车辆检测、车道线检测等。(c)结构级结果表示对象之间的关系,包括对象跟踪、运动预测等。


经验和trick



数据增强


用于2D识别任务的图像上的通用数据增强适用于基于相机的BEV感知任务。一般来说,可以将增强分为静态增强和空间变换,静态增强仅涉及颜色变化,基于颜色变化的增强是直接适用的。对于涉及空间变换的增强,除了相应变换的地面真相外,还需要摄像机参数的校准。最近的工作中采用的常见增强是颜色抖动、翻转、多尺度调整大小、旋转、裁剪和网格遮罩。在BEVFormer++中,采用了颜色抖动、翻转、多尺度调整大小和网格掩码。输入图像按0.5和1.2之间的因子缩放,以0.5的比率翻转;总面积的最大30%被正方形掩模随机掩模。值得注意的是,在BEV感知中有两种翻转图像的方法。第一种方法是简单地相应地翻转图像、GT和相机参数。第二种方法还翻转图像顺序,以保持图像之间重叠区域的一致性,这类似于对称翻转整个3D空间。下图为BEV下的一些trick和消融实验:


640.png


在lidar分割任务中,与检测任务不同,重数据增强可以应用于分割任务,包括随机旋转、缩放、翻转和点平移。对于随机旋转,从[0,2π)范围内选取一个角度,旋转应用于x-y平面上的每个点。从[0.9,1.1]范围中选择比例因子,然后乘以点云坐标,沿X轴、Y轴或X轴和Y轴进行随机翻转。对于随机平移,每个轴的偏移分别从均值为0和标准偏差为0.1的正态分布中采样。除了坐标和反射率,还可以利用额外的信息来提高模型性能。对于未标记的图像数据,通过将点云标签投影到相应的图像上并加密稀疏注释,从注释的点云数据中获得图像上的语义标签。训练图像模型以提供2D语义分割结果,然后,将预测的语义标签绘制为点云数据的一个热矢量,作为表示图像语义信息的附加通道。此外,还可以使用时间信息,因为自动驾驶中的数据集通常是按顺序收集的,过去的连续帧与当前帧连接。

640.png


Test-time Augmentation


2D任务的常见测试时间增加,包括多尺度和翻转测试,以提高3D情况下的精度。在BEVFormer++中,这一部分以使用标准数据增强(如多尺度和翻转)的形式进行了简单探索。多尺度增强的程度与训练相同,从0.75到1.25不等。


点云数据在推理过程中,使用了多个TTA,包括旋转、缩放和翻转。对于缩放,所有模型的缩放因子都设置为{0.90、0.95、1.00、1.05、1.10},因为缩放因子越大或越小对模型性能有害。翻转与训练阶段相同,即沿X轴、Y轴以及X轴和Y轴。


后处理


虽然BEV检测消除了多摄像机对象级融合的负担,但也观察到了可从进一步后处理中获益的显著事实,利用2D检测结果对3D检测结果进行重复移除是有益的,其中2D box和3D box是二分匹配的。


参考



[1] Delving into the Devils of Bird’s-eye-view Perception: A Review, Evaluation and Recipe.2022                


相关文章
|
机器学习/深度学习 编解码 自然语言处理
深度学习进阶篇[9]:对抗生成网络GANs综述、代表变体模型、训练策略、GAN在计算机视觉应用和常见数据集介绍,以及前沿问题解决
深度学习进阶篇[9]:对抗生成网络GANs综述、代表变体模型、训练策略、GAN在计算机视觉应用和常见数据集介绍,以及前沿问题解决
深度学习进阶篇[9]:对抗生成网络GANs综述、代表变体模型、训练策略、GAN在计算机视觉应用和常见数据集介绍,以及前沿问题解决
|
机器学习/深度学习 编解码 人工智能
深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介、DeepLabV3深入解读创新点、训练策略、主要贡献
深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介、DeepLabV3深入解读创新点、训练策略、主要贡献
深度学习应用篇-计算机视觉-语义分割综述[6]:DeepLab系列简介、DeepLabV3深入解读创新点、训练策略、主要贡献
|
机器学习/深度学习 人工智能 编解码
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?(1)
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?
586 0
|
机器学习/深度学习 计算机视觉 容器
清华大学提出ACmix | 这才是Self-Attention与CNN正确的融合范式,性能速度全面提升(一)
清华大学提出ACmix | 这才是Self-Attention与CNN正确的融合范式,性能速度全面提升(一)
680 0
|
机器学习/深度学习 设计模式 计算机视觉
清华大学提出ACmix | 这才是Self-Attention与CNN正确的融合范式,性能速度全面提升(二)
清华大学提出ACmix | 这才是Self-Attention与CNN正确的融合范式,性能速度全面提升(二)
510 0
|
机器学习/深度学习 存储 缓存
VLDB 2022最佳研究论文:克服通信挑战,新框架SANCUS实现GNN高效训练
VLDB 2022最佳研究论文:克服通信挑战,新框架SANCUS实现GNN高效训练
100 0
|
机器学习/深度学习 编解码 数据可视化
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?(2)
一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?
349 0
|
机器学习/深度学习 存储 并行计算
用什么tricks能让模型训练得更快?先了解下这个问题的第一性原理
用什么tricks能让模型训练得更快?先了解下这个问题的第一性原理
102 0
|
机器学习/深度学习 并行计算 PyTorch
用什么tricks能让模型训练得更快?先了解下这个问题的第一性原理(2)
用什么tricks能让模型训练得更快?先了解下这个问题的第一性原理
129 0
|
机器学习/深度学习 人工智能 自动驾驶
AAAI 2022 | 在图像级弱监督语义分割这项CV难题上,字节跳动做到了性能显著提升
AAAI 2022 | 在图像级弱监督语义分割这项CV难题上,字节跳动做到了性能显著提升
133 0