利用单个图像进行3D目标检测是自动驾驶的一项重要且具有挑战性的任务。最近,基于关键点的单目3D目标检测取得了巨大进展,并实现了速度和精度的巨大权衡。然而,在精度方面,与基于激光雷达的方法仍存在巨大差距。 为了在不牺牲效率的情况下提高其性能,本文提出了一种称为Lite FPN的轻量级特征金字塔网络,以有效和高效的方式实现多尺度特征融合,这可以提高基于关键点的检测器的多尺度检测能力。此外,通过引入一种新的回归损失,即注意力损失,进一步缓解了分类分数和定位精度之间的偏差。利用所提出的损失,在训练阶段,对具有高置信度但定位较差的预测进行了更为关注的处理。 基于KITTI数据集上的几个最先进的基于关键点的检测器的比较实验表明,本文提出的方法能够在精度和帧速率方面实现显著的改进。 Github: https://github.com/yangleei18/Lite-FPN
负责提供周围目标的精确3D边界框的3D目标检测是自动驾驶中必不可少的环境感知任务。最近,依靠激光雷达的精确深度测量,基于激光雷达的检测器取得了优异的性能。然而,LIDAR系统的一些固有缺陷,例如高成本和对不利天气条件的敏感性,不可避免地限制了这些方法的应用。相比之下,摄像机传感器更经济,在雨雪天气下更耐用,并且可以满足严格的车辆法规。
根据获取3D信息的方式,单目3D目标检测器可大致分为4组:伪激光雷达、2D/3D几何约束、基于Anchor和基于关键点的方法。伪激光雷达相关方法使用现有的单目深度估计算法获取深度图像,并将获取的深度图像转换为伪激光雷达点云,该点云可以被馈送到基于激光雷达的3D目标检测器。然而,由于附加的深度估计模块,这些方法通常效率较差。
其他基于2D/3D几何约束的方法根据图像平面上2D和3D特性之间的几何关系推理平移信息。由于对不准确的先验财产(如2D框)敏感,这些方法很难同时实现高精度和低延迟。基于Anchor的框架通过对预定义的密集3D Anchor框进行得分和细化来获得3D边界框。这些方法的速度受到密集采样Anchor的严重限制。
基于关键点的检测器直接估计关键点位置实例的所有3D特性。与其他组中的方法相比,基于关键点的组中的检测器实现了极大的速度-精度平衡,因此更适合于自动驾驶应用。然而,基于单目的检测器和基于激光雷达的方法在检测精度方面仍存在较大差距。在本文中,本文旨在提高基于关键点的方法的准确性,同时增强其速度优势。
基于关键点的单目3D目标检测器的一个关键挑战是处理大范围尺度和距离内的目标。多尺度检测需要足够的多尺度信息,但大多数基于关键点的检测器仅依赖高分辨率特征图。在本文中通过引入一种称为Lite FPN的轻量级特征金字塔网络来实现多尺度特征融合,Lite FPN是一个通用模块,可以集成到大多数基于关键点的方法中。
在所提出的模块中,本文首先通过候选关键点的像素索引从不同分辨率的特征图中采样特征。然后,将采样的特征连接在一起,以执行以下回归任务。与应用于整个高分辨率特征图的原点回归层相比,仅在有意义的关键点进行回归更有效。Lite FPN中额外的采样和级联操作所带来的时间消耗可以忽略不计。因此,利用所提出的Lite FPN模块,本文实现了更准确和高效的单目3D目标检测。
基于关键点的单目3D目标检测器的另一个关键挑战是缓解分类分数和定位精度之间的偏差。在评估过程中,具有高分类分数但具有GT的低IoU的检测优先于具有低分数但具有高IoU的那些检测,这导致在高IoU阈值时AP较低。为了解决这个问题,本文提出了一种简单但有效的回归损失,称为注意力损失,其中分数较高但定位较差的预测得到了更多的关注。因此,在这种新的训练策略下,可以更好地定位具有高可信度的Box。
本文的贡献总结如下:
重建空间信息是单目3D目标检测的核心问题。一些方法依赖于现有的单目深度估计算法。伪LIDAR将估计的深度图像转换为人工密集点云,以便使用基于LIDAR的3D目标检测器。伪LIDAR++通过使用来自低成本激光雷达的稀疏点云细化深度图像,扩展了伪LIDAR的思想。
另一种方法使用2D/3D几何约束推理3D信息。Deep3DBox通过基于图像平面上2D Box和投影3D Box之间的几何约束求解线性方程来获得3D平移信息。Deep MANTA预测了一些特性,如2D边界框、类别、2D关键点和用于选择最佳匹配3D CAD模型的模板相似性。然后,通过2D/3D匹配过程恢复方位和3D位置。
基于Anchor的方法使用3D空间中的预定义Anchor框获得位置信息。Mono3D基于地平面假设生成密集分布的3D Anchor Box。然后,它使用手工特征对每个候选Anchor进行细化和评分,并执行NMS操作以获得最终结果。
其余基于关键点的检测器根据关键点位置的高维特征直接估计实例的3D特性。CenterNet是该范式的开创性工作,它将2D长方体的中心作为关键点,并直接在关键点位置回归所有其他3D目标特性,如深度、尺寸和方向。
对于基于关键点的3D目标检测器,在检测头中采用多尺度特征可以有效地检测大尺度和距离范围内的目标。
参考二维目标检测中的FPN架构,UR3D提出了一个多尺度框架,用于学习不同尺度和距离特性的目标的统一表示。在此框架中,将共享可学习权重的5个不同检测头以不同分辨率应用于5个特征图,根据目标的比例和距离将目标分配到不同的头上。直观地说,UR3D中提出的多尺度框架将有助于提高检测精度,但额外的检测头和不必要的NMS操作也会导致延迟增加。RTM3D提出了关键点特征金字塔网络(KFPN)结构,以生成包含多尺度信息的特征图。然而,额外的上采样和加权和操作不可避免地增加了检测器的推理时间。
与上述工作相比,本文提出的LiteFPN模块以更有效的方式实现了多尺度特征融合。所有检测都由单个检测头预测,这避免了额外的非最大值抑制(NMS)过程。
对于检测结果,缩小其分类分数与定位精度之间的差距是提高检测器平均精度的有效途径。
FCOS增加了一个额外的分支来预测与定位精度相关的中心度。边界框的最终得分是分类得分和预测中心度的乘积。KM3D引入了一个3D置信分支来估计回归 Box和GT之间的3D IoU。边界框的最终置信度是估计的3D IoU的向下加权分类分数。尽管这些创新可以在一定程度上提高最终置信分数和定位精度之间的一致性,但辅助分支将导致较差的实时效率。
与之前的工作相比,本文提出的注意力损失侧重于优化具有高置信度但定位较差的边界框,通过在回归损失中以更多的注意力处理这些框,这反过来减轻了分类分数和定位精度之间的失准,而不损害效率。
基于关键点的单目3D目标检测器的开创性工作是CenterNet。最近的工作如SMOKE和Center3D保留了CenterNet的主要架构,并通过应用进一步优化实现了更好的性能。在这里,本文介绍上述检测器共享的主要结构。如图2所示,整个框架可以分为4个部分:
Backbone网络由编码器和解码器组成。该编码器从具有残差网络(ResNet)或深度层聚合(DLA-34)的RGB图像中提取高维特征。解码器通过三层解卷积层对瓶颈特征进行上采样到输入图像的1/4倍。
检测头由两个特定于任务的分支组成:关键点分支和回归分支。它们都是由完全卷积层形成的。关键点分支预测每个像素处目标关键点的存在概率和类别。关键点分支的导出Heatmap可以定义为
,其中
是目标类的数量。回归分支预测3D边界框的几何参数。第二分支的输出回归图可以表示为
,其中r表示表示3D信息的编码参数的数量。
后处理包含两个序列处理:Top-K处理和解码处理。根据关键点存在概率的降序,在Heatmap上应用Top-K操作以获得一定数量的候选关键点。所获取的候选关键点可以表示为像素索引和类。解码过程通过上述像素索引应用于从回归图采样的3D信息,以获得最终的3D边界框。
总损失函数由2部分组成:关键点分类损失和回归损失。关键点分类损失应用于整个Heatmap
。GT Heatmap
可以通过在
类的每个 GT 关键点
上应用高斯核
来生成,其中
是与图像平面上的目标尺寸相关的标准差,
是下采样Heatmap上的 GT 关键点p的对应物。GT Heatmap
上的最终值通过元素最大运算
计算。基于修正的Focal Loss,分类损失定义为等式1。
其中,
和
是两个超参数,N表示每批图像的关键点数量。
负责通过降低接近GT关键点的负样本的权重来缓解正样本和负样本之间的不平衡。
回归损失仅应用于回归图
的一部分。本文根据
范数将目标函数定义为等式2。
其中
是第
个关键点
的次回归损失,
是从回归图
采样的
元组编码的3D信息,
表示
的GT。
总目标成本函数是关键点分类损失和回归损失的总和:
其中,
是控制回归损失在总损失中的比例的超参数。
在Backbone网络的特征分层中,具有更精确定位特征和更小感受野的高分辨率特征图擅长于检测小尺度目标。相反,低分辨率特征图提供了更强的高级语义和更大的感受野,适用于大规模的目标。对于大多数基于关键点的检测器,由关键点和回归子网组成的检测头应用于Backbone中最大规模的特征图,如图2所示。由于单一特征图上缺乏多尺度信息,这些检测器很难覆盖大范围尺度和距离内的所有目标。因此,充分利用检测头中的多尺度特征是提高基于关键点的检测器性能的有效途径。
基于CenterNet和SMOKE中的实验结果,2D检测的性能已达到最先进水平,而3D检测的平均精度仍与基于LIDAR的检测器的平均精度相去甚远。在基于关键点的检测器的标准架构中,关键点分支由2D和3D检测任务共享,这解释了关键点分支不是阻碍3D目标检测性能的瓶颈。因此,本文应该强调最大限度地利用回归分支上的多尺度信息。
回归图上存在大量冗余数据。在训练阶段,仅选择由 GT 关键点的像素索引采样的3D信息来计算回归损失。在推理阶段,仅应用由候选关键点的像素索引采样的预测来生成结果。因此,在回归图的一些基本像素上应用多尺度特征融合可以是一种有效的优化方案。
基于上述分析,本文提出了一类轻量级特征金字塔网络,称为LiteFPN,用于基于关键点的单目3D目标检测器。集成本文提出的LiteFPN模块的改进框架如图3所示。该检测器由Backbone网络、检测头和后处理单元组成。与现有的基于关键点的检测器相比,Backbone网络保持不变。Top-K操作从后处理转移到检测头中的Lite FPN模块。后处理简单地将回归参数解码为3D边界框。
根据数据流,新设计的带有Lite FPN模块的回归分支可分为3个阶段:
在第一阶段中,通过应用于Heatmap的top-K操作获得表示为类和像素索引的候选关键点。在特征融合阶段,基于不同特征图上像素索引的比例关系,本文可以通过将先前的像素索引分别乘以1/2和1/4,获得输入图像1/8和1/16分辨率的两个特征图上候选关键点的像素索引。然后,通过上述3组像素索引,从输入图像的1/4、1/8和1/16分辨率的特征图中采样具有相同形状
的3组特征。最后,将采样的特征连接在一起,以创建
形状的嵌入特征。在回归阶段,嵌入特征被馈送到
卷积层,以预测与3D边界 Box相关的几何参数。
由于原始训练阶段关键点分支和回归分支之间的独立性,分类分数和定位精度之间存在偏差。关键点通常生成具有高置信度分数但定位较差的检测框,这在评估过程中往往是误报,导致在严格的3D IoU阈值下AP较低。
在传统的训练策略下,所有关键点在等式2中得到同等的关注,这是本文可以进一步改进的Focal Loss。由于框是在关键点位置生成的,因此它们具有相同的置信度分数和定位精度。
本文可以将关键点分为4组:高置信度但定位差、高置信度和精确定位、低置信度和差定位、低置信度但精确定位。具有高置信度的关键点具有充分的特征表示,该特征表示与实例很好地对齐,以进行很大的定位预测。因此,这些关键点应该比信心较低的关键点受到更多关注。在这些高置信度关键点中,一些不准确的关键点倾向于产生假阳性,应该给予更多的关注以获得进一步的改进。剩下的定位准确的人更有可能产生真正的积极影响,应该相对较少地关注维持现状。
另一方面,置信度较低的关键点被认为是很难的例子,在后处理过程中很容易被过滤掉。其中一些定位较差的关键点可以在一定程度上集中,以实现某些改进。其他具有精确定位能力的人已经达到了瓶颈,只需要给予最少的关注。换言之,回归函数中的不同关键点应该受到不同的关注。必须关注优化值得注意的关键点。
为了缓解上述错误注意力问题,本文提出了一个简单但有效的注意力损失公式4。建议损失的基本思想是为回归损失函数中的子项
分配关注权重
。
注意力权重
的值取决于相关关键点的置信度分数和定位精度。置信度分数是Heatmap
通过 GT 关键点
的像素索引得到的采样值。定位精度被定义为检测 Box与其GT对应物之间的3D交合(3D IoU)。对于每个关键点,置信度得分越大,吸引的注意力就越多。
3D IoU越接近+1,注意力权重越小。本文以置信度分数和3D IoU的线性组合形式建立注意力权重方程。然后,利用
函数获得归一化和非线性。为了对等式3中的其他相关超参数没有显著影响,本文通过乘以关键点的数量来保持与之前相同的注意力权重总和。用于计算注意力权重
的完整公式定义为:
其中
表示置信度得分,
表示第
个关键点的3D IoU,
是控制
影响比的超参数,
表示每批图像的关键点总数。
“+Lite-FPN”在
的帧率分别比Baseline高1.84%,
高3.26%,这表明本文提出的Lite-FPN模块有效地提高了算法性能。
LiteFPN和注意力Loss组合使“+LiteFPN”的AP在
和
水平上分别提高了1.50%和2.35%,验证了本文提出的注意力Loss的有效性。
图4显示了具有DLA-34Backbone的SMOKE的定性结果及其集成了本文提出的方法的改进模型。所有传感器数据均来自KITTI的验证集。为了更好地可视化和比较,本文以图像平面上的投影3D框和鸟瞰图上的2D旋转框的形式对检测进行可视化。点云仅用于可视化目的。对比图表明,本文的贡献可以有效提高定位精度(图4中的A-F)和减少漏检(图4的A-C)。