ADAS Laboratory
点击上方蓝字关注 智驾实验室
扫描上方二维码,加入【 智驾实验室 】交流群,
获取更多内容和资料
在3D目标检测任务领域,将来自激光雷达和相机传感器的异质特征融合到一个统一的鸟瞰图(BEV)表示中是一种广泛采用的方法。然而,现有方法常常受到传感器标定不精确的影响,导致激光雷达-相机BEV融合中的特征错位。
此外,这种不准确导致相机分支的深度估计错误,最终造成激光雷达和相机BEV特征之间的不对齐。在这项工作中,作者提出了一种新颖的对齐 方法,该方法利用对比学习来增强异质模态的对齐,从而提高融合过程的鲁棒性。
具体来说,作者的方法包括L-Instance模块,它直接在激光雷达BEV特征内输出激光雷达实例特征。然后,作者引入C-Instance模块,通过在相机BEV特征上进行RoI(感兴趣区域)池化来预测相机实例特征。
作者提出InstanceFusion模块,利用对比学习生成跨异质模态的相似实例特征。接下来,作者使用图匹配计算相邻相机实例特征与相似实例特征之间的相似性,以完成实例特征的对齐。
作者的方法在nuScenes验证集上取得了最先进的性能,mAP达到70.3%,比BEVFusion提高了1.8%。重要的是,在存在错位噪声的情况下,作者的方法比BEVFusion提高了7.3%。
1 Introduction
三维目标检测是实现在自动驾驶任务中可靠环境感知的基本任务之一[44; 70]。该任务旨在准确识别和定位汽车和行人等障碍物,为自动驾驶系统提供精确和实时的数据,以作出正确的驾驶决策。目前实现安全、鲁棒和高精度检测的标准可能需要融合异质模态:由于点云固有的稀疏性,仅使用激光雷达的方法[23; 62; 71; 12; 41; 35; 40; 55; 46]在检测小型或远距离物体时存在困难,这使得它们在鲁棒三维检测方面不够充分。相比之下,这些物体在高分辨率图像中仍然清晰且易于区分,包含丰富的语义表示[56]。点云和图像的互补作用促使研究行人利用异质模态的优势来设计检测器。
根据不同的融合策略,异质三维目标检测主要可以分为点 Level [42; 52; 18; 33; 53]、特征 Level [1; 27; 64; 10; 45; 43; 49; 48]的方法以及目前占主导地位的基于鸟瞰视图(BEV)的方法[34; 29]。基于BEV的方法将激光雷达和相机模态集成到共享的BEV表示空间中。尽管基于BEV的方法[34; 29]已经显示出有希望的性能,但它们仍然存在BEV特征对齐 问题。这个问题主要有两个原因,包括传感器对齐偏差(见图1(a))和深度不准确(见图1(b))。首先,对于传感器对齐偏差,正如BEVDepth [28],GraphBEV [47],ObjectFusion [4]所指出的,激光雷达和相机传感器之间的校准矩阵误差可能导致特征对齐不良。其次,它们的融合过程在很大程度上依赖于从相机到BEV的深度估计的准确性(例如,LSS[38]),而深度不准确会进一步导致特征对齐不良。
实现自动驾驶中特征对齐的关键在于投影矩阵(标定矩阵)的偏差,这在现实世界中提出了挑战。一些特征级方法通过交叉注意力机制,用点云特征 Query 图像特征来实现特征融合,无需投影矩阵,但计算开销很大。
其他特征级方法试图通过可变形注意力[73]和邻域投影,在投影矩阵的帮助下减轻特征对齐引起的对齐误差。
如BEVFusion[34]所述,尽管LiDAR BEV特征和相机BEV特征处于同一空间,但由于视角 Transformer 深度不准确,它们在一定程度上仍然可能存在空间上的不对齐。到目前为止,只有少数基于BEV的工作[4; 47]解决了BEV空间特征不对齐的问题。
其中ObjectFusion[4]提出了一种新颖的以目标为中心的融合方法,对齐不同模态的目标中心特征;GraphBEV[47]通过图匹配匹配邻域深度特征,减轻了不对齐问题。特征对齐问题不仅存在于多模态3D目标检测 中,也存在于涉及文本和图像的多模态任务中。随着多模态基础模型的发展,更多的研究者关注异质模态对齐,以达到模态一致性的目的。对比对齐[20; 68; 60]可以被看作是一种相互精炼的过程,每个模态都为知识交换做出贡献并从中受益。通过对比学习,异质模态之间的迭代互动不断演进,增强了单一模型内的通用理解能力,解决了异质模态的对齐问题[20]。因此,受上述思想的启发,作者将这一概念应用于3D目标检测任务,解决LiDAR和相机BEV特征之间的特征不对齐问题[34; 29]。
在本工作中,作者提出了对比对齐(ContrastAlign) 方法,它利用对比学习来增强异构模态之间的对齐,从而提高激光雷达-相机BEV特征融合的鲁棒性,如图1(c)所示。
具体来说,作者提出了L-Instance模块,它直接在激光雷达BEV特征内输出激光雷达实例特征。接着,作者引入了C-Instance模块,它通过在相机BEV特征上进行RoI(感兴趣区域)池化来预测相机实例特征。然后,将激光雷达实例特征投影到图像实例特征上,并采用对比学习来生成激光雷达和相机之间相似的实例特征。随后,通过图匹配,将相邻的相机实例特征进行匹配以计算相似性,并构建正负样本。在推理过程中,选择相邻相机实例特征中相似性高的对齐特征作为对齐特征,以实现BEV特征对齐。大量实验已证明作者的对比对齐方法的有效性,在nuScenes [3] 数据集上取得了显著性能提升,尤其是在对齐噪声设置[13]下。
2 Related Work
Multi-modal 3D Object Detection
多模态3D目标检测在KITTI、nuScenes等数据集上通过利用来自异构传感器(激光雷达和相机)的数据特征并将它们整合以增强3D目标的检测,已经取得了最先进的性能[44; 56]。多模态3D目标检测器可以广泛分为三种融合方法,包括点 Level 、特征 Level 和基于BEV的方法。点 Level 方法[42; 52; 53; 18; 33; 67; 61]旨在用图像特征增强原始激光雷达点,然后通过仅激光雷达的3D检测器传递它们以产生3D检测结果。特征 Level 方法[8; 48; 11; 10; 45; 43; 1; 64; 2]主要关注在特征提取阶段将点云特征与图像特征整合。在特征 Level 方法中,代表性工作如HMFI[25]、GraphAlign[45]和GraphAlign++[43]利用投影校准矩阵的先验知识,通过局部图建模将点云投影到相应的图像上,以解决特征对齐问题。基于BEV的方法[34; 29; 4; 47; 65]将激光雷达和相机表示高效地合并到鸟瞰图(BEV)空间中。尽管先驱BEVFusion[34]已经在像nuScenes这样的原始数据集上展示了高性能,但它忽略了现实世界的复杂性,特别是特征错位问题,这为其实际应用设置了障碍[44; 13]。因此,对于未来多模态3D目标检测的研究来说,解决特征错位等问题,确保在现实场景中的鲁棒性能是至关重要的。
Contrastive Learning
对比学习旨在通过将语义上接近的邻居拉在一起,将非邻居推开的方式来学习有效的表示[15]。在这种范式下,模型力求将相似样本映射到表示空间中的邻近区域,同时将不相似样本映射到远端区域[19; 51]。目前,对比学习已在自然语言处理[69]和计算机视觉[24; 39; 20; 14; 59; 58]中得到了广泛研究。特别是,CLIP [39]利用对比学习进行大规模文本和图像数据之间的多模态预训练。T-Rex2 [20]通过对比学习在目标检测模型中整合文本和视觉提示。WCL [14]采用对比学习来增强深度预测过程。ReSim [59]从同一图像的不同滑动窗口学习区域表示。DenseCL [58]优化了两幅不同图像之间的像素级对比损失。总的来说,对比学习在跨模态特征相似性的学习以及单模态特征的不变性方面表现出色。
在这项工作中,为了解决激光雷达和相机在鸟瞰图(BEV)特征上的错位问题,作者提出了一个名为ContrastAlign 的新颖多模态框架。它借鉴了对比学习的思想来增强异质模态之间的对齐。
3 Method
为了解决特征错位 问题,作者提出了一种名为对比对齐 的健壮融合框架。作者框架的概览在图2中给出。在以下各节中,作者首先在3.1节介绍所提出的对比对齐的总体概述。随后,在3.2节中,作者深入探讨C-实例和L-实例模块的细节。之后,在3.3节中,作者将详细阐述InstanceFusion模块的关键设计步骤。
Overall Framework of ContrastAlign
整个框架,如所示图2所述,主要包含四个模块:多模态编码器、C-实例和L-实例模块、实例融合(InstanceFusion)以及检测Head(Detection Head)。
多模态编码器。 ContrastAlign基于BEVFusion [34]构建。在相机分支中,作者采用Swim Transformer [31]作为多相机设置下的特征提取器,遵循LSS [38]以获得相机的BEV特征,定义为,其中表示批大小,表示特征通道数,和分别表示特征的高度和宽度。在激光雷达分支中,作者采用TransFusion-L [1]输出激光雷达BEV特征,定义为,其中表示特征通道数。
C-实例和L-实例模块。 之前的方法如BEVFusion [34; 29] 直接连接和。这种操作不能在BEV空间中区分实例特征和背景特征。与背景特征相比,如汽车和行人等实例特征对于3D检测更为重要。为了获得激光雷达和相机的实例特征,作者引入了C-实例和L-实例模块,通过分数过滤和ROI池化预测实例特征,具体细节见第3.2节。
实例融合。 作者引入了InstanceFusion 模块,以在激光雷达和相机BEV融合时实现跨模态对齐。这个模块,详细在第3.3节中描述,代表作者的核心创新。它利用C-实例和L-实例模块提供激光雷达和相机实例特征,然后将其对齐到BEV空间。
检测Head。 作者遵循TransFusion [1]生成最终的3D检测结果。在训练过程中,作者结合了如第3.3节所述的InfoNCE损失。同时,作者使用Focal损失[30]和L1损失分别用于分类和3D边界框回归。
C-Instance and L-Instance Modules
如图3所示,C-Instance和L-Instance模块旨在从激光雷达和相机的鸟瞰图(BEV)特征中提取实例特征。对于相机BEV特征,作者遵循BEVDet [17]的方法,采用CenterPoint Head [66]生成 Proposal 。对于激光雷达BEV特征,作者采用VoxelNeXt Head [9]生成 Proposal 。在推理过程中,采用稀疏最大池化[8]对选定的 Proposal 进行评分。激光雷达和相机 Proposal 和包含以下特征:位置,高度,尺寸,方向角,以及 Proposal 得分和标签。
随后,作者采用特征采样[66]从和生成RoI特征和。具体来说,对于任意的 Proposal 或,作者选择其位置并在边界框每条边的中心采样点。每个 Proposal 生成一组采样点,其中表示其位置。除了,其他采样点使用插值算法[66]在激光雷达和相机BEV特征上产生采样结果。最后,激光雷达和相机的RoI特征和通过拼接所有采样特征形成,其中表示批大小,和分别表示激光雷达和相机RoI特征的数量,5表示的数量,而表示和的通道数。
InstanceFusion
作者提出了InstanceFusion 模块,以实现实例特征的跨模态对齐。对于正样本,作者将激光雷达实例特征投影到相机鸟瞰(BEV)空间,并将匹配的相机实例特征视为正样本。对于负样本,作者在相机正样本周围的个最近邻实例特征中选择负样本。在推理过程中,激光雷达实例特征与个邻近的相机实例计算相似度得分,并选择得分最高的实例特征作为匹配对齐的实例特征。InstanceFusion模块的整个过程如下。
首先,由于激光雷达BEV特征实现中不存在深度误差,作者利用生成的激光雷达RoI特征检索相应的相机RoI特征。对于来自的个样本和的个样本的任何一对边界框预测,作者通过计算它们2D边界框的交集和并集面积来计算交并比(IoU)。作者根据第3.2节中 Proposal 的位置和尺寸定义边界框集合和。为了获得的正样本组,作者执行以下操作:
其中 表示索引信息, 是索引函数, 是IoU的阈值, 是IoU函数, 是特征索引函数, 表示正样本结果, 表示正样本的数量。值得注意的是, 中的每组样本包含一个 和一个 。
在获得正样本后,作者继续构建负样本。由于特征错位的影响,在区域内发生偏移。作者利用像KD-Tree这样的KNN算法构建正样本的邻域关系,并将每个正样本的邻域特征视为负样本。具体来说,负样本的构建如下。
其中 表示负样本的索引信息, 表示寻找 的 个最近样本的KNN函数, 是特征索引函数, 表示负样本。
为了对齐 邻域特征中的异质模态特征,作者使用余弦计算相似性分数,并选择最大分数以对齐激光雷达和相机的RoI特征。其中余弦相似性 定义为
对比对齐可以看作是一种相互精炼的过程,在这个过程中,每种模态都为知识交换做出贡献并从中受益。在训练期间,为了增加实例特征的对齐,作者使用InfoNCE损失[36]来衡量正样本和负样本之间的距离,定义如下:
其中 表示 的第 个负样本。
最后,将正样本沿着通道维度与BEV特征进行拼接。按照BEVFusion [34]的方法,来自两个分支的BEV特征进一步拼接,并通过卷积网络来提取级联特征。
4 Experiments
Experimental Setup
4.1.1 Datasets and Evaluation Metrics
作者通过将提出的ContrastAlign与其他最先进的方法在nuScenes基准测试[3]上进行比较,来评估其3D目标检测性能。该基准测试数据集是通过一个32线激光雷达和6个摄像头收集的。数据集通常被划分为700/150/150个场景用于训练/验证/测试。这六个图像覆盖了360度的周围环境,并且数据集提供了校准矩阵,这些矩阵能够实现从3D点到2D像素的精确投影。它要求检测在驾驶场景中常见观察到的10个目标类别。作者遵循[1, 34, 29]的研究,使用所有类别的mAP和NDS作为主要评估指标。需要注意的是,NDS指标是mAP和其他分解指标(例如,平移、缩放、方向、速度和属性误差)的加权平均值。
此外,为了验证特征对齐 的鲁棒性,作者遵循[13]的方法在激光雷达和相机投影之间模拟错位。值得注意的是,[13]仅在验证数据集上添加噪声,而不在训练和测试数据集上添加。
4.1.2 Implementation Details
作者在PyTorch [37]中实现了ContrastAlign,基于开源的BEVFusion [34]和OpenPCDet [50]构建。在激光雷达分支中,使用TransFusion-L [1]进行特征编码以获得激光雷达的BEV特征, Voxel 尺寸设置为[0.075m, 0.075m, 0.2m],点云范围沿X、Y、Z轴分别指定为[-54m, -54m, -5m, 54m, 54m, 3m]。
相机分支采用Swin Transformer [32]作为相机的主干网络,整合了编号为3、6、12和24的 Head ,并使用FPN [16]融合多尺度特征图。输入图像的分辨率调整为256 704。在LSS [38]配置中,视锥范围设置为X坐标[-54m, 54m, 0.3m],Y坐标[-54m, 54m, 0.3m],Z坐标[-10m, 10m, 20m],深度范围设置为[1m, 60m, 0.5m]。
在训练过程中,作者应用了10个周期的数据增强,包括随机翻转、旋转(在范围内)、平移(标准差=0.5)以及缩放在0.9到1.1之间,以增强激光雷达数据。
作者使用CBGS [72]重新采样训练数据。此外,作者还使用在[, ]范围内的随机旋转和在[0.38, 0.55]范围内的随机调整大小来增强图像。采用Adam优化器[22],并采用单周期学习率策略,设置最大学习率为0.001,权重衰减为0.01。批处理大小为24,并在8个NVIDIA GeForce RTX 3090 24G GPU上进行训练。在推理过程中,作者去除了测试时间增强(TTA)数据增强,并在A100 GPU上设置批处理大小为1。所有的延迟测量都在同一台配备A100 GPU的工作站上进行。
Comparison with the SOTA Methods
4.2.1 Results on Clean and Noisy Misalignment Settings
如表1所示,作者在干净和有噪声的错位设置下,将ContrastAlign与nuScenes验证集上的SOTA方法进行了比较。在干净的nuScenes验证集中,作者的方法取得了SOTA性能,mAP达到70.3%,NDS达到72.5%,比 Baseline (BEVFusion [34])分别高出1.8%的mAP和1.1%的NDS。与包括TransFusion-L [1],FUTR3D [6],TransFusion [1],和ObjectFusion [4]在内的SOTA方法相比,作者的方法在如施工车辆、拖车、障碍物、自行车和交通锥等具有挑战性的类别中取得了最佳性能,这些类别主要由小而难以检测的物体组成。
作者的主要关注点不是干净的基准测试,而是解决有噪声的错位问题。与TransFusion [1]和BEVFusion [34]在存在噪声错位的nuScenes验证集上相比,作者的ContrastAlign取得了SOTA性能。与 Baseline (BEVFusion [34])相比,作者的ContrastAlign在mAP上提高了7.3%,在NDS上提高了5.2%,特别是在卡车、摩托车和自行车类别中分别有13.6%、13.0%和12.1%的显著提升。值得注意的是,TransFusion [1]作为一种特征 Level 的方法,通过注意力机制解决特征错位。然而,由于架构或目标的不同,TransFusion的全球 Query 方案不能直接应用于BEVFusion [34, 29]。总之,作者的ContrastAlign不仅在干净的环境下,而且在有噪声的环境下都显示出显著的改进,证明所提出的方法能够处理错位问题。#### 4.2.2 NuScenes测试集上的结果
如表2所示,ContrastAlign在nuScenes测试基准上取得了71.8%的mAP和73.8%的NDS,比BEVFusion [34]分别高出1.6%的mAP和0.9%的NDS。与基于激光雷达的方法如CenterPoint [66],VoxelNeXt [9],TransFusion-L [1],以及多模态方法如TransFusion [1],DeepInteraction [64],和ObjectFusion [4]相比,作者的方法取得了SOTA性能。特别是与ObjectFusion [4]相比,作为解决BEV特征错位的方案,作者的方法在mAP上超过ObjectFusion 0.8%,在NDS上超过0.5%。更重要的是,ContrastAlign在施工车辆、障碍物、摩托车、自行车、行人和交通锥类别上分别有1.8%、2.2%、1.8%、2.8%、1.7%和2.8%的显著提升。尽管nuScenes是一个开源的干净数据集,但不可避免地存在最小的特征错位问题。作者在nuScenes测试集上的显著改进表明,作者的方法有效地缓解了特征错位。
Robustness Analysis
为了展示作者方法的鲁棒性,作者在表3中展示了在不同时间、自我距离和物体大小下的结果。由于不同时间对模型的检测性能提出了挑战,作者遵循BEVFusion [34]的程序,并根据场景描述中的关键词“day”和“night”将验证集分为白天/夜晚。与BEVFusion [34]相比,作者的方法通过对比学习显著提高了白天和夜晚场景的特征对齐。特别是对于夜晚场景,作者的方法比BEVFusion提高了1.3%,在照明条件较差的情况下,深度估计对BEVFusion提出了更大的挑战。
远小物体更容易受到特征错位的影响。按照BEVFusion [34],作者将标注和预测的自我距离分为三组:近(0-20米)、中(20-30米)和远(>30米),总结了每个类别的尺寸分布,并定义了三个等比例的尺寸 Level :小、中、大。对于不同的自我距离,作者在近、中、远距离都看到了改进,特别是在远距离上,提高了3.9%。在不同的物体大小上,作者在小、中、大型物体上看到了显著改进,特别是在小型物体上,提高了3.1%。'远'和'小'指标的改进强调了作者方法的改进,这使得作者的方法在视觉上更有意义,因为更好的特征对齐允许更准确地检测更小和更远的物体。### 消融研究
为了分析ContrastAlign中不同模块对特征错位的影响,作者在nuScenes验证集上进行了噪声错位设置下的实验,结果如表4所示。可以看出,在添加InstanceFusion模块后,mAP从61.2%显著提升到68.1%(增加了6.9%),这是非常显著的性能提升。同时,对延迟的影响在可控范围内。证据表明,将对比学习应用于多模态3D目标检测,以解决BEV特征中的特征错位问题是有效的。
此外,为了评估InstanceFusion模块中各种超参数的影响,作者在nuScenes验证集上对变量和进行了研究,该研究是在噪声错位设置下进行的。其中来自方程(1),它是IoU阈值,影响正样本对的数量,而来自方程(3),影响负样本的数量。由于不同帧上的正负样本对数量不同,作者无法提供一个固定的数字。
如表5所示,当变化时,固定为8以获得更好的性能指标。
如表6所示,当变化时,固定为0.1。作者选择了几种具有代表性的结果进行分析。越大,正样本的数量越少。可以观察到,当为0.1时,性能最佳,达到68.1%的mAP和70.9%的NDS。越大,负样本的数量越多,当为8时,性能最佳。
5 Conclusion
在本工作中,作者提出了一种健壮的融合框架ContrastAlign,以解决基于BEV方法中的特征错位问题[34; 29]。
作者的ContrastAlign利用对比学习增强异质模态的对齐,从而提高了激光雷达-相机BEV特征融合的鲁棒性。
具体来说,作者提出了C-Instance和L-Instance模块,它们分别基于相机和激光雷达BEV特征预测相机和激光雷达实例特征。作者提出了InstanceFusion模块,该模块利用对比学习生成跨异质模态的相似实例特征。
在推理过程中,选择相邻相机实例特征中相似性高的对齐特征来实现BEV特征对齐。
广泛的实验已经证明,作者的方法可以解决错位问题,在错位噪声设置下性能显著提升[13]。
局限性和未来工作。 关于局限性,作者的方法目前只能适应类似于BEVFusion[34, 29]的基于LSS的方法,而不是像FUTR3D[6]这样的基于 Query 的方法。
目前,自动驾驶数据集的校准矩阵依赖于手动输入,这不可避免地引入了错位误差。未来,作者将探索更多的实用解决方案,通过利用视觉基础模型如Depth Anything[63]来解决特征错位问题。
扫描下方二维码,添加 AI驾驶员
获取更多的 大模型 与 多模态 等信息