资讯详情

(CVPR 2020)3DSSD: Point-based 3D Single Stage Object Detector

摘要

目前,基于体素的3D单级检测器种类繁多,基于点的单级检测器仍处于探索阶段。在本文中,我们首先提出了一个轻量级和有效的基础点3D名为3的单级目标检测器DSSD,在精度和效率之间取得了良好的平衡。在这种范式中,为了降低大量的计算成本,放弃了所有现有基于点的方法中必不可少的所有上采样层和细化阶段。在采样过程中,我们新颖地提出了一种集成采样策略,使检测代表性较少的点更可行。为满足预测精度和速度的要求,设计了包括候选人生成层在内的精确框预测网络anchor-free回归头和三维中心度分配策略。我们的例子是一个优雅的单阶段anchor-free与其他现有方法相比,框架具有很大的优势。我们被广泛使用KITTI数据集和更具挑战性的数据集nuScenes数据集评估3DSSD。我们的方法在很大程度上优于所有基于最先进元素的单阶段方法,与基于两阶段点的方法具有相当大的性能,推理速度超过25 FPS,基于点的方法比以前最先进的方法快两倍。

1.介绍

近年来,三维场景理解在计算机视觉中引起了越来越多的关注,因为它有利于自动驾驶[8]和增强现实[20]等许多实际应用。在本文中,我们关注3D场景识别的一个基本任务,即3D目标检测,预测云中每个实例的3D边界框和类标签

虽然在二维检测方面取得了重大突破,但由于点云的独特性,直接将这些二维方法转化为三维方法是不合适的。与二维图像相比,点云稀疏、无序、局部敏感,不可能使用卷积神经网络(CNNs)分析它们。因此,如何转换和使用原始点云数据已成为检测任务中的首要问题。

一些现有的方法将点云投影到图像[4、12、9、21、6]或为均匀分布的体素[19、29、36、32、31、13],将点云从稀疏形式转化为紧凑表示。我们称这些方法为基于体素的方法,在整个点云上进行体素化。每一种元素的特征都是由类似点网的主干[24、25]或手工制作的特征产生的。然后,许多2D在没有任何额外努力的情况下,可以应用于紧凑的体素空间。虽然这些方法简单有效,但在体素化过程中会出现信息丢失和性能瓶颈。

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

与以往的方法不同,我们首先开发了基于点的轻量级、高效的三维单级目标检测框架。在基于点的方法中,我们观察到,FP层和细化阶段消耗了一半的推理时间,这促使我们删除这两个模块。然而,放弃FP层不易事。由于在SA在当前的采样策略下,即基于3D欧几里德距离(D-FPS)最远点采样,采样后可能会失去少量内部点的前景实例。因此,它们不可能被检测到,导致性能急剧下降。在STD[35]如果不进行上采样,即检测剩余的下采样点,其性能将下降约9%。这就是为什么必须使用它FP虽然点上采样层的原因会引入大量额外计算。为了解决这个问题,我们首先提出了一种基于特征距离的新采样策略F-FPS,它有效地保留了各种例子的内部点。我们的最终采样策略是F-FPS和DFPS整合版。

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

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

  • 我们首先提出了一个基于点的轻量级和有效的3D名为3的单级目标检测器DSSD。在我们的例子中,我们删除了它FP在所有现有的基于点的方法中,层和细化模块是必不可少的,从而大大降低了我们框架的推理时间。

  • 在SA为了保留不同前景实例的足够内部点,层中开发了一种新的综合采样策略,以保留丰富的回归和分类信息。

  • 我们设计了一个精致的框架预测网络,使我们的框架更加有效和高效。KITTI和nuScenes数据集中的实验结果表明,我们的框架优于所有单阶段方法,性能相当于最先进的两阶段方法,速度更快,每个场景为38毫秒。

2.相关工作

有几种方法可以利用来自多个传感器的信息进行目标检测。 MV3D[4]将LiDAR点云投影鸟瞰图(BEV)以生成proposals。然后从图像、前视图和BEV其他信息proposals发送到第二阶段以预测最终的边界框。AVOD[12]通过在proposal在生成阶段引入图像特征进行扩展MV3D。 MMF[16]深度图集成,LiDAR点云、图像和地图的信息,包括深度补充和2D目标检测和3D许多任务,包括目标测试。这些任务相互受益,增加了3个D最终性能的目标检测。

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

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

3.我们的框架

在本节中,我们首先分析了基于点的方法的瓶颈,并描述了我们提出的集成采样策略。接下来,我们展示了包括候选人生成层在内的框预测网络(generation layer)、anchor-free回到我们的3D中心分配策略。最后,我们讨论了损失函数。DSSD如图1所示。

3.1.融合采样

目前,在3D主流方法有两种,即基于点的框架和基于体素的框架。虽然准确,但基于点的方法比基于体素的方法更耗时。我们观察到,所有基于点的方法[35、26、34]都由两个阶段组成,包括proposal生成阶段和预测细化阶段。第一阶段,SA下采样点采用层,提高效率,扩大感觉野度FP为了恢复所有点,层被应用于在下采样过程中广播丢弃的点。在第二阶段,细化模块优化来自RPN的proposals以获得更准确的预测。SA提取点特征需要层,但FP如表1所示,层和细化模块确实限制了基于点的方法的效率。所以,我们有Motivation基于点设计轻量级有效的单级检测器。

表1.我们复制的PointRCNN模型中不同组件的运行时间为4个SA层和4个FP一层用于特征提取,一层有三个SA用于预测的细化模块层。 表2.nuScenes不同采样策略在数据集中的点召回率。 代表子集中代表点4096、1024、512的数量。

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

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

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

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

由于F-FPS的作用,不同实例中的大量positive点在SA层之后被保留下来。然而,在固定的代表点数 N m N_{m} Nm​的限制下,许多negative点在下采样过程中被丢弃,这有利于回归,但阻碍了分类。也就是说,在SA层的分组阶段,即从相邻点聚集特征的阶段,一个negative点无法找到足够的周围点,使得它无法扩大其感受野。因此,该模型难以区分positive点和negative点,导致分类性能不佳。我们的实验也证明了消融研究中的这种局限性。尽管采用F-FPS的模型比采用D-FPS的模型有更高的召回率和更好的定位精度,但它更倾向于把许多negative点当作positive点,导致分类精度下降。

正如上文所分析的,在SA层之后,不仅要尽可能多地对positive点进行采样,而且还要收集足够多的negative点,以便进行更可靠的分类。我们提出了一种新的融合采样策略(FS),即在SA层中同时使用F-FPS和D-FPS,以保留更多的positive点用于定位,同时也保留足够的negative点用于分类。具体来说,我们用F-FPS和D-FPS分别对 N m 2 \frac{N_{m}}{2} 2Nm​​的点进行采样,并将这两组点一起送入SA层的以下分组操作中。

3.2.框预测网络

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

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

图1.3DSSD框架示意图。总体而言,它由主干和框预测网络组成,包括候选生成层和anchor-free预测头。(a)骨干网络。它以原始点云 ( x , y , z , r ) (x, y, z, r) (x,y,z,r)作为输入,并使用融合采样(FS)策略通过几个SA层为所有代表点生成全局特征。(b)候选生成层(CG)。它在SA层之后对代表点进行下采样、移位和提取特征。©anchor-free预测头。

图2.CG层中的移位(shifting)操作示意图。灰色矩形表示具有F-FPS(绿色)和D-FPS(蓝色)的所有正代表点的实例。红点代表实例中心。我们只在F-FPS到实例中心距离的监督下将点从F-FPS转移。

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

在回归头中,对于每个候选点,我们预测到其对应实例的距离 ( d x , d y , d z ) (d_{x}, d_{y}, d_{z}) (dx​,dy​,dz​),以及其对应实例的大小 ( d l , d w , d h ) (d_{l}, d_{w}, d_{h}) (dl​,dw​,dh​)和方向。由于每个点没有先验的方向,我们在方向角回归中采用了分类和回归的混合表述方式,遵循[23]。具体来说,我们预先定义了 N a N_{a} Na​等分的方向角bins,并将提议的方向角分类到不同的bins中。残差相对于bin值进行回归。在我们的实验中, N a N_{a} Na​设置为12。

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

我们没有利用点云中的原始代表点,而是求助于预测的候选点,这些候选点被监督为靠近实例中心。靠近实例中心的候选点往往会获得更准确的定位预测,并且3D中心标签能够轻松区分它们。对于每个候选点,我们通过两个步骤定义其中心标签。我们首先确定它是否在一个实例 l m a s k l_{mask} lmask​内,它是一个二进制值。然后我们根据它到其对应实例的6个表面的距离绘制一个center-ness标签。中心标签计算为

l ctrness  = min ⁡ ( f , b ) max ⁡ ( f , b ) × min ⁡ ( l , r ) max ⁡ ( l , r ) × min ⁡ ( t , d ) max ⁡ ( t , d ) 3 , ( 2 ) l_{\text {ctrness }}=\sqrt[3]{\frac{\min (f, b)}{\max (f, b)} \times \frac{\min (l, r)}{\max (l, r)} \times \frac{\min (t, d)}{\max (t, d)}}, \quad\quad\quad\quad(2) lctrness ​=3max(f,b)min(f,b)​×max(l,r)min(l,r)​×max(t,d)min(t,d)​ ​,(2) 其中 ( f , b , l , r , t , d ) (f, b, l, r, t, d) (f,b,l,r,t,d)分别表示到前、后、左、右、顶和底表面的距离。最终的分类标签是 l m a s k l_{mask} lmask​和 l c t r n e s s l_{ctrness} lctrness​的乘积。

3.3.Loss Function

整体损失由分类损失、回归损失和移动(shifting)损失组成,为 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 , ( 3 ) \begin{aligned} L=& \frac{1}{N_{c}} \sum_{i} L_{c}\left(s_{i}, u_{i}\right)+\lambda_{1} \frac{1}{N_{p}} \sum_{i}\left[u_{i}>0\right] L_{r} \\ &+\lambda_{2} \frac{1}{N_{p}^{*}} L_{s} \end{aligned}, \quad\quad\quad\quad\quad\quad(3) L=​Nc​1​i∑​Lc​(si​,ui​)+λ1​Np​1​i∑​[ui​>0]Lr​+λ2​Np∗​1​Ls​​,(3)

其中 N c N_{c} Nc 标签: sensor传感器dl100

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台