自从引入自注意力机制和采用Transformer架构在计算机视觉任务中,基于视觉Transformer(ViT)架构的体系结构在许多领域变得非常受欢迎,被用于图像分类、目标检测和图像分割等任务。 然而,在视觉Transformer(ViT)中有效利用注意力机制在单目3D目标检测任务中仍然是一个开放的问题。在这篇论文中,作者提出了LAM3D框架,该框架利用自注意力机制进行单目3D目标检测。 为此,所提出的方法建立在了一个Pyramid Vision Transformer v2(PVTv2)作为特征提取背心和2D/3D检测工具上。作者在KITTI 3D目标检测基准测试上评估所提出的算法,证明所提出的解决方案在自动驾驶领域适用,并超过了参考方法。 此外,由于使用自注意力机制,LAM3D能够系统性地优于不使用自注意力的等效架构。
I Introduction
目标检测是计算机视觉中的一个基本任务,它涉及到在图像或视频中检测并定位特定的类别目标。2D目标检测意味着确定目标在图像中的位置(以2D边界框表示),并对目标进行特定类别的分类。最先进的目标检测方法可分为两阶段方法([1, 2, 3])和单阶段方法([4, 5, 6])。两阶段方法遵循 Proposal 驱动的方法:第一阶段生成一组区域 Proposal ,第二阶段使用卷积神经网络将候选位置(目标或背景)分类为目标,并对其进行优化。尽管准确性很高,但它们在推理速度方面存在缺陷,这推动了单阶段目标检测器的需求。单阶段方法通过依赖预定义的 Anchor 框,依靠卷积神经网络在一次通过网络时进行目标定位和分类。
在3D目标检测的背景下,重点从仅在2D空间中识别物体转移到捕捉物体在3D环境中的完整空间范围和方向。与2D检测不同,这里需要预测相对于坐标系的目标物体orientation,以及它们的3D边界框。用于解决这个任务的神经网络设计的常见输入类型包括:点云, Voxel 网格,深度映射,RGB-D图像和多视图图像。
预测3D立方体的最困难的方法是通过解决单视图3D目标检测任务,这涉及使用单个图像作为输入,在缺乏深度提示的情况下,单视图目标级深度估计自然是不定义的。用于解决这个任务的标准化网络管线包括:卷积特征提取 Backbone ,然后在其上添加检测模块,以确定描述检测到的目标的3D属性相关的关键3D属性。然而,卷积神经网络有时在捕捉长程依赖性和上下文信息方面难以胜任,这与它们的有限感受野有关,这对于理解图像中的空间关系至关重要,而这对准确的3D目标检测至关重要。
最近,Transformer基于模型在各种视觉任务中展现出令人瞩目的潜力,通过有效地模拟长程依赖性和捕捉全局上下文。将Transformer应用特征提取可以提高单视图3D目标检测系统的性能,补充CNN的局限性,并提供对场景的更全面的直观理解。
本文 Proposal 了基于以下关键贡献构建原生态单视图3D目标检测 Pipeline :
- 作者介绍并验证了一种基于Transformer架构的新型3D目标检测方法作为特征提取 Backbone 。
- 作者在单视图3D目标检测的上下文中利用了注意力机制的价值。
- 全面的实验验证表明,所 Proposal 的方法在准确性和鲁棒性方面超过了现有的技术。
II Related work
第二个部分:相关工作
本文研究的起点是分析与深度学习相关的已知工作。主要目的是理解这些工作是如何导致深度学习技术的进步以及它在自动驾驶领域中的重要性。
深度学习在过去几年取得了显著的发展,并在许多领域中展现了其优势。这主要归功于深度学习算法的改进,其中包括卷积神经网络(CNN)、循环神经网络(RNN)和长短时记忆网络(LSTM)等。这些进展的出现是因为研究行人解决了一些关键问题,例如梯度消失和梯度爆炸,以及更好地捕捉长距离依赖关系。
在自动驾驶领域中,深度学习技术已被广泛应用于环境感知和决策策略。例如,卷积神经网络已被用于处理车载相机图像,以检测周围的物体并将其转换为可用于决策的信息。同时,长短时记忆网络已被用于构建强化学习模型,以使自动驾驶汽车能够通过奖励机制来学习和适应环境。
总结起来,本文的目的在于阐述深度学习技术在自动驾驶领域中的潜力,以及它在解决现实问题中所取得的进展。
Vision Transformers
视觉transformer(ViT)[11]是设计适用于不同计算机视觉任务的Transformer架构的开端,它是第一个证明了纯Transformer可以在图像块上应用并在无需依赖卷积神经网络(CNNs)的图像分类中表现良好的架构。这种类型的著名架构有Swin-Transformer(Swin-T)[12],金字塔视觉Transformer(PVT)[13, 14]和视觉Transformer Adapter (ViT-Adapter)[15]。
Swin-Transformer [12],进一步改进于[16],是一种层次结构的Transformer,它使用位移窗口来计算图像块的表示。Swin-T适用于各种任务,如图像分类、目标检测和语义分割,并采用层次方法输出不同尺度的特征图。金字塔视觉Transformer [14],进一步改进于[13],使用多个Transformer编码器,生成多尺度特征图,并且还可以用于多种视觉任务。它分为四个阶段,每个阶段都由一个 patch embedding 层和一个 Transformer encoder 层组成,生成不同尺度的特征图。ViT Adapter [15]的作者提出了一种无需预训练的密集预测任务 Adapter ,用于向模型中引入解决特定视觉任务所需的归纳偏见,包括目标检测、实例分割和语义分割。他们使用一个空间先验模块,收集了三个目标分辨率的空间特征,并将它们按扁和 ConCat 以作为特征交互的输入。
Monocular 3D Object Detection
通常,针对两种不同的领域进行3D目标检测的研究,取决于输入数据:自主系统 或室内场景 。解决这个任务的方法中做出的假设直接相关于它们应用的领域。
由于单目3D目标检测是一个不稳定的问题,Lu等人[9]提出了一个针对城市场景的解决方案,包括几何不确定性投影(GUP)模块和层次任务学习(HTL)策略,以解决深度推理错误问题和对任务依赖导致的训练不稳定。作者们在[8]中提出了一种 Depth EquiVarIAnt Network(DEVIANT),首次在单目3D目标检测的背景下使用比例不变的可导(SES)块[19],以学习一致的深度估计,通过生成包含深度信息的5维特征图。两种方法都使用不确定性建模来预测物理和视觉高度,但它们都没有建模两个之间的联合概率分布,因此在他们之间的相关性方面缺乏信息。
从[10]提出的方法中的作者们提出了在训练过程中学习完整的协方差矩阵,并使用多变量似然率进行指导。一种通用的 Baseline 方法在[7]中提出,称为 Cube R-CNN,设计用于解决3D目标检测任务对于两个数据领域:户外和室内场景,超越了先前的最佳方法在各种数据集上。
尽管卷积神经网络已经成为许多成功3D目标检测方法的基础,但在近年来,它们的局限性变得更加明显,在基于图像的3D目标检测中达到性能瓶颈。具体来说,卷积神经网络通常难以捕捉到长期依赖性和上下文信息,因为它们固有的局部感受野[12],这可能限制它们在理解复杂场景时要完全理解它们的能力。此外,卷积神经网络可能在处理目标的不同尺度和 aspect ratios 方面效率较低,导致可能由于环境多样性的性能恶化。
因此,探索更先进架构的需求越来越大,例如 Transformer ,它可以模拟全局上下文并提供更强大的特征提取灵活性。
为了应对这一挑战,一些作者尝试基于 Transformer 架构。作者们设计了 MonoDETR,它使用深度感知的 Transformer 来指导检测过程,同时结合输入图像获得的视觉特征和上下文深度线索。基于深度感知的 Transformer ,作者们[21]提出了一种新的注意力机制,用于单目3D目标检测,称为 Supervised Scale-aware Deformable Attention(SSDA),它使用预定的不同尺度的 masks 和加权尺度匹配(WSM)损失来监督尺度预测。
尽管这种方法虽然先进,可能引入额外的计算开销和复杂性。虽然提到的所有方法都利用了 Transformer 架构,但它们仅将其用于引导 Pipeline 中的检测部分,而不是特征提取器后端。据作者了解,[22]中的作者是唯一一个用 Transformer 架构而不是CNN从输入图像中提取特征的人,他们提出DST3D,基于DLA-Swin Transformer(DST)作为特征提取器后端,并训练到端。DLA-Swin Transformer基于Swin-T[12],并使用深度层聚合(DLA)[23]更好地在不同的层和块之间进行特征融合功能。然而,Pyramid Vision Transformer(PVT)较DLA-Swin具有几个优势,例如更有效的多尺度特征提取[14]。PVT的层次设计和注意力机制提供了一种更灵活和强大的特征提取方法,因此更适合单目3D目标检测。
III Method
作者的目标是设计一种创新且有效的单目3D目标检测方法,该方法在实际交通场景中使用注意机制从输入中提取特征。作者的方法是通过结合检测Head和为该任务验证过的损失函数来扩展PVTv2 [13]。作者将这种方法称为LAM3D。图1显示了作者的方法概述。
输入图像首先通过基于Transformer的2D检测 Backbone 进行处理。产生的2D边界框作为感兴趣区域(RoIs)作为输入,这些RoIs用于提取3D边界框信息,如大小、角度和3D投影中心。深度是通过使用基于2D和3D高度以及深度偏差的Geometry Uncertainty Projection模块后推算的,如[9]中的描述。
本节介绍了检测流水线的开始部分,即基于Transformer的特征提取 Backbone 。
Transformer Backbone
堆叠视觉 Transformer (Pyramid Vision Transformer)[14] 类似于卷积神经网络 Backbone 结构,输出一组不同尺度的特征金字塔,由四个特征图 组成,适用于稠密预测任务。产生的特征金字塔是堆叠视觉 Transformer (Pyramid Vision Transformer)的四个阶段的产物,所有阶段共享相似的结构,由 patch embedding 层和 Transformer 编码层组成。在第一阶段,输入图像被分割成平坦的 patch,然后被映射到 维的嵌入。与位置嵌入一起,这些嵌入的 patch 输入到 Transformer 编码层,并将输出表示为尺寸为 的特征图。这个过程在每一阶段都重复,其中先前的生成的特征图作为输入。遵循同样的概念,每个特征图具有如下形状:,其中 是第 阶段相对于输入图像的步长, 是第 阶段的嵌入维度。为了生成特征金字塔,每一阶段的步长分别为 4、8、16、32 个像素。
堆叠视觉 Transformer 以前被用作 2D 目标检测任务(以 COCO 2017 为主)[14] 的 Backbone 结构进行验证。在本论文中,Transformer Backbone 结构使用在 ImageNet[24] 上预训练的权重,并在 KITTI 3D 目标检测数据集[25]上通过微调进行优化,以进行 2D 目标检测子任务的基本实验 1 和 2。
Neck
Neck 的表示采用了全卷积上采样方法,该方法使用迭代深入聚合(IDA)逐步优化分辨率和聚合尺度[23]。接下来,利用双线性插值对特征图进行上采样。在所有实验中,作者观察到特征图的前64个通道最为关键。通过截取并关注这些关键通道,作者可以降低计算复杂性和内存使用,同时保留对检测任务最重要信息。
Detection Heads
- 架构概述:LAM3D作为输入处理一张图像,通过Transformer-based Backbone 网络提取不同尺度的特征图{F1,F2,F3,F4},然后使用DLA进行聚合,得到单一特征图F,该特征图用于推理2D和3D边界框参数。
- 所提出的网络使用三个2D检测Head来确定每个潜在2D边界框的 Heatmap 、偏移量和高斯大小。 Heatmap 表示图像中每个类别的粗略位置及其置信度,形状为[W,H,C],其中W和H分别表示输入图像的宽和高,C表示类别数量。每个目标的粗略位置(即生成的 Heatmap 中的位置)通过一个2D偏移头进行提炼,得到边界框中心(通过计算精炼偏差δ2d^u和δ2d^v获得)。边界框的大小(即W2D和H2D)由一个2D大小头计算得出。
- 将与感兴趣区域(RoI)对应的特征进行裁剪后,只保留物体 Level 的信息。3D检测卷积头用于推理3D边界框信息:旋转角度、3D尺寸和3D中心投影。3D偏移头确定3D中心投影(δ3d^u和δ3d^v),角度头确定旋转角度θ,3D大小头确定3D边界框参数(h3d、w3d和l3d),其中h3d表示高度,w3d表示宽度,l3d表示长度。
- 为了使3D边界框完全定义,深度信息也要进行推理。考虑到直接回归深度较为困难且易产生误差,因此使用一种名为“Geometry Uncertainty Projection模块”的方法来推理在明确定义的概率框架下的深度信息。
Loss Functions
模型的总损失可以定义为所有任务损失的总和,如公式1所示。
L1损失函数被用于、和。在的背景下,L1损失函数仅在和参数上使用,因为估计的用于几何不确定性投影模块。交叉熵损失函数被用于引导物体分类,并与角度值回归的L1损失函数一起使用。等同于焦损失[6]。为了解决训练不稳定问题,每个任务应该在其前任务充分训练之后才开始训练。
IV Experiments
Setup
Iv-A1 Dataset
KITTI 3D目标检测[25]包括7481张训练图像、7518张测试图像,以及对应的点云,总共80256个 labeled 物体。除了对物体进行标记外,每个边界框还会表示为可见、半被遮挡、全被遮挡或截断。图像分辨率为375x1242。本文遵循的常见方法是将训练数据分为训练集(3712张图像)和验证集(3769张图像)[9]。以下研究基于这种划分,本章中的结果是在验证子集上得出的。
Iv-A2 Evaluation protocol
所有的实验都遵循KITTI 3D物检测基准的评估配置,使用PASCAL标准进行评估。在正式基准评估中,汽车类别之间的3D边界框重叠率为70%,而行人和自行车的重叠率为50%。作为额外的评估配置,还进行了汽车类别之间的3D边界框重叠率为50%,而行人和自行车为30%的实验。
Iv-A3 Implementation details
提出的方法的输入图像分辨率是380 x 1280。在2台NVIDIA GeForce RTX 4090 GPU上,用12个小批量训练该模型,总共140个epoch。训练优化器为Adam,初始学习率为,在epochs90和120时以0.1的速度衰减。在前5个epoch中,采用余弦淡化的方式预热。首先,在KITTI 3D目标检测数据集上,对ImageNet预训练的Transformer Backbone 进行2D目标检测子任务的精细调整。实验使用了PVTv2 Baseline 1和2[13]。
Results
作者在表1中报告了作者的方法在KITTI数据集上的评估结果。该方法在KITTI服务器上使用保留的GT进行评估,这与最好的基于Transformer的方法进行评估,即DST3D [22]。如通常所做的那样,作者在官方测试划分(将评估留给KITTI服务器进行)上的结果报告中报告了作者的方法。表2 报告了在进一步评估的验证集上的结果。可以看出,作者提出的方法在所有难度 Level 上都优于之前的基于Transformer的方法。具体来说,LAM3D在和方面都取得了显著的改进。表1显示,LAM3D在易于(Easy)、中等(Moderate)和困难(Hard)场景下平均精度@70分别提高到19.85%、12.86%和10.94%,而与之相比,DST3D分别为7.02%、3.58%和3.58%。对于AP@50,同样的行为也得到了观察。这表明了相比基于Swin-T的特征提取器,角点 Transformer (Pyramidal Transformers)在大型场景下的目标检测任务中的优越性能。
在表2和III中,作者将作者的方法与使用几何不确定性投影模型通过尺度放大原则工作的GUP Net进行了比较。作者的结果表明,对于相同的图像分辨率,PVT提取的特征对于姿势估计提供了更好的优势。表2突出了两种方法在KITTI验证集(用于汽车、行人和自行车)上的性能。作者的方法LAM3D在3D和鸟瞰视角(BEV)的平均精度(AP)方面都取得了改进。
表1对比了各种Transformer基础架构在KITTI测试车(BEV)指标方面的结果(易于、中等、困难)。值得注意的是,LAM3D在汽车类别中在大多数场景中取得了比GUP Net更高的AP分数,在方面提高了1.48%,而在方面提高了1.15%。此外,LAM3D在行人和自行车类别中,在大多数情况下也取得了更好的AP分数。表3报告了汽车类别的3D预测的方差。作者的方法与GUP Net相比,实现了更低的方差值,表明预测更加一致可靠。这种一致性在所有难度水平的3D和BEV指标下都得到了进一步的验证,从而增强了作者方法的稳定性。
Ablation Study
为验证基于Transformer架构相较于卷积神经网络 Backbone 的有效性,本节对KITTI 3D目标检测基准测试数据集的验证划分进行了详细的研究。
V-C1 Attention mechanism
在Tab. IV中,作者展示了在PVTv2后端进行的三维目标检测任务的结果。此表证明了基于Transformer的架构中注意机制的高效性。
V Qualitative results
如图2所示,作者提出两种针对截断和被遮挡车辆的视觉表示,突出自动驾驶场景的挑战。可以看到,作者的方法有效解决了这些挑战,在与其他方法的比较中证明了其强大的性能(与GUP Net [9]进行对比)。
VI Conclusion
在本文中,作者提出了一种名为LAM3D的新框架,用于解决单目3D目标检测任务。在第四部分详细介绍的结果证明,在处理病态的单目3D目标检测任务时,Transformer可以作为特征提取的 Backbone ,实现与CNN相似甚至更好的性能。
此外,通过进行消融实验,作者发现注意力机制在捕捉相关信息方面特别有效,尤其是对于场景中的较小物体。
参考
[1].LAM3D: Leveraging Attention for Monocular 3D Object Detection.