基于Point的三维单阶段目标检测器
论文地址:3DSSD
3DSSD前向传播过程:
(1)网络输入:原始点云数据,包含N个点的(x,y,z,r)坐标信息。
(2)骨干网络:采用多个Set Abstraction(SA)层进行下采样,并使用融合采样策略保留关键点。得到M个代表点集。
(3)候选点生成:只对F-FPS采样的代表点做位移,生成候选中心点。
(4)特征提取:为每个候选中心点找到邻域内的K个周围代表点,拼接坐标和特征,通过MLP提取融合特征。
(5)预测头:进行分类和回归预测,分类预测中心度分数,回归预测框参数。
(6)损失函数:计算分类、回归和位移等损失,优化网络。
目前,基于体素(Voxel)的三维单阶段检测器已经有很多了,但是基于点(Point)的单阶段检测器还处于探索阶段。本文首次提出了一种轻巧有效的基于Point的三维单阶段物体检测器3DSSD,实现了精度和效率的良好平衡。在3DSSD中,舍弃了所有的上采样层(目标检测任务需要在特征提取后上采样恢复更多点)和精炼阶段(提高第一阶段生成的proposals的精度)以减少大量的计算量。本文新颖地在下采样过程中提出了一种融合采样策略,以实现在更少的代表点上进行检测成为可能。我们专门设计了一个精细的框预测网络,其中包含一个候选生成层、一个无锚框回归头以及一个3D中心度分配策略,以满足我们对精度和速度的需求。 3DSSD是一个优雅的单阶段无锚框框架,显示出了对其他现有方法的巨大优越性。
近年来,三维场景理解在计算机视觉领域受到越来越多的关注,因为它有益于自动驾驶和虚拟现实等许多现实应用。 本文重点研究了三维场景识别中的一个基本任务,即三维目标检测,它预测点云中每个实例的三维边界框和类标签。
尽管二维检测技术已经取得了很大的突破,但由于点云的独特特性,将这些二维检测方法直接转化为三维检测是不合适的。 与二维图像相比,点云具有稀疏、无序、局部敏感等特点,使得卷积神经网络无法对其进行解析。因此,如何转换和利用原始点云数据成为检测任务中的首要问题。
现有的一些方法通过将点云投影到图像或将点云细分为均匀分布的体素,来将点云从稀疏形式转化为紧凑形式。 这些方法称为基于体素的方法,它对整个点云进行体素化。 每个体素中的特征是由PointNet的Backbone或手工制作的特征生成的。 这样,许多二维检测范式就可以在紧凑的体素空间上应用,而不需要任何额外的尝试。 这些方法虽然简单高效,但在体素化过程中存在信息丢失的问题是性能瓶颈。
另一个流是基于点的方法,如[IPOD,STD,Pointrcnn]。 它们以原始点云作为输入,并基于每个点预测边界框。 具体来说,它们由两个阶段组成。 在第一阶段,他们首先利用set abstraction(SA)层进行下采样和提取上下文特征。 然后,应用feature propagation(FP) layers进行上采样,并将特征传播到在下采样过程中被丢弃的点上。 然后应用3D区域建议网络(RPN)生成以每个点为中心的建议。 在此基础上,开发了一个精练模块作为第二阶段,以给出最终的预测。 这些方法取得了较好的性能,但在许多实时系统中,它们的推理时间通常是无法忍受的。
与以往的方法不同,本文首先开发了一个轻量级、高效的基于Point的三维单阶段目标检测框架。 本文观察到在基于Point的方法中,FP层和精练阶段消耗了一半的推理时间,这促使本文删除这两个模块。 然而,放弃FP层不是那么容易的。 由于在SA中现有的采样策略,即基于三维欧几里德距离的最远点采样(D-FPS)下,内部点较少的前景实例在下采样后可能会丢失所有点。 因此,它们不可能被检测到,这导致了巨大的性能下降。 在STD中,不进行上采样,即对剩余的下采样点进行检测,其性能下降约9%。 这就是为什么必须采用FP层进行点上采样的原因,尽管会引入大量额外的计算量。 为了解决这一难题,本文首先提出了一种新的基于特征距离的采样策略F-FPS,它有效地保留了各种实例的内部点。 本文最终的采样策略是F-FPS和D-FPS的融合版本。
为了充分利用 SA 层后保留的代表点本文设计了一个精致的边界框预测网络,该网络利用候选生成层(CG)、无锚回归头和三维中心性分配策略。在候选生成层中,本文首先移动 F-FPS 中的代表点,生成候选点。这一移动操作由这些代表点与其对应实例中心之间的相对位置进行监督。然后,本文将这些候选点视为中心,从 F-FPS 和 D-FPS 的整组代表点中找到其周围的点,并通过多层感知器(MLP)网络提取其特征。本文还设计了一种三维中心性分配策略,为更靠近实例中心的候选点分配更高的分类分数,从而获得更精确的定位预测。
利用多传感器信息进行目标检测的方法有多种。 MV3D将激光雷达点云投影到鸟瞰视图(BEV),以生成提议。 然后将这些提议与来自图像、正面视图和BEV的其他信息一起发送到第二阶段,以预测最终的边界框。 AVOD通过在提案生成阶段引入图像特征来扩展MV3D。 MMF融合来自深度图、激光雷达点云、图像和地图的信息,完成包括深度补全、2D目标检测和3D目标检测在内的多项任务。 这些任务相辅相成,提高了三维目标检测的最终性能。
目前仅利用激光雷达数据进行三维目标检测的方法主要有两种。一种是基于体素的,它对整个点云空间进行体素化。 基于体素的方法的区别在于体素特征的初始化。Voting for voting in online point cloud object detection是每个非空体素由该体素内的点用6个统计量编码。3d fully convolutional network for vehicle detection in point cloud是使用二进制编码应用于每个体素。VoxelNet利用PointNet提取每个体素的特征。Second使用稀疏卷积层来解析紧凑表示。PointPillars将点云体素化为稀疏伪图像作为表示。
另一种是基于point的。 他们以原始点云作为输入,并基于每个point生成预测。F-pointNet和IPod采用像检测或分割这样的二维机制来过滤大多数无用点,并从这些保留的有用点中生成预测。PointRCNN利用具有SA和FP层的PointNet++为每个点提取特征,提出区域建议网络(RPN)来生成建议,并应用细化模块来预测边界框和类标签。这些方法性能优于基于体素的方法,但其难以承受的推理时间使其无法应用于实时自动驾驶系统。STD尝试利用基于point和基于体素的方法。 该算法以原始点云为输入,应用PointNet++进行特征提取,提出了一个PointsPool层来实现稀疏特征到稠密特征的转换,并在细化模块中使用了CNNs。虽然它比以前所有基于点的方法都快,但仍然比基于体素的方法慢得多。 正如前面所分析的,所有基于点的方法都由两个阶段组成,即建议生成模块(包括SA层和FP层)和精练模块(作为精确预测的第二阶段)。 在本文中,提出了去除FP层和精炼模块,以加快基于point的方法。
在本节中,首先分析基于point的方法的瓶颈,并描述本文提出的融合采样策略。接下来,提出了包含候选生成层、无锚回归头和三维中心度分配策略的边界框预测网络。最后,讨论了损失函数。3DSSD的整体框架如图所示。
目前,三维物体检测的方法主要有基于point的框架和基于体素的框架两种。基于点的方法比基于体素的方法更加精确但是更耗时。本文观察到,目前所有的基于point的方法[IPOD,STD,Pointrcnn]都由两个阶段组成,分别是提案生成阶段和预测精炼阶段。在第一阶段,SA 层用于对点进行下采样,以提高效率并扩大感受野;FP 层用于对下采样过程中丢失的点进行特征广播,以恢复所有点。在第二阶段,精炼模块优化来自RPN的建议,以获得更准确的预测。SA层对于提取点的特征是必要的,但是FP层和精炼模块确实限制了基于point的方法的效率,因此,本文的动机是设计一个轻量和有效的基于点的单阶段探测器。
但是,移除FP层并不是那么容易的。 如前所述,骨干网中的SA层利用D-FPS选择一个点子集作为下采样的代表点。 在没有FP层的情况下,对那些代表点进行the box prediction。 然而,这种D-FPS抽样方法只考虑了点之间的相对位置。 因此,很大一部分幸存的代表性点实际上是背景点,原因是1.场景中背景点的数量远远多于前景目标点。举例来说,在自治驾驶场景中,路面、建筑等静态背景点个数往往远超车辆等前景目标。
2.D-FPS仅根据点之间的欧式距离进行采样,而不考虑点的语义信息。采样优先选择互相距离远的点。
3.背景点分布比较均匀,而前景目标点主要分布在物体表面,分布比较散乱。
4.在采样初期阶段,背景点更容易被均匀采样,而前景点相对较少。后续迭代中,新采样点会主要位于已采样的背景点附近。
5.前景点若在采样初期没有被选择,则其周围范围都被背景点覆盖,后续不太可能被采样到。 换句话说,有前景实例通过这个过程被完全擦除,使得它们不可能被检测到。
在代表点总数Nm的限制下,对于一些远距离的实例,由于它们的数量远小于背景点的数量,它们的内部点不太可能被选中。 对于更复杂的数据集,如Nuscenes数据集,情况变得更糟。近一半的实例被完全擦除,即无法检测到。为了避免这种情况,现有的方法大多采用FP层来召回那些在下采样过程中被丢弃的有用点,但它们必须付出较长的计算开销和较长的推理时间。
为了保留正点(任何实例中的内部点),消除那些无意义的负点(位于背景上的点),在采样过程中不仅要考虑空间距离,还要考虑每个点的语义信息。 我们注意到深度神经网络很好地捕获了语义信息。 因此,在FPS中,利用特征距离作为判据,将大量类似无用的负点,如大量的地面点,大部分去除。 即使对于远距离目标的正点,由于不同目标点的语义特征是不同的,它们也可以幸存下来。
然而,仅以语义特征距离作为唯一的判断标准,会在同一实例中保留多个点,这也会引入冗余。 例如,给定一辆汽车,车窗周围的点和轮子周围的点的特征有很大的不同。 因此,两个部分周围的点将被采样,而任一部分中的任何一点都是回归的信息。 为了减少冗余度,增加多样性,我们将空间距离和语义特征距离作为FPS的判据。它被表述为:
C(A,B) = λLd(A,B) + Lf(A,B)
结合两个距离作为判据比仅使用特征距离(即λ等于0的特例)更有力。
由于F-FPS,在SA层后不同实例中保留了大量的正点。 但是,由于总代表点数Nm的限制,在下采样过程中,许多负点被丢弃,这有利于回归,但不利于分类。 也就是说,在SA层中聚集邻近点特征的分组阶段,负点无法找到足够的周围点,从而无法扩大其感受野。 结果,该模型发现难以区分正负点,导致分类性能较差。 虽然F-FPS模型比D-FPS模型具有更高的召回率和更好的定位精度,但它倾向于将许多负点视为正点,导致分类精度下降。
正如上面所分析的,在一个SA层之后,不仅要尽可能多地采样正点,还需要收集足够多的负点,以便更可靠地分类。 本文提出了一种新的融合采样策略(FS),在SA层中同时使用F-FPS和D-FPS,以保留更多的正点进行定位,同时保留足够多的负点进行分类。 具体来说,我们分别用F-FPS和D-FPS对Nm/2点进行采样,并将这两个集合一起提供给后续的SA层分组操作。
在经过多个SA层融合采样实现骨干网络后,本文从F-FPS和D-FPS中获得一个点子集,用于最终预测。 在以往的基于点的方法中,在预测头之前需要使用另一个SA层来提取特征。 一个正常的SA层包括中心点选择、周围点提取和语义特征生成三个步骤。
为了进一步降低计算量,充分利用融合采样的优点,本文在预测头之前提出了一个候选生成层(CG),它是SA层的一个变体。 由于D-FPS的代表点大多是负点,在边界框回归中无用,所以我们只使用F-FPS的代表点作为初始中心点。 如下图所示,这些初始中心点在其ground trurh相对位置的监督下移动到相应的实例的候选中心点,与Votenet相同(输入输出都可以看作是对原始点云的采样和过滤)。 本文称这些移位运算后的新点为候选中心点。 然后把这些候选点作为CG层中的中心点。 使用候选点而不是原始点作为中心点,这是出于性能的考虑。 然后,从包含D-FPS和F-FPS两个候选点的代表点集合中,用预定义的范围阈值找到每个候选点的周围点(即将候选中心点作为球形范围采样的中心,在全部代表点中找到距离其最近的K个周围点),将它们的归一化位置和语义特征连接起来(将候选中心点自身的坐标、特征,以及K个周围点的坐标、特征进行拼接)作为输入,并应用MLP层进行特征提取。 这些特征将被发送到预测头进行回归和分类。
通过融合采样策略和CG层,本文的模型可以有效地去除耗时的FP层和精炼模块。 在回归头,本文面临两种选择,基于锚框或无锚框预测网络。 如果采用基于锚框的头部,则需要构造多尺度、多方向的锚框来覆盖不同尺寸和方向的物体。 特别是在Nuscenes DataSet中的复杂场景中,对象来自10个不同的类别,具有广泛的方向范围,在基于锚框的模型中,需要至少20个锚,包括10个不同的大小和2个不同的方向(0,π/2)。 为了避免多个锚的繁琐设置,并与轻量级设计保持一致,本文使用了无锚框回归头。
在回归头中,对于每个候选点,我们预测到对应实例的距离(dx, dy, dz),以及对应实例的大小(dl, dw, dh)和方向。由于每个点没有先验方向,我们在方向角回归中采用[Frustum pointnets for 3d object detection from RGB-D data.]之后的分类和回归混合公式。
在训练过程中,本文需要一个赋值策略为每个候选点赋值标签。 在二维单阶段检测器中,它们通常使用交并比(IOU)阈值或掩码来为像素分配标记。 FCOS提出了一种连续中心度标记代替原有的二值分类标记来进一步区分像素。 它为靠近实例中心的像素分配更高的中心度分数,与基于IOU或掩码的分配策略相比,有相对更好的性能。 然而,直接将中心度标记应用于三维检测任务是不令人满意的。 鉴于激光雷达的所有点都位于物体表面,它们的中心度标记都非常小且相似,这使得很难将好的预测与其他点区分开来。
本文不是利用点云中的原始代表点,而是利用预测的候选点,并监督候选点靠近实例中心。 离实例中心较近的候选点往往能得到更准确的定位预测,3D中心度标签能够很容易地区分它们。 对于每个候选点,本文通过两个步骤定义其中心度标记。 首先确定它是否在实例lmask中,该实例lmask是一个二进制值。 然后根据其与对应实例的6个曲面的距离绘制中心度标号。 中心度标记计算如下
其中(F、B、L、R、T、D)分别表示到前、后、左、右、顶、底表面的距离。 最终的分类标签是Lmask和Lctrness的乘法。
本文提出了一个轻量级和高效的基于point的三维单阶段目标检测框架。引入了一种新的融合采样策略,去除所有基于point的方法中耗时的FP层和精炼模块。在预测网络中,为了进一步降低计算成本,充分利用下采样代表点,设计了候选生成层,并提出了带三维中心度标签的无锚框回归头,以提高模型的性能。所有这些精细的设计使本文的模型在性能和推理时间上都优于现有的单阶段三维检测器。