【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

3DSSD:基于点的3D单级目标检测器 2020 ^{2020}2 0 2 0

摘要

目前,基于体素的3D单级检测器已经有很多种,而基于点的单级方法仍处于探索阶段。在本文中,我们首先提出了一种轻量级且有效的基于点的3D单级目标检测器,名为3DSSD,在精度和效率之间取得了良好的平衡。在这种范式中,放弃了所有现有基于点的方法中必不可少的所有上采样层和细化阶段,以减少大量计算成本。我们在下采样过程中新颖地提出了一种融合采样策略,以使对不太具有代表性的点的检测变得可行。一个精致的框预测网络,包括候选生成层,无锚回归头和3D中心性分配策略,旨在满足我们对准确性和速度的需求。我们的范例是一个优雅的单阶段无锚框架,显示出比其他现有方法的巨大优势。我们在广泛使用的 KITTI 数据集和更具挑战性的 nuScenes数据集上评估3DSSD。我们的方法在很大程度上优于所有最先进的基于体素的单阶段方法,并且与基于点的两阶段方法具有相当的性能,推理速度超过25FPS,比以前最先进的基于点的方法快2倍。

1. 介绍

近年来,3D场景理解在计算机视觉中受到越来越多的关注,因为它有益于许多现实生活应用,如自动驾驶 [8] 和增强现实 [20]。在本文中,我们专注于3D场景识别中的一项基本任务,即3D对象检测,它为点云中的每个实例预测3D边界框和类标签。

虽然在2D检测方面取得了很大的突破,但由于点云的独特特性,将这些2D方法直接转化为3D是不合适的。与 2D图像相比,点云稀疏、无序且局部敏感,因此无法使用卷积神经网络 (CNN) 对其进行解析。因此,如何转换和利用原始点云数据成为检测任务中的首要问题。

一些现有的方法通过将点云投影到图像 [4, 12, 9, 21, 6] 或将它们细分为均匀分布的体素 [19, 29, 36, 32, 31, 13] 来将点云从稀疏形成转换为紧凑表示。我们称这些方法为基于体素的方法,它们对整个点云进行体素化。每个体素中的特征是由类似PointNet 的骨干 [24, 25] 或手工制作的特征生成的。然后,许多2D检测范式可以应用于紧凑的体素空间,而无需任何额外的努力。虽然这些方法简单有效,但它们在体素化过程中会丢失信息并遇到性能瓶颈。

另一个方向是基于点的方法,如 [34, 35, 26]。他们将原始点云作为输入,并根据每个点预测边界框。具体来说,它们由两个阶段组成。在第一阶段,他们首先利用集合抽象 (SA) 层进行下采样和提取上下文特征。之后,特征传播(FP)层被应用于上采样和广播特征到在下采样过程中被丢弃的点。然后应用3D区域提议网络 (RPN) 来生成以每个点为中心的提议。基于这些建议,开发了一个细化模块作为第二阶段来给出最终预测。这些方法获得了更好的性能,但它们的推理时间在许多实时系统中通常是无法忍受的。

我们的贡献

与之前所有的方法不同,我们首先开发了一个轻量级、高效的基于点的3D单阶段对象检测框架。我们观察到,在基于点的方法中,FP层和细化阶段消耗了一半的推理时间,这促使我们移除这两个模块。然而,放弃FP层并非易事。由于在SA中当前的采样策略下,即基于3D欧几里德距离 (D-FPS) 的最远点采样,具有很少内部点的前景实例可能会在采样后丢失所有点。因此,无法检测到它们,从而导致性能大幅下降。在STD[35] 中,没有上采样,即对剩余的下采样点进行检测,其性能下降约9%。 这就是为什么必须采用FP层进行点上采样的原因,尽管引入了大量额外的计算。为了解决这个困境,我们首先提出了一种基于特征距离的新型采样策略,称为F-FPS,它有效地保留了各种实例的内部点。我们最终的采样策略是F-FPS和D-FPS的融合版本。

为了充分利用SA层后保留的代表点,我们设计了一个精致的框预测网络,它利用了候选生成层 (CG)、anchor -free 回归头和3D中心度分配策略。在CG层,我们首先从F-FPS 移动代表点以生成候选点。这种移位操作由这些代表点与其对应实例的中心之间的相对位置来监督。然后,我们将这些候选点作为中心,从F-FPS和D-FPS的全部代表点中找到它们的周围点,并通过多层感知器(MLP)网络提取它们的特征。这些特征最终被输入一个无锚回归头来预测3D边界框。我们还设计了一种3D中心度分配策略,该策略为靠近实例中心的候选点分配更高的分类分数,以便检索更精确的定位预测。

我们在广泛使用的KITTI[7] 数据集和更具挑战性的nuScenes[3] 数据集上评估了我们的方法。实验表明,我们的模型在很大程度上优于所有最先进的基于体素的单阶段方法,以更快的推理速度实现与所有基于两阶段点的方法相当的性能。总之,我们的主要贡献是多方面的。

  • 我们首先提出了一种轻量级且有效的基于点的3D单级目标检测器,称为3DSSD。在我们的范式中,我们移除了所有现有的基于点的方法中不可或缺的FP层和细化模块,这有助于大幅减少我们框架的推理时间。
  • 开发了一种新的SA层融合采样策略,以保持不同前景实例的足够内部点,从而为回归和分类保留丰富的信息。
  • 我们设计了一个精致的框预测网络,使我们的框架更加有效和高效。在KITTI和nuScenes数据集上的实验结果表明,我们的框架优于所有单阶段方法,并且具有与最先进的两阶段方法相当的性能,速度更快,每个场景38 ms。

2. 相关工作

2.1基于多传感器的3D目标检测

有几种方法利用如何融合来自多个传感器的信息进行物体检测。 MV3D[4] 将LiDAR点云投影到鸟瞰图 (BEV) 以生成建议。然后将这些带有来自图像、前视图和BEV的其他信息的建议发送到第二阶段以预测最终的边界框。 AVOD[12]通过在提案生成阶段引入图像特征来扩展MV3D。 MMF[16] 融合来自深度图、LiDAR点云、图像和地图的信息,以完成多项任务,包括深度补全、2D对象检测和3D对象检测。这些任务相互受益,并提高了3D对象检测的最终性能。

2.2 基于激光雷达的3D目标检测

主要有两种方法流仅使用LiDAR数据处理3D对象检测。一种是基于体素的,它在整个点云上应用体素化。基于体素的方法之间的区别在于体素特征的初始化。在 [29] 中,每个非空体素由该体素内的点编码为6个统计量。在 [15] 中对每个体素网格使用二进制编码。 VoxelNet [36] 利用PointNet[24] 来提取每个体素的特征。与 [36] 相比,SECOND[31] 应用稀疏卷积层 [10] 来解析紧凑表示。 PointPillars[13] 将伪图像视为体素化后的表示。

另一种是基于点的。他们将原始点云作为输入,并基于每个点生成预测。FPointNet[23]和IPOD[34] 采用检测或分割等二维机制来过滤最无用的点,并从这些保留的有用点生成预测。PointRCNN[26]利用带有SA和FP层的 PointNet[25] 来提取每个点的特征,提出一个区域提议网络 (RPN) 来生成提议,并应用一个细化模块来预测边界框和类标签。这些方法优于基于体素的方法,但其难以忍受的推理时间使其无法应用于实时自动驾驶系统。STD [35]试图利用基于点和基于体素的方法。它使用原始点云作为输入,应用PointNet提取特征,提出一个PointsPool 层将特征从稀疏表示转换为密集表示,并在细化模块中利用CNN。尽管它比以前所有基于点的方法都快,但仍然比基于体素的方法慢得多。如前所述,所有基于点的方法都由两个阶段组成,即包括SA层和FP层的建议生成模块,以及作为准确预测的第二阶段的细化模块。在本文中,我们建议移除FP层和细化模块,以加快基于点的方法。

3. 我们的框架

在本节中,我们首先分析基于点的方法的瓶颈,并描述我们提出的融合采样策略。接下来,我们展示了框预测网络,包括候选生成层、无锚回归头和我们的3D中心度分配策略。最后,我们讨论损失函数。 3DSSD的整个框架如图1所示。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

; 3.1 融合采样

3.1.1 动机

目前,在3D对象检测中有两种方法流,即基于点和基于体素的框架。尽管准确,但与基于体素的方法相比,基于点的方法更耗时。我们观察到当前所有基于点的方法 [35,26,34] 由两个阶段组成,包括提议生成阶段和预测细化阶段。在第一阶段,SA层应用于下采样点以提高效率并扩大感受野,而FP层应用于下采样过程中丢弃点的广播特征以恢复所有点。在第二阶段,一个细化模块优化来自RPN的建议以获得更准确的预测。SA 层是提取点特征所必需的,但FP层和细化模块确实限制了基于点的方法的效率,如表1所示。因此,我们有动力设计轻量级且有效的基于点的单级检测器。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

; 3.1.2 挑战

然而,移除FP层并非易事。如前所述,主干中的SA层利用D-FPS选择点的子集作为下采样的代表点。在没有 FP层的情况下,框预测网络是在那些幸存的代表点上进行的。尽管如此,这种采样方法只考虑了点之间的相对位置。因此,大部分幸存的代表点实际上是背景点,如地面点,因为其数量很大。换句话说,有几个前景实例通过这个过程被完全擦除,使其无法被检测到。

在总代表点数 N m N_m N m ​的限制下,对于一些远程实例,它们的内部点不太可能被选中,因为它们的数量远小于背景点的数量。在nuScenes[3]数据集等更复杂的数据集上,情况变得更糟。在统计上,我们使用点召回率—内部点在采样的代表点中幸存下来的实例数与实例总数之间的商,来帮助说明这一事实。如表2第一行所示,有1024或512 个代表点,它们的点召回率分别仅为65.9%或51.8%,这意味着近一半的实例被完全擦除,即无法检测到。 为了避免这种情况,现有的大多数方法在下采样过程中应用FP层来召回那些被遗弃的有用点,但它们必须支付更长的推理时间的计算开销。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

3.1.3 F-FPS

为了保留正点(任何实例中的内部点)并删除那些无意义的负点(位于背景上的点),我们在采样过程中不仅要考虑空间距离,还要考虑每个点的语义信息。我们注意到语义信息被深度神经网络很好地捕获。因此,利用特征距离作为FPS中的标准,许多类似的无用负点将被大部分删除,例如大量的地面点。即使对于远程对象的正点,它们也可以幸存下来,因为来自不同对象的点的语义特征是不同的。

然而,仅以语义特征距离作为唯一标准会在同一实例中保留许多点,这也会引入冗余。例如,给定一辆汽车,窗户和车轮周围的点的特征之间存在很大差异。因此,将采样这两个部分周围的点,而任一部分中的任何点都可以为回归提供信息。为了减少冗余并增加多样性,我们同时应用空间距离和语义特征距离作为FPS的标准。它被公式化为
C ( A , B ) = λ L d ( A , B ) + L f ( A , B ) C(A,B)=\lambda L_d(A,B) + L_f(A,B)C (A ,B )=λL d ​(A ,B )+L f ​(A ,B )
其中 L d ( A , B ) L_d(A,B)L d ​(A ,B )和 L f ( A , B ) L_f(A,B)L f ​(A ,B )示两点之间的L2 XYZ空间距离和L2特征距离,λ \lambda λ是平衡因子。我们称这种采样方法为 Feature-FPS (F-FPS)。不同 λ \lambda λ之间的比较如表2所示,这表明在下采样操作中将两个距离组合在一起作为标准比仅使用特征距离更强大,即 λ \lambda λ等于0的特殊情况。此外,如表2所示,使用具有1024个代表点和 λ \lambda λ设置为1的F-FPS保证nuScenes [3]数据集中可以保留89.2%的实例,这比D-FPS采样策略高23.3%。

3.1.4 融合采样

由于F-FPS,在SA层之后保留了不同实例中的大量正点。然而,由于总代表点数N m N_m N m ​的限制,在下采样过程中丢弃了许多负点,这有利于回归但阻碍了分类。也就是说,在SA层的分组阶段,从相邻点聚合特征,负点无法找到足够的周围点,从而无法扩大其感受野。结果,该模型难以区分正负点,导致分类性能不佳。我们的实验也证明了消融研究中的这种局限性。虽然F-FPS的模型比D-FPS的模型具有更高的召回率和更好的定位精度,但它更喜欢将许多负点视为正点,导致分类精度下降。

如上所述,在SA层之后,不仅要尽可能多地采样正点,而且我们还需要收集足够多的负点以进行更可靠的分类。我们提出了一种新的融合采样策略(FS),其中F-FPS和D-FPS在SA层期间应用,以保留更多用于定位的正点并保留足够的用于分类的负点。 具体来说,我们分别使用F-FPS和D-FPS采样N m 2 \frac{N_m}{2}2 N m ​​个点,并将这两个集合一起馈送到SA层中的以下分组操作。

3.2 框预测网络

3.2.1 候选生成层

在由几个SA层实现的骨干网络与融合采样交织后,我们从F-FPS和D-FPS中获得了一个点子集,用于最终预测。在以前的基于点的方法中,应该在预测头之前应用另一个SA层来提取特征。一个普通的SA层包含三个步骤,包括中心点选择、周围点提取和语义特征生成。

为了进一步降低计算成本并充分利用融合采样的优势,我们在预测头之前提出了一个候选生成层(CG),它是SA层的变体。由于来自D-FP 的大多数代表点都是负点并且在边界框回归中没有用,我们只使用来自F-FPS的那些作为初始中心点。如图2所示,这些初始中心点在其相对位置的监督下转移到相应实例,与VoteNet[22]相同。我们称这些移位操作后的新点为候选点。然后我们将这些候选点作为我们CG层的中心点。为了性能,我们使用候选点而不是原始点作为中心点,这将在后面详细讨论。接下来,我们使用预定义的范围阈值从包含来自D-FPS和 F-FPS的点的整个代表性点集中找到每个候选点的周围点,连接它们的归一化位置和语义特征作为输入,并应用MLP 层提取特征。这些特征将被发送到预测头进行回归和分类。整个过程如图1所示。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

; 3.2.2 无锚回归头

通过融合采样策略和CG层,我们的模型可以安全地去除耗时的FP层和细化模块。在回归头中,我们面临两种选择,基于锚点或无锚点的预测网络。如果采用基于anchor的头部,我们必须构建多尺度和多方向的anchors,以覆盖不同大小和方向的对象。特别是在像nuScenes数据集[3]中的那些复杂场景中,其中对象来自10个不同类别且方向范围很广,我们至少需要20 锚点,包括10个不同大小和2个不同方向 (0, π \pi π)在基于锚的模型中。为了避免多个锚点的繁琐设置并与我们的轻量级设计保持一致,我们使用了anchor-free回归头。

在回归头中,对于每个候选点,我们预测与其对应实例的距离 (d x d_x d x ​, d y d_y d y ​, d z d_z d z ​),以及其对应实例的大小 (d l d_l d l ​, d w d_w d w ​, d h d_h d h ​) 和方向。由于每个点没有先验方向,我们在方向角回归中应用了[23]之后的分类和回归公式的混合。具体来说,我们预先定义了Naequally split方向角bins并将建议方向角分类到不同的bins中。残差相对于bin值进行回归。在我们的实验中,N a N_a N a ​设置为 12。

3.2.3 3D中心性分配策略

在训练过程中,我们需要一个分配策略来为每个候选点分配标签。在2D单级检测器中,它们通常使用交并比 (IoU) [18] 阈值或掩码 [28, 33] 为像素分配标签。 FCOS[28]提出了一个连续的中心度标签,取代原来的二元分类标签,以进一步区分像素。它为更靠近实例中心的像素分配更高的中心度分数,与基于IoU或基于掩码的分配策略相比,导致相对更好的性能。然而,将中心度标签直接应用于3D检测任务并不令人满意。鉴于所有LiDAR点都位于物体的表面,它们的中心度标签都非常小且相似,这使得无法将好的预测与其他点区分开来。

我们没有利用点云中的原始代表点,而是求助于预测的候选点,这些候选点被监督为接近实例中心。靠近实例中心的候选点往往会得到更准确的定位预测,并且3D中心度标签能够轻松区分它们。对于每个候选点,我们通过两个步骤定义其中心度标签。我们首先确定它是否在一个实例 l m a s k l_{mask}l m a s k ​内,它是一个二进制值。然后我们根据它到对应实例的6个表面的距离绘制一个中心度标签。中心度标签计算为
l c t r n e s s = m i n ( f , b ) m a x ( f , b ) ∗ m i n ( l , r ) m a x ( l , r ) ∗ m i n ( t , d ) m a x ( t , d ) 3 l_{ctrness}=\sqrt[3]{\frac{min(f,b)}{max(f,b)}\frac{min(l,r)}{max(l,r)}\frac{min(t,d)}{max(t,d)}}l c t r n e s s ​=3 m a x (f ,b )m i n (f ,b )​∗m a x (l ,r )m i n (l ,r )​∗m a x (t ,d )m i n (t ,d )​​
其中 (f, b, l, r, t, d) 分别表示到前、后、左、右、顶面和底面的距离。最终的分类标签是 l m a s k l_{mask}l m a s k ​和 l c t r n e s s l_{ctrness}l c t r n e s s ​的乘积。

3.3 损失函数

总体损失由分类损失、回归损失和移位损失组成,如下所示
L = 1 N c ∑ i L c ( s i , u i ) + λ 1 1 N p ∑ i [ u i > 0 ] L r + λ 2 1 N p ∗ L s L=\frac{1}{N_c}\sum_i{L_c(s_i,u_i)}+\lambda_1\frac{1}{N_p}\sum_i{[u_i>0]}L_r+\lambda_2\frac{1}{N_p^*}L_s L =N c ​1 ​i ∑​L c ​(s i ​,u i ​)+λ1 ​N p ​1 ​i ∑​[u i ​>0 ]L r ​+λ2 ​N p ∗​1 ​L s ​
其中N c N_c N c ​和N p N_p N p ​为候选点和正候选点的总数,它们是位于前景实例中的候选点。 在分类损失中,我们将 s i s_i s i ​和u i u_i u i ​分别表示为点i i i的预测分类分数和中心度标签,并使用交叉熵损失作为 L c L_c L c ​。

回归损失L r L_r L r ​包括距离回归损失L d i s t L_{dist}L d i s t ​、尺寸回归损失L s i z e L_{size}L s i z e ​、角度回归损失L a n g l e L_{angle}L a n g l e ​和角点损失L c o r n e r L_{corner}L c o r n e r ​。 具体来说,我们对L d i s t L_{dist}L d i s t ​和 L s i z e L_{size}L s i z e ​使用了Smooth-L1 Loss,其中目标分别是从候选点到其对应实例中心的偏移量和对应实例的大小。 角度回归损失包含方向分类损失和残差预测损失为
L a n g l e = L c ( d c a , t c a ) + D ( d r a , t r a ) L_{angle}=L_c(d_c^a,t_c^a)+D(d_r^a,t_r^a)L a n g l e ​=L c ​(d c a ​,t c a ​)+D (d r a ​,t r a ​)
其中,d c a d_c^a d c a ​和d r a d_r^a d r a ​是预测的角度类和残差,而t c a t_c^a t c a ​和t r a t_r^a t r a ​是他们的目标。角点损失是预测的8个角点与指定的地面实况之间的距离,表示为
L c o r n e r = ∑ m = 1 8 ∥ P m − G m ∥ L_{corner}=\sum_{m=1}^8\lVert {P_m-G_m} \rVert L c o r n e r ​=m =1 ∑8 ​∥P m ​−G m ​∥
其中 P m P_m P m ​和G m G_m G m ​是点m m m的真值和预测的位置。

至于移位损失L s L_s L s ​,它是CG层移位预测的监督,我们利用Smooth-L1 Loss来计算预测移位与代表点到其对应实例中心的残差之间的距离。N p ∗ N_p^*N p ∗​是来自F-FPS的正代表点的数量。

4. 实验

我们在两个数据集上评估我们的模型:广泛使用的KITTI对象检测基准 [7, 8],以及更大、更复杂的nuScenes 数据集 [3]。

4.1 KITTI

KITTI数据集中有7,481张训练图像/点云和7,518张测试图像/点云,分为汽车、行人和自行车三类。由于数据量大、场景复杂,我们只在Car类上评估我们的模型。此外,大多数最先进的方法仅在此类上测试其模型。我们使用平均精度 (AP) 指标来与不同的方法进行比较。在评估过程中,我们遵循官方的KITTI评估协议—即Car类的IoU阈值为0.7。

4.1.1 实施细节

为了对齐网络输入,我们从每个场景的整个点云中随机选择16k个点。主干网络的细节如图3所示。该网络由 ADAM[11]优化器训练,初始学习率为0.002,批量大小为16,平均分布在4个GPU卡上。学习率在40个epoch 时衰减10。我们训练我们的模型50个epoch。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

我们在KITTI数据集上采用了4种不同的数据增强策略,以防止过度拟合。首先,我们使用与[31]相同的混合策略,将前景实例及其内部点从其他场景随机添加到当前点云。然后,对于每个边界框,我们按照均匀分布 ∆θ1∈ [−π/4,+π/4] 旋转它并添加随机平移 (∆x,∆y,∆z)。 第三,每个点云沿x轴随机翻转。最后,我们围绕z轴(上轴)随机旋转每个点云并重新缩放它。

; 4.1.2 主要结果

如表3所示,我们的方法在很大程度上优于所有最先进的基于体素的单级检测器。在主要指标上,即”中等”实例上的AP,我们的方法分别优于SECOND[31]和PointPillars[13] 3.61%和5.26%。尽管如此,它仍然保持了与最先进的基于点的方法STD[35] 相当的性能,推理时间快了2倍以上。我们的方法仍然分别优于其他两阶段方法,如 part-Aˆ2 net 和PointRCNN 1.08%和3.93%。此外,与多传感器方法(如 MMF[16]和 F-ConvNet[30])相比,它还显示了其优越性,分别实现了约2.14%和3.18%的改进。我们在图4中展示了几个定性结果。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

4.2 nuScenes

nuScenes数据集是一个更具挑战性的数据集。它包含1000个场景,这些场景来自波士顿和新加坡,因为它们的交通拥堵和驾驶环境极具挑战性。它为我们提供了10个不同类别的140万个3D对象,以及它们的属性和速度。每帧大约有40k个点,为了预测速度和属性,所有以前的方法都将关键帧和最后0.5s帧的点结合起来,导致大约400k个点。面对如此大量的点,由于GPU内存限制,所有基于点的两阶段方法在该数据集上的表现都比基于体素的方法差。在基准测试中,提出了一种称为nuScenes 检测分数 (NDS) 的新评估指标,它是平均精度 (mAP)、位置的平均误差 (mATE)、大小 (mASE)、方向 (mAOE) 之间的加权和 )、属性 (mAAE) 和速度 (mAVE)。 我们用TP来表示五个平均误差的集合,NDS 的计算公式为
N D S = 1 10 [ 5 m A P + ∑ m T P ϵ T P ( 1 − m i n ( 1 , m T P ) ) ] NDS=\frac{1}{10}[5mAP+\sum_{mTP\epsilon{TP}}(1-min(1,mTP))]N D S =1 0 1 ​[5 m A P +m T P ϵT P ∑​(1 −m i n (1 ,m T P ))]

4.2.1 实施细节

对于每个关键帧,我们将其点与最后0.5秒内的帧中的点相结合,以获得更丰富的点云输入,与其他方法相同。然后,我们对随机采样的点云应用体素化,以对齐输入并保持原始分布。我们随机选择了65536个体素,包括来自关键帧的16384个体素和来自其他帧的49152个体素。体素大小为[0.1,0.1,0.1],每个体素随机选取1个内点。我们将这65536个点输入到基于点的网络中。

骨干网络如图3所示。训练时间表与KITTI数据集上的时间表相同。我们只在训练期间应用翻转增强。

4.2.2 主要结果

我们在表5中展示了不同方法中的NDS和mAP,并在表4中比较了它们每个类的AP。如表5所示,与所有基于体素的单阶段方法相比,我们的方法具有更好的性能。不仅在mAP 上,它在每个类的AP上也优于那些方法,如表4所示。结果表明,我们的模型可以处理在规模上有很大差异的不同对象。即使对于有很多负点的巨大场景,我们的融合采样策略仍然有能力收集到足够多的正点。此外,速度和属性的更好结果表明我们的模型还可以区分来自不同帧的信息。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

; 4.3 消融研究

所有消融研究均在KITTI数据集[7]上进行。我们遵 VoxelNet [36] 将原始训练集拆分为3,717个图像/场景训练集和3,769个图像/场景验证集。消融研究中的所有”AP”结果均以”中等”难度级别计算。

4.3.1 验证集的结果

我们报告并比较了我们的方法在KITTI验证集上的性能与表6中其他最先进的基于体素的单阶段方法的性能。 如图所示,在最重要的”中等”难度级别上,我们的方法优于1.47 %、2.97%和13.99% 分别与PointPillars、SECOND和VoxelNet相比。这说明了我们方法的优越性。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

; 4.3.2 融合采样策略的效果

我们的融合采样策略由F-FPS和D-FPS组成。我们在表7中比较了不同子采样方法之间的点召回率和AP。包含 F-FPS的采样策略比仅D-FPS具有更高的点召回率。在图5中,我们还提供了一些视觉示例来说明F-FPS对融合采样的好处。此外,融合采样策略获得了更高的AP,即比仅使用F-FPS的策略好2.7%。原因是融合采样方法可以收集足够多的负点,从而扩大感受野并达到准确的分类结果。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

4.3.3 CG层中的位移效应

在表8中,我们比较了在CG层中 F-FPS移动或不移动代表点之间的性能。 在不同的分配策略下,有移位操作的模型的AP均高于没有移位操作的模型。如果候选点靠近实例的中心,它们将更容易检索到它们对应的实例。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

; 4.3.4 3D中心度分配的效果

我们比较了不同分配策略的性能,包括IoU、掩码和3D中心度标签。如表8所示,通过移位操作,使用中心度标签的模型比其他两种策略获得更好的性能。

4.3.5 推理时间

3DSSD的总推理时间为38ms,在使用Titan V GPU的KITTI数据集上测试。我们在表9中比较了3DSSD和所有现有基于点的方法之间的推理时间。如图所示,我们的方法比所有现有的基于点的方法快得多。此外,与最先进的基于体素的单阶段方法(如40毫秒的SECOND)相比,我们的方法保持了相似的推理速度。 在所有现有方法中,它仅比PointPillars慢,后者通过TensorRT等几种实现优化得到增强,我们的方法也可以利用它来实现更快的推理速度。

【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

; 5. 结论

在本文中,我们首先提出了一种轻量级且高效的基于点的3D单阶段对象检测框架。我们引入了一种新颖的融合采样策略,以去除所有现有基于点的方法中耗时的FP层和细化模块。在预测网络中,设计候选生成层以进一步降低计算成本并充分利用下采样的代表点,并提出了具有3D中心度标签的无锚回归头以提高我们模型的性能。所有上述精巧的设计使我们的模型在性能和推理时间上都优于所有现有的单级3D检测器。

Original: https://blog.csdn.net/qq_33338828/article/details/119952941
Author: 青舞飞扬007
Title: 【自动驾驶-3D目标检测】3DSSD:基于点的3D单级目标检测器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/686346/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球