参考Improving 3D Object Detection with Channel-wise Transformer - 云+社区 - 腾讯云
尽管近年来点云三维物体检测取得了快速进展,但缺乏灵活和高性能的建议细化仍然是现有最先进的两级检测器的一大障碍。 之前的3D建议精炼工作依赖于人为设计的组件,如关键点采样、集合抽象和多尺度特征融合,以产生强大的3D目标表示。 然而,这些方法捕获点之间丰富的上下文依赖关系的能力有限。 在本文中,我们利用高质量的区域建议网络和一个Channel-wise Transformer架构,以最少的手工设计构成了我们的两阶段3D目标检测框架(CT3D)。 提出的CT3D同时对每个建议中的点特征执行提议感知的嵌入和通道上下文聚合。 具体来说,CT3D利用建议的关键点进行空间情境建模,并在编码模块中学习注意力传播,将建议映射到点嵌入。 接下来,一个新的逐通道解码模块通过通道重加权有效地合并多级上下文来丰富查询键交互,这有助于实现更准确的目标预测。 大量实验表明,我们的CT3D方法具有良好的性能和可扩展性。 值得一提的是,在KITTI测试3D检测基准上,CT3D在中型车类别中实现了81.77%的AP,优于最先进的3D检测器。
基于点云的三维目标检测是未来自动驾驶汽车(AV)不可缺少的一部分。 与已开发的二维检测算法不同,激光雷达的点云通常是稀疏的、无序的、分布不均匀的,而二维检测算法的成功主要是由于图像像素的规则结构。 这使得类似CNN的操作不太适合直接处理非结构化点云。 为了应对这些挑战,许多方法对点云采用体素化或自定义离散化。几种方法将点云投影到鸟瞰图(BEV)表示并应用标准的2D卷积,然而,它不可避免地会牺牲某些对生成精确定位至关重要的几何细节。 其他方法将点云栅格化成三维体素网格,并使用规则的3D CNN在网格空间中进行计算,但这类方法存在与细化网格相关的计算瓶颈。 基于体积卷积和排列不变卷积等有效的点云表示深度架构,使得点云检测任务取得了重大突破。
目前,大多数最先进的三维目标检测方法采用两阶段框架,包括三维区域建议生成和建议特征细化。 请注意,最流行的区域建议网络(RPN)骨干在KITTI 3D检测基准上达到了95%以上的召回率,而该方法仅达到78%的平均精度(AP)。 产生这种差距的原因是,在遮挡或远程距离的情况下,很难对目标进行编码并从3D建议中提取鲁棒性特征。 因此,在建议特征细化阶段,如何有效地建模点之间的几何关系,利用准确的位置信息,是获得良好性能的关键。 一个重要的模型家族是PointNet及其变体,它使用一个灵活的接受域,通过局部区域和置换不变网络聚合特征。 然而,这些方法的缺点是涉及大量的手工设计,如邻近球的半径和网格大小。 另一类模型是基于体素的方法[33,27,39],它使用3D卷积核从相邻体素收集信息。 但由于体素量化和对超参数的敏感,该方法的性能并不理想。 后来的研究进一步应用点体素混合策略来捕获多尺度特征,同时保留细粒度定位,但与特定的RPN体系结构密切相关。
在本文中,我们有两个主要贡献。 首先,我们提出了一种新的端到端两阶段三维目标检测框架CT3D。 受近期基于Transformer的2D检测方法DETR的激励,该方法使用CNN骨干提取特征,并使用编解码Transformer增强RoI区域特征,我们设计了CT3D,在第一阶段生成3D包围框, 然后通过在译码器中加入具有信道加权机制的新颖Transformer架构来学习每个建议的表示。 提出的框架在准确性和效率方面表现出非常强的性能,因此可以方便地与任何高质量的RPN骨干结合。
第二个贡献是自定义Transformer,与传统的基于点/体素的特征聚合机制相比,它提供了一些优点。 尽管点卷积或体素卷积具有局部和全局上下文建模的能力,但在增加接受域和参数优化方面仍然存在一些局限性。 此外,基于点云的3D物体检测器还必须处理具有挑战性的缺失/噪声检测,如带有几个点的遮挡和距离模式。 在Transformer中,自我注意最近成为捕捉远距离互动的基本组成部分,因此在获取背景信息以丰富远处的物体或增加假阴性的信心时,它是一种自然选择。 受到这种思想的启发,我们首先引入了提议到点的嵌入,以有效地在编码器模块中编码RPN提议信息。 此外,我们利用通道加权方法来增强标准Transformer解码器,同时考虑编码点的全局和局部信道特征。 目的是扩展特征解码空间,在这里我们可以计算关键嵌入的每个通道维度上的注意力分布,从而增强查询-关键交互的表达能力。 大量的实验表明,我们提出的CT3D在KITTI数据集和大规模Waymo数据集上都优于目前最先进的方法。
近年来,激光雷达原始点云的有效表示方法的学习取得了很大进展。 值得注意的是PointNet系列,它使用置换不变运算来聚合点特性。 F-PointNet为每个3D锥视图中的点云生成区域级特征。 PointRCNN使用PointNet++对前景3D点进行分割,并利用分割特征对建议进行细化。 STD[通过将稀疏点特征转换为密集体素表示进一步扩展了建议的细化。 此外,3DSSD对基于点的采样方法进行了改进,提出了一种基于特征距离的采样策略。 然而,类PointNet架构在为激光雷达数据捕获本地结构的能力仍然有限。 另一类方法旨在将非结构化点云体素化为常规的2D/3D网格,传统CNN可以很容易地应用于其上。 最先进的工作将点云编码为2D鸟瞰图特征图,以生成高精度的3D候选框,激发了许多基于鸟瞰图表示的高效方法。 VoxelNet将这些点转换成一个紧凑的特征表示。 第二,[33]引入了三维稀疏卷积,实现高效的三维体素处理。 这些基于体素的方法仍然专注于体积的细分,而不是自适应建模局部几何结构。 此外,各种基于点体素的多尺度特征聚合方法也被提出。 SA-SSD在3D体素CNN的基础上提出了一个辅助网络。 PV-RCNN及其变体VoxelRCNN采用3D体素CNN作为RPN生成高质量的建议,然后利用PointNet聚合网格周围的体素特征。 然而,这些混合方法需要大量手工制作的功能设计。
由于Transformer在许多计算机视觉领域的成功,最近发展了一种新的目标检测范式。 由于Transformer模型在学习局部上下文感知表示方面非常有效,因此DETR将检测视为一个集预测问题,并使用Transformer与并行解码来检测二维图像中的目标。 DETR的一个变体进一步开发了一个可变形的注意模块,采用跨尺度聚集。 对于点云,最近的方法也探索了使用自注意进行分类和分割任务。
鉴于广泛使用的RPN骨干(如3D体素CNN)产生的建议,目前的建议细化方法侧重于提炼由卷积层提取的中间多阶段体素特征,存在超参数优化和广义模型设计的困难。 我们认为,具有精确位置信息的原始点足以完善检测方案。 牢记这一观点,我们通过在RPN网络上部署设计良好的Transformer来构建CT3D框架,从而直接利用原始点云。 具体来说,整个CT3D检测框架由三个部分组成,即用于生成提议的RPN主干、用于改进提议特征的逐通道Transformer和用于预测目标的检测头。 图1展示了CT3D框架的概述。
从具有三维坐标和c维点特征的点云P出发,RPN生成的预测三维包围框由中心坐标、长度、宽度、高度、方位组成。 在本文中,我们采用3D体素CNN SECOND作为我们的默认RPN,因为它具有高效率和准确性。 请注意,在我们的框架中,任何高质量的RPN都应该是可替换的,并且能够通过端到端方式训练。
为了改进生成的RPN建议,我们采用了两步策略。 具体来说,第一个提议到点的嵌入步骤将提议映射到点特征,然后第二个自注意编码步骤是通过建模相应提议内点之间的相对关系来细化点特征。
给定RPN生成的建议,我们根据该建议在点云中划定一个缩放的RoI区域。 这样做的目的是通过尽可能多地包装所有目标点来补偿建议和相应的ground-truth框之间的偏差。 具体来说,缩放后的RoI区域是一个高度不受限制的圆柱体,半径,其中是超参数,分别表示建议的长度和宽度。 以下,在比例ROI内随机抽样N = 256个点()被取出进行进一步处理。
首先,我们计算每个采样点与统一输入距离特征建议的中心点之间的相对坐标,记为。 一个简单的想法是直接将建议信息连接到每个点特征中,即,其中是反射等原始点特征。 然而,建议的大小方向表示只能产生有限的性能,因为Transformer编码器根据上述几何信息重新定向可能不太有效。
值得注意的是,在检测任务中,关键点通常具有更明确的几何性质,我们提出了一种新的关键点减法策略来计算每个点与相应方案的8个角点之间的相对坐标。 计算得到的相对坐标为:,其中为第j个角点的坐标。 注意,消失,但包含在距离信息的不同维度中。 通过这种方式,新生成的相对坐标可以被认为是更好的建议信息表示。 如图2左侧所示,对于每个点,建议的引导点特征可以表示为:
然后将嵌入的点特征输入到多头自注意层,再通过具有残差结构的前馈网络(FFN)编码丰富的上下文关系和点依赖关系,提出改进点特征的建议。 如图2中右侧所示,这种自注意编码方案与原始NLP Transformer编码器的结构几乎相同,除了位置嵌入,因为它已经包含在点特征中。 读者可以参考[31]了解更多细节。 表示为维数为D的嵌入点特征,我们得到;;,其中为线性投影,Q, K, V为所谓的查询、键和值嵌入。 这三种嵌入被多头自我注意机制处理。 在H头注意情况下,Q、K、V进一步分为,, ,其中。 多头自注意后输出为:
式中,σ(·)为softmax函数。 下面,应用简单的FFN和残差算子,得到如下结果:
式中,为添加和归一化算子,为具有两个线性层和一个Relu激活的FFN。 我们观察到3个相同的自我注意编码模块的堆栈对于我们的CT3D框架是理想的。
在本小节中,我们设法将编码器模块中的所有点特征(即)解码为一个全局表示,FFNs将对其进行进一步处理,以获得最终的检测预测。 与标准Transformer解码器使用自和编码器-解码器注意机制对M个多个查询嵌入进行转换不同,我们的解码器只根据以下两个事实操作一个查询嵌入:
一般来说,解码器后的最终提案表示可以看作是所有点特征的加权和,我们的关键动机是确定每个点的解码权重。 下面,我们首先分析标准解码方案,然后开发一种改进的解码方案,以获得更有效的解码权值。
标准解码方案利用D维的可学习向量(即查询嵌入)来聚合所有通道的点特征。 如图3(a)所示,每个注意头中所有点特征的最终解码权向量为:
其中为编码器输出投影计算出的第h个头部的关键嵌入,为对应的查询嵌入。 需要注意的是,向量的每个值都可以看作是单个点的全局聚合(即每个密钥嵌入),后续的softmax函数根据归一化向量中的概率为每个点赋解码值。 因此,译码权向量的值是简单的全局聚合,缺乏局部通道建模,这是了解点云三维表面结构所必需的,因为不同的信道在点云中通常表现出很强的几何关系。
为了强调关键嵌入的通道信息,一个简单的解决方案是基于的所有通道计算点的解码权向量。 即为每个通道生成D个不同的解码权向量,得到D个解码值。 进一步,对这些D译码值引入线性投影,形成统一的信道译码向量。 如图3(b)所示,这种新的译码权向量的信道加权可以总结为:
其中s是将D的解码值压缩为重加权标量的线性投影,计算沿N维的softmax。 而计算的译码权值与每个通道相关联,忽略了每个点的全局聚合。 因此,我们可以得出结论,标准译码方案集中于全局聚合,而通道加权方案集中于信道局部聚合。 为了结合它们的特点,我们提出了一种扩展的通道加权方案,如下所示。
具体来说,我们首先重复查询嵌入和密钥嵌入的矩阵乘积,将空间信息传播到每个通道,然后输出与密钥嵌入的元素相乘,以保持通道差异。 如图3(c)所示,这种新的扩展通道加权方案对所有点生成如下的解码权向量:
其中ρ(·)是重复运算符,使。 这样,与通道加权方案相比,我们不仅可以保持全局信息,而且与标准译码方案相比,丰富了局部和详细的通道交互。 此外,与其他两种方案相比,扩展的信道加权仅增加1K+(字节)。 因此,最终解码的建议表示形式可以描述如下:
其中值嵌入是得到的线性投影。
在前面的步骤中,输入点特征被总结为一个d维向量y,然后将其输入到两个FFN中,分别预测相对于输入3D建议的置信度和框残差。 为了输出置信度,我们将培训目标设置为3D建议与其对应的ground-truth boxes之间的3D IoU。 给定3D建议的IoU及其对应的ground-truth box,我们按照分配置信度预测目标,其结果如下:
其中和分别为前景IoU阈值和背景IoU阈值。 此外,回归目标(上标t)由建议及其对应的ground-truth框(上标g)编码,给出:
我们采用端到端的策略来训练CT3D。 因此,整体的训练损失是RPN损失、置信度预测损失和框回归损失的总和,可以表示为:
这里利用二元交叉熵损失[11,35]作为预测置信值c来计算IoU引导的置信损失:
框形回归损失采用:
在本节中,我们使用两个公共数据集KITTI和Waymo对CT3D进行评估。 此外,我们还进行了全面的消融研究,以验证CT3D中每个模块的有效性。
KITTI数据集正式包含7481个训练激光雷达样本和7518个测试激光雷达样本。 在[2]之前的工作基础上,我们将原始训练数据分为3712个训练样本和3769个验证样本进行实验研究。
Waymo数据集由798个训练序列(约158,361个激光雷达样本)和202个验证序列(40,077个激光雷达样本)组成。 由于Waymo的各种自动驾驶场景,这种大规模的Waymo数据集检测任务更具挑战性。
RPN:我们采用SECOND作为我们的RPN,因为它的建议质量高,推理速度快。 KITTI数据集的X、Y、Z轴范围设置为(0,70.4)、(−40,40)、(−3,1),在(X轴,Y轴,Z轴)中体素大小设置为(0.05m, 0.05m, 0.1m)。 Waymo数据集对应的轴范围为(−75.2,75.2)、(−75.2,75.2)、(−2,4),体素大小为(0.1m, 0.1m, 0.15m)。 由Focal-Loss分类分支和Smooth-L1-Loss回归分支组成。 更多细节请参考OpenPCDet,因为我们使用这个工具箱进行实验。
训练的细节:我们使用8个V100 GPU来训练整个网络,KITTI数据集的批大小为24,Waymo数据集的批大小为16。 对于通道Transformer的编解码器模块,我们设α = 1.2, H = 4。 对于训练目标,我们分别设置= 0.75, = 0.25, = 0.55。 整个CT3D框架是由ADAM优化器从头到尾训练的100个时代。 我们采用余弦退火学习率策略进行学习率衰减,学习率最大值为0.001。 在训练阶段,随机选取128个方案计算置信度损失,而选取64个(IoU≥αR)方案计算回归损失。 在推理阶段,选择前100名的建议进行最终预测。
我们比较了我们的CT3D与最先进的方法,在KITTI测试和val集0.7 IoU阈值。 在我们的测试提交中,所有发布的训练数据都用于训练模型。 在[25,24,4,10]之后,与之前的方法相比,测试集用40个查全位置计算平均精度(AP), val集用11个查全位置计算AP。
表1说明了我们的方法与官方KITTI测试服务器上的最新方法之间的性能比较。 它表明,CT3D在中等和硬水平上的汽车检测,无论是激光雷达和激光& RGB模式,特别是最重要的中等水平。 与最新发布的与我们拥有相同RPN(即SECOND)的PVRCNN相比,CT3D获得了更好的性能,但需要约1/3倍的参数进行细化。 此外,如图4所示,与PV-RCNN相比,CT3D具有更好的可视化性能。 这一显著的改进主要来自于CT3D在细化阶段对原始点进行处理,而不是依赖于人类指定的设计和次优的中间特征。 注意,我们的CT3D在简单级别的AP相对较差,可能有两个原因。 首先,我们只在所有关卡的每个提案中取样256个原始点,即使是简单关卡的建议通常也有更多的点。 其次,我们观察到KITTI在训练集和测试集之间表现出很大的分布差异。
为了进一步验证,我们在KITTI验证集上与以前的方法进行了比较。 结果表明,我们的CT3D算法在中等水平上领先于目前最先进的Voxel-RCNN算法1.54%,在容易水平上取得了较好的效果。 这一改进也验证了我们方法的有效性,表明与基于多尺度特征融合的方法相比,我们的CT3D方法能够更好地建模上下文信息和依赖关系。 该模型在行人和骑车人检测方面也有较强的性能。 car-BEV、行人-3D和骑行者-3D结果如表3和表4所示,供参考。
对于Waymo数据集,我们在训练集上训练模型,并在验证集上评估模型。 同样,mAP用0.7 IoU阈值计算,用于车辆检测。 数据分为2个难度等级:1级是指5分以上的物体,2级是指1 ~ 5分的物体。
在表5中,我们比较了我们的CT3D与基于官方发布的评估工具[29]的最先进的方法。 可以看出,我们的方法在LEVEL 1和LEVEL 2的所有感兴趣的距离范围上都有显著的边际,优于之前所有的方法。 CT3D在常用的LEVEL 1 3D mAP评价指标上达到76.30%,在3D检测和鸟瞰图检测上分别比之前最先进的方法Voxel-RCNN高出0.71%和2.31%。 这个显著的改进也验证了我们的CT3D方法在大规模点云特征表示上的有效性。 我们在表5中报告了LEVEL 2难度的结果,我们的方法在3D检测上显著优于Voxel-RCNN 2.45%。 其中一个因素是,Voxel-RCNN通过将RoI空间划分为网格来限制特征交互,而我们提出的CT3D在捕获稀疏点之间的远程交互方面具有明显的优势。
在本节中,我们对CT3D进行全面消融研究,以验证每个单独成分的有效性。 我们报告了KITTI val集上40个召回位置的3D检测AP度量。
在表6中,我们分别用“SECOND RPN”和“PointPillar RPN”验证我们的细化网络的效果。 可以看出,与RPN基线相比,检测性能分别提高了+5.47%和+4.82%。 这得益于我们的两阶段框架CT3D可以集成在任何RPN的顶部,从而提供强大的方案优化能力。 我们还提供了表6中的参数数量供参考。
我们通过将关键点减去策略与第3.2节建议点嵌入中采用的基线大小取向策略进行比较,来研究关键点减去策略的重要性。 从表7的第2和第3行可以看出,关键点减法能够显著提高玩家在所有三个难度关卡中的表现。 这种策略背后的基本原理是,每个点和建议关键点之间的相对坐标可以提供更有效的几何信息,形成高质量的点位置嵌入。
表7的第1和第3行显示,删除自注意编码会大大降低性能,这表明通过聚合全局感知上下文信息和依赖关系,自注意能够更好地表示每个点的特征。 此外,我们可视化训练模型的最后一个自我注意层的注意地图从不同的时代检查点。 如图5所示,在epoch 80,即使在图5 (c)所示的极其稀疏的情况下,汽车上的点得到了更多的关注。相反,背景点在训练过程中得到的关注较少。 因此,CT3D更加注重前景点,从而获得了可观的性能。
如表7的第3、4和5行所示,扩展的通道加权比标准解码和通道加权都有较大的优势。 这得益于对全局和局部聚合的标准译码和按信道重新加权的集成,生成更有效的译码权。
在本文中,我们提出了一个两阶段的三维物体检测框架CT3D与一个新颖的通道Transformer架构。 该方法首先将提议信息通过高效的提议到点的嵌入编码到每个原始点,然后再通过自我注意捕获点之间的远程交互。 随后,我们通过一个扩展的通道加权方案将编码后的点特征转换为全局的提议感知表示,从而获得所有点的有效译码权。 CT3D提供了一个灵活和高效的框架,特别有助于点云检测任务。 在KITTI数据集和大规模Waymo数据集上的实验结果也验证了CT3D比最先进的方法有显著的改进。