自驾特征融合背景:自驾传感器方案由复杂的多个摄像头,激光雷达,rada等组成,而融合多个传感器输入到统一视图的表示特征至关重要BEV感知实现特征融合好处:BEV特征表示是融合好的和直观的(可以直接在规控中使用)BEV感知核心问题:
数据集、benchmark标注满足任务的评估,数据集包含高质量的2D和3DObject标注,2D和3DObject精确对齐是两个关键评估点;
包括1、任务/算法:单目相机3Dobjectdetection、基于LiDAR3Dobjectdetectionandsegmentation、相机和激光雷达融合2、数据集:KITTI、nuScenes、Waymo
在2D特征提取器中,在2D感知中存在大量的经验,这些经验可以在3D感知中以backbone预训练中使用
追溯到30年前,当时反向透视映射(IPM)提出了从3D空间到2D空间的投影;这个方法假设3D空间中的对应点位于水平面上,这样的变换矩阵可以由相机的内、外参数进行数学推导,之后一系列的工作应用IPM以预处理或后处理的方式将元素从透视视图转换为鸟瞰视图,
由于三维空间中的体素稀疏且不规则,应用三维卷积是低效的。对于工业应用,可能不支持3D卷积等运算符;需要合适且高效的3D检测网络。MV3D是将点云数据转换为BEV表示的第一种方法,在点离散化为BEV网格后,根据网格中点获得高度、强度和密度特征用于表示网格特征;由于BEV网格有许多点,因此在这一处理过程中,信息损失相当大。不少方法遵循类似模式,用BEV网格中的统计数据表示点云,例如最大高度和强度平均值。PointPillars首先介绍了Pillar的概念,这是一种特殊类型的无限高度体素。它使用简化版本的PointNet来学习Pillar的点表示,然后编码特征可以由标准2D卷积网络和检测头处理,虽然PointPilllars的性能不如其他3D主干,但它及其变型效率高,因此适合工业应用。
有两个同名的BEVFusion模型从不同的方向探索BEV的融合;由于摄像机到激光雷达的投影会丢掉摄像机特征的语义密度,MIT的BEVFusion设计了一种高效的摄像机到BEV的转换方法,该方法可以有效地将摄像机特征投影到BEV中,然后使用卷积层将其与激光雷达BEV特征融合。北大和阿里实验室的BEVFusion将BEV融合视为保持感知系统稳定性的鲁棒性问题,它将摄像头和激光雷达特征编码到同一BEV中,以确保摄像头流和激光传感器流的独立性,这种设计使感知系统能够在传感器有故障时保持稳定性。两个BEVFusion之外,UVTR对不同的输入模态的特定体素空间中,没有进行高度压缩,避免语义歧义并支持进一步的交互。每个视图的图像特征转换为预先定义的带有深度分布的空间,这样可以构建图像体素空间。点体素空间使用普通三维卷积网络构建。然后在两个体素空间之间进行跨模态交互,以增强模态特定信息。
基于BEV的感知算法支持不同的数据模式,包括相机、激光雷达、雷达、IMU和GPS。摄像机和激光雷达是自动驾驶的主要感知传感器。一些产品仅使用摄像机作为输入传感器,例如特斯拉、鉴智机器人、Mobileye。其他采用一套相机和激光雷达组合,例如地平线,毫末。请注意,IMU和GPS信号通常用于传感器融合,特斯拉和地平线等的情况也是如此
特征提取器用于将原始数据转换为适当的特征表示,该模块通常由主干和颈网组成。特征提取器作为主干和颈网有不同的组合。例如,毫末的ResNet和Tesla的RegNet可以用作图像主干。颈网可以是毫末的FPN、Tesla的BiFPN等。至于点云输入,毫末的基于pillar的选项,或Mobileye的基于体素的选项,是主干的理想选择
在行业中执行视图转换主要有四种方法:
在先前的BEV变换模块中已经完成了不同相机源之间的对准。在融合单元中,他们进一步聚合来自相机和激光雷达的BEV特征。通过这样做,来自不同模式的特征最终被集成到一个统一的形式中。
在BEV感知中,多头设计被广泛采用。由于BEV特征聚集了来自所有传感器的信息,所有3D检测结果都从BEV特征空间进行解码。同时,PV结果(对自动驾驶仍有价值)也从某些设计中对应的PV特征进行解码。预测结果可分为三类:(a)低级结果与物理约束有关,如光流、深度等。(b)实体级结果包括目标概念,即车辆检测、车道线检测等。(c)结构级结果表示目标之间的关系,包括目标跟踪、运动预测等
为了提高BEV编码器的特征质量,以下讨论三个主要方面:
(a)2D特征提取器。改善2D感知任务的主干表征质量,也最有可能改善BEV任务的表征质量。为了方便起见,在图像主干中,采用了在大多数2D感知任务中广泛使用的特征金字塔。2D特征提取器的结构设计,如最先进的图像特征提取器、全局信息交互、多级特征融合等,都有助于更好地表示BEV感知的特征。除了结构设计外,辅助任务监督主干对BEV感知性能也很重要,后面会讨论。
(b)视图转换。该变换采用图像特征并将其重新组织到BEV空间中。超参数,包括图像特征的采样范围和频率,以及BEV分辨率,对于BEV感知性能至关重要。采样范围决定图像后面的观察截锥(viewingfrustum)多少将被采样到BEV空间。默认情况下,该范围等于激光雷达标注的有效范围。当效率具有更高优先级时,观察截锥的上z轴部分可能会受到影响,因为在大多数情况下,它只包含不重要的信息,如天空。采样频率决定了图像特征的效用。更高的频率确保模型以更高的计算成本精确地采样每个BEV位置对应的图像特征。BEV分辨率决定了BEV特征的表示粒度,其中每个特征可以精确地追溯到世界坐标中的网格。需要高分辨率来更好地表示小尺度目标,如交通灯和行人。在视图变换中,特征提取操作,例如卷积块或变换块,也存在于许多BEV感知网络中。在BEV空间中添加更好的特征提取子网络也可以提高BEV感知性能。
(c)时域BEV融合。给定BEV特征的结构,BEV空间的时域融合通常利用自车姿态信息来对齐时域BEV特征。然而,在这个对齐过程中,其他智体的移动没有明确建模,因此需要模型进行额外学习。因此,为了增强对其他移动智体特征的融合,在执行时域融合时,增加交叉注意的感知范围是合理的。例如,可以扩大可变形注意模块中注意偏移的核大小,或者使用全局注意。
由于粗略的体素化和激进的下采样,现有的3D感知模型不适合识别小实例。SPVCNN在基于体素的分支中使用了MinkowskiU-Net。为了保持点云分辨率,用了一个额外的基于点分支,没有使用下采样。基于点分支和基于体素分支的特征将在网络的不同阶段相互传播。
通过对原始SPVCNN进行两次有效修改,作者提出了Voxel-SPVCNN。与简单地对原始输入特征执行体素化相比,这里采用了一个轻量三层MLP提取点特征,然后应用体素化过程。此外,基于点分支的输入被代替为体素-作-点分支(voxel-as-pointbranch)。该分支的网络结构仍然是MLP;但输入被替换为体素。Voxel-SPVCNN效率更高,因为基于点分支的计算大大减少,特别是输入是多扫描点云的情况下。
对BEV摄像机的检测任务,在BEVFormer++中采用了三个检测头。相应地,这些头涵盖三类检测器设计,包括无锚框、基于锚框和基于中心的方法。选择各种类型的检测器头,尽可能在设计上有所区别,以便充分利用检测框架在不同场景中的潜能力。头部的多样性有助于最终的集成结果。
原始的BEVFormer,用一个改进的可变形DETR解码器作为其3D检测器,可以在没有NMS的情况下端到端检测3D边框。对于该头,遵循原始设计,但使用平滑L1-损失替换原始L1-损失函数。
BEVFormer++采用FreeAnchor和CenterPoint作为替代3D检测器,其中FreeAnchor是基于锚框的检测器,可以自动学习锚框匹配,而CenterPoint是基于中心的无锚框3D检测器。预测头在推理期间提供了各种分布。值得注意的是,3D解码器远未得到很好的开发,因为高效查询设计在2D感知方面发展很成功,而如何将这些成功转移到3D感知领域将是下一步要做的
在推理过程中,使用了多个TTA,包括旋转、缩放和翻转。对于缩放,所有模型的缩放因子均设置为{0.90,0.95,1.00,1.05,1.10},因为缩放因子较大或较小对模型性能有害。翻转与训练阶段相同,即沿X轴、Y轴以及同时X轴和Y轴。旋转角度设置为{π/2,0,π/2,π}.可以选择更细粒度的缩放因子或旋转角度,但考虑到计算开销和TTA组合策略,更倾向于粗粒度参数。
BEV特征表征的一个多样性好处是,可以用2D和3D目标检测中提出的损失来训练模型。相应的损失可以通过最小化修改进行迁移,例如调整损失权重。
除了3D目标的训练损失外,辅助损失在仅摄像机BEV检测中也起着重要作用。一种类型的辅助损失是在2D特征提取器之上添加2D检测损失。这种监督增强了2D图像特征的定位,进而有助于BEV感知中视图变换提供的3D表示。
另一种类型的辅助损失是深度监督。当利用激光雷达系统生成的真值深度时,可以提高BEV感知的隐式深度估计能力,获得精确的3D目标定位。这两个辅助任务都可以在训练期间应用,提高性能。作为旁注,通常2D检测或深度预训练主干,选为初始化权重
代替传统的交叉熵损失,Geo损失和Lovasz损失用于训练所有模型。为了获得更好的不同类边界,Geo损失对有丰富细节的体素具有强烈的响应。Lovasz损失作为可微分IoU损失,能缓解类不平衡问题。
对激光雷达分割而言,作为点分类任务,分割以平均方式从不同模型中集成每点概率。具体而言,简单地将不同模型预测的概率相加,然后使用argmax操作确定每个点的分类结果。为了提高模型的多样性,用不同的数据重采样策略(称为export模型)来训练模型。根据场景和天气条件的上下文信息,在基于所有数据训练的模型上,微调多个上下文特定模型。
模型的概率在特定于模型的TTA之后以分层方式聚合。考虑到模型的多样性,模型集成分两个阶段处理。在第一阶段,同类模型的概率,例如具有不同超参数的模型,以不同的权重进行平均。然后,在第二阶段,非同类模型(即具有不同架构的模型)的概率,以不同的权重进行平均。在NNI中具有最大试验数160的退火算法,用于同时两个阶段搜索验证集的权重
还是先说仅摄像机BEV检测。虽然BEV检测消除了多摄像机目标级融合的负担,但观察到从进一步后处理中获益的显著事实。根据BEV变换的性质,重复特征可能沿着光线到摄像头中心在不同的BEV位置进行采样。这将导致对一个前景目标进行重复假检测,其中每个假检测具有不同的深度,但都可以投影回图像空间中的相同前景目标。
为了缓解这个问题,利用2D检测结果对3D检测结果进行重复移除是有益的,其中2D边框和3D边框是二分匹配(bipartitematch)。在实验中,用真实2D边框作为过滤器可以提高3D检测性能。然而,当辅助监督训练的2D检测头去预测2D边框时,发现几乎无法取得改进。这可能是由于2D检测训练不足造成的。因此,需要进一步研究联合2D/3D冗余检测的去除。
检测头设计是否体现出无NMS的特性,可以以此决定应用NMS。通常,对于一对多的分配,NMS是需要的。值得注意的是,将NMS中常用的IoU度量替换为新提出的LETIoU,以去除冗余结果,这个可以改善检测结果。这种设计更适用于仅用摄像机BEV的3D检测器。由于两个相互冗余结果的3DIoU在数值上很小,这通常导致无法消除FP结果。使用LETIoU,冗余结果往往会困扰更高的IoU,从而在很大程度上被删除。
分析混淆矩阵(confusionmatrix),发现大多数错误分类发生在相似类中。因此,语义类可以分为组,其中的类与组外的类相比非常混乱。
现有的分割方法执行逐点分类,而不考虑单个目标的一致性。例如,一些标记为前景目标的点,被错误预测为背景。基于上述分级分类,进行目标级细化可进一步提高目标级完整性。基于预测掩码同一语义组中的点,并执行欧几里德聚类,可以将点分组为实例。然后通过大多数表决(majorityvoting)确定每个实例的预测。此外,对于每个目标,由轻量级分类网络执行目标级分类的合理性,确定目标的最终预测类。
该文对近年来人们对BEV的认知进行了全面的回顾,并根据自身在BEV设计流水线中的分析,提供了一个实用的对策。巨大的挑战和未来的努力可能是:
(a)如何设计更精确的深度估计器;
(b)如何在新的融合机制中更好地对齐来自多个传感器的特征表示;
(c)如何设计一个无参网络,使算法性能不受姿态变化或传感器位置的影响,在各种场景中实现更好的泛化能力;