当前位置:AIGC资讯 > AIGC > 正文

CLIP-BEVFormer:显式监督BEVFormer结构,提升长尾检测性能

本文经自动驾驶之心公众号授权转载,转载请联系出处。

写在前面&笔者的个人理解

目前,在整个自动驾驶系统当中,感知模块扮演了其中至关重要的角色,行驶在道路上的自动驾驶车辆只有通过感知模块获得到准确的感知结果后,才能让自动驾驶系统中的下游规控模块做出及时、正确的判断和行为决策。目前,具备自动驾驶功能的汽车中通常会配备包括环视相机传感器、激光雷达传感器以及毫米波雷达传感器在内的多种数据信息传感器来收集不同模态的信息,用于实现准确的感知任务。

由于基于纯视觉的BEV感知算法需要更低的硬件以及部署成本,同时其输出的BEV空间感知结果可以很方便的被下游规控等任务所使用而受到了来自工业界和学术界的广泛关注。近年来,很多基于BEV空间的视觉感知算法被相继提出,并且在公开数据集上取得了出色的感知性能。

目前,基于BEV空间的感知算法根据构建BEV特征的方式可以大体分成两类算法模型:

  • 一类是以LSS算法为代表的前向BEV特征构建方式,这类感知算法模型首先是利用感知模型中的深度估计网络来预测特征图的每个像素点的语义特征信息以及离散深度概率分布,然后将得到的语义特征信息与离散深度概率采用外积运算的方式构建语义视锥特征,采用BEV池化等方式最终完成BEV空间特征的构建过程。
  • 另外一类是以BEVFormer算法为代表的反向BEV特征构建方式,这类感知算法模型首先是在感知的BEV空间下显式的生成3D体素坐标点,然后利用相机的内外参将3D体素坐标点投影回图像坐标系下,并对相应特征位置的像素特征进行提取和聚合,从而构建出BEV空间下的BEV特征。

虽然两类算法都可以较为准确的生成BEV空间下的特征进而完成最终的3D感知结果,但在当前的基于BEV空间的3D目标感知算法中,比如BEVFormer算法存在着以下两方面的问题:

  • 问题一:由于BEVFormer感知算法模型整体框架采用的是Encoder-Decoder的网络结构,其主要思想是利用Encoder模块获取BEV空间下的特征,然后利用Decoder模块预测最终的感知结果,并通过将输出的感知结果与真值目标计算损失来实现模型预测的BEV空间特征的过程。但通过这种网络模型的参数更新方式会过于依赖Decoder模块的感知性能,导致可能存在模型输出的BEV特征与真值BEV特征并不对齐的问题,从而进一步制约感知模型最终的表现性能。
  • 问题二:由于BEVFormer感知算法模型的Decoder模块依旧沿用Transformer中的自注意力模块->交叉注意力模块->前馈神经网络的步骤完成Query特征的构建输出最终的检测结果,其整个过程依旧是一个黑盒模型,缺乏良好的可解释性。同时,Object Query与真值目标之间的一对一匹配过程在模型训练的过程中也存在着很大的不确定性。

所以,针对上述提到的BEVFormer感知算法模型存在的两点问题,我们在BEVFormer算法模型的基础上进行改进,提出了基于环视图像的BEV场景下的3D检测算法模型CLIP-BEVFormer,通过利用对比学习的方式来增强模型对于BEV特征的构建能力,并且在nuScenes数据集上实现了SOTA的感知性能。

文章链接:https://arxiv.org/pdf/2403.08919.pdf

网络模型的整体架构&细节梳理

在详细介绍本文提出的具体CLIP-BEVFormer感知算法模型细节之前,下图展示了我们提出的CLIP-BEVFormer算法的整体网络结构。

本文提出的CLIP-BEVFormer感知算法模型整体流程图

通过算法的整体流程图可以看出,本文提出的CLIP-BEVFormer算法模型是在BEVFormer算法模型的基础上进行改进的,这里先简单回顾一下BEVFormer感知算法模型的实现过程。首先,BEVFormer算法模型输入的是相机传感器采集到的环视图像数据,利用2D的图像特征提取网络提取输入环视图像的多尺度语义特征信息。其次,利用包含时序自注意力和空间交叉注意力的Encoder模块完成2D图像特征向BEV空间特征的转换过程。然后,在3D感知空间中以正态分布的形式生成一组Object Query,并送入到Decoder模块中完成与Encoder模块输出的BEV空间特征的空间特征交互利用。最后利用前馈神经网络预测Object Query查询到的语义特征,输出网络模型最终的分类和回归结果。同时,在BEVFormer算法模型训练的过程中,采用一对一的匈牙利匹配策略完成正负样本的分配过程,并利用分类和回归损失完成整体网络模型参数的更新过程。BEVFormer算法模型整体的检测过程可以用如下的数学公式进行表示:

其中,公式中的代表BEVFormer算法中的Encoder特征提取模块,代表BEVFormer算法中的Decoder解码模块,代表数据集中的真值目标标签,代表当前BEVFormer算法模型输出的3D感知结果。

真值BEV的生成

在上文中已经有提到,现有的绝大多数基于BEV空间的3D目标检测算法没有显式的对生成的BEV空间特征进行监督,导致模型生成的BEV特征可能存在与真实的BEV特征不一致的问题,这种BEV空间特征的分布差异会制约模型最终的感知性能。基于这一考虑出发,我们提出了Ground Truth BEV模块,我们设计该模块的核心思路是想让模型生成的BEV特征可以和当前真值BEV特征进行对齐,从而提高模型的表现性能。

具体而言,如整体网络框架图所示,我们使用了一个真值编码器()用来对BEV特征图上的任意一个真值实例的类别标签和空间边界框位置信息进行编码,该过程可以用公式表述成如下的形式:

其中公式中的具有和生成的BEV特征图同等大小的特征维度,代表某个真值目标被编码后的特征信息。在编码的过程中,我们采用了两种形式,一种是大语言模型(LLM),另外一种是多层感知机(MLP),通过实验结果发现,两种方式基本达到了同样的性能。

除此之外,我们为了进一步增强真值目标在BEV特征图上的边界信息,我们在BEV特征图上根据真值目标所在的空间位置将其裁剪下来,并对裁剪后的特征采用池化操作构建对应的特征信息表示,该过程可以表述成如下的形式:

最后,我们为了实现模型生成的BEV特征与真值BEV特征的进一步对齐,我们采用了对比学习的方法来优化两类BEV特征之间的元素关系和距离,其优化过程可以表述成如下的形式:

其中公式中的和分别代表生成的BEV特征和真值BEV特征之间的相似度矩阵,代表对比学习中的逻辑尺度因子,表示矩阵间的乘法运算,代表交叉熵损失函数。通过上述对比学习的方式,我们提出的方法可以为生成的BEV特征提供更加明确的特征指导,提高模型的感知能力。

真值目标查询交互

这部分在前文中也有提到,BEVFormer感知算法模型中的Object Query通过Decoder模块与生成的BEV特征进行交互,获得对应的目标查询特征,但该过程整体还是一个黑盒过程,缺少一个完整的流程理解。针对这一问题,我们引入了真值查询交互模块,通过将真值目标来执行Decoder模块的BEV特征交互来激发模型参数的学习过程。具体而言,我们将真值编码器()模块输出的真值目标编码信息引入到Object Query当中参与Decoder模块的解码过程,与正常的Object Query参与相同的自注意力模块,交叉注意力模块以及前馈神经网络输出最终的感知结果。但需要注意的是,在解码的过程中,所有的Object Query均是采用了并行计算的方式,防止发生真值目标信息的泄露。整个真值目标查询交互过程,可以抽象表述成如下的形式:

其中,公式中的代表初始化的Object Query,和分别代表真值Object Query经过Decoder模块和感知检测头的输出结果。通过在模型训练的过程中引入真值目标的交互过程,我们提出的真值目标查询交互模块可以实现真值目标查询与真值BEV特征进行交互,从而辅助模型Decoder模块的参数更新过程。

实验结果&评价指标

定量分析部分

为了验证我们提出的CLIP-BEVFormer算法模型的有效性,我们分别在nuScenes数据集上从3D感知效果、数据集中目标类别的长尾分布情况以及鲁棒性等角度出发进行了相关实验,下表是我们提出的算法模型与其他3D感知算法模型在nuScenes数据集上的精度对比情况。

本文提出的方法与其他感知算法模型的对比结果

在这部分实验中,我们分别评估了不同模型配置情况下的感知性能,具体而言,我们将CLIP-BEVFormer算法模型应用于BEVFormer的tiny和base变体中。此外,我们还探索了将预训练的CLIP模型或者MLP层作为真值目标编码器对于模型感知性能的影响。通过实验结果可以看出,无论是原先的tiny还是base变体,在应用了我们提出的CLIP-BEVFormer算法后,NDS和mAP指标均有稳定的性能提升。除此之外,通过实验结果我们可以发现,对于真值目标编码器选择MLP层还是语言模型,我们提出的算法模型对于此并不敏感,这种灵活性可以使得我们提出的CLIP-BEVFormer算法更具有适应能力并且方便上车部署。总之,我们提出的算法模型的各类变体的性能指标一致表明提出的CLIP-BEVFormer算法模型具有很好的感知鲁棒性,可以在不同模型复杂度和参数量的情况下实现出色的检测性能。

除了验证我们提出的CLIP-BEVFormer在3D感知任务上的性能外,我们还进行了长尾分布的实验来评估我们的算法在面对数据集中存在长尾分布情况下的鲁棒性和泛化能力,实验结果汇总在下表

提出的CLIP-BEVFormer算法模型在长尾问题上的表现性能

通过上表的实验结果可以看出,nuScenes数据集中表现出了极大的类别数量不均衡的问题,其中一些类别如(建筑车辆、公交车、摩托车、自行车等)占比很低,但是对于小汽车的占比非常高。我们通过进行长尾分布的相关实验来评估提出的CLIP-BEVFormer算法模型在特征类别上的感知性能,从而验证其解决不太常见类别的处理能力。通过上述的实验数据可以看出,提出的CLIP-BEVFormer算法模型在所有类别上均实现了性能的提升,并且在对于占比极少的类别上,CLIP-BEVFormer算法模型展示出了明显的实质性改进。

考虑到在真实环境下的自动驾驶系统需要面临硬件故障、恶劣天气状况或者人造障碍物容易引发的传感器故障等问题,我们进一步实验验证了提出的算法模型的鲁棒性。具体而言,我们为了模拟传感器的故障问题,我们在模型实施推理的过程中随机对一个相机的摄像头进行遮挡,从而实现对于相机可能出现故障的场景进行模拟,相关的实验结果如下表所示

提出的CLIP-BEVFormer算法模型的鲁棒性实验结果

通过实验结果可以看出,无论是在tiny还是base的模型参数配置下,我们提出的CLIP-BEVFormer算法模型始终要优于BEVFormer的相同配置的基线模型,验证了我们的算法模型在模拟传感器故障情况下的优越性能和优秀的鲁棒性。

定性分析部分

下图展示了我们提出的CLIP-BEVFormer算法模型与BEVFormer算法模型的感知结果可视化对比情况。通过可视化的结果可以看出,我们提出的CLIP-BEVFormer算法模型的感知结果与真值目标更加的接近,表明我们提出的真值BEV特征生成模块与真值目标查询交互模块的有效性。

提出的CLIP-BEVFormer算法模型与BEVFormer算法模型感知结果的可视化对比情况

结论

在本文中,针对原有的BEVFormer算法当中存在的生成BEV特征图过程中缺少显示监督以及Decoder模块中Object Query与BEV特征交互查询的不确定问题,我们提出了CLIP-BEVFormer算法模型,并从算法模型的3D感知性能、目标长尾分布以及在传感器故障的鲁棒性等方面进行实验,大量的实验结果表明我们提出的CLIP-BEVFormer算法模型的有效性。

更新时间 2024-03-26